/* ALAA EZZAT HOSPITAL — Unified site-wide typography, Oct 2026.
   Loaded after every existing design stylesheet. Arabic-first, responsive,
   and deliberately does not change content, Firebase, routes or image choices. */
:root{font-synthesis:none;-webkit-text-size-adjust:100%;text-size-adjust:100%}
html{font-size:16px}
html body.theme-heritage{
 --readable-text:#435e4c;
 --readable-muted:#546b5b;
 font-family:'Cairo',Tahoma,Arial,sans-serif;
 font-size:16.5px;line-height:1.85;
 -webkit-font-smoothing:antialiased;
 text-rendering:optimizeLegibility;
}
html body.lang-en.theme-heritage{font-family:'Cairo',Arial,sans-serif}
html body.theme-heritage :is(button,input,textarea,select){font-family:inherit}
html body.theme-heritage :is(h1,h2,h3,h4,h5,h6){font-family:inherit;letter-spacing:0;line-height:1.42;font-weight:800;overflow-wrap:break-word}
html body.theme-heritage :is(p,li,dd,blockquote){line-height:1.88}
html body.theme-heritage :is(p,.muted,.detail p,.gallery-intro p,.gallery-folder-desc,.gallery-folder-footer,.gallery-count,.gallery-photo-info,.gallery-viewer-caption p,.review-footer,.booking-info-row p,.branch-address-detail,.branch-booking-disclaimer){color:var(--readable-text)}
/* Navigation and hospital identity */
html body.theme-heritage .brand strong,html body.theme-heritage .head .brand strong{font-size:clamp(21px,1.6vw,26px);line-height:1.35;font-weight:900}
html body.theme-heritage .brand small,html body.theme-heritage .head .brand small{font-size:12px;letter-spacing:.3px;line-height:1.5;font-weight:700}
html body.theme-heritage .head .nav button{font-size:15px;line-height:1.45;min-height:45px;font-weight:800}
html body.theme-heritage .head .btn.head-booking{font-size:15px;line-height:1.5;font-weight:900}
html body.theme-heritage .topbar .wrap{font-size:13px;line-height:1.6}
html body.theme-heritage .language-switch button{font-size:14px;min-width:36px;min-height:35px}
html body.theme-heritage .btn{font-size:15px;line-height:1.6}
html body.theme-heritage .tag,html body.theme-heritage .sticker{font-size:14px;line-height:1.55}
html body.theme-heritage .hero .hero-copy>.tag{font-size:14px!important}
html body.theme-heritage .hero h1{font-size:clamp(32px,4vw,59px);line-height:1.25}
html body.theme-heritage .hero .hero-copy>p{font-size:clamp(16px,1.35vw,19px)!important;line-height:1.8}
html body.theme-heritage .hero .hero-cta .btn{font-size:15px!important;line-height:1.5;min-height:46px}
html body.theme-heritage .hero-video-toggle{font-size:14px;min-height:38px}
/* Titles, content pages and base cards */
html body.theme-heritage .section-heading h2{font-size:clamp(27px,2.6vw,39px);line-height:1.38}
html body.theme-heritage .section-heading p{font-size:17px;line-height:1.88}
html body.theme-heritage .page-heading h1{font-size:clamp(29px,3.1vw,44px)}
html body.theme-heritage .page-heading p{font-size:17px;line-height:1.9}
html body.theme-heritage .text-block p,html body.theme-heritage .detail p{font-size:17px;line-height:1.95}
html body.theme-heritage .detail strong{font-size:17px}
html body.theme-heritage .muted{font-size:16px}
html body.theme-heritage .card h3{font-size:clamp(19px,1.65vw,23px);line-height:1.55}
html body.theme-heritage .card p{font-size:16px;line-height:1.9;color:#4c6452}
html body.theme-heritage .card .link{font-size:15px;line-height:1.65;font-weight:800}
html body.theme-heritage .quick h3{font-size:19px}
html body.theme-heritage .check{font-size:16px}
html body.theme-heritage .cta p{font-size:17px;line-height:1.85}
/* Medical services: both homepage circular photos and full services catalogue */
html body.theme-heritage #homeDepartments .card h3{font-size:18px;line-height:1.6}
html body.theme-heritage #homeDepartments .card p{font-size:16px;line-height:1.9}
html body.theme-heritage #homeDepartments .card .link{font-size:15px}
html body.theme-heritage #servicesGrid .dept-service-card h3{font-size:clamp(21px,1.8vw,24px);line-height:1.55}
html body.theme-heritage #servicesGrid .dept-service-card p{font-size:17px;line-height:1.9}
html body.theme-heritage #servicesGrid .dept-service-card .link{font-size:16px}
html body.theme-heritage #servicesGrid .card:not(.dept-service-card) h3{font-size:20px}
html body.theme-heritage #servicesGrid .card:not(.dept-service-card) p{font-size:16px}
/* Outpatient clinics, partnership tabs and search */
html body.theme-heritage .tabrow button{font-size:16px;line-height:1.6;min-height:45px}
html body.theme-heritage .searchbox input{font-size:16px;line-height:1.7;min-height:49px}
html body.theme-heritage .empty{font-size:16px;line-height:1.85}
/* Patient reviews, gallery, events, blog */
html body.theme-heritage .patient-review-source,html body.theme-heritage .review-footer{font-size:14px;line-height:1.7}
html body.theme-heritage :is(.patient-review-card,.review-card,.gallery-card,.article-card) p{font-size:16px;line-height:1.9}
html body.theme-heritage .article-card .category{font-size:14px}
html body.theme-heritage .gallery-crumbs,html body.theme-heritage .gallery-count,html body.theme-heritage .gallery-folder-footer{font-size:14px;line-height:1.7}
html body.theme-heritage .gallery-intro p,html body.theme-heritage .gallery-folder-desc,html body.theme-heritage .gallery-card p{font-size:16px;line-height:1.85}
html body.theme-heritage .gallery-photo-info,html body.theme-heritage .gallery-viewer-top{font-size:15px}
html body.theme-heritage .gallery-viewer-caption strong{font-size:19px}
html body.theme-heritage .gallery-viewer-caption p{font-size:16px}
html body.theme-heritage .gallery-sample{font-size:13px}
html body.theme-heritage :is(.event-card-info p,.event-empty p,.event-dialog-head p,.event-stage-caption){font-size:16px;line-height:1.85}
html body.theme-heritage .event-card-info>span,html body.theme-heritage .event-detail-date,html body.theme-heritage .event-card-info b{font-size:14px}
html body.theme-heritage .event-player-controls span,html body.theme-heritage .event-thumbs span{font-size:15px}
/* Outpatient booking and branch cards */
html body.theme-heritage .appointment-intro p{font-size:17px;line-height:1.9}
html body.theme-heritage .appointment-intro .eyebrow-light{font-size:15px}
html body.theme-heritage .location-tile-title{font-size:15px;line-height:1.65}
html body.theme-heritage .location-tile strong{font-size:clamp(22px,1.8vw,28px);line-height:1.5}
html body.theme-heritage .location-tile-link,html body.theme-heritage .book-all{font-size:15px;line-height:1.65}
html body.theme-heritage .booking-eyebrow{font-size:18px}
html body.theme-heritage .booking-branch-info>span:first-child{font-size:14px}
html body.theme-heritage .booking-branch-info h2{font-size:clamp(26px,2.5vw,34px)}
html body.theme-heritage .booking-branch-info p{font-size:17px;line-height:1.85}
html body.theme-heritage .booking-branch-arrow{font-size:16px}
html body.theme-heritage .booking-info-row p{font-size:16px}
html body.theme-heritage .coming-kicker{font-size:15px}
html body.theme-heritage .coming-card p{font-size:17px}
html body.theme-heritage .come-back,html body.theme-heritage .coming-home-btn{font-size:16px}
/* Input, contact info and footer */
html body.theme-heritage :is(form input,form textarea,form select){font-size:16px;line-height:1.65}
html body.theme-heritage form label{font-size:16px;font-weight:700}
html body.theme-heritage form .note{font-size:14px;line-height:1.85}
html body.theme-heritage :is(.footer p,.footer a){font-size:15px;line-height:1.9}
html body.theme-heritage .footer strong{font-size:18px}
html body.theme-heritage .footer-bottom{font-size:13px;line-height:1.65}
html body.theme-heritage .toast{font-size:15px}
/* Legibility of controls when forced colors, zoom and text-wrap apply */
html body.theme-heritage :is(button,.btn,a){text-underline-offset:3px}
html body.theme-heritage :is(input,textarea,select){max-width:100%}
/* Tablet: collapse header earlier than desktop so increased font never crowds it */
@media (min-width:1101px) and (max-width:1400px){
 html body.theme-heritage .head .wrap{gap:7px}
 html body.theme-heritage .head .brand{min-width:245px;gap:9px}
 html body.theme-heritage .head .brand .official-logo{width:82px;height:82px}
 html body.theme-heritage .head .brand strong{font-size:22px}
 html body.theme-heritage .head .nav{gap:1px}
 html body.theme-heritage .head .nav button{font-size:13.5px;padding-inline:5px}
 html body.theme-heritage .head .btn.head-booking{font-size:13px;padding-inline:12px}
}
@media(max-width:1100px){
 html body.theme-heritage .head .brand strong{font-size:22px}
 html body.theme-heritage .head .nav.open button{font-size:17px;line-height:1.6}
 html body.theme-heritage .head .btn.head-booking{font-size:14px}
 html body.theme-heritage .section-heading p{font-size:16.5px}
}
@media(max-width:820px){
 html body.theme-heritage{font-size:16px}
 html body.theme-heritage .section-heading h2{font-size:clamp(26px,5vw,33px)}
 html body.theme-heritage .card p{font-size:16px}
 html body.theme-heritage #homeDepartments .card h3{font-size:18px}
 html body.theme-heritage #homeDepartments .card p{font-size:15.5px}
 html body.theme-heritage #servicesGrid .dept-service-card p{font-size:16px}
}
@media(max-width:600px){
 html body.theme-heritage .head .brand strong{font-size:17px}
 html body.theme-heritage .head .brand small{font-size:10px}
 html body.theme-heritage .head .btn.head-booking{font-size:12px;min-height:42px}
 html body.theme-heritage .head .brand{gap:7px}
 html body.theme-heritage .topbar .wrap{font-size:12.5px}
 html body.theme-heritage .hero:not(.reference-slide) h1{font-size:clamp(27px,7vw,36px)}
 html body.theme-heritage .hero .hero-copy>p{font-size:15px!important}
 html body.theme-heritage .hero .hero-cta .btn{font-size:13px!important;min-height:42px}
 html body.theme-heritage .hero .hero-copy>.tag{font-size:12px!important}
 html body.theme-heritage .section-heading p,html body.theme-heritage .page-heading p{font-size:16px}
 html body.theme-heritage .page-heading h1{font-size:30px}
 html body.theme-heritage .card h3{font-size:20px}
 html body.theme-heritage .card p{font-size:16px}
 html body.theme-heritage #homeDepartments .card h3{font-size:18px}
 html body.theme-heritage #homeDepartments .card p{font-size:15px}
 html body.theme-heritage .appointment-intro p{font-size:16px}
 html body.theme-heritage .location-tile-title{font-size:14px}
 html body.theme-heritage .location-tile strong{font-size:21px}
 html body.theme-heritage .location-tile-link{font-size:14px}
 html body.theme-heritage .booking-info-row p{font-size:15px}
 html body.theme-heritage .coming-card p{font-size:16px}
 html body.theme-heritage .footer a,html body.theme-heritage .footer p{font-size:15px}
}
@media(max-width:390px){
 html body.theme-heritage .head .brand strong{font-size:16px}
 html body.theme-heritage .head .brand small{display:none}
 html body.theme-heritage .head .btn.head-booking{font-size:11.5px}
 html body.theme-heritage .section-heading h2{font-size:26px}
 html body.theme-heritage .location-tile strong{font-size:18px}
}
