:root {
  --ink: #17242b;
  --ink-soft: #465963;
  --muted: #70818a;
  --line: #dce4e8;
  --surface: #f5f7f8;
  --surface-blue: #edf7fb;
  --white: #ffffff;
  --blue: #119bcf;
  --blue-dark: #0878aa;
  --blue-deep: #075477;
  --blue-pale: #eaf7fc;
  --green: #137652;
  --green-dark: #0d5e40;
  --steel: #26373f;
  --yellow: #f0c75e;
  --shadow: 0 16px 45px rgba(20, 42, 52, .10);
}

/* Refined category browsing and consistent product cards. */
.catalog-page .catalog-heading { margin-bottom: 28px; }
.catalog-tools {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(180px, .72fr) minmax(190px, .78fr) auto;
  gap: 18px;
  align-items: end;
  margin: 0 0 28px;
  padding: 22px;
  border: 1px solid #d4e0e4;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(23, 49, 60, .05);
}
.catalog-tools-heading { grid-column: 1 / -1; display: flex; align-items: end; justify-content: space-between; gap: 20px; padding-bottom: 15px; border-bottom: 1px solid #e4eaed; }
.catalog-tools-heading > div { display: grid; gap: 3px; }
.catalog-tools-heading > div > span { color: #087ba6; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.catalog-tools-heading strong { font: 700 21px/1.25 "Sora", sans-serif; }
.catalog-tools-result { color: #6c7d85; font-size: 12px; }
.catalog-tools-result b { color: #172931; font-size: 15px; }
.catalog-tools fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.catalog-tools legend,
.catalog-select-field label { display: block; margin: 0 0 8px; color: #40545d; font-size: 11px; font-weight: 800; }
.catalog-segments { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; border: 1px solid #cbd9de; border-radius: 5px; background: #f7f9fa; }
.catalog-segments label { position: relative; min-width: 0; cursor: pointer; }
.catalog-segments label + label { border-left: 1px solid #d8e2e5; }
.catalog-segments input { position: absolute; opacity: 0; pointer-events: none; }
.catalog-segments label > span { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 48px; padding: 7px 9px; color: #53676f; font-size: 11px; font-weight: 800; text-align: center; }
.catalog-segments label > span svg { width: 15px; height: 15px; }
.catalog-segments label > span small { display: block; color: #84939a; font-size: 9px; font-weight: 600; }
.catalog-segments input:checked + span { color: #08698d; background: #e8f5f9; box-shadow: inset 0 -3px #0a88b5; }
.catalog-segments input:focus-visible + span { outline: 3px solid rgba(0,128,184,.3); outline-offset: -3px; }
.catalog-select-field select { width: 100%; min-height: 50px; padding: 0 38px 0 13px; border: 1px solid #cbd9de; border-radius: 5px; color: #263a43; background-color: #fff; font: 700 11px/1.2 "Manrope", sans-serif; }
.catalog-filter-submit { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 50px; padding: 0 17px; border: 0; border-radius: 5px; color: #fff; background: #087fae; font-weight: 800; cursor: pointer; }
.catalog-filter-submit:hover { background: #066b94; }
.catalog-tools.has-auto-filter .catalog-filter-submit { display: none; }
.catalog-tools.is-updating { position: relative; pointer-events: none; opacity: .64; }
.catalog-tools.is-updating::after { content: ""; position: absolute; top: 22px; right: 22px; width: 17px; height: 17px; border: 2px solid #b9d9e4; border-top-color: #087fae; border-radius: 50%; animation: catalog-filter-spin .65s linear infinite; }
@keyframes catalog-filter-spin { to { transform: rotate(360deg); } }
.catalog-filter-submit svg,
.catalog-filter-reset svg { width: 16px; height: 16px; }
.catalog-filter-reset { grid-column: 1 / -1; display: inline-flex; align-items: center; gap: 6px; width: max-content; color: #557079; font-size: 11px; font-weight: 800; text-decoration: none; }

.catalog-page .product-grid { align-items: stretch; gap: 18px; }
.catalog-page .product-card { display: grid; grid-template-rows: 265px minmax(0, 1fr); min-width: 0; border-color: #d5e0e3; border-radius: 6px; box-shadow: 0 4px 14px rgba(25,48,57,.035); }
.catalog-page .product-card:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(24,50,61,.09); }
.catalog-page .product-media { width: 100%; height: 265px !important; min-height: 0; aspect-ratio: auto !important; padding: 24px; overflow: hidden; border-bottom-color: #e1e8ea; background: #fff; box-sizing: border-box; }
.catalog-page .product-media img { display: block; width: 100%; height: 100%; max-width: 100%; max-height: 100%; object-fit: contain; object-position: center; }
.product-admin-edit { position: absolute; z-index: 4; top: 12px; right: 12px; width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid #b9cdd5; border-radius: 5px; color: #075f84; background: rgba(255,255,255,.96); box-shadow: 0 5px 14px rgba(21,48,59,.12); text-decoration: none; transition: color .16s ease, border-color .16s ease, background .16s ease, transform .16s ease; }
.product-admin-edit:hover { transform: translateY(-1px); border-color: #0878aa; color: #fff; background: #0878aa; }
.product-admin-edit:focus-visible { outline: 3px solid rgba(8,120,170,.28); outline-offset: 2px; }
.product-admin-edit svg { width: 16px; height: 16px; stroke-width: 2; }
.catalog-page .product-body { display: flex; flex-direction: column; min-width: 0; padding: 18px; }
.product-card-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 9px; color: #71858e; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.product-card-meta span:last-child { color: #16765f; }
.product-card-meta span:last-child:not(:first-child) { white-space: nowrap; }
.catalog-page .product-card h3 { min-height: 44px; margin: 0 0 14px; font-size: 14px; line-height: 1.55; }
.product-measurements { margin-bottom: 20px; border: 1px solid #dce6e9; border-radius: 5px; background: #f8fafb; }
.product-main-measure { display: flex; align-items: center; gap: 10px; padding: 11px 12px; }
.product-main-measure > svg { width: 21px; height: 21px; color: #087da7; }
.product-main-measure > span { display: grid; gap: 2px; }
.product-measurements small { color: #758790; font-size: 9px; font-weight: 700; }
.product-main-measure strong { color: #172b34; font: 700 17px/1.1 "Sora", sans-serif; }
.product-secondary-measures { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid #dce6e9; }
.product-secondary-measures > span { display: grid; gap: 2px; padding: 9px 12px; }
.product-secondary-measures > span + span { border-left: 1px solid #dce6e9; }
.product-secondary-measures strong { color: #344a54; font-size: 11px; }
.catalog-page .product-buy { margin-top: auto; padding-top: 15px; border-top: 1px solid #e3eaec; }
.catalog-page .product-price small { margin-top: 2px; }

@media (max-width: 1120px) {
  .catalog-tools { grid-template-columns: 1fr 1fr; }
  .catalog-size-filter { grid-column: 1 / -1; }
  .catalog-filter-submit { justify-self: start; }
}

@media (max-width: 720px) {
  .catalog-tools { grid-template-columns: 1fr; gap: 14px; padding: 17px; }
  .catalog-tools-heading,
  .catalog-size-filter,
  .catalog-filter-reset { grid-column: 1; }
  .catalog-tools-heading { align-items: start; }
  .catalog-segments { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .catalog-segments label:nth-child(3) { border-left: 0; border-top: 1px solid #d8e2e5; }
  .catalog-segments label:nth-child(4) { border-top: 1px solid #d8e2e5; }
  .catalog-filter-submit { width: 100%; }
  .catalog-page .product-card { grid-template-rows: 235px minmax(0, 1fr); }
  .catalog-page .product-media { height: 235px; }
}

/* Reviews, partner requests and checkout consent */
.product-reviews { margin-top:56px;padding-top:42px;border-top:1px solid var(--line); }
.product-reviews-head { display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:24px; }
.product-reviews-head h2 { margin:4px 0 7px;font-size:30px; }
.product-reviews-head > div:first-child > p:last-child { max-width:650px;margin:0;color:var(--muted); }
.review-score { min-width:150px;display:grid;justify-items:end;gap:2px;padding-left:24px;border-left:1px solid var(--line); }
.review-score strong { font:700 38px "Sora",sans-serif; }
.review-score span { color:#dc6b37;font-size:15px; }
.review-score small { color:var(--muted);font-size:11px; }
.review-list { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }
.review-list article { padding:22px;border:1px solid #d7e2e5;border-radius:7px;background:#fff; }
.review-list article > header { display:flex;justify-content:space-between;gap:12px;color:#e56f34;font-size:13px; }
.review-list article > header i { color:#cfdadd;font-style:normal; }
.review-list time { color:var(--muted);font-size:10px; }
.review-list h3 { margin:14px 0 7px;font-size:17px; }
.review-list article > p { margin:0;color:#536a73;font-size:13px;line-height:1.7; }
.review-list footer { display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;padding-top:13px;border-top:1px solid var(--line); }
.review-list footer strong { font-size:12px; }
.review-list footer span { display:inline-flex;align-items:center;gap:5px;color:#13745d;font-size:10px;font-weight:700; }
.review-list footer svg { width:15px; }
.review-list aside { margin:16px -4px -4px;padding:14px;border-left:3px solid #0b86ae;background:#eff8fa; }
.review-list aside strong { font-size:11px; }
.review-list aside p { margin:5px 0 0;color:#4f6871;font-size:12px;line-height:1.6; }
.review-empty { display:flex;align-items:center;gap:14px;padding:22px;border:1px dashed #bfd2d8;border-radius:7px;background:#f8fbfb; }
.review-empty > svg { width:26px;color:#0b82aa; }
.review-empty strong { font-size:14px; }
.review-empty p { margin:4px 0 0;color:var(--muted);font-size:12px; }
.review-form-panel { margin-top:18px;border:1px solid #cbdde2;border-radius:7px;background:#f7fbfc; }
.review-form-panel > summary { display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 20px;list-style:none;cursor:pointer; }
.review-form-panel > summary::-webkit-details-marker { display:none; }
.review-form-panel > summary > span { display:grid;grid-template-columns:30px minmax(0,1fr);gap:2px 10px;align-items:center; }
.review-form-panel > summary > span > svg { grid-row:1/3;width:21px;color:#0b82aa; }
.review-form-panel > summary strong { font-size:14px; }
.review-form-panel > summary small { color:var(--muted);font-size:10px; }
.review-form-panel > summary > svg { width:18px;transition:transform .18s ease; }
.review-form-panel[open] > summary > svg { transform:rotate(180deg); }
.review-form-panel form { padding:20px;border-top:1px solid #cbdde2;background:#fff; }
.review-rating { display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:0;border:0; }
.review-rating legend { width:100%;margin-bottom:5px;font-size:11px;font-weight:700; }
.review-rating label span { display:block;padding:8px 10px;border:1px solid #c9d8dc;border-radius:5px;background:#fff;font-size:10px;font-weight:700;cursor:pointer; }
.review-rating input { position:absolute;opacity:0; }
.review-rating input:checked + span { border-color:#e36b34;color:#a7451c;background:#fff2eb; }
.review-fields,.partner-request-fields { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }
.review-fields label,.partner-request-fields label { display:grid;gap:6px; }
.review-fields label > span,.partner-request-fields label > span { font-size:11px;font-weight:700; }
.review-fields .is-full,.partner-request-fields .is-full { grid-column:1/-1; }
.review-fields input,.review-fields textarea,.partner-request-fields input,.partner-request-fields textarea { width:100%;padding:11px 12px;border:1px solid #c7d6da;border-radius:5px;background:#fff;font:inherit; }
.review-consent { display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:10px;margin:16px 0;padding:13px;border:1px solid #cfe0d9;border-radius:6px;background:#f2faf6; }
.review-consent input { width:17px;height:17px;margin:1px 0 0;accent-color:#087ea8; }
.review-consent span { color:#4a646d;font-size:11px;line-height:1.5; }

.partner-apply { grid-template-columns:minmax(280px,.75fr) minmax(480px,1.25fr);align-items:start;color:#18343e;border:1px solid #c9dde4;background:#eaf5f8; }
.partner-apply h2 { color:#18343e; }
.partner-apply p,.partner-apply p:last-child { color:#536f79; }
.partner-apply ul { display:grid;gap:7px;margin:18px 0 0;padding-left:18px;color:#3f626d;font-size:12px; }
.partner-request-form { padding:22px;border:1px solid #bfd5dc;border-radius:7px;background:#fff; }
.partner-request-form .button { margin-top:16px;justify-content:center;color:#fff;background:#087da7; }
.form-honeypot { position:absolute!important;left:-9999px!important; }

@media (max-width:820px) {
  .product-reviews-head { align-items:flex-start;flex-direction:column; }
  .review-score { width:100%;grid-template-columns:auto auto 1fr;align-items:center;justify-items:start;padding:12px 0 0;border-top:1px solid var(--line);border-left:0; }
  .review-list,.partner-apply,.review-fields,.partner-request-fields { grid-template-columns:1fr; }
  .review-fields .is-full,.partner-request-fields .is-full { grid-column:1; }
}
@media (max-width:560px) {
  .product-reviews { margin-top:38px;padding-top:30px; }
  .product-reviews-head h2 { font-size:24px; }
  .review-list article,.review-form-panel form,.partner-request-form { padding:16px; }
  .partner-apply { padding:24px 18px; }
}

/* Final frontend content, catalog and accessibility polish. */
.skip-link {
  position: fixed;
  z-index: 9999;
  top: 10px;
  left: 10px;
  padding: 11px 15px;
  color: #fff;
  background: #102832;
  border-radius: 4px;
  font-weight: 700;
  text-decoration: none;
  transform: translateY(-160%);
  transition: transform .15s ease;
}

.skip-link:focus { transform: translateY(0); }

:where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid rgba(0, 128, 184, .36);
  outline-offset: 3px;
}

.catalog-count {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.catalog-count svg { width: 16px; height: 16px; }

.catalog-category-overview { margin-bottom: 68px; }
.catalog-category-overview > h2 { margin: 0 0 24px; font-size: 25px; }
.category-grid-all { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.category-guidance {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 38px;
  margin: 0 0 62px;
  padding: 30px 34px;
  border: 1px solid #c9dfe5;
  border-left: 4px solid #0b7da6;
  background: #edf7fa;
}

.category-guidance h2 { margin: 6px 0 9px; font-size: 25px; }
.category-guidance p:last-child { max-width: 720px; margin: 0; color: #536970; line-height: 1.7; }
.category-guidance-actions { display: flex; flex-wrap: wrap; gap: 10px; }

.category-editorial {
  display: grid;
  grid-template-columns: 245px minmax(0, 1fr);
  align-items: start;
  gap: 70px;
  margin-top: 78px;
  padding: 70px 0 22px;
  border-top: 1px solid #cfdde1;
}

.category-editorial-label {
  position: sticky;
  top: 160px;
  padding-left: 18px;
  border-left: 3px solid #0b7ca5;
}

.category-editorial-label strong { display: block; margin-top: 8px; font: 700 19px/1.35 "Sora", sans-serif; }
.category-editorial-copy { max-width: 790px; }
.category-editorial-copy h2:first-child { margin-top: 0; }

.ring-choice-guide { display: grid; grid-template-columns: minmax(280px,.85fr) minmax(0,1.4fr); gap: 34px; align-items: center; margin: 0 0 22px; padding: 24px 26px; border: 1px solid #cfe0e5; border-left: 4px solid #0782ad; background: #f7fbfc; }
.ring-choice-intro { display: flex; gap: 17px; align-items: flex-start; }
.ring-choice-icon { display: grid; flex: 0 0 46px; width: 46px; height: 46px; place-items: center; border: 1px solid #b9d7df; background: #fff; color: #087fae; }
.ring-choice-icon svg { width: 22px; height: 22px; }
.ring-choice-intro h2 { margin: 4px 0 7px; font-size: 21px; }
.ring-choice-intro p:last-child { margin: 0; color: #5b7078; font-size: 13px; line-height: 1.6; }
.ring-measure-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0; padding: 0; list-style: none; border: 1px solid #d6e3e7; background: #fff; }
.ring-measure-steps li { display: flex; min-width: 0; gap: 11px; padding: 16px; align-items: center; }
.ring-measure-steps li + li { border-left: 1px solid #dfe8eb; }
.ring-measure-steps > li > span { color: #0a7fa8; font-size: 10px; font-weight: 800; }
.ring-measure-steps div { display: grid; gap: 2px; min-width: 0; }
.ring-measure-steps strong { font-size: 12px; }
.ring-measure-steps small { color: #73858c; font-size: 10px; line-height: 1.4; }
.ring-catalog-tools { grid-template-columns: minmax(0,2.2fr) minmax(220px,.8fr); }
.ring-type-segments { grid-template-columns: repeat(3,minmax(0,1fr)); }
.ring-card-measurements { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); min-height: 62px; margin: 0 0 20px; border: 1px solid #dce6e9; background: #f8fafb; }
.ring-card-measurements span { display: grid; align-content: center; gap: 3px; min-width: 0; padding: 11px 9px; }
.ring-card-measurements span + span { border-left: 1px solid #dce6e9; }
.ring-card-measurements small { color: #758790; font-size: 9px; font-weight: 700; }
.ring-card-measurements strong { overflow-wrap: anywhere; font-size: 12px; line-height: 1.35; }
.ring-card-measurements .ring-card-range { grid-column: span 2; }
.ring-product-card--nbr-vast .product-media img { transform: scale(1.65); }
.stop-catalog-tools,
.plug-catalog-tools { grid-template-columns: minmax(0,2.5fr) minmax(220px,.7fr); }
.stop-type-segments { grid-template-columns: repeat(5,minmax(0,1fr)); }
.plug-size-segments { grid-template-columns: repeat(6,minmax(0,1fr)); }
.stop-card-range { display: flex; align-items: center; gap: 11px; min-height: 62px; margin: 0 0 20px; padding: 11px 12px; border: 1px solid #dce6e9; background: #f8fafb; }
.stop-card-range svg { width: 21px; height: 21px; color: #087da7; }
.stop-card-range span { display: grid; gap: 3px; }
.stop-card-range small { color: #758790; font-size: 9px; font-weight: 700; }
.stop-card-range strong { color: #172b34; font-size: 13px; }

@media (max-width: 900px) {
  .ring-choice-guide { grid-template-columns: 1fr; }
  .ring-catalog-tools { grid-template-columns: 1fr; }
  .stop-catalog-tools,
  .plug-catalog-tools { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .ring-choice-guide { padding: 20px 17px; }
  .ring-choice-intro { display: grid; }
  .ring-measure-steps { grid-template-columns: 1fr; }
  .ring-measure-steps li + li { border-top: 1px solid #dfe8eb; border-left: 0; }
  .ring-type-segments { grid-template-columns: 1fr 1fr; }
  .stop-type-segments,
  .plug-size-segments { grid-template-columns: 1fr 1fr; }
}

.product-next-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: 34px;
  border: 1px solid #d6e1e4;
  background: #d6e1e4;
}

.product-next-actions > a {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 11px;
  min-height: 82px;
  padding: 15px 18px;
  color: inherit;
  background: #f8fbfc;
  text-decoration: none;
}

.product-next-actions > a:hover { background: #eef7fa; }
.product-next-actions svg { width: 22px; color: #0878a1; }
.product-next-actions span { display: grid; gap: 2px; }
.product-next-actions strong { font-size: 13px; }
.product-next-actions small { color: #718188; font-size: 11px; }

@media (max-width: 1000px) {
  .category-grid-all { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .category-editorial { grid-template-columns: 190px minmax(0, 1fr); gap: 40px; }
  .product-next-actions { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .category-grid-all { grid-template-columns: 1fr; }
  .category-guidance { grid-template-columns: 1fr; gap: 22px; padding: 25px 22px; }
  .category-guidance-actions { align-items: stretch; flex-direction: column; }
  .category-guidance-actions .button { width: 100%; }
  .category-editorial { grid-template-columns: 1fr; gap: 30px; margin-top: 54px; padding-top: 48px; }
  .category-editorial-label { position: static; }
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  overflow-x: hidden;
}

body {
  margin: 0;
  overflow-x: hidden;
  color: var(--ink);
  background: var(--white);
  font-family: "DM Sans", Arial, sans-serif;
  line-height: 1.55;
}

body.cart-open,
body.nav-open {
  overflow: hidden;
}

img {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
}

button,
input {
  font: inherit;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

button:focus-visible,
a:focus-visible,
input:focus-visible {
  outline: 3px solid rgba(23, 149, 200, .35);
  outline-offset: 2px;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.wrap {
  width: min(1240px, calc(100% - 40px));
  margin: 0 auto;
}

h1,
h2,
h3 {
  margin-top: 0;
  font-family: "Sora", Arial, sans-serif;
  letter-spacing: 0;
}

p {
  margin-top: 0;
}

.notice {
  min-height: 52px;
  display: flex;
  align-items: center;
  color: var(--white);
  background: var(--blue-dark);
  border-bottom: 1px solid rgba(255,255,255,.16);
  font-size: .7rem;
  font-weight: 600;
}

.notice-inner {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: center;
  gap: 0;
}

.notice span {
  min-width: 0;
  min-height: 28px;
  display: grid;
  grid-template-columns: 24px 1fr;
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: 9px;
  padding: 0 18px;
  border-right: 1px solid rgba(255,255,255,.17);
}

.notice span:first-child {
  padding-left: 0;
}

.notice span:last-child {
  padding-right: 0;
  border-right: 0;
}

.notice b {
  align-self: end;
  line-height: 1.12;
}

.notice small {
  grid-column: 2;
  align-self: start;
  color: rgba(255,255,255,.72);
  font-size: .61rem;
  line-height: 1.15;
}

.notice svg {
  grid-row: 1 / 3;
  width: 20px;
  height: 20px;
  color: #a9e2f5;
}

.header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--white);
}

.header-main {
  min-height: 82px;
  display: grid;
  grid-template-columns: 238px minmax(300px, 1fr) auto;
  align-items: center;
  gap: 34px;
}

.logo {
  display: block;
}

.logo img {
  width: 218px;
  height: auto;
}

.search-form {
  height: 46px;
  display: grid;
  grid-template-columns: 44px 1fr auto;
  align-items: center;
  overflow: hidden;
  border: 1px solid #cdd9de;
  border-radius: 5px;
  background: #f8fafb;
}

.search-form > svg {
  width: 19px;
  margin-left: 15px;
  color: #78909b;
}

.search-form input {
  min-width: 0;
  height: 100%;
  padding: 0 10px;
  border: 0;
  outline: 0;
  color: var(--ink);
  background: transparent;
}

.search-form input::placeholder {
  color: #82929a;
}

.search-form button {
  align-self: stretch;
  padding: 0 19px;
  border: 0;
  color: var(--white);
  background: var(--blue-dark);
  font-size: .75rem;
  font-weight: 700;
  cursor: pointer;
}

.search-form:focus-within {
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(23, 149, 200, .12);
}

.header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 23px;
}

.help-link,
.cart-trigger {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 0;
  border: 0;
  color: var(--ink);
  background: transparent;
  text-decoration: none;
  cursor: pointer;
}

.help-link > svg,
.cart-trigger > svg {
  width: 24px;
  height: 24px;
  color: var(--blue-dark);
}

.help-link span,
.cart-trigger span {
  display: grid;
  text-align: left;
}

.help-link small,
.cart-trigger small {
  color: var(--muted);
  font-size: .64rem;
  line-height: 1.25;
}

.help-link strong,
.cart-trigger strong {
  font-size: .77rem;
  white-space: nowrap;
}

.cart-trigger {
  position: relative;
}

.cart-trigger b {
  position: absolute;
  top: -10px;
  left: 15px;
  min-width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  padding: 0 4px;
  border: 2px solid var(--white);
  border-radius: 99px;
  color: var(--white);
  background: var(--green);
  font-size: .61rem;
}

.icon-control {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 4px;
  color: var(--ink);
  background: var(--white);
  cursor: pointer;
}

.icon-control svg {
  width: 19px;
  height: 19px;
}

.search-toggle,
.menu-toggle {
  display: none;
}

.nav-bar {
  position: relative;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--white);
  box-shadow: 0 5px 18px rgba(25, 47, 58, .04);
}

.nav-content {
  min-height: 55px;
  display: flex;
  align-items: stretch;
}

.nav-content > a,
.catalog-trigger {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 17px;
  border: 0;
  color: #334750;
  background: transparent;
  text-decoration: none;
  font-size: .84rem;
  font-weight: 600;
  cursor: pointer;
}

.nav-content > a::after {
  content: "";
  position: absolute;
  right: 17px;
  bottom: -1px;
  left: 17px;
  height: 3px;
  background: var(--blue);
  transform: scaleX(0);
  transition: transform .18s ease;
}

.nav-content > a:hover,
.nav-content > a.is-active {
  color: var(--blue-dark);
}

.nav-category-link > svg { width: 16px; height: 16px; flex: 0 0 16px; color: #6f858f; stroke-width: 1.8; transition: color .18s ease, transform .18s ease; }
.nav-category-link:hover > svg,
.nav-category-link.is-active > svg { color: var(--blue-dark); transform: translateY(-1px); }
.nav-category-link.is-active { background: #f3f9fb; }
.nav-category-link > span { white-space: nowrap; }

.nav-content > a:hover::after,
.nav-content > a.is-active::after {
  transform: scaleX(1);
}

.catalog {
  position: relative;
  display: flex;
  margin-right: 8px;
}

.catalog-trigger {
  min-width: 152px;
  justify-content: flex-start;
  padding: 0 15px;
  color: var(--white);
  background: var(--blue-dark);
  font-weight: 700;
}

.catalog-trigger svg {
  width: 17px;
}

.catalog-trigger svg:last-child {
  width: 15px;
  margin-left: auto;
  transition: transform .18s ease;
}

.catalog.is-open .catalog-trigger svg:last-child {
  transform: rotate(180deg);
}

.catalog-trigger:hover,
.catalog.is-open .catalog-trigger {
  background: var(--blue-deep);
}

.mega-menu {
  position: absolute;
  top: calc(100% + 1px);
  left: 0;
  width: 820px;
  display: none;
  padding: 21px;
  border: 1px solid var(--line);
  border-top: 3px solid var(--blue);
  border-radius: 0 0 6px 6px;
  background: var(--white);
  box-shadow: 0 24px 60px rgba(15, 34, 43, .17);
}

.catalog.is-open .mega-menu {
  display: block;
}

.mega-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 15px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}

.mega-head span {
  display: grid;
}

.mega-head strong {
  font-family: "Sora", sans-serif;
  font-size: .98rem;
}

.mega-head small {
  color: var(--muted);
  font-size: .71rem;
}

.mega-head a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--blue-dark);
  font-size: .73rem;
  font-weight: 700;
  text-decoration: none;
}

.mega-head svg {
  width: 15px;
}

.mega-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.mega-item {
  display: grid;
  grid-template-columns: 54px 1fr;
  align-items: center;
  gap: 12px;
  min-height: 74px;
  padding: 9px;
  border: 1px solid transparent;
  border-radius: 5px;
  text-decoration: none;
}

.mega-item:hover {
  border-color: var(--line);
  background: var(--surface);
}

.mega-item img {
  width: 54px;
  height: 54px;
  object-fit: contain;
  border: 1px solid var(--line);
  background: var(--white);
}

.mega-item span {
  display: grid;
}

.mega-item strong {
  font-size: .78rem;
}

.mega-item small {
  color: var(--muted);
  font-size: .65rem;
}

.nav-advice {
  margin-left: auto;
  color: var(--green) !important;
  font-weight: 700 !important;
}

.nav-advice svg {
  width: 18px;
}

.mobile-nav-head,
.nav-backdrop {
  display: none;
}

.hero {
  position: relative;
  min-height: 520px;
  display: flex;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid #cce5ef;
  background-color: var(--blue-pale);
  background-image: url("assets/hero-sink-premium-v2.jpg");
  background-position: 72% center;
  background-size: cover;
}

.hero-shade {
  position: absolute;
  inset: 0 auto 0 0;
  width: max(57%, calc((100% - 1240px) / 2 + 665px));
  border-right: 1px solid rgba(17, 155, 207, .18);
  background: rgba(244, 251, 253, .95);
}

.hero-inner {
  position: relative;
  z-index: 2;
  width: min(1240px, calc(100% - 40px));
  padding: 62px 0 68px;
}

.hero-copy {
  max-width: 620px;
  color: var(--ink);
}

.overline {
  margin-bottom: 14px;
  color: var(--blue-dark);
  font-size: .73rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0;
}

.overline.dark {
  color: var(--blue-dark);
}

.hero h1 {
  max-width: 620px;
  margin-bottom: 22px;
  color: var(--ink);
  font-size: clamp(2.85rem, 4.65vw, 4.15rem);
  line-height: 1.04;
}

.hero-copy > p:not(.overline) {
  max-width: 555px;
  margin-bottom: 29px;
  color: var(--ink-soft);
  font-size: 1.08rem;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 11px;
}

.button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 19px;
  border: 1px solid transparent;
  border-radius: 4px;
  text-decoration: none;
  font-size: .78rem;
  font-weight: 700;
  cursor: pointer;
}

.button svg {
  width: 17px;
}

.button-primary {
  color: var(--white);
  background: var(--blue-dark);
  box-shadow: 0 8px 22px rgba(8, 92, 132, .2);
}

.button-primary:hover {
  background: var(--blue-deep);
}

.button-ghost {
  border-color: #9fcbdc;
  color: var(--blue-deep);
  background: rgba(255,255,255,.84);
}

.button-ghost:hover {
  background: var(--white);
}

.button-light {
  color: var(--ink);
  background: var(--white);
}

.button-full {
  width: 100%;
}

.hero-proof {
  display: flex;
  flex-wrap: wrap;
  gap: 21px;
  margin-top: 27px;
  color: #42616f;
  font-size: .73rem;
  font-weight: 600;
}

.hero-proof span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.hero-proof svg {
  width: 15px;
  color: var(--green);
}

.category-section,
.products-section,
.seo-section,
.service-section {
  padding: 78px 0;
}

.category-section {
  background: #f3fafd;
  border-bottom: 1px solid #d5e9f1;
}

.section-intro {
  margin-bottom: 29px;
}

.section-intro-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
}

.section-intro h2,
.seo-title h2,
.measure-content h2,
.closing-inner h2 {
  margin-bottom: 0;
  color: var(--ink);
  font-size: clamp(1.8rem, 3vw, 2.55rem);
  line-height: 1.12;
}

.inline-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--blue-dark);
  font-size: .76rem;
  font-weight: 700;
  text-decoration: none;
}

.inline-link svg {
  width: 16px;
}

.category-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.category-card {
  position: relative;
  min-height: 190px;
  display: grid;
  grid-template-columns: 1fr 116px;
  align-items: center;
  overflow: hidden;
  padding: 21px 0 21px 21px;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: var(--white);
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.category-card:hover {
  transform: translateY(-3px);
  border-color: #b9ccd4;
  box-shadow: var(--shadow);
}

.category-card-copy {
  position: relative;
  z-index: 2;
}

.category-card h3 {
  margin-bottom: 6px;
  font-size: .98rem;
}

.category-card p {
  margin-bottom: 19px;
  color: var(--muted);
  font-size: .72rem;
}

.category-card span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--blue-dark);
  font-size: .7rem;
  font-weight: 700;
}

.category-card svg {
  width: 14px;
}

.category-card img {
  width: 125px;
  height: 145px;
  object-fit: contain;
  transform: translateX(10px);
  mix-blend-mode: multiply;
}

.products-section {
  background: var(--surface);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.product-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.product-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: var(--white);
  transition: transform .18s ease, box-shadow .18s ease;
}

.product-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow);
}

.product-badge {
  position: absolute;
  z-index: 2;
  top: 12px;
  left: 12px;
  padding: 5px 8px;
  border-radius: 3px;
  color: var(--ink);
  background: var(--yellow);
  font-size: .62rem;
  font-weight: 700;
}

.product-media {
  aspect-ratio: 1 / .88;
  display: grid;
  place-items: center;
  padding: 22px;
  border-bottom: 1px solid var(--line);
  background: #fbfcfc;
}

.product-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  mix-blend-mode: multiply;
}

.product-body {
  padding: 17px;
}

.product-kicker {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
  color: var(--green);
  font-size: .65rem;
  font-weight: 700;
}

.product-kicker svg {
  width: 14px;
}

.product-card h3 {
  min-height: 42px;
  margin-bottom: 7px;
  font-size: .88rem;
}

.product-specs {
  display: flex;
  gap: 8px;
  margin-bottom: 17px;
  color: var(--muted);
  font-size: .68rem;
}

.product-specs span + span::before {
  content: "•";
  margin-right: 8px;
  color: #9aabb3;
}

.product-buy {
  display: grid;
  grid-template-columns: 1fr 42px;
  align-items: center;
  gap: 10px;
}

.product-price {
  display: grid;
}

.product-price strong {
  font-size: 1.04rem;
}

.product-price small {
  color: var(--muted);
  font-size: .61rem;
}

.add-to-cart {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 4px;
  color: var(--white);
  background: var(--blue-dark);
  cursor: pointer;
}

.add-to-cart:hover {
  background: var(--blue-deep);
}

.add-to-cart svg {
  width: 18px;
}

.seo-section {
  border-bottom: 1px solid var(--line);
}

.seo-two {
  background: var(--surface-blue);
}

.seo-three {
  background: #f7f9fa;
}

.seo-layout {
  display: grid;
  grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr);
  gap: 86px;
  align-items: start;
}

.seo-title {
  position: relative;
  padding-left: 61px;
}

.seo-title > span {
  position: absolute;
  top: 0;
  left: 0;
  width: 41px;
  height: 41px;
  display: grid;
  place-items: center;
  border: 1px solid #a7d5e6;
  border-radius: 50%;
  color: var(--blue-dark);
  font-size: .68rem;
  font-weight: 700;
}

.seo-copy {
  columns: 2;
  column-gap: 36px;
}

.seo-copy p {
  margin: 0 0 20px;
  color: #536771;
  font-size: .86rem;
  line-height: 1.85;
}

.seo-copy p:last-child { margin-bottom: 0; }

.seo-copy a {
  color: var(--blue-dark);
  font-weight: 700;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

/* Long-form homepage content */
.seo-story { padding: 92px 0; background: #fff; }
.seo-story-quality { background: #eef6f7; }
.seo-story > .wrap { width: min(960px, calc(100% - 40px)); }
.seo-story-head { padding-bottom: 38px; border-bottom: 1px solid #d5e1e4; }
.seo-story-title { display: grid; grid-template-columns: 42px minmax(0, 1fr); align-items: center; gap: 2px 16px; }
.seo-story-title > span { grid-row: 1 / 3; width: 38px; height: 38px; display: grid; place-items: center; color: var(--blue-dark); border: 1px solid #9fd5e7; border-radius: 50%; font-size: 11px; font-weight: 700; }
.seo-story-title .overline { margin: 0; }
.seo-story-title h2 { grid-column: 2; max-width: 760px; margin: 6px 0 0; font: 700 40px/1.14 "Sora", sans-serif; letter-spacing: 0; }
.seo-story-intro { max-width: 850px; margin: 30px 0 0 58px; color: #405861; font-size: 17px; line-height: 1.85; }
.seo-story a { color: var(--blue-dark); font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.seo-story-grid { display: grid; }
.seo-story-topic { display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: start; gap: 18px; padding: 38px 0; border-bottom: 1px solid #d5e1e4; }
.seo-story-topic > span { width: 46px; height: 46px; display: grid; place-items: center; color: #0878aa; border-radius: 7px; background: #e5f5fa; }
.seo-story-quality .seo-story-topic > span { color: #11664f; background: #dff0ea; }
.seo-story-topic svg { width: 21px; stroke-width: 1.8; }
.seo-story-topic h3 { margin: 1px 0 12px; font: 700 21px/1.3 "Sora", sans-serif; letter-spacing: 0; }
.seo-story-topic p { max-width: 850px; margin: 0; color: #536971; font-size: 15px; line-height: 1.9; }

@media (max-width: 680px) {
  .seo-story { padding: 62px 0; }
  .seo-story > .wrap { width: min(100% - 32px, 960px); }
  .seo-story-head { padding-bottom: 28px; }
  .seo-story-title { grid-template-columns: 34px minmax(0, 1fr); gap: 2px 12px; }
  .seo-story-title > span { width: 32px; height: 32px; }
  .seo-story-title h2 { font-size: 30px; }
  .seo-story-intro { margin: 24px 0 0; font-size: 16px; line-height: 1.75; }
  .seo-story-topic { grid-template-columns: 38px minmax(0, 1fr); gap: 13px; padding: 30px 0; }
  .seo-story-topic > span { width: 38px; height: 38px; }
  .seo-story-topic svg { width: 18px; }
  .seo-story-topic h3 { font-size: 18px; }
  .seo-story-topic p { font-size: 14px; line-height: 1.8; }
}

/* Header, homepage and footer refinement */
.notice-inner > a,
.notice-inner > span { min-width:0; min-height:28px; display:grid; grid-template-columns:24px 1fr; grid-template-rows:auto auto; align-items:center; column-gap:9px; padding:0 18px; border-right:1px solid rgba(255,255,255,.17); color:#fff; text-decoration:none; }
.notice-inner > a:first-child { padding-left:0; }
.notice-inner > :last-child { padding-right:0; border-right:0; }
.notice-inner > a svg { grid-row:1 / 3; width:20px; color:#a9e2f5; }
.notice-inner > a b { align-self:end; line-height:1.12; }
.notice-inner > a small { grid-column:2; align-self:start; color:rgba(255,255,255,.72); font-size:.61rem; line-height:1.15; }
.notice-inner > a:hover b { text-decoration:underline; }

.category-card { isolation:isolate; grid-template-columns:minmax(0,1fr) 142px; min-height:205px; padding:24px 0 24px 24px; border-color:#cad9df; background:#f7fafb; }
.category-card::after { content:""; position:absolute; z-index:-1; top:0; right:0; width:39%; height:100%; background:#edf3f5; border-left:1px solid #d7e2e6; }
.category-card-copy { min-width:0; }
.category-card p { overflow-wrap:anywhere; }
.category-card-icon { width:34px !important; height:34px !important; margin-bottom:18px; padding:8px; border:1px solid #d3e2e7; border-radius:5px; color:#0878aa; background:#fff; box-sizing:content-box; stroke-width:1.7; }
.category-card img { position:relative; z-index:1; width:142px; height:160px; padding:11px; transform:none; mix-blend-mode:normal; filter:none; object-fit:contain; }
.category-card:hover img { transform:scale(1.04); transition:transform .2s ease; }
.category-card:hover { border-color:#9fbec9; background:#fff; }

.home-help-section { padding:74px 0; border-top:1px solid #d6e4e8; background:#eaf4f6; }
.home-help-layout { display:grid; grid-template-columns:minmax(0,.78fr) minmax(520px,1.22fr); align-items:center; gap:70px; }
.home-help-intro h2 { max-width:560px; margin-bottom:18px; font-size:34px; line-height:1.16; }
.home-help-intro > p:last-child { max-width:560px; margin:0; color:#536a74; }
.home-help-actions { border-top:1px solid #bfd2d9; }
.home-help-actions > a { display:grid; grid-template-columns:48px minmax(0,1fr) 24px; align-items:center; gap:17px; min-height:112px; padding:18px 4px; border-bottom:1px solid #bfd2d9; text-decoration:none; }
.home-help-actions > a > span { width:46px; height:46px; display:grid; place-items:center; color:#fff; border-radius:6px; background:#167a9d; }
.home-help-actions > a:nth-child(2) > span { background:#297357; }
.home-help-actions svg { width:20px; }
.home-help-actions > a > svg { color:#4f6974; transition:transform .18s ease; }
.home-help-actions > a:hover > svg { transform:translateX(4px); }
.home-help-actions div { display:grid; gap:2px; }
.home-help-actions small { color:#58717a; font-size:10px; font-weight:700; text-transform:uppercase; }
.home-help-actions strong { font:600 16px/1.3 "Sora",Arial,sans-serif; }
.home-help-actions p { margin:0; color:#6b7e86; font-size:12px; }

.managed-content a.button-primary { color:#fff; text-decoration:none; }
.info-action-band .button { min-width:164px; white-space:nowrap; }

.footer { color:#d8e2e6; background:#073c57; }
.footer-help { border-bottom:1px solid rgba(255,255,255,.12); background:#0b536f; }
.footer-help-grid { min-height:118px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.footer-help-grid > a { min-width:0; display:grid; grid-template-columns:48px minmax(0,1fr) 20px; align-items:center; gap:14px; padding:22px 30px; border-right:1px solid rgba(255,255,255,.13); color:#fff; text-decoration:none; }
.footer-help-grid > a:first-child { padding-left:0; }
.footer-help-grid > a:last-child { padding-right:0; border-right:0; }
.footer-help-grid > a > span { width:46px; height:46px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.24); border-radius:6px; color:#bfeaf6; background:rgba(255,255,255,.07); }
.footer-help-grid svg { width:20px; }
.footer-help-grid > a > svg { width:16px; color:#8fc8d8; transition:transform .18s ease; }
.footer-help-grid > a:hover > svg { transform:translateX(3px); color:#fff; }
.footer-help-grid div { min-width:0; display:grid; gap:3px; }
.footer-help-grid small { color:#9fc4d0; font-size:10px; }
.footer-help-grid strong { font-size:13px; line-height:1.35; }
.footer-grid { grid-template-columns:1.42fr .8fr 1fr 1.08fr; gap:48px; padding:54px 0 44px; }
.footer-brand p { margin-bottom:20px; }
.footer-trust { display:grid !important; grid-template-columns:30px minmax(0,1fr); align-items:center; gap:10px; max-width:340px; padding:12px 0; border-top:1px solid rgba(255,255,255,.11); border-bottom:1px solid rgba(255,255,255,.11); }
.footer-trust > svg { width:25px; color:#77d0ae; }
.footer-trust span { display:grid; gap:1px; }
.footer-trust strong { margin:0; color:#fff; font-size:11px; }
.footer-trust small { color:#91aab5; font-size:9px; }
.footer-company { display:flex; flex-wrap:wrap; gap:4px 14px; margin-top:15px; }
.footer-company span { position:relative; font-size:10px; }
.footer-company span:not(:last-child)::after { content:""; position:absolute; top:50%; right:-8px; width:2px; height:2px; border-radius:50%; background:#66828e; }
.footer-latest { margin:4px 0 7px; padding:11px 12px; border-left:3px solid #3bb18a; color:#dcebf0 !important; background:rgba(255,255,255,.06); line-height:1.35; }
.footer-latest small { display:block; margin-bottom:3px; color:#77d0ae !important; font-size:9px !important; font-weight:700; text-transform:uppercase; }
.footer-bottom nav { display:flex; flex-wrap:wrap; gap:20px; }
.footer-bottom a { color:#94aab3; text-decoration:none; }
.footer-bottom a:hover { color:#fff; }

/* Linkpartners */
.partner-page { min-height:65vh; padding:42px 0 90px; background:#f3f7f8; }
.partner-page-head { max-width:760px; margin:35px 0 42px; }
.partner-page-head h1 { margin-bottom:14px; font-size:46px; line-height:1.1; }
.partner-page-head > p:last-child { color:#5d717a; font-size:17px; }
.partner-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.partner-item { display:grid; grid-template-columns:48px minmax(0,1fr); gap:18px; min-height:170px; padding:25px; border:1px solid #d6e1e5; border-radius:6px; background:#fff; text-decoration:none; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.partner-item:hover { transform:translateY(-2px); border-color:#a9c5d0; box-shadow:0 14px 34px rgba(28,49,59,.08); }
.partner-item > span,.partner-empty > span { width:46px; height:46px; display:grid; place-items:center; border-radius:6px; color:#147a9f; background:#e3f2f7; }
.partner-item svg,.partner-empty svg { width:20px; }
.partner-item small { color:#2d8064; font-size:10px; font-weight:700; text-transform:uppercase; }
.partner-item h2 { margin:5px 0 8px; font-size:18px; }
.partner-item p { margin:0 0 12px; color:#60747d; font-size:13px; }
.partner-item b { color:#0e7197; font-size:11px; }
.partner-empty { display:flex; align-items:center; gap:18px; padding:28px 0; border-top:1px solid #d5e1e5; border-bottom:1px solid #d5e1e5; }
.partner-empty h2 { margin:0 0 5px; font-size:19px; }
.partner-empty p { margin:0; color:#61757e; }
.partner-apply { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:45px; margin-top:58px; padding:38px 42px; color:#fff; background:#12617d; }
.partner-apply h2 { margin-bottom:10px; color:#fff; font-size:26px; }
.partner-apply p:last-child { max-width:760px; margin:0; color:#c0d9e2; }

/* Interactive measurement tool */
.measure-tool-page { padding:42px 0 92px; background:#f2f7f8; }
.measure-tool-head { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:50px; margin:34px 0 36px; }
.measure-tool-head > div:first-child { max-width:780px; }
.measure-tool-head h1 { margin-bottom:16px; font-size:48px; line-height:1.08; }
.measure-tool-head p:last-child { margin:0; color:#5a7079; font-size:17px; }
.measure-tool-proof { display:grid; gap:8px; padding-bottom:6px; }
.measure-tool-proof span { display:flex; align-items:center; gap:8px; color:#47616c; font-size:11px; }
.measure-tool-proof svg { width:16px; color:#1c8463; }
.measure-type-switch { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin-bottom:18px; border:1px solid #cad9df; border-radius:7px; overflow:hidden; background:#fff; }
.measure-type-switch button { min-width:0; min-height:82px; display:grid; grid-template-columns:38px minmax(0,1fr); align-items:center; gap:12px; padding:14px 20px; border:0; border-right:1px solid #d6e1e5; color:#415760; background:#fff; text-align:left; cursor:pointer; }
.measure-type-switch button:last-child { border-right:0; }
.measure-type-switch button > svg { width:22px; color:#728891; }
.measure-type-switch button span { display:grid; }
.measure-type-switch strong { color:#22343c; font-size:13px; }
.measure-type-switch small { color:#74868e; font-size:10px; }
.measure-type-switch button.is-active { box-shadow:inset 0 -4px 0 #1591be; background:#edf7fa; }
.measure-type-switch button.is-active > svg { color:#0878aa; }
.measure-workspace { display:grid; grid-template-columns:minmax(280px,.83fr) minmax(330px,1fr) minmax(300px,.9fr); align-items:stretch; overflow:hidden; border:1px solid #ccdae0; border-radius:7px; background:#fff; box-shadow:0 18px 45px rgba(25,48,58,.08); }
.measure-visual { min-width:0; display:grid; grid-template-rows:minmax(330px,1fr) auto; margin:0; padding:28px; background:#e3eef1; }
.measure-object { position:relative; min-height:330px; display:grid; place-items:center; overflow:hidden; }
.measure-object img { width:82%; height:300px; object-fit:contain; mix-blend-mode:multiply; }
.measure-line { position:absolute; display:flex; align-items:center; gap:7px; color:#075477; font-size:11px; font-weight:700; }
.measure-line b { width:24px; height:24px; display:grid; place-items:center; border-radius:50%; color:#fff; background:#0878aa; }
.measure-line i { display:block; width:100px; border-top:2px solid #0878aa; }
.measure-line-a { top:43%; left:9%; }
.measure-line-b { right:8%; bottom:29%; flex-direction:row-reverse; }
.measure-line-b i { width:72px; }
.measure-line-c { bottom:12%; left:18%; }
.measure-line-c i { width:54px; }
.measure-tool-page[data-active-measure="gootsteenzeef"] .measure-line-c,.measure-tool-page[data-active-measure="gootsteenstop"] .measure-line-c { opacity:.58; }
.measure-visual figcaption { padding-top:20px; border-top:1px solid #c5d6dc; }
.measure-visual figcaption strong { font:600 14px/1.35 "Sora",Arial,sans-serif; }
.measure-visual figcaption p { margin:6px 0 0; color:#5a7079; font-size:11px; }
.measure-controls,.measure-result { min-width:0; padding:30px; }
.measure-controls { border-right:1px solid #d5e1e5; }
.measure-controls-head,.measure-result-head { display:flex; align-items:center; gap:12px; margin-bottom:24px; }
.measure-controls-head > span,.measure-result-head > span { width:32px; height:32px; display:grid; place-items:center; border-radius:50%; color:#fff; background:#147b9f; font-size:12px; font-weight:700; }
.measure-controls-head div,.measure-result-head div { display:grid; gap:2px; }
.measure-controls-head small,.measure-result-head small { color:#68808a; font-size:9px; font-weight:700; text-transform:uppercase; }
.measure-controls-head h2,.measure-result-head h2 { margin:0; font-size:17px; }
.measure-fields { display:none; gap:14px; }
.measure-fields.is-active { display:grid; }
.measure-fields label { display:grid; gap:6px; }
.measure-fields label > span { display:flex; align-items:center; gap:7px; color:#3b515b; font-size:11px; font-weight:700; }
.measure-fields label > span b { width:21px; height:21px; display:grid; place-items:center; border-radius:50%; color:#0878aa; background:#e1f1f7; font-size:9px; }
.measure-fields label > div { display:grid; grid-template-columns:minmax(0,1fr) 42px; overflow:hidden; border:1px solid #c7d5db; border-radius:5px; background:#fff; }
.measure-fields input { width:100%; min-width:0; height:44px; padding:0 12px; border:0; outline:0; color:#22363f; background:transparent; }
.measure-fields label > div:focus-within { border-color:#1588b2; box-shadow:0 0 0 3px rgba(21,136,178,.11); }
.measure-fields label > div small { display:grid; place-items:center; color:#637983; border-left:1px solid #d8e1e5; background:#f3f6f7; font-size:10px; }
.measure-calculate { width:100%; margin-top:20px; }
.measure-result { background:#f8fafb; }
.measure-result-head > span { background:#26765b; }
.measure-result [data-measure-result] { color:#536a74; font-size:12px; line-height:1.65; }
.measure-result ul { padding-left:18px; }
.measure-result li { margin-bottom:8px; }
.measure-summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-bottom:18px; }
.measure-summary span { display:grid; gap:2px; padding:11px; border-left:3px solid #168ab5; background:#eaf4f7; }
.measure-summary small { color:#657b84; font-size:9px; }
.measure-summary strong { color:#17333f; font-size:14px; }
.measure-match { display:grid; grid-template-columns:62px minmax(0,1fr); align-items:center; gap:11px; margin-top:18px; padding:12px; border:1px solid #c8dce3; border-radius:5px; color:inherit; background:#fff; text-decoration:none; }
.measure-match img { width:62px; height:62px; object-fit:contain; }
.measure-match span { display:grid; }
.measure-match small { color:#687d86; font-size:9px; }
.measure-match strong { color:#213740; font-size:11px; }
.measure-match b { color:#0878aa; font-size:10px; }
.measure-guide { display:grid; grid-template-columns:.72fr 1.28fr; gap:70px; padding:74px 0; }
.measure-guide h2 { max-width:480px; font-size:30px; line-height:1.2; }
.measure-guide ol { margin:0; padding:0; list-style:none; border-top:1px solid #cad9df; }
.measure-guide li { display:grid; grid-template-columns:42px minmax(0,1fr); gap:16px; padding:19px 0; border-bottom:1px solid #cad9df; }
.measure-guide li > span { color:#1382aa; font-size:11px; font-weight:700; }
.measure-guide strong { font-size:13px; }
.measure-guide p { margin:4px 0 0; color:#617780; font-size:12px; }
.measure-contact-band { display:grid; grid-template-columns:56px minmax(0,1fr) auto; align-items:center; gap:20px; padding:32px 38px; color:#fff; background:#145f78; }
.measure-contact-band > span { width:54px; height:54px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.24); border-radius:6px; background:rgba(255,255,255,.08); }
.measure-contact-band svg { width:22px; }
.measure-contact-band small { color:#a9d3df; font-size:10px; font-weight:700; text-transform:uppercase; }
.measure-contact-band h2 { margin:2px 0 3px; color:#fff; font-size:22px; }
.measure-contact-band p { margin:0; color:#c5dce3; font-size:12px; }

@media (max-width:1100px) {
  .home-help-layout { grid-template-columns:1fr; gap:34px; }
  .measure-tool-head { grid-template-columns:1fr; gap:20px; }
  .measure-tool-proof { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .measure-workspace { grid-template-columns:minmax(270px,.8fr) minmax(330px,1.2fr); }
  .measure-result { grid-column:1 / -1; border-top:1px solid #d5e1e5; }
  .measure-visual { grid-row:span 1; }
  .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) {
  .footer-help-grid { grid-template-columns:1fr; padding:10px 0; }
  .footer-help-grid > a,.footer-help-grid > a:first-child,.footer-help-grid > a:last-child { min-height:82px; padding:14px 0; border-right:0; border-bottom:1px solid rgba(255,255,255,.12); }
  .footer-help-grid > a:last-child { border-bottom:0; }
  .measure-workspace { grid-template-columns:1fr; }
  .measure-controls { border-top:1px solid #d5e1e5; border-right:0; }
  .measure-result { grid-column:auto; }
  .measure-visual { min-height:410px; }
  .measure-guide { grid-template-columns:1fr; gap:25px; }
}
@media (max-width:680px) {
  .notice-inner { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .notice-inner > a,.notice-inner > span,.notice-inner > a:first-child,.notice-inner > :last-child { min-height:38px; padding:3px 6px; }
  .notice-inner > :nth-child(n+5) { display:none; }
  .notice-inner > :nth-child(even) { border-right:0; }
  .category-card { grid-template-columns:minmax(0,1fr) 108px; min-height:182px; padding:19px 0 19px 18px; }
  .category-card-copy { padding-right:8px; }
  .category-card::after { width:38%; }
  .category-card img { width:108px; height:135px; padding:8px; }
  .category-card-icon { width:27px !important; height:27px !important; margin-bottom:12px; padding:7px; }
  .home-help-section { padding:50px 0; }
  .home-help-intro h2 { font-size:26px; }
  .home-help-actions > a { grid-template-columns:42px minmax(0,1fr) 18px; gap:12px; min-height:105px; }
  .home-help-actions > a > span { width:40px; height:40px; }
  .footer-grid { grid-template-columns:1fr; gap:34px; padding:42px 0 34px; }
  .footer-bottom { align-items:flex-start; flex-direction:column; gap:10px; padding:18px 0; }
  .footer-bottom nav { gap:9px 16px; }
  .partner-page { padding:32px 0 60px; }
  .partner-page-head h1 { font-size:34px; }
  .partner-grid { grid-template-columns:1fr; }
  .partner-item { grid-template-columns:40px minmax(0,1fr); min-height:0; padding:20px; }
  .partner-item > span,.partner-empty > span { width:40px; height:40px; }
  .partner-apply { grid-template-columns:1fr; gap:24px; padding:28px 24px; }
  .partner-apply .button { width:100%; }
  .measure-tool-page { padding:30px 0 60px; }
  .measure-tool-head { margin:28px 0; }
  .measure-tool-head h1 { font-size:34px; }
  .measure-tool-head p:last-child { font-size:15px; }
  .measure-tool-proof { grid-template-columns:1fr; }
  .measure-type-switch { grid-template-columns:1fr; }
  .measure-type-switch button { min-height:68px; border-right:0; border-bottom:1px solid #d6e1e5; }
  .measure-type-switch button:last-child { border-bottom:0; }
  .measure-type-switch button.is-active { box-shadow:inset 4px 0 0 #1591be; }
  .measure-visual { min-height:0; padding:20px; grid-template-rows:280px auto; }
  .measure-object { min-height:280px; }
  .measure-object img { height:245px; }
  .measure-controls,.measure-result { padding:24px 20px; }
  .measure-summary { grid-template-columns:1fr 1fr; }
  .measure-guide { padding:54px 0; }
  .measure-guide h2 { font-size:25px; }
  .measure-contact-band { grid-template-columns:46px minmax(0,1fr); padding:26px 22px; }
  .measure-contact-band > span { width:44px; height:44px; }
  .measure-contact-band .button { grid-column:1 / -1; width:100%; }
  .info-action-band .button { min-width:0; width:100%; }
}

.measure-section {
  color: var(--white);
  background: var(--blue-deep);
}

.measure-layout {
  min-height: 600px;
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  gap: 75px;
  align-items: center;
}

.measure-image {
  position: relative;
  align-self: stretch;
  display: grid;
  place-items: center;
  background: #e8f2f5;
}

.measure-image::before {
  content: "";
  position: absolute;
  inset: 0 100% 0 -100vw;
  background: #e8f2f5;
}

.measure-image img {
  position: relative;
  z-index: 2;
  width: min(430px, 88%);
  filter: drop-shadow(0 22px 20px rgba(19, 43, 54, .18));
}

.measure-marker {
  position: absolute;
  z-index: 3;
  right: 8%;
  bottom: 13%;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 11px;
  border: 1px solid #bcd8e2;
  border-radius: 3px;
  color: var(--blue-dark);
  background: var(--white);
  font-size: .69rem;
  font-weight: 700;
}

.measure-marker svg {
  width: 16px;
}

.measure-content {
  padding: 62px 0;
}

.measure-content h2 {
  color: var(--white);
}

.measure-content > p:not(.overline) {
  max-width: 570px;
  color: #c4d0d5;
}

.measure-content ol {
  display: grid;
  gap: 14px;
  margin: 28px 0;
  padding: 0;
  list-style: none;
}

.measure-content li {
  display: grid;
  grid-template-columns: 38px 1fr;
  align-items: center;
  gap: 13px;
}

.measure-content li b {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 50%;
  color: #84d5f2;
  font-size: .67rem;
}

.measure-content li span {
  display: grid;
}

.measure-content li strong {
  font-size: .82rem;
}

.measure-content li small {
  color: #aebdc3;
  font-size: .69rem;
}

.service-section {
  background: var(--white);
}

.service-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 36px;
}

.service-grid article {
  padding-right: 24px;
  border-right: 1px solid var(--line);
}

.service-grid article:last-child {
  border-right: 0;
}

.service-grid svg {
  width: 28px;
  height: 28px;
  margin-bottom: 16px;
  color: var(--blue-dark);
}

.service-grid h3 {
  margin-bottom: 6px;
  font-size: .88rem;
}

.service-grid p {
  margin-bottom: 0;
  color: var(--muted);
  font-size: .72rem;
}

.closing-section {
  padding: 0 0 78px;
  background: #f7f9fa;
}

.closing-inner {
  min-height: 180px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 40px;
  padding: 38px 44px;
  color: var(--white);
  background: var(--blue-deep);
}

.closing-inner h2 {
  color: var(--white);
}

.footer {
  color: #d8e2e6;
  background: #073c57;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.5fr repeat(3, 1fr);
  gap: 54px;
  padding: 58px 0 44px;
}

.footer-brand img {
  width: 218px;
  margin-bottom: 17px;
  filter: brightness(0) invert(1);
  opacity: .93;
}

.footer-brand p {
  max-width: 380px;
  color: #9aadb5;
  font-size: .73rem;
}

.footer-grid > div:not(.footer-brand) {
  display: grid;
  align-content: start;
  gap: 9px;
}

.footer-grid strong {
  margin-bottom: 6px;
  color: var(--white);
  font-size: .77rem;
}

.footer-grid a,
.footer-grid span {
  color: #a7b7be;
  font-size: .7rem;
  text-decoration: none;
}

.footer-grid a:hover {
  color: var(--white);
}

.footer-bottom {
  min-height: 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid rgba(255,255,255,.1);
  color: #7f949d;
  font-size: .66rem;
}

.cart-drawer {
  position: fixed;
  inset: 0;
  z-index: 100;
  pointer-events: none;
}

.cart-drawer.is-open {
  pointer-events: auto;
}

.cart-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  opacity: 0;
  background: rgba(11, 24, 30, .58);
  transition: opacity .2s ease;
}

.cart-drawer.is-open .cart-backdrop {
  opacity: 1;
}

.cart-panel {
  position: absolute;
  top: 0;
  right: 0;
  width: min(440px, 100%);
  height: 100%;
  display: grid;
  grid-template-rows: auto auto 1fr auto auto auto;
  gap: 16px;
  padding: 24px;
  background: var(--white);
  box-shadow: -22px 0 65px rgba(11, 24, 30, .22);
  transform: translateX(100%);
  transition: transform .23s ease;
}

.cart-drawer.is-open .cart-panel {
  transform: translateX(0);
}

.cart-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 15px;
  border-bottom: 1px solid var(--line);
}

.cart-head small {
  color: var(--muted);
  font-size: .67rem;
}

.cart-head h2 {
  margin: 2px 0 0;
  font-size: 1.35rem;
}

.cart-note {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 12px;
  color: var(--green-dark);
  background: #ebf5f1;
}

.cart-note > svg {
  width: 21px;
}

.cart-note span {
  display: grid;
}

.cart-note strong {
  font-size: .74rem;
}

.cart-note small {
  color: #638174;
  font-size: .62rem;
}

.cart-list {
  overflow: auto;
  display: grid;
  align-content: start;
  gap: 10px;
}

.cart-empty {
  padding: 24px;
  border: 1px dashed #c8d5da;
  color: var(--muted);
  background: var(--surface);
  text-align: center;
  font-size: .76rem;
}

.cart-item {
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 12px;
  padding: 10px;
  border: 1px solid var(--line);
}

.cart-item img {
  width: 70px;
  height: 70px;
  object-fit: contain;
  background: var(--surface);
}

.cart-item h3 {
  margin-bottom: 2px;
  font-family: "DM Sans", sans-serif;
  font-size: .79rem;
}

.cart-item p {
  margin-bottom: 7px;
  color: var(--muted);
  font-size: .67rem;
}

.cart-controls {
  display: flex;
  align-items: center;
  gap: 6px;
}

.cart-controls button {
  width: 27px;
  height: 27px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 3px;
  background: var(--white);
  cursor: pointer;
}

.cart-controls button:last-child {
  width: auto;
  margin-left: auto;
  padding: 0 7px;
  border: 0;
  color: #9d4141;
  font-size: .62rem;
}

.cart-total {
  display: flex;
  justify-content: space-between;
  padding-top: 15px;
  border-top: 1px solid var(--line);
}

.cart-actions {
  display: grid;
  gap: 8px;
}

.cart-checkout[hidden] {
  display: none;
}

.clear-cart {
  border: 0;
  color: var(--muted);
  background: transparent;
  font-size: .67rem;
  text-decoration: underline;
  cursor: pointer;
}

@media (max-width: 1100px) {
  .header-main {
    grid-template-columns: 205px 1fr auto;
    gap: 22px;
  }

  .logo img {
    width: 194px;
  }

  .help-link {
    display: none;
  }

  .nav-content > a,
  .catalog-trigger {
    padding: 0 11px;
    font-size: .77rem;
  }

  .catalog-trigger {
    min-width: 135px;
  }

  .nav-content > a::after {
    right: 11px;
    left: 11px;
  }

  .nav-category-link > svg { width: 18px; height: 18px; flex-basis: 18px; color: #4f707e; }

  .category-card {
    grid-template-columns: 1fr 92px;
  }

  .category-card img {
    width: 100px;
  }
}

@media (max-width: 900px) {
  .notice {
    min-height: 78px;
  }

  .notice-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
  }

  .notice span {
    min-height: 31px;
    padding: 3px 12px;
  }

  .notice span:nth-child(2) {
    border-right: 0;
  }

  .notice span:nth-child(n+5) {
    display: none;
  }

  .header-main {
    min-height: 70px;
    grid-template-columns: 1fr auto;
    gap: 12px;
  }

  .logo img {
    width: 178px;
  }

  .search-form {
    position: absolute;
    top: 70px;
    right: 12px;
    left: 12px;
    z-index: 56;
    display: none;
    box-shadow: var(--shadow);
  }

  body.search-open .search-form {
    display: grid;
  }

  .search-toggle,
  .menu-toggle {
    display: grid;
  }

  .cart-trigger span {
    display: none;
  }

  .header-actions {
    gap: 9px;
  }

  .nav-bar {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 72;
    width: min(390px, 90vw);
    overflow: auto;
    border: 0;
    box-shadow: -20px 0 60px rgba(12, 28, 35, .2);
    transform: translateX(105%);
    transition: transform .23s ease;
  }

  body.nav-open .nav-bar {
    transform: translateX(0);
  }

  .nav-backdrop {
    position: fixed;
    inset: 0;
    z-index: 71;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    opacity: 0;
    display: block;
    pointer-events: none;
    background: rgba(11, 24, 30, .54);
    transition: opacity .2s ease;
  }

  body.nav-open .nav-backdrop {
    opacity: 1;
    pointer-events: auto;
  }

  .mobile-nav-head {
    min-height: 74px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 0 18px;
    border-bottom: 1px solid var(--line);
  }

  .mobile-nav-head img {
    width: 165px;
  }

  .nav-content {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 13px;
  }

  .catalog {
    display: block;
    margin: 0 0 5px;
  }

  .catalog-trigger,
  .nav-content > a {
    width: 100%;
    min-height: 50px;
    justify-content: flex-start;
    padding: 0 14px;
    border-radius: 4px;
    font-size: .86rem;
  }

  .catalog-trigger {
    background: var(--blue-dark);
  }

  .nav-content > a::after {
    top: 10px;
    right: auto;
    bottom: 10px;
    left: 0;
    width: 3px;
    height: auto;
  }

  .mega-menu {
    position: static;
    width: 100%;
    margin-top: 5px;
    padding: 12px;
    border-top-width: 1px;
    box-shadow: none;
  }

  .catalog.is-open ~ a {
    display: none;
  }

  .mega-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
  }

  .mega-grid {
    grid-template-columns: 1fr;
  }

  .mega-item {
    min-height: 64px;
  }

  .mega-item img {
    width: 46px;
    height: 46px;
  }

  .hero {
    min-height: 510px;
    background-position: 70% center;
  }

  .hero-shade {
    width: 74%;
    background: rgba(244, 251, 253, .94);
  }

  .hero-inner {
    padding: 56px 0 62px;
  }

  .hero-copy {
    max-width: 620px;
  }

  .category-grid,
  .product-grid,
  .service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .seo-layout,
  .measure-layout {
    grid-template-columns: 1fr;
  }

  .seo-layout {
    gap: 33px;
  }

  .seo-copy {
    columns: 1;
  }

  .measure-layout {
    gap: 0;
    padding-bottom: 62px;
  }

  .measure-image {
    min-height: 450px;
  }

  .measure-image::before {
    display: none;
  }

  .measure-content {
    padding: 58px 0 0;
  }

  .service-grid article:nth-child(2) {
    border-right: 0;
  }

  .service-grid article:nth-child(-n+2) {
    padding-bottom: 25px;
    border-bottom: 1px solid var(--line);
  }

  .footer-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 620px) {
  .notice {
    min-height: 88px;
  }

  .notice-inner {
    width: min(100% - 18px, 1240px);
  }

  .notice span,
  .notice span:first-child,
  .notice span:last-child {
    min-height: 36px;
    padding: 3px 6px;
  }

  .notice span:nth-child(odd) {
    border-right: 1px solid rgba(255,255,255,.17);
  }

  .notice span:nth-child(even) {
    border-right: 0;
  }

  .notice svg {
    width: 18px;
    height: 18px;
  }

  .notice b {
    font-size: .64rem;
  }

  .notice small {
    font-size: .56rem;
  }

  .wrap,
  .hero-inner {
    width: min(100% - 24px, 1240px);
  }

  .logo img {
    width: 151px;
  }

  .header-actions {
    gap: 6px;
  }

  .icon-control {
    width: 39px;
    height: 39px;
  }

  .hero {
    min-height: 545px;
    align-items: center;
    background-position: 68% center;
  }

  .hero-shade {
    width: 100%;
    border-right: 0;
    background: rgba(244, 251, 253, .88);
  }

  .hero-inner {
    padding: 45px 0 42px;
  }

  .hero h1 {
    font-size: 2.4rem;
    line-height: 1.04;
  }

  .hero-copy > p:not(.overline) {
    font-size: .94rem;
  }

  .hero-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .button {
    width: 100%;
  }

  .hero-proof {
    gap: 8px 15px;
    margin-top: 20px;
  }

  .category-section,
  .products-section,
  .seo-section,
  .service-section {
    padding: 58px 0;
  }

  .section-intro-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .category-grid,
  .product-grid,
  .service-grid {
    grid-template-columns: 1fr;
  }

  .category-card {
    min-height: 164px;
    grid-template-columns: 1fr 105px;
  }

  .product-media {
    aspect-ratio: 1.25;
  }

  .seo-title {
    padding-top: 54px;
    padding-left: 0;
  }

  .seo-title > span {
    top: 0;
  }

  .seo-copy p {
    font-size: .81rem;
    line-height: 1.76;
  }

  .measure-layout {
    width: 100%;
    padding-bottom: 54px;
  }

  .measure-image {
    min-height: 350px;
  }

  .measure-content {
    width: min(100% - 24px, 1240px);
    margin: 0 auto;
    padding-top: 50px;
  }

  .measure-content li {
    align-items: flex-start;
  }

  .service-grid {
    gap: 0;
  }

  .service-grid article {
    padding: 22px 0;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .service-grid article:first-child {
    padding-top: 0;
  }

  .service-grid article:last-child {
    padding-bottom: 0;
    border-bottom: 0;
  }

  .closing-section {
    padding-bottom: 58px;
  }

  .closing-inner {
    min-height: 230px;
    grid-template-columns: 1fr;
    padding: 31px 24px;
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: 31px;
  }

  .footer-bottom {
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
  }
}

/* Catalogus- en productpagina's */
.catalog-page,
.product-page,
.checkout-page {
  padding: 44px 0 96px;
  background: #f5f7f8;
  min-height: 60vh;
}

.breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
  margin-bottom: 34px;
  color: #718087;
  font-size: 13px;
}

.breadcrumb a {
  color: #127b66;
  text-decoration: none;
}

.catalog-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 42px;
}

.catalog-heading h1 {
  margin: 8px 0 12px;
  font: 700 clamp(32px, 4vw, 52px)/1.1 "Sora", sans-serif;
  letter-spacing: 0;
}

.catalog-heading p {
  max-width: 720px;
  margin: 0;
  color: #64747b;
  font-size: 17px;
  line-height: 1.7;
}

.catalog-count {
  flex: 0 0 auto;
  padding: 10px 13px;
  border: 1px solid #d4dfe2;
  background: #fff;
  color: #57676f;
  font-size: 13px;
  font-weight: 700;
}

.empty-state {
  padding: 44px;
  background: #fff;
  border: 1px solid #dbe3e6;
  text-align: center;
}

.empty-state h1,
.empty-state h2 {
  margin: 0 0 14px;
}

.empty-state p {
  margin: 0 0 22px;
  color: #67777e;
}

.product-detail {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(380px, .92fr);
  gap: 64px;
  align-items: start;
}

.product-detail-media {
  min-height: 610px;
  display: grid;
  place-items: center;
  position: relative;
  background: #fff;
  border: 1px solid #dbe3e6;
}

.product-detail-media img {
  width: min(76%, 530px);
  max-height: 520px;
  object-fit: contain;
}

.product-detail-media .product-badge {
  top: 22px;
  left: 22px;
}

.product-detail-content {
  padding-top: 28px;
}

.product-detail-content h1 {
  margin: 10px 0 18px;
  font: 700 clamp(34px, 4vw, 54px)/1.08 "Sora", sans-serif;
  letter-spacing: 0;
}

.product-detail-intro {
  margin: 0 0 22px;
  color: #627279;
  font-size: 18px;
  line-height: 1.65;
}

.product-detail-price {
  display: block;
  margin-bottom: 14px;
  font: 700 30px/1.2 "Sora", sans-serif;
}

.stock-line {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #087f62;
  font-weight: 700;
}

.stock-line svg {
  width: 19px;
  height: 19px;
}

.stock-line-out {
  color: #a44a4a;
}

.product-spec-list {
  margin: 28px 0;
  border-top: 1px solid #dbe3e6;
}

.product-spec-list div {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 20px;
  padding: 12px 0;
  border-bottom: 1px solid #dbe3e6;
}

.product-spec-list dt {
  color: #718087;
  font-size: 13px;
}

.product-spec-list dd {
  margin: 0;
  font-weight: 700;
}

.product-add-button {
  width: 100%;
  min-height: 56px;
}

.product-assurances {
  display: flex;
  gap: 22px;
  margin-top: 20px;
  color: #56666e;
  font-size: 13px;
  font-weight: 700;
}

.product-assurances span {
  display: flex;
  align-items: center;
  gap: 7px;
}

.product-assurances svg {
  width: 18px;
  height: 18px;
  color: #087f62;
}

.product-description {
  max-width: 820px;
  margin-top: 70px;
  padding-top: 38px;
  border-top: 1px solid #d5dfe2;
}

.product-description h2 {
  font: 700 28px/1.2 "Sora", sans-serif;
}

.product-description p {
  color: #56666e;
  font-size: 17px;
  line-height: 1.8;
}

.product-gallery { align-content: start; }
.product-gallery-main { width: 100%; }
.product-gallery-thumbs { width: 100%; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; margin-top: 10px; }
.product-gallery-thumbs button { padding: 4px; border: 1px solid #d8dfdc; border-radius: 7px; background: #fff; cursor: pointer; }
.product-gallery-thumbs button.is-active { border-color: var(--green); box-shadow: 0 0 0 2px rgba(24,116,89,.12); }
.product-gallery-thumbs img { width: 100%; aspect-ratio: 1; object-fit: contain; }
.product-option-groups { display: grid; gap: 12px; margin: 18px 0; }
.product-option-groups label { display: grid; gap: 6px; }
.product-option-groups label > span,.product-quantity-field span { color: #31413d; font-size: 13px; font-weight: 800; }
.product-option-groups select,.product-quantity-field input { min-height: 48px; padding: 0 13px; border: 1px solid #cad5d1; border-radius: 7px; background: #fff; color: #16231f; font: inherit; }
.product-volume-prices { display: grid; gap: 0; margin: 18px 0; overflow: hidden; border: 1px solid #cfe1da; border-radius: 8px; background: #f5fbf8; }
.product-volume-prices > strong { padding: 11px 13px; color: #155a46; border-bottom: 1px solid #cfe1da; font-size: 13px; }
.product-volume-prices span { display: flex; justify-content: space-between; gap: 15px; padding: 9px 13px; font-size: 13px; }
.product-volume-prices span + span { border-top: 1px solid #e0ebe7; }
.product-volume-prices b { font-weight: 700; }
.product-volume-prices em { color: #0f7658; font-style: normal; font-weight: 800; }
.product-buy-row { display: grid; grid-template-columns: 92px minmax(0,1fr); gap: 10px; align-items: end; margin-top: 18px; }
.product-quantity-field { display: grid; gap: 6px; }
.product-buy-row .product-add-button { width: 100%; margin: 0; }

.checkout-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 22px;
  align-items: start;
}

.checkout-panel,
.checkout-summary {
  padding: 28px;
  background: #fff;
  border: 1px solid #dbe3e6;
}

.checkout-panel h2 {
  margin-top: 0;
}

.checkout-item {
  display: grid;
  grid-template-columns: 74px 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 16px 0;
  border-top: 1px solid #e1e7e9;
}

.checkout-item img {
  width: 74px;
  height: 74px;
  object-fit: contain;
  background: #f4f6f7;
}

.checkout-item span {
  display: grid;
  gap: 5px;
}

.checkout-item small {
  color: #6e7d84;
}

.checkout-summary {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
}

.checkout-summary strong {
  font-size: 22px;
}

.checkout-summary p {
  grid-column: 1 / -1;
  margin: 10px 0 0;
  color: #6a7980;
  font-size: 13px;
  line-height: 1.6;
}

/* Shipping-aware checkout */
.checkout-main-stack { min-width: 0; display: grid; gap: 18px; }
.shipping-checkout .checkout-panel,
.shipping-checkout .checkout-summary { border-radius: 7px; }
.checkout-section-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 8px; }
.checkout-section-head > span { display: grid; gap: 2px; }
.checkout-section-head small,
.checkout-summary-head small { color: #728089; font-size: 10px; font-weight: 700; text-transform: uppercase; }
.checkout-section-head h2 { margin: 0; font-size: 20px; }
.checkout-section-head > b { padding: 6px 9px; color: #31546a; border-radius: 5px; background: #edf3f6; font-size: 11px; }
.checkout-shipping-class { width: fit-content; display: inline-flex; align-items: center; gap: 5px; padding: 4px 6px; color: #486475; border-radius: 4px; background: #eef3f5; font-size: 10px; font-style: normal; font-weight: 700; }
.checkout-shipping-class svg { width: 13px; height: 13px; }
.checkout-country-panel { display: grid; gap: 17px; }
.checkout-country-field { display: grid; gap: 7px; }
.checkout-country-field label { color: #354650; font-size: 12px; font-weight: 700; }
.checkout-country-field select { width: 100%; min-height: 48px; padding: 0 13px; color: #25363f; border: 1px solid #cbd6db; border-radius: 6px; background: #fff; font: inherit; }
.checkout-country-field select:focus { outline: 0; border-color: #2386ad; box-shadow: 0 0 0 3px rgba(35, 134, 173, .12); }
.checkout-class-rule { display: grid; grid-template-columns: 42px minmax(0, 1fr); align-items: center; gap: 12px; padding: 13px; border: 1px solid #d7e2e7; border-radius: 6px; background: #f6f9fa; }
.checkout-class-rule > span { width: 42px; height: 42px; display: grid; place-items: center; color: #1f718f; border-radius: 6px; background: #e4f0f5; }
.checkout-class-rule svg { width: 20px; }
.checkout-class-rule p { display: grid; gap: 3px; margin: 0; }
.checkout-class-rule strong { font-size: 12px; }
.checkout-class-rule small { color: #65757e; font-size: 11px; line-height: 1.5; }
.checkout-shipping-summary { position: sticky; top: 92px; display: block; padding: 0; overflow: hidden; }
.checkout-summary-head { display: flex; align-items: center; justify-content: space-between; padding: 22px 24px; border-bottom: 1px solid #e0e6e9; }
.checkout-summary-head > span { display: grid; gap: 2px; }
.checkout-summary-head strong { font-size: 19px; }
.checkout-summary-head > svg { width: 22px; color: #2386ad; }
.checkout-summary-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 13px 24px; color: #5e6e76; border-bottom: 1px solid #edf0f2; font-size: 12px; }
.checkout-summary-row strong { color: #283841; font-size: 13px; }
.checkout-summary-total { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; padding: 20px 24px; background: #f7f9fa; }
.checkout-summary-total span { max-width: 145px; color: #455760; font-size: 11px; line-height: 1.4; }
.checkout-summary-total strong { color: #17272f; font-size: 24px; }
.checkout-shipping-message { display: grid; grid-template-columns: 34px minmax(0, 1fr); align-items: center; gap: 10px; margin: 18px 24px; padding: 12px; color: #76540b; border: 1px solid #ebd59a; border-radius: 6px; background: #fff9e9; }
.checkout-shipping-message.is-free { color: #176349; border-color: #aad8c5; background: #edf8f3; }
.checkout-shipping-message > svg { width: 20px; }
.checkout-shipping-message > span { display: grid; gap: 2px; }
.checkout-shipping-message strong { font-size: 11px; }
.checkout-shipping-message small { color: inherit; font-size: 10px; line-height: 1.45; opacity: .85; }
.checkout-next-step { display: grid; grid-template-columns: 28px minmax(0, 1fr); align-items: center; gap: 9px; padding: 16px 24px; color: #62727a; border-top: 1px solid #e0e6e9; }
.checkout-next-step > svg { width: 18px; color: #2f7a62; }
.checkout-next-step > span { display: grid; gap: 2px; }
.checkout-next-step strong { color: #3d4e56; font-size: 10px; }
.checkout-next-step small { font-size: 9px; line-height: 1.45; }
.checkout-shipping-notice { padding: 14px; color: #8a3841; border: 1px solid #e3b6bb; border-radius: 6px; background: #fff2f3; font-size: 12px; }

/* Contact */
.contact-page { min-height: 70vh; padding: 44px 0 96px; background: #f5f7f8; }
.contact-layout { display: grid; grid-template-columns: minmax(0, .88fr) minmax(480px, 1.12fr); gap: 70px; align-items: start; }
.contact-intro { padding-top: 22px; }
.contact-intro h1 { margin: 10px 0 20px; font: 700 clamp(36px, 5vw, 58px)/1.08 "Sora", sans-serif; letter-spacing: 0; }
.contact-intro > p:not(.overline) { max-width: 590px; margin: 0; color: #607077; font-size: 17px; line-height: 1.75; }
.contact-points { display: grid; gap: 0; margin-top: 38px; border-top: 1px solid #d8e1e4; }
.contact-points > span { display: grid; grid-template-columns: 38px minmax(0, 1fr); align-items: center; gap: 2px 12px; padding: 16px 0; border-bottom: 1px solid #d8e1e4; }
.contact-points svg { grid-row: 1 / 3; width: 22px; color: #137f68; }
.contact-points strong { font-size: 14px; }
.contact-points small { color: #6c7b82; }
.contact-form-panel { padding: 34px; background: #fff; border: 1px solid #dbe3e6; box-shadow: 0 14px 38px rgba(36,53,61,.07); }
.contact-form-panel h2 { margin: 0 0 6px; font: 700 24px/1.2 "Sora", sans-serif; }
.contact-form-panel > p { margin: 0 0 24px; color: #718087; font-size: 13px; }
.contact-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.contact-field { display: grid; gap: 7px; }
.contact-field-full { grid-column: 1 / -1; }
.contact-field label { color: #3f5058; font-size: 13px; font-weight: 700; }
.contact-field input,
.contact-field select,
.contact-field textarea { width: 100%; min-height: 48px; padding: 12px 13px; border: 1px solid #cbd6da; border-radius: 3px; background: #fff; color: #233239; font: inherit; }
.contact-field textarea { min-height: 180px; resize: vertical; }
.contact-field input:focus,
.contact-field select:focus,
.contact-field textarea:focus { outline: 0; border-color: #18846e; box-shadow: 0 0 0 3px rgba(24,132,110,.12); }
.contact-submit { width: 100%; min-height: 52px; margin-top: 22px; }
.contact-submit svg { width: 18px; }
.contact-alert { margin-bottom: 20px; padding: 13px 14px; border: 1px solid; font-size: 14px; font-weight: 700; }
.contact-alert-success { color: #126149; border-color: #a6d6c4; background: #eaf6f0; }
.contact-alert-error { color: #8b3838; border-color: #e4b3b3; background: #fff0f0; }
.contact-honeypot { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; }

/* Klantenservice en retouraanmelding */
.service-page,
.return-page { min-height: 70vh; padding: 42px 0 92px; background: #f4f7f8; }
.service-page-head { max-width: 720px; margin: 28px 0 36px; }
.service-page-head h1,
.return-intro h1 { margin: 9px 0 16px; font: 700 44px/1.1 "Sora", sans-serif; letter-spacing: 0; }
.service-page-head > p:last-child,
.return-intro > p:not(.overline) { margin: 0; color: #60717a; font-size: 16px; line-height: 1.7; }
.service-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.service-choice-grid > a { min-height: 190px; display: grid; grid-template-columns: 52px minmax(0, 1fr) 22px; align-items: start; gap: 16px; padding: 26px; border: 1px solid #d8e1e5; border-radius: 7px; background: #fff; box-shadow: 0 12px 30px rgba(33,55,65,.06); text-decoration: none; }
.service-choice-grid > a:hover { border-color: #a9c5d0; box-shadow: 0 16px 36px rgba(33,55,65,.10); transform: translateY(-2px); }
.service-choice-grid > a > span { width: 52px; height: 52px; display: grid; place-items: center; border-radius: 7px; }
.service-choice-grid .is-coral { color: #a9434b; background: #fff0f1; }
.service-choice-grid .is-green { color: #10684f; background: #e8f5f0; }
.service-choice-grid svg { width: 22px; }
.service-choice-grid > a > div { display: grid; gap: 5px; }
.service-choice-grid small { color: #78878e; font-size: 11px; font-weight: 700; text-transform: uppercase; }
.service-choice-grid strong { font: 700 20px/1.25 "Sora", sans-serif; }
.service-choice-grid p { margin: 5px 0 0; color: #65767e; font-size: 14px; line-height: 1.6; }
.service-choice-grid > a > svg { align-self: center; color: #687a83; }
.service-contact-strip { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 13px; margin-top: 18px; padding: 17px 20px; border: 1px solid #d8e1e5; border-radius: 7px; background: #fff; }
.service-contact-strip > span { width: 42px; height: 42px; display: grid; place-items: center; color: #0b769f; border-radius: 6px; background: #e9f6fb; }
.service-contact-strip svg { width: 19px; }
.service-contact-strip div { display: grid; }
.service-contact-strip small { color: #718088; font-size: 11px; }
.service-contact-strip strong { font-size: 15px; }
.service-contact-strip a { color: #0878aa; font-size: 13px; font-weight: 700; }
.return-layout { display: grid; grid-template-columns: minmax(0, .84fr) minmax(500px, 1.16fr); gap: 64px; align-items: start; }
.return-intro { padding-top: 24px; }
.return-steps { display: grid; margin-top: 34px; border-top: 1px solid #d5dfe3; }
.return-steps > span { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 1px 11px; padding: 15px 0; border-bottom: 1px solid #d5dfe3; }
.return-steps b { grid-row: 1 / 3; width: 30px; height: 30px; display: grid; place-items: center; color: #08779e; border: 1px solid #b9dbe8; border-radius: 50%; background: #edf8fc; font-size: 12px; }
.return-steps strong { font-size: 14px; }
.return-steps small { color: #6e7e86; font-size: 12px; }
.return-form-panel { padding: 30px; border: 1px solid #d6e0e4; border-radius: 7px; background: #fff; box-shadow: 0 16px 40px rgba(36,53,61,.08); }
.return-form-head { display: flex; align-items: center; gap: 13px; margin-bottom: 22px; }
.return-form-head > span { width: 46px; height: 46px; display: grid; place-items: center; flex: 0 0 46px; color: #a33f49; border-radius: 7px; background: #fff0f1; }
.return-form-head svg { width: 21px; }
.return-form-head h2 { margin: 0; font: 700 23px/1.2 "Sora", sans-serif; }
.return-form-head p { margin: 3px 0 0; color: #718087; font-size: 12px; }
.return-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px; }
.return-form-grid textarea { min-height: 128px; }
.return-confirm { display: flex; align-items: flex-start; gap: 9px; margin-top: 18px; color: #53656e; font-size: 13px; cursor: pointer; }
.return-confirm input { margin-top: 3px; accent-color: #137652; }
.return-submit { width: 100%; min-height: 52px; margin-top: 18px; }
.return-submit svg { width: 18px; }
.return-success { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 13px; padding: 18px; color: #145f49; border: 1px solid #a9d5c5; border-radius: 7px; background: #eaf7f1; }
.return-success > svg { width: 28px; }
.return-success strong { font: 700 18px/1.25 "Sora", sans-serif; }
.return-success p { margin: 4px 0 0; color: #416e60; font-size: 14px; line-height: 1.6; }

@media (max-width: 900px) {
  .return-layout { grid-template-columns: 1fr; gap: 30px; }
  .return-intro { padding-top: 10px; }
}

@media (max-width: 680px) {
  .service-page,
  .return-page { padding: 28px 0 64px; }
  .service-page-head h1,
  .return-intro h1 { font-size: 34px; }
  .service-choice-grid { grid-template-columns: 1fr; }
  .service-choice-grid > a { min-height: 0; padding: 21px; }
  .service-contact-strip { grid-template-columns: 38px minmax(0, 1fr); }
  .service-contact-strip > a { grid-column: 2; }
  .return-form-panel { padding: 22px; }
  .return-form-grid { grid-template-columns: 1fr; }
  .return-form-grid .contact-field-full { grid-column: auto; }
}

.add-to-cart.is-loading {
  opacity: .55;
}

@media (max-width: 900px) {
  .product-detail,
  .checkout-layout,
  .contact-layout {
    grid-template-columns: 1fr;
  }
  .contact-layout { gap: 36px; }
  .checkout-shipping-summary { position: static; }

  .product-detail-media {
    min-height: 460px;
  }
}

@media (max-width: 600px) {
  .catalog-page,
  .product-page,
  .checkout-page {
    padding: 28px 0 64px;
  }

  .catalog-heading {
    display: block;
    margin-bottom: 30px;
  }

  .catalog-count {
    display: inline-block;
    margin-top: 18px;
  }

  .product-detail {
    gap: 28px;
  }

  .product-detail-media {
    min-height: 340px;
  }

  .product-detail-content {
    padding-top: 0;
  }

  .product-assurances {
    display: grid;
  }

  .checkout-item {
    grid-template-columns: 56px 1fr;
  }

  .checkout-item img {
    width: 56px;
    height: 56px;
  }

  .checkout-item b {
    grid-column: 2;
  }
  .contact-page { padding: 28px 0 64px; }
  .contact-form-panel { padding: 24px; }
  .contact-form-grid { grid-template-columns: 1fr; }
  .contact-field-full { grid-column: auto; }
}

/* Homepage showcase based on the established Gootsteenzeef.nl layout. */
.home-showcase {
  padding: 22px 0 20px;
  background: #fff;
}

.category-section,
.measure-section {
  scroll-margin-top: 160px;
}

.home-showcase > .wrap {
  width: min(1312px, calc(100% - 40px));
}

.home-showcase-grid {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(250px, 1fr);
  gap: 18px;
}

.home-slider {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #d8e1e5;
  border-radius: 7px;
  background: #e8edef;
  box-shadow: 0 12px 30px rgba(26, 48, 58, .08);
}

.home-slides {
  position: relative;
  aspect-ratio: 64 / 30;
}

.home-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity .45s ease;
}

.home-slide.is-active {
  z-index: 1;
  opacity: 1;
  pointer-events: auto;
}

.home-slide > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-slide-copy {
  position: absolute;
  top: 50%;
  left: 42px;
  width: min(48%, 500px);
  transform: translateY(-50%);
}

.home-slide-copy > span {
  display: inline-block;
  margin-bottom: 13px;
  color: var(--blue-dark);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.home-slide-copy h1,
.home-slide-copy h2 {
  margin: 0 0 24px;
  color: #1c292f;
  font: 700 40px/1.08 "Sora", Arial, sans-serif;
  letter-spacing: 0;
}

.home-slide-copy .button {
  min-height: 44px;
  padding: 0 17px;
  box-shadow: none;
}

.home-slider-controls {
  position: absolute;
  z-index: 3;
  bottom: 17px;
  left: 40px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.home-slider-controls > button {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(23, 36, 43, .22);
  border-radius: 50%;
  color: #23343c;
  background: rgba(255, 255, 255, .84);
  cursor: pointer;
}

.home-slider-controls > button svg {
  width: 15px;
}

.home-slider-dots {
  display: flex;
  align-items: center;
  gap: 7px;
}

.home-slider-dots button {
  width: 20px;
  height: 4px;
  padding: 0;
  border: 0;
  border-radius: 2px;
  background: rgba(23, 36, 43, .35);
  cursor: pointer;
  transition: width .2s ease, background .2s ease;
}

.home-slider-dots button.is-active {
  width: 30px;
  background: #e7653d;
}

.home-choices {
  display: grid;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.home-choice-card {
  position: relative;
  min-height: 0;
  overflow: hidden;
  border: 1px solid #d8e1e5;
  border-radius: 7px;
  background: #edf1f3;
  text-decoration: none;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.home-choice-card:hover {
  border-color: #aac2cc;
  box-shadow: 0 14px 30px rgba(26, 48, 58, .11);
  transform: translateY(-2px);
}

.home-choice-card > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-choice-card > span {
  position: relative;
  z-index: 1;
  width: 50%;
  height: 100%;
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  padding: 21px 0 21px 23px;
}

.home-choice-card small {
  margin-bottom: 5px;
  color: var(--blue-dark);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}

.home-choice-card strong {
  color: #25333a;
  font: 600 20px/1.2 "Sora", Arial, sans-serif;
}

.home-choice-card b {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: 15px;
  color: #167254;
  font-size: 11px;
}

.home-choice-card b svg {
  width: 13px;
}

.home-trust-strip {
  color: #fff;
  background: #2d5361;
  border-bottom: 4px solid #e7653d;
}

.home-trust-grid {
  min-height: 116px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.home-trust-grid article {
  min-width: 0;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  padding: 22px 24px;
  border-right: 1px solid rgba(255, 255, 255, .16);
}

.home-trust-grid article:first-child {
  padding-left: 0;
}

.home-trust-grid article:last-child {
  padding-right: 0;
  border-right: 0;
}

.home-trust-grid article > span {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border: 2px solid #e7653d;
  border-radius: 50%;
  color: #ff8058;
}

.home-trust-grid svg {
  width: 21px;
}

.home-trust-grid article > div {
  min-width: 0;
  display: grid;
  gap: 2px;
}

.home-trust-grid strong {
  font-size: 14px;
  line-height: 1.3;
}

.home-trust-grid small {
  color: rgba(255, 255, 255, .7);
  font-size: 12px;
  line-height: 1.35;
}

.category-section .category-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (min-width: 1101px) {
  .nav-content > .nav-category-link {
    padding-right: 12px;
    padding-left: 12px;
    font-size: 12px;
  }
  .nav-category-link > svg {
    width: 15px;
    height: 15px;
    flex-basis: 15px;
  }
  .nav-advice {
    padding-right: 8px !important;
    padding-left: 10px !important;
    font-size: 12px !important;
  }
}

@media (max-width: 1100px) {
  .home-showcase-grid {
    grid-template-columns: 1fr;
  }
  .home-choices {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
  }
  .home-choice-card {
    aspect-ratio: 320 / 175;
  }
  .home-trust-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .home-trust-grid article:nth-child(2) {
    border-right: 0;
  }
  .home-trust-grid article:nth-child(-n+2) {
    border-bottom: 1px solid rgba(255, 255, 255, .16);
  }
  .home-trust-grid article:first-child,
  .home-trust-grid article:nth-child(3) {
    padding-left: 24px;
  }
  .home-trust-grid article:nth-child(2),
  .home-trust-grid article:last-child {
    padding-right: 24px;
  }
  .category-section .category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .home-showcase {
    padding: 12px 0;
  }
  .home-showcase > .wrap {
    width: min(100% - 20px, 1312px);
  }
  .home-showcase-grid,
  .home-choices {
    gap: 10px;
  }
  .home-slides {
    aspect-ratio: 4 / 3;
  }
  .home-slide > img {
    object-position: center;
  }
  .home-slide-copy {
    top: 44%;
    left: 22px;
    width: 61%;
  }
  .home-slide-copy > span {
    margin-bottom: 8px;
    font-size: 10px;
  }
  .home-slide-copy h1,
  .home-slide-copy h2 {
    margin-bottom: 17px;
    font-size: 27px;
    line-height: 1.1;
  }
  .home-slide-copy .button {
    width: auto;
    min-height: 39px;
    padding: 0 12px;
    font-size: 11px;
  }
  .home-slider-controls {
    bottom: 12px;
    left: 20px;
    gap: 7px;
  }
  .home-slider-controls > button {
    display: none;
  }
  .home-slider-dots button {
    width: 16px;
  }
  .home-slider-dots button.is-active {
    width: 25px;
  }
  .home-choices {
    grid-template-columns: 1fr;
  }
  .home-choice-card {
    aspect-ratio: 320 / 164;
  }
  .home-choice-card > span {
    width: 52%;
    padding: 17px 0 17px 19px;
  }
  .home-choice-card strong {
    font-size: 17px;
  }
  .home-choice-card b {
    margin-top: 10px;
  }
  .home-trust-grid {
    grid-template-columns: 1fr;
    padding: 8px 0;
  }
  .home-trust-grid article,
  .home-trust-grid article:first-child,
  .home-trust-grid article:nth-child(3),
  .home-trust-grid article:nth-child(2),
  .home-trust-grid article:last-child {
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 12px;
    padding: 14px 8px;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .16);
  }
  .home-trust-grid article:last-child {
    border-bottom: 0;
  }
  .home-trust-grid article > span {
    width: 38px;
    height: 38px;
  }
  .home-trust-grid svg {
    width: 18px;
  }
  .category-section .category-grid {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-slide,
  .home-choice-card {
    transition: none;
  }
}

/* Blog, knowledge base and managed customer-service pages. */
.home-blog-section,
.blog-index-page,
.blog-related-products,
.blog-more,
.product-blog-links { padding: 78px 0; }
.home-blog-section,
.blog-more { background: #f3f7f8; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.blog-index-page { min-height: 70vh; background: #f5f8f9; }
.blog-index-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin: 34px 0 42px; padding-bottom: 38px; border-bottom: 1px solid #d4e0e4; }
.blog-index-head > div { max-width: 770px; }
.blog-index-head h1,
.blog-article-head h1,
.info-page-head h1 { margin: 7px 0 17px; color: var(--ink); font: 700 46px/1.08 "Sora", Arial, sans-serif; letter-spacing: 0; }
.blog-index-head p,
.blog-article-head > p,
.info-page-head > p:last-child { margin: 0; color: #566b74; font-size: 17px; line-height: 1.7; }
.blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.blog-card { min-width: 0; overflow: hidden; border: 1px solid #d8e2e5; border-radius: 7px; background: #fff; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.blog-card:hover { transform: translateY(-3px); border-color: #b7ccd4; box-shadow: 0 18px 38px rgba(31, 53, 62, .09); }
.blog-card-featured { grid-column: span 2; display: grid; grid-template-columns: 1.15fr .85fr; }
.blog-card-media { aspect-ratio: 16 / 9; display: block; overflow: hidden; background: #e9eef0; }
.blog-card-featured .blog-card-media { height: 100%; aspect-ratio: auto; }
.blog-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.blog-card:hover .blog-card-media img { transform: scale(1.025); }
.blog-card-body { display: flex; align-items: flex-start; flex-direction: column; padding: 24px; }
.blog-card-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 7px 12px; margin-bottom: 13px; color: #76878e; font-size: 11px; }
.blog-card-meta span { color: #0878aa; font-weight: 700; text-transform: uppercase; }
.blog-card h2 { margin: 0 0 12px; font-size: 20px; line-height: 1.28; }
.blog-card h2 a { text-decoration: none; }
.blog-card-body > p { margin-bottom: 22px; color: #60737b; font-size: 14px; line-height: 1.7; }
.blog-card-body > .inline-link { margin-top: auto; }
.blog-grid-compact .blog-card-featured { grid-column: auto; display: block; }
.blog-grid-compact .blog-card-body { min-height: 250px; }
.blog-article-page { background: #fff; }
.blog-article-page > .wrap { padding-top: 42px; }
.blog-article-head { max-width: 920px; margin: 44px auto 38px; }
.blog-article-head h1 { max-width: 900px; font-size: 48px; }
.blog-author { display: flex; align-items: center; gap: 11px; margin-top: 25px; }
.blog-author > span { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #2d5361; font-size: 13px; font-weight: 700; }
.blog-author > div { display: grid; }
.blog-author small { color: #7a898f; font-size: 10px; }
.blog-author strong { font-size: 13px; }
.blog-article-cover { max-width: 1120px; aspect-ratio: 16 / 7; margin: 0 auto 54px; overflow: hidden; border-radius: 7px; background: #eaf0f2; }
.blog-article-cover img { width: 100%; height: 100%; object-fit: cover; }
.blog-article-layout { max-width: 1010px; display: grid; grid-template-columns: minmax(0, 1fr) 280px; align-items: start; gap: 64px; margin: 0 auto 84px; }
.managed-content { color: #40555e; font-size: 16px; line-height: 1.85; }
.managed-content h2 { margin: 42px 0 13px; color: var(--ink); font-size: 25px; line-height: 1.3; }
.managed-content h2:first-child { margin-top: 0; }
.managed-content h3 { margin: 30px 0 10px; color: var(--ink); font-size: 19px; }
.managed-content p,
.managed-content ul,
.managed-content ol { margin: 0 0 20px; }
.managed-content li { margin-bottom: 8px; }
.managed-content a { color: var(--blue-dark); font-weight: 700; }
.blog-help-panel,
.info-side-nav { position: sticky; top: 165px; border: 1px solid #d6e1e5; border-radius: 7px; background: #f2f8fa; }
.blog-help-panel { padding: 25px; }
.blog-help-panel > span { width: 44px; height: 44px; display: grid; place-items: center; margin-bottom: 18px; border-radius: 6px; color: #0a789e; background: #dff1f7; }
.blog-help-panel svg { width: 21px; }
.blog-help-panel h2 { margin-bottom: 10px; font-size: 19px; }
.blog-help-panel p { color: #62747c; font-size: 13px; line-height: 1.65; }
.blog-help-panel .button { width: 100%; margin: 8px 0 15px; }
.blog-related-products { background: #f4f7f8; border-top: 1px solid var(--line); }
.product-blog-links { padding-bottom: 0; }
.info-page { min-height: 70vh; padding: 42px 0 92px; background: #f4f7f8; }
.info-page-head { max-width: 850px; margin: 34px 0 42px; }
.info-page-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; align-items: start; gap: 28px; }
.info-page-content { padding: 42px 46px; border: 1px solid #d7e1e5; border-radius: 7px; background: #fff; }
.info-side-nav { overflow: hidden; background: #fff; }
.info-side-nav > p { margin: 0; padding: 16px 18px; color: #fff; background: #2d5361; font-size: 12px; font-weight: 700; text-transform: uppercase; }
.info-side-nav > a { display: grid; grid-template-columns: 28px minmax(0, 1fr); align-items: center; gap: 10px; padding: 14px 17px; border-bottom: 1px solid #e1e7e9; text-decoration: none; }
.info-side-nav > a:last-child { border-bottom: 0; }
.info-side-nav > a:hover { background: #f2f8fa; }
.info-side-nav svg { width: 19px; color: #0b779d; }
.info-side-nav span { display: grid; }
.info-side-nav strong { font-size: 13px; }
.info-side-nav small { color: #7b898f; font-size: 10px; }
.shipping-rate-block { margin-top: 44px; padding-top: 34px; border-top: 1px solid #d9e3e6; }
.shipping-rate-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.shipping-rate-grid > article { padding: 20px; border: 1px solid #d7e1e5; border-radius: 6px; background: #f7fafb; }
.shipping-rate-grid > article > div:first-child { display: grid; grid-template-columns: 38px minmax(0, 1fr); align-items: center; gap: 10px; margin-bottom: 17px; }
.shipping-rate-grid > article > div:first-child > b { width: 38px; height: 30px; display: grid; place-items: center; border-radius: 4px; color: #fff; background: #0b789f; font-size: 11px; }
.shipping-rate-grid > article span { display: grid; }
.shipping-rate-grid > article span small { color: #72828a; font-size: 11px; }
.shipping-rate-grid dl,
.shipping-rate-grid dl > div { margin: 0; }
.shipping-rate-grid dl > div { display: flex; justify-content: space-between; gap: 18px; padding: 7px 0; border-top: 1px solid #e1e7e9; font-size: 12px; }
.shipping-rate-grid dd { margin: 0; color: var(--ink); font-weight: 700; text-align: right; }
.info-action-band { display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; align-items: center; gap: 14px; margin-top: 38px; padding: 20px; border: 1px solid #b9d7cc; border-radius: 6px; background: #edf8f4; }
.info-action-band > span { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 6px; color: #147052; background: #d8eee6; }
.info-action-band svg { width: 20px; }
.info-action-band strong { color: var(--ink); font-size: 14px; }
.info-action-band p { margin: 2px 0 0; font-size: 12px; line-height: 1.5; }

@media (max-width: 900px) {
  .blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .blog-card-featured { grid-column: 1 / -1; }
  .blog-article-layout,
  .info-page-layout { grid-template-columns: 1fr; gap: 30px; }
  .blog-help-panel,
  .info-side-nav { position: static; }
  .info-side-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .info-side-nav > p { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
  .home-blog-section,
  .blog-index-page,
  .blog-related-products,
  .blog-more,
  .product-blog-links,
  .info-page { padding: 56px 0; }
  .blog-index-head { align-items: flex-start; flex-direction: column; gap: 22px; margin: 28px 0; padding-bottom: 28px; }
  .blog-index-head h1,
  .blog-article-head h1,
  .info-page-head h1 { font-size: 32px; }
  .blog-index-head p,
  .blog-article-head > p,
  .info-page-head > p:last-child { font-size: 15px; }
  .blog-grid,
  .blog-card-featured { grid-template-columns: 1fr; }
  .blog-card-featured { grid-column: auto; display: block; }
  .blog-grid-compact .blog-card-body { min-height: 0; }
  .blog-article-page > .wrap { padding-top: 28px; }
  .blog-article-head { margin: 28px 0; }
  .blog-article-cover { aspect-ratio: 4 / 3; margin-bottom: 36px; }
  .blog-article-layout { margin-bottom: 56px; }
  .managed-content { font-size: 15px; line-height: 1.75; }
  .managed-content h2 { margin-top: 32px; font-size: 22px; }
  .info-page-content { padding: 26px 22px; }
  .info-side-nav { grid-template-columns: 1fr; }
  .info-side-nav > p { grid-column: auto; }
  .shipping-rate-grid { grid-template-columns: 1fr; }
  .info-action-band { grid-template-columns: 42px minmax(0, 1fr); }
  .info-action-band .button { grid-column: 1 / -1; }
}

/* Secure public order lookup. */
.order-lookup-page { min-height: 70vh; padding: 42px 0 92px; background: #f4f7f8; }
.order-lookup-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(460px, 1.1fr); align-items: start; gap: 70px; margin-top: 42px; }
.order-lookup-layout > header { padding-top: 24px; }
.order-lookup-layout h1,
.order-public-head h1 { margin: 8px 0 16px; font: 700 44px/1.1 "Sora", Arial, sans-serif; letter-spacing: 0; }
.order-lookup-layout > header > p:last-of-type { color: #60717a; font-size: 16px; line-height: 1.7; }
.order-lookup-points { display: grid; gap: 0; margin-top: 30px; border-top: 1px solid #d4dee2; }
.order-lookup-points > span { display: grid; grid-template-columns: 40px minmax(0, 1fr); align-items: center; gap: 12px; padding: 15px 0; border-bottom: 1px solid #d4dee2; }
.order-lookup-points svg { width: 21px; color: #0878aa; }
.order-lookup-points div { display: grid; }
.order-lookup-points strong { font-size: 14px; }
.order-lookup-points small { color: #74838a; font-size: 11px; }
.order-lookup-form { padding: 32px; border: 1px solid #d5e0e4; border-radius: 7px; background: #fff; box-shadow: 0 16px 40px rgba(36,53,61,.08); }
.order-lookup-form > div:first-child { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 3px 13px; margin-bottom: 24px; }
.order-lookup-form > div:first-child > span { grid-row: 1 / 3; width: 48px; height: 48px; display: grid; place-items: center; border-radius: 6px; color: #147052; background: #e1f2ec; }
.order-lookup-form > div:first-child svg { width: 21px; }
.order-lookup-form h2 { margin: 0; font-size: 22px; }
.order-lookup-form > div:first-child p { margin: 2px 0 0; color: #73838a; font-size: 12px; }
.order-lookup-form form { display: grid; gap: 17px; }
.order-lookup-form .button { width: 100%; min-height: 51px; margin-top: 3px; }
.order-public-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; margin: 34px 0 28px; }
.order-public-head p { margin: 0; color: #6b7b82; }
.order-public-return { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 14px; margin-bottom: 18px; padding: 18px; border: 1px solid #e2a9ad; border-radius: 6px; color: #8f3039; background: #fff0f1; }
.order-public-return svg { width: 25px; }
.order-public-return p { margin: 3px 0 0; font-size: 13px; }
.order-public-status { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 18px; border: 1px solid #d6e0e4; border-radius: 7px; background: #fff; }
.order-public-status article { min-width: 0; display: grid; gap: 6px; padding: 20px; border-right: 1px solid #e0e7e9; }
.order-public-status article:last-child { border-right: 0; }
.order-public-status small { color: #74838a; font-size: 10px; font-weight: 700; text-transform: uppercase; }
.order-public-status strong,
.order-public-status a { overflow: hidden; font-size: 15px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.order-public-status a { color: #0878aa; }
.order-public-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; align-items: start; gap: 18px; }
.order-public-products,
.order-public-address { padding: 25px; border: 1px solid #d6e0e4; border-radius: 7px; background: #fff; }
.order-public-products h2,
.order-public-address h2 { margin-bottom: 20px; font-size: 19px; }
.order-public-products > article { display: flex; justify-content: space-between; gap: 20px; padding: 14px 0; border-top: 1px solid #e2e8ea; }
.order-public-products > article span { display: grid; }
.order-public-products > article strong { font-size: 14px; }
.order-public-products > article small { color: #76868d; font-size: 11px; }
.order-public-products dl { margin: 20px 0 0; padding-top: 12px; border-top: 2px solid #d8e2e5; }
.order-public-products dl > div { display: flex; justify-content: space-between; padding: 6px 0; font-size: 13px; }
.order-public-products dl > div:last-child { margin-top: 5px; padding-top: 12px; border-top: 1px solid #dce4e7; font-size: 16px; font-weight: 700; }
.order-public-products dd { margin: 0; font-weight: 700; }
.order-public-address > p { color: #5c6e76; line-height: 1.7; }
.order-public-address > a { color: #0878aa; font-size: 13px; font-weight: 700; }
.order-public-actions { display: grid; gap: 8px; margin-top: 24px; }
.order-public-actions .button { width: 100%; }

@media (max-width: 900px) {
  .order-lookup-layout,
  .order-public-layout { grid-template-columns: 1fr; gap: 28px; }
  .order-public-status { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .order-public-status article:nth-child(2) { border-right: 0; }
  .order-public-status article:nth-child(-n+2) { border-bottom: 1px solid #e0e7e9; }
}

@media (max-width: 680px) {
  .order-lookup-page { padding: 28px 0 64px; }
  .order-lookup-layout { margin-top: 28px; }
  .order-lookup-layout h1,
  .order-public-head h1 { font-size: 32px; }
  .order-lookup-form { padding: 23px; }
  .order-public-head { align-items: flex-start; flex-direction: column; }
  .order-public-head .button { width: 100%; }
  .order-public-status { grid-template-columns: 1fr; }
  .order-public-status article { border-right: 0; border-bottom: 1px solid #e0e7e9; }
  .order-public-status article:nth-child(3) { border-bottom: 1px solid #e0e7e9; }
  .order-public-status article:last-child { border-bottom: 0; }
}

@media print {
  .notice, .header, .footer, .cart-drawer, .order-public-head .button, .order-public-actions { display: none !important; }
  .order-lookup-page { padding: 0; background: #fff; }
  .order-public-status, .order-public-products, .order-public-address { break-inside: avoid; box-shadow: none; }
}

.return-steps .is-complete b { color: #fff; border-color: #137652; background: #137652; }
.return-steps .is-active b { border-color: #0878aa; box-shadow: 0 0 0 4px rgba(17,155,207,.12); }
.return-item-list { display: grid; margin-bottom: 18px; border-top: 1px solid #dbe4e7; }
.return-item-list article { display: grid; grid-template-columns: minmax(0,1fr) 90px; align-items: center; gap: 16px; padding: 14px 0; border-bottom: 1px solid #dbe4e7; }
.return-item-list article > span { min-width: 0; display: grid; }
.return-item-list strong { font-size: 13px; }
.return-item-list small { color: #74838a; font-size: 11px; }
.return-item-list label { display: grid; grid-template-columns: auto 58px; align-items: center; gap: 7px; color: #66777e; font-size: 10px; font-weight: 700; }
.return-item-list select { height: 40px; padding: 0 9px; border: 1px solid #cad7dc; border-radius: 4px; background: #fff; }
.return-form-panel form > .contact-field { margin-top: 16px; }
.return-form-actions { display: grid; grid-template-columns: auto minmax(180px,1fr); gap: 10px; margin-top: 18px; }
.return-complete { max-width: 720px; margin: 60px auto 0; padding: 48px; border: 1px solid #afd7c7; border-radius: 7px; background: #fff; text-align: center; box-shadow: 0 18px 45px rgba(35,62,54,.08); }
.return-complete > span { width: 60px; height: 60px; display: grid; place-items: center; margin: 0 auto 18px; border-radius: 50%; color: #147052; background: #dff2ea; }
.return-complete > span svg { width: 29px; }
.return-complete h1 { margin: 7px 0 13px; font-size: 35px; }
.return-complete > p:not(.overline) { color: #597069; font-size: 15px; line-height: 1.7; }
.return-complete > div { display: flex; justify-content: center; gap: 9px; margin-top: 24px; }

@media (max-width: 680px) {
  .return-form-actions { grid-template-columns: 1fr; }
  .return-complete { margin-top: 30px; padding: 30px 22px; }
  .return-complete > div { flex-direction: column; }
}

/* Basket and checkout */
.basket-page,
.final-checkout,
.order-thanks { padding: 30px 0 84px; background: #f4f7f8; }
.basket-head,
.final-checkout-head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin: 30px 0 34px; }
.basket-head h1,
.final-checkout-head h1 { max-width: 760px; margin: 3px 0 8px; font-size: clamp(34px, 4vw, 52px); line-height: 1.08; }
.basket-head p,
.final-checkout-head p { max-width: 680px; margin: 0; color: var(--muted); }
.basket-head .inline-link { display: inline-flex; align-items: center; gap: 8px; color: var(--blue-dark); font-size: 13px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.basket-head .inline-link svg { width: 16px; }
.basket-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; align-items: start; gap: 24px; }
.basket-lines { overflow: hidden; border: 1px solid #d8e2e6; border-radius: 7px; background: #fff; box-shadow: 0 12px 36px rgba(25,48,58,.05); }
.basket-lines article { min-height: 142px; display: grid; grid-template-columns: 112px minmax(180px,1fr) 112px 90px 40px; align-items: center; gap: 18px; padding: 20px; border-bottom: 1px solid #e1e8ea; }
.basket-lines article:last-child { border-bottom: 0; }
.basket-lines article > a { border-radius: 5px; overflow: hidden; background: #f1f5f6; }
.basket-lines img { width: 112px; aspect-ratio: 1; object-fit: contain; }
.basket-line-copy { min-width: 0; }
.basket-line-copy small { color: var(--green); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.basket-line-copy h2 { margin: 5px 0 5px; font-size: 16px; line-height: 1.35; }
.basket-line-copy h2 a { text-decoration: none; }
.basket-line-copy span { color: var(--muted); font-size: 12px; }
.basket-quantity { width: 108px; height: 42px; display: grid; grid-template-columns: 36px 36px 36px; align-items: center; border: 1px solid #cdd9de; border-radius: 5px; }
.basket-quantity button { width: 36px; height: 40px; display: grid; place-items: center; padding: 0; border: 0; color: var(--blue-dark); background: transparent; }
.basket-quantity button:hover { background: var(--blue-pale); }
.basket-quantity button svg { width: 15px; }
.basket-quantity strong { text-align: center; font-size: 13px; }
.basket-lines article > b { justify-self: end; font-size: 15px; }
.basket-remove { width: 38px; height: 38px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 50%; color: #89969b; background: transparent; }
.basket-remove:hover { color: #a54141; background: #faeeee; }
.basket-remove svg { width: 17px; }
.basket-summary,
.checkout-order-summary { position: sticky; top: 22px; padding: 26px; border: 1px solid #cfdbdf; border-radius: 7px; background: #fff; box-shadow: 0 18px 48px rgba(25,48,58,.09); }
.basket-summary h2 { margin: 2px 0 18px; font-size: 25px; }
.basket-summary dl,
.checkout-totals { margin: 0; }
.basket-summary dl > div,
.checkout-totals > div { display: flex; justify-content: space-between; gap: 15px; padding: 9px 0; color: #617179; font-size: 13px; }
.basket-summary dd,
.checkout-totals dd { margin: 0; color: var(--ink); font-weight: 700; }
.basket-total { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-top: 10px; padding: 20px 0; border-top: 1px solid #dce5e8; }
.basket-total span { max-width: 130px; color: #687880; font-size: 11px; line-height: 1.4; }
.basket-total strong { font-size: 25px; }
.basket-summary > p:not(.overline) { margin: 0 0 18px; padding: 12px; border-radius: 5px; color: #17684f; background: #e8f5ef; font-size: 11px; font-weight: 700; }
.basket-security,
.checkout-trust-list { display: grid; gap: 8px; margin-top: 16px; color: #62747b; font-size: 11px; }
.basket-security span,
.checkout-trust-list span { display: flex; align-items: center; gap: 7px; }
.basket-security svg,
.checkout-trust-list svg { width: 15px; color: var(--green); }
.basket-empty { max-width: 700px; margin: 40px auto; padding: 60px 30px; border: 1px solid #d8e2e6; border-radius: 7px; background: #fff; text-align: center; }
.basket-empty > span { width: 62px; height: 62px; display: grid; place-items: center; margin: 0 auto 18px; border-radius: 50%; color: var(--blue-dark); background: var(--blue-pale); }
.basket-empty > span svg { width: 29px; }
.basket-empty h2 { margin-bottom: 8px; }
.basket-empty p { color: var(--muted); }

.final-checkout-head { display: block; margin: 20px 0 28px; }
.final-checkout-head h1 { margin: 0 0 8px; font-size: 36px; line-height: 1.15; }
.final-checkout-head p { font-size: 14px; }
.checkout-alert { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 12px; margin-bottom: 20px; padding: 15px 18px; border: 1px solid #e3aaae; border-radius: 6px; color: #923842; background: #fff0f1; }
.checkout-alert svg { width: 21px; }
.checkout-alert span { display: grid; gap: 2px; font-size: 12px; }
.final-checkout-layout { display: grid; grid-template-columns: minmax(0, 7fr) minmax(340px, 5fr); align-items: start; gap: 24px; }
.checkout-form-stack { display: grid; gap: 18px; }
.checkout-form-section { padding: 24px; border: 1px solid #d6e1e5; border-radius: 7px; background: #fff; }
.checkout-form-title { display: flex; align-items: center; gap: 10px; min-height: 32px; }
.checkout-form-title > span { width: 20px; height: 20px; display: grid; place-items: center; color: var(--blue-dark); }
.checkout-form-title svg { width: 20px; height: 20px; }
.checkout-step-number { width: 32px; height: 32px; display: grid; place-items: center; margin-left: auto; border-radius: 50%; color: var(--ink); background: #edf1f3; font-size: 13px; }
.checkout-order-head small,
.order-thanks-head small { color: var(--blue-dark); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.checkout-form-title h2 { margin: 0; font-size: 20px; line-height: 1.25; }
.checkout-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; margin-top: 22px; }
.checkout-fields label { display: grid; gap: 7px; color: #354b55; font-size: 12px; font-weight: 750; }
.checkout-fields label > span small { color: #98a3a8; font-weight: 600; }
.checkout-fields input,
.checkout-fields select,
.checkout-fields textarea,
.checkout-discount input { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #cbd7dc; border-radius: 5px; color: var(--ink); background: #fff; }
.checkout-fields input:focus,
.checkout-fields select:focus,
.checkout-fields textarea:focus,
.checkout-discount input:focus { outline: 3px solid rgba(17,155,207,.13); border-color: var(--blue); }
.checkout-fields textarea { resize: vertical; }
.checkout-fields .is-full { grid-column: 1 / -1; }
.checkout-address-status { min-height: 42px; display: flex; align-items: center; gap: 9px; padding: 10px 12px; border: 1px solid #d8e5eb; border-radius: 5px; color: #526b78; background: #f6fafd; font-size: 12px; font-weight: 600; }
.checkout-address-status svg { width: 16px; color: var(--blue-dark); }
.checkout-address-status.is-found { color: #17684f; background: #e8f5ef; }
.checkout-payment-copy { display: flex; align-items: flex-start; gap: 10px; margin: 18px 0 0; color: #4e626b; font-size: 14px; line-height: 1.6; }
.checkout-payment-copy > svg { width: 17px; min-width: 17px; height: 17px; margin-top: 3px; color: var(--green); }
.checkout-payment-copy strong { color: var(--ink); }
.checkout-payment-copy a { color: var(--blue-dark); }
.final-checkout .checkout-account-create { border: 0; border-top: 1px solid #e1e8ea; border-radius: 0; background: transparent; }
.final-checkout .checkout-account-create > label { padding: 17px 0 0; }
.final-checkout .checkout-account-passwords { padding: 14px 0 0 29px; }
.checkout-order-summary { top: 18px; }
.checkout-order-head { display: flex; align-items: start; justify-content: space-between; gap: 15px; margin-bottom: 15px; }
.checkout-order-head h2 { margin: 2px 0 0; font-size: 21px; }
.checkout-order-head a { color: var(--blue-dark); font-size: 11px; font-weight: 800; }
.checkout-order-items { display: grid; max-height: 280px; overflow-y: auto; border-top: 1px solid #e0e7e9; }
.checkout-order-items article { display: grid; grid-template-columns: 54px minmax(0,1fr) auto; align-items: center; gap: 11px; padding: 12px 0; border-bottom: 1px solid #e0e7e9; }
.checkout-order-items img { width: 54px; aspect-ratio: 1; object-fit: contain; border-radius: 4px; background: #f2f5f6; }
.checkout-order-items article > span { min-width: 0; display: grid; }
.checkout-order-items article strong { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.checkout-order-items article small { color: var(--muted); font-size: 9px; }
.checkout-order-items article > b { font-size: 11px; }
.checkout-totals { padding: 10px 0; border-bottom: 1px solid #dce5e8; }
.checkout-totals > div[hidden] { display: none; }
.checkout-totals [data-discount-row] { color: #17684f; }
.checkout-discount { padding: 17px 0; border-bottom: 1px solid #dce5e8; }
.checkout-discount > label { display: block; margin-bottom: 7px; font-size: 11px; font-weight: 800; }
.checkout-discount > div { display: grid; grid-template-columns: minmax(0,1fr) auto; }
.checkout-discount input { min-width: 0; border-radius: 5px 0 0 5px; text-transform: uppercase; }
.checkout-discount button { padding: 0 14px; border: 0; border-radius: 0 5px 5px 0; color: #fff; background: var(--blue-dark); font-size: 10px; font-weight: 800; }
.checkout-discount p { margin: 7px 0 0; color: var(--muted); font-size: 9px; }
.checkout-grand-total { display: flex; align-items: end; justify-content: space-between; gap: 16px; padding: 18px 0; }
.checkout-grand-total span { display: grid; color: var(--muted); font-size: 9px; }
.checkout-grand-total span small { color: var(--ink); font-size: 13px; font-weight: 800; }
.checkout-grand-total strong { font-size: 27px; }
.checkout-terms { display: grid; grid-template-columns: 18px minmax(0,1fr); align-items: start; gap: 9px; margin-bottom: 14px; color: #5d6d74; font-size: 10px; line-height: 1.5; }
.checkout-terms input { width: 17px; height: 17px; margin: 1px 0 0; accent-color: var(--blue-dark); }
.checkout-terms a { color: var(--blue-dark); }
.checkout-place-order { gap: 8px; }
.checkout-place-order svg { width: 16px; }
.checkout-place-order:disabled { opacity: .5; cursor: not-allowed; }

/* Order confirmation */
.order-thanks-card { max-width: 820px; margin: 40px auto 26px; padding: 45px; border: 1px solid #b9d8cb; border-radius: 7px; background: #fff; text-align: center; box-shadow: 0 18px 50px rgba(25,48,58,.08); }
.order-thanks-card > span { width: 64px; height: 64px; display: grid; place-items: center; margin: 0 auto 18px; border-radius: 50%; color: var(--green); background: #e2f4eb; }
.order-thanks-card.is-pending > span { color: #95600b; background: #fff1d2; }
.order-thanks-card.is-error { border-color: #d8e1e4; }
.order-thanks-card.is-error > span { color: var(--blue-dark); background: var(--blue-pale); }
.order-thanks-card > span svg { width: 31px; }
.order-thanks-card h1 { margin: 5px 0 10px; font-size: 38px; }
.order-thanks-card > p:not(.overline) { max-width: 620px; margin: 0 auto; color: var(--muted); }
.order-thanks-number { width: max-content; max-width: 100%; display: grid; gap: 2px; margin: 22px auto 0; padding: 11px 20px; border-radius: 5px; background: #f1f5f6; }
.order-thanks-number small { color: var(--muted); font-size: 9px; text-transform: uppercase; }
.order-thanks-number strong { font-size: 16px; }
.order-thanks-layout { display: grid; grid-template-columns: minmax(0,1fr) 370px; gap: 24px; }
.order-thanks-layout > section,
.order-thanks-layout > aside { padding: 26px; border: 1px solid #d8e2e6; border-radius: 7px; background: #fff; }
.order-thanks-head { display: flex; justify-content: space-between; gap: 15px; padding-bottom: 15px; border-bottom: 1px solid #e0e7e9; }
.order-thanks-head h2,
.order-thanks-layout > aside h2 { margin: 2px 0 0; font-size: 19px; }
.order-thanks-layout > section article { display: flex; justify-content: space-between; gap: 15px; padding: 14px 0; border-bottom: 1px solid #e0e7e9; }
.order-thanks-layout > section article > span { display: grid; }
.order-thanks-layout > section article strong { font-size: 12px; }
.order-thanks-layout > section article small { color: var(--muted); font-size: 10px; }
.order-thanks-layout > section article > b { font-size: 12px; }
.order-thanks-layout > aside > small { color: var(--blue-dark); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.order-thanks-layout ol { display: grid; gap: 15px; margin: 22px 0; padding: 0; list-style: none; }
.order-thanks-layout li { display: grid; grid-template-columns: 32px minmax(0,1fr); align-items: start; gap: 11px; }
.order-thanks-layout li > b { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; color: var(--blue-dark); background: var(--blue-pale); font-size: 11px; }
.order-thanks-layout li > span { display: grid; }
.order-thanks-layout li strong { font-size: 11px; }
.order-thanks-layout li small { color: var(--muted); font-size: 10px; }

.managed-content .button.button-primary,
.managed-content a.button-primary { color: #fff; }

@media (max-width: 980px) {
  .basket-layout,
  .final-checkout-layout,
  .order-thanks-layout { grid-template-columns: 1fr; }
  .basket-summary,
  .checkout-order-summary { position: static; }
  .basket-lines article { grid-template-columns: 92px minmax(160px,1fr) 112px 80px 38px; }
}
@media (max-width: 680px) {
  .basket-page,
  .final-checkout,
  .order-thanks { padding: 18px 0 55px; }
  .basket-head { align-items: flex-start; flex-direction: column; margin: 22px 0; }
  .basket-head h1,
  .final-checkout-head h1 { font-size: 34px; }
  .basket-lines article { min-height: 0; grid-template-columns: 76px minmax(0,1fr) 38px; gap: 12px; padding: 15px; }
  .basket-lines article > a { grid-row: 1 / 3; }
  .basket-lines img { width: 76px; }
  .basket-line-copy { grid-column: 2; }
  .basket-quantity { grid-column: 2; width: 108px; }
  .basket-lines article > b { grid-column: 3; grid-row: 2; align-self: center; font-size: 12px; }
  .basket-remove { grid-column: 3; grid-row: 1; }
  .basket-summary,
  .checkout-order-summary { padding: 21px; }
  .final-checkout-head { margin: 22px 0 28px; }
  .final-checkout-head > div:last-child { width: 100%; }
  .final-checkout-head > div:last-child span { width: 33.333%; }
  .checkout-form-section { padding: 20px; }
  .checkout-fields { grid-template-columns: 1fr; }
  .checkout-fields .is-full { grid-column: auto; }
  .order-thanks-card { margin-top: 24px; padding: 32px 20px; }
  .order-thanks-card h1 { font-size: 31px; }
  .order-thanks-layout > section,
  .order-thanks-layout > aside { padding: 21px; }
}

/* Light service band */
.home-trust-strip { color: var(--ink); border-top: 1px solid #d8e4e8; border-bottom: 1px solid #d8e4e8; background: #f4f9fa; box-shadow: inset 0 1px 0 #fff; }
.home-trust-grid { min-height: 108px; }
.home-trust-grid article { border-color: #dbe5e8; }
.home-trust-grid article > span { border: 1px solid #b9dfe9; color: #0878aa; background: #e7f6fb; }
.home-trust-grid article:nth-child(2) > span { border-color: #b9dccd; color: #176d52; background: #e7f4ee; }
.home-trust-grid article:nth-child(3) > span { border-color: #ead5b0; color: #9a6414; background: #fff4df; }
.home-trust-grid article:nth-child(4) > span { border-color: #d7c7dc; color: #76567d; background: #f5edf7; }
.home-trust-grid strong { color: var(--ink); }
.home-trust-grid small { color: #65777f; }
@media (max-width: 900px) {
  .home-trust-grid article { border-color: #dbe5e8; }
}

/* Editorial and business navigation */
.nav-advice { min-width: 128px; margin-left: auto; border-left: 1px solid #dce6e9; color: var(--ink) !important; background: #eef7fa !important; font-size: 13px !important; font-weight: 800 !important; }
.nav-advice svg { width: 20px; color: var(--blue-dark); }
.nav-advice::after { right: 0 !important; left: 0 !important; }
.nav-business { min-width: 138px; border-left: 1px solid #dce6e9; border-right: 1px solid #dce6e9; color: #334750 !important; font-size: 12px !important; font-weight: 750 !important; }
.nav-business svg { width: 18px; color: #627b86; }
.nav-business:hover,
.nav-business.is-active { color: var(--blue-dark) !important; background: #f5fafc; }
.nav-content > .nav-advice span,
.nav-content > .nav-business span { white-space: nowrap; }

/* Business purchasing */
.business-page { padding: 30px 0 90px; background: #f4f7f8; }
.business-layout { display: grid; grid-template-columns: minmax(360px,.78fr) minmax(580px,1.22fr); align-items: start; gap: 60px; margin-top: 42px; }
.business-intro { padding-top: 16px; }
.business-intro h1 { max-width: 560px; margin: 7px 0 18px; font-size: 40px; line-height: 1.08; overflow-wrap: anywhere; }
.business-intro > p:not(.overline) { max-width: 560px; color: #60727a; font-size: 16px; line-height: 1.7; }
.business-benefits { display: grid; margin-top: 30px; border-top: 1px solid #d5e0e4; }
.business-benefits > span { display: grid; grid-template-columns: 42px minmax(0,1fr); align-items: center; gap: 12px; padding: 14px 0; border-bottom: 1px solid #d5e0e4; }
.business-benefits > span > svg { width: 22px; color: var(--blue-dark); }
.business-benefits div { display: grid; }
.business-benefits strong { font-size: 13px; }
.business-benefits small { color: var(--muted); font-size: 11px; }
.business-intro > aside { display: flex; align-items: center; gap: 12px; margin-top: 24px; padding: 16px 18px; border: 1px solid #bcdacb; border-radius: 6px; color: #17684f; background: #edf8f3; }
.business-intro > aside svg { width: 21px; }
.business-intro > aside span { display: grid; }
.business-intro > aside small { font-size: 9px; font-weight: 800; text-transform: uppercase; }
.business-intro > aside strong { font-size: 15px; }
.business-form-panel { padding: 32px; border: 1px solid #d2dde1; border-radius: 7px; background: #fff; box-shadow: 0 18px 48px rgba(27,48,58,.08); }
.business-form-panel > div:first-child > small { color: var(--blue-dark); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.business-form-panel h2 { margin: 3px 0 4px; font-size: 25px; }
.business-form-panel > div:first-child > p { margin: 0 0 22px; color: var(--muted); font-size: 12px; }
.business-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; margin-bottom: 20px; }
.business-fields label { display: grid; gap: 6px; color: #53656d; font-size: 11px; font-weight: 800; }
.business-fields label.is-full { grid-column: 1 / -1; }
.business-fields label > span small { color: #929fa5; font-weight: 600; }
.business-fields input,
.business-fields select,
.business-fields textarea { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #cad7dc; border-radius: 5px; color: var(--ink); background: #fff; font: inherit; }
.business-fields textarea { resize: vertical; }
.business-fields input:focus,
.business-fields select:focus,
.business-fields textarea:focus { outline: 3px solid rgba(17,155,207,.13); border-color: var(--blue); }

.service-choice-grid .is-blue { color: #0878aa; background: #e8f5fa; }
.order-public-invoice { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 12px; margin-top: 22px; padding: 15px; border: 1px solid #bdd9e3; border-radius: 6px; background: #f0f8fb; }
.order-public-invoice > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 5px; color: var(--blue-dark); background: #dff1f7; }
.order-public-invoice svg { width: 20px; }
.order-public-invoice > div { display: grid; gap: 5px; }
.order-public-invoice strong { font-size: 13px; }
.order-public-invoice p { margin: 0; color: #65777f; font-size: 10px; line-height: 1.45; }
.order-public-invoice .button { min-height: 40px; width: 100%; padding: 9px 11px; font-size: 10px; }

@media (max-width: 1100px) {
  .nav-advice { min-width: 52px; }
  .nav-business { min-width: 52px; }
  .nav-advice span,
  .nav-business span { display: none; }
  .business-layout { grid-template-columns: minmax(0,1fr); gap: 34px; }
  .business-layout > * { min-width: 0; }
  .business-intro { max-width: 720px; }
}
@media (max-width: 900px) {
  .nav-advice,
  .nav-business { min-width: 0; margin-left: 0; border: 0; background: #eef7fa !important; }
  .nav-business { margin-top: 5px; background: #f6f8f9 !important; }
  .nav-advice span,
  .nav-business span { display: inline; }
}
@media (max-width: 680px) {
  .business-page { padding: 18px 0 60px; }
  .business-layout { margin-top: 25px; }
  .business-intro h1 { font-size: 30px; overflow-wrap: anywhere; }
  .business-form-panel { padding: 23px 20px; }
  .business-fields { grid-template-columns: minmax(0,1fr); }
  .business-fields label.is-full { grid-column: auto; }
}

/* Customer account, internal contact and resilient business forms */
.account-link { display: inline-flex; align-items: center; gap: 9px; color: var(--ink); text-decoration: none; }
.account-link > svg { width: 24px; height: 24px; color: #526f7b; }
.account-link > span { display: grid; text-align: left; }
.account-link small { color: var(--muted); font-size: .64rem; line-height: 1.25; }
.account-link strong { font-size: .77rem; white-space: nowrap; }
.account-link:hover strong,
.help-link:hover strong { color: var(--blue-dark); }
.business-layout { width: 100%; grid-template-columns: minmax(0,.78fr) minmax(0,1.22fr); gap: clamp(28px,4vw,60px); }
.business-layout > *,
.business-fields > * { min-width: 0; }
.business-form-panel { width: 100%; max-width: 100%; }
.checkout-account-state { display: flex; align-items: center; gap: 11px; margin-top: 20px; padding: 14px 16px; border: 1px solid #bcdacb; border-radius: 6px; color: #17684f; background: #edf8f3; }
.checkout-account-state svg { width: 21px; }
.checkout-account-state span { display: grid; }
.checkout-account-state strong { font-size: 12px; }
.checkout-account-state small { color: #57776b; font-size: 10px; }
.checkout-account-create { margin-top: 20px; border: 1px solid #cadce3; border-radius: 6px; background: #f5fafb; }
.checkout-account-create > label { display: grid; grid-template-columns: 19px minmax(0,1fr); align-items: start; gap: 11px; padding: 16px; cursor: pointer; }
.checkout-account-create > label > input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--blue-dark); }
.checkout-account-create > label > span { display: grid; gap: 2px; }
.checkout-account-create strong { font-size: 12px; }
.checkout-account-create small { color: #687b83; font-size: 10px; line-height: 1.45; }
.checkout-account-passwords { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; padding: 0 16px 16px 46px; }
.checkout-account-passwords[hidden] { display: none; }
.checkout-account-passwords label { display: grid; gap: 5px; color: #53656d; font-size: 10px; font-weight: 800; }
.checkout-account-passwords input { width: 100%; min-width: 0; min-height: 44px; padding: 9px 11px; border: 1px solid #cbd7dc; border-radius: 5px; }
.checkout-account-passwords p { grid-column: 1/-1; margin: 0; color: var(--muted); font-size: 9px; }
.order-public-email { display: block; color: var(--muted); font-size: 12px; }
.order-account-hint { margin: 16px 0 0; color: var(--muted); font-size: 11px; }
.order-account-hint a { color: var(--blue-dark); font-weight: 800; }
.button-danger { color: #fff; border-color: #b83f4d; background: #b83f4d; }

.customer-auth-page,
.customer-account-page,
.customer-order-page { min-height: 70vh; padding: 48px 0 90px; background: #f2f6f7; }
.customer-auth-layout { display: grid; grid-template-columns: minmax(0,.9fr) minmax(430px,.7fr); align-items: center; gap: 70px; max-width: 1080px; margin: 35px auto; }
.customer-auth-layout > header h1 { max-width: 620px; margin: 7px 0 18px; font-size: 45px; line-height: 1.08; }
.customer-auth-layout > header > p:not(.overline) { max-width: 600px; color: #60727a; line-height: 1.7; }
.customer-auth-benefits { display: grid; gap: 0; margin-top: 30px; border-top: 1px solid #d6e1e4; }
.customer-auth-benefits span { display: flex; align-items: center; gap: 11px; padding: 14px 0; border-bottom: 1px solid #d6e1e4; font-size: 12px; font-weight: 800; }
.customer-auth-benefits svg { width: 19px; color: var(--blue-dark); }
.customer-auth-panel { padding: 32px; border: 1px solid #cfdcdf; border-radius: 7px; background: #fff; box-shadow: 0 18px 50px rgba(25,48,58,.09); }
.customer-auth-panel > div:first-child > small { color: var(--blue-dark); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.customer-auth-panel h1,
.customer-auth-panel h2 { margin: 3px 0 5px; font-size: 26px; }
.customer-auth-panel > div:first-child > p { margin: 0 0 22px; color: var(--muted); font-size: 11px; }
.customer-auth-panel form { display: grid; gap: 15px; }
.customer-auth-panel form label,
.customer-action-form label,
.customer-cancel-form label { display: grid; gap: 6px; color: #52636b; font-size: 11px; font-weight: 800; }
.customer-auth-panel input,
.customer-action-form input,
.customer-action-form textarea,
.customer-cancel-form textarea { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #c8d6db; border-radius: 5px; font: inherit; }
.customer-auth-reset { display: block; margin-top: 14px; color: var(--blue-dark); font-size: 11px; font-weight: 800; text-align: center; }
.customer-auth-new { margin-top: 24px; padding: 16px; border-top: 1px solid #dce5e8; background: #f7f9fa; }
.customer-auth-new p { margin: 4px 0 10px; color: var(--muted); font-size: 10px; }
.customer-auth-new a { display: inline-flex; align-items: center; gap: 5px; color: var(--blue-dark); font-size: 11px; font-weight: 800; }
.customer-auth-new svg { width: 14px; }
.customer-auth-single { max-width: 500px; margin: 30px auto; }

.customer-account-head,
.customer-order-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin: 20px 0 28px; }
.customer-account-head h1,
.customer-order-head h1 { margin: 4px 0 5px; font-size: 39px; }
.customer-account-head p,
.customer-order-head p { margin: 0; color: var(--muted); }
.customer-account-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border: 1px solid #d1dce0; border-radius: 7px; background: #fff; }
.customer-account-summary article { display: flex; align-items: center; gap: 13px; min-height: 84px; padding: 18px 22px; border-right: 1px solid #dce4e7; }
.customer-account-summary article:last-child { border-right: 0; }
.customer-account-summary svg { width: 23px; color: var(--blue-dark); }
.customer-account-summary span { display: grid; }
.customer-account-summary small { color: var(--muted); font-size: 9px; text-transform: uppercase; }
.customer-account-summary strong { font-size: 17px; }
.customer-account-layout { display: grid; grid-template-columns: minmax(0,1fr) 330px; align-items: start; gap: 24px; margin-top: 24px; }
.customer-account-layout > main,
.customer-account-side > section,
.customer-order-panel,
.customer-order-side > section { padding: 24px; border: 1px solid #d2dde1; border-radius: 7px; background: #fff; }
.customer-account-section-head { display: flex; align-items: end; justify-content: space-between; gap: 15px; padding-bottom: 15px; border-bottom: 1px solid #dde5e8; }
.customer-account-section-head small,
.customer-account-side > section > small,
.customer-order-side > section > small { color: var(--blue-dark); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.customer-account-section-head h2,
.customer-account-side h2 { margin: 2px 0 0; font-size: 20px; }
.customer-account-section-head a { display: inline-flex; align-items: center; gap: 5px; color: var(--blue-dark); font-size: 10px; font-weight: 800; }
.customer-account-section-head svg { width: 14px; }
.customer-order-list { display: grid; }
.customer-order-list > a { min-height: 82px; display: grid; grid-template-columns: 42px minmax(0,1fr) auto 18px; align-items: center; gap: 14px; border-bottom: 1px solid #e0e7e9; color: var(--ink); text-decoration: none; }
.customer-order-list > a:hover { background: #f7fafb; }
.customer-order-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 5px; color: var(--blue-dark); background: var(--blue-pale); }
.customer-order-icon svg { width: 20px; }
.customer-order-list > a > span:nth-child(2) { display: grid; }
.customer-order-list small { color: var(--muted); font-size: 9px; }
.customer-order-list strong { font-size: 13px; }
.customer-order-list em { color: #17684f; font-size: 9px; font-style: normal; font-weight: 800; }
.customer-order-list b { font-size: 13px; }
.customer-order-list > a > svg { width: 16px; color: #789098; }
.customer-account-side { display: grid; gap: 18px; }
.customer-account-side section:first-child > a,
.customer-order-actions > a { display: grid; grid-template-columns: 26px minmax(0,1fr) 16px; align-items: center; gap: 10px; padding: 13px 0; border-bottom: 1px solid #e0e7e9; color: var(--ink); text-decoration: none; }
.customer-account-side section:first-child > a > svg:first-child,
.customer-order-actions > a > svg:first-child { width: 19px; color: var(--blue-dark); }
.customer-account-side section:first-child > a > svg:last-child,
.customer-order-actions > a > svg:last-child { width: 14px; color: #81929a; }
.customer-account-side a span { display: grid; }
.customer-account-side a strong,
.customer-order-actions a strong { font-size: 11px; }
.customer-account-side a small,
.customer-order-actions a small { color: var(--muted); font-size: 9px; }
.customer-profile-card { display: grid; gap: 4px; }
.customer-profile-card > strong { margin-top: 8px; }
.customer-profile-card > span { color: var(--muted); font-size: 11px; }
.customer-empty { padding: 45px 20px; text-align: center; }
.customer-empty > svg { width: 34px; color: var(--blue-dark); }
.customer-empty h3 { margin: 10px 0 5px; }
.customer-empty p { color: var(--muted); font-size: 11px; }

.customer-back-link { display: inline-flex; align-items: center; gap: 7px; color: var(--blue-dark); font-size: 11px; font-weight: 800; }
.customer-back-link svg { width: 15px; }
.customer-order-status { padding: 10px 14px; border: 1px solid #b8dacb; border-radius: 5px; color: #17684f; background: #eaf7f1; font-size: 11px; font-weight: 800; }
.customer-order-facts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border: 1px solid #d1dce0; border-radius: 7px; background: #fff; }
.customer-order-facts > div { display: grid; gap: 3px; min-height: 76px; align-content: center; padding: 16px 20px; border-right: 1px solid #dce4e7; }
.customer-order-facts > div:last-child { border-right: 0; }
.customer-order-facts small { color: var(--muted); font-size: 9px; text-transform: uppercase; }
.customer-order-facts strong { font-size: 13px; }
.customer-order-layout { display: grid; grid-template-columns: minmax(0,1fr) 330px; align-items: start; gap: 24px; margin-top: 24px; }
.customer-order-layout > main,
.customer-order-side { display: grid; gap: 18px; }
.customer-order-products article { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 14px 0; border-bottom: 1px solid #e0e7e9; }
.customer-order-products article span { display: grid; }
.customer-order-products strong { font-size: 12px; }
.customer-order-products small { color: var(--muted); font-size: 9px; }
.customer-order-products b { font-size: 12px; }
.customer-order-side > section { display: grid; gap: 6px; }
.customer-order-side > section > strong { margin-top: 8px; }
.customer-order-side > section > p,
.customer-order-side > section > span { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.65; }
.customer-thread { display: grid; gap: 10px; margin-top: 18px; }
.customer-thread article { max-width: 86%; padding: 13px 15px; border-radius: 6px; background: #f1f5f6; }
.customer-thread .is-shop { margin-left: auto; border: 1px solid #bcdde8; background: #edf8fb; }
.customer-thread article small,
.customer-thread article strong { display: block; }
.customer-thread article small { color: var(--muted); font-size: 8px; }
.customer-thread article strong { margin: 2px 0 5px; font-size: 11px; }
.customer-thread article p { margin: 0; color: #52636b; font-size: 10px; line-height: 1.6; }
.customer-thread-empty { color: var(--muted); font-size: 11px; }
.customer-action-form,
.customer-cancel-form { margin-top: 18px; border-top: 1px solid #dce5e8; }
.customer-action-form summary,
.customer-cancel-form summary { padding: 15px 0 0; color: var(--blue-dark); font-size: 11px; font-weight: 800; cursor: pointer; }
.customer-action-form summary { display: flex; align-items: center; gap: 7px; }
.customer-action-form summary svg { width: 16px; }
.customer-action-form form,
.customer-cancel-form form { display: grid; gap: 13px; padding-top: 15px; }
.customer-cancel-form { padding: 0 24px 24px; border: 1px solid #e4c2c6; border-radius: 7px; background: #fff7f7; }
.customer-cancel-form p { margin: 0; color: #79565b; font-size: 10px; line-height: 1.55; }

@media (min-width: 901px) and (max-width: 1280px) {
  .header-main { grid-template-columns: 205px minmax(260px,1fr) auto; gap: 20px; }
  .header-actions { gap: 13px; }
  .account-link span { display: none; }
  .nav-advice,
  .nav-business { min-width: 52px; }
  .nav-advice span,
  .nav-business span { display: none; }
}
@media (max-width: 1100px) {
  .help-link { display: inline-flex; }
  .help-link small { display: none; }
  .business-layout { grid-template-columns: minmax(0,1fr); }
  .customer-auth-layout { grid-template-columns: minmax(0,1fr); gap: 35px; }
  .customer-auth-layout > header { max-width: 720px; }
  .customer-account-layout,
  .customer-order-layout { grid-template-columns: minmax(0,1fr); }
  .customer-account-side,
  .customer-order-side { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .help-link,
  .account-link { width: 39px; height: 39px; display: grid; place-items: center; border: 1px solid #d4dfe3; border-radius: 4px; }
  .help-link span,
  .account-link span { display: none; }
  .help-link > svg,
  .account-link > svg { width: 20px; height: 20px; }
  .business-layout { width: 100%; }
}
@media (max-width: 680px) {
  .customer-auth-page,
  .customer-account-page,
  .customer-order-page { padding: 24px 0 60px; }
  .customer-auth-layout { margin: 12px auto; }
  .customer-auth-layout > header h1 { font-size: 31px; }
  .customer-auth-panel { padding: 22px 20px; }
  .checkout-account-passwords { grid-template-columns: minmax(0,1fr); padding-left: 16px; }
  .customer-account-head,
  .customer-order-head { align-items: flex-start; flex-direction: column; }
  .customer-account-head h1,
  .customer-order-head h1 { font-size: 31px; }
  .customer-account-summary,
  .customer-order-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .customer-account-summary article:nth-child(2),
  .customer-order-facts > div:nth-child(2) { border-right: 0; }
  .customer-account-summary article,
  .customer-order-facts > div { border-bottom: 1px solid #dce4e7; }
  .customer-account-side,
  .customer-order-side { grid-template-columns: minmax(0,1fr); }
  .customer-order-list > a { grid-template-columns: 38px minmax(0,1fr) 16px; }
  .customer-order-list > a > b { grid-column: 2; }
  .customer-order-list > a > svg { grid-column: 3; grid-row: 1/3; }
  .customer-account-layout > main,
  .customer-account-side > section,
  .customer-order-panel,
  .customer-order-side > section { padding: 20px; }
}
@media (max-width: 480px) {
  .search-toggle { display: none; }
}

.footer-bottom .footer-withdrawal-action {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 9px;
  border: 1px solid rgba(255, 255, 255, .24);
  color: #fff;
  font-weight: 700;
}

.footer-withdrawal-action svg { width: 15px; height: 15px; }

.footer-bottom nav > button {
  padding: 0;
  border: 0;
  color: #94aab3;
  background: transparent;
  cursor: pointer;
}

.footer-bottom nav > button:hover { color: #fff; }

.cookie-consent {
  position: fixed;
  z-index: 9000;
  right: 22px;
  bottom: 22px;
  left: 22px;
  width: min(820px, calc(100% - 44px));
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 26px;
  margin-left: auto;
  padding: 22px;
  border: 1px solid #c8dce2;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 22px 65px rgba(15, 38, 48, .24);
}

.cookie-consent[hidden] { display: none; }
.cookie-consent-copy { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 13px; }
.cookie-consent-copy > span { width: 42px; height: 42px; display: grid; place-items: center; color: #0a785c; background: #e3f4ee; }
.cookie-consent-copy svg { width: 20px; }
.cookie-consent-copy strong { display: block; margin-bottom: 4px; font-size: 15px; }
.cookie-consent-copy p { margin: 0 0 4px; color: #5d7078; font-size: 12px; line-height: 1.55; }
.cookie-consent-copy a { color: #0878aa; font-size: 12px; font-weight: 700; }
.cookie-consent-actions { display: flex; gap: 8px; }
.cookie-consent-actions .button { white-space: nowrap; }

@media (max-width: 720px) {
  .cookie-consent { right: 12px; bottom: 12px; left: 12px; width: auto; grid-template-columns: 1fr; gap: 18px; padding: 18px; }
  .cookie-consent-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .cookie-consent-actions .button { width: 100%; padding-inline: 10px; }
}

/* Final light treatment for the expanded partner application. */
.partner-page .partner-apply { grid-template-columns:minmax(280px,.75fr) minmax(480px,1.25fr);align-items:start;color:#18343e;border:1px solid #c9dde4;background:#eaf5f8; }
.partner-page .partner-apply h2 { color:#18343e; }
.partner-page .partner-apply p,.partner-page .partner-apply p:last-child { color:#536f79; }
@media (max-width:820px) { .partner-page .partner-apply { grid-template-columns:1fr; } }

/* Modern catalog and product experience. */
.catalog-page {
  padding-top: 30px;
  background: #f4f7f8;
}

.catalog-page .breadcrumb,
.product-page .breadcrumb {
  margin-bottom: 24px;
  color: #7a8990;
  font-size: 12px;
}

.catalog-page .catalog-heading {
  align-items: center;
  margin-bottom: 26px;
  padding-bottom: 25px;
  border-bottom: 1px solid #d9e3e6;
}

.catalog-page .catalog-heading h1 {
  margin: 5px 0 8px;
  font-size: 38px;
  line-height: 1.12;
}

.catalog-page .catalog-heading p {
  max-width: 690px;
  font-size: 15px;
  line-height: 1.6;
}

.catalog-page .catalog-count {
  padding: 8px 11px;
  border: 0;
  color: #577079;
  background: #e8f0f2;
  font-size: 11px;
}

.catalog-heading-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
}

.catalog-segments.has-custom-segment { grid-template-columns: repeat(5,minmax(0,1fr)); }
.catalog-custom-segment { display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:42px;padding:6px 8px;border-left:1px solid #d8e2e5;color:#075f84;background:#f1f9fb;text-align:center;text-decoration:none;transition:color .16s ease,background .16s ease; }
.catalog-custom-segment>svg { width:15px;height:15px;flex:0 0 auto; }
.catalog-custom-segment>span { display:grid;gap:1px;min-width:0; }
.catalog-custom-segment strong { font-size:10px;line-height:1.2; }
.catalog-custom-segment small { color:#70858d;font-size:8px;font-weight:600;line-height:1.2; }
.catalog-custom-segment:hover,.catalog-custom-segment.is-active { color:#075f84;background:#e3f3f8;box-shadow:inset 0 -2px #0788b5; }
.catalog-custom-segment:hover small,.catalog-custom-segment.is-active small { color:#54717c; }

.catalog-tools,
.ring-catalog-tools,
.stop-catalog-tools,
.plug-catalog-tools {
  grid-template-columns: minmax(0, 1fr) 220px;
  gap: 16px 20px;
  margin-bottom: 24px;
  padding: 17px 18px 18px;
  border-color: #d7e2e5;
  border-radius: 5px;
  box-shadow: none;
}

.catalog-tools-heading {
  align-items: center;
  padding-bottom: 12px;
}

.catalog-tools-heading > div {
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.catalog-tools-heading > div > span {
  font-size: 9px;
  letter-spacing: 0;
}

.catalog-tools-heading strong {
  font-size: 16px;
}

.catalog-tools-result {
  font-size: 10px;
}

.catalog-tools-result b {
  font-size: 12px;
}

.catalog-tools legend,
.catalog-select-field label {
  margin-bottom: 6px;
  font-size: 10px;
}

.catalog-segments {
  border-radius: 4px;
  background: #f7f9fa;
}

.catalog-segments label > span {
  min-height: 42px;
  padding: 6px 8px;
  font-size: 10px;
}

.catalog-segments input:checked + span {
  color: #075f84;
  background: #eaf5f8;
  box-shadow: inset 0 -2px #0788b5;
}

.catalog-select-field select {
  min-height: 44px;
  border-radius: 4px;
}

.ring-choice-guide {
  grid-template-columns: minmax(280px, 1fr) minmax(0, 1.35fr);
  gap: 25px;
  margin-bottom: 18px;
  padding: 18px 20px;
  border-left-width: 3px;
  background: #fff;
}

.ring-choice-icon {
  width: 40px;
  height: 40px;
  flex-basis: 40px;
}

.ring-choice-intro h2 {
  margin-top: 2px;
  font-size: 17px;
}

.ring-choice-intro p:last-child {
  font-size: 11px;
}

.ring-measure-steps li {
  padding: 12px;
}

.catalog-page .product-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.catalog-page .product-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid #d8e2e5;
  border-radius: 5px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(20, 43, 53, .025);
  transform: none;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.catalog-page .product-card:hover {
  transform: translateY(-3px);
  border-color: #b8ccd3;
  box-shadow: 0 16px 36px rgba(20, 43, 53, .10);
}

.catalog-page .product-media {
  position: relative;
  width: 100%;
  height: 232px !important;
  min-height: 232px;
  padding: 17px;
  overflow: hidden;
  border-bottom: 1px solid #e2e9eb;
  background: #fff;
}

.product-media-stage {
  position: relative;
  width: 100%;
  height: 100%;
  display: block;
  background: #fff;
}

.catalog-page .product-media img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  mix-blend-mode: normal;
  transition: opacity .24s ease, transform .35s ease;
}

.catalog-page .product-card-custom3d {
  border-color: #a9d3e2;
  box-shadow: 0 7px 22px rgba(8, 120, 170, .10);
}

.product-card-model-preview {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: block;
  overflow: hidden;
  background: #fff;
}

.product-card-model-preview canvas { width: 100%; height: 100%; display: block; }
.product-card-model-preview.has-error { display: none; }

.product-card-model-loading {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  color: #6b8088;
  background: #fff;
  font-size: 9px;
  font-weight: 800;
}

.product-card-model-loading i {
  width: 15px;
  height: 15px;
  border: 2px solid #d1e5ec;
  border-top-color: #0878aa;
  border-radius: 50%;
  animation: model-spin .7s linear infinite;
}

.product-card-model-preview.is-loaded .product-card-model-loading { display: none; }

.product-custom3d-badge {
  position: absolute;
  z-index: 3;
  right: 10px;
  bottom: 10px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 8px;
  border: 1px solid #a9d7e6;
  border-radius: 4px;
  color: #076b92;
  background: rgba(241, 250, 253, .96);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.product-custom3d-badge svg { width: 13px; height: 13px; }

.product-custom3d-summary {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 16px;
  padding: 10px 11px;
  border: 1px solid #c7e3ec;
  border-radius: 5px;
  color: #174c60;
  background: #f1f9fb;
}

.product-custom3d-summary > svg { width: 20px; height: 20px; flex: 0 0 auto; color: #0878aa; }
.product-custom3d-summary > span { display: grid; gap: 2px; }
.product-custom3d-summary strong { font-size: 11px; }
.product-custom3d-summary small { color: #68808a; font-size: 9px; line-height: 1.35; }

.product-media-secondary {
  opacity: 0;
  transform: scale(1.025);
}

.product-media-hint {
  position: absolute;
  right: 10px;
  bottom: 10px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 8px;
  color: #48606a;
  border: 1px solid #d4e1e5;
  border-radius: 3px;
  background: rgba(255,255,255,.94);
  font-size: 9px;
  font-weight: 800;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity .2s ease, transform .2s ease;
}

.product-media-hint svg {
  width: 13px;
  height: 13px;
}

@media (hover: hover) {
  .has-secondary-media .product-media:hover .product-media-primary {
    opacity: 0;
    transform: scale(.985);
  }

  .has-secondary-media .product-media:hover .product-media-secondary {
    opacity: 1;
    transform: scale(1);
  }

  .has-secondary-media .product-media:hover .product-media-hint {
    opacity: 1;
    transform: translateY(0);
  }
}

.catalog-page .product-badge {
  top: 11px;
  left: 11px;
  padding: 5px 7px;
  color: #25424d;
  background: #e6f0f3;
  font-size: 9px;
}

.catalog-page .product-body {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  padding: 15px 16px 16px;
}

.catalog-page .product-card-meta {
  margin-bottom: 8px;
  font-size: 8px;
}

.product-card-meta span:last-child {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.product-card-meta span:last-child i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}

.product-card-meta .is-out-of-stock {
  color: #a45555 !important;
}

.catalog-page .product-card h3 {
  min-height: 42px;
  margin: 0 0 13px;
  font-size: 14px;
  line-height: 1.45;
}

.catalog-page .product-card h3 a {
  color: inherit;
  text-decoration: none;
}

.catalog-page .product-card h3 a:hover {
  color: #0878a5;
}

.ring-card-measurements,
.product-measurements,
.stop-card-range {
  min-height: 48px;
  margin: 0 0 15px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.ring-card-measurements {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
}

.ring-card-measurements span {
  min-width: 0;
  flex: 1 1 33%;
  padding: 0 9px;
  border-left: 1px solid #dce5e8;
}

.ring-card-measurements span:first-child {
  padding-left: 0;
  border-left: 0;
}

.ring-card-measurements span + span {
  border-left: 1px solid #dce5e8;
}

.ring-card-measurements .ring-card-range {
  flex-basis: 60%;
}

.ring-card-measurements small,
.product-measurements small,
.stop-card-range small {
  color: #7a8b92;
  font-size: 8px;
}

.ring-card-measurements strong,
.stop-card-range strong {
  font-size: 11px;
  line-height: 1.35;
}

.stop-card-range {
  gap: 9px;
}

.stop-card-range svg {
  width: 18px;
  height: 18px;
}

.product-measurements {
  display: flex;
  align-items: center;
  gap: 14px;
}

.product-main-measure {
  padding: 0 14px 0 0;
  border-right: 1px solid #dce5e8;
}

.product-main-measure > svg {
  width: 18px;
  height: 18px;
}

.product-main-measure strong {
  font-size: 15px;
}

.product-secondary-measures {
  display: flex;
  border: 0;
}

.product-secondary-measures > span {
  padding: 0 10px;
}

.catalog-page .product-buy {
  grid-template-columns: minmax(70px, auto) minmax(0, 1fr);
  gap: 12px;
  margin-top: auto;
  padding-top: 13px;
  border-top: 1px solid #e4eaec;
}

.catalog-page .product-price {
  align-content: center;
  gap: 1px;
}

.catalog-page .product-price small {
  margin: 0;
  color: #7d8c92;
  font-size: 8px;
  text-transform: uppercase;
}

.catalog-page .product-price strong {
  font-size: 17px;
}

.product-card-action,
.catalog-page .add-to-cart.product-card-action {
  width: 100%;
  height: 42px;
  min-width: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 11px;
  border: 1px solid #087ca8;
  border-radius: 4px;
  color: #fff;
  background: #087ca8;
  font-size: 10px;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}

.product-card-action:hover,
.catalog-page .add-to-cart.product-card-action:hover {
  border-color: #065f83;
  color: #fff;
  background: #065f83;
}

.product-card-action.is-secondary {
  color: #17556d;
  border-color: #c7d9df;
  background: #f4f8f9;
}

.product-card-action.is-secondary:hover {
  color: #0a668b;
  background: #e9f3f6;
}

.product-card-action svg {
  width: 15px;
  height: 15px;
}

/* Product detail */
.product-page {
  padding-top: 28px;
  background: #fff;
}

.product-detail {
  grid-template-columns: minmax(0, 1.06fr) minmax(410px, .94fr);
  gap: 52px;
}

.product-detail-media {
  position: sticky;
  top: 138px;
  min-height: 560px;
  grid-template-columns: 72px minmax(0, 1fr);
  grid-template-areas: "thumbs stage";
  align-items: stretch;
  gap: 14px;
  padding: 14px;
  border: 1px solid #dce5e8;
  border-radius: 5px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(20, 43, 53, .035);
}

.product-detail-media.product-gallery-single {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "stage";
}

.product-detail-media > .product-badge {
  z-index: 5;
  top: 26px;
  left: 100px;
}

.product-detail-media.product-gallery-single > .product-badge {
  left: 26px;
}

.product-gallery-stage {
  position: relative;
  grid-area: stage;
  min-width: 0;
  min-height: 530px;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #fff;
}

.product-detail-media .product-gallery-main {
  width: 100%;
  height: 100%;
  max-width: 500px;
  max-height: 500px;
  padding: 30px;
  object-fit: contain;
}

.product-gallery-thumbs {
  grid-area: thumbs;
  width: auto;
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 8px;
  margin: 0;
}

.product-gallery-thumbs button {
  width: 72px;
  height: 72px;
  flex: 0 0 72px;
  padding: 6px;
  border-color: #d8e2e5;
  border-radius: 4px;
  background: #fff;
}

.product-gallery-thumbs button.is-active {
  border-color: #087da8;
  box-shadow: inset 0 0 0 1px #087da8;
}

.product-gallery-thumbs img {
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: contain;
}

.product-gallery-nav {
  position: absolute;
  z-index: 3;
  top: 50%;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid #d5e1e5;
  border-radius: 50%;
  color: #38545f;
  background: rgba(255,255,255,.94);
  box-shadow: 0 5px 15px rgba(20,43,53,.08);
  cursor: pointer;
  transform: translateY(-50%);
}

.product-gallery-nav:hover {
  color: #fff;
  border-color: #087ca8;
  background: #087ca8;
}

.product-gallery-nav svg {
  width: 18px;
  height: 18px;
}

.product-gallery-prev { left: 12px; }
.product-gallery-next { right: 12px; }

.product-detail-content {
  min-width: 0;
  padding-top: 4px;
}

.product-title-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  color: #0878a3;
  font-size: 9px;
  font-weight: 800;
  text-transform: uppercase;
}

.product-title-meta span:last-child {
  color: #819097;
}

.product-detail-content h1 {
  margin: 9px 0 12px;
  max-width: 680px;
  font-size: 38px;
  line-height: 1.12;
}

.product-detail-intro {
  margin-bottom: 12px;
  color: #5e7078;
  font-size: 14px;
  line-height: 1.65;
}

.product-rating-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #35515c;
  font-size: 10px;
  font-weight: 800;
  text-decoration: none;
}

.product-rating-link svg {
  width: 15px;
  height: 15px;
  color: #dc6b37;
  fill: #dc6b37;
}

.product-rating-link small {
  padding-left: 7px;
  border-left: 1px solid #d5dfe2;
  color: #7c8d94;
  font-weight: 600;
}

.product-commercial-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 20px;
  margin-top: 22px;
  padding: 17px 0;
  border-top: 1px solid #dce5e8;
  border-bottom: 1px solid #dce5e8;
}

.product-commercial-line > div:first-child {
  display: grid;
  gap: 2px;
}

.product-commercial-line > div:first-child > small {
  color: #778990;
  font-size: 9px;
  font-weight: 700;
}

.product-detail-price {
  margin: 0;
  font-size: 28px;
}

.stock-line {
  align-items: flex-start;
  font-size: 10px;
}

.stock-line > span {
  display: grid;
  gap: 1px;
}

.stock-line strong {
  font-size: 11px;
}

.stock-line small {
  color: #71858d;
  font-size: 9px;
  font-weight: 600;
}

.product-key-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 16px 0 0;
}

.product-key-facts > div {
  min-width: 0;
  padding: 0 11px;
  border-left: 1px solid #dce5e8;
}

.product-key-facts > div:first-child {
  padding-left: 0;
  border-left: 0;
}

.product-key-facts dt {
  margin-bottom: 3px;
  color: #7c8d94;
  font-size: 8px;
  font-weight: 700;
}

.product-key-facts dd {
  margin: 0;
  overflow-wrap: anywhere;
  color: #1d333c;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.35;
}

.product-configurator {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid #dce5e8;
}

.product-configurator-head {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 11px;
}

.product-configurator-head > div {
  min-width: 0;
}

.product-configurator-head > span {
  width: 34px;
  height: 34px;
  display: grid;
  flex: 0 0 34px;
  place-items: center;
  color: #087ca8;
  background: #eaf5f8;
}

.product-configurator-head svg {
  width: 17px;
  height: 17px;
}

.product-configurator-head h2 {
  margin: 0;
  font-size: 14px;
}

.product-configurator-head p {
  margin: 2px 0 0;
  color: #798a91;
  font-size: 9px;
}

.product-configurator-reset {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-left: auto;
  padding: 7px 10px;
  border: 1px solid #b8d4de;
  border-radius: 5px;
  color: #356172;
  background: #fff;
  font: 800 9px/1.25 "Manrope", sans-serif;
  cursor: pointer;
  transition: border-color .15s ease, color .15s ease, background .15s ease;
}

.product-configurator-reset:hover {
  border-color: #0878aa;
  color: #08698d;
  background: #f2f9fc;
}

.product-configurator-reset:focus-visible {
  outline: 3px solid rgba(8, 120, 170, .2);
  outline-offset: 2px;
}

.product-configurator-reset svg {
  width: 14px;
  height: 14px;
}

.product-option-groups {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 11px 12px;
  margin: 14px 0 0;
}

.product-option-groups label > span,
.product-quantity-field > span:first-child {
  font-size: 10px;
}

.product-option-groups select {
  width: 100%;
  min-height: 44px;
  border-color: #cbd9de;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 700;
}

.product-volume-prices {
  margin: 18px 0 0;
  border-radius: 4px;
}

.product-buy-row {
  grid-template-columns: 124px minmax(0, 1fr);
  gap: 12px;
  margin-top: 20px;
}

.product-quantity-field {
  gap: 6px;
}

.product-quantity-control {
  min-height: 50px;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) 36px;
  overflow: hidden;
  border: 1px solid #c8d6db;
  border-radius: 4px;
  background: #fff;
}

.product-quantity-control button {
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  color: #34505b;
  background: #f2f6f7;
  cursor: pointer;
}

.product-quantity-control button:hover {
  color: #087ca8;
  background: #e7f2f5;
}

.product-quantity-control button svg {
  width: 14px;
  height: 14px;
}

.product-quantity-control input,
.product-option-groups .product-quantity-control input {
  width: 100%;
  min-width: 0;
  min-height: 48px;
  padding: 0;
  border: 0;
  border-right: 1px solid #d8e2e5;
  border-left: 1px solid #d8e2e5;
  border-radius: 0;
  text-align: center;
  appearance: textfield;
}

.product-quantity-control input::-webkit-inner-spin-button,
.product-quantity-control input::-webkit-outer-spin-button {
  margin: 0;
  appearance: none;
}

.product-page .product-add-button.add-to-cart {
  width: 100%;
  height: 52px;
  min-height: 52px;
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) 18px;
  align-items: center;
  justify-content: stretch;
  gap: 10px;
  padding: 0 17px;
  border: 1px solid #0878a5;
  border-radius: 5px;
  color: #fff;
  background: #0878a5;
  box-shadow: 0 8px 18px rgba(8, 103, 143, .16);
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: 0;
}

.product-page .product-add-button.add-to-cart > span {
  min-width: 0;
  text-align: center;
  white-space: nowrap;
}

.product-page .product-add-button.add-to-cart > svg {
  width: 17px;
  height: 17px;
  stroke-width: 2;
}

.product-page .product-add-button.add-to-cart:hover:not(:disabled) {
  transform: translateY(-1px);
  border-color: #06698f;
  background: #06698f;
  box-shadow: 0 11px 22px rgba(8, 103, 143, .2);
}

.product-page .product-add-button.add-to-cart:focus-visible {
  outline: 3px solid rgba(8, 120, 165, .24);
  outline-offset: 3px;
}

.product-page .product-add-button.add-to-cart:disabled {
  grid-template-columns: 18px minmax(0, 1fr);
  border-color: #d4dfe2;
  color: #64777f;
  background: #edf2f3;
  box-shadow: none;
  cursor: not-allowed;
}

.product-order-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 9px 0 0;
  color: #718289;
  font-size: 9px;
  text-align: center;
}

.product-order-note svg {
  width: 13px;
  height: 13px;
}

.product-assurances {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin-top: 18px;
  padding-top: 15px;
  border-top: 1px solid #dce5e8;
}

.product-assurances span {
  min-width: 0;
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 1px 7px;
  padding: 0 10px;
  border-left: 1px solid #e0e7e9;
}

.product-assurances span:first-child {
  padding-left: 0;
  border-left: 0;
}

.product-assurances svg {
  grid-row: 1 / 3;
  width: 18px;
  height: 18px;
  color: #087ca8;
}

.product-assurances b {
  font-size: 9px;
}

.product-assurances small {
  color: #7b8b92;
  font-size: 8px;
  font-weight: 600;
}

.product-print-facts {
  margin-top: 26px;
  padding: 20px;
  border: 1px solid #c8dfe7;
  border-radius: 6px;
  background: linear-gradient(145deg,#f8fcfd 0%,#eef7fa 100%);
}

.product-print-facts > header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid #d6e7ec;
}

.product-print-facts > header > span {
  width: 38px;
  height: 38px;
  display: grid;
  flex: 0 0 38px;
  place-items: center;
  border: 1px solid #b9dae5;
  border-radius: 50%;
  color: #0878a5;
  background: #fff;
}

.product-print-facts > header svg { width:18px;height:18px; }
.product-print-facts > header .overline { margin:0 0 3px;font-size:8px; }
.product-print-facts > header h2 { margin:0;font-size:16px;line-height:1.25; }
.product-print-facts-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
.product-print-facts-grid article { min-width:0;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:8px;padding:11px;border:1px solid #d6e6eb;border-radius:4px;background:rgba(255,255,255,.86); }
.product-print-facts-grid article>svg { width:17px;height:17px;margin-top:1px;color:#087ca8; }
.product-print-facts-grid h3,.product-layer-lines h3 { margin:0 0 3px;color:#18343e;font-size:10px;line-height:1.3; }
.product-print-facts-grid p,.product-layer-lines p { margin:0;color:#637981;font-size:8.5px;line-height:1.55; }
.product-print-facts-grid .product-print-leadtime { grid-column:1/-1; }

.product-layer-lines {
  display:grid;
  grid-template-columns:78px minmax(0,1fr);
  align-items:center;
  gap:13px;
  margin-top:9px;
  padding:13px;
  border:1px solid #bcdbe5;
  border-radius:4px;
  background:#fff;
}

.product-layer-sample {
  height:58px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  overflow:hidden;
  padding:8px 10px;
  border-radius:3px;
  background:linear-gradient(135deg,#087ca8,#075b7e);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.17);
  transform:skewY(-4deg);
}

.product-layer-sample i { display:block;height:2px;border-radius:2px;background:rgba(255,255,255,.65);box-shadow:0 1px 0 rgba(0,32,48,.25); }
.product-layer-sample i:nth-child(2),.product-layer-sample i:nth-child(5) { margin-left:5px; }
.product-layer-sample i:nth-child(3) { margin-right:8px; }

.product-information-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(330px, .65fr);
  gap: 70px;
  margin-top: 74px;
  padding-top: 58px;
  border-top: 1px solid #d5e0e3;
}

.product-visual-column {
  min-width: 0;
}

.product-detail-custom3d .product-detail-media {
  position: relative;
  top: auto;
}

.product-detail-custom3d .product-information-compact {
  grid-template-columns: minmax(0, 1fr);
  gap: 32px;
  margin-top: 28px;
  padding-top: 30px;
}

.product-detail-custom3d .product-information-compact .product-description h2,
.product-detail-custom3d .product-information-compact .product-specifications h2 {
  font-size: 21px;
}

.product-description {
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
}

.product-description h2,
.product-specifications h2 {
  margin: 5px 0 17px;
  font-size: 25px;
}

.product-description > p:last-child {
  margin: 0;
  color: #536970;
  font-size: 14px;
  line-height: 1.85;
}

.product-specifications {
  min-width: 0;
}

.product-specifications > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 15px;
}

.product-specifications dl {
  margin: 0;
  border-top: 1px solid #d9e3e6;
}

.product-specifications dl > div {
  display: grid;
  grid-template-columns: minmax(110px, .8fr) minmax(0, 1.2fr);
  gap: 16px;
  padding: 11px 0;
  border-bottom: 1px solid #e0e7e9;
}

.product-specifications dt {
  color: #75868d;
  font-size: 10px;
}

.product-specifications dd {
  margin: 0;
  overflow-wrap: anywhere;
  color: #233a44;
  font-size: 11px;
  font-weight: 800;
}

.product-page > .wrap > .product-next-actions {
  margin-top: 44px;
  border-color: #d9e3e6;
  background: #d9e3e6;
}

.product-page > .wrap > .product-next-actions > a {
  min-height: 74px;
  background: #f5f9fa;
}

.product-page > .wrap > .product-next-actions > a:hover {
  background: #eaf4f7;
}

@media (max-width: 1120px) {
  .catalog-page .product-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .product-detail {
    grid-template-columns: minmax(0, 1fr) minmax(380px, .9fr);
    gap: 34px;
  }

  .product-detail-media {
    min-height: 500px;
  }

  .product-gallery-stage {
    min-height: 470px;
  }

  .product-detail-media .product-gallery-main {
    max-height: 445px;
  }

  .product-detail-content h1 {
    font-size: 33px;
  }
}

@media (max-width: 900px) {
  .catalog-tools,
  .ring-catalog-tools,
  .stop-catalog-tools,
  .plug-catalog-tools {
    grid-template-columns: minmax(0, 1fr);
  }

  .product-detail {
    grid-template-columns: minmax(0, 1fr);
    gap: 34px;
  }

  .product-detail-media {
    position: relative;
    top: auto;
  }

  .product-purchase-panel {
    max-width: 720px;
  }

  .product-detail-custom3d .product-visual-column {
    display: contents;
  }

  .product-detail-custom3d .product-detail-media { order: 1; }
  .product-detail-custom3d .product-purchase-panel { order: 2; }
  .product-detail-custom3d .product-information-compact {
    order: 3;
    margin-top: 24px;
  }

  .product-print-facts { margin-top:24px; }

  .product-information-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 42px;
    margin-top: 58px;
    padding-top: 46px;
  }
}

@media (max-width: 720px) {
  .ring-choice-guide {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    padding: 17px;
  }

  .ring-measure-steps {
    grid-template-columns: minmax(0, 1fr);
  }

  .ring-measure-steps li + li {
    border-top: 1px solid #dfe8eb;
    border-left: 0;
  }

  .catalog-page .catalog-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 16px;
  }

  .catalog-heading-actions { width:100%;justify-content:flex-start; }

  .catalog-segments.has-custom-segment { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .catalog-segments.has-custom-segment .catalog-custom-segment { grid-column:1/-1;border-top:1px solid #d8e2e5;border-left:0; }

  .catalog-page .catalog-heading h1 {
    font-size: 32px;
  }

  .catalog-page .catalog-heading p {
    font-size: 14px;
  }

  .catalog-tools-heading > div {
    display: grid;
    gap: 2px;
  }

  .catalog-page .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .catalog-page .product-media {
    height: 215px !important;
    min-height: 215px;
  }

  .product-detail-media {
    min-height: 460px;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "stage" "thumbs";
  }

  .product-detail-media > .product-badge,
  .product-detail-media.product-gallery-single > .product-badge {
    left: 26px;
  }

  .product-gallery-stage {
    min-height: 380px;
  }

  .product-gallery-thumbs {
    width: 100%;
    flex-direction: row;
    overflow-x: auto;
  }

  .product-gallery-thumbs button {
    width: 64px;
    height: 64px;
    flex-basis: 64px;
  }

  .product-detail-content h1 {
    font-size: 31px;
  }

  .product-key-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px 0;
  }

  .product-key-facts > div:nth-child(3) {
    padding-left: 0;
    border-left: 0;
  }

  .product-option-groups {
    grid-template-columns: minmax(0, 1fr);
  }

  .product-page > .wrap > .product-next-actions {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 560px) {
  .catalog-page,
  .product-page {
    padding-top: 20px;
  }

  .catalog-page .product-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }

  .catalog-page .product-card {
    display: grid;
    grid-template-columns: 134px minmax(0, 1fr);
  }

  .product-print-facts { padding:16px; }
  .product-print-facts-grid { grid-template-columns:minmax(0,1fr); }
  .product-print-facts-grid .product-print-leadtime { grid-column:1; }
  .product-layer-lines { grid-template-columns:64px minmax(0,1fr);padding:11px; }

  .catalog-page .product-media {
    height: 100% !important;
    min-height: 210px;
    border-right: 1px solid #e2e9eb;
    border-bottom: 0;
  }

  .catalog-page .product-badge {
    max-width: 112px;
  }

  .product-media-hint {
    display: none;
  }

  .catalog-page .product-body {
    padding: 14px;
  }

  .catalog-page .product-card h3 {
    min-height: 0;
    font-size: 13px;
  }

  .ring-card-measurements,
  .product-measurements,
  .stop-card-range {
    min-height: 0;
    margin-bottom: 12px;
  }

  .ring-card-measurements span:nth-child(n+3),
  .product-secondary-measures {
    display: none;
  }

  .catalog-page .product-buy {
    grid-template-columns: minmax(0, 1fr);
  }

  .catalog-page .product-price {
    display: flex;
    align-items: baseline;
    gap: 5px;
  }

  .product-commercial-line {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  .product-buy-row {
    grid-template-columns: 112px minmax(0, 1fr);
  }

  .product-assurances {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  .product-assurances span,
  .product-assurances span:first-child {
    padding: 0;
    border-left: 0;
  }

  .product-description h2,
  .product-specifications h2 {
    font-size: 22px;
  }
}

@media (max-width: 390px) {
  .catalog-page .product-card {
    grid-template-columns: 112px minmax(0, 1fr);
  }

  .catalog-page .product-media {
    min-height: 200px;
    padding: 11px;
  }

  .product-buy-row {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 720px) {
  .catalog-page .ring-choice-guide {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    padding: 17px;
  }

  .catalog-page .ring-measure-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .catalog-page .ring-measure-steps li + li {
    border-top: 0;
    border-left: 1px solid #dfe8eb;
  }

  .catalog-page .ring-measure-steps li {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
    padding: 10px;
  }

  .catalog-page .ring-measure-steps small {
    display: none;
  }

  .product-detail-media {
    min-height: 0;
  }

  .product-gallery-stage {
    min-height: 320px;
  }

  .product-detail-media .product-gallery-main {
    padding: 12px;
  }
}
/* Interactive 3D product media */
.product-gallery-thumbs .product-model-thumb{display:grid;grid-template-rows:1fr auto;place-items:center;gap:2px;padding:10px 6px 7px;border-style:dashed;color:#457080;background:linear-gradient(145deg,#f7fbfc,#eaf4f7)}
.product-gallery-thumbs .product-model-thumb svg{width:27px;height:27px;stroke-width:1.6}
.product-gallery-thumbs .product-model-thumb small{font-size:9px;font-weight:900;letter-spacing:.08em}
.product-gallery-thumbs .product-model-thumb.is-active{border-style:solid;color:#0878aa;background:#edf8fc}
.product-model-stage{min-height:520px}
.product-model-stage[hidden],.product-gallery-stage[hidden]{display:none}
.product-model-viewer{position:relative;width:100%;height:520px;overflow:hidden;border-radius:inherit;background:radial-gradient(circle at 50% 38%,#fff 0,#f2f8fb 62%,#e2edf2 100%);touch-action:none}
.product-model-viewer canvas{display:block;width:100%;height:100%;outline:none}
.product-model-status{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:14px;color:#31515f;background:rgba(244,249,251,.82);pointer-events:none}
.product-model-status[hidden]{display:none}
.product-model-status span{width:38px;height:38px;border:3px solid #b9d9e7;border-top-color:#0878aa;border-radius:50%;animation:model-spin .8s linear infinite}
.product-model-viewer.has-error .product-model-status span{display:none}
.product-model-help{position:absolute;right:14px;bottom:14px;left:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.9);color:#496572;font-size:12px;box-shadow:0 8px 24px rgba(13,48,66,.1);pointer-events:none}
.product-model-help span,.product-model-help button{display:inline-flex;align-items:center;gap:7px}
.product-model-help button{border:0;background:#e6f2f7;color:#0878aa;border-radius:8px;padding:7px 9px;font:inherit;font-weight:700;cursor:pointer;pointer-events:auto}
.product-model-help svg{width:15px;height:15px}
.product-custom-configurator{border-color:#b8dbe8;background:linear-gradient(145deg,#fff 0,#f2f9fc 100%)}
.product-custom-configurator .product-option-groups{grid-template-columns:1fr}
.product-custom-configurator .product-option-groups label{padding:12px;border:1px solid #d9e7ec;border-radius:10px;background:#fff}
.product-custom-configurator .product-option-groups input:not([type="range"]):not([type="hidden"]){width:100%;min-height:48px;padding:0 13px;border:1px solid #bfcfd5;border-radius:7px;background:#fff;color:#16231f;font:inherit;font-weight:700}
.product-custom-configurator .product-option-groups label>small{color:#6d7f87;font-size:10px;line-height:1.45}
.product-range-field{display:grid;gap:8px}
.product-range-control{display:grid;grid-template-columns:minmax(0,1fr) 76px;align-items:center;gap:14px}
.product-range-control input[type="range"]{width:100%;height:6px;margin:0;appearance:none;border:0;border-radius:999px;outline:0;background:linear-gradient(to right,#0878aa 0 var(--range-progress,0%),#d8e4e9 var(--range-progress,0%) 100%);cursor:pointer}
.product-range-control input[type="range"]::-webkit-slider-thumb{width:21px;height:21px;appearance:none;border:3px solid #fff;border-radius:50%;background:#0878aa;box-shadow:0 1px 5px rgba(13,48,66,.35);cursor:grab}
.product-range-control input[type="range"]::-moz-range-thumb{width:17px;height:17px;border:3px solid #fff;border-radius:50%;background:#0878aa;box-shadow:0 1px 5px rgba(13,48,66,.35);cursor:grab}
.product-range-control input[type="range"]:focus-visible{box-shadow:0 0 0 4px rgba(8,120,170,.16)}
.product-range-control output{min-height:52px;display:flex;align-items:baseline;justify-content:center;gap:4px;padding:8px;border:1px solid #9bcbdc;border-radius:9px;background:#f1f9fc;color:#0a5575;font-variant-numeric:tabular-nums}
.product-range-control output strong{font-size:20px;line-height:1}
.product-range-control output small{font-size:10px;font-weight:800;text-transform:uppercase}
.product-color-chooser{display:grid;gap:8px;margin:0 0 12px;padding:0;border:0}
.product-color-chooser>legend{margin-bottom:7px;color:#16231f;font-size:12px;font-weight:800}
.product-color-chooser>div{display:flex;flex-wrap:wrap;gap:7px}
.product-color-chooser label{display:flex;align-items:center;gap:7px;min-width:82px;padding:7px 9px;border:1px solid #d2e0e5;border-radius:8px;background:#fff;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}
.product-color-chooser input[type="radio"]{position:absolute;opacity:0;pointer-events:none}
.product-color-chooser label>span{width:21px;height:21px;flex:0 0 auto;border:1px solid #a5b1b5;border-radius:50%;background:var(--product-swatch);box-shadow:inset 0 0 0 2px #fff}
.product-color-chooser label>strong{font-size:11px}
.product-color-chooser label:has(input:checked){border-color:#0878aa;box-shadow:0 0 0 2px rgba(8,120,170,.13)}
.product-color-chooser label:has(input:focus-visible){outline:3px solid rgba(8,120,170,.2);outline-offset:2px}
.product-configurator-preview-note{display:flex;align-items:flex-start;gap:8px;margin:4px 0 0;padding:10px 12px;border-radius:8px;background:#e8f4f8;color:#395d6b;font-size:11px;line-height:1.5}
.product-configurator-preview-note svg{width:16px;height:16px;flex:0 0 auto;margin-top:1px;color:#0878aa}
.checkout-item-options{color:#315d6d!important;font-weight:700}
@keyframes model-spin{to{transform:rotate(360deg)}}
@media(max-width:700px){.product-model-stage,.product-model-viewer{height:400px;min-height:400px}.product-model-help>span{display:none}.product-range-control{grid-template-columns:minmax(0,1fr) 68px;gap:10px}.product-color-chooser label{min-width:76px}}
