@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Newsreader:ital,opsz,wght@1,6..72,500&display=swap");
.l4d-product-page { --ink:#17352f; --green:#315f57; --green-dark:#244b44; --lime:#8aa35f; --orange:#dc8b43; --paper:#fbfaf6; --soft:#f2f5ef; --line:rgba(23,53,47,.14); --muted:#687b75; width:100%; background:var(--paper); color:var(--ink); font-family:"DM Sans",Arial,sans-serif; }
.l4d-product-page * { box-sizing:border-box; }.l4d-product-page :where(a) { color:inherit; text-decoration:none; }.l4d-product-page :where(button,input,select) { font:inherit; color-scheme:light; }.l4d-product-page button { appearance:none; -webkit-appearance:none; }.l4d-product-page [hidden] { display:none !important; }
.he-product-page { width:100%; padding:clamp(1.25rem,4vw,4.5rem) clamp(1.25rem,5vw,5.75rem) clamp(4rem,7vw,7.5rem); }.he-product-breadcrumbs { display:flex; flex-wrap:wrap; gap:.5rem; margin:0 auto clamp(1.5rem,3vw,2.75rem); max-width:100rem; color:var(--muted); font-size:.875rem; }.he-product-breadcrumbs strong { color:var(--ink); font-weight:600; }
.he-product-layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(22rem,.85fr); gap:clamp(2rem,6vw,7rem); max-width:100rem; margin:auto; align-items:start; }.he-product-main-image { position:relative; display:grid; place-items:center; min-height:min(52vw,42rem); overflow:hidden; border:1px solid var(--line); border-radius:1.5rem; background:var(--soft); touch-action:pan-y; }.he-product-main-image figure { position:absolute; inset:0; display:grid; place-items:center; margin:0; padding:clamp(1.5rem,5vw,4.5rem); }.he-product-main-image img { width:100%; height:100%; max-height:34rem; object-fit:contain; mix-blend-mode:multiply; }.he-product-image-placeholder { color:var(--muted); font-weight:600; }.he-product-zoom { position:absolute; z-index:2; right:1rem; bottom:1rem; display:grid; place-items:center; width:3rem; height:3rem; padding:0; border:1px solid var(--line); border-radius:50%; background:rgba(255,255,255,.94); color:var(--green); box-shadow:0 .6rem 1.6rem rgba(23,53,47,.16); cursor:pointer; }.he-product-zoom:hover { background:var(--green); color:#fff; }.he-product-zoom svg { width:1.25rem; fill:none; stroke:currentColor; stroke-linecap:round; stroke-width:1.7; }
.he-product-thumbs { display:flex; gap:.75rem; margin-top:.9rem; overflow-x:auto; padding-bottom:.25rem; scrollbar-width:none; }.he-product-thumbs::-webkit-scrollbar { display:none; }.he-product-thumbs button { flex:0 0 5rem; width:5rem; height:5rem; padding:.35rem; border:1px solid var(--line); border-radius:.8rem; background:#fff; cursor:pointer; }.he-product-thumbs button[aria-pressed="true"] { border-color:var(--green); box-shadow:0 0 0 2px rgba(49,95,87,.16); }.he-product-thumbs img { width:100%; height:100%; object-fit:contain; }
.he-product-zoom { width:auto !important; min-width:3.5rem !important; min-height:3.35rem !important; gap:.5rem; padding:.7rem 1rem !important; border-color:var(--line) !important; background:rgba(255,255,255,.96) !important; color:var(--green) !important; font-size:.8rem !important; font-weight:800 !important; line-height:1 !important; text-decoration:none !important; }.he-product-zoom span { display:block; }.he-product-zoom svg,.he-product-zoom svg * { display:block; fill:none !important; stroke:currentColor !important; }.he-product-zoom:hover,.he-product-zoom:focus,.he-product-zoom:active { border-color:var(--green) !important; background:var(--green) !important; color:#fff !important; }
.he-product-thumbs button,.he-product-thumbs button:hover,.he-product-thumbs button:focus,.he-product-thumbs button:active { border-color:var(--line) !important; background:#fff !important; color:var(--ink) !important; box-shadow:none !important; outline:0 !important; transform:none !important; }.he-product-thumbs button[aria-pressed="true"],.he-product-thumbs button[aria-pressed="true"]:hover,.he-product-thumbs button[aria-pressed="true"]:focus,.he-product-thumbs button[aria-pressed="true"]:active { border-color:var(--green) !important; background:var(--soft) !important; color:var(--ink) !important; box-shadow:0 0 0 2px rgba(49,95,87,.16) !important; }.he-product-thumbs button::before,.he-product-thumbs button::after { display:none !important; content:none !important; }
.he-product-zoom-modal { position:fixed; z-index:2147483647; inset:0; isolation:isolate; }.he-product-zoom-backdrop { position:absolute; inset:0; display:block !important; width:100% !important; height:100% !important; min-height:0 !important; margin:0 !important; padding:0 !important; border:0 !important; border-radius:0 !important; background:rgba(13,33,29,.82) !important; color:transparent !important; box-shadow:none !important; backdrop-filter:blur(.35rem); cursor:zoom-out; }.he-product-zoom-dialog { position:relative; z-index:1; display:grid; place-items:center; width:min(92vw,72rem); height:min(88vh,54rem); margin:6vh auto; padding:3.75rem 2.5rem 2.25rem; border:0 !important; border-radius:1.5rem !important; background:var(--paper) !important; color:var(--ink) !important; box-shadow:0 2rem 5rem rgba(0,0,0,.35) !important; }.he-product-zoom-stage { display:grid; width:100%; height:100%; place-items:center; overflow:hidden; touch-action:none; cursor:zoom-in; }.he-product-zoom-stage.is-zoomed { cursor:grab; }.he-product-zoom-stage.is-zoomed:active { cursor:grabbing; }.he-product-zoom-dialog img { width:100%; height:100%; max-width:100%; max-height:100%; object-fit:contain; user-select:none; -webkit-user-drag:none; transition:transform .12s ease; }.he-product-zoom-close,.he-product-zoom-nav { position:absolute; z-index:2; display:grid !important; place-items:center; min-height:0 !important; margin:0 !important; padding:0 !important; border:1px solid var(--line) !important; border-radius:50% !important; background:#fff !important; color:var(--ink) !important; box-shadow:none !important; font-family:Arial,sans-serif !important; line-height:1 !important; cursor:pointer; }.he-product-zoom-close { top:.9rem; right:.9rem; width:2.75rem; height:2.75rem; font-size:1.65rem !important; }.he-product-zoom-nav { top:50%; width:3rem; height:3rem; font-size:2.15rem !important; transform:translateY(-50%); }.he-product-zoom-nav.is-previous { left:1rem; }.he-product-zoom-nav.is-next { right:1rem; }.he-product-zoom-close:hover,.he-product-zoom-nav:hover { border-color:var(--green) !important; background:var(--green) !important; color:#fff !important; }.he-product-zoom-hint { position:absolute; bottom:.55rem; left:50%; margin:0; color:var(--muted); font-size:.75rem; font-weight:700; transform:translateX(-50%); }.l4d-product-page.is-product-zoom-open { position:relative; z-index:9999; }.l4d-product-page.is-product-zoom-open ~ * { pointer-events:none; } body.he-product-zoom-open { overflow:hidden; }
.he-product-kicker { display:flex; align-items:center; gap:.6rem; margin:0 0 .9rem; color:var(--lime); font-size:.75rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }.he-product-kicker span { width:1.7rem; height:1px; background:currentColor; }.he-product-summary h1 { margin:0; font-size:clamp(2.25rem,4vw,4.5rem); letter-spacing:-.06em; line-height:1.02; }.he-product-price { margin:1.35rem 0 .55rem; font-size:clamp(1.55rem,2.4vw,2.25rem); font-weight:700; letter-spacing:-.03em; }.he-product-price del { color:var(--muted); font-size:.65em; font-weight:500; }.he-product-price ins { color:var(--orange); text-decoration:none; }.he-product-stock { color:var(--green); font-size:.95rem; font-weight:700; }.he-product-stock .out-of-stock { color:#a84d45; }.he-product-intro { margin:1.4rem 0 1.75rem; color:var(--muted); font-size:1.0625rem; line-height:1.7; }.he-product-intro p { margin:0; }
.he-product-cart form.cart,.he-product-cart .woocommerce-variation-add-to-cart { display:flex; flex-wrap:wrap; gap:.75rem; align-items:center; margin:0; }.he-product-cart .quantity .qty { width:4.5rem; min-height:3.25rem; border:1px solid var(--line) !important; border-radius:999px !important; background:#fff !important; color:var(--ink) !important; text-align:center; }.he-product-cart .single_add_to_cart_button { min-height:3.25rem; padding:.65rem 1.4rem; border:1px solid var(--green) !important; border-radius:999px !important; background:var(--green) !important; color:#fff !important; box-shadow:none !important; font-weight:700; }.he-product-cart .single_add_to_cart_button:hover:not(:disabled) { border-color:var(--green-dark) !important; background:var(--green-dark) !important; color:#fff !important; }.he-product-cart .single_add_to_cart_button:disabled { opacity:.55; }.he-product-cart .variations { width:100%; border:0; }.he-product-cart .variations td { padding:.35rem 0; border:0; }.he-product-cart .variations select { width:100%; min-height:3rem; padding:0 .8rem; border:1px solid var(--line); border-radius:.8rem; background:#fff; color:var(--ink); }.he-product-cart .reset_variations { display:inline-block; margin-top:.35rem; color:var(--green); font-size:.875rem; }.he-product-notice { margin-top:.85rem; padding:.85rem 1rem; border-radius:.85rem; background:#e8f0e6; color:var(--green); font-weight:700; }
.he-product-accordions { margin-top:2rem; border-top:1px solid var(--line); }.he-product-accordions details { border-bottom:1px solid var(--line); }.he-product-accordions summary { display:flex; align-items:center; justify-content:space-between; min-height:4.2rem; cursor:pointer; font-weight:700; list-style:none; }.he-product-accordions summary::-webkit-details-marker { display:none; }.he-product-accordions summary span { position:relative; width:1.5rem; height:1.5rem; border:1px solid var(--line); border-radius:50%; }.he-product-accordions summary span::before,.he-product-accordions summary span::after { content:""; position:absolute; top:50%; left:50%; width:.65rem; height:1px; background:var(--green); transform:translate(-50%,-50%); }.he-product-accordions summary span::after { transform:translate(-50%,-50%) rotate(90deg); }.he-product-accordions details[open] summary span { background:var(--green); }.he-product-accordions details[open] summary span::before,.he-product-accordions details[open] summary span::after { background:#fff; }.he-product-accordions details[open] summary span::after { transform:translate(-50%,-50%); }.he-product-accordions details > div { padding:0 0 1.5rem; color:var(--muted); line-height:1.7; }.he-product-accordions details > div > :first-child { margin-top:0; }.he-product-accordions details > div > :last-child { margin-bottom:0; }.he-product-attributes table { width:100%; border-collapse:collapse; }.he-product-attributes th,.he-product-attributes td { padding:.6rem 0; border-bottom:1px solid var(--line); text-align:left; }.he-product-attributes th { width:40%; color:var(--ink); }
.he-product-attributes { margin-top:1.5rem; padding-top:1.25rem; border-top:1px solid var(--line); }.he-product-attributes h3 { margin:0 0 .75rem; color:var(--ink); font-size:1rem; }
.he-product-additional { width:100%; max-width:100rem; margin:clamp(3rem,7vw,6rem) auto 0; padding:clamp(1.5rem,4vw,3rem); border:1px solid var(--line); border-radius:1.5rem; background:var(--soft); }.he-product-additional-header { max-width:48rem; margin-bottom:2rem; }.he-product-additional-header .he-product-kicker { margin-bottom:.65rem; }.he-product-additional-header h2 { margin:0; color:var(--ink); font-size:clamp(1.8rem,3vw,2.75rem); letter-spacing:-.045em; line-height:1.08; }.he-product-additional-header > p:last-child { margin:.8rem 0 0; color:var(--muted); line-height:1.65; }
.he-product-information-tabs { overflow:hidden; border:1px solid rgba(49,95,87,.18); border-radius:1.15rem; background:#fff; box-shadow:0 1rem 2.5rem rgba(20,50,44,.055); }.he-product-information-nav { display:flex; gap:.35rem; overflow-x:auto; padding:.6rem; border-bottom:1px solid var(--line); background:#f8faf6; scrollbar-width:thin; }.he-product-information-nav button,.he-product-information-nav button:hover,.he-product-information-nav button:focus,.he-product-information-nav button:active { flex:1 0 auto; min-height:2.85rem !important; margin:0 !important; padding:.65rem 1rem !important; border:1px solid transparent !important; border-radius:.75rem !important; background:transparent !important; color:var(--muted) !important; box-shadow:none !important; font:inherit !important; font-weight:700 !important; line-height:1.2 !important; transform:none !important; cursor:pointer; }.he-product-information-nav button:hover { border-color:rgba(49,95,87,.14) !important; background:#fff !important; color:var(--green) !important; }.he-product-information-nav button[aria-selected="true"] { border-color:var(--green) !important; background:var(--green) !important; color:#fff !important; box-shadow:0 .35rem 1rem rgba(49,95,87,.16) !important; }.he-product-information-nav button.is-caution[aria-selected="true"] { border-color:#8a4b35 !important; background:#8a4b35 !important; }.he-product-information-window { min-height:14rem; padding:clamp(1.35rem,3vw,2.5rem); }.he-product-information-panel[hidden] { display:none !important; }.he-product-information-panel h3 { margin:0 0 1.15rem; color:var(--green); font-size:1.25rem; letter-spacing:-.02em; }.he-product-information-panel ul { display:grid; gap:.8rem; margin:0; padding:0; list-style:none; }.he-product-information-panel li { position:relative; margin:0; padding-left:1.3rem; color:var(--muted); line-height:1.65; }.he-product-information-panel li::before { content:""; position:absolute; top:.68em; left:0; width:.42rem; height:.42rem; border-radius:50%; background:var(--lime); box-shadow:0 0 0 3px rgba(139,172,89,.13); }.he-product-information-panel.is-caution h3 { color:#8a4b35; }.he-product-information-panel.is-caution li::before { background:#b7664f; box-shadow:0 0 0 3px rgba(183,102,79,.12); }
.l4d-product-page :where(a,button,input,select,summary):focus { outline:none !important; }.l4d-product-page :where(a,button,input,select,summary):focus-visible { outline:2px solid var(--lime) !important; outline-offset:3px; }
@media (max-width:900px) { .he-product-layout { grid-template-columns:1fr; gap:2rem; }.he-product-main-image { min-height:min(110vw,36rem); }.he-product-summary { max-width:45rem; } }
@media (max-width:720px) { .he-product-additional { padding:1.25rem; border-radius:1.15rem; }.he-product-information-nav { justify-content:flex-start; }.he-product-information-nav button,.he-product-information-nav button:hover,.he-product-information-nav button:focus,.he-product-information-nav button:active { flex:0 0 auto; }.he-product-information-window { min-height:0; padding:1.25rem; } }
@media (max-width:600px) { .he-product-page { padding:1rem 1rem 4rem; }.he-product-breadcrumbs { overflow:hidden; flex-wrap:nowrap; white-space:nowrap; text-overflow:ellipsis; }.he-product-main-image { min-height:20rem; border-radius:1rem; }.he-product-main-image figure { padding:1.5rem; }.he-product-thumbs { gap:.65rem; padding-right:20vw; scroll-snap-type:x mandatory; }.he-product-thumbs button { flex:0 0 4.5rem; width:4.5rem; height:4.5rem; scroll-snap-align:start; }.he-product-zoom-dialog { width:100vw; height:100vh; margin:0; padding:4.5rem 1rem 1rem; border-radius:0; }.he-product-summary h1 { font-size:2.3rem; }.he-product-cart form.cart { align-items:stretch; }.he-product-cart .quantity { flex:0 0 5rem; }.he-product-cart .single_add_to_cart_button { flex:1; }.he-product-cart .variations_button { width:100%; }.he-product-cart .single_add_to_cart_button { width:100%; } }

/* Live product quantity state: primary action left, adjacent stepper right. */
.he-product-price-row { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; }
.he-product-availability { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem; margin:.6rem 0 0; }
.he-product-availability .he-product-stock,
.he-product-availability .he-product-stock :where(.stock,.in-stock,.out-of-stock) { margin:0 !important; font-size:1rem !important; font-weight:800 !important; line-height:1.2 !important; }
.he-product-availability .he-product-stock.is-orderable { color:#8a5a2b; }
.he-product-availability .he-product-stock,
.he-product-cart-quantity { display:inline-flex; align-items:center; min-height:2.35rem; padding:.45rem .8rem; border:1px solid rgba(49,95,87,.2); border-radius:999px; background:#eef4ed; color:var(--green); font-size:1rem; font-weight:800; line-height:1.2; white-space:nowrap; }
.he-product-cart-quantity { border-color:rgba(138,163,95,.3); background:#f4f7e8; color:#536d31; }
.he-product-cart-quantity[hidden] { display:none !important; }
.he-product-cart .he-product-stepper-form { display:grid; grid-template-columns:minmax(10rem,auto) 3.25rem 3.25rem; justify-content:start; gap:.65rem; }
.he-product-cart .he-product-stepper-form:not(.is-in-cart) { grid-template-columns:minmax(10rem,auto); }
.he-product-cart .he-product-stepper-form > .quantity { display:none !important; }
.he-product-cart .he-product-stepper-form .single_add_to_cart_button { grid-column:1; margin:0 !important; }
.he-product-cart .he-product-stepper-form .he-product-quantity-step { display:grid; place-items:center; width:3.25rem; min-width:3.25rem; height:3.25rem; min-height:3.25rem; margin:0; padding:0; border:1px solid var(--line); border-radius:50%; background:#fff; color:var(--green); box-shadow:none; cursor:pointer; }
.he-product-cart .he-product-stepper-form .he-product-quantity-step.is-decrease { grid-column:2; }
.he-product-cart .he-product-stepper-form .he-product-quantity-step.is-increase { grid-column:3; }
.he-product-cart .he-product-stepper-form .he-product-quantity-step[hidden] { display:none !important; }
.he-product-cart .he-product-stepper-form .he-product-quantity-step svg { width:1.15rem; height:1.15rem; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; }
.he-product-cart .he-product-stepper-form .he-product-quantity-step:hover:not(:disabled) { border-color:var(--green); background:var(--green); color:#fff; }
.he-product-cart .he-product-stepper-form.is-updating { opacity:.65; }
.he-product-notice.is-error { border:1px solid #efc1bc; background:#fff1ef; color:#9f3f38; }
.he-product-cart .he-product-stepper-form.is-at-maximum .single_add_to_cart_button,
.he-product-cart .he-product-stepper-form .he-product-quantity-step:disabled { opacity:.5; cursor:not-allowed; }

@media (max-width:600px) {
  .he-product-cart .he-product-stepper-form,.he-product-cart .he-product-stepper-form.is-in-cart { display:grid; grid-template-columns:minmax(0,1fr) 3.25rem 3.25rem; }
  .he-product-cart .he-product-stepper-form:not(.is-in-cart) { grid-template-columns:minmax(0,1fr); }
  .he-product-cart .he-product-stepper-form .single_add_to_cart_button { width:100%; }
}

/* Synchronized preview and hover magnifier. */
.he-product-zoom-dialog {
  display:grid !important;
  grid-template-rows:auto minmax(0,1fr) auto !important;
  place-items:stretch !important;
  width:min(94vw,82rem) !important;
  height:min(90vh,58rem) !important;
  margin:5vh auto !important;
  padding:0 !important;
  overflow:hidden !important;
}
.he-product-zoom-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  min-height:5rem;
  padding:1rem 1.25rem;
  border-bottom:1px solid var(--line);
  background:#fff;
}
.he-product-zoom-header > div { display:grid; gap:.15rem; }
.he-product-zoom-header strong { color:var(--ink); font-size:1.05rem; }
.he-product-zoom-header span { color:var(--muted); font-size:.82rem; }
.he-product-zoom-header .he-product-zoom-close {
  position:static !important;
  flex:0 0 2.75rem;
}
.he-product-zoom-viewer {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
  min-height:0;
  padding:1rem 1rem .35rem;
  background:var(--soft);
}
.he-product-zoom-pane {
  position:relative;
  display:grid;
  min-width:0;
  min-height:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:1rem;
  background:#fff;
}
.he-product-zoom-label {
  position:absolute;
  z-index:3;
  top:.75rem;
  left:.75rem;
  padding:.4rem .65rem;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:var(--green);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  pointer-events:none;
}
.he-product-zoom-stage,
.he-product-zoom-result {
  position:relative;
  width:100%;
  height:100%;
  min-height:0;
  overflow:hidden;
  background-color:#fff;
  background-repeat:no-repeat;
}
.he-product-zoom-stage {
  display:grid;
  place-items:center;
  cursor:crosshair;
  touch-action:none;
}
.he-product-zoom-stage img {
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  padding:0;
  object-fit:contain;
  transition:none !important;
  transform:none !important;
  pointer-events:none;
}
.he-product-zoom-lens {
  position:absolute;
  z-index:2;
  display:block;
  border:2px solid var(--green);
  border-radius:.65rem;
  background:rgba(49,95,87,.13);
  box-shadow:0 .35rem 1rem rgba(23,53,47,.15);
  pointer-events:none;
}
.he-product-zoom-lens[hidden] { display:none !important; }
.he-product-zoom-result {
  background-position:center;
  background-size:contain;
}
.he-product-zoom-result::after {
  content:"Move over the preview";
  position:absolute;
  left:50%;
  bottom:1rem;
  padding:.4rem .65rem;
  border-radius:999px;
  background:rgba(23,53,47,.82);
  color:#fff;
  font-size:.7rem;
  font-weight:700;
  opacity:.9;
  transform:translateX(-50%);
  transition:opacity .15s ease;
  white-space:nowrap;
}
.he-product-zoom-result.is-active::after { opacity:0; }
.he-product-zoom-dialog .he-product-zoom-nav { top:calc(50% + 2.5rem) !important; }
.he-product-zoom-hint {
  position:static !important;
  display:block;
  margin:0 !important;
  padding:.5rem 1rem .75rem;
  background:var(--soft);
  text-align:center;
  transform:none !important;
}

@media (max-width:760px) {
  .he-product-zoom-dialog {
    width:100vw !important;
    height:100dvh !important;
    margin:0 !important;
    border-radius:0 !important;
  }
  .he-product-zoom-header { min-height:4.4rem; padding:.75rem 1rem; }
  .he-product-zoom-header span { display:none; }
  .he-product-zoom-viewer {
    grid-template-columns:1fr;
    grid-template-rows:minmax(0,1fr) minmax(10rem,.7fr);
    gap:.65rem;
    padding:.65rem;
  }
  .he-product-zoom-pane { border-radius:.8rem; }
  .he-product-zoom-dialog .he-product-zoom-nav { top:45% !important; width:2.65rem; height:2.65rem; }
  .he-product-zoom-dialog .he-product-zoom-nav.is-previous { left:.85rem; }
  .he-product-zoom-dialog .he-product-zoom-nav.is-next { right:.85rem; }
  .he-product-zoom-hint { font-size:.68rem; }
}

/* Shared responsive guardrails: contain unpredictable CMS content. */
.he-product-offers { max-width:100rem; margin:clamp(3rem,7vw,6rem) auto 0; }
.he-product-offers-heading { max-width:50rem; margin-bottom:2rem; }
.he-product-offers-heading h2 { margin:0; font-size:clamp(1.9rem,3.4vw,3.25rem); letter-spacing:-.05em; line-height:1.1; }
.he-product-offers-heading > p:last-child { margin:.9rem 0 0; color:var(--muted); line-height:1.65; }
.he-product-offers-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(13rem,16rem)); gap:1.5rem; }
.he-product-offer-card { display:flex; flex-direction:column; min-width:0; }
.he-product-offer-image { position:relative; display:grid; place-items:center; aspect-ratio:.92; overflow:hidden; border:1px solid var(--line); border-radius:1.25rem; background:var(--soft); }
.he-product-offer-image img { width:100%; height:100%; padding:1.5rem; object-fit:contain; }
.he-product-offer-image > span:not(.he-product-offer-badge) { padding:1rem; color:var(--muted); font-size:.875rem; }
.he-product-offer-badge { position:absolute; z-index:1; top:1rem; left:1rem; padding:.4rem .65rem; border-radius:999px; background:#fff; color:var(--green); font-size:.7rem; font-weight:700; }
.he-product-offer-body { display:flex; flex:1; flex-direction:column; min-width:0; padding:.9rem .15rem 0; }
.he-product-offer-category { margin:0 0 .6rem; color:var(--muted); font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; }
.he-product-offer-body h3 { margin:0 0 1rem; color:var(--ink); font-size:1.125rem; font-weight:600; line-height:1.4; }
.he-product-offer-stock { align-self:flex-start; margin:auto 0 .75rem; padding:.3rem .6rem; border:1px solid var(--line); border-radius:999px; color:var(--green); font-size:.75rem; line-height:1.4; }
.he-product-offer-price { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:.4rem; margin-bottom:.75rem; padding-top:.75rem; border-top:1px solid var(--line); }
.he-product-offer-price strong { font-size:1.125rem; }
.he-product-offer-price span { color:var(--muted); font-size:.72rem; }
.he-product-offer-controls { display:flex; gap:.4rem; }
.he-product-offer-controls button,.he-product-offer-link { display:inline-flex; align-items:center; justify-content:center; min-height:2.7rem; margin:0; padding:.55rem .75rem; border:1px solid var(--green); border-radius:999px; background:var(--green); color:#fff; box-shadow:none; font:inherit; font-size:.8rem; font-weight:700; line-height:1.3; cursor:pointer; }
.he-product-offer-add { flex:1; min-width:0; }
.he-product-offer-controls .he-product-offer-step { flex:0 0 2.7rem; width:2.7rem; padding:0; background:#fff; color:var(--green); font-size:1.3rem; }
.he-product-offer-controls button:hover:not(:disabled),.he-product-offer-link:hover { background:var(--green-dark); color:#fff; }
.he-product-offer-controls button:disabled { opacity:.55; cursor:wait; }
.he-product-offer-message { margin:.65rem 0 0; color:#8a4b35; font-size:.85rem; line-height:1.5; }
@media(max-width:600px) { .he-product-offers-grid { grid-template-columns:minmax(0,1fr); gap:2rem; }.he-product-offer-card { max-width:22rem; } }
.he-combo-contents { display:grid; gap:1.25rem; margin:0; padding:0; list-style:none; }
.he-product-layout > * { min-width:0; }
.l4d-product-page .he-product-stock { max-width:100%; white-space:normal; }
.he-combo-contents > li { min-width:0; padding:1rem; border:1px solid var(--line); border-radius:.85rem; background:var(--soft); }
.he-combo-component-heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:.5rem 1rem; }
.he-combo-component-heading h3 { flex:1 1 12rem; min-width:0; margin:0; color:var(--ink); font-size:1rem; line-height:1.5; }
.he-combo-component-heading h3 a { text-decoration:underline; text-underline-offset:.2em; }
.he-combo-component-quantity { color:var(--green); font-size:.875rem; font-weight:700; white-space:nowrap; }
.he-product-accordions .he-combo-component-information { margin-top:.65rem; border:0; }
.he-product-accordions .he-combo-component-information summary { gap:1rem; min-height:3rem; font-size:.875rem; }
.he-combo-component-information summary span { flex:0 0 1.5rem; }
.he-product-accordions .he-combo-component-information > div { padding-bottom:0; font-size:.9375rem; }
.he-combo-component-information dt { margin-top:1rem; color:var(--ink); font-weight:700; }
.he-combo-component-information dd { margin:.35rem 0 0; }
.he-combo-fulfilment-note { margin:1rem 0 0; font-size:.875rem; }
.l4d-product-page { min-width:0; max-width:100%; overflow-wrap:anywhere; }
.l4d-product-page :where(img,video,canvas,iframe) { max-width:100%; }
.l4d-product-page :where(input,select,textarea) { max-width:100%; }
