/* Lenis smooth-scroll base rules (was lenis.css, merged to save a render-blocking request) */
html.lenis,
html.lenis body {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

/* InspireBio site styles · DataByte (data-byte.ro): components, interactions and theme on top of the page styles. */
html { scroll-behavior: smooth; }
section[id] { scroll-margin-top: 80px; }

/* Service rows: hover background + icon, as in the original */
.db-140s9at [data-db-name="List Item"],
.db-140s9at [data-db-name="List Item - Phone"] { transition: background-color .4s cubic-bezier(.16,1,.3,1); }
.db-140s9at [data-db-name="List Item"]:hover,
.db-140s9at [data-db-name="List Item - Phone"]:hover { background-color: var(--token-3651865b-045a-4b5d-9091-016a2db394ee, rgb(247, 236, 223)) !important; }

/* FAQ: closed items now hold their (clipped) answer; keep the question pinned to the top */
.db-sJvOf.db-jygz26 { justify-content: flex-start; }

/* Buttons and cards lift slightly on hover */
a[data-highlight="true"], button[data-reset="button"] { transition: transform .3s cubic-bezier(.16,1,.3,1), filter .3s; }
a[data-highlight="true"]:hover, button[data-reset="button"]:hover { filter: brightness(1.04); }
.db--slideshow-controls button { transition: transform .2s; }
.db--slideshow-controls button:hover { transform: scale(1.08) !important; }

.flash-toast {
    position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%); z-index: 100;
    padding: 14px 22px; border-radius: 30px; max-width: calc(100% - 32px);
    background: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, rgb(99, 59, 44)); color: #fff;
    font: 500 15px/1.4 "Inter", sans-serif; box-shadow: 0 10px 30px rgba(0,0,0,.15);
}
.flash-toast-error { background: #a8322d; }

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    [data-reveal] { opacity: 1 !important; transform: none !important; }
}

/* Product grid (replaces the treatments accordion on home) */
.product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; width: 100%; }
@media (max-width: 1199.98px) { .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 809.98px) { .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } }
.product-card {
    position: relative; display: flex; flex-direction: column; gap: 8px; padding: 16px;
    background: #fff;
    border: 1px solid rgba(47, 74, 51, .08); border-radius: 24px; box-shadow: 0 2px 10px rgba(47, 74, 51, .05);
    font-family: "General Sans", "Inter", sans-serif; color: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33);
    transition: box-shadow .4s cubic-bezier(.16,1,.3,1);
}
.product-card:hover { box-shadow: 0 14px 40px rgba(47, 74, 51, .12); }
.product-badge {
    position: absolute; top: 0; right: 0; z-index: 1; padding: 6px 14px; border-radius: 0 24px 0 16px;
    background: var(--token-6269f19c-7537-4cd5-9888-8692b678175f, #4F7A32); color: #fff; font-size: 13px; font-weight: 500;
}
.product-fav {
    position: absolute; top: 16px; left: 16px; z-index: 1; display: grid; place-items: center; width: 40px; height: 40px;
    border: 0; border-radius: 50%; cursor: pointer; background: var(--token-0fa44313-b7ac-457e-a36b-815c09cb8dc5, rgba(79, 122, 50, .1));
}
.product-fav svg { fill: none; stroke: currentColor; stroke-width: 1.8; color: inherit; transition: fill .2s; }
.product-fav[aria-pressed="true"] svg { fill: currentColor; }
.product-img { aspect-ratio: 1; margin: 0 -4px 6px; border-radius: 16px; overflow: hidden; background: #fff; }
.product-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.16,1,.3,1); }
.product-card:hover .product-img img { transform: scale(1.05); }
.product-name {
    margin: 0; font-size: 16px; font-weight: 500; line-height: 1.4; color: var(--token-6cadf31f-fcb8-4330-be75-d34823f38282, #1F3322);
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; min-height: 4.2em;
}
.product-stock { margin: 0; font-size: 14px; color: #4a7a3d; }
.product-rating { display: flex; align-items: center; gap: 6px; margin: 0; font-size: 14px; color: var(--token-c263a2c2-a279-4a64-9f0e-76e1a778c404, #5A5E55); }
.product-stars {
    font-size: 17px; letter-spacing: 1px;
    background: linear-gradient(90deg, #d9a441 var(--r), rgba(47, 74, 51, .2) var(--r)); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.product-prices { margin-top: auto; padding-top: 6px; }
.product-old { margin: 0; font-size: 15px; color: var(--token-c263a2c2-a279-4a64-9f0e-76e1a778c404, #5A5E55); }
.product-off { margin-left: 4px; padding: 2px 8px; border-radius: 20px; background: #E3EFD3; color: #2F4A33; font-size: 13px; font-weight: 500; }
.product-price { margin: 0; font-family: "Hedvig Letters Serif", serif; font-size: 26px; line-height: 1.2; color: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33); }
.product-old sup, .product-price sup { font-size: .6em; }
.product-cart {
    margin-top: 6px; padding: 12px 16px; border: 0; border-radius: 30px; cursor: pointer;
    background: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33); color: #fff; font: 500 15px/1.2 "General Sans", "Inter", sans-serif;
    transition: background-color .3s;
}
.product-cart:hover { background: var(--token-6269f19c-7537-4cd5-9888-8692b678175f, #4F7A32); }
.product-fav:focus-visible, .product-cart:focus-visible { outline: 2px solid #4F7A32; outline-offset: 2px; }
@media (max-width: 809.98px) {
    .product-card { padding: 10px; border-radius: 18px; }
    .product-fav { top: 10px; left: 10px; width: 34px; height: 34px; }
    .product-badge { border-radius: 0 18px 0 12px; font-size: 12px; padding: 4px 10px; }
    .product-name { font-size: 14px; }
    .product-price { font-size: 21px; }
}
.products-more {
    align-self: center; display: inline-flex; gap: 8px; padding: 14px 28px; border-radius: 30px; text-decoration: none;
    border: 1px solid var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33); color: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33);
    font: 500 16px/1.2 "General Sans", "Inter", sans-serif; transition: background-color .3s, color .3s;
}
.products-more:hover { background: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33); color: #fff; }
.products-more span { transition: transform .3s; }
.products-more:hover span { transform: translateX(4px); }
#products { padding-top: 160px; }
@media (max-width: 809.98px) { #products { padding-top: 120px; } }

/* Bento before/after slider */
.before-after { position: relative; width: 100%; aspect-ratio: 420 / 563; overflow: hidden; border-radius: 30px; background: var(--token-3651865b-045a-4b5d-9091-016a2db394ee, #F2EEE2); }
.before-after img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.before-after-top { position: absolute; inset: 0; z-index: 1; clip-path: inset(0 0 0 var(--pos)); }
.before-after-top::before { content: ""; position: absolute; top: 0; bottom: 0; left: var(--pos); width: 1px; background: rgba(255, 255, 255, .6); z-index: 1; }
.before-after-label { position: absolute; top: 24px; left: 24px; z-index: 2; padding: 2px 16px; border-radius: 6px; background: rgba(255, 255, 255, .48); color: #000; font: 500 14px/28px "Inter", sans-serif; pointer-events: none; }
.before-after-label-after { left: auto; right: 24px; }
.before-after-handle {
    position: absolute; top: 50%; left: var(--pos); z-index: 2; display: grid; place-items: center; width: 64px; height: 64px; margin: -32px 0 0 -32px;
    border-radius: 50%; background: rgba(255, 255, 255, .4); border: 1px solid rgba(255, 255, 255, .24); backdrop-filter: blur(6px); pointer-events: none;
}
.before-after-handle svg { fill: none; stroke: #1F3322; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.before-after input { position: absolute; inset: 0; z-index: 3; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; }
.before-after input:focus-visible ~ .before-after-handle { outline: 2px solid #fff; outline-offset: 3px; }

/* Products page: filter sidebar */
.shop-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 30px; align-items: start; width: 100%; font-family: "General Sans", "Inter", sans-serif; color: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33); }
.shop-layout .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.shop-filters {
    position: sticky; top: 100px; padding: 20px; border-radius: 24px;
    background: var(--token-a06e5ec6-b00c-47cf-9a61-93cf95c1fb9a, #FBF7EF); border: 1px solid var(--token-748604d8-37ca-47eb-bacc-add2beac67b8, rgba(47, 74, 51, .1));
}
.shop-filters summary { display: none; }
.shop-filters form { display: flex; flex-direction: column; gap: 22px; }
.shop-filters fieldset { margin: 0; padding: 0 0 20px; border: 0; border-bottom: 1px solid var(--token-748604d8-37ca-47eb-bacc-add2beac67b8, rgba(47, 74, 51, .1)); display: flex; flex-direction: column; gap: 10px; }
.shop-filters legend { padding: 0; margin-bottom: 12px; font-family: "Hedvig Letters Serif", serif; font-size: 20px; }
.shop-check { display: flex; align-items: center; gap: 10px; font-size: 15px; cursor: pointer; color: var(--token-6cadf31f-fcb8-4330-be75-d34823f38282, #1F3322); }
.shop-check input { width: 18px; height: 18px; margin: 0; accent-color: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33); cursor: pointer; }
.shop-check small { margin-left: auto; font-size: 13px; color: var(--token-c263a2c2-a279-4a64-9f0e-76e1a778c404, #5A5E55); }
.shop-star { color: #d9a441; }
.shop-price { display: flex; align-items: center; gap: 8px; }
.shop-price input {
    width: 100%; min-width: 0; padding: 10px 12px; border-radius: 12px; font: inherit; font-size: 15px; color: inherit;
    border: 1px solid var(--token-748604d8-37ca-47eb-bacc-add2beac67b8, rgba(47, 74, 51, .1)); background: #fff;
}
.shop-price input:focus, .shop-toolbar select:focus { outline: 2px solid #4F7A32; outline-offset: 1px; }
.shop-filters .product-cart { margin-top: 0; }
.shop-reset { text-align: center; font-size: 14px; color: inherit; }
.shop-main { display: flex; flex-direction: column; gap: 20px; }
.shop-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; font-size: 15px; }
.shop-toolbar p { margin: 0; color: var(--token-c263a2c2-a279-4a64-9f0e-76e1a778c404, #5A5E55); }
.shop-toolbar label { display: flex; align-items: center; gap: 8px; }
.shop-toolbar select {
    padding: 8px 14px; border-radius: 30px; font: inherit; color: inherit; cursor: pointer;
    border: 1px solid var(--token-748604d8-37ca-47eb-bacc-add2beac67b8, rgba(47, 74, 51, .1)); background: var(--token-a06e5ec6-b00c-47cf-9a61-93cf95c1fb9a, #FBF7EF);
}
.shop-empty { margin: 0; padding: 40px; text-align: center; border-radius: 24px; background: var(--token-a06e5ec6-b00c-47cf-9a61-93cf95c1fb9a, #FBF7EF); }
.shop-empty a { color: inherit; }
@media (max-width: 1199.98px) { .shop-layout .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 809.98px) {
    .shop-layout { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .shop-filters { position: static; padding: 0; }
    .shop-filters summary { display: block; padding: 14px 20px; font-weight: 500; cursor: pointer; }
    .shop-filters form { padding: 0 20px 20px; }
}

/* Product cards link to their page: the title link covers the card, buttons stay clickable above it */
.product-name a { color: inherit; text-decoration: none; }
.product-name a::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.product-fav, .product-cart, .product-badge { position: relative; z-index: 2; }
.product-fav, .product-badge { position: absolute; }
.product-name a:focus-visible { outline: none; }
.product-card:has(.product-name a:focus-visible) { outline: 2px solid #4F7A32; outline-offset: 2px; }

/* Product page */
.pd {
    width: 100%; max-width: 1460px; margin: 0 auto; padding: 150px 30px 40px; box-sizing: border-box;
    font-family: "General Sans", "Inter", sans-serif; color: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33);
}
.pd-crumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; font-size: 14px; color: var(--token-c263a2c2-a279-4a64-9f0e-76e1a778c404, #5A5E55); }
.pd-crumbs a { color: inherit; text-decoration: none; }
.pd-crumbs a:hover { color: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33); }
.pd-crumbs [aria-current] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 40ch; }
.pd-layout { display: grid; grid-template-columns: minmax(0, 1fr) 380px; grid-template-areas: "top buy" "body buy"; gap: 30px 50px; align-items: start; }
.pd-top { grid-area: top; }
.pd-body { grid-area: body; }
.pd-buy { grid-area: buy; position: sticky; top: 110px; }
.pd-gallery { display: flex; flex-direction: column; gap: 12px; margin-bottom: 30px; }
.pd-main-img { position: relative; aspect-ratio: 4 / 3; max-height: 640px; border-radius: 30px; overflow: hidden; background: #fff; border: 1px solid rgba(47, 74, 51, .08); }
/* Product photos are packshots (white, transparent or coloured squares): show the whole product, never crop it */
.pd-main-img img { width: 100%; height: 100%; object-fit: contain; padding: 12px; }
.pd-main-img .product-badge { border-radius: 0 30px 0 16px; }
.pd-thumbs { display: flex; gap: 10px; }
.pd-thumb { width: 80px; height: 80px; padding: 0; border: 2px solid rgba(47, 74, 51, .1); border-radius: 16px; overflow: hidden; cursor: pointer; background: #fff; }
.pd-thumb img { width: 100%; height: 100%; object-fit: contain; padding: 4px; }
.pd-thumb[aria-pressed="true"] { border-color: var(--token-6269f19c-7537-4cd5-9888-8692b678175f, #4F7A32); }
.pd-eyebrow { margin: 0 0 6px; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--token-6269f19c-7537-4cd5-9888-8692b678175f, #4F7A32); }
.pd-title { margin: 0; font: 400 44px/1.15 "Hedvig Letters Serif", serif; letter-spacing: -.01em; }
.pd-sub { margin: 12px 0 0; font-size: 17px; color: var(--token-c263a2c2-a279-4a64-9f0e-76e1a778c404, #5A5E55); }
.pd-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin-top: 16px; }
.pd-share {
    display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px; border-radius: 30px; cursor: pointer; font: inherit; font-size: 14px; color: inherit;
    border: 1px solid var(--token-748604d8-37ca-47eb-bacc-add2beac67b8, rgba(47, 74, 51, .1)); background: transparent;
}
.pd-share svg { fill: none; stroke: currentColor; stroke-width: 1.8; }
.pd-specs, .pd-highlights { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: 30px 0 0; border-radius: 20px; overflow: hidden; background: var(--token-748604d8-37ca-47eb-bacc-add2beac67b8, rgba(47, 74, 51, .1)); border: 1px solid var(--token-748604d8-37ca-47eb-bacc-add2beac67b8, rgba(47, 74, 51, .1)); }
.pd-specs div, .pd-highlights div { padding: 16px 18px; background: var(--token-a06e5ec6-b00c-47cf-9a61-93cf95c1fb9a, #FBF7EF); }
.pd-specs dt, .pd-highlights dt { font-size: 13px; color: var(--token-c263a2c2-a279-4a64-9f0e-76e1a778c404, #5A5E55); }
.pd-specs dd, .pd-highlights dd { margin: 4px 0 0; font-size: 16px; font-weight: 500; color: var(--token-6cadf31f-fcb8-4330-be75-d34823f38282, #1F3322); }
.pd-highlights { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 20px; }
.pd-highlights dd { font: 400 22px/1.2 "Hedvig Letters Serif", serif; color: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33); }
.pd-buy-card {
    display: flex; flex-direction: column; gap: 10px; padding: 26px; border-radius: 30px;
    background: var(--token-a06e5ec6-b00c-47cf-9a61-93cf95c1fb9a, #FBF7EF); border: 1px solid var(--token-748604d8-37ca-47eb-bacc-add2beac67b8, rgba(47, 74, 51, .1));
}
.pd-price { font-size: 38px; }
.pd-qty { display: flex; align-items: center; width: max-content; margin-top: 6px; border-radius: 30px; border: 1px solid var(--token-748604d8-37ca-47eb-bacc-add2beac67b8, rgba(47, 74, 51, .1)); background: #fff; }
.pd-qty button { width: 42px; height: 42px; border: 0; background: none; font-size: 20px; color: inherit; cursor: pointer; }
.pd-qty input { width: 40px; border: 0; text-align: center; font: inherit; font-size: 16px; color: inherit; background: none; -moz-appearance: textfield; }
.pd-qty input::-webkit-inner-spin-button { -webkit-appearance: none; }
.pd-consult { align-self: stretch; justify-content: center; }
.pd-trust { margin: 10px 0 0; padding: 14px 0 0; list-style: none; display: flex; flex-direction: column; gap: 8px; font-size: 14px; border-top: 1px solid var(--token-748604d8-37ca-47eb-bacc-add2beac67b8, rgba(47, 74, 51, .1)); }
.pd-trust li::before, .pd-checks li::before { content: "✓"; margin-right: 10px; color: var(--token-6269f19c-7537-4cd5-9888-8692b678175f, #4F7A32); font-weight: 600; }
.pd-tabs {
    position: sticky; top: 104px; z-index: 3; display: flex; gap: 6px; padding: 10px 0; overflow-x: auto; transition: top .5s cubic-bezier(.16,1,.3,1);
    background: var(--token-a06e5ec6-b00c-47cf-9a61-93cf95c1fb9a, #FBF7EF); border-bottom: 1px solid var(--token-748604d8-37ca-47eb-bacc-add2beac67b8, rgba(47, 74, 51, .1));
}
.pd-tabs a { padding: 8px 16px; border-radius: 30px; white-space: nowrap; font-size: 15px; color: inherit; text-decoration: none; transition: background-color .3s; }
.pd-tabs a:hover { background: var(--token-0fa44313-b7ac-457e-a36b-815c09cb8dc5, rgba(79, 122, 50, .1)); }
.pd-block { padding: 36px 0; scroll-margin-top: 70px; border-bottom: 1px solid var(--token-748604d8-37ca-47eb-bacc-add2beac67b8, rgba(47, 74, 51, .1)); }
.pd-block:last-child { border-bottom: 0; }
.pd-block h2 { margin: 0 0 16px; font: 400 30px/1.2 "Hedvig Letters Serif", serif; }
.pd-block > p { margin: 0; font-size: 17px; line-height: 1.65; color: var(--token-6cadf31f-fcb8-4330-be75-d34823f38282, #1F3322); }
.pd-checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 30px; margin: 0; padding: 0; list-style: none; font-size: 16px; color: var(--token-6cadf31f-fcb8-4330-be75-d34823f38282, #1F3322); }
.pd-faq { border-bottom: 1px solid var(--token-748604d8-37ca-47eb-bacc-add2beac67b8, rgba(47, 74, 51, .1)); }
.pd-faq summary { display: flex; justify-content: space-between; padding: 18px 0; font-size: 17px; font-weight: 500; cursor: pointer; list-style: none; }
.pd-faq summary::-webkit-details-marker { display: none; }
.pd-faq summary::after { content: "+"; font-size: 22px; line-height: 1; transition: transform .3s; }
.pd-faq[open] summary::after { transform: rotate(45deg); }
.pd-faq p { margin: 0 0 18px; font-size: 16px; line-height: 1.6; color: var(--token-c263a2c2-a279-4a64-9f0e-76e1a778c404, #5A5E55); }
#similar { padding-top: 40px; }
@media (max-width: 1199.98px) {
    .pd-layout { grid-template-columns: minmax(0, 1fr) 320px; gap: 30px; }
    .pd-specs, .pd-highlights { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 809.98px) {
    .pd { padding: 110px 20px 20px; }
    .pd-layout { grid-template-columns: minmax(0, 1fr); grid-template-areas: "top" "buy" "body"; gap: 24px; }
    .pd-buy { position: static; }
    .pd-title { font-size: 30px; }
    .pd-main-img { aspect-ratio: 1; border-radius: 20px; }
    .pd-main-img img { padding: 14px; }
    .pd-thumb { width: 64px; height: 64px; }
    .pd-checks { grid-template-columns: minmax(0, 1fr); }
}
.header-hidden .pd-tabs { top: 0; }
.pd-block { scroll-margin-top: 170px; }
.pd-tabs { scrollbar-width: none; }
.pd-tabs::-webkit-scrollbar { display: none; }

/* ---------- Conversion: bundles, order buttons, sticky bar ---------- */
.bundles { display: flex; flex-direction: column; gap: 8px; margin: 6px 0; }
.bundle {
    position: relative; display: grid; grid-template-columns: auto 44px minmax(0, 1fr) auto; align-items: center; gap: 10px;
    padding: 10px 12px; border-radius: 16px; cursor: pointer; background: #fff;
    border: 1px solid var(--token-748604d8-37ca-47eb-bacc-add2beac67b8, rgba(47, 74, 51, .1));
    transition: border-color .25s, background-color .25s, box-shadow .25s;
}
.bundle:hover { border-color: var(--token-b4c7898c-246e-4653-9319-91d2c9b9930d, rgba(79, 122, 50, .6)); }
.bundle:has(input:checked) {
    border-color: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33); background: var(--token-3651865b-045a-4b5d-9091-016a2db394ee, #F2EEE2);
    box-shadow: 0 0 0 1px var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33);
}
.bundle:has(input:focus-visible) { outline: 2px solid #4F7A32; outline-offset: 2px; }
.bundle input { width: 18px; height: 18px; margin: 0; accent-color: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33); }
.bundle img { width: 44px; height: 44px; border-radius: 10px; object-fit: cover; }
.bundle-info { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; min-width: 0; }
.bundle-info strong { font-size: 15px; font-weight: 500; color: var(--token-6cadf31f-fcb8-4330-be75-d34823f38282, #1F3322); }
.bundle-tag { padding: 2px 8px; border-radius: 20px; font-size: 12px; font-weight: 500; color: #fff; background: var(--token-6269f19c-7537-4cd5-9888-8692b678175f, #4F7A32); }
.bundle-price { display: flex; flex-direction: column; align-items: flex-end; font-size: 15px; white-space: nowrap; }
.bundle-price s { font-size: 12px; color: var(--token-c263a2c2-a279-4a64-9f0e-76e1a778c404, #5A5E55); }
.bundle-price b { font-weight: 600; color: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33); }

.pd-actions { display: flex; flex-direction: column; gap: 8px; }
.pd-order-btn {
    position: relative; overflow: hidden; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 14px 18px;
    border: 0; border-radius: 30px; cursor: pointer; color: #fff; font: 600 17px/1.2 "General Sans", "Inter", sans-serif;
    background: linear-gradient(135deg, #4F7A32, #2F4A33); box-shadow: 0 8px 24px rgba(47, 74, 51, .25);
    transition: transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s;
}
.pd-order-btn small { font-size: 12px; font-weight: 400; opacity: .85; }
.pd-order-btn:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(47, 74, 51, .32); }
.pd-order-btn::after, .qo-submit::after {
    content: ""; position: absolute; top: 0; left: -60%; width: 40%; height: 100%; pointer-events: none;
    background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .35), transparent); transform: skewX(-20deg);
    animation: shine 3.2s cubic-bezier(.16,1,.3,1) infinite;
}
@keyframes shine { 0%, 55% { left: -60%; } 100% { left: 130%; } }
.pd-cart-btn { margin-top: 0; background: transparent; color: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33); box-shadow: inset 0 0 0 1px currentColor; }
.pd-cart-btn:hover { background: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33); color: #fff; }

.pd-sticky {
    position: fixed; left: 50%; bottom: 16px; z-index: 50; display: flex; align-items: center; gap: 12px;
    width: min(760px, calc(100% - 24px)); padding: 10px 10px 10px 12px; box-sizing: border-box; border-radius: 24px;
    background: rgba(251, 247, 239, .92); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
    border: 1px solid var(--token-748604d8-37ca-47eb-bacc-add2beac67b8, rgba(47, 74, 51, .1)); box-shadow: 0 12px 40px rgba(31, 51, 34, .15);
    transform: translate(-50%, 140%); transition: transform .5s cubic-bezier(.16,1,.3,1);
    font-family: "General Sans", "Inter", sans-serif; color: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33);
}
.pd-sticky.is-visible { transform: translate(-50%, 0); }
.pd-sticky img { width: 48px; height: 48px; border-radius: 12px; object-fit: cover; }
.pd-sticky-info { flex: 1; min-width: 0; }
.pd-sticky-info p { margin: 0; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--token-6cadf31f-fcb8-4330-be75-d34823f38282, #1F3322); }
.pd-sticky-info .pd-sticky-price { font: 400 20px/1.2 "Hedvig Letters Serif", serif; color: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33); }
.pd-sticky .pd-cart-btn, .pd-sticky .pd-order-btn { padding: 12px 20px; font-size: 15px; white-space: nowrap; }
@media (max-width: 809.98px) {
    .pd-sticky { bottom: 0; width: 100%; border-radius: 20px 20px 0 0; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); }
    .pd-sticky img, .pd-sticky .pd-cart-btn { display: none; }
    .pd-sticky .pd-order-btn { flex: none; }
}

/* ---------- Quick order modal ---------- */
.qo {
    width: min(560px, calc(100% - 24px)); max-height: calc(100dvh - 32px); padding: 0; border: 0; border-radius: 28px; overflow: auto; overscroll-behavior: contain;
    background: var(--token-1aa7b087-662a-4429-8851-f3e43b7c8356, #fffdf9); color: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33);
    font-family: "General Sans", "Inter", sans-serif; box-shadow: 0 30px 80px rgba(31, 51, 34, .3);
}
.qo::backdrop { background: rgba(31, 51, 34, .45); backdrop-filter: blur(4px); }
.qo[open] { animation: qo-in .45s cubic-bezier(.16,1,.3,1); }
@keyframes qo-in { from { opacity: 0; transform: translateY(30px) scale(.97); } }
html.qo-open { overflow: hidden; }
.qo-form { display: flex; flex-direction: column; gap: 12px; padding: 24px; }
.qo-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.qo-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.qo-head h2, .exit-offer h2 { margin: 0; font: 400 30px/1.15 "Hedvig Letters Serif", serif; }
.qo-head p { margin: 4px 0 0; font-size: 14px; color: var(--token-c263a2c2-a279-4a64-9f0e-76e1a778c404, #5A5E55); }
.qo-close {
    flex: none; display: grid; place-items: center; width: 40px; height: 40px; border: 0; border-radius: 50%; cursor: pointer;
    background: var(--token-0fa44313-b7ac-457e-a36b-815c09cb8dc5, rgba(79, 122, 50, .1)); color: inherit;
}
.qo-close svg { fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.qo-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.qo-field {
    display: flex; align-items: center; min-width: 0; border-radius: 14px; overflow: hidden; background: #fff;
    border: 1px solid var(--token-748604d8-37ca-47eb-bacc-add2beac67b8, rgba(47, 74, 51, .15)); transition: border-color .2s, box-shadow .2s;
}
.qo-field:focus-within { border-color: #4F7A32; box-shadow: 0 0 0 3px rgba(79, 122, 50, .15); }
.qo-field:has([aria-invalid="true"]) { border-color: #a8322d; }
.qo-field svg {
    flex: none; width: 46px; height: 46px; padding: 13px; box-sizing: border-box; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linejoin: round;
    background: var(--token-3651865b-045a-4b5d-9091-016a2db394ee, #F2EEE2);
}
.qo-field input, .qo-field select { flex: 1; min-width: 0; height: 46px; padding: 0 12px; border: 0; outline: 0; background: none; font: inherit; font-size: 16px; color: var(--token-6cadf31f-fcb8-4330-be75-d34823f38282, #1F3322); }
.qo-field select:invalid { color: #8a7a70; }
.qo-wide { grid-column: 1 / -1; }
.qo-hint { margin: -2px 0 0; font-size: 13px; color: var(--token-c263a2c2-a279-4a64-9f0e-76e1a778c404, #5A5E55); }
.qo-label { margin: 8px 0 0; font: 400 20px/1.2 "Hedvig Letters Serif", serif; }

/* Order bumps: dashed border that keeps moving ("marching ants") */
.qo-upsells { display: flex; flex-direction: column; gap: 10px; }
.upsell { --c: #6b8a5e; --bg: #eef3ea; position: relative; display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; border-radius: 16px; cursor: pointer; background: var(--bg); transition: transform .2s; }
.upsell-rose { --c: #b5654a; --bg: #f8e9e3; }
.upsell-gold { --c: #a87c2a; --bg: #f6eedb; }
.upsell:hover { transform: translateY(-1px); }
.upsell-ants { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.upsell-ants rect {
    width: calc(100% - 2px); height: calc(100% - 2px); fill: none; stroke: var(--c); stroke-width: 2; stroke-dasharray: 8 6;
    animation: ants .9s linear infinite;
}
@keyframes ants { to { stroke-dashoffset: -14; } }
.upsell:has(input:checked) .upsell-ants rect { stroke-dasharray: none; stroke-width: 2.5; }
.upsell input { flex: none; width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--c); }
.upsell > span { display: flex; flex-direction: column; gap: 2px; }
.upsell strong { font-size: 15px; font-weight: 600; color: var(--token-6cadf31f-fcb8-4330-be75-d34823f38282, #1F3322); }
.upsell-price { font-size: 14px; font-weight: 600; color: var(--c); }
.upsell-price s { margin-left: 4px; font-weight: 400; color: #8a7a70; }
.upsell small { font-size: 12px; color: var(--token-c263a2c2-a279-4a64-9f0e-76e1a778c404, #5A5E55); }

.qo-pay { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.qo-pay-option {
    display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 16px; cursor: pointer; background: #fff;
    border: 1px solid var(--token-748604d8-37ca-47eb-bacc-add2beac67b8, rgba(47, 74, 51, .15)); transition: border-color .2s, background-color .2s;
}
.qo-pay-option:has(input:checked) { border-color: #2F4A33; background: var(--token-3651865b-045a-4b5d-9091-016a2db394ee, #F2EEE2); box-shadow: 0 0 0 1px #2F4A33; }
.qo-pay-option input { margin: 0; accent-color: #2F4A33; }
.qo-pay-option svg { flex: none; width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.qo-pay-option span { display: flex; flex-direction: column; }
.qo-pay-option strong { font-size: 14px; font-weight: 600; }
.qo-pay-option small { font-size: 12px; color: var(--token-c263a2c2-a279-4a64-9f0e-76e1a778c404, #5A5E55); }

.qo-summary { display: flex; flex-direction: column; gap: 8px; margin: 4px 0 0; padding: 16px 18px; border-radius: 18px; background: var(--token-3651865b-045a-4b5d-9091-016a2db394ee, #F2EEE2); font-size: 15px; }
.qo-summary div { display: flex; justify-content: space-between; gap: 12px; }
.qo-summary dd { margin: 0; font-weight: 600; color: var(--token-6cadf31f-fcb8-4330-be75-d34823f38282, #1F3322); }
.qo-discount-row dd { color: #4a7a3d; }
.qo-courier { font-size: 13px; color: var(--token-c263a2c2-a279-4a64-9f0e-76e1a778c404, #5A5E55); }
.qo-courier dd { color: #4F7A32; letter-spacing: .04em; text-transform: uppercase; }
.qo-total { margin-top: 4px; padding-top: 10px; border-top: 1px solid rgba(47, 74, 51, .15); }
.qo-total dt { font: 400 22px/1.2 "Hedvig Letters Serif", serif; }
.qo-total dd { font: 400 24px/1.2 "Hedvig Letters Serif", serif; color: #2F4A33; }
.qo-code { display: flex; gap: 8px; }
.qo-code input { flex: 1; min-width: 0; height: 46px; padding: 0 14px; border-radius: 14px; border: 1px solid rgba(47, 74, 51, .15); font: inherit; font-size: 16px; text-transform: uppercase; background: #fff; }
.qo-code button { padding: 0 22px; border: 0; border-radius: 14px; cursor: pointer; font-family: inherit; font-size: 15px; font-weight: 600; line-height: 1; color: #fff; background: #4F7A32; }
.qo-code-msg { margin: -4px 0 0; min-height: 1em; font-size: 13px; }
.qo-form.has-code .qo-code-msg { color: #4a7a3d; }
.qo-terms { display: flex; gap: 10px; padding: 14px 16px; border-radius: 16px; font-size: 13px; line-height: 1.5; background: rgba(79, 122, 50, .06); border: 1px solid rgba(47, 74, 51, .1); cursor: pointer; }
.qo-terms input { flex: none; width: 18px; height: 18px; margin: 1px 0 0; accent-color: #2F4A33; }
.qo-terms a { color: #4F7A32; }

/* Submit: shine sweep + a truck that idles on the road and drives off on submit (cash), lock for card */
.qo-submit {
    position: relative; overflow: hidden; display: flex; flex-direction: column; align-items: center; gap: 3px; width: 100%; padding: 16px 20px;
    border: 0; border-radius: 20px; cursor: pointer; color: #fff; font-family: "General Sans", "Inter", sans-serif;
    background: linear-gradient(135deg, #4F7A32, #2F4A33 60%, #1F3322); box-shadow: 0 10px 30px rgba(47, 74, 51, .3);
    transition: transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s;
}
.qo-submit:hover { transform: translateY(-2px); box-shadow: 0 14px 36px rgba(47, 74, 51, .38); }
.qo-submit:active { transform: scale(.98); }
.qo-submit-main { display: inline-flex; align-items: center; gap: 8px; font-size: 18px; font-weight: 600; }
.qo-submit small { font-size: 13px; opacity: .85; }
.qo-submit svg { width: 28px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linejoin: round; }
.qo-truck { animation: truck-idle .5s ease-in-out infinite alternate; }
@keyframes truck-idle { to { transform: translateY(-1.5px); } }
.qo-submit:hover .qo-truck { animation: truck-idle .25s ease-in-out infinite alternate; }
.qo-lock { display: none; width: 20px !important; }
.qo-form.is-card .qo-truck { display: none; }
.qo-form.is-card .qo-lock { display: block; }
.qo-form.is-sending .qo-submit { pointer-events: none; }
.qo-form.is-sending .qo-truck { animation: truck-go .9s cubic-bezier(.5,0,.75,0) forwards; }
@keyframes truck-go { 30% { transform: translateX(-6px); } 100% { transform: translateX(420px); } }

/* Exit offer */
.exit-offer { width: min(440px, calc(100% - 24px)); padding: 28px 24px 20px; text-align: center; display: none; }
.exit-offer[open] { display: flex; flex-direction: column; align-items: center; gap: 14px; }
.exit-offer .qo-close { position: absolute; top: 14px; right: 14px; }
.exit-badge { padding: 4px 14px; border-radius: 20px; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #fff; background: #b5654a; }
.exit-offer p { margin: 0; font-size: 15px; color: var(--token-c263a2c2-a279-4a64-9f0e-76e1a778c404, #5A5E55); }
.exit-code { --c: #b5654a; position: relative; width: 100%; padding: 16px; box-sizing: border-box; border-radius: 16px; background: #f8e9e3; display: flex; flex-direction: column; gap: 4px; }
.exit-code small { font-size: 13px; color: #5A5E55; }
.exit-code strong { font: 400 34px/1.1 "Hedvig Letters Serif", serif; letter-spacing: .06em; color: #b5654a; }
.exit-dismiss { border: 0; background: none; cursor: pointer; font: inherit; font-size: 14px; color: #5A5E55; text-decoration: underline; }

@media (max-width: 809.98px) {
    .qo { width: 100%; max-width: 100%; max-height: 94dvh; margin: auto 0 0; border-radius: 24px 24px 0 0; }
    .qo-form { padding: 20px 16px calc(20px + env(safe-area-inset-bottom)); }
    .qo-fields, .qo-pay { grid-template-columns: 1fr; }
    .qo-head h2 { font-size: 26px; }
    .exit-offer { margin: auto; border-radius: 24px; }
}
@media (prefers-reduced-motion: reduce) {
    .upsell-ants rect, .qo-truck, .pd-order-btn::after, .qo-submit::after { animation: none !important; }
}
.qo-summary [hidden] { display: none; }

/* Quick order: header and the order button stay reachable while the form scrolls */
.qo:focus { outline: none; }
.qo-head { position: sticky; top: 0; z-index: 4; margin: -24px -24px 0; padding: 24px 24px 12px; background: var(--token-1aa7b087-662a-4429-8851-f3e43b7c8356, #fffdf9); }
.qo-submit { position: sticky; bottom: 12px; z-index: 4; }
.qo-grab { display: none; }
@media (max-width: 809.98px) {
    .qo { max-height: 90dvh; transition: transform .35s cubic-bezier(.16,1,.3,1); }
    .qo[open] { animation: qo-sheet .5s cubic-bezier(.16,1,.3,1); }
    .qo.is-dragging { transition: none; }
    @keyframes qo-sheet { from { transform: translateY(100%); } }
    .qo-head { top: 0; margin: -20px -16px 0; padding: 8px 16px 10px; border-radius: 24px 24px 0 0; touch-action: none; }
    .qo-grab { display: block; width: 40px; height: 5px; margin: 0 auto 10px; border-radius: 3px; background: rgba(47, 74, 51, .25); }
    .qo-head-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
    .qo-submit { bottom: calc(8px + env(safe-area-inset-bottom)); }
    .exit-offer[open] { animation: qo-in .45s cubic-bezier(.16,1,.3,1); }
}
.qo-head-row { display: contents; }

/* Order now: calm, in the site's own button language (the shine stays on the modal's submit only) */
.pd-order-btn {
    display: inline-flex; flex-direction: row; justify-content: center; align-items: center; gap: 10px; overflow: visible;
    padding: 15px 22px; font: 500 16px/1.2 "General Sans", "Inter", sans-serif; letter-spacing: .01em;
    background: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33); box-shadow: none;
    transition: background-color .3s, transform .3s cubic-bezier(.16,1,.3,1);
}
.pd-order-btn::after { content: none; }
.pd-order-btn:hover { background: var(--token-6cadf31f-fcb8-4330-be75-d34823f38282, #1F3322); box-shadow: none; transform: none; }
.pd-order-btn span { transition: transform .3s cubic-bezier(.16,1,.3,1); }
.pd-order-btn:hover span { transform: translateX(4px); }
.pd-order-btn:focus-visible, .pd-cart-btn:focus-visible { outline: 2px solid #4F7A32; outline-offset: 2px; }
.pd-cart-btn { padding: 14px 22px; font-size: 16px; }
.pd-actions-note { margin: -2px 0 0; text-align: center; font-size: 13px; color: var(--token-c263a2c2-a279-4a64-9f0e-76e1a778c404, #5A5E55); }

/* Sheet header on phones: grab bar centred above the title row */
@media (max-width: 809.98px) {
    .qo .qo-head { display: block; }
    .qo .qo-head-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
}

/* Home: standards badges under the hero */
.badges { width: 100%; max-width: 1460px; margin: -120px auto 0; padding: 0 30px 140px; box-sizing: border-box; position: relative; z-index: 1; }
.badges-list {
    display: flex; justify-content: space-between; gap: 16px; margin: 0; padding: 36px 48px; list-style: none; border-radius: 30px;
    background: var(--token-3651865b-045a-4b5d-9091-016a2db394ee, #F2EEE2);
}
.badge { display: flex; flex-direction: column; align-items: center; gap: 14px; flex: 1; min-width: 0; text-align: center; }
.badge + .badge { border-left: 1px solid var(--token-748604d8-37ca-47eb-bacc-add2beac67b8, rgba(47, 74, 51, .1)); }
.badge-icon {
    display: grid; place-items: center; width: 84px; height: 84px; border-radius: 50%;
    background: var(--token-1aa7b087-662a-4429-8851-f3e43b7c8356, #fffdf9); color: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33);
    box-shadow: inset 0 0 0 1px var(--token-0fa44313-b7ac-457e-a36b-815c09cb8dc5, rgba(79, 122, 50, .15));
    transition: transform .5s cubic-bezier(.16,1,.3,1), background-color .4s, color .4s;
}
.badge-icon svg { width: 48px; height: 48px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.badge-icon .it { stroke-width: 0; }
.badge-icon .it-g { fill: #4f7a52; } .badge-icon .it-w { fill: #fff; stroke: currentColor; stroke-width: .6; } .badge-icon .it-r { fill: #b5473a; }
.badge:hover .badge-icon { transform: translateY(-4px); background: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33); color: #fff; }
.badge-label { max-width: 15ch; font: 500 13px/1.35 "General Sans", "Inter", sans-serif; letter-spacing: .06em; text-transform: uppercase; color: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33); }
@media (max-width: 1199.98px) {
    .badges { margin-top: -60px; padding-bottom: 100px; }
    .badges-list { padding: 28px 20px; }
    .badge-icon { width: 68px; height: 68px; }
    .badge-icon svg { width: 32px; height: 32px; }
    .badge-label { font-size: 11px; }
}
@media (max-width: 809.98px) {
    .badges { margin-top: -40px; padding: 0 10px 70px; }
    .badges-list { flex-wrap: wrap; justify-content: center; gap: 22px 8px; padding: 26px 12px; border-radius: 24px; }
    .badge { flex: 0 0 calc(25% - 8px); }
    .badge + .badge { border-left: 0; }
    .badge-icon { width: 60px; height: 60px; }
    .badge-icon svg { width: 28px; height: 28px; }
    .badge-label { font-size: 10px; letter-spacing: .04em; }
}
/* Badges are the supplied certification artwork (text is inside the images) */
.badge img { display: block; width: 90px; height: auto; transition: transform .5s cubic-bezier(.16,1,.3,1); }
.badge:hover img { transform: translateY(-4px) scale(1.04); }
@media (max-width: 1199.98px) { .badge img { width: 76px; } }
@media (max-width: 809.98px) { .badge img { width: 68px; } }
/* Badges sit directly on the page, no panel or dividers */
.badges-list { background: none; padding: 0; justify-content: center; gap: clamp(16px, 4vw, 64px); }
.badge { flex: none; }
.badge + .badge { border-left: 0; }
@media (max-width: 809.98px) { .badges-list { padding: 0; gap: 14px 10px; } .badge { flex: 0 0 auto; } }

/* Header button reads "Contactează-ne": tighter on phones so the menu button still fits */
@media (max-width: 809.98px) {
    .db-v-ajb8hq p { --db-font-size: 12px !important; font-size: 12px !important; white-space: nowrap; }
    .db-v-ajb8hq { padding: 8px 14px !important; }
    .db-v-ajb8hq > [data-db-name="Box"] { display: none; }
    .db-nycXQ .db-144q1kg { padding-left: 14px !important; padding-right: 14px !important; }
}

/* Blog cards (home + /blog) */
.blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; width: 100%; font-family: "General Sans", "Inter", sans-serif; }
.blog-card {
    position: relative; display: flex; flex-direction: column; overflow: hidden; border-radius: 28px;
    background: var(--token-a06e5ec6-b00c-47cf-9a61-93cf95c1fb9a, #FBF7EF); border: 1px solid var(--token-748604d8-37ca-47eb-bacc-add2beac67b8, rgba(47, 74, 51, .1));
    transition: box-shadow .5s cubic-bezier(.16,1,.3,1), transform .5s cubic-bezier(.16,1,.3,1);
}
.blog-card:hover { box-shadow: 0 18px 50px rgba(47, 74, 51, .14); }
.blog-card-img { position: relative; aspect-ratio: 16 / 11; margin: 10px 10px 0; border-radius: 20px; overflow: hidden; background: var(--token-3651865b-045a-4b5d-9091-016a2db394ee, #F2EEE2); }
.blog-card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.16,1,.3,1); }
.blog-card:hover .blog-card-img img { transform: scale(1.06); }
.blog-card-tag {
    position: absolute; top: 14px; left: 14px; padding: 6px 14px; border-radius: 30px; font-size: 13px; font-weight: 500;
    color: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33); background: rgba(255, 253, 249, .85); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
}
.blog-card-body { display: flex; flex-direction: column; gap: 10px; flex: 1; padding: 20px 22px 24px; }
.blog-card-meta { margin: 0; font-size: 14px; color: var(--token-c263a2c2-a279-4a64-9f0e-76e1a778c404, #5A5E55); }
.blog-card-title { margin: 0; font: 400 25px/1.2 "Hedvig Letters Serif", serif; letter-spacing: -.01em; color: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33); }
.blog-card-title a { color: inherit; text-decoration: none; }
.blog-card-title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.blog-card:has(.blog-card-title a:focus-visible) { outline: 2px solid #4F7A32; outline-offset: 3px; }
.blog-card-title a:focus-visible { outline: none; }
.blog-card-excerpt {
    margin: 0; font-size: 15px; line-height: 1.55; color: var(--token-6cadf31f-fcb8-4330-be75-d34823f38282, #1F3322); opacity: .8;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.blog-card-more { margin-top: auto; padding-top: 6px; font-size: 15px; font-weight: 500; color: var(--token-6269f19c-7537-4cd5-9888-8692b678175f, #4F7A32); }
.blog-card-more span { display: inline-block; transition: transform .3s cubic-bezier(.16,1,.3,1); }
.blog-card:hover .blog-card-more span { transform: translateX(5px); }
/* Latest article on /blog: image left, text right, full row */
.blog-card-featured { grid-column: 1 / -1; flex-direction: row; }
.blog-card-featured .blog-card-img { flex: 1.3; aspect-ratio: 16 / 10; margin: 10px; }
.blog-card-featured .blog-card-body { flex: 1; justify-content: center; padding: 40px 48px 40px 30px; gap: 16px; }
.blog-card-featured .blog-card-title { font-size: 40px; }
.blog-card-featured .blog-card-excerpt { font-size: 17px; -webkit-line-clamp: 4; }
.blog-card-featured .blog-card-more { margin-top: 8px; }
.db-1lt2vo4 > .products-more, section .blog-grid + .products-more { margin-top: 10px; }
@media (max-width: 1199.98px) {
    .blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .blog-card-featured .blog-card-title { font-size: 32px; }
    .blog-card-featured .blog-card-body { padding: 28px; }
}
@media (max-width: 809.98px) {
    .blog-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .blog-card-featured { flex-direction: column; }
    .blog-card-featured .blog-card-img { margin: 10px 10px 0; aspect-ratio: 16 / 11; }
    .blog-card-featured .blog-card-body { padding: 20px 22px 24px; }
    .blog-card-featured .blog-card-title, .blog-card-title { font-size: 23px; }
}
/* Featured post takes 2 of 3 columns so 8 posts fill whole rows (2+1, 3, 3) */
.blog-card-featured { grid-column: span 2; }
.blog-card-featured .blog-card-img { aspect-ratio: auto; min-height: 100%; }
.blog-card-featured .blog-card-body { padding: 32px 36px 32px 20px; }
.blog-card-featured .blog-card-title { font-size: 34px; }
@media (max-width: 1199.98px) { .blog-card-featured { grid-column: 1 / -1; } }
@media (max-width: 809.98px) { .blog-card-featured .blog-card-img { aspect-ratio: 16 / 11; min-height: 0; } }
.blog-card-featured .blog-card-img { min-height: 0; align-self: stretch; margin: 10px; }

/* ---------- Products page (catalog layout) ---------- */
.shop { width: 100%; max-width: 1460px; margin: 0 auto; padding: 140px 30px 100px; box-sizing: border-box; font-family: "General Sans", "Inter", sans-serif; color: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33); }
.shop .pd-crumbs { margin-bottom: 18px; }
.shop-banner {
    display: flex; align-items: center; gap: 16px; margin-bottom: 32px; padding: 16px 18px; border-radius: 22px;
    background: var(--token-a06e5ec6-b00c-47cf-9a61-93cf95c1fb9a, #FBF7EF); border: 1px solid var(--token-748604d8-37ca-47eb-bacc-add2beac67b8, rgba(47, 74, 51, .1));
}
.shop-banner > div { flex: 1; min-width: 0; }
.shop-banner-icon { flex: none; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: var(--token-3651865b-045a-4b5d-9091-016a2db394ee, #F2EEE2); }
.shop-banner-icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linejoin: round; }
.shop-banner-title { margin: 0; font-size: 17px; font-weight: 500; color: var(--token-6cadf31f-fcb8-4330-be75-d34823f38282, #1F3322); }
.shop-banner-sub { margin: 2px 0 0; font-size: 14px; color: var(--token-c263a2c2-a279-4a64-9f0e-76e1a778c404, #5A5E55); }
.shop-banner .products-more { padding: 11px 20px; font-size: 15px; white-space: nowrap; }
.shop-layout { grid-template-columns: 290px minmax(0, 1fr); gap: 36px; }

.shop-filters { padding: 0; overflow: hidden; }
.shop-filters form { gap: 0; }
.shop-filters-head { display: flex; justify-content: space-between; align-items: center; padding: 18px 20px; border-bottom: 1px solid var(--token-748604d8-37ca-47eb-bacc-add2beac67b8, rgba(47, 74, 51, .1)); }
.shop-filters-head p { margin: 0; font: 400 22px/1.2 "Hedvig Letters Serif", serif; }
.shop-filters-head a { font-size: 14px; color: inherit; }
.shop-filters-head a[aria-disabled] { opacity: .4; pointer-events: none; text-decoration: none; }
.shop-filters fieldset { padding: 18px 20px; gap: 0; }
.shop-filters fieldset:last-child { border-bottom: 0; }
.shop-filters legend { float: left; width: 100%; margin-bottom: 12px; font: 500 15px/1.2 "General Sans", "Inter", sans-serif; color: var(--token-6cadf31f-fcb8-4330-be75-d34823f38282, #1F3322); }
.shop-chips { clear: both; display: flex; flex-wrap: wrap; gap: 8px; }
.shop-chip {
    display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 30px; cursor: pointer; font-size: 14px; text-decoration: none;
    color: var(--token-6cadf31f-fcb8-4330-be75-d34823f38282, #1F3322); background: #fff; border: 1px solid var(--token-748604d8-37ca-47eb-bacc-add2beac67b8, rgba(47, 74, 51, .15));
    transition: background-color .25s, color .25s, border-color .25s;
}
.shop-chip:hover { border-color: #4F7A32; }
.shop-chip input { position: absolute; opacity: 0; pointer-events: none; }
.shop-chip small { font-size: 12px; opacity: .6; }
.shop-chip:has(input:checked), .shop-chip[aria-current] { background: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33); border-color: #2F4A33; color: #fff; }
.shop-chip:has(input:focus-visible) { outline: 2px solid #4F7A32; outline-offset: 2px; }
.shop-price { clear: both; }
.shop-price button { flex: none; width: 40px; height: 40px; border: 0; border-radius: 12px; cursor: pointer; font-size: 18px; color: #fff; background: #2F4A33; }
.shop-seg { clear: both; display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; padding: 4px; border-radius: 14px; background: var(--token-3651865b-045a-4b5d-9091-016a2db394ee, #F2EEE2); }
.shop-seg label { cursor: pointer; }
.shop-seg input { position: absolute; opacity: 0; pointer-events: none; }
.shop-seg span { display: block; padding: 9px 8px; border-radius: 10px; text-align: center; font-size: 14px; color: var(--token-c263a2c2-a279-4a64-9f0e-76e1a778c404, #5A5E55); transition: background-color .25s, color .25s, box-shadow .25s; }
.shop-seg input:checked + span { background: #fff; color: var(--token-6cadf31f-fcb8-4330-be75-d34823f38282, #1F3322); box-shadow: 0 2px 8px rgba(47, 74, 51, .1); }
.shop-seg input:focus-visible + span { outline: 2px solid #4F7A32; }

.shop-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; flex-wrap: wrap; }
.shop-head h1 { margin: 0; font: 400 40px/1.15 "Hedvig Letters Serif", serif; letter-spacing: -.01em; }
.shop-head p { margin: 6px 0 0; font-size: 15px; color: var(--token-c263a2c2-a279-4a64-9f0e-76e1a778c404, #5A5E55); }
.shop-tools { display: flex; align-items: center; gap: 10px; }
.shop-tools select {
    height: 44px; padding: 0 38px 0 16px; border-radius: 14px; font: inherit; font-size: 15px; color: inherit; cursor: pointer; appearance: none;
    border: 1px solid var(--token-748604d8-37ca-47eb-bacc-add2beac67b8, rgba(47, 74, 51, .15));
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23633b2c' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center / 16px;
}
.shop-note { display: flex; align-items: flex-start; gap: 10px; margin: 0; padding: 14px 16px; border-radius: 16px; font-size: 14px; line-height: 1.5; background: rgba(79, 122, 50, .08); color: var(--token-6cadf31f-fcb8-4330-be75-d34823f38282, #1F3322); }
.shop-note svg { flex: none; width: 18px; height: 18px; margin-top: 1px; fill: none; stroke: #4F7A32; stroke-width: 1.8; stroke-linecap: round; }
.shop-note a { color: #2F4A33; font-weight: 500; }


@media (max-width: 1199.98px) { .shop-layout { grid-template-columns: 250px minmax(0, 1fr); gap: 24px; } }
@media (max-width: 809.98px) {
    .shop { padding: 110px 16px 60px; }
    .shop-banner { flex-wrap: wrap; }
    .shop-banner .products-more { width: 100%; justify-content: center; }
    .shop-layout { grid-template-columns: minmax(0, 1fr); }
    .shop-filters { border-radius: 20px; }
    .shop-filters-head { display: none; }
    .shop-head h1 { font-size: 30px; }
    .shop-tools { width: 100%; }
    .shop-tools select { flex: 1; }
}
.blog-more { align-self: center; margin: 36px auto 0; display: flex; width: max-content; }
.blog-card[hidden] { display: none; }

/* Announcement bar above the header (scrolls away, the sticky header then takes the top) */
.announce {
    display: flex; justify-content: center; align-items: center; gap: 8px; padding: 9px 16px;
    background: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33); color: var(--token-3651865b-045a-4b5d-9091-016a2db394ee, #F2EEE2);
    font: 400 14px/1.3 "General Sans", "Inter", sans-serif; letter-spacing: .02em; text-align: center;
}
.announce svg { flex: none; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linejoin: round; }
.announce strong { font-weight: 600; color: #fff; }
@media (max-width: 809.98px) { .announce { font-size: 13px; padding: 8px 12px; } }
/* Phones: the header is position:fixed, so push it below the bar (site.js sets --announce-off while the bar is in view) */
@media (max-width: 809.98px) {
    html .db-TPkii .db-11hb6jp-container { top: var(--announce-off, 0px); }
    /* fixed height so the content can make room for the header that now starts below the bar */
    .announce { height: 34px; box-sizing: border-box; white-space: nowrap; overflow: hidden; }
    .announce + #main { padding-top: 34px; }
}

/* Product cards: add to cart + order now on one row */
.product-actions { position: relative; z-index: 2; display: flex; gap: 8px; margin-top: 6px; }
.product-actions .product-cart { margin: 0; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 12px 10px; font-size: 14px; text-decoration: none; white-space: nowrap; }
.product-add { flex: 1; background: transparent; color: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33); box-shadow: inset 0 0 0 1px currentColor; }
.product-add:hover { background: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33); color: #fff; }
.product-add svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linejoin: round; }
.product-order { flex: 1; color: #fff; }
.product-order:hover { background: var(--token-6cadf31f-fcb8-4330-be75-d34823f38282, #1F3322); }
.product-actions .product-cart:focus-visible { outline: 2px solid #4F7A32; outline-offset: 2px; }
/* Narrow cards: the cart becomes an icon button so "Order now" keeps its full label */
.product-add span { display: none; }
.product-add { flex: none; width: 44px; padding: 0; }
.product-card { container-type: inline-size; }
/* Phone cards (~120px inside) can't fit icon + "Order now" side by side: stack two full-width buttons */
@container (max-width: 219.98px) {
    .product-actions { flex-direction: column; gap: 6px; }
    .product-actions .product-cart { width: 100%; padding: 10px 6px; font-size: 13px; }
    .product-order { order: -1; }
    .product-add svg { display: none; }
    .product-add span { display: inline; }
}
@container (min-width: 290px) {
    .product-add { flex: 1; width: auto; padding: 12px 10px; }
    .product-add span { display: inline; }
}

/* ---------- Header: floating glass pill once the page scrolls (tablet and up) ---------- */
@media (min-width: 810px) {
    /* No fade on the full-width background: fading it showed a cream band behind the pill while scrolling */
    .db-nycXQ { transition: none !important; }
    .db-nycXQ > .db-144q1kg {
        position: relative; box-sizing: border-box; border: 1px solid transparent; border-radius: 999px;
        transition: max-width .7s cubic-bezier(.16,1,.3,1), padding .7s cubic-bezier(.16,1,.3,1), background-color .6s, box-shadow .6s, border-color .6s, backdrop-filter .6s;
    }
    /* Same total height (104px) in both states, so the page below never jumps */
    html.is-scrolled .db-nycXQ { background-color: transparent !important; padding-top: 20px !important; padding-bottom: 20px !important; }
    html.is-scrolled .db-nycXQ > .db-144q1kg {
        max-width: min(1180px, calc(100% - 40px)) !important; padding: 10px 12px 10px 28px !important;
        background: rgba(251, 247, 239, .72); border-color: rgba(47, 74, 51, .1);
        -webkit-backdrop-filter: blur(20px) saturate(1.6); backdrop-filter: blur(20px) saturate(1.6);
        box-shadow: 0 12px 40px rgba(31, 51, 34, .10), inset 0 1px 0 rgba(255, 255, 255, .6);
    }
    /* Reading progress along the bottom of the pill */
    .db-nycXQ > .db-144q1kg::after {
        content: ""; position: absolute; left: 28px; right: 28px; bottom: -1px; height: 2px; border-radius: 2px; pointer-events: none;
        background: linear-gradient(90deg, #4F7A32, #2F4A33); transform: scaleX(var(--progress, 0)); transform-origin: left; opacity: 0; transition: opacity .4s;
    }
    html.is-scrolled .db-nycXQ > .db-144q1kg::after { opacity: 1; }
    .db-nycXQ [data-db-name="Top"] a { transition: transform .6s cubic-bezier(.16,1,.3,1); }
    html.is-scrolled .db-nycXQ [data-db-name="Top"] a { transform: scale(.92); }
}
@media (min-width: 810px) and (prefers-reduced-motion: reduce) {
    .db-nycXQ, .db-nycXQ > .db-144q1kg { transition: none; }
}

/* Quick-order submit: calm, in the site's button language (no gradient, glow or shine) */
.qo-submit {
    border-radius: 30px; padding: 14px 22px; gap: 2px;
    background: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33); box-shadow: 0 6px 18px rgba(31, 51, 34, .12);
    transition: background-color .3s, transform .3s cubic-bezier(.16,1,.3,1);
}
.qo-submit::after { content: none; }
.qo-submit:hover { background: var(--token-6cadf31f-fcb8-4330-be75-d34823f38282, #1F3322); transform: none; box-shadow: 0 6px 18px rgba(31, 51, 34, .12); }
.qo-submit-main { gap: 10px; font-size: 16px; font-weight: 500; letter-spacing: .01em; }
.qo-submit small { font-size: 12px; opacity: .7; }
.qo-submit svg { width: 24px; height: 18px; stroke-width: 1.5; }
.qo-truck, .qo-submit:hover .qo-truck { animation: none; transition: transform .4s cubic-bezier(.16,1,.3,1); }
.qo-submit:hover .qo-truck { transform: translateX(3px); }
.qo-form.is-sending .qo-truck { animation: truck-go .9s cubic-bezier(.5,0,.75,0) forwards; }

/* InspireBio logo (171×50 PNG) header and footer logo */
.db-nycXQ .db-b3pg68 { height: 44px !important; aspect-ratio: 171 / 50 !important; }
.db-144dr09 { height: 56px !important; width: auto !important; aspect-ratio: 171 / 50 !important; }
@media (max-width: 809.98px) { .db-nycXQ .db-b3pg68 { height: 36px !important; } }

/* Phone: quick order fills the screen as a card with a small gap on every side */
@media (max-width: 809.98px) {
    #quick-order {
        --gap: 10px;
        width: calc(100% - 2 * var(--gap)); max-width: none;
        height: calc(100dvh - max(var(--gap), env(safe-area-inset-top)) - max(var(--gap), env(safe-area-inset-bottom))); max-height: none;
        margin: max(var(--gap), env(safe-area-inset-top)) auto max(var(--gap), env(safe-area-inset-bottom));
        border-radius: 24px;
    }
    #quick-order .qo-form { padding-bottom: 16px; }
    #quick-order .qo-submit { bottom: 8px; }
}
@media (max-width: 809.98px) { #exit-offer { width: calc(100% - 32px); max-width: 420px; } }

/* Page title block matching the other pages (badge + big serif heading); the sticky header already takes its 104px */
.shop { padding-top: 70px; }
.pd { padding-top: 40px; }
.page-hero { display: flex; flex-direction: column; align-items: center; gap: 18px; margin: 0 auto 70px; max-width: 900px; text-align: center; }
.page-hero-badge {
    display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 30px;
    font: 500 12px/1.2 "General Sans", "Inter", sans-serif; letter-spacing: .02em; text-transform: uppercase;
    color: var(--token-6269f19c-7537-4cd5-9888-8692b678175f, #4F7A32); background: var(--token-0fa44313-b7ac-457e-a36b-815c09cb8dc5, rgba(79, 122, 50, .1));
}
.page-hero-badge::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--token-d1749e28-ad6e-4515-8577-115e04f55a56, #7CB342); }
.page-hero h1 { margin: 0; font: 400 90px/1.1 "Hedvig Letters Serif", serif; color: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33); }
.page-hero p { margin: 0; max-width: 560px; font-size: 18px; line-height: 1.5; color: var(--token-c263a2c2-a279-4a64-9f0e-76e1a778c404, #5A5E55); }
.shop-head h2 { margin: 0; font: 400 40px/1.15 "Hedvig Letters Serif", serif; letter-spacing: -.01em; }
@media (max-width: 1199.98px) { .page-hero h1 { font-size: 64px; } .page-hero { margin-bottom: 50px; } }
@media (max-width: 809.98px) {
    .shop { padding-top: 40px; }
    .pd { padding-top: 24px; }
    .page-hero { gap: 14px; margin-bottom: 36px; }
    .page-hero h1 { font-size: 42px; }
    .page-hero p { font-size: 16px; }
    .shop-head h2 { font-size: 30px; }
}


/* ---------- InspireBio palette: forest green on cream (matches the logo), overrides the base colour tokens ---------- */
body {
    --token-6269f19c-7537-4cd5-9888-8692b678175f: #4F7A32;   /* accent (was brown #986a3e) */
    --token-25a1623d-955f-4ad7-80c5-3c5e9ef412de: #2F4A33;   /* headings, buttons */
    --token-6cadf31f-fcb8-4330-be75-d34823f38282: #1F3322;   /* darkest text, hover */
    --token-a06e5ec6-b00c-47cf-9a61-93cf95c1fb9a: #FBF7EF;   /* page background */
    --token-3651865b-045a-4b5d-9091-016a2db394ee: #F2EEE2;   /* cream surfaces */
    --token-c263a2c2-a279-4a64-9f0e-76e1a778c404: #5A5E55;   /* muted text */
    --token-d1749e28-ad6e-4515-8577-115e04f55a56: #7CB342;   /* logo green: dots, small accents */
    --token-0fa44313-b7ac-457e-a36b-815c09cb8dc5: #7CB3421f; /* badge background */
    --token-94aa348c-5849-48d4-aa30-661ddb8a1c6f: #4F7A321a;
    --token-a44d0c94-b350-411f-bce6-41f8312b7701: #4F7A32cc;
    --token-fd4d87fd-6e48-4d74-99e4-4f2a2678d622: #4F7A3280;
    --token-b4c7898c-246e-4653-9319-91d2c9b9930d: #4F7A3299;
    --token-748604d8-37ca-47eb-bacc-add2beac67b8: #2F4A331a; /* borders */
    --token-4b84baf7-d9ef-42d5-81d7-dd5755f4061c: #2F4A3380;
}
.product-off { color: #2F4A33; }
.page-hero-badge::before, .pd-trust li::before, .pd-checks li::before { color: #4F7A32; }
/* Phone: the order bar is always shown on product pages, keep the page end clear of it */
@media (max-width: 809.98px) { body:has(.pd-sticky) { padding-bottom: calc(76px + env(safe-area-inset-bottom)); } }

/* ---------- Home: reviews ---------- */
.reviews { width: 100%; max-width: 1460px; margin: 0 auto; padding: 120px 30px; box-sizing: border-box; font-family: "General Sans", "Inter", sans-serif; }
.reviews-head { margin-bottom: 56px; }
.reviews-head h2 { margin: 0; font: 400 64px/1.1 "Hedvig Letters Serif", serif; color: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33); }
.reviews-score {
    display: inline-flex; align-items: center; gap: 16px; margin-top: 6px; padding: 10px 12px 10px 22px; border-radius: 999px;
    background: var(--token-1aa7b087-662a-4429-8851-f3e43b7c8356, #fffdf9); border: 1px solid var(--token-748604d8-37ca-47eb-bacc-add2beac67b8, rgba(47, 74, 51, .1));
}
.reviews-score strong { font: 400 34px/1 "Hedvig Letters Serif", serif; color: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33); }
.reviews-score-meta { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; font-size: 13px; color: var(--token-c263a2c2-a279-4a64-9f0e-76e1a778c404, #5A5E55); }
.reviews-score-meta .product-stars { font-size: 15px; }
.reviews-faces { display: flex; padding-left: 8px; }
.reviews-faces img { width: 36px; height: 36px; margin-left: -10px; border-radius: 50%; object-fit: cover; border: 2px solid #fffdf9; }
.reviews-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin: 0; padding: 0; list-style: none; }
.review {
    position: relative; display: flex; flex-direction: column; gap: 20px; padding: 32px; border-radius: 28px; overflow: hidden;
    background: var(--token-1aa7b087-662a-4429-8851-f3e43b7c8356, #fffdf9); border: 1px solid var(--token-748604d8-37ca-47eb-bacc-add2beac67b8, rgba(47, 74, 51, .1));
    transition: box-shadow .5s cubic-bezier(.16,1,.3,1), transform .5s cubic-bezier(.16,1,.3,1);
}
.review::before { content: "“"; position: absolute; top: -18px; right: 22px; font: 400 160px/1 "Hedvig Letters Serif", serif; color: var(--token-d1749e28-ad6e-4515-8577-115e04f55a56, #7CB342); opacity: .18; pointer-events: none; }
.review:hover { box-shadow: 0 18px 50px rgba(31, 51, 34, .1); transform: translateY(-4px); }
.review-top { display: flex; justify-content: space-between; align-items: center; }
.review-top .product-stars { font-size: 17px; }
.review-verified { display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px; border-radius: 30px; font-size: 12px; font-weight: 500; color: var(--token-6269f19c-7537-4cd5-9888-8692b678175f, #4F7A32); background: var(--token-0fa44313-b7ac-457e-a36b-815c09cb8dc5, rgba(124, 179, 66, .12)); }
.review-verified::before { content: "✓"; font-weight: 700; }
.review blockquote { flex: 1; margin: 0; font: 400 22px/1.45 "Hedvig Letters Serif", serif; color: var(--token-6cadf31f-fcb8-4330-be75-d34823f38282, #1F3322); }
.review-author { display: flex; align-items: center; gap: 12px; padding-top: 18px; border-top: 1px solid var(--token-748604d8-37ca-47eb-bacc-add2beac67b8, rgba(47, 74, 51, .1)); }
.review-author img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.review-author span { display: flex; flex-direction: column; }
.review-author strong { font-size: 15px; font-weight: 600; color: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33); }
.review-author small { font-size: 13px; color: var(--token-c263a2c2-a279-4a64-9f0e-76e1a778c404, #5A5E55); }
@media (max-width: 1199.98px) { .reviews { padding: 90px 30px; } .reviews-head h2 { font-size: 52px; } .review { padding: 26px; } .review blockquote { font-size: 19px; } }
@media (max-width: 809.98px) {
    .reviews { padding: 70px 0; }
    .reviews-head { padding: 0 16px; margin-bottom: 32px; }
    .reviews-head h2 { font-size: 40px; }
    .reviews-score { gap: 12px; padding: 8px 10px 8px 16px; }
    .reviews-faces { display: none; }
    /* Swipe through reviews on phones */
    .reviews-list { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 4px 16px 12px; scrollbar-width: none; }
    .reviews-list::-webkit-scrollbar { display: none; }
    .review { flex: 0 0 85%; scroll-snap-align: center; }
}
.review::before { top: auto; bottom: -70px; right: 18px; }

/* Reviews sit on a soft sage panel, inset like the hero */
.reviews { max-width: none; width: auto; margin: 40px 20px; border-radius: 40px; background: #EDF1E4; }
.reviews-list { max-width: 1400px; margin: 0 auto; }
.reviews-score { background: #fffdf9; }
@media (max-width: 809.98px) { .reviews { margin: 20px 10px; border-radius: 28px; } }
.reviews { width: calc(100% - 40px); align-self: center; box-sizing: border-box; }
@media (max-width: 809.98px) { .reviews { width: calc(100% - 20px); } }

/* Footer: certification badges instead of "FDA Approved / Board Certified" */
[data-db-name="Badge List"] { display: flex !important; flex-wrap: wrap; gap: 8px !important; }
.cert-badge { display: block; width: 42px; height: auto; transition: transform .4s cubic-bezier(.16,1,.3,1); }
.cert-badge:hover { transform: translateY(-3px) scale(1.06); }

/* Footer: Quick links · Categories · Legal side by side, then Get in touch */
[data-db-name="Grid"]:has([data-db-name="Menu"]) > * { width: auto !important; min-width: 0; }
div:has(> [data-db-name="Menu"]) { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; column-gap: 40px !important; }
@media (min-width: 1200px) {
    [data-db-name="Grid"]:has([data-db-name="Menu"]) { grid-template-columns: minmax(0, 1.1fr) minmax(0, 2.2fr) minmax(0, 1fr) !important; column-gap: 60px !important; }
}
@media (max-width: 809.98px) {
    div:has(> [data-db-name="Menu"]) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; column-gap: 24px !important; }
}
.cert-badge { width: 36px; } [data-db-name="Badge List"] { gap: 6px !important; }
@media (max-width: 809.98px) { div:has(> [data-db-name="Menu"]) { row-gap: 32px !important; } }
/* ANPC SAL / SOL pictograms on their own row under the badges */
.legal-badges { flex-basis: 100%; display: flex; gap: 8px; margin-top: 10px; }
.legal-badges a { flex: 1; max-width: 170px; transition: transform .3s cubic-bezier(.16,1,.3,1); }
.legal-badges a:hover { transform: translateY(-2px); }
.legal-badges img { display: block; width: 100%; height: auto; }

/* ---------- Cookie consent ---------- */
.cc-banner {
    position: fixed; left: 20px; bottom: 20px; z-index: 120; width: min(440px, calc(100% - 40px)); box-sizing: border-box;
    padding: 22px; border-radius: 24px; font-family: "General Sans", "Inter", sans-serif;
    background: rgba(255, 253, 249, .94); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
    border: 1px solid var(--token-748604d8-37ca-47eb-bacc-add2beac67b8, rgba(47, 74, 51, .1)); box-shadow: 0 20px 60px rgba(31, 51, 34, .18);
    animation: cc-in .6s cubic-bezier(.16,1,.3,1);
}
.cc-banner[hidden] { display: none; }
@keyframes cc-in { from { opacity: 0; transform: translateY(24px); } }
.cc-title { margin: 0 0 6px; font: 400 22px/1.2 "Hedvig Letters Serif", serif; color: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33); }
.cc-text { margin: 0; font-size: 14px; line-height: 1.55; color: var(--token-c263a2c2-a279-4a64-9f0e-76e1a778c404, #5A5E55); }
.cc-text a { color: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33); }
.cc-actions { display: flex; gap: 8px; margin-top: 16px; }
.cc-btn {
    flex: 1; padding: 11px 12px; border: 0; border-radius: 30px; cursor: pointer; white-space: nowrap;
    font: 500 14px/1.2 "General Sans", "Inter", sans-serif; color: #fff; background: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33);
    transition: background-color .25s;
}
.cc-btn:hover { background: var(--token-6cadf31f-fcb8-4330-be75-d34823f38282, #1F3322); }
.cc-btn-ghost { background: transparent; color: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33); box-shadow: inset 0 0 0 1px currentColor; }
.cc-btn-ghost:hover { background: rgba(47, 74, 51, .06); }
.cc-btn:focus-visible { outline: 2px solid #4F7A32; outline-offset: 2px; }
.cc-dialog {
    width: min(560px, calc(100% - 24px)); max-height: calc(100dvh - 32px); padding: 0; border: 0; border-radius: 28px; overflow: auto;
    background: var(--token-1aa7b087-662a-4429-8851-f3e43b7c8356, #fffdf9); font-family: "General Sans", "Inter", sans-serif;
    box-shadow: 0 30px 80px rgba(31, 51, 34, .3);
}
.cc-dialog::backdrop { background: rgba(31, 51, 34, .45); backdrop-filter: blur(4px); }
.cc-dialog[open] { animation: qo-in .45s cubic-bezier(.16,1,.3,1); }
.cc-form { display: flex; flex-direction: column; gap: 12px; padding: 24px; }
.cc-head { display: flex; justify-content: space-between; align-items: center; }
.cc-head h2 { margin: 0; font: 400 28px/1.2 "Hedvig Letters Serif", serif; color: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33); }
.cc-cat { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 14px 16px; border-radius: 18px; cursor: pointer; background: var(--token-3651865b-045a-4b5d-9091-016a2db394ee, #F2EEE2); }
.cc-cat-text { display: flex; flex-direction: column; gap: 3px; }
.cc-cat-text strong { font-size: 15px; font-weight: 600; color: var(--token-6cadf31f-fcb8-4330-be75-d34823f38282, #1F3322); }
.cc-cat-text small { font-size: 13px; line-height: 1.45; color: var(--token-c263a2c2-a279-4a64-9f0e-76e1a778c404, #5A5E55); }
.cc-switch { position: relative; flex: none; width: 46px; height: 26px; }
.cc-switch input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.cc-switch span { position: absolute; inset: 0; border-radius: 30px; background: #c9cfc2; transition: background-color .25s; pointer-events: none; }
.cc-switch span::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.2); transition: transform .3s cubic-bezier(.16,1,.3,1); }
.cc-switch input:checked + span { background: var(--token-6269f19c-7537-4cd5-9888-8692b678175f, #4F7A32); }
.cc-switch input:checked + span::after { transform: translateX(20px); }
.cc-switch input:disabled + span { opacity: .55; }
.cc-switch input:focus-visible + span { outline: 2px solid #4F7A32; outline-offset: 2px; }
@media (max-width: 809.98px) {
    .cc-banner { left: 10px; right: 10px; bottom: 10px; width: auto; padding: 18px; }
    .cc-actions { flex-wrap: wrap; }
    .cc-actions .cc-btn-ghost { order: 3; flex-basis: 100%; }
    body:has(.pd-sticky) .cc-banner { bottom: calc(86px + env(safe-area-inset-bottom)); }
}

/* ---------- Legal pages ---------- */
.legal { width: 100%; max-width: 980px; margin: 0 auto; padding: 70px 30px 100px; box-sizing: border-box; font-family: "General Sans", "Inter", sans-serif; }
.legal .page-hero h1 { font-size: 72px; }
.legal-prose { color: var(--token-6cadf31f-fcb8-4330-be75-d34823f38282, #1F3322); font-size: 17px; line-height: 1.7; }
.legal-prose h2 { margin: 44px 0 12px; font: 400 30px/1.2 "Hedvig Letters Serif", serif; color: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33); }
.legal-prose h2:first-child { margin-top: 0; }
.legal-prose p { margin: 0 0 14px; }
.legal-prose a { color: var(--token-6269f19c-7537-4cd5-9888-8692b678175f, #4F7A32); }
.legal-cats { display: grid; gap: 10px; margin: 0; }
.legal-cats div { padding: 14px 18px; border-radius: 16px; background: var(--token-3651865b-045a-4b5d-9091-016a2db394ee, #F2EEE2); }
.legal-cats dt { font-weight: 600; }
.legal-cats dt span { margin-left: 8px; padding: 2px 8px; border-radius: 20px; font-size: 12px; font-weight: 500; color: #4F7A32; background: rgba(124, 179, 66, .14); }
.legal-cats dd { margin: 4px 0 0; font-size: 15px; color: var(--token-c263a2c2-a279-4a64-9f0e-76e1a778c404, #5A5E55); }
.legal-table-wrap { overflow-x: auto; margin-bottom: 14px; border-radius: 16px; border: 1px solid var(--token-748604d8-37ca-47eb-bacc-add2beac67b8, rgba(47, 74, 51, .1)); }
.legal-table { width: 100%; border-collapse: collapse; font-size: 15px; }
.legal-table th, .legal-table td { padding: 12px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--token-748604d8-37ca-47eb-bacc-add2beac67b8, rgba(47, 74, 51, .1)); }
.legal-table th { font-weight: 600; background: var(--token-3651865b-045a-4b5d-9091-016a2db394ee, #F2EEE2); }
.legal-table tr:last-child td { border-bottom: 0; }
.legal-table code { font-size: 13px; }
.legal-form { display: flex; flex-direction: column; gap: 22px; }
.legal-form fieldset { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; margin: 0; padding: 24px; border-radius: 24px; border: 1px solid var(--token-748604d8-37ca-47eb-bacc-add2beac67b8, rgba(47, 74, 51, .1)); background: var(--token-1aa7b087-662a-4429-8851-f3e43b7c8356, #fffdf9); }
.legal-form legend { padding: 0 8px; font: 400 22px/1.2 "Hedvig Letters Serif", serif; color: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33); }
.legal-form label { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 500; color: var(--token-6cadf31f-fcb8-4330-be75-d34823f38282, #1F3322); }
.legal-form label > span { color: #a8322d; }
.legal-form .legal-wide { grid-column: 1 / -1; }
.legal-form input, .legal-form textarea {
    padding: 12px 14px; border-radius: 14px; font: inherit; font-weight: 400; font-size: 16px; color: inherit; background: #fff; resize: vertical;
    border: 1px solid var(--token-748604d8-37ca-47eb-bacc-add2beac67b8, rgba(47, 74, 51, .15));
}
.legal-form input:focus, .legal-form textarea:focus { outline: none; border-color: #4F7A32; box-shadow: 0 0 0 3px rgba(79, 122, 50, .15); }
.legal-form [aria-invalid="true"] { border-color: #a8322d; }
.legal-form small { font-weight: 400; font-size: 13px; color: var(--token-c263a2c2-a279-4a64-9f0e-76e1a778c404, #5A5E55); }
.legal-form-note { margin: 0; font-size: 14px; line-height: 1.6; color: var(--token-c263a2c2-a279-4a64-9f0e-76e1a778c404, #5A5E55); }
.legal-form-note a { color: #4F7A32; }
.legal-confirm { position: static; align-self: flex-start; width: auto; min-width: 280px; }
.legal-errors { padding: 16px 20px; border-radius: 16px; background: #fbe9e7; color: #7a2620; font-size: 15px; }
.legal-errors p { margin: 0 0 6px; font-weight: 600; }
.legal-errors ul { margin: 0; padding-left: 18px; }
.legal-done { display: flex; flex-direction: column; align-items: center; gap: 20px; padding: 40px; border-radius: 28px; text-align: center; background: var(--token-1aa7b087-662a-4429-8851-f3e43b7c8356, #fffdf9); border: 1px solid var(--token-748604d8-37ca-47eb-bacc-add2beac67b8, rgba(47, 74, 51, .1)); }
.legal-done-icon { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; font-size: 30px; color: #fff; background: #4F7A32; }
.legal-done dl { display: grid; grid-template-columns: repeat(3, auto); gap: 8px 40px; margin: 0; }
.legal-done dt { font-size: 13px; color: var(--token-c263a2c2-a279-4a64-9f0e-76e1a778c404, #5A5E55); }
.legal-done dd { margin: 4px 0 0; font: 400 22px/1.2 "Hedvig Letters Serif", serif; color: #2F4A33; }
.legal-done p { max-width: 520px; margin: 0; line-height: 1.6; color: #1F3322; }
/* The withdrawal link must be easy to spot */
.footer-withdraw { font-weight: 600 !important; text-decoration: underline !important; text-underline-offset: 3px; }
@media (max-width: 809.98px) {
    .legal { padding: 40px 16px 60px; }
    .legal .page-hero h1 { font-size: 40px; }
    .legal-prose { font-size: 16px; }
    .legal-prose h2 { font-size: 24px; margin-top: 32px; }
    .legal-form fieldset { grid-template-columns: 1fr; padding: 18px; }
    .legal-confirm { width: 100%; min-width: 0; }
    .legal-done { padding: 28px 18px; }
    .legal-done dl { grid-template-columns: 1fr; }
}

/* ---------- Product page: harmonised legal-guarantee notice ---------- */
.gl-notice { margin: 2px 0 0; text-align: center; }
.gl-notice__link { padding: 4px 0; border: 0; background: none; cursor: pointer; font: 500 13px/1.3 "General Sans", "Inter", sans-serif; color: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33); text-decoration: underline; text-underline-offset: 3px; }
.gl-notice__dialog { box-sizing: border-box; width: min(92vw, 560px); max-height: 92dvh; padding: 52px 16px 16px; border: 0; border-radius: 24px; overflow-y: auto; background: #fff; color: #1F3322; box-shadow: 0 30px 80px rgba(31, 51, 34, .3); }
.gl-notice__dialog::backdrop { background: rgba(31, 51, 34, .55); backdrop-filter: blur(4px); }
.gl-notice__dialog[open] { animation: qo-in .45s cubic-bezier(.16,1,.3,1); }
.gl-notice__dialog .qo-close { position: absolute; top: 10px; right: 10px; }
.gl-notice__img { display: block; width: 100%; height: auto; border-radius: 8px; }
.gl-notice__more { margin: 12px 0 0; font-size: 14px; text-align: center; font-family: "General Sans", "Inter", sans-serif; }
.gl-notice__more a { color: #4F7A32; }
.legal-lbl b { color: #a8322d; font-weight: 600; }
.legal-form label > span.legal-lbl { color: inherit; }

/* Quick order: free-delivery progress */
.qo-ship { --ship: 0%; padding: 14px 16px 12px; border-radius: 18px; background: #EDF1E4; transition: background-color .4s; }
.qo-ship-text { margin: 0 0 12px; font-size: 14px; font-weight: 500; color: var(--token-6cadf31f-fcb8-4330-be75-d34823f38282, #1F3322); }
.qo-ship-track { position: relative; height: 8px; border-radius: 8px; background: rgba(47, 74, 51, .12); }
.qo-ship-fill {
    position: absolute; inset: 0 auto 0 0; width: var(--ship); border-radius: inherit;
    background: linear-gradient(90deg, #7CB342, #4F7A32); transition: width .7s cubic-bezier(.16,1,.3,1);
}
.qo-ship-truck {
    position: absolute; top: 50%; left: var(--ship); width: 26px; height: 20px; margin: -12px 0 0 -13px; padding: 3px 4px; box-sizing: content-box;
    border-radius: 10px; background: #fff; box-shadow: 0 2px 8px rgba(31, 51, 34, .15);
    fill: none; stroke: #2F4A33; stroke-width: 1.6; stroke-linejoin: round; transition: left .7s cubic-bezier(.16,1,.3,1);
}
.qo-ship-scale { display: flex; justify-content: space-between; margin: 10px 0 0; font-size: 12px; color: var(--token-c263a2c2-a279-4a64-9f0e-76e1a778c404, #5A5E55); }
.qo-ship.is-free { background: #E3EFD3; }
.qo-ship.is-free .qo-ship-text { color: #2F4A33; }
.qo-ship.is-free .qo-ship-truck { margin-left: -30px; }
@media (prefers-reduced-motion: reduce) { .qo-ship-fill, .qo-ship-truck { transition: none; } }
/* Bundle tags: soft and on one line, readable on the cream/selected backgrounds */
.bundle-tag { padding: 2px 8px; border-radius: 6px; font-size: 12px; font-weight: 600; white-space: nowrap; color: #2F4A33; background: rgba(124, 179, 66, .2); }
.bundle-ship { font-size: 12px; font-weight: 500; color: #4F7A32; }

/* ---------- Header: account + cart ---------- */
.db-lu6bj { display: flex !important; align-items: center; gap: 8px; }
.hdr-icons { display: flex; align-items: center; gap: 6px; }
.hdr-icon {
    position: relative; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%;
    color: var(--token-25a1623d-955f-4ad7-80c5-3c5e9ef412de, #2F4A33); background: var(--token-3651865b-045a-4b5d-9091-016a2db394ee, #F2EEE2);
    transition: background-color .25s, transform .3s cubic-bezier(.16,1,.3,1);
}
.hdr-icon:hover { background: #E3EFD3; transform: translateY(-1px); }
.hdr-icon:focus-visible { outline: 2px solid #4F7A32; outline-offset: 2px; }
.hdr-icon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.hdr-cart-count {
    position: absolute; top: -3px; right: -3px; min-width: 19px; height: 19px; padding: 0 5px; box-sizing: border-box; border-radius: 10px;
    display: grid; place-items: center; font: 600 11px/1 "General Sans", "Inter", sans-serif; color: #fff; background: #4F7A32; border: 2px solid #FBF7EF;
}
.hdr-cart-count[hidden] { display: none; }
.hdr-cart-count.is-pop { animation: cart-pop .5s cubic-bezier(.16,1,.3,1); }
@keyframes cart-pop { 0% { transform: scale(.4); } 60% { transform: scale(1.35); } 100% { transform: scale(1); } }
.hdr-cart.is-bump { animation: cart-bump .6s cubic-bezier(.16,1,.3,1); }
@keyframes cart-bump { 0% { transform: scale(1); } 25% { transform: scale(1.18) rotate(-8deg); } 50% { transform: scale(.94) rotate(6deg); } 75% { transform: scale(1.05) rotate(-2deg); } 100% { transform: none; } }
html.is-scrolled .hdr-icon { width: 40px; height: 40px; }
[data-add-to-cart].is-added { background: #4F7A32 !important; color: #fff !important; box-shadow: none !important; }
@media (max-width: 809.98px) {
    .hdr-icons { gap: 4px; }
    .hdr-icon { width: 36px; height: 36px; }
    .hdr-icon svg { width: 18px; height: 18px; }
    /* Room for logo + account + cart + menu: the contact pill moves into the menu area on phones */
    .db-nycXQ .db-1tzkyge-container { display: none !important; }
}

/* ---------- Checkout ---------- */
.co { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 36px; align-items: start; font-family: "General Sans", "Inter", sans-serif; }
.legal:has(.co), .legal:has(.acc) { max-width: 1320px; }
.co-form { display: flex; flex-direction: column; gap: 16px; }
.co-login { margin: 0; padding: 12px 16px; border-radius: 14px; font-size: 14px; background: #EDF1E4; color: #1F3322; }
.co-login a { color: #2F4A33; font-weight: 600; }
.co-card { display: flex; flex-direction: column; gap: 14px; padding: 24px; border-radius: 24px; background: var(--token-1aa7b087-662a-4429-8851-f3e43b7c8356, #fffdf9); border: 1px solid var(--token-748604d8-37ca-47eb-bacc-add2beac67b8, rgba(47, 74, 51, .1)); }
.co-card h2 { display: flex; align-items: center; gap: 10px; margin: 0; font: 400 24px/1.2 "Hedvig Letters Serif", serif; color: #2F4A33; }
.co-card h2 span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; font: 600 14px/1 "General Sans", sans-serif; color: #fff; background: #4F7A32; }
.co-notes textarea { flex: 1; min-height: 46px; padding: 12px 14px; border: 0; outline: 0; resize: vertical; background: none; font: inherit; font-size: 16px; color: #1F3322; }
.co-check { display: flex; align-items: flex-start; gap: 12px; cursor: pointer; }
.co-check input { flex: none; width: 20px; height: 20px; margin: 2px 0 0; accent-color: #2F4A33; }
.co-check span { display: flex; flex-direction: column; gap: 2px; font-size: 15px; color: #1F3322; }
.co-check small { font-size: 13px; color: #5A5E55; }
.co-check-sm span { font-size: 14px; }
.co-check a, .auth-row a { color: #2F4A33; }
.co-password[hidden] { display: none; }
.co-side { position: sticky; top: 120px; display: flex; flex-direction: column; gap: 12px; }
.co-summary { display: flex; flex-direction: column; gap: 14px; padding: 24px; border-radius: 24px; background: var(--token-1aa7b087-662a-4429-8851-f3e43b7c8356, #fffdf9); border: 1px solid var(--token-748604d8-37ca-47eb-bacc-add2beac67b8, rgba(47, 74, 51, .1)); transition: opacity .2s; }
.co.is-busy .co-summary { opacity: .6; pointer-events: none; }
.co-summary h2 { margin: 0; font: 400 24px/1.2 "Hedvig Letters Serif", serif; color: #2F4A33; }
.co-line { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 12px; align-items: start; padding-bottom: 14px; border-bottom: 1px solid rgba(47, 74, 51, .08); }
.co-line img { width: 64px; height: 64px; border-radius: 14px; object-fit: cover; }
.co-line-info { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; min-width: 0; }
.co-line-info a { font-size: 14px; font-weight: 500; line-height: 1.35; color: #1F3322; text-decoration: none; }
.co-qty { display: inline-flex; align-items: center; border-radius: 30px; border: 1px solid rgba(47, 74, 51, .15); background: #fff; }
.co-qty button { width: 32px; height: 32px; border: 0; background: none; cursor: pointer; font-size: 18px; color: #2F4A33; }
.co-qty button:disabled { opacity: .3; cursor: default; }
.co-qty span { min-width: 22px; text-align: center; font-size: 14px; font-weight: 600; }
.co-remove { padding: 0; border: 0; background: none; cursor: pointer; font-size: 12px; color: #5A5E55; text-decoration: underline; }
.co-line-price { display: flex; flex-direction: column; align-items: flex-end; font-size: 14px; white-space: nowrap; }
.co-line-price s { font-size: 12px; color: #5A5E55; }
.co-line-price b { color: #2F4A33; }
.co-empty { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.co-empty p { margin: 0; color: #5A5E55; }
.co-code-msg.is-ok { color: #4F7A32; }
.co-submit { position: static; }
.co-submit.is-sending { opacity: .7; pointer-events: none; }
.co-thanks-lines { width: 100%; max-width: 520px; margin: 0; padding: 0; list-style: none; text-align: left; }
.co-thanks-lines li { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid rgba(47, 74, 51, .08); font-size: 15px; }

/* ---------- Auth + account ---------- */
.auth-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; font-family: "General Sans", "Inter", sans-serif; }
.auth-card { display: flex; flex-direction: column; gap: 16px; padding: 32px; border-radius: 28px; background: var(--token-1aa7b087-662a-4429-8851-f3e43b7c8356, #fffdf9); border: 1px solid rgba(47, 74, 51, .1); }
.auth-card-alt { background: #EDF1E4; border-color: transparent; }
.auth-narrow { max-width: 480px; margin: 0 auto; }
.auth-card h2, .acc-panel h2 { margin: 0; font: 400 28px/1.2 "Hedvig Letters Serif", serif; color: #2F4A33; }
.auth-lead, .acc-muted { margin: 0; font-size: 15px; line-height: 1.5; color: #5A5E55; }
.acc-muted a { color: #2F4A33; }
.auth-field { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 500; color: #1F3322; }
.auth-field input, .auth-field select { height: 48px; padding: 0 14px; border-radius: 14px; border: 1px solid rgba(47, 74, 51, .15); background: #fff; font: inherit; font-weight: 400; font-size: 16px; color: #1F3322; }
.auth-field input:focus, .auth-field select:focus { outline: none; border-color: #4F7A32; box-shadow: 0 0 0 3px rgba(79, 122, 50, .15); }
.auth-field small { font-weight: 400; font-size: 12px; color: #5A5E55; }
.auth-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 14px; }
.auth-error { margin: 0; padding: 10px 14px; border-radius: 12px; font-size: 14px; background: #fbe9e7; color: #7a2620; }
.auth-error p { margin: 0; }
.auth-card .qo-submit { position: static; }
.auth-secondary { background: transparent !important; color: #2F4A33 !important; box-shadow: inset 0 0 0 1px #2F4A33 !important; }
.auth-secondary:hover { background: #2F4A33 !important; color: #fff !important; }
.auth-back { align-self: center; font-size: 14px; color: #2F4A33; }
.acc { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 32px; align-items: start; font-family: "General Sans", "Inter", sans-serif; }
.acc-nav { position: sticky; top: 120px; display: flex; flex-direction: column; gap: 4px; padding: 12px; border-radius: 24px; background: var(--token-1aa7b087-662a-4429-8851-f3e43b7c8356, #fffdf9); border: 1px solid rgba(47, 74, 51, .1); }
.acc-nav a, .acc-nav button { display: flex; align-items: center; gap: 12px; width: 100%; padding: 12px 14px; border: 0; border-radius: 14px; background: none; cursor: pointer; text-align: left; font: 500 15px/1.2 "General Sans", "Inter", sans-serif; color: #1F3322; text-decoration: none; transition: background-color .2s; }
.acc-nav a:hover, .acc-nav button:hover { background: #F2EEE2; }
.acc-nav a[aria-current="page"] { background: #EDF1E4; color: #2F4A33; font-weight: 600; }
.acc-nav svg { flex: none; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.acc-nav form { margin-top: 6px; padding-top: 6px; border-top: 1px solid rgba(47, 74, 51, .1); }
.acc-main { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.acc-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.acc-stat { display: flex; flex-direction: column; gap: 8px; padding: 20px; border-radius: 22px; text-decoration: none; background: #EDF1E4; transition: transform .3s cubic-bezier(.16,1,.3,1); }
.acc-stat:hover { transform: translateY(-3px); }
.acc-stat span { font-size: 13px; color: #5A5E55; }
.acc-stat strong { font: 400 36px/1 "Hedvig Letters Serif", serif; color: #2F4A33; }
.acc-stat .acc-stat-small { font: 500 15px/1.3 "General Sans", sans-serif; overflow-wrap: anywhere; }
.acc-panel { display: flex; flex-direction: column; gap: 14px; padding: 28px; border-radius: 24px; background: var(--token-1aa7b087-662a-4429-8851-f3e43b7c8356, #fffdf9); border: 1px solid rgba(47, 74, 51, .1); }
.acc-panel h2 { font-size: 24px; }
.acc-panel p { margin: 0; line-height: 1.6; }
.acc-order { display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto auto; gap: 16px; align-items: center; padding: 14px 16px; border-radius: 16px; text-decoration: none; color: #1F3322; background: #FBF7EF; transition: background-color .2s; }
.acc-order:hover { background: #F2EEE2; }
.acc-order-no { font-weight: 600; color: #2F4A33; }
.acc-order-items { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; }
.acc-order-items em { font-style: normal; color: #5A5E55; }
.acc-status { padding: 4px 10px; border-radius: 20px; font-size: 12px; font-weight: 600; background: #EDF1E4; color: #2F4A33; }
.acc-status-awaiting_payment { background: #f6eedb; color: #7a5a17; }
.acc-status-cancelled { background: #fbe9e7; color: #7a2620; }
.acc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
.acc-wide { grid-column: 1 / -1; }
.acc-save { position: static; align-self: flex-start; width: auto; min-width: 220px; }
@media (max-width: 1199.98px) { .co { grid-template-columns: minmax(0, 1fr) 360px; } .acc { grid-template-columns: 220px minmax(0, 1fr); } }
@media (max-width: 809.98px) {
    .co, .acc, .auth-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .co-side, .acc-nav { position: static; }
    .co-side { order: -1; }
    .co-card, .co-summary, .auth-card, .acc-panel { padding: 20px; }
    .acc-nav { flex-direction: row; overflow-x: auto; scrollbar-width: none; }
    .acc-nav a, .acc-nav button { width: auto; white-space: nowrap; }
    .acc-nav form { margin: 0; padding: 0; border: 0; }
    .acc-cards { grid-template-columns: 1fr; }
    .acc-order { grid-template-columns: 1fr auto; }
    .acc-order-items { grid-column: 1 / -1; }
    .acc-grid { grid-template-columns: 1fr; }
    .acc-save { width: 100%; }
}

/* Footer: no underlined links except the DataByte credit */
footer.db-SVGqb a, footer.db-SVGqb a.db-text { text-decoration: none !important; }
footer.db-SVGqb a:hover { opacity: .75; }
footer.db-SVGqb a[href="https://data-byte.ro/"] { text-decoration: underline !important; text-underline-offset: 3px; }
footer.db-SVGqb .footer-withdraw { text-decoration: none !important; }
.co-check-sm span { display: block; line-height: 1.5; }

/* Wishlist heart: readable on any product photo */
.product-fav { background: rgba(255, 255, 255, .92) !important; box-shadow: 0 2px 10px rgba(31, 51, 34, .15); color: #2F4A33; transition: transform .25s cubic-bezier(.16,1,.3,1), background-color .25s; }
.product-fav:hover { transform: scale(1.08); background: #fff !important; }
.product-fav svg { stroke-width: 2; }
.product-fav[aria-pressed="true"] { color: #b5473a; }
.legal-callout { display: flex; flex-direction: column; gap: 6px; margin: 0 0 36px; padding: 18px 20px; border-radius: 18px; background: #EDF1E4; font-size: 15px; line-height: 1.55; }
.legal-callout strong { color: #2F4A33; }
.legal-prose h2 { font-size: 26px; }
.product-card .product-fav { top: 28px; left: 28px; }
@media (max-width: 809.98px) { .product-card .product-fav { top: 18px; left: 18px; } }

/* Language switcher (RO / EN) */
.lang-switch { display: flex; padding: 3px; border-radius: 30px; background: var(--token-3651865b-045a-4b5d-9091-016a2db394ee, #F2EEE2); }
.lang-switch a { display: grid; place-items: center; min-width: 34px; height: 32px; padding: 0 8px; box-sizing: border-box; border-radius: 30px; font: 600 12px/1 "General Sans", "Inter", sans-serif; letter-spacing: .04em; color: #5A5E55; text-decoration: none; transition: background-color .25s, color .25s; }
.lang-switch a:hover { color: #2F4A33; }
.lang-switch a[aria-current] { background: #fff; color: #2F4A33; box-shadow: 0 1px 4px rgba(31, 51, 34, .12); }
.lang-switch a:focus-visible { outline: 2px solid #4F7A32; outline-offset: 1px; }
@media (max-width: 809.98px) {
    .lang-switch a { min-width: 28px; height: 28px; padding: 0 6px; font-size: 11px; }
}

/* Reviews: endless right-to-left marquee with faded edges */
.reviews { padding-left: 0; padding-right: 0; }
.reviews-head { padding: 0 30px; }
.reviews-marquee {
    width: 100%; overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent);
            mask-image: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent);
}
.reviews-track { display: flex; width: max-content; animation: reviews-scroll 70s linear infinite; }
.reviews-marquee:hover .reviews-track, .reviews-marquee:focus-within .reviews-track { animation-play-state: paused; }
.reviews-track .reviews-list { display: flex; flex: none; gap: 24px; margin: 0; padding: 12px 24px 12px 0; overflow: visible; max-width: none; }
.reviews-track .review { flex: none; width: 420px; scroll-snap-align: none; }
.reviews-track .review:hover { transform: translateY(-4px); }
@keyframes reviews-scroll { to { transform: translateX(calc(-100% / var(--copies))); } }
@media (max-width: 809.98px) {
    .reviews-head { padding: 0 16px; }
    .reviews-track { animation-duration: 45s; }
    .reviews-track .reviews-list { gap: 12px; padding: 8px 12px 8px 0; }
    .reviews-track .review { width: 280px; }
    .reviews-marquee { -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
}
@media (prefers-reduced-motion: reduce) {
    .reviews-track { animation: none; }
    .reviews-marquee { overflow-x: auto; }
    .reviews-track .reviews-list[aria-hidden] { display: none; }
}

/* Footer on phones: calm card, no photo behind the text, legal links on two columns, clear sections */
@media (max-width: 809.98px) {
    footer.db-SVGqb [data-db-name="Footer BG"] { padding-top: 36px !important; background: var(--token-3651865b-045a-4b5d-9091-016a2db394ee, #F2EEE2); border-radius: 28px 28px 0 0 !important; }
    footer.db-SVGqb [data-db-name="Footer BG"] > [data-db-background-image-wrapper],
    footer.db-SVGqb [data-db-name="Overlay"] { display: none !important; }
    footer.db-SVGqb [data-db-name="Grid"] { gap: 28px !important; }
    footer.db-SVGqb [data-db-name="Grid"] > * + * { padding-top: 28px; border-top: 1px solid rgba(47, 74, 51, .12); }
    footer.db-SVGqb [data-db-name="About"] { gap: 16px !important; }
    footer.db-SVGqb div:has(> [data-db-name="Menu"]) { row-gap: 28px !important; }
    footer.db-SVGqb [data-db-name="Menu"]:nth-child(3) { grid-column: 1 / -1; }
    footer.db-SVGqb [data-db-name="Menu"]:nth-child(3) [data-db-name="Links"] { display: grid !important; grid-template-columns: 1fr 1fr; gap: 12px 24px !important; }
    footer.db-SVGqb [data-db-name="Links"] { gap: 12px !important; }
    footer.db-SVGqb .legal-badges a { max-width: none; }
    footer.db-SVGqb [data-db-name="Copyright"] { gap: 14px !important; padding-top: 20px; border-top: 1px solid rgba(47, 74, 51, .12); }
}
@media (max-width: 809.98px) { footer.db-SVGqb [data-db-name="Grid"] > * { width: 100% !important; } }
.pd-inci { font-size: 14px; line-height: 1.7; color: var(--db-muted, #5A5E55); overflow-wrap: anywhere; }
.review-initial { display: grid !important; place-content: center; width: 48px; height: 48px; flex-shrink: 0; border-radius: 50%; background: rgba(124, 179, 66, .16); color: #2F4A33; font-weight: 600; font-size: 18px; }
.review-verified::before { content: none; }
.blog-article-img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 24px; margin-bottom: 32px; }
.blog-article-lead { font-size: 1.15em; }
.blog-article ul { padding-left: 1.2em; line-height: 1.7; }
.blog-article li { margin-bottom: 6px; }
.blog-article-back { margin-top: 40px; }
/* Accessibility: small labels need 4.5:1 contrast. Section badges use the logo green token as text colour,
   so give text a darker green of the same hue; dots and decorations keep the bright logo green */
[data-styles-preset="oQJ9YvmFl"] { --db-text-color: #3F6427 !important; }
.page-hero-badge { color: #3F6427; }
.shop-chip small { opacity: 1; color: #5A5E55; }
/* Form placeholders and the empty "Choose" state of selects: readable (4.5:1) on the light input background */
.db-form-select-wrapper select:required:invalid, .db-form-input::placeholder, textarea.db-form-input::placeholder { color: #5A5E55 !important; -webkit-text-fill-color: #5A5E55; }
.co-company { margin-top: 14px; }
.co-company > summary { cursor: pointer; font-weight: 500; color: #2F4A33; padding: 6px 0; }
.co-company[open] > summary { margin-bottom: 10px; }
.pd-promo-until { margin: -4px 0 8px; font-size: 14px; font-weight: 500; color: #B3261E; }
/* Hero wheel: a live backdrop blur on 18 rotating pills repaints every frame and flickers; a tinted glass look
   without the blur stays smooth. Product thumbnails sit on white so they read inside the circles. */
[data-db-name="Hero "] [data-border="true"] { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; background-color: rgba(255, 248, 240, .16) !important; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .28); }
[data-db-name="Hero "] [data-db-background-image-wrapper] img[src*="/wheel/"] { background: #fff; object-fit: contain !important; padding: 2px; box-sizing: border-box; }
/* Contact: the shop's location, map + details */
.shop-locate { display: grid; grid-template-columns: 1.8fr 1fr; gap: 24px; width: 100%; max-width: 1200px; margin: 0 auto; box-sizing: border-box; padding: 0 20px; align-items: stretch; }
.shop-locate-map { display: block; border-radius: 28px; overflow: hidden; min-height: 360px; box-shadow: 0 14px 40px rgba(47, 74, 51, .12); }
.shop-locate-map img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.16,1,.3,1); }
.shop-locate-map:hover img { transform: scale(1.03); }
.shop-locate-card { display: flex; flex-direction: column; justify-content: center; gap: 18px; padding: 32px; border-radius: 28px; background: #fff; border: 1px solid rgba(47, 74, 51, .08); }
.shop-locate-card h3 { margin: 0; font: 400 30px/1.15 "Hedvig Letters Serif", serif; color: #2F4A33; }
.shop-locate-card ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 12px; color: #1F3322; font-size: 16px; }
.shop-locate-card li { display: flex; gap: 12px; align-items: flex-start; overflow-wrap: anywhere; }
.shop-locate-card a:not(.products-more) { color: inherit; }
.shop-locate-card .products-more { align-self: flex-start; margin: 0; }
@media (max-width: 809.98px) { .shop-locate { grid-template-columns: 1fr; } .shop-locate-map { min-height: 260px; } .shop-locate-card { padding: 24px; } }
.wheel-link { position: absolute; inset: 0; z-index: 2; border-radius: inherit; }
/* Each wheel arm is a big rotated box that overlaps its neighbours: only the pill links take clicks */
[data-db-name="Avatar List"], [data-db-name="Avatar List"] * { pointer-events: none; }
[data-db-name="Avatar List"] .wheel-link { pointer-events: auto; cursor: pointer; }
/* Hero title on two lines ("Îngrijire naturală," / "certificată bio"), on phones too */
[data-db-name="Top"] h1 { text-wrap: balance; }
@media (max-width: 809.98px) { [data-db-name="Top"] h1.db-styles-preset-mhl0zg { --db-font-size: 34px !important; font-size: 34px !important; } }
/* Newsletter window */
.nl { width: min(780px, calc(100vw - 32px)); padding: 0; border: 0; border-radius: 28px; overflow: hidden; background: #FBF7EF; color: #1F3322; box-shadow: 0 30px 80px rgba(31, 51, 34, .35); }
.nl[open] { display: grid; grid-template-columns: 1fr 1.25fr; animation: nl-in .5s cubic-bezier(.16,1,.3,1); }
.nl::backdrop { background: rgba(31, 51, 34, .45); backdrop-filter: blur(3px); }
@keyframes nl-in { from { opacity: 0; transform: translateY(30px) scale(.97); } }
.nl-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.nl-body { position: relative; padding: 40px 36px 28px; display: flex; flex-direction: column; gap: 12px; }
.nl-body .page-hero-badge { align-self: flex-start; }
.nl h2 { margin: 0; font: 400 32px/1.15 "Hedvig Letters Serif", Georgia, serif; color: #2F4A33; }
.nl-text { margin: 0; font-size: 15px; line-height: 1.6; color: #5A5E55; }
.nl-form { display: flex; flex-direction: column; gap: 10px; margin-top: 4px; }
.nl-field input { width: 100%; box-sizing: border-box; padding: 14px 18px; border: 1px solid rgba(47, 74, 51, .2); border-radius: 999px; background: #fff; font: inherit; font-size: 15px; color: #1F3322; }
.nl-field input:focus { outline: 2px solid #4F7A32; outline-offset: 1px; }
.nl-consent { display: flex; gap: 8px; align-items: flex-start; font-size: 12.5px; line-height: 1.5; color: #5A5E55; }
.nl-consent input { margin-top: 2px; accent-color: #2F4A33; }
.nl-consent a { color: #2F4A33; }
.nl-submit { padding: 14px 20px; border: 0; border-radius: 999px; background: #2F4A33; color: #fff; font-family: inherit; font-size: 15px; font-weight: 600; cursor: pointer; transition: background .2s; }
.nl-submit:hover { background: #1F3322; }
.nl-submit:disabled { opacity: .6; cursor: wait; }
.nl-error { margin: 0; font-size: 13px; color: #B3261E; }
.nl-done-text { margin: 0; font-size: 16px; font-weight: 500; color: #2F4A33; }
.nl-code { margin-top: 10px; padding: 14px; border: 2px dashed #4F7A32; border-radius: 14px; text-align: center; background: #fff; }
.nl-code small { display: block; font-size: 12px; color: #5A5E55; }
.nl-code strong { font-size: 24px; letter-spacing: 3px; color: #2F4A33; }
.nl-later { align-self: center; border: 0; background: none; color: #5A5E55; font: inherit; font-size: 13px; text-decoration: underline; cursor: pointer; }
.nl-close { position: absolute; top: 14px; right: 14px; z-index: 2; display: grid; place-content: center; width: 36px; height: 36px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .9); color: #1F3322; cursor: pointer; }
.nl-close svg { stroke: currentColor; stroke-width: 2; fill: none; }
.nl-hp { position: absolute; left: -9999px; width: 1px; height: 1px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (max-width: 640px) { .nl[open] { grid-template-columns: 1fr; } .nl-media { height: 150px; } .nl-body { padding: 24px 22px 18px; } .nl h2 { font-size: 26px; } }

/* A few products (e.g. two offers) sit centred instead of leaving an empty row */
.product-grid[data-few] { grid-template-columns: repeat(auto-fit, minmax(220px, 280px)) !important; justify-content: center; }
/* Subcategories row under a picked main category */
.shop-chips-sub { margin-top: 10px; padding: 10px 0 0 14px; border-left: 2px solid #C9D8B8; }
.shop-chips-sub .shop-chip { font-size: 13px; padding: 6px 12px; }
.shop-chip.is-open { border-color: #2F4A33; box-shadow: inset 0 0 0 1px #2F4A33; }
/* Out of stock: listed last, greyed, with a tag */
.product-stock.is-out { color: #9A4B3C; font-weight: 600; }
.product-badge-out { background: #6B6F66 !important; color: #fff !important; }
.product-card.is-out .product-img img { opacity: .55; filter: grayscale(.6); }
.pd-actions-note a { color: #2F4A33; font-weight: 600; }

/* "Cumpărături simple" card: one photo instead of the template's two reaching hands */
.db-l8vniz .db-ttwvig { display: none; }
.db-l8vniz .db-12be23i { width: 100%; flex: 1 0 100%; align-self: stretch; }
.db-l8vniz .db-12be23i .db-1wwygzn { aspect-ratio: auto !important; height: 100% !important; min-height: 140px; transform: none !important; opacity: 1 !important; }



/* Reviews: beige cards matching the "Ingrediente…" bento above */
.reviews { width: 100%; max-width: 1400px; margin: 0 auto; padding: 40px 30px 120px; border-radius: 0; background: none; }
.reviews-intro { display: flex; flex-direction: column; align-items: center; gap: 18px; margin: 0 auto 48px; text-align: center; }
.reviews-intro h2 { margin: 0; max-width: 1000px; font: 400 64px/1.15 "Hedvig Letters Serif", serif; color: #2F4A33; text-wrap: balance; }
.reviews-rating { margin: 0; font: 500 15px/1.4 "General Sans", "Inter", sans-serif; color: #5A5E55; }
.reviews-rating .product-stars { font-size: 16px; letter-spacing: 2px; margin-right: 6px; vertical-align: -1px; }
.reviews .reviews-track { animation-duration: 60s; }
.reviews .rv-row { display: flex; flex: none; gap: 20px; margin: 0; padding: 0 20px 0 0; list-style: none; }
.rv-card { display: flex; flex-direction: column; flex: none; gap: 20px; width: 400px; padding: 34px; border-radius: 30px; background: #F2EEE2; box-sizing: border-box; }
.rv-card .product-stars { font-size: 16px; letter-spacing: 2px; }
.rv-card blockquote { flex: 1; margin: 0; font: 400 22px/1.45 "Hedvig Letters Serif", serif; color: #1F3322; }
.rv-card footer { display: flex; align-items: center; gap: 14px; }
.rv-card footer img { flex: none; width: 56px; height: 56px; border-radius: 14px; background: #fff; object-fit: contain; }
.rv-card footer span { display: flex; flex-direction: column; gap: 2px; min-width: 0; font: 500 14px/1.4 "General Sans", "Inter", sans-serif; color: #5A5E55; }
.rv-card footer strong { font-size: 15px; font-weight: 600; color: #2F4A33; }
.rv-card footer a { color: inherit; text-decoration: none; }
.rv-card footer a:hover { color: #2F4A33; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1199.98px) { .reviews-intro h2 { font-size: 52px; } }
@media (max-width: 809.98px) {
    .reviews { width: 100%; margin: 0; padding: 20px 16px 70px; }
    .reviews-intro { margin-bottom: 28px; }
    .reviews-intro h2 { font-size: 38px; }
    .reviews .rv-row { gap: 12px; padding-right: 12px; }
    .rv-card { width: 290px; padding: 24px; border-radius: 24px; }
    .rv-card blockquote { font-size: 19px; }
}

/* Home: the same gap (120px desktop, 64px phone) between every section */
.badges { padding-bottom: 120px !important; }
#service.products-section { padding-bottom: 120px !important; }
.reviews { max-width: 1360px; padding-top: 40px; padding-bottom: 120px; }
.db-nb6602 { padding-bottom: 120px !important; }
@media (max-width: 809.98px) {
    .badges { padding-bottom: 64px !important; }
    #service.products-section { padding-bottom: 64px !important; }
    .reviews { padding-top: 20px; padding-bottom: 64px; }
    .db-nb6602 { padding-bottom: 64px !important; }
}

/* Reviews on a soft sage panel, same width as the cards above */
.reviews { max-width: none; width: 100% !important; margin-left: 0; margin-right: 0; padding: 100px 0 110px; border-radius: 0; background: #EDF1E4; }
.reviews .reviews-intro { padding: 0 30px; }
.reviews .rv-card { background: #fff; }
.reviews .rv-card footer img { background: #F2EEE2; }
.reviews + * { margin-top: 120px; }
@media (max-width: 809.98px) {
    .reviews { width: 100% !important; padding: 60px 0 64px; border-radius: 0; }
    .reviews .reviews-intro { padding: 0 16px; }
    .reviews + * { margin-top: 64px; }
}

/* Why InspireBio bento */
.why-ib { width: 100%; max-width: 1360px; margin: 0 auto; padding: 0 30px 120px; box-sizing: border-box; font-family: "General Sans", "Inter", sans-serif; color: #1F3322; }
.why-ib-head { display: flex; flex-direction: column; align-items: center; gap: 18px; margin-bottom: 48px; text-align: center; }
.why-ib-head h2 { margin: 0; max-width: 1000px; font: 400 64px/1.12 "Hedvig Letters Serif", serif; color: #2F4A33; text-wrap: balance; }
.why-ib-grid { display: grid; grid-template-columns: 1fr 1.12fr .88fr; gap: 20px; }
.why-ib-col { display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.ib-card { position: relative; display: flex; flex-direction: column; gap: 14px; margin: 0; padding: 32px; border-radius: 30px; background: #F2EEE2; overflow: hidden; box-sizing: border-box; }
.ib-card h3 { margin: 0; font: 400 30px/1.15 "Hedvig Letters Serif", serif; color: #2F4A33; }
.ib-card p { margin: 0; font-size: 15px; line-height: 1.55; color: #5A5E55; }
.ib-eyebrow { font-size: 12px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: #4F7A32; }

.ib-photo { flex: 1; min-height: 520px; padding: 0; justify-content: flex-end; background: #2F4A33; }
.ib-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.16,1,.3,1); }
.ib-photo:hover img { transform: scale(1.04); }
.ib-photo::after { content: ""; position: absolute; inset: 40% 0 0; background: linear-gradient(transparent, rgba(24, 40, 27, .82)); }
.ib-photo figcaption { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 10px; padding: 32px; color: rgba(255, 255, 255, .85); font-size: 15px; line-height: 1.5; }
.ib-photo figcaption strong { font: 400 32px/1.15 "Hedvig Letters Serif", serif; color: #fff; }
.ib-photo .ib-eyebrow { color: #cfe6b5; }
.ib-ingredients { min-height: 300px; }
.ib-ingredients::after { inset: 0; background: linear-gradient(180deg, rgba(24, 40, 27, .05) 0%, rgba(24, 40, 27, .55) 45%, rgba(24, 40, 27, .92) 100%); }
.ib-free { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0 0; padding: 0; list-style: none; }
.ib-free li { padding: 6px 12px; border-radius: 30px; background: rgba(255, 255, 255, .14); backdrop-filter: blur(6px); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .28); color: #fff; font-size: 13px; font-weight: 500; }

.ib-advice { align-items: flex-start; }
.ib-button { display: inline-flex; align-items: center; gap: 8px; margin-top: 8px; padding: 13px 22px; border-radius: 30px; background: #2F4A33; color: #fff; font-size: 15px; font-weight: 500; text-decoration: none; transition: background-color .3s; }
.ib-button:hover { background: #4F7A32; }
.ib-button span, .ib-more span, .ib-arrow { transition: transform .3s; }
.ib-button:hover span, .ib-more:hover span { transform: translateX(4px); }

.ib-shop ul { display: grid; gap: 0; margin: 6px 0 0; padding: 0; list-style: none; }
.ib-shop li { display: flex; align-items: center; gap: 16px; padding: 14px 0; border-top: 1px solid rgba(47, 74, 51, .12); }
.ib-shop svg { flex: none; width: 44px; height: 44px; padding: 11px; border-radius: 50%; background: #fff; fill: none; stroke: #2F4A33; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; box-sizing: border-box; }
.ib-shop li span { display: flex; flex-direction: column; font-size: 14px; line-height: 1.45; color: #5A5E55; }
.ib-shop li strong { font-size: 16px; font-weight: 600; color: #1F3322; }

.ib-skin { align-items: center; text-align: center; }
.ib-faces { display: flex; align-items: center; margin-bottom: 4px; }
.ib-faces img { width: 64px; height: 64px; margin: 0 -8px; border-radius: 50%; object-fit: cover; border: 3px solid #F2EEE2; }
.ib-faces img:nth-child(2) { width: 84px; height: 84px; position: relative; z-index: 1; }
.ib-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 6px 0 0; padding: 0; list-style: none; }
.ib-chips a { display: inline-block; padding: 8px 14px; border-radius: 30px; background: #fff; color: #2F4A33; font-size: 14px; font-weight: 500; text-decoration: none; transition: background-color .3s, color .3s; }
.ib-chips a:hover { background: #2F4A33; color: #fff; }


.ib-store { isolation: isolate; padding-right: 96px; }
.ib-store::after { content: "Sibiu"; position: absolute; z-index: -1; right: 18px; bottom: 22px; writing-mode: vertical-rl; transform: rotate(180deg); font: 400 72px/1 "Hedvig Letters Serif", serif; color: rgba(47, 74, 51, .09); pointer-events: none; }
.ib-store dl { display: flex; gap: 28px; margin: 10px 0 0; }
.ib-store dt { font: 400 42px/1 "Hedvig Letters Serif", serif; color: #2F4A33; }
.ib-store dd { margin: 6px 0 0; font-size: 14px; color: #5A5E55; }
.ib-store dl div + div { padding-left: 28px; border-left: 1px solid rgba(47, 74, 51, .15); }
.ib-address { padding-top: 14px; border-top: 1px solid rgba(47, 74, 51, .12); max-width: 75%; }

.ib-brands { flex: 1; background: #2F4A33; }
.ib-brands h3 { color: #fff; }
.ib-brands .ib-eyebrow { color: #cfe6b5; }
.ib-brands ul { margin: 8px 0 0; padding: 0; list-style: none; }
.ib-brands li a { display: flex; align-items: baseline; gap: 10px; padding: 13px 0; border-top: 1px solid rgba(251, 247, 239, .14); color: #fff; text-decoration: none; }
.ib-brands li a span:first-child { font: 400 21px/1.2 "Hedvig Letters Serif", serif; }
.ib-brands li small { margin-left: auto; font-size: 13px; color: rgba(251, 247, 239, .6); }
.ib-brands .ib-arrow { color: #cfe6b5; }
.ib-brands li a:hover .ib-arrow { transform: translateX(4px); }
.ib-more { margin-top: auto; padding-top: 12px; color: #cfe6b5; font-size: 15px; font-weight: 500; text-decoration: none; }

.ib-card a:focus-visible { outline: 2px solid #7CB342; outline-offset: 3px; }
@media (max-width: 1199.98px) {
    .why-ib-grid { grid-template-columns: 1fr 1fr; }
    .why-ib-col:last-child { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; }
    .ib-store { justify-content: center; }
    .why-ib-head h2 { font-size: 52px; }
}
@media (max-width: 809.98px) {
    .why-ib { padding: 0 16px 64px; }
    .why-ib-head { margin-bottom: 28px; }
    .why-ib-head h2 { font-size: 38px; }
    .why-ib-grid, .why-ib-col:last-child { grid-template-columns: 1fr; }
    .why-ib-grid { gap: 12px; }
    .why-ib-col { gap: 12px; }
    .ib-card { padding: 24px; border-radius: 24px; }
    .ib-photo { min-height: 440px; padding: 0; }
    .ib-ingredients { min-height: 320px; }
    .ib-photo figcaption { padding: 24px; }
    .ib-card h3 { font-size: 26px; }
    .ib-store::after { font-size: 54px; }
}
@media (max-width: 809.98px) { .ib-store { padding-right: 76px; } }

/* About page */
.ab-hero, .ab-story, .ab-values, .ab-visit { width: 100%; max-width: 1360px; margin: 0 auto; padding: 0 30px 120px; box-sizing: border-box; font-family: "General Sans", "Inter", sans-serif; color: #1F3322; }
.ab-hero { display: grid; grid-template-columns: 1fr 1.25fr; align-items: center; gap: 60px; padding-top: 60px; }
.ab-hero-text { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; }
.ab-hero h1 { margin: 0; font: 400 76px/1.05 "Hedvig Letters Serif", serif; color: #2F4A33; }
.ab-hero-text > p { margin: 0; max-width: 500px; font-size: 18px; line-height: 1.55; color: #5A5E55; }
.ab-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px; }
.ab-btn { display: inline-flex; align-items: center; gap: 8px; padding: 14px 24px; border-radius: 30px; background: #2F4A33; color: #fff; font-size: 15px; font-weight: 500; text-decoration: none; transition: background-color .3s, color .3s, box-shadow .3s; }
.ab-btn:hover { background: #4F7A32; }
.ab-btn span { transition: transform .3s; }
.ab-btn:hover span { transform: translateX(4px); }
.ab-btn-line { background: transparent; color: #2F4A33; box-shadow: inset 0 0 0 1px #2F4A33; }
.ab-btn-line:hover { background: #2F4A33; color: #fff; }
.ab-btn-light { background: #FBF7EF; color: #2F4A33; }
.ab-btn-light:hover { background: #fff; }
.ab-btn-ghost { background: transparent; color: #fff; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .4); }
.ab-btn-ghost:hover { background: rgba(255, 255, 255, .1); }
.ab-hero-photos { display: grid; grid-template-columns: 1fr 1.15fr 1fr; align-items: end; gap: 16px; }
.ab-hero-photos img { width: 100%; aspect-ratio: 4/5; object-fit: cover; border-radius: 26px; }
.ab-hero-photos img:nth-child(2) { aspect-ratio: 4/5.6; }

.ab-head { display: flex; flex-direction: column; align-items: center; gap: 18px; margin-bottom: 48px; text-align: center; }
.ab-head h2, .ab-story h2 { margin: 0; font: 400 64px/1.12 "Hedvig Letters Serif", serif; color: #2F4A33; text-wrap: balance; }
.ab-eyebrow { font-size: 12px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: #cfe6b5; }

.ab-story { display: grid; grid-template-columns: 1fr 1.1fr; align-items: center; gap: 80px; }
.ab-story-photo { display: grid; place-items: center; aspect-ratio: 1; padding: 40px; border-radius: 30px; background: #F2EEE2; box-sizing: border-box; }
.ab-story-photo img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.ab-story-text { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.ab-story-text p { margin: 0; font-size: 16px; line-height: 1.65; color: #5A5E55; }
.ab-story-text .ab-lead { font: 400 26px/1.4 "Hedvig Letters Serif", serif; color: #1F3322; }
.ab-facts { display: grid; grid-template-columns: repeat(3, 1fr); width: 100%; margin: 14px 0 0; border-top: 1px solid rgba(47, 74, 51, .15); }
.ab-facts div { padding: 22px 16px 0 0; }
.ab-facts div + div { padding-left: 22px; border-left: 1px solid rgba(47, 74, 51, .15); }
.ab-facts dt { font: 400 38px/1 "Hedvig Letters Serif", serif; color: #2F4A33; }
.ab-facts dd { margin: 8px 0 0; font-size: 14px; color: #5A5E55; }

.ab-values-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 20px; }
.ab-quote { position: relative; display: flex; align-items: flex-end; min-height: 520px; margin: 0; border-radius: 30px; overflow: hidden; background: #2F4A33; }
.ab-quote img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ab-quote::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(24, 40, 27, .05) 20%, rgba(24, 40, 27, .9)); }
.ab-quote figcaption { position: relative; z-index: 1; padding: 36px; font: 400 30px/1.3 "Hedvig Letters Serif", serif; color: #fff; }
.ab-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 0; padding: 0; list-style: none; }
.ab-card { display: flex; flex-direction: column; gap: 12px; padding: 32px; border-radius: 30px; background: #F2EEE2; }
.ab-icon { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 10px; border-radius: 50%; background: #fff; color: #2F4A33; }
.ab-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.ab-card h3 { margin: 0; font: 400 26px/1.2 "Hedvig Letters Serif", serif; color: #2F4A33; }
.ab-card p { margin: 0; font-size: 15px; line-height: 1.55; color: #5A5E55; }

.ab-visit-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 20px; }
.ab-visit-card { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; padding: 40px; border-radius: 30px; background: #2F4A33; color: rgba(255, 255, 255, .8); }
.ab-visit-card h3 { margin: 0; font: 400 34px/1.2 "Hedvig Letters Serif", serif; color: #fff; }
.ab-visit-card p { margin: 0; font-size: 15px; line-height: 1.6; }
.ab-visit-card ul { display: grid; gap: 0; width: 100%; margin: 6px 0 0; padding: 0; list-style: none; }
.ab-visit-card li a { display: block; padding: 13px 0; border-top: 1px solid rgba(255, 255, 255, .14); color: #fff; font: 400 20px/1.3 "Hedvig Letters Serif", serif; text-decoration: none; }
.ab-visit-card li a:hover { color: #cfe6b5; }
.ab-visit-card .ab-actions { margin-top: auto; padding-top: 10px; }
.ab-mosaic { display: grid; grid-template-columns: 1.3fr 1fr; grid-template-rows: 1fr 1fr; gap: 20px; min-height: 520px; }
.ab-mosaic img { width: 100%; height: 100%; object-fit: cover; border-radius: 30px; min-height: 0; }
.ab-mosaic img:first-child { grid-row: span 2; }
.ab-mosaic img:last-child { display: none; }

@media (max-width: 1199.98px) {
    .ab-hero { grid-template-columns: 1fr; gap: 40px; }
    .ab-hero h1 { font-size: 60px; }
    .ab-head h2, .ab-story h2 { font-size: 52px; }
    .ab-story { gap: 48px; }
    .ab-values-grid, .ab-visit-grid { grid-template-columns: 1fr; }
    .ab-quote { min-height: 380px; }
}
@media (max-width: 809.98px) {
    .ab-hero, .ab-story, .ab-values, .ab-visit { padding: 0 16px 64px; }
    .ab-hero { padding-top: 24px; gap: 28px; }
    .ab-hero h1 { font-size: 44px; }
    .ab-hero-photos { gap: 8px; }
    .ab-hero-photos img { border-radius: 18px; }
    .ab-head { margin-bottom: 28px; }
    .ab-head h2, .ab-story h2 { font-size: 38px; }
    .ab-story { grid-template-columns: 1fr; gap: 28px; }
    .ab-story-photo { padding: 24px; border-radius: 24px; }
    .ab-story-text .ab-lead { font-size: 22px; }
    .ab-facts dt { font-size: 28px; }
    .ab-facts div + div { padding-left: 12px; }
    .ab-cards { grid-template-columns: 1fr; gap: 12px; }
    .ab-values-grid, .ab-visit-grid { gap: 12px; }
    .ab-card { padding: 24px; border-radius: 24px; }
    .ab-quote { min-height: 320px; border-radius: 24px; }
    .ab-quote figcaption { padding: 24px; font-size: 24px; }
    .ab-visit-card { padding: 28px 24px; border-radius: 24px; }
    .ab-visit-card h3 { font-size: 28px; }
    .ab-mosaic { grid-template-columns: 1fr 1fr; min-height: 0; gap: 8px; }
    .ab-mosaic img { aspect-ratio: 1; border-radius: 18px; }
    .ab-mosaic img:first-child { grid-row: auto; grid-column: 1 / -1; aspect-ratio: 16/10; }
}

/* Contact: title, details and map on the left, the form on the right */
@media (min-width: 1024px) {
    .db-19td3e2 { display: grid !important; grid-template-columns: 1fr 1.05fr; align-items: start; gap: 64px !important; overflow: visible !important; max-width: 1300px !important; width: 100% !important; margin: 0 auto; }
    .db-1muzife { align-items: flex-start !important; width: 100% !important; max-width: none !important; }
    .db-1muzife .db-sst4pz { width: 100% !important; }
    .db-1muzife h1 { --db-text-alignment: left !important; text-align: left !important; font-size: 72px !important; text-wrap: balance; }
    .db-1p7rihr { width: 100% !important; max-width: none !important; margin: 0 !important; }
}
@media (min-width: 810px) and (max-width: 1023.98px) { .db-1muzife { max-width: 1200px !important; width: 100% !important; } .db-sst4pz { width: 100% !important; } .db-sst4pz h1 { text-wrap: balance; } }
.ct-info { display: flex; flex-direction: column; gap: 24px; width: 100%; margin-top: 8px; font-family: "General Sans", "Inter", sans-serif; }
.ct-intro { margin: 0; max-width: 520px; font-size: 18px; line-height: 1.55; color: #5A5E55; }
.ct-list { display: grid; margin: 0; padding: 0; list-style: none; }
.ct-list li { display: flex; align-items: center; gap: 16px; padding: 16px 0; border-top: 1px solid rgba(47, 74, 51, .12); }
.ct-list li:last-child { border-bottom: 1px solid rgba(47, 74, 51, .12); }
.ct-list li > span:last-child { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ct-list small { font-size: 12px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: #4F7A32; }
.ct-list a { color: #1F3322; font: 400 21px/1.3 "Hedvig Letters Serif", serif; text-decoration: none; overflow-wrap: anywhere; }
.ct-list a:hover { color: #4F7A32; }
.ct-icon { display: grid; place-items: center; flex: none; width: 46px; height: 46px; border-radius: 50%; background: #F2EEE2; color: #2F4A33; }
.ct-icon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.ct-map { position: relative; display: block; border-radius: 26px; overflow: hidden; aspect-ratio: 16/9; }
.ct-map img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 1s cubic-bezier(.16,1,.3,1); }
.ct-map:hover img { transform: scale(1.03); }
.ct-map-label { position: absolute; right: 14px; bottom: 14px; padding: 10px 16px; border-radius: 30px; background: #fff; color: #2F4A33; font-size: 14px; font-weight: 500; box-shadow: 0 6px 20px rgba(31, 51, 34, .15); }
@media (max-width: 1023.98px) { .ct-info { max-width: 640px; margin: 8px auto 0; } .ct-intro { text-align: center; margin: 0 auto; } }
@media (max-width: 809.98px) { .ct-list a { font-size: 18px; } .ct-map { border-radius: 20px; } }

/* Shop page: title starts at the same height as Contact and Blog */
.shop { padding-top: 90px !important; }
@media (max-width: 809.98px) { .shop { padding-top: 110px !important; } }
/* Contact FAQ: title on the left, questions on the right */
@media (min-width: 1024px) {
    .db-s8h19o .db-1dndhq9 { display: grid !important; grid-template-columns: .8fr 1.2fr; align-items: start; gap: 64px !important; width: 100% !important; max-width: 1300px !important; }
    .db-s8h19o .db-1hl9n11, .db-s8h19o .db-h8racw { width: 100% !important; align-items: flex-start !important; }
    .db-s8h19o .db-1hl9n11 * { --db-text-alignment: left !important; text-align: left !important; }
    .db-s8h19o .db-1ur30f2 { width: 100% !important; }
}
/* Contact: the form card runs down to the bottom of the map; the message box takes the extra height */
@media (min-width: 1024px) {
    .db-19td3e2 { align-items: stretch !important; }
    .db-1p7rihr { height: auto !important; align-self: stretch !important; }
    .db-1p7rihr .db-1fqf1gj { flex: 1 1 auto !important; }
    .db-1p7rihr .db-1fqf1gj .db-form-text-input { flex: 1 1 auto !important; height: auto !important; }
    .db-1p7rihr .db-1fqf1gj textarea { height: 100% !important; min-height: 140px; }
}

/* Header: categories under "Magazin" (desktop + tablet) */
.has-shop-menu { position: relative; }
.has-shop-menu > p > a::after { content: ""; display: inline-block; width: 6px; height: 6px; margin-left: 7px; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: translateY(-3px) rotate(45deg); transition: transform .2s; }
.has-shop-menu:hover > p > a::after, .has-shop-menu:focus-within > p > a::after { transform: translateY(0) rotate(-135deg); }
.shop-menu { position: absolute; top: 100%; left: -16px; z-index: 50; padding-top: 14px; transform: translateY(6px); opacity: 0; visibility: hidden; transition: opacity .2s, transform .2s, visibility .2s; }
.has-shop-menu:hover .shop-menu, .has-shop-menu:focus-within .shop-menu { opacity: 1; visibility: visible; transform: none; }
.shop-menu-panel {
    display: flex; gap: 22px; width: max-content; max-width: calc(100vw - 32px); padding: 18px; box-sizing: border-box;
    background: #fff; border-radius: 24px; box-shadow: 0 22px 50px rgba(31, 51, 34, .16), 0 0 0 1px rgba(47, 74, 51, .06);
    font-family: "General Sans", "Inter", sans-serif; font-size: 14px; line-height: 1.3; text-align: left; color: #2F4A33;
    white-space: normal; user-select: auto; /* the header links set pre / none */
}
.shop-menu a { text-decoration: none; color: inherit; }
.shop-menu-cats { display: grid; grid-template-columns: repeat(2, 250px); gap: 4px 10px; align-content: start; }
.shop-menu-tile { display: flex; align-items: center; gap: 12px; padding: 8px; border-radius: 16px; transition: background-color .2s; }
.shop-menu-tile:hover, .shop-menu-tile:focus-visible { background: #F7F2E8; }
.shop-menu-img { flex: none; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; background: #F7F2E8; overflow: hidden; transition: background-color .2s; }
.shop-menu-tile:hover .shop-menu-img { background: #fff; }
.shop-menu-img img { width: 44px; height: 44px; object-fit: contain; mix-blend-mode: multiply; transition: transform .3s; } /* packshots are on white */
.shop-menu-cat:has(.shop-menu-subs) { grid-column: 1 / -1; }
.shop-menu-tile:hover .shop-menu-img img { transform: scale(1.08); }
.shop-menu-name { display: flex; flex-direction: column; gap: 3px; font-weight: 600; font-size: 15px; }
.shop-menu-name small { font-weight: 400; font-size: 12.5px; color: #6B6F66; }
.shop-menu-subs { display: flex; flex-wrap: wrap; gap: 6px; margin-top: -4px; padding: 0 8px 10px 72px; }
.shop-menu-subs a { padding: 4px 10px; border-radius: 30px; background: #F7F2E8; font-size: 12.5px; color: #4F5A4C; transition: background-color .2s, color .2s; }
.shop-menu-subs a:hover, .shop-menu-subs a:focus-visible { background: #2F4A33; color: #fff; }
.shop-menu-all { grid-column: 1 / -1; margin-top: 6px; padding: 12px 8px 2px; border-top: 1px solid rgba(47, 74, 51, .1); font-weight: 600; }
.shop-menu-all:hover, .shop-menu-all:focus-visible { color: #4F7A32; }
.shop-menu-promo { display: flex; flex-direction: column; gap: 6px; width: 230px; padding: 16px; box-sizing: border-box; border-radius: 18px; background: #2F4A33; color: #fff !important; }
.shop-menu-promo-img { display: grid; place-items: center; height: 170px; margin-bottom: 8px; border-radius: 12px; background: #fff; overflow: hidden; }
.shop-menu-promo-img img { width: 100%; height: 100%; object-fit: contain; transition: transform .4s; }
.shop-menu-promo:hover .shop-menu-promo-img img { transform: scale(1.05); }
.shop-menu-promo strong { font-family: "Hedvig Letters Serif", serif; font-weight: 400; font-size: 21px; line-height: 1.2; }
.shop-menu-promo span:not(.shop-menu-promo-img) { font-size: 13px; color: rgba(255, 255, 255, .78); }
.shop-menu-promo em { margin-top: auto; padding-top: 10px; font-style: normal; font-weight: 600; color: #B9DB8C; }
@media (max-width: 1199.98px) {
    .shop-menu-promo { display: none; }
    .shop-menu-cats { grid-template-columns: repeat(2, 230px); }
    /* Tablet: centred under the link, or it runs off the right edge once the header turns into the pill */
    .shop-menu { left: 50%; transform: translate(-50%, 6px); }
    .has-shop-menu:hover .shop-menu, .has-shop-menu:focus-within .shop-menu { transform: translate(-50%, 0); }
}
@media (prefers-reduced-motion: reduce) { .shop-menu, .shop-menu *, .has-shop-menu > p > a::after { transition: none !important; } }

/* Tablet header: the four links + language + icons + contact did not fit (links hid under the icons below ~1060px) */
@media (min-width: 810px) and (max-width: 1199.98px) {
    /* Icon only; the text stays for screen readers */
    header[data-db-name="Navigation - Tablet"] .db-199gl9k { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
    header[data-db-name="Navigation - Tablet"] .db-13jqj25 { gap: 2px; }
}
@media (min-width: 810px) and (max-width: 949.98px) {
    header[data-db-name="Navigation - Tablet"] .db-13jqj25 a { padding-inline: 7px !important; font-size: 15px !important; }
}

/* ---------- Shop on phones: sticky swipeable category bar + filters in a bottom sheet ----------
   The filters panel is a native popover: always shown as the sidebar on desktop, opened by "Filters" on phones.
   Browsers without popover support ignore the :popover-open rules and keep the panel inline, as before. */
#catalog { scroll-margin-top: 100px; }
.shop-filters[popover] { display: block; position: sticky; inset: auto; top: 100px; width: auto; height: auto; margin: 0; overflow: hidden; color: inherit; }
.shop-mnav, .shop-filters-close, .shop-filters-done { display: none; }
@media (max-width: 809.98px) {
    #catalog { scroll-margin-top: 0; }
    .shop-banner, .shop-note, .shop-head p { display: none; }
    .shop-head { flex-wrap: nowrap; align-items: center; gap: 12px; }
    .shop-head h2 { font-size: 22px; }
    .shop-tools { width: auto; }

    .shop-mnav {
        display: block; position: sticky; top: 56px; z-index: 4; margin: 0 -16px 14px; padding: 10px 0;
        background: var(--token-a06e5ec6-b00c-47cf-9a61-93cf95c1fb9a, #FBF7EF); border-bottom: 1px solid var(--token-748604d8-37ca-47eb-bacc-add2beac67b8, rgba(47, 74, 51, .1));
        transition: top .5s cubic-bezier(.16,1,.3,1);
    }
    .header-hidden .shop-mnav { top: 0; }
    .shop-mnav-row { display: flex; gap: 8px; padding: 0 16px; overflow-x: auto; scrollbar-width: none; overscroll-behavior-x: contain; }
    .shop-mnav-row::-webkit-scrollbar { display: none; }
    .shop-mnav .shop-chip { flex: none; white-space: nowrap; }
    .shop-mnav-sub { margin-top: 8px; }
    .shop-mnav-sub .shop-chip { padding: 6px 12px; font-size: 13px; }
    /* Stays at the left edge while the categories scroll under it */
    .shop-mnav-filters {
        position: sticky; left: 0; z-index: 1; flex: none; display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border: 0; border-radius: 30px; cursor: pointer;
        font: 500 14px/1.2 "General Sans", "Inter", sans-serif; color: #fff; background: #2F4A33; box-shadow: -16px 0 0 #FBF7EF, 6px 0 10px #FBF7EF;
    }
    .shop-mnav-filters svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
    .shop-mnav-filters b { display: grid; place-items: center; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; font-size: 11px; color: #2F4A33; background: #fff; }

    .shop-filters:not(:popover-open) { display: none; }
    .shop-filters:popover-open {
        position: fixed; inset: auto 0 0 0; width: 100%; max-width: none; max-height: 85dvh; margin: 0; padding: 0; overflow-y: auto; overscroll-behavior: contain;
        border: 0; border-radius: 24px 24px 0 0; background: var(--token-a06e5ec6-b00c-47cf-9a61-93cf95c1fb9a, #FBF7EF); box-shadow: 0 -10px 40px rgba(31, 51, 34, .18);
    }
    .shop-filters::backdrop { background: rgba(31, 51, 34, .45); }
    .shop-filters .shop-filters-head { position: sticky; top: 0; z-index: 1; display: flex; gap: 16px; background: inherit; }
    .shop-filters-head a { margin-left: auto; }
    .shop-filters-categories { display: none !important; }
    .shop-filters-close { display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; cursor: pointer; color: #1F3322; background: #F2EEE2; }
    .shop-filters-close svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
    .shop-filters-done {
        display: block; position: sticky; bottom: 0; width: calc(100% - 40px); margin: 6px 20px 20px; padding: 15px; border: 0; border-radius: 30px; cursor: pointer;
        font: 500 16px/1.2 "General Sans", "Inter", sans-serif; color: #fff; background: #2F4A33; box-shadow: 0 -12px 16px #FBF7EF;
    }
}
/* Shop: while a filter loads in place; options that would leave no products are left out or disabled */
#catalog .product-grid, #catalog .shop-head { transition: opacity .2s; }
#catalog.is-loading .product-grid, #catalog.is-loading .shop-head { opacity: .45; }
.shop-seg label:has(input:disabled) { cursor: not-allowed; }
.shop-seg input:disabled + span { opacity: .4; }
/* Favourites: the note above the login forms when a guest tapped a heart; the saved products inside the account */
.auth-note { margin: 0 0 20px; padding: 14px 16px; border-radius: 16px; font-size: 15px; line-height: 1.5; background: rgba(79, 122, 50, .1); color: #1F3322; }
[data-wishlist-page] .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1199.98px) { [data-wishlist-page] .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.product-fav:disabled { cursor: progress; }
/* B2B: account page, prices for firms, the volume discount in the cart */
.auth-note a { color: #2F4A33; font-weight: 500; }
.acc-form textarea { min-height: 110px; padding: 12px 14px; border-radius: 14px; border: 1px solid rgba(47, 74, 51, .15); background: #fff; font: inherit; font-weight: 400; font-size: 16px; color: #1F3322; resize: vertical; }
.acc-form textarea:focus { outline: none; border-color: #4F7A32; box-shadow: 0 0 0 3px rgba(79, 122, 50, .15); }
.acc-form h2 { margin-top: 8px; }
.b2b-status { border-left: 4px solid #C9D8B8; }
.b2b-status.is-approved { border-left-color: #4F7A32; }
.b2b-status.is-pending { border-left-color: #D9A441; }
.b2b-status.is-rejected { border-left-color: #B5533C; }
.b2b-note { margin: 0; padding: 12px 16px; border-radius: 12px; background: #F2EEE2; line-height: 1.5; }
.b2b-perks, .b2b-contact { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; font-size: 15px; color: #1F3322; }
.b2b-perks li::before { content: "✓"; margin-right: 10px; color: #4F7A32; font-weight: 600; }
.b2b-contact a { color: #2F4A33; font-weight: 500; }
.b2b-tiers { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.b2b-tiers div { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; border-radius: 16px; background: #F2EEE2; }
.b2b-tiers span { font-size: 13px; color: #5A5E55; }
.b2b-tiers strong { font: 400 26px/1.1 "Hedvig Letters Serif", serif; color: #2F4A33; }
.product-b2b { margin-left: 4px; padding: 2px 8px; border-radius: 20px; background: #2F4A33; color: #fff; font-size: 12px; font-weight: 500; text-decoration: none; }
.product-badge-b2b { background: #2F4A33 !important; color: #fff !important; }
.co-b2b { padding: 14px 16px; border-radius: 16px; background: rgba(79, 122, 50, .1); font-size: 14px; line-height: 1.5; color: #1F3322; }
.co-b2b p { margin: 0; }
.co-b2b-title { font-weight: 600; color: #2F4A33; margin-bottom: 2px !important; }
/* Register: person or business account */
.auth-type { margin: 2px 0 4px; }
.auth-lead-firm { display: none; }
.auth-card-alt:has([name="account_type"][value="firm"]:checked) .auth-lead-firm { display: block; }
.auth-card-alt:has([name="account_type"][value="firm"]:checked) .auth-lead-person { display: none; }
.auth-firm-field { display: none; }
.auth-card-alt:has([name="account_type"][value="firm"]:checked) .auth-firm-field { display: flex; }
