/* TOSEOS 1.3.26 — shared dimensions and unobtrusive language controls. */
:root{--tos-field-height:46px;--tos-field-radius:6px;--tos-field-gap:22px;--tos-label-gap:7px;--tos-control-font:1rem}
.top-strip>.container{gap:22px}
.language-switcher{display:flex;align-items:center;gap:3px;flex-wrap:wrap;justify-content:flex-end}
.language-switcher a{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:30px;min-height:36px;padding:4px 5px;font-size:11px;line-height:1.1;white-space:nowrap}
.tos-language-flag{width:17px;height:12px;border:1px solid rgb(120 140 130 / .22);border-radius:2px;flex-shrink:0;overflow:hidden}
.tos-language-note{position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:6px 18px;padding:10px max(24px,calc((100vw - 1248px)/2));font-size:.8rem;line-height:1.5;background:var(--surface-soft);border-bottom:1px solid var(--border);color:var(--muted-foreground)}
.tos-language-note[hidden]{display:none!important}.tos-language-note p{flex:1 1 250px}.tos-language-note button,.tos-location-trigger{min-height:36px;padding:6px 8px;border:0;font:inherit;text-decoration:underline;text-underline-offset:3px;color:var(--primary);background:transparent}
.tos-location-trigger{display:block;font-size:.76rem;margin:0 0 0 auto}.tos-language-more{display:flex;justify-content:flex-end;gap:12px;align-items:center}.tos-location-status{font-size:.78rem;color:var(--muted-foreground)}
.tos-location-detail{max-width:420px;padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--card);font-size:.8rem}.tos-location-detail p{margin-bottom:10px}.tos-location-detail button{min-height:40px}
.audience-bar>.container{gap:16px 30px;flex-wrap:wrap;justify-content:center}.audience-bar strong{white-space:normal;text-align:center}
:is(.quote-form,.tc-form,.tc-b2b .tc-form,.tos-search,.catalog-tools) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){box-sizing:border-box;font-size:var(--tos-control-font);line-height:1.5;min-height:var(--tos-field-height);border:1px solid var(--input);border-radius:var(--tos-field-radius);padding:10px 12px;background-color:var(--background);color:var(--foreground);width:100%;max-width:100%;margin:0;box-shadow:none}
:is(.quote-form,.tc-form,.tc-b2b .tc-form) textarea{min-height:132px;resize:vertical}
:is(.quote-form,.tc-form,.tc-b2b .tc-form) select{padding-right:36px}
:is(.quote-form,.tc-form,.tc-b2b .tc-form) :is(.form-field,.tc-field){display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:var(--tos-label-gap);min-width:0;margin:0}
:is(.quote-form,.tc-form) label{font-size:.875rem;line-height:1.45;font-weight:600;margin:0}
:is(.quote-form,.tc-form) :is(.form-hint,.tc-field-hint,.tc-password-hint){font-size:.8rem;line-height:1.55;margin:0;color:var(--muted-foreground)}
:is(.quote-form,.tc-form) :is(.form-grid,.tc-fields-grid){gap:var(--tos-field-gap)}
:is(.quote-form,.tc-form) :is(input,select,textarea):focus-visible{outline:2px solid var(--ring);outline-offset:3px;border-color:var(--ring)}
:is(.quote-form,.tc-form) :is(input,select,textarea)[aria-invalid=true]{border-color:var(--destructive);outline-color:var(--destructive)}
:is(.quote-form,.tc-form) :is(input[type=checkbox],input[type=radio]){width:18px;height:18px;min-width:18px;min-height:18px;margin:3px 0 0;accent-color:var(--primary);flex-shrink:0}
:is(.quote-form,.tc-form) :is(.main-button,.secondary-button,.tc-button){min-height:44px;padding:10px 18px;border-radius:var(--tos-field-radius);line-height:1.5;white-space:normal;text-align:center}
.tc-show-password{min-width:44px;min-height:44px}.tc-field input[readonly]{background-color:var(--surface-soft)}
.tos-session-policy{font-size:.8rem;color:var(--muted-foreground);line-height:1.6}.tc-required-contact{padding:14px 18px;background:var(--surface-soft);border-left:2px solid var(--primary);font-size:.875rem;margin:18px 0}
/* All originals are kept. SVG artwork supplies transparency and contrast. */
.brand-shelf .brand-list{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;isolation:isolate;background:transparent}
.brand-shelf .brand-list>.brand-mark{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;min-height:122px;padding:20px 12px 14px;overflow:visible;background:transparent!important;mix-blend-mode:normal!important;border:0;border-radius:8px}
.brand-shelf .brand-mark picture{display:flex;align-items:center;justify-content:center;width:100%;height:56px}
.brand-shelf .brand-mark img,.brand-shelf .brand-mark--plate img{position:static;transform:none;max-width:140px;width:auto;height:auto;max-height:54px;object-fit:contain;filter:none!important;opacity:1;mix-blend-mode:normal!important}
.brand-shelf .brand-name,.brand-shelf .brand-caption{display:block;font-family:inherit;font-weight:600;font-size:.76rem;letter-spacing:.045em;line-height:1.45;text-align:center;color:var(--foreground);max-width:100%;overflow-wrap:anywhere;border-bottom:1px solid color-mix(in srgb,var(--primary) 30%,transparent);padding-bottom:5px}
.brand-shelf .brand-name::before{display:none!important}.brand-shelf .brand-mark:hover{background:var(--surface-subtle)!important}.brand-shelf .brand-mark--reference{min-height:122px}
@media(max-width:900px){.top-strip>.container{gap:12px}.brand-shelf .brand-list{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:640px){.top-strip>.container{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:14px;row-gap:2px;align-items:center;padding-block:9px}.brand-entry{grid-column:1;grid-row:1/3}.language-switcher{grid-column:2;grid-row:1;justify-content:flex-end;gap:1px}.top-strip .client-access,.top-strip .ts-session{grid-column:2;grid-row:2;justify-self:end}.language-switcher a{min-width:27px;min-height:36px;padding:5px 4px;font-size:10px}.brand-origin{padding:0;gap:2px;min-height:44px;min-width:44px}.brand-touch-label{font-size:8px!important;line-height:1.25;letter-spacing:.06em;font-weight:500!important;color:var(--muted-foreground)!important;border:0!important;background:transparent!important;padding:0!important;opacity:1}.brand-origin img{max-width:42px}.tos-language-flag{width:14px;height:10px}.tos-language-note{padding:10px 20px;gap:3px 12px}.tos-language-note p{flex-basis:100%}.tos-language-more{padding-inline:20px}.brand-shelf .brand-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.brand-shelf .brand-list>.brand-mark{padding:15px 8px 11px;min-height:106px}.brand-shelf .brand-mark picture{height:44px}.brand-shelf .brand-mark img{max-height:42px;max-width:100%}.brand-shelf .brand-caption,.brand-shelf .brand-name{font-size:.65rem;letter-spacing:.025em}.audience-bar>.container{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}.audience-bar>.container>span{grid-column:1/-1;text-align:center}.audience-bar strong{font-size:.8rem}.quote-form,.tc-form{--tos-field-gap:20px}.quote-form .form-grid,.tc-form .tc-fields-grid{grid-template-columns:minmax(0,1fr)}.tc-form .tc-field{grid-column:auto}}
@media(forced-colors:active){.tos-language-flag{border-color:CanvasText}.brand-shelf .brand-caption{border-color:CanvasText}:is(.quote-form,.tc-form) :is(input,select,textarea){forced-color-adjust:auto}.brand-shelf .brand-mark img{forced-color-adjust:none}}
@media(prefers-reduced-motion:reduce){.tos-language-note,.brand-shelf .brand-mark{transition:none}}
/* Explicit scope wins over the existing compact-header container rules. */
.top-strip .language-switcher{min-width:0}
@media(max-width:640px){.top-strip .language-switcher{grid-column:2;grid-row:1;justify-content:flex-end}.top-strip .language-switcher a{min-width:27px;min-height:36px;padding:5px 4px;font-size:10px}.brand-touch-label{color:#bfd7cf!important}.tos-location-detail{padding:6px 0;border:0;background:transparent}}
/* 1.3.27 — compact brand shelf and a single, anchored language suggestion. */
.brand-shelf .brand-list>.brand-mark{min-height:76px;padding:16px 10px;gap:0;border-radius:0}
.brand-shelf .brand-mark picture{height:36px;max-width:100%}
.brand-shelf .brand-mark img,.brand-shelf .brand-mark--plate img{max-width:min(110px,100%);max-height:34px;opacity:.82}
.brand-shelf .brand-mark:hover{background:transparent!important}
.brand-shelf .brand-mark [hidden],.brand-shelf .brand-mark picture[hidden]{display:none!important}
.brand-shelf .brand-name{font-size:.74rem;letter-spacing:.035em;color:var(--muted-foreground);padding-bottom:3px}
.top-strip{position:relative;z-index:1002}
.top-strip .language-switcher{position:relative;flex-wrap:nowrap;overflow:visible}
.top-strip .language-switcher .tos-language-flag{display:none}
.top-strip .language-switcher a[aria-current] .tos-language-flag{display:block}
.top-strip .language-switcher[data-enhanced] a[aria-current]{border-bottom-color:transparent!important}
.tos-language-track{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.tos-language-line{position:absolute;bottom:0;left:0;height:2px;background:#7ce0c8;pointer-events:none;transition:transform .18s ease,width .18s ease}
.top-strip .tos-language-note{position:absolute;top:calc(100% + 9px);right:0;z-index:1003;display:grid;grid-template-columns:auto auto;gap:6px 12px;width:max-content;max-width:min(290px,calc(100vw - 28px));padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--muted-foreground);box-shadow:0 5px 18px rgb(0 0 0 / .10);font-size:12px;line-height:1.5;white-space:normal;text-align:left}
.top-strip .tos-language-note p{grid-column:1/-1;margin:0;max-width:100%;font:inherit;line-height:1.5}
.top-strip .tos-language-note button{min-width:0;min-height:40px;padding:5px 2px;font:inherit;line-height:1.4;text-align:left;border:0;border-radius:2px;background:transparent;color:var(--primary);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.top-strip .tos-language-note button:focus-visible{outline:2px solid var(--ring);outline-offset:2px}
.tos-location-detail[hidden]{display:none!important}
@media(hover:hover) and (pointer:fine) and (min-width:741px){
 .top-strip .language-switcher[data-enhanced] a{width:49px;min-width:49px;gap:4px;padding-inline:3px}
 .top-strip .language-switcher a .tos-language-flag{display:block;visibility:hidden}
 .top-strip .language-switcher a[aria-current] .tos-language-flag,.top-strip .language-switcher a:hover .tos-language-flag,.top-strip .language-switcher a:focus-visible .tos-language-flag{visibility:visible}
}
@media(max-width:740px){.top-strip .tos-language-note{top:calc(100% + 46px)}}
@media(max-width:640px){.brand-shelf .brand-list>.brand-mark{min-height:64px;padding:12px 7px}.brand-shelf .brand-mark picture{height:28px}.brand-shelf .brand-mark img{max-height:26px;max-width:min(78px,100%)}.brand-shelf .brand-name{font-size:.68rem}}
@media(prefers-color-scheme:dark){.brand-shelf .brand-mark img{opacity:.77}}
@media(prefers-reduced-motion:reduce){.tos-language-line{transition:none}}
@media(forced-colors:active){.tos-language-line{background:Highlight;forced-color-adjust:none}.top-strip .tos-language-note{border-color:CanvasText}.brand-shelf .brand-mark img{opacity:1}}
/* 1.3.29 — active language pinned left; canonical options remain reachable. */
.top-strip .language-switcher{max-width:100%;gap:5px;justify-content:flex-start}
.top-strip .language-switcher>a[aria-current]{flex:none;border-right:1px solid #ffffff2e;border-radius:0;padding-right:9px;margin-right:2px}
.tos-language-options{display:flex;align-items:center;gap:2px;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#83afa0 transparent;padding:4px 2px}
.tos-language-options a{flex:none}
.top-strip .language-switcher .tos-language-options a:focus-visible{outline-offset:-2px}
.top-strip .language-switcher::before{display:none}
.tos-policy-table{margin:20px 0;max-width:100%}
.tos-policy-table table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.875rem;line-height:1.6}
.tos-policy-table th,.tos-policy-table td{padding:12px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--border);overflow-wrap:anywhere}
.tos-policy-table thead th{font-weight:600;color:var(--muted-foreground);background:var(--surface-soft)}
.tos-policy-table tbody th{font-weight:600}
.tos-policy-note{font-size:.8rem;color:var(--muted-foreground);line-height:1.65}
.tos-region-policy p{max-width:80ch;margin-block:16px}
.tos-location-detail>summary{cursor:pointer;min-height:36px;line-height:1.5}
.tos-location-detail a{display:inline-block;text-decoration:underline;min-height:30px;line-height:1.5;color:var(--primary)}
@media(max-width:740px){.top-strip .language-switcher{width:100%;justify-self:stretch}.top-strip .language-switcher>a[aria-current]{padding-right:7px}.tos-language-options{flex:1}.top-strip .language-switcher:not([data-enhanced]){flex-wrap:wrap}.tos-policy-table th,.tos-policy-table td{padding:10px 6px;font-size:.8rem}}
@media(forced-colors:active){.top-strip .language-switcher>a[aria-current]{border-right-color:CanvasText}.tos-language-options{scrollbar-color:auto}}

.top-strip .tos-language-note .tos-language-privacy{grid-column:1/-1;font-size:11px;color:var(--muted-foreground);text-decoration:underline;text-underline-offset:3px;min-height:24px;display:inline-flex;align-items:center}

/* Consolidation 1.3.30 */
.tos-personalization-note{padding:22px 24px;margin:24px 0;border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:12px;background:var(--surface-soft);max-width:100%;overflow-wrap:anywhere}
.tos-personalization-note h2{font-size:1.05rem;margin:0 0 8px;line-height:1.4}
.tos-personalization-note p{font-size:.95rem;line-height:1.65;margin:0;max-width:85ch}
.tos-personalization-note[hidden]{display:none}
.tos-navigation-notice{max-width:1100px;margin:16px auto;padding:16px 20px;border:2px solid var(--primary);border-radius:10px;background:var(--surface-soft);color:var(--foreground);font-size:.95rem;line-height:1.6;overflow-wrap:anywhere}
@media(max-width:740px){.tos-personalization-note{padding:18px}.tos-navigation-notice{margin:12px 16px}}
/* 1.3.30: long catalogue labels must fit a 320px viewport in every language. */
.catalog-layout>section,.category-grid,.category-card{min-width:0}
.category-card h2,.category-card h3,.category-card p,.category-examples{overflow-wrap:anywhere;hyphens:auto}
/* Preserve the supplied artwork; improve its effective display size and contrast. */
.brand-shelf.brand-shelf-compact .brand-list>.brand-mark{min-height:84px}
.brand-shelf-compact .brand-mark picture{height:42px}
.brand-shelf.brand-shelf-compact .brand-mark img{max-height:40px;max-width:min(126px,100%);opacity:1}
