/* Alaa Ezzat Hospital — bespoke refresh inspired by medical networks' clear navigation and care pathways. */
@import url('https://fonts.googleapis.com/css2?family=Tajawal:wght@400;500;600;700;800;900&display=swap');
:root{--hospital-green:#174c2a;--hospital-green-deep:#123b24;--hospital-orange:#ed9235;--hospital-beige:#f8f8f4}
html{scroll-padding-top:96px}
body.theme-heritage{--bg:#f8faf8;--paper:#fff;--ink:#213a2b;--muted:#64756a;--main:#236338;--main2:#174c2a;--soft:#edf5ea;--accent:#f3a044;--line:#e1e9e0;--focus:#eea23b;--hero:#133e2c;--shadow:0 12px 36px rgba(19,57,33,.07);--radius:15px;font-family:'Tajawal','Cairo',Tahoma,Arial,sans-serif;font-size:16px}
body.theme-heritage .wrap{width:min(1260px,calc(100% - 64px))}
body.theme-heritage h1,body.theme-heritage h2,body.theme-heritage h3,body.theme-heritage .brand strong{font-family:'Tajawal','Cairo',sans-serif;letter-spacing:0;line-height:1.33}
body.theme-heritage h1,body.theme-heritage h2{font-weight:800}
body.theme-heritage p{line-height:1.85}
body.theme-heritage .notice{display:none}
body.theme-heritage .topbar{background:var(--hospital-green-deep);border-bottom:1px solid #ffffff17}
body.theme-heritage .topbar .wrap{min-height:39px;font-size:12px}
body.theme-heritage .topbar a,body.theme-heritage .topbar span{font-weight:600}
body.theme-heritage .head{background:#fff;border-bottom:1px solid #e3e9e1;box-shadow:0 5px 22px #1638200c;position:sticky;top:0;z-index:100}
body.theme-heritage .head .wrap{min-height:98px;gap:16px}
body.theme-heritage .brand{min-width:230px;gap:14px}
body.theme-heritage .official-logo{width:76px;height:76px;max-width:none;object-fit:contain;border-radius:100%;background:#fff}
body.theme-heritage .brand strong{font-size:21px;font-weight:900;color:#23452b}
body.theme-heritage .brand small{display:block;font-size:11px;letter-spacing:1.25px;color:#68816e}
body.theme-heritage .head .nav{gap:4px;justify-content:center;flex:1}
body.theme-heritage .nav button{color:#3c5141;font-family:'Tajawal',sans-serif;font-size:14px;font-weight:800;min-height:51px;padding:12px 9px;position:relative}
body.theme-heritage .nav button:hover,body.theme-heritage .nav button.current{color:#1e6337}
body.theme-heritage .nav button.current:after{background:var(--hospital-orange);height:3px;bottom:1px;inset-inline:10px}
body.theme-heritage .nav button.nav-booking{color:#185a33}
body.theme-heritage .head .btn.head-booking{display:inline-flex;align-items:center;justify-content:center;background:#ed9235;border-color:#ed9235;color:#143a28;font-size:14px;min-height:46px;white-space:nowrap;border-radius:11px;box-shadow:0 8px 18px #ec923522; padding:11px 20px}
body.theme-heritage .head-booking:hover{background:#e7a14e;transform:translateY(-2px)}
/* Original hospital photography continues to come from the editable CMS hero sliders */
body.theme-heritage .hero{height:clamp(400px,40vw,550px);background-color:#103a26;background-size:cover;background-position:center 52%;border-bottom-left-radius:0;border-bottom-right-radius:0;box-shadow:none}
body.theme-heritage .hero:not(.reference-slide):before{content:"";display:block;position:absolute;inset:0;z-index:0;width:auto;height:auto;border:0;border-radius:0;background:linear-gradient(90deg,#093b2b50,#06261b12 70%),linear-gradient(0deg,#08281c70,transparent 70%)}
body.theme-heritage .hero.reference-slide:after{display:none}
body.theme-heritage .hero .wrap{display:block;min-height:100%;position:relative;z-index:1}
body.theme-heritage .hero .hero-visual{display:none}
body.theme-heritage .hero .hero-copy{position:absolute;inset:auto 0 40px auto;max-width:min(690px,75%);padding:22px 30px;color:#fff;text-align:start;background:linear-gradient(90deg,transparent,#0d3526b7);border-radius:20px}
body.theme-heritage .hero.reference-slide .hero-copy{background:transparent}
body.theme-heritage .hero .hero-copy .tag{background:#ffffff20;border-color:#ffffff33;color:#fff;border-radius:7px;font-size:12px;padding:7px 12px}
body.theme-heritage .hero h1{font-size:clamp(32px,4.1vw,61px);line-height:1.18;margin:15px 0;color:#fff;max-width:650px;font-weight:900}
body.theme-heritage .hero h1 em{color:#ffb44e}
body.theme-heritage .hero .hero-copy p{font-size:16px;line-height:1.7;margin-bottom:16px;max-width:600px}
body.theme-heritage .hero .btn{font-size:14px;min-height:43px;padding:9px 19px;border-radius:8px;background:#f2a13f;color:#143a26;border-color:#f2a13f}
body.theme-heritage .hero .btn.outline{background:#ffffff12;color:#fff;border-color:#ffffff8c}
body.theme-heritage .hero .hero-slide-controls{position:absolute;inset:auto auto 7px 5px;bottom:0;left:auto;right:0;direction:ltr;margin:0;gap:7px}
body.lang-en.theme-heritage .hero .hero-slide-controls{right:auto;left:0}
body.theme-heritage .hero.reference-slide .hero-copy{max-width:none;inset:auto auto 23px 5%;padding:0;width:320px;direction:rtl}
body.theme-heritage .hero.reference-slide .hero-copy h1,body.theme-heritage .hero.reference-slide .hero-copy>p,body.theme-heritage .hero.reference-slide .hero-copy>.hero-cta,body.theme-heritage .hero.reference-slide .hero-copy>.tag{display:none!important}
body.theme-heritage .hero.reference-slide.english-slide .hero-copy{max-width:540px;right:auto;left:4%;top:13%;bottom:auto;direction:ltr;background:linear-gradient(90deg,#092a1edb,#113c2999);padding:22px 30px;border-radius:14px}
body.theme-heritage .hero.reference-slide.english-slide .hero-copy h1,body.theme-heritage .hero.reference-slide.english-slide .hero-copy>p,body.theme-heritage .hero.reference-slide.english-slide .hero-copy>.hero-cta{display:block!important}
body.theme-heritage .hero.reference-slide.english-slide .hero-copy>.hero-cta{display:flex!important}
body.theme-heritage .hero.reference-slide.english-slide .hero-copy>.tag{display:inline-block!important}
body.theme-heritage .hero.reference-slide.english-slide h1{font-size:clamp(28px,3vw,44px)}
/* New appointment pathway: key addition inspired by Dallah's hospital/clinic selection UX */
body.theme-heritage .appointment-landing{padding:54px 0 62px;background:#f4f7f3;border-bottom:1px solid #e6ebe4}
body.theme-heritage .appointment-layout{display:grid;grid-template-columns:.84fr 1.16fr;align-items:center;gap:64px}
body.theme-heritage .appointment-intro .eyebrow-light{font-size:13px;font-weight:900;color:#ad712d;letter-spacing:.25px}
body.theme-heritage .appointment-intro h2{font-size:clamp(30px,2.8vw,43px);font-weight:900;color:#1d522f;margin:12px 0 13px;line-height:1.35}
body.theme-heritage .appointment-intro p{max-width:455px;font-size:15px;color:#627468;margin-bottom:20px}
body.theme-heritage .book-all{display:flex;align-items:center;gap:15px;background:none;border:0;padding:0;color:#266b3e;font-size:15px;font-weight:900}
body.theme-heritage .book-all>span:last-child{display:inline-flex;width:31px;height:31px;align-items:center;justify-content:center;background:#e0eee0;border-radius:50%}
body.theme-heritage .location-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
body.theme-heritage .location-tile{min-height:246px;background:#fff;border:1px solid #e2e9e0;box-shadow:0 12px 38px #14352012;display:flex;flex-direction:column;align-items:flex-start;text-align:start;padding:28px;border-radius:19px;transition:box-shadow .2s,transform .2s,border-color .2s;color:#194b2b}
body.theme-heritage .location-tile:hover,body.theme-heritage .booking-branch:hover{transform:translateY(-5px);box-shadow:0 20px 45px #123a251c;border-color:#f2a13f}
body.theme-heritage .branch-symbol{width:48px;height:48px;display:grid;place-items:center;background:#e8f3e7;color:#22683e;font-size:28px;border-radius:15px;margin-bottom:19px}
body.theme-heritage .location-tile-title{font-size:13px;color:#687e6c;font-weight:700}
body.theme-heritage .location-tile strong{font-size:24px;margin:3px 0 auto;font-weight:900}
body.theme-heritage .location-tile-link{display:flex;align-items:center;gap:8px;font-weight:900;color:#c17c2f;font-size:13px;margin-top:21px}
/* Remaining old hospital content stays 100% CMS-driven */
body.theme-heritage .heritage-quote{padding:47px 24px;min-height:0;background:#fff}
body.theme-heritage .heritage-quote p{font-size:16px;line-height:2;max-width:790px}
body.theme-heritage .quick{position:relative;margin-top:0;padding-top:36px;padding-bottom:30px;z-index:2}
body.theme-heritage .quick .card{background:#fff;border:1px solid #e2eae0;border-radius:14px}
body.theme-heritage .section{padding-top:65px;padding-bottom:67px}
body.theme-heritage .section.alt{background:#fff}
body.theme-heritage .section-heading h2{font-weight:900;color:#215833;font-size:clamp(27px,2.7vw,37px)}
body.theme-heritage .sticker{color:#c08139;font-size:13px;font-weight:900;background:transparent;padding:0}
body.theme-heritage .card{border:1px solid #e2eae0;border-radius:16px;box-shadow:0 9px 30px rgba(12,56,33,.055);transition:transform .2s,box-shadow .2s}
body.theme-heritage .card:hover{box-shadow:0 18px 38px rgba(17,75,40,.1);transform:translateY(-3px)}
body.theme-heritage .card h3{font-size:18px;color:#214d2d}
body.theme-heritage .card p{font-size:13px;line-height:1.75}
body.theme-heritage #homeDepartments{gap:19px 20px}
body.theme-heritage #homeDepartments .card{border-radius:14px;background:#fff;padding:23px 15px}
body.theme-heritage #homeDepartments .card .glyph{box-shadow:0 9px 25px #133a2011}
body.theme-heritage .page-heading{background:linear-gradient(120deg,#eaf4e9,#f7faf5);padding-block:45px 52px}
body.theme-heritage .page-heading h1{font-size:clamp(30px,3.4vw,45px);margin:12px 0;color:#18492b}
body.theme-heritage .page-heading p{font-size:15px}
body.theme-heritage .footer{background:#113f23}
/* Booking pages */
body.theme-heritage .booking-page-heading{background:linear-gradient(110deg,#e5f0e5,#fff9ee)}
body.theme-heritage .booking-eyebrow{display:flex;align-items:center;gap:13px;margin-bottom:24px;font-size:17px;color:#275c36;font-weight:900}
body.theme-heritage .booking-line{width:40px;height:3px;background:#eba04a;border-radius:2px}
body.theme-heritage .booking-branch-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
body.theme-heritage .booking-branch{border:1px solid #dce6d9;border-radius:21px;background:#fff;display:block;overflow:hidden;text-align:start;padding:0;color:#173f27;box-shadow:0 11px 28px #123b210e;transition:transform .2s,box-shadow .2s,border-color .2s}
body.theme-heritage .booking-branch-photo{height:245px;display:grid;place-items:center;position:relative;overflow:hidden}
body.theme-heritage .booking-branch-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#092f25b0,transparent 85%)}
body.theme-heritage .branch-maadi{background:linear-gradient(130deg,#c0e2d0b0,#1c593797),url('profile-reception.webp') center/cover no-repeat}
body.theme-heritage .branch-zahraa{background:linear-gradient(130deg,#b1d8cb92,#16442ca8),url('profile-clinics.webp') center/cover no-repeat}
body.theme-heritage .branch-icon-large{font-size:70px;color:#fff;z-index:1;text-shadow:0 4px 18px #0006}
body.theme-heritage .booking-branch-info{padding:27px 30px 30px}
body.theme-heritage .booking-branch-info>span:first-child{font-size:12px;font-weight:900;color:#c28039;letter-spacing:.4px}
body.theme-heritage .booking-branch-info h2{font-size:31px;font-weight:900;margin:7px 0;color:#17482b}
body.theme-heritage .booking-branch-info p{font-size:14px;color:#6a7e6f;margin:0 0 20px}
body.theme-heritage .booking-branch-arrow{display:inline-flex;padding:10px 18px;background:#ecf4ea;color:#1b5d37;font-size:14px;font-weight:900;border-radius:9px}
body.theme-heritage .booking-info-row{display:flex;gap:13px;align-items:center;padding:18px 20px;border:1px solid #e5e9da;border-radius:12px;background:#fffbf3;margin-top:26px}
body.theme-heritage .booking-info-row p{font-size:14px;color:#6b705d;margin:0}
body.theme-heritage .info-circle{width:28px;height:28px;min-width:28px;display:grid;place-items:center;border:2px solid #cb9354;border-radius:50%;font-size:16px;font-weight:900;color:#9e6a2b}
body.theme-heritage .coming-layout{min-height:calc(100vh - 260px);background:radial-gradient(circle at 14% 15%,#e6f2e4 0 14%,transparent 35%),#f6f9f6;padding:35px 0 75px}
body.theme-heritage .come-back{display:flex;align-items:center;gap:8px;background:transparent;border:0;color:#3b7145;font-size:14px;font-weight:900;margin-bottom:15px;padding:9px 0}
body.theme-heritage .coming-card{width:min(690px,100%);margin:0 auto;background:#fff;border:1px solid #e1e9dd;box-shadow:0 23px 60px #11432213;padding:55px 40px 60px;text-align:center;border-radius:23px}
body.theme-heritage .coming-mark{width:98px;height:98px;border-radius:24px;background:#eaf4e7;margin:0 auto 26px;color:#328149;display:grid;place-items:center;font-size:53px}
body.theme-heritage .coming-kicker{color:#bd8135;font-size:13px;font-weight:900;letter-spacing:.6px}
body.theme-heritage .coming-card h1{color:#1e5533;font-size:clamp(28px,4vw,44px);margin:7px 0 5px}
body.theme-heritage .coming-divider{height:3px;width:60px;margin:21px auto 23px;background:#ec9d45;border-radius:5px}
body.theme-heritage .coming-card h2{font-size:clamp(46px,6vw,73px);font-weight:900;color:#225b36;margin:0 0 15px}
body.theme-heritage .coming-card p{font-size:17px;line-height:1.9;max-width:480px;color:#68766c;margin:0 auto 24px}
body.theme-heritage .coming-home-btn{background:#24643b;color:#fff;border-color:#24643b;border-radius:9px;padding:12px 23px;font-size:15px}
body.lang-en.theme-heritage .book-all>span:last-child,body.lang-en.theme-heritage .location-tile-link>span:last-child{transform:scaleX(-1)}
body.lang-en.theme-heritage .location-tile{align-items:flex-start}
@media(max-width:1220px){body.theme-heritage .head .wrap{gap:8px}body.theme-heritage .brand{min-width:200px}body.theme-heritage .head .nav button{font-size:13px;padding-inline:6px}body.theme-heritage .head .btn.head-booking{padding:10px 14px;font-size:13px}}
@media(max-width:1100px){
 body.theme-heritage .head .wrap{min-height:79px}
 body.theme-heritage .head .btn.head-booking{display:inline-flex!important;margin-inline-start:auto}
 body.theme-heritage .head .nav{display:none}
 body.theme-heritage .head .nav.open{display:flex;position:absolute;top:100%;left:0;right:0;gap:3px;background:#fff;box-shadow:0 17px 28px #0d402225;padding:14px 25px;max-height:75vh;overflow:auto;align-items:stretch;flex-direction:column;z-index:500}
 body.theme-heritage .head .nav.open button{min-height:45px;text-align:start;width:100%;padding:12px 18px;font-size:16px}
 body.theme-heritage .menu-toggle{display:inline-flex;align-items:center;justify-content:center;min-width:46px;min-height:46px;font-size:23px;border:1px solid #e5ecdf;border-radius:10px}
 body.theme-heritage .appointment-layout{gap:30px}
 body.theme-heritage .appointment-intro h2{font-size:31px}
 body.theme-heritage .location-tile{padding:21px;min-height:220px}
}
@media(max-width:820px){
 body.theme-heritage .wrap{width:calc(100% - 36px)}
 body.theme-heritage .official-logo{width:64px;height:64px}
 body.theme-heritage .brand strong{font-size:18px}
 body.theme-heritage .head .wrap{min-height:78px}
 body.theme-heritage .hero{height:430px;background-position:center center}
 body.theme-heritage .hero .hero-copy{max-width:90%;padding:18px;inset:auto 15px 35px auto}
 body.theme-heritage .hero.reference-slide .hero-copy{inset:auto auto 25px 5%}
 body.theme-heritage .hero.reference-slide.english-slide{background-size:auto 100%!important;background-position:92% center!important}
 body.theme-heritage .appointment-layout{grid-template-columns:1fr;gap:28px}
 body.theme-heritage .appointment-intro{text-align:center}
 body.theme-heritage .appointment-intro p{margin-inline:auto}
 body.theme-heritage .book-all{margin-inline:auto}
 body.theme-heritage .location-tile{min-height:200px}
 body.theme-heritage .booking-branch-photo{height:188px}
 body.theme-heritage .booking-branch-info{padding:21px}
 body.theme-heritage .booking-branch-info h2{font-size:26px}
}
@media(max-width:590px){
 body.theme-heritage .wrap{width:calc(100% - 28px)}
 body.theme-heritage .topbar .wrap{min-height:30px}
 body.theme-heritage .topbar-actions{justify-content:space-between}
 body.theme-heritage .head .wrap{gap:9px;min-height:70px}
 body.theme-heritage .brand{gap:5px;min-width:0}
 body.theme-heritage .brand .official-logo{width:56px;height:56px}
 body.theme-heritage .brand strong{font-size:14px;line-height:1.25}
 body.theme-heritage .brand small{font-size:8px;letter-spacing:.25px}
 body.theme-heritage .head .btn.head-booking{padding:8px 9px;font-size:11px;min-height:40px;max-width:115px;white-space:normal;text-align:center;line-height:1.2;border-radius:8px}
 body.theme-heritage .mobile-lang-switch{margin-inline-start:0}
 body.theme-heritage .mobile-lang-switch button{min-height:41px;min-width:42px}
 body.theme-heritage .menu-toggle{min-width:42px;min-height:42px}
 body.theme-heritage .hero{height:310px}
 body.theme-heritage .hero:not(.reference-slide) .hero-copy{max-width:96%;inset:auto 8px 19px auto;padding:14px 12px}
 body.theme-heritage .hero:not(.reference-slide) h1{font-size:29px}
 body.theme-heritage .hero.reference-slide .hero-copy{bottom:17px;left:9px}
 body.theme-heritage .hero.reference-slide.english-slide .hero-copy{left:4%;top:15%;bottom:auto;width:91%;padding:15px;max-width:none}
 body.theme-heritage .hero.reference-slide.english-slide h1{font-size:24px}
 body.theme-heritage .hero .hero-slide-controls{bottom:4px}
 body.theme-heritage .appointment-landing{padding:32px 0 40px}
 body.theme-heritage .appointment-intro h2{font-size:29px}
 body.theme-heritage .appointment-intro p{font-size:13px}
 body.theme-heritage .location-preview{gap:9px}
 body.theme-heritage .location-tile{min-height:180px;padding:16px;border-radius:14px}
 body.theme-heritage .branch-symbol{width:40px;height:40px;font-size:25px;margin-bottom:12px}
 body.theme-heritage .location-tile-title{font-size:11px}
 body.theme-heritage .location-tile strong{font-size:20px}
 body.theme-heritage .location-tile-link{font-size:11px;margin-top:10px}
 body.theme-heritage .heritage-quote{padding:25px 14px}
 body.theme-heritage .quick{padding-top:18px}
 body.theme-heritage .booking-branch-grid{grid-template-columns:1fr;gap:17px}
 body.theme-heritage .booking-branch-photo{height:175px}
 body.theme-heritage .booking-branch-info{padding:17px 21px}
 body.theme-heritage .booking-branch-info h2{font-size:25px}
 body.theme-heritage .booking-info-row p{font-size:12px}
 body.theme-heritage .coming-layout{padding:18px 0 44px}
 body.theme-heritage .coming-card{padding:35px 22px 45px;border-radius:17px}
 body.theme-heritage .coming-card p{font-size:14px}
 body.theme-heritage .coming-mark{width:75px;height:75px;font-size:44px;border-radius:17px}
}
@media(prefers-reduced-motion:reduce){body.theme-heritage .location-tile,body.theme-heritage .booking-branch{transition:none}}
/* Explicit header contrast on browsers where inherited theme tokens are unavailable. */
body.theme-heritage .topbar{background:#123b24!important;color:#fff!important}
