/* Shop Window: "Fresh" look (Theme settings › General › Shop look).
   Loaded after shop-window.css only while Fresh is on; every rule is scoped to body.sw-fresh, and the Fresh-only
   layouts live in template/fresh/. Choosing "Classic" gives the original look exactly.

   Direction: a crisp, editorial retail look. Warm off-white "showroom floor" behind products, hairline rules
   instead of boxes and shadows, square corners, one typeface (Archivo) used with care, brand blue for the
   main action and the logo's red squares only as small accents. */

body.sw-fresh {
  --fw-stone: #F4F3F0;
  --fw-stone-2: #EAE8E3;
  --sw-grey: var(--fw-stone);
  --sw-line: #E2E0DA;
  --fw-line-2: #CDCAC2;
  --sw-muted: #63676D;
  --sw-radius: 3px;
  --sw-radius-lg: 4px;
  --sw-body: "Archivo", "Helvetica Neue", Arial, sans-serif;
  --sw-display: "Archivo", "Helvetica Neue", Arial, sans-serif;
  --fw-head: 86%;
  font-family: var(--sw-body);
  font-size: 15.5px;
  line-height: 1.55;
  font-stretch: 100%;
  color: var(--sw-ink);
  background: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ================= Type ================= */
.sw-fresh h1, .sw-fresh h2, .sw-fresh h3 { font-family: var(--sw-display); text-transform: none; letter-spacing: -.02em; font-stretch: var(--fw-head); }
.sw-fresh h1 { font-size: clamp(1.9rem, 3.8vw, 3rem); font-weight: 700; line-height: 1.04; }
.sw-fresh h2 { font-size: clamp(1.45rem, 2.4vw, 1.95rem); font-weight: 700; line-height: 1.1; }
.sw-fresh h3 { font-size: 1.05rem; font-weight: 600; letter-spacing: -.01em; line-height: 1.3; font-stretch: 100%; }
.sw-fresh a:where(:not(.btn, .sw-btn)) { text-underline-offset: 3px; text-decoration-thickness: 1px; }

/* Everything that used to be condensed capitals */
.sw-fresh :is(.sw-btn, .sw-nav-link, .sw-mega-promo-h, .sw-nav-title, .sw-tile-vin b, .sw-sheet-title, .sw-visit-h, .sw-specs caption, .sw-trust-body b,
  .sw-subcat-name, .sw-tile-lbl b),
.sw-fresh.sw-legacy .sw-main :is(h1, h2, .btn, .btn-primary),
.sw-fresh .sw-checkout :is(#button-register, #button-shipping-address, #button-payment-address),
.sw-fresh .sw-co-pay :is(.btn-primary, #button-confirm, .sw-co-pay-wait) {
  text-transform: none; letter-spacing: -.005em; font-stretch: 100%;
}
/* Small labels: tracked capitals, small */
.sw-fresh :is(.sw-mega-h, .sw-footer-h, .sw-filter-group legend, .sw-s-h, .sw-checkout legend, .fw-eyebrow, .fw-visit-facts dt),
.sw-fresh.sw-legacy .sw-main :is(legend, .table thead td, .table thead th) {
  font-family: var(--sw-body); font-stretch: 100%; font-size: 11.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--sw-muted);
}
/* Figures */
.sw-fresh :is(.sw-price-ex, .sw-ticket-ex, .sw-suggest .sw-s-price, .sw-footer-tel, .sw-visit-tel, .sw-contact-tel, .sw-trust-score, .sw-bitem-total,
  .sw-sum .is-total dd, .sw-cart-bar b, .sw-co-opt-price) { font-stretch: 100%; letter-spacing: -.01em; font-variant-numeric: tabular-nums lining-nums; }

.sw-fresh .sw-squares { gap: 3px; }
.sw-fresh .sw-squares i { width: 6px; height: 6px; }
.sw-fresh .fw-eyebrow { display: flex; align-items: center; gap: 10px; margin: 0; }

/* ================= Buttons and fields ================= */
.sw-fresh .sw-btn { min-height: 48px; padding: 12px 22px; border-width: 1px; border-radius: var(--sw-radius); font-size: 15px; font-weight: 600; transition: background-color .15s, color .15s, border-color .15s; }
.sw-fresh .sw-btn-sm { min-height: 38px; padding: 8px 14px; font-size: 14px; }
.sw-fresh .sw-btn-red, .sw-fresh .sw-btn-blue { background: var(--sw-blue); border-color: var(--sw-blue); }
.sw-fresh .sw-btn-red:hover, .sw-fresh .sw-btn-blue:hover { background: var(--sw-ink); border-color: var(--sw-ink); }
.sw-fresh .sw-btn-ink { background: var(--sw-ink); border-color: var(--sw-ink); }
.sw-fresh .sw-btn-ink:hover { background: var(--sw-blue); border-color: var(--sw-blue); }
.sw-fresh .sw-btn-line { border-color: var(--sw-ink); background: transparent; }
.sw-fresh .sw-btn-line:hover { background: var(--sw-ink); color: #fff !important; }
.sw-fresh .sw-btn-light { background: #fff; border-color: #fff; color: var(--sw-ink) !important; }
.sw-fresh .sw-btn-light:hover { background: transparent; color: #fff !important; }
.sw-fresh .sw-icon-btn { border-radius: var(--sw-radius); }
.sw-fresh .sw-icon-btn:hover { background: var(--fw-stone); }
.sw-fresh :is(.sw-input, .sw-select) { min-height: 48px; border: 1px solid var(--fw-line-2); border-radius: var(--sw-radius); font-size: 16px; }
.sw-fresh :is(.sw-input, .sw-select):hover { border-color: #9E9A91; }
.sw-fresh :is(.sw-input, .sw-select):focus { outline: 2px solid var(--sw-ink); outline-offset: -1px; border-color: var(--sw-ink); }
.sw-fresh :focus-visible { outline: 2px solid var(--sw-blue); outline-offset: 2px; }
.sw-fresh.sw-legacy .sw-main .btn { border-radius: var(--sw-radius); font-weight: 600; }
.sw-fresh.sw-legacy .sw-main .btn-primary { background: var(--sw-ink); border-color: var(--sw-ink); }
.sw-fresh.sw-legacy .sw-main .btn-primary:hover { background: var(--sw-blue); border-color: var(--sw-blue); }
.sw-fresh.sw-legacy .sw-main :is(.form-control, .form-select) { border-radius: var(--sw-radius); border-color: var(--fw-line-2); min-height: 48px; }
.sw-fresh.sw-legacy .sw-main :is(.form-control, .form-select):focus { border-color: var(--sw-ink); box-shadow: 0 0 0 1px var(--sw-ink); }

/* ================= Utility bar ================= */
.sw-fresh .fw-util { background: var(--sw-ink); color: #D9DEE3; font-size: 12.5px; }
.sw-fresh .fw-util-in { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 36px; }
.sw-fresh .fw-util-msgs li::before { width: 5px; height: 5px; }
.sw-fresh .fw-util-side { display: flex; align-items: center; gap: 22px; flex: 0 0 auto; }
.sw-fresh .fw-util-link { display: inline-flex; align-items: center; gap: 7px; color: #D9DEE3 !important; text-decoration: none; white-space: nowrap; }
.sw-fresh .fw-util-link:hover { color: #fff !important; text-decoration: underline; }
.sw-fresh .fw-vat { border-radius: var(--sw-radius); border-color: rgba(255, 255, 255, .3); }
.sw-fresh .fw-vat .sw-vat-opt { min-height: 24px; padding: 2px 10px; font-weight: 600; }
.sw-fresh .fw-vat .sw-vat-opt + .sw-vat-opt { border-left-color: rgba(255, 255, 255, .3); }
@media (max-width: 959px) { .sw-fresh .fw-hide-sm { display: none; } .sw-fresh .fw-util-msgs { min-width: 0; } }

/* ================= Header ================= */
.sw-fresh .sw-header { border-bottom: 1px solid var(--sw-line); box-shadow: none; }
.sw-fresh .sw-header.is-compact { box-shadow: 0 1px 0 var(--sw-line); }
.sw-fresh .sw-header-in { grid-template-columns: 56px 1fr auto; gap: 8px; padding-block: 8px 12px; }
.sw-fresh .fw-menu-btn { width: 56px; height: 48px; display: grid; grid-template-rows: 22px auto; gap: 1px; place-items: center; margin-left: -12px; }
.sw-fresh .fw-menu-lbl { font-size: 10.5px; font-weight: 600; letter-spacing: .04em; line-height: 1; }
.sw-fresh .sw-logo img { width: 128px; }
.sw-fresh .fw-action { min-width: 44px; height: 48px; }
.sw-fresh .sw-basket-count { top: 4px; right: 1px; min-width: 18px; height: 18px; border-radius: 9px; background: var(--sw-red); font-size: 10.5px; }

.sw-fresh .fw-search { display: flex; align-items: center; height: 48px; border: 1px solid var(--fw-line-2); border-radius: var(--sw-radius); background: #fff; transition: border-color .15s; }
.sw-fresh .fw-search:hover { border-color: #9E9A91; }
.sw-fresh .fw-search:focus-within { outline: none; border-color: var(--sw-ink); box-shadow: inset 0 0 0 1px var(--sw-ink); }
.sw-fresh .fw-search-ico { margin-left: 14px; color: var(--sw-muted); flex: 0 0 auto; }
.sw-fresh .fw-search .sw-search-input { height: 46px; padding: 0 12px 0 10px; font-size: 16px; }
.sw-fresh .fw-search-btn { width: auto; height: 38px; margin-right: 4px; padding: 0 18px; border-radius: 2px; background: var(--sw-ink); color: #fff; font-weight: 600; font-size: 14.5px; }
.sw-fresh .fw-search-btn:hover { background: var(--sw-blue); }
@media (max-width: 599px) { .sw-fresh .fw-search-btn { display: none; } }
.sw-fresh .sw-suggest { left: -1px; right: -1px; top: calc(100% + 6px); border: 1px solid var(--sw-line); border-radius: var(--sw-radius-lg); box-shadow: 0 12px 32px rgba(19, 32, 43, .12); }
.sw-fresh .sw-suggest img { background: var(--fw-stone); }
.sw-fresh .sw-suggest .sw-s-all { color: var(--sw-ink) !important; text-decoration: underline; }

@media (min-width: 960px) {
  .sw-fresh .sw-header-in { grid-template-columns: 200px minmax(0, 1fr) auto; gap: 40px; padding-block: 18px; }
  .sw-fresh .fw-menu-btn { display: none; }
  .sw-fresh .sw-logo img { width: 184px; }
  .sw-fresh .fw-search { max-width: 720px; width: 100%; justify-self: center; height: 50px; }
  .sw-fresh .fw-actions { gap: 4px; }
  .sw-fresh .fw-action { display: flex; align-items: center; gap: 10px; height: 48px; padding: 0 12px; border-radius: var(--sw-radius); font-size: 14px; font-weight: 600; }
  .sw-fresh .fw-action:hover { background: var(--fw-stone); }
  .sw-fresh .sw-action-label { display: block; }
  .sw-fresh .fw-basket .sw-basket-count { position: static; order: 3; }
  .sw-fresh .sw-header.is-compact .sw-logo img { width: 150px; }
}

/* ================= Category menu ================= */
.sw-fresh .sw-nav-link { font-family: var(--sw-body); font-weight: 500; letter-spacing: 0; text-transform: none; font-stretch: 100%; }
.sw-fresh .sw-nav-link.is-offer { color: var(--sw-red) !important; font-weight: 600; }
.sw-fresh .sw-count { color: var(--sw-muted); font-size: 12.5px; }
.sw-fresh .sw-mega-col a { font-size: 15px; }
.sw-fresh .sw-mega-col a:hover { color: var(--sw-blue) !important; }
.sw-fresh .sw-mega-col a:hover span:first-child { text-decoration: underline; }
.sw-fresh .sw-mega-all { color: var(--sw-ink) !important; text-decoration: underline; font-weight: 600; }
.sw-fresh .sw-mega-promo { background: var(--fw-stone); border-radius: 0; }
.sw-fresh .sw-mega-promo-h { font-size: 21px; font-weight: 700; letter-spacing: -.02em; font-stretch: var(--fw-head); line-height: 1.1; }

@media (min-width: 960px) {
  .sw-fresh .sw-nav { border-bottom: 1px solid var(--sw-line); }
  .sw-fresh .sw-nav-list { margin-inline: 0; gap: 30px; }
  .sw-fresh .sw-nav-link { position: relative; padding: 15px 0 14px; border-bottom: 0; font-size: 15px; }
  .sw-fresh .sw-nav-link::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--sw-ink); transform: scaleX(0); transform-origin: left; transition: transform .18s ease-out; }
  .sw-fresh .sw-nav-link.is-offer::after { background: var(--sw-red); }
  .sw-fresh .sw-nav-link:hover::after, .sw-fresh .sw-nav-link.is-active::after, .sw-fresh .sw-nav-item.is-open > .sw-nav-link::after { transform: none; }
  .sw-fresh .sw-mega { border-top: 1px solid var(--sw-line); border-bottom: 1px solid var(--sw-line); box-shadow: 0 18px 30px -18px rgba(19, 32, 43, .25); }
  .sw-fresh .sw-mega-in { padding-inline: var(--sw-gutter); }
  .sw-fresh .sw-mega-col { border-right: 0; padding: 28px 32px 28px 0; }
  .sw-fresh .sw-mega-col + .sw-mega-col { padding-left: 32px; border-left: 1px solid var(--sw-line); }
  .sw-fresh .sw-mega-h { margin-bottom: 12px; }
  .sw-fresh .sw-mega-col a { padding: 5px 0; }
  .sw-fresh .sw-mega-promo { margin: 28px 0; }
  .sw-fresh .sw-nav-scrim { background: rgba(19, 32, 43, .2); }
}
@media (max-width: 959px) {
  .sw-fresh .sw-nav-head { min-height: 60px; border-bottom: 1px solid var(--sw-line); }
  .sw-fresh .sw-nav-title { font-size: 19px; font-weight: 700; letter-spacing: -.01em; font-stretch: var(--fw-head); }
  .sw-fresh .sw-nav-item { border-bottom: 1px solid var(--sw-line); }
  .sw-fresh .sw-nav-link { min-height: 58px; font-size: 17px; font-weight: 500; }
  .sw-fresh .sw-nav-link:active { background: var(--fw-stone); }
  .sw-fresh .sw-nav-link.is-active { font-weight: 700; }
  .sw-fresh .sw-mega-back { border-bottom: 1px solid var(--sw-line); min-height: 60px; align-items: center; }
  .sw-fresh .sw-mega-backbtn { font-weight: 600; }
  .sw-fresh .sw-mega-col { border-bottom: 1px solid var(--sw-line); padding: 16px 0; }
  .sw-fresh .sw-mega-col a { min-height: 46px; font-size: 16.5px; }
  .sw-fresh .sw-mega-promo { margin-top: 20px; }
  .sw-fresh .sw-nav-extra { margin-top: 0; padding: 18px var(--sw-gutter) 28px; background: var(--fw-stone); gap: 2px; }
  .sw-fresh .sw-nav-extra a { font-weight: 600; }
}

/* ================= Alerts, cookies, drawer ================= */
.sw-fresh .sw-alerts .alert { border: 1px solid var(--sw-line); border-left: 3px solid var(--sw-ink); border-radius: var(--sw-radius); box-shadow: 0 10px 30px rgba(19, 32, 43, .14); }
.sw-fresh .sw-alerts .alert-success { border-left-color: var(--sw-green); }
.sw-fresh .sw-alerts .alert-danger { border-left-color: var(--sw-red); }
.sw-fresh .sw-alert { border-radius: var(--sw-radius); }
.sw-fresh .sw-cookie { border-top: 1px solid var(--sw-line); box-shadow: 0 -8px 30px rgba(19, 32, 43, .08); }
.sw-fresh .sw-drawer-head h2 { font-size: 19px; }
.sw-fresh .sw-drawer-sum { border-radius: 0; background: var(--fw-stone); }

/* ================= Product bits ================= */
.sw-fresh .sw-frame { background: var(--fw-stone); border-radius: 0; }
.sw-fresh .sw-badge { top: 0; left: 0; border-radius: 0; padding: 5px 10px; font-size: 11.5px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.sw-fresh .sw-model { font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--sw-muted); }
.sw-fresh .sw-price-ex { font-size: 18px; font-weight: 700; }
.sw-fresh .sw-price-ex small { font-family: var(--sw-body); font-weight: 400; font-size: 12px; }
.sw-fresh .sw-price-inc { font-family: var(--sw-body); font-size: 12.5px; }
.sw-fresh .sw-price-old { color: var(--sw-red); }
.sw-fresh .sw-stock { font-weight: 500; font-size: 13px; }
.sw-fresh .sw-stock::before { width: 6px; height: 6px; }
.sw-fresh .sw-crumbs { padding-top: 18px; font-size: 13px; }

/* Cards */
.sw-fresh .sw-cards { gap: 32px 14px; }
@media (min-width: 720px) { .sw-fresh .sw-cards { gap: 44px 22px; } }
.sw-fresh .sw-card, .sw-fresh .sw-card-link { gap: 3px; }
.sw-fresh .sw-card-link .sw-frame { margin-bottom: 12px; }
.sw-fresh .sw-card .sw-frame img { transition: transform .4s ease-out; }
.sw-fresh .sw-card-link:hover .sw-frame img { transform: scale(1.035); }
.sw-fresh .sw-card-name { font-family: var(--sw-body) !important; font-weight: 500 !important; font-size: 15px !important; line-height: 1.35 !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sw-fresh .sw-card-link:hover .sw-card-name { text-decoration: underline; text-underline-offset: 3px; }
.sw-fresh .sw-card .sw-price { margin-top: 6px; }
.sw-fresh .sw-card .sw-stock { margin-top: 2px; }
@media (max-width: 599px) { .sw-fresh .sw-card-name { font-size: 14px !important; } .sw-fresh .sw-card .sw-price-ex { font-size: 16.5px; } }

/* ================= Sections ================= */
.sw-fresh .sw-sec { padding-block: 48px 0; }
@media (min-width: 960px) { .sw-fresh .sw-sec { padding-block: 72px 0; } }
.sw-fresh .sw-sec-head { align-items: end; margin-bottom: 24px; padding-bottom: 14px; border-bottom: 1px solid var(--sw-line); }
.sw-fresh .sw-sec-head a { color: var(--sw-ink) !important; font-size: 14.5px; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
.sw-fresh .sw-sec-head a:hover { color: var(--sw-blue) !important; }

/* ================= Homepage: hero ================= */
.sw-fresh .fw-hero { background: var(--fw-stone); border-bottom: 1px solid var(--sw-line); }
.sw-fresh .fw-hero-in { display: grid; gap: 0; }
.sw-fresh .fw-hero-copy { display: grid; gap: 16px; align-content: center; padding-block: 32px 24px; }
.sw-fresh .fw-hero h1 { margin: 0; font-size: clamp(2.2rem, 5.6vw, 4.1rem); line-height: .98; letter-spacing: -.035em; font-stretch: 82%; max-width: 13ch; }
.sw-fresh .fw-hero-text { margin: 0; max-width: 44ch; font-size: 16.5px; color: #3F454C; }
.sw-fresh .fw-hero .sw-btns { margin-top: 6px; gap: 10px; }
.sw-fresh .fw-hero-stage { position: relative; display: grid; align-items: end; min-height: 230px; }
.sw-fresh .fw-hero-items { display: flex; justify-content: center; align-items: flex-end; gap: 0; padding-top: 8px; border-bottom: 2px solid var(--sw-ink); }
.sw-fresh .fw-hero-items { overflow: hidden; }
.sw-fresh .fw-hero-item { display: block; line-height: 0; flex: 0 1 auto; min-width: 0; }
.sw-fresh .fw-hero-item img { width: auto; height: auto; max-width: 100%; max-height: 200px; mix-blend-mode: multiply; }
.sw-fresh .fw-hero-item.is-small img { max-height: 165px; }
.sw-fresh .fw-hero-stage.is-photo { min-height: 0; margin-bottom: var(--sw-gutter); }
.sw-fresh .fw-hero-stage.is-photo img { width: 100%; height: auto; display: block; }
/* A real price ticket hanging on the window */
.sw-fresh .fw-ticket { position: absolute; top: 4px; right: 0; display: grid; gap: 2px; min-width: 132px; padding: 12px 14px 12px 30px; background: #fff; border: 1px solid var(--sw-ink); color: var(--sw-ink) !important; text-decoration: none; font-size: 12px; line-height: 1.3; transform: rotate(2deg); transform-origin: top center; transition: transform .2s; }
.sw-fresh .fw-ticket:hover { transform: rotate(0); }
.sw-fresh .fw-ticket-hole { position: absolute; left: 11px; top: 50%; width: 8px; height: 8px; margin-top: -4px; border-radius: 50%; border: 1px solid var(--sw-ink); background: var(--fw-stone); }
.sw-fresh .fw-ticket-model { font-size: 11px; font-weight: 600; letter-spacing: .1em; color: var(--sw-muted); }
.sw-fresh .fw-ticket b { font-size: 20px; font-weight: 700; letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.sw-fresh .fw-ticket-small { color: var(--sw-muted); }
@media (max-width: 599px) { .sw-fresh .fw-ticket { display: none; } .sw-fresh .fw-hero .sw-btn { flex: 1 1 auto; } }
@media (min-width: 960px) {
  .sw-fresh .fw-hero-in { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 48px; }
  .sw-fresh .fw-hero-in.is-text { grid-template-columns: 1fr; }
  .sw-fresh .fw-hero-copy { padding-block: 72px; gap: 20px; }
  .sw-fresh .fw-hero-text { font-size: 18px; }
  .sw-fresh .fw-hero-stage { min-height: 440px; padding-top: 40px; }
  .sw-fresh .fw-hero-items { gap: 8px; }
  .sw-fresh .fw-hero-item img { max-height: 360px; }
  .sw-fresh .fw-hero-item.is-small img { max-height: 300px; }
  .sw-fresh .fw-ticket { top: 48px; right: 4%; }
  .sw-fresh .fw-hero-stage.is-photo { margin: 40px 0; padding: 0; }
}
.sw-fresh .fw-banner { background: #fff; }

/* ================= Homepage: trust strip ================= */
.sw-fresh .fw-trust { border-bottom: 1px solid var(--sw-line); }
.sw-fresh .fw-trust-list { list-style: none; margin: 0 auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sw-fresh .fw-trust-item { display: flex; align-items: center; gap: 12px; padding: 16px 12px 16px 0; min-width: 0; }
.sw-fresh .fw-trust-item:nth-child(even) { padding-left: 14px; border-left: 1px solid var(--sw-line); }
.sw-fresh .fw-trust-item:nth-child(n+3) { border-top: 1px solid var(--sw-line); }
.sw-fresh .fw-trust-link { display: flex; align-items: center; gap: 12px; color: inherit !important; text-decoration: none; }
.sw-fresh .fw-trust-icon { flex: 0 0 22px; color: var(--sw-ink); }
.sw-fresh .fw-trust-body { display: grid; gap: 1px; line-height: 1.3; min-width: 0; }
.sw-fresh .fw-trust-body b { font-weight: 600; font-size: 14px; }
.sw-fresh .fw-trust-small { font-size: 13px; color: var(--sw-muted); }
.sw-fresh .fw-trust-score { font-size: 30px; font-weight: 700; letter-spacing: -.02em; line-height: 1; }
.sw-fresh .fw-trust-link:hover .fw-trust-small { text-decoration: underline; }
@media (min-width: 960px) {
  .sw-fresh .fw-trust-list { grid-template-columns: none; grid-auto-columns: minmax(0, 1fr); grid-auto-flow: column; }
  .sw-fresh .fw-trust-item { padding: 22px 24px; border-top: 0 !important; }
  .sw-fresh .fw-trust-item:first-child { padding-left: 0; }
  .sw-fresh .fw-trust-item + .fw-trust-item { border-left: 1px solid var(--sw-line); padding-left: 24px; }
}

/* ================= Homepage: category tiles ================= */
.sw-fresh .fw-tiles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 14px; }
@media (min-width: 720px) { .sw-fresh .fw-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 22px; } }
.sw-fresh .fw-tile { display: grid; gap: 12px; color: var(--sw-ink) !important; text-decoration: none; height: 100%; align-content: start; }
.sw-fresh .fw-tile-ph { display: grid; place-items: center; aspect-ratio: 4 / 3; padding: 14px; background: var(--fw-stone); overflow: hidden; }
.sw-fresh .fw-tile-ph img { max-height: 100%; width: auto; object-fit: contain; mix-blend-mode: multiply; transition: transform .4s ease-out; }
.sw-fresh .fw-tile:hover .fw-tile-ph img { transform: scale(1.04); }
.sw-fresh .fw-tile-lbl { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.sw-fresh .fw-tile-lbl b { font-size: 16px; font-weight: 600; letter-spacing: -.01em; line-height: 1.25; }
.sw-fresh .fw-tile-lbl span { font-size: 12.5px; color: var(--sw-muted); white-space: nowrap; font-variant-numeric: tabular-nums; }
.sw-fresh .fw-tile:hover .fw-tile-lbl b { text-decoration: underline; text-underline-offset: 3px; }
.sw-fresh .fw-tile.is-visit .fw-tile-ph { background: var(--sw-ink); color: #fff; place-items: stretch; padding: 18px; }
.sw-fresh .fw-tile-visit { display: grid; gap: 8px; align-content: end; }
.sw-fresh .fw-tile-visit b { font-size: clamp(19px, 2vw, 25px); font-weight: 700; line-height: 1.05; letter-spacing: -.02em; font-stretch: var(--fw-head); }
.sw-fresh .fw-tile-visit > span:last-child { font-size: 13px; color: #BFC6CE; line-height: 1.4; }
.sw-fresh .fw-tile-visit .sw-squares { margin-bottom: auto; }
@media (max-width: 599px) { .sw-fresh .fw-tile-visit > span:last-child { display: none; } }

/* ================= Homepage: featured category ================= */
.sw-fresh .fw-feature { display: grid; gap: 28px; }
.sw-fresh .fw-feature-copy { display: grid; gap: 14px; align-content: start; justify-items: start; }
.sw-fresh .fw-feature-copy h2 { margin: 0; font-size: clamp(1.8rem, 3.4vw, 2.6rem); line-height: 1.02; letter-spacing: -.03em; }
.sw-fresh .fw-feature-text { margin: 0; color: #3F454C; max-width: 42ch; }
.sw-fresh .fw-feature-links { list-style: none; margin: 4px 0 8px; padding: 0; width: 100%; border-top: 1px solid var(--sw-line); }
.sw-fresh .fw-feature-links a { display: flex; justify-content: space-between; align-items: center; gap: 10px; min-height: 46px; border-bottom: 1px solid var(--sw-line); color: var(--sw-ink) !important; text-decoration: none; font-weight: 500; }
.sw-fresh .fw-feature-links a svg { color: var(--sw-muted); transition: transform .15s; }
.sw-fresh .fw-feature-links a:hover svg { transform: translateX(3px); color: var(--sw-ink); }
.sw-fresh .fw-feature-cards .sw-card:nth-child(3) { display: none; }
@media (min-width: 720px) {
  .sw-fresh .fw-feature { grid-template-columns: minmax(0, .8fr) minmax(0, 2fr); gap: 48px; }
  .sw-fresh .fw-feature-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .sw-fresh .fw-feature-cards .sw-card:nth-child(3) { display: grid; }
}

/* ================= Homepage: showroom band ================= */
.sw-fresh .fw-visit { background: var(--sw-ink); color: #fff; border: 0; margin-top: 80px; }
.sw-fresh .fw-visit-in { display: grid; gap: 32px; padding-block: 48px; }
.sw-fresh .fw-visit-main { display: grid; gap: 14px; justify-items: start; align-content: start; }
.sw-fresh .fw-visit h2 { color: #fff; margin: 0; font-size: clamp(1.9rem, 3.6vw, 2.8rem); line-height: 1.02; letter-spacing: -.03em; max-width: 16ch; }
.sw-fresh .fw-visit-main > p:not(.fw-eyebrow) { margin: 0; color: #C3CAD1; max-width: 46ch; }
.sw-fresh .fw-visit .fw-eyebrow { color: #AEB6BF; }
.sw-fresh .fw-visit-facts { margin: 0; display: grid; border-top: 1px solid rgba(255, 255, 255, .16); }
.sw-fresh .fw-visit-facts > div { padding: 16px 0; border-bottom: 1px solid rgba(255, 255, 255, .16); display: grid; gap: 4px; }
.sw-fresh .fw-visit-facts dt { color: #AEB6BF; }
.sw-fresh .fw-visit-facts dd { margin: 0; font-size: 17px; font-weight: 500; display: grid; gap: 2px; }
.sw-fresh .fw-visit-facts dd span { font-size: 13.5px; color: #C3CAD1; font-weight: 400; }
.sw-fresh .fw-visit-tel { color: #fff !important; font-size: 26px; font-weight: 700; letter-spacing: -.01em; text-decoration: none; }
.sw-fresh .fw-visit-tel:hover { text-decoration: underline; }
@media (min-width: 960px) {
  .sw-fresh .fw-visit-in { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 80px; padding-block: 80px; }
}
.sw-fresh .sw-home + .fw-footer, .sw-fresh .sw-main:has(.fw-visit:last-child) + .fw-footer { margin-top: 0; }

/* ================= Listing pages ================= */
.sw-fresh .sw-listing-head { padding-block: 18px 22px; gap: 10px; }
.sw-fresh .sw-listing-head h1 { font-size: clamp(2rem, 4vw, 3rem); letter-spacing: -.03em; }
.sw-fresh .sw-listing-intro { color: #4A5057; font-size: 15.5px; }
.sw-fresh .sw-subcats { margin: 0 0 28px; }
.sw-fresh .sw-subcats ul { grid-auto-columns: 128px; gap: 12px; }
.sw-fresh .sw-subcats a { background: transparent; padding-bottom: 0; gap: 8px; }
.sw-fresh .sw-subcat-ph { background: var(--fw-stone); }
.sw-fresh .sw-subcat-name { padding: 0; font-family: var(--sw-body); font-size: 14px; font-weight: 600; letter-spacing: -.005em; line-height: 1.25; }
.sw-fresh .sw-subcats .sw-count { padding: 0; }
.sw-fresh .sw-subcats a:hover .sw-subcat-name { text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 960px) { .sw-fresh .sw-subcats ul { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 24px 16px; } }
.sw-fresh .sw-toolbar { border-top: 0; border-bottom: 1px solid var(--sw-line); padding: 12px 0; margin-bottom: 24px; }
.sw-fresh .sw-sort select { min-height: 40px; border-color: var(--fw-line-2); border-radius: var(--sw-radius); }
.sw-fresh .sw-chip { border-radius: var(--sw-radius); border-color: var(--fw-line-2); font-weight: 500; }
.sw-fresh .sw-chip-filter { border-color: var(--sw-ink); font-weight: 600; }
.sw-fresh .sw-check input { accent-color: var(--sw-ink); }
.sw-fresh .sw-filter-group { padding-bottom: 18px; border-bottom: 1px solid var(--sw-line); }
.sw-fresh .sw-filter-group:last-child { border-bottom: 0; }
.sw-fresh .sw-sheet-title { font-family: var(--sw-body); font-size: 18px; font-weight: 700; }
.sw-fresh .sw-pager a, .sw-fresh .sw-pager span { border-radius: var(--sw-radius); }
@media (max-width: 959px) { .sw-fresh .sw-filters { border-top: 1px solid var(--sw-line); box-shadow: 0 -10px 40px rgba(19, 32, 43, .18); } }

/* ================= Product page ================= */
.sw-fresh .sw-p-grid { padding-top: 14px; }
@media (min-width: 960px) {
  .sw-fresh .sw-p-grid { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 64px; }
  .sw-fresh .sw-p-info { position: sticky; top: 24px; }
}
.sw-fresh .sw-gallery-thumbs a { border: 1px solid transparent; }
.sw-fresh .sw-gallery-thumbs a.is-on { border-color: var(--sw-ink); }
.sw-fresh .sw-gallery-count { border-radius: var(--sw-radius); box-shadow: none; background: #fff; }
.sw-fresh .sw-p-info { gap: 16px; }
.sw-fresh .sw-p-info > .sw-model { margin-bottom: -8px; }
.sw-fresh .sw-p-title { font-family: var(--sw-display) !important; font-size: clamp(1.6rem, 2.8vw, 2.25rem) !important; font-weight: 700 !important; letter-spacing: -.025em; line-height: 1.08 !important; font-stretch: var(--fw-head) !important; }
.sw-fresh .sw-ticket { padding: 4px 0 2px; }
.sw-fresh .sw-ticket-ex { font-size: 32px; font-weight: 700; letter-spacing: -.02em; }
.sw-fresh .sw-ticket-inc { font-family: var(--sw-body); font-size: 14px; }
.sw-fresh .sw-breaks { border: 0; border-radius: 0; border-left: 2px solid var(--sw-ink); background: var(--fw-stone); }
.sw-fresh .sw-opt legend { font-weight: 600; font-size: 14.5px; }
.sw-fresh .sw-choice > span { min-height: 46px; padding: 8px 14px; border: 1px solid var(--fw-line-2); border-radius: var(--sw-radius); }
.sw-fresh .sw-choice:hover > span { border-color: var(--sw-ink); }
.sw-fresh .sw-choice input:checked + span { border-color: var(--sw-ink); box-shadow: inset 0 0 0 1px var(--sw-ink); }
.sw-fresh .sw-buy { padding-top: 18px; border-top: 1px solid var(--sw-line); }
.sw-fresh .sw-qty { height: 52px; border: 1px solid var(--fw-line-2); border-radius: var(--sw-radius); grid-template-columns: 44px 48px 44px; }
.sw-fresh .sw-qty button:hover { background: var(--fw-stone); }
.sw-fresh .sw-buy-btn { min-height: 52px; font-size: 16px; }
.sw-fresh .sw-buy-msg { border: 0; border-left: 3px solid var(--sw-green); background: #F1F7F2; border-radius: 0; }
.sw-fresh .sw-buy-msg.is-error { border-left-color: var(--sw-red); background: #FBF0F0; }
.sw-fresh .sw-deliv { border: 0; border-top: 1px solid var(--sw-line); }
.sw-fresh .sw-deliv > div { padding: 14px 0; border-bottom: 1px solid var(--sw-line); color: var(--sw-ink); }
.sw-fresh .sw-deliv b { font-weight: 600; }
.sw-fresh .sw-specs caption { font-family: var(--sw-display); font-size: 19px; font-weight: 700; letter-spacing: -.015em; padding-bottom: 12px; font-stretch: var(--fw-head); }
.sw-fresh .sw-specs th, .sw-fresh .sw-specs td { padding-block: 11px; }
.sw-fresh .sw-specs td { font-weight: 500; }
.sw-fresh .sw-p-desc { margin-top: 64px; padding-top: 32px; }
.sw-fresh .sw-p-desc .sw-prose { max-width: 72ch; }
.sw-fresh .sw-sticky-buy { box-shadow: 0 -6px 20px rgba(19, 32, 43, .08); }

/* ================= Basket and checkout ================= */
.sw-fresh .sw-basket-sum { border-radius: 0; background: var(--fw-stone); }
.sw-fresh .sw-step i { width: 10px; height: 10px; border-width: 1.5px; }

/* ================= Footer (light) ================= */
.sw-fresh .fw-footer { background: var(--fw-stone); color: var(--sw-ink); border-top: 1px solid var(--sw-line); margin-top: 80px; font-size: 14.5px; }
.sw-fresh .fw-footer a { color: var(--sw-ink) !important; }
.sw-fresh .fw-footer-top { display: grid; gap: 28px; padding-block: 44px 32px; border-bottom: 1px solid var(--sw-line); }
.sw-fresh .fw-footer-brand { display: grid; gap: 14px; align-content: start; }
.sw-fresh .fw-footer-brand img { width: 160px; }
.sw-fresh .fw-footer-brand p { margin: 0; max-width: 42ch; color: #4A5057; }
.sw-fresh .fw-footer-contact, .sw-fresh .fw-footer-addr { display: grid; gap: 4px; align-content: start; font-style: normal; }
.sw-fresh .fw-footer .sw-footer-h { margin: 0 0 6px; }
.sw-fresh .fw-footer-tel { font-size: 24px; font-weight: 700; letter-spacing: -.015em; text-decoration: none; }
.sw-fresh .fw-footer-open, .sw-fresh .fw-footer-mail { margin: 0; color: #4A5057 !important; }
.sw-fresh .fw-footer-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; padding-block: 32px; }
.sw-fresh .fw-footer .sw-footer-col a { padding: 4px 0; }
.sw-fresh .fw-footer a:hover { text-decoration: underline; }
.sw-fresh .fw-footer-base { border-top: 1px solid var(--sw-line); color: var(--sw-muted); }
@media (min-width: 720px) {
  .sw-fresh .fw-footer-top { grid-template-columns: 1.4fr 1fr 1fr; gap: 48px; }
  .sw-fresh .fw-footer-links { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.sw-fresh :is(.sw-xmas-scene, .sw-eid-scene) + .fw-footer { margin-top: 0; }

/* ================= Ticker ================= */
.sw-fresh .sw-ticker { font-family: var(--sw-body); font-stretch: 100%; font-weight: 600; font-size: 13.5px; }

@media (prefers-reduced-motion: reduce) {
  .sw-fresh :is(.sw-card .sw-frame img, .fw-tile-ph img, .fw-ticket, .sw-nav-link::after, .fw-feature-links a svg) { transition: none !important; transform: none !important; }
}
