/* Shared Outfit hierarchy. Readability refinements preserve component geometry,
   imagery, commercial values and interaction behavior in their existing layers. */
body{font-family:var(--font-primary);font-size:var(--type-body);font-weight:var(--type-weight-body);line-height:var(--type-leading-body);letter-spacing:var(--type-tracking-body);font-synthesis-weight:none}
body :is(button,input,select,textarea,option){font-family:var(--font-primary)}
body button{font-weight:var(--type-weight-action)!important;letter-spacing:0!important}
body main :is(strong,b){font-weight:var(--type-weight-heading)!important}
body :is(h1,h2,h3,h4,h5,h6){font-family:var(--font-primary)!important;font-weight:var(--type-weight-heading)!important;letter-spacing:var(--type-tracking-heading)!important;line-height:var(--type-leading-heading)!important;overflow-wrap:break-word}
body main h1{font-size:var(--type-hero)!important;font-weight:var(--type-weight-title)!important;line-height:1.12!important}
body main .cinema-copy :is(h1,h2){font-size:var(--type-hero)!important;font-weight:var(--type-weight-title)!important;line-height:1.12!important}
body :is(h3,h4,h5,h6){line-height:1.2!important}
body main :is(.section-head h2,.section-heading h2,.v5-feature-copy h2,.bundle-showcase h2){font-size:var(--type-section)!important}
body main :is(.card h3,.quick-card h2,.experience-card h3,.tour-gallery h3){font-size:var(--type-card)!important}
body main :is(.guide-article p,.b3-legal p){font-size:1rem;line-height:1.65}
body :is(.eyebrow,.tag,.tp-eyebrow,.b3-eyebrow,.photo-tag,.booking-title p,#step-label,.field-label,.form-label){font-weight:var(--type-weight-label)!important;letter-spacing:.01em!important;text-transform:none!important}
body :is(.eyebrow,.tag,.tp-eyebrow,.b3-eyebrow){font-size:13px!important;line-height:1.5!important}
body :is(.btn,.action,.primary-action,.b3-button,.search-button,.text-link,.b3-text-link,.service-action){font-weight:var(--type-weight-action)!important;letter-spacing:0!important;text-transform:none!important}
body main :is(label,legend,.native-tour-label,.sv7-step-label,.field-label,.form-label){font-weight:var(--type-weight-label)!important;letter-spacing:0!important}
body main :is(.sv7-lead-price strong,.native-tour-total strong,.quote-total strong,.bm-price strong,.bundle-price,.card-price,.price-total,.from strong){font-weight:var(--type-weight-price)!important;letter-spacing:-.015em!important}
body main :is([data-native-card-price],[data-bundle-price],.card-price,.native-tour-total,.sv7-total,.quote-total,.bm-price,.price-total){font-variant-numeric:tabular-nums lining-nums}
/* Header dimensions, menu breakpoints and wordmark styling retain their own rules. */
#wandoras-global-nav .nav-links a,#wandoras-global-nav .mobile-nav>div a{font-weight:var(--type-weight-navigation);letter-spacing:0;text-transform:none;line-height:1.4}
#wandoras-global-nav .nav-cta,#wandoras-global-nav .mobile-nav summary{font-weight:var(--type-weight-heading);letter-spacing:0;text-transform:none}
#wandoras-site-footer .footer-nav strong,#wandoras-site-footer .mobile-footer-groups summary{font-weight:var(--type-weight-heading)}
@media(max-width:600px){
 /* Keep iOS editable controls at 16px; calendar dates, steppers and icon buttons keep their geometry. */
 body :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]),select,textarea){font-size:16px!important;line-height:1.5}
}

/* Readable editorial and utility surfaces. These are reading rules, not sales-card layouts. */
body.atlas-editorial main :is(.guide-article p,.guide-article li){font-size:17px;line-height:1.65}
body.atlas-editorial main :is(.destination-story p,.editorial-connections p,.guide-card-copy>span,.guide-booking p,.dark-cta p,.guide-trip p,.section-head p){font-size:16px;line-height:1.65}
body.atlas-editorial main :is(.guide-card-copy small,.guide-card-copy b,.guide-byline,.guide-crumbs,.guide-inline-photo figcaption,.guide-toc>strong,.guide-toc a,.guide-mobile-toc a,.atlas-guide-filter-status,.destination-tile small,.destination-tile b,.destination-guide-links a span,.destination-experience-copy small,.editorial-connections b){font-size:14px;line-height:1.55;letter-spacing:0;text-transform:none}
body.atlas-editorial main :is(.guide-topic a,.guide-chips a,.guide-booking-end,.guide-destination-card b,.guide-destination-card em,.destination-experience-copy>span){font-size:15px;line-height:1.6}
body.atlas-editorial main :is(.guide-card-copy>span,.destination-story p,.editorial-connections p,.guide-booking p,.guide-byline,.guide-crumbs,.guide-inline-photo figcaption,.guide-toc a){color:#455c53}
body.atlas-editorial main :is(.btn,.text-link,.guides-search button,.guide-booking-end .btn){font-size:15px;line-height:1.5}
body.atlas-editorial main :is(.guides-search label,.guide-mobile-toc summary){font-size:14px;letter-spacing:0;text-transform:none}
body.atlas-batch3 main :is(p,.b3-lead,.legal-page p,.b3-legal p){font-size:16px;line-height:1.65}
body.atlas-batch3 main :is(.b3-number,.b3-status,figcaption,.b3-eyebrow,.page-hero .eyebrow){font-size:14px;line-height:1.55;letter-spacing:0;text-transform:none}
body.atlas-batch3 main :is(.b3-button,.btn,.b3-text-link,.b3-topic-nav a,.b3-card>a:not(.b3-button),.b3-contact-channels a){font-size:15px;line-height:1.5}
body.atlas-batch3 main .b3-faq summary{font-size:16px;line-height:1.55}
body main :is(.field-label,.form-label,.search-field span,.destination-search span,.destination-search small,.guide-names .guide-card>span:last-child,.live-note){font-size:14px;line-height:1.55}
body main :is(.btn,.action,.primary-action,.search-button,.text-link,.service-action){font-size:15px;line-height:1.5}
/* Footer copy is informational: comfortably readable without adopting commercial price styling. */
body #wandoras-site-footer :is(p,a,small){font-size:14px;line-height:1.65}
body #wandoras-site-footer :is(.footer-nav strong,.mobile-footer-groups summary){font-size:15px;line-height:1.55}
@media(max-width:600px){
 body.atlas-editorial main :is(.guide-article p,.guide-article li){font-size:16px;line-height:1.65}
 body.atlas-editorial main :is(.section-head p,.guide-card-copy>span,.destination-story p,.editorial-connections p,.guide-booking p){font-size:16px}
 body.atlas-batch3 main :is(p,.b3-lead,.legal-page p,.b3-legal p){font-size:16px}
}

/* Verified product reviews inherit each card's contrasting text colour. */
body main .product-review-line{font-size:16px;font-weight:500;line-height:1.55;letter-spacing:0;color:inherit}
body main .product-review-stars{font-size:16px;line-height:1.55;letter-spacing:0}
body main .product-review-source{font-size:14px;font-weight:400;line-height:1.55;color:inherit;text-underline-offset:3px}

body #wandoras-global-nav .nav-cta{font-size:15px;line-height:1.5}
body #wandoras-site-footer .footer-nav a,body #wandoras-site-footer .mobile-footer-groups a{font-size:14px;line-height:1.65}

/* Starry's approved composition stays intact; bring its reading and booking copy to the same scale. */
body.atlas-starry main.starry-v7 :is(.sv7-story>p,.sv7-stop-body p,.sv7-joining p,.sv7-human p:not(.eyebrow),.sv7-faq details>p,.sv7-section-heading>p:not(.eyebrow)){font-size:16px;line-height:1.65}
body.atlas-starry main.starry-v7 .sv7-lead-copy{font-size:17px;line-height:1.65}
body.atlas-starry main.starry-v7 :is(.sv7-highlights li,.sv7-inclusions li){font-size:16px;line-height:1.6}
body.atlas-starry main.starry-v7 :is(.sv7-inclusions li small,.sv7-stepper small,.sv7-option small,.sv7-booking-note,.sv7-total small,.sv7-rating-note span,.sv7-step-label>span,.sv7-breakdown dt small,.sv7-stop-number,.sv7-photo-caption){font-size:13px;line-height:1.5}
body.atlas-starry main.starry-v7 :is(.sv7-facts,.sv7-breadcrumb,.sv7-option-state,.sv7-option-prices,.sv7-option p span,.sv7-option-joining p,.sv7-booking-head>p,.sv7-price-status,.sv7-option-group legend,.sv7-field-note){font-size:14px;line-height:1.55}
body.atlas-starry main.starry-v7 :is(.sv7-booking>.text-link,.sv7-booking-continue,.action.sv7-booking-continue,.sv7-date-trigger){font-size:15px;line-height:1.5}
body.atlas-starry main.starry-v7 .sv7-lead-price strong{font-size:34px;line-height:1.2}
body.atlas-starry main.starry-v7 :is(.sv7-lead-price>span,.sv7-lead-price>small){font-size:15px;line-height:1.5}
@media(max-width:600px){body.atlas-starry main.starry-v7 .sv7-lead-price strong{font-size:32px}}

/* Generic Native tour pages retain the same readable supporting detail hierarchy. */
body.atlas-tours main.native-tour-v7 :is(.sv7-section-heading>p:not(.eyebrow),.sv7-stop summary p,.sv7-faq details>p){font-size:16px;line-height:1.65}
body.atlas-tours main.native-tour-v7 :is(.sv7-inclusions li small,.sv7-stop-number,.sv7-booking-note,.sv7-stepper small,.sv7-step-label>span){font-size:13px;line-height:1.5}
body.atlas-tours main.native-tour-v7 :is(.sv7-booking-head>p,.sv7-option-state,.sv7-price-status,.sv7-option-group legend,.sv7-field-note){font-size:14px;line-height:1.55}

/* Atlas price accents only: current Atlas yellow on dark surfaces, existing
   Atlas rating gold (#987a20) on light surfaces. No payment totals selected. */
body{--atlas-price-gold-light:color-mix(in srgb,#987a20 85%,#182e2d 15%);--atlas-price-gold-dark:#e7ce56}
body main :is(.native-price-amount,.sv7-lead-price strong,.tour-option-price strong,.nl-tier-price strong,.atlas-packages-hub .bundle-price strong,.bm-price strong,.from strong){color:var(--atlas-price-gold-light)}
body.atlas-home .bundle-showcase-price [data-bundle-price] strong{color:var(--gold,var(--atlas-price-gold-dark))}
body main :is(.nl-tier-price strong,.atlas-packages-hub .bundle-price strong,.bm-price strong,.from strong) small{color:var(--muted,#4d6059)}

body.atlas-starry main.starry-v7 .sv7-lead-price strong,body.atlas-tours main.native-tour-v7 .sv7-lead-price strong,body.nights-cinematic #main-content .nl-tier-price strong,.atlas-packages .bundle-price strong{color:var(--atlas-price-gold-light)}
body.nights-cinematic #main-content .nl-hero .bm-price strong{color:var(--atlas-price-gold-dark)}

/* Confident price numerals. Geometry and monetary values stay in their own components. */
body{--price-numeral-weight:700}
body main .native-price-amount,
body main :is(.sv7-lead-price,.bm-price,.bundle-price,.nl-tier-price) strong,
body main :is(.native-tour-total,.sv7-total) strong{
 font-weight:var(--price-numeral-weight)!important;
 white-space:nowrap;
 font-variant-numeric:tabular-nums lining-nums;
}
body main .native-price-amount{color:var(--atlas-price-gold-light)}
body.atlas-starry main.starry-v7 .sv7-lead-price strong,
body.atlas-tours main.native-tour-v7 .sv7-lead-price strong,
body.atlas-packages main .bundle-price strong,
body.nights-cinematic #main-content .nl-tier .nl-tier-price strong,
body main :is(.native-tour-total,.sv7-total) strong{color:var(--atlas-price-gold-light)}
body.nights-cinematic #main-content .nl-hero .nl-hero-bottom .bm-price strong,
body.atlas-home main .bundle-showcase .bundle-showcase-price [data-bundle-price] strong{color:var(--atlas-price-gold-dark)}
body main :is(.native-price-prefix,.native-price-unit){font-weight:400;color:var(--ink,#182e2d)}
body main :is(.sv7-lead-price,.bm-price,.bundle-price,.nl-tier-price) strong :is(small,.native-price-prefix){font-weight:400!important;color:var(--muted,#4d6059)}
body main .bundle-price strong .native-price-prefix{font-size:.5em;letter-spacing:0}
body.atlas-home main .bundle-showcase-price [data-bundle-price] strong :is(small,.native-price-prefix){color:#c2d8ca}
body.nights-cinematic #main-content .nl-hero .bm-price :is(small,.native-price-prefix,.native-price-unit){color:#d9e4df}

/* Preserve the existing lettered logo: same family, weight, sizes and tracking. */
body .wordmark{font-family:var(--font-wordmark)!important;font-weight:800!important}
/* Semantic consistency covers body-level booking dialogs as well as page content.
   Constrained galleries, sticky bars, controls and compact product H1 keep their
   existing component font sizes and geometry. Legacy heavier requests use the
   real Outfit 700 face with synthetic weight disabled. */
body :is(strong,b){font-weight:var(--type-weight-heading)}
body :is(input,select,textarea,option,label,legend,.field-label,.form-label,.transfer-date-control>span,.transfer-time-control>span){font-weight:var(--type-weight-label)!important}
body :is(summary,output,.card-title,.collection-card-action,.transfer-service-title,.asb-title,.smj-panel-title,.smp-review-author,.smp-review-avatar,.smp-review-rating){font-weight:var(--type-weight-heading)!important}
body :is(.is-current,.today-status.is-open,.bundle-status,.bundle-offer,.night10-code-row>strong){font-weight:var(--type-weight-title)!important}
body :is(.card-price,.booking-price,.transfer-total,.nmj-sticky-price-summary strong,.nmj-option-total strong,.smj-option-total strong,.smj-footer-price strong,.sv7-mobile-bar strong,.mobile-package-action>span,.native-price-amount){font-weight:var(--type-weight-price)!important;letter-spacing:-.02em}
body :is(.btn,.action,.primary-action,.b3-button,.search-button,.text-link,.b3-text-link,.service-action){line-height:1.4}
#wandoras-global-nav :is(.nav-cta,.nav-links a,.mobile-nav>div a){font-family:var(--font-primary)}
#wandoras-global-nav .nav-links a,#wandoras-global-nav .mobile-nav>div a{font-weight:var(--type-weight-navigation)!important}
