﻿
:root {
    --charcoal: #32323a;
    --orange: #E8681A;
    --orange-light: #fdeee4;
    --accent: #E8681A;
    --text: #2e2e35;
    --muted: #6a6a75;
    --white: #ffffff;
    --border: #e6e6ec;
    --footer-bg: #ffffff;
    --footer-text: #505260;
    --footer-heading: #25252e;
    --footer-border: #e2e5ec;
    --footer-accent: #1f6fd8;
    --footer-orange: #E8681A;
    --footer-bottom-bg: #f8f9fb;
    --footer-bottom-text: #6b6e7d;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Every heading is 600. "html" prefix beats Bootstrap's plain h1-h6 (500),
   which loads after this file; class rules on headings still win. */
html :is(h1, h2, h3, h4, h5, h6) {
    font-weight: 600;
}

/* Ensure the body doesn't cause overflow issues */
body {
    font-family: "Segoe UI", Arial, Helvetica, sans-serif;
    color: var(--text);
    background: #f6f7f9;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
}

/* 1. Remove the AdminLTE body background blocking the footer */
body, html {
    background-color: transparent !important;
}

/* 2. The main wrapper MUST have a solid background to cover the footer */
#main-wrapper {
    position: relative;
    z-index: 10 !important;
    /* Use #ffffff for white, or #f4f6f9 if your AdminLTE background is normally grey */
    background-color: #ffffff !important;
    min-height: 100vh; /* Ensures it covers the screen even if content is short */
}

/* 3. Footer reveal (as on the Consultio theme): the footer is pinned to the
   bottom of the screen BEHIND #main-wrapper, and Layout.js gives
   #main-wrapper a margin-bottom equal to the footer's height — so scrolling
   to the end slides the page up and uncovers the footer underneath.
   Layout.js only adds .is-revealing on wide screens where the whole footer
   fits in the viewport; otherwise the footer stays a normal block. */
#reveal-footer.is-revealing {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1;
}

/* soft shadow on the page's bottom edge so it reads as lifting off the footer */
body.has-footer-reveal #main-wrapper {
    box-shadow: 0 18px 40px rgba(20, 22, 27, .18);
}
/* ================= TOP INFO BAR ================= */
.topbar {
    background: var(--charcoal);
    color: #e4e4ea;
    font-size: 13px;
}

    .topbar .container {
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
        gap: 6px 18px;
        padding-top: 7px;
        padding-bottom: 7px;
    }

    .topbar a {
        color: #e4e4ea;
        text-decoration: none;
    }

        .topbar a:hover {
            color: var(--accent);
        }

    .topbar .group {
        display: flex;
        gap: 18px;
        flex-wrap: wrap;
    }

    .topbar .item {
        display: flex;
        align-items: center;
        gap: 6px;
    }

    .topbar svg {
        flex: 0 0 auto;
    }

.emergency-pill {
    background: #d94141;
    color: #fff;
    font-weight: 400;
    padding: 4px 12px;
    border-radius: 999px;
    letter-spacing: .3px;
}

    .emergency-pill:hover {
        background: #c23232;
        color: #fff !important;
    }

/* ================= MAIN HEADER ================= */
header.site-header {
    background: var(--white);
    border-bottom: 1px solid var(--border);
    position: sticky;
    top: 0;
    z-index: 100;
    box-shadow: 0 2px 10px rgba(50, 50, 58, .10);
}

.main-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-top: 14px;
    padding-bottom: 14px;
}

.brand {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
}

    .brand .logo {
        width: 149px;
        height: 61px;
        flex: 0 0 auto;
    }

    .brand .name-block {
        line-height: 1.15;
    }

    .brand .hosp-name {
        font-size: 24px;
        font-weight: 400;
        color: var(--charcoal);
        letter-spacing: .3px;
    }

        .brand .hosp-name .datta {
            color: var(--accent);
        }

    .brand .tagline {
        font-size: 12.5px;
        color: var(--muted);
        letter-spacing: 2.2px;
        text-transform: uppercase;
        margin-top: 3px;
    }

/* Nav */
nav.main-nav ul {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 4px;
}

nav.main-nav a {
    display: block;
    text-decoration: none;
    color: var(--text);
    font-size: 15px;
    font-weight: 400;
    padding: 10px 13px;
    border-radius: 8px;
    transition: background .2s, color .2s;
}

    nav.main-nav a:hover,
    nav.main-nav a.active {
        background: var(--orange-light);
        color: var(--charcoal);
    }

.btn-appointment {
    background: var(--accent);
    color: #ffffff !important;
    font-weight: 400;
    border-radius: 999px !important;
    padding: 11px 20px !important;
    box-shadow: 0 3px 8px rgba(232, 104, 26, .35);
    white-space: nowrap;
}

    .btn-appointment:hover {
        background: #C2540E;
        color: var(--charcoal) !important;
    }

/* ================= MEGA MENU (premium grid style) ================= */
nav.main-nav ul li.has-mega {
    position: relative;
}

nav.main-nav a.mega-toggle {
    display: flex;
    align-items: center;
    gap: 6px;
}

.mega-toggle .caret {
    transition: transform .3s ease;
}

li.has-mega:hover .caret,
li.has-mega.mega-open .caret {
    transform: rotate(180deg);
}

.mega-menu {
    position: absolute;
    top: 100%;
    margin-top: 12px; /* gap between navbar and panel */
    left: 50%;
    transform: translateX(-50%) translateY(12px);
    width: 600px;
    background: #ffffff;
    border: 1px solid var(--border);
    border-top: 3px solid var(--orange);
    border-radius: 0 0 14px 14px;
    box-shadow: 0 22px 46px rgba(0,0,0,.17);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    z-index: 150;
    overflow: hidden;
    transition: opacity .28s ease, transform .32s cubic-bezier(.4,0,.2,1), visibility 0s linear .32s;
}


/* 2-column icon grid */
.mega-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3px;
    padding: 12px;
}

.mega-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 9px 12px;
    border-radius: 10px;
    text-decoration: none;
    transition: background .2s ease, transform .2s ease;
}

    .mega-item:hover {
        background: var(--orange-light);
        transform: translateY(-2px);
    }

.mega-item {
    border-left: 3px solid transparent;
}

    .mega-item:hover {
        border-left-color: var(--orange);
    }

    .mega-item strong {
        display: block;
        font-size: 14px;
        color: var(--text);
        font-weight: 400;
        line-height: 1.3;
    }


@media (min-width: 961px) {
    li.has-mega:hover .mega-menu,
    li.has-mega:focus-within .mega-menu,
    li.has-mega.mega-open .mega-menu {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateX(-50%) translateY(0);
        transition: opacity .28s ease, transform .32s cubic-bezier(.4,0,.2,1), visibility 0s;
    }
}
/* Invisible bridge so the panel doesn't close when crossing the gap */
.mega-menu::before {
    content: "";
    position: absolute;
    top: -12px;
    left: 0;
    right: 0;
    height: 12px;
}

/* Single-column variant (Departments) */
.mega-menu.single {
    width: 280px;
}

    .mega-menu.single .mega-grid {
        grid-template-columns: 1fr;
        padding: 8px;
    }

    .mega-menu.single .mega-item {
        padding: 11px 14px;
    }

@media (min-width: 961px) and (max-width: 1240px) {
    .mega-menu {
        width: 540px;
    }
}

/* "All Departments" / "All Services" overview link spans the full panel width */
.mega-item.mega-all {
    grid-column: 1 / -1;
    background: var(--orange-light);
    border-left-color: var(--orange);
}

@media (max-width: 560px) {
    .mega-grid {
        grid-template-columns: 1fr;
    }
}

.menu-toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 46px;
    height: 44px;
    padding: 0 11px;
    background: var(--orange-light);
    border: 2px solid var(--charcoal);
    border-radius: 10px;
    cursor: pointer;
    z-index: 200;
}

    .menu-toggle .bar {
        display: block;
        width: 100%;
        height: 3px;
        border-radius: 2px;
        background: var(--charcoal);
        transition: transform .35s cubic-bezier(.4,0,.2,1), opacity .25s ease, background .2s;
    }

    .menu-toggle:hover .bar {
        background: var(--orange);
    }

    .menu-toggle.active .bar:nth-child(1) {
        transform: translateY(8px) rotate(45deg);
    }

    .menu-toggle.active .bar:nth-child(2) {
        opacity: 0;
        transform: scaleX(.4);
    }

    .menu-toggle.active .bar:nth-child(3) {
        transform: translateY(-8px) rotate(-45deg);
    }

/* New wide logo: keep header tidy on narrower screens */
@media (max-width: 1200px) {
    .brand .tagline {
        display: none;
    }
}

@media (max-width: 1060px) {
    .brand .name-block {
        display: none;
    }

    .brand .logo {
        height: 61px;
    }
}

.container {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
}

/* ================= DEMO PAGE BODY (placeholder) ================= */
.page-body {
    flex: 1;
    padding: 46px 20px 60px;
}

.demo-card {
    max-width: 860px;
    margin: 0 auto;
    background: var(--white);
    border: 1px dashed #c9c9d4;
    border-radius: 14px;
    padding: 40px 34px;
    text-align: center;
}

    .demo-card h1 {
        color: var(--charcoal);
        font-size: 28px;
        margin-bottom: 10px;
    }

    .demo-card p {
        color: var(--muted);
        font-size: 16px;
        line-height: 1.7;
        max-width: 620px;
        margin: 0 auto 18px;
    }

    .demo-card .hint {
        display: inline-block;
        background: var(--orange-light);
        color: var(--charcoal);
        font-size: 13.5px;
        padding: 8px 16px;
        border-radius: 999px;
    }

/* ================= FOOTER ================= */
.footer-container {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 20px;
}

/* ================= LIGHT FOOTER BASE ================= */
footer.site-footer {
    background: var(--footer-bg);
    color: var(--footer-text);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    font-size: 14px;
    line-height: 1.6;
    margin-top: auto;
    border-top: 1px solid var(--footer-border);
    box-shadow: 0 -4px 20px rgba(50, 50, 58, 0.04);
}

.footer-main {
    display: grid;
    grid-template-columns: 1.35fr 0.85fr 1fr 1.05fr 1.25fr;
    gap: 32px;
    padding: 50px 20px 38px;
}

/* Column 1: Brand */
.footer-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
    text-decoration: none;
}

    .footer-brand .logo {
        height: 68px;
        width: auto;
        max-width: 130px;
        object-fit: contain;
        /*        background: #25252e;
        border-radius: 8px;*/
        padding: 5px 8px;
        /*        border: 1px solid #40404e;*/
    }

    .footer-brand .hosp-name {
        font-size: 21px;
        font-weight: 400;
        color: var(--footer-heading);
        letter-spacing: -0.3px;
    }

        .footer-brand .hosp-name .datta {
            color: var(--footer-orange);
        }

footer.site-footer p {
    color: var(--footer-text);
    font-size: 15px !important;
    line-height: 1.65;
    margin: 0 0 16px;
}

.footer-badge-emergency {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 400;
    color: var(--footer-orange);
    background: #fff4ec;
    border: 1px solid #fbd9c4;
    padding: 5px 10px;
    border-radius: 6px;
}

/* Headings */
footer.site-footer h4 {
    font-size: 18px;
    font-weight: 600;
    color: var(--footer-heading);
    margin: 0 0 16px;
    position: relative;
    padding-bottom: 10px;
}

    footer.site-footer h4::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 32px;
        height: 2.5px;
        background: var(--footer-orange);
        border-radius: 2px;
    }

/* Links Lists */
footer.site-footer ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

    footer.site-footer ul li {
        margin-bottom: 10px;
        line-height: 1.45;
    }

    footer.site-footer ul a {
        color: #000;
        text-decoration: none;
        font-size: 15px;
        position: relative;
        padding-left: 12px;
        display: inline-block;
        transition: color 0.2s ease, transform 0.2s ease;
    }

        footer.site-footer ul a::before {
            content: "›";
            position: absolute;
            left: 0;
            top: -1px;
            color: var(--footer-orange);
            font-size: 15px;
            font-weight: 400;
            transition: transform 0.2s ease;
        }

        footer.site-footer ul a:hover {
            color: var(--footer-accent);
            transform: translateX(3px);
        }

            footer.site-footer ul a:hover::before {
                color: var(--footer-accent);
            }

/* Contact List */
.footer-contact li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 14px;
    font-size: 13.5px;
    color: #000;
}

.footer-contact svg {
    flex: 0 0 auto;
    margin-top: 3px;
    stroke: var(--footer-orange);
}

.footer-contact a {
    color: var(--footer-heading) !important;
    font-weight: 400;
    text-decoration: none;
    padding-left: 0 !important;
    transform: none !important;
    transition: color 0.2s;
}

    .footer-contact a::before {
        display: none !important;
    }

    .footer-contact a:hover {
        color: var(--footer-accent) !important;
    }

/* ================= ORIGINAL BRAND SOCIAL MEDIA ICONS ================= */
.footer-social-wrap {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px dashed var(--footer-border);
}

.footer-social-title {
    font-size: 12.5px;
    font-weight: 400;
    color: var(--footer-heading);
    margin-bottom: 12px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 6px;
}

.social-icons-grid {
    display: flex;
    align-items: center;
    gap: 9px;
    flex-wrap: wrap;
}

.social-icon-btn {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #ffffff !important;
    text-decoration: none !important;
    padding: 0 !important;
    transition: transform 0.22s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.22s ease;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.12);
}

    .social-icon-btn::before {
        display: none !important;
    }

    .social-icon-btn:hover {
        transform: translateY(-3px) scale(1.08) !important;
        box-shadow: 0 6px 14px rgba(0, 0, 0, 0.22);
    }

    /* Authentic Brand Colors */
    .social-icon-btn.facebook {
        background-color: #1877F2;
    }

    .social-icon-btn.instagram {
        background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
    }

    .social-icon-btn.whatsapp {
        background-color: #25D366;
    }

    .social-icon-btn.youtube {
        background-color: #FF0000;
    }

    .social-icon-btn.x-twitter {
        background-color: #000000;
    }

    .social-icon-btn.linkedin {
        background-color: #0A66C2;
    }

/* ================= FOOTER BOTTOM ================= */
.footer-bottom {
    background: var(--footer-bottom-bg);
    border-top: 1px solid var(--footer-border);
    padding: 16px 20px;
}

.footer-bottom-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 13px;
    color: var(--footer-bottom-text);
}

.footer-bottom-links a {
    color: var(--footer-bottom-text);
    text-decoration: none;
    margin-left: 16px;
    transition: color 0.2s;
}

    .footer-bottom-links a:hover {
        color: var(--footer-accent);
    }

/* "| Developed By Dthrill" beside the copyright text */
.footer-credit {
    margin-left: 6px;
    white-space: nowrap;
}

    .footer-credit a {
        color: var(--footer-orange);
        text-decoration: none;
        font-weight: 400;
    }

        .footer-credit a:hover {
            text-decoration: underline;
        }

/* ================= RESPONSIVE ================= */
@media (max-width: 1100px) and (min-width: 821px) {
    .footer-main {
        grid-template-columns: 1.3fr 1fr 1fr;
        gap: 28px 22px;
    }
}

@media (max-width: 820px) and (min-width: 561px) {
    .footer-main {
        grid-template-columns: 1fr 1fr;
        gap: 28px 24px;
    }
}

@media (max-width: 560px) {
    .footer-main {
        grid-template-columns: 1fr;
        gap: 28px;
        padding: 36px 16px 24px;
    }

    .footer-bottom-inner {
        flex-direction: column;
        text-align: center;
        gap: 8px;
    }

    .footer-bottom-links a {
        margin: 0 8px;
    }
}
/* ================= RESPONSIVE ================= */
@media (max-width: 960px) {
    nav.main-nav {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: var(--white);
        border-bottom: 1px solid var(--border);
        box-shadow: 0 14px 24px rgba(0,0,0,.12);
        max-height: 0;
        opacity: 0;
        overflow: hidden;
        transform: translateY(-14px);
        visibility: hidden;
        transition: max-height .5s cubic-bezier(.4,0,.2,1), opacity .35s ease, transform .5s cubic-bezier(.4,0,.2,1), visibility 0s linear .5s;
    }

        nav.main-nav.open {
            max-height: calc(100vh - 90px);
            overflow-y: auto;
            opacity: 1;
            transform: translateY(0);
            visibility: visible;
            transition: max-height .5s cubic-bezier(.4,0,.2,1), opacity .4s ease .08s, transform .5s cubic-bezier(.4,0,.2,1), visibility 0s;
        }

        nav.main-nav ul {
            flex-direction: column;
            align-items: stretch;
            padding: 12px 20px 18px;
            gap: 2px;
        }

            nav.main-nav ul li {
                opacity: 0;
                transform: translateX(-18px);
                transition: opacity .3s ease, transform .35s cubic-bezier(.4,0,.2,1);
            }

        nav.main-nav.open ul li {
            opacity: 1;
            transform: translateX(0);
        }

        nav.main-nav a {
            padding: 12px 14px;
        }
    /* Mega menu becomes an accordion on mobile */
    .mega-menu {
        position: static;
        transform: none;
        margin-top: 0;
        width: 100%;
        max-height: 0;
        opacity: 0;
        overflow: hidden;
        visibility: hidden;
        border-radius: 0;
        border-left: none;
        border-right: none;
        box-shadow: none;
        transition: max-height .45s cubic-bezier(.4,0,.2,1), opacity .3s ease, visibility 0s linear .45s;
    }

    .has-mega.mega-open .mega-menu {
        max-height: 1000px;
        opacity: 1;
        visibility: visible;
        transition: max-height .5s cubic-bezier(.4,0,.2,1), opacity .35s ease .05s, visibility 0s;
    }

    .mega-grid {
        padding: 8px;
        gap: 2px;
    }

    .mega-item {
        padding: 8px 10px;
    }

    .btn-appointment {
        text-align: center;
        margin-top: 6px;
    }

    .menu-toggle {
        display: flex;
    }

    .footer-main {
        grid-template-columns: 1fr 1fr;
    }

    .topbar .group.right {
        display: none;
    }
}

@media (max-width: 560px) {
    .brand .hosp-name {
        font-size: 19px;
    }

    .brand .tagline {
        font-size: 10.5px;
        letter-spacing: 1.6px;
    }

    .brand .logo {
        width: 130px;
        height: 42px;
    }

    .footer-main {
        grid-template-columns: 1fr;
        gap: 28px;
    }
}






/*=========================================
New header 
=========================================*/
/* =====================================================================
   SHRI DATTA HOSPITAL — HEADER  (wwwroot/css/sdh-header.css)
   Every rule is scoped under .sdh-header — no html / body / * / :root rules,
   so the rest of your site CSS is not affected.
   ===================================================================== */
.sdh-header {
    --sdh-primary: #E8681A;
    --sdh-primary-dark: #C2540E;
    --sdh-primary-soft: #FFF1E7;
    --sdh-dark: #1E1E1E;
    --sdh-text: #5F6670;
    --sdh-white: #fff;
    --sdh-border: #ECECEC;
    --sdh-font-title: 'Lexend','Segoe UI',Arial,sans-serif;
    --sdh-font-body: 'Lexend','Segoe UI',Arial,sans-serif;
    position: relative;
    z-index: 999;
    display: block;
    margin: 0;
    padding: 0;
    font-family: var(--sdh-font-body);
    font-size: 15px;
    line-height: 1.5;
    color: var(--sdh-text);
}
    /* scoped reset: only touches elements inside the header (your site CSS is untouched) */
    .sdh-header, .sdh-header *, .sdh-header *::before, .sdh-header *::after {
        box-sizing: border-box
    }

        .sdh-header * {
            margin: 0;
            padding: 0;
            border: 0;
            float: none;
            font-family: inherit;
            font-size: inherit;
            font-weight: inherit;
            line-height: inherit;
            letter-spacing: normal;
            text-transform: none;
            text-decoration: none;
            color: inherit;
            background: none;
            list-style: none;
            box-shadow: none
        }

        .sdh-header svg {
            overflow: visible
        }

        .sdh-header img {
            max-width: none;
            height: auto;
            border: 0
        }

        .sdh-header .sdh-sprite {
            position: absolute;
            width: 0;
            height: 0;
            overflow: hidden
        }

        .sdh-header .sdh-container {
            width: 100%;
            max-width: 1320px;
            margin: 0 auto;
            padding: 0 15px
        }

        .sdh-header .sdh-ico {
            width: 1em;
            height: 1em;
            flex: 0 0 auto;
            fill: none;
            stroke: currentColor;
            stroke-width: 2;
            stroke-linecap: round;
            stroke-linejoin: round;
            display: inline-block;
            vertical-align: middle
        }

        .sdh-header a:focus-visible, .sdh-header button:focus-visible {
            outline: 2px solid var(--sdh-primary);
            outline-offset: 3px
        }

        /* ---------- TOP BAR: 70% orange / 30% black ---------- */
        .sdh-header .sdh-topbar {
            background: var(--sdh-primary);
            color: #fff;
            font-family: var(--sdh-font-title);
            font-size: 14px;
            overflow: hidden
        }

            .sdh-header .sdh-topbar .sdh-container {
                display: flex;
                align-items: stretch;
                min-height: 50px
            }

        .sdh-header .sdh-topbar-info {
            flex: 0 0 70%;
            display: flex;
            align-items: center;
            gap: 28px;
            padding: 8px 30px 8px 0;
            white-space: nowrap
        }

            .sdh-header .sdh-topbar-info li {
                display: flex;
                align-items: center;
                gap: 8px
            }

            .sdh-header .sdh-topbar-info .sdh-ico {
                font-size: 16px
            }

            .sdh-header .sdh-topbar-info a:hover {
                text-decoration: underline
            }

        .sdh-header .sdh-topbar-right {
            position: relative;
            z-index: 1;
            flex: 0 0 30%;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 15px;
            padding: 6px 0 6px 35px
        }

            .sdh-header .sdh-topbar-right::before {
                content: "";
                position: absolute;
                z-index: -1;
                top: 0;
                bottom: 0;
                left: -12px;
                right: -100vw;
                background: var(--sdh-dark);
                transform: skewX(-25deg);
                transform-origin: top left
            }

        /* phone — "phonePulse": grows slightly and changes white → orange, then back (alternate) */
        .sdh-header .sdh-phone {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            color: #ffffff;
            font-weight: 400;
            font-size: 16px;
            line-height: 1.3;
            white-space: nowrap;
            transform-origin: center;
            animation: sdh-phonePulse 2s ease-in-out 0s infinite alternate none running
        }

            .sdh-header .sdh-phone .sdh-ico {
                font-size: 16px;
                fill: currentColor;
                stroke: none
            }

            .sdh-header .sdh-phone:hover {
                animation-play-state: paused
            }

@keyframes sdh-phonePulse {
    0% {
        transform: scale(1);
        color: #ffffff
    }

    100% {
        transform: scale(1.08);
        color: #E8681A
    }
}

/* social logos */
.sdh-header .sdh-social {
    display: flex;
    align-items: center;
    gap: 10px
}

    .sdh-header .sdh-social a {
        display: block;
        width: 26px;
        height: 26px;
        transition: transform .3s
    }

    .sdh-header .sdh-social svg {
        display: block;
        width: 100%;
        height: 100%
    }

    .sdh-header .sdh-social a:hover {
        transform: translateY(-2px) scale(1.08)
    }

/* 24×7 EMERGENCY badge — on the ORANGE side of the top bar, after the OPD
   hours (position unchanged). Design "H — Running border":
     · deep red tag (#C3121C), 6px corners, white medical cross + text
     · a white-and-red light keeps RACING AROUND THE BORDER (2.2s loop);
       the text itself stays steady and easy to read
   How: ::before is a spinning conic gradient behind the tag, ::after is the
   red face inset by 2px, so only a 2px ring of the spinning light shows.
   Phones (≤767px) hide the orange side, so a short copy of the badge
   (.sdh-emg--m, cross + "24×7") shows on the black bar instead. */
.sdh-header .sdh-emg {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    height: 26px;
    padding: 0 11px;
    border-radius: 6px;
    color: #fff;
    font-family: var(--sdh-font-title);
    font-size: 12px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: .7px;
    text-transform: uppercase;
    white-space: nowrap;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .2);
    transition: transform .3s
}

    /* the spinning light */
    .sdh-header .sdh-emg::before {
        content: "";
        position: absolute;
        z-index: -2;
        inset: -60%;
        background: conic-gradient(from 0deg, #fff, #FF3B3B, #fff, #FF3B3B, #fff);
        animation: sdh-emg-spin 2.2s linear infinite
    }

    /* the red face — leaves a 2px ring of the light visible */
    .sdh-header .sdh-emg::after {
        content: "";
        position: absolute;
        z-index: -1;
        inset: 2px;
        border-radius: 4px;
        background: #C3121C
    }

    .sdh-header .sdh-emg:hover {
        transform: translateY(-1px);
        text-decoration: none !important
    }

    .sdh-header .sdh-emg b {
        font-weight: 400
    }

.sdh-header .sdh-emg-cross {
    flex: 0 0 auto;
    width: 12px;
    height: 12px;
    fill: #fff
}

@keyframes sdh-emg-spin {
    to { transform: rotate(360deg) }
}
/* phone copy hidden by default (shown ≤767px) */
.sdh-header .sdh-emg--m {
    display: none
}

/* with the badge on the orange side: email hides below 1200px, and on
   tablets (≤991px) the OPD hours make way for the badge */
@media (max-width:1199px) {
    .sdh-header .sdh-topbar-info .sdh-hide-md {
        display: none
    }
}

@media (max-width:991px) {
    .sdh-header .sdh-topbar-info .sdh-opd {
        display: none
    }
}

/* phones: orange side is hidden — the short badge sits on the black bar
   with the phone number (14px) and social icons */
@media (max-width:767px) {
    .sdh-header .sdh-emg--m {
        display: inline-flex;
        flex: 0 0 auto;
        gap: 6px;
        padding: 0 8px;
        font-size: 11px
    }

    .sdh-header .sdh-topbar-right {
        gap: 8px
    }

    .sdh-header .sdh-phone {
        font-size: 14px
    }

    .sdh-header .sdh-topbar .sdh-social {
        gap: 5px
    }

        .sdh-header .sdh-topbar .sdh-social a {
            width: 22px;
            height: 22px
        }
}

@media (max-width:350px) {
    .sdh-header .sdh-topbar .sdh-social {
        display: none
    }
}

/* reduced motion: the border light stays still */
@media (prefers-reduced-motion: reduce) {
    .sdh-header .sdh-emg::before {
        animation: none
    }
}

/* ---------- MAIN HEADER ---------- */
.sdh-header .sdh-main-wrap {
    position: relative
}

.sdh-header .sdh-main {
    background: #fff;
    box-shadow: 0 10px 30px rgba(0,0,0,.05);
    width: 100%
}

    .sdh-header .sdh-main.sdh-is-sticky {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 999;
        box-shadow: 0 8px 25px rgba(0,0,0,.1);
        animation: sdh-slide-down .45s ease
    }

@keyframes sdh-slide-down {
    from {
        transform: translateY(-100%)
    }

    to {
        transform: translateY(0)
    }
}

.sdh-header .sdh-main .sdh-container {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 84px
}

.sdh-header .sdh-main.sdh-is-sticky .sdh-container {
    min-height: 70px
}

.sdh-header .sdh-logo {
    display: block;
    flex: 0 0 auto
}

    /* logo1.png (1983×793) has ~12% empty space above and ~13% below the
       artwork. The box is shaped to the artwork only (1983 × 592) and
       object-fit:cover trims that empty band, so the visible logo is ~34%
       wider at the same height. Heights per screen size are set below;
       the width follows automatically. */
    .sdh-header .sdh-logo img {
        display: block;
        height: 78px;
        width: auto;
        max-width: none;
        aspect-ratio: 1983 / 592;
        object-fit: cover;
        object-position: 50% 48%;
        transition: height .3s
    }

.sdh-header .sdh-main.sdh-is-sticky .sdh-logo img {
    height: 64px
}

.sdh-header .sdh-nav {
    display: block;
    position: static;
    background: none
}

.sdh-header .sdh-menu {
    display: flex;
    align-items: center;
    gap: 0;
    flex-wrap: nowrap;
    width: auto;
    height: auto
}

    .sdh-header .sdh-menu > li {
        position: relative
    }

        .sdh-header .sdh-menu > li.sdh-has-mega {
            position: static
        }

        .sdh-header .sdh-menu > li > a {
            display: flex;
            align-items: center;
            gap: 6px;
            padding: 31px 16px;
            white-space: nowrap;
            font-family: var(--sdh-font-title);
            font-size: 16px;
            font-weight: 400;
            line-height: 1.2;
            color: var(--sdh-dark);
            transition: color .3s
        }

.sdh-header .sdh-main.sdh-is-sticky .sdh-menu > li > a {
    padding-top: 24px;
    padding-bottom: 24px
}

.sdh-header .sdh-caret {
    font-size: 14px;
    transition: transform .3s
}

.sdh-header .sdh-menu > li:hover > a, .sdh-header .sdh-menu > li:focus-within > a, .sdh-header .sdh-menu > li.sdh-active > a {
    color: var(--sdh-primary)
}

    .sdh-header .sdh-menu > li:hover > a .sdh-caret, .sdh-header .sdh-menu > li:focus-within > a .sdh-caret {
        transform: rotate(180deg)
    }

/* dropdown + mega shared */
.sdh-header .sdh-dropdown, .sdh-header .sdh-mega {
    position: absolute;
    top: 100%;
    background: #fff;
    border-top: 3px solid var(--sdh-primary);
    box-shadow: 0 25px 50px rgba(0,0,0,.12);
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all .3s;
    z-index: 10
}

.sdh-header .sdh-menu > li:hover > .sdh-dropdown, .sdh-header .sdh-menu > li:focus-within > .sdh-dropdown,
.sdh-header .sdh-menu > li:hover > .sdh-mega, .sdh-header .sdh-menu > li:focus-within > .sdh-mega {
    opacity: 1;
    visibility: visible;
    transform: translateY(0)
}

.sdh-header .sdh-dropdown {
    left: 0;
    min-width: 270px;
    padding: 12px;
    border-radius: 0 0 12px 12px
}

.sdh-header .sdh-mega {
    left: 15px;
    right: 15px;
    padding: 35px;
    border-radius: 0 0 14px 14px;
    display: grid;
    grid-template-columns: repeat(3,1fr) 280px;
    gap: 28px
}

.sdh-header .sdh-mega-col h4 {
    position: relative;
    font-family: var(--sdh-font-title);
    font-size: 18px;
    font-weight: 600;
    line-height: 1.3;
    color: var(--sdh-dark);
    padding-bottom: 12px;
    margin-bottom: 12px;
    border-bottom: 1px solid var(--sdh-border)
}

    .sdh-header .sdh-mega-col h4::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: -1px;
        width: 40px;
        height: 2px;
        background: var(--sdh-primary)
    }

/* menu item with icon (used in mega + departments) */
.sdh-header .sdh-item {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 7px 10px;
    border-radius: 10px;
    overflow: hidden;
    transition: background .35s,padding .35s
}

    .sdh-header .sdh-item::before {
        content: "";
        position: absolute;
        left: 0;
        top: 50%;
        width: 3px;
        height: 0;
        background: var(--sdh-primary);
        border-radius: 3px;
        transform: translateY(-50%);
        transition: height .35s
    }

.sdh-header .sdh-item-icon {
    width: 40px;
    height: 40px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: var(--sdh-primary-soft);
    color: var(--sdh-primary);
    transition: background .35s,color .35s,border-radius .35s
}

    .sdh-header .sdh-item-icon .sdh-ico {
        font-size: 20px;
        stroke-width: 1.7;
        transition: transform .5s
    }

.sdh-header .sdh-item-name {
    font-family: var(--sdh-font-title);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.35;
    color: var(--sdh-dark);
    transition: color .35s
}

.sdh-header .sdh-item:hover, .sdh-header .sdh-item:focus-visible {
    background: var(--sdh-primary-soft);
    padding-left: 18px
}

    .sdh-header .sdh-item:hover::before, .sdh-header .sdh-item:focus-visible::before {
        height: 70%
    }

    .sdh-header .sdh-item:hover .sdh-item-icon, .sdh-header .sdh-item:focus-visible .sdh-item-icon {
        background: var(--sdh-primary);
        color: #fff;
        border-radius: 50%
    }

        .sdh-header .sdh-item:hover .sdh-item-icon .sdh-ico, .sdh-header .sdh-item:focus-visible .sdh-item-icon .sdh-ico {
            transform: rotateY(360deg)
        }

    .sdh-header .sdh-item:hover .sdh-item-name, .sdh-header .sdh-item:focus-visible .sdh-item-name {
        color: var(--sdh-primary)
    }

/* desktop: every menu name stays on one line (mega columns sized to fit the longest) */
@media (min-width:1200px) {
    .sdh-header .sdh-mega {
        padding: 34px 30px;
        column-gap: 24px;
        row-gap: 0;
        border-radius: 0 0 16px 16px;
        grid-template-columns: repeat(3,1fr) 250px;
        align-items: stretch
    }

    .sdh-header .sdh-mega-col h4 {
        font-size: 18px;
        padding-bottom: 12px;
        margin-bottom: 14px
    }

    .sdh-header .sdh-mega .sdh-item {
        padding: 7px 8px;
        gap: 12px
    }

    .sdh-header .sdh-mega .sdh-item:hover, .sdh-header .sdh-mega .sdh-item:focus-visible {
        padding-left: 16px
    }

    .sdh-header .sdh-mega .sdh-item-name {
        font-size: 14px;
        font-weight: 400
    }

    .sdh-header .sdh-item-name {
        white-space: nowrap
    }

    /* desktop mega has no footer row ("View all services" stays in the mobile drawer) */
    .sdh-header .sdh-mega .sdh-mega-all {
        display: none
    }

    /* promo card fills the column height, content centred like the reference */
    .sdh-header .sdh-mega .sdh-promo {
        justify-content: center;
        gap: 16px;
        padding: 28px 26px
    }
}

.sdh-header .sdh-dropdown .sdh-item {
    padding: 9px 10px
}

    .sdh-header .sdh-dropdown .sdh-item:hover {
        padding-left: 18px
    }

/* "All Services" / "All Departments" links */
.sdh-header .sdh-mega-all {
    grid-column: 1 / -1;
    display: flex;
    justify-content: center;
    padding-top: 18px;
    border-top: 1px solid var(--sdh-border)
}

.sdh-header .sdh-all-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--sdh-font-title);
    font-size: 15px;
    font-weight: 400;
    color: var(--sdh-primary);
    transition: gap .3s
}

    .sdh-header .sdh-all-link:hover {
        gap: 12px;
        color: var(--sdh-primary-dark)
    }

    .sdh-header .sdh-all-link .sdh-ico {
        font-size: 15px
    }

.sdh-header .sdh-item.sdh-current {
    background: var(--sdh-primary-soft)
}

    .sdh-header .sdh-item.sdh-current .sdh-item-name {
        color: var(--sdh-primary)
    }

/* promo card */
.sdh-header .sdh-promo {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 28px;
    border-radius: 14px;
    background: var(--sdh-dark);
    color: #fff
}

    .sdh-header .sdh-promo::before {
        content: "";
        position: absolute;
        right: -60px;
        top: -60px;
        width: 180px;
        height: 180px;
        border-radius: 50%;
        background: var(--sdh-primary);
        opacity: .9
    }

    .sdh-header .sdh-promo > * {
        position: relative
    }

    .sdh-header .sdh-promo h5 {
        max-width: 200px;
        font-family: var(--sdh-font-title);
        font-size: 21px;
        font-weight: 600;
        line-height: 1.3;
        color: #fff
    }

    .sdh-header .sdh-promo p {
        font-size: 13.5px;
        line-height: 1.6;
        color: #cfcfcf
    }

.sdh-header .sdh-promo-call {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--sdh-font-title);
    font-size: 17px;
    font-weight: 400;
    white-space: nowrap
}

    .sdh-header .sdh-promo-call .sdh-ico {
        font-size: 18px;
        fill: var(--sdh-primary);
        stroke: none
    }

/* right side */
.sdh-header .sdh-actions {
    display: flex;
    align-items: center;
    gap: 15px;
    flex: 0 0 auto
}

.sdh-header .sdh-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 28px;
    border-radius: 50px;
    background: var(--sdh-primary);
    color: #fff;
    font-family: var(--sdh-font-title);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
    white-space: nowrap;
    transition: background .3s
}

    .sdh-header .sdh-btn:hover {
        background: var(--sdh-primary-dark);
        color: #fff
    }

.sdh-header .sdh-btn {
    cursor: pointer
}

    .sdh-header .sdh-btn .sdh-ico {
        font-size: 16px
    }

.sdh-header .sdh-btn-short {
    display: none
}

.sdh-header .sdh-promo .sdh-btn {
    align-self: flex-start;
    padding: 12px 22px;
    font-size: 15px
}

.sdh-header .sdh-toggle {
    display: none;
    width: 46px;
    height: 46px;
    place-items: center;
    border: 0;
    border-radius: 8px;
    background: var(--sdh-primary);
    color: #fff;
    font-size: 22px;
    cursor: pointer
}

.sdh-header .sdh-close, .sdh-header .sdh-drawer-logo {
    display: none
}

.sdh-header .sdh-overlay {
    display: none
}


/* ---------- APPOINTMENT POPUP ---------- */
.sdh-header .sdh-modal {
    position: fixed;
    inset: 0;
    z-index: 1100;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(20,20,20,.6);
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s,visibility .3s
}

    .sdh-header .sdh-modal.sdh-show {
        opacity: 1;
        visibility: visible
    }

.sdh-header .sdh-modal-box {
    position: relative;
    width: 100%;
    max-width: 440px;
    max-height: calc(100vh - 40px);
    overflow-y: auto;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 30px 60px rgba(0,0,0,.25);
    transform: translateY(20px) scale(.97);
    transition: transform .3s
}

.sdh-header .sdh-modal.sdh-show .sdh-modal-box {
    transform: none
}

.sdh-header .sdh-modal-head {
    position: relative;
    padding: 22px 56px 18px 24px;
    background: var(--sdh-primary);
    color: #fff;
    border-radius: 16px 16px 0 0
}

    .sdh-header .sdh-modal-head h4 {
        font-family: var(--sdh-font-title);
        font-size: 20px;
        font-weight: 600;
        line-height: 1.3;
        color: #fff
    }

    .sdh-header .sdh-modal-head p {
        margin-top: 4px;
        font-size: 13.5px;
        line-height: 1.5;
        color: #fff;
        opacity: .92
    }

.sdh-header .sdh-modal-x {
    position: absolute;
    top: 18px;
    right: 16px;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(255,255,255,.2);
    color: #fff;
    font-size: 16px;
    cursor: pointer;
    transition: background .3s
}

    .sdh-header .sdh-modal-x:hover {
        background: var(--sdh-dark)
    }

.sdh-header .sdh-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    padding: 22px 24px 24px
}

.sdh-header .sdh-field {
    display: flex;
    flex-direction: column;
    gap: 6px
}

    .sdh-header .sdh-field.sdh-full {
        grid-column: 1 / -1
    }

    .sdh-header .sdh-field label {
        font-family: var(--sdh-font-title);
        font-size: 13.5px;
        font-weight: 400;
        color: var(--sdh-dark)
    }

        .sdh-header .sdh-field label b {
            color: var(--sdh-primary);
            font-weight: 400
        }

.sdh-header .sdh-input {
    width: 100%;
    height: 44px;
    padding: 0 14px;
    border: 1px solid #DADDE1;
    border-radius: 8px;
    background: #fff;
    font-family: var(--sdh-font-body);
    font-size: 14.5px;
    color: var(--sdh-dark);
    outline: none;
    transition: border-color .2s,box-shadow .2s;
    -webkit-appearance: none;
    appearance: none
}

.sdh-header select.sdh-input {
    padding-right: 36px;
    cursor: pointer;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F26B0F' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center/14px
}

.sdh-header textarea.sdh-input {
    height: 80px;
    padding: 10px 14px;
    resize: vertical
}

.sdh-header .sdh-input:focus {
    border-color: var(--sdh-primary);
    box-shadow: 0 0 0 3px rgba(232, 104, 26,.15)
}

.sdh-header .sdh-input.sdh-invalid {
    border-color: #E02424
}

.sdh-header .sdh-error {
    display: none;
    font-size: 12.5px;
    color: #E02424
}

.sdh-header .sdh-invalid + .sdh-error {
    display: block
}

.sdh-header .sdh-form .sdh-btn {
    grid-column: 1 / -1;
    justify-content: center;
    padding: 14px;
    font-size: 16px
}

.sdh-header .sdh-success {
    display: none;
    padding: 34px 24px 30px;
    text-align: center
}

.sdh-header .sdh-success-icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 14px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--sdh-primary-soft);
    color: var(--sdh-primary);
    font-size: 30px
}

.sdh-header .sdh-success h5 {
    font-family: var(--sdh-font-title);
    font-size: 19px;
    font-weight: 600;
    color: var(--sdh-dark);
    margin-bottom: 6px
}

.sdh-header .sdh-success p {
    font-size: 14px;
    color: var(--sdh-text);
    margin-bottom: 18px
}

.sdh-header .sdh-modal.sdh-done .sdh-form {
    display: none
}

.sdh-header .sdh-modal.sdh-done .sdh-success {
    display: block
}

@media (max-width:480px) {
    .sdh-header .sdh-modal {
        padding: 12px
    }

    .sdh-header .sdh-form {
        grid-template-columns: 1fr;
        padding: 18px
    }

    .sdh-header .sdh-modal-head {
        padding: 18px 54px 16px 18px
    }
}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1399px) {
    .sdh-header .sdh-topbar-info {
        flex: 1 1 auto
    }

    .sdh-header .sdh-topbar-right {
        flex: 0 0 auto
    }

    .sdh-header .sdh-menu > li > a {
        padding-left: 12px;
        padding-right: 12px;
        font-size: 15px
    }

    .sdh-header .sdh-logo img {
        height: 72px
    }

    .sdh-header .sdh-btn {
        padding: 13px 22px;
        font-size: 15px
    }

    .sdh-header .sdh-mega {
        grid-template-columns: repeat(3,1fr);
        padding: 28px
    }

    .sdh-header .sdh-promo {
        display: none
    }
}
/* tablet + mobile: off-canvas menu */
@media (max-width:1199px) {
    .sdh-header .sdh-topbar-info .sdh-hide-lg {
        display: none
    }

    .sdh-header .sdh-main .sdh-container, .sdh-header .sdh-main.sdh-is-sticky .sdh-container {
        min-height: 76px
    }

    .sdh-header .sdh-logo img, .sdh-header .sdh-main.sdh-is-sticky .sdh-logo img {
        height: 66px
    }

    .sdh-header .sdh-toggle {
        display: grid
    }

    .sdh-header .sdh-nav {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 1001;
        width: min(320px,86vw);
        height: 100%;
        overflow-y: auto;
        padding: 22px 20px 30px;
        background: #fff;
        box-shadow: 5px 0 30px rgba(0,0,0,.15);
        transform: translateX(-105%);
        transition: transform .35s
    }

        .sdh-header .sdh-nav.sdh-open {
            transform: translateX(0)
        }

    .sdh-header .sdh-drawer-logo {
        display: block;
        margin: 0 50px 18px 0
    }

        .sdh-header .sdh-drawer-logo img {
            height: auto;
            width: 100%;
            max-width: 220px
        }

    .sdh-header .sdh-close {
        display: grid;
        place-items: center;
        position: absolute;
        top: 22px;
        right: 15px;
        width: 36px;
        height: 36px;
        border: 0;
        border-radius: 50%;
        background: var(--sdh-primary-soft);
        color: var(--sdh-primary);
        font-size: 18px;
        cursor: pointer
    }

    .sdh-header .sdh-menu {
        flex-direction: column;
        align-items: stretch
    }

        .sdh-header .sdh-menu > li {
            border-bottom: 1px solid var(--sdh-border)
        }

            .sdh-header .sdh-menu > li > a, .sdh-header .sdh-main.sdh-is-sticky .sdh-menu > li > a {
                justify-content: space-between;
                padding: 14px 0;
                font-size: 16px
            }

    .sdh-header .sdh-dropdown, .sdh-header .sdh-mega {
        position: static;
        display: none;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        border: 0;
        border-radius: 0;
        min-width: 0
    }

    .sdh-header .sdh-dropdown {
        padding: 0 0 10px
    }

    .sdh-header .sdh-mega {
        grid-template-columns: 1fr;
        gap: 6px;
        padding: 0 0 12px
    }

    .sdh-header .sdh-mega-all {
        justify-content: flex-start;
        padding: 10px 4px 0
    }

    .sdh-header .sdh-menu > li.sdh-show > .sdh-dropdown {
        display: block
    }

    .sdh-header .sdh-menu > li.sdh-show > .sdh-mega {
        display: grid
    }

    .sdh-header .sdh-menu > li:hover > a .sdh-caret, .sdh-header .sdh-menu > li:focus-within > a .sdh-caret {
        transform: none
    }

    .sdh-header .sdh-menu > li.sdh-show > a .sdh-caret {
        transform: rotate(180deg)
    }

    .sdh-header .sdh-mega-col h4 {
        font-size: 15px;
        margin: 8px 0 4px;
        padding-bottom: 8px
    }

    .sdh-header .sdh-item {
        padding: 6px 4px
    }

    .sdh-header .sdh-item-icon {
        width: 36px;
        height: 36px
    }

    .sdh-header .sdh-overlay {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 1000;
        background: rgba(0,0,0,.5);
        opacity: 0;
        visibility: hidden;
        transition: .3s
    }

        .sdh-header .sdh-overlay.sdh-show {
            opacity: 1;
            visibility: visible
        }
}

@media (max-width:991px) {
    .sdh-header .sdh-topbar-info .sdh-hide-md {
        display: none
    }
}

@media (max-width:767px) {
    .sdh-header .sdh-topbar {
        background: var(--sdh-dark)
    }

    .sdh-header .sdh-topbar-info {
        display: none
    }

    .sdh-header .sdh-topbar-right {
        flex: 1 1 100%;
        padding: 6px 0
    }

        .sdh-header .sdh-topbar-right::before {
            display: none
        }

    .sdh-header .sdh-btn-header {
        padding: 11px 18px;
        font-size: 14px;
        gap: 8px
    }

    .sdh-header .sdh-btn-full {
        display: none
    }

    .sdh-header .sdh-btn-short {
        display: inline
    }

    .sdh-header .sdh-main .sdh-container, .sdh-header .sdh-main.sdh-is-sticky .sdh-container {
        min-height: 74px;
        gap: 10px
    }

    .sdh-header .sdh-logo img, .sdh-header .sdh-main.sdh-is-sticky .sdh-logo img {
        height: 58px
    }

    .sdh-header .sdh-actions {
        gap: 10px
    }

    .sdh-header .sdh-toggle {
        width: 42px;
        height: 42px;
        font-size: 20px
    }
}

@media (max-width:420px) {
    .sdh-header .sdh-phone {
        font-size: 14px
    }

    .sdh-header .sdh-social {
        gap: 7px
    }

        .sdh-header .sdh-social a {
            width: 22px;
            height: 22px
        }

    .sdh-header .sdh-logo img, .sdh-header .sdh-main.sdh-is-sticky .sdh-logo img {
        height: 50px
    }

    .sdh-header .sdh-btn-header {
        padding: 10px 14px
    }
}

@media (prefers-reduced-motion:reduce) {
    .sdh-header *, .sdh-header *::before, .sdh-header *::after {
        transition: none !important
    }
}


/* =====================================================================
   BOOK APPOINTMENT — header vs. mobile menu
   · the drawer copy (.sdh-drawer-btn, inside #sdhNav) only exists in the
     off-canvas menu (≤1199px)
   · on phones (≤767px) the header button only had room for "Book", so it
     is hidden there and the full-width drawer button is the one to use
   (!important: buttons.css sets display on every .sdh-btn)
   ===================================================================== */
.sdh-header .sdh-nav .sdh-drawer-btn {
    display: none !important
}

@media (max-width:1199px) {
    .sdh-header .sdh-nav .sdh-drawer-btn {
        display: inline-flex !important
    }
}

@media (max-width:767px) {
    .sdh-header .sdh-actions .sdh-btn-header {
        display: none !important
    }
}


/* =====================================================================
   FLOATING BUTTONS — bottom-right on every page (markup: _Layout.cshtml)
   · WhatsApp: green circle with a soft pulse ring, always visible
   · Back to top: orange circle, fades in after 300px of scrolling
     (js/Layout.js "Floating buttons"); hover fills navy like the site
     buttons
   ===================================================================== */
.sdh-float {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 990;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    pointer-events: none
}

    .sdh-float > * {
        pointer-events: auto
    }

.sdh-float__wa,
.sdh-float__top {
    position: relative;
    display: grid;
    place-items: center;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: #fff;
    cursor: pointer;
    text-decoration: none;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .22);
    transition: transform .3s, background-color .3s, opacity .35s, visibility .35s
}

.sdh-float__wa {
    width: 56px;
    height: 56px;
    background: #25D366
}

    .sdh-float__wa svg {
        width: 30px;
        height: 30px
    }

    /* pulse ring */
    .sdh-float__wa::before {
        content: "";
        position: absolute;
        inset: 0;
        border-radius: 50%;
        background: #25D366;
        z-index: -1;
        animation: sdh-wa-pulse 2s ease-out infinite
    }

    .sdh-float__wa:hover {
        transform: scale(1.08);
        color: #fff
    }

@keyframes sdh-wa-pulse {
    0% { transform: scale(1); opacity: .55 }
    100% { transform: scale(1.6); opacity: 0 }
}

.sdh-float__top {
    width: 48px;
    height: 48px;
    background: #E8681A;
    opacity: 0;
    visibility: hidden;
    transform: translateY(14px)
}

    .sdh-float__top svg {
        width: 20px;
        height: 20px
    }

    .sdh-float__top.is-visible {
        opacity: 1;
        visibility: visible;
        transform: translateY(0)
    }

    .sdh-float__top:hover,
    .sdh-float__top:focus-visible {
        background: #06304F
    }

.sdh-float__wa:focus-visible,
.sdh-float__top:focus-visible {
    outline: 3px solid #E8681A;
    outline-offset: 3px
}

@media (max-width:575px) {
    .sdh-float {
        right: 14px;
        bottom: 14px;
        gap: 10px
    }

    .sdh-float__wa {
        width: 50px;
        height: 50px
    }

        .sdh-float__wa svg {
            width: 27px;
            height: 27px
        }

    .sdh-float__top {
        width: 44px;
        height: 44px
    }
}

@media (prefers-reduced-motion: reduce) {
    .sdh-float__wa::before {
        animation: none;
        opacity: 0
    }

    .sdh-float__wa,
    .sdh-float__top {
        transition: none
    }
}
.sdh-item-icon {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border-radius: 10px;
    background: rgba(2, 106, 152, 0.08);
    transition: all 0.3s ease;
}

    .sdh-item-icon img {
        width: 34px;
        height: 34px;
        object-fit: contain;
        display: block;
        transition: all 0.3s ease;
    }

.sdh-item:hover .sdh-item-icon {
    background: #026A98;
    transform: translateY(-2px);
}

    .sdh-item:hover .sdh-item-icon img {
        transform: scale(1.1);
    }