/*
    ML Aesthetics – clean modern luxury styling
    Headings match the About ML Aesthetics heading
*/

/* Main banner title */
#company_name,
#company-name,
.company-name,
.company-title,
.header-company-name,
#header .company-name,
#header .company-title {
    font-family: "Open Sans", Arial, Helvetica, sans-serif !important;
    font-size: 56px !important;
    font-weight: 300 !important;
    letter-spacing: -1px !important;
    line-height: 1.05 !important;
    color: #35BDD9 !important;
    text-transform: none !important;
}

/* Tagline under banner title */
#company_name::after,
#company-name::after,
.company-name::after,
.company-title::after,
.header-company-name::after,
#header .company-name::after,
#header .company-title::after {
    content: "Natural-looking aesthetics, personalised care, confidence that still feels like you." !important;
    display: block !important;
    margin-top: 10px !important;
    font-family: "Open Sans", Arial, Helvetica, sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    line-height: 1.4 !important;
    color: #555555 !important;
    text-transform: none !important;
}

/* All main page and section headings */
h1,
h2,
h3,
.custom-page-title,
.page-title,
#events h3,
#eventForm h3,
.custom-page h1,
.custom-page h2,
.custom-page h3,
.custom_page h1,
.custom_page h2,
.custom_page h3,
.cms-page h1,
.cms-page h2,
.cms-page h3,
.page-content h1,
.page-content h2,
.page-content h3 {
    font-family: "Open Sans", Arial, Helvetica, sans-serif !important;
    font-weight: 300 !important;
    letter-spacing: -0.5px !important;
    color: #35BDD9 !important;
}

/* About page title */
h1,
.custom-page-title,
.page-title {
    font-size: 34px !important;
    line-height: 1.2 !important;
}

/* Section headings, such as ML Aesthetics and Opening Hours */
h2,
h3 {
    font-size: 30px !important;
    line-height: 1.2 !important;
}

/* All normal written content */
#custom_page_content,
#custom_page_content *,
.custom_page_content,
.custom_page_content *,
.custom-page-content,
.custom-page-content *,
.custom_page,
.custom_page *,
.custom-page,
.custom-page *,
.cms-page,
.cms-page *,
.page-content,
.page-content * {
    font-family: "Open Sans", Arial, Helvetica, sans-serif !important;
    font-style: normal !important;
}

/* About page normal paragraphs */
#custom_page_content p,
.custom_page_content p,
.custom-page-content p,
.custom_page p,
.custom-page p,
.cms-page p,
.page-content p {
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
    color: #333333 !important;
}

/* Bold intro line */
#custom_page_content strong,
.custom_page_content strong,
.custom-page-content strong,
.custom_page strong,
.custom-page strong,
.cms-page strong,
.page-content strong {
    font-family: "Open Sans", Arial, Helvetica, sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #222222 !important;
}

/* Service titles */
#events h3 {
    font-size: 20px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    color: #222222 !important;
}

/* Service text */
#events p.duration,
#events div.duration {
    color: #555555 !important;
}

#events p.description,
#events div.description {
    font-family: "Open Sans", Arial, Helvetica, sans-serif !important;
    color: #555555 !important;
}

/* Selected service */
#events .selectedEvent {
    border-color: #35BDD9 !important;
}

/* Buttons */
#events input.reserve_time_btn,
#events input.select_another_btn,
#eventForm #save_button,
input[type="submit"],
button {
    background: #35BDD9 !important;
    border-color: #35BDD9 !important;
    color: #FFFFFF !important;
    font-family: "Open Sans", Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
}

/* Button hover */
#events input.reserve_time_btn:hover,
#events input.select_another_btn:hover,
#eventForm #save_button:hover,
input[type="submit"]:hover,
button:hover {
    background: #2DA0ED !important;
    border-color: #2DA0ED !important;
    color: #FFFFFF !important;
}

/* Calendar */
div.ui-widget-content {
    border-color: #E8E3E3 !important;
}

div.ui-widget-header {
    background: #F8F4F4 !important;
    border-color: #F8F4F4 !important;
    color: #222222 !important;
}

#timeline-container table.timeline {
    border-color: #E8E3E3 !important;
}

.timeline td.not_worked_time {
    background: #F2F2F2 !important;
}

.timeline td.free_time {
    background: #B9EAF4 !important;
}

.timeline td.selected_time {
    background: #35BDD9 !important;
}

.timeline td.reserved_time {
    background: #A8ABAC !important;
}

div#loading {
    color: #35BDD9 !important;
}

/* Mobile: keep banner title strong but not oversized */
@media only screen and (max-width: 700px) {
    #company_name,
    #company-name,
    .company-name,
    .company-title,
    .header-company-name,
    #header .company-name,
    #header .company-title {
        font-size: 40px !important;
        letter-spacing: -0.7px !important;
    }

    h1,
    .custom-page-title,
    .page-title {
        font-size: 30px !important;
    }

    h2,
    h3 {
        font-size: 26px !important;
    }
}