/* ============================================================
   LOJA BRINQUEDO v2 · PÁGINA DE PRODUTO
   Galeria com trilho e selo (Melissa & Doug) · vídeo primeiro e
   "o que vem na caixa" (Tonies) · parcelas Shop Pay, "What's inside",
   linhas foto+texto e compra flutuante (Magna-Tiles)
   ============================================================ */

.crumbs { display: flex; gap: 8px; flex-wrap: wrap; padding: 18px var(--pad) 0; font-size: 13px; color: var(--ink-3); max-width: 1360px; margin: 0 auto; }
.crumbs a:hover { color: var(--ink); }

/* ---------- 01 · Produto ---------- */
.pmain {
  display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
  gap: clamp(28px, 4vw, 64px); align-items: start;
  padding: 18px var(--pad) clamp(56px, 7vw, 96px); max-width: 1360px; margin: 0 auto;
}
.gallery { position: sticky; top: 88px; display: grid; grid-template-columns: 76px 1fr; gap: 14px; }
.gallery__rail { display: flex; flex-direction: column; gap: 10px; max-height: 640px; overflow-y: auto; scrollbar-width: none; }
.gallery__rail::-webkit-scrollbar { display: none; }
.gallery__thumb { position: relative; width: 76px; aspect-ratio: 1; flex: none; border-radius: 12px; overflow: hidden; background: var(--paper-2); border: 2px solid transparent; transition: border-color 0.2s; }
.gallery__thumb.is-active { border-color: var(--ink); }
.gallery__thumb img { width: 100%; height: 100%; object-fit: cover; }
.gallery__thumb-play { position: absolute; inset: 0; margin: auto; width: 28px; height: 28px; border-radius: 50%; background: rgba(255,255,255,0.92); display: grid; place-items: center; color: var(--ink); }
.gallery__thumb-play .ico { width: 13px; height: 13px; margin-left: 2px; }
.gallery__thumb--box { background: var(--coral); display: grid; place-items: center; }
.mini-box { width: 34px; height: 44px; background: var(--white); border-radius: 4px; border-top: 10px solid var(--coral-soft); transform: rotate(-5deg); box-shadow: 3px 4px 0 rgba(0,0,0,0.12); }
.gallery__thumb--inside { background: var(--sky-soft); font-size: 11px; font-weight: 600; line-height: 1.15; color: var(--ink); }

.gallery__main { position: relative; aspect-ratio: 1; border-radius: 28px; overflow: hidden; background: var(--paper-2); }
.gm-item { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity 0.35s var(--ease), visibility 0s 0.35s; }
.gm-item.is-active { opacity: 1; visibility: visible; transition: opacity 0.35s var(--ease); }
.gm-item > img, .gm-item > video { width: 100%; height: 100%; object-fit: cover; }
.gm-item--box { background: var(--coral-soft); display: grid; place-items: center; }
.pbox--hero { width: 42%; }
.gm-item--inside { background: var(--sky-soft); display: flex; flex-direction: column; justify-content: center; padding: 12%; gap: 26px; }
.gm-item--inside h3 { font-size: clamp(24px, 2.4vw, 34px); font-weight: 600; letter-spacing: -0.02em; }
.gm-item--inside ul { display: grid; gap: 18px; }
.gm-item--inside li { display: flex; align-items: center; gap: 16px; font-size: 18px; }
.sticker {
  position: absolute; top: 18px; right: 18px; z-index: 3;
  width: 78px; height: 78px; border-radius: 50%;
  background: var(--sun); color: var(--ink);
  display: grid; place-items: center; text-align: center;
  font-size: 13px; font-weight: 600; line-height: 1.1; transform: rotate(10deg);
}
.gallery__count { position: absolute; left: 18px; bottom: 18px; z-index: 3; font-size: 12px; font-weight: 600; padding: 5px 11px; border-radius: 999px; background: rgba(255,255,255,0.92); }
.gallery__nav { position: absolute; top: 50%; z-index: 3; width: 44px; height: 44px; margin-top: -22px; border-radius: 50%; background: rgba(255,255,255,0.92); display: grid; place-items: center; opacity: 0; transition: opacity 0.25s; }
.gallery__main:hover .gallery__nav { opacity: 1; }
.gallery__nav--prev { left: 16px; } .gallery__nav--next { right: 16px; }
.gallery__nav--prev .ico { transform: rotate(90deg); } .gallery__nav--next .ico { transform: rotate(-90deg); }


/* buy-box */
.buybox { display: flex; flex-direction: column; gap: 14px; }
.buybox__tags { display: flex; gap: 8px; flex-wrap: wrap; }
.age-pill { background: var(--sky); color: var(--white); font-size: 12px; font-weight: 600; padding: 6px 12px; border-radius: 999px; }
.buybox h1 { font-size: clamp(30px, 2.8vw, 40px); }
.buybox .rating { font-weight: 500; }
.buybox .rating u { text-underline-offset: 3px; text-decoration-color: var(--line-2); }
.buybox__price { display: flex; align-items: center; gap: 12px; }
.buybox__price strong { font-size: 32px; font-weight: 600; letter-spacing: -0.02em; }
.buybox__price s { font-size: 18px; color: var(--ink-4); }
.buybox__price em { font-style: normal; font-size: 13px; font-weight: 600; padding: 5px 11px; border-radius: 999px; background: var(--tomato-soft); color: var(--tomato); }
.installments { font-size: 14px; color: var(--ink-2); margin-top: -6px; }
.shop-word { color: #5a31f4; font-weight: 600; }
.stock { display: flex; align-items: center; gap: 9px; font-size: 14px; color: var(--ink-2); }
.stock i { width: 9px; height: 9px; border-radius: 50%; background: var(--mint); box-shadow: 0 0 0 4px var(--mint-soft); }
.buybox__lede { color: var(--ink-2); font-size: 16px; }

.opt { display: grid; gap: 10px; margin-top: 4px; }
.opt__label { font-size: 14px; font-weight: 600; color: var(--ink-2); }
.opt__label b { color: var(--ink); }
.swatches { display: flex; gap: 10px; }
.swatch { width: 40px; height: 40px; border-radius: 50%; padding: 3px; border: 2px solid transparent; transition: border-color 0.2s; }
.swatch i { display: block; width: 100%; height: 100%; border-radius: 50%; background: var(--sw); }
.swatch.is-active { border-color: var(--ink); }

.bundles { display: grid; gap: 10px; }
.bundle {
  position: relative; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px;
  padding: 15px 18px; text-align: left; background: var(--white);
  border: 5px solid #e3e5ea; border-radius: 16px; transition: border-color 0.2s, background 0.2s;
}
.bundle:hover { border-color: #cfd3da; }
.bundle.is-active { border-color: var(--ink); }
.bundle__radio { width: 20px; height: 20px; border-radius: 50%; border: 2px solid var(--line-2); display: grid; place-items: center; }
.bundle.is-active .bundle__radio { border-color: var(--tomato); }
.bundle.is-active .bundle__radio::after { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--tomato); }
.bundle__body b { display: block; font-weight: 600; font-size: 16px; }
.bundle__body small { font-size: 13px; color: var(--ink-3); }
.bundle__price { text-align: right; }
.bundle__price b { display: block; font-weight: 600; font-size: 18px; }
.bundle__price s { font-size: 13px; color: var(--ink-4); }
.bundle__flag { position: absolute; top: -12px; right: 16px; padding: 3px 10px; border-radius: 999px; background: var(--tomato); color: var(--white); font-size: 11px; font-weight: 600; }
.bundle__flag--ink { background: var(--ink); }

.wrap-toggle { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; padding: 14px 18px; border-radius: 16px; background: var(--sun-soft); cursor: pointer; }
.wrap-toggle input { position: absolute; opacity: 0; pointer-events: none; }
.wrap-toggle__box { width: 22px; height: 22px; border-radius: 6px; border: 2px solid var(--ink-3); background: var(--white); display: grid; place-items: center; color: transparent; transition: all 0.2s; }
.wrap-toggle__box .ico { width: 14px; height: 14px; }
.wrap-toggle input:checked + .wrap-toggle__box { background: var(--ink); border-color: var(--ink); color: var(--white); }
.wrap-toggle__text b { display: block; font-weight: 600; font-size: 15px; }
.wrap-toggle__text small { font-size: 13px; color: var(--ink-3); }
.wrap-toggle__price { font-weight: 600; }

.btn--buy { padding: 19px 30px; font-size: 17px; margin-top: 4px; }
.btn--shoppay { background: #5a31f4; color: var(--white); margin-top: -4px; }
.btn--shoppay:hover { background: #4720d6; }
.btn--shoppay b { font-weight: 600; }

.delivery { display: grid; gap: 8px; padding: 14px 18px; border-radius: 16px; background: var(--white); border: 1px solid var(--line); font-size: 14px; }
.delivery > div { display: flex; align-items: center; gap: 10px; }
.delivery .ico { width: 21px; height: 21px; color: var(--ink); --ico-tint-op: 0.4; }
.trust-row { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; font-size: 13px; font-weight: 500; color: var(--ink-2); }
.trust-row > span { display: inline-flex; align-items: center; gap: 7px; }
.trust-row .ico { width: 19px; height: 19px; color: var(--ink); --ico-tint-op: 0.4; }

.addon { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; padding: 12px 14px; border-radius: 16px; border: 1px solid var(--line); background: var(--white); }
.addon__thumb { width: 52px; height: 52px; border-radius: 12px; background: var(--sky-soft); color: var(--ink); --ico-tint: var(--sky); display: grid; place-items: center; }
.addon__thumb .ico { --ico-tint: var(--sky); --ico-tint-op: 0.6; width: 26px; height: 26px; }
.addon__tag { font-size: 11px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--tomato); }
.addon__body b { display: block; font-weight: 600; }
.addon__body small { font-size: 13px; color: var(--ink-3); }
.addon button { font-weight: 600; font-size: 14px; padding: 10px 16px; border-radius: 999px; background: var(--ink); color: var(--white); }

.mini-acc { display: grid; gap: 8px; }
.mini-acc .faq-item { border-radius: 16px; }
.mini-acc .faq-item__q { padding: 15px 18px; font-size: 16px; }
.acc-ico { width: 34px; height: 34px; border-radius: 10px; background: var(--paper); display: grid; place-items: center; flex: none; margin-right: auto; }
.acc-ico + * { margin-left: 0; }
.mini-acc .faq-item__q { justify-content: flex-start; gap: 12px; }
.mini-acc .faq-item__icon { margin-left: auto; }
.mini-acc .acc-ico { margin-right: 0; }
.mini-acc .acc-ico .ico { width: 18px; height: 18px; }
.mini-acc .faq-item__a p { padding: 0 18px 18px 64px; font-size: 15px; }

/* compra flutuante: cartão no canto (Magna) */
.buybar {
  position: fixed; right: 22px; bottom: 22px; z-index: 880;
  display: flex; align-items: center; gap: 14px;
  padding: 10px 10px 10px 12px; border-radius: 20px;
  background: var(--white); box-shadow: 0 18px 50px -12px rgba(27,37,80,0.35);
  transform: translateY(140%); transition: transform 0.45s var(--ease);
}
.buybar.is-on { transform: none; }
.buybar__thumb { width: 48px; height: 48px; border-radius: 12px; background: var(--coral); display: grid; place-items: center; overflow: hidden; }
.buybar__thumb .pbox { width: 26px; box-shadow: none; }
.buybar__thumb .pbox__win { margin: 3px; }
.buybar__info { display: grid; font-size: 13px; color: var(--ink-3); }
.buybar__info b { color: var(--ink); font-size: 15px; font-weight: 600; max-width: 18ch; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.buybar__info strong { color: var(--ink); font-weight: 600; }

/* ---------- 02 · O que tem dentro + detalhes (Magna) ---------- */
.inside { display: grid; grid-template-columns: 1.3fr 1fr; gap: 22px; padding: 0 var(--pad) clamp(56px, 7vw, 90px); max-width: 1360px; margin: 0 auto; }
.inside h2 { font-size: clamp(24px, 2.4vw, 32px); margin-bottom: 22px; }
.inside__info { padding: clamp(28px, 4vw, 48px); border-radius: 26px; background: var(--white); }
.specs { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 30px; }
.specs dt { font-size: 13px; color: var(--ink-3); }
.specs dd { font-weight: 600; }
.tbd { color: var(--ink-4); font-weight: 500 !important; }
.inside__promise-title { font-size: 20px; font-weight: 600; margin: 34px 0 16px; padding-top: 28px; border-top: 1px solid var(--line); }
.promise4 { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 30px; }
.promise4 b { font-weight: 600; }
.promise4 p { font-size: 14px; color: var(--ink-3); margin-top: 4px; }
.inside__box { padding: clamp(28px, 4vw, 48px); border-radius: 26px; background: var(--sky-soft); }
.inside__list { display: grid; grid-template-columns: 1fr 1fr; gap: 26px 18px; }
.inside__list li { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; }
.inside__list .shape { width: 52px; height: 52px; }
.inside__list b { font-size: 26px; font-weight: 600; letter-spacing: -0.02em; line-height: 1; }
.inside__list span { font-size: 14px; color: var(--ink-2); }
.inside__note { margin-top: 26px; font-size: 12px; color: var(--ink-4); text-align: center; }

/* ---------- 03 · Vídeo grande ---------- */
.pvideo { padding: 0 clamp(10px, 1.6vw, 24px) clamp(30px, 4vw, 50px); }
.pvideo__media { position: relative; overflow: hidden; border-radius: 40px; aspect-ratio: 21 / 9; background: var(--ink); }
.pvideo__media video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pvideo__cap { position: absolute; left: 28px; bottom: 26px; z-index: 2; color: var(--white); display: grid; gap: 2px; text-shadow: 0 1px 14px rgba(0,0,0,0.4); }
.pvideo__cap b { font-size: clamp(22px, 2.4vw, 32px); font-weight: 600; letter-spacing: -0.02em; }

/* ---------- 04 · Linhas foto + texto ---------- */
.rows .band__in { display: grid; gap: clamp(30px, 4vw, 50px); }
.row { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(26px, 5vw, 72px); }
.row--flip .row__img { order: 2; }
.row__img { aspect-ratio: 4 / 3; border-radius: 24px; overflow: hidden; }
.row__img img { width: 100%; height: 100%; object-fit: cover; }
.row__txt .t-eyebrow { color: var(--grape); }
.row__txt h3 { font-size: clamp(24px, 2.6vw, 36px); margin-bottom: 14px; }
.row__txt p { color: var(--ink-2); max-width: 46ch; }
.row__list { display: grid; gap: 10px; }
.row__list li { display: flex; align-items: center; gap: 10px; font-weight: 500; }
.row__list .ico { width: 20px; height: 20px; color: var(--mint); }

/* ---------- 05 · Escolha guiada em quadrados ---------- */
.guide2 { padding: clamp(56px, 7vw, 96px) var(--pad); max-width: 1180px; margin: 0 auto; }
.guide2 .section-head h2 { font-size: clamp(28px, 3.2vw, 44px); }
.guide2__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.gtile { flex-direction: column; justify-content: space-between; align-items: flex-start; padding: 34px; text-align: left; }
.gtile__big { font-size: clamp(64px, 8vw, 110px); font-weight: 600; line-height: 1; letter-spacing: -0.04em; opacity: 0.9; }
.gtile__txt b { display: block; font-size: 20px; font-weight: 600; }
.gtile__txt small { font-size: 14px; opacity: 0.9; }
.tile--sun.gtile { color: var(--ink); }

/* ---------- 06 · Comparativo ---------- */
.versus2 { padding: 0 var(--pad) clamp(56px, 7vw, 96px); }
.versus2 .section-head h2 { font-size: clamp(28px, 3.2vw, 44px); }
.vtable { max-width: 780px; margin: 0 auto; background: var(--white); border-radius: 24px; padding: 8px 26px; }
.vtable__row { display: grid; grid-template-columns: 1fr 110px 110px; align-items: center; padding: 16px 0; border-top: 1px solid var(--line); font-size: 15px; }
.vtable__head { border-top: none; font-size: 14px; text-align: center; }
.vtable__head b:first-of-type { color: var(--tomato); }
.vtable i { justify-self: center; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; }
.vtable i .ico { width: 16px; height: 16px; }
.vtable .yes { background: var(--mint-soft); color: var(--mint); }
.vtable .no { background: var(--paper-2); color: var(--ink-4); }

/* ---------- 07 · Avaliações ---------- */
.reviews { padding: clamp(40px, 5vw, 70px) var(--pad); max-width: 1240px; margin: 0 auto; }
.reviews .section-head h2 { font-size: clamp(28px, 3.2vw, 44px); }
.rv-top { display: grid; grid-template-columns: 1fr 1fr 0.8fr; gap: 20px; margin-bottom: 26px; }
.rv-top > div { background: var(--white); border-radius: 22px; padding: 24px; }
.rv-snap__title { display: block; font-weight: 600; margin-bottom: 14px; }
.rv-snap > div:not(.rv-snap__title) { display: grid; grid-template-columns: 56px 1fr 40px; align-items: center; gap: 10px; font-size: 13px; margin-bottom: 8px; }
.rv-snap i, .rv-bars i { height: 8px; border-radius: 99px; background: var(--paper-2); position: relative; overflow: hidden; }
.rv-snap i::after, .rv-bars i::after { content: ""; position: absolute; inset: 0; width: var(--w); background: var(--tomato); border-radius: 99px; }
.rv-snap em { font-style: normal; color: var(--ink-3); text-align: right; }
.rv-overall__score { display: flex; align-items: center; gap: 12px; }
.rv-overall__score strong { font-size: 48px; font-weight: 600; letter-spacing: -0.03em; line-height: 1; }
.rv-overall > span { display: block; font-size: 13px; color: var(--ink-3); margin: 8px 0 16px; }
.rv-bars { display: grid; grid-template-columns: 60px 1fr; gap: 8px 10px; align-items: center; font-size: 13px; }
.rv-bars i::after { background: var(--mint); }
.rv-write__stars { display: flex; gap: 6px; margin-bottom: 10px; }
.rv-write__stars button { width: 40px; height: 40px; border-radius: 10px; border: 1.5px solid var(--line-2); color: var(--star); font-size: 18px; }
.rv-write__stars button:hover { background: var(--sun-soft); }
.rv-write small { font-size: 12px; color: var(--ink-3); }

.rv-media { background: var(--white); border-radius: 22px; padding: 20px 24px; margin-bottom: 22px; }
.rv-media__head { display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 14px; }
.rv-tabs { display: flex; gap: 6px; }
.rv-tab { padding: 7px 14px; border-radius: 999px; font-size: 13px; font-weight: 600; color: var(--ink-3); }
.rv-tab.is-active { background: var(--ink); color: var(--white); }
.rv-media__row { display: grid; grid-auto-flow: column; grid-auto-columns: 128px; gap: 10px; overflow-x: auto; scrollbar-width: none; }
.rv-media__row::-webkit-scrollbar { display: none; }
.rv-media figure { position: relative; aspect-ratio: 1; border-radius: 14px; overflow: hidden; }
.rv-media figure img { width: 100%; height: 100%; object-fit: cover; }
.rv-media figure.is-hidden { display: none; }

.rv-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 18px; }
.rv-chip { padding: 9px 16px; border-radius: 999px; background: var(--white); border: 1px solid var(--line); font-size: 14px; font-weight: 500; }
.rv-chip.is-active { background: var(--ink); color: var(--white); border-color: var(--ink); }
.rv-age { margin-left: auto; display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--ink-3); }
.rv-age select { font: inherit; color: var(--ink); padding: 8px 12px; border-radius: 12px; border: 1px solid var(--line-2); background: var(--white); }

.rv-list { display: grid; gap: 12px; }
.review { display: grid; grid-template-columns: 210px 1fr; gap: 26px; background: var(--white); border-radius: 22px; padding: 24px 26px; }
.review aside { display: grid; align-content: start; gap: 3px; font-size: 13px; color: var(--ink-3); }
.review aside > b { color: var(--ink); font-size: 15px; font-weight: 600; }
.badge-verified { display: inline-flex; align-items: center; gap: 5px; font-style: normal; color: var(--mint); font-weight: 600; font-size: 12px; margin: 4px 0 8px; }
.badge-verified .ico { width: 14px; height: 14px; }
.review dl { display: grid; gap: 2px; }
.review dt { font-size: 12px; }
.review dd { color: var(--ink); font-weight: 500; margin-bottom: 6px; }
.review h4 { font-size: 17px; font-weight: 600; margin: 6px 0 2px; }
.review time { font-size: 12px; color: var(--ink-4); }
.review p { color: var(--ink-2); margin-top: 8px; max-width: 70ch; }
.review .ico.is-off { color: var(--paper-3); }
.review__pics { display: flex; gap: 8px; margin-top: 12px; }
.review__pics img { width: 92px; height: 92px; border-radius: 12px; object-fit: cover; }
.review__reply { margin-top: 14px; padding: 14px 16px; border-radius: 14px; background: var(--paper); border-left: 3px solid var(--tomato); font-size: 14px; }
.review__reply p { margin-top: 4px; }
.review footer { display: flex; align-items: center; gap: 8px; margin-top: 14px; font-size: 13px; color: var(--ink-3); }
.review footer button { padding: 5px 11px; border-radius: 999px; border: 1px solid var(--line); font-size: 12px; }
.rv-more { text-align: center; margin-top: 22px; }

/* ---------- 08 · FAQ ---------- */
.faq { padding: clamp(40px, 5vw, 70px) var(--pad); }
.faq .section-head h2 { font-size: clamp(28px, 3.2vw, 44px); }

/* ---------- 09 · Complete o presente ---------- */
.cross2 { padding: clamp(40px, 5vw, 70px) var(--pad); max-width: 1320px; margin: 0 auto; }
.cross2 .section-head h2 { font-size: clamp(28px, 3.2vw, 44px); }
.cross2 .pcard__media { aspect-ratio: 16 / 10; }
.cross2 .stars .ico { width: 14px; height: 14px; }

/* ---------- 10 · Fechamento ---------- */
.closer2__in { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 72px); align-items: center; }
.closer2__img { aspect-ratio: 4 / 3; border-radius: 24px; overflow: hidden; }
.closer2__img img { width: 100%; height: 100%; object-fit: cover; }
.closer2__txt h2 { font-size: clamp(28px, 3vw, 42px); margin-bottom: 14px; }
.closer2__txt p { color: var(--ink-2); margin-bottom: 24px; }
.newsletter { padding-top: 10px; }

/* ---------- Responsivo ---------- */
@media (max-width: 1000px) {
  .pmain { grid-template-columns: 1fr; }
  .gallery { position: relative; top: 0; grid-template-columns: 1fr; }
  .gallery__rail { order: 2; flex-direction: row; max-height: none; overflow-x: auto; }
  .gallery__thumb { width: 64px; }
  .gallery__nav { opacity: 1; }
  .inside, .row, .closer2__in { grid-template-columns: 1fr; }
  .row--flip .row__img { order: 0; }
  .guide2__grid { grid-template-columns: 1fr; max-width: 420px; margin: 0 auto; }
  .gtile { aspect-ratio: 16 / 9; }
  .rv-top { grid-template-columns: 1fr; }
  .review { grid-template-columns: 1fr; gap: 10px; }
  .review aside { grid-template-columns: auto auto; justify-content: start; column-gap: 12px; }
  .review dl { display: none; }
  .pvideo__media { aspect-ratio: 4 / 5; border-radius: 28px; }
}
@media (max-width: 640px) {
  .crumbs { display: none; }
  .gallery__main { border-radius: 20px; }
  .sticker { width: 62px; height: 62px; font-size: 11px; }
  .buybox__price strong { font-size: 28px; }
  .specs, .promise4 { grid-template-columns: 1fr; }
  .vtable { padding: 4px 16px; }
  .vtable__row { grid-template-columns: 1fr 64px 64px; font-size: 14px; }
  .rv-age { margin-left: 0; width: 100%; }
  /* no celular, a compra flutuante vira barra cheia embaixo */
  .buybar { left: 10px; right: 10px; bottom: 10px; border-radius: 18px; }
  .buybar__info b { max-width: 12ch; }
  .buybar .btn { margin-left: auto; }
}
.pvideo__cap { right: 84px; }
.buybox__tagline { margin-top: -8px; color: var(--tomato); font-weight: 600; font-size: 15px; }
.mini-acc .acc-ico .ico { color: var(--ink); --ico-tint-op: 0.4; width: 20px; height: 20px; }
