/* Shared reading sizes. Loaded last so individual pages/locales never shrink form text. */
:root{--type-body:1rem;--type-control:1rem;--type-label:.875rem;--type-note:.75rem;--type-question:1rem;--readable-muted:#4d6f83}
html{font-size:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-size:var(--type-body);line-height:1.75}
body p,body li{font-size:var(--type-body)!important;line-height:1.8}
body small{font-size:var(--type-note)!important;line-height:1.65}
body :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:var(--type-control)!important;line-height:1.5;min-width:0}
body :is(input:not([type=checkbox]):not([type=radio]),select){min-height:46px}
body :is(input,textarea)::placeholder{color:#537084!important;opacity:1}
body :is(.request-brief>p,.home-faq-intro>p,.heading-desc,.service-body>p,.page-hero-row>p,.guide-card p,.cost-clarity p,.bid-step-copy>p,.lab-step-panel>p,.capacity-intro>p,.why-grid p,.process-receiving-note p,.inline-consultation p,.bid-intro>div>p){color:var(--readable-muted)!important}
body :is(.service-discovery .discovery-links small,.container-planner .vehicle-row small,.brief-help small,.footer p,.hero-note){color:var(--readable-muted)}
body :is(button,a,input,select,textarea,summary){font-family:inherit}
body :is(.btn,.text-link,.back-service,.planner-all-services,.home-faq-page-link,.auction-studio-link){font-size:var(--type-label)!important;line-height:1.5}
body .btn{min-height:46px;white-space:normal;text-align:center}
body .text-link{min-height:28px}
body :is(.request-field,.request-field>span,.form-grid label>span,.field-label,.map-filter>span,.single-shipping-request .quick-field-group>label>span){font-size:var(--type-label)!important;line-height:1.65;color:#375f78}
body :is(.form-check,.request-progress>span,.form-progress>span,.brief-points>span){font-size:var(--type-label)!important;line-height:1.65}
body .form-check{min-height:40px;align-items:flex-start;padding-block:7px}
body :is(input[type=checkbox],input[type=radio]){flex-shrink:0}
body :is(.request-field small,.phone-note,.field-note p,.delivery-note p,.request-brief .destination-scope,.destination-scope-note,.planner-note,.container-planner .planner-note,.form-error,.form-progress b,.request-field>span>b){font-size:var(--type-note)!important;line-height:1.75;color:var(--readable-muted)}
body :is(.request-summary>div>div,.part-item-fields .request-field){font-size:var(--type-label)!important}
body .request-summary>div>div>span{color:var(--readable-muted)}
body :is(.request-navigation,.form-buttons,.form-button-row){flex-wrap:wrap}
body .request-navigation>span{direction:ltr;unicode-bidi:isolate}

/* Filters, FAQ and search use the same readable sizes in both locations. */
body :is(.home-faq-categories button,.faq-categories button,.catalog-filters button,.assistant-options button,.region-tabs button,.guide-tabs button){font-size:var(--type-label)!important;line-height:1.5;min-height:36px;padding:7px 11px;white-space:normal;color:#42667d}
body :is(.home-faq-categories,.faq-categories,.catalog-filters){gap:7px;flex-wrap:wrap}
body :is(.home-faq-categories button,.faq-categories button)[aria-pressed=true]{color:#066b95;background:#e6f5fd}
body .home-faq-entry summary{font-size:var(--type-question)!important;line-height:1.6;min-height:50px;padding-block:11px;gap:12px}
body .home-faq-entry p,body .faq-entry p{font-size:.9375rem!important;line-height:1.85;color:#496b80}
body .faq-entry summary{font-size:1.0625rem!important;line-height:1.6;min-height:44px}
body .faq-entry{padding-block:16px}
body .faq-entry p{padding-top:14px}
body :is(.home-faq-search input,.faq-search input){font-size:1rem!important;min-height:30px}
body :is(.home-faq-scroll-note,#home-faq-no-results){font-size:var(--type-note)!important;color:var(--readable-muted)}
body .home-faq .home-faq-intro>p{font-size:1rem!important}
body .home-faq-list{height:310px}

/* The map, route builder and interactive process controls remain comfortable to read. */
body :is(.destination-endpoint strong,.selected-route strong,.port-option,.container-planner .vehicle-row strong,.report-choice strong){font-size:1rem!important;line-height:1.5}
body :is(.map-search-label,.map-summary,.map-summary strong,#map-gesture-hint,.destination-panel-footer a,.destination-panel-footer button,.destination-country-code,.destination-endpoint small,.other-port,.selected-route small){font-size:var(--type-note)!important;line-height:1.65;color:var(--readable-muted)}
body :is(#map-search-results strong,.destination-tooltip strong){font-size:var(--type-label)!important}
body .destination-panel-footer{flex-wrap:wrap}
body :is(.lab-cargo button,.lab-tour,.lab-prev,.lab-next,.bid-phase-tabs>button>span,.bid-navigation button,.bid-navigation a,.container-planner .cutaway-views button,.container-planner .load-presets button){font-size:var(--type-label)!important;line-height:1.5;min-height:38px;white-space:normal}
body :is(.lab-destination>span,.lab-stop,.lab-stop .stop-number,.lab-route-label,.lab-route-label b,.lab-phase,.lab-your-part strong,.lab-step-navigation>span,.bid-steps>button,.bid-steps>button>b,.bid-kicker,.bid-navigation>span){font-size:var(--type-note)!important;line-height:1.55}
body :is(.lab-deliverables li,.lab-your-part p,.lab-visual-note,.lab-footer p,.lab-context p,.bid-role p,.bid-demo-note,.bid-demo-top>small,.demo-small-copy,.demo-checklist>div,.demo-vehicle-choices>button small,.demo-track>button,.demo-track>div){font-size:var(--type-note)!important;line-height:1.75;color:var(--readable-muted)}
/* Supporting prose needs to remain legible even inside compact interactive panels. */
body :is(.lab-your-part p,.lab-footer p,.lab-context p,.bid-role p,.bid-demo-note,.demo-small-copy,.destination-scope-note,.container-planner .planner-note,.request-brief .destination-scope,.field-note p,.delivery-note p){font-size:var(--type-label)!important;line-height:1.75}
body :is(.demo-vehicle-choices>button,.demo-choice-buttons>button){font-size:var(--type-label)!important;line-height:1.5}
body .lab-toolbar{flex-wrap:wrap}
body .lab-cargo{flex:1 1 520px;min-width:0}
body .lab-cargo button{flex:1;min-width:0}
body .lab-options{flex:1 1 440px;min-width:0;justify-content:space-between}
body .lab-destination{min-width:0;flex:1}
body .lab-destination select{max-width:100%}
body :is(.container-planner .vehicle-row small,.container-planner .planner-head,.container-planner .load-caption,.container-planner #reset-load,.container-planner .capacity-status,.cutaway-hint,.cutaway-viewport .cutaway-badge,.service-tags span,.company-strip-heading h2,.company-strip-heading p){font-size:var(--type-note)!important;line-height:1.6}
body .container-planner #unit-count{font-size:1rem!important}
body .container-planner .counter button{width:32px;height:32px;min-width:32px}
body .container-planner .counter output{font-size:1rem}
body .cutaway-viewport .cutaway-badge{letter-spacing:0;padding:4px 9px}
body .service-discovery .discovery-links strong{font-size:1rem;line-height:1.5}
body :is(.hero-note,.hero-coordinate,.service-discovery .discovery-links small,.brief-help small,.contact-details small,.footer p,.footer small,.scene-top>span,.showcase-top>span,.hud-endpoints small,.hud-endpoints>span){font-size:var(--type-note)!important;line-height:1.65}
body .footer :is(a,.footer-page-links a){font-size:var(--type-label)!important;line-height:1.65}
body :is(.consultation-fab,.language-menu button){font-size:var(--type-label)!important}
body .consultation-fab{min-height:46px}

/* Fit the navigation to the viewport rather than reducing its type size. */
body .site-header .desktop-nav a{font-size:var(--type-label)!important;line-height:1.5}
body :is(.site-header .header-quote,.header-register,.header-signin){font-size:var(--type-label)!important;line-height:1.4;min-height:44px}
body .site-header .mobile-menu:not([hidden]){gap:2px;max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain}
body .mobile-menu>a{font-size:1rem;line-height:1.5;min-height:44px;padding-block:10px}
html[dir=rtl] body :is(button,label,.field-label,.btn,.text-link){letter-spacing:normal}
/* Forward form progression follows the reading direction in Arabic and Urdu. */
html[dir=rtl] #request-next [data-icon=arrow-right]{transform:scaleX(-1)}
body .site-header #menu-toggle{flex-direction:column;gap:6px;min-width:40px;min-height:40px}
body .site-header #menu-toggle>span{width:24px;min-width:24px;height:2px;flex:none;margin:0}
@media(min-width:1101px) and (max-width:1699px){
 body .site-header{display:grid;grid-template-columns:auto 1fr;height:auto;min-height:112px;padding-block:10px;row-gap:5px}
 body .site-header .brand{grid-column:1;grid-row:1}
 body .site-header .nav-actions{grid-column:2;grid-row:1;justify-self:end}
 body .site-header .desktop-nav{display:flex;grid-column:1/-1;grid-row:2;justify-content:center;justify-self:stretch;width:100%;margin-inline:0;gap:22px}
 body .site-header #menu-toggle{display:none}
}
@media(max-width:1100px){body .site-header .desktop-nav{display:none}body .site-header #menu-toggle{display:flex;align-items:center;justify-content:center}}
@media(min-width:1700px){body .site-header .desktop-nav{gap:16px}body .site-header .brand{flex-shrink:0}}
@media(max-width:1100px){body .container-planner .vehicle-controls{grid-template-columns:1fr}}
@media(max-width:900px){body .home-faq{grid-template-columns:1fr;gap:24px}body .home-faq .home-faq-intro h2,body .home-faq .home-faq-intro>p{max-width:650px}}
@media(max-width:650px){
 body .site-header{height:auto;min-height:136px;grid-template-columns:minmax(0,1fr) 40px 40px;column-gap:10px}
 body .site-header .mobile-menu:not([hidden]){max-height:calc(100dvh - 136px)}
 body :is(.site-header .header-quote,.header-register,.header-signin){padding:8px 5px;min-height:48px;font-size:.8125rem!important;white-space:normal}
 body .single-shipping-request .quick-request{grid-template-columns:1fr;gap:14px}
 body .single-shipping-request .quick-field-group select,body .single-shipping-request .quick-field-group input{font-size:1rem!important}
 body .container-planner .vehicle-controls{grid-template-columns:1fr}
 body .container-planner .vehicle-row{gap:8px}
 body .container-planner .counter{gap:5px}
 body .container-planner .load-summary{flex-wrap:wrap;gap:8px}
 body .container-planner #unit-count{font-size:.875rem!important}
 body .lab-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:12px;flex-basis:100%}
 body .lab-tour{grid-column:1/-1;justify-content:center}
 body .lab-cargo{flex-basis:100%}
 body .lab-cargo button{padding:9px 6px;min-height:70px}
 body .lab-route-label{flex-wrap:wrap}
 body .guide-tabs{flex-wrap:wrap}
 body .guide-tabs button{flex:1 1 140px;min-width:0}
 body .guide-card{gap:12px;padding:20px 16px}
 body .guide-card>div{min-width:0}
 body .guide-card h2{font-size:1.375rem}
 body .guide-check{flex-shrink:0}
}
