/* R58 — single tourism-first typography and editorial rhythm layer.
   Loaded after all legacy design files. Does not affect API contracts or prices. */
:root{
  --oasis-body:'Tajawal','Noto Sans Arabic','Segoe UI',sans-serif;
  --oasis-display:'Alexandria','Tajawal','Noto Sans Arabic',sans-serif;
  --oasis-latin:'Manrope','Segoe UI',sans-serif;
  --oasis-text:#17344a;
  --oasis-muted:#556d7d;
  --r52-font:var(--oasis-body);
  --r52-head:var(--oasis-display);
}
html[lang="ar"]{font-family:var(--oasis-body);-webkit-text-size-adjust:100%}
body{font:500 16px/1.85 var(--oasis-body);color:var(--oasis-text);font-synthesis:none;text-rendering:optimizeLegibility}
body :is(input,select,textarea,button,option),body :is(.studio-field,.studio-form,.catalog-filter,.search-panel,.r53-filter,.r54-finder-form){font-family:var(--oasis-body)}
body :is(h1,h2,h3,h4,h5,h6,.hero-copy h1,.r51-guide-body strong,.destination-info strong,.mood-card strong,.section-heading h2,.r55-compare-copy h2){font-family:var(--oasis-display);font-weight:700;letter-spacing:0;line-height:1.48;word-break:normal;overflow-wrap:break-word}
body :is(h1,h2,.hero-copy h1,.r51-guide-hero h1){text-wrap:balance}
body :is(p,li,dd,.prose,.destination-info,.r51-card-summary){line-height:1.95}
.brand{font-family:var(--oasis-latin);font-weight:800;letter-spacing:.015em}
.brand small{font-family:var(--oasis-body);font-weight:700;letter-spacing:0}
.site-header :is(a,summary),.header-cta,.btn,.text-link,.card-more,.r51-card-footer,.r53-related-link{font-family:var(--oasis-body);font-weight:700;letter-spacing:0}
:where(.desktop-nav,.mobile-menu,.footer) a{line-height:1.65}
:where(.topline,.topline-note,.section-label,.eyebrow,.r51-card-kicker,.r24-overline){font-family:var(--oasis-body);letter-spacing:0;text-transform:none;font-weight:700}
:where(.search-input input,.filter-bar input,.r54-finder-form input,.r54-finder-form select,.catalog-filter input,.catalog-filter select,.r53-filter select,.studio-form input,.studio-form select,.studio-form textarea){font-size:16px;line-height:1.5;letter-spacing:0}
:where(input,textarea)::placeholder{font-family:var(--oasis-body);opacity:1;color:#6f8292}
:where(input,select,textarea):focus-visible{outline:2px solid #c56b32;outline-offset:2px}
:where(.btn,.header-cta,.r54-shortcuts a,.mood-filter){font-size:clamp(14px,1.05vw,16px)}
:where(.hero-copy,.r54-explore-intro,.r51-guide-hero,.inner-hero) p{max-width:61ch;color:inherit}
.hero-copy h1{line-height:1.38;font-size:clamp(35px,4.5vw,64px);max-width:13ch}
.hero-copy p{font-size:clamp(16px,1.3vw,19px);line-height:1.9}
:where(.inner-hero h1,.r51-guide-hero h1,.r54-explore-hero h1){font-size:clamp(32px,3.7vw,55px);line-height:1.43}
.section-heading h2{font-size:clamp(26px,2.8vw,42px)}
:where(.r51-guide-card,.destination-card,.service-card,.r55-compare-card,.r54-finder-box){border-radius:21px}
:where(.r51-guide-body strong,.destination-info strong,.service-card h3){line-height:1.6}
:where(.r51-card-summary,.r54-finder-assurance,.r53-result-header small,.notice p,.r55-comparison-footer p){font-family:var(--oasis-body);font-size:14px;line-height:1.85}
:where(.r51-card-kicker,.section-label){font-size:12px}
:where(.r51-guide-body,.r55-compare-copy,.r51-feature,.aside-card){overflow-wrap:anywhere}
:where(.r55-compare-options label,.r53-filter label,.r54-finder-form label,.catalog-filter label){font-weight:700;color:#173a50}
:where(.notice,.r51-proof,.r54-scope-notice){line-height:1.9}
:where(.empty-state,.r54-no-results){line-height:1.9}
@media(max-width:780px){
 body{font-size:15px;line-height:1.85}
 .hero-copy h1{font-size:clamp(32px,8vw,49px);max-width:16ch}
 :where(.inner-hero h1,.r51-guide-hero h1,.r54-explore-hero h1){font-size:clamp(29px,7.5vw,43px)}
 .section-heading h2{font-size:clamp(25px,6.6vw,35px)}
 :where(.btn,.header-cta,button){min-height:44px}
 :where(.r51-guide-body,.r55-compare-copy){padding:20px}
}
@media print{
 body{font-family:var(--oasis-body);color:#162f40}
 :where(h1,h2,h3){font-family:var(--oasis-display)}
}
