/* Type scale v2 — opt-in readability refinement for ALL screen sizes.
   Active ONLY when <html class="type-v2"> (?type=new, kept in sessionStorage; ?type=old turns it off).
   Same fonts, same palette family, same layout: sizes, line-heights, tracking, contrast of greys, line length, tap areas.
   Arabic runs ~1.1x the Latin sizes. To remove: delete this file and its <link> in the shells. */
html.type-v2{--v2-body:17px;--v2-small:14px;--v2-ctl:15px;--v2-lab:14px;--v2-lh:1.75;--muted:#56656f}
html.type-v2[lang=ar]{--v2-body:18.7px;--v2-small:15.4px;--v2-ctl:16.5px;--v2-lh:1.9}
@media (max-width:800px){
html.type-v2{--v2-body:16px;--v2-small:13.5px;--v2-lab:13px;--v2-lh:1.7}
html.type-v2[lang=ar]{--v2-body:17.6px;--v2-small:14.8px;--v2-lh:1.85}
}
/* ---- body text ---- */
html.type-v2 main p,html.type-v2 footer p,html.type-v2 details p,html.type-v2 .order-sub{font-size:var(--v2-body)!important;line-height:var(--v2-lh)!important}
html.type-v2 p.hero-arabic{font-size:var(--v2-body)!important;line-height:var(--v2-lh)!important}

/* ---- small localized text: breadcrumb, notes, fine print, captions, field labels, totals ---- */
html.type-v2 .crumb,html.type-v2 .crumb a,html.type-v2 .crumb span,
html.type-v2 p.form-fine,html.type-v2 p.order-note,html.type-v2 p.product-note,html.type-v2 .op-notice,
html.type-v2 .form-fine a,html.type-v2 .field label,html.type-v2 label,
html.type-v2 .cod span,html.type-v2 .order-totals span,html.type-v2 .order-totals div,html.type-v2 .op-time span,
html.type-v2 .price-row span,html.type-v2 .price-row small,html.type-v2 .order-item small,html.type-v2 .op-info small,
html.type-v2 .tile-price span,html.type-v2 .mini-pill,html.type-v2 .tile-price strong,html.type-v2 .hud-sub,
html.type-v2 .device-hotspot span,html.type-v2 .panel-list span,html.type-v2 .order-trust span,
html.type-v2 .tile-inner p,html.type-v2 .service-steps div,
html.type-v2 .footer-bottom a,html.type-v2 .op-hint,html.type-v2 .op-tag,html.type-v2 .op-err,html.type-v2 .op-field-err{font-size:var(--v2-small)!important;line-height:1.55!important}
html.type-v2 .tile-inner p{line-height:1.4!important}
html.type-v2 .order-totals .total span,html.type-v2 .order-totals .total strong{font-size:var(--v2-ctl)!important}

/* ---- always-Latin uppercase labels: readable size, tighter tracking ---- */
html.type-v2 .eyebrow,html.type-v2 .seal,html.type-v2 .tile-label,html.type-v2 .hud-top,html.type-v2 .hud-count,
html.type-v2 .scene-counter span,html.type-v2 .caption,html.type-v2 .vertical-scroll,html.type-v2 p.hero-caption,
html.type-v2 .product-heading span,html.type-v2 .story-bottom span,html.type-v2 .footer-bottom span,
html.type-v2 .footer-nav small,html.type-v2 .poster-caption span,html.type-v2 .poster-caption small,html.type-v2 .coming-art span,
html.type-v2 .tab small,html.type-v2 .service-steps b,html.type-v2 .panel-image .caption{font-size:var(--v2-lab)!important;line-height:1.45!important;letter-spacing:.1em!important}
html.type-v2 .tile-price strong{letter-spacing:.08em!important}
html.type-v2 .tile-label b{font-size:var(--v2-ctl)!important;letter-spacing:0!important}

/* ---- buttons, nav, language toggle, links ---- */
html.type-v2 .language,html.type-v2 .nav-order,html.type-v2 .nav-order span,html.type-v2 #nav a,
html.type-v2 .btn,html.type-v2 .btn>span,html.type-v2 .text-link,html.type-v2 .order-back,
html.type-v2 .footer-nav a,html.type-v2 summary,html.type-v2 .tab span,html.type-v2 h2.form-title,
html.type-v2 .qty-control button,html.type-v2 output,html.type-v2 .motion-toggle span:first-child{font-size:var(--v2-ctl)!important;line-height:1.4!important;letter-spacing:0!important}
html.type-v2 .footer-top p{font-size:var(--v2-body)!important}

/* ---- form fields (>=16px also stops iOS zoom-on-focus) ---- */
html.type-v2 input,html.type-v2 select,html.type-v2 textarea{font-size:16px!important}
html.type-v2[lang=ar] input,html.type-v2[lang=ar] select,html.type-v2[lang=ar] textarea{font-size:17px!important}

/* ---- contrast: greys darkened inside the existing palette (hue kept) ---- */
html.type-v2 .tab{color:#5d6f7c}
html.type-v2 .tab.active{color:var(--navy)}
html.type-v2 .intro h2 span{color:#738692}
html.type-v2 .service-steps b{color:#5d6f7c}

/* ---- reading measure: 65-75 characters on wide screens ---- */
html.type-v2 main p,html.type-v2 details p{max-width:60ch}
html.type-v2[lang=ar] main p,html.type-v2[lang=ar] details p{max-width:52ch}
html.type-v2 .hero-copy p,html.type-v2 .hero-editorial p,html.type-v2 .footer-brand p{max-width:60ch}

@media (max-width:800px){
/* ---- tap areas >= 44x44 (padding / min sizes; negative margins keep the surrounding layout from shifting) ---- */
html.type-v2 .language{min-width:44px;min-height:44px;padding:8px 10px}
html.type-v2 .nav-order{min-height:44px;white-space:nowrap;padding-inline:9px;gap:5px}
html.type-v2 .nav-order span{white-space:nowrap}
html.type-v2 .header-actions{gap:0}
html.type-v2 #header .brand{width:104px}
html.type-v2 #header{padding-inline:16px}
html.type-v2 #menu{min-width:44px;min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center}
html.type-v2 #nav a{display:block;min-height:44px;padding-block:10px}
html.type-v2 .btn,html.type-v2 .text-link{min-height:44px}
html.type-v2 .text-link{display:inline-flex;align-items:center}
html.type-v2 .order-back{display:inline-flex;align-items:center;min-height:44px;margin-block:-10px}
html.type-v2 .crumb a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;justify-content:center;margin-block:-14px;padding-inline:5px;margin-inline:-5px}
html.type-v2 .footer-nav a,html.type-v2 .footer-bottom a{display:inline-flex;align-items:center;min-height:44px;min-width:44px;padding-inline:6px;margin-inline:-6px}
html.type-v2 .brand{padding-block:7px;box-sizing:content-box}
html.type-v2 .vertical-scroll{top:520px;padding:0 14px;margin:0 -14px;box-sizing:content-box}
html.type-v2 summary{min-height:44px;display:flex;align-items:center}
html.type-v2 .tab{min-height:44px}
html.type-v2 .qty-control button{min-width:44px;min-height:44px}
html.type-v2 .dialog-close{min-width:44px;min-height:44px}
html.type-v2 .motion-toggle{min-width:44px;min-height:44px}
html.type-v2 .field input,html.type-v2 .field select,html.type-v2 .field textarea{min-height:48px}
}

/* ---- Arabic labels: no letter-spacing (it breaks Arabic joining) ---- */
html.type-v2[lang=ar] .eyebrow,html.type-v2[lang=ar] .tile-label,html.type-v2[lang=ar] .caption,html.type-v2[lang=ar] .seal,
html.type-v2[lang=ar] .vertical-scroll,html.type-v2[lang=ar] .ghost-word,html.type-v2[lang=ar] .product-heading span,
html.type-v2[lang=ar] .story-bottom span,html.type-v2[lang=ar] .footer-bottom span,html.type-v2[lang=ar] .footer-nav small,
html.type-v2[lang=ar] .coming-art span,html.type-v2[lang=ar] .poster-caption span,html.type-v2[lang=ar] .poster-caption strong{letter-spacing:0!important}

/* ---- round badge: grown so the readable text fits inside the circle ---- */
html.type-v2 .seal{width:120px!important;height:120px!important;letter-spacing:.04em!important;line-height:1.35!important;flex-direction:column}
@media (max-width:800px){html.type-v2 .seal{width:102px!important;height:102px!important}}
html.type-v2 p.order-note{color:#4f6270}
