/* 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; }
}
