/* Usability layer: retain the original brand and make all product paths accessible. */
:root{--muted:#596477}
[hidden]{display:none!important}
section[id]{scroll-margin-top:94px}
button,input,select{font:inherit}
button,a,input,select{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #2e68a3;outline-offset:4px}
button{cursor:pointer}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:16px;top:-100px;background:#fff;padding:12px 20px;z-index:300}
.skip-link:focus{top:10px}
.menu-toggle{display:none}
nav.menu{gap:22px}
nav.menu a{letter-spacing:.09em;opacity:1}
.text-button{background:none;border:0;color:var(--navy);text-decoration:underline;text-underline-offset:4px;padding:10px 4px;min-height:44px;font-size:14px}
.catalog-layout{grid-template-columns:220px minmax(0,1fr);gap:24px}
.catalog-layout>.catalog-bar{grid-column:1/-1;margin:0;flex-wrap:wrap}
.catalog-bar input[type=search]{min-width:180px;min-height:48px;font-size:16px}
.catalog-bar .result-count{margin-left:auto}
.filters-side{padding:18px}
.fgroup label{min-height:44px}
.fs-clear{min-height:44px;color:#775922}
.card .more{border:0;background:none;text-align:left;color:#71531f;min-height:44px;width:100%;padding:8px 0;font-size:12px;letter-spacing:.07em}
.card:focus-within{box-shadow:0 0 0 2px var(--navy)}
.card .specrow{font-size:13px}
.card .badge{letter-spacing:0;font-size:11px}
.card-match{color:#245f43;font-size:12px;margin-top:8px}
.line-tools{display:flex;align-items:end;gap:16px;padding:24px;background:#fff;border:1px solid var(--line);border-radius:6px}
.line-tools label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500;color:var(--navy)}
.line-tools .line-search{flex:1}
.line-tools input,.line-tools select{padding:12px;border:1px solid #bfc2c9;border-radius:3px;background:#fff;color:var(--ink);font-size:16px;min-height:48px;width:100%}
.line-summary{display:flex;justify-content:space-between;gap:12px;margin:18px 0;font-size:14px;color:var(--muted)}
.line-summary a{color:var(--navy);text-decoration:underline;text-underline-offset:4px}
.idx-name{background:none;border:0;padding:8px 0;text-align:left;color:var(--navy);font-family:var(--serif);font-size:24px;min-height:44px}
.idx-name span{display:block;font:12px var(--sans);color:#71531f}
.idx-table td{vertical-align:middle}
.idx-pill{white-space:normal!important;font-size:12px!important;letter-spacing:0!important}
.idx-match{display:block;color:#245f43;font-size:12px;margin-top:5px}
.availability-note{font-size:13px;color:var(--muted);margin-top:24px;max-width:850px}
.modal-card{max-height:92dvh;grid-template-rows:auto 1fr;overscroll-behavior:contain}
.modal-toolbar{grid-column:1/-1;position:sticky;top:0;z-index:3;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:6px 18px}
.modal-close{position:static;min-width:44px;min-height:44px}
.modal-img{min-width:0;min-height:300px;background-size:contain}
.modal-body{min-width:0;padding:22px}
.product-actions{padding:16px 0;border-bottom:1px solid var(--line)}
.product-actions p{font-size:14px;font-weight:500;margin-bottom:10px;color:var(--navy)}
.product-actions>div{display:flex;gap:10px;flex-wrap:wrap}
.product-actions .btn{font-size:11px;letter-spacing:.07em;padding:12px 15px;min-height:44px;text-align:center}
.product-actions small{display:block;font-size:12px;color:var(--muted);margin-top:8px}
.piece-table-wrap{overflow-x:auto}
.m-table .piece-choice{border:0;background:none;text-align:left;color:var(--navy);font-weight:500;min-height:44px;width:100%;font-size:13px;padding:6px 0}
.piece-status{display:block;font-size:11px;font-weight:400;line-height:1.4;margin-top:4px;color:#596477}
.piece-status.stock{color:#246340}
.piece-status.hold,.piece-status.check{color:#805b19}
.m-hint{color:#775922;letter-spacing:.03em;font-size:12px;text-transform:none}
.m-note{line-height:1.6}
.m-cap{letter-spacing:0}
.m-spec .v{font-size:20px}
.gate .btn{margin:4px}
.cx a{overflow-wrap:anywhere}
@media(max-width:1100px){nav.menu{gap:14px}nav.menu a{font-size:11px}.catalog-layout .grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){
 .menu-toggle{display:flex;align-items:center;gap:12px;background:transparent;color:var(--navy);padding:10px 14px;min-height:44px;border:1px solid var(--line);border-radius:3px}
 nav.menu{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 78px);overflow-y:auto;background:var(--paper);border-bottom:1px solid var(--line);padding:16px 24px;box-shadow:0 14px 25px #17244818}
 nav.menu.open{display:flex;align-items:stretch;flex-direction:column;gap:0}
 nav.menu a:not(.lock),nav.menu .dd{display:block}
 nav.menu a{font-size:13px;padding:12px 6px;min-height:44px}
 nav.menu .lock{margin-top:8px;justify-content:center}
 nav.menu .dd-panel{display:block;position:static;transform:none;padding:0}
 nav.menu .dd-inner{box-shadow:none;background:transparent;border:0;padding-left:14px;min-width:0}
 nav.menu .dd-inner a{white-space:normal;font-size:11px}
 .catalog-layout{grid-template-columns:minmax(0,1fr);gap:16px}
 .catalog-layout>.catalog-bar{grid-column:auto}
 .filters-side{margin:0}
 .line-tools{flex-wrap:wrap;padding:18px;gap:12px}
 .line-tools .line-search{flex:1 1 100%}
 .line-tools label:not(.line-search){flex:1 1 160px}
}
@media(max-width:760px){
 .modal{padding:8px}
 .modal-card{max-height:96dvh;grid-template-columns:minmax(0,1fr)}
 .modal-img{height:210px;min-height:210px;background-size:contain!important}
 .modal-body{padding:18px 14px}
 .m-spec .v{font-size:19px}
 .modal-img .m-cap{font-size:11px;padding:7px 10px}
}
@media(max-width:620px){
 .bar .logo{height:32px}
 .catalog-bar input[type=search]{order:0;flex:1 1 100%;width:100%}
 .catalog-bar .filters-toggle{order:1}
 #resetCatalog{order:2}
 .catalog-bar .result-count{order:3;font-size:12px}
 .card .badge{font-size:10px;padding:5px 7px;max-width:calc(100% - 12px);left:6px;top:6px}
 .card .more{font-size:11px;letter-spacing:0}
 .idx-name{font-size:22px}
 .idx-table th,.idx-table td{padding:12px 6px}
 .idx-pill{display:inline-block;max-width:110px}
 .line-summary{font-size:12px}
 .line-tools label:not(.line-search){flex:1 1 130px}
 .m-table th,.m-table td{padding-left:4px;padding-right:4px}
 .m-table .thumbcell{display:none}
 .m-table th:first-child{display:none}
 .m-table .dimcol{display:none!important}
 .product-actions .btn{flex:1}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media(min-width:761px){.modal-img{position:sticky;top:58px;height:calc(92dvh - 58px);align-self:start;max-height:680px}}
.badge,.idx-pill{text-transform:none}
.filters-apply{display:none}
.catalog-bar{scroll-margin-top:90px}
@media(max-width:900px){.filters-apply{display:block;width:100%;border:0;background:var(--navy);color:white;padding:12px;margin-top:20px;border-radius:3px;min-height:48px}}
/* Clipping must not create a scrolling ancestor that disables the sticky header. */
@media(max-width:620px){html,body{overflow-x:clip}}
.thumb{background-size:contain;background-repeat:no-repeat}
