/* ==========================================================================
   BHARAT AYUR SETU — SITE THEME  ·  "Aurora Ayur"
   Shared by all public website pages (find-doctors, ayurvedic, homeo-care,
   medicines, lab-tests, support, privacy, terms, delete-account).
   Everything is scoped to body.themed so portals / auth pages are untouched.
   Mirrors the look of the landing page (landing.blade.php).
========================================================================== */
:root {
    --h-ink:      #05141B;
    --h-deep:     #081F28;
    --h-teal:     #0D3B4F;
    --h-teal-2:   #175A72;
    --h-emerald:  #2D9B6F;
    --h-mint:     #6EE7B7;
    --h-saffron:  #E8732A;
    --h-gold:     #F0A500;
    --h-gold-2:   #FFD166;
    --h-violet:   #8B5CF6;
    --h-blue:     #3B82F6;
    --h-paper:    #F5FAF8;
    --h-paper-2:  #EAF4F0;
    --h-line:     rgba(13,59,79,.10);
    --h-serif:    'Fraunces', 'Iowan Old Style', Georgia, serif;
    --h-sans:     'Outfit', -apple-system, BlinkMacSystemFont, sans-serif;
    --h-ease:     cubic-bezier(.22,1,.36,1);
    --h-grad-text: linear-gradient(100deg, #6EE7B7 0%, #FFD166 55%, #FDB97D 100%);
}

html { scroll-behavior: smooth; }
body.themed { background: var(--h-ink) !important; font-family: var(--h-sans); }
body.themed main { overflow: clip; }
body.themed ::selection { background: var(--h-mint); color: var(--h-ink); }
body.themed .container { max-width: 1240px; padding-left: 28px; padding-right: 28px; }

/* --------------------------------------------------------------------------
   NAVBAR — transparent glass floating over the hero
-------------------------------------------------------------------------- */
body.themed .brand-nav {
    position: fixed !important; left: 0; right: 0; top: 0;
    background: transparent !important; border-bottom: 1px solid transparent !important;
    box-shadow: none !important;
    transition: background .4s var(--h-ease), backdrop-filter .4s, border-color .4s;
}
body.themed .brand-nav.is-scrolled {
    background: rgba(5,20,27,.72) !important;
    -webkit-backdrop-filter: blur(18px) saturate(160%); backdrop-filter: blur(18px) saturate(160%);
    border-bottom-color: rgba(255,255,255,.08) !important;
}
body.themed .brand-nav .brand-logo {
    background: #fff; border-radius: 16px; padding: 2px 10px; display: inline-flex;
    box-shadow: 0 6px 24px rgba(0,0,0,.25);
}
body.themed .brand-nav .brand-logo img { height: 52px !important; }
body.themed .brand-nav .nav-links > li > a:not([style]),
body.themed .brand-nav .nav-links > li > .nav-btn { color: rgba(255,255,255,.86); }
body.themed .brand-nav .nav-links > li > a:not([style]):hover,
body.themed .brand-nav .nav-links > li > .nav-btn:hover { background: rgba(255,255,255,.10); color: #fff; }
body.themed .brand-nav .mobile-menu-btn { color: #fff; }
body.themed .brand-nav .mobile-menu-btn:hover { background: rgba(255,255,255,.12); }

/* --------------------------------------------------------------------------
   SHARED PIECES
-------------------------------------------------------------------------- */
.btn-h {
    --bg: linear-gradient(135deg, #2D9B6F, #3DB882); --fg: #fff;
    position: relative; display: inline-flex; align-items: center; gap: 10px;
    padding: 16px 30px; border-radius: 999px; border: 0; cursor: pointer; text-decoration: none;
    font: 700 15px/1 var(--h-sans); color: var(--fg); background: var(--bg);
    box-shadow: 0 14px 34px -10px rgba(45,155,111,.65);
    transition: transform .35s var(--h-ease), box-shadow .35s var(--h-ease);
    overflow: hidden; isolation: isolate;
}
.btn-h::after {
    content: ''; position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(110deg, transparent 20%, rgba(255,255,255,.45) 50%, transparent 80%);
    transform: translateX(-120%); transition: transform .8s var(--h-ease);
}
.btn-h:hover { transform: translateY(-3px); box-shadow: 0 20px 44px -10px rgba(45,155,111,.75); color: var(--fg); }
.btn-h:hover::after { transform: translateX(120%); }
.btn-h svg { width: 18px; height: 18px; transition: transform .35s var(--h-ease); }
.btn-h:hover svg { transform: translateX(4px); }
.btn-h.ghost { --bg: rgba(255,255,255,.08); box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.28); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.btn-h.ghost:hover { box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.7); }
.btn-h.dark  { --bg: linear-gradient(135deg, #0D3B4F, #175A72); box-shadow: 0 14px 34px -12px rgba(13,59,79,.7); }
.btn-h.gold  { --bg: linear-gradient(135deg, #F0A500, #FFD166); --fg: #1a1203; box-shadow: 0 14px 34px -10px rgba(240,165,0,.6); }
.btn-h.light { --bg: #fff; --fg: var(--h-teal); box-shadow: 0 14px 34px -12px rgba(0,0,0,.45); }

/* scroll reveal (only hides things when JS is running) */
.js .rv { opacity: 0; transform: translateY(34px); transition: opacity .9s var(--h-ease), transform .9s var(--h-ease); transition-delay: var(--d, 0s); }
.js .rv.in { opacity: 1; transform: none; }

/* spotlight + 3D tilt on cards */
[data-tilt] { --rx: 0deg; --ry: 0deg; --mx: 50%; --my: 50%; will-change: transform;
    transform: perspective(1000px) rotateX(var(--rx)) rotateY(var(--ry));
    transition: transform .5s var(--h-ease), box-shadow .5s var(--h-ease), border-color .4s; }
[data-tilt].is-hot { transition: transform .08s linear, box-shadow .5s var(--h-ease), border-color .4s; }
.js .rv[data-tilt] { transform: translateY(34px) perspective(1000px) rotateX(var(--rx)) rotateY(var(--ry));
    transition: opacity .9s var(--h-ease) var(--d, 0s), transform .6s var(--h-ease), box-shadow .5s var(--h-ease), border-color .4s; }
.js .rv[data-tilt].in { transform: perspective(1000px) rotateX(var(--rx)) rotateY(var(--ry)); }
.js .rv[data-tilt].is-hot { transition: opacity .9s var(--h-ease) var(--d, 0s), transform .08s linear, box-shadow .5s var(--h-ease), border-color .4s; }
.spot { position: relative; }
.spot::before {
    content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: 0;
    background: radial-gradient(420px circle at var(--mx) var(--my), var(--spot, rgba(45,155,111,.14)), transparent 55%);
    opacity: 0; transition: opacity .35s;
}
.spot:hover::before { opacity: 1; }

/* ==========================================================================
   HERO  (.sx-hero)  — aurora, grid, particles, tricolor, glass search
========================================================================== */
body.themed .sx-hero {
    position: relative; isolation: isolate; overflow: hidden; color: #fff; text-align: center;
    padding: 150px 0 96px; min-height: 0;
    background:
        radial-gradient(1200px 700px at 78% 30%, rgba(23,90,114,.55), transparent 60%),
        radial-gradient(900px 600px at 8% 90%, rgba(45,155,111,.28), transparent 60%),
        linear-gradient(160deg, #05141B 0%, #081F28 45%, #0B3142 100%);
}
body.themed .sx-hero::before, body.themed .sx-hero::after { content: none; }
body.themed .sx-hero > .container { position: relative; z-index: 2; }
.sx-aurora { position: absolute; inset: 0; z-index: -2; pointer-events: none; }
.sx-aurora i { position: absolute; border-radius: 50%; filter: blur(90px); opacity: .5; mix-blend-mode: screen; animation: sxDrift 22s ease-in-out infinite alternate; }
.sx-aurora i:nth-child(1) { width: 520px; height: 520px; left: -140px; top: 8%;  background: #2D9B6F; }
.sx-aurora i:nth-child(2) { width: 480px; height: 480px; right: -120px; top: -10%; background: #175A72; animation-duration: 26s; }
.sx-aurora i:nth-child(3) { width: 340px; height: 340px; right: 18%; bottom: -120px; background: #E8732A; opacity: .26; animation-duration: 30s; }
.sx-aurora i:nth-child(4) { width: 280px; height: 280px; left: 38%; top: 10%; background: #8B5CF6; opacity: .2; animation-duration: 34s; }
@keyframes sxDrift { to { transform: translate3d(60px, -50px, 0) scale(1.18); } }
.sx-grid-lines {
    position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .5;
    background-image: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
    background-size: 72px 72px;
    -webkit-mask-image: radial-gradient(ellipse at 50% 40%, #000 0%, transparent 72%); mask-image: radial-gradient(ellipse at 50% 40%, #000 0%, transparent 72%);
}
.sx-grain { position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .07; mix-blend-mode: overlay;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"); }
.sx-particles { position: absolute; inset: 0; width: 100%; height: 100%; z-index: -1; pointer-events: none; }
.sx-tricolor { position: absolute; left: 0; top: 0; bottom: 0; width: 5px; opacity: .85; z-index: 3;
    background: linear-gradient(to bottom, #FF9933 33.3%, #fff 33.3%, #fff 66.6%, #138808 66.6%); }

/* badge */
body.themed .sx-badge {
    display: inline-flex; align-items: center; gap: 10px; padding: 8px 18px 8px 10px; border-radius: 999px; margin: 0 0 24px;
    background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.16);
    -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
    font: 600 12.5px/1 var(--h-sans); letter-spacing: .08em; color: rgba(255,255,255,.88); text-transform: uppercase;
}
.sx-badge .pulse { position: relative; width: 22px; height: 22px; border-radius: 50%; background: rgba(110,231,183,.18); display: grid; place-items: center; flex-shrink: 0; }
.sx-badge .pulse::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--h-mint); box-shadow: 0 0 12px var(--h-mint); }
.sx-badge .pulse::after { content: ''; position: absolute; inset: 0; border-radius: 50%; border: 1.5px solid var(--h-mint); animation: sxPing 2.2s ease-out infinite; }
@keyframes sxPing { from { transform: scale(.6); opacity: .9; } to { transform: scale(1.9); opacity: 0; } }
body.themed .sx-badge svg { display: none; }

/* title */
body.themed .sx-title {
    font-family: var(--h-serif); font-weight: 400; color: #fff; margin: 0 auto;
    font-size: clamp(42px, 6.4vw, 88px); line-height: 1; letter-spacing: -.035em; font-optical-sizing: auto; max-width: 16ch;
}
body.themed .sx-title.sx-title--sm { font-size: clamp(38px, 5.2vw, 72px); }
.sx-title .ln { display: block; overflow: hidden; padding: .08em 0 .22em; margin: -.08em 0 -.22em; }
.sx-title .ln > span { display: inline-block; transform: translateY(110%); animation: sxRise 1.15s var(--h-ease) forwards; animation-delay: var(--d, 0s); }
@keyframes sxRise { to { transform: none; } }
.sx-title .ch, .sx-cta h2 .ch { display: inline-block; will-change: transform; transition: transform .35s var(--h-ease), color .35s, text-shadow .35s; }
.sx-title .accent, .sx-title .grad { font-style: italic; font-weight: 300; color: var(--h-mint); }
.sx-title .accent .ch, .sx-title .grad .ch {
    background: var(--h-grad-text); background-size: 260% 100%; -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent; color: transparent;
    animation: sxSheen 6s linear infinite; animation-delay: calc(var(--i, 0) * -.35s);
}
@keyframes sxSheen { from { background-position: 0 0; } to { background-position: -260% 0; } }

body.themed .sx-sub {
    max-width: 600px; margin: 22px auto 34px; font-size: 17px; line-height: 1.7; color: rgba(255,255,255,.68);
}
body.themed .sx-sub strong { color: #fff; font-weight: 600; }
.sx-eyebrow { display: inline-flex; align-items: center; gap: 10px; font: 700 11.5px/1 var(--h-sans); letter-spacing: .22em; text-transform: uppercase; color: var(--h-mint); }

/* glass search */
body.themed .sx-search {
    display: flex; align-items: center; gap: 6px; max-width: 760px; margin: 0 auto 34px; padding: 8px; border-radius: 26px;
    background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18);
    -webkit-backdrop-filter: blur(22px) saturate(150%); backdrop-filter: blur(22px) saturate(150%);
    box-shadow: 0 30px 80px -20px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.18);
    text-align: left; overflow: visible;
}
body.themed .sx-field {
    flex: 1; min-width: 0; display: flex; align-items: center; gap: 10px; padding: 0 18px; height: 56px; border: 0; border-radius: 18px;
    background: rgba(5,20,27,.5); box-shadow: inset 0 0 0 1.5px transparent; transition: box-shadow .3s, background .3s;
}
body.themed .sx-field:focus-within { background: rgba(5,20,27,.8); box-shadow: inset 0 0 0 1.5px var(--h-mint); }
body.themed .sx-field svg { width: 18px; height: 18px; color: rgba(255,255,255,.5); flex-shrink: 0; }
body.themed .sx-field input, body.themed .sx-field select {
    background: none; border: 0; outline: 0; width: 100%; color: #fff; font: 500 15px/1 var(--h-sans); box-shadow: none; padding: 0;
}
body.themed .sx-field input::placeholder { color: rgba(255,255,255,.42); }
body.themed .sx-field select option { background: #0B3142; color: #fff; }
body.themed .sx-btn {
    flex-shrink: 0; height: 56px; padding: 0 28px; border-radius: 18px; border: 0; cursor: pointer; white-space: nowrap;
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    font: 700 14.5px/1 var(--h-sans); color: #fff; background: linear-gradient(135deg, #2D9B6F, #3DB882);
    box-shadow: 0 12px 28px -10px rgba(45,155,111,.8); transition: transform .3s var(--h-ease), filter .3s;
}
body.themed .sx-btn { margin: 0; }
body.themed .sx-btn:hover { transform: scale(1.04); filter: brightness(1.1); background: linear-gradient(135deg, #2D9B6F, #3DB882); color: #fff; box-shadow: 0 12px 28px -10px rgba(45,155,111,.8); }
body.themed .sx-btn svg { width: 17px; height: 17px; }

/* hero button row */
.sx-hero-btns { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; margin-bottom: 34px; }

/* chips / pills / trust strip */
.sx-strip { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
body.themed .sx-strip > * {
    padding: 9px 18px; border-radius: 999px; font: 600 13px/1 var(--h-sans); color: rgba(255,255,255,.82);
    background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.13); transition: all .3s var(--h-ease);
    -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
body.themed .sx-strip > *:hover { background: rgba(255,255,255,.16); color: #fff; transform: translateY(-2px); }

/* stats row */
.sx-stats { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; margin-top: 8px; }
.sx-stat { min-width: 150px; padding: 18px 26px; border-radius: 22px; text-align: center;
    background: linear-gradient(150deg, rgba(255,255,255,.12), rgba(255,255,255,.03)); border: 1px solid rgba(255,255,255,.16);
    -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); transition: transform .4s var(--h-ease), border-color .4s; }
.sx-stat:hover { transform: translateY(-5px); border-color: rgba(110,231,183,.45); }
.sx-stat b { display: block; font: 400 34px/1 var(--h-serif); letter-spacing: -.03em;
    background: var(--h-grad-text); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.sx-stat span { display: block; margin-top: 8px; font: 700 10.5px/1.3 var(--h-sans); letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.55); }
.sx-stats .sx-divider { display: none; }

/* compact hero (legal pages) */
body.themed .sx-hero--compact { padding: 140px 0 170px; }
body.themed .sx-hero--compact .sx-sub { margin-bottom: 0; }

/* ==========================================================================
   BODY SECTIONS — same paper / deep palette, serif headings, card motion
========================================================================== */
body.themed h1, body.themed h2 { font-family: var(--h-serif); }
body.themed [class$="-section-title"], body.themed .section-title, body.themed .fd-grid-header h2, body.themed .fd-why-section h2, body.themed .fd-cta-section h2 {
    font-family: var(--h-serif) !important; font-weight: 500 !important; letter-spacing: -.025em !important; line-height: 1.08 !important;
    color: var(--h-ink); font-size: clamp(32px, 4vw, 52px) !important;
}
body.themed [class$="-section-sub"], body.themed .section-subtitle { color: #4C6470; font-size: 17px; line-height: 1.7; }
body.themed .section-label, body.themed .section-eyebrow, body.themed [class$="-section-header"] > [class*="eyebrow"], body.themed [class$="-section-header"] > [class$="-label"] {
    font: 700 11.5px/1 var(--h-sans) !important; letter-spacing: .22em !important; text-transform: uppercase; color: var(--h-emerald) !important;
}

/* light sections */
body.themed [class$="-section"]:not(.sx-hero):not(.sx-cta):not([class*="-dark"]):not([class*="-amber"]):not([class*="-alt"]):not([class*="-light"]) { background: #fff; }
body.themed [class*="-section-alt"], body.themed [class*="-section-light"], body.themed .fd-why-section, body.themed .info-strip, body.themed .faq-section { background: var(--h-paper) !important; }
body.themed [class*="-section-amber"] { background: linear-gradient(180deg, #FFF8E6, #FFFDF6) !important; }
/* dark sections */
body.themed [class*="-section-dark"] {
    position: relative; isolation: isolate; color: #fff;
    background: radial-gradient(900px 500px at 85% 0%, rgba(45,155,111,.25), transparent 60%), linear-gradient(170deg, #081F28, #0B3142 70%, #0D3B4F) !important;
}
body.themed [class*="-section-dark"] [class$="-section-title"] { color: #fff; }
body.themed [class*="-section-dark"] [class$="-section-sub"] { color: rgba(255,255,255,.62); }

/* cards */
body.themed [class*="-card"]:not(.form-card):not(.contact-card):not([class*="icon"]):not([class*="header"]):not([class*="actions"]):not([class*="meta"]):not([class*="badges"]):not([class*="identity"]):not([class*="top"]):not([class*="spec"]):not([class*="name"]):not([class*="stars"]):not([class*="text"]):not([class*="tag"]):not([class*="-cards"]):not([class*="-section"]),
body.themed .contact-card, body.themed .form-card, body.themed .faq-item, body.themed .info-block {
    border-radius: 28px !important; border: 1px solid var(--h-line) !important;
    box-shadow: 0 24px 50px -36px rgba(13,59,79,.5) !important;
    transition: transform .5s var(--h-ease), box-shadow .5s var(--h-ease), border-color .4s !important;
}
body.themed [class*="-card"]:not([class*="icon"]):not([class*="header"]):not([class*="actions"]):not([class*="meta"]):not([class*="badges"]):not([class*="identity"]):not([class*="top"]):not([class*="spec"]):not([class*="name"]):not([class*="stars"]):not([class*="text"]):not([class*="tag"]):not([class*="-cards"]):not([class*="-section"]):hover,
body.themed .contact-card:hover, body.themed .info-block:hover {
    box-shadow: 0 40px 70px -30px rgba(13,59,79,.45) !important; border-color: rgba(45,155,111,.35) !important;
}
body.themed [class*="-icon"], body.themed [class*="-emoji"] { transition: transform .6s var(--h-ease); }
body.themed [class*="-card"]:hover [class*="-icon"], body.themed [class*="-card"]:hover [class*="-emoji"],
body.themed [class*="-step"]:hover [class*="-icon"], body.themed [class*="-step"]:hover [class*="-num"] { transform: translateY(-4px) scale(1.1) rotate(-5deg); }

/* tabs → pill look */
body.themed .fd-tab, body.themed .lab-tab { border-radius: 999px !important; font-family: var(--h-sans); font-weight: 700; transition: all .35s var(--h-ease) !important; }
body.themed .fd-tab.active, body.themed .lab-tab.active { background: linear-gradient(135deg, #0D3B4F, #175A72) !important; color: #fff !important; border-color: transparent !important; box-shadow: 0 10px 24px -8px rgba(13,59,79,.6); }

/* in-page buttons get the theme gradient + shine */
body.themed .fd-btn-book, body.themed .lab-book-btn, body.themed .med-add-btn, body.themed .hm-doc-book, body.themed .form-card button[type="submit"], body.themed .btn-primary {
    border-radius: 999px !important; font-family: var(--h-sans); font-weight: 700; transition: transform .35s var(--h-ease), box-shadow .35s var(--h-ease) !important;
}
body.themed .fd-btn-book:hover, body.themed .lab-book-btn:hover, body.themed .hm-doc-book:hover, body.themed .btn-primary:hover { transform: translateY(-3px); }

/* the old in-page CTA blocks are replaced by the shared bottom section */
body.themed .sx-old-cta { display: none !important; }

/* legal documents */
.sx-legal { background: var(--h-paper); padding: 70px 0 110px; position: relative; }
.sx-legal .legal-content {
    max-width: 900px; margin: -110px auto 0 !important; position: relative; z-index: 5;
    background: #fff !important; border: 1px solid var(--h-line) !important; border-radius: 32px !important;
    padding: clamp(28px, 5vw, 64px) !important; box-shadow: 0 50px 90px -40px rgba(13,59,79,.45);
}
.sx-legal .legal-content h2 { font-family: var(--h-serif); font-weight: 500; letter-spacing: -.02em; color: var(--h-ink); }
.sx-legal .legal-content a { color: var(--h-emerald); }

/* ==========================================================================
   BOTTOM SECTION — CTA band (same as landing) + footer polish
========================================================================== */
.sx-cta { position: relative; padding: 140px 0; text-align: center; color: #fff; overflow: hidden; isolation: isolate;
    background: radial-gradient(900px 500px at 50% 120%, rgba(240,165,0,.3), transparent 60%), linear-gradient(135deg, #0D3B4F 0%, #175A72 45%, #2D9B6F 100%); }
.sx-cta::before { content: ''; position: absolute; inset: 0; z-index: -1; opacity: .5;
    background-image: radial-gradient(rgba(255,255,255,.18) 1.2px, transparent 1.2px); background-size: 30px 30px;
    -webkit-mask-image: radial-gradient(circle at 50% 50%, #000, transparent 70%); mask-image: radial-gradient(circle at 50% 50%, #000, transparent 70%); }
.sx-cta .sx-aurora i { opacity: .28; }
.sx-cta h2 { font-family: var(--h-serif); font-weight: 400; font-size: clamp(40px, 6.6vw, 104px); line-height: .98; letter-spacing: -.04em; margin: 0 auto 26px; max-width: 16ch; color: #fff; }
.sx-cta h2 em { font-weight: 300; }
.sx-cta p { font-size: 18px; color: rgba(255,255,255,.78); margin: 0 auto 40px; max-width: 560px; }
.sx-cta-row { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }

body.themed .site-footer { position: relative; margin-top: 0; background: linear-gradient(180deg, #050E1A, #05141B); }
body.themed .site-footer::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(110,231,183,.55), rgba(255,209,102,.55), transparent); }
body.themed .footer-links a { transition: color .25s, transform .3s var(--h-ease); }
body.themed .footer-links a:hover { color: var(--h-mint); transform: translateX(4px); }
body.themed .footer-social, body.themed .footer-app-badge { transition: all .35s var(--h-ease); }
body.themed .footer-social:hover { background: var(--h-emerald); border-color: var(--h-emerald); transform: translateY(-4px) rotate(-6deg); }

/* ==========================================================================
   RESPONSIVE
========================================================================== */
@media (max-width: 860px) {
    body.themed .sx-search { flex-direction: column; align-items: stretch; border-radius: 24px; }
    body.themed .sx-field, body.themed .sx-btn { width: 100%; flex: 0 0 auto; height: 56px; }
}
@media (max-width: 720px) {
    body.themed .container { padding-left: 20px; padding-right: 20px; }
    body.themed .sx-hero { padding: 124px 0 70px; }
    body.themed .sx-hero--compact { padding: 118px 0 150px; }
    .sx-stat { min-width: 140px; padding: 14px 18px; }
    .sx-cta { padding: 96px 0; }
    .sx-legal { padding: 50px 0 80px; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
    .js .rv { opacity: 1; transform: none; }
    .sx-title .ln > span { transform: none; }
}


/* ==========================================================================
   PAGE BANNERS that stay above the shared bottom section
   (lab-tests first-booking offer, medicines prescription upload)
========================================================================== */
body.themed .lab-promo-cta, body.themed .med-rx-cta {
    position: relative; overflow: hidden; isolation: isolate; border-radius: 36px !important; border: 1px solid rgba(255,255,255,.12);
    background: radial-gradient(700px 400px at 90% 0%, rgba(110,231,183,.22), transparent 60%), linear-gradient(150deg, #081F28 0%, #0D3B4F 55%, #175A72 100%) !important;
    box-shadow: 0 50px 90px -40px rgba(13,59,79,.7); color: #fff;
}
body.themed .lab-promo-cta h2, body.themed .med-rx-cta h2 { font-family: var(--h-serif); font-weight: 400; letter-spacing: -.03em; color: #fff; }
body.themed .lab-promo-cta .discount { font-style: italic; background: var(--h-grad-text); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
body.themed .lab-promo-primary, body.themed .med-rx-btn {
    border-radius: 999px !important; font-family: var(--h-sans); font-weight: 700;
    background: linear-gradient(135deg, #F0A500, #FFD166) !important; color: #1a1203 !important; box-shadow: 0 14px 34px -10px rgba(240,165,0,.6);
    transition: transform .35s var(--h-ease), box-shadow .35s var(--h-ease);
}
body.themed .lab-promo-primary:hover, body.themed .med-rx-btn:hover { transform: translateY(-3px); box-shadow: 0 20px 44px -10px rgba(240,165,0,.75); }
body.themed .lab-promo-secondary { border-radius: 999px !important; background: rgba(255,255,255,.08) !important; box-shadow: inset 0 0 0 1.5px rgba(255,255,255,.28); border: 0 !important; color: #fff !important; }


/* ==========================================================================
   AUTH PAGES — login, sign up, forgot / reset password
   Same aurora backdrop as the hero; the form sits on a clean white card.
========================================================================== */
.sx-bg { position: relative; isolation: isolate; overflow: hidden;
    background:
        radial-gradient(1200px 700px at 78% 30%, rgba(23,90,114,.55), transparent 60%),
        radial-gradient(900px 600px at 8% 90%, rgba(45,155,111,.28), transparent 60%),
        linear-gradient(160deg, #05141B 0%, #081F28 45%, #0B3142 100%) !important; }
body.themed .sx-bg > .container, body.themed .sx-bg > .auth-left, body.themed .sx-bg > .auth-right, body.themed .sx-bg > .forgot-card { position: relative; z-index: 2; }

/* login */
body.themed .auth-section { min-height: 100vh; padding-top: 90px; }
body.themed .auth-left { background: transparent !important; }
body.themed .auth-left::before, body.themed .auth-left::after { display: none; }
body.themed .auth-left-icon { background: linear-gradient(145deg, rgba(255,255,255,.2), rgba(255,255,255,.05)); border: 1px solid rgba(255,255,255,.28);
    -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: 0 30px 70px -10px rgba(0,0,0,.6), 0 0 70px rgba(110,231,183,.3); animation: sxBob 6s ease-in-out infinite; }
@keyframes sxBob { 50% { transform: translateY(-12px) rotate(3deg); } }
body.themed .auth-left h2 { font-family: var(--h-serif); font-weight: 400; font-size: clamp(34px, 3.6vw, 52px); line-height: 1.02; letter-spacing: -.03em; }
body.themed .auth-left h2 em { font-style: italic; font-weight: 300; background: var(--h-grad-text); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
body.themed .auth-feature { padding: 10px 14px; border-radius: 16px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); transition: all .4s var(--h-ease); }
body.themed .auth-feature:hover { background: rgba(255,255,255,.1); transform: translateX(6px); border-color: rgba(110,231,183,.4); }
body.themed .auth-feature-dot { background: rgba(110,231,183,.16); color: var(--h-mint); }
body.themed .auth-right { background: transparent !important; }
body.themed .auth-card, body.themed .forgot-card, body.themed .signup-form-card {
    background: #fff !important; border-radius: 32px !important; border: 1px solid rgba(255,255,255,.4);
    box-shadow: 0 50px 90px -30px rgba(0,0,0,.7) !important; }
body.themed .auth-card { padding: 44px 40px; }
body.themed .auth-card h2, body.themed .forgot-card h1, body.themed .forgot-card h2 { font-family: var(--h-serif); font-weight: 500; letter-spacing: -.02em; color: var(--h-ink); }
body.themed .auth-card .form-control:focus, body.themed .forgot-card input:focus, body.themed .signup-form-card input:focus, body.themed .signup-form-card select:focus {
    border-color: var(--h-emerald) !important; box-shadow: 0 0 0 4px rgba(45,155,111,.15) !important; outline: 0; }
body.themed .auth-card .btn-primary, body.themed .forgot-card button[type="submit"], body.themed .btn-signup {
    background: linear-gradient(135deg, #2D9B6F, #3DB882) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important;
    font-family: var(--h-sans); font-weight: 700; box-shadow: 0 14px 34px -10px rgba(45,155,111,.65); position: relative; overflow: hidden;
    transition: transform .35s var(--h-ease), box-shadow .35s var(--h-ease) !important; }
body.themed .auth-card .btn-primary:hover, body.themed .forgot-card button[type="submit"]:hover, body.themed .btn-signup:hover { transform: translateY(-3px); box-shadow: 0 20px 44px -10px rgba(45,155,111,.75); }

/* sign up */
body.themed .signup-page { min-height: 100vh; padding: 130px 0 90px !important; }
body.themed .signup-header .su-badge { background: rgba(255,255,255,.07) !important; border: 1px solid rgba(255,255,255,.16) !important; color: rgba(255,255,255,.9) !important;
    -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); box-shadow: none !important; text-transform: uppercase; letter-spacing: .08em; font-size: 12px; }
body.themed .signup-header .su-badge svg { color: var(--h-mint) !important; }
body.themed .signup-header h1 { font-family: var(--h-serif); font-weight: 400 !important; font-size: clamp(40px, 6vw, 76px) !important; line-height: 1; letter-spacing: -.035em; color: #fff !important; }
body.themed .signup-header h1 em { font-style: italic; font-weight: 300; background: var(--h-grad-text); background-size: 260% 100%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; animation: sxSheen 6s linear infinite; }
body.themed .signup-header p { color: rgba(255,255,255,.68) !important; }
body.themed .role-selector-label { color: var(--h-mint) !important; }
body.themed .role-card { border-radius: 28px !important; transition: transform .5s var(--h-ease), box-shadow .5s var(--h-ease), border-color .4s !important; }
body.themed .role-card:hover { transform: translateY(-6px); box-shadow: 0 40px 70px -30px rgba(0,0,0,.65) !important; }
body.themed .signup-benefit, body.themed .signup-benefits .signup-benefit { color: rgba(255,255,255,.7) !important; }
body.themed .signup-benefit svg { color: var(--h-mint) !important; }

@media (max-width: 768px) {
    body.themed .auth-section { padding-top: 80px; }
    body.themed .auth-card { padding: 32px 22px; }
}

body.themed .brand-nav .nav-links > li > a.active:not([style]) { color: #fff; background: rgba(255,255,255,.12); }