/* Silurian.shop public catalogue. */
/* Update id: CX-MFQT */
:root {
    --shop-bg: #f4f5f5;
    --shop-surface: #fff;
    --shop-surface-soft: #f8f9f9;
    --shop-ink: #171a1c;
    --shop-muted: #687177;
    --shop-line: #dfe3e5;
    --shop-line-strong: #c9d0d4;
    --shop-orange: #e85d23;
    --shop-orange-dark: #ba4215;
    --shop-green: #14805e;
    --shop-shadow: 0 18px 50px rgba(19, 25, 29, .08);
}
:root[data-theme="dark"] {
    --shop-bg: #0f1113;
    --shop-surface: #171a1d;
    --shop-surface-soft: #1d2124;
    --shop-ink: #f1f3f4;
    --shop-muted: #a4abb0;
    --shop-line: #2c3135;
    --shop-line-strong: #3a4146;
    --shop-orange: #ff7640;
    --shop-orange-dark: #ff986d;
    --shop-green: #5ed0a7;
    --shop-shadow: 0 20px 55px rgba(0, 0, 0, .28);
}
/* Premium interaction layer: motion stays subtle, touch remains immediate and
 * keyboard focus is always more visible than a hover-only treatment. */
.shop-page :focus-visible { outline: 3px solid color-mix(in srgb,var(--shop-orange) 74%,#fff); outline-offset: 3px; }
.shop-page button,.shop-page summary,.shop-page input,.shop-page select { -webkit-tap-highlight-color: transparent; }
.shop-hero { background: radial-gradient(900px 420px at 83% 30%,color-mix(in srgb,var(--shop-orange) 9%,transparent),transparent 66%),var(--shop-surface); }
.shop-hero:after { position:absolute; z-index:0; right:8%; bottom:-96px; width:230px; height:230px; border:1px solid color-mix(in srgb,var(--shop-orange) 36%,transparent); border-radius:50%; box-shadow:0 0 0 28px color-mix(in srgb,var(--shop-orange) 5%,transparent),0 0 0 58px color-mix(in srgb,var(--shop-orange) 3%,transparent); content:""; pointer-events:none; }
.shop-hero__grid { z-index:1; isolation:isolate; }
.shop-live-search > button,.shop-product-buybox button,.shop-product-card footer > a { transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease; }
.shop-live-search > button:active,.shop-product-buybox button:active,.shop-product-card footer > a:active { transform:translateY(1px) scale(.985); }
.shop-product-card { contain:layout paint; }
.shop-product-card__image { background:linear-gradient(145deg,#fff,#f5f7f8); }
:root[data-theme="dark"] .shop-product-card__image,:root[data-theme="dark"] .shop-live-search__image,:root[data-theme="dark"] .shop-live-search__media { background:linear-gradient(145deg,#f7f8f8,#e7eaeb); }
.shop-category-grid > a,.shop-product-card,.shop-brand-list a { will-change:transform; }
.shop-home-rail:not(.shop-home-rail--loading) .shop-product-card,.shop-brand-list:not(.shop-brand-list--loading) a { animation:shop-card-in .38s cubic-bezier(.2,.8,.2,1) both; }
@keyframes shop-card-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media (hover:hover) and (pointer:fine) { .shop-live-search > button:hover,.shop-product-buybox button:hover { box-shadow:0 9px 20px color-mix(in srgb,var(--shop-orange) 24%,transparent); transform:translateY(-1px); }.shop-category-grid > a:hover > i:last-child { color:var(--shop-orange); transform:translateX(3px); }.shop-category-grid > a > i:last-child { transition:transform .16s ease,color .16s ease; }.shop-product-card:hover { box-shadow:0 22px 52px rgba(18,23,26,.11); }.shop-brand-list a:hover { box-shadow:0 10px 22px rgba(18,23,26,.06); transform:translateY(-1px); } }
@media (prefers-reduced-motion:reduce) { .shop-page *:not(.shop-home-skeleton):not(.shop-brand-skeleton), .shop-page *:not(.shop-home-skeleton):not(.shop-brand-skeleton)::before, .shop-page *:not(.shop-home-skeleton):not(.shop-brand-skeleton)::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.01ms !important; } }
.shop-page { min-height: 70vh; overflow: clip; background: var(--shop-bg); color: var(--shop-ink); }
.shop-page *, .shop-page *:before, .shop-page *:after { box-sizing: border-box; }
.shop-page a { color: inherit; }
.shop-toolbar { position: sticky; z-index: 9; top: 0; border-bottom: 1px solid var(--shop-line); background: color-mix(in srgb,var(--shop-surface) 94%,transparent); box-shadow: 0 8px 26px rgba(17,22,25,.05); backdrop-filter: blur(18px); }
.shop-toolbar__inner { display: grid; min-height: 76px; grid-template-columns: auto minmax(260px,1fr) auto; align-items: center; gap: 16px; }
.corporate-site--shop .corporate-header .corporate-brand { display: grid; grid-template-rows: auto auto; align-content: center; justify-items: start; }
.corporate-site--shop .corporate-header .corporate-brand::after { margin-top: -2px; padding-left: 5px; color: var(--shop-muted); content: "SHOP"; font: 750 10px/1 var(--silurian-mono,monospace); letter-spacing: .3em; }
.shop-category-menu { position: relative; }
.shop-category-menu > summary { display: flex; min-height: 42px; align-items: center; gap: 9px; padding: 0 13px; border: 1px solid var(--shop-line); border-radius: 9px; background: var(--shop-surface-soft); color: var(--shop-ink); font-size: 12px; font-weight: 650; list-style: none; cursor: pointer; }
.shop-category-menu > summary::-webkit-details-marker { display: none; }.shop-category-menu > summary .fa-chevron-down { color: var(--shop-muted); font-size: 8px; }
.shop-category-menu[open] > summary { border-color: var(--shop-orange); }
.shop-category-menu__panel { position: absolute; top: calc(100% + 12px); left: -120px; display: grid; width: min(980px,calc(100vw - 32px)); max-height: min(72vh,680px); grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; overflow-y: auto; border: 1px solid var(--shop-line-strong); border-radius: 13px; background: var(--shop-surface); box-shadow: var(--shop-shadow); }
.shop-category-menu__panel section { min-width: 0; padding: 18px; border-right: 1px solid var(--shop-line); border-bottom: 1px solid var(--shop-line); }
.shop-category-menu__root { display: flex; align-items: center; gap: 9px; margin-bottom: 10px; color: var(--shop-ink); font-size: 13px; font-weight: 720; text-decoration: none; }.shop-category-menu__root i { width: 18px; color: var(--shop-orange); text-align: center; }
.shop-category-menu__panel section > div { display: grid; gap: 2px; }.shop-category-menu__panel section > div a { display: flex; justify-content: space-between; gap: 8px; padding: 5px 0; color: var(--shop-muted); font-size: 11px; text-decoration: none; }.shop-category-menu__panel section > div a:hover { color: var(--shop-orange-dark); }.shop-category-menu__panel small { color: var(--shop-muted); font-size: 9px; }
.shop-live-search { position: relative; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; border: 1px solid var(--shop-line-strong); border-radius: 11px; background: var(--shop-surface); box-shadow: 0 7px 24px rgba(20,26,30,.05); }
.shop-live-search:focus-within { border-color: var(--shop-orange); box-shadow: 0 0 0 3px color-mix(in srgb,var(--shop-orange) 14%,transparent); }
.shop-live-search input:focus-visible { outline: none; }
.shop-live-search > i { margin-left: 15px; margin-right: 9px; color: var(--shop-orange); font-size: 13px; }.shop-live-search input { min-width: 0; height: 44px; padding: 0 13px; border: 0; outline: 0; background: transparent; color: var(--shop-ink); font: inherit; font-size: 13px; }.shop-live-search input::placeholder { color: var(--shop-muted); opacity: .8; }
.shop-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin:32px 0 8px;padding-top:20px;border-top:1px solid var(--shop-line);font-size:13px}.shop-pagination a{color:var(--shop-ink);font-weight:700;text-decoration:none}.shop-pagination a:last-child{text-align:right}.shop-pagination strong{color:var(--shop-muted);font-weight:600}.shop-pagination span{min-height:1px}
.shop-live-search > button { min-height: 36px; margin-right: 4px; padding: 0 15px; border: 0; border-radius: 8px; background: var(--shop-ink); color: var(--shop-surface); font: inherit; font-size: 11px; font-weight: 700; cursor: pointer; }
:root[data-theme="dark"] .shop-live-search > button { background: var(--shop-orange); color: #111; }
.shop-live-search__results { position: absolute; z-index: 80; top: calc(100% + 9px); right: 0; left: 0; max-height: min(68vh,560px); overflow-y: auto; border: 1px solid var(--shop-line-strong); border-radius: 12px; background: var(--shop-surface); box-shadow: var(--shop-shadow); }
.shop-live-search__results > header { display: flex; align-items: center; justify-content: space-between; padding: 11px 13px; border-bottom: 1px solid var(--shop-line); color: var(--shop-muted); font-size: 10px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.shop-live-search__results > a { display: grid; min-height: 74px; grid-template-columns: 54px minmax(0,1fr) auto; align-items: center; gap: 11px; padding: 9px 13px; border-bottom: 1px solid var(--shop-line); text-decoration: none; }.shop-live-search__results > a:last-child { border-bottom: 0; }.shop-live-search__results > a:hover,.shop-live-search__results > a.is-active { background: var(--shop-surface-soft); }
.shop-live-search__image { display: grid; width: 52px; height: 52px; place-items: center; overflow: hidden; border: 1px solid var(--shop-line); border-radius: 8px; background: #fff; color: var(--shop-muted); }.shop-live-search__image img { width: 100%; height: 100%; object-fit: contain; }
.shop-live-search__text { min-width: 0; }.shop-live-search__text strong { display: block; overflow: hidden; color: var(--shop-ink); font-size: 12px; font-weight: 650; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }.shop-live-search__text small { display: block; margin-top: 4px; overflow: hidden; color: var(--shop-muted); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }.shop-live-search__results > a > i { color: var(--shop-orange); font-size: 11px; }
.shop-live-search__empty { padding: 24px; color: var(--shop-muted); font-size: 12px; text-align: center; }
.shop-live-search__results > a.is-selected { background: var(--shop-surface-soft); outline: 2px solid color-mix(in srgb,var(--shop-orange) 32%,transparent); outline-offset: -2px; }
.shop-live-search__media { display: grid; width: 52px; height: 52px; place-items: center; overflow: hidden; border: 1px solid var(--shop-line); border-radius: 8px; background: #fff; color: var(--shop-muted); }.shop-live-search__media img { width: 100%; height: 100%; object-fit: contain; }
.shop-live-search__body { min-width: 0; }.shop-live-search__body small,.shop-live-search__body strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.shop-live-search__body small { margin-bottom: 4px; color: var(--shop-muted); font-size: 10px; }.shop-live-search__body strong { color: var(--shop-ink); font-size: 12px; line-height: 1.35; }
.shop-live-search__commercial { text-align: right; }.shop-live-search__commercial strong,.shop-live-search__commercial small { display: block; white-space: nowrap; }.shop-live-search__commercial strong { color: var(--shop-ink); font-size: 12px; }.shop-live-search__commercial small { margin-top: 4px; color: var(--shop-green); font-size: 9px; }
.shop-live-search__results > a.shop-live-search__all { display: flex; min-height: 42px; justify-content: center; color: var(--shop-orange); font-size: 11px; font-weight: 750; text-transform: uppercase; }
/* Desktop only (see the matching min-width check in shop.js): a richer full-page takeover with
 * category/brand facets, shown while typing instead of the compact per-input dropdown mobile
 * uses, where there is no room for a sidebar and the takeover made results land far from the
 * input the visitor was looking at. */
.shop-instant-search[hidden] { display: none; }.shop-instant-search { min-height: 72vh; padding: 42px 0 88px; background: var(--shop-bg); }.shop-instant-search__header { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }.shop-instant-search__header small { color: var(--shop-orange-dark); font-size: 10px; font-weight: 760; letter-spacing: .11em; text-transform: uppercase; }.shop-instant-search__term { margin: 8px 0 0; color: var(--shop-ink); font-size: clamp(18px,2vw,22px); font-weight: 640; letter-spacing: -.03em; }.shop-instant-search__header > strong,.shop-instant-search__count { color: var(--shop-muted); font-size: 11px; font-weight: 620; }.shop-instant-search__layout { display: grid; grid-template-columns: 230px minmax(0,1fr); align-items: start; gap: 26px; }.shop-instant-search__filters { position: sticky; top: 102px; display: grid; gap: 20px; padding: 18px; border: 1px solid var(--shop-line); border-radius: 12px; background: var(--shop-surface); }.shop-instant-search__filters section { display: grid; gap: 4px; }.shop-instant-search__filters h2 { margin: 0 0 8px; color: var(--shop-ink); font-size: 12px; }.shop-instant-search__filters button { display: flex; min-height: 31px; align-items: center; justify-content: space-between; gap: 10px; padding: 4px 7px; border: 0; border-radius: 6px; background: transparent; color: var(--shop-muted); font: inherit; font-size: 10px; text-align: left; cursor: pointer; }.shop-instant-search__filters button:hover { background: var(--shop-surface-soft); color: var(--shop-ink); }.shop-instant-search__filters button.is-active { background: color-mix(in srgb,var(--shop-orange) 13%,var(--shop-surface)); color: var(--shop-orange-dark); font-weight: 720; }.shop-instant-search__filters button small { color: inherit; opacity: .72; }.shop-instant-search__count { margin: 0 0 13px; }.shop-instant-search__results .shop-product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.shop-shipping-link { display: flex; min-height: 42px; align-items: center; gap: 8px; padding: 0 12px; border: 1px solid var(--shop-line); border-radius: 9px; color: var(--shop-muted) !important; font-size: 11px; font-weight: 680; text-decoration: none; white-space: nowrap; }.shop-shipping-link i { color: var(--shop-orange); }.shop-shipping-link:hover { border-color: var(--shop-orange); color: var(--shop-ink) !important; }
.shop-shipping-page { min-height: 72vh; padding: 35px 0 88px; background: var(--shop-bg); }.shop-shipping-page__inner > header { max-width: 760px; margin-bottom: 34px; }.shop-shipping-page__inner > header h1 { margin: 10px 0 12px; color: var(--shop-ink); font-size: clamp(38px,5vw,62px); font-weight: 640; letter-spacing: -.055em; }.shop-shipping-page__inner > header > p:last-child { margin: 0; color: var(--shop-muted); font-size: 14px; line-height: 1.7; }.shop-shipping-page__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; }.shop-shipping-page__grid article { min-height: 230px; padding: 25px; border: 1px solid var(--shop-line); border-radius: 13px; background: var(--shop-surface); }.shop-shipping-page__grid article > i { display: grid; width: 44px; height: 44px; margin-bottom: 28px; place-items: center; border-radius: 10px; background: color-mix(in srgb,var(--shop-orange) 12%,var(--shop-surface)); color: var(--shop-orange); }.shop-shipping-page__grid span { display: block; color: var(--shop-muted); font-size: 9px; font-weight: 740; letter-spacing: .09em; text-transform: uppercase; }.shop-shipping-page__grid strong { display: block; margin: 8px 0 10px; color: var(--shop-ink); font-size: 22px; letter-spacing: -.025em; }.shop-shipping-page__grid p,.shop-shipping-page__scope p { margin: 0; color: var(--shop-muted); font-size: 11px; line-height: 1.65; }.shop-shipping-page__scope { margin-top: 18px; padding: 25px; border-left: 3px solid var(--shop-orange); background: var(--shop-surface); }.shop-shipping-page__scope h2 { margin: 0 0 10px; font-size: 18px; }.shop-shipping-page__scope p + p { margin-top: 7px; }.shop-payment-page .shop-shipping-page__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.shop-payment-page .shop-shipping-page__grid article { display: flex; flex-direction: column; }.shop-payment-brands { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: auto; padding-top: 23px; }.shop-payment-brands img { box-sizing: border-box; width: 72px; height: 30px; max-width: 72px; padding: 0; border: 0; border-radius: 6px; background: transparent; object-fit: contain; }
.shop-unavailable { display: grid; min-height: 74vh; place-items: center; padding: 80px 0; background: var(--shop-bg); }.shop-unavailable__inner { max-width: 850px; text-align: center; }.shop-unavailable__mark { display: grid; width: 68px; height: 68px; margin: 0 auto 28px; place-items: center; border: 1px solid var(--shop-line); border-radius: 16px; background: var(--shop-surface); color: var(--shop-orange); font-size: 25px; }.shop-unavailable .corporate-eyebrow { justify-content: center; }.shop-unavailable h1 { margin: 13px auto 18px; color: var(--shop-ink); font-size: clamp(38px,6vw,66px); font-weight: 640; letter-spacing: -.058em; line-height: 1.02; }.shop-unavailable__inner > p:not(.corporate-eyebrow) { max-width: 680px; margin: 0 auto 29px; color: var(--shop-muted); font-size: 15px; line-height: 1.7; }
.shop-hero { position: relative; padding: 86px 0 78px; overflow: hidden; border-bottom: 1px solid var(--shop-line); background: var(--shop-surface); }.shop-hero:before { position: absolute; inset: 0; background-image: linear-gradient(var(--shop-line) 1px,transparent 1px),linear-gradient(90deg,var(--shop-line) 1px,transparent 1px); background-size: 46px 46px; content: ""; opacity: .34; mask-image: linear-gradient(90deg,transparent 5%,#000 58%,transparent 100%); }
.shop-hero__grid { position: relative; display: grid; grid-template-columns: minmax(0,1.3fr) minmax(320px,.7fr); align-items: center; gap: 70px; }.shop-hero__content h1 { max-width: 820px; margin: 14px 0 18px; color: var(--shop-ink); font-size: clamp(40px,5.2vw,70px); font-weight: 640; letter-spacing: -.055em; line-height: .98; }.shop-hero__content > p:not(.corporate-eyebrow) { max-width: 720px; margin: 0 0 30px; color: var(--shop-muted); font-size: 16px; line-height: 1.7; }
.shop-hero__stats { display: flex; flex-wrap: wrap; gap: 34px 44px; margin: 0; padding: 0; list-style: none; }.shop-hero__stats li { display: flex; flex-direction: column; gap: 5px; }.shop-hero__stats strong { color: var(--shop-ink); font-size: clamp(28px,3.4vw,38px); font-weight: 660; letter-spacing: -.03em; line-height: 1; }.shop-hero__stats span { color: var(--shop-muted); font-size: 10px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.shop-results-page__brand-logo { align-self: center; width: min(150px,26vw); max-height: 72px; padding: 10px; border: 1px solid var(--shop-line); border-radius: 10px; background: #fff; object-fit: contain; }
.shop-hero__status { position: relative; padding: 29px; border: 1px solid var(--shop-line-strong); border-radius: 17px; background: color-mix(in srgb,var(--shop-surface) 92%,transparent); box-shadow: var(--shop-shadow); }.shop-hero__status:before { position: absolute; top: -1px; right: 30px; left: 30px; height: 3px; background: var(--shop-orange); content: ""; }.shop-hero__status > span { color: var(--shop-orange-dark); font-size: 10px; font-weight: 760; letter-spacing: .14em; text-transform: uppercase; }.shop-hero__status > strong { display: block; margin: 11px 0; color: var(--shop-ink); font-size: 26px; letter-spacing: -.035em; }.shop-hero__status > p { margin: 0 0 25px; color: var(--shop-muted); font-size: 12px; line-height: 1.6; }.shop-hero__status > div { display: flex; align-items: center; gap: 12px; padding: 15px; border-radius: 10px; background: var(--shop-surface-soft); }.shop-hero__status > div > i { color: var(--shop-orange); font-size: 21px; }.shop-hero__status > div span { color: var(--shop-muted); font-size: 11px; }.shop-hero__status > div b { display: block; margin-bottom: 3px; color: var(--shop-ink); }
.shop-confidence { background: var(--shop-ink); color: var(--shop-surface); }.shop-confidence__grid { display: grid; grid-template-columns: repeat(3,1fr); }.shop-confidence article { display: flex; min-height: 132px; align-items: center; gap: 16px; padding: 25px 34px; border-right: 1px solid color-mix(in srgb,var(--shop-surface) 16%,transparent); }.shop-confidence article:last-child { border-right: 0; }.shop-confidence article > i { color: var(--shop-orange); font-size: 26px; }.shop-confidence strong { display: block; margin-bottom: 5px; font-size: 14px; }.shop-confidence p { margin: 0; color: color-mix(in srgb,var(--shop-surface) 67%,transparent); font-size: 11px; line-height: 1.5; }
:root[data-theme="dark"] .shop-confidence { background: #08090a; color: #f4f5f5; }
.shop-section { padding: 68px 0; background: var(--shop-bg); }.shop-section:nth-of-type(even) { background: var(--shop-surface); }.shop-section__heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }.shop-section__heading > div { display: flex; align-items: baseline; gap: 12px; }.shop-section__heading > div > span { color: var(--shop-orange); font-family: var(--silurian-mono,monospace); font-size: 11px; font-weight: 750; }.shop-section__heading h2 { margin: 0; color: var(--shop-ink); font-size: clamp(25px,3vw,38px); font-weight: 640; letter-spacing: -.045em; }.shop-section__heading > a { color: var(--shop-muted); font-size: 11px; font-weight: 700; text-decoration: none; }.shop-section__heading > a:hover { color: var(--shop-orange-dark); }
.shop-category-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }.shop-category-grid > a { display: grid; min-height: 112px; grid-template-columns: 46px minmax(0,1fr) auto; align-items: center; gap: 14px; padding: 20px; border: 1px solid var(--shop-line); border-radius: 12px; background: var(--shop-surface); color: var(--shop-ink); text-decoration: none; transition: border-color .16s ease,transform .16s ease,box-shadow .16s ease; }.shop-category-grid > a:hover { border-color: var(--shop-orange); box-shadow: 0 15px 35px rgba(18,23,26,.07); transform: translateY(-2px); }.shop-category-grid > a > i:first-child { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 10px; background: color-mix(in srgb,var(--shop-orange) 11%,var(--shop-surface)); color: var(--shop-orange); font-size: 18px; }.shop-category-grid span { min-width: 0; }.shop-category-grid strong { display: block; font-size: 13px; line-height: 1.25; }.shop-category-grid small { display: block; margin-top: 6px; color: var(--shop-muted); font-size: 9px; }.shop-category-grid > a > i:last-child { color: var(--shop-muted); font-size: 9px; }
.shop-product-rail { display: grid; grid-auto-columns: minmax(230px,280px); grid-auto-flow: column; gap: 13px; overflow-x: auto; padding: 2px 2px 15px; scroll-snap-type: x mandatory; scrollbar-width: thin; }.shop-product-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.shop-product-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid var(--shop-line); border-radius: 12px; background: var(--shop-surface); color: var(--shop-ink); scroll-snap-align: start; transition: border-color .16s ease,box-shadow .16s ease,transform .16s ease; }.shop-product-card:hover { border-color: var(--shop-line-strong); box-shadow: 0 18px 42px rgba(18,23,26,.08); transform: translateY(-2px); }
.shop-product-card__image { position: relative; display: grid; height: 210px; place-items: center; overflow: hidden; border-bottom: 1px solid var(--shop-line); background: #fff; color: #aab0b4; }.shop-product-card__image img { box-sizing: border-box; width: 100%; height: 100%; padding: 18px; object-fit: contain; object-position: center; transition: transform .25s ease; }.shop-product-card:hover .shop-product-card__image img { transform: none; }.shop-product-card__image > i { font-size: 34px; }
.shop-product-card__body { display: flex; min-height: 194px; flex: 1; flex-direction: column; padding: 17px; }.shop-product-card__body > span,.shop-product-card__brand { overflow: hidden; color: var(--shop-orange-dark); font-size: 9px; font-weight: 760; letter-spacing: .08em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }.shop-product-card__brand { text-decoration: none; }.shop-product-card__brand:hover { color: var(--shop-orange); text-decoration: underline; }.shop-product-card h3 { margin: 8px 0 10px; font-size: 13px; font-weight: 630; line-height: 1.45; }.shop-product-card h3 a { text-decoration: none; }.shop-product-card h3 a:hover { color: var(--shop-orange-dark); }.shop-product-card code { display: block; overflow: hidden; color: var(--shop-muted); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }.shop-product-card footer { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 18px; }.shop-product-card footer small { display: block; max-width: 150px; color: var(--shop-muted); font-size: 9px; line-height: 1.3; }.shop-product-card footer strong { display: block; margin-top: 4px; color: var(--shop-ink); font-size: 19px; }.shop-product-card footer > a { display: grid; width: 32px; height: 32px; flex: 0 0 auto; place-items: center; border: 1px solid var(--shop-line); border-radius: 8px; color: var(--shop-orange); font-size: 10px; text-decoration: none; }.shop-product-card footer > a:hover { border-color: var(--shop-orange); background: var(--shop-orange); color: #fff; }
.shop-brand-list { display: flex; flex-wrap: wrap; gap: 8px; }.shop-brand-list a { display: flex; min-height: 43px; align-items: center; gap: 10px; padding: 0 14px; border: 1px solid var(--shop-line); border-radius: 9px; background: var(--shop-surface); text-decoration: none; }.shop-brand-list a:hover { border-color: var(--shop-orange); }.shop-brand-list img { width: 28px; height: 24px; object-fit: contain; }.shop-brand-list strong { font-size: 12px; }.shop-brand-list small { display: grid; min-width: 21px; height: 21px; place-items: center; border-radius: 999px; background: var(--shop-surface-soft); color: var(--shop-muted); font-size: 8px; }
.shop-content-page { min-height: 68vh; padding: 35px 0 82px; background: var(--shop-bg); }.shop-content-page__narrow { max-width: 960px; }.shop-content-page__header { display: flex; align-items: center; gap: 26px; margin-bottom: 35px; padding-bottom: 30px; border-bottom: 1px solid var(--shop-line); }.shop-content-page__header > img { width: min(210px,28vw); max-height: 100px; padding: 14px; border: 1px solid var(--shop-line); border-radius: 12px; background: #fff; object-fit: contain; }.shop-content-page__header h1 { margin: 9px 0 9px; color: var(--shop-ink); font-size: clamp(35px,5vw,58px); font-weight: 640; letter-spacing: -.055em; }.shop-content-page__header p:last-child { margin: 0; color: var(--shop-muted); font-size: 13px; line-height: 1.65; }
.shop-brands-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(150px,1fr)); gap: 12px; }.shop-brand-tile { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 18px 14px; border: 1px solid var(--shop-line); border-radius: 12px; background: var(--shop-surface); text-align: center; text-decoration: none; transition: border-color .16s ease,box-shadow .16s ease,transform .16s ease; }.shop-brand-tile:hover { border-color: var(--shop-orange); box-shadow: 0 14px 34px rgba(18,23,26,.08); transform: translateY(-2px); }.shop-brand-tile img { width: 100%; height: 56px; object-fit: contain; }.shop-brand-tile__placeholder { display: grid; width: 100%; height: 56px; place-items: center; border-radius: 8px; background: var(--shop-surface-soft); color: var(--shop-muted); font-size: 15px; font-weight: 760; letter-spacing: .04em; text-transform: uppercase; }.shop-brand-tile strong { overflow: hidden; max-width: 100%; color: var(--shop-ink); font-size: 12px; font-weight: 680; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }.shop-brand-tile small { color: var(--shop-muted); font-size: 9px; }
.shop-faq { display: grid; gap: 9px; }.shop-faq details { border: 1px solid var(--shop-line); border-radius: 11px; background: var(--shop-surface); }.shop-faq summary { position: relative; padding: 18px 46px 18px 19px; color: var(--shop-ink); font-size: 13px; font-weight: 680; list-style: none; cursor: pointer; }.shop-faq summary::-webkit-details-marker { display: none; }.shop-faq summary:after { position: absolute; top: 18px; right: 19px; color: var(--shop-orange); content: "+"; font: 700 16px/1 var(--silurian-mono,monospace); }.shop-faq details[open] summary:after { content: "−"; }.shop-faq p { margin: 0; padding: 0 19px 19px; color: var(--shop-muted); font-size: 12px; line-height: 1.75; }
.shop-legal-copy { padding: 6px 0 0; }.shop-legal-copy h2 { margin: 28px 0 8px; color: var(--shop-ink); font-size: 18px; }.shop-legal-copy h2:first-child { margin-top: 0; }.shop-legal-copy p { margin: 0; color: var(--shop-muted); font-size: 12px; line-height: 1.8; }.shop-legal-copy strong { color: var(--shop-ink); }
.shop-withdrawal-form { margin-top: 12px; padding: 18px 20px; border: 1px solid var(--shop-line); border-left: 3px solid var(--shop-orange); border-radius: 10px; background: var(--shop-surface); }.shop-withdrawal-form p + p { margin-top: 13px; }.shop-withdrawal-form small { color: var(--shop-muted); font-size: 10px; line-height: 1.6; }
.shop-service-nav { border-top: 1px solid var(--shop-line); background: var(--shop-surface); }.shop-service-nav > div { display: flex; flex-wrap: wrap; gap: 7px 22px; padding-top: 24px; padding-bottom: 24px; }.shop-service-nav a { color: var(--shop-muted); font-size: 10px; font-weight: 680; text-decoration: none; }.shop-service-nav a:hover { color: var(--shop-orange-dark); }
.shop-results-page,.shop-product-page { min-height: 68vh; padding: 35px 0 80px; background: var(--shop-bg); }.shop-breadcrumb { display: flex; min-width: 0; align-items: center; gap: 8px; margin: 0 0 30px; overflow: hidden; color: var(--shop-muted); font-size: 10px; white-space: nowrap; }.shop-breadcrumb a { color: var(--shop-muted); text-decoration: none; }.shop-breadcrumb a:hover { color: var(--shop-orange-dark); }.shop-breadcrumb i { font-size: 7px; }.shop-breadcrumb span { overflow: hidden; text-overflow: ellipsis; }
.shop-results-page__header { display: flex; align-items: end; justify-content: space-between; margin-bottom: 28px; }.shop-results-page__header h1 { margin: 10px 0 4px; color: var(--shop-ink); font-size: clamp(30px,4vw,48px); font-weight: 640; letter-spacing: -.05em; }.shop-results-page__header > div > p:last-child { margin: 0; color: var(--shop-muted); font-size: 11px; }
.shop-empty { display: grid; min-height: 360px; place-items: center; align-content: center; gap: 12px; border: 1px dashed var(--shop-line-strong); border-radius: 14px; background: var(--shop-surface); text-align: center; }.shop-empty > i { color: var(--shop-orange); font-size: 28px; }.shop-empty h2 { margin: 0; font-size: 20px; }.shop-empty a { color: var(--shop-orange-dark); font-size: 12px; font-weight: 700; }
.shop-product-page__grid { display: grid; grid-template-columns: minmax(0,1.06fr) minmax(360px,.94fr); gap: 54px; }.shop-product-gallery { min-width: 0; }.shop-product-gallery__main { display: grid; min-height: 530px; place-items: center; overflow: hidden; border: 1px solid var(--shop-line); border-radius: 15px; background: #fff; color: #aab0b4; }.shop-product-gallery__main img { width: 100%; height: 100%; max-height: 600px; padding: 34px; object-fit: contain; }.shop-product-gallery__main > i { font-size: 52px; }.shop-product-gallery__thumbs { display: flex; gap: 9px; margin-top: 11px; overflow-x: auto; }.shop-product-gallery__thumbs button { display: grid; width: 72px; height: 72px; flex: 0 0 auto; place-items: center; padding: 4px; border: 1px solid var(--shop-line); border-radius: 9px; background: #fff; cursor: pointer; }.shop-product-gallery__thumbs button:hover,.shop-product-gallery__thumbs button.is-active { border-color: var(--shop-orange); }.shop-product-gallery__thumbs img { width: 100%; height: 100%; object-fit: contain; }
.shop-product-info { min-width: 0; }.shop-product-info__category { margin: 0 0 10px; color: var(--shop-orange-dark); font-size: 10px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }.shop-product-info h1 { margin: 0 0 22px; color: var(--shop-ink); font-size: clamp(30px,4vw,50px); font-weight: 630; letter-spacing: -.048em; line-height: 1.06; }.shop-product-info__identity { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }.shop-product-info__identity span { min-width: 130px; padding: 10px 12px; border: 1px solid var(--shop-line); border-radius: 8px; background: var(--shop-surface); }.shop-product-info__identity small { display: block; margin-bottom: 4px; color: var(--shop-muted); font-size: 8px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }.shop-product-info__identity strong,.shop-product-info__identity code { color: var(--shop-ink); font-size: 11px; }
.shop-product-promise { display: flex; align-items: flex-start; gap: 13px; margin: 0 0 18px; padding: 16px; border: 1px solid var(--shop-line); border-radius: 10px; background: var(--shop-surface); }.shop-product-promise > i { margin-top: 2px; color: var(--shop-orange); }.shop-product-promise strong { font-size: 13px; }.shop-product-promise p { margin: 5px 0 0; color: var(--shop-muted); font-size: 11px; line-height: 1.5; }.shop-product-promise--available { border-color: color-mix(in srgb,var(--shop-green) 48%,var(--shop-line)); }.shop-product-promise--available > i { color: var(--shop-green); }
.shop-product-promise__total { display: block; margin-top: 9px; color: var(--shop-ink); font-size: 18px !important; }.shop-product-buybox button.is-loading { cursor: wait; opacity: .65; }
.shop-stock-alert { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 12px; padding: 15px 16px; border: 1px solid color-mix(in srgb,var(--shop-orange) 34%,var(--shop-line)); border-radius: 10px; background: color-mix(in srgb,var(--shop-orange) 7%,var(--shop-surface)); }.shop-stock-alert > div { min-width: 0; }.shop-stock-alert i { margin-right: 8px; color: var(--shop-orange); }.shop-stock-alert strong { color: var(--shop-ink); font-size: 12px; }.shop-stock-alert p { margin: 5px 0 0; color: var(--shop-muted); font-size: 10px; line-height: 1.55; }.shop-stock-alert button,.shop-stock-alert a { flex: 0 0 auto; padding: 10px 13px; border: 1px solid var(--shop-orange); border-radius: 8px; background: var(--shop-orange); color: #fff; font: 700 10px/1 var(--silurian-sans,Arial,sans-serif); text-decoration: none; cursor: pointer; }.shop-stock-alert button:disabled { cursor: wait; opacity: .74; }.shop-stock-alert.is-subscribed { border-color: color-mix(in srgb,var(--shop-green) 45%,var(--shop-line)); }.shop-stock-alert.is-subscribed button { border-color: var(--shop-green); background: var(--shop-green); }
.shop-allocation-warning { margin-top: 9px !important; padding-top: 9px; border-top: 1px solid var(--shop-line); }.shop-allocation-warning ul { display: grid; gap: 5px; margin: 8px 0 0; padding: 0; color: var(--shop-ink); font-size: 10px; list-style: none; }.shop-allocation-warning li:before { margin-right: 7px; color: var(--shop-orange); content: "•"; }
.shop-cart-link { display: inline-block; margin-top: 6px; color: var(--shop-orange-dark); font-size: 11px; font-weight: 750; text-decoration: none; }.shop-cart-link:hover { text-decoration: underline; }
.shop-product-buybox { display: grid; grid-template-columns: 130px minmax(0,1fr); gap: 9px; padding: 18px; border: 1px solid var(--shop-line-strong); border-radius: 12px; background: var(--shop-surface); }.shop-product-buybox label span { display: block; margin-bottom: 5px; color: var(--shop-muted); font-size: 9px; font-weight: 700; }.shop-product-buybox input { width: 100%; min-height: 43px; padding: 0 11px; border: 1px solid var(--shop-line); border-radius: 8px; background: var(--shop-surface-soft); color: var(--shop-ink); font: inherit; }.shop-product-buybox button { align-self: end; min-height: 43px; padding: 0 17px; border: 0; border-radius: 8px; background: var(--shop-orange); color: #fff; font: inherit; font-size: 11px; font-weight: 720; cursor: pointer; }.shop-product-buybox button i { margin-right: 8px; }.shop-product-buybox button:disabled { background: var(--shop-line-strong); color: var(--shop-muted); cursor: not-allowed; }.shop-product-buybox > small { grid-column: 1/-1; color: var(--shop-muted); font-size: 9px; }
.shop-product-description { margin-top: 25px; padding-top: 24px; border-top: 1px solid var(--shop-line); }.shop-product-description h2 { margin: 0 0 10px; font-size: 18px; }.shop-product-description p { margin: 0; color: var(--shop-muted); font-size: 12px; line-height: 1.7; }.shop-product-observed { margin: 18px 0 0; color: var(--shop-muted); font-size: 9px; }.shop-product-observed i { margin-right: 6px; color: var(--shop-orange); }
.shop-product-description ul { display: grid; gap: 7px; margin: 0; padding: 0; color: var(--shop-muted); font-size: 12px; line-height: 1.55; list-style: none; }.shop-product-description li { position: relative; padding-left: 16px; }.shop-product-description li:before { position: absolute; top: .65em; left: 0; width: 5px; height: 5px; border-radius: 50%; background: var(--shop-orange); content: ""; }
.shop-product-description__body[data-shop-description-expandable] { position: relative; max-height: 260px; overflow: hidden; }
.shop-product-description__body[data-shop-description-expandable].is-expanded { max-height: none; }
.shop-product-description__body[data-shop-description-expandable]:not(.is-expanded):after { position: absolute; right: 0; bottom: 0; left: 0; height: 64px; background: linear-gradient(to bottom,transparent,var(--shop-surface)); content: ""; }
.shop-product-description__toggle { margin-top: 12px; padding: 9px 16px; border: 1px solid var(--shop-line-strong); border-radius: 8px; background: transparent; color: var(--shop-ink); font: inherit; font-size: 12px; font-weight: 650; cursor: pointer; }
.shop-product-description__toggle:hover { background: var(--shop-surface-soft); }
.shop-product-specifications { margin-top: 26px; padding-top: 24px; border-top: 1px solid var(--shop-line); }.shop-product-specifications h2 { margin: 0 0 13px; color: var(--shop-ink); font-size: 18px; }.shop-product-specifications dl { margin: 0; border: 1px solid var(--shop-line); border-radius: 10px; overflow: hidden; }.shop-product-specifications dl > div { display: grid; grid-template-columns: minmax(130px,.8fr) minmax(0,1.2fr); gap: 18px; padding: 10px 12px; border-bottom: 1px solid var(--shop-line); background: var(--shop-surface); font-size: 11px; }.shop-product-specifications dl > div:last-child { border-bottom: 0; }.shop-product-specifications dt { color: var(--shop-muted); }.shop-product-specifications dd { margin: 0; color: var(--shop-ink); font-weight: 620; overflow-wrap: anywhere; }.shop-product-specifications dd ul { margin: 0; padding-left: 17px; display: grid; gap: 5px; }.shop-product-specifications dd li::marker { color: var(--shop-orange); }
.shop-section--recently-viewed { border-top: 1px solid var(--shop-line); }
.shop-product-history__grid.shop-product-history__grid--single,.shop-history-dialog__grid.shop-history-dialog__grid--single { grid-template-columns: minmax(0,1fr); }
.shop-product-history { margin-top: 55px; padding-top: 32px; border-top: 1px solid var(--shop-line); }.shop-product-history > header { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 18px; }.shop-product-history > header small,.shop-product-history article > span { color: var(--shop-orange-dark); font-size: 9px; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }.shop-product-history h2 { margin: 6px 0 0; font-size: 25px; }.shop-product-history > header > span,.shop-product-history > p { color: var(--shop-muted); font-size: 10px; }.shop-product-history__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }.shop-product-history article { padding: 18px; border: 1px solid var(--shop-line); border-radius: 11px; background: var(--shop-surface); }.shop-product-history svg { display: block; width: 100%; height: 130px; margin-top: 9px; }.shop-history-grid { fill: none; stroke: var(--shop-line); stroke-width: 1; }.shop-history-line { fill: none; stroke: var(--shop-orange); stroke-linecap: round; stroke-linejoin: round; stroke-width: 3; }.shop-history-labels { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: start; gap: 9px; color: var(--shop-muted); font-size: 9px; }.shop-history-labels__point { display: flex; min-width: 0; flex-direction: column; }.shop-history-labels__point--latest { text-align: right; }.shop-history-labels small { font-size: 8px; font-weight: 720; letter-spacing: .06em; text-transform: uppercase; }.shop-history-labels strong { color: var(--shop-ink); font-size: 11px; }.shop-history-labels time { margin-top: 2px; }.shop-history-labels__change { align-self: center; padding: 4px 8px; border-radius: 999px; color: var(--shop-ink); background: var(--shop-surface-soft); font-size: 10px; font-weight: 760; text-align: center; white-space: nowrap; }.shop-history-labels__change small { display: block; margin-top: 2px; color: var(--shop-muted); font-size: 7px; font-weight: 650; letter-spacing: 0; text-transform: none; }.shop-history-labels__change.rise { color: #278b4c; }.shop-history-labels__change.fall { color: #c44747; }.shop-product-history > p { margin: 12px 0 0; line-height: 1.5; }
.shop-product-history__tools { display: flex; align-items: center; gap: 12px; }.shop-product-history__tools > span { color: var(--shop-muted); font-size: 10px; }.shop-history-expand { min-height: 34px; padding: 7px 10px; border: 1px solid var(--shop-line-strong); border-radius: 8px; background: var(--shop-surface); color: var(--shop-ink); font: 750 10px/1 var(--silurian-sans,Arial,sans-serif); cursor: pointer; transition: border-color .16s ease,background .16s ease; }.shop-history-expand:is(:hover,:focus-visible) { border-color: var(--shop-orange); background: var(--shop-surface-soft); }.shop-history-dialog { width: min(950px,calc(100vw - 28px)); max-height: min(760px,calc(100vh - 28px)); padding: 0; overflow: hidden; border: 1px solid var(--shop-line-strong); border-radius: 18px; background: var(--shop-bg); color: var(--shop-ink); box-shadow: 0 32px 100px rgba(0,0,0,.42); }.shop-history-dialog::backdrop { background: rgba(7,9,11,.68); backdrop-filter: blur(5px); }.shop-history-dialog[hidden] { display: none; }.shop-history-dialog__panel { padding: clamp(19px,3vw,34px); }.shop-history-dialog header { display: flex; align-items: start; justify-content: space-between; gap: 18px; padding-bottom: 18px; border-bottom: 1px solid var(--shop-line); }.shop-history-dialog header small { color: var(--shop-orange-dark); font-size: 9px; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }.shop-history-dialog h2 { margin: 6px 0 0; font-size: clamp(23px,4vw,34px); }.shop-history-dialog__close { display: grid; width: 36px; height: 36px; place-items: center; flex: 0 0 auto; border: 1px solid var(--shop-line-strong); border-radius: 50%; background: var(--shop-surface); color: var(--shop-ink); cursor: pointer; }.shop-history-dialog__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 20px; }.shop-history-dialog article { padding: 20px; border: 1px solid var(--shop-line); border-radius: 12px; background: var(--shop-surface); }.shop-history-dialog article > span { color: var(--shop-orange-dark); font-size: 10px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }.shop-history-dialog svg { height: 280px; }
.shop-quote-price { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-top: 10px; }.shop-quote-price span { padding: 10px; border-radius: 7px; background: var(--shop-surface-soft); }.shop-quote-price small { display: block; color: var(--shop-muted); font-size: 8px; }.shop-quote-price b { display: block; margin-top: 4px; color: var(--shop-ink); font-size: 16px; }
.sr-only { position: absolute!important; width: 1px!important; height: 1px!important; padding: 0!important; overflow: hidden!important; clip: rect(0,0,0,0)!important; white-space: nowrap!important; border: 0!important; }

@media (max-width: 1180px) {
    .shop-toolbar__inner { grid-template-columns: auto minmax(240px,1fr) auto; }.shop-category-menu { order: 4; grid-column: 1/-1; margin-top: -8px; padding-bottom: 10px; }.shop-category-menu > summary { width: max-content; }.shop-category-menu__panel { left: 0; }
    .shop-category-grid,.shop-product-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }.shop-hero__grid { gap: 35px; }
}
@media (max-width: 900px) {
    .shop-toolbar__inner { grid-template-columns: auto minmax(0,1fr); gap: 10px; padding-block: 10px; }.shop-live-search--toolbar { grid-column: 1/-1; grid-row: 2; }.shop-shipping-link { justify-self: end; }.shop-category-menu { grid-column: 1/-1; grid-row: 3; margin: 0; padding: 0; }.shop-category-menu__panel { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .shop-hero { padding: 60px 0; }.shop-hero__grid { grid-template-columns: 1fr; }.shop-hero__status { max-width: 600px; }.shop-confidence__grid { grid-template-columns: 1fr; }.shop-confidence article { min-height: 96px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.13); }.shop-confidence article:last-child { border-bottom: 0; }
    .shop-category-grid,.shop-product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.shop-product-page__grid { grid-template-columns: 1fr; }.shop-product-gallery__main { min-height: 420px; }.shop-shipping-page__grid { grid-template-columns: 1fr; }.shop-shipping-page__grid article { min-height: 0; }
}
@media (max-width: 600px) {
    .shop-toolbar__inner { padding-inline: 14px; }.shop-shipping-link span { display: none; }.shop-live-search > button { display: none; }.shop-live-search input { padding-right: 12px; }.shop-category-menu__panel { left: -14px; width: 100vw; grid-template-columns: 1fr; border-radius: 0 0 12px 12px; }.shop-category-menu__panel section { padding: 14px; }
    .shop-hero { padding: 44px 0; }.shop-hero__grid { gap: 28px; }.shop-hero__content h1 { font-size: 39px; }.shop-hero__content > p:not(.corporate-eyebrow) { font-size: 14px; }.shop-hero__stats { gap: 22px 30px; }.shop-hero__status { padding: 22px; }
    .shop-section { padding: 47px 0; }.shop-section__heading { align-items: center; }.shop-section__heading h2 { font-size: 27px; }.shop-category-grid,.shop-product-grid { grid-template-columns: 1fr; }.shop-category-grid > a { min-height: 91px; }.shop-product-rail { grid-auto-columns: minmax(218px,82vw); }.shop-product-card__image { height: 190px; }.shop-shipping-page { padding-top: 24px; }.shop-unavailable { padding: 55px 0; }.shop-product-history__grid,.shop-history-dialog__grid { grid-template-columns: 1fr; }.shop-product-history > header { align-items: start; flex-direction: column; }.shop-history-dialog svg { height: 200px; }
    .shop-results-page,.shop-product-page,.shop-content-page { padding-top: 23px; }.shop-content-page__header { align-items: flex-start; flex-direction: column; }.shop-content-page__header > img { width: 170px; max-height: 80px; }.shop-product-gallery__main { min-height: 320px; }.shop-product-gallery__main img { padding: 20px; }.shop-product-info h1 { font-size: 33px; }.shop-product-buybox { grid-template-columns: 1fr; }.shop-product-buybox > small { grid-column: 1; }.shop-breadcrumb { margin-bottom: 21px; }
    .shop-stock-alert { align-items: flex-start; flex-direction: column; }.shop-stock-alert button,.shop-stock-alert a { width: 100%; text-align: center; }
}

/* Payment marks are presented as equal rounded badges; the wider PayPal badge preserves legibility. */
.shop-payment-brands { gap: 14px; }
.shop-payment-brands img { display: block; box-sizing: border-box; width: 92px; height: 52px; max-width: none; padding: 8px; border: 0; border-radius: 12px; background: #fff; object-fit: contain; }
.shop-payment-brands img.shop-payment-brand--paypal { width: 118px; height: 52px; padding: 2px; }

/* Home rails reserve their final footprint while the public catalogue payload
 * is fetched after first paint. The animation signals activity without making
 * the page appear frozen, in either colour scheme. */
.shop-home-rail--loading { overflow: hidden; }
.shop-home-skeleton { display: block; min-height: 404px; border: 1px solid var(--shop-line); border-radius: 12px; background: linear-gradient(105deg,var(--shop-surface-soft) 25%,color-mix(in srgb,var(--shop-surface-soft) 55%,var(--shop-line)) 42%,var(--shop-surface-soft) 58%); background-size: 220% 100%; animation: shop-home-loading 1.3s ease-in-out infinite; }
.shop-brand-list--loading { min-height: 43px; }
.shop-brand-skeleton { display: block; width: 135px; height: 43px; border: 1px solid var(--shop-line); border-radius: 9px; background: linear-gradient(105deg,var(--shop-surface-soft) 25%,color-mix(in srgb,var(--shop-surface-soft) 55%,var(--shop-line)) 42%,var(--shop-surface-soft) 58%); background-size: 220% 100%; animation: shop-home-loading 1.3s ease-in-out infinite; }
@keyframes shop-home-loading { to { background-position: -120% 0; } }
/* Deliberately not honouring prefers-reduced-motion here: the shimmer is the only signal a listing is still loading, not decorative motion. */

/* Product detail: the buying decision remains compact while technical content is easy to scan. */
.shop-product-page { background:radial-gradient(760px 480px at 8% 8%,color-mix(in srgb,var(--shop-orange) 6%,transparent),transparent 68%),var(--shop-bg); }
.shop-product-gallery__main { position:relative; border-radius:20px; box-shadow:var(--shop-shadow); background:radial-gradient(circle at 50% 45%,#fff 0 36%,#f3f5f5 100%); }
.shop-product-gallery__main img { position:relative; z-index:1; transition:transform .35s cubic-bezier(.2,.8,.2,1); }
.shop-product-gallery__thumbs button { transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease; }
.shop-product-gallery__thumbs button:is(:hover,.is-active) { box-shadow:0 8px 18px rgba(18,23,26,.09); transform:translateY(-1px); }
.shop-product-info { align-self:start; }
.shop-product-info__identity span { transition:border-color .16s ease,background .16s ease; }
.shop-product-info__identity span:hover { border-color:color-mix(in srgb,var(--shop-orange) 42%,var(--shop-line)); background:var(--shop-surface-soft); }
.shop-product-promise { border-radius:14px; box-shadow:0 8px 22px rgba(18,23,26,.035); }
.shop-product-promise--available { background:linear-gradient(125deg,color-mix(in srgb,var(--shop-green) 8%,var(--shop-surface)),var(--shop-surface)); }
.shop-allocation-warning { margin:10px 0 0; padding:12px; border:1px solid color-mix(in srgb,var(--shop-orange) 42%,var(--shop-line)); border-radius:10px; background:color-mix(in srgb,var(--shop-orange) 7%,var(--shop-surface)); color:var(--shop-ink); }.shop-allocation-warning p { margin:0; }.shop-allocation-warning ul { margin:8px 0; padding-left:18px; }.shop-allocation-warning__explanation { color:var(--shop-muted); font-size:12px; line-height:1.45; }.shop-allocation-warning__contact,.shop-volume-contact { margin-top:8px!important; font-size:12px; font-weight:650; }.shop-allocation-warning a,.shop-volume-contact a { color:var(--shop-orange-dark); text-decoration:underline; text-underline-offset:2px; }
.shop-product-buybox { position:relative; overflow:hidden; border-radius:14px; box-shadow:0 14px 32px rgba(18,23,26,.07); }
.shop-product-buybox:before { position:absolute; top:0; right:0; left:0; height:3px; background:linear-gradient(90deg,var(--shop-orange),color-mix(in srgb,var(--shop-orange) 28%,transparent)); content:""; }
.shop-product-buybox button { box-shadow:0 7px 16px color-mix(in srgb,var(--shop-orange) 25%,transparent); }
@media (hover:hover) and (pointer:fine) { .shop-product-gallery__main:hover img { transform:scale(1.025); } }
@media (min-width:901px) { .shop-product-info { position:sticky; top:96px; } }

/* A real folder-tab look: the tab strip's active button visually fuses into the content box
 * below it (matching background, no border between them), so it reads as "these buttons switch
 * what's inside this box" rather than a row of buttons sitting above an unrelated block. */
.shop-product-details-section { margin-top:40px; }
.shop-product-tabs { margin-top:0; }
.shop-product-tabs__list { position:relative; z-index:1; display:flex; gap:4px; overflow-x:auto; margin:0; padding:0 2px; }
.shop-product-tabs__list button { min-height:44px; flex:0 0 auto; padding:0 22px; border:1px solid var(--shop-line-strong); border-bottom:0; border-radius:12px 12px 0 0; background:var(--shop-surface-soft); color:var(--shop-muted); font:700 11px/1 var(--silurian-sans,Arial,sans-serif); text-transform:uppercase; letter-spacing:.05em; cursor:pointer; transition:background .16s ease,color .16s ease; }
.shop-product-tabs__list button:hover { color:var(--shop-ink); }
.shop-product-tabs__list button[aria-selected="true"] { background:var(--shop-surface); color:var(--shop-orange-dark); }
.shop-product-tabs .shop-product-tab-panel { position:relative; margin-top:-1px; padding:28px; border:1px solid var(--shop-line-strong); border-radius:0 12px 12px 12px; background:var(--shop-surface); box-shadow:0 16px 36px rgba(18,23,26,.05); }
.shop-product-tabs .shop-product-history { margin-top:-1px; }
@media (max-width:600px) { .shop-product-details-section { margin-top:28px; }.shop-product-tabs__list { margin-inline:-2px; }.shop-product-tabs__list button { padding-inline:15px; }.shop-product-tabs .shop-product-tab-panel { padding:20px; } }

/* Browsing a root category (e.g. "Computers and tablets") should let a visitor immediately drill
 * into its subcategories, shown as a row of chips between the header and the product grid rather
 * than making them scroll the whole grid or reopen the category menu. Never shown for a subcategory
 * itself (no further level exists) nor for a term/brand view. */
.shop-subcategory-nav { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:26px; }
.shop-subcategory-nav a { display:flex; align-items:center; gap:8px; min-height:38px; padding:0 14px; border:1px solid var(--shop-line-strong); border-radius:999px; background:var(--shop-surface); color:var(--shop-ink); font-size:12px; font-weight:650; text-decoration:none; transition:border-color .16s ease,background .16s ease,color .16s ease; }
.shop-subcategory-nav a:hover { border-color:var(--shop-orange); color:var(--shop-orange-dark); }
.shop-subcategory-nav small { color:var(--shop-muted); font-size:10px; font-weight:700; }
.shop-subcategory-nav a:hover small { color:inherit; }

/* A genuine "no stock" result in a listing keeps showing its last known price instead of
 * disappearing behind a generic "Not currently available" label. */
.shop-product-card footer small.shop-stock-status,.shop-stock-status { display:flex; align-items:center; gap:6px; }
.shop-stock-dot { display:inline-block; width:7px; height:7px; flex:0 0 auto; border-radius:50%; background:#e0483a; }
:root[data-theme="dark"] .shop-stock-dot { background:#ff6b5c; }

/* This uses the shop palette rather than a pale fixed warning colour, so the
 * contrast remains intact in the customer-selected dark theme. */
.shop-keyboard-layout-alert { display:flex; align-items:flex-start; gap:12px; margin:14px 0; padding:14px; border:1px solid color-mix(in srgb,var(--shop-orange) 52%,var(--shop-line)); border-radius:10px; background:color-mix(in srgb,var(--shop-orange) 9%,var(--shop-surface)); color:var(--shop-ink); }.shop-keyboard-layout-alert > i { margin-top:2px; color:var(--shop-orange-dark); }.shop-keyboard-layout-alert > div { min-width:0; flex:1; }.shop-keyboard-layout-alert strong { display:block; font-size:13px; }.shop-keyboard-layout-alert p { margin:4px 0 0; color:var(--shop-muted); font-size:12px; line-height:1.5; }.shop-keyboard-layout-alert button { min-height:34px; padding:7px 10px; border:1px solid var(--shop-line-strong); border-radius:8px; background:var(--shop-surface); color:var(--shop-ink); font:750 10px/1.2 var(--silurian-sans,Arial,sans-serif); cursor:pointer; }.shop-keyboard-layout-alert button:is(:hover,:focus-visible) { border-color:var(--shop-orange); background:var(--shop-surface-soft); }.shop-keyboard-layout-dialog { width:min(780px,calc(100vw - 28px)); padding:0; overflow:hidden; border:1px solid var(--shop-line-strong); border-radius:18px; background:var(--shop-bg); color:var(--shop-ink); box-shadow:0 32px 100px rgba(0,0,0,.42); }.shop-keyboard-layout-dialog::backdrop { background:rgba(7,9,11,.68); backdrop-filter:blur(5px); }.shop-keyboard-layout-dialog__panel { padding:clamp(19px,3vw,34px); }.shop-keyboard-layout-dialog header { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding-bottom:18px; border-bottom:1px solid var(--shop-line); }.shop-keyboard-layout-dialog header small { color:var(--shop-orange-dark); font-size:9px; font-weight:750; letter-spacing:.09em; text-transform:uppercase; }.shop-keyboard-layout-dialog h2 { margin:6px 0 0; font-size:clamp(23px,4vw,34px); }.shop-keyboard-layout-dialog header button { display:grid; width:36px; height:36px; place-items:center; flex:0 0 auto; border:1px solid var(--shop-line-strong); border-radius:50%; background:var(--shop-surface); color:var(--shop-ink); cursor:pointer; }.shop-keyboard-layout-dialog svg { display:block; width:100%; margin-top:20px; border:1px solid var(--shop-line-strong); border-radius:12px; background:var(--shop-surface); }.shop-keyboard-layout-dialog__keys text { fill:var(--shop-ink); font:700 18px var(--silurian-sans,Arial,sans-serif); letter-spacing:4px; }.shop-keyboard-layout-dialog p { margin:14px 0 0; color:var(--shop-muted); font-size:12px; line-height:1.5; }
@media (max-width:620px) { .shop-keyboard-layout-alert { flex-wrap:wrap; }.shop-keyboard-layout-alert button { margin-left:28px; }.shop-keyboard-layout-dialog__keys text { font-size:15px; letter-spacing:1px; } }

.shop-keyboard-layout-dialog__keyboard { display:grid; gap:7px; margin-top:20px; padding:14px; overflow:auto; border:1px solid var(--shop-line-strong); border-radius:12px; background:linear-gradient(145deg,var(--shop-surface),var(--shop-surface-soft)); }.shop-keyboard-layout-dialog__keyboard > div { display:flex; min-width:650px; gap:6px; }.shop-keyboard-layout-dialog__keyboard span { display:grid; width:42px; height:42px; place-content:center; flex:0 0 auto; border:1px solid var(--shop-line-strong); border-radius:6px; background:var(--shop-bg); box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--shop-line-strong) 70%,transparent),0 1px 1px rgba(0,0,0,.12); color:var(--shop-ink); font:750 13px/1 var(--silurian-sans,Arial,sans-serif); text-align:center; }.shop-keyboard-layout-dialog__keyboard span small { margin-top:2px; color:var(--shop-muted); font:650 9px/1 var(--silurian-sans,Arial,sans-serif); }.shop-keyboard-layout-dialog__keyboard .shop-keyboard-layout-dialog__key--medium { width:61px; font-size:10px; }.shop-keyboard-layout-dialog__keyboard .shop-keyboard-layout-dialog__key--wide { width:81px; }.shop-keyboard-layout-dialog__keyboard .shop-keyboard-layout-dialog__key--large { width:88px; font-size:10px; }.shop-keyboard-layout-dialog__keyboard .shop-keyboard-layout-dialog__key--xlarge { width:111px; }.shop-keyboard-layout-dialog__keyboard .shop-keyboard-layout-dialog__key--space { width:237px; }.shop-keyboard-layout-dialog__keyboard .shop-keyboard-layout-dialog__key--accent { border-color:var(--shop-orange); background:color-mix(in srgb,var(--shop-orange) 16%,var(--shop-surface)); color:var(--shop-orange-dark); box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--shop-orange) 55%,transparent),0 1px 1px rgba(0,0,0,.12); }
