:root{--ink:#102a60;--teal:#0068b5;--mint:#edf7ff;--muted:#60718a;--line:#dce7f2}*{box-sizing:border-box}body{font-family:Inter,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{color:var(--teal)}h1,h2,h3,h4{line-height:1.2;letter-spacing:-.035em;font-weight:650}h1{font-size:clamp(2.5rem,5.2vw,4.9rem)}h2{font-size:clamp(1.9rem,3vw,2.8rem)}h3{font-size:1.25rem}p{color:var(--muted)}.container{max-width:1240px}.topbar{background:var(--ink);color:#e6f1ff;padding:8px 0;font-size:12px}.brand{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:750;letter-spacing:-.7px;white-space:nowrap}.brand small{display:block;font-size:8px;letter-spacing:1.8px;color:var(--muted)}.brand-mark{display:grid;place-items:center;width:43px;height:43px;background:var(--teal);border-radius:12px;color:white;font-size:25px}.brand-logo{width:45px;height:45px;object-fit:contain}.site-header{border-bottom:1px solid var(--line)}.navbar .nav-link{font-size:13px;font-weight:550;color:#425c7b}.navbar .nav-link.active{color:var(--teal)}.btn{font-size:13px;padding:12px 19px;border-radius:7px;font-weight:600}.btn-primary{background:var(--teal);border-color:var(--teal);--bs-btn-hover-bg:#005394;--bs-btn-hover-border-color:#005394}.btn-outline-primary{color:var(--teal);border-color:#aecfe9;--bs-btn-hover-bg:var(--teal);--bs-btn-hover-border-color:var(--teal)}.btn-sm{padding:8px 12px}.hero{background:linear-gradient(110deg,#f1f8f4,#e7f2ef);position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center;padding-top:70px;padding-bottom:74px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:750;text-transform:uppercase;color:var(--teal);margin-bottom:16px}.hero h1{margin:18px 0 23px}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:var(--teal)}.hero p{font-size:16px;max-width:440px}.hero-actions{display:flex;gap:12px;margin-top:28px}.hero-trust{display:flex;gap:14px;align-items:center;margin-top:35px;font-size:12px;color:#526e6d}.trust-icon{font-size:25px;color:var(--teal)}.hero-art{position:relative;min-height:400px;background:#c9dfd7;border-radius:140px 16px 16px 16px;overflow:hidden}.hero-art img{width:100%;height:430px;object-fit:cover}.hero-note{position:absolute;bottom:24px;left:24px;right:24px;background:rgba(255,255,255,.94);padding:18px;border-radius:9px;display:flex;gap:13px;align-items:center;box-shadow:0 6px 30px #173d4312}.hero-note i{background:var(--mint);padding:14px;border-radius:50%;color:var(--teal)}.hero-note strong{display:block;font-size:14px}.hero-note small{color:var(--muted)}.quick-strip{border-bottom:1px solid var(--line)}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);padding:26px 0;gap:30px}.quick-item{display:flex;align-items:center;gap:16px}.quick-item>i{font-size:24px;color:var(--teal)}.quick-item strong{font-size:14px;display:block}.quick-item small{color:var(--muted);font-size:12px}.section{padding:72px 12px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:30px}.section-head p{margin-bottom:0;max-width:440px;font-size:14px}.section-head .eyebrow{margin-bottom:10px}.text-link{color:var(--teal);font-size:13px;font-weight:650}.text-link i{margin-left:8px}.department-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.department-card{border:1px solid var(--line);border-radius:10px;padding:26px 20px;transition:.2s;background:#fff}.department-card:hover{border-color:var(--teal);transform:translateY(-4px)}.department-icon{width:48px;height:48px;display:grid;place-items:center;background:var(--mint);border-radius:12px;color:var(--teal);font-size:23px;margin-bottom:25px}.department-card h3{font-size:16px}.department-card p{font-size:12px;line-height:1.7;min-height:40px}.department-image{width:100%;height:160px;object-fit:cover;border-radius:6px;margin-bottom:15px}.soft-section{background:#f5f9ff}.panel{border:1px solid var(--line);background:white;border-radius:12px;overflow:hidden}.table{--bs-table-color:var(--ink);font-size:13px}.table>:not(caption)>*>*{padding:19px 22px;border-color:var(--line)}.table thead th{background:#edf5fc;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#5b7091}.doctor-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.doctor-card{border:1px solid var(--line);border-radius:12px;overflow:hidden}.doctor-portrait{height:220px;background:linear-gradient(135deg,#e2f1ff,#cde4f7);display:grid;place-items:center;position:relative}.doctor-portrait>i{font-size:95px;color:#83afd1}.doctor-portrait img{width:100%;height:100%;object-fit:cover}.portrait-label{position:absolute;bottom:12px;left:14px;background:white;padding:4px 10px;font-size:10px;border-radius:4px}.doctor-card .eyebrow{font-size:9px;letter-spacing:1px;margin-bottom:9px}.doctor-card h3{font-size:17px}.card-bottom{border-top:1px solid var(--line);padding-top:14px;display:flex;justify-content:space-between;align-items:center;gap:8px}.card-bottom strong{font-size:15px}.card-bottom small{font-size:10px;color:var(--muted);font-weight:400}.about-box{padding:48px;background:var(--mint);border-radius:14px}.about-points{display:grid;grid-template-columns:1fr 1fr;gap:20px}.about-points i{color:var(--teal);margin-right:8px}.cta-band{background:var(--ink);padding:40px;border-radius:12px;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:24px}.cta-band p{color:#d3e4f7;margin:12px 0 0}.site-footer{background:#0b204a;color:#dfebfa;padding:56px 0 0;margin-top:30px;font-size:13px}.site-footer h3{font-size:14px;color:white;margin-bottom:18px}.site-footer p{color:#b4c6e1}.site-footer a:not(.brand){display:block;margin-bottom:8px}.footer-bottom{border-top:1px solid #ffffff20;padding:22px 0;margin-top:36px;display:flex;justify-content:space-between;font-size:11px}.page-banner{padding:50px 0;background:var(--mint)}.page-banner h1{font-size:42px}.page-banner p{margin:10px 0 0}.day-tabs{display:flex;gap:8px;overflow:auto;padding-bottom:12px;margin-bottom:20px}.day-tabs a{white-space:nowrap;padding:10px 20px;border:1px solid var(--line);border-radius:6px;font-size:13px}.day-tabs a.active{background:var(--teal);color:white;border-color:var(--teal)}.form-label{font-size:13px;font-weight:600}.form-control,.form-select{padding:11px 13px;border-color:#d4e1f0;border-radius:6px;font-size:14px}.form-control:focus,.form-select:focus{border-color:var(--teal);box-shadow:0 0 0 .2rem #0068b518}.form-text{font-size:12px}.form-panel{padding:32px}.booking-step{display:flex;gap:12px;align-items:center;margin-bottom:22px}.booking-step span{border-radius:50%;background:var(--mint);color:var(--teal);width:30px;height:30px;display:grid;place-items:center;font-size:12px}.booking-step h2{font-size:21px;margin:0}.booking-aside{background:var(--mint);border-radius:12px;padding:30px;height:fit-content}.booking-aside li{margin-bottom:20px;font-size:14px}.slot-grid{display:flex;flex-wrap:wrap;gap:9px}.slot-choice input{position:absolute;opacity:0}.slot-choice span{display:block;padding:9px 16px;border:1px solid var(--line);border-radius:5px;cursor:pointer;font-size:13px}.slot-choice input:checked+span{background:var(--teal);color:white;border-color:var(--teal)}.slot-choice input:focus-visible+span{outline:3px solid #66b3ec}.honeypot{position:absolute;left:-10000px}.status-badge{font-size:11px;border-radius:20px;padding:5px 10px;background:#edf7ff;color:#0068b5;white-space:nowrap}.admin-shell{display:flex;min-height:100vh;background:#f4f7fc}.admin-sidebar{width:230px;flex-shrink:0;background:#102a60;padding:26px 20px;color:#dce9fb}.admin-sidebar .brand{font-size:19px;color:white;margin-bottom:36px}.admin-sidebar nav a{display:block;padding:11px 14px;margin-bottom:6px;border-radius:6px;font-size:14px}.admin-sidebar nav a:hover,.admin-sidebar nav a.active{background:#ffffff15;color:white}.admin-sidebar nav i{width:25px}.admin-main{flex:1;min-width:0;padding:28px 36px}.admin-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px}.admin-topbar h1{font-size:28px;margin:0}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:28px}.stat-card{padding:22px;border:1px solid var(--line);border-radius:10px;background:#fff}.stat-card strong{display:block;font-size:30px}.stat-card span{font-size:12px;color:var(--muted)}.filter-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin-bottom:22px}.filter-bar>*{flex:1;min-width:130px}.filter-bar .btn{flex:0}.error-list{color:#9a2933}.contact-map{border:0;width:100%;height:280px;border-radius:12px}.details-photo{width:100%;max-height:420px;object-fit:cover;border-radius:12px}.login-wrap{min-height:100vh;display:grid;place-items:center;background:var(--mint);padding:20px}.login-card{width:100%;max-width:420px;padding:36px;background:white;border-radius:14px;border:1px solid var(--line)}:focus-visible{outline:3px solid #1584ce;outline-offset:3px}@media(max-width:1100px){.hero-grid{gap:30px}.doctor-grid{grid-template-columns:repeat(2,1fr)}.department-grid{grid-template-columns:repeat(3,1fr)}.brand{font-size:18px}.stat-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:767px){.topbar .container>span:first-child{display:none}.topbar .container{justify-content:center!important}.hero-grid{grid-template-columns:1fr;padding:38px 12px;gap:32px}.hero-art{min-height:300px}.hero-art img{height:330px}.quick-grid{grid-template-columns:1fr;padding:25px 12px;gap:20px}.section{padding:44px 16px}.section-head{align-items:start;flex-direction:column;gap:15px}.department-grid{grid-template-columns:repeat(2,1fr)}.doctor-grid{gap:12px}.doctor-card .p-4{padding:16px!important}.doctor-portrait{height:180px}.card-bottom{align-items:start;flex-direction:column}.hero-actions{flex-wrap:wrap}.about-box,.cta-band{padding:25px}.cta-band{align-items:start;flex-direction:column}.about-points{grid-template-columns:1fr}.footer-bottom{gap:15px;flex-direction:column}.admin-shell{display:block}.admin-sidebar{width:100%;padding:16px}.admin-sidebar .brand{margin-bottom:12px}.admin-sidebar nav{display:flex;overflow:auto}.admin-sidebar nav a{white-space:nowrap}.admin-main{padding:22px 14px}.admin-topbar{gap:12px;flex-wrap:wrap}.form-panel{padding:22px}.page-banner h1{font-size:32px}}@media(max-width:400px){.doctor-grid,.department-grid{grid-template-columns:1fr}}

/* DhanVidh brand: hospital blue, care green and deep navy. */
.menu-banner.page-banner { padding: 0; overflow: hidden; position: relative; }
.menu-banner-grid { display: grid; grid-template-columns: 1.65fr 1fr; min-height: 270px; align-items: center; gap: 36px; }
.menu-banner-copy { padding: 25px 0 32px; position: relative; z-index: 1; }
.banner-breadcrumb { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 22px; font-size: 11px; color: #60718a; }
.banner-breadcrumb a { color: #0068b5; }
.menu-banner-copy .eyebrow { font-size: 10px; margin-bottom: 10px; color: #087335; }
.menu-banner-copy h1 { font-size: clamp(1.8rem, 3vw, 2.5rem); }
.menu-banner-copy p { max-width: 550px; font-size: 14px; }
.menu-banner-art { position: relative; min-height: 270px; display: grid; place-items: center; }
.banner-orbit { position: absolute; width: 280px; height: 280px; border: 1px solid #0068b51a; border-radius: 50%; background: radial-gradient(circle, #ffffffb3 42%, #dceefd80 43%, #dceefd80 65%, transparent 66%); }
.banner-symbol { display: grid; place-items: center; width: 132px; height: 132px; border-radius: 32px; margin-top: -32px; color: white; background: linear-gradient(140deg, #008b3b, #0068b5); box-shadow: 0 15px 32px #0068b525; transform: rotate(-8deg); }
.banner-symbol i { font-size: 62px; transform: rotate(8deg); }
.banner-mini { position: absolute; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 16px; color: #0068b5; background: white; box-shadow: 0 8px 25px #102a6010; font-size: 23px; }
.banner-mini-top { top: 35px; left: calc(50% - 140px); transform: rotate(-12deg); }
.banner-mini-bottom { top: 124px; right: calc(50% - 147px); color: #008b3b; transform: rotate(12deg); }
.banner-art-caption { position: absolute; bottom: 23px; text-align: center; padding: 9px 24px; border: 1px solid #ffffff; border-radius: 12px; background: #ffffffdd; }
.banner-art-caption strong { display: block; font-size: 14px; color: #102a60; }
.banner-art-caption span { display: block; font-size: 11px; color: #60718a; }
.menu-banner--doctors .banner-symbol { background: linear-gradient(140deg, #0068b5, #102a60); }
.menu-banner--schedule .banner-symbol { background: linear-gradient(140deg, #00a18b, #0068b5); }
.menu-banner--appointment .banner-symbol { background: linear-gradient(140deg, #008b3b, #0aa778); }
.menu-banner--contact .banner-symbol { background: linear-gradient(140deg, #0068b5, #1488dc); }
@media (max-width: 767px) {
    .menu-banner-grid { grid-template-columns: minmax(0, 1fr) 90px; min-height: 230px; gap: 12px; padding-left: 16px; padding-right: 16px; }
    .menu-banner-copy { padding: 22px 0; }
    .menu-banner-copy h1 { font-size: 27px; }
    .menu-banner-copy p { font-size: 13px; }
    .menu-banner-copy .eyebrow { font-size: 9px; letter-spacing: 1px; }
    .banner-breadcrumb { margin-bottom: 16px; font-size: 10px; }
    .menu-banner-art { min-height: 180px; }
    .banner-orbit { width: 160px; height: 160px; }
    .banner-symbol { width: 76px; height: 76px; border-radius: 20px; margin-top: 0; }
    .banner-symbol i { font-size: 35px; }
    .banner-mini { width: 30px; height: 30px; border-radius: 10px; font-size: 14px; }
    .banner-mini-top { top: 14px; left: 0; }
    .banner-mini-bottom { top: 140px; right: 0; }
    .banner-art-caption { display: none; }
}
:root {
    --brand-blue: #0068b5;
    --brand-green: #008b3b;
    --brand-pink: #e90076;
}
.hospital-hero { background: #f3faff; }
.hospital-banner { display: block; width: min(100%, 1020px); height: auto; margin: 0 auto; }
.hero-booking-bar { background: linear-gradient(110deg, #edf7ff, #f0faf3); border-bottom: 1px solid var(--line); }
.hero-booking-content { display: flex; justify-content: space-between; align-items: center; gap: 28px; padding-top: 20px; padding-bottom: 20px; }
.hero-booking-content .eyebrow { color: var(--brand-green); margin-bottom: 8px; }
.hero-booking-content h1 { font-size: clamp(1.7rem, 2.8vw, 2.5rem); margin-bottom: 8px; }
.hero-booking-content p { margin: 0; font-size: 14px; }
.hero-booking-content .hero-actions { margin: 0; flex-shrink: 0; }
.brand-mark { background: linear-gradient(140deg, var(--brand-green), var(--brand-blue)); }
.site-header .navbar { padding-left: 12px; padding-right: 12px; }
.site-header .brand { font-size: 19px; }
.brand small { color: var(--brand-green); }
.department-card:nth-child(even) .department-icon { background: #eaf8ee; color: var(--brand-green); }
.about-box { background: linear-gradient(120deg, #edf7ff, #edf9f0); }
.about-points i, .quick-item:nth-child(2)>i { color: var(--brand-green); }
.cta-band { background: linear-gradient(115deg, #102a60, #0068b5); }
.page-banner { background: linear-gradient(115deg, #edf7ff, #f1faf4); border-bottom: 1px solid var(--line); }
.status-badge { background: #eaf8ee; color: #087335; }
.btn-primary { --bs-btn-active-bg: #00497f; --bs-btn-active-border-color: #00497f; --bs-btn-disabled-bg: #0068b5; --bs-btn-disabled-border-color: #0068b5; }
.btn-outline-primary { --bs-btn-active-bg: #0068b5; --bs-btn-active-border-color: #0068b5; }
.slot-choice input:checked+span { background: var(--brand-green); border-color: var(--brand-green); }
.admin-sidebar nav a.active { box-shadow: inset 3px 0 #36c76c; }
@media (max-width: 991px) {
    .hero-booking-content { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 575px) {
    .site-header .brand { font-size: 15px; letter-spacing: -.4px; }
    .site-header .brand small { font-size: 7px; letter-spacing: 1px; }
    .site-header .brand-mark { width: 34px; height: 34px; flex-shrink: 0; font-size: 20px; }
    .site-header .navbar-toggler { padding: 5px 7px; }
    .hero-booking-content { padding: 24px 16px; gap: 20px; }
    .hero-booking-content .hero-actions { flex-wrap: wrap; width: 100%; }
    .hero-booking-content .hero-actions .btn { flex: 1 1 165px; }
}
