/*
 Theme Name: OntimeCP
 Theme URI: https://ontimecp.com/
 Author: ACarQuote Team
 Author URI: https://acarquote.com/
 Description: A custom theme for Ontime Calendar Plus, designed for seamless calendar and email integration.
 Version: 1.2
 Text Domain: ontimecp
*/

body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    background-color: #ffffff; /* FormBackground from SettingsManager.cs */
    color: #000000; /* GridForeground */
}

.site-header {
    background-color: #2c3e50; /* Darker shade inspired by FormBorder */
    padding: 5px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 62.5px !important;
    min-height: 62.5px !important;
    max-height: 62.5px !important;
}

.site-title a {
    color: #ffffff;
    text-decoration: none;
    font-size: 1.4em;
    font-family: Arial, sans-serif;
    font-weight: normal; /* FontStyleBold: False */
}

.main-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
}

.main-navigation li {
    margin-left: 15px;
}

.nav-button {
    color: #000000; /* ButtonForeground */
    text-decoration: none;
    padding: 8px 12px;
    background-color: #ffffff; /* ButtonBackground */
    border: 1px solid #4169e1; /* ButtonBorder: RoyalBlue */
    border-radius: 5px;
    font-family: Arial, sans-serif;
    font-size: 11px;
}

.nav-button:hover {
    background-color: #d3d3d3; /* GridBackground: LightGray */
}

.hero {
    background-color: #2c3e50;
    color: #ffffff;
    text-align: center;
    padding: 50px 20px;
}

.hero h1 {
    font-size: 2.5em;
    margin: 0;
    font-family: Arial, sans-serif;
}

.hero p {
    font-size: 1.2em;
    margin: 10px 0;
}

.cta-button {
    display: inline-block;
    padding: 10px 20px;
    background-color: #3498db;
    color: #ffffff;
    text-decoration: none;
    border-radius: 5px;
    margin-top: 20px;
    font-family: Arial, sans-serif;
    font-size: 12px;
}

.cta-button:hover {
    background-color: #2980b9;
}

.calendar-section {
    max-width: 1200px;
    margin: 40px auto;
    padding: 20px;
    text-align: center;
}

.calendar-preview, .calendar-section {
    max-width: 1200px;
    margin: 40px auto;
    padding: 20px;
    text-align: center;
}

#calendar-header {
    margin-bottom: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
}

#calendar-header button {
    padding: 10px 20px;
    background-color: #ffffff; /* ButtonBackground */
    color: #000000; /* ButtonForeground */
    border: 1px solid #4169e1; /* ButtonBorder: RoyalBlue */
    border-radius: 5px;
    cursor: pointer;
    font-family: Arial, sans-serif;
    font-size: 12px;
    margin: 0 5px;
}

#calendar-header button:hover {
    background-color: #d3d3d3; /* GridBackground: LightGray */
}

#current-month {
    font-size: 1.5em;
    margin: 0 20px;
    color: #00008b; /* LabelForeground: DarkBlue */
    font-family: Arial, sans-serif;
}

.calendar-grid, #ontime-calendar {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2px;
    background-color: #ffffff; /* MonthlyCalendarBackground */
    padding: 10px;
    border: 1px solid #000000; /* Black grid lines */
    border-radius: 5px;
    min-height: 400px; /* Ensure visible height */
    width: 100%;
    box-sizing: border-box;
}

.calendar-days {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2px;
    border-bottom: 1px solid #000000; /* Black header line */
}

.calendar-day {
    background-color: #ffffff; /* AppointmentCellBackground */
    border: 1px solid #000000; /* Black cell borders */
    padding: 10px;
    min-height: 100px;
    text-align: left;
    font-size: 9px; /* MonthlyGridFontSize */
    font-family: 'Segoe UI', sans-serif; /* MonthlyGridFontType */
    color: #000000; /* MonthlyGridForeground */
    box-sizing: border-box;
}

.calendar-day.header {
    background-color: #d3d3d3; /* MonthlyCalendarHeaderBackground */
    color: #000000; /* MonthlyCalendarHeaderForeground */
    font-weight: bold;
    text-align: center;
    padding: 5px;
    border: 1px solid #000000; /* Black header borders */
}

.calendar-day.empty {
    background-color: #eeeeee;
    border: 1px solid #000000; /* Black borders for empty cells */
}

.calendar-week {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 2px;
    border-bottom: 1px solid #000000; /* Black row separator */
}

.appointments {
    margin-top: 5px;
}

.appointment {
    background-color: #add8e6; /* MonthlyGridAppointmentBackground: LightBlue */
    color: #000000; /* MonthlyGridAppointmentForeground */
    padding: 5px;
    margin: 2px 0;
    border-left: 3px solid #3498db;
    font-size: 9px; /* MonthlyGridFontSize */
    font-family: 'Segoe UI', sans-serif;
    cursor: pointer;
}

.appointment:hover {
    background-color: #87ceeb;
}

.day-number {
    font-weight: bold;
    margin-bottom: 5px;
}

.note-icon {
    margin-left: 5px;
}

.features {
    max-width: 1200px;
    margin: 40px auto;
    padding: 20px;
    text-align: center;
}

.feature-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
}

.feature {
    background-color: #ffffff;
    padding: 20px;
    border: 1px solid #d3d3d3; /* GridBackground: LightGray */
    border-radius: 5px;
}

.feature h3 {
    font-size: 1.5em;
    margin: 0 0 10px;
    color: #00008b; /* LabelForeground: DarkBlue */
}

.feature p {
    margin: 0;
}

.site-footer {
    background-color: #2c3e50;
    color: #ffffff;
    text-align: center;
    padding: 5px;
    position: fixed;
    bottom: 0;
    width: 100%;
    height: 10px !important;
    min-height: 10px !important;
    max-height: 10px !important;
}

.footer-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
}

.footer-navigation li {
    margin: 0 10px;
}

.footer-navigation a {
    color: #ffffff;
    text-decoration: none;
    font-size: 10px;
}

.footer-navigation a:hover {
    text-decoration: underline;
}