/* Every rule is scoped to the catalogue. No theme, header or footer reset. */
.ncs{--ncs-accent:#D72C32;--ncs-ink:#202428;--ncs-panel:#F6F7F8;--ncs-border:#E6E9EB;--ncs-best:#202428;--ncs-radius:10px;--ncs-border-width:1px;--ncs-accent-ink:#fff;--ncs-best-ink:#fff;width:100%;max-width:none;margin:0 auto;padding:clamp(16px,2vw,24px) 0 56px;color:var(--ncs-ink);background:#fff;font-family:inherit;font-size:15px;line-height:1.65;min-width:0}
.ncs *,.ncs *::before,.ncs *::after{box-sizing:border-box}
.ncs [hidden]{display:none!important}
.ncs h1,.ncs h2,.ncs h3,.ncs p,.ncs fieldset,.ncs legend{margin:0;padding:0;color:inherit}
.ncs a{color:inherit;text-decoration:none}
.ncs button,.ncs input,.ncs select{font-family:inherit;line-height:1.4;letter-spacing:normal;max-width:100%;box-shadow:none;text-transform:none}
.ncs button,.ncs select,.ncs a{touch-action:manipulation}
.ncs button{cursor:pointer}
.ncs a:focus-visible,.ncs button:focus-visible,.ncs input:focus-visible,.ncs select:focus-visible,.ncs [tabindex]:focus-visible{outline:3px solid var(--ncs-accent);outline-offset:4px}
.ncs svg{display:inline-block;flex:none;vertical-align:middle;max-width:100%}
.ncs .ncs-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.ncs .ncs-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:56px;align-items:center;margin-bottom:28px}
.ncs .ncs-intro>*{min-width:0}
.ncs .ncs-eyebrow{display:flex;gap:12px;align-items:center;text-transform:uppercase;font-size:11px;font-weight:750;letter-spacing:.12em;margin-bottom:17px}
.ncs .ncs-eyebrow::before{content:"";width:28px;height:2px;background:var(--ncs-accent)}
.ncs h1{font-size:clamp(30px,3.4vw,46px);line-height:1.18;letter-spacing:-.045em;font-weight:750;margin-bottom:16px;overflow-wrap:anywhere}
.ncs .ncs-introduction{font-size:15px;color:#59636b;max-width:540px}
/* Width overrides apply to the shared catalogue, leaving the site header/footer alone. */
body.ncs-full-width-page{--ncs-page-gutter:clamp(16px,2vw,32px)}
body.ncs-full-width-page #content>.ast-container{width:100%;max-width:none;padding-inline:var(--ncs-page-gutter)}
/* Astra's archive margin and separate-container padding otherwise stack above
   the banner. Keep the header's own sticky offset and all horizontal gutters. */
body.ncs-full-width-page #primary{width:100%;max-width:none;margin-inline:0;margin-block-start:0;padding-inline:0;padding-block-start:0}
body.ncs-full-width-page #primary>.site-main:has(.ncs){margin-block-start:0;padding-block-start:0}
body.ncs-full-width-page #primary .ast-woocommerce-container:has(.ncs){padding-block-start:0}
body.ncs-full-width-page main:has(.ncs){width:100%;max-width:none;padding-inline:var(--ncs-page-gutter);box-sizing:border-box}
body.ncs-full-width-page #primary>main:has(.ncs){padding-inline:0}
body.ncs-full-width-page main .wp-block-group:has(.ncs){max-width:none;width:100%;margin-inline:0;padding-inline:0}
body.ncs-full-width-page main .ncs.alignfull{width:100%;max-width:none;margin-inline:0}
/* The static banner and gallery stay outside AJAX catalogue replacements. */
.ncs .ncs-shop-banner{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(24px,3vw,48px);align-items:end;margin:0 0 30px}
.ncs .ncs-shop-banner>*{min-width:0}
.ncs.ncs--two .ncs-shop-banner,.ncs .ncs-shop-banner--intro-only{grid-template-columns:minmax(0,1fr)}
.ncs .ncs-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:12px;color:#697178;margin:0 0 20px;min-height:30px}
.ncs .ncs-breadcrumb [aria-current]{min-width:0;overflow-wrap:anywhere}
.ncs .ncs-breadcrumb a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
.ncs .ncs-breadcrumb a:hover{color:#bd242a}
.ncs .ncs-shop-banner h1{font-size:clamp(32px,3.6vw,52px);font-weight:800;line-height:1.12;letter-spacing:-.045em;color:#24282c;margin-bottom:18px}
.ncs .ncs-heading-highlight{background:linear-gradient(transparent 72%,#f9dcdd 72%,#f9dcdd 92%,transparent 92%);box-decoration-break:clone;-webkit-box-decoration-break:clone}
.ncs .ncs-banner-introduction .ncs-introduction{max-width:650px;font-size:16px;line-height:1.75;color:#626a70;overflow-wrap:anywhere}
.ncs .ncs-shop-banner>.ncs-search-area{width:100%;max-width:none}
.ncs .ncs-banner-introduction .ncs-eyebrow{color:#555e64;margin-bottom:17px}
.ncs .ncs-banner-advice{min-width:0;background:#25292d;color:#fff;border-radius:18px;overflow:hidden}
.ncs .ncs-banner-advice--gallery{background:#fff;border-radius:16px}
.ncs .ncs-banner-advice--copy{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:24px;padding:24px}
.ncs .ncs-advice-copy{min-width:0;overflow-wrap:anywhere}
.ncs .ncs-advice-label{font-size:10px;font-weight:650;line-height:1.7;letter-spacing:.11em;color:#c3c8cc;margin-bottom:15px}
.ncs .ncs-banner-advice h2{color:#fff;font-size:25px;font-weight:750;line-height:1.22;letter-spacing:-.025em;margin-bottom:13px}
.ncs .ncs-advice-description{font-size:13px;line-height:1.8;color:#c3c8cc}
.ncs .ncs-advice-contact{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-top:13px;color:#ff8288;font-size:13px;line-height:1.5;font-weight:650}
.ncs .ncs-advice-contact:hover{color:#ffb1b5;text-decoration:underline;text-underline-offset:4px}
.ncs .ncs-slider{position:relative;min-width:0;width:100%}
/* Overlay the thin frame so slide images cannot paint over its border. */
.ncs .ncs-slider::after{content:"";position:absolute;inset:0;border:1px solid #34393e;border-radius:16px;pointer-events:none;z-index:1}
/* Keep the existing desktop height. Narrow layouts reserve the first attachment's
   proportions before loading, so wide artwork is not cropped into a tall frame.
   A minimum 68px keeps the 44px controls inside even extremely wide artwork. */
.ncs .ncs-slider-viewport{position:relative;width:100%;height:0;aspect-ratio:auto;min-height:0;max-height:none;padding-block-start:clamp(180px,calc((100% - clamp(24px,3vw,48px)) / 4.08),340px);overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;border-radius:16px;background:#fff;scrollbar-width:thin}
.ncs.ncs--two .ncs-slider-viewport{height:auto;padding-block-start:0;aspect-ratio:var(--ncs-banner-ratio,2000 / 475);min-height:68px}
.ncs .ncs-banner-advice--copy>*{grid-column:1/-1}
.ncs .ncs-slider-track{position:absolute;inset:0;width:100%;height:100%;display:flex}
.ncs .ncs-slide{position:relative;flex:0 0 100%;width:100%;min-width:0;height:100%;margin:0;scroll-snap-align:start}
.ncs .ncs-advice-image{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center center;margin:0;border-radius:0}
.ncs .ncs-slider--contain .ncs-advice-image{object-fit:contain}
.ncs.ncs--two .ncs-advice-image{object-fit:contain}
.ncs .ncs-slide--clone{display:none}
.ncs .ncs-slider-ready .ncs-slider-viewport{overflow:hidden;scroll-snap-type:none}
.ncs .ncs-slider-ready .ncs-slider-track{transform:translate3d(calc(var(--ncs-slide-index,0) * -100%),0,0)}
.ncs .ncs-slider-controls{position:absolute;inset:0;visibility:hidden;min-height:0;padding:0;background:none;color:#25292d;pointer-events:none}
.ncs .ncs-slider-ready .ncs-slider-controls{visibility:visible}
/* Small circles retain transparent 44px targets; hidden controls pass taps through. */
.ncs .ncs-slider-controls button{position:absolute;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:0;color:#25292d;background:transparent;font-size:14px;line-height:1;pointer-events:none;opacity:0;transition:opacity .16s ease;-webkit-tap-highlight-color:transparent}
.ncs .ncs-slider-controls button>span{display:grid;place-items:center;width:28px;height:28px;border:1px solid #34393e;border-radius:50%;background:#fff;font-size:14px;line-height:1;font-weight:600}
.ncs .ncs-slider-controls [data-ncs-previous]{left:12px;top:calc(50% - 22px)}
.ncs .ncs-slider-controls [data-ncs-next]{right:12px;top:calc(50% - 22px)}
.ncs .ncs-slider-controls [data-ncs-pause]{right:12px;bottom:12px}
.ncs.ncs--two .ncs-slider-controls [data-ncs-pause]{left:calc(50% - 22px);right:auto}
.ncs .ncs-slider-controls button:hover>span{background:#f0f2f3}
.ncs .ncs-slider-controls button:focus-visible{outline:0}
.ncs .ncs-slider-controls button:focus-visible>span{outline:3px solid var(--ncs-accent);outline-offset:3px}
.ncs .ncs-slider-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
/* Reveal on image hover. Coarse pointers keep controls available while a
   touched button has focus; mouse focus does not keep them visible on leave. */
.ncs .ncs-slider-ready:hover .ncs-slider-controls button{opacity:.8;pointer-events:auto}
@media(hover:none) and (pointer:coarse){.ncs .ncs-slider-ready:focus-within .ncs-slider-controls button{opacity:.8;pointer-events:auto}}
.ncs .ncs-slider-ready .ncs-slider-controls button:hover{opacity:1}
.ncs .ncs-slider-ready .ncs-slider-controls button:focus-visible{opacity:1;pointer-events:auto}
.ncs .ncs-slider-auto .ncs-slide--clone{display:block}
.ncs .ncs-slider-auto .ncs-slider-track{animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-play-state:paused}
.ncs .ncs-slider-auto[data-count="2"] .ncs-slider-track{animation-name:ncs-slide-two;animation-duration:6s}
.ncs .ncs-slider-auto[data-count="3"] .ncs-slider-track{animation-name:ncs-slide-three;animation-duration:9s}
.ncs .ncs-slider-auto[data-count="4"] .ncs-slider-track{animation-name:ncs-slide-four;animation-duration:12s}
.ncs .ncs-slider-auto.ncs-slider-running .ncs-slider-track{animation-play-state:running;will-change:transform}
/* Hold 2.65s, slide left for .35s. The duplicate first slide makes the loop seamless. */
@keyframes ncs-slide-two{0%,44.166667%{transform:translate3d(0,0,0)}50%,94.166667%{transform:translate3d(-100%,0,0)}100%{transform:translate3d(-200%,0,0)}}
@keyframes ncs-slide-three{0%,29.444444%{transform:translate3d(0,0,0)}33.333333%,62.777778%{transform:translate3d(-100%,0,0)}66.666667%,96.111111%{transform:translate3d(-200%,0,0)}100%{transform:translate3d(-300%,0,0)}}
@keyframes ncs-slide-four{0%,22.083333%{transform:translate3d(0,0,0)}25%,47.083333%{transform:translate3d(-100%,0,0)}50%,72.083333%{transform:translate3d(-200%,0,0)}75%,97.083333%{transform:translate3d(-300%,0,0)}100%{transform:translate3d(-400%,0,0)}}
@media(max-width:1100px){.ncs .ncs-shop-banner{grid-template-columns:minmax(0,1fr);gap:28px}.ncs .ncs-slider-viewport{height:auto;padding-block-start:0;aspect-ratio:var(--ncs-banner-ratio,2000 / 475);min-height:68px}.ncs .ncs-advice-image{object-fit:contain}.ncs .ncs-slider-controls [data-ncs-pause]{left:calc(50% - 22px);right:auto}.ncs .ncs-banner-advice h2{font-size:28px}.ncs .ncs-advice-description{font-size:15px}}
@media(max-width:600px){.ncs .ncs-shop-banner{gap:24px;margin-bottom:22px}.ncs .ncs-breadcrumb{margin-bottom:15px}.ncs .ncs-shop-banner h1{font-size:clamp(32px,8.5vw,40px)}.ncs .ncs-banner-introduction .ncs-introduction{font-size:14px;line-height:1.8}.ncs .ncs-banner-advice--copy{padding:18px;grid-template-columns:minmax(0,1fr)}.ncs .ncs-banner-advice h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){.ncs .ncs-slider-auto .ncs-slider-track{animation:none!important;transform:translate3d(calc(var(--ncs-slide-index,0) * -100%),0,0)!important}.ncs .ncs-slide--clone{display:none!important}.ncs .ncs-slider-controls button{transition:none}}
.ncs .ncs-search{display:grid;grid-template-columns:minmax(0,.24fr) minmax(0,1fr) auto;gap:24px;align-items:center;border:1px solid #d9dddf;border-radius:999px;padding:10px 12px 10px 28px;background:#fff;min-height:88px}
.ncs .ncs-search:not(:has(.ncs-search-brand)){grid-template-columns:minmax(0,1fr) auto}
.ncs .ncs-search-brand,.ncs .ncs-search-query{min-width:0}
.ncs .ncs-search-brand{border-right:1px solid #d9dddf;padding-right:24px}
.ncs .ncs-search label{display:block;font-size:13px;font-weight:700;line-height:1.4;margin:0 0 4px;color:var(--ncs-ink)}
.ncs .ncs-search input,.ncs .ncs-search select{display:block;width:100%;min-width:0;border:0;box-shadow:none;background-color:transparent;padding:0;font-size:16px;line-height:1.5;color:var(--ncs-ink);height:44px;min-height:44px;border-radius:0}
.ncs .ncs-search select{appearance:auto;background-image:none;padding-right:6px;text-overflow:ellipsis;cursor:pointer}
.ncs .ncs-search select:disabled{cursor:default;opacity:1}
.ncs .ncs-search input:focus{box-shadow:none}
.ncs .ncs-search input:focus-visible,.ncs .ncs-search select:focus-visible{outline:2px solid var(--ncs-accent);outline-offset:3px}
.ncs .ncs-brand-values{display:none}
.ncs .ncs-search .ncs-search-button{display:flex;align-items:center;justify-content:center;gap:9px;width:auto;min-width:124px;min-height:64px;padding:12px 24px;border-radius:999px;white-space:nowrap}
.ncs .ncs-search-button svg{width:22px;height:22px;flex-shrink:0}
.ncs.ncs--search-stacked .ncs-search{grid-template-columns:minmax(0,.55fr) minmax(0,1fr);border-radius:26px;padding:16px;gap:14px}
.ncs.ncs--search-stacked .ncs-search-brand{padding-right:14px}
.ncs.ncs--search-stacked .ncs-search-button{grid-column:1/-1;width:100%;min-height:48px}
.ncs.ncs--search-stacked .ncs-search:not(:has(.ncs-search-brand)){grid-template-columns:minmax(0,1fr)}
@media(max-width:600px){.ncs .ncs-search{grid-template-columns:minmax(0,.55fr) minmax(0,1fr);border-radius:26px;padding:16px;gap:14px}.ncs .ncs-search-brand{padding-right:14px}.ncs .ncs-search .ncs-search-button{grid-column:1/-1;width:100%;min-height:48px}.ncs .ncs-search:not(:has(.ncs-search-brand)){grid-template-columns:minmax(0,1fr)}}
.ncs .ncs-note{font-size:12px;line-height:1.7;color:#59636b;margin-top:10px}
.ncs .ncs-shortcuts{display:flex;gap:9px;flex-wrap:nowrap;overflow:auto;max-width:100%;padding:4px 4px 23px;margin:0 0 28px;border-bottom:1px solid var(--ncs-border);scrollbar-width:thin;overscroll-behavior-x:contain}
.ncs .ncs-shortcut{display:flex;align-items:center;gap:9px;flex:none;border:1px solid var(--ncs-border);background:#fff;border-radius:999px;min-height:44px;padding:10px 16px;font-size:13px;white-space:nowrap}
.ncs .ncs-shortcut.ncs-selected{background:var(--ncs-ink);border-color:var(--ncs-ink);color:#fff}
.ncs .ncs-shortcut:hover{border-color:var(--ncs-accent)}
.ncs .ncs-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:40px;align-items:start}
.ncs .ncs-layout>*{min-width:0}
.ncs .ncs-sidebar{background:var(--ncs-panel);border:1px solid #eceeef;border-radius:6px;padding:20px 17px}
.ncs .ncs-filter-heading{display:flex;align-items:center;gap:10px;margin-bottom:22px}
.ncs .ncs-filter-heading h2{font-size:16px;font-weight:750;margin-right:auto}
.ncs .ncs-reset,.ncs .ncs-clear{font-size:12px;text-decoration:underline;text-underline-offset:4px;display:inline-flex;align-items:center;min-height:44px;color:#4f5961}
.ncs .ncs-filter-section{border:0;border-bottom:1px solid #e1e5e8;margin-bottom:20px;padding-bottom:20px;min-width:0}
.ncs .ncs-filter-section legend{font-size:13px;font-weight:750;margin-bottom:10px;float:none;width:auto;border:0}
.ncs .ncs-clear{min-height:44px;margin-top:-8px;margin-bottom:8px}
.ncs .ncs-price-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.ncs .ncs-price-fields label{font-size:12px;color:#59636b;min-width:0}
.ncs .ncs-price-fields input{display:block;width:100%;min-width:0;min-height:44px;border:1px solid #d8dde1;border-radius:5px;background:#fff;color:var(--ncs-ink);padding:9px;margin-top:6px;font-size:14px}
.ncs .ncs-check{display:flex;align-items:flex-start;gap:9px;min-height:44px;padding:10px 0;cursor:pointer;font-size:13px;line-height:1.6;margin:0;color:var(--ncs-ink)}
.ncs .ncs-check input{appearance:auto;width:16px;height:16px;min-width:16px;accent-color:var(--ncs-accent);padding:0;margin:3px 0 0;border:1px solid #a6adb2;border-radius:3px;background:#fff;position:static;opacity:1}
.ncs .ncs-check span{overflow-wrap:anywhere;min-width:0}
.ncs .ncs-term-list{max-height:350px;overflow-y:auto;scrollbar-width:thin;padding:4px}
.ncs .ncs-filter-actions{display:flex;flex-direction:column;gap:4px;align-items:center}
.ncs .ncs-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:11px 16px;border:1px solid var(--ncs-accent);border-radius:5px;background:var(--ncs-accent);color:var(--ncs-accent-ink);font-size:13px;font-weight:650;text-align:center}
.ncs .ncs-button:hover{filter:brightness(.93);color:var(--ncs-accent-ink)}
.ncs .ncs-filter-actions .ncs-button{width:100%}
.ncs .ncs-advice{padding:18px 12px;background:#fff;border:1px solid var(--ncs-border);border-radius:5px;margin-top:14px}
.ncs .ncs-advice h3{font-size:14px;font-weight:750;margin-bottom:8px}
.ncs .ncs-advice p{font-size:12px;color:#59636b}
.ncs .ncs-advice a{display:flex;align-items:center;gap:8px;min-height:44px;margin-top:9px;font-size:13px;font-weight:650;color:var(--ncs-accent)}
.ncs .ncs-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:32px}
.ncs .ncs-toolbar h2{font-size:18px;font-weight:750;line-height:1.5}
.ncs .ncs-toolbar p{font-size:13px;color:#59636b;margin-top:3px}
.ncs .ncs-sort{display:flex;align-items:center;gap:9px;font-size:13px;min-width:0}
.ncs .ncs-sort label{color:#59636b;white-space:nowrap}
.ncs .ncs-sort select{width:164px;min-height:44px;padding:9px 25px 9px 10px;border:1px solid var(--ncs-border);border-radius:5px;background-color:#fff;color:var(--ncs-ink);font-size:13px}
.ncs .ncs-nojs-sort{border:1px solid var(--ncs-border);padding:10px;border-radius:5px;background:#fff;min-height:44px;font-size:12px;color:var(--ncs-ink)}
.ncs.ncs-enhanced .ncs-nojs-sort{display:none}
.ncs .ncs-active-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 25px;padding-bottom:3px}
.ncs .ncs-filter-chip{display:flex;align-items:center;gap:9px;min-height:44px;max-width:100%;padding:7px 11px;background:var(--ncs-panel);border:1px solid var(--ncs-border);border-radius:5px;font-size:12px;overflow-wrap:anywhere}
.ncs .ncs-filter-chip span{font-size:20px}
.ncs .ncs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px}
.ncs .ncs-card{display:flex;flex-direction:column;min-width:0;margin:0;background:#fff;border:0;padding:0}
.ncs .ncs-image-link{--ncs-image-padding:12px;display:block;position:relative;aspect-ratio:1;flex:none;min-height:0;padding:0;border:var(--ncs-border-width) solid var(--ncs-border);border-radius:var(--ncs-radius);background:#fff;transition:border-color .15s,box-shadow .15s}
.ncs .ncs-image-link img{position:absolute;top:var(--ncs-image-padding);left:var(--ncs-image-padding);display:block;width:calc(100% - 2 * var(--ncs-image-padding));height:calc(100% - 2 * var(--ncs-image-padding));max-width:none;max-height:none;object-fit:contain;border-radius:4px;margin:0;box-shadow:none}
.ncs .ncs-image-link:hover{border-color:var(--ncs-accent);box-shadow:0 5px 18px #2024280a}
.ncs .ncs-promoted .ncs-image-link{border-color:var(--ncs-card-border-colour,var(--ncs-accent));border-width:var(--ncs-card-border-width,var(--ncs-border-width))}
.ncs .ncs-badge{position:absolute;z-index:1;display:flex;align-items:center;justify-content:center;text-transform:uppercase;font-size:10px;line-height:1.3;letter-spacing:.035em;font-weight:750;pointer-events:none;border:3px solid #fff;text-align:center}
.ncs .ncs-best{top:-13px;left:12px;max-width:calc(100% - 72px);min-height:28px;padding:3px 10px;border-radius:6px;background:var(--ncs-best);color:var(--ncs-best-ink);overflow-wrap:anywhere}
.ncs .ncs-sale{top:-18px;right:10px;width:52px;height:52px;border-radius:50%;background:var(--ncs-accent);color:var(--ncs-accent-ink)}
.ncs .ncs-card-body{display:flex;flex-direction:column;align-items:center;flex:1;padding:16px 2px 0;text-align:center;min-width:0}
.ncs .ncs-card h3{font-size:17px;font-weight:500;line-height:1.65;letter-spacing:-.015em;margin:0 0 9px;overflow-wrap:anywhere}
.ncs .ncs-card h3 a:hover{color:var(--ncs-accent);text-decoration:underline;text-underline-offset:3px}
.ncs .ncs-price{font-size:15px;font-weight:550;line-height:1.65;margin-top:auto;margin-bottom:12px;overflow-wrap:anywhere;width:100%}
.ncs .ncs-price del{color:#6b7379;font-size:13px;font-weight:400;opacity:1;margin-right:4px}
.ncs .ncs-price ins{background:transparent;color:var(--ncs-ink);text-decoration:none}
.ncs .ncs-price .amount{white-space:normal}
.ncs .ncs-price small{display:block;font-size:11px}
.ncs .ncs-cart-action{width:100%;min-width:0;margin:0 0 8px}
.ncs .ncs-cart-action a.button,.ncs .ncs-cart-action .added_to_cart{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:44px;margin:0;padding:10px 8px;background:#fff;border:1px solid var(--ncs-ink);border-radius:5px;color:var(--ncs-ink);font-size:13px;font-weight:650;line-height:1.4;text-align:center;white-space:normal;overflow-wrap:anywhere;float:none;text-transform:none;box-shadow:none}
.ncs .ncs-cart-action a.button:hover{background:var(--ncs-panel);color:var(--ncs-ink)}
.ncs .ncs-cart-action .added_to_cart{margin-top:6px;border-color:var(--ncs-border);text-decoration:underline}
.ncs .ncs-cart-action a.loading{padding-right:30px}
.ncs .ncs-view-link{display:flex;align-items:center;justify-content:center;gap:6px;font-size:13px;min-height:44px;margin-bottom:6px;text-decoration:underline;text-underline-offset:3px}
.ncs .ncs-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:7px;margin-top:35px;padding-top:20px}
.ncs .ncs-pagination a{display:grid;place-items:center;border:1px solid var(--ncs-border);border-radius:5px;min-width:44px;min-height:44px;padding:8px;font-size:14px}
.ncs .ncs-pagination [aria-current="page"]{background:var(--ncs-ink);border-color:var(--ncs-ink);color:#fff}
.ncs .ncs-pagination a:hover{border-color:var(--ncs-accent)}
.ncs .ncs-dots{padding:0 3px}
.ncs .ncs-empty{padding:50px 20px;background:var(--ncs-panel);border:1px solid var(--ncs-border);border-radius:8px;text-align:center}
.ncs .ncs-empty h3{font-size:22px;margin-bottom:10px}
.ncs .ncs-empty p{color:#59636b;margin-bottom:22px}
.ncs .ncs-validation,.ncs .ncs-ajax-error{font-size:13px;color:#a21922;margin:12px 0}
.ncs .ncs-ajax-error{padding:14px;background:#fff0f1;border:1px solid #e7a6aa;border-radius:5px}
.ncs .ncs-ajax-error button,.ncs .ncs-ajax-error a{margin:0 8px;padding:6px;text-decoration:underline;color:#a21922;background:none;border:0;min-height:44px}
.ncs[aria-busy="true"] .ncs-results{opacity:.55;transition:opacity .15s}
.ncs[aria-busy="true"] .ncs-results::before{content:"Updating products…";display:block;padding:6px 0;font-size:13px;font-weight:650}
.ncs .ncs-filter-toggle,.ncs .ncs-close{display:none}
.ncs .ncs-overlay{position:fixed;inset:0;width:100%;height:100%;padding:0;background:#20242880;border:0;border-radius:0;z-index:999998}
.ncs.ncs--two .ncs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.ncs.ncs--compact .ncs-intro{grid-template-columns:1fr;gap:20px}
.ncs.ncs--compact .ncs-layout{grid-template-columns:minmax(0,1fr);gap:0}
.ncs.ncs--compact .ncs-sidebar{margin-bottom:26px}
.ncs.ncs--compact.ncs-enhanced .ncs-sidebar{display:none}
.ncs.ncs--compact.ncs-enhanced .ncs-filter-toggle{display:flex;align-items:center;gap:9px;border:1px solid #d8dcdd;background:#fff;color:var(--ncs-ink);min-height:46px;width:100%;padding:11px 14px;border-radius:5px;font-size:14px;font-weight:650;margin-bottom:24px}
.ncs .ncs-filter-toggle span{margin-left:auto;color:#59636b;font-weight:400;font-size:12px}
.ncs.ncs--compact .ncs-sidebar.ncs-drawer-open{display:block;position:fixed;top:0;bottom:0;right:0;width:min(380px,calc(100vw - 22px));height:100dvh;overflow:auto;margin:0;border-radius:0;padding:22px 20px;z-index:999999;overscroll-behavior:contain;box-shadow:-4px 0 28px #20242822}
.ncs .ncs-sidebar.ncs-drawer-open .ncs-close{display:grid;place-items:center;width:44px;min-width:44px;height:44px;border:1px solid #d8dcdd;background:#fff;color:var(--ncs-ink);border-radius:5px;font-size:28px;padding:0}
.ncs .ncs-sidebar.ncs-drawer-open .ncs-filter-actions{position:sticky;bottom:-22px;background:var(--ncs-panel);padding:12px 0 18px;z-index:2;flex-direction:row}
.ncs .ncs-sidebar.ncs-drawer-open .ncs-filter-actions .ncs-reset{white-space:nowrap}
.ncs .ncs-sidebar.ncs-drawer-open input[type="text"]{font-size:16px}
.ncs.ncs--narrow .ncs-grid{grid-template-columns:minmax(0,1fr)}
@media(max-width:1100px){.ncs .ncs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ncs .ncs-layout{gap:26px;grid-template-columns:205px minmax(0,1fr)}.ncs .ncs-intro{gap:32px}}
@media(max-width:900px){.ncs .ncs-intro{grid-template-columns:1fr;gap:20px}.ncs .ncs-layout{grid-template-columns:minmax(0,1fr);gap:0}.ncs .ncs-sidebar{margin-bottom:26px}.ncs.ncs-enhanced .ncs-sidebar:not(.ncs-drawer-open){display:none}.ncs.ncs-enhanced .ncs-filter-toggle{display:flex;align-items:center;gap:9px;min-height:46px;width:100%;padding:11px 14px;border:1px solid #d8dcdd;border-radius:5px;background:#fff;color:var(--ncs-ink);font-size:14px;font-weight:650;margin-bottom:24px}}
@media(max-width:600px){.ncs{padding:22px 0 40px}.ncs h1{font-size:32px}.ncs .ncs-eyebrow{margin-bottom:12px}.ncs .ncs-intro{margin-bottom:22px}.ncs .ncs-shortcuts{padding-bottom:17px;margin-bottom:20px}.ncs .ncs-search input{font-size:16px}.ncs .ncs-search-area>.ncs-note{font-size:12px}.ncs .ncs-toolbar{gap:10px;align-items:flex-start;margin-bottom:28px}.ncs .ncs-toolbar h2{font-size:16px}.ncs .ncs-toolbar p{font-size:12px}.ncs .ncs-sort label{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}.ncs .ncs-sort select{width:136px;font-size:12px;padding-right:18px}.ncs .ncs-grid{gap:30px 14px}.ncs .ncs-image-link{--ncs-image-padding:8px}.ncs .ncs-best{left:4px;top:-11px;max-width:calc(100% - 49px);padding:2px 5px;font-size:9px;min-height:24px;border-width:2px}.ncs .ncs-sale{top:-14px;right:3px;width:40px;height:40px;font-size:9px;border-width:3px}.ncs .ncs-card h3{font-size:15px;line-height:1.55}.ncs .ncs-card-body{padding:13px 0 0}.ncs .ncs-price{font-size:14px}.ncs .ncs-price del{font-size:12px}.ncs .ncs-nojs-sort{font-size:11px}.ncs .ncs-sort{flex-wrap:wrap;justify-content:flex-end}.ncs .ncs-pagination{gap:5px}.ncs .ncs-pagination a{min-width:44px}}
@media(max-width:360px){.ncs .ncs-grid{grid-template-columns:minmax(0,1fr)}.ncs .ncs-card h3{font-size:17px}.ncs .ncs-price{font-size:15px}.ncs .ncs-pagination a{min-width:44px}.ncs .ncs-pagination{gap:4px}}
@media(prefers-reduced-motion:reduce){.ncs *{transition:none!important;scroll-behavior:auto!important}}
@media(max-width:600px){.ncs .ncs-cart-action a.button,.ncs .ncs-cart-action .added_to_cart{font-size:12px}}
