/* Smart Search: quiet product cards and on-demand filters, scoped to this page. */
.ss-page { --ss-ink:#202735; --ss-blue:#293a60; --ss-muted:#596477; --ss-line:#e2e7ed; position:relative; color:var(--ss-ink); font-size:18px; line-height:1.6; background:#fff; }
.ss-page [hidden] { display:none!important; }
.ss-page .ss-shell { max-width:1440px; margin-inline:auto; padding-inline:32px; }
.ss-page button,.ss-page input,.ss-page select { font-family:inherit; }
.ss-page a { color:var(--ss-blue); }
.ss-page :is(a,button,input,select,summary):focus-visible { outline:3px solid #546ea6; outline-offset:3px; }
.ss-page button,.ss-page summary { cursor:pointer; }
.ss-page.storefront-main { padding-top:40px; }
/* Match the approved mounts / made-to-measure designer heading. */
.ss-page .storefront-page-heading { margin-bottom:24px; }
.ss-page .storefront-page-heading .ss-eyebrow { margin:0 0 8px; font-size:12px; letter-spacing:.12em; }
.ss-page .storefront-page-title { font-size:38px; letter-spacing:-.6px; line-height:1.2; }
.ss-page .ss-intro { margin:12px 0 0; color:var(--ss-muted); font-size:18px; }
.ss-page .ss-heading-copy { min-width:0; }
.ss-page label { margin:0; }
.ss-page .ss-size-inputs label,.ss-page .ss-paper label,.ss-page .ss-mount-colours label { display:block; font-size:15px; font-weight:600; line-height:1.4; margin-bottom:7px; }
.ss-page input[type=number],.ss-page select { width:100%; min-height:48px; min-width:0; padding:10px 12px; border:1px solid #cbd2dd; border-radius:7px; background:#fff; color:var(--ss-ink); font-size:17px; line-height:1.4; }
.ss-page input[type=number] { font-size:20px; }
.ss-page .ss-button { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:48px; padding:10px 20px; border:1px solid var(--ss-blue); border-radius:7px; background:var(--ss-blue); color:#fff; font-size:17px; font-weight:600; line-height:1.4; transition:background .15s; white-space:nowrap; }
.ss-page .ss-button:hover { background:#344b76; }
.ss-page .ss-filter-bar { display:flex; align-items:center; justify-content:space-between; gap:24px; position:relative; z-index:3; }
/* The first ss-shell ends with the catalogue, so sticky filters stop before reviews. */
@media(min-width:992px) {
 .ss-page #smart-search-form { position:sticky; top:0; z-index:20; margin:-12px -32px; padding:12px 32px; background:#fff; transition:box-shadow .18s ease; }
 .ss-page #smart-search-form.is-stuck { box-shadow:inset 0 -1px #e2e7ed,0 8px 16px -12px #20273530; }
 .ss-page #ss-results,.ss-page .ss-product-link { scroll-margin-top:104px; }
}
.ss-page .ss-filter { position:relative; scroll-margin-top:16px; }
.ss-page .ss-filter-menus { display:flex; gap:12px; }
.ss-page .ss-filter summary { display:flex; align-items:center; justify-content:space-between; gap:32px; min-height:64px; min-width:215px; padding:9px 16px; border:1px solid var(--ss-line); border-radius:8px; list-style:none; font-size:13px; color:var(--ss-muted); line-height:1.35; transition:border-color .15s,background .15s; }
.ss-page .ss-filter summary::-webkit-details-marker { display:none; }
.ss-page .ss-filter summary strong { display:block; font-size:17px; font-weight:600; color:var(--ss-ink); margin-top:2px; }
.ss-page .ss-filter summary:hover,.ss-page .ss-filter[open] summary { border-color:#9aa7bf; background:#f7f8fa; }
.ss-page .ss-chevron { width:7px; height:7px; flex:none; border-right:1.5px solid var(--ss-blue); border-bottom:1.5px solid var(--ss-blue); transform:rotate(45deg); margin-top:-4px; transition:transform .18s; }
.ss-page .ss-filter[open] .ss-chevron { transform:rotate(225deg); margin-top:4px; }
.ss-page .ss-filter-panel { position:absolute; z-index:5; top:calc(100% + 12px); left:0; width:560px; max-width:calc(100vw - 64px); padding:24px; border:1px solid var(--ss-line); border-radius:12px; background:#fff; box-shadow:0 16px 40px #2027351a,0 3px 8px #20273508; max-height:65vh; overflow:auto; overscroll-behavior:contain; }
.ss-page .ss-filter[open] .ss-filter-panel { animation:ss-reveal .16s ease-out; }
.ss-page .ss-filter-panel-mount { width:440px; }
.ss-page fieldset { margin:0; padding:0; border:0; min-width:0; }
.ss-page legend { float:none; width:auto; margin:0 0 16px; padding:0; font-size:18px; line-height:1.4; font-weight:600; }
.ss-page .ss-colours { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.ss-page .ss-colour { position:relative; cursor:pointer; }
.ss-page .ss-colour input { position:absolute; opacity:0; width:1px; height:1px; }
.ss-page .ss-colour-face { display:flex; align-items:center; gap:10px; min-height:46px; height:100%; border:1px solid transparent; border-radius:7px; padding:9px 12px; font-size:16px; line-height:1.3; color:var(--ss-ink); }
.ss-page .ss-colour-face:hover { background:#f7f8fa; }
.ss-page .ss-colour input:checked + .ss-colour-face { background:#f0f3f8; border-color:#7486a5; color:var(--ss-blue); font-weight:600; }
.ss-page .ss-colour input:focus-visible + .ss-colour-face { outline:3px solid #546ea6; outline-offset:2px; }
.ss-page .ss-swatch { width:18px; height:18px; border:1px solid #20273524; border-radius:50%; flex:none; }
.ss-page .ss-mount-styles { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.ss-page .ss-mount-styles label { cursor:pointer; position:relative; }
.ss-page .ss-mount-styles input { position:absolute; opacity:0; width:1px; height:1px; }
.ss-page .ss-mount-option { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:48px; padding:8px 5px 12px; border:1px solid var(--ss-line); border-radius:7px; font-size:16px; text-align:center; line-height:1.3; transition:border-color .15s,background .15s; }
.ss-page .ss-mount-option svg { display:block; width:100%; height:auto; max-width:112px; margin-bottom:4px; }
.ss-page .ss-mount-option strong { font-weight:600; }
.ss-page .ss-mount-option:hover { border-color:#8796b1; background:#f7f8fa; }
.ss-page .ss-mount-styles input:checked + .ss-mount-option { background:#f0f3f8; border-color:var(--ss-blue); box-shadow:0 0 0 1px var(--ss-blue); color:var(--ss-blue); }
.ss-page .ss-mount-styles input:focus-visible + .ss-mount-option { outline:3px solid #546ea6; outline-offset:3px; }
.ss-page .ss-mount-styles input:disabled + .ss-mount-option { opacity:.45; cursor:not-allowed; }
.ss-page .ss-mount-explainer { color:var(--ss-muted); font-size:15px; line-height:1.5; margin:-6px 0 18px; }
.ss-page .ss-mount-colours { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:20px; }
.ss-page .ss-filter-note { font-size:15px; color:var(--ss-muted); line-height:1.5; margin:16px 0; }
.ss-page .ss-done { min-width:140px; margin-left:auto; }
.ss-page .ss-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 24px; flex:none; }
.ss-page .ss-panel-heading h2 { margin:0; font-size:24px; font-weight:600; line-height:1.2; color:var(--ss-ink); outline:none; }
.ss-page .ss-panel-close { display:flex; align-items:center; justify-content:center; flex:none; width:44px; height:44px; border:0; border-radius:50%; background:#f3f5f8; color:var(--ss-muted); transition:background .18s,color .18s,transform .18s; }
.ss-page .ss-panel-close:hover { background:#e5eaf2; color:var(--ss-blue); }
.ss-page .ss-panel-close:active { transform:scale(.94); }
.ss-page .ss-panel-body { padding:0 24px 24px; }
.ss-page .ss-panel-footer { display:flex; flex:none; padding:16px 24px 20px; border-top:1px solid var(--ss-line); background:#fff; }
.ss-page .ss-panel-footer .ss-button { transition:background .18s,box-shadow .18s,transform .18s; }
.ss-page .ss-panel-footer .ss-button:hover { background:#3b527d; box-shadow:0 4px 12px #293a6026; transform:translateY(-1px); }
.ss-page .ss-panel-footer .ss-button:active { transform:translateY(0); box-shadow:none; }
.ss-page .ss-size-panel .ss-panel-footer .ss-button { width:100%; }
/* Native top-layer dialog supplies focus containment and an inert page behind it.
   The original details/form controls remain the no-JavaScript fallback. */
.ss-page .ss-filter-panel { padding:0; }
.ss-page .ss-filter-dialog { display:none; position:fixed; inset:auto; margin:0; padding:0; border:1px solid #dce2eb; border-radius:16px; background:#fff; color:var(--ss-ink); max-width:none; overflow:hidden; box-shadow:0 24px 70px #20273530,0 5px 16px #2027351a; opacity:0; transform:translateY(8px) scale(.985); transform-origin:top center; transition:opacity .18s ease,transform .18s cubic-bezier(.4,0,1,1); }
.ss-page .ss-filter-dialog[open] { display:flex; }
.ss-page .ss-filter-dialog.is-visible { opacity:1; transform:translateY(0) scale(1); transition-duration:.24s; transition-timing-function:cubic-bezier(.16,1,.3,1); }
.ss-page .ss-filter-dialog::backdrop { background:rgb(32 39 53 / .28); opacity:0; transition:opacity .18s ease; }
.ss-page .ss-filter-dialog.is-visible::backdrop { opacity:1; transition-duration:.24s; }
.ss-page .ss-filter-dialog .ss-filter-panel { display:flex; flex-direction:column; position:static; width:100%; min-width:0; max-width:none; max-height:inherit; padding:0; margin:0; border:0; border-radius:0; box-shadow:none; overflow:hidden; animation:none; }
.ss-page .ss-filter-dialog .ss-panel-body { flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; scroll-padding-block:10px; }
.ss-page .ss-sort-panel .ss-panel-body { padding:0 14px 14px; }
.ss-page .ss-filter-dialog .ss-size-help { margin-top:12px; }
.ss-page .ss-filter-dialog .ss-mount-explainer { margin-top:0; }
.ss-page .ss-sort-panel { left:auto; right:0; width:260px; padding:10px; }
.ss-page .ss-sort-option { position:relative; display:block; cursor:pointer; }
.ss-page .ss-sort-option input { position:absolute; opacity:0; width:1px; height:1px; }
.ss-page .ss-sort-option span { display:flex; align-items:center; min-height:44px; padding:10px 12px; border-radius:6px; color:var(--ss-ink); font-size:16px; }
.ss-page .ss-sort-option input:checked+span { background:#edf1f7; font-weight:600; }
.ss-page .ss-sort-option input:checked+span:after { content:'✓'; margin-left:auto; padding-left:12px; }
.ss-page .ss-sort-option input:focus-visible+span { outline:3px solid #546ea6; outline-offset:-3px; }
.ss-page .ss-sort-option:hover span { background:#f7f8fa; }
.ss-page .ss-result-info { display:flex; align-items:baseline; justify-content:space-between; gap:20px; margin:20px 0 18px; }
.ss-page .ss-result-info h2 { font-size:16px; font-weight:600; line-height:1.5; margin:0; white-space:nowrap; }
.ss-page .ss-result-context { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 16px; }
.ss-page .ss-result-info p { margin:0; color:var(--ss-muted); font-size:14px; }
.ss-page #ss-browse { font-size:14px; text-decoration:underline; text-underline-offset:3px; }
.ss-page .ss-results { scroll-margin-top:24px; transition:opacity .15s; }
.ss-page .ss-results[aria-busy=true] { opacity:.45; pointer-events:none; }
.ss-page .ss-products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:48px 32px; }
.ss-page .ss-product { min-width:0; order:var(--ss-order); }
.ss-page .ss-product-link { display:flex; flex-direction:column; height:100%; color:var(--ss-ink); text-decoration:none; border-radius:10px; }
.ss-page .ss-product-media { position:relative; aspect-ratio:1/1.05; flex:none; border-radius:10px; background:#f7f8fa; }
.ss-page .ss-preview { position:absolute; inset:0; display:flex; min-height:0; align-items:center; justify-content:center; padding:24px 38px 44px 24px; border-radius:inherit; background:#f7f8fa; overflow:hidden; }
.ss-page .ss-preview-white { background:#f0f2f5; }
.ss-page .ss-preview picture { display:contents; }
.ss-page .ss-preview img { width:100%; height:100%; object-fit:contain; transition:transform .55s cubic-bezier(.22,1,.36,1),opacity .4s ease; }
.ss-page .ss-profile { position:absolute; display:flex; align-items:center; right:12px; bottom:12px; width:112px; height:112px; margin:0; padding:22px 0 22px 14px; overflow:hidden; background:#fff; border:4px solid #fff; border-radius:56px; box-shadow:0 5px 18px #2027351c,0 1px 3px #2027350a; transition:width .5s cubic-bezier(.22,1,.36,1),height .5s cubic-bezier(.22,1,.36,1),padding .5s cubic-bezier(.22,1,.36,1),border-radius .5s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.22,1,.36,1),box-shadow .4s ease; }
.ss-page .ss-profile img { display:block; flex:none; height:100%; width:auto; max-width:none; transition:transform .55s cubic-bezier(.22,1,.36,1); transform-origin:left center; }
.ss-page .ss-product-copy { display:flex; flex-direction:column; flex:1; padding-top:18px; }
.ss-page .ss-product h3 { margin:0; font-size:19px; line-height:1.35; font-weight:600; color:var(--ss-ink); }
.ss-page .ss-dimensions { display:flex; flex-wrap:wrap; gap:2px 0; margin:8px 0 16px; font-size:14px; line-height:1.5; color:var(--ss-muted); }
.ss-page .ss-dimensions span { white-space:nowrap; }
.ss-page .ss-dimensions span:not(:last-child):after { content:'·'; margin:0 6px; color:#8e98a8; }
.ss-page .ss-product-pricing { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 10px; margin-top:auto; }
.ss-page .ss-fits { flex-basis:100%; margin:0 0 3px; font-size:15px; font-weight:600; line-height:1.45; color:var(--ss-blue); }
.ss-page .ss-price { margin:0; font-size:23px; line-height:1.25; font-weight:600; color:var(--ss-ink); white-space:nowrap; letter-spacing:-.3px; }
.ss-page .ss-multibuy { margin:5px 0 0; color:#426957; font-size:14px; line-height:1.5; }
.ss-page .ss-view { display:flex; align-items:center; gap:14px; min-height:44px; margin-top:0; padding-top:8px; font-size:16px; font-weight:600; color:var(--ss-blue); }
.ss-page .ss-view>span { transition:transform .2s; }
@media(hover:hover) and (min-width:768px) {
 .ss-page .ss-product-link:hover .ss-preview img { transform:scale(1.04); }
 .ss-page .ss-product-link:hover .ss-profile { transform:translateY(-3px); box-shadow:0 9px 22px #20273524,0 1px 4px #2027350a; }
 .ss-page .ss-product-link:hover .ss-profile img { transform:scale(1.03); }
 .ss-page .ss-product-link:hover .ss-view>span { transform:translateX(4px); }
 .ss-page .ss-product-link .ss-profile:hover,.ss-page .ss-product-link:focus-visible .ss-profile { width:calc(100% - 24px); height:174px; padding:20px 0 20px 18px; border-radius:24px; transform:translateY(0); box-shadow:0 12px 30px #20273526,0 2px 5px #2027350d; }
 .ss-page .ss-product-media:has(.ss-profile:hover) .ss-preview img,.ss-page .ss-product-link:focus-visible .ss-preview img { transform:scale(.98); opacity:.65; }
}
/* Promo cards occupy one product slot. Clip the colour planes, not the content. */
.ss-page .ss-incentive { --ss-ad-base:#293a60; --ss-ad-plane:#3d577b; --ss-ad-ink:#fff; container-type:inline-size; display:var(--ss-ad-display-3,none); order:var(--ss-ad-order-3); position:relative; isolation:isolate; overflow:hidden; flex-direction:column; min-width:0; padding:32px 28px 28px; border-radius:10px; background:var(--ss-ad-base); color:var(--ss-ad-ink); }
.ss-page .ss-incentive:before { content:''; position:absolute; z-index:-1; inset:0; background:var(--ss-ad-plane); clip-path:polygon(0 57%,100% 37%,100% 100%,0 100%); }
.ss-page .ss-incentive--delivery { --ss-ad-base:#eef3ed; --ss-ad-plane:#d6e5dc; --ss-ad-ink:#293a60; }
.ss-page .ss-incentive--making { --ss-ad-base:#e9eeeb; --ss-ad-plane:#cbdcd0; --ss-ad-ink:#304f41; }
.ss-page .ss-incentive--value { --ss-ad-base:#f9eee0; --ss-ad-plane:#ecd2af; --ss-ad-ink:#684325; }
.ss-page .ss-ad-copy { position:relative; z-index:1; flex:none; }
.ss-page .ss-ad-eyebrow { margin:0 0 16px; font-size:12px; font-weight:600; line-height:1.45; letter-spacing:.045em; }
.ss-page .ss-incentive h3 { margin:0; color:inherit; font-size:48px; font-size:clamp(28px,18cqi,50px); font-weight:700; letter-spacing:-.04em; line-height:1.02; }
.ss-page .ss-ad-number { display:block; font-size:clamp(54px,34cqi,94px); letter-spacing:-.065em; line-height:.95; margin:10px 0 14px; }
.ss-page .ss-ad-review-count { display:block; margin-bottom:14px; font-size:clamp(28px,24cqi,70px); letter-spacing:-.055em; line-height:1; white-space:nowrap; }
.ss-page .ss-ad-review-title { display:block; font-size:clamp(28px,15cqi,44px); line-height:1.05; }
.ss-page .ss-ad-subtitle { display:block; font-size:clamp(23px,10.5cqi,31px); line-height:1.1; letter-spacing:-.025em; }
.ss-page .ss-ad-up-to { display:block; font-size:clamp(18px,8cqi,23px); font-weight:600; letter-spacing:0; }
.ss-page .ss-ad-art { display:flex; align-items:center; justify-content:center; flex:1 1 auto; min-height:130px; position:relative; margin:18px -10px; }
.ss-page .ss-ad-art--review svg { display:block; width:100%; max-width:220px; height:auto; max-height:220px; }
.ss-page .ss-ad-art--delivery img { display:block; width:78%; max-width:200px; height:auto; }
.ss-page .ss-ad-art--photo { min-height:120px; margin:22px -28px 20px; overflow:hidden; clip-path:polygon(0 14%,100% 0,100% 86%,0 100%); }
.ss-page .ss-ad-art--photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.ss-page .ss-ad-footer { position:relative; z-index:1; flex:none; }
.ss-page .ss-ad-footer p { margin:0; color:inherit; font-size:15px; line-height:1.5; }
.ss-page .ss-ad-footer .ss-ad-detail { font-size:17px; font-weight:600; }
.ss-page .ss-ad-footer .ss-ad-rating { margin-bottom:10px; }
.ss-page .ss-ad-footer small { display:block; margin-top:8px; font-size:12px; line-height:1.45; }
.ss-page .ss-ad-stars { display:block; width:160px; max-width:100%; height:auto; margin-bottom:16px; }
.ss-page .ss-ad-trustpilot { display:block; width:112px; max-width:100%; height:auto; }
@media(min-width:992px) { .ss-page .ss-incentive { display:var(--ss-ad-display-4,none); order:var(--ss-ad-order-4); } }
@media(max-width:767px) {
 .ss-page .ss-incentive { display:var(--ss-ad-display-2,none); order:var(--ss-ad-order-2); padding:22px 14px 20px; border-radius:8px; }
 .ss-page .ss-ad-eyebrow { font-size:11px; margin-bottom:14px; letter-spacing:0; }
 .ss-page .ss-ad-art { min-height:90px; margin:16px -5px; }
 .ss-page .ss-ad-art--photo { margin:16px -14px; min-height:100px; }
 .ss-page .ss-ad-footer p { font-size:13px; }
 .ss-page .ss-ad-footer .ss-ad-detail { font-size:14px; }
 .ss-page .ss-ad-footer small { font-size:11px; }
 .ss-page .ss-ad-stars { width:130px; margin-bottom:12px; }
 .ss-page .ss-ad-trustpilot { width:95px; }
}
.ss-page .ss-empty { padding:40px; background:#f7f8fa; border-radius:12px; max-width:820px; }
.ss-page .ss-empty h3 { font-size:28px; line-height:1.2; font-weight:600; margin:0 0 18px; }
.ss-page .ss-empty p { margin:0 0 16px; color:var(--ss-muted); }
.ss-page .ss-empty p:last-child { margin-bottom:0; }
.ss-page .ss-empty a,.ss-page .ss-search-error a { text-decoration:underline; text-underline-offset:3px; }
.ss-page .ss-size-warning,.ss-page .ss-search-error { padding:16px 20px; background:#fff6e9; border-radius:8px; margin:0 0 24px; font-size:16px; }
.ss-page .ss-search-error p { margin:0 0 8px; }
.ss-page .ss-search-error button { border:0; padding:8px 18px; margin-right:16px; border-radius:6px; background:var(--ss-blue); color:#fff; min-height:44px; }
.ss-page .ss-about { display:grid; grid-template-columns:1fr 1.3fr; gap:80px; padding:88px 0 96px; }
.ss-page .ss-eyebrow { color:#426957; font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:1.4px; margin:0 0 16px; }
.ss-page .ss-about h2 { font-size:44px; line-height:1.12; letter-spacing:-.7px; font-weight:700; margin:0; }
.ss-page .ss-about-lead { margin:24px 0 0; max-width:310px; font-size:20px; line-height:1.5; color:var(--ss-muted); }
.ss-page .ss-about-copy h3 { margin:32px 0 12px; font-size:23px; font-weight:600; line-height:1.3; }
.ss-page .ss-about-copy p { color:var(--ss-muted); font-size:18px; line-height:1.7; margin:0 0 20px; }
.ss-page .ss-help-links { display:flex; flex-wrap:wrap; column-gap:24px; row-gap:8px; }
.ss-page .ss-help-links a { display:flex; align-items:center; gap:8px; min-height:44px; font-size:16px; font-weight:600; text-decoration:underline; text-underline-offset:4px; }
.ss-page .ss-reviews { margin-top:80px; padding:48px 0; background:#f7f8fa; }
.ss-page ~ .site-footer { margin-top:0; }

.ss-page .ss-size-filter summary { background:var(--ss-blue); border-color:var(--ss-blue); color:#e0e7f4; }
.ss-page .ss-size-filter summary:hover,.ss-page .ss-size-filter[open] summary { background:#364c76; border-color:#364c76; }
.ss-page .ss-size-filter summary strong { color:#fff; }
.ss-page .ss-size-filter .ss-chevron { border-color:#fff; }
.ss-page .ss-size-panel { width:440px; }
.ss-page .ss-size-panel legend { margin-bottom:8px; font-size:22px; }
.ss-page .ss-size-panel .ss-filter-note { margin:0 0 22px; }
.ss-page .ss-size-inputs { display:grid; grid-template-columns:minmax(0,1fr) 8px minmax(0,1fr) 90px; gap:10px; align-items:end; }
.ss-page .ss-times { padding-bottom:11px; color:var(--ss-muted); }
.ss-page .ss-paper { display:flex; align-items:center; gap:16px; margin-top:22px; }
.ss-page .ss-paper label { margin:0; font-size:15px; font-weight:400; color:var(--ss-muted); }
.ss-page .ss-paper select { width:auto; flex:1; font-size:16px; }
.ss-page .ss-size-help { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:14px; }
.ss-page .ss-size-help a { display:inline-flex; align-items:center; min-height:44px; color:var(--ss-muted); font-size:14px; text-decoration:underline; text-underline-offset:3px; }
/* The approved basket delivery incentive block, using the same illustrations and scale. */
.ss-page .ss-reassurance { background:#f7f8fa; }
.ss-page .ss-reassurance__inner { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:64px; padding-top:48px; padding-bottom:48px; }
.ss-page .ss-reassurance article { text-align:center; max-width:280px; margin:0 auto; }
.ss-page .ss-reassurance img { display:block; width:60px; height:60px; margin:0 auto 18px; }
.ss-page .ss-reassurance h2 { font-size:20px; font-weight:650; margin:0 0 10px; }
.ss-page .ss-reassurance p { color:var(--ss-muted); font-size:15px; line-height:1.65; }
.ss-page .ss-reassurance p a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
@keyframes ss-reveal { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:translateY(0); } }
@media(min-width:992px) { .ss-page .ss-products { grid-template-columns:repeat(4,minmax(0,1fr)); gap:44px 28px; } }
@media(min-width:992px) and (max-width:1279px) {
 .ss-page .ss-products { gap:40px 20px; }
 .ss-page .ss-preview { padding:18px 28px 34px 18px; }
 .ss-page .ss-profile { width:92px; height:92px; padding:17px 0 17px 11px; }
 .ss-page .ss-incentive { padding:26px 20px 24px; }
 .ss-page .ss-ad-art--photo { margin-inline:-20px; }
}
@media(min-width:901px) and (max-width:1100px) {
 .ss-page .storefront-page-title { font-size:32px; }
 .ss-page .ss-intro { font-size:16px; }
}
@media(min-width:901px) and (max-height:800px) {
 .ss-page.storefront-main { padding-top:28px; }
}
@media(max-width:991px) {
 .ss-page .ss-shell { padding-inline:24px; }
 .ss-page .ss-products { gap:36px 24px; }
 .ss-page .ss-preview { padding:22px 32px 36px 22px; }
 .ss-page .ss-filter-bar { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
 .ss-page .ss-filter-menus { display:contents; }
 .ss-page .ss-filter { position:static; min-width:0; }
 .ss-page .ss-filter summary { min-width:0; }
 .ss-page .ss-filter-panel-mount { left:auto; right:0; }
 .ss-page .ss-filter summary { min-width:0; gap:12px; padding-inline:12px; }
 .ss-page .ss-about { gap:40px; padding:64px 0 72px; }
 .ss-page .ss-about h2 { font-size:38px; }
}
@media(max-width:767px) {
 .ss-page.storefront-main { padding-top:24px; }
 .ss-page .ss-shell { padding-inline:18px; }
 .ss-page .storefront-page-heading { margin-bottom:22px; }
 .ss-page .storefront-page-title { font-size:34px; line-height:1.12; letter-spacing:-.5px; }
 .ss-page .storefront-page-heading .ss-eyebrow { font-size:11px; }
 .ss-page .ss-intro { margin-top:10px; font-size:16px; line-height:1.45; }
 .ss-page .ss-filter-bar { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:10px; }
 .ss-page .ss-filter-menus { display:contents; }
 .ss-page .ss-filter { min-width:0; }
 .ss-page .ss-filter summary { min-width:0; min-height:60px; padding:9px 12px; gap:8px; }
 .ss-page .ss-filter summary strong { font-size:16px; }
 .ss-page .ss-filter-panel,.ss-page .ss-filter-panel-mount { left:0; top:calc(100% + 10px); width:100%; max-width:100%; max-height:60vh; padding:18px; }
 .ss-page .ss-filter-panel-mount { max-height:calc(100svh - 110px); }
 .ss-page .ss-sort-panel { top:calc(100% + 10px); padding:10px; }
 .ss-page .ss-colour-face { padding:9px 8px; font-size:15px; gap:8px; }
 .ss-page .ss-colours { gap:6px; }
 .ss-page .ss-swatch { width:16px; height:16px; }
 .ss-page .ss-mount-option { font-size:15px; }
 .ss-page .ss-mount-colours { grid-template-columns:1fr; gap:12px; }
 .ss-page .ss-result-info { display:flex; align-items:flex-start; gap:12px; margin:18px 0; }
 .ss-page .ss-result-info h2 { font-size:15px; line-height:1.5; }
 .ss-page .ss-result-context { justify-content:flex-end; text-align:right; gap:4px 12px; }
 .ss-page .ss-result-context a { pointer-events:auto; }
 .ss-page .ss-result-info p { font-size:13px; }
 .ss-page .ss-products { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 16px; }
 .ss-page .ss-product-media { aspect-ratio:1/1.1; border-radius:8px; }
 .ss-page .ss-preview { padding:16px 20px 28px 12px; }
 .ss-page .ss-profile { right:7px; bottom:7px; width:66px; height:66px; padding:12px 0 12px 7px; border-width:3px; }
 .ss-page .ss-product-copy { padding-top:12px; }
 .ss-page .ss-product h3 { font-size:17px; }
 .ss-page .ss-dimensions { font-size:12px; margin:7px 0 12px; }
 .ss-page .ss-dimensions span:not(:last-child):after { margin-inline:4px; }
.ss-page .ss-price { font-size:22px; }
 .ss-page .ss-fits { font-size:14px; }
 .ss-page .ss-multibuy { font-size:13px; }
 .ss-page .ss-view { font-size:15px; gap:10px; }
 .ss-page .ss-empty { padding:24px; font-size:16px; }
 .ss-page .ss-empty h3 { font-size:24px; }
 .ss-page .ss-about { display:block; padding:48px 0 56px; }
 .ss-page .ss-about h2 { font-size:34px; }
 .ss-page .ss-about-lead { font-size:18px; margin:16px 0 28px; }
 .ss-page .ss-about-copy p { font-size:17px; }
 .ss-page .ss-about-copy h3 { font-size:21px; }
 .ss-page .ss-reviews { margin-top:56px; padding:32px 0; }
 .ss-page .ss-filter-dialog { border:0; border-radius:24px 24px 0 0; opacity:1; transform:translateY(100%); transition:transform .3s cubic-bezier(.4,0,1,1); }
 .ss-page .ss-filter-dialog.is-visible { transform:translateY(0); transition:transform .36s cubic-bezier(.16,1,.3,1); }
 .ss-page .ss-filter-dialog::backdrop { background:rgb(32 39 53 / .42); transition-duration:.3s; }
 .ss-page .ss-filter-dialog.is-visible::backdrop { transition-duration:.36s; }
 .ss-page .ss-filter-dialog .ss-panel-heading { padding:16px 18px; }
 .ss-page .ss-filter-dialog .ss-panel-heading h2 { font-size:23px; }
 .ss-page .ss-filter-dialog .ss-panel-body { padding:0 18px 20px; }
 .ss-page .ss-filter-dialog .ss-sort-panel .ss-panel-body { padding-inline:12px; }
 .ss-page .ss-filter-dialog .ss-panel-footer { padding:14px 18px max(18px,env(safe-area-inset-bottom)); }
 .ss-page .ss-filter-dialog .ss-panel-footer .ss-button { width:100%; }
}
@media(max-width:991px) {
 .ss-page .ss-reassurance__inner { padding-top:40px; padding-bottom:40px; gap:28px; }
 .ss-page .ss-reassurance article { max-width:none; }
 .ss-page .ss-reassurance h2 { font-size:19px; }
}
@media(max-width:767px) {
 .ss-page .ss-size-inputs { grid-template-columns:repeat(2,minmax(0,1fr)) 86px; gap:8px; }
 .ss-page .ss-times { display:none; }
 .ss-page .ss-size-inputs input[type=number] { padding-inline:8px; font-size:18px; appearance:textfield; -moz-appearance:textfield; }
 .ss-page .ss-size-inputs input::-webkit-inner-spin-button,.ss-page .ss-size-inputs input::-webkit-outer-spin-button { appearance:none; margin:0; }
 .ss-page .ss-size-panel .ss-filter-note { margin-bottom:18px; }
 .ss-page .ss-paper { gap:12px; margin-top:18px; }
 .ss-page .ss-paper label { font-size:14px; }
 .ss-page .ss-reassurance__inner { grid-template-columns:1fr; padding:36px 24px; gap:30px; }
 .ss-page .ss-reassurance article { display:flex; text-align:left; gap:20px; width:100%; }
 .ss-page .ss-reassurance img { flex-shrink:0; width:52px; height:52px; margin:0; }
 .ss-page .ss-reassurance h2 { margin-bottom:6px; }
 .ss-page .ss-reassurance p { font-size:14px; }
}
@media(max-width:359px) {
 .ss-page .ss-filter summary { padding-inline:10px; gap:6px; }
 .ss-page .ss-filter summary strong { font-size:15px; }
}
@media(prefers-reduced-motion:reduce) { .ss-page * { animation:none!important; transition:none!important; } }
@media(prefers-reduced-motion:reduce) { .ss-page .ss-filter-dialog::backdrop { transition:none!important; } }
