/* Approved Home/About footer, shared by cart, choice guide and checkout preview. */
.cb-footer,
.cb-footer-signup,
.cb-payment-logos {
  --cb-footer-sans: 'Avenir Next', 'Helvetica Neue', Arial, sans-serif;
  --cb-footer-serif: Didot, 'Bodoni 72', 'Bodoni MT', 'Times New Roman', serif;
  --cb-footer-bronze: #80623e;
  --cb-footer-line: #ddd5ca;
  box-sizing: border-box;
  font: 400 16px/normal var(--cb-footer-sans);
  color: #171511;
}
.cb-footer *, .cb-footer-signup *, .cb-payment-logos * { box-sizing: border-box; }
.cb-footer-signup {
  display: grid;
  grid-template-columns: minmax(0, 58fr) minmax(0, 42fr);
  max-width: 1536px;
  min-height: 310px;
  margin: 0 auto;
  background: #e9dfd2;
}
.cb-footer-signup__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 58px max(35px, calc((min(100vw, 1536px) - 1420px) / 2));
  padding-right: 65px;
}
.cb-footer-signup p {
  max-width: 570px;
  margin: 0;
  color: #4b463f;
  font-size: 14px;
  line-height: 1.65;
}
.cb-footer-signup .cb-eyebrow {
  margin-bottom: 14px;
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: .22em;
}
.cb-footer-signup h2 {
  margin: 0 0 15px;
  font: 400 clamp(2.6rem, 4vw, 4.55rem)/.98 var(--cb-footer-serif);
  letter-spacing: -.035em;
}
.cb-signup-form {
  display: flex;
  max-width: 560px;
  margin-top: 24px;
  border-bottom: 1px solid #9f8d77;
}
.cb-signup-form input {
  flex: 1;
  min-width: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 14px 4px;
  color: #171511;
  font: 13px var(--cb-footer-sans);
}
.cb-signup-form button {
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  padding: 0 4px 0 18px;
  color: #88602f;
  font: 600 11px var(--cb-footer-sans);
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
}
.cb-footer-signup__image { position: relative; overflow: hidden; }
.cb-footer-signup__image img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 63% center;
}
.cb-footer-signup__image::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #e9dfd2, transparent 24%);
  pointer-events: none;
}
.cb-footer {
  max-width: 1536px;
  margin: auto;
  padding: 58px max(25px, calc((min(100vw, 1536px) - 1420px) / 2)) 22px;
  background: #fbf8f2;
  border-top: 1px solid var(--cb-footer-line);
}
.cb-footer__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) repeat(4, minmax(0, 1fr));
  gap: 54px;
}
.cb-footer__brand img { width: 105px; height: 105px; border-radius: 50%; object-fit: cover; }
.cb-footer__brand p { max-width: 220px; margin: 17px 0; font: 400 1.35rem/1.15 var(--cb-footer-serif); }
.cb-footer h3 { margin: 3px 0 18px; font: 600 10px var(--cb-footer-sans); text-transform: uppercase; letter-spacing: .1em; }
.cb-footer nav { display: grid; gap: 10px; }
.cb-footer nav a { color: #4f4941; text-decoration: none; font-size: 12px; line-height: normal; overflow-wrap: anywhere; }
.cb-footer nav a:hover { color: #88602f; }
.cb-payment-note { font-size: 12px; line-height: 1.6; color: #4f4941; margin: 12px 0; }
.cb-social { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; }
.cb-social a {
  width: 37px;
  height: 37px;
  border: 1px solid #cfc5b9;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #39352f;
  background: rgba(255, 255, 255, .45);
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.cb-social a:hover { color: #fff; background: #a8783d; border-color: #a8783d; transform: translateY(-2px); }
.cb-social svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.cb-social .cb-youtube-icon svg, .cb-social .cb-linkedin-icon svg { stroke: none; fill: currentColor; }
.cb-payment-logos {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 38px 0 0;
  padding: 22px 0 5px;
  border-top: 1px solid var(--cb-footer-line);
  overflow-x: auto;
  scrollbar-width: thin;
  scrollbar-color: #c9bcad transparent;
}
/* Auto margin aligns right when there is room, without clipping the first logo on narrower screens. */
.cb-payment-logos > :first-child { margin-inline-start: auto; }
.cb-pay-logo {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  min-width: 52px;
  padding: 0 8px;
  border: 1px solid #d8ccbd;
  border-radius: 7px;
  background: #fff;
  color: var(--cb-footer-bronze);
  font: 700 9px/1 var(--cb-footer-sans);
  letter-spacing: -.01em;
  white-space: nowrap;
  box-shadow: 0 2px 8px rgba(31, 26, 20, .04);
}
.cb-pay-logo.cb-visa { font-size: 12px; font-style: italic; }
.cb-pay-logo.cb-apple, .cb-pay-logo.cb-bitcoin { font-size: 10px; }
.cb-pay-logo.cb-mastercard { position: relative; padding-left: 27px; }
.cb-pay-logo.cb-mastercard::before, .cb-pay-logo.cb-mastercard::after { content: ''; position: absolute; width: 13px; height: 13px; border-radius: 50%; left: 8px; background: var(--cb-footer-bronze); }
.cb-pay-logo.cb-mastercard::after { left: 15px; opacity: .42; }
.cb-pay-logo b { color: inherit; font-weight: 700; }
.cb-payment-logos--compact { flex-wrap: wrap; overflow: visible; margin: 24px 0; padding: 0; border: 0; }
.cb-payment-logos--compact > :first-child { margin-inline-start: 0; }
.cb-footer__bottom { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-top: 45px; padding-top: 19px; border-top: 1px solid var(--cb-footer-line); color: #746d64; font-size: 10px; }
.cb-footer__legal { display: flex; gap: 20px; }
.cb-age { display: flex; align-items: center; gap: 9px; }
.cb-age b { flex: 0 0 auto; width: 29px; height: 29px; border: 1px solid #8d857b; border-radius: 50%; display: grid; place-items: center; color: #39352f; }
.cb-footer :focus-visible, .cb-footer-signup :focus-visible, .cb-payment-logos:focus-visible { outline: 2px solid #88602f; outline-offset: 4px; }
@media (max-width: 1050px) {
  .cb-footer-signup { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .cb-footer-signup__copy { padding: 48px 30px; }
  .cb-footer__grid { grid-template-columns: minmax(0, 1.2fr) repeat(2, minmax(0, 1fr)); }
  .cb-footer__grid > div:nth-child(4), .cb-footer__grid > div:nth-child(5) { margin-top: 15px; }
}
@media (max-width: 600px) {
  .cb-footer-signup { grid-template-columns: minmax(0, 1fr); }
  .cb-footer-signup__copy { padding: 45px 20px; }
  .cb-footer-signup__image { min-height: 245px; }
  .cb-footer-signup__image::after { background: linear-gradient(180deg, #e9dfd2, transparent 25%); }
  .cb-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 38px 24px; }
  .cb-footer__brand { grid-column: 1 / -1; }
  .cb-footer__brand img { width: 86px; height: 86px; }
  .cb-footer__bottom { align-items: flex-start; flex-direction: column; }
  .cb-footer__legal { flex-wrap: wrap; gap: 10px 16px; }
  .cb-payment-logos > :first-child { margin-inline-start: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .cb-social a { transition: none; }
}
/* Definitieve mobiele beeldvolgorde: vaste beeldkolom naast de tekst. */
@media(max-width:900px){
  .hero__visual,.home-hero__image,.about-hero__visual,.producers-hero__visual,.club-hero__visual,.gift-hero__visual{order:-1!important;width:100%;height:390px!important;min-height:390px!important;aspect-ratio:auto!important}
  .hero__visual>img,.home-hero__image>img,.about-hero__visual>img,.producers-hero__visual>img,.club-hero__visual>img,.gift-hero__visual>img{width:100%!important;height:100%!important;object-fit:cover!important}
  .about-conscious__image,.producer-profile__image,.producer-why__image,.club-selection__visual,.product-story__image,.bio-story__image,.zero-lifestyle__image{order:-1!important;width:100%;height:360px!important;min-height:360px!important}
  .about-conscious__image>img,.producer-profile__image>img,.producer-why__image>img,.product-story__image>img,.bio-story__image>img,.zero-lifestyle__image>img{display:block;width:100%!important;height:100%!important;object-fit:cover!important}
  .footer-signup__image,.cb-footer-signup__image{order:-1!important;width:100%;height:270px!important;min-height:270px!important}
  .footer-signup__image>img,.cb-footer-signup__image>img{display:block;width:100%!important;height:100%!important;object-fit:cover!important}
}
@media(max-width:760px){
  .category-product,.zero-product,.rose-card{display:flex!important;flex-direction:column!important}
  .category-product__visual,.rose-card__visual{order:-1!important;width:100%;height:410px!important;min-height:410px!important}
  .category-product__visual img,.rose-card__visual img{object-fit:contain!important;object-position:center!important}
}
@media(max-width:430px){
  .hero__visual,.home-hero__image,.about-hero__visual,.producers-hero__visual,.club-hero__visual,.gift-hero__visual{height:350px!important;min-height:350px!important}
  .about-conscious__image,.producer-profile__image,.producer-why__image,.club-selection__visual,.product-story__image,.bio-story__image,.zero-lifestyle__image{height:330px!important;min-height:330px!important}
}

/* Duidelijke headerbediening in iedere preview: account als herkenbaar poppetje en een ruimer hart voor Mijn Kelder. */
.header .icons .account,.header .icons .heart{display:grid!important;place-items:center!important;flex:0 0 auto}
.header .icons .account{width:25px;height:25px}
.header .icons .heart{width:34px;height:34px}
.header .icons .account svg{width:24px;height:24px;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.header .icons .heart svg{width:31px;height:31px;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;transform:scale(1.04);transform-origin:center}
@media(max-width:600px){
  .header .icons{gap:9px!important}
  .header .icons .account,.header .icons .heart{display:grid!important}
  .header .icons .account{width:25px;height:25px}
  .header .icons .heart{width:34px;height:34px}
  .header .icons .account svg{width:23px;height:23px}
  .header .icons .heart svg{width:30px;height:30px}
}

/* Mobiel blijft dezelfde desktop-compositie: beeld en tekst naast elkaar. */
@media(max-width:900px){
  .hero,.ref-hero,.home-hero,.about-hero,.producers-hero,.club-hero,.gift-hero{
    display:grid!important;
    grid-template-columns:minmax(150px,.48fr) minmax(0,.52fr)!important;
    align-items:stretch!important;
    min-height:360px!important;
  }
  .hero__copy,.hero-copy,.ref-copy,.home-hero__copy,.about-hero__copy,.producers-hero__copy,.club-hero__copy,.gift-hero__copy{
    min-width:0!important;
    padding:28px 16px!important;
    align-self:center!important;
  }
  .hero__visual,.home-hero__image,.about-hero__visual,.producers-hero__visual,.club-hero__visual,.gift-hero__visual{
    order:initial!important;
    width:100%!important;
    height:360px!important;
    min-height:360px!important;
    aspect-ratio:auto!important;
  }
  .hero__visual>img,.home-hero__image>img,.about-hero__visual>img,.producers-hero__visual>img,.club-hero__visual>img,.gift-hero__visual>img{
    width:100%!important;height:100%!important;object-fit:cover!important;
  }
  .hero h1,.ref-copy h1,.home-hero h1,.about-hero h1,.producers-hero h1,.club-hero h1,.gift-hero h1{
    font-size:clamp(1.9rem,7vw,3.2rem)!important;
    line-height:.96!important;
    letter-spacing:-.04em!important;
    overflow-wrap:anywhere;
  }
  .hero__copy .intro,.hero-copy>p:not(.eyebrow),.ref-copy>p:not(.eyebrow,.rating-line),.home-hero__intro,.about-hero .intro,.producers-hero .intro,.club-hero .intro,.gift-hero .intro{
    font-size:11px!important;line-height:1.5!important;
  }
  .hero .actions,.hero-copy .actions,.ref-copy .actions,.home-hero .actions,.about-hero .actions,.producers-hero .actions,.club-hero .actions,.gift-hero .actions{
    gap:7px!important;flex-direction:column!important;align-items:stretch!important;margin-top:18px!important;
  }
  .hero .button,.hero .primary,.hero .secondary,.ref-copy .button,.ref-copy .primary,.ref-copy .secondary,.home-hero .button,.home-hero .primary,.home-hero .secondary,.about-hero .primary,.about-hero .secondary,.producers-hero .primary,.producers-hero .secondary,.club-hero .primary,.club-hero .secondary,.gift-hero .primary,.gift-hero .secondary{
    min-height:34px!important;padding:7px 9px!important;font-size:8px!important;white-space:normal!important;text-align:center;
  }
  .home-hero__proof,.rating-line{margin-top:18px!important;font-size:9px!important;line-height:1.35!important}
  .home-hero__proof small,.rating-line small{display:block;margin:4px 0 0!important}
  .about-hero__caption,.producer-caption,.gift-hero__visual figcaption{font-size:7px!important;right:8px!important;bottom:8px!important;padding:5px 6px!important}

  .home-origin,.story-split,.seo-home,.about-conscious,.producer-profile,.producer-why,.club-selection,.product-story,.bio-story,.zero-lifestyle{
    display:grid!important;
    grid-template-columns:minmax(150px,.48fr) minmax(0,.52fr)!important;
    gap:0!important;
    align-items:stretch!important;
  }
  .home-origin__image,.about-conscious__image,.producer-profile__image,.producer-why__image,.club-selection__visual,.product-story__image,.bio-story__image,.zero-lifestyle__image{
    order:initial!important;width:100%!important;height:330px!important;min-height:330px!important;
  }
  .home-origin__image>img,.about-conscious__image>img,.producer-profile__image>img,.producer-why__image>img,.club-selection__visual>img,.product-story__image>img,.bio-story__image>img,.zero-lifestyle__image>img{
    width:100%!important;height:100%!important;object-fit:cover!important;
  }
  .home-origin__copy,.about-conscious__copy,.producer-profile__copy,.producer-why__copy,.club-selection__copy,.product-story__copy,.bio-story__copy,.zero-lifestyle__copy,.story-split>div:last-child,.seo-home>div:last-child{
    min-width:0!important;padding:24px 16px!important;align-self:center!important;
  }
  .home-origin h2,.about-conscious h2,.producer-profile h2,.producer-why h2,.club-selection h2,.product-story h2,.bio-story h2,.zero-lifestyle h2,.story-split h2,.seo-home h2{
    font-size:clamp(1.8rem,6.8vw,2.8rem)!important;line-height:.98!important;
  }
  .home-origin p:not(.eyebrow),.about-conscious p:not(.eyebrow),.producer-profile p,.producer-why p,.club-selection p,.product-story p,.bio-story p,.zero-lifestyle p,.story-split p:not(.eyebrow),.seo-home p{
    font-size:10px!important;line-height:1.55!important;
  }

  .cb-footer-signup,.footer-signup{grid-template-columns:minmax(150px,.48fr) minmax(0,.52fr)!important;min-height:270px!important}
  .cb-footer-signup__copy,.footer-signup__copy{min-width:0!important;padding:28px 16px!important}
  .cb-footer-signup__image,.footer-signup__image{order:initial!important;width:100%!important;height:270px!important;min-height:270px!important}
  .cb-footer-signup h2,.footer-signup h2{font-size:clamp(1.8rem,7vw,3rem)!important}
  .cb-footer-signup p,.footer-signup p{font-size:10px!important;line-height:1.5!important}

  .category-product,.zero-product,.rose-card{
    display:grid!important;grid-template-columns:minmax(150px,.46fr) minmax(0,.54fr)!important;flex-direction:initial!important;min-height:0!important;
  }
  .category-product__visual,.rose-card__visual{order:initial!important;width:100%!important;height:360px!important;min-height:360px!important}
  .category-product__copy,.zero-product__copy,.rose-card__copy{min-width:0!important;padding:24px 14px!important}
  .category-product h3,.zero-product h3,.rose-card h3{font-size:clamp(1.7rem,6vw,2.8rem)!important}
  .category-product__description,.zero-product__description,.rose-card__description{font-size:10px!important;line-height:1.5!important}

  .product-layout{
    display:grid!important;
    grid-template-columns:minmax(150px,.46fr) minmax(0,.54fr)!important;
    gap:0!important;
    align-items:stretch!important;
  }
  .product-gallery,.product-info{min-width:0!important;align-self:center!important}
  .product-main-image{height:360px!important}
  .product-main-image>img{inset:6% 12%!important;width:76%!important;height:88%!important;object-fit:contain!important}
  .product-thumbs{grid-template-columns:repeat(2,1fr)!important;gap:5px!important}
  .product-thumb{height:58px!important}
  .product-info{padding:18px 13px!important}
  .product-info h1{font-size:clamp(1.8rem,7vw,3rem)!important;line-height:.96!important}
  .product-summary{font-size:11px!important;line-height:1.45!important}
  .product-facts{grid-template-columns:1fr!important;gap:6px!important;padding:14px 0!important}
  .product-fact,.reviews-link,.product-price,.stock-note,.delivery-lines{font-size:9px!important}
  .purchase-row{grid-template-columns:1fr!important;gap:7px!important}
  .quantity,.add-button,.save-button{min-height:35px!important}
  .taste-panel,.product-accordion{grid-column:1/-1!important}
  .taste-panel{margin-top:20px!important}
}
@media(max-width:430px){
  .hero,.ref-hero,.home-hero,.about-hero,.producers-hero,.club-hero,.gift-hero{grid-template-columns:minmax(132px,.46fr) minmax(0,.54fr)!important;min-height:320px!important}
  .hero__visual,.home-hero__image,.about-hero__visual,.producers-hero__visual,.club-hero__visual,.gift-hero__visual{height:320px!important;min-height:320px!important}
  .hero__copy,.hero-copy,.ref-copy,.home-hero__copy,.about-hero__copy,.producers-hero__copy,.club-hero__copy,.gift-hero__copy{padding:22px 12px!important}
  .home-origin,.story-split,.seo-home,.about-conscious,.producer-profile,.producer-why,.club-selection,.product-story,.bio-story,.zero-lifestyle{grid-template-columns:minmax(132px,.46fr) minmax(0,.54fr)!important}
  .home-origin__image,.about-conscious__image,.producer-profile__image,.producer-why__image,.club-selection__visual,.product-story__image,.bio-story__image,.zero-lifestyle__image{height:300px!important;min-height:300px!important}
  .cb-footer-signup,.footer-signup{grid-template-columns:minmax(132px,.46fr) minmax(0,.54fr)!important}
  .cb-footer-signup__image,.footer-signup__image{height:240px!important;min-height:240px!important}
  .category-product,.zero-product,.rose-card{grid-template-columns:minmax(132px,.44fr) minmax(0,.56fr)!important}
  .category-product__visual,.rose-card__visual{height:320px!important;min-height:320px!important}
  .product-main-image{height:300px!important}
  .product-info{padding:16px 10px!important}
  .product-info h1{font-size:clamp(1.65rem,7vw,2.5rem)!important}
}

/* Compacte mobiele hero: beeld en volledige copy blijven samen in beeld. */
@media (max-width:900px) and (max-height:700px){
  .hero,.ref-hero,.home-hero,.about-hero,.producers-hero,.club-hero,.gift-hero{
    grid-template-columns:minmax(0,.46fr) minmax(0,.54fr)!important;
    height:calc(100svh - 112px)!important;
    min-height:280px!important;
    max-height:380px!important;
    overflow:hidden!important;
  }
  .hero__copy,.hero-copy,.ref-copy,.home-hero__copy,.about-hero__copy,.producers-hero__copy,.club-hero__copy,.gift-hero__copy{padding:10px 11px!important;overflow:visible!important}
  .hero .eyebrow,.ref-copy .eyebrow,.home-hero .eyebrow,.about-hero .eyebrow,.producers-hero .eyebrow,.club-hero .eyebrow,.gift-hero .eyebrow{font-size:7px!important;letter-spacing:.12em!important;margin-bottom:5px!important}
  .hero h1,.ref-copy h1,.home-hero h1,.about-hero h1,.producers-hero h1,.club-hero h1,.gift-hero h1{font-size:clamp(1.15rem,6vw,1.8rem)!important;line-height:.92!important;margin:0 0 7px!important}
  .hero h1 em,.ref-copy h1 em,.home-hero h1 em{margin-top:3px!important;font-size:.78em!important}
  .hero__copy .intro,.hero-copy>p:not(.eyebrow),.ref-copy>p:not(.eyebrow,.rating-line),.home-hero__intro,.about-hero .intro,.producers-hero .intro,.club-hero .intro,.gift-hero .intro{font-size:8.5px!important;line-height:1.27!important}
  .hero .actions,.hero-copy .actions,.ref-copy .actions,.home-hero .actions,.about-hero .actions,.producers-hero .actions,.club-hero .actions,.gift-hero .actions{gap:4px!important;margin-top:7px!important;flex-direction:column!important;align-items:stretch!important}
  .hero .button,.hero .primary,.hero .secondary,.ref-copy .button,.ref-copy .primary,.ref-copy .secondary,.home-hero .button,.home-hero .primary,.home-hero .secondary,.about-hero .primary,.about-hero .secondary,.producers-hero .primary,.producers-hero .secondary,.club-hero .primary,.club-hero .secondary,.gift-hero .primary,.gift-hero .secondary{min-height:24px!important;padding:4px 5px!important;font-size:7px!important;line-height:1.15!important;white-space:normal!important}
  .home-hero__proof,.rating-line{margin-top:7px!important;font-size:7px!important;line-height:1.15!important}
  .home-hero__proof span,.rating-line span{font-size:10px!important}
  .home-hero__proof small,.rating-line small{display:block;margin:2px 0 0!important;font-size:7px!important}
  .hero__visual,.home-hero__image,.about-hero__visual,.producers-hero__visual,.club-hero__visual,.gift-hero__visual{height:100%!important;min-height:0!important}
}

/* Duidelijke account- en keldericonen in de compacte preview-header. */
.icons .account,.icons .heart{display:grid!important;place-items:center}
.icons .account svg{width:23px!important;height:23px!important;stroke-width:1.8!important}
.icons .heart svg{width:28px!important;height:28px!important;stroke-width:1.8!important}

/* Eerste mobiele scherm: hero-afbeelding en volledige copy blijven in één viewport. */
@media(max-width:900px){
  .hero,.ref-hero,.home-hero,.about-hero,.producers-hero,.club-hero,.gift-hero{
    height:calc(100svh - 170px)!important;
    min-height:0!important;
    max-height:760px!important;
  }
  .hero__visual,.home-hero__image,.about-hero__visual,.producers-hero__visual,.club-hero__visual,.gift-hero__visual{
    height:100%!important;
    min-height:0!important;
  }
  .hero__copy,.hero-copy,.ref-copy,.home-hero__copy,.about-hero__copy,.producers-hero__copy,.club-hero__copy,.gift-hero__copy{overflow:hidden!important}
  .icons .search{display:none!important}
  .icons .account,.icons .heart,.icons .cart{display:grid!important;place-items:center!important;flex:0 0 auto}
  .icons .account{width:27px!important;height:27px!important}
  .icons .heart{width:35px!important;height:35px!important}
  .icons .cart{width:27px!important;height:27px!important}
  .icons .account svg{width:22px!important;height:22px!important;stroke-width:1.45!important}
  .icons .heart svg{width:28px!important;height:28px!important;stroke-width:1.35!important}
}
.header-actions .cb-preview-account,.header-actions .cb-preview-heart,.header-actions .cb-preview-cart{display:inline-grid;place-items:center;line-height:1}
.header-actions .cb-preview-account{width:27px;height:27px}
.header-actions .cb-preview-heart{width:35px;height:35px}
.header-actions .cb-preview-account svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.header-actions .cb-preview-heart svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:430px){
  .hero .actions,.hero-copy .actions,.ref-copy .actions,.home-hero .actions,.about-hero .actions,.producers-hero .actions,.club-hero .actions,.gift-hero .actions{flex-direction:row!important;gap:4px!important}
  .hero .actions>* ,.hero-copy .actions>* ,.ref-copy .actions>* ,.home-hero .actions>* ,.about-hero .actions>* ,.producers-hero .actions>* ,.club-hero .actions>* ,.gift-hero .actions>*{min-width:0!important;flex:1 1 0!important}
}
@media(max-width:350px){
  .hero .actions,.hero-copy .actions,.ref-copy .actions,.home-hero .actions,.about-hero .actions,.producers-hero .actions,.club-hero .actions,.gift-hero .actions{flex-direction:column!important}
}

/* Laatste mobiele hero-override: alles blijft binnen het eerste scherm, zonder copy af te knippen. */
@media (max-width:900px){
  .hero,.ref-hero,.home-hero,.about-hero,.producers-hero,.club-hero,.gift-hero{
    height:clamp(240px,calc(100svh - 112px),380px)!important;
    min-height:240px!important;
    max-height:380px!important;
  }
  .hero__copy,.hero-copy,.ref-copy,.home-hero__copy,.about-hero__copy,.producers-hero__copy,.club-hero__copy,.gift-hero__copy{overflow:visible!important}
}
@media (max-width:900px) and (max-height:700px){
  .hero__copy,.hero-copy,.ref-copy,.home-hero__copy,.about-hero__copy,.producers-hero__copy,.club-hero__copy,.gift-hero__copy{padding:8px 10px!important}
  .hero .eyebrow,.ref-copy .eyebrow,.home-hero .eyebrow,.about-hero .eyebrow,.producers-hero .eyebrow,.club-hero .eyebrow,.gift-hero .eyebrow{font-size:6px!important;letter-spacing:.1em!important;margin-bottom:3px!important}
  .hero h1,.ref-copy h1,.home-hero h1,.about-hero h1,.producers-hero h1,.club-hero h1,.gift-hero h1{font-size:clamp(1rem,5.4vw,1.55rem)!important;line-height:.9!important;margin-bottom:5px!important}
  .hero h1 em,.ref-copy h1 em,.home-hero h1 em{margin-top:2px!important;font-size:.76em!important}
  .hero__copy .intro,.hero-copy>p:not(.eyebrow),.ref-copy>p:not(.eyebrow,.rating-line),.home-hero__intro,.about-hero .intro,.producers-hero .intro,.club-hero .intro,.gift-hero .intro{font-size:7.5px!important;line-height:1.2!important}
  .hero .actions,.hero-copy .actions,.ref-copy .actions,.home-hero .actions,.about-hero .actions,.producers-hero .actions,.club-hero .actions,.gift-hero .actions{gap:3px!important;margin-top:5px!important;flex-direction:row!important;align-items:center!important}
  .hero .button,.hero .primary,.hero .secondary,.ref-copy .button,.ref-copy .primary,.ref-copy .secondary,.home-hero .button,.home-hero .primary,.home-hero .secondary,.about-hero .primary,.about-hero .secondary,.producers-hero .primary,.producers-hero .secondary,.club-hero .primary,.club-hero .secondary,.gift-hero .primary,.gift-hero .secondary{min-height:20px!important;padding:3px 4px!important;font-size:6px!important;line-height:1.05!important;flex:1 1 0!important}
  .home-hero__proof,.rating-line{margin-top:5px!important;font-size:6px!important;line-height:1.05!important}
  .home-hero__proof span,.rating-line span{font-size:8px!important}
  .home-hero__proof small,.rating-line small{display:block;margin:1px 0 0!important;font-size:6px!important}
}

/* Leesbare eindinstelling voor de eerste mobiele viewport. */
@media (max-width:900px){
  .home-hero,.hero,.ref-hero,.about-hero,.producers-hero,.club-hero,.gift-hero{
    height:clamp(410px,calc(100svh - 156px),680px)!important;
    min-height:410px!important;
    max-height:680px!important;
  }
  .home-hero__copy,.hero__copy,.hero-copy,.ref-copy,.about-hero__copy,.producers-hero__copy,.club-hero__copy,.gift-hero__copy{
    padding:clamp(16px,3.4vw,34px) clamp(14px,3.8vw,42px)!important;
    overflow:visible!important;
  }
  .home-hero__image,.hero__visual,.ref-visual,.about-hero__visual,.producers-hero__visual,.club-hero__visual,.gift-hero__visual{
    height:100%!important;
    min-height:0!important;
  }
  .home-hero__image img,.hero__visual>img,.ref-visual img,.about-hero__visual>img,.producers-hero__visual>img,.club-hero__visual>img,.gift-hero__visual>img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:74% center!important;
  }
  .home-hero .eyebrow,.hero .eyebrow,.ref-copy .eyebrow,.about-hero .eyebrow,.producers-hero .eyebrow,.club-hero .eyebrow,.gift-hero .eyebrow{
    font-size:clamp(.7rem,1.9vw,.86rem)!important;
    letter-spacing:.12em!important;
    margin-bottom:.75rem!important;
  }
  .home-hero h1,.hero h1,.ref-copy h1,.about-hero h1,.producers-hero h1,.club-hero h1,.gift-hero h1{
    font-size:clamp(2rem,6.2vw,3.7rem)!important;
    line-height:.94!important;
    margin:0 0 1rem!important;
  }
  .home-hero h1 em,.hero h1 em,.ref-copy h1 em{margin-top:.2rem!important;font-size:.8em!important}
  .home-hero__intro,.hero__copy .intro,.hero-copy>p:not(.eyebrow),.ref-copy>p:not(.eyebrow,.rating-line),.about-hero .intro,.producers-hero .intro,.club-hero .intro,.gift-hero .intro{
    font-size:clamp(.875rem,2.1vw,1rem)!important;
    line-height:1.4!important;
  }
  .home-hero .actions,.hero .actions,.hero-copy .actions,.ref-copy .actions,.about-hero .actions,.producers-hero .actions,.club-hero .actions,.gift-hero .actions{
    gap:8px!important;
    margin-top:1rem!important;
    flex-direction:row!important;
    align-items:center!important;
  }
  .home-hero .button,.home-hero .text-link,.hero .button,.hero .primary,.hero .secondary,.ref-copy .button,.ref-copy .primary,.ref-copy .secondary,.about-hero .primary,.about-hero .secondary,.producers-hero .primary,.producers-hero .secondary,.club-hero .primary,.club-hero .secondary,.gift-hero .primary,.gift-hero .secondary{
    min-height:38px!important;
    padding:8px 10px!important;
    font-size:clamp(.75rem,1.8vw,.88rem)!important;
    line-height:1.15!important;
    flex:1 1 0!important;
    white-space:normal!important;
  }
  .home-hero__proof,.rating-line{margin-top:1rem!important;font-size:clamp(.75rem,1.8vw,.88rem)!important;line-height:1.25!important}
  .home-hero__proof span,.rating-line span{font-size:1.05em!important}
  .home-hero__proof small,.rating-line small{display:block;margin:3px 0 0!important;font-size:.92em!important}
}
@media (max-width:350px){
  .home-hero,.hero,.ref-hero,.about-hero,.producers-hero,.club-hero,.gift-hero{grid-template-columns:minmax(126px,.43fr) minmax(0,.57fr)!important}
  .home-hero .actions,.hero .actions,.hero-copy .actions,.ref-copy .actions,.about-hero .actions,.producers-hero .actions,.club-hero .actions,.gift-hero .actions{flex-direction:column!important;align-items:stretch!important}
}


    :root{--paper:#fbf8f2;--cream:#f2ebe1;--sand:#e9ddce;--line:#ddd5ca;--ink:#171511;--muted:#625d55;--gold:#a8783d;--gold-dark:#88602f;--green:#2e7156;--serif:Didot,'Bodoni 72','Bodoni MT','Times New Roman',serif;--sans:'Avenir Next','Helvetica Neue',Arial,sans-serif}
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    html,body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:400}
    body{min-width:320px}
    button,input,select{font:inherit}
    button,a{-webkit-tap-highlight-color:transparent}
    a{color:inherit}
    .topbar{height:35px;border-bottom:1px solid var(--line);background:#f3ede5;display:flex;align-items:center;justify-content:space-between;padding:0 max(22px,calc((100vw - 1480px)/2));font-size:9.5px}
    .topbar__items{display:flex;gap:19px;align-items:center}
    .topbar__items span{white-space:nowrap}
    .topbar__items span:before{content:'◇';color:var(--gold);margin-right:6px}
    .topbar__items span:nth-child(2):before{content:'◎'}
    .topbar__items span:nth-child(3):before{content:'♧'}
    .topbar__items span:nth-child(4):before{content:'◌'}
    .topbar__items span:nth-child(5):before{content:'○'}
    .topbar__items span:nth-child(6):before{content:'◈'}
    .topbar__items span:nth-child(7):before{content:'♢'}
    .topbar__right{display:flex;align-items:center;gap:24px}
    .language{border:0;background:transparent;color:var(--ink);font:10px var(--sans);padding:4px 17px 4px 2px}
    .header{height:105px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:140px 1fr 170px;align-items:center;padding:0 max(24px,calc((100vw - 1480px)/2));background:rgba(251,248,242,.97)}
    .logo{display:block;width:82px;height:82px}
    .logo img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}
    .nav{justify-self:center}
    .nav ul{display:flex;align-items:center;gap:46px;padding:0;margin:0;list-style:none}
    .nav a{text-decoration:none;text-transform:uppercase;font-size:10px;font-weight:600;letter-spacing:.055em;white-space:nowrap}
    .nav a:hover{color:var(--gold-dark)}
    .nav .has-sub:after{content:'⌄';font-size:10px;margin-left:7px}
    .icons{display:flex;justify-content:flex-end;align-items:center;gap:20px}
    .icon{width:22px;height:22px;display:grid;place-items:center;background:none;border:0;padding:0;color:var(--ink)}
    .icon svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.45}
    .icon.is-current{color:var(--gold-dark)}
    .cart-icon{position:relative}
    .cart-icon:after{content:attr(data-count);position:absolute;right:-7px;top:-8px;width:15px;height:15px;border-radius:50%;background:var(--gold);color:#fff;font:9px/15px var(--sans);text-align:center}
    .menu-button{display:none;border:1px solid var(--ink);background:transparent;padding:10px 13px;text-transform:uppercase;font:10px var(--sans);letter-spacing:.08em}
    .eyebrow{margin:0 0 14px;text-transform:uppercase;font-size:10px;font-weight:600;letter-spacing:.2em;color:var(--gold-dark)}


.topbar__right>a{text-decoration:none}
.skip-link{position:fixed;z-index:100;top:8px;left:8px;padding:13px 19px;background:var(--ink);color:white;transform:translateY(-180%)}
.skip-link:focus{transform:none}
:focus-visible{outline:2px solid var(--gold-dark);outline-offset:5px}
@media(max-width:1250px){.topbar__items{gap:13px}.topbar__items span:nth-child(n+5){display:none}.nav ul{gap:27px}.header{grid-template-columns:100px 1fr 150px}}
@media(max-width:1050px){
.header{position:relative;height:88px;grid-template-columns:92px 1fr auto}.logo{width:67px;height:67px}.icons{grid-column:3}
.nav{display:none}.menu-button{display:block;min-height:40px;border-color:var(--line);border-radius:999px;cursor:pointer}
.header.menu-open .nav{display:block;position:absolute;z-index:20;top:100%;left:0;right:0;justify-self:stretch;background:var(--paper);border-bottom:1px solid var(--line);padding:16px 24px;box-shadow:0 14px 18px #17151109}
.header.menu-open .nav ul{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.header.menu-open .nav a{display:block;padding:15px 0}
}
@media(max-width:720px){
.topbar{padding:0 18px}.topbar__items span:nth-child(n+3){display:none}.topbar__right>a{display:none}.topbar__right{gap:0}.language{max-width:62px}
.header{height:78px;padding:0 18px;grid-template-columns:66px 1fr auto}.logo{width:58px;height:58px}.icons{gap:16px}.icons .search,.icons .heart{display:none}
}

.gift-main{max-width:1536px;margin:auto}
.gift-main .eyebrow{font-size:.75rem;letter-spacing:.16em;line-height:1.5}
.gift-main p{line-height:1.75}
.gift-main a{text-underline-offset:5px}
.gift-hero{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);background:var(--cream)}
.gift-hero__copy{display:flex;flex-direction:column;justify-content:center;padding:35px 42px 45px max(36px,calc((min(100vw,1536px) - 1420px)/2))}
.breadcrumbs{margin:0 0 42px!important;color:var(--muted);font-size:.75rem}
.breadcrumbs a{text-decoration:none}
.breadcrumbs span{padding:0 9px;color:var(--gold-dark)}
.gift-hero h1{margin:0 0 26px;font:400 clamp(3.2rem,4.8vw,5.25rem)/1.01 var(--serif);letter-spacing:-.035em}
.gift-hero h1 em{color:var(--gold-dark);font-weight:400}
.gift-hero__intro{max-width:450px;margin:0;color:#49433b;font-size:1rem}
.gift-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 25px;margin-top:29px}
.primary{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:48px;padding:14px 23px;border:1px solid var(--gold-dark);border-radius:999px;background:var(--gold-dark);color:white;text-decoration:none;font-size:.875rem;font-weight:500;line-height:1.3;transition:background .2s ease}
.primary:hover{background:#755127}
.quiet-link{color:var(--gold-dark);font-size:.875rem;text-decoration:underline;text-decoration-thickness:1px}
.gift-hero__visual{position:relative;margin:0;min-height:570px;overflow:hidden;background:#e9dfd1}
.gift-hero__visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.gift-hero__visual:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--cream),transparent 16%)}
.gift-hero__visual figcaption{position:absolute;z-index:1;right:18px;bottom:16px;max-width:calc(100% - 36px);padding:7px 11px;background:rgba(251,248,242,.9);color:#5e554b;font-size:.75rem;line-height:1.45}
.gift-how{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;max-width:1420px;margin:0 auto;padding:31px 36px;border-bottom:1px solid var(--line);list-style:none}
.gift-how li{display:flex;align-items:flex-start;gap:16px}
.gift-how__number{color:var(--gold-dark);font:400 1.35rem var(--serif);margin-top:1px}
.gift-how strong{display:block;font-size:.875rem;font-weight:500}
.gift-how p{margin:5px 0 0;color:var(--muted);font-size:.8125rem;line-height:1.55}
.gift-section{max-width:1420px;margin:0 auto;padding:77px 36px;scroll-margin-top:30px}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:34px}
.section-heading h2,.gift-personal h2,.gift-business h2{margin:0;font:400 clamp(2.5rem,3.8vw,4rem)/1.03 var(--serif);letter-spacing:-.035em}
.section-heading>p{margin:0;max-width:380px;color:var(--muted);font-size:1rem}
.gift-selection{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.gift-product{min-width:0}
.gift-product__image{height:270px;position:relative;background:#f0e8dd;display:block;overflow:hidden}
.gift-product__image img{position:absolute;inset:25px;display:block;width:calc(100% - 50px);height:calc(100% - 50px);object-fit:contain;object-position:center;mix-blend-mode:multiply;transition:transform .3s ease}
.gift-product__image.ratafia img{inset:35px;width:calc(100% - 70px);height:calc(100% - 70px)}
.gift-product__image:hover img{transform:translateY(-4px)}
.gift-product__copy{padding:23px 0 0}
.gift-product__label{display:block;color:var(--gold-dark);font-size:.75rem;line-height:1.5;letter-spacing:.045em}
.gift-product h3{margin:8px 0 10px;font:400 1.75rem/1.12 var(--serif);letter-spacing:-.02em}
.gift-product p{max-width:370px;min-height:84px;margin:0 0 18px;color:var(--muted);font-size:1rem}
.gift-product .quiet-link{display:inline-flex;align-items:center;gap:18px;min-height:38px}
.gift-choice-help{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:32px;padding-top:25px;border-top:1px solid var(--line)}
.gift-choice-help p{margin:0;color:var(--muted);font-size:.875rem}
.gift-personal{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:80px;padding-top:22px;padding-bottom:82px}
.gift-personal__intro>p:not(.eyebrow){max-width:430px;margin:22px 0;color:var(--muted);font-size:1rem}
.gift-personal__intro .primary{margin-top:7px}
.gift-personal__intro small{display:block;max-width:380px;margin-top:16px;color:var(--muted);font-size:.8125rem;line-height:1.6}
.gift-details{margin:0;border-top:1px solid var(--line)}
.gift-details>div{padding:23px 0;border-bottom:1px solid var(--line)}
.gift-details dt{font:400 1.7rem/1.2 var(--serif)}
.gift-details dd{margin:10px 0 0;color:var(--muted);font-size:1rem;line-height:1.7}
.gift-business{max-width:1420px;margin:0 auto 76px;padding:55px 44px;background:#26231e;color:var(--paper);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:90px;scroll-margin-top:30px}
.gift-business .eyebrow{color:#d0af80}
.gift-business p:not(.eyebrow){max-width:510px;margin:25px 0 0;color:#d9d0c4;font-size:1rem}
.gift-business__details{align-self:center}
.gift-business ul{margin:0 0 27px;padding:0;list-style:none}
.gift-business li{padding:13px 0;border-bottom:1px solid #595147;color:#e8dfd3;font-size:.9375rem;line-height:1.6}
.gift-business li:first-child{padding-top:0}
.gift-business li span{display:inline-block;min-width:30px;color:#d0af80;font-size:.75rem}
.gift-business .primary{background:#d0b187;border-color:#d0b187;color:#211c15}
.gift-business .primary:hover{background:#e2c8a5}
.gift-faq{padding-top:0}
.gift-faq .section-heading{margin-bottom:24px}
.gift-question{border-top:1px solid var(--line)}
.gift-question:last-of-type{border-bottom:1px solid var(--line)}
.gift-question summary{display:flex;justify-content:space-between;align-items:center;gap:22px;min-height:66px;padding:17px 0;list-style:none;cursor:pointer;font-size:1rem;line-height:1.5}
.gift-question summary::-webkit-details-marker{display:none}
.gift-question summary:after{content:"";width:8px;height:8px;flex:0 0 8px;margin-right:7px;border-right:1px solid var(--gold-dark);border-bottom:1px solid var(--gold-dark);transform:rotate(45deg)}
.gift-question[open] summary:after{transform:rotate(225deg)}
.gift-question[open] summary{color:var(--gold-dark)}
.gift-question p{max-width:780px;margin:0;padding:0 28px 24px 0;color:var(--muted);font-size:1rem}
.gift-question a{color:var(--gold-dark)}
@media(max-width:1100px){
.gift-hero__copy{padding-left:28px;padding-right:28px}.gift-hero__visual{min-height:560px}
.gift-how{gap:20px;padding-left:28px;padding-right:28px}.gift-section{padding-left:28px;padding-right:28px}
.gift-personal{gap:40px}.gift-business{margin-left:28px;margin-right:28px;gap:40px;padding:40px 32px}
}
@media(max-width:800px){
.gift-hero{grid-template-columns:1fr}.gift-hero__copy{padding:27px 24px 38px}.breadcrumbs{margin-bottom:32px!important}.gift-hero h1{font-size:clamp(3.5rem,8.4vw,5rem)}.gift-hero__intro{max-width:570px}
.gift-hero__visual{min-height:0;aspect-ratio:4/3}.gift-hero__visual:after{background:linear-gradient(180deg,var(--cream),transparent 12%)}
.gift-how{grid-template-columns:1fr;gap:22px;padding:29px 24px}
.gift-section{padding:55px 24px}.section-heading{align-items:flex-start;flex-direction:column;gap:20px}.section-heading>p{max-width:600px}
.gift-selection{gap:20px}.gift-product__image{height:225px}.gift-product p{min-height:0;font-size:.9375rem}.gift-product h3{font-size:1.45rem}
.gift-personal{grid-template-columns:1fr;gap:30px;padding-top:0}
.gift-business{grid-template-columns:1fr;margin:0 24px 55px;padding:35px 28px;gap:30px}.gift-business p:not(.eyebrow){max-width:none}.gift-faq{padding-top:0}
}
@media(max-width:560px){
.gift-hero__copy{padding-left:20px;padding-right:20px}.gift-hero h1{font-size:clamp(3rem,11.5vw,4.3rem)}.gift-hero__visual figcaption{font-size:.75rem}
.gift-how{padding-left:20px;padding-right:20px}.gift-section{padding-left:20px;padding-right:20px}
.gift-selection{grid-template-columns:1fr;gap:34px}.gift-product{display:grid;grid-template-columns:110px minmax(0,1fr);gap:20px;align-items:center}.gift-product__image{height:238px}
.gift-product__image img{inset:16px 10px;width:calc(100% - 20px);height:calc(100% - 32px)}
.gift-product__image.ratafia img{inset:27px 14px;width:calc(100% - 28px);height:calc(100% - 54px)}
.gift-product__copy{padding:0}.gift-product p{font-size:.875rem;line-height:1.6;margin-bottom:12px}.gift-product .quiet-link{font-size:.8125rem}.gift-choice-help{align-items:flex-start;flex-direction:column;gap:10px}
.gift-business{margin-left:20px;margin-right:20px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.primary,.gift-product__image img{transition:none}}

.cb-newsletter-open { overflow: hidden; }
.cb-newsletter-overlay {
  position: fixed;
  z-index: 999;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(29, 25, 21, .48);
  backdrop-filter: blur(8px);
  animation: cb-newsletter-fade .28s ease both;
}
.cb-newsletter-modal {
  position: relative;
  width: min(100%, 620px);
  padding: clamp(34px, 6vw, 70px);
  border: 1px solid rgba(151, 119, 78, .25);
  border-radius: 3px;
  background: #fbf8f2;
  color: #171511;
  box-shadow: 0 24px 80px rgba(24, 19, 14, .24);
  animation: cb-newsletter-rise .42s cubic-bezier(.2, .7, .2, 1) both;
}
.cb-newsletter-close {
  position: absolute;
  top: 17px;
  right: 19px;
  width: 34px;
  height: 34px;
  border: 1px solid #d5c9bc;
  border-radius: 50%;
  background: transparent;
  color: #423b33;
  font: 300 23px/1 Arial, sans-serif;
  cursor: pointer;
}
.cb-newsletter-close:hover { background: #eee3d6; }
.cb-newsletter-eyebrow {
  margin: 0 0 14px;
  color: #88602f;
  font: 600 10px/1.3 'Avenir Next', 'Helvetica Neue', Arial, sans-serif;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.cb-newsletter-modal h2 {
  max-width: 480px;
  margin: 0 0 18px;
  font: 400 clamp(2.35rem, 5vw, 4.35rem)/.98 Didot, 'Bodoni 72', 'Bodoni MT', 'Times New Roman', serif;
  letter-spacing: -.04em;
}
.cb-newsletter-intro { max-width: 450px; margin: 0; color: #5b544c; font: 400 15px/1.7 'Avenir Next', 'Helvetica Neue', Arial, sans-serif; }
.cb-newsletter-popup__form { margin-top: 32px; }
.cb-newsletter-popup__form label { display: block; margin-bottom: 8px; color: #5b544c; font: 600 11px/1.3 'Avenir Next', 'Helvetica Neue', Arial, sans-serif; text-transform: uppercase; letter-spacing: .08em; }
.cb-newsletter-field { display: flex; border-bottom: 1px solid #9f8d77; }
.cb-newsletter-field input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; padding: 14px 4px; color: #171511; font: 400 15px 'Avenir Next', 'Helvetica Neue', Arial, sans-serif; }
.cb-newsletter-field button { flex: 0 0 auto; border: 0; background: transparent; padding: 0 4px 0 18px; color: #88602f; font: 600 11px 'Avenir Next', 'Helvetica Neue', Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.cb-newsletter-field button:hover { color: #594329; }
.cb-newsletter-status { min-height: 20px; margin: 10px 0 0; color: #287659; font: 500 12px/1.4 'Avenir Next', 'Helvetica Neue', Arial, sans-serif; }
.cb-newsletter-note { margin: 18px 0 0; color: #7a7268; font: 400 11px/1.5 'Avenir Next', 'Helvetica Neue', Arial, sans-serif; }
.cb-signup-form + [data-newsletter-status], .signup-form + [data-newsletter-status], .site-footer .actions + [data-newsletter-status], .cb-signup-form [data-newsletter-status], .signup-form [data-newsletter-status], .site-footer .actions [data-newsletter-status] { display: block; margin-top: 8px; color: #287659; font-size: 12px; }
.cb-newsletter-popup__form :focus-visible, .cb-newsletter-close:focus-visible { outline: 2px solid #88602f; outline-offset: 4px; }
@keyframes cb-newsletter-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes cb-newsletter-rise { from { opacity: 0; transform: translateY(14px) scale(.985); } to { opacity: 1; transform: none; } }
@media (max-width: 600px) {
  .cb-newsletter-overlay { align-items: end; padding: 0; }
  .cb-newsletter-modal { width: 100%; padding: 34px 22px 29px; border-radius: 12px 12px 0 0; }
  .cb-newsletter-modal h2 { font-size: clamp(2.4rem, 11vw, 3.6rem); }
  .cb-newsletter-intro { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .cb-newsletter-overlay, .cb-newsletter-modal { animation: none; }
}

@media(max-width:680px){.topbar{padding-left:14px!important;padding-right:14px!important;justify-content:flex-end!important}.topbar__items{display:none!important}.topbar__right{margin-left:auto!important;gap:12px!important}.topbar__right>span{font-size:9px!important}.topbar .language{max-width:116px!important}.header{padding-left:15px!important;padding-right:15px!important}}
img[data-cb-bottle="true"]{background:transparent!important;mix-blend-mode:darken!important;filter:contrast(1.04) saturate(1.02) drop-shadow(0 14px 12px rgba(39,35,31,.10));}img.has-transparent-background{background:transparent!important;mix-blend-mode:normal!important;filter:drop-shadow(0 14px 12px rgba(39,35,31,.12))!important;}
/* Approved Home/About footer, shared by cart, choice guide and checkout preview. */
.cb-footer,
.cb-footer-signup,
.cb-payment-logos {
  --cb-footer-sans: 'Avenir Next', 'Helvetica Neue', Arial, sans-serif;
  --cb-footer-serif: Didot, 'Bodoni 72', 'Bodoni MT', 'Times New Roman', serif;
  --cb-footer-bronze: #80623e;
  --cb-footer-line: #ddd5ca;
  box-sizing: border-box;
  font: 400 16px/normal var(--cb-footer-sans);
  color: #171511;
}
.cb-footer *, .cb-footer-signup *, .cb-payment-logos * { box-sizing: border-box; }
.cb-footer-signup {
  display: grid;
  grid-template-columns: minmax(0, 58fr) minmax(0, 42fr);
  max-width: 1536px;
  min-height: 310px;
  margin: 0 auto;
  background: #e9dfd2;
}
.cb-footer-signup__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 58px max(35px, calc((min(100vw, 1536px) - 1420px) / 2));
  padding-right: 65px;
}
.cb-footer-signup p {
  max-width: 570px;
  margin: 0;
  color: #4b463f;
  font-size: 14px;
  line-height: 1.65;
}
.cb-footer-signup .cb-eyebrow {
  margin-bottom: 14px;
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: .22em;
}
.cb-footer-signup h2 {
  margin: 0 0 15px;
  font: 400 clamp(2.6rem, 4vw, 4.55rem)/.98 var(--cb-footer-serif);
  letter-spacing: -.035em;
}
.cb-signup-form {
  display: flex;
  max-width: 560px;
  margin-top: 24px;
  border-bottom: 1px solid #9f8d77;
}
.cb-signup-form input {
  flex: 1;
  min-width: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 14px 4px;
  color: #171511;
  font: 13px var(--cb-footer-sans);
}
.cb-signup-form button {
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  padding: 0 4px 0 18px;
  color: #88602f;
  font: 600 11px var(--cb-footer-sans);
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
}
.cb-footer-signup__image { position: relative; overflow: hidden; }
.cb-footer-signup__image img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 63% center;
}
.cb-footer-signup__image::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #e9dfd2, transparent 24%);
  pointer-events: none;
}
.cb-footer {
  max-width: 1536px;
  margin: auto;
  padding: 58px max(25px, calc((min(100vw, 1536px) - 1420px) / 2)) 22px;
  background: #fbf8f2;
  border-top: 1px solid var(--cb-footer-line);
}
.cb-footer__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) repeat(4, minmax(0, 1fr));
  gap: 54px;
}
.cb-footer__brand img { width: 105px; height: 105px; border-radius: 50%; object-fit: cover; }
.cb-footer__brand p { max-width: 220px; margin: 17px 0; font: 400 1.35rem/1.15 var(--cb-footer-serif); }
.cb-footer h3 { margin: 3px 0 18px; font: 600 10px var(--cb-footer-sans); text-transform: uppercase; letter-spacing: .1em; }
.cb-footer nav { display: grid; gap: 10px; }
.cb-footer nav a { color: #4f4941; text-decoration: none; font-size: 12px; line-height: normal; overflow-wrap: anywhere; }
.cb-footer nav a:hover { color: #88602f; }
.cb-payment-note { font-size: 12px; line-height: 1.6; color: #4f4941; margin: 12px 0; }
.cb-social { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; }
.cb-social a {
  width: 37px;
  height: 37px;
  border: 1px solid #cfc5b9;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #39352f;
  background: rgba(255, 255, 255, .45);
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.cb-social a:hover { color: #fff; background: #a8783d; border-color: #a8783d; transform: translateY(-2px); }
.cb-social svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.cb-social .cb-youtube-icon svg, .cb-social .cb-linkedin-icon svg { stroke: none; fill: currentColor; }
.cb-payment-logos {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 38px 0 0;
  padding: 22px 0 5px;
  border-top: 1px solid var(--cb-footer-line);
  overflow-x: auto;
  scrollbar-width: thin;
  scrollbar-color: #c9bcad transparent;
}
/* Auto margin aligns right when there is room, without clipping the first logo on narrower screens. */
.cb-payment-logos > :first-child { margin-inline-start: auto; }
.cb-pay-logo {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  min-width: 52px;
  padding: 0 8px;
  border: 1px solid #d8ccbd;
  border-radius: 7px;
  background: #fff;
  color: var(--cb-footer-bronze);
  font: 700 9px/1 var(--cb-footer-sans);
  letter-spacing: -.01em;
  white-space: nowrap;
  box-shadow: 0 2px 8px rgba(31, 26, 20, .04);
}
.cb-pay-logo.cb-visa { font-size: 12px; font-style: italic; }
.cb-pay-logo.cb-apple, .cb-pay-logo.cb-bitcoin { font-size: 10px; }
.cb-pay-logo.cb-mastercard { position: relative; padding-left: 27px; }
.cb-pay-logo.cb-mastercard::before, .cb-pay-logo.cb-mastercard::after { content: ''; position: absolute; width: 13px; height: 13px; border-radius: 50%; left: 8px; background: var(--cb-footer-bronze); }
.cb-pay-logo.cb-mastercard::after { left: 15px; opacity: .42; }
.cb-pay-logo b { color: inherit; font-weight: 700; }
.cb-payment-logos--compact { flex-wrap: wrap; overflow: visible; margin: 24px 0; padding: 0; border: 0; }
.cb-payment-logos--compact > :first-child { margin-inline-start: 0; }
.cb-footer__bottom { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-top: 45px; padding-top: 19px; border-top: 1px solid var(--cb-footer-line); color: #746d64; font-size: 10px; }
.cb-footer__legal { display: flex; gap: 20px; }
.cb-age { display: flex; align-items: center; gap: 9px; }
.cb-age b { flex: 0 0 auto; width: 29px; height: 29px; border: 1px solid #8d857b; border-radius: 50%; display: grid; place-items: center; color: #39352f; }
.cb-footer :focus-visible, .cb-footer-signup :focus-visible, .cb-payment-logos:focus-visible { outline: 2px solid #88602f; outline-offset: 4px; }
@media (max-width: 1050px) {
  .cb-footer-signup { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .cb-footer-signup__copy { padding: 48px 30px; }
  .cb-footer__grid { grid-template-columns: minmax(0, 1.2fr) repeat(2, minmax(0, 1fr)); }
  .cb-footer__grid > div:nth-child(4), .cb-footer__grid > div:nth-child(5) { margin-top: 15px; }
}
@media (max-width: 600px) {
  .cb-footer-signup { grid-template-columns: minmax(0, 1fr); }
  .cb-footer-signup__copy { padding: 45px 20px; }
  .cb-footer-signup__image { min-height: 245px; }
  .cb-footer-signup__image::after { background: linear-gradient(180deg, #e9dfd2, transparent 25%); }
  .cb-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 38px 24px; }
  .cb-footer__brand { grid-column: 1 / -1; }
  .cb-footer__brand img { width: 86px; height: 86px; }
  .cb-footer__bottom { align-items: flex-start; flex-direction: column; }
  .cb-footer__legal { flex-wrap: wrap; gap: 10px 16px; }
  .cb-payment-logos > :first-child { margin-inline-start: 0; }

}

.cb-footer .cb-footer__brand img{mix-blend-mode:multiply}
.cb-footer .cb-payment-logos{justify-content:center;flex-wrap:wrap;overflow:visible}
.cb-footer .cb-payment-logos>:first-child{margin-inline-start:0}
@media(max-width:700px){
.cb-footer{padding:32px 20px 22px}
.cb-footer .cb-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px}
.cb-footer .cb-footer__brand{grid-column:1/-1}
.cb-footer .cb-footer__grid>div{margin-top:0;min-width:0}
.cb-footer .cb-payment-logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:28px}
.cb-footer .cb-pay-logo{display:none}
.cb-footer .cb-wero,.cb-footer .cb-visa,.cb-footer .cb-mastercard,.cb-footer .cb-paypal{display:inline-flex;width:100%;min-width:0;height:34px;padding:0 3px;font-size:9px;box-sizing:border-box}
.cb-footer .cb-mastercard{padding-left:22px}
.cb-footer .cb-footer__bottom{align-items:center;text-align:center;flex-direction:column;gap:18px;margin-top:24px}
.cb-footer .cb-footer__legal{justify-content:center;flex-wrap:wrap}
.cb-footer .cb-footer__legal>span:first-child{flex-basis:100%}
}
@media(max-width:700px){
.payment-logos .pay-logo,.cb-payment-logos .cb-pay-logo{display:none!important}
.payment-logos .wero,.payment-logos .visa,.payment-logos .mastercard,.payment-logos .paypal,
.cb-payment-logos .cb-wero,.cb-payment-logos .cb-visa,.cb-payment-logos .cb-mastercard,.cb-payment-logos .cb-paypal{display:inline-flex!important}
}

/* Shared action colours in both languages; utility icons remain neutral. */
body a.primary,body button.primary,body .add-button,body a.button,body button.button{
background:linear-gradient(120deg,#b88b4c,#9b7038)!important;color:#fff!important;border-color:#9b7038!important;border-radius:999px;
}
body a.secondary,body button.secondary{color:#805d2e!important;border-color:#b99a70!important;background:transparent!important;border-radius:999px}
body .primary:hover,body .add-button:hover{background:#89602e!important}
body .primary:focus-visible,body .secondary:focus-visible,body .add-button:focus-visible{outline:2px solid #805d2e;outline-offset:4px}
.topbar select.language{min-width:142px;max-width:160px!important}

/* Review fixes: keep the basket badge clear of the mobile menu. */
body .header .logo,body .header .logo img{background:transparent!important}
body .header .logo img{mix-blend-mode:multiply}
@media(max-width:1050px){
  body .header .icons{gap:clamp(10px,2.5vw,18px)!important}
  body .header .menu-button{margin-left:14px!important;flex:0 0 auto}
  body .header .icons .cart,body .header .icons .cart-icon{flex:0 0 auto}
}
/* Buttons may move to their own row; text and photo remain alongside. */
body .about-hero .actions,body .producers-hero .actions,body .club-hero .actions{flex-wrap:wrap!important;gap:12px!important}
body .about-hero .actions>a,body .producers-hero .actions>a,body .club-hero .actions>a{flex:0 1 auto!important;max-width:100%;box-sizing:border-box;text-align:center;line-height:1.35!important;text-wrap:balance}
@media(max-width:900px){
  body .about-hero,body .producers-hero,body .club-hero{height:auto!important;max-height:none!important;min-height:410px!important}
  body .about-hero .actions,body .producers-hero .actions,body .club-hero .actions{flex-direction:column!important;align-items:stretch!important}
  body .about-hero .actions>a,body .producers-hero .actions>a,body .club-hero .actions>a{flex:none!important;width:100%;padding:10px 12px!important;min-height:44px!important;font-size:12px!important;gap:8px!important}
  body .about-hero .primary:after,body .producers-hero .primary:after,body .club-hero .primary:after{flex-shrink:0}
}
/* Fit all three bottles in their column instead of cropping fixed-height images. */
body .club-selection{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
body .club-selection__visual{height:auto!important;min-height:0!important;padding:28px 14px!important;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:4px;box-sizing:border-box}
body .club-selection .club-bottle{height:clamp(160px,35vw,480px)!important;min-width:0;align-items:center}
body .club-selection .club-bottle img{display:block;max-width:100%!important;width:100%!important;height:90%!important;object-fit:contain!important;transform:none!important}
body .club-selection .club-bottle:nth-child(2) img{height:100%!important}
body .club-selection__copy{min-width:0;overflow-wrap:break-word}
@media(max-width:700px){
 body .club-selection__copy{padding:24px 14px!important}
 body .club-selection h2{font-size:clamp(24px,5.3vw,36px)!important;line-height:1.06!important}
 body .club-selection .text-link{max-width:100%;width:fit-content}
}

/* Small personal background and wine-qualification links above payment options. */
.cb-footer__credentials {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 22px 42px;
  margin-top: 34px;
  padding-top: 24px;
  border-top: 1px solid var(--cb-footer-line);
}
.cb-footer .cb-footer__credential {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  max-width: 100%;
  color: #746d64;
  font: 400 11px/1.5 var(--cb-footer-sans);
  text-decoration: none;
}
.cb-footer__credential img {
  display: block;
  flex: 0 0 auto;
  object-fit: contain;
  mix-blend-mode: multiply;
}
.cb-footer__credential--foundation img { width: 36px; height: 40px; }
.cb-footer__credential--sden img { width: 40px; height: 40px; border-radius: 50%; }
.cb-footer__credential span { min-width: 0; }
.cb-footer__credential small { display: block; font-size: 10px; }
.cb-footer .cb-footer__credential:hover { color: #805d2e; }
.cb-footer .cb-footer__credentials + .cb-payment-logos { margin-top: 24px; }
@media(max-width:700px) {
  .cb-footer__credentials { justify-content: flex-start; gap: 18px 28px; margin-top: 28px; padding-top: 20px; }
  .cb-footer .cb-footer__credential { gap: 10px; font-size: 10px; }
  .cb-footer__credential--foundation img { width: 31px; height: 34px; }
  .cb-footer__credential--sden img { width: 34px; height: 34px; }
  .cb-footer__credential small { font-size: 9px; }
  .cb-footer .cb-footer__credentials + .cb-payment-logos { margin-top: 20px; }
}
