/**
 * Delmont Hospital - Global & Homepage Theme Styles
 */

:root {
    --delmont-navy: #003059;
    --delmont-blue: #004E87;
    --delmont-accent: #1278E6;
    --delmont-urgent: #E90005;
    --delmont-hero-bg: #DDF1FF;
    --delmont-card-bg: #F4F8FA;
    --delmont-text-body: #444444;
    --delmont-text-heading: #121E27;
    --delmont-border: #E0E0E0;
    --delmont-font: "Nunito Sans", sans-serif;
}

/* ==========================================================================
   1. Typography & Global Resets (R1: Base fonts, colors & weights migrated to Theme Options)
   ========================================================================== */
body {
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
    line-height: 1.35;
}

h1 { font-size: 26px; }
h2 { font-size: 22px; }
h3 { font-size: 20px; font-weight: 800; }

a {
    text-decoration: none;
    transition: color 0.2s ease;
}

a:hover, a:focus {
    text-decoration: underline;
}

p {
    margin-bottom: 1.25em;
}

/* ==========================================================================
   2. Global Header & Navigation
   ========================================================================== */
/* ==========================================================================
   2. Global Header, Navigation & Search (R2 Cleaned)
   ========================================================================== */
.header-main {
    box-shadow: 0 4px 6px 0 rgba(0, 48, 89, 0.08);
}

.header-nav.header-nav-main > li > a {
    font-size: 14px;
    letter-spacing: 0.3px;
}

.header-nav.header-nav-main > li > a > i.icon-angle-down {
    margin-left: 4px;
    font-size: 12px;
}

/* Dropdown Menu Styling */
.header-nav .nav-dropdown,
.header-nav-main .nav-dropdown {
    border-top: 3px solid var(--delmont-accent);
    box-shadow: 0 6px 18px rgba(0, 48, 89, 0.15);
    border-radius: 0 0 4px 4px;
    padding: 10px 0;
    min-width: 280px;
}

.header-nav .nav-dropdown > li > a,
.header-nav-main .nav-dropdown > li > a {
    font-size: 15px;
    font-weight: 500;
    color: var(--delmont-navy);
    padding: 10px 22px;
    line-height: 1.4;
    white-space: normal;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.header-nav .nav-dropdown > li:hover > a,
.header-nav .nav-dropdown > li.active > a,
.header-nav .nav-dropdown > li.current-menu-item > a {
    background-color: #f0f7fc;
    color: var(--delmont-accent);
    text-decoration: none;
}

/* Header Search Form */
.header-search-form {
    margin-left: 10px;
    display: flex;
    align-items: center;
}

.header-search-form .searchform-wrapper {
    width: 180px;
}

.header-search-form .search-field {
    height: 36px;
    font-size: 13px;
    padding: 6px 10px;
    border: 1px solid #cccccc;
    border-radius: 4px 0 0 4px;
    background-color: #ffffff;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}

.header-search-form .search-field:focus {
    border-color: var(--delmont-accent);
    outline: none;
    box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(18,120,230,.6);
}

.header-search-form .ux-search-submit {
    height: 36px;
    min-width: 36px;
    padding: 0 10px;
    background-color: #f0f0f0;
    color: #555555;
    border: 1px solid #cccccc;
    border-left: none;
    border-radius: 0 4px 4px 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.header-search-form .ux-search-submit:hover {
    background-color: #e0e0e0;
    color: #111111;
}

/* Disable Live Search Suggestions popup & circular search button */
.live-search-results,
.autocomplete-suggestions,
.header-search-lightbox,
.header-search.has-icon,
.mobile-nav .header-search,
a[href="#search-lightbox"],
.flex-col.show-for-medium.flex-right {
    display: none !important;
}

/* ==========================================================================
   3. Homepage Sections
   ========================================================================== */

/* Hero Banner */
.delmont-hero-section {
    min-height: 680px;
    background-color: #DDF1FF !important;
    background-position: center right !important;
    background-size: cover !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.delmont-hero-heading {
    font-size: 44px;
    font-weight: 600;
    color: var(--delmont-navy);
    line-height: 1.45;
    margin-bottom: 35px;
    max-width: 65%;
}

/* 2 Action Cards (Matching Live Source) */
.delmont-action-cards-row {
    margin-top: 20px;
}

.delmont-action-card {
    background: #ffffff;
    box-shadow: 0 4px 6px rgba(0, 48, 89, 0.1);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    height: 100%;
    border-radius: 0px;
    background-repeat: no-repeat;
    background-position: 18px 33px;
    padding: 0;
}

.delmont-action-card.card-doctors {
    background-image: url('../images/delmont/cta-icon-doctors.svg');
}

.delmont-action-card.card-patients {
    background-image: url('../images/delmont/cta-icon-patients.svg');
}

.delmont-action-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 14px rgba(0, 48, 89, 0.14);
}

.delmont-action-card a {
    display: block;
    padding: 35px 35px 35px 112px;
    color: inherit;
    text-decoration: none;
}

.delmont-action-card h3 {
    color: var(--delmont-navy);
    font-size: 20px;
    font-weight: 800;
    margin-bottom: 14px;
    line-height: 1.3;
}

.delmont-action-card p {
    color: #121E27;
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 0;
}

/* News Alert Box (Matching Live Source) */
.delmont-news-alert-section {
    background-color: var(--delmont-card-bg);
    padding: 55px 0;
}

.delmont-news-alert-inner {
    max-width: 100%;
}

.delmont-news-alert-inner h1 {
    color: #444444;
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 8px;
    display: block;
}

.delmont-news-alert-inner .news-date {
    color: #777777;
    font-size: 15px;
    margin-bottom: 16px;
}

.delmont-news-alert-inner h2 {
    color: var(--delmont-navy);
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 10px;
}

.delmont-news-alert-inner h3 {
    color: var(--delmont-navy);
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 16px;
}

.delmont-news-alert-inner p {
    font-size: 16px;
    line-height: 1.7;
    color: #444444;
    margin-bottom: 14px;
}

.delmont-news-alert-inner a {
    color: var(--delmont-accent);
    text-decoration: underline;
}

.delmont-news-alert-inner a:hover {
    color: var(--delmont-blue);
}

.delmont-news-alert-inner .enquiries {
    font-weight: 600;
    margin-bottom: 0;
}

/* Section Subheadings (13px, uppercase, 800, navy) */
.section-subheading {
    font-size: 13px !important;
    font-weight: 800 !important;
    color: var(--delmont-navy) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin-bottom: 20px !important;
}

/* Intro Section */
.delmont-intro-section {
    padding: 65px 0;
}

.delmont-intro-section p {
    font-size: 22px;
    line-height: 1.55;
    color: var(--delmont-text-body);
}

/* Quick Links & Flags */
.delmont-quicklinks-section {
    background-color: var(--delmont-card-bg);
    padding: 65px 0;
}

.delmont-quick-links-split {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
    column-count: 2;
    column-gap: 30px;
}

.delmont-quick-links-split li {
    margin-bottom: 16px;
    break-inside: avoid;
}

.delmont-quick-links-split li a {
    color: var(--delmont-accent);
    font-size: 17px;
    font-weight: 600;
    text-decoration: none;
}

.delmont-quick-links-split li a:hover {
    color: var(--delmont-blue);
    text-decoration: underline;
}

.delmont-flags-container {
    display: flex;
    gap: 15px;
    align-items: center;
    flex-wrap: wrap;
}

.delmont-flags-container img {
    width: 60px;
    height: 36px;
    object-fit: cover;
    border-radius: 2px;
}

/* Contact & Map Section */
.delmont-contact-location-section {
    padding: 65px 0;
}

.delmont-contact-info p {
    margin-bottom: 16px;
    font-size: 16px;
    line-height: 1.6;
}

.delmont-contact-info strong.label {
    color: var(--delmont-navy);
    display: block;
}

.delmont-contact-info a {
    color: var(--delmont-accent);
    font-weight: 600;
    text-decoration: none;
}

.delmont-contact-info a:hover {
    color: var(--delmont-blue);
    text-decoration: underline;
}

.delmont-contact-info .hospital-title {
    font-size: 18px;
}

/* Where Are We Location Pins (A, B, C) */
.delmont-locations-pins ul {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
    counter-reset: loc-counter;
}

.delmont-locations-pins li {
    position: relative;
    padding-left: 36px;
    margin-bottom: 22px;
    counter-increment: loc-counter;
}

.delmont-locations-pins li::before {
    content: counter(loc-counter, upper-alpha);
    position: absolute;
    left: 0;
    top: 2px;
    width: 21px;
    height: 30px;
    background: url('../images/delmont/marker-pin.svg') no-repeat center center;
    background-size: contain;
    color: #ffffff;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
    line-height: 22px;
}

.delmont-locations-pins h3 {
    color: var(--delmont-navy);
    font-size: 17px;
    font-weight: 700;
    margin-bottom: 4px;
}

.delmont-locations-pins p {
    color: #444444;
    font-size: 15px;
    margin-bottom: 0;
    line-height: 1.5;
}

.delmont-map-wrapper {
    width: 100%;
    height: 320px;
    margin-bottom: 25px;
    border: 1px solid #e0e0e0;
    overflow: hidden;
    border-radius: 2px;
}

/* Urgent Help (Live Source Match) */
.delmont-urgent-help-section {
    background-color: #F5F8FA !important;
    padding: 65px 0 !important;
    text-align: center;
}

.urgent-help-badge {
    display: inline-block;
    background-color: #E90005;
    color: #ffffff;
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    padding: 10px 14px;
    letter-spacing: 0.5px;
    margin-bottom: 16px;
}

.urgent-help-text {
    font-size: 17px;
    color: #444444;
    margin-bottom: 12px;
    line-height: 1.5;
}

.urgent-help-link {
    color: var(--delmont-accent);
    font-size: 17px;
    text-decoration: underline;
    font-weight: 600;
}

.urgent-help-link:hover {
    color: var(--delmont-blue);
}

/* Sizing and Overflow Utilities */
.delmont-map-wrapper,
.delmont-news-alert-inner,
.delmont-action-card,
.delmont-urgent-box {
    box-sizing: border-box !important;
    max-width: 100% !important;
}

.delmont-urgent-box {
    background-color: #fff3f3;
    border-left: 4px solid #e90005;
    padding: 18px 22px;
    margin: 20px 0;
}

.delmont-urgent-box h3 {
    color: var(--delmont-navy);
    font-weight: 700;
    font-size: 20px;
    margin-bottom: 8px;
}

.delmont-urgent-box p {
    font-size: 17px;
    margin-bottom: 8px;
    color: #444444;
    line-height: 1.6;
}

.delmont-urgent-box p:last-child {
    margin-bottom: 0;
}

.delmont-urgent-box a.tel-urgent {
    color: #E90005;
    font-weight: 700;
    text-decoration: none;
}

.delmont-urgent-box a.tel-urgent:hover {
    text-decoration: underline;
}

.delmont-urgent-box .crisis-link {
    color: var(--delmont-accent);
    text-decoration: underline;
    font-weight: 600;
}

.delmont-urgent-box .crisis-link:hover {
    color: var(--delmont-blue);
}

.text-navy {
    color: var(--delmont-navy) !important;
    font-weight: 700;
}

.text-danger {
    color: #c53030 !important;
    font-weight: 700;
}

.delmont-download-box {
    margin: 8px 0 15px 0;
}

.delmont-content-media {
    float: right;
    margin: 0 0 20px 25px;
    max-width: 420px;
    width: 100%;
    border-radius: 4px;
}

@media (max-width: 767px) {
    .delmont-content-media {
        float: none;
        margin: 0 0 20px 0;
        max-width: 100%;
    }
}

.section-bg {
    overflow: hidden !important;
}

.section-bg img.bg {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    max-width: none !important;
}

/* ==========================================================================
   4. Mobile Navigation & Responsive Refinements (<= 767px)
   ========================================================================== */
.mfp-hide {
    display: none !important;
}

.mfp-content .off-canvas,
.mobile-sidebar {
    background-color: #ffffff !important;
}

.nav-sidebar > li > a {
    font-family: var(--delmont-font);
    font-size: 16px;
    font-weight: 600;
    color: var(--delmont-navy) !important;
    border-bottom: 1px solid #f0f0f0;
    padding: 14px 20px;
}

.nav-sidebar .children li a {
    font-size: 15px;
    font-weight: 400;
    color: var(--delmont-text-body) !important;
    padding: 10px 20px 10px 32px;
}

@media (max-width: 767px) {
    /* Header */
    .header .brand .brand-text {
        font-size: 20px !important;
    }

    /* Section Paddings */
    .delmont-hero-section {
        min-height: auto !important;
        padding-top: 35px !important;
        padding-bottom: 35px !important;
    }
    .delmont-news-alert-section,
    .delmont-intro-section,
    .delmont-quicklinks-section,
    .delmont-contact-location-section {
        padding-top: 35px !important;
        padding-bottom: 35px !important;
    }
    .delmont-urgent-help-section {
        padding-top: 25px !important;
        padding-bottom: 25px !important;
    }

    /* Hero */
    .delmont-hero-heading {
        font-size: 26px !important;
        line-height: 1.35 !important;
        margin-bottom: 20px !important;
    }
    .delmont-action-card {
        padding: 24px 20px !important;
        min-height: auto !important;
        margin-bottom: 15px !important;
    }
    .delmont-action-card h3 {
        font-size: 20px !important;
        margin-bottom: 8px !important;
    }
    .delmont-action-card p {
        font-size: 15px !important;
        line-height: 1.5 !important;
    }

    /* News Alert */
    .delmont-news-alert-inner {
        padding: 25px 20px !important;
    }
    .delmont-news-alert-inner h1 {
        font-size: 20px !important;
    }
    .delmont-news-alert-inner h2 {
        font-size: 18px !important;
    }
    .delmont-news-alert-inner h3 {
        font-size: 16px !important;
    }
    .delmont-news-alert-inner p {
        font-size: 15px !important;
        line-height: 1.6 !important;
        margin-bottom: 12px !important;
    }

    /* Intro */
    .delmont-intro-section img {
        margin-bottom: 20px !important;
    }
    .delmont-intro-section p {
        font-size: 17px !important;
        line-height: 1.55 !important;
    }

    /* Quick Links & Flags */
    .delmont-quicklinks-section h2,
    .delmont-contact-location-section h2 {
        font-size: 20px !important;
        margin-bottom: 15px !important;
    }
    .delmont-quick-links li a {
        font-size: 15px !important;
    }

    /* Map */
    .delmont-map-wrapper {
        height: 260px !important;
        margin-bottom: 20px !important;
    }

    /* Urgent Help */
    .delmont-urgent-box h3 {
        font-size: 18px !important;
        margin-bottom: 6px !important;
    }
    .delmont-urgent-box p {
        font-size: 15px !important;
    }
}

/* ==========================================================================
   5. Global Footer (R2 Cleaned)
   ========================================================================== */
.absolute-footer {
    padding: 30px 15px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.absolute-footer,
.absolute-footer p,
.absolute-footer .copyright-footer {
    font-size: 14px;
}

.absolute-footer a {
    transition: opacity 0.2s ease;
    text-decoration: none;
}

.absolute-footer a:hover {
    opacity: 0.85;
    text-decoration: underline;
}

.absolute-footer .footer-nav {
    margin-bottom: 8px;
}

.absolute-footer .footer-nav li a {
    text-transform: none;
    font-weight: 400;
    font-size: 14px;
}

/* ==========================================================================
   6. Contextual Section Sidebar & Inner Pages
   ========================================================================== */
.delmont-page-container {
    max-width: 1170px;
    margin: 0 auto;
    padding-top: 40px;
    padding-bottom: 60px;
}

.delmont-page-title {
    font-size: 32px;
    font-weight: 700;
    color: var(--delmont-navy);
    margin-bottom: 20px;
    line-height: 1.3;
}

.delmont-breadcrumbs {
    font-size: 14px;
    color: #666666;
    margin-bottom: 25px;
}

.delmont-breadcrumbs a {
    color: var(--delmont-accent);
    text-decoration: none;
}

.delmont-breadcrumbs a:hover {
    text-decoration: underline;
}

.delmont-lead-text {
    font-size: 19px;
    line-height: 1.6;
    color: var(--delmont-blue);
    font-weight: 600;
    margin-bottom: 25px;
}

.delmont-content-body {
    font-size: 16px;
    line-height: 1.75;
    color: var(--delmont-text-body);
}

.delmont-content-body p {
    margin-bottom: 1.4em;
}

.delmont-content-body h2 {
    font-size: 24px;
    font-weight: 700;
    color: var(--delmont-navy);
    margin-top: 30px;
    margin-bottom: 15px;
}

.delmont-content-body h3 {
    font-size: 20px;
    font-weight: 600;
    color: var(--delmont-blue);
    margin-top: 25px;
    margin-bottom: 12px;
}

.delmont-content-body ul,
.delmont-content-body ol {
    margin-left: 25px;
    margin-bottom: 25px;
}

.delmont-content-body li {
    margin-bottom: 8px;
}

/* Downloadable PDF Box / Link */
.delmont-download-box {
    background-color: var(--delmont-card-bg);
    border-left: 4px solid var(--delmont-accent);
    padding: 15px 20px;
    margin: 20px 0;
    border-radius: 0 4px 4px 0;
}

.delmont-download-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    color: var(--delmont-blue);
    text-decoration: none;
}

.delmont-download-link:hover {
    color: var(--delmont-accent);
    text-decoration: underline;
}

/* Contextual Section Sidebar Card */
.delmont-section-sidebar-card {
    background-color: var(--delmont-card-bg);
    border: 1px solid #E2E8F0;
    border-radius: 4px;
    padding: 24px 20px;
    box-shadow: 0 2px 6px rgba(0, 48, 89, 0.04);
}

.delmont-sidebar-heading {
    font-size: 16px;
    font-weight: 700;
    color: var(--delmont-navy);
    text-transform: uppercase;
    letter-spacing: 0.8px;
    border-bottom: 2px solid #D0DCE5;
    padding-bottom: 12px;
    margin-bottom: 15px;
}

.delmont-sidebar-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.delmont-sidebar-item {
    margin-bottom: 6px;
}

.delmont-sidebar-link {
    display: block;
    padding: 9px 12px;
    font-size: 15px;
    font-weight: 500;
    color: var(--delmont-blue);
    text-decoration: none;
    border-radius: 4px;
    transition: background-color 0.2s ease, color 0.2s ease, padding-left 0.2s ease;
}

.delmont-sidebar-link:hover {
    background-color: #E6EFF5;
    color: var(--delmont-navy);
    padding-left: 16px;
}

.delmont-sidebar-item.is-active .delmont-sidebar-link {
    background-color: var(--delmont-navy);
    color: #ffffff !important;
    font-weight: 600;
}

/* FAQ Accordion Styling */
.delmont-faq-container .accordion-title {
    font-size: 17px !important;
    font-weight: 600 !important;
    color: var(--delmont-navy) !important;
    padding: 16px 20px !important;
    background-color: var(--delmont-card-bg) !important;
    border: 1px solid #E2E8F0 !important;
    border-radius: 4px !important;
    margin-bottom: 8px !important;
    transition: background-color 0.2s ease !important;
}

.delmont-faq-container .accordion-title:hover {
    background-color: #E6EFF5 !important;
}

.delmont-faq-container .accordion-inner {
    padding: 20px !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
    border: 1px solid #E2E8F0 !important;
    border-top: none !important;
    margin-top: -8px !important;
    margin-bottom: 12px !important;
    background: #ffffff !important;
}

/* Crisis Directory Helpline Cards */
.delmont-crisis-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 18px;
    margin: 30px 0;
}

.delmont-crisis-card {
    background: #ffffff;
    border: 1px solid #E2E8F0;
    border-radius: 4px;
    padding: 20px;
    box-shadow: 0 2px 6px rgba(0, 48, 89, 0.05);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.delmont-crisis-card h3 {
    font-size: 17px;
    font-weight: 700;
    color: var(--delmont-navy);
    margin-bottom: 8px;
}

.delmont-crisis-card .crisis-phone {
    font-size: 20px;
    font-weight: 700;
    color: var(--delmont-accent);
    margin-top: auto;
}

.delmont-crisis-card .crisis-phone a {
    color: var(--delmont-accent);
    text-decoration: none;
}

.delmont-crisis-card .crisis-phone a:hover {
    text-decoration: underline;
}

/* Homepage Mobile Responsiveness (390px) */
@media (max-width: 767px) {
    .delmont-hero-section {
        min-height: 480px !important;
        padding: 40px 0 !important;
        background-position: left center !important;
    }

    .delmont-hero-section .section-bg img.bg {
        object-position: left center !important;
    }

    .delmont-hero-heading {
        font-size: 26px !important;
        max-width: 100% !important;
        line-height: 1.35 !important;
        margin-bottom: 25px !important;
    }

    .delmont-action-cards-row {
        margin-top: 10px !important;
    }

    .delmont-action-card {
        margin-bottom: 15px !important;
        background-position: 15px 25px !important;
    }

    .delmont-action-card a {
        padding: 25px 20px 25px 95px !important;
    }

    .delmont-quick-links-split {
        column-count: 1 !important;
    }

    .delmont-locations-pins {
        margin-top: 25px !important;
    }
}
