/*
Theme Name: ConChocolate Storefront
Theme URI: https://tiendaconchocolate.cl/
Author: ConChocolate
Description: Tema visual de ConChocolate preparado para WooCommerce.
Version: 1.5.9
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: conchocolate-storefront
*/

@font-face {
  font-family: "AvenirWeb";
  src: url("assets/fonts/avenir-book.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Gohan";
  src: url("assets/fonts/gohan.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

:root {
  --brown: #422712;
  --brown-2: #6f3627;
  --cream: #fcf2e1;
  --paper: #fffaf0;
  --pink: #efb6d3;
  --purple: #5b1d5e;
  --orange: #d8740c;
  --yellow: #ffc900;
  --green: #2d6429;
  --acai-dark: #571e55;
  --acai-light: #f0b6d3;
  --acai-brown: #5f2821;
  --papitas-orange: #d67810;
  --papitas-yellow: #fec900;
  --papitas-brown: #9a541b;
  --cinnamon-dark: #7b4028;
  --cinnamon-light: #be7e4f;
  --cinnamon-cream: #fff4cd;
  --font-body: "AvenirWeb", Avenir, "Century Gothic", Arial, sans-serif;
  --font-title: "Gohan", "Arial Rounded MT Bold", "Trebuchet MS", Arial, sans-serif;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: #f4f4f4;
  color: var(--brown);
  font-family: var(--font-body);
}

h1,
h2,
h3,
h4,
h5,
h6,
.woocommerce-loop-product__title,
.recommendation-card strong {
  font-family: var(--font-title);
  font-weight: 400;
}

body.admin-bar .brand-site { margin-top: 0; }
.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { color: inherit; }

.brand-site {
  width: min(100%, 1440px);
  min-width: 0;
  margin: 0 auto;
  overflow: hidden;
  background: var(--cream);
  box-shadow: 0 0 70px rgba(66, 39, 18, 0.08);
}

.top-marquee {
  display: flex;
  height: 48px;
  align-items: center;
  justify-content: space-around;
  overflow: hidden;
  padding: 0 22px;
  background: var(--cream);
  color: var(--brown);
  font-size: 0.7rem;
  font-weight: 900;
  text-transform: uppercase;
  white-space: nowrap;
}

.top-marquee i {
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  margin: 0 24px;
  border-radius: 50%;
  background: var(--brown);
}

.brand-header {
  position: relative;
  z-index: 10;
  display: grid;
  height: 196px;
  grid-template-columns: 1fr auto 1fr;
  align-items: start;
  padding: 42px 7.5% 26px;
  background: var(--brown);
  color: var(--cream);
}

.brand-logo {
  display: grid;
  width: 86px;
  height: 86px;
  place-items: center;
  border: 3px solid var(--cream);
  border-radius: 50%;
}

.brand-logo__drip {
  position: relative;
  font-family: Georgia, serif;
  font-size: 3rem;
  line-height: 1;
  transform: translateY(5px);
}

.brand-logo__drip::before {
  position: absolute;
  top: -22px;
  left: 50%;
  width: 57px;
  height: 26px;
  border-radius: 50% 50% 38% 38%;
  background: var(--cream);
  content: "";
  transform: translateX(-50%);
}

.round-action {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  align-self: center;
  border: 0;
  border-radius: 50%;
  background: var(--cream);
  color: var(--brown);
  cursor: pointer;
  font-size: 1.4rem;
  line-height: 1;
}

.brand-cart { justify-self: end; font-size: 1rem; }

.brand-nav {
  position: absolute;
  right: 50%;
  bottom: 30px;
  display: flex;
  gap: clamp(46px, 7vw, 110px);
  font-size: 0.86rem;
  font-weight: 900;
  text-transform: uppercase;
  transform: translateX(50%);
}

.brand-nav a { padding-bottom: 5px; border-bottom: 2px solid transparent; }
.brand-nav a:hover { border-color: currentColor; }

.home-hero { background: #ead8e3; }
.home-hero img { width: 100%; }

.flavor-stories {
  padding: 100px 9% 110px;
  background: var(--cream);
}

.home-flavor {
  display: grid;
  min-height: 680px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: 7%;
}

.home-flavor:nth-child(even) .home-flavor__copy { order: 2; }
.home-flavor:nth-child(even) .home-flavor__image { order: 1; }

.home-flavor__copy { padding: 30px 5%; }

.home-flavor__kicker,
.home-flavor h2,
.collection-copy h2,
.ideas-section h2,
.recommendations h2 {
  margin: 0;
  font-weight: 1000;
  letter-spacing: -0.055em;
  line-height: 0.95;
  text-transform: uppercase;
}

.home-flavor__kicker { font-size: clamp(3.8rem, 6.8vw, 7.4rem); }
.home-flavor h2 { max-width: 620px; margin-top: 10px; font-size: clamp(1.8rem, 3.2vw, 3.8rem); }
.home-flavor__copy > p:not(.home-flavor__kicker) { max-width: 510px; margin: 25px 0; font-size: 1rem; line-height: 1.55; }

.home-flavor--acai .home-flavor__copy { --button-bg: var(--purple); color: var(--purple); }
.home-flavor--cinnamon .home-flavor__copy { --button-bg: #874129; color: #874129; }
.home-flavor--papitas .home-flavor__copy { --button-bg: var(--yellow); color: var(--orange); }
.home-flavor--espresso .home-flavor__copy { --button-bg: #ead2b6; color: #6f2b27; }
.home-flavor--espresso .pill-link { color: #6f2b27; }
.home-flavor--matcha .home-flavor__copy { --button-bg: #0f542a; color: #2f7029; }
.home-flavor--matcha h2 { color: #ed75a3; }

.home-flavor__image {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 45px;
  transition: transform 180ms ease;
}

.home-flavor__image:hover { transform: rotate(1deg) scale(1.015); }
.home-flavor__image img { width: 100%; aspect-ratio: 0.79; object-fit: cover; }

.pill-link {
  display: inline-flex;
  min-width: 132px;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 10px 24px;
  border-radius: 999px;
  background: var(--button-bg, var(--brown));
  color: var(--cream);
  font-size: 0.78rem;
  font-weight: 1000;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.pink-marquee {
  display: flex;
  height: 76px;
  align-items: center;
  overflow: hidden;
  background: var(--pink);
  color: var(--purple);
  font-size: clamp(1.5rem, 2.8vw, 2.5rem);
  font-weight: 1000;
  text-transform: uppercase;
  white-space: nowrap;
}

.pink-marquee span { animation: marquee 18s linear infinite; }

@keyframes marquee { to { transform: translateX(-100%); } }

.collection-intro {
  padding: 75px 8% 100px;
  background: var(--cream);
}

.collection-lineup { width: min(100%, 1200px); margin: 0 auto 40px; }
.collection-copy { max-width: 990px; margin: 0 auto 55px; text-align: center; }
.collection-copy h2 { font-size: clamp(2.5rem, 5vw, 5rem); }
.collection-copy p { max-width: 850px; margin: 20px auto 0; line-height: 1.6; }

.home-product-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 28px;
  max-width: 1160px;
  margin: 0 auto;
}

.home-product-card { grid-column: span 2; text-align: center; }
.home-product-card:nth-child(4) { grid-column: 2 / span 2; }
.home-product-card:nth-child(5) { grid-column: 4 / span 2; }

.home-product-card__art {
  display: grid;
  min-height: 410px;
  place-items: center;
  margin-bottom: 20px;
  overflow: hidden;
  background: var(--pink);
}

.home-product-card--papitas-y-caramelo .home-product-card__art { background: #9b6ed0; }
.home-product-card--cinnamon-roll .home-product-card__art { background: var(--yellow); }
.home-product-card--matcha-latte .home-product-card__art { background: #ef5da6; }
.home-product-card--espresso-martini .home-product-card__art { background: #e6b88f; }

.home-product-card__art img {
  width: min(54%, 215px);
  max-height: 345px;
  object-fit: contain;
  filter: drop-shadow(0 18px 18px rgba(66,39,18,0.16));
  transition: transform 180ms ease;
}

.home-product-card a:hover .home-product-card__art img { transform: translateY(-7px) rotate(1deg); }
.home-product-card strong { display: block; min-height: 42px; font-size: 1rem; text-transform: uppercase; }
.home-product-card__price { display: block; margin: 5px 0 14px; font-size: 1rem; font-weight: 1000; }
.home-product-card .pill-link { min-width: 106px; min-height: 34px; padding: 6px 18px; font-size: 0.66rem; color: var(--cream); }
.home-product-card--acai { --button-bg: var(--pink); color: var(--purple); }
.home-product-card--papitas-y-caramelo { --button-bg: var(--yellow); color: var(--yellow); }
.home-product-card--cinnamon-roll { --button-bg: #b87848; color: #a95b23; }
.home-product-card--matcha-latte { --button-bg: var(--green); color: var(--green); }
.home-product-card--espresso-martini { --button-bg: #e7bd9b; color: var(--brown); }

.ideas-section {
  padding: 20px 9% 85px;
  background: var(--cream);
  text-align: center;
}

.ideas-section h2 { font-size: clamp(2.4rem, 4.5vw, 4.8rem); }
.ideas-section p { max-width: 940px; margin: 25px auto 0; line-height: 1.65; }

.instagram-section { background: var(--cream); text-align: center; }
.instagram-section p { margin: 0 0 18px; font-size: 0.9rem; text-transform: uppercase; }
.instagram-section img { width: 100%; }

.brand-footer {
  position: relative;
  display: grid;
  min-height: 720px;
  grid-template-columns: 1.35fr 0.8fr 0.8fr 0.9fr;
  gap: 45px;
  padding: 75px 8% 380px;
  overflow: hidden;
  background: var(--brown);
  color: var(--cream);
}

.footer-logo-block { position: relative; z-index: 1; display: flex; width: 220px; flex-direction: column; align-items: center; justify-self: start; text-align: center; }
.footer-seal { display: grid; width: 150px; height: 150px; place-items: center; border: 3px solid currentColor; border-radius: 50%; font-size: 1.1rem; font-weight: 1000; letter-spacing: 0.18em; text-transform: uppercase; }
.footer-column { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 13px; padding-top: 22px; font-size: 0.8rem; }
.footer-column > strong { margin-bottom: 10px; font-size: 1.3rem; text-transform: uppercase; }
.socials { display: flex; gap: 18px; margin-top: 16px; }
.socials a { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 50%; background: var(--cream); color: var(--brown); font-size: 1.35rem; }
.social-icon { display: block; width: 52%; height: 52%; overflow: visible; }
.footer-products {
  position: absolute;
  right: 4%;
  bottom: 42px;
  left: 8%;
  z-index: 0;
  display: grid;
  height: 320px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: flex-end;
  justify-items: center;
  overflow: visible;
}

.footer-product-character {
  position: relative;
  display: flex;
  width: 100%;
  height: 100%;
  align-items: flex-end;
  justify-content: center;
  padding: 0;
  overflow: visible;
  border: 0;
  background: transparent;
  color: var(--cream);
  cursor: pointer;
  touch-action: manipulation;
}

.footer-product-character img {
  width: auto;
  max-width: 92%;
  height: 285px;
  object-fit: contain;
  object-position: bottom;
  filter: drop-shadow(0 18px 16px rgba(0,0,0,0.13));
  transform-origin: center bottom;
  transition: transform 420ms cubic-bezier(0.2, 0.75, 0.25, 1), filter 300ms ease, opacity 300ms ease;
}

.footer-product-character:nth-child(1) img { height: 285px; transform: rotate(-4deg) translateY(18px); }
.footer-product-character:nth-child(2) img { height: 300px; transform: rotate(-6deg) translateY(24px); }
.footer-product-character:nth-child(3) img { height: 315px; transform: translateY(20px); }
.footer-product-character:nth-child(4) img { height: 278px; transform: rotate(-4deg) translateY(22px); }
.footer-product-character:nth-child(5) img { height: 260px; transform: rotate(4deg) translateY(18px); }

.footer-product-message {
  position: absolute;
  top: -105px;
  left: 50%;
  z-index: 2;
  display: flex;
  width: 190px;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  opacity: 0;
  font-size: 1rem;
  line-height: 1.05;
  text-align: center;
  text-transform: uppercase;
  transform: translate(-50%, 20px);
  transition: opacity 220ms ease 70ms, transform 320ms ease 50ms;
  pointer-events: none;
}

.footer-product-message strong { font-weight: 1000; }
.footer-product-message > span { font-size: 2.4rem; line-height: 0.8; }

.footer-product-character:is(:hover, :focus-visible, .is-active) .footer-product-message {
  opacity: 1;
  transform: translate(-50%, 0);
}

.footer-product-character:nth-child(1):is(:hover, :focus-visible, .is-active) img { transform: rotate(-4deg) translateY(-78px); }
.footer-product-character:nth-child(2):is(:hover, :focus-visible, .is-active) img { transform: rotate(-6deg) translateY(-94px); }
.footer-product-character:nth-child(3):is(:hover, :focus-visible, .is-active) img { transform: translateY(-88px); }
.footer-product-character:nth-child(4):is(:hover, :focus-visible, .is-active) img { transform: rotate(-4deg) translateY(-84px); }
.footer-product-character:nth-child(5):is(:hover, :focus-visible, .is-active) img { transform: rotate(4deg) translateY(-76px); }

.footer-products:has(.footer-product-character:is(:hover, :focus-visible, .is-active)) .footer-product-character:not(:is(:hover, :focus-visible, .is-active)) img {
  opacity: 0.7;
  filter: blur(3px) drop-shadow(0 18px 16px rgba(0,0,0,0.1));
}

.footer-product-character:focus-visible { z-index: 3; outline: none; }
.footer-product-character:focus-visible img { filter: drop-shadow(0 0 5px rgba(255,255,255,0.9)) drop-shadow(0 18px 16px rgba(0,0,0,0.13)); }
.footer-bottom { position: absolute; right: 0; bottom: 0; left: 0; z-index: 2; display: flex; min-height: 42px; align-items: center; justify-content: space-between; padding: 0 8%; background: var(--cream); color: var(--brown); font-size: 0.65rem; }

.chocolate-back-to-top {
  position: fixed;
  right: 22px;
  bottom: 20px;
  z-index: 999;
  width: 76px;
  height: 112px;
  padding: 0;
  border: 0;
  background: transparent;
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
  pointer-events: none;
  transform: translateY(28px) scale(0.86);
  transition: opacity 240ms ease, visibility 240ms ease, transform 360ms cubic-bezier(0.2, 0.8, 0.25, 1);
  touch-action: manipulation;
}

.chocolate-back-to-top.is-visible { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0) scale(1); }
.chocolate-back-to-top__figure { position: absolute; inset: 0; display: block; filter: drop-shadow(0 14px 12px rgba(66,39,18,0.25)); animation: chocolate-back-to-top-float 2.8s ease-in-out infinite; }
.chocolate-back-to-top__bar { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; opacity: 0; transform-origin: center bottom; animation: chocolate-back-to-top-flavor 15s infinite; }
.chocolate-back-to-top__bar:nth-child(2) { animation-delay: 3s; }
.chocolate-back-to-top__bar:nth-child(3) { animation-delay: 6s; }
.chocolate-back-to-top__bar:nth-child(4) { animation-delay: 9s; }
.chocolate-back-to-top__bar:nth-child(5) { animation-delay: 12s; }
.chocolate-back-to-top__label { position: absolute; top: 42px; right: calc(100% + 8px); padding: 8px 12px; border-radius: 999px; background: var(--brown); color: var(--cream); opacity: 0; font-size: 0.72rem; font-weight: 1000; letter-spacing: 0.04em; white-space: nowrap; text-transform: uppercase; transform: translateX(8px); transition: opacity 180ms ease, transform 220ms ease; }
.chocolate-back-to-top:is(:hover, :focus-visible) { transform: translateY(-7px) scale(1.07) rotate(1deg); outline: none; }
.chocolate-back-to-top:is(:hover, :focus-visible) .chocolate-back-to-top__label { opacity: 1; transform: translateX(0); }
.chocolate-back-to-top:focus-visible { filter: drop-shadow(0 0 0.4rem rgba(255,255,255,0.95)); }

@keyframes chocolate-back-to-top-flavor {
  0%, 16% { opacity: 1; transform: translateY(0) rotate(-1deg); }
  20%, 100% { opacity: 0; transform: translateY(5px) rotate(1deg); }
}

@keyframes chocolate-back-to-top-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-7px); }
}

/* Product detail */
.product-stage {
  display: grid;
  min-height: 900px;
  grid-template-columns: minmax(420px, 0.9fr) minmax(560px, 1.1fr);
  gap: 70px;
  align-items: center;
  padding: 75px 7% 125px;
  background: var(--product-bg);
  color: var(--product-ink);
}

.product-gallery { min-width: 0; animation: product-gallery-in 520ms ease both; }
.product-gallery__main { position: relative; display: grid; height: 610px; place-items: center; overflow: hidden; border-radius: 34px; }
.product-gallery__main img { width: min(380px, 72%); max-height: 580px; object-fit: contain; filter: drop-shadow(0 24px 20px rgba(66,39,18,0.15)); transition: transform 420ms cubic-bezier(0.2,0.75,0.25,1), filter 300ms ease; }
.product-gallery__main:hover img { transform: translateY(-8px) scale(1.035) rotate(0.4deg); filter: drop-shadow(0 30px 24px rgba(66,39,18,0.2)); }
.product-gallery__main--scene img { width: 100%; height: 100%; max-height: none; border-radius: 34px; object-fit: cover; }
.product-gallery__main--studio img { width: 100%; height: 100%; max-height: none; border-radius: 34px; object-fit: cover; }
.product-gallery__main--blue { background: #4974d7; border-radius: 34px; }
.product-gallery__main--crop img { transform: scale(1.22); }
.product-gallery__main--crop:hover img { transform: scale(1.27) rotate(0.3deg); }
.product-gallery.is-switching .product-gallery__main img { animation: gallery-swap 360ms ease both; }

.product-gallery__nav {
  position: absolute;
  top: 50%;
  z-index: 3;
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  padding: 0 0 5px;
  border: 2px solid rgba(255,255,255,0.82);
  border-radius: 50%;
  background: rgba(255,255,255,0.88);
  color: var(--product-ink);
  cursor: pointer;
  opacity: 0;
  box-shadow: 0 12px 30px rgba(66,39,18,0.14);
  font-size: 2.3rem;
  line-height: 1;
  transform: translateY(-50%) scale(0.88);
  transition: opacity 220ms ease, transform 220ms ease, background 180ms ease;
}
.product-gallery__nav--previous { left: 16px; }
.product-gallery__nav--next { right: 16px; }
.product-gallery__main:is(:hover, :focus-within) .product-gallery__nav { opacity: 1; transform: translateY(-50%) scale(1); }
.product-gallery__nav:hover { background: #fff; }
.product-gallery__counter { position: absolute; right: 18px; bottom: 18px; z-index: 3; padding: 7px 12px; border-radius: 999px; background: rgba(66,39,18,0.78); color: #fff; font-size: 0.73rem; font-weight: 900; letter-spacing: 0.08em; }

.product-thumbnails { display: grid; grid-template-columns: repeat(auto-fit, minmax(78px, 1fr)); gap: 14px; margin-top: 20px; }
.product-thumbnails button { height: 118px; padding: 0; overflow: hidden; border: 3px solid transparent; border-radius: 18px; background: rgba(255,255,255,0.35); cursor: pointer; transition: transform 220ms ease, border-color 220ms ease, background 220ms ease, box-shadow 220ms ease; }
.product-thumbnails button:nth-child(2) { background: #f2dbe5; }
.product-thumbnails button:nth-child(3) { background: #4672d3; }
.product-thumbnails button:nth-child(4) { background: #b6e1c3; }
.product-thumbnails button:hover { transform: translateY(-5px); background: rgba(255,255,255,0.62); }
.product-thumbnails button.is-active { border-color: var(--product-ink); box-shadow: 0 10px 22px rgba(66,39,18,0.13); transform: translateY(-3px); }
.product-thumbnails img { width: 100%; height: 100%; object-fit: contain; transition: transform 240ms ease; }
.product-thumbnails button:hover img { transform: scale(1.06); }
.product-thumbnails button:nth-child(2) img,
.product-thumbnails button:nth-child(4) img { object-fit: cover; }

.product-panel-wrap { align-self: center; }
.product-panel { padding: 40px 42px 30px; border: 1px solid rgba(255,255,255,0.76); border-radius: 44px; background: rgba(255,255,255,0.97); color: var(--product-ink); box-shadow: 0 26px 60px rgba(66,39,18,0.12); animation: product-panel-in 560ms 80ms ease both; }
.product-panel__heading { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 18px; }
.product-panel h1 { min-width: 0; margin: 0; font-size: clamp(3rem, 4.8vw, 5.2rem); font-weight: 1000; letter-spacing: -0.065em; line-height: 0.9; text-transform: uppercase; overflow-wrap: normal; }
.product-panel__price { position: relative; z-index: 1; display: inline-flex; min-height: 48px; align-items: center; justify-content: center; margin: 4px 0 0; padding: 9px 15px; border: 2px solid var(--product-bg); border-radius: 999px; background: #fff; color: var(--product-bg); box-shadow: 0 8px 18px rgba(66,39,18,0.08); font-size: clamp(1.25rem, 2vw, 1.9rem); line-height: 1; white-space: nowrap; }
.product-panel__description { margin: 25px 0 18px; color: var(--brown); font-size: 1rem; line-height: 1.55; }
.product-accordions { overflow: hidden; border-top: 2px solid var(--product-ink); border-bottom: 2px solid var(--product-ink); }
.detail-row { border-top: 1px solid color-mix(in srgb, var(--product-ink), transparent 48%); }
.detail-row:first-child { border-top: 0; }
.detail-row button { display: flex; width: 100%; min-height: 58px; align-items: center; justify-content: space-between; gap: 20px; padding: 0 4px; border: 0; background: transparent; cursor: pointer; font-size: 1rem; font-weight: 1000; text-align: left; text-transform: uppercase; transition: color 180ms ease, padding 220ms ease, background 180ms ease; }
.detail-row button:hover { padding-inline: 12px; background: color-mix(in srgb, var(--product-bg), transparent 88%); }
.detail-row__icon { position: relative; width: 24px; height: 24px; flex: 0 0 24px; border: 2px solid currentColor; border-radius: 50%; transition: transform 300ms ease, background 200ms ease, color 200ms ease; }
.detail-row__icon::before,
.detail-row__icon::after { position: absolute; top: 50%; left: 50%; width: 10px; height: 2px; border-radius: 2px; background: currentColor; content: ""; transform: translate(-50%, -50%); }
.detail-row__icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.detail-row.is-open .detail-row__icon { background: var(--product-ink); color: #fff; transform: rotate(45deg); }
.detail-row__content { max-height: 0; overflow: hidden; opacity: 0; visibility: hidden; transform: translateY(-7px); transition: max-height 420ms cubic-bezier(0.2,0.75,0.25,1), opacity 240ms ease, transform 300ms ease, visibility 0s linear 420ms; }
.detail-row.is-open .detail-row__content { max-height: 300px; opacity: 1; visibility: visible; transform: translateY(0); transition-delay: 0s; }
.detail-row__content p { margin: 0; padding: 0 42px 20px 4px; color: var(--brown); font-size: 0.92rem; line-height: 1.6; }

@keyframes gallery-swap { from { opacity: 0.2; transform: translateX(14px) scale(0.985); } to { opacity: 1; } }
@keyframes product-gallery-in { from { opacity: 0; transform: translateX(-18px); } to { opacity: 1; transform: translateX(0); } }
@keyframes product-panel-in { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }

.product-purchase { display: grid; grid-template-columns: 0.8fr 1fr; gap: 70px; margin-top: 34px; }
.figma-quantity, .figma-add { min-height: 68px; border-radius: 999px; }
.figma-quantity { display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: center; overflow: hidden; background: var(--brown-2); color: var(--product-accent); }
.figma-quantity button { height: 100%; border: 0; background: transparent; color: inherit; cursor: pointer; font-size: 2rem; }
.figma-quantity output,
.figma-quantity input {
  width: 100%;
  min-width: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 1.2rem;
  font-weight: 1000;
  text-align: center;
  appearance: textfield;
}
.figma-quantity input::-webkit-outer-spin-button,
.figma-quantity input::-webkit-inner-spin-button { margin: 0; appearance: none; }
.figma-add { border: 0; background: var(--product-ink); color: var(--product-accent); cursor: pointer; font-size: 1.1rem; font-weight: 1000; text-transform: uppercase; }
.figma-add:disabled,
.figma-quantity.is-disabled { cursor: not-allowed; opacity: 0.66; }
.figma-add:disabled { background: var(--brown-2); }
.product-purchase--unavailable { gap: 16px; margin-top: 22px; }
.product-purchase--unavailable .figma-add:disabled { background: color-mix(in srgb, var(--product-ink) 72%, var(--brown)); color: var(--product-accent); opacity: 0.72; }
.product-purchase--unavailable .figma-quantity :disabled { cursor: not-allowed; }
.stock-alert-card { margin-top: 18px; padding: 24px 26px; border: 2px solid color-mix(in srgb, var(--product-ink) 38%, transparent); border-radius: 26px; background: color-mix(in srgb, var(--product-bg) 20%, #fffaf0); color: var(--brown); box-shadow: 0 16px 34px rgba(66,39,18,0.08); }
.stock-alert-card__eyebrow { display: block; margin-bottom: 5px; color: var(--product-ink); font-size: 0.68rem; font-weight: 1000; letter-spacing: 0.09em; text-transform: uppercase; }
.stock-alert-card h2 { margin: 0; color: var(--product-ink); font-size: clamp(1.45rem, 2.1vw, 2.15rem); letter-spacing: -0.025em; line-height: 1; text-transform: uppercase; }
.stock-alert-card > p { margin: 10px 0 16px; font-size: 0.86rem; line-height: 1.5; }
.stock-alert-form label { display: block; margin-bottom: 7px; font-size: 0.68rem; font-weight: 1000; text-transform: uppercase; }
.stock-alert-form__fields { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.stock-alert-form input[type="email"] { min-width: 0; min-height: 50px; padding: 0 16px; border: 2px solid color-mix(in srgb, var(--product-ink) 48%, transparent); border-radius: 999px; background: #fff; color: var(--brown); font: inherit; outline: none; }
.stock-alert-form input[type="email"]:focus { border-color: var(--product-ink); box-shadow: 0 0 0 4px color-mix(in srgb, var(--product-bg) 55%, transparent); }
.stock-alert-form button { min-height: 50px; padding: 0 22px; border: 0; border-radius: 999px; background: var(--product-ink); color: var(--product-accent); cursor: pointer; font: inherit; font-size: 0.75rem; font-weight: 1000; text-transform: uppercase; transition: transform 180ms ease, filter 180ms ease; }
.stock-alert-form button:hover { filter: brightness(1.08); transform: translateY(-2px); }
.stock-alert-form small { display: block; margin-top: 8px; opacity: 0.68; font-size: 0.68rem; }
.stock-alert-form__trap { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip-path: inset(50%) !important; }
.stock-alert-card__message { margin: 12px 0 !important; padding: 10px 13px; border-radius: 14px; background: color-mix(in srgb, var(--product-bg) 48%, #fff); font-weight: 900; }
.stock-alert-card__message.is-success { background: #e9f5df; color: #265a22; }
.stock-alert-card__message.is-error { background: #fff0ed; color: #8d2d20; }
@media (max-width: 520px) {
  .stock-alert-card { padding: 21px 18px; border-radius: 22px; }
  .stock-alert-form__fields { grid-template-columns: 1fr; }
  .stock-alert-form button { width: 100%; }
}

/* Empty-cart product cards: full pack at rest and one clean alternate image on hover. */
.cart-shell .cart-suggestions__image-link {
  height: auto;
  aspect-ratio: 1 / 1;
}

.cart-shell .cart-suggestions__visual {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: inherit;
}

.cart-shell .cart-suggestions__visual > .cart-suggestions__pack,
.cart-shell .cart-suggestions__hover,
.cart-shell .cart-suggestions__hover-scene {
  position: absolute !important;
  inset: 0 !important;
  box-sizing: border-box;
  width: 100% !important;
  height: 100% !important;
}

.cart-shell .cart-suggestions__visual > .cart-suggestions__pack {
  z-index: 1;
  display: block;
  padding: 12px 10px !important;
  object-fit: contain !important;
  object-position: center !important;
  opacity: 1;
  visibility: visible !important;
  transform: none !important;
  transition: opacity 240ms ease !important;
}

.cart-shell .cart-suggestions__hover {
  z-index: 2;
  display: block !important;
  overflow: hidden;
  background: transparent;
  opacity: 0;
  visibility: visible !important;
  clip-path: none !important;
  pointer-events: none;
  transition: opacity 240ms ease !important;
}

.cart-shell .cart-suggestions__hover-scene {
  display: block;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
  transform: none !important;
}

.cart-shell .cart-suggestions__image-link:is(:hover, :focus-visible) .cart-suggestions__pack {
  opacity: 0;
  visibility: visible !important;
  transform: none !important;
}

.cart-shell .cart-suggestions__image-link:is(:hover, :focus-visible) .cart-suggestions__hover {
  opacity: 1;
  visibility: visible !important;
  clip-path: none !important;
}

/* Requested final behavior v1.3.68: fade only on home cards; static empty-cart packs. */
.home-product-card .revised-product-art .catalog-pack,
.home-product-card .revised-product-art .catalog-scene {
  display: block !important;
  visibility: visible !important;
  clip-path: none !important;
  transform: none !important;
  transition: opacity 360ms ease !important;
  will-change: opacity;
}

.home-product-card .revised-product-art .catalog-pack {
  opacity: 1 !important;
}

.home-product-card .revised-product-art .catalog-scene {
  opacity: 0 !important;
}

.home-product-card:is(:hover, :focus-within) .revised-product-art .catalog-pack {
  opacity: 0 !important;
  transform: none !important;
}

.home-product-card:is(:hover, :focus-within) .revised-product-art .catalog-scene {
  opacity: 1 !important;
  clip-path: none !important;
  transform: none !important;
}

.cart-shell .cart-suggestions__visual > .cart-suggestions__pack,
.cart-shell .cart-suggestions__image-link:is(:hover, :focus-visible) .cart-suggestions__pack {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  transition: none !important;
}

/* Final scoped behavior: no hero zoom, static empty-cart packs and soft home swaps. */
.home-hero--carousel .hero-carousel__slide,
.home-hero--carousel .hero-carousel__slide.is-active,
.home-hero--carousel .hero-carousel__slide img {
  transform: none !important;
  animation: none !important;
}

.home-hero--carousel .hero-carousel__slide {
  transition: opacity 520ms ease !important;
}

.home-product-card .revised-product-art,
.home-product-card:is(:hover, :focus-within) .revised-product-art,
.home-product-card a:is(:hover, :focus-visible) .revised-product-art {
  transform: none !important;
}

.home-product-card .revised-product-art .catalog-pack,
.home-product-card .revised-product-art .catalog-scene {
  display: block !important;
  visibility: visible !important;
  clip-path: none !important;
  transform: none !important;
  transition: opacity 320ms ease !important;
  will-change: opacity;
}

.home-product-card .revised-product-art .catalog-pack {
  opacity: 1 !important;
}

.home-product-card .revised-product-art .catalog-scene {
  opacity: 0 !important;
}

.home-product-card:is(:hover, :focus-within) .revised-product-art .catalog-pack,
.home-product-card a:is(:hover, :focus-visible) .revised-product-art .catalog-pack {
  opacity: 0 !important;
  transform: none !important;
}

.home-product-card:is(:hover, :focus-within) .revised-product-art .catalog-scene,
.home-product-card a:is(:hover, :focus-visible) .revised-product-art .catalog-scene {
  opacity: 1 !important;
  clip-path: none !important;
  transform: none !important;
}

.cart-shell .cart-suggestions__visual > .cart-suggestions__pack,
.cart-shell .cart-suggestions__image-link:is(:hover, :focus-visible) .cart-suggestions__pack {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  transition: none !important;
}
.product-panel__description > :first-child { margin-top: 0; }
.product-panel__description > :last-child { margin-bottom: 0; }
.product-stock-note { margin: 12px 0 0; text-align: center; font-weight: 900; text-transform: uppercase; }
.product-tagline {
  width: min(100%, 24ch);
  grid-column: 1 / -1;
  justify-self: center;
  margin: 54px 0 0;
  padding: 28px 2% 0;
  border-top: 2px solid color-mix(in srgb, var(--product-ink), transparent 55%);
  font-size: clamp(2.7rem, 4.8vw, 5.2rem);
  font-weight: 1000;
  letter-spacing: -0.045em;
  line-height: 0.98;
  text-align: center;
  text-transform: uppercase;
  text-wrap: balance;
  white-space: normal;
  overflow-wrap: normal;
}

.recommendations { padding: 85px 8% 105px; background: var(--cream); }
.recommendations h2 { margin-bottom: 55px; font-size: clamp(3rem, 6vw, 6.3rem); text-align: center; }
.recommendation-grid { display: grid; grid-template-columns: 1fr 1fr; max-width: 1160px; margin: 0 auto; border: 3px solid var(--brown); }
.recommendation-card { min-width: 0; border-right: 2px solid var(--brown); }
.recommendation-card:last-child { border-right: 0; }
.recommendation-card.is-highlighted { border-bottom: 18px solid var(--brown); background: #e2bc9d; }
.recommendation-card a { position: relative; display: flex; min-height: 550px; flex-direction: column; padding: 32px 34px 26px; }
.recommendation-card header { display: flex; justify-content: space-between; gap: 30px; font-size: 1.75rem; font-weight: 1000; line-height: 0.95; text-transform: uppercase; }
.recommendation-card header strong { max-width: 280px; }
.recommendation-card img { width: min(300px, 62%); height: 350px; margin: 15px auto 0; object-fit: contain; }
.recommendation-card.is-highlighted img { width: min(380px, 78%); object-fit: cover; }
.recommendation-cta { align-self: flex-end; margin-top: auto; font-size: 1.6rem; font-weight: 1000; text-transform: uppercase; }
.recommendation-cta b { margin-left: 12px; font-size: 2rem; }
.recommendation-card img,
.recommendation-cta { transition: transform 260ms ease; }
.recommendation-card a:hover img { transform: translateY(-7px) rotate(1deg); }
.recommendation-card a:hover .recommendation-cta { transform: translateX(5px); }

:focus-visible { outline: 4px solid #fff; outline-offset: 4px; }

@media (max-width: 1050px) {
  .brand-site { width: 100%; }
  .home-flavor { min-height: 560px; }
  .home-product-card__art { min-height: 330px; }
  .product-stage { grid-template-columns: minmax(340px, 0.85fr) minmax(460px, 1.15fr); gap: 35px; padding-inline: 5%; }
  .product-gallery__main { height: 520px; }
  .product-panel { padding: 34px 32px 27px; }
  .product-panel h1 { font-size: clamp(2.8rem, 4.8vw, 4rem); }
  .product-purchase { gap: 24px; }
}

@media (max-width: 800px) {
  .top-marquee { justify-content: flex-start; gap: 28px; }
  .top-marquee span:nth-of-type(n+3), .top-marquee i:nth-of-type(n+2) { display: none; }
  .brand-nav { bottom: 19px; gap: 32px; font-size: 0.7rem; }
  .round-action { width: 42px; height: 42px; }
  .flavor-stories { padding: 50px 7% 70px; }
  .home-flavor { grid-template-columns: 1fr; min-height: 0; gap: 16px; padding: 55px 0; }
  .home-flavor:nth-child(even) .home-flavor__copy { order: 1; }
  .home-flavor:nth-child(even) .home-flavor__image { order: 2; }
  .home-flavor__copy { padding: 0; }
  .home-flavor__image { width: min(100%, 520px); margin: 0 auto; }
  .home-flavor__image img { aspect-ratio: 0.9; }
  .home-product-grid { grid-template-columns: 1fr 1fr; }
  .home-product-card, .home-product-card:nth-child(4), .home-product-card:nth-child(5) { grid-column: auto; }
  .home-product-card:last-child { grid-column: 1 / -1; width: calc(50% - 14px); margin: 0 auto; }
  .brand-footer { min-height: 850px; grid-template-columns: 1fr 1fr; padding: 65px 7% 320px; }
  .footer-logo-block { grid-row: span 2; }
  .footer-products { height: 255px; }
  .footer-product-character img { height: 220px !important; transform: translateY(12px) !important; }
  .footer-product-message { top: -78px; width: 150px; font-size: 0.82rem; }
  .footer-product-character:is(:hover, :focus-visible, .is-active) img { transform: translateY(-50px) !important; }
  .product-stage { grid-template-columns: 1fr; padding: 55px 7% 105px; }
  .product-gallery__main { height: 500px; }
  .product-gallery__nav { opacity: 0.9; transform: translateY(-50%) scale(0.92); }
  .product-panel h1 { font-size: clamp(3rem, 10vw, 5rem); }
  .product-tagline { width: min(100%, 20ch); margin-top: 38px; padding-top: 22px; font-size: clamp(2.5rem, 7vw, 3.5rem); }
  .recommendation-card a { min-height: 450px; }
  .recommendation-card header { font-size: 1.15rem; }
  .recommendation-card img { height: 280px; }
}

@media (max-width: 520px) {
  .top-marquee { height: 38px; font-size: 0.55rem; }
  .brand-nav { width: 100%; justify-content: center; gap: 24px; }
  .brand-logo__drip { font-size: 2.2rem; }
  .brand-logo__drip::before { top: -17px; width: 42px; height: 20px; }
  .home-hero img { min-height: 320px; object-fit: cover; }
  .home-flavor__kicker { font-size: 3.35rem; }
  .home-flavor h2 { font-size: 1.7rem; }
  .collection-intro { padding-inline: 6%; }
  .home-product-grid { gap: 14px; }
  .home-product-card__art { min-height: 245px; }
  .home-product-card__art img { width: 62%; max-height: 215px; }
  .home-product-card strong { font-size: 0.8rem; }
  .home-product-card:last-child { width: calc(50% - 7px); }
  .brand-footer { min-height: 910px; grid-template-columns: 1fr 1fr; gap: 24px; padding: 50px 6% 270px; }
  .footer-logo-block { width: 100%; grid-column: 1 / -1; grid-row: auto; flex-direction: column; justify-content: flex-start; gap: 10px; }
  .footer-seal { width: 100px; height: 100px; font-size: 0.75rem; }
  .footer-column { font-size: 0.68rem; }
  .footer-column > strong { font-size: 0.95rem; }
  .footer-column:last-of-type { grid-column: 1 / -1; }
  .footer-products { right: -8%; left: -8%; height: 220px; }
  .footer-product-character img { max-width: 95%; height: 185px !important; }
  .footer-product-message { top: -62px; width: 108px; gap: 3px; font-size: 0.62rem; }
  .footer-product-message > span { font-size: 1.7rem; }
  .footer-product-character:is(:hover, :focus-visible, .is-active) img { transform: translateY(-34px) !important; }
  .chocolate-back-to-top { right: 10px; bottom: 10px; width: 58px; height: 88px; }
  .chocolate-back-to-top__label { display: none; }
  .product-gallery__main { height: 420px; }
  .product-thumbnails { gap: 8px; }
  .product-thumbnails button { height: 82px; border-radius: 10px; }
  .product-panel { padding: 28px 22px 22px; border-radius: 30px; }
  .product-panel__heading { grid-template-columns: 1fr; gap: 14px; }
  .product-panel h1 { font-size: clamp(2.7rem, 13vw, 4.2rem); }
  .product-panel__price { justify-self: start; margin: 0; font-size: 1.35rem; }
  .detail-row button { min-height: 54px; font-size: 0.9rem; }
  .detail-row__content p { padding-right: 8px; }
  .product-gallery__nav { width: 44px; height: 44px; font-size: 2rem; }
  .product-purchase { grid-template-columns: 1fr; gap: 12px; }
  .figma-quantity, .figma-add { min-height: 58px; }
  .product-tagline { width: min(100%, 17ch); margin-top: 32px; padding: 18px 0 0; font-size: clamp(2rem, 10vw, 2.7rem); }
  .recommendations { padding-inline: 5%; }
  .recommendation-grid { grid-template-columns: 1fr; }
  .recommendation-card { border-right: 0; border-bottom: 2px solid var(--brown); }
  .recommendation-card a { min-height: 430px; }
}

/* --------------------------------------------------------------------------
   Checklist completo 29-07-2026: carrusel social, fichas y confirmaci&oacute;n
   -------------------------------------------------------------------------- */

.home-product-card__status,
.shop-product-badge,
.product-gallery__hint,
.product-panel__eyebrow,
.product-meta,
.purchase-assurances {
  display: none !important;
}

.instagram-section {
  padding: 0 0 44px;
}

.instagram-section > p {
  margin-bottom: 24px;
  font-size: 1.05rem;
  font-weight: 700;
}

.instagram-carousel {
  position: relative;
  width: min(100%, 1140px);
  margin: 0 auto;
  padding: 0 76px;
}

.instagram-carousel__viewport {
  overflow: hidden;
  border-radius: 30px;
  background: var(--paper);
  box-shadow: 0 22px 48px rgba(66, 39, 18, 0.12);
}

.instagram-carousel__track {
  display: flex;
  gap: 2%;
  padding: 16px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}

.instagram-carousel__track::-webkit-scrollbar { display: none; }

.instagram-carousel__track > a {
  position: relative;
  flex: 0 0 32%;
  overflow: hidden;
  border-radius: 22px;
  background: #e8c98d;
  scroll-snap-align: start;
  transition: transform 260ms ease, box-shadow 260ms ease;
}

.instagram-carousel__track > a:is(:hover, :focus-visible) {
  box-shadow: 0 16px 28px rgba(66, 39, 18, 0.18);
  transform: translateY(-5px);
}

.instagram-carousel__slice {
  display: block;
  width: 100%;
  aspect-ratio: 2 / 3;
  background-color: transparent;
  background-image: url("assets/home/instagram-strip.webp");
  background-position: calc(var(--slice-index) * 20%) center;
  background-repeat: no-repeat;
  background-size: 600% 100%;
}

.instagram-carousel__nav {
  position: absolute;
  top: 50%;
  z-index: 4;
  display: grid;
  width: 54px;
  height: 54px;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: var(--cream);
  box-shadow: 0 12px 28px rgba(66, 39, 18, 0.2);
  color: var(--brown);
  cursor: pointer;
  font-family: "Gohan", Arial, sans-serif;
  font-size: 2rem;
  transform: translateY(-50%);
  transition: background 220ms ease, opacity 220ms ease, transform 220ms ease;
}

.instagram-carousel__nav:disabled { cursor: default; opacity: 0.32; }
.instagram-carousel__nav:not(:disabled):hover { background: var(--acai-light); transform: translateY(-50%) scale(1.06); }
.instagram-carousel__nav.is-previous { left: 10px; }
.instagram-carousel__nav.is-next { right: 10px; }

.instagram-carousel__profile {
  position: absolute;
  bottom: 28px;
  left: 50%;
  z-index: 4;
  display: inline-flex;
  width: max-content;
  align-items: center;
  gap: 8px;
  padding: 13px 20px;
  border-radius: 999px;
  background: var(--cream);
  box-shadow: 0 12px 26px rgba(66, 39, 18, 0.18);
  font-family: "Gohan", Arial, sans-serif;
  font-size: 0.78rem;
  text-transform: uppercase;
  transform: translateX(-50%);
}

.product-gallery__main--pack { background: transparent; }

.product-gallery__main--pack img {
  width: min(390px, 72%);
  height: 90%;
  padding: 22px;
  object-fit: contain;
}

.product-thumbnails {
  grid-template-columns: repeat(5, minmax(48px, 1fr));
}

.product-tagline {
  display: block;
  width: 100%;
  max-width: 100%;
  min-height: 144px;
  margin: 34px 0 0;
  padding: 0;
  overflow: hidden;
  border-top: 2px solid color-mix(in srgb, var(--product-ink) 32%, transparent);
  color: var(--product-ink);
  font-family: "Gohan", Arial, sans-serif;
  font-size: clamp(1.15rem, 2.2vw, 2.5rem);
  white-space: nowrap;
}

.product-tagline__track {
  display: flex;
  width: max-content;
  min-height: 142px;
  align-items: center;
  animation: product-tagline-scroll 18s linear infinite;
}

.product-tagline__track b {
  padding-right: 80px;
  font-weight: 400;
  text-transform: uppercase;
}

@keyframes product-tagline-scroll {
  to { transform: translateX(-50%); }
}

.recommendation-card--acai { --recommendation-tone: #f0b6d3; color: #571e55; }
.recommendation-card--papitas-y-caramelo { --recommendation-tone: #fec900; color: #d67810; }
.recommendation-card--cinnamon-roll { --recommendation-tone: #be7e4f; color: #7b4028; }

.recommendation-card {
  border: 2px solid rgba(66, 39, 18, 0.28);
  border-radius: 28px;
  background: color-mix(in srgb, var(--recommendation-tone, #fff4cd), white 38%);
}

.recommendation-card__art {
  position: relative;
  display: block;
  width: 100%;
  height: 350px;
  margin-top: 14px;
  overflow: hidden;
  border-radius: 20px;
}

.recommendation-card__art img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  border-radius: 0;
  object-fit: cover;
  transition: opacity 430ms ease, transform 620ms cubic-bezier(0.2, 0.78, 0.25, 1);
}

.recommendation-card__pack {
  z-index: 2;
  padding: 24px;
  background: color-mix(in srgb, var(--recommendation-tone, #fff4cd), white 18%);
  object-fit: contain !important;
  opacity: 1;
}

.recommendation-card__scene {
  z-index: 1;
  opacity: 0;
  transform: scale(1.06);
}

.recommendation-card__peek {
  position: absolute;
  right: 16px;
  bottom: 14px;
  z-index: 3;
  padding: 8px 12px;
  border-radius: 999px;
  background: var(--cream);
  color: var(--brown);
  font-family: "Gohan", Arial, sans-serif;
  font-size: 0.68rem;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 260ms ease, transform 320ms ease;
}

.home-product-card a:is(:hover, :focus-visible) .catalog-pack,
.recommendation-card a:is(:hover, :focus-visible) .recommendation-card__pack {
  opacity: 0;
  transform: scale(0.94);
}

.home-product-card a:is(:hover, :focus-visible) .catalog-scene,
.recommendation-card a:is(:hover, :focus-visible) .recommendation-card__scene {
  opacity: 1;
  transform: scale(1.015);
}

.recommendation-card a:is(:hover, :focus-visible) .recommendation-card__peek {
  opacity: 1;
  transform: translateY(0);
}

.purchase-confirmed-page { background: var(--cream); }

.purchase-confirmed {
  position: relative;
  display: grid;
  min-height: 780px;
  grid-template-columns: minmax(0, 1.08fr) minmax(330px, 0.92fr);
  gap: clamp(34px, 6vw, 96px);
  align-items: center;
  padding: clamp(72px, 8vw, 124px) 7%;
  overflow: hidden;
  background: radial-gradient(circle at 88% 18%, rgba(240, 182, 211, 0.9) 0 16%, transparent 16.3%), linear-gradient(135deg, #fff4de 0 56%, #fec900 56% 100%);
}

.purchase-confirmed__card {
  position: relative;
  z-index: 2;
  width: 100%;
  min-width: 0;
  padding: clamp(34px, 5vw, 66px);
  border: 2px solid rgba(66, 39, 18, 0.1);
  border-radius: clamp(34px, 4vw, 56px);
  background: rgba(255, 250, 240, 0.95);
  box-shadow: 0 30px 70px rgba(66, 39, 18, 0.14);
  font-family: var(--font-body);
}

.purchase-confirmed__face {
  display: grid;
  width: 88px;
  height: 88px;
  place-items: center;
  margin-bottom: 25px;
  overflow: hidden;
  border-radius: 50%;
  background: var(--brown);
  box-shadow: 0 14px 28px rgba(66, 39, 18, 0.18);
  animation: purchase-face-bob 2.6s ease-in-out infinite;
}

.purchase-confirmed__face img { width: 100%; height: 100%; object-fit: cover; }
.purchase-confirmed__eyebrow { margin: 0 0 13px; color: var(--acai-dark); font-family: var(--font-body); font-size: 0.75rem; font-weight: 900; letter-spacing: 0.14em; text-transform: uppercase; }
.purchase-confirmed h1 { max-width: 100%; margin: 0; color: var(--brown); font-family: "Gohan", Arial, sans-serif; font-size: clamp(3.2rem, 5vw, 5.6rem); font-weight: 400; letter-spacing: -0.045em; line-height: 0.86; text-transform: uppercase; }
.purchase-confirmed__lead { margin: 25px 0 8px; color: var(--papitas-orange); font-family: "Gohan", Arial, sans-serif; font-size: clamp(1.45rem, 2.5vw, 2.35rem); text-transform: uppercase; }
.purchase-confirmed__copy { max-width: 56ch; margin: 0; color: var(--brown); font-family: var(--font-body); line-height: 1.6; }
.purchase-confirmed__actions { display: flex; flex-wrap: wrap; gap: 14px 22px; align-items: center; margin-top: 30px; }
.purchase-confirmed__primary, .purchase-confirmed__secondary { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; gap: 12px; font-family: "Gohan", Arial, sans-serif; font-size: 0.8rem; text-transform: uppercase; }
.purchase-confirmed__primary { padding: 12px 20px; border-radius: 999px; background: var(--acai-dark); color: var(--cream); box-shadow: 0 14px 28px rgba(87, 30, 85, 0.2); }
.purchase-confirmed__secondary { min-height: 38px; border-bottom: 2px solid currentColor; color: var(--brown); }

.purchase-confirmed__lineup { position: relative; z-index: 1; display: flex; min-width: 0; height: 590px; align-items: flex-end; justify-content: center; }
.purchase-confirmed__lineup a { width: 31%; min-width: 0; transform-origin: center bottom; transition: transform 320ms cubic-bezier(0.16, 1, 0.3, 1); }
.purchase-confirmed__lineup a:nth-child(1) { transform: rotate(-7deg) translate(24px, 12px); }
.purchase-confirmed__lineup a:nth-child(2) { z-index: 2; transform: translateY(-34px); }
.purchase-confirmed__lineup a:nth-child(3) { transform: rotate(7deg) translate(-24px, 10px); }
.purchase-confirmed__lineup img { width: 100%; height: 520px; object-fit: contain; filter: drop-shadow(0 25px 22px rgba(66, 39, 18, 0.2)); }
.purchase-confirmed__lineup a:is(:hover, :focus-visible) { z-index: 4; transform: translateY(-55px) rotate(0) scale(1.08); }
.purchase-confirmed__woo { padding: 56px 7% 90px; background: var(--cream); }
.purchase-confirmed__woo > * { width: min(100%, 1180px); margin-inline: auto; }

@keyframes purchase-face-bob {
  0%, 100% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-7px) rotate(2deg); }
}

@media (max-width: 800px) {
  .instagram-carousel { padding-inline: 62px; }
  .instagram-carousel__track > a { flex-basis: 49%; }
  .purchase-confirmed { min-height: 0; grid-template-columns: minmax(0, 1fr); padding-inline: 6%; }
  .purchase-confirmed__lineup { height: 390px; }
  .purchase-confirmed__lineup img { height: 350px; }
}

@media (max-width: 520px) {
  .instagram-carousel { padding-inline: 48px; }
  .instagram-carousel__track > a { flex-basis: 88%; }
  .instagram-carousel__nav { width: 42px; height: 42px; }
  .instagram-carousel__nav.is-previous { left: 2px; }
  .instagram-carousel__nav.is-next { right: 2px; }
  .instagram-carousel__profile { bottom: 18px; max-width: 70%; text-align: center; }
  .product-thumbnails { gap: 6px; }
  .product-thumbnails button { height: 76px; border-radius: 12px; }
  .product-tagline { min-height: 116px; }
  .product-tagline__track { min-height: 114px; }
  .product-tagline__track b { padding-right: 44px; }
  .recommendation-card__art { height: 285px; }
  .purchase-confirmed { padding-top: 58px; padding-bottom: 72px; }
  .purchase-confirmed__card { padding: 30px 22px 34px; border-radius: 30px; }
  .purchase-confirmed__face { width: 70px; height: 70px; }
  .purchase-confirmed h1 { font-size: clamp(2.55rem, 11.3vw, 3.35rem); letter-spacing: -0.025em; line-height: 0.92; }
  .purchase-confirmed__actions, .purchase-confirmed__primary, .purchase-confirmed__secondary { width: 100%; }
  .purchase-confirmed__lineup { height: 300px; }
  .purchase-confirmed__lineup img { height: 275px; }
}

@media (prefers-reduced-motion: reduce) {
  .instagram-carousel__track { scroll-behavior: auto; }
  .product-tagline__track, .purchase-confirmed__face { animation: none; }
}


/* Minicart: feedback inmediato después de agregar y acceso directo al checkout. */
body.mini-cart-is-open { overflow: hidden; }

.mini-cart-overlay {
  position: fixed;
  inset: 0;
  z-index: 180;
  padding: 0;
  border: 0;
  background: rgba(36, 16, 7, 0.48);
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: opacity 280ms ease;
}

.mini-cart-overlay.is-open { opacity: 1; pointer-events: auto; }

.mini-cart-panel {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 190;
  display: flex;
  width: min(440px, 100%);
  height: 100dvh;
  flex-direction: column;
  background: var(--cream);
  box-shadow: -24px 0 70px rgba(36, 16, 7, 0.24);
  color: var(--brown);
  overflow: hidden;
  transform: translateX(105%);
  visibility: hidden;
  transition: transform 420ms cubic-bezier(0.2, 0.82, 0.24, 1), visibility 0s linear 420ms;
}

.mini-cart-panel.is-open {
  transform: translateX(0);
  visibility: visible;
  transition-delay: 0s;
}

body.admin-bar .mini-cart-panel { top: 32px; height: calc(100dvh - 32px); }

.mini-cart-panel__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 30px 30px 24px;
  border-bottom: 1px solid rgba(66, 39, 18, 0.16);
  background: var(--brown);
  color: var(--cream);
}

.mini-cart-panel__header span {
  display: block;
  margin-bottom: 5px;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.mini-cart-panel__header h2 { margin: 0; font-size: 2.2rem; line-height: 0.9; text-transform: uppercase; }

.mini-cart-panel__header button {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid rgba(255, 250, 240, 0.5);
  border-radius: 50%;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font-size: 1.8rem;
  line-height: 1;
}

.mini-cart-panel__body { display: flex; min-height: 0; flex: 1; flex-direction: column; padding: 24px 28px 30px; overflow-y: auto; }
.mini-cart-lines { display: grid; gap: 12px; }

.mini-cart-line {
  display: grid;
  grid-template-columns: 74px 1fr;
  align-items: center;
  gap: 16px;
  padding: 12px;
  border: 1px solid rgba(66, 39, 18, 0.12);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.66);
  transition: border-color 180ms ease, transform 220ms ease;
}

.mini-cart-line:is(:hover, :focus-visible) { border-color: var(--purple); outline: none; transform: translateX(-4px); }
.mini-cart-line__image { display: grid; height: 92px; place-items: center; overflow: hidden; border-radius: 14px; background: var(--pink); }
.mini-cart-line__image img { width: 64px; height: 84px; object-fit: contain; }
.mini-cart-line strong { display: block; font-family: var(--font-title); font-size: 1.04rem; line-height: 1.05; text-transform: uppercase; }
.mini-cart-line small { display: block; margin-top: 8px; font-size: 0.82rem; }

.mini-cart-total { display: flex; align-items: flex-end; justify-content: space-between; margin-top: auto; padding: 26px 2px 18px; border-top: 1px solid rgba(66, 39, 18, 0.16); }
.mini-cart-total span { font-size: 0.75rem; font-weight: 900; letter-spacing: 0.12em; text-transform: uppercase; }
.mini-cart-total strong { font-family: var(--font-title); font-size: 2rem; }
.mini-cart-actions { display: grid; grid-template-columns: 1fr 1.12fr; gap: 10px; }
.mini-cart-actions a,
.mini-cart-empty .mini-cart-primary { display: grid; min-height: 50px; place-items: center; padding: 0 15px; border: 2px solid var(--purple); border-radius: 999px; font-family: var(--font-title); font-size: 0.78rem; text-align: center; text-transform: uppercase; }
.mini-cart-secondary { color: var(--purple); }
.mini-cart-primary { background: var(--purple); color: var(--cream); }
.mini-cart-actions a:is(:hover, :focus-visible),
.mini-cart-empty .mini-cart-primary:is(:hover, :focus-visible) { outline: none; box-shadow: 0 10px 24px rgba(91, 29, 94, 0.22); transform: translateY(-2px); }

.mini-cart-empty { display: grid; min-height: 100%; place-content: center; justify-items: center; gap: 22px; text-align: center; }
.mini-cart-empty img { width: 94px; height: 94px; object-fit: contain; }
.mini-cart-empty strong { max-width: 280px; font-family: var(--font-title); font-size: 1.7rem; line-height: 1.05; text-transform: uppercase; }
.mini-cart-empty .mini-cart-primary { min-width: 210px; }
.figma-add.is-loading { cursor: wait; opacity: 0.76; }

/* Colección editorial inspirada en el ritmo de Vicio: una pieza central y controles compactos. */
.collection-showcase {
  min-height: 700px;
  border-radius: 34px;
  background: #ededed;
  isolation: isolate;
}

.collection-showcase__statement {
  position: absolute;
  top: 38px;
  left: 38px;
  z-index: 5;
  width: min(48%, 570px);
  margin: 0;
  color: var(--brown);
  font-family: var(--font-title);
  font-size: clamp(3.6rem, 6.3vw, 6.35rem);
  line-height: 0.82;
  letter-spacing: -0.055em;
  text-transform: uppercase;
  pointer-events: none;
}

.collection-showcase__statement span,
.collection-showcase__statement strong { display: block; font: inherit; }
.collection-showcase__statement strong { padding-left: clamp(18px, 5vw, 76px); }
.collection-showcase__viewport,
.collection-showcase__content { min-height: 700px; }

.collection-showcase__slide { transform: translateX(72%) scale(0.92); transition: opacity 520ms ease, transform 720ms cubic-bezier(0.2, 0.82, 0.24, 1); }

.collection-showcase__content {
  position: relative;
  display: block;
  padding: 0;
  background:
    radial-gradient(circle at 50% 44%, color-mix(in srgb, var(--lineup-accent) 54%, white) 0 22%, transparent 52%),
    linear-gradient(112deg, color-mix(in srgb, var(--lineup-accent) 23%, #ededed) 0 52%, #ededed 100%);
}

.collection-showcase__product-link,
.collection-showcase__content > .collection-showcase__media {
  position: absolute;
  top: 88px;
  left: 50%;
  z-index: 2;
  display: block;
  width: min(43%, 470px);
  transform: translateX(-50%);
}

.collection-showcase__media { min-height: 520px; }
.collection-showcase__media img { width: 100%; max-width: 440px; height: 520px; margin: 0 auto; transform: rotate(-1deg); }
.collection-showcase__product-link:is(:hover, :focus-visible) img { transform: translateY(-14px) rotate(1deg) scale(1.035); }

.collection-showcase__copy {
  position: absolute;
  right: 38px;
  bottom: 34px;
  z-index: 4;
  width: min(31%, 350px);
  text-align: right;
}

.collection-showcase__copy h3 { font-size: clamp(2.45rem, 4.5vw, 4.7rem); line-height: 0.86; }
.collection-showcase__copy p { margin: 15px 0 18px auto; font-size: 0.94rem; }
.collection-showcase__copy .pill-link,
.collection-showcase__soon { justify-self: end; }
.collection-showcase__status { top: 36px; }

.collection-showcase__nav { top: auto; bottom: 18px; width: 46px; height: 46px; font-size: 1.65rem; transform: none; }
.collection-showcase__nav:is(:hover, :focus-visible) { transform: scale(1.06); }
.collection-showcase__nav.is-previous { left: calc(50% - 106px); }
.collection-showcase__nav.is-next { right: auto; left: calc(50% + 60px); }
.collection-showcase__pagination { right: auto; bottom: 31px; left: 50%; gap: 0; transform: translateX(-50%); }
.collection-showcase__dots { display: none; }

@media (max-width: 800px) {
  body.admin-bar .mini-cart-panel { top: 46px; height: calc(100dvh - 46px); }
  .collection-showcase,
  .collection-showcase__viewport,
  .collection-showcase__content { min-height: 770px; }
  .collection-showcase__statement { top: 26px; left: 26px; width: calc(100% - 52px); font-size: clamp(3rem, 10vw, 5.1rem); }
  .collection-showcase__statement strong { padding-left: 8vw; }
  .collection-showcase__product-link,
  .collection-showcase__content > .collection-showcase__media { top: 118px; width: min(72%, 380px); }
  .collection-showcase__media { min-height: 390px; }
  .collection-showcase__media img { height: 390px; }
  .collection-showcase__copy { right: 8%; bottom: 78px; width: 84%; text-align: center; }
  .collection-showcase__copy p { margin-inline: auto; }
  .collection-showcase__copy .pill-link,
  .collection-showcase__soon { justify-self: center; }
  .collection-showcase__nav { bottom: 16px; }
  .collection-showcase__pagination { bottom: 29px; }
}

@media (max-width: 520px) {
  .mini-cart-panel__header { padding: 24px 20px 20px; }
  .mini-cart-panel__body { padding: 20px; }
  .mini-cart-actions { grid-template-columns: 1fr; }
  .collection-showcase,
  .collection-showcase__viewport,
  .collection-showcase__content { min-height: 790px; }
  .collection-showcase { width: 100%; border-radius: 22px; }
  .collection-showcase__statement { top: 22px; left: 20px; width: calc(100% - 40px); font-size: clamp(2.7rem, 14vw, 4rem); }
  .collection-showcase__product-link,
  .collection-showcase__content > .collection-showcase__media { top: 122px; width: min(78%, 300px); }
  .collection-showcase__media { min-height: 350px; }
  .collection-showcase__media img { height: 345px; }
  .collection-showcase__status { top: 18px; }
  .collection-showcase__copy { right: 6%; bottom: 82px; width: 88%; }
  .collection-showcase__copy h3 { font-size: clamp(2.15rem, 11vw, 3.25rem); }
  .collection-showcase__copy p { margin: 12px auto 16px; font-size: 0.86rem; }
  .collection-showcase__nav.is-previous { left: calc(50% - 102px); }
  .collection-showcase__nav.is-next { left: calc(50% + 56px); }
}

/* La etiqueta de los sabores futuros debe acompañar a la barra sin tapar el titular. */
.collection-showcase__status {
  top: auto;
  bottom: 32px;
}

@media (max-width: 520px) {
  .collection-showcase__status {
    top: auto;
    bottom: 22px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mini-cart-overlay,
  .mini-cart-panel { transition: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
  .chocolate-back-to-top__figure, .chocolate-back-to-top__bar { animation: none !important; }
  .chocolate-back-to-top__bar { opacity: 0; }
  .chocolate-back-to-top__bar:first-child { opacity: 1; }
}

/* WordPress and WooCommerce */
.site-content-shell {
  min-height: 55vh;
  padding: 80px 8%;
  background: var(--cream);
}

.site-content-shell > * { max-width: 1080px; margin-inline: auto; }
.site-content-shell h1 { font-size: clamp(2.8rem, 6vw, 6rem); line-height: 0.95; text-transform: uppercase; }

.woo-shell {
  min-height: 60vh;
  padding: 75px 7% 100px;
  background: var(--cream);
}

.woo-shell .woocommerce { max-width: 1200px; margin: 0 auto; }
.woocommerce .woocommerce-breadcrumb { margin: 0 0 28px; color: var(--brown-2); font-size: 0.8rem; }
.woocommerce .woocommerce-result-count { margin-top: 12px; }
.woocommerce .woocommerce-ordering select,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .quantity .qty {
  min-height: 46px;
  border: 2px solid var(--brown);
  border-radius: 999px;
  background: var(--paper);
  color: var(--brown);
}

.woocommerce ul.products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  margin: 42px 0 0;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; text-align: center; }
.woocommerce ul.products li.product a img {
  aspect-ratio: 1 / 1.12;
  margin: 0 0 20px;
  padding: 34px;
  background: var(--pink);
  object-fit: contain;
}
.woocommerce ul.products li.product:nth-child(3n+2) a img { background: #9b6ed0; }
.woocommerce ul.products li.product:nth-child(3n+3) a img { background: var(--yellow); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--brown); font-size: 1rem; text-transform: uppercase; }
.woocommerce ul.products li.product .price { color: var(--brown); font-weight: 900; }

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  min-height: 44px;
  padding: 12px 24px;
  border-radius: 999px;
  background: var(--purple);
  color: #fff;
  font-weight: 900;
  text-transform: uppercase;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover { background: var(--brown); color: #fff; }

.single-product .woo-shell { background: var(--pink); }
.single-product .woo-shell .product {
  display: grid;
  grid-template-columns: minmax(360px, 0.9fr) minmax(480px, 1.1fr);
  gap: 70px;
  align-items: start;
}
.single-product.woocommerce div.product div.images,
.single-product.woocommerce div.product div.summary { width: auto; float: none; }
.single-product.woocommerce div.product div.images img { max-height: 650px; object-fit: contain; }
.single-product.woocommerce div.product div.summary {
  padding: 45px;
  border-radius: 46px;
  background: #fff;
}
.single-product .product_title { margin: 0; color: var(--purple); font-size: clamp(3.5rem, 6vw, 6.8rem); letter-spacing: -0.06em; line-height: 0.9; text-transform: uppercase; }
.single-product.woocommerce div.product p.price { color: var(--pink); font-size: clamp(2rem, 3vw, 3.2rem); font-weight: 900; }
.single-product .woocommerce-product-details__short-description { line-height: 1.6; }
.single-product .woocommerce-tabs,
.single-product .related.products { grid-column: 1 / -1; }
.single-product .woocommerce-tabs { padding: 35px; border-radius: 34px; background: var(--cream); }
.single-product .woocommerce-tabs ul.tabs { border-bottom: 3px solid var(--purple); }
.single-product .related.products { padding-top: 35px; }
.single-product .related.products > h2 { font-size: clamp(2.6rem, 5vw, 5rem); text-align: center; text-transform: uppercase; }

.woocommerce-message,
.woocommerce-info,
.woocommerce-error { border-top-color: var(--purple); background: var(--paper); }
.woocommerce-message::before,
.woocommerce-info::before { color: var(--purple); }
.woocommerce-cart table.cart img { width: 100px; }
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review { padding: 28px; border-radius: 28px; background: var(--paper); }
.woocommerce-checkout #order_review_heading { margin-top: 36px; }

@media (max-width: 800px) {
  .woocommerce ul.products { grid-template-columns: 1fr 1fr; }
  .single-product .woo-shell .product { grid-template-columns: 1fr; gap: 32px; }
  .single-product.woocommerce div.product div.summary { padding: 30px 24px; border-radius: 30px; }
}

@media (max-width: 520px) {
  .woo-shell { padding: 45px 5% 70px; }
  .woocommerce ul.products { gap: 14px; }
  .woocommerce ul.products li.product a img { padding: 18px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 0.8rem; }
}

/* Conversion and interaction polish */
::selection { background: var(--pink); color: var(--brown); }

#contenido,
#productos,
#sabores,
#nosotros,
#contacto { scroll-margin-top: 24px; }

.skip-link:focus {
  position: fixed !important;
  top: 12px;
  left: 12px;
  z-index: 10000;
  width: auto;
  height: auto;
  margin: 0;
  padding: 12px 18px;
  clip: auto;
  border-radius: 999px;
  background: #fff;
  color: var(--brown);
  font-weight: 900;
}

.section-eyebrow {
  margin: 0 0 14px;
  color: inherit;
  font-size: 0.72rem;
  font-weight: 1000;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.top-marquee { justify-content: flex-start; padding-inline: 0; }
.top-marquee__track {
  display: flex;
  min-width: max-content;
  align-items: center;
  animation: top-marquee-scroll 28s linear infinite;
  will-change: transform;
}
.top-marquee__track span { padding-inline: 28px; }
.top-marquee:hover .top-marquee__track { animation-play-state: paused; }

@keyframes top-marquee-scroll {
  to { transform: translateX(-50%); }
}

.round-action,
.brand-logo,
.brand-nav a { transition: transform 220ms ease, background 220ms ease, color 220ms ease, border-color 220ms ease; }
.round-action:hover { background: var(--pink); transform: translateY(-3px) rotate(-3deg); }
.brand-logo:hover { transform: translateY(-3px) rotate(2deg); }
.brand-nav a { position: relative; border: 0; }
.brand-nav a::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
  content: "";
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 220ms ease;
}
.brand-nav a:is(:hover, :focus-visible)::after { transform: scaleX(1); }
.brand-cart { position: relative; }
.brand-cart__icon { transform: translateY(-1px); }
.brand-cart__count {
  position: absolute;
  top: -5px;
  right: -5px;
  display: grid;
  width: 22px;
  height: 22px;
  place-items: center;
  border: 2px solid var(--brown);
  border-radius: 50%;
  background: var(--pink);
  color: var(--brown);
  font-size: 0.62rem;
  font-weight: 1000;
}

.home-hero {
  position: relative;
  min-height: clamp(600px, 55vw, 790px);
  overflow: hidden;
  isolation: isolate;
}
.home-hero__media { position: absolute; inset: 0; }
.home-hero__media::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(66,39,18,0.26), transparent 48%), linear-gradient(0deg, rgba(66,39,18,0.12), transparent 44%);
  content: "";
  pointer-events: none;
}
.home-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  animation: hero-breathe 9s ease-in-out infinite;
  transform-origin: center 55%;
}
.home-hero__card {
  position: absolute;
  bottom: 58px;
  left: 6.5%;
  z-index: 2;
  width: min(590px, 48%);
  padding: 34px 38px 36px;
  border: 1px solid rgba(255,255,255,0.72);
  border-radius: 34px;
  background: rgba(255,250,240,0.93);
  box-shadow: 0 28px 70px rgba(66,39,18,0.2);
  backdrop-filter: blur(12px);
}
.home-hero__card h1 {
  max-width: 10ch;
  margin: 0;
  font-size: clamp(3.4rem, 5.8vw, 6.2rem);
  font-weight: 1000;
  letter-spacing: -0.065em;
  line-height: 0.86;
  text-transform: uppercase;
  text-wrap: balance;
}
.home-hero__card > p:not(.section-eyebrow) { max-width: 48ch; margin: 22px 0 0; line-height: 1.55; }
.home-hero__actions { display: flex; align-items: center; gap: 20px; margin-top: 26px; }
.text-link { padding: 7px 2px; border-bottom: 2px solid currentColor; font-size: 0.8rem; font-weight: 1000; text-transform: uppercase; }
.text-link:hover { color: var(--purple); }
.home-hero__scroll {
  position: absolute;
  right: 4%;
  bottom: 32px;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 10px 15px;
  border-radius: 999px;
  background: rgba(255,250,240,0.9);
  font-size: 0.7rem;
  font-weight: 1000;
  text-transform: uppercase;
}
.home-hero__scroll span { animation: scroll-nudge 1.5s ease-in-out infinite; }

@keyframes hero-breathe {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.025); }
}
@keyframes scroll-nudge {
  0%, 100% { transform: translateY(-2px); }
  50% { transform: translateY(3px); }
}

.proof-strip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  background: var(--brown);
  color: var(--cream);
}
.proof-strip > div {
  position: relative;
  display: grid;
  min-height: 132px;
  grid-template-columns: auto 1fr;
  align-content: center;
  column-gap: 16px;
  padding: 26px 8%;
  border-right: 1px solid rgba(255,255,255,0.18);
}
.proof-strip > div:last-child { border-right: 0; }
.proof-strip span { grid-row: 1 / 3; align-self: center; color: var(--pink); font-size: 1.9rem; font-weight: 1000; }
.proof-strip strong { font-size: 1rem; text-transform: uppercase; }
.proof-strip small { margin-top: 5px; opacity: 0.76; font-size: 0.75rem; line-height: 1.35; }

.pill-link {
  gap: 10px;
  box-shadow: 0 8px 18px rgba(66,39,18,0.12);
  transition: transform 220ms ease, box-shadow 220ms ease, background 220ms ease;
}
.pill-link:hover { transform: translateY(-3px); box-shadow: 0 14px 25px rgba(66,39,18,0.18); }
.pill-link span { transition: transform 220ms ease; }
.pill-link:hover span { transform: translateX(4px); }
.pill-link--primary { --button-bg: var(--purple); }

.reveal-ready { opacity: 0; transform: translateY(36px); }
.reveal-ready.is-visible { opacity: 1; transform: translateY(0); transition: opacity 700ms ease, transform 700ms cubic-bezier(0.2,0.75,0.25,1); }

.home-flavor { position: relative; }
.home-flavor::after {
  position: absolute;
  top: 10%;
  bottom: 10%;
  left: 50%;
  width: 1px;
  background: linear-gradient(transparent, rgba(66,39,18,0.14), transparent);
  content: "";
}
.home-flavor__image { box-shadow: 0 24px 50px rgba(66,39,18,0.12); transition: transform 420ms cubic-bezier(0.2,0.75,0.25,1), box-shadow 320ms ease; }
.home-flavor__image::after {
  position: absolute;
  inset: 0;
  border: 2px solid rgba(255,255,255,0.36);
  border-radius: inherit;
  content: "";
  pointer-events: none;
}
.home-flavor__image:hover { box-shadow: 0 32px 70px rgba(66,39,18,0.18); transform: translateY(-8px) rotate(0.7deg) scale(1.012); }
.home-flavor__image img { transition: transform 600ms cubic-bezier(0.2,0.75,0.25,1); }
.home-flavor__image:hover img { transform: scale(1.035); }

.pink-marquee { gap: 0; }
.pink-marquee:hover span { animation-play-state: paused; }
.collection-lineup { aspect-ratio: 1609 / 594; filter: drop-shadow(0 20px 24px rgba(66,39,18,0.12)); object-fit: contain; }

.product-carousel { position: relative; max-width: 1220px; margin: 0 auto; }
.product-carousel__control {
  position: absolute;
  top: 42%;
  z-index: 4;
  display: none;
  width: 48px;
  height: 48px;
  place-items: center;
  padding: 0 0 5px;
  border: 0;
  border-radius: 50%;
  background: var(--brown);
  color: var(--cream);
  box-shadow: 0 12px 28px rgba(66,39,18,0.22);
  cursor: pointer;
  font-size: 2rem;
}
.product-carousel__control--previous { left: -12px; }
.product-carousel__control--next { right: -12px; }
.product-carousel__control:disabled { opacity: 0.32; cursor: default; }

.home-product-card a { display: flex; height: 100%; flex-direction: column; }
.home-product-card__art {
  position: relative;
  border-radius: 30px;
  box-shadow: 0 16px 35px rgba(66,39,18,0.1);
  transition: transform 360ms cubic-bezier(0.2,0.75,0.25,1), box-shadow 280ms ease;
}
.home-product-card a:hover .home-product-card__art { box-shadow: 0 28px 55px rgba(66,39,18,0.17); transform: translateY(-9px); }
.home-product-card a:hover .home-product-card__art img { transform: translateY(-8px) rotate(2deg) scale(1.04); }
.home-product-card__status {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(66,39,18,0.84);
  color: #fff;
  font-size: 0.58rem;
  font-weight: 1000;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.home-product-card__status.is-available { background: var(--green); }
.home-product-card__note { display: block; min-height: 20px; margin: 2px 0 8px; opacity: 0.72; font-size: 0.7rem; }
.home-product-card .pill-link { margin: auto auto 0; }

.ideas-section { padding-top: 70px; }
.value-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; max-width: 1160px; margin: 55px auto 0; text-align: left; }
.value-grid article {
  min-height: 245px;
  padding: 30px;
  border: 2px solid rgba(66,39,18,0.16);
  border-radius: 28px;
  background: rgba(255,255,255,0.48);
  transition: transform 280ms ease, border-color 280ms ease, box-shadow 280ms ease;
}
.value-grid article:hover { border-color: var(--brown); box-shadow: 0 22px 45px rgba(66,39,18,0.1); transform: translateY(-7px); }
.value-grid article > span { display: inline-grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: var(--pink); color: var(--purple); font-size: 0.7rem; font-weight: 1000; }
.value-grid h3 { margin: 34px 0 12px; font-size: 1.25rem; line-height: 1; text-transform: uppercase; }
.value-grid p { margin: 0; font-size: 0.85rem; line-height: 1.55; }

.instagram-section a { position: relative; display: block; aspect-ratio: 4 / 1; overflow: hidden; }
.instagram-section a::after { position: absolute; inset: 0; background: rgba(66,39,18,0.16); content: ""; opacity: 0; transition: opacity 260ms ease; }
.instagram-section a > span { position: absolute; top: 50%; left: 50%; z-index: 2; padding: 13px 20px; border-radius: 999px; background: var(--cream); opacity: 0; font-size: 0.76rem; font-weight: 1000; text-transform: uppercase; transform: translate(-50%, -35%); transition: opacity 260ms ease, transform 300ms ease; }
.instagram-section a:hover::after,
.instagram-section a:hover > span { opacity: 1; }
.instagram-section a:hover > span { transform: translate(-50%, -50%); }
.instagram-section img { width: 100%; height: 100%; object-fit: cover; transition: transform 650ms ease; }
.instagram-section a:hover img { transform: scale(1.025); }

.home-final-cta {
  padding: 105px 8%;
  background: var(--pink);
  color: var(--purple);
  text-align: center;
}
.home-final-cta h2 { max-width: 900px; margin: 0 auto 34px; font-size: clamp(3.2rem, 7vw, 7.5rem); font-weight: 1000; letter-spacing: -0.065em; line-height: 0.86; text-transform: uppercase; text-wrap: balance; }
.home-final-cta .pill-link { --button-bg: var(--purple); }

.shop-hero {
  position: relative;
  max-width: 1200px;
  margin: 0 auto 58px;
  padding: 58px 6%;
  overflow: hidden;
  border-radius: 38px;
  background: var(--brown);
  color: var(--cream);
}
.shop-hero::after { position: absolute; right: -80px; bottom: -150px; width: 360px; height: 360px; border: 65px solid var(--pink); border-radius: 50%; content: ""; opacity: 0.3; }
.shop-hero h1 { position: relative; z-index: 1; max-width: 12ch; margin: 0; font-size: clamp(3.4rem, 6vw, 6.5rem); font-weight: 1000; letter-spacing: -0.065em; line-height: 0.88; text-transform: uppercase; text-wrap: balance; }
.shop-hero > p:not(.section-eyebrow) { position: relative; z-index: 1; max-width: 58ch; margin: 24px 0 0; line-height: 1.6; }
.shop-hero__proof { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.shop-hero__proof span { padding: 9px 13px; border: 1px solid rgba(255,255,255,0.38); border-radius: 999px; font-size: 0.68rem; font-weight: 900; text-transform: uppercase; }
.woo-shell .woocommerce-result-count { margin-top: 14px; font-weight: 900; }
.woocommerce .woocommerce-ordering select { min-width: 230px; padding: 0 42px 0 17px; cursor: pointer; }

.woocommerce ul.products li.product {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 14px 14px 22px;
  border: 1px solid rgba(66,39,18,0.12);
  border-radius: 28px;
  background: rgba(255,255,255,0.52);
  box-shadow: 0 14px 34px rgba(66,39,18,0.07);
  transition: transform 300ms ease, box-shadow 300ms ease, border-color 300ms ease;
}
.woocommerce ul.products li.product:hover { border-color: rgba(66,39,18,0.3); box-shadow: 0 26px 54px rgba(66,39,18,0.13); transform: translateY(-8px); }
.woocommerce ul.products li.product .woocommerce-loop-product__link { display: flex; flex: 1; flex-direction: column; }
.shop-product-visual { position: relative; display: block; aspect-ratio: 1 / 1; overflow: hidden; border-radius: 21px; background: var(--pink); }
.woocommerce ul.products li.product:nth-child(5n+2) .shop-product-visual { background: #dfbd9f; }
.woocommerce ul.products li.product:nth-child(5n+3) .shop-product-visual { background: #f5cb35; }
.woocommerce ul.products li.product:nth-child(5n+4) .shop-product-visual { background: #ef5da6; }
.woocommerce ul.products li.product:nth-child(5n+5) .shop-product-visual { background: #9c75cc; }
.woocommerce ul.products li.product .shop-product-visual img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1;
  margin: 0;
  padding: 0;
  background: transparent !important;
  object-fit: cover;
  transition: transform 600ms cubic-bezier(0.2,0.75,0.25,1);
}
.woocommerce ul.products li.product:hover .shop-product-visual img { transform: scale(1.055); }
.shop-product-badge { position: absolute; top: 12px; left: 12px; z-index: 2; padding: 7px 10px; border-radius: 999px; background: rgba(66,39,18,0.84); color: #fff; font-size: 0.56rem; font-weight: 1000; letter-spacing: 0.06em; text-transform: uppercase; }
.shop-product-badge.is-available { background: var(--green); }
.shop-product-peek { position: absolute; right: 12px; bottom: 12px; z-index: 2; padding: 8px 11px; border-radius: 999px; background: rgba(255,250,240,0.92); opacity: 0; font-size: 0.62rem; font-weight: 1000; text-transform: uppercase; transform: translateY(8px); transition: opacity 230ms ease, transform 260ms ease; }
.woocommerce ul.products li.product:hover .shop-product-peek { opacity: 1; transform: translateY(0); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { margin-top: 12px; font-size: 1.05rem; }
.woocommerce ul.products li.product .price { margin-bottom: 15px; font-size: 1rem; }
.woocommerce ul.products li.product > .button { align-self: center; min-width: 150px; margin-top: auto; box-shadow: 0 9px 20px rgba(91,29,94,0.18); }

.product-stage { align-items: start; padding-top: 64px; }
.product-gallery { outline: none; }
.product-gallery:focus-visible { border-radius: 34px; box-shadow: 0 0 0 5px rgba(255,255,255,0.72); }
.product-gallery__main { height: 570px; cursor: grab; touch-action: pan-y; }
.product-gallery__main.is-dragging { cursor: grabbing; }
.product-gallery__main.is-dragging img { transform: scale(0.985); }
.product-gallery__nav { opacity: 0.72; transform: translateY(-50%) scale(0.94); }
.product-gallery__hint { margin: 13px 0 0; opacity: 0.68; font-size: 0.72rem; font-weight: 900; text-align: center; text-transform: uppercase; }
.product-gallery__hint span { display: inline-block; margin-right: 7px; font-size: 1.1rem; }
.product-panel-wrap { position: sticky; top: 24px; }
.product-panel { padding: 34px 38px 28px; }
.product-panel__eyebrow { margin: 0 0 14px; color: var(--brown); opacity: 0.62; font-size: 0.68rem; font-weight: 1000; letter-spacing: 0.1em; text-transform: uppercase; }
.product-panel h1 { font-size: clamp(3rem, 4.4vw, 4.8rem); }
.product-panel__price { border-color: color-mix(in srgb, var(--product-ink), transparent 45%); background: color-mix(in srgb, var(--product-bg), white 86%); color: var(--product-ink); }
.product-panel__description { margin: 19px 0 15px; }
.product-meta { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin: 0 0 17px; padding: 0; list-style: none; }
.product-meta li { display: flex; min-height: 54px; align-items: center; gap: 8px; padding: 8px 10px; border-radius: 12px; background: color-mix(in srgb, var(--product-bg), white 76%); color: var(--brown); font-size: 0.64rem; font-weight: 900; line-height: 1.2; text-transform: uppercase; }
.product-meta li span { display: grid; width: 23px; height: 23px; flex: 0 0 23px; place-items: center; border-radius: 50%; background: #fff; font-size: 0.55rem; }
.detail-row button { min-height: 54px; }
.detail-row.is-open .detail-row__content { max-height: 420px; }
.product-purchase { grid-template-columns: minmax(160px, 0.72fr) minmax(230px, 1.28fr); gap: 16px; margin-top: 22px; }
.figma-quantity,
.figma-add { min-height: 62px; transition: transform 220ms ease, box-shadow 220ms ease, filter 220ms ease; }
.figma-quantity:not(.is-disabled) button:hover { background: rgba(255,255,255,0.09); }
.figma-add:not(:disabled):hover { box-shadow: 0 14px 28px color-mix(in srgb, var(--product-ink), transparent 72%); transform: translateY(-3px); filter: brightness(1.08); }
.purchase-assurances { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 18px; margin-top: 12px; color: var(--brown); font-size: 0.66rem; font-weight: 900; text-transform: uppercase; }
.purchase-assurances span::before { margin-right: 6px; color: var(--green); content: "✓"; }
.product-stock-note { display: grid; gap: 5px; margin: 14px 0 0; color: var(--brown); text-align: center; text-transform: none; }
.product-stock-note strong { font-size: 0.82rem; text-transform: uppercase; }
.product-stock-note span { opacity: 0.78; font-size: 0.76rem; font-weight: 400; }
.product-stock-note a { justify-self: center; margin-top: 4px; border-bottom: 1px solid currentColor; color: var(--product-ink); font-size: 0.7rem; font-weight: 1000; text-transform: uppercase; }
.product-tagline { max-width: 22ch; }

.recommendations > .section-eyebrow { margin-bottom: 14px; text-align: center; }
.recommendations h2 { margin-bottom: 42px; }
.recommendation-grid { gap: 22px; border: 0; }
.recommendation-card { overflow: hidden; border: 2px solid rgba(66,39,18,0.26); border-radius: 28px; background: rgba(255,255,255,0.52); box-shadow: 0 16px 38px rgba(66,39,18,0.08); transition: transform 280ms ease, box-shadow 280ms ease; }
.recommendation-card:last-child { border-right: 2px solid rgba(66,39,18,0.26); }
.recommendation-card.is-highlighted { border-bottom: 2px solid rgba(66,39,18,0.26); background: #e2bc9d; }
.recommendation-card:hover { box-shadow: 0 28px 54px rgba(66,39,18,0.14); transform: translateY(-7px); }
.recommendation-card a { min-height: 500px; }
.recommendation-card img { border-radius: 20px; }

.footer-conversion {
  position: relative;
  z-index: 3;
  display: flex;
  grid-column: 1 / -1;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding: 26px 30px;
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 25px;
  background: rgba(255,255,255,0.08);
}
.footer-conversion p { margin: 0 0 6px; opacity: 0.7; font-size: 0.68rem; font-weight: 900; text-transform: uppercase; }
.footer-conversion strong { font-size: clamp(1.45rem, 2.4vw, 2.5rem); line-height: 1; text-transform: uppercase; }
.footer-conversion a { display: inline-flex; min-height: 46px; flex: 0 0 auto; align-items: center; gap: 10px; padding: 10px 18px; border-radius: 999px; background: var(--cream); color: var(--brown); font-size: 0.7rem; font-weight: 1000; text-transform: uppercase; transition: transform 220ms ease, background 220ms ease; }
.footer-conversion a:hover { background: var(--pink); transform: translateY(-3px); }
.brand-footer { min-height: 830px; padding-top: 58px; }
.footer-column a { width: fit-content; opacity: 0.82; transition: opacity 180ms ease, transform 180ms ease; }
.footer-column a:hover { opacity: 1; transform: translateX(4px); }
.socials a { transition: transform 220ms ease, background 220ms ease; }
.socials a:hover { background: var(--pink); transform: translateY(-4px) rotate(3deg); }
.footer-column .socials { gap: clamp(18px, 2vw, 30px); margin-top: 28px; }
.footer-column .socials a {
  width: clamp(66px, 5.6vw, 84px);
  height: clamp(66px, 5.6vw, 84px);
  border: 2px solid rgba(255,255,255,0.18);
  box-shadow: 0 12px 26px rgba(0,0,0,0.14);
  transform: none;
  transition: transform 220ms ease, background 220ms ease, box-shadow 220ms ease;
}
.footer-column .socials a:hover { background: var(--pink); box-shadow: 0 18px 34px rgba(0,0,0,0.2); transform: translateY(-5px) scale(1.04); }
.footer-column .socials a:focus-visible { outline: 4px solid var(--pink); outline-offset: 5px; }

.woocommerce-cart .site-content-shell,
.woocommerce-checkout .site-content-shell { background: linear-gradient(180deg, var(--cream), #f7e8cf); }
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content { padding: 26px; border: 1px solid rgba(66,39,18,0.12); border-radius: 30px; background: rgba(255,255,255,0.58); box-shadow: 0 22px 50px rgba(66,39,18,0.08); }
.woocommerce .cart-empty,
.woocommerce .wc-empty-cart-message { text-align: center; }
.woocommerce table.shop_table { overflow: hidden; border-color: rgba(66,39,18,0.18); border-radius: 22px; background: var(--paper); }
.woocommerce .cart_totals { padding: 24px; border-radius: 24px; background: var(--paper); }

@media (max-width: 1050px) {
  .home-hero__card { width: min(620px, 60%); }
  .home-hero__card h1 { font-size: clamp(3rem, 5.8vw, 5.2rem); }
  .product-panel-wrap { position: static; }
  .product-meta { grid-template-columns: 1fr; }
  .product-meta li { min-height: 42px; }
  .brand-footer { min-height: 880px; }
}

@media (max-width: 800px) {
  .home-hero { display: flex; min-height: 0; flex-direction: column; }
  .home-hero__media { position: relative; height: 470px; }
  .home-hero__media::after { background: linear-gradient(0deg, rgba(66,39,18,0.22), transparent 55%); }
  .home-hero__card { position: relative; bottom: auto; left: auto; width: auto; margin: -48px 5% 30px; padding: 30px; }
  .home-hero__card h1 { font-size: clamp(3rem, 11vw, 5rem); }
  .home-hero__scroll { display: none; }
  .proof-strip { grid-template-columns: 1fr; }
  .proof-strip > div { min-height: 96px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,0.16); }
  .home-flavor::after { display: none; }
  .product-carousel { margin-inline: -2%; }
  .product-carousel__control { display: grid; }
  .home-product-grid {
    display: flex;
    gap: 18px;
    padding: 12px 7% 28px;
    overflow-x: auto;
    scroll-padding-inline: 7%;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .home-product-grid::-webkit-scrollbar { display: none; }
  .home-product-card,
  .home-product-card:nth-child(4),
  .home-product-card:nth-child(5),
  .home-product-card:last-child { width: min(74vw, 360px); flex: 0 0 min(74vw, 360px); grid-column: auto; margin: 0; scroll-snap-align: center; }
  .home-product-card__art { min-height: 340px; }
  .value-grid { grid-template-columns: 1fr; }
  .value-grid article { min-height: 0; }
  .home-final-cta { padding-block: 80px; }
  .shop-hero { padding: 44px 7%; }
  .shop-hero h1 { font-size: clamp(3.1rem, 11vw, 5.2rem); }
  .product-gallery__hint { display: block; }
  .product-panel-wrap { position: static; }
  .product-meta { grid-template-columns: repeat(3, 1fr); }
  .product-meta li { min-height: 54px; flex-direction: column; justify-content: center; text-align: center; }
  .recommendation-grid { gap: 14px; }
  .footer-conversion { align-items: flex-start; flex-direction: column; }
  .brand-footer { min-height: 1010px; }
}

@media (max-width: 520px) {
  .top-marquee__track span { padding-inline: 18px; }
  .home-hero__media { height: 350px; }
  .home-hero__card { margin-top: -32px; padding: 25px 22px 27px; border-radius: 26px; }
  .home-hero__card h1 { font-size: clamp(2.7rem, 13vw, 4rem); }
  .home-hero__card > p:not(.section-eyebrow) { margin-top: 17px; font-size: 0.86rem; }
  .home-hero__actions { align-items: flex-start; flex-direction: column; gap: 11px; margin-top: 20px; }
  .proof-strip > div { padding-inline: 7%; }
  .home-product-card,
  .home-product-card:nth-child(4),
  .home-product-card:nth-child(5),
  .home-product-card:last-child { width: 78vw; flex-basis: 78vw; }
  .home-product-card__art { min-height: 300px; }
  .product-carousel__control { width: 42px; height: 42px; }
  .value-grid { margin-top: 35px; }
  .instagram-section a > span { font-size: 0.64rem; }
  .home-final-cta h2 { font-size: clamp(2.8rem, 13vw, 4.4rem); }
  .shop-hero { margin-bottom: 38px; padding: 36px 7%; border-radius: 28px; }
  .shop-hero__proof { align-items: flex-start; flex-direction: column; }
  .woocommerce .woocommerce-ordering { float: none; margin-top: 18px; }
  .woocommerce .woocommerce-ordering select { width: 100%; }
  .woocommerce ul.products { grid-template-columns: 1fr 1fr; gap: 12px; }
  .woocommerce ul.products li.product { padding: 8px 8px 16px; border-radius: 19px; }
  .shop-product-visual { border-radius: 14px; }
  .shop-product-badge { top: 7px; left: 7px; padding: 5px 7px; font-size: 0.48rem; }
  .shop-product-peek { display: none; }
  .woocommerce ul.products li.product > .button { min-width: 0; width: 100%; padding-inline: 8px; font-size: 0.62rem; }
  .product-gallery__main { height: 390px; }
  .product-panel__eyebrow { line-height: 1.4; }
  .product-meta { gap: 4px; }
  .product-meta li { padding: 7px 4px; font-size: 0.52rem; }
  .product-purchase { grid-template-columns: 1fr; }
  .purchase-assurances { align-items: center; flex-direction: column; }
  .recommendation-grid { gap: 12px; }
  .recommendation-card:last-child { border-right-width: 2px; }
  .footer-conversion { padding: 22px; }
  .footer-conversion a { width: 100%; justify-content: center; }
  .brand-footer { min-height: 1110px; }
  .woocommerce-cart .entry-content,
  .woocommerce-checkout .entry-content { padding: 15px; border-radius: 22px; }
}

@media (max-width: 390px) {
  .woocommerce ul.products { grid-template-columns: 1fr; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 0.95rem; }
}

@media (prefers-reduced-motion: reduce) {
  .top-marquee__track,
  .home-hero__media img,
  .home-hero__scroll span { animation: none !important; }
  .reveal-ready { opacity: 1; transform: none; }
}

/* --------------------------------------------------------------------------
   ConChocolate 1.3.9 - frases largas ajustadas con la fuente publicada
   -------------------------------------------------------------------------- */

.top-marquee__track span {
  display: inline-flex;
  align-items: center;
  gap: 28px;
  padding-inline: 34px;
  letter-spacing: 0.035em;
}

.top-marquee__track span i {
  width: 7px;
  height: 7px;
  flex: 0 0 auto;
  margin: 0;
}

.home-hero__card h1,
.home-flavor__kicker,
.home-flavor h2,
.collection-copy h2,
.ideas-section h2,
.recommendations h2,
.product-panel h1,
.product-tagline,
.home-product-card strong,
.footer-column > strong {
  font-family: var(--font-title);
  font-weight: 400;
  font-kerning: normal;
}

.home-hero__card h1,
.home-flavor__kicker,
.home-flavor h2 {
  letter-spacing: -0.035em;
}

.flavor-stories { padding-top: 78px; }
.home-flavor { min-height: 660px; }
.home-flavor__copy { position: relative; z-index: 2; }
.home-flavor__kicker { font-size: clamp(3.5rem, 6.3vw, 6.8rem); line-height: 0.86; }
.home-flavor h2 { max-width: 13ch; font-size: clamp(2rem, 3.15vw, 3.35rem); line-height: 0.94; }

.revised-flavor-visual,
.revised-flavor-visual:hover {
  position: relative;
  overflow: visible;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
}

.revised-flavor-visual::after { display: none; }

.revised-flavor-visual .revised-flavor-visual__photo,
.revised-flavor-visual:hover .revised-flavor-visual__photo {
  width: 100%;
  aspect-ratio: 0.9;
  border-radius: clamp(24px, 3vw, 54px);
  box-shadow: 0 25px 55px rgba(66, 39, 18, 0.15);
  object-fit: cover;
  transform: none;
}

.munch-badge {
  --badge-tone: var(--brown);
  position: absolute;
  top: -24px;
  left: -34px;
  z-index: 3;
  display: grid;
  width: clamp(112px, 10vw, 158px);
  aspect-ratio: 1;
  place-items: center;
  padding: 20px;
  clip-path: polygon(50% 0%, 61% 10%, 76% 5%, 81% 20%, 97% 24%, 90% 40%, 100% 52%, 87% 62%, 91% 79%, 73% 80%, 64% 96%, 50% 87%, 35% 100%, 27% 83%, 9% 85%, 13% 66%, 0% 55%, 12% 42%, 4% 26%, 22% 21%, 27% 5%, 42% 12%);
  background: var(--badge-tone);
  color: #f6c6dc;
  font-size: clamp(0.85rem, 1.25vw, 1.25rem);
  font-weight: 1000;
  letter-spacing: 0.025em;
  text-align: center;
  transform: rotate(-8deg);
  transition: transform 650ms cubic-bezier(0.2, 0.8, 0.2, 1), filter 250ms ease;
}

.home-flavor--papitas .munch-badge { color: var(--brown); }
.revised-flavor-visual:hover .munch-badge { filter: drop-shadow(0 10px 12px rgba(66, 39, 18, 0.18)); transform: rotate(352deg) scale(1.06); }

.flavor-face {
  position: absolute;
  right: -23px;
  bottom: -28px;
  z-index: 3;
  width: clamp(118px, 12vw, 176px);
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 50%;
  filter: drop-shadow(0 16px 18px rgba(66, 39, 18, 0.15));
  transition: transform 450ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

.flavor-face img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 180ms ease, transform 430ms cubic-bezier(0.16, 1.35, 0.3, 1), filter 350ms ease;
}

.flavor-face__normal { opacity: 1; transform: scale(1); }
.flavor-face__wink { opacity: 0; transform: translateY(7px) scale(0.86); }

.revised-flavor-visual:is(:hover, :focus-visible) .flavor-face { transform: translateY(-6px) scale(1.025); }

.revised-flavor-visual:is(:hover, :focus-visible) .flavor-face__wink { opacity: 1; transform: translateY(0) scale(1); filter: saturate(1.05) brightness(1.025); }

.revised-flavor-visual:is(:hover, :focus-visible) .flavor-face__normal { opacity: 0; transform: scale(0.94); }

.revised-marquee { gap: 0; min-height: 78px; }
.revised-marquee span { display: inline-flex; align-items: center; gap: clamp(28px, 4vw, 64px); padding-right: clamp(28px, 4vw, 64px); letter-spacing: 0.035em; }
.revised-marquee b { display: block; width: 42px; height: 42px; flex: 0 0 auto; overflow: hidden; border-radius: 50%; filter: drop-shadow(0 5px 8px rgba(66, 39, 18, 0.16)); line-height: 1; }
.revised-marquee b img { display: block; width: 100%; height: 100%; object-fit: cover; }

.revised-product-grid { align-items: stretch; }
.revised-product-art { position: relative; }

.revised-product-art > img {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  transition: opacity 360ms ease, transform 520ms cubic-bezier(0.2, 0.75, 0.25, 1);
}

.revised-product-art .catalog-pack { padding: 38px; object-fit: contain; opacity: 1; }
.revised-product-art .catalog-scene { padding: 0; object-fit: cover; object-position: center; opacity: 0; filter: none; transform: scale(1.035); }

.home-product-card a:hover .revised-product-art .catalog-pack,
.home-product-card a:focus-visible .revised-product-art .catalog-pack { opacity: 0; transform: scale(0.96); }

.home-product-card a:hover .revised-product-art .catalog-scene,
.home-product-card a:focus-visible .revised-product-art .catalog-scene { opacity: 1; transform: scale(1); }

.home-product-card__note { min-height: 36px; font-size: 0.78rem; line-height: 1.25; }
.ideas-section { padding-top: 55px; padding-bottom: 88px; }
.instagram-section > a { position: relative; display: block; }

.product-stage {
  grid-template-columns: minmax(0, 0.96fr) minmax(0, 1.04fr);
  gap: clamp(42px, 5vw, 76px);
  align-items: start;
  padding-top: 72px;
  padding-bottom: 82px;
}

.product-gallery__main { height: clamp(530px, 48vw, 650px); }
.product-gallery__main--studio img,
.product-gallery__main--scene img { width: 100%; height: 100%; max-height: none; border-radius: 30px; object-fit: cover; }
.product-gallery__main--pack img { width: min(340px, 68%); height: 88%; object-fit: contain; }
.product-thumbnails { grid-template-columns: repeat(3, 1fr); }
.product-thumbnails button { height: 118px; }
.product-thumbnails button img { object-fit: cover; }
.product-thumbnails button:nth-child(2) img { object-fit: contain; padding: 8px; }
.product-panel-wrap { align-self: start; }

.product-panel { padding: clamp(30px, 3.2vw, 46px); border-radius: 44px; }
.product-panel h1 { max-width: 68%; font-size: clamp(3.2rem, 5.2vw, 5.5rem); letter-spacing: -0.045em; line-height: 0.9; }
.product-panel__heading--long h1 { max-width: 100%; font-size: clamp(2.45rem, 3.65vw, 4.15rem); line-height: 0.92; text-wrap: balance; }
.product-panel__price { padding: 8px 15px; border: 2px solid currentColor; border-radius: 999px; color: var(--product-ink) !important; font-size: clamp(1.45rem, 2.15vw, 2.35rem) !important; }
.product-panel__description { margin: 24px 0 18px; }
.product-meta { margin-bottom: 18px; }

.detail-row__content { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows 300ms ease, opacity 220ms ease; }
.detail-row__content p { min-height: 0; overflow: hidden; }
.detail-row.is-open .detail-row__content { grid-template-rows: 1fr; opacity: 1; }
.product-purchase { gap: 22px; margin-top: 22px; }
.figma-add { letter-spacing: 0.035em; }

.product-tagline {
  display: flex;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  justify-self: stretch;
  margin: 34px 0 0;
  padding: 26px clamp(18px, 4vw, 72px) 0;
  border-top: 2px solid color-mix(in srgb, var(--product-ink) 32%, transparent);
  overflow: visible;
  font-size: clamp(1.15rem, 2.2vw, 2.5rem);
  letter-spacing: 0;
  line-height: 1.05;
  text-align: center;
  white-space: nowrap;
}

.product-tagline--matcha-latte,
.product-tagline--espresso-martini {
  font-size: clamp(1.05rem, 1.9vw, 2.05rem);
}

.recommendations h2 { max-width: 19ch; margin-inline: auto; font-size: clamp(3rem, 5.8vw, 5.9rem); line-height: 0.92; }
.recommendation-card,
.recommendation-card.is-highlighted { border: 2px solid rgba(66, 39, 18, 0.28); border-radius: 28px; background: rgba(255, 255, 255, 0.58); }
.recommendation-card:last-child { border-right: 2px solid rgba(66, 39, 18, 0.28); }
.recommendation-card img,
.recommendation-card.is-highlighted img { width: min(350px, 72%); height: 345px; border-radius: 20px; object-fit: cover; }

.revised-footer { padding-top: 72px; }
.footer-seal-image { width: 158px; height: 158px; border: 3px solid var(--cream); border-radius: 50%; object-fit: cover; }
.footer-product-message strong { max-width: 14ch; }

.preview-back-to-top {
  position: fixed;
  right: 24px;
  bottom: 22px;
  z-index: 50;
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border: 2px solid var(--cream);
  border-radius: 50%;
  background: var(--purple);
  color: var(--cream);
  box-shadow: 0 12px 28px rgba(66, 39, 18, 0.24);
  font-size: 1.5rem;
  transition: transform 220ms ease, background 220ms ease;
}

.preview-back-to-top:hover { background: var(--brown); transform: translateY(-5px); }

@media (max-width: 800px) {
  .top-marquee__track span { padding-inline: 20px; }
  .home-flavor { padding-block: 72px; }
  .revised-flavor-visual { width: calc(100% - 24px); }
  .munch-badge { top: -20px; left: -18px; }
  .flavor-face { right: -14px; bottom: -20px; }
  .product-stage { grid-template-columns: 1fr; padding-top: 50px; }
  .product-panel-wrap { width: 100%; }
  .product-tagline { grid-column: 1; max-width: 100%; font-size: clamp(2.4rem, 8vw, 3.6rem); text-wrap: balance; white-space: normal; }
  .revised-footer { padding-top: 58px; }
}

@media (max-width: 520px) {
  .home-hero__actions .pill-link,
  .home-hero__actions .text-link { width: 100%; justify-content: center; text-align: center; }
  .home-flavor__kicker { font-size: 3.1rem; }
  .home-flavor h2 { font-size: 1.7rem; }
  .revised-marquee { min-height: 62px; }
  .revised-marquee b { width: 34px; height: 34px; }
  .revised-product-art .catalog-pack { padding: 22px; }
  .product-gallery__main { height: 410px; }
  .product-panel__heading { flex-direction: row; align-items: flex-start; }
  .product-panel h1 { max-width: 62%; font-size: clamp(2.6rem, 12vw, 4rem); }
  .product-panel__price { margin-top: 2px; font-size: 1.15rem !important; }
  .product-meta { grid-template-columns: 1fr; }
  .recommendation-card img { height: 270px; }
  .preview-back-to-top { right: 14px; bottom: 14px; width: 46px; height: 46px; }
}

/* Final cascade for the 2026-07-24 local preview. */
.brand-logo { border: 0; }
.brand-logo > img { display: block; width: 100%; height: 100%; object-fit: contain; }
.footer-seal-image { border: 0; object-fit: contain; }
.home-hero--carousel { position: relative; display: block; width: 100%; min-height: 0; aspect-ratio: 8000 / 3542; background: #ead8e3; overflow: hidden; isolation: isolate; }
.hero-carousel__slides,
.hero-carousel__slide { position: absolute; inset: 0; }
.hero-carousel__slide { margin: 0; opacity: 0; transform: scale(1.025); transition: opacity 900ms ease, transform 5.2s ease; visibility: hidden; }
.hero-carousel__slide.is-active { z-index: 1; opacity: 1; transform: scale(1); visibility: visible; }
.hero-carousel__slide img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hero-carousel__slide > a { display: block; width: 100%; height: 100%; }
.hero-carousel__dots { position: absolute; bottom: 24px; left: 50%; z-index: 3; display: flex; align-items: center; gap: 9px; padding: 8px 11px; border-radius: 999px; background: rgba(255, 250, 240, 0.76); box-shadow: 0 10px 26px rgba(66, 39, 18, 0.13); backdrop-filter: blur(9px); transform: translateX(-50%); }
.hero-carousel__dots button { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 50%; background: rgba(66, 39, 18, 0.32); cursor: pointer; transition: width 220ms ease, border-radius 220ms ease, background 220ms ease, transform 220ms ease; }
.hero-carousel__dots button:is(:hover, :focus-visible) { background: var(--brown); outline: none; transform: scale(1.18); }
.hero-carousel__dots button.is-active { width: 28px; border-radius: 999px; background: var(--purple); }
.product-gallery__main--nutrition { background: color-mix(in srgb, var(--product-bg) 58%, #fffaf0); overflow: hidden; }
.product-gallery__main--nutrition img { width: 100%; height: 100%; max-width: none; max-height: none; padding: 0; border-radius: inherit; object-fit: cover; object-position: center; }
.product-gallery__main--nutrition:hover img { transform: scale(1.012); }
.product-thumbnails { grid-template-columns: repeat(auto-fit, minmax(68px, 1fr)); }
.product-thumbnails button.is-nutrition img { padding: 0; object-fit: cover; }

@media (max-width: 800px) {
  .home-hero--carousel { display: block; min-height: 0; }
  .hero-carousel__dots { bottom: 17px; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-carousel__slide { transition: opacity 180ms linear; transform: none; }
}

/* --------------------------------------------------------------------------
   ConChocolate 1.3.16 - repaso final del PDF y checklist
   -------------------------------------------------------------------------- */

.brand-nav,
.pill-link,
.munch-badge,
.home-flavor__kicker,
.home-flavor h2,
.collection-copy h2,
.home-product-card strong,
.home-product-card__price,
.ideas-section h2,
.revised-marquee,
.product-panel h1,
.product-panel__price,
.detail-row__label,
.figma-quantity,
.figma-add,
.product-tagline,
.recommendations h2,
.recommendation-card header,
.recommendation-cta,
.revised-footer,
.woocommerce-cart h1,
.woocommerce-cart h2,
.woocommerce-cart .button,
.woocommerce-checkout h1,
.woocommerce-checkout h2,
.woocommerce-checkout .button {
  font-family: var(--font-title);
  font-weight: 400;
}

body,
.brand-site,
.top-marquee,
.top-marquee__track span,
.home-flavor__copy > p:not(.home-flavor__kicker),
.ideas-section p,
.instagram-section > p,
.product-panel__description,
.detail-row__content {
  font-family: var(--font-body);
}

.top-marquee,
.top-marquee__track span { font-weight: 400; }

.home-flavor h2 { width: max-content; max-width: 100%; }
.home-flavor h2 > span { display: block; white-space: nowrap; }
.home-flavor--cinnamon h2 { max-width: 100%; }

.home-flavor--acai .home-flavor__copy { --button-bg: var(--acai-dark); color: var(--acai-brown); }
.home-flavor--acai .home-flavor__kicker { color: var(--acai-dark); }
.home-flavor--acai h2 { color: var(--acai-light); }
.home-flavor--acai .pill-link { background: var(--acai-dark); color: var(--acai-light); }

.home-flavor--cinnamon .home-flavor__copy,
.home-flavor--cinnamon .home-flavor__kicker { --button-bg: var(--cinnamon-dark); color: var(--cinnamon-dark); }
.home-flavor--cinnamon h2 { color: var(--cinnamon-light); }
.home-flavor--cinnamon .pill-link { background: var(--cinnamon-dark); color: var(--cinnamon-cream); }

.home-flavor--papitas .home-flavor__copy { --button-bg: var(--papitas-yellow); color: var(--papitas-brown); }
.home-flavor--papitas .home-flavor__kicker { color: var(--papitas-orange); }
.home-flavor--papitas h2 { color: var(--papitas-yellow); }
.home-flavor--papitas .pill-link { background: var(--papitas-yellow); color: var(--papitas-orange); }

.flavor-face img { transition: opacity 640ms ease, transform 720ms cubic-bezier(0.2, 0.78, 0.25, 1), filter 520ms ease; }
.flavor-face__wink { transform: translateY(5px) scale(0.94); }

.collection-lineup {
  display: grid;
  width: min(100%, 1180px);
  min-height: 390px;
  grid-template-columns: repeat(5, 1fr);
  align-items: end;
  gap: clamp(8px, 2vw, 28px);
  margin: 0 auto 46px;
  padding: 58px 4% 0;
  border-radius: 36px;
  background: color-mix(in srgb, var(--cream), white 40%);
  box-shadow: 0 24px 60px rgba(66, 39, 18, 0.1);
  filter: none;
  aspect-ratio: auto;
}

.collection-lineup__bar {
  display: flex;
  height: 330px;
  align-items: flex-end;
  justify-content: center;
  border-radius: 24px 24px 0 0;
  outline: none;
  transition: transform 620ms cubic-bezier(0.18, 0.9, 0.28, 1), filter 350ms ease, opacity 350ms ease;
}
.collection-lineup__bar:nth-child(1) { transform: rotate(-4deg) translateY(28px); }
.collection-lineup__bar:nth-child(2) { transform: rotate(-3deg) translateY(18px); }
.collection-lineup__bar:nth-child(3) { transform: translateY(-4px); }
.collection-lineup__bar:nth-child(4) { transform: rotate(3deg) translateY(18px); }
.collection-lineup__bar:nth-child(5) { transform: rotate(4deg) translateY(26px); }
.collection-lineup__bar img { width: auto; max-width: 100%; height: 300px; object-fit: contain; filter: drop-shadow(0 20px 18px rgba(66,39,18,0.16)); }
.collection-lineup__bar:not(.is-unavailable):is(:hover, :focus-visible) { filter: drop-shadow(0 22px 18px rgba(66,39,18,0.2)); transform: translateY(-46px) rotate(0deg) scale(1.04); }
.collection-lineup__bar:not(.is-unavailable):focus-visible { box-shadow: 0 0 0 4px var(--acai-light); }
.collection-lineup__bar.is-unavailable { filter: blur(5px); opacity: 0.7; }

/* Colección: una barra a la vez, con avance automático y control manual. */
.collection-showcase {
  position: relative;
  width: min(100%, 1180px);
  min-height: 520px;
  margin: 0 auto 46px;
  overflow: hidden;
  border-radius: 42px;
  background: #fffaf0;
  box-shadow: 0 28px 70px rgba(66,39,18,0.14);
}
.collection-showcase__viewport { position: relative; min-height: 520px; overflow: hidden; }
.collection-showcase__slide {
  --lineup-ink: var(--brown);
  --lineup-accent: var(--cream);
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transform: translateX(9%) scale(0.96);
  transition: opacity 560ms ease, transform 680ms cubic-bezier(0.2,0.82,0.24,1);
}
.collection-showcase__slide.is-active { z-index: 1; opacity: 1; pointer-events: auto; transform: translateX(0) scale(1); }
.collection-showcase__content {
  display: grid;
  min-height: 520px;
  grid-template-columns: minmax(280px,1fr) minmax(300px,0.82fr);
  align-items: center;
  gap: clamp(28px,5vw,78px);
  padding: 48px clamp(72px,9vw,118px);
  background:
    radial-gradient(circle at 22% 44%, color-mix(in srgb, var(--lineup-accent) 42%, transparent) 0 19%, transparent 54%),
    linear-gradient(120deg, #fffaf0 0 55%, color-mix(in srgb, var(--lineup-accent) 20%, #fffaf0) 100%);
}
.collection-showcase__product-link { display: grid; color: inherit; outline: none; }
.collection-showcase__product-link:focus-visible { border-radius: 32px; box-shadow: 0 0 0 5px color-mix(in srgb, var(--lineup-ink) 58%, white); }
.collection-showcase__media { position: relative; display: grid; min-height: 400px; place-items: center; }
.collection-showcase__media img {
  width: min(100%,310px);
  height: 400px;
  object-fit: contain;
  filter: drop-shadow(0 28px 24px rgba(66,39,18,0.2));
  transform: rotate(-2deg);
  transition: filter 360ms ease, transform 520ms cubic-bezier(0.2,0.82,0.24,1);
}
.collection-showcase__product-link:is(:hover,:focus-visible) img { transform: translateY(-10px) rotate(1deg) scale(1.025); }
.collection-showcase__slide.is-upcoming .collection-showcase__media img { opacity: 0.55; filter: blur(5px) saturate(0.7) drop-shadow(0 24px 22px rgba(66,39,18,0.16)); }
.collection-showcase__status {
  position: absolute;
  top: 28px;
  left: 50%;
  z-index: 2;
  padding: 12px 22px;
  border-radius: 999px;
  background: var(--brown);
  box-shadow: 0 12px 24px rgba(66,39,18,0.2);
  color: var(--cream);
  font-family: var(--font-title);
  font-size: 0.82rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  transform: translateX(-50%);
}
.collection-showcase__copy { position: relative; z-index: 2; color: var(--lineup-ink); }
.collection-showcase__copy > span:first-child {
  display: block;
  margin-bottom: 12px;
  font-family: var(--font-body);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.collection-showcase__copy h3 { margin: 0; font-family: var(--font-title); font-size: clamp(3rem,6vw,5.6rem); font-weight: 400; line-height: 0.88; text-transform: uppercase; }
.collection-showcase__copy p { max-width: 34rem; margin: 22px 0 26px; color: var(--brown); font-family: var(--font-body); font-size: clamp(0.95rem,1.45vw,1.12rem); line-height: 1.48; }
.collection-showcase__copy .pill-link { --button-bg: var(--lineup-ink); color: var(--cream); }
.collection-showcase__soon {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  padding: 0 22px;
  border: 2px solid currentColor;
  border-radius: 999px;
  font-family: var(--font-title);
  font-size: 0.82rem;
  text-transform: uppercase;
}
.collection-showcase__nav {
  position: absolute;
  top: 50%;
  z-index: 4;
  display: grid;
  width: 54px;
  height: 54px;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: var(--cream);
  box-shadow: 0 12px 28px rgba(66,39,18,0.18);
  color: var(--brown);
  cursor: pointer;
  font-size: 2rem;
  transform: translateY(-50%);
  transition: background 200ms ease, transform 200ms ease;
}
.collection-showcase__nav:is(:hover,:focus-visible) { background: var(--acai-light); outline: none; transform: translateY(-50%) scale(1.06); }
.collection-showcase__nav.is-previous { left: 18px; }
.collection-showcase__nav.is-next { right: 18px; }
.collection-showcase__pagination {
  position: absolute;
  right: 34px;
  bottom: 26px;
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 18px;
  color: var(--brown);
  font-family: var(--font-body);
  font-size: 0.82rem;
  font-weight: 800;
}
.collection-showcase__dots { display: flex; align-items: center; gap: 7px; }
.collection-showcase__dots button {
  width: 9px;
  height: 9px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: color-mix(in srgb, var(--brown) 30%, transparent);
  cursor: pointer;
  transition: width 200ms ease, background 200ms ease;
}
.collection-showcase__dots button.is-active { width: 27px; border-radius: 999px; background: var(--brown); }
.instagram-carousel__image {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  transition: transform 420ms cubic-bezier(0.2,0.8,0.2,1);
}
.instagram-carousel__track > a:is(:hover,:focus-visible) .instagram-carousel__image { transform: scale(1.035); }

@media (max-width: 800px) {
  .collection-showcase,
  .collection-showcase__viewport,
  .collection-showcase__content { min-height: 650px; }
  .collection-showcase { border-radius: 30px; }
  .collection-showcase__content {
    grid-template-columns: 1fr;
    grid-template-rows: 350px auto;
    gap: 4px;
    padding: 36px 64px 78px;
    text-align: center;
  }
  .collection-showcase__media { min-height: 340px; }
  .collection-showcase__media img { height: 330px; }
  .collection-showcase__copy p { margin-inline: auto; }
  .collection-showcase__nav.is-previous { left: 10px; }
  .collection-showcase__nav.is-next { right: 10px; }
}
@media (max-width: 520px) {
  .collection-showcase,
  .collection-showcase__viewport,
  .collection-showcase__content { min-height: 700px; }
  .collection-showcase { width: calc(100% + 4px); border-radius: 24px; }
  .collection-showcase__content { grid-template-rows: 310px auto; padding: 28px 48px 104px; }
  .collection-showcase__media { min-height: 300px; }
  .collection-showcase__media img { width: min(100%,225px); height: 290px; }
  .collection-showcase__status { top: 12px; padding: 10px 16px; font-size: 0.72rem; }
  .collection-showcase__copy h3 { font-size: clamp(2.15rem,12vw,3rem); line-height: 0.92; }
  .collection-showcase__copy p { margin: 14px 0 18px; font-size: 0.92rem; }
  .collection-showcase__nav { top: 42%; width: 44px; height: 44px; }
  .collection-showcase__pagination { right: 18px; bottom: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .collection-showcase__slide,
  .collection-showcase__media img,
  .instagram-carousel__image { transition: none; }
}

.collection-copy { margin-bottom: 48px; }
.collection-copy h2 { font-size: clamp(2.7rem, 5vw, 5.1rem); }
.home-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(18px, 2.5vw, 34px); }
.home-product-card,
.home-product-card:nth-child(4),
.home-product-card:nth-child(5),
.home-product-card:last-child { width: auto; grid-column: auto; margin: 0; }

.product-panel h1,
.product-panel__price,
.detail-row__label,
.product-tagline,
.product-panel__description,
.detail-row__content p { color: var(--product-ink); }
.product-panel { flex: 0 0 auto; }
.product-accordions { margin-top: 0; }
.product-gallery__main--pack { background: color-mix(in srgb, var(--product-bg) 74%, #fffaf0); }
.product-gallery__main--pack img { width: min(390px, 72%); height: 90%; padding: 22px; object-fit: contain; }
.product-thumbnails button.is-pack img { padding: 9px; object-fit: contain; }

.revised-footer,
.revised-footer a,
.revised-footer span,
.revised-footer strong { font-family: var(--font-title); }
.footer-product-character.is-unavailable { cursor: default; }
.socials a { width: 58px; height: 58px; }
.social-icon { width: 54%; height: 54%; }

@media (max-width: 800px) {
  .home-flavor h2 { width: auto; }
  .product-panel-wrap { min-height: 0; }
  .collection-lineup { min-height: 290px; padding-inline: 3%; }
  .collection-lineup__bar { height: 250px; }
  .collection-lineup__bar img { height: 225px; }
  .home-product-grid { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .home-flavor h2 > span { white-space: normal; }
  .collection-lineup { min-height: 220px; gap: 2px; padding-top: 34px; border-radius: 22px; }
  .collection-lineup__bar { height: 190px; }
  .collection-lineup__bar img { height: 170px; }
  .socials a { width: 50px; height: 50px; }
}

/* Chococompra: el mismo lenguaje visual del prototipo, con el carrito real. */
.cart-page { background: var(--cream); }
.cart-shell { min-height: 760px; padding: 86px 7% 110px; background: var(--cream); }
.cart-shell > h1 { margin: 0; font-family: var(--font-title); font-size: clamp(3.5rem, 8vw, 7rem); font-weight: 400; line-height: 0.9; text-transform: uppercase; }
.cart-kicker { margin: 0 0 12px; color: var(--acai-dark); font-family: var(--font-body); font-size: 0.78rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.cart-status { display: flex; max-width: 920px; align-items: center; gap: 20px; margin: 44px 0 34px; padding: 22px 28px; border-radius: 28px; background: var(--acai-light); color: var(--acai-dark); font-family: var(--font-title); font-size: clamp(1.25rem, 2.3vw, 2rem); font-weight: 400; }
.cart-status.has-items { background: var(--papitas-yellow); color: var(--papitas-brown); }
.cart-status img { width: 74px; height: 74px; flex: 0 0 auto; padding: 8px; border-radius: 50%; background: var(--brown); object-fit: contain; }
.cart-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(270px, 0.34fr); gap: 28px; align-items: start; }
.cart-lines { display: grid; gap: 18px; }
.cart-line { display: grid; grid-template-columns: 124px minmax(0, 1fr) auto; gap: 24px; align-items: center; padding: 22px; border-radius: 28px; background: #fff; box-shadow: 0 16px 38px rgba(66,39,18,0.08); }
.cart-line__image-link { display: grid; min-height: 156px; place-items: center; border-radius: 18px; outline: none; transition: background 220ms ease, box-shadow 220ms ease, transform 260ms ease; }
.cart-line__image-link img { width: 100%; height: 156px; object-fit: contain; transition: transform 320ms cubic-bezier(0.2,0.8,0.2,1); }
.cart-line__image-link:is(:hover,:focus-visible) { background: color-mix(in srgb, var(--acai-light), white 76%); box-shadow: 0 0 0 3px var(--acai-light); transform: translateY(-3px); }
.cart-line__image-link:is(:hover,:focus-visible) img { transform: scale(1.055) rotate(-1deg); }
.cart-line h2 { margin: 0 0 7px; font-family: var(--font-title); font-size: 1.65rem; font-weight: 400; }
.cart-line h2 a { border-bottom: 2px solid transparent; transition: border-color 180ms ease, color 180ms ease; }
.cart-line h2 a:is(:hover,:focus-visible) { border-color: currentColor; color: var(--acai-dark); outline: none; }
.cart-line p { margin: 0 0 9px; font-family: var(--font-body); line-height: 1.45; }
.cart-line__remove { display: inline-block; margin-top: 10px; color: var(--acai-dark); font-size: 0.75rem; font-weight: 800; text-decoration: underline; }
.cart-line__quantity { display: grid; grid-template-columns: 40px 46px 40px; align-items: center; border-radius: 999px; background: var(--brown); color: var(--cream); text-align: center; }
.cart-line__quantity button { min-height: 42px; border: 0; background: transparent; color: inherit; cursor: pointer; }
.cart-line__quantity input { width: 46px; border: 0; background: transparent; color: inherit; font-family: var(--font-title); text-align: center; appearance: textfield; }
.cart-line__quantity input::-webkit-inner-spin-button { appearance: none; }
.cart-update { justify-self: start; min-height: 44px; padding: 8px 18px; border: 2px solid var(--brown); border-radius: 999px; background: transparent; font-family: var(--font-title); cursor: pointer; }
.cart-summary { position: sticky; top: 24px; display: grid; gap: 12px; padding: 30px; border-radius: 30px; background: var(--brown); color: var(--cream); }
.cart-summary > span { font-family: var(--font-body); text-transform: uppercase; }
.cart-summary > strong { font-family: var(--font-title); font-size: 2.4rem; font-weight: 400; }
.cart-confirm,
.cart-choose { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 10px 18px; border-radius: 999px; background: var(--acai-light); color: var(--acai-dark); font-family: var(--font-title); text-align: center; text-transform: uppercase; transition: transform 220ms ease, box-shadow 220ms ease; }
.cart-confirm:is(:hover,:focus-visible),
.cart-choose:is(:hover,:focus-visible) { box-shadow: 0 12px 28px rgba(0,0,0,0.16); outline: none; transform: translateY(-3px); }
.cart-suggestions > h2 { margin: 0 0 28px; font-family: var(--font-title); font-size: 2.3rem; font-weight: 400; }
.cart-suggestions > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.cart-suggestions article { display: flex; min-width: 0; flex-direction: column; align-items: center; padding: 26px; border-radius: 28px; background: #fff; box-shadow: 0 16px 38px rgba(66,39,18,0.08); text-align: center; }
.cart-suggestions__image-link { display: grid; width: 100%; height: 280px; place-items: center; overflow: hidden; border-radius: 20px; outline: none; }
.cart-suggestions__image-link img { width: 100%; height: 100%; object-fit: contain; transition: transform 420ms cubic-bezier(0.2,0.8,0.2,1), filter 260ms ease; }
.cart-suggestions__image-link:is(:hover,:focus-visible) img { filter: drop-shadow(0 20px 18px rgba(66,39,18,0.17)); transform: translateY(-8px) scale(1.045); }
.cart-suggestions h3 { min-height: 48px; margin: 16px 0 5px; font-family: var(--font-title); font-size: 1.3rem; font-weight: 400; }
.cart-suggestions article > span { margin-bottom: 16px; font-weight: 900; }

@media (max-width: 800px) {
  .cart-layout { grid-template-columns: 1fr; }
  .cart-summary { position: static; }
  .cart-suggestions > div { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .cart-shell { padding: 60px 5% 80px; }
  .cart-shell > h1 { max-width: 100%; font-size: clamp(2.35rem, 10.5vw, 2.75rem); letter-spacing: -0.035em; }
  .cart-status { align-items: flex-start; padding: 18px; }
  .cart-status img { width: 58px; height: 58px; }
  .cart-line { grid-template-columns: 88px 1fr; gap: 15px; }
  .cart-line__image-link,
  .cart-line__image-link img { height: 120px; min-height: 120px; }
  .cart-line__quantity { grid-column: 1 / -1; justify-self: center; }
  .cart-suggestions__image-link { height: 230px; }
}

/* Precedencia final para los componentes exigidos por el checklist. */
.product-gallery__main--pack { background: transparent; }
.product-thumbnails { grid-template-columns: repeat(5, minmax(48px, 1fr)); }
.product-tagline { display: block; min-height: 144px; padding: 0; white-space: nowrap; }
.product-tagline__track { display: flex; width: max-content; min-height: 142px; align-items: center; animation: product-tagline-scroll 18s linear infinite; }
.product-tagline__track b { padding-right: 80px; font-weight: 400; text-transform: uppercase; }

.recommendation-card__art { position: relative; display: block; width: 100%; height: 350px; overflow: hidden; border-radius: 20px; }
.recommendation-card__art img { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; object-fit: cover; transition: opacity 430ms ease, transform 620ms cubic-bezier(0.2,0.78,0.25,1); }
.recommendation-card__pack { z-index: 2; padding: 24px; object-fit: contain !important; opacity: 1; }
.recommendation-card__scene { z-index: 1; opacity: 0; transform: scale(1.06); }

.home-product-card a:is(:hover,:focus-visible) .catalog-pack,
.recommendation-card a:is(:hover,:focus-visible) .recommendation-card__pack { opacity: 0; transform: scale(0.94); }
.home-product-card a:is(:hover,:focus-visible) .catalog-scene,
.recommendation-card a:is(:hover,:focus-visible) .recommendation-card__scene { opacity: 1; transform: scale(1.015); }
.recommendation-card a:is(:hover,:focus-visible) .recommendation-card__peek { opacity: 1; transform: translateY(0); }

@media (max-width: 520px) {
  .product-thumbnails { gap: 6px; }
  .product-thumbnails button { height: 76px; border-radius: 12px; }
  .product-tagline { min-height: 116px; }
  .product-tagline__track { min-height: 114px; }
  .product-tagline__track b { padding-right: 44px; }
  .recommendation-card__art { height: 285px; }
}

@media (prefers-reduced-motion: reduce) {
  .product-tagline__track { animation: none; }
}

/* Mantiene la barra completamente dentro de la tarjeta del carrito. */
.cart-line .cart-line__image-link { overflow: hidden; }
.cart-line .cart-line__image-link > img { width: auto; height: 156px !important; max-width: 100%; object-fit: contain; }
@media (max-width: 520px) {
  .cart-line .cart-line__image-link > img { height: 120px !important; }
  .home-hero--carousel .hero-carousel__slide img { min-height: 0; height: 100%; object-fit: cover; }
  .figma-product-page .product-thumbnails { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

/* Evita que las cinco miniaturas ensanchen la ficha y desplacen la foto. */
@media (max-width: 800px) {
  .figma-product-page .product-stage { grid-template-columns: minmax(0, 1fr); }
  .figma-product-page .product-gallery,
  .figma-product-page .product-panel-wrap { width: 100%; min-width: 0; }
  .figma-product-page .product-thumbnails { width: 100%; min-width: 0; }
  .figma-product-page .product-thumbnails button { min-width: 0; }
}
/* Precedencia final: carrusel editorial de una pieza, inspirado en Vicio. */
.collection-showcase { min-height: 700px; border-radius: 34px; background: #ededed; isolation: isolate; }
.collection-showcase__statement { position: absolute; top: 38px; left: 38px; z-index: 5; width: min(48%, 570px); margin: 0; color: var(--brown); font-family: var(--font-title); font-size: clamp(3.6rem, 6.3vw, 6.35rem); line-height: 0.82; letter-spacing: -0.055em; text-transform: uppercase; pointer-events: none; }
.collection-showcase__statement span,
.collection-showcase__statement strong { display: block; font: inherit; }
.collection-showcase__statement strong { padding-left: clamp(18px, 5vw, 76px); }
.collection-showcase__viewport,
.collection-showcase__content { min-height: 700px; }
.collection-showcase__slide { transform: translateX(72%) scale(0.92); transition: opacity 520ms ease, transform 720ms cubic-bezier(0.2, 0.82, 0.24, 1); }
.collection-showcase__slide.is-active { transform: translateX(0) scale(1); }
.collection-showcase__content { position: relative; display: block; padding: 0; background: radial-gradient(circle at 50% 44%, color-mix(in srgb, var(--lineup-accent) 54%, white) 0 22%, transparent 52%), linear-gradient(112deg, color-mix(in srgb, var(--lineup-accent) 23%, #ededed) 0 52%, #ededed 100%); }
.collection-showcase__product-link,
.collection-showcase__content > .collection-showcase__media { position: absolute; top: 88px; left: 50%; z-index: 2; display: block; width: min(43%, 470px); transform: translateX(-50%); }
.collection-showcase__media { min-height: 520px; }
.collection-showcase__media img { width: 100%; max-width: 440px; height: 520px; margin: 0 auto; transform: rotate(-1deg); }
.collection-showcase__product-link:is(:hover, :focus-visible) img { transform: translateY(-14px) rotate(1deg) scale(1.035); }
.collection-showcase__copy { position: absolute; right: 38px; bottom: 34px; z-index: 4; width: min(31%, 350px); text-align: right; }
.collection-showcase__copy h3 { font-size: clamp(2.45rem, 4.5vw, 4.7rem); line-height: 0.86; }
.collection-showcase__copy p { margin: 15px 0 18px auto; font-size: 0.94rem; }
.collection-showcase__copy .pill-link,
.collection-showcase__soon { justify-self: end; }
.collection-showcase__status { top: 36px; }
.collection-showcase__nav { top: auto; bottom: 18px; width: 46px; height: 46px; font-size: 1.65rem; transform: none; }
.collection-showcase__nav:is(:hover, :focus-visible) { transform: scale(1.06); }
.collection-showcase__nav.is-previous { left: calc(50% - 106px); }
.collection-showcase__nav.is-next { right: auto; left: calc(50% + 60px); }
.collection-showcase__pagination { right: auto; bottom: 31px; left: 50%; gap: 0; transform: translateX(-50%); }
.collection-showcase__dots { display: none; }
@media (max-width: 800px) {
  .collection-showcase,
  .collection-showcase__viewport,
  .collection-showcase__content { min-height: 770px; }
  .collection-showcase__statement { top: 26px; left: 26px; width: calc(100% - 52px); font-size: clamp(3rem, 10vw, 5.1rem); }
  .collection-showcase__statement strong { padding-left: 8vw; }
  .collection-showcase__product-link,
  .collection-showcase__content > .collection-showcase__media { top: 118px; width: min(72%, 380px); transform: translateX(-50%); }
  .collection-showcase__media { min-height: 390px; }
  .collection-showcase__media img { width: 100%; height: 390px; }
  .collection-showcase__copy { right: 8%; bottom: 78px; width: 84%; text-align: center; }
  .collection-showcase__copy p { margin-inline: auto; }
  .collection-showcase__copy .pill-link,
  .collection-showcase__soon { justify-self: center; }
  .collection-showcase__nav { top: auto; bottom: 16px; }
  .collection-showcase__pagination { right: auto; bottom: 29px; left: 50%; }
}
@media (max-width: 520px) {
  .collection-showcase,
  .collection-showcase__viewport,
  .collection-showcase__content { min-height: 790px; }
  .collection-showcase { width: 100%; border-radius: 22px; }
  .collection-showcase__statement { top: 22px; left: 20px; width: calc(100% - 40px); font-size: clamp(2.7rem, 14vw, 4rem); }
  .collection-showcase__product-link,
  .collection-showcase__content > .collection-showcase__media { top: 122px; width: min(78%, 300px); }
  .collection-showcase__media { min-height: 350px; }
  .collection-showcase__media img { height: 345px; }
  .collection-showcase__status { top: 18px; }
  .collection-showcase__copy { right: 6%; bottom: 82px; width: 88%; }
  .collection-showcase__copy h3 { font-size: clamp(2.15rem, 11vw, 3.25rem); }
  .collection-showcase__copy p { margin: 12px auto 16px; font-size: 0.86rem; }
  .collection-showcase__nav.is-previous { left: calc(50% - 102px); }
  .collection-showcase__nav.is-next { left: calc(50% + 56px); }
}

/* Mantiene el estado de lanzamiento lejos del titular editorial. */
.collection-showcase__status { top: auto; bottom: 32px; }
@media (max-width: 520px) {
  .collection-showcase__status { top: auto; bottom: 22px; }
}

/* Carrusel de una barra a la vez: producto primero y paleta oficial por sabor. */
.collection-showcase {
  min-height: 620px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--brown) 10%, transparent);
  border-radius: 36px;
  background: var(--paper);
  box-shadow: 0 28px 70px rgba(66,39,18,0.12);
  isolation: isolate;
}
.collection-showcase__viewport,
.collection-showcase__content { min-height: 620px; }
.collection-showcase__slide {
  transform: translateX(24%) scale(0.975);
  transition: opacity 500ms ease, transform 720ms cubic-bezier(0.2,0.82,0.24,1);
}
.collection-showcase__slide.is-active { transform: translateX(0) scale(1); }
.collection-showcase__content {
  position: relative;
  display: grid;
  grid-template-columns: minmax(300px,0.94fr) minmax(340px,1.06fr);
  align-items: center;
  gap: clamp(44px,6vw,92px);
  padding: 56px clamp(76px,8vw,116px) 92px;
  background:
    radial-gradient(circle at 24% 48%, color-mix(in srgb, var(--lineup-accent) 64%, white) 0 22%, transparent 43%),
    linear-gradient(90deg, color-mix(in srgb, var(--lineup-accent) 28%, #fffaf0) 0 48%, #fffaf0 48% 100%);
}
.collection-showcase__content::after {
  position: absolute;
  top: 54px;
  bottom: 88px;
  left: 48%;
  width: 1px;
  background: color-mix(in srgb, var(--lineup-detail) 28%, transparent);
  content: "";
}
.collection-showcase__product-link,
.collection-showcase__content > .collection-showcase__media {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  color: inherit;
  outline: none;
}
.collection-showcase__product-link:focus-visible {
  border-radius: 30px;
  box-shadow: 0 0 0 5px color-mix(in srgb, var(--lineup-ink) 46%, white);
}
.collection-showcase__media { min-height: 460px; }
.collection-showcase__media img {
  width: min(100%,300px);
  height: 455px;
  object-fit: contain;
  filter: drop-shadow(0 30px 26px rgba(66,39,18,0.2));
  transform: rotate(-2deg);
  transition: filter 360ms ease, transform 560ms cubic-bezier(0.2,0.82,0.24,1);
}
.collection-showcase__product-link:is(:hover,:focus-visible) img {
  filter: drop-shadow(0 38px 30px rgba(66,39,18,0.24));
  transform: translateY(-16px) rotate(1deg) scale(1.04);
}
.collection-showcase__copy {
  position: relative;
  right: auto;
  bottom: auto;
  z-index: 3;
  width: min(100%,470px);
  padding-left: clamp(14px,2vw,30px);
  border-left: 3px solid var(--lineup-detail);
  color: var(--lineup-ink);
  text-align: left;
}
.collection-showcase__copy > span:first-child {
  color: var(--lineup-detail);
  font-family: var(--font-body);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.18em;
}
.collection-showcase__copy h3 {
  max-width: 470px;
  margin-top: 8px;
  color: var(--lineup-ink);
  font-size: clamp(3.5rem,5.7vw,5.8rem);
  line-height: 0.88;
}
.collection-showcase__copy p {
  max-width: 420px;
  margin: 20px 0 26px;
  color: var(--lineup-detail);
  font-size: clamp(1rem,1.35vw,1.12rem);
  line-height: 1.5;
}
.collection-showcase__copy .pill-link {
  --button-bg: var(--lineup-ink);
  color: var(--lineup-button-text);
  transition: transform 200ms ease, box-shadow 200ms ease;
}
.collection-showcase__copy .pill-link:is(:hover,:focus-visible) {
  box-shadow: 0 12px 24px color-mix(in srgb, var(--lineup-ink) 24%, transparent);
  transform: translateY(-3px);
}
.collection-showcase__slide.is-upcoming .collection-showcase__media img {
  opacity: 0.52;
  filter: blur(5px) saturate(0.68) drop-shadow(0 24px 22px rgba(66,39,18,0.14));
}
.collection-showcase__status {
  top: auto;
  bottom: 26px;
  background: var(--lineup-ink);
  color: var(--lineup-button-text);
}
.collection-showcase__soon {
  border-color: var(--lineup-ink);
  color: var(--lineup-ink);
}
.collection-showcase__nav {
  top: auto;
  bottom: 20px;
  width: 48px;
  height: 48px;
  background: var(--paper);
  color: var(--lineup-ink);
  font-size: 1.7rem;
  transform: none;
}
.collection-showcase__nav:is(:hover,:focus-visible) {
  background: var(--lineup-accent);
  color: var(--lineup-ink);
  transform: translateY(-2px) scale(1.04);
}
.collection-showcase__nav.is-previous { left: calc(50% - 108px); }
.collection-showcase__nav.is-next { right: auto; left: calc(50% + 60px); }
.collection-showcase__pagination {
  right: auto;
  bottom: 34px;
  left: 50%;
  gap: 0;
  color: var(--lineup-detail);
  transform: translateX(-50%);
}
.collection-showcase__dots { display: none; }

@media (max-width: 800px) {
  .collection-showcase,
  .collection-showcase__viewport,
  .collection-showcase__content { min-height: 720px; }
  .collection-showcase { border-radius: 28px; }
  .collection-showcase__content {
    grid-template-columns: 1fr;
    grid-template-rows: 390px auto;
    gap: 12px;
    padding: 34px 60px 92px;
    background:
      radial-gradient(circle at 50% 24%, color-mix(in srgb, var(--lineup-accent) 66%, white) 0 20%, transparent 38%),
      linear-gradient(180deg, color-mix(in srgb, var(--lineup-accent) 25%, #fffaf0) 0 48%, #fffaf0 48% 100%);
  }
  .collection-showcase__content::after { display: none; }
  .collection-showcase__media { min-height: 370px; }
  .collection-showcase__media img { width: min(100%,260px); height: 365px; }
  .collection-showcase__copy {
    width: min(100%,520px);
    margin: 0 auto;
    padding: 20px 0 0;
    border-top: 2px solid var(--lineup-detail);
    border-left: 0;
    text-align: center;
  }
  .collection-showcase__copy h3,
  .collection-showcase__copy p { margin-inline: auto; }
  .collection-showcase__copy .pill-link,
  .collection-showcase__soon { justify-self: center; }
}

@media (max-width: 520px) {
  .collection-showcase,
  .collection-showcase__viewport,
  .collection-showcase__content { min-height: 680px; }
  .collection-showcase { width: 100%; border-radius: 22px; }
  .collection-showcase__content {
    grid-template-rows: 330px auto;
    padding: 24px 44px 90px;
  }
  .collection-showcase__media { min-height: 315px; }
  .collection-showcase__media img { width: min(100%,220px); height: 310px; }
  .collection-showcase__copy { padding-top: 16px; }
  .collection-showcase__copy h3 { font-size: clamp(2.4rem,12vw,3.4rem); }
  .collection-showcase__copy p { margin: 12px auto 16px; font-size: 0.88rem; }
  .collection-showcase__status { bottom: 16px; padding: 9px 15px; font-size: 0.7rem; }
  .collection-showcase__nav { bottom: 18px; width: 44px; height: 44px; }
  .collection-showcase__nav.is-previous { left: calc(50% - 102px); }
  .collection-showcase__nav.is-next { left: calc(50% + 58px); }
  .collection-showcase__pagination { bottom: 31px; }
}

/* Carrusel minimalista: una barra, sin copy ni controles visibles. */
.collection-showcase {
  min-height: 560px;
  background: #fffaf0;
}
.collection-showcase__viewport,
.collection-showcase__content {
  min-height: 560px;
}
.collection-showcase__content {
  display: grid;
  grid-template-columns: 1fr;
  place-items: center;
  padding: 34px;
  background:
    radial-gradient(circle at 50% 48%, color-mix(in srgb, var(--lineup-accent) 56%, white) 0 24%, transparent 48%),
    #fffaf0;
}
.collection-showcase__content::after,
.collection-showcase__copy,
.collection-showcase__nav,
.collection-showcase__pagination,
.collection-showcase__status {
  display: none !important;
}
.collection-showcase__product-link,
.collection-showcase__content > .collection-showcase__media {
  width: min(88%, 520px);
  min-height: 490px;
  place-items: center;
}
.collection-showcase__media {
  display: grid;
  min-height: 490px;
  place-items: center;
}
.collection-showcase__media img {
  width: min(100%, 330px);
  height: 490px;
  object-fit: contain;
  filter: drop-shadow(0 32px 28px rgba(66,39,18,0.2));
  transform: rotate(-1.5deg);
}
.collection-showcase__product-link:is(:hover,:focus-visible) img {
  filter: drop-shadow(0 40px 34px rgba(66,39,18,0.24));
  transform: translateY(-15px) rotate(1deg) scale(1.04);
}
.collection-showcase__slide.is-upcoming .collection-showcase__media img {
  opacity: 0.56;
  filter: blur(4px) saturate(0.72) drop-shadow(0 28px 24px rgba(66,39,18,0.16));
}

@media (max-width: 800px) {
  .collection-showcase,
  .collection-showcase__viewport,
  .collection-showcase__content { min-height: 480px; }
  .collection-showcase__content { padding: 28px; }
  .collection-showcase__product-link,
  .collection-showcase__content > .collection-showcase__media,
  .collection-showcase__media { min-height: 420px; }
  .collection-showcase__media img { width: min(100%, 285px); height: 415px; }
}

@media (max-width: 520px) {
  .collection-showcase,
  .collection-showcase__viewport,
  .collection-showcase__content { min-height: 410px; }
  .collection-showcase { border-radius: 22px; }
  .collection-showcase__content { padding: 22px; }
  .collection-showcase__product-link,
  .collection-showcase__content > .collection-showcase__media,
  .collection-showcase__media { min-height: 360px; }
  .collection-showcase__media img { width: min(100%, 235px); height: 355px; }
}

/* Escaparate tipo Vicio: tres barras disponibles sobre fondo transparente. */
.collection-showcase {
  min-height: 580px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  isolation: isolate;
}
.collection-showcase__viewport,
.collection-showcase__content {
  min-height: 580px;
  overflow: visible;
}
.collection-showcase__slide,
.collection-showcase__slide.is-active {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  opacity: 0.82;
  pointer-events: none;
  transition:
    opacity 520ms ease,
    transform 820ms cubic-bezier(0.2,0.82,0.24,1),
    filter 520ms ease;
}
.collection-showcase__slide.is-active {
  z-index: 3;
  opacity: 1;
  pointer-events: auto;
  filter: none;
  transform: translateX(0) scale(1);
}
.collection-showcase__slide.is-left {
  z-index: 1;
  opacity: 0.78;
  filter: none;
  transform: translateX(-44%) scale(0.46) rotate(-4deg);
}
.collection-showcase__slide.is-right {
  z-index: 2;
  opacity: 0.78;
  filter: none;
  transform: translateX(44%) scale(0.46) rotate(4deg);
}
.collection-showcase__content {
  display: grid;
  grid-template-columns: 1fr;
  place-items: center;
  padding: 20px;
  background: transparent;
}
.collection-showcase__content::after {
  display: none;
}
.collection-showcase__product-link,
.collection-showcase__content > .collection-showcase__media {
  display: grid;
  position: relative;
  inset: auto;
  top: auto;
  left: auto;
  width: min(100%, 340px);
  height: 100%;
  min-height: 0;
  place-items: center;
  transform: none;
  pointer-events: auto;
}
.collection-showcase__media {
  display: grid;
  height: 100%;
  min-height: 0;
  place-items: center;
}
.collection-showcase__media img {
  width: min(100%, 320px);
  height: 510px;
  object-fit: contain;
  filter: drop-shadow(0 34px 25px rgba(66,39,18,0.2));
  transform: none;
}
.collection-showcase__product-link:is(:hover,:focus-visible) img {
  filter: drop-shadow(0 42px 30px rgba(66,39,18,0.25));
  transform: translateY(-16px) scale(1.035);
}
.collection-showcase__copy,
.collection-showcase__nav,
.collection-showcase__pagination,
.collection-showcase__status {
  display: none !important;
}

@media (max-width: 800px) {
  .collection-showcase,
  .collection-showcase__viewport,
  .collection-showcase__content { min-height: 500px; }
  .collection-showcase__content { padding: 14px; }
  .collection-showcase__product-link,
  .collection-showcase__content > .collection-showcase__media,
  .collection-showcase__media { height: 100%; min-height: 0; }
  .collection-showcase__media img { width: min(100%, 280px); height: 440px; }
  .collection-showcase__slide.is-left { transform: translateX(-46%) scale(0.4) rotate(-4deg); }
  .collection-showcase__slide.is-right { transform: translateX(46%) scale(0.4) rotate(4deg); }
}

@media (max-width: 520px) {
  .collection-showcase,
  .collection-showcase__viewport,
  .collection-showcase__content { min-height: 420px; }
  .collection-showcase { width: 100%; }
  .collection-showcase__content { padding: 8px; }
  .collection-showcase__product-link,
  .collection-showcase__content > .collection-showcase__media,
  .collection-showcase__media { height: 100%; min-height: 0; }
  .collection-showcase__media img { width: min(100%, 235px); height: 380px; }
  .collection-showcase__slide.is-left { transform: translateX(-40%) scale(0.34) rotate(-5deg); }
  .collection-showcase__slide.is-right { transform: translateX(40%) scale(0.34) rotate(5deg); }
}

body.mini-cart-is-open .chocolate-back-to-top {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

/* Product sheet: reserve a real column for the price on long names. */
.product-panel__heading--long {
  grid-template-columns: minmax(0, 1fr) auto;
}

.product-panel__heading--long h1 {
  min-width: 0;
  max-width: none;
  font-size: clamp(2.15rem, 3.2vw, 3.65rem);
  letter-spacing: -0.035em;
  line-height: 0.94;
  overflow-wrap: normal;
  text-wrap: balance;
}

.product-panel__heading--long .product-panel__price {
  align-self: start;
  justify-self: end;
}

@media (max-width: 840px) {
  .product-panel__heading--long {
    grid-template-columns: minmax(0, 1fr);
  }

  .product-panel__heading--long .product-panel__price {
    justify-self: start;
  }
}

/* Checklist 2026-07-29: ajuste final de identidad, fichas y pie. */
.top-marquee,
.top-marquee__track {
  font-family: var(--font-body, "Avenir", Arial, sans-serif);
  font-weight: 400;
  font-style: normal;
}

.brand-logo {
  width: 104px;
  height: 104px;
}

.home-flavor--acai .munch-badge {
  color: #f0b6d3;
}

.home-flavor--cinnamon .munch-badge {
  background: #7b4028;
  color: #fff4cd;
}

.home-flavor--papitas .munch-badge {
  background: #fec900;
  color: #9a541b;
}

.revised-marquee {
  min-height: 96px;
  font-family: var(--font-title, "Gohan", Arial, sans-serif);
  font-size: clamp(1.35rem, 2.15vw, 2.1rem);
  line-height: 1;
}

.revised-marquee span {
  gap: clamp(30px, 4vw, 64px);
}

.revised-marquee b {
  width: 64px;
  height: 64px;
  flex: 0 0 64px;
  overflow: visible;
  border-radius: 0;
  filter: none;
}

.revised-marquee b img {
  object-fit: contain;
  filter: brightness(0) saturate(100%) invert(15%) sepia(23%) saturate(4923%) hue-rotate(269deg) brightness(85%) contrast(89%);
  transform: scale(1.28);
}

.instagram-section > p {
  margin-bottom: 28px;
  font-family: var(--font-body, "Avenir", Arial, sans-serif);
  font-size: clamp(1rem, 1.35vw, 1.25rem);
}

.instagram-carousel {
  width: min(100%, 1240px);
}

.instagram-section .instagram-carousel__track > a {
  flex-basis: 32%;
  aspect-ratio: 16 / 9;
  border-radius: 26px;
  background: var(--cream);
}

.instagram-section .instagram-carousel__image {
  object-fit: contain;
  object-position: center;
}

.revised-footer,
.revised-footer a,
.revised-footer span,
.revised-footer strong {
  font-family: var(--font-title, "Gohan", Arial, sans-serif);
}

.footer-product-message {
  top: -122px;
  width: 210px;
  line-height: 1.02;
}

.footer-product-character:nth-child(3):is(:hover, :focus-visible, .is-active) img {
  transform: translateY(-72px);
}

.footer-product-character:nth-child(4):is(:hover, :focus-visible, .is-active) img {
  transform: rotate(-4deg) translateY(-68px);
}

.footer-product-character:nth-child(5):is(:hover, :focus-visible, .is-active) img {
  transform: rotate(4deg) translateY(-62px);
}

.footer-product-character.is-unavailable img,
.footer-products:has(.footer-product-character:is(:hover, :focus-visible, .is-active)) .footer-product-character.is-unavailable img {
  filter: blur(6px) saturate(0.72) drop-shadow(0 18px 16px rgba(0,0,0,0.1));
  opacity: 0.58;
}

.product-page--acai,
.figma-product-page--acai {
  --purchase-bg: #5f2821;
  --purchase-fg: #f0b6d3;
}

.product-page--papitas-y-caramelo,
.figma-product-page--papitas-y-caramelo {
  --purchase-bg: #9a541b;
  --purchase-fg: #fec900;
}

.product-page--cinnamon-roll,
.figma-product-page--cinnamon-roll {
  --purchase-bg: #7b4028;
  --purchase-fg: #fff4cd;
}

.product-purchase .figma-quantity,
.product-purchase .figma-add {
  border: 2px solid var(--purchase-bg, var(--product-ink));
  background: var(--purchase-bg, var(--product-ink));
  color: var(--purchase-fg, var(--product-accent));
}

.product-purchase .figma-add:not(:disabled):hover {
  box-shadow: 0 14px 28px color-mix(in srgb, var(--purchase-bg, var(--product-ink)), transparent 68%);
}

.product-tagline {
  min-height: 168px;
  border-top: 0 !important;
  font-size: clamp(2.25rem, 4.25vw, 4.6rem);
}

.product-tagline__track {
  min-height: 166px;
}

.recommendation-card {
  border-color: color-mix(in srgb, var(--recommendation-tone), var(--brown) 22%);
}

@media (max-width: 800px) {
  .revised-marquee {
    min-height: 76px;
    font-size: clamp(1rem, 4vw, 1.35rem);
  }

  .revised-marquee b {
    width: 46px;
    height: 46px;
    flex-basis: 46px;
  }

  .instagram-section .instagram-carousel__track > a {
    flex-basis: 49%;
  }

  .footer-product-message {
    top: -92px;
    width: 154px;
  }

  .product-tagline,
  .product-tagline__track {
    min-height: 126px;
  }
}

@media (max-width: 520px) {
  .revised-marquee {
    min-height: 68px;
    font-size: 0.96rem;
  }

  .revised-marquee b {
    width: 40px;
    height: 40px;
    flex-basis: 40px;
  }

  .instagram-carousel {
    padding-inline: 46px;
  }

  .instagram-section .instagram-carousel__track > a {
    flex-basis: 88%;
  }

  .footer-product-message {
    top: -72px;
    width: 116px;
  }

  .product-tagline {
    width: 100%;
    min-height: 116px;
    margin-top: 0;
    font-size: clamp(1.8rem, 9vw, 2.65rem);
  }

  .product-tagline__track {
    min-height: 114px;
  }
}

/* Precio lanzamiento: conserva el precio normal como referencia y destaca el vigente. */
.home-product-card__price:has(del),
.product-panel__price:has(del),
.cart-line__copy > strong:has(del),
.cart-suggestions article > span:has(del),
.recommendation-card header span:has(del),
.mini-cart-line small:has(del) {
  display: inline-flex;
  align-items: baseline;
  gap: 0.45em;
}

.home-product-card__price del,
.product-panel__price del,
.cart-line__copy > strong del,
.cart-suggestions article > span del,
.recommendation-card header span del,
.mini-cart-line small del {
  opacity: 0.55;
  font-family: var(--font-body);
  font-size: 0.64em;
  font-weight: 800;
  text-decoration-thickness: 0.12em;
}

.home-product-card__price ins,
.product-panel__price ins,
.cart-line__copy > strong ins,
.cart-suggestions article > span ins,
.recommendation-card header span ins,
.mini-cart-line small ins {
  color: inherit;
  font-weight: inherit;
  text-decoration: none;
}

.figma-cart-form[aria-busy="true"] .cart-line,
.figma-cart-form[aria-busy="true"] .cart-summary {
  opacity: 0.7;
  transition: opacity 160ms ease;
}

.figma-cart-form[aria-busy="true"] .cart-line__quantity,
.figma-cart-form[aria-busy="true"] .cart-confirm {
  pointer-events: none;
}

/* Home polish 2026-07-29: interactive lineup, clearer title and clean product scenes. */
.brand-header {
  height: 216px;
}

.brand-logo {
  width: 116px;
  height: 116px;
}

.collection-showcase__slide.is-left,
.collection-showcase__slide.is-right {
  pointer-events: auto;
}

.collection-showcase__slide:not(.is-active) .collection-showcase__product-link {
  cursor: pointer;
}

.collection-showcase__title {
  margin: 12px auto clamp(48px, 6vw, 86px);
  color: var(--brown);
  font-family: var(--font-title, "Gohan", Arial, sans-serif);
  font-size: clamp(2.6rem, 5.4vw, 5.6rem);
  font-weight: 400;
  letter-spacing: -0.035em;
  line-height: 0.92;
  text-align: center;
  text-transform: uppercase;
}

.revised-flavor-visual .revised-flavor-visual__photo,
.revised-flavor-visual:hover .revised-flavor-visual__photo {
  border: 0;
  box-shadow: none;
}

.flavor-face {
  bottom: -40px;
}

.revised-flavor-visual:is(:hover, :focus-visible) .flavor-face {
  transform: translateY(-2px) scale(1.025);
}

@media (max-width: 800px) {
  .collection-showcase__title { margin-top: 8px; }
  .flavor-face { bottom: -32px; }
}

@media (max-width: 520px) {
  .collection-showcase__title {
    margin-bottom: 48px;
    font-size: clamp(2rem, 9.5vw, 3rem);
  }
}

/* Home polish 2026-07-30: remove the column divider and keep side bars clickable. */
.home-flavor::after {
  display: none;
}

.brand-header {
  height: 236px;
}

.brand-logo {
  width: 128px;
  height: 128px;
}

.collection-showcase__slide,
.collection-showcase__slide.is-active,
.collection-showcase__slide.is-left,
.collection-showcase__slide.is-right {
  pointer-events: none;
}

.collection-showcase__product-link {
  pointer-events: auto;
}

.instagram-section .instagram-carousel__track > a {
  aspect-ratio: 4 / 3;
}

.instagram-section .instagram-carousel__image {
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
  object-position: center;
}

/* Product galleries 2026-07-30: ordered client photography and a larger header mark. */
.brand-header {
  height: 270px;
}

.brand-logo {
  width: 160px;
  height: 160px;
}

.product-thumbnails {
  grid-template-columns: repeat(auto-fit, minmax(72px, 110px));
  justify-content: center;
}

@media (max-width: 520px) {
  .product-thumbnails { grid-template-columns: repeat(auto-fit, minmax(64px, 88px)); }
}

/* Product detail v1.3.46: keep long names and a compact price on one row. */
.product-panel__heading--long {
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: clamp(20px, 2vw, 32px);
  row-gap: 0;
}

.product-panel__heading--long h1 {
  max-width: 100%;
  font-size: clamp(2rem, 2.75vw, 3.15rem);
}

.product-panel__heading--long .product-panel__price {
  min-height: 42px;
  justify-self: end;
  margin: 0;
  padding: 6px 12px;
  font-size: clamp(1.05rem, 1.45vw, 1.45rem) !important;
}

.stock-alert-form button {
  font-family: "Gohan", "AvenirWeb", sans-serif;
}

@media (max-width: 520px) {
  .product-panel__heading--long {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 14px;
  }

  .product-panel__heading--long .product-panel__price {
    justify-self: start;
  }
}

/* Home photography v1.3.50: clean swaps and hover-only character motion. */
.home-product-card .revised-product-art .catalog-pack,
.home-product-card .revised-product-art .catalog-scene {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  object-fit: cover;
  object-position: center;
  filter: none;
  pointer-events: none;
  transition: transform 420ms cubic-bezier(0.2, 0.75, 0.25, 1);
}

.home-product-card .revised-product-art .catalog-pack {
  z-index: 1;
  opacity: 1;
  visibility: visible;
  transform: scale(1);
}

.home-product-card .revised-product-art .catalog-scene {
  z-index: 2;
  opacity: 0;
  visibility: hidden;
  transform: scale(1.035);
}

.home-product-card:is(:hover, :focus-within) .revised-product-art .catalog-pack {
  opacity: 0;
  visibility: hidden;
  transform: scale(0.98);
}

.home-product-card:is(:hover, :focus-within) .revised-product-art .catalog-scene {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
}

.munch-badge {
  font-family: "Gohan", "Arial Rounded MT Bold", "Trebuchet MS", Arial, sans-serif;
  font-weight: 400;
}

.revised-flavor-visual:is(:hover, :focus-visible) .munch-badge {
  filter: drop-shadow(0 10px 12px rgba(66, 39, 18, 0.18));
  transform: rotate(352deg) scale(1.06);
}

.home-flavor__kicker,
.home-flavor h2 {
  letter-spacing: 0.01em;
  line-height: 1.02;
}

.home-flavor h2 > span + span {
  margin-top: 0.08em;
}

.home-flavor--cinnamon h2 {
  max-width: 19ch;
  font-size: clamp(1.7rem, 2.65vw, 3rem);
}

.home-flavor--papitas .home-flavor__kicker {
  max-width: 10ch;
  line-height: 0.98;
}

/* Home copy v1.3.52: fixed line breaks and breathing room beside animated artwork. */
.home-flavor__copy {
  min-width: 0;
}

.home-flavor__kicker > span {
  display: block;
}

.home-flavor__kicker > span + span {
  margin-top: 0.08em;
}

.home-flavor--cinnamon .home-flavor__kicker,
.home-flavor--papitas .home-flavor__kicker {
  width: max-content;
  max-width: 100%;
  line-height: 1.04;
}

.home-flavor--cinnamon h2 > span + span {
  margin-top: 0.2em;
}

.home-flavor--papitas h2 > span + span {
  margin-top: 0.14em;
}

@media (min-width: 801px) {
  .home-flavor--cinnamon .home-flavor__copy {
    padding-left: clamp(56px, 6vw, 104px);
  }

  .home-flavor--papitas .home-flavor__copy {
    padding-right: clamp(56px, 6vw, 104px);
  }
}

/* Home copy v1.3.53: preserve the approved two-line Papitas title. */
.home-flavor--papitas .home-flavor__kicker > span {
  white-space: nowrap;
}

@media (min-width: 801px) {
  .home-flavor--papitas .home-flavor__kicker {
    width: 100%;
    max-width: none;
    font-size: clamp(3rem, 5vw, 5.6rem);
  }
}

/* Mobile resilience v1.3.54: prevent narrow-screen clipping without
   changing the approved carousel, hover or footer animations. */
@media (max-width: 520px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  .brand-site {
    width: 100%;
    min-width: 0;
    overflow-x: hidden;
  }

  .brand-header {
    width: 100%;
    min-width: 0;
    padding-inline: max(14px, 4vw);
  }

  .brand-nav {
    right: 0;
    left: 0;
    width: auto;
    gap: clamp(12px, 5vw, 24px);
    padding-inline: 8px;
    transform: none;
  }

  .brand-nav a {
    min-width: 0;
    white-space: nowrap;
  }

  .flavor-stories,
  .collection-intro,
  .collection-showcase,
  .ideas-section,
  .instagram-section,
  .product-stage,
  .cart-shell,
  .woocommerce-cart .site-content-shell,
  .woocommerce-checkout .site-content-shell {
    min-width: 0;
    max-width: 100%;
  }

  .footer-products {
    right: 0;
    left: 0;
    width: 100%;
    padding-inline: 12px;
    box-sizing: border-box;
  }

  .footer-product-character {
    min-width: 0;
  }

  .footer-product-character img {
    max-width: 92%;
  }

  .footer-product-character:first-child .footer-product-message {
    left: 0;
    transform: translate(0, 20px);
  }

  .footer-product-character:first-child:is(:hover, :focus-visible, .is-active) .footer-product-message {
    transform: translate(0, 0);
  }

  .footer-product-character:last-child .footer-product-message {
    right: 0;
    left: auto;
    transform: translate(0, 20px);
  }

  .footer-product-character:last-child:is(:hover, :focus-visible, .is-active) .footer-product-message {
    transform: translate(0, 0);
  }

  .footer-bottom {
    gap: 12px;
    padding-inline: 5%;
  }

  .footer-bottom span {
    min-width: 0;
  }

  .chocolate-back-to-top {
    max-width: calc(100vw - 20px);
  }
}

@media (max-width: 360px) {
  .brand-nav {
    gap: 10px;
    padding-inline: 5px;
    font-size: 0.62rem;
  }

  .round-action {
    width: 38px;
    height: 38px;
  }

  .stock-alert-card {
    padding-inline: 15px;
  }

  .cart-line {
    grid-template-columns: 74px minmax(0, 1fr);
    gap: 12px;
    padding: 16px;
  }

  .cart-line h2 {
    font-size: 1.35rem;
  }

  .mini-cart-panel__header {
    gap: 12px;
  }

  .mini-cart-panel__header > div {
    min-width: 0;
    flex: 1 1 auto;
  }

  .mini-cart-panel__header h2 {
    max-width: 100%;
    font-size: clamp(1.45rem, 9vw, 1.75rem);
    overflow-wrap: anywhere;
  }

  .mini-cart-panel__header button {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
  }

  .recommendation-card header {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 8px 12px;
  }

  .recommendation-card header strong,
  .recommendation-card header span {
    max-width: 100%;
  }

  .recommendation-card header strong {
    flex: 1 1 100%;
    overflow-wrap: anywhere;
  }

  .recommendation-card header span {
    flex-wrap: wrap;
  }

  .footer-column .socials a {
    width: 48px;
    height: 48px;
  }

  .footer-product-message {
    width: 100px;
    font-size: 0.58rem;
  }
}

/* Ajustes puntuales v1.3.55: franja, pie animado y paleta Acai. */
.revised-marquee span {
  align-items: center;
  column-gap: clamp(34px, 4vw, 64px);
  padding-right: 0;
}

.revised-marquee {
  column-gap: clamp(34px, 4vw, 64px);
}

.revised-marquee b {
  display: inline-grid;
  place-items: center;
  align-self: center;
  margin: 0;
}

.revised-marquee b img {
  transform: none;
  transform-origin: center;
}

.home-flavor--acai .pill-link {
  --button-bg: var(--acai-dark);
  background: var(--acai-dark);
  color: var(--acai-light);
}

.home-flavor--acai .munch-badge {
  --badge-tone: var(--acai-brown);
  background: var(--acai-brown);
  color: var(--acai-light);
}

.footer-product-message {
  top: -164px;
}

@media (max-width: 800px) {
  .footer-product-message {
    top: -92px;
  }
}

@media (max-width: 520px) {
  .footer-product-message {
    top: -72px;
  }
}

/* Ajustes puntuales v1.3.56: personajes futuros interactivos y una sola red social. */
.footer-product-character.is-unavailable {
  pointer-events: auto;
}

.footer-product-character.is-unavailable img,
.footer-products:has(.footer-product-character:is(:hover, :focus-visible, .is-active)) .footer-product-character.is-unavailable img {
  opacity: 1;
  filter: drop-shadow(0 18px 16px rgba(0, 0, 0, 0.13));
}

.footer-product-character.is-unavailable:is(:hover, :focus-visible, .is-active) .footer-product-message {
  opacity: 1;
  transform: translate(-50%, 0);
}

/* Mobile responsive pass v1.3.62: give the lead carousel enough visual weight
   and keep every content section inside the narrow viewport. */
@media (max-width: 800px) {
  .home-hero--carousel {
    min-height: clamp(220px, 60vw, 280px);
    aspect-ratio: auto;
  }

  .home-hero--carousel .hero-carousel__slides,
  .home-hero--carousel .hero-carousel__slide,
  .home-hero--carousel .hero-carousel__slide > a {
    width: 100%;
    height: 100%;
  }

  .home-hero--carousel .hero-carousel__slide img {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
    object-position: left center;
  }

  .flavor-stories,
  .home-flavor,
  .home-flavor__copy,
  .home-flavor__image,
  .revised-flavor-visual,
  .collection-intro,
  .collection-showcase,
  .ideas-section,
  .instagram-section,
  .brand-footer {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }
}

@media (max-width: 520px) {
  .home-hero--carousel {
    min-height: clamp(224px, 62vw, 250px);
  }

  .hero-carousel__dots {
    bottom: 13px;
  }

  .home-hero--carousel .hero-carousel__slide.is-active {
    transform: none;
  }

  .home-flavor__kicker,
  .home-flavor h2,
  .home-flavor h2 > span {
    max-width: 100%;
    overflow-wrap: normal;
  }

  .home-flavor__copy > p:not(.home-flavor__kicker) {
    max-width: 100%;
  }
}

/* Ajustes visuales v1.3.63: cinco barras, tarjetas, carrito y pie. */
.collection-showcase__slide.is-left-far {
  z-index: 0;
  opacity: 0.46;
  transform: translateX(-76%) scale(0.26) rotate(-6deg);
}

.collection-showcase__slide.is-right-far {
  z-index: 0;
  opacity: 0.46;
  transform: translateX(76%) scale(0.26) rotate(6deg);
}

.collection-showcase__slide.is-left,
.collection-showcase__slide.is-right,
.collection-showcase__slide.is-left-far,
.collection-showcase__slide.is-right-far {
  pointer-events: auto;
}

.home-product-card strong {
  display: grid;
  min-height: 58px;
  align-content: start;
  justify-items: center;
  gap: 2px;
  text-align: center;
}

.home-product-card strong > span,
.home-product-card strong > small {
  display: block;
  font: inherit;
  line-height: 1.04;
}

.home-product-card strong > small {
  font-size: 0.82em;
  letter-spacing: 0.02em;
}

.home-product-card__price,
.home-product-card__price:has(del) {
  display: flex;
  width: 100%;
  align-items: baseline;
  justify-content: center;
  gap: 9px;
  text-align: center;
}

.home-product-card .pill-link {
  min-width: 138px;
  min-height: 44px;
  padding: 9px 22px;
  font-size: 0.72rem;
}

.home-flavor--papitas .home-flavor__copy {
  padding-right: clamp(24px, 3vw, 56px);
}

.home-flavor--papitas .home-flavor__kicker,
.home-flavor--papitas h2 {
  letter-spacing: -0.02em;
  line-height: 0.92;
}

.home-flavor--papitas .home-flavor__kicker > span,
.home-flavor--papitas h2 > span {
  display: block;
  white-space: nowrap;
}

.home-flavor--papitas h2 {
  margin-top: clamp(16px, 2vw, 26px);
}

.cart-suggestions__visual {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  isolation: isolate;
}

.cart-suggestions__visual > img,
.cart-suggestions__hover img {
  transition: none !important;
}

.cart-suggestions__pack {
  width: 100%;
  height: 100%;
  object-fit: contain;
  visibility: visible;
}

.cart-suggestions__hover {
  position: absolute;
  inset: 0;
  display: block;
  overflow: hidden;
  background: #f257a0;
  visibility: hidden;
}

.cart-suggestions__hover-scene {
  position: absolute;
  top: 0;
  left: -5%;
  width: 72% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center;
}

.cart-suggestions__hover-pack {
  position: absolute;
  top: 9%;
  right: 5%;
  width: 48% !important;
  height: 82% !important;
  object-fit: contain !important;
  transform: rotate(-6deg);
  filter: drop-shadow(0 18px 16px rgba(66, 39, 18, 0.2));
}

.cart-suggestions__image-link:is(:hover, :focus-visible) .cart-suggestions__pack {
  visibility: hidden;
}

.cart-suggestions__image-link:is(:hover, :focus-visible) .cart-suggestions__hover {
  visibility: visible;
}

.cart-suggestions__image-link:is(:hover, :focus-visible) .cart-suggestions__hover-scene {
  filter: none;
  transform: none;
}

.cart-suggestions__image-link:is(:hover, :focus-visible) .cart-suggestions__hover-pack {
  filter: drop-shadow(0 18px 16px rgba(66, 39, 18, 0.2));
  transform: rotate(-6deg);
}

.footer-products:has(.footer-product-character:is(:hover, :focus-visible, .is-active))
  .footer-product-character.is-unavailable:not(:is(:hover, :focus-visible, .is-active)) img {
  opacity: 0.56;
  filter: blur(6px) saturate(0.72) drop-shadow(0 18px 16px rgba(0, 0, 0, 0.1));
}

/* Product availability and clean image swaps v1.3.64. */
.home-product-card .revised-product-art .catalog-pack {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  transition: none !important;
}

.home-product-card .revised-product-art .catalog-scene {
  display: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  transition: none !important;
}

.home-product-card:is(:hover, :focus-within) .revised-product-art .catalog-pack {
  display: none !important;
}

.home-product-card:is(:hover, :focus-within) .revised-product-art .catalog-scene {
  display: block !important;
}

.collection-showcase__product-link--unavailable {
  cursor: default;
}

.collection-showcase__availability {
  position: absolute;
  left: 50%;
  bottom: clamp(18px, 3vw, 38px);
  z-index: 3;
  translate: -50% 0;
  padding: 10px 18px;
  border-radius: 999px;
  background: var(--brown);
  color: var(--cream);
  font-family: "Gohan", "Avenir", sans-serif;
  font-size: clamp(0.7rem, 1vw, 0.85rem);
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: 0 12px 22px rgba(66, 39, 18, 0.18);
}

.collection-showcase__slide:not(.is-active) .collection-showcase__availability {
  display: none;
}

.cart-suggestions__hover {
  background: transparent;
}

.cart-suggestions__hover-scene {
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  filter: none !important;
  transform: none !important;
}

.footer-product-character.is-unavailable:is(:hover, :focus-visible, .is-active) img {
  opacity: 1;
  filter: drop-shadow(0 18px 16px rgba(0, 0, 0, 0.13));
}

@media (max-width: 800px) {
  .collection-showcase__slide.is-left-far {
    transform: translateX(-66%) scale(0.22) rotate(-6deg);
  }

  .collection-showcase__slide.is-right-far {
    transform: translateX(66%) scale(0.22) rotate(6deg);
  }

  .home-flavor--papitas .home-flavor__copy {
    padding-right: 0;
  }

  .home-flavor--papitas .home-flavor__kicker {
    font-size: clamp(2.25rem, 12vw, 4rem);
  }

  .home-flavor--papitas h2 {
    font-size: clamp(1.55rem, 7.2vw, 2.45rem);
  }
}

/* Smooth, opaque photography swaps v1.3.66. */
.home-product-card .revised-product-art .catalog-pack,
.home-product-card .revised-product-art .catalog-scene {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.home-product-card .revised-product-art .catalog-pack {
  transform: scale(1) !important;
  transition: transform 360ms cubic-bezier(0.22, 0.75, 0.25, 1) !important;
}

.home-product-card .revised-product-art .catalog-scene {
  clip-path: inset(0 100% 0 0 round 22px);
  transform: scale(1.025) !important;
  transition:
    clip-path 420ms cubic-bezier(0.22, 0.75, 0.25, 1),
    transform 420ms cubic-bezier(0.22, 0.75, 0.25, 1) !important;
  will-change: clip-path, transform;
}

.home-product-card:is(:hover, :focus-within) .revised-product-art .catalog-pack {
  display: block !important;
  transform: scale(0.985) !important;
}

.home-product-card:is(:hover, :focus-within) .revised-product-art .catalog-scene {
  display: block !important;
  clip-path: inset(0 0 0 0 round 22px);
  transform: scale(1) !important;
}

.cart-suggestions__visual > .cart-suggestions__pack {
  visibility: visible !important;
  transform: scale(1);
  transition: transform 360ms cubic-bezier(0.22, 0.75, 0.25, 1) !important;
}

.cart-suggestions__hover {
  display: block !important;
  visibility: visible !important;
  clip-path: inset(0 100% 0 0 round 22px);
  transition: clip-path 420ms cubic-bezier(0.22, 0.75, 0.25, 1) !important;
  will-change: clip-path;
}

.cart-suggestions__image-link:is(:hover, :focus-visible) .cart-suggestions__pack {
  visibility: visible !important;
  transform: scale(0.985);
}

.cart-suggestions__image-link:is(:hover, :focus-visible) .cart-suggestions__hover {
  visibility: visible !important;
  clip-path: inset(0 0 0 0 round 22px);
}

@media (prefers-reduced-motion: reduce) {
  .home-product-card .revised-product-art .catalog-pack,
  .home-product-card .revised-product-art .catalog-scene,
  .cart-suggestions__visual > .cart-suggestions__pack,
  .cart-suggestions__hover {
    transition-duration: 1ms !important;
  }
}

/* Final overflow and product-fit safeguards v1.3.67. */
.home-flavor--cinnamon .home-flavor__copy {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.home-flavor--cinnamon .home-flavor__kicker,
.home-flavor--cinnamon h2 {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.cart-suggestions__visual > .cart-suggestions__pack {
  box-sizing: border-box;
  object-fit: contain !important;
  object-position: center !important;
  padding: 10px 7px;
}

@media (min-width: 801px) {
  .home-flavor--cinnamon .home-flavor__copy {
    padding-left: clamp(44px, 5vw, 84px);
    padding-right: clamp(24px, 2.5vw, 42px);
  }

  .home-flavor--cinnamon .home-flavor__kicker {
    font-size: clamp(3.5rem, 5.5vw, 5.5rem);
  }

  .home-flavor--cinnamon h2 {
    font-size: clamp(1.55rem, 2.35vw, 2.65rem);
  }
}

@media (max-width: 800px) {
  .home-flavor--cinnamon .home-flavor__kicker > span,
  .home-flavor--cinnamon h2 > span {
    max-width: 100%;
    white-space: normal;
  }

  .cart-suggestions__visual > .cart-suggestions__pack {
    padding: 8px 6px;
  }
}

/* Mobile containment and narrow-screen fit pass v1.3.68. */
@media (max-width: 800px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  .brand-site,
  .brand-site > main,
  .top-marquee,
  .revised-marquee,
  .home-hero--carousel,
  .flavor-stories,
  .collection-intro,
  .ideas-section,
  .brand-footer,
  .cart-shell,
  .product-stage,
  .purchase-confirmed {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .brand-site,
  .brand-site > main,
  .top-marquee,
  .revised-marquee,
  .home-hero--carousel {
    overflow-x: hidden;
    overflow-x: clip;
  }

  .collection-intro {
    overflow: hidden;
    overflow: clip;
  }

  .collection-showcase,
  .collection-showcase__viewport,
  .collection-showcase__content {
    max-width: 100%;
    overflow: hidden !important;
  }

  .collection-showcase__slide,
  .collection-showcase__product-link,
  .collection-showcase__media {
    max-width: 100%;
  }

  .home-flavor,
  .home-flavor__copy,
  .home-flavor__image,
  .home-product-card,
  .revised-product-art,
  .product-gallery,
  .product-panel-wrap,
  .product-panel,
  .cart-status,
  .cart-layout,
  .cart-lines,
  .cart-line,
  .cart-suggestions,
  .cart-suggestions__card,
  .purchase-confirmed__card {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
  }

  .mini-cart-panel {
    width: min(440px, 100vw);
    max-width: 100vw;
  }

  .cart-suggestions__image-link,
  .cart-suggestions__visual {
    max-width: 100%;
  }
}

@media (max-width: 520px) {
  .collection-showcase__slide.is-left {
    transform: translateX(-34%) scale(0.32) rotate(-4deg);
  }

  .collection-showcase__slide.is-right {
    transform: translateX(34%) scale(0.32) rotate(4deg);
  }

  .collection-showcase__slide.is-left-far {
    transform: translateX(-54%) scale(0.18) rotate(-5deg);
  }

  .collection-showcase__slide.is-right-far {
    transform: translateX(54%) scale(0.18) rotate(5deg);
  }

  .home-flavor__copy,
  .home-flavor--papitas .home-flavor__copy,
  .home-flavor--cinnamon .home-flavor__copy {
    width: 100%;
    padding-right: clamp(20px, 7vw, 28px);
    padding-left: clamp(20px, 7vw, 28px);
  }

  .home-flavor__kicker,
  .home-flavor h2,
  .home-flavor h2 > span {
    width: 100%;
    max-width: 100%;
    overflow-wrap: normal;
    word-break: normal;
  }

  .product-panel,
  .purchase-confirmed__card {
    width: 100%;
  }

  .cart-suggestions__image-link {
    height: auto;
    aspect-ratio: 1 / 1;
  }

  .cart-suggestions__visual > .cart-suggestions__pack {
    width: 100%;
    height: 100%;
    padding: 8px;
  }
}

/* Final empty-cart visual guard: full pack at rest, one photo on hover. */
.cart-shell .cart-suggestions__image-link {
  height: auto;
  aspect-ratio: 1 / 1;
}

.cart-shell .cart-suggestions__visual {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: inherit;
}

.cart-shell .cart-suggestions__visual > .cart-suggestions__pack,
.cart-shell .cart-suggestions__hover,
.cart-shell .cart-suggestions__hover-scene {
  position: absolute !important;
  inset: 0 !important;
  box-sizing: border-box;
  width: 100% !important;
  height: 100% !important;
}

.cart-shell .cart-suggestions__visual > .cart-suggestions__pack {
  z-index: 1;
  display: block;
  padding: 12px 10px !important;
  object-fit: contain !important;
  object-position: center !important;
  opacity: 1;
  visibility: visible !important;
  transform: none !important;
  transition: opacity 240ms ease !important;
}

.cart-shell .cart-suggestions__hover {
  z-index: 2;
  display: block !important;
  overflow: hidden;
  background: transparent;
  opacity: 0;
  visibility: visible !important;
  clip-path: none !important;
  pointer-events: none;
  transition: opacity 240ms ease !important;
}

.cart-shell .cart-suggestions__hover-scene {
  display: block;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
  transform: none !important;
}

.cart-shell .cart-suggestions__image-link:is(:hover, :focus-visible) .cart-suggestions__pack {
  opacity: 0;
  visibility: visible !important;
  transform: none !important;
}

.cart-shell .cart-suggestions__image-link:is(:hover, :focus-visible) .cart-suggestions__hover {
  opacity: 1;
  visibility: visible !important;
  clip-path: none !important;
}

/* Final requested interaction v1.3.68; keep this block last in the cascade. */
.home-product-card .revised-product-art .catalog-pack,
.home-product-card .revised-product-art .catalog-scene {
  display: block !important;
  visibility: visible !important;
  clip-path: none !important;
  transform: none !important;
  transition: opacity 360ms ease !important;
  will-change: opacity;
}

.home-product-card .revised-product-art .catalog-pack {
  opacity: 1 !important;
}

.home-product-card .revised-product-art .catalog-scene {
  opacity: 0 !important;
}

.home-product-card:is(:hover, :focus-within) .revised-product-art .catalog-pack {
  opacity: 0 !important;
}

.home-product-card:is(:hover, :focus-within) .revised-product-art .catalog-scene {
  opacity: 1 !important;
}

.cart-shell .cart-suggestions__visual > .cart-suggestions__pack,
.cart-shell .cart-suggestions__image-link:is(:hover, :focus-visible) .cart-suggestions__pack {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  transition: none !important;
}

/* Exact related-product photography v1.3.69; keep this block last. */
.recommendation-card__art .recommendation-card__pack,
.recommendation-card__art .recommendation-card__scene {
  display: block !important;
  visibility: visible !important;
  clip-path: none !important;
  transform: none !important;
  transition: opacity 420ms ease !important;
  will-change: opacity;
}

.recommendation-card__art .recommendation-card__pack {
  opacity: 1 !important;
  object-fit: contain !important;
  object-position: center !important;
}

.recommendation-card__art .recommendation-card__scene {
  opacity: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
}

.recommendation-card a:is(:hover, :focus-visible) .recommendation-card__pack {
  opacity: 0 !important;
  transform: none !important;
}

.recommendation-card a:is(:hover, :focus-visible) .recommendation-card__scene {
  opacity: 1 !important;
  transform: none !important;
}

/* Transparent and vertically aligned related-product photography. Keep last. */
.recommendation-grid {
  align-items: stretch;
}

.recommendation-card {
  height: 100%;
}

.recommendation-card > a {
  display: flex;
  height: 100%;
  min-height: 500px;
  flex-direction: column;
}

.recommendation-card header {
  min-height: 82px;
  align-items: flex-start;
}

.recommendation-card__art {
  flex: 0 0 350px;
  height: 350px;
  margin-top: 14px;
  background: transparent !important;
}

.recommendation-card__art .recommendation-card__pack {
  box-sizing: border-box;
  padding: 28px !important;
  background: transparent !important;
  object-fit: contain !important;
  object-position: center !important;
}

.recommendation-cta {
  margin-top: auto;
}

@media (max-width: 700px) {
  .recommendation-card > a {
    min-height: 430px;
  }

  .recommendation-card header {
    min-height: 72px;
  }

  .recommendation-card__art {
    flex-basis: 300px;
    height: 300px;
  }
}

/* Mobile polish: keep the CTA clear of the rotating MMMM badge and
   normalize the two future flavors inside the interactive lineup. */
@media (max-width: 520px) {
  .flavor-stories .home-flavor__image.revised-flavor-visual {
    margin-top: 54px;
  }
}



/* ============================================================================
   v1.3.71 - Bloque movil consolidado. DEBE QUEDAR AL FINAL DEL ARCHIVO.
   Motivo: las @media no suman especificidad. Las reglas top-level de los
   parches (.brand-header{270px}, .brand-logo{160px}) son POSTERIORES a los
   @media originales, asi que ganaban tambien en movil. Todos los overrides
   moviles de header / logo / hero viven ahora solo aqui.
   ============================================================================ */

@media (max-width: 800px) {
  .brand-header { height: 156px; padding: 22px 6% 18px; }
  .brand-logo { width: 70px; height: 70px; }
  .brand-nav { bottom: 17px; gap: 30px; font-size: 0.7rem; }

  /* Los banners son 1920x850: respetamos su ratio en vez de estirar y recortar. */
  .home-hero--carousel { min-height: 0; aspect-ratio: 1920 / 850; }
  .home-hero--carousel .hero-carousel__slide img {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
    object-position: center;
  }
}

@media (max-width: 520px) {
  .brand-header { height: 130px; padding: 16px 5% 14px; }
  .brand-logo { width: 56px; height: 56px; }
  .brand-nav { bottom: 13px; gap: clamp(14px, 6vw, 26px); font-size: 0.65rem; }
  .round-action { width: 40px; height: 40px; font-size: 1.15rem; }
  .brand-cart { font-size: 0.9rem; }
  .top-marquee { height: 34px; font-size: 0.54rem; }

  /* Los puntos quedaban encima del texto incrustado del banner. */
  .hero-carousel__dots {
    right: 12px;
    bottom: 10px;
    left: auto;
    padding: 6px 9px;
    gap: 7px;
    transform: none;
  }
  .hero-carousel__dots button { width: 7px; height: 7px; }
  .hero-carousel__dots button.is-active { width: 20px; }
}

@media (max-width: 360px) {
  .brand-header { height: 118px; }
  .brand-logo { width: 50px; height: 50px; }
  .round-action { width: 38px; height: 38px; }
}

/* ============================================================================
   v1.3.72 - Corta el desplazamiento horizontal a nivel de viewport.
   'clip' en vez de 'hidden': hidden convierte al elemento en contenedor de
   scroll (desplazable por gesto tactil aunque no muestre barra); clip no crea
   contenedor y no se puede desplazar de ninguna forma.
   Se saca del body porque tenerlo en html Y body a la vez deja al body como
   scroller horizontal propio.
   PARCHE DE CONTENCION: no corrige el elemento de 773px, solo lo oculta.
   ============================================================================ */

html {
  /* v1.3.81: vuelve a 'hidden'. En el elemento raiz Chrome NO propaga 'clip'
     al viewport; 'hidden' si. El cambio a clip de v1.3.72 fue un error mio. */
  overflow-x: hidden;
}

@media (max-width: 800px) {
  body {
    overflow-x: visible;
  }
}

/* ============================================================================
   v1.3.73 - Matcha y Espresso regenerados.
   Los .webp de esos dos sabores eran recortes a sangre (0-1px de margen alfa),
   asi que filter: drop-shadow() -que sigue el canal alfa- dibujaba una losa
   rectangular en vez de abrazar la barra. Ahora tienen lienzo 656px y 16px de
   margen transparente, igual que acai / cinnamon / papitas, y se les quito la
   sombra que venia horneada en el alfa del render original.
   Por eso se eliminaron los cuatro bloques de tamanos forzados: ya usan la
   regla comun (width: min(100%,320px); height: 510px; object-fit: contain).
   ============================================================================ */

/* ============================================================================
   v1.3.76 - Sin sombra proyectada en Matcha y Espresso dentro del carrusel.
   Se conserva el desenfoque de los slides "is-upcoming", solo se quita el
   drop-shadow. Para quitarla en las cinco barras, borrar los dos selectores
   de sabor de este bloque y dejar .collection-showcase__media img.
   ============================================================================ */

.collection-showcase__slide--espresso-martini .collection-showcase__media img,
.collection-showcase__slide--matcha-latte .collection-showcase__media img {
  filter: none;
}

.collection-showcase__slide--espresso-martini.is-upcoming .collection-showcase__media img,
.collection-showcase__slide--matcha-latte.is-upcoming .collection-showcase__media img {
  filter: blur(5px) saturate(0.7);
}

.collection-showcase__slide--espresso-martini .collection-showcase__product-link:is(:hover, :focus-visible) img,
.collection-showcase__slide--matcha-latte .collection-showcase__product-link:is(:hover, :focus-visible) img {
  filter: none;
}

/* ============================================================================
   v1.3.79 - Contencion real del carrusel de tarjetas.
   El scroll horizontal del documento lo generaba .home-product-card dentro de
   .home-product-grid.revised-product-grid: en <=800 la grilla pasa a flex con
   tarjetas de min(74vw,360px), pero .home-product-card:last-child recibia
   width:auto de una regla top-level posterior (linea ~2797) y el contenedor no
   estaba conteniendo el desborde.
   Se reafirma el contenedor de scroll y se fijan anchos explicitos, y ademas
   .collection-intro recorta en el eje X como garantia a nivel de seccion.
   Este bloque va ultimo: nada posterior puede pisarlo.
   ============================================================================ */

@media (max-width: 800px) {
  .collection-intro {
    overflow-x: clip;
  }

  .home-product-grid {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
  }

  .home-product-grid > .home-product-card,
  .home-product-grid > .home-product-card:nth-child(4),
  .home-product-grid > .home-product-card:nth-child(5),
  .home-product-grid > .home-product-card:last-child {
    flex: 0 0 min(74vw, 360px);
    width: min(74vw, 360px);
    max-width: min(74vw, 360px);
    min-width: 0;
    grid-column: auto;
    margin: 0;
  }
}

@media (max-width: 520px) {
  .home-product-grid > .home-product-card,
  .home-product-grid > .home-product-card:nth-child(4),
  .home-product-grid > .home-product-card:nth-child(5),
  .home-product-grid > .home-product-card:last-child {
    flex-basis: 78vw;
    width: 78vw;
    max-width: 78vw;
  }
}

/* ============================================================================
   v1.3.88 - Campo Comuna en el checkout de bloques (reemplaza a v1.3.80).
   Chile Shipping inyecta su <select> de comuna DENTRO del mismo contenedor que
   el <input id="shipping-city"> nativo de WooCommerce, y deja los dos visibles.
   Eso duplicaba la etiqueta "Ciudad" sobre el valor y, peor, permitia escribir
   a mano una ciudad que pisaba la comuna sincronizada y dejaba el pedido sin
   tarifa ("No hay opciones de envio disponibles para esta direccion").
   El input nativo se oculta accesiblemente (no con display:none: WooCommerce
   necesita que siga en el formulario y sea enfocable para la validacion).
   ============================================================================ */

.wc-block-components-address-form__city input.chileshippingfw-block-city-original {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  border: 0 !important;
  white-space: nowrap !important;
}

.wc-block-components-address-form__city select.chileshippingfw-block-commune-select {
  box-sizing: border-box;
  display: block;
  width: 100%;
  height: 50px;
  margin: 0;
  padding: 26px 38px 4px 16px;
  border: 1px solid #50575e;
  border-radius: 4px;
  background-color: #fff;
  color: inherit;
  font: inherit;
  font-size: 16px;
  line-height: 1.2;
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, currentColor 50%),
                    linear-gradient(135deg, currentColor 50%, transparent 50%);
  background-position: calc(100% - 20px) 24px, calc(100% - 14px) 24px;
  background-size: 6px 6px;
  background-repeat: no-repeat;
}

.wc-block-components-address-form__city select.chileshippingfw-block-commune-select:focus {
  outline: 2px solid var(--woocommerce-primary, #7f54b3);
  outline-offset: -2px;
}

.wc-block-components-address-form__city > label {
  z-index: 1;
  pointer-events: none;
}

/* ============================================================================
   v1.3.90 - Boton de volver arriba recortado en las vistas de WooCommerce.
   El CSS de WooCommerce trae:
       .woocommerce img, .woocommerce-page img { height: auto; max-width: 100%; }
   Esa regla (0,0,1,1) gana por especificidad sobre .chocolate-back-to-top__bar
   (0,0,1,0), asi que en carrito, checkout y fichas de producto la barra pasaba
   a height:auto, crecia de 112px a ~156px y se salia del boton por abajo.
   En el index no ocurria porque ahi el <body> no lleva esas clases.
   ============================================================================ */

.chocolate-back-to-top .chocolate-back-to-top__bar,
.woocommerce .chocolate-back-to-top__bar,
.woocommerce-page .chocolate-back-to-top__bar {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: contain;
}

/* Mismo motivo: las barras del pie tambien reciben height:auto de WooCommerce. */
.woocommerce .footer-product-character img,
.woocommerce-page .footer-product-character img {
  max-width: none;
}

/* ============================================================================
   v1.3.94 - Carita de sabor: cambio limpio, sin difuminado ni animacion.
   Antes: .flavor-face__wink estaba declarada con translateY(5px) scale(0.94),
   o sea 5px mas abajo y 6% mas chica que .flavor-face__normal, y las dos se
   cruzaban con transiciones de opacidad/transform/filter. Durante el cruce se
   veian las dos superpuestas y desalineadas: de ahi el efecto difuminado y el
   salto de altura. Ademas el contenedor hacia translateY(-6px) scale(1.025).
   Ahora: las dos imagenes ocupan exactamente la misma caja y el cambio es
   instantaneo. Al pasar el mouse solo cierra el ojo.
   ============================================================================ */

.flavor-face {
  transition: none;
  /* v1.3.95: fuera la sombra proyectada del circulo (linea 2305). */
  filter: none;
  box-shadow: none;
}

.flavor-face img,
.flavor-face .flavor-face__normal,
.flavor-face .flavor-face__wink {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transform: none;
  filter: none;
  transition: none;
  animation: none;
}

.flavor-face .flavor-face__normal { opacity: 1; }
.flavor-face .flavor-face__wink   { opacity: 0; }

.revised-flavor-visual:is(:hover, :focus-visible) .flavor-face {
  transform: none;
}

.revised-flavor-visual:is(:hover, :focus-visible) .flavor-face .flavor-face__normal {
  opacity: 0;
  transform: none;
  filter: none;
}

.revised-flavor-visual:is(:hover, :focus-visible) .flavor-face .flavor-face__wink {
  opacity: 1;
  transform: none;
  filter: none;
}

@media (prefers-reduced-motion: reduce) {
  .flavor-face,
  .flavor-face img {
    transition: none;
    animation: none;
  }
}

/* ============================================================================
   v1.3.95 - Sin sombra bajo las caritas.
   El circulo llevaba filter: drop-shadow(0 16px 18px rgba(66,39,18,0.15)), que
   proyectaba una sombra 16px hacia abajo. En v1.3.94 se la quite a las imagenes
   de adentro pero no al contenedor, asi que seguia viendose.
   ============================================================================ */

.revised-flavor-visual .flavor-face,
.revised-flavor-visual:is(:hover, :focus-visible) .flavor-face {
  filter: none;
  box-shadow: none;
}

/* ============================================================================
   v1.3.98 - Etiquetas del checkout: sin animacion y sin texto encimado.
   Reemplaza al bloque v1.3.96, que perdia por especificidad. WooCommerce Blocks
   estiliza esa etiqueta con
       .wc-block-components-form .wc-block-components-text-input input:-webkit-autofill ~ label
   -especificidad (0,0,4,2)- contra (0,0,1,1) del selector que yo usaba, asi que
   el scale(0.82) sobrevivia y la etiqueta seguia montandose sobre el valor.
   Aca se iguala a la etiqueta estatica de 13px que usa el campo Region.
   Ademas: los nombres largos de region no entran en el ancho del campo
   ("Region de Aysen del General Carlos Ibanez del Campo" pide 394px y hay 261),
   asi que se reserva espacio para la flecha y se cortan con puntos suspensivos
   en vez de pasar por debajo del icono.
   ============================================================================ */

.wc-block-components-form .wc-block-components-text-input.wc-block-components-address-form__city label,
.wc-block-components-text-input.wc-block-components-address-form__city label {
  font-size: 13px !important;
  line-height: 1.4 !important;
  top: 6px !important;
  left: 16px !important;
  transform: none !important;
  transition: none !important;
}

.wc-blocks-components-select .wc-blocks-components-select__label {
  transition: none;
}

.wc-blocks-components-select .wc-blocks-components-select__select {
  padding-right: 34px;
  text-overflow: ellipsis;
}

/* ============================================================================
   v1.4.1 - Desborde horizontal en movil: la tarjeta pasa a bloque contenedor.
   Verificado en el sitio a 416px: scrollWidth 898 -> 416 con solo esta regla.
   .home-product-card era position:static, asi que sus pseudo-elementos
   absolutos (::before / ::after decorativos) tomaban como bloque contenedor el
   bloque inicial y no la tarjeta. Al quedar fuera del contenedor de scroll de
   .home-product-grid, ni su overflow ni el de .brand-site los recortaba, y
   alargaban el documento. Por eso probar overflow-x:clip en .collection-intro,
   .brand-site y body no cambiaba nada: no habia nada que recortar ahi dentro.
   Con position:relative esos pseudo-elementos quedan dentro de la tarjeta.
   ============================================================================ */

.home-product-card {
  position: relative;
}

/* ============================================================================
   v1.4.4 - Barra Terremoto.
   La tarjeta reutiliza el mismo intercambio de fotografias que las demas
   (.catalog-pack / .catalog-scene), asi que aqui solo van los colores de marca
   y la senal de vista previa que ve el administrador antes de publicar.
   Paleta Figma: rosa piel #EE7C7E, rosa ojos #D0103E, cafe boca #5F2610,
   crema pelo #FEEEE7.
   ============================================================================ */

.home-product-card--terremoto .home-product-card__art { background: #7fcfe9; }
.home-product-card--terremoto { --button-bg: #ee7c7e; color: #d0103e; }
.home-product-card--terremoto .pill-link { color: #feeee7; }

.figma-product-page--terremoto .product-gallery__main--nutrition,
.figma-product-page--terremoto .product-gallery__main--studio,
.figma-product-page--terremoto .product-gallery__main--scene { background: #7fcfe9; }

/* Vista previa: visible solo para quien puede editar la apariencia. */
.conchocolate-preview-bar {
  position: relative;
  z-index: 60;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  background: #5f2610;
  color: #feeee7;
  font-family: var(--font-body);
  font-size: 0.82rem;
  letter-spacing: 0.02em;
  text-align: center;
}

.conchocolate-preview-bar strong {
  padding: 3px 10px;
  border-radius: 999px;
  background: #d0103e;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.conchocolate-preview-bar a { color: #feeee7; text-decoration: underline; }
.conchocolate-preview-bar a:hover { color: #ee7c7e; }

.home-product-card.is-preview .home-product-card__art::after {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 4;
  padding: 6px 12px;
  border-radius: 999px;
  background: #5f2610;
  color: #feeee7;
  content: "Vista previa";
  font-family: var(--font-body);
  font-size: 0.66rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.home-product-card.is-preview .home-product-card__art { position: relative; }

/* ============================================================================
   v1.4.5 - Terremoto: paleta fiel al Figma.
   El tema pinta casi toda la ficha con --product-ink, pero el diseno usa cuatro
   colores con roles distintos, asi que aqui se separan uno por uno:
     titulo         -> rosa piel  #EE7C7E
     precio, lineas -> rosa ojos  #D0103E
     textos         -> cafe boca  #5F2610
     sobre botones  -> crema pelo #FEEEE7
   ============================================================================ */

.figma-product-page--terremoto {
  --purchase-bg: #d0103e;
  --purchase-fg: #feeee7;
}

/* Titulo en rosa piel, como en el diseno. */
.figma-product-page--terremoto .product-panel h1 { color: #ee7c7e; }

/* Precio en rosa ojos, con el aro del mismo color. */
.figma-product-page--terremoto .product-panel__price {
  border-color: #d0103e;
  background: #fff;
  color: #d0103e !important;
}

/* Textos de la ficha en cafe boca. */
.figma-product-page--terremoto .product-panel__description,
.figma-product-page--terremoto .detail-row__label,
.figma-product-page--terremoto .detail-row__content p { color: #5f2610; }

/* Lineas y signos del acordeon en rosa ojos. */
.figma-product-page--terremoto .product-accordions {
  border-top-color: #d0103e;
  border-bottom-color: #d0103e;
}

.figma-product-page--terremoto .detail-row { border-top-color: #d0103e; }
.figma-product-page--terremoto .detail-row__icon { color: #d0103e; }

.figma-product-page--terremoto .detail-row.is-open .detail-row__icon {
  background: #d0103e;
  color: #feeee7;
}

/* Miniatura activa y aviso de stock alineados al mismo rojo. */
.figma-product-page--terremoto .product-thumbnails button.is-active { border-color: #d0103e; }

.figma-product-page--terremoto .stock-alert-card__eyebrow,
.figma-product-page--terremoto .stock-alert-card h2 { color: #5f2610; }

.figma-product-page--terremoto .stock-alert-form button {
  background: #d0103e;
  color: #feeee7;
}

/* Marquesina inferior en crema sobre el rosa de la pagina. */
.figma-product-page--terremoto .product-tagline,
.product-tagline--terremoto { color: #feeee7; }

/* El estado agotado se pinta en .product-purchase--unavailable .figma-add:disabled,
   que gana por especificidad, asi que se repite aqui con el rojo de la barra. */
.figma-product-page--terremoto .product-purchase--unavailable .figma-add:disabled {
  background: color-mix(in srgb, #d0103e 68%, var(--brown));
  color: #feeee7;
}

.figma-product-page--terremoto .figma-quantity.is-disabled {
  background: color-mix(in srgb, #d0103e 68%, var(--brown));
  color: #feeee7;
}

/* ============================================================================
   v1.4.8 - Terremoto: tamano del titulo.
   "TERREMOTO" es una sola palabra, no puede partirse en dos lineas como
   "Papitas y Caramelo", asi que tiene que caber entero al lado del precio.
   El escalon compacto del tema lo dejaba en 40px a 1440px, bastante mas chico
   que el Figma (~69px). Esta curva lo lleva a 55px sin encimarse: medido con
   la propia Gohan entre 801px y 1920px, el margen mas ajustado es de 9px.
   Solo afecta a Terremoto; el resto de las barras conserva su escalon.
   ============================================================================ */

.figma-product-page--terremoto .product-panel__heading--long h1 {
  font-size: clamp(1.75rem, calc(4.4vw - 8px), 3.5rem);
}

/* ============================================================================
   v1.5.7 - Chocobox: caja de tres barras a eleccion.
   Paleta del diseno: cafe claro #7B4028 (fondo), cafe oscuro #5F2610 (textos,
   banda de la marquesina), crema #FEEEE7 (texto sobre la banda). La ficha
   comparte la plantilla de las barras, pero la caja no lleva acordeones, el
   precio va en texto plano al lado del titulo, los botones son blancos con
   borde cafe y la marquesina va en crema sobre el mismo cafe del escenario.
   Todo va acotado a .figma-product-page--chocobox para no tocar las barras.
   ============================================================================ */

.figma-product-page--chocobox {
  --purchase-bg: #fff;
  --purchase-fg: #5f2610;
}

/* Galeria: las dos fotos van a cobertura completa, sin fondo de estudio del tema. */
.figma-product-page--chocobox .product-gallery__main--studio { background: #f37fb0; }
.figma-product-page--chocobox .product-gallery__main--studio img { object-position: center; }

.figma-product-page--chocobox .product-thumbnails { grid-template-columns: repeat(2, minmax(78px, 110px)); }
.figma-product-page--chocobox .product-thumbnails button { height: 110px; background: #f37fb0; }
.figma-product-page--chocobox .product-thumbnails button:nth-child(2) { background: #f8c400; }
.figma-product-page--chocobox .product-thumbnails button img { padding: 0; object-fit: cover; }
.figma-product-page--chocobox .product-thumbnails button.is-active { border-color: #5f2610; }

/* Titulo y textos en cafe oscuro. */
.figma-product-page--chocobox .product-panel h1,
.figma-product-page--chocobox .product-panel__description { color: #5f2610; }

/* "CHOCOBOX" (8 letras) no cabe entero al lado del precio con el escalon
   estandar por debajo de 1600px, medido con Gohan: usa la misma curva que
   Terremoto, que deja margen desde 841px. */
.figma-product-page--chocobox .product-panel h1 {
  font-size: clamp(1.75rem, calc(4.4vw - 8px), 3.5rem);
  letter-spacing: -0.04em;
}

/* Precio en texto plano, sin pastilla. */
.figma-product-page--chocobox .product-panel__price {
  min-height: 0;
  margin: 6px 0 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #5f2610 !important;
  font-size: clamp(1.4rem, 2.1vw, 2.2rem) !important;
}

/* Sin acordeones la descripcion cierra la tarjeta: un poco mas de aire abajo. */
.figma-product-page--chocobox .product-panel { padding-bottom: 36px; }
.figma-product-page--chocobox .product-panel__description { margin-bottom: 0; }

/* Cantidad y "Agregar" en blanco con borde cafe. */
.figma-product-page--chocobox .product-purchase .figma-quantity,
.figma-product-page--chocobox .product-purchase .figma-add {
  border-color: #5f2610;
  background: #fff;
  color: #5f2610;
}

.figma-product-page--chocobox .figma-quantity:not(.is-disabled) button:hover { background: rgba(95, 38, 16, 0.08); }
.figma-product-page--chocobox .figma-quantity input { color: #5f2610; }

.figma-product-page--chocobox .product-purchase .figma-add:not(:disabled):hover {
  box-shadow: 0 14px 28px rgba(95, 38, 16, 0.28);
  filter: none;
}

.figma-product-page--chocobox .product-purchase--unavailable .figma-add:disabled,
.figma-product-page--chocobox .figma-quantity.is-disabled {
  border-color: #5f2610;
  background: color-mix(in srgb, #fff 70%, #7b4028);
  color: #5f2610;
}

.figma-product-page--chocobox .stock-alert-card__eyebrow,
.figma-product-page--chocobox .stock-alert-card h2 { color: #5f2610; }

.figma-product-page--chocobox .stock-alert-form button {
  background: #5f2610;
  color: #feeee7;
}

/* Marquesina en crema directamente sobre el cafe del escenario, sin banda. */
.figma-product-page--chocobox .product-stage { padding-bottom: 44px; }

.figma-product-page--chocobox .product-tagline,
.product-tagline--chocobox {
  width: 100%;
  max-width: 100%;
  min-height: 118px;
  margin: 56px 0 0;
  padding: 0;
  border-top: 0 !important;
  background: transparent;
  color: #feeee7;
  font-size: clamp(1.6rem, 3.2vw, 3rem);
}

.figma-product-page--chocobox .product-tagline__track { min-height: 118px; }

/* Tarjeta de la Chocobox en "Tambien te podrian gustar" de las barras. */
.recommendation-card--chocobox { --recommendation-tone: #e7c7a4; color: #5f2610; }
.recommendation-card--chocobox .recommendation-card__pack { padding: 34px; }

@media (max-width: 800px) {
  .figma-product-page--chocobox .product-tagline,
  .figma-product-page--chocobox .product-tagline__track { min-height: 96px; }
  .figma-product-page--chocobox .product-tagline { margin-top: 44px; font-size: clamp(1.3rem, 5.4vw, 2rem); }
  .figma-product-page--chocobox .product-panel h1 { font-size: clamp(2.2rem, 9vw, 3rem); }
  .figma-product-page--chocobox .product-thumbnails button { height: 92px; }
}

@media (max-width: 520px) {
  .figma-product-page--chocobox .product-tagline { margin-top: 32px; }
}

/* --- Chocobox: selector de barritas (plugin ConChocolate Chocobox) ------- */
.figma-product-page--chocobox .product-purchase--chocobox {
  grid-template-columns: minmax(150px, 0.72fr) minmax(200px, 1.28fr);
  --chocobox-ink: #5f2610;
  --chocobox-bg: #fffaf3;
  --chocobox-accent: #7b4028;
  --chocobox-accent-fg: #feeee7;
}

.figma-product-page--chocobox .chocobox-selector { font-family: var(--font-body); }
.figma-product-page--chocobox .chocobox-selector__head strong,
.figma-product-page--chocobox .chocobox-barrita__nombre { font-family: "Gohan", Arial, sans-serif; font-weight: 400; }

/* Barritas elegidas en el carro y el mini carro. */
.cart-line__copy dl.variation,
.mini-cart-line dl.variation {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 6px;
  margin: 4px 0 6px;
  font-size: 0.78rem;
  line-height: 1.3;
  text-transform: none;
}

.cart-line__copy dl.variation dt,
.mini-cart-line dl.variation dt { margin: 0; font-weight: 800; }
.cart-line__copy dl.variation dd,
.mini-cart-line dl.variation dd { margin: 0; }
.cart-line__copy dl.variation p,
.mini-cart-line dl.variation p { margin: 0; display: inline; }

/* Tarjeta de la Chocobox en la portada: caja en mano sobre rosado, y al pasar
   el mouse la caja abierta sobre amarillo (mismo fundido que las barras). */
.home-product-card--chocobox .home-product-card__art { background: #f37fb0; }
.home-product-card--chocobox { --button-bg: #7b4028; color: #5f2610; }
.home-product-card--chocobox .pill-link { color: #feeee7; }

/* --- Mini carro: control de cantidad por linea (v1.5.7) ------------------ */
.mini-cart-line { grid-template-columns: 74px minmax(0, 1fr) auto; cursor: default; }
.mini-cart-line__image { display: block; }
.mini-cart-line__copy { min-width: 0; }
.mini-cart-line__copy strong a { color: inherit; text-decoration: none; }
.mini-cart-line__copy strong a:hover { text-decoration: underline; }

.mini-cart-line__qty {
  display: grid;
  grid-template-columns: 30px 30px 30px;
  align-items: center;
  align-self: center;
  overflow: hidden;
  border: 2px solid var(--purple);
  border-radius: 999px;
  background: #fff;
  color: var(--purple);
}

.mini-cart-line__qty button {
  height: 30px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  font-size: 1.05rem;
  line-height: 1;
  transition: background 160ms ease;
}

.mini-cart-line__qty button:hover { background: rgba(93, 27, 95, 0.1); }
.mini-cart-line__qty output { font-family: var(--font-title); font-size: 0.95rem; text-align: center; }

.mini-cart-line.is-updating { opacity: 0.6; pointer-events: none; }
.mini-cart-line.is-removing { transform: translateX(18px); opacity: 0.25; }
.mini-cart-line.is-rejected { animation: chocobox-shake 420ms ease; }

@media (max-width: 420px) {
  .mini-cart-line { grid-template-columns: 60px minmax(0, 1fr); }
  .mini-cart-line__qty { grid-column: 2; justify-self: start; margin-top: 8px; }
}

@keyframes chocobox-shake {
  20%, 60% { transform: translateX(-5px); }
  40%, 80% { transform: translateX(5px); }
}
