/* ==========================================================
   ACTUALIZACIÓN OCT-2026: idioma, contacto, mascota, regalo,
   caja real, historia y reseñas. Respeta la estética aprobada.
   ========================================================== */

/* ---------- Selector de idioma ---------- */
.lang { display: inline-flex; padding: 3px; border-radius: 999px; background: color-mix(in srgb, var(--choc) 12%, transparent); }
.lang button { min-width: 36px; height: 38px; padding: 0 9px; border-radius: 999px; font: 800 .78rem/1 var(--f-body); letter-spacing: .04em; color: var(--choc); transition: background .25s, color .25s; }
.lang button.is-on { background: var(--choc); color: var(--butter); }
.lang button:not(.is-on):hover { background: color-mix(in srgb, var(--choc) 16%, transparent); }

/* ---------- Contacto ---------- */
.contact-link { display: inline-flex; align-items: center; gap: .5em; height: 44px; padding: 0 14px; border-radius: 999px; border: 2px solid var(--choc); font-weight: 700; font-size: .9rem; text-decoration: none; white-space: nowrap; transition: background .25s, color .25s; }
.contact-link svg { width: 18px; height: 18px; color: #1a9e50; transition: color .25s; }
.contact-link:hover { background: var(--choc); color: var(--butter); }
.contact-link:hover svg { color: #5fe69a; }
.wa-float { display: none; position: fixed; z-index: 57; right: 14px; bottom: 14px; width: 54px; height: 54px; border-radius: 50%; background: #1fa855; color: #fff; place-items: center; box-shadow: 0 10px 22px -8px rgba(0, 0, 0, .5); transition: transform .3s var(--ease), bottom .4s var(--ease); }
.wa-float svg { width: 28px; height: 28px; }
.wa-float:active { transform: scale(.92); }
body.in-builder .wa-float { bottom: 92px; }

/* ---------- Navegación con más elementos ---------- */
.nav { width: min(calc(100% - 24px), 1360px); gap: 10px; }
.nav__links a { padding: 10px 13px; font-size: .92rem; white-space: nowrap; }
@media (max-width: 1280px) { .contact-link span { display: none; } .contact-link { padding: 0; width: 44px; justify-content: center; } }
@media (max-width: 1080px) { .nav__links a { padding: 10px 9px; font-size: .86rem; } .cart-btn__label { display: none; } .cart-btn { padding: 0 8px 0 14px; } }
@media (max-width: 860px) {
  .contact-link { display: none; }
  .wa-float { display: grid; }
  .nav { gap: 6px; }
  .nav__actions { gap: 6px; }
  .lang button { min-width: 32px; height: 34px; padding: 0 7px; font-size: .72rem; }
  .menu-sheet a { font-size: clamp(2rem, 9.5vw, 3.4rem); }
}
@media (max-width: 360px) { .nav { padding-left: 12px; padding-right: 6px; } .nav__logo { width: 60px; } .menu-btn { width: 40px; height: 40px; } .menu-btn span { left: 10px; right: 10px; } }

/* ---------- Sabores: chef junto al titular ---------- */
.flavors__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
.flavors__mascot { flex: none; width: clamp(84px, 11vw, 170px); height: auto; margin-bottom: -6px; filter: drop-shadow(0 12px 10px rgba(50, 26, 4, .2)); }

/* ---------- Separador del taxi ---------- */
.sep { position: relative; z-index: 6; height: 0; }
.sep--taxi .sep__taxi { position: absolute; right: 0; bottom: -96px; width: clamp(170px, 18vw, 270px); height: auto; filter: drop-shadow(0 14px 10px rgba(30, 15, 3, .3)); pointer-events: none; will-change: transform; }
.sep--taxi { overflow: visible; }
.sep--taxi::before { content: none; }
.sep-clip { overflow: hidden; }
@media (max-width: 700px) { .sep--taxi .sep__taxi { width: 36vw; bottom: -58px; } }

/* ---------- Tapa de caja: reproduce la impresión real ---------- */
.box { container-type: inline-size; min-width: 250px; }
.box__lid { display: flex; align-items: center; justify-content: center; gap: 4cqw; padding: 0 6cqw 3cqw; background: #F7EFCF; }
.box__lid-chef { width: 19cqw; height: auto; max-height: 86%; object-fit: contain; flex: none; }
.box__lid-text { margin: 0; font: 400 clamp(11px, 4.6cqw, 30px)/1.1 var(--f-display); letter-spacing: .01em; text-transform: uppercase; color: var(--choc); text-align: center; }
.box__lid-text b { font-weight: 400; font-size: 1.3em; }
.box__lid-text strong { display: block; font-weight: 400; font-size: 2.2em; line-height: 1; }
.lid-hint { bottom: 7px; font-size: clamp(.58rem, 2cqw, .72rem); }

/* ---------- Regalos ---------- */
.bx-perks { margin-bottom: clamp(18px, 3vw, 30px); }
.gift-card { display: grid; gap: 14px; padding: clamp(14px, 2vw, 22px); border-radius: 24px; background: var(--butter); color: var(--choc-900); box-shadow: 0 18px 30px -22px rgba(0, 0, 0, .7); }
.gift-card[hidden] { display: none; }
.gift-card__body { display: grid; gap: 6px; justify-items: start; align-content: center; }
.gift-card__eyebrow { font: 800 .64rem/1 var(--f-body); letter-spacing: .16em; text-transform: uppercase; color: var(--mint-800); }
.gift-card h3 { font: 400 clamp(1.25rem, 2.2vw, 1.8rem)/1.05 var(--f-display); }
.gift-card p { font-size: .9rem; line-height: 1.35; max-width: 56ch; }
.gift-card .gift-card__how { font-size: .84rem; opacity: .78; }
.gift-card__how[hidden], .gift-card__ask[hidden] { display: none; }
.gift-card__ask { margin-top: 4px; box-shadow: none; }

/* Galería: informa, no selecciona. Disponibles grandes y a color; agotados chicos y en grises. */
.gift-shelf { display: grid; gap: 10px; min-width: 0; }
.gift-shelf__on { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.gift-item { margin: 0; display: grid; gap: 6px; justify-items: center; }
.gift-item__img { display: block; width: 100%; aspect-ratio: 1.12; padding: 8px; border-radius: 16px; background: #fff; box-shadow: 0 8px 14px -8px rgba(40, 20, 4, .55); }
.gift-item__img img { width: 100%; height: 100%; object-fit: contain; }
.gift-item figcaption { font-weight: 800; font-size: .92rem; line-height: 1.15; text-align: center; }
.gift-shelf__off { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.gift-mini { display: grid; grid-template-columns: 50px minmax(0, 1fr); gap: 8px; align-items: center; min-width: 0; padding: 6px; border-radius: 12px; background: rgba(46, 26, 11, .07); cursor: not-allowed; }
.gift-mini__img { display: block; aspect-ratio: 1; padding: 3px; border-radius: 8px; background: #fff; }
.gift-mini__img img { width: 100%; height: 100%; object-fit: contain; filter: grayscale(1); opacity: .72; }
.gift-mini__text { display: grid; gap: 4px; justify-items: start; min-width: 0; }
.gift-mini b { font-weight: 700; font-size: .74rem; line-height: 1.15; opacity: .78; }
.gift-out { padding: 3px 6px; border-radius: 5px; background: var(--choc-900); color: #fff; font: 800 .6rem/1.1 var(--f-body); letter-spacing: .05em; }
@media (min-width: 700px) {
  .gift-card { grid-template-columns: minmax(0, 1fr) minmax(0, 2.1fr); gap: clamp(14px, 2vw, 26px); align-items: center; }
  .gift-shelf { grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: clamp(12px, 1.6vw, 20px); align-items: center; }
  .gift-mini { grid-template-columns: clamp(50px, 5.4vw, 84px) minmax(0, 1fr); }
  .gift-mini b { font-size: .8rem; }
}

/* Popup para elegir el regalo: va por encima de la barra y del carrito, y se desplaza por dentro */
.gift-pop { position: fixed; inset: 0; z-index: 240; display: grid; place-items: center; padding: max(10px, env(safe-area-inset-top)) 10px max(10px, env(safe-area-inset-bottom)); background: rgba(30, 16, 5, .66); backdrop-filter: blur(3px); }
.gift-pop__card { position: relative; display: grid; grid-template-rows: minmax(0, 1fr) auto; width: min(100%, 600px); max-height: calc(100vh - 20px); max-height: calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); overflow: hidden; border-radius: 26px; background: var(--butter); color: var(--choc-900); box-shadow: 0 40px 70px -30px rgba(0, 0, 0, .8); outline: none; }
.gift-pop__close { position: absolute; z-index: 3; right: 10px; top: 10px; background: var(--paper); box-shadow: 0 6px 12px -6px rgba(0, 0, 0, .5); }
.gift-pop__scroll { display: grid; gap: 14px; min-height: 0; padding: 16px 14px 14px; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.gift-pop__head { display: grid; grid-template-columns: clamp(56px, 16vw, 84px) minmax(0, 1fr); gap: 10px; align-items: center; padding-right: 40px; }
.gift-pop__mascot { width: 100%; height: auto; }
.gift-pop__head h3 { margin: 5px 0 4px; font: 400 clamp(1.5rem, 6vw, 2.1rem)/1.05 var(--f-display); }
.gift-pop__copy { font-size: .9rem; line-height: 1.3; }
.gift-pop__opts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; align-items: start; }
.gift-opt { position: relative; display: grid; gap: 6px; min-width: 0; }
.gift-opt__pick { display: grid; gap: 6px; justify-items: center; width: 100%; color: inherit; }
.gift-opt__img { position: relative; display: block; width: 100%; aspect-ratio: 1 / 1.14; max-height: 42dvh; padding: 8px; border-radius: 18px; background: #fff; border: 3px solid transparent; box-shadow: 0 8px 14px -8px rgba(40, 20, 4, .55); transition: border-color .2s; }
.gift-opt__img img { width: 100%; height: 100%; object-fit: contain; }
.gift-opt.is-on .gift-opt__img { border-color: var(--mint-800); }
.gift-opt__check { display: none; position: absolute; right: 6px; top: 6px; width: 30px; height: 30px; border-radius: 50%; place-items: center; background: var(--mint-800); color: #fff; font: 800 1rem/1 var(--f-body); }
.gift-opt.is-on .gift-opt__check { display: grid; }
.gift-opt__name { font-weight: 800; font-size: 1rem; line-height: 1.15; }
.gift-opt__caption { margin-top: -4px; font-size: .78rem; line-height: 1.2; opacity: .75; }
.gift-opt__zoom { position: absolute; left: 7px; top: 7px; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--paper); color: var(--choc-900); box-shadow: 0 4px 10px -5px rgba(0, 0, 0, .6); }
.gift-opt__zoom svg { width: 20px; height: 20px; }
.gift-pop__more { display: grid; gap: 8px; }
.gift-pop__off-head { font: 800 .68rem/1.1 var(--f-body); letter-spacing: .08em; text-transform: uppercase; opacity: .7; }
.gift-pop__avail { font-size: .78rem; line-height: 1.3; opacity: .72; }
.gift-pop__foot { display: grid; gap: 4px; padding: 10px 14px 10px; background: var(--butter-50); border-top: 2px dashed color-mix(in srgb, var(--choc) 22%, transparent); }
.gift-pop__confirm { width: 100%; box-shadow: none; }
.gift-pop__confirm:hover { box-shadow: none; }
.gift-pop__confirm:disabled { opacity: .45; cursor: not-allowed; transform: none; }
.gift-pop__skip { justify-self: center; min-height: 40px; font-size: .86rem; }
@media (min-width: 700px) {
  .gift-pop__scroll { padding: 22px 22px 16px; }
  .gift-pop__foot { padding: 12px 22px; }
  .gift-pop__off { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .gift-pop .gift-mini { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .gift-pop .gift-mini__img { width: 66px; }
  .gift-pop .gift-mini__text { justify-items: center; }
}
@media (max-height: 520px) and (orientation: landscape) {
  .gift-pop__card { width: min(100%, 720px); }
  .gift-pop__mascot { display: none; }
  .gift-pop__head { grid-template-columns: minmax(0, 1fr); }
  .gift-opt__img { aspect-ratio: auto; height: 170px; max-height: none; }
  .gift-pop__foot { grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; }
}

/* Vista ampliada de un artículo disponible */
.gift-view { position: fixed; inset: 0; z-index: 250; display: grid; place-items: center; padding: 14px; background: rgba(30, 16, 5, .7); overflow-y: auto; }
.gift-view__card { position: relative; display: grid; width: min(100%, 460px); max-height: calc(100dvh - 28px); overflow-y: auto; border-radius: 26px; background: var(--paper); color: var(--choc-900); box-shadow: 0 40px 70px -30px rgba(0, 0, 0, .8); }
.gift-view__stage { position: relative; background: #fff; }
.gift-view__photo { width: 100%; height: min(58dvh, 520px); padding: 10px; object-fit: contain; }
.gift-view__close { position: absolute; z-index: 3; right: 10px; top: 10px; background: var(--paper); box-shadow: 0 6px 12px -6px rgba(0, 0, 0, .5); }
.gift-view .gift-view__side { display: grid; color: var(--choc); top: calc(50% - 23px); }
.gift-view .gift-view__side[hidden] { display: none; }
.gift-view__side--prev { left: 8px; } .gift-view__side--next { right: 8px; }
.gift-view__body { display: grid; gap: 8px; padding: 14px 18px 18px; justify-items: center; text-align: center; }
.gift-view__body h3 { font: 400 clamp(1.4rem, 5vw, 1.8rem)/1.1 var(--f-display); }
.gift-view__note { font-size: .84rem; font-weight: 700; line-height: 1.35; opacity: .78; }
.gift-view__pick { width: 100%; margin-top: 4px; box-shadow: none; }
.gift-view__pick:hover { box-shadow: none; }
.gift-view__pick.is-on { --bg: var(--mint-800); --fg: #fff; }
@media (max-height: 620px) { .gift-view__photo { height: 44dvh; } }
.gift-nudge { display: grid; grid-template-columns: 54px 1fr; gap: 4px 12px; align-items: center; margin-top: 12px; padding: 12px; border-radius: 18px; border: 2px dashed color-mix(in srgb, var(--choc) 30%, transparent); font-size: .88rem; line-height: 1.3; }
.gift-nudge img { width: 54px; height: 54px; padding: 3px; object-fit: contain; background: #fff; border-radius: 12px; grid-row: span 2; }
.gift-nudge .link-btn { justify-self: start; padding: 2px 0; }
.link-btn--dark { color: var(--choc-900); }

/* Caja real dentro del configurador */
.bx-real { margin: 0; display: grid; grid-template-columns: minmax(0, 170px) minmax(0, 1fr); gap: 14px; align-items: center; padding: 12px; border-radius: 22px; background: rgba(248, 239, 198, .1); }
.bx-real[hidden] { display: none; }
.bx-real img { width: 100%; height: auto; border-radius: 14px; }
.bx-real figcaption { display: grid; gap: 4px; font-size: .86rem; line-height: 1.35; }
.bx-real b { font: 400 1.2rem/1.1 var(--f-display); }

/* ---------- Carrito: caja real y regalo ---------- */
.ci__photo { grid-column: 1 / -1; position: relative; margin: 2px 0 0; }
.ci__photo img { width: 100%; height: clamp(120px, 34vw, 170px); object-fit: cover; object-position: 50% 62%; border-radius: 14px; display: block; }
.ci__photo figcaption { position: absolute; left: 10px; bottom: 10px; padding: 5px 10px; border-radius: 999px; background: var(--paper); font-size: .72rem; font-weight: 800; }
.ci__gift { grid-column: 1 / -1; display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 12px; align-items: center; padding: 10px; border-radius: 14px; background: var(--mint-300); }
.ci__gift-img { display: block; width: 76px; height: 76px; padding: 4px; border-radius: 12px; background: #fff; }
.ci__gift-img img { width: 100%; height: 100%; object-fit: contain; }
.ci__gift-text { display: grid; gap: 2px; justify-items: start; min-width: 0; }
.ci__gift-text b { font-weight: 800; font-size: .95rem; line-height: 1.2; }
.ci__gift-text small { font-size: .78rem; line-height: 1.25; opacity: .8; }
.ci__gift-btns { display: flex; flex-wrap: wrap; gap: 2px 14px; margin-top: 2px; }
.ci__gift-btns .link-btn { padding-left: 0; padding-right: 0; }
.ci__gift-btns .btn { margin-top: 4px; box-shadow: none; }
.cart__empty img { width: min(230px, 70%); }
.send__box { position: relative; margin: 0 0 12px; }
.send__box img { width: 100%; height: 150px; object-fit: cover; object-position: 50% 62%; border-radius: 16px; display: block; }
.send__box figcaption { position: absolute; left: 10px; bottom: 10px; display: flex; flex-wrap: wrap; gap: 6px; padding: 5px 10px; border-radius: 12px; background: var(--paper); font-size: .72rem; font-weight: 800; }
.send__gift { color: var(--mint-800); }
.mascot-pop img { width: 80px; }

/* ---------- Polaroid con sticker ---------- */
.polaroid-wrap { position: relative; width: min(100%, 340px); margin: 0 auto; }
.polaroid-wrap__sticker { position: absolute; right: -14%; bottom: -8%; width: 46%; height: auto; pointer-events: none; filter: drop-shadow(0 10px 10px rgba(10, 50, 40, .35)); }
.polaroid { width: 100%; }

/* ---------- Moto de reparto ---------- */
.where__scooter { position: absolute; z-index: 2; top: clamp(20px, 4vw, 54px); right: var(--gutter); width: clamp(92px, 15vw, 215px); height: auto; pointer-events: none; filter: drop-shadow(0 14px 10px rgba(10, 50, 40, .3)); }
.day.has-ev.is-past { background: color-mix(in srgb, var(--choc) 28%, transparent); color: var(--choc); }
.day.has-ev.is-past::after { background: var(--choc); opacity: .5; }

/* ---------- Nuestra historia ---------- */
.story { position: relative; background: var(--butter); padding: clamp(72px, 9vw, 130px) 0; border-radius: clamp(28px, 5vw, 64px) clamp(28px, 5vw, 64px) 0 0; margin-top: -1px; z-index: 1; }
.where { padding-bottom: calc(clamp(72px, 9vw, 130px) + 40px); margin-bottom: -40px; }
.story__inner { max-width: var(--maxw); margin: 0 auto; padding: 0 var(--gutter); display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(32px, 6vw, 90px); align-items: center; }
.story__photo { position: relative; margin: 0; justify-self: center; width: min(100%, 460px); background: var(--paper); padding: 12px 12px 14px; border-radius: 10px; transform: rotate(-2deg); box-shadow: 0 34px 50px -28px rgba(50, 26, 4, .6); }
.story__photo > img:first-child { width: 100%; height: auto; aspect-ratio: 743 / 1000; object-fit: cover; border-radius: 4px; display: block; }
/* La mascota se asoma por fuera de la foto: no tapa a la familia */
.story__mascot { position: absolute; right: -15%; bottom: -8%; width: 27%; height: auto; pointer-events: none; transform: rotate(2deg); filter: drop-shadow(0 12px 10px rgba(50, 26, 4, .3)); }
.story__text { display: grid; gap: 16px; justify-items: start; }
.story__text .lede { max-width: 54ch; line-height: 1.5; }
.story__text .story__sign { font-weight: 700; opacity: 1; color: var(--mint-800); }
.story__text .btn { margin-top: 6px; }
.story h2 em { color: var(--mint-800); }

/* ---------- Reseñas ---------- */
.reviews { position: relative; background: #F7D8CC; padding: clamp(72px, 9vw, 120px) 0; border-radius: clamp(28px, 5vw, 64px) clamp(28px, 5vw, 64px) 0 0; margin-top: -40px; z-index: 2; }
.story { padding-bottom: calc(clamp(72px, 9vw, 130px) + 40px); }
.reviews__inner { max-width: var(--maxw); margin: 0 auto; padding: 0 var(--gutter); display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(28px, 5vw, 70px); align-items: center; }
.reviews__head { position: relative; display: grid; gap: 14px; justify-items: start; }
.reviews .eyebrow { color: #7A2A1A; }
.reviews h2 em { color: #A8331F; }
.reviews__mascot { width: clamp(120px, 16vw, 220px); height: auto; margin-top: 6px; filter: drop-shadow(0 12px 10px rgba(90, 30, 15, .25)); }
.reviews__body { display: grid; gap: 16px; justify-items: center; }
.rv-ticket { position: relative; width: min(100%, 420px); background: var(--paper); color: var(--choc-900); padding: 26px 26px 46px; text-align: center; display: grid; gap: 10px; justify-items: center; transform: rotate(1.2deg); box-shadow: 0 30px 50px -28px rgba(70, 25, 10, .6);
  -webkit-mask: conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) 50% / 18px 100%; mask: conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) 50% / 18px 100%; }
.rv-ticket__top { font: italic 600 1.2rem/1.1 var(--f-serif); }
.rv-ticket__mid { font: 400 clamp(1.6rem, 3vw, 2.3rem)/1 var(--f-display); text-transform: uppercase; }
.rv-ticket__low { font-size: .86rem; line-height: 1.35; opacity: .8; max-width: 30ch; }
.rv-score { display: grid; justify-items: center; gap: 2px; padding: 12px 0; border-block: 2px dashed color-mix(in srgb, var(--choc) 30%, transparent); width: 100%; }
.rv-score b { font: 400 2.6rem/1 var(--f-display); }
.rv-stars { color: #E2A21C; font-size: 1.1rem; letter-spacing: .12em; }
.rv-score small { font-size: .78rem; font-weight: 700; opacity: .75; }
.rv-cards { display: grid; gap: 10px; width: 100%; }
.rv-card { background: var(--paper); border-radius: 16px; padding: 14px 16px; font-size: .92rem; }

/* ---------- Cierre ---------- */
.closing { position: relative; z-index: 3; margin-top: -40px; border-radius: clamp(28px, 5vw, 64px) clamp(28px, 5vw, 64px) 0 0; }
.reviews { padding-bottom: calc(clamp(72px, 9vw, 120px) + 40px); }
.closing__mascot { width: clamp(150px, 17vw, 250px); bottom: 12px; }
.cc--3 { right: 24%; }

/* ---------- Móvil ---------- */
@media (max-width: 1000px) {
  .story__inner, .reviews__inner { grid-template-columns: 1fr; }
  .story__photo { width: min(82%, 420px); }
  .story__mascot { right: -17%; bottom: -6%; width: 30%; }
  .story__text { padding-top: 22px; }
  /* la mascota tiene su propia columna, al lado del título: no puede tapar ningún texto */
  .reviews__head { grid-template-columns: minmax(0, 1fr) auto; column-gap: 10px; align-items: end; }
  .reviews__head .eyebrow { grid-column: 1; }
  .reviews__head h2 { grid-column: 1; }
  .reviews__head .lede { grid-column: 1 / -1; max-width: 100%; }
  .reviews__mascot { grid-column: 2; grid-row: 1 / span 2; width: clamp(84px, 24vw, 150px); margin: 0; }
}
@media (max-width: 860px) {
  .polaroid-wrap { width: min(74%, 320px); }
  .polaroid-wrap__sticker { right: -22%; width: 50%; }
}
@media (max-width: 700px) {
  .bx-real { grid-template-columns: 120px minmax(0, 1fr); padding: 10px; }
  .flavors__head h2 { font-size: clamp(1.9rem, 8.4vw, 3rem); }
  .flavors__head { display: block; position: relative; }
  .flavors__mascot { position: absolute; right: var(--gutter); top: -14px; width: 62px; margin: 0; }
  .hero__cta .btn { padding: 0 .85em; font-size: .94rem; white-space: nowrap; }
  body.in-builder .proposal-pill, body.in-builder .wa-float { opacity: 0; pointer-events: none; }
}

@media (prefers-reduced-motion: reduce) {
  .sep__taxi, .where__scooter { transform: none !important; }
}

.polaroid img { max-height: 400px; object-position: 50% 30%; }
/* ---------- Ajustes tras revisión visual ---------- */
/* Un contenedor con overflow:hidden se puede desplazar por foco o scrollIntoView: clip no. */
.flavors, .hero, .where, .closing, .tape-wrap { overflow: clip; }

.fl-chip__img img.round { width: 66px; height: 66px; max-width: none; max-height: none; object-position: 50% 50%; }

/* Tapa: el eslogan de la caja real también en móvil */
.box .box__lid .box__lid-text { display: block; }
.box .box__lid { padding: 0 5cqw 3cqw; }

/* Carrito */
body.no-scroll .toasts { bottom: auto; top: 18px; }
@media (min-width: 701px) { body.no-scroll .toasts { left: auto; right: 16px; transform: none; width: 468px; } }

/* Carrusel de sabores: la fila se desliza dentro de su ancho (antes se estiraba y quedaba cortada) */
.fl-nav { grid-template-columns: minmax(0, 1fr); }
.fl-nav__bar { min-width: 0; }
@media (max-width: 1000px) {
  .flavors { display: flex; flex-direction: column; }
  .flavors__head { order: 0; width: 100%; }
  .fl-nav { order: 1; width: 100%; margin: 14px 0 0; }
  .fl-stage { order: 2; width: 100%; }
  .fl-chips { padding: 6px var(--gutter) 10px; margin: 0 calc(var(--gutter) * -1); gap: 8px; scroll-padding-inline: var(--gutter); }
  .fl-chip { width: 84px; height: 104px; padding: 8px 5px 8px; font-size: .68rem; border-radius: 18px 18px 14px 14px; }
  .fl-chip__img { width: 52px; height: 52px; }
  .fl-chip__img img.round { width: 52px; height: 52px; }
  .fl-chip[aria-pressed="true"] { transform: translateY(-3px) scale(1.03); }
}

.box .box__lid .box__lid-text { font: 400 clamp(11px, 4.6cqw, 30px)/1.1 var(--f-display); letter-spacing: .01em; text-transform: uppercase; }

/* ---------- Ajustes puntuales 30-oct: hero, reseñas, Find us y cierre ---------- */
/* Find us: la mascota va al lado de la foto, nunca sobre el texto de la tarjeta */
.polaroid-wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .44fr); gap: clamp(12px, 2vw, 22px); align-items: end; width: min(100%, 500px); }
.polaroid-wrap__sticker { position: static; width: 100%; }
@media (max-width: 860px) { .polaroid-wrap { width: min(100%, 460px); } }

/* Reseñas: citas reales debajo del ticket */
.reviews__quotes { grid-column: 1 / -1; display: grid; gap: 14px; margin-top: clamp(8px, 2vw, 22px); }
.rv-cards { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: clamp(14px, 1.6vw, 22px); }
.rv-card { display: flex; flex-direction: column; gap: 10px; padding: 20px 20px 18px; border-radius: 8px; background: var(--paper); color: var(--choc-900); box-shadow: 0 22px 34px -26px rgba(70, 25, 10, .7); }
.rv-card:nth-child(odd) { transform: rotate(-.7deg); }
.rv-card:nth-child(even) { transform: rotate(.6deg); }
.rv-card blockquote { margin: 0; font: italic 600 clamp(1.05rem, 1.4vw, 1.22rem)/1.28 var(--f-serif); flex: 1; }
.rv-card__who { display: grid; gap: 1px; padding-top: 10px; border-top: 2px dashed color-mix(in srgb, var(--choc) 26%, transparent); }
.rv-card__who b { font-size: .92rem; }
.rv-card__who small { font-size: .74rem; font-weight: 600; opacity: .68; }
.rv-note { font-size: .78rem; line-height: 1.35; color: #7A2A1A; }

/* Cierre: logo y firma a un lado; cookies y estatua (con su eslogan) al otro */
.closing__inner { min-height: clamp(400px, 37vw, 600px); align-content: center; }
.closing__logo { width: clamp(170px, 24vw, 340px); }
.closing__by { font-size: clamp(1.05rem, 1.5vw, 1.3rem); }
.closing__by strong { white-space: nowrap; }
.closing__mascot { width: clamp(170px, 18vw, 260px); bottom: 12px; }
.cc--1 { width: clamp(150px, 17vw, 300px); right: 27%; left: auto; top: 6%; bottom: auto; }
.cc--2 { width: clamp(120px, 13.5vw, 235px); right: 3%; left: auto; top: 0; bottom: auto; }
.cc--3 { width: clamp(110px, 12vw, 215px); right: 25%; left: auto; top: auto; bottom: 8%; }
.closing__cookies { overflow: visible; }
@media (max-width: 860px) {
  /* la cookie oscura va debajo del botón, al lado de la estatua: nada tapa textos ni botones */
  .closing__inner { min-height: 0; align-content: start; padding-bottom: calc(26vw + 28px); }
  .closing__logo { width: clamp(150px, 44vw, 280px); }
  .closing__by { max-width: 50%; }
  .closing__mascot { width: min(33vw, 200px); }
  .cc--1 { width: min(30vw, 220px); right: 16vw; top: 2vw; }
  .cc--2 { width: min(23vw, 170px); right: -2vw; top: 5vw; }
  .cc--3 { display: block; width: min(25vw, 180px); left: 12vw; right: auto; top: auto; bottom: 16px; }
}
@media (max-height: 520px) and (orientation: landscape) {
  .closing__mascot { width: 19vw; }
  .closing__inner { padding-bottom: 40px; }
  .cc--3 { left: 40vw; bottom: 30px; width: 15vw; }
  .cc--1 { width: 19vw; right: 22vw; }
  .cc--2 { width: 15vw; right: 3vw; }
}
/* Reseñas: tres tarjetas parejas por fila; en el teléfono, una debajo de otra */
.rv-cards { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
@media (max-width: 560px) {
  .rv-cards { grid-template-columns: minmax(0, 1fr); }
  .cc--1 { width: min(29vw, 112px); }
}

/* ---------- Revisión móvil 30-oct: solo teléfonos, el escritorio no cambia ---------- */
/* Historia: la mascota no se sale de la pantalla */
@media (max-width: 1000px) { .story__mascot { right: -14%; } }

@media (max-width: 700px) {
  .lid-hint { font-size: .64rem; }
  .foot__links a { display: inline-block; padding-block: 6px; }
}

/* La nota de revisión no tapa botones ni texto: en el teléfono queda solo el punto */
@media (max-width: 700px), (max-height: 520px) and (max-width: 1000px) {
  .proposal-pill { padding: 13px; gap: 0; }
  .proposal-pill [data-i18n] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}

/* Teléfonos muy chicos: la moto deja leer el título */
@media (max-width: 350px) {
  .where__scooter { width: 72px; top: 12px; }
  .where__head h2 { font-size: 2rem; }
}

/* Teléfono acostado */
@media (max-height: 520px) and (orientation: landscape) and (max-width: 1000px) {
  /* la caja no queda fija: ocupaba toda la pantalla y no se podían tocar las tarjetas */
  .bx-visual { position: static; }
  .bx-foot { padding-block: 8px; }
  .bx-foot .btn { min-height: 44px; }
  body.in-builder .proposal-pill, body.in-builder .wa-float { opacity: 0; pointer-events: none; }
}
