/* =====================================================================
   BAMBÔ — identidade visual sobre o tema Cali
   Paleta: Branco #F5F5F6 · Columbia Blue #C8D9EC · Butter Yellow #FFEDAD · Cherry Red #8E1825 · Preto #1A1A1A
   (--bambo-ink = texto e botões em preto; --bambo-olive = destaque em cereja; o nome ficou por compatibilidade)
   ===================================================================== */

:root {
  --bambo-white: #F5F5F6;
  --bambo-sky: #C8D9EC;
  --bambo-sand: #FFEDAD;
  --bambo-olive: #8E1825;
  --bambo-olive-dark: #1A1A1A;
  --bambo-ink: #1A1A1A;
  --bambo-muted: #5E5E5E;
  --bambo-line: #E4E4E4;

  /* Fontes da marca (sobrepõem as escolhidas no painel) */
  --heading-font: "Italiana", serif;
  --body-font: "Jost", sans-serif;

  /* Cantos retos, como no design */
  --border-radius: 0px;
  --border-radius-half: 0px;
  --border-radius-small: 0px;
}

body { font-family: var(--body-font); }

h1, h2, .h1, .h2, .h1-huge, .h2-huge {
  font-family: var(--heading-font);
  font-weight: 400;
  letter-spacing: .02em;
}

/* Botões: retos, caixa alta, espaçados */
.btn, .btn-primary, .btn-secondary {
  border-radius: 0 !important;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: 12px;
  font-weight: 500;
}

/* Produtos: fundo branco Bambô atrás das fotos */
.item-image { background: var(--bambo-white); }

/* ---------- Estrutura das seções Bambô ---------- */
.bambo-container { max-width: 1280px; margin: 0 auto; padding: 0 20px; }
@media (min-width: 768px) { .bambo-container { padding: 0 32px; } }

.bambo-eyebrow {
  display: inline-block;
  font-family: var(--body-font);
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--bambo-muted);
}

.bambo-section { padding: 72px 0; border-top: 1px solid var(--bambo-line); }
@media (min-width: 768px) { .bambo-section { padding: 96px 0; } }

.bambo-section__title {
  margin: 8px 0 0;
  font-family: var(--heading-font);
  font-weight: 400;
  font-size: clamp(40px, 6vw, 72px);
  line-height: 1;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: var(--bambo-ink);
}

.bambo-section__lead { margin: 16px 0 0; max-width: 460px; color: var(--bambo-muted); }
.bambo-section__head { margin-bottom: 48px; }

.bambo-arrow-link {
  display: inline-flex; align-items: center; gap: 14px;
  font-size: 12px; letter-spacing: .14em; text-transform: uppercase;
  color: inherit; text-decoration: none;
}
.bambo-arrow-link:hover { opacity: .75; color: inherit; text-decoration: none; }

/* ---------- Topo editorial ---------- */
.bambo-hero {
  position: relative;
  min-height: 78vh;
  background: var(--bambo-sky);
  color: var(--bambo-ink);
  display: flex; flex-direction: column; justify-content: flex-end;
  overflow: hidden;
}
.bambo-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.bambo-hero--img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.18), rgba(0,0,0,0) 45%); }
.bambo-hero--light { color: #FFFFFF; }
.bambo-hero__inner, .bambo-hero__foot { position: relative; z-index: 1; width: 100%; }
.bambo-hero__title {
  margin: 0;
  font-family: var(--heading-font);
  font-weight: 400;
  font-size: clamp(84px, 15vw, 220px);
  line-height: .9;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: inherit;
}
.bambo-hero__subtitle { margin: 14px 0 0; font-size: 13px; letter-spacing: .18em; text-transform: uppercase; }
.bambo-hero__foot {
  display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 20px;
  padding-top: 40px; padding-bottom: 40px; font-size: 13px;
}

/* ---------- Scoop Surpresa ---------- */
.bambo-scoop__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; }
.bambo-scoop__card { display: flex; flex-direction: column; gap: 18px; color: var(--bambo-ink); text-decoration: none; }
.bambo-scoop__card:hover { color: var(--bambo-ink); text-decoration: none; }
.bambo-scoop__card:hover .bambo-arrow { transform: translateX(4px); }
.bambo-scoop__media { aspect-ratio: 4 / 3; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.bambo-scoop__media--soft { background: var(--bambo-white); }
.bambo-scoop__media--sand { background: var(--bambo-sand); }
.bambo-scoop__media img { width: 100%; height: 100%; object-fit: cover; }
.bambo-concha { width: 60%; }
.bambo-scoop__info { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.bambo-scoop__info p { margin: 6px 0 0; color: var(--bambo-muted); font-size: 14px; max-width: 380px; }
.bambo-scoop__name { margin: 4px 0 0; font-family: var(--heading-font); font-weight: 400; font-size: 34px; line-height: 1.1; }
.bambo-arrow { flex: none; transition: transform .2s; }

/* ---------- Sobre a marca ---------- */
.bambo-sobre__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 16px; margin-bottom: 40px; }
.bambo-sobre__grid { display: flex; flex-wrap: wrap; gap: 32px; align-items: flex-start; }
.bambo-sobre__photos { flex: 1 1 520px; min-width: 0; display: flex; gap: 16px; align-items: flex-end; }
.bambo-sobre__photo { overflow: hidden; }
.bambo-sobre__photo img { width: 100%; height: 100%; object-fit: cover; }
.bambo-sobre__photo--big { flex: 3; min-height: 520px; background: var(--bambo-sky); }
.bambo-sobre__photo--small { flex: 2; min-height: 300px; background: var(--bambo-sand); }
.bambo-sobre__text { flex: 1 1 360px; min-width: 0; display: flex; flex-direction: column; gap: 28px; padding-top: 24px; }
.bambo-sobre__lead { margin: 0; font-size: 19px; line-height: 1.5; max-width: 440px; color: var(--bambo-ink); }
.bambo-sobre__item { display: flex; gap: 24px; }
.bambo-sobre__item span { flex: none; width: 32px; font-size: 11px; color: var(--bambo-muted); padding-top: 4px; }
.bambo-sobre__item p { margin: 0; color: #4A4A4A; max-width: 380px; }

@media (max-width: 767px) {
  .bambo-hero { min-height: 70vh; }
  .bambo-sobre__photo--big { min-height: 360px; }
  .bambo-sobre__photo--small { min-height: 200px; }
}

/* ---------- Cabeçalho Bambô ----------
   Menu à esquerda · logo no centro · ícones à direita.
   No painel: "Ubicación del logo" = Centrado e menu hambúrguer no desktop desligado. */
.head-main { background: #FFFFFF; }
.head-main .logo-text,
.head-main .h3.logo-text,
.head-main a.logo-text {
  font-family: var(--heading-font);
  font-weight: 400;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.bambo-head-nav .nav-desktop { text-align: left; }
.bambo-head-nav .nav-desktop-list { justify-content: flex-start; flex-wrap: wrap; margin: 0; padding: 0; }
.bambo-head-nav .nav-list-link,
.head-main .nav-desktop .nav-list-link {
  font-family: var(--body-font);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: .1em;
  text-transform: uppercase;
}

/* Moldura azul-céu em volta do cabeçalho quando o Topo Bambô é a primeira seção */
@media (min-width: 768px) {
  .bambo-hero-first .head-main { background: var(--bambo-sky); padding: 16px 16px 0; }
  .bambo-hero-first .head-main > .container-fluid { background: #FFFFFF; padding-top: 6px; padding-bottom: 6px; }
}

/* ---------- Rodapé Bambô ---------- */
footer.bambo-footer {
  background: var(--bambo-sky) !important;
  color: var(--bambo-ink) !important;
  padding-top: 72px;
  margin-top: 0 !important;
  font-family: var(--body-font);
}
footer.bambo-footer a,
footer.bambo-footer .btn-link { color: var(--bambo-ink) !important; }
footer.bambo-footer a:hover { opacity: .7; text-decoration: none; }
footer.bambo-footer .font-small.opacity-50,
footer.bambo-footer [class*="opacity"][class*="-50"] {
  opacity: 1 !important;
  font-size: 11px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--bambo-olive-dark);
}
footer.bambo-footer .footer-menu-link,
footer.bambo-footer .footer-menu a,
footer.bambo-footer li a { font-size: 14px; }
footer.bambo-footer input,
footer.bambo-footer .form-control {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--bambo-ink) !important;
  border-radius: 0 !important;
  color: var(--bambo-ink) !important;
}
footer.bambo-footer .btn { background: var(--bambo-ink) !important; color: #FFFFFF !important; border-color: var(--bambo-ink) !important; }

.bambo-footer__brand { padding-top: 24px; padding-bottom: 8px; border-top: 1px solid rgba(26,26,26,.2); }
.bambo-footer__wordmark {
  display: block;
  font-family: var(--heading-font);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: .04em;
  line-height: 1;
  padding-top: .06em;
  font-size: clamp(80px, 21vw, 360px);
  color: var(--bambo-ink);
  white-space: nowrap;
}
.bambo-footer__tagline {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px;
  margin-top: 16px; font-size: 12px; letter-spacing: .14em; text-transform: uppercase;
}
footer.bambo-footer .footer-legal {
  background: transparent !important;
  color: var(--bambo-ink) !important;
  border-top: 1px solid rgba(26,26,26,.2);
  padding: 20px 0;
  font-size: 12px;
}

/* =====================================================================
   TODAS AS PÁGINAS — identidade Bambô aplicada ao tema inteiro
   ===================================================================== */

/* Barra de anúncio no topo */
.section-advertising, .js-adbar, [data-store="advertising-bar"] {
  background: var(--bambo-ink) !important;
  color: #FFFFFF !important;
  font-size: 11px; letter-spacing: .14em; text-transform: uppercase;
}
.section-advertising a, .js-adbar a { color: #FFFFFF !important; }

/* Utilidades do cabeçalho (buscar, conta, carrinho) */
.head-main .header-utility,
.head-main .header-utility a,
.head-main .utilities-text {
  font-family: var(--body-font);
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--bambo-ink);
}

/* Títulos de página (categoria, busca, contato, conta, carrinho, páginas, blog, 404) */
.page-header h1, .page-header .h1, .page-header .h2,
.template-404 h1, .template-search h1 {
  font-family: var(--heading-font) !important;
  font-weight: 400 !important;
  font-size: clamp(40px, 6vw, 72px) !important;
  line-height: 1 !important;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: var(--bambo-ink);
}
.page-header { padding-bottom: 8px; }

/* Breadcrumbs */
.breadcrumbs, .breadcrumbs a, .breadcrumbs .crumb {
  font-family: var(--body-font);
  font-size: 11px !important;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--bambo-muted) !important;
  text-decoration: none;
}
.breadcrumbs .crumb.active { color: var(--bambo-ink) !important; }

/* Títulos de seções nativas (Novidades, Destacados, Relacionados...) */
.section-featured-home h2, .section-featured-home .h2,
.section-products-related h2, .section-products-related .h2,
.section-banners-home h2 {
  font-family: var(--heading-font);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: .02em;
}

/* Cartão de produto (listagens, busca, home) */
.item-name, .item-description .item-name {
  font-family: var(--body-font) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  line-height: 1.4;
}
.item-price, .item-price-container .price {
  font-family: var(--body-font);
  font-size: 14px !important;
  font-weight: 500;
  color: var(--bambo-ink);
}
.item-installments, .item .text-accent { color: var(--bambo-olive-dark) !important; font-size: 12px; }
.label, .label-primary, .product-label, .labels .label {
  border-radius: 0 !important;
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

/* Filtrar e ordenar */
.category-controls a, .category-controls .btn-link {
  font-size: 12px; letter-spacing: .14em; text-transform: uppercase;
  color: var(--bambo-ink);
}

/* ---------- Página de produto ---------- */
.template-product .js-product-name {
  font-family: var(--heading-font) !important;
  font-weight: 400 !important;
  font-size: clamp(30px, 3.4vw, 46px) !important;
  line-height: 1.08 !important;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.template-product .js-price-display {
  font-family: var(--body-font) !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  letter-spacing: .02em;
}
.template-product .price-compare { color: var(--bambo-muted); font-size: 16px; }
.template-product .text-accent { color: var(--bambo-olive-dark) !important; }
.btn-variant {
  border-radius: 0 !important;
  border: 1px solid #CFCBC4 !important;
  font-size: 12px; letter-spacing: .08em; text-transform: uppercase;
  background: #FFFFFF;
}
.btn-variant.selected, .btn-variant:hover { border-color: var(--bambo-ink) !important; }
.form-quantity, .form-quantity .form-control { border-radius: 0 !important; }
.js-addtocart, .js-prod-submit-form, .btn-add-to-cart {
  background: var(--bambo-ink) !important;
  color: #FFFFFF !important;
  border-color: var(--bambo-ink) !important;
  min-height: 52px;
}
.js-addtocart:hover { background: var(--bambo-olive-dark) !important; border-color: var(--bambo-olive-dark) !important; }
#product-description h5, .product-description-container h5 {
  font-family: var(--body-font);
  font-size: 11px !important;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--bambo-olive-dark);
}
.template-product .user-content { font-size: 15px; line-height: 1.7; color: #3A3A3A; }

/* ---------- Formulários (contato, conta, frete, carrinho) ---------- */
.form-label, label.form-label {
  font-family: var(--body-font);
  font-size: 11px !important;
  font-weight: 500;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--bambo-muted);
}
.form-control, .form-select, select.form-control, textarea.form-control {
  border-radius: 0 !important;
  border: 1px solid #CFCBC4;
  font-family: var(--body-font);
  font-size: 15px;
  color: var(--bambo-ink);
  background: #FFFFFF;
}
.form-control:focus, .form-select:focus {
  border-color: var(--bambo-ink) !important;
  box-shadow: none !important;
  outline: 2px solid var(--bambo-sky);
  outline-offset: 0;
}
.btn-secondary {
  background: transparent !important;
  color: var(--bambo-ink) !important;
  border: 1px solid var(--bambo-ink) !important;
}
.btn-secondary:hover { background: var(--bambo-ink) !important; color: #FFFFFF !important; }
.btn-link { color: var(--bambo-ink); text-underline-offset: 4px; }

/* ---------- Carrinho (lateral e página) ---------- */
.js-cart-item { border-bottom: 1px solid var(--bambo-line); }
.js-cart-item .cart-item-name, .js-cart-item a {
  font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--bambo-ink);
}
.modal-header, .modal-header .h5, .modal-header h5, .modal-header .modal-title {
  font-family: var(--heading-font) !important;
  font-weight: 400 !important;
  font-size: 26px !important;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.modal, .modal-content { border-radius: 0 !important; }

/* ---------- Páginas de conteúdo e blog ---------- */
.user-content h2, .user-content h3 {
  font-family: var(--heading-font);
  font-weight: 400;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.user-content a { color: var(--bambo-olive-dark); }

/* ---------- 404 ---------- */
#page-error { padding: 24px 0 96px; font-size: 16px; }
#page-error a { color: var(--bambo-ink); text-underline-offset: 4px; }

/* ---------- Paginação ---------- */
.pagination a, .pagination span { border-radius: 0 !important; color: var(--bambo-ink); }

/* ---------- Seleção de texto e foco ---------- */
::selection { background: var(--bambo-sand); color: var(--bambo-ink); }
a:focus-visible, button:focus-visible { outline: 2px solid var(--bambo-olive-dark); outline-offset: 2px; }

/* ---------- Cabeçalho Bambô (vale com o logo "à esquerda" ou "centrado" no painel) ----------
   Desktop: menu à esquerda · BAMBÔ no centro · buscar/carrinho à direita */
@media (min-width: 768px) {
  body .head-main > .container-fluid > .row { flex-wrap: nowrap; min-height: 64px; }
  body .head-main .js-logo-col {
    order: 2 !important; flex: 0 0 auto !important; max-width: none !important; width: auto !important;
    text-align: center !important; padding: 0 32px !important;
  }
  body .head-main .js-desktop-nav-col {
    order: 1 !important; flex: 1 1 0 !important; max-width: none !important; padding: 0 !important;
  }
  body .head-main .js-desktop-search-cart-col {
    order: 3 !important; flex: 1 1 0 !important; max-width: none !important; justify-content: flex-end !important;
  }
  body .head-main .nav-desktop-list { justify-content: flex-start !important; padding-left: 0 !important; }
  body .head-main .nav-desktop .nav-list-link { font-size: 12px !important; letter-spacing: .12em; }

  /* Moldura azul-céu quando o Topo Bambô abre a home */
  body.template-home:has(.js-home-sections-container > .bambo-hero:first-child) .head-main {
    background: var(--bambo-sky) !important; padding: 16px 16px 0 !important;
  }
  body.template-home:has(.js-home-sections-container > .bambo-hero:first-child) .head-main > .container-fluid {
    background: #FFFFFF;
  }
}
body .head-main .logo-text,
body .head-main .logo-text .h3 {
  font-family: var(--heading-font) !important;
  font-size: 30px !important;
  font-weight: 400 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase;
}
@media (max-width: 767px) {
  body .head-main .logo-text, body .head-main .logo-text .h3 { font-size: 24px !important; }
}

/* =====================================================================
   SCOOP DIGITAL — dentro do pedido (Minha conta > Pedidos)
   ===================================================================== */
.bsc { background: var(--bambo-white); padding: 40px 20px 56px; margin: 0 0 40px; font-family: var(--body-font); color: var(--bambo-ink); }
@media (min-width: 768px) { .bsc { padding: 56px 40px 72px; } }
.bsc-head { text-align: center; max-width: 640px; margin: 0 auto 32px; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.bsc-eyebrow { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--bambo-muted); }
.bsc-title { margin: 0; font-family: var(--heading-font); font-weight: 400; font-size: clamp(36px, 6vw, 60px); line-height: 1; text-transform: uppercase; letter-spacing: .02em; }
.bsc-title-sm { font-size: clamp(28px, 4vw, 40px); }
.bsc-lead { margin: 0; color: var(--bambo-muted); font-size: 15px; }
.bsc-cards { display: grid; gap: 12px; max-width: 760px; margin: 0 auto; }
.bsc-card { background: #FFFFFF; border: 1px solid var(--bambo-line); padding: 20px 24px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
.bsc-card-name { margin: 6px 0 0; font-size: 14px; letter-spacing: .06em; text-transform: uppercase; }
.bsc-card-meta { margin: 2px 0 0; font-size: 13px; color: var(--bambo-olive-dark); }
.bsc-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 32px; border: 0; background: var(--bambo-ink); color: #FFFFFF !important; font-family: var(--body-font); font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; cursor: pointer; }
.bsc-btn:hover { background: #8E1825; text-decoration: none; }
.bsc-btn:disabled { opacity: .6; cursor: default; }
.bsc-btn-big { min-height: 58px; padding: 0 44px; }
.bsc-center { display: flex; justify-content: center; }
.bsc-link { background: none; border: 0; color: var(--bambo-muted); text-decoration: underline; text-underline-offset: 4px; font-size: 13px; cursor: pointer; min-height: 44px; }

.bsc-stage { position: relative; max-width: 640px; height: 380px; margin: 0 auto 28px; background: var(--bambo-sky); overflow: hidden; }
.bsc-pot { position: absolute; left: 50%; bottom: 0; width: 520px; max-width: 115%; transform: translateX(-50%); }
.bsc-concha { position: absolute; left: 50%; top: 24px; width: 230px; margin-left: -40px; transform-origin: 25% 55%; transition: transform .75s cubic-bezier(.5,0,.3,1); transform: rotate(-14deg); }
.bsc-concha.is-down { transform: translate(-70px, 165px) rotate(16deg); }
.bsc-concha.is-up { transform: translate(-20px, -4px) rotate(-24deg); }
.bsc-concha .bsc-fill { opacity: 0; transition: opacity .2s; }
.bsc-concha.is-up .bsc-fill { opacity: 1; }

.bsc-progress { display: flex; align-items: center; justify-content: center; gap: 14px; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 12px; }
.bsc-track { width: 200px; height: 2px; background: var(--bambo-line); }
.bsc-fillbar { height: 100%; width: 0; background: var(--bambo-ink); transition: width .4s; }
.bsc-announce { text-align: center; min-height: 24px; color: var(--bambo-olive-dark); font-size: 14px; margin: 0 0 20px; }
.bsc-bags { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; max-width: 1000px; margin: 0 auto 32px; }
.bsc-bag { position: relative; min-height: 230px; background: #FFFFFF; border: 1px solid transparent; padding: 32px 12px 14px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; text-align: center; font-family: var(--body-font); color: var(--bambo-ink); animation: bsc-drop .5s ease both; }
button.bsc-bag { cursor: pointer; }
button.bsc-bag:hover { border-color: var(--bambo-ink); }
.bsc-bag.is-bonus-closed { background: #FFF6D6; border-color: var(--bambo-olive); animation: bsc-arrive .7s cubic-bezier(.3,1.4,.5,1) both; }
.bsc-bag.is-shaking svg { animation: bsc-shake .6s ease; }
.bsc-bag.is-open { justify-content: flex-start; border-color: var(--bambo-line); animation: bsc-pop .45s ease both; }
.bsc-bag.is-prize { background: #FFF6D6; border-color: var(--bambo-olive); }
.bsc-bag.is-bonus { border-color: var(--bambo-olive); }
.bsc-ph { width: 100%; aspect-ratio: 1 / 1; background: var(--bambo-white); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.bsc-ph img { width: 100%; height: 100%; object-fit: cover; }
.bsc-bag strong { font-size: 12px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; line-height: 1.35; }
.bsc-meta { font-size: 12px; color: var(--bambo-muted); }
.bsc-cta { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.bsc-num { position: absolute; top: 10px; left: 12px; font-size: 11px; color: var(--bambo-muted); }
.bsc-tag { position: absolute; top: 8px; left: 50%; transform: translateX(-50%); white-space: nowrap; font-size: 10px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; padding: 3px 10px; }
.bsc-tag-prize { background: var(--bambo-ink); color: #FFFFFF; }
.bsc-tag-bonus { background: var(--bambo-olive); color: var(--bambo-ink); }
.bsc-tag-extra { background: #FFFFFF; color: var(--bambo-olive-dark); border: 1px solid var(--bambo-olive); }
.bsc-unlock { width: 100%; border-top: 1px solid var(--bambo-olive); padding-top: 8px; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--bambo-olive-dark); }
.bsc-final { max-width: 640px; margin: 0 auto; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 16px; }
.bsc-extras { width: 100%; background: var(--bambo-sand); padding: 20px; text-align: left; }
.bsc-extras-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin-top: 12px; }
.bsc-extras-grid strong { display: block; font-size: 12px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; }
.bsc-extras-grid span { font-size: 13px; color: #1A1A1A; }
.bsc-list { text-align: left; margin: 0; padding-left: 20px; font-size: 14px; width: 100%; }
.bsc-list span { color: var(--bambo-olive-dark); font-weight: 500; }
.bsc-note { margin: 0; font-size: 13px; color: var(--bambo-muted); }
@keyframes bsc-drop { from { opacity: 0; transform: translateY(-14px); } to { opacity: 1; transform: none; } }
@keyframes bsc-pop { from { opacity: 0; transform: scale(.9); } to { opacity: 1; transform: none; } }
@keyframes bsc-arrive { 0% { opacity: 0; transform: translateY(-40px) scale(.6) rotate(-8deg); } 100% { opacity: 1; transform: none; } }
@keyframes bsc-shake { 0%,100% { transform: rotate(0); } 25% { transform: rotate(-10deg); } 50% { transform: rotate(8deg); } 75% { transform: rotate(-5deg); } }
@media (prefers-reduced-motion: reduce) { .bsc *, .bsc { animation: none !important; transition: none !important; } }

/* =====================================================================
   PÁGINA DO SCOOP DIGITAL (/scoop/)
   ===================================================================== */
.bsc-btn-ghost { background: transparent !important; color: var(--bambo-ink) !important; border: 1px solid var(--bambo-ink) !important; }
.bsc-btn-ghost:hover { background: var(--bambo-ink) !important; color: var(--bambo-white) !important; }
.bsc-btn.is-disabled { opacity: .5; pointer-events: none; }
.bsc-mini { max-width: 760px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 20px 24px; border: 1px solid var(--bambo-line); background: #fff; }
.bsc-mini .bsc-card-name { margin: 4px 0 0; }
.bsc-page { margin: 0; padding: 56px 20px 72px; background: var(--bambo-white); border-top: 1px solid var(--bambo-line); scroll-margin-top: 80px; }
.bsc-order .bsc-list { max-width: 760px; margin: 24px auto 0; }

.bsp { background: var(--bambo-white); color: var(--bambo-ink); font-family: var(--body-font); }
.bsp-hero { background: var(--bambo-sky); padding: 48px 0 56px; }
.bsp-hero__grid { display: grid; gap: 32px; align-items: center; }
@media (min-width: 768px) { .bsp-hero { padding: 80px 0 96px; } .bsp-hero__grid { grid-template-columns: 1.1fr .9fr; gap: 48px; } }
.bsp-hero__title { margin: 12px 0 20px; font-family: var(--heading-font); font-weight: 400; text-transform: uppercase; line-height: .9; letter-spacing: .02em; font-size: clamp(64px, 12vw, 148px); }
.bsp-lead { max-width: 480px; margin: 0 0 28px; font-size: 16px; line-height: 1.6; }
.bsp-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.bsp-hero__art { display: flex; justify-content: center; }
.bsp-hero__art svg { width: 100%; max-width: 440px; height: auto; animation: bsp-float 5s ease-in-out infinite; }
@keyframes bsp-float { 0%, 100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-10px) rotate(1deg); } }
@media (prefers-reduced-motion: reduce) { .bsp-hero__art svg { animation: none; } }

.bsp-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 1px; background: var(--bambo-line); border: 1px solid var(--bambo-line); }
@media (min-width: 768px) { .bsp-steps { grid-template-columns: repeat(3, 1fr); } }
.bsp-steps li { background: var(--bambo-white); padding: 32px 28px; }
.bsp-steps h3, .bsp-ganho__card h3 { margin: 12px 0 8px; font-family: var(--heading-font); font-weight: 400; font-size: 28px; text-transform: uppercase; }
.bsp-steps p, .bsp-ganho__card p { margin: 0; color: var(--bambo-muted); line-height: 1.6; }
.bsp-num { font-size: 12px; letter-spacing: .14em; color: var(--bambo-olive-dark); }

.bsp-ganho { background: var(--bambo-sand); border-top: 0; }
.bsp-ganho__grid { display: grid; gap: 20px; }
@media (min-width: 768px) { .bsp-ganho__grid { grid-template-columns: 1fr 1fr; } }
.bsp-ganho__card { background: var(--bambo-white); padding: 32px 28px; }
.bsp-ganho__card--prize { outline: 1px solid var(--bambo-olive); outline-offset: -8px; }
.bsp-ganho__card p { color: var(--bambo-ink); }

.bsp-pkgs__grid { display: grid; gap: 20px; max-width: 920px; }
@media (min-width: 768px) { .bsp-pkgs__grid { grid-template-columns: 1fr 1fr; } }
.bsp-pkg { display: flex; flex-direction: column; gap: 8px; padding: 32px 28px; background: #fff; border: 1px solid var(--bambo-line); margin: 0; }
.bsp-pkg--extras { background: var(--bambo-sand); border-color: var(--bambo-sand); }
.bsp-pkg__name { margin: 0; font-family: var(--heading-font); font-weight: 400; font-size: 40px; text-transform: uppercase; line-height: 1; }
.bsp-pkg__price { margin: 4px 0 8px; font-size: 22px; font-weight: 500; }
.bsp-pkg__list { list-style: none; margin: 0 0 20px; padding: 0; flex: 1; }
.bsp-pkg__list li { padding: 10px 0; border-top: 1px solid rgba(26,26,26, .12); font-size: 14px; }
.bsp-pkg .bsc-btn { width: 100%; }
.bsp-note { margin: 20px 0 0; font-size: 13px; color: var(--bambo-muted); }

.bsp-faq__wrap { max-width: 760px; }
.bsp-faq details { border-top: 1px solid var(--bambo-line); padding: 18px 0; }
.bsp-faq details:last-of-type { border-bottom: 1px solid var(--bambo-line); }
.bsp-faq summary { cursor: pointer; font-size: 17px; list-style: none; display: flex; justify-content: space-between; gap: 16px; }
.bsp-faq summary::-webkit-details-marker { display: none; }
.bsp-faq summary::after { content: "+"; color: var(--bambo-olive-dark); font-size: 22px; line-height: 1; }
.bsp-faq details[open] summary::after { content: "–"; }
.bsp-faq details p { margin: 12px 0 0; color: var(--bambo-muted); line-height: 1.6; }
.bsp-ganho__card .bsc-tag { position: static; display: inline-block; transform: none; }
.bsp-pkgs__grid { margin: 0 auto; }
.bsp-pkgs .bambo-section__head, .bsp-note { text-align: center; }
.bsp-pkgs .bambo-section__lead { margin-left: auto; margin-right: auto; }
.bsc-email { max-width: 420px; margin: 0 auto; display: flex; flex-direction: column; gap: 10px; }
.bsc-email input { height: 52px; padding: 0 16px; border: 1px solid var(--bambo-ink); background: #fff; font-family: var(--body-font); font-size: 16px; border-radius: 0; }
.bsc-erro { margin: 0; color: #9B2C2C; font-size: 14px; }

/* =====================================================================
   PRODUTO E CATEGORIA — mais perto do desenho
   ===================================================================== */
/* Moldura azul-céu no cabeçalho em todas as páginas */
@media (min-width: 768px) {
  body .head-main { background: var(--bambo-sky) !important; padding: 16px 16px 0 !important; }
  body .head-main > .container-fluid { background: #FFFFFF; }
}

/* Produto */
.template-product .page-header h1 { font-size: clamp(34px, 3.6vw, 52px) !important; line-height: 1.05 !important; margin-bottom: 8px; }
.template-product .js-price-display { font-size: 22px !important; font-weight: 400 !important; }
.bambo-badges { list-style: none; display: flex; margin: 20px 0 8px; padding: 0; border-top: 1px solid var(--bambo-line); border-bottom: 1px solid var(--bambo-line); }
.bambo-badges li { flex: 1; text-align: center; padding: 14px 6px; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
.bambo-badges li + li { border-left: 1px solid var(--bambo-line); }
#product-description .user-content h5 { font-family: var(--body-font) !important; font-size: 12px !important; font-weight: 500 !important; letter-spacing: .14em; text-transform: uppercase; color: var(--bambo-olive-dark); margin-bottom: 12px !important; }
.template-product .item-image, .template-product .product-slider-image { background: #FFFFFF; }

/* Categoria */
.bambo-cat-band { background: var(--bambo-sky); min-height: 160px; display: flex; align-items: flex-end; justify-content: flex-end; padding: 24px 28px; margin: 8px 0 24px; }
.bambo-cat-band p { margin: 0; max-width: 460px; text-align: right; font-size: 15px; }
.bambo-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 28px; }
.bambo-chip { display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px; border: 1px solid var(--bambo-line); background: #FFFFFF; color: var(--bambo-ink) !important; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; text-decoration: none !important; }
.bambo-chip:hover, .bambo-chip.is-active { background: var(--bambo-ink); border-color: var(--bambo-ink); color: #FFFFFF !important; }
/* Cartões sem caixa branca, como no desenho; selo discreto */
.template-category .item, .template-search .item, .template-product .item { background: transparent !important; box-shadow: none !important; }
.item .item-image { background: #FFFFFF; }
.item .label, .item .labels .label { background: rgba(255,255,255,.9) !important; color: var(--bambo-ink) !important; font-size: 10px !important; letter-spacing: .12em; }
.item .item-description { padding-left: 0 !important; padding-right: 0 !important; }
.item .item-name { font-size: 14px !important; letter-spacing: .02em; text-transform: none !important; }
.item .item-price { font-size: 15px !important; font-weight: 400 !important; }
/* Grade em degraus (desktop, 4 colunas) */
@media (min-width: 768px) {
  .template-category .js-product-table > .item-product:nth-child(even),
  .template-search .js-product-table > .item-product:nth-child(even) { margin-top: 64px; }
}
/* Paginação em quadradinhos */
.pagination .page-link, .pagination a, .pagination span { border-radius: 0 !important; }
/* Lista de peças com foto (pedido e final do scoop) */
.bsc-list-fotos { list-style: none; padding: 0; display: grid; gap: 8px; }
.bsc-list-fotos li { display: flex; align-items: center; gap: 12px; background: #FFFFFF; border: 1px solid var(--bambo-line); padding: 8px 12px 8px 8px; }
.bsc-thumb { width: 56px; height: 56px; flex: 0 0 56px; display: flex; align-items: center; justify-content: center; background: var(--bambo-white); overflow: hidden; }
.bsc-thumb img { width: 100%; height: 100%; object-fit: cover; }
.bsc-thumb svg { width: 36px; height: 36px; }
.bsc-li-nome span { font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--bambo-olive-dark); margin-left: 6px; }
.bsc-all { margin: 0 auto 24px; display: flex; flex-direction: column; align-items: center; gap: 8px; }
/* Regras do scoop */
.bsp-regras { max-width: 920px; margin: 20px auto 0; padding: 16px 20px; border: 1px solid var(--bambo-line); background: #FFFFFF; font-size: 13px; line-height: 1.6; }
.bsp-regras strong { font-weight: 500; }
@media (min-width: 768px) { .bsc-list-fotos { grid-template-columns: repeat(2, 1fr); } }
.bsc-list-fotos li { color: var(--bambo-ink); }

/* =====================================================================
   SCOOP · VISUAL EDITORIAL (v2)
   ===================================================================== */
/* Palco: painel azul-céu, traço fino, muito respiro */
.bsc .bsc-stage { max-width: 760px; height: auto; aspect-ratio: 16 / 10; margin: 8px auto 32px; background: var(--bambo-sky); border: 0; overflow: hidden; }
.bsc .bsc-stage::before { content: ""; position: absolute; inset: 14px; border: 1px solid rgba(26,26,26, .18); pointer-events: none; }
.bsc-stage-mark { position: absolute; left: 0; right: 0; top: 10%; text-align: center; font-family: var(--heading-font); font-size: clamp(64px, 14vw, 150px); line-height: 1; letter-spacing: .08em; text-transform: uppercase; color: rgba(255, 255, 255, .55); pointer-events: none; }
.bsc-stage-cap { position: absolute; left: 28px; bottom: 24px; font-size: 10px; letter-spacing: .18em; text-transform: uppercase; color: var(--bambo-ink); opacity: .7; }
.bsc .bsc-pot { width: 78%; max-width: 560px; bottom: 6%; }
.bsc .bsc-concha { width: 38%; max-width: 280px; top: 10%; left: 52%; margin-left: 0; transform-origin: 20% 55%; transform: rotate(-10deg); transition: transform .9s cubic-bezier(.6,0,.25,1); }
.bsc .bsc-concha.is-down { transform: translate(-28%, 62%) rotate(14deg); }
.bsc .bsc-concha.is-up { transform: translate(-8%, -6%) rotate(-18deg); }
.bsc-spark path { animation: bsc-twinkle 2.4s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.bsc-spark path:nth-child(2) { animation-delay: .8s; } .bsc-spark path:nth-child(3) { animation-delay: 1.4s; }
@keyframes bsc-twinkle { 0%,100% { opacity: .25; transform: scale(.7); } 50% { opacity: 1; transform: scale(1.1); } }
@media (max-width: 600px) { .bsc .bsc-stage { aspect-ratio: 4 / 5; } .bsc .bsc-pot { width: 100%; } .bsc .bsc-concha { width: 60%; left: 40%; top: 14%; } .bsc-stage-mark { top: 8%; } }

/* Progresso */
.bsc .bsc-progress { font-size: 11px; letter-spacing: .18em; }
.bsc .bsc-track { width: 160px; height: 1px; background: rgba(26,26,26,.2); }
.bsc .bsc-announce { font-size: 13px; letter-spacing: .02em; }

/* Saquinhos: cartões areia, traço fino, número grande */
.bsc .bsc-bags { grid-template-columns: repeat(auto-fill, minmax(168px, 1fr)); gap: 16px; max-width: 1040px; }
@media (max-width: 600px) { .bsc .bsc-bags { grid-template-columns: repeat(2, 1fr); gap: 10px; } }
.bsc .bsc-bag { min-height: 0; aspect-ratio: 3 / 4; background: var(--bambo-sand); border: 0; padding: 18px 14px; gap: 6px; cursor: pointer; transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s; }
.bsc button.bsc-bag:hover { transform: translateY(-4px); box-shadow: 0 14px 30px -18px rgba(26,26,26,.45); }
.bsc button.bsc-bag:focus-visible { outline: 2px solid var(--bambo-ink); outline-offset: 3px; }
.bsc .bsc-num { position: absolute; top: 12px; left: 14px; font-family: var(--heading-font); font-size: 26px; line-height: 1; color: var(--bambo-ink); }
.bsc .bsc-tag { top: 14px; left: auto; right: 12px; transform: none; font-size: 9px; padding: 3px 8px; }
.bsc .bsc-bag-svg { width: 62%; height: auto; margin-top: 8px; transition: transform .5s; }
.bsc button.bsc-bag:hover .bsc-bag-svg { transform: rotate(-3deg) scale(1.03); }
.bsc .bsc-cta { position: absolute; bottom: 14px; left: 0; right: 0; font-size: 10px; letter-spacing: .22em; color: var(--bambo-olive-dark); }
.bsc .bsc-bag.is-bonus-closed { background: var(--bambo-sky); border: 0; }
.bsc .bsc-bag.is-shaking { animation: bsc-flip .65s cubic-bezier(.5,0,.3,1); }
@keyframes bsc-flip { 0% { transform: perspective(700px) rotateY(0); } 50% { transform: perspective(700px) rotateY(90deg) scale(.96); } 100% { transform: perspective(700px) rotateY(0); } }
.bsc .bsc-bag.is-shaking svg { animation: none; }

/* Saquinho aberto: foto grande */
.bsc .bsc-bag.is-open { aspect-ratio: auto; background: #FFFFFF; padding: 0; justify-content: flex-start; border: 1px solid var(--bambo-line); animation: bsc-pop .45s ease both; cursor: default; }
.bsc .bsc-bag.is-open .bsc-num { z-index: 1; color: var(--bambo-ink); background: rgba(255,255,255,.85); padding: 4px 6px 2px; top: 8px; left: 8px; font-size: 20px; }
.bsc .bsc-bag.is-open .bsc-tag { z-index: 1; }
.bsc .bsc-ph { aspect-ratio: 1 / 1; background: var(--bambo-white); }
.bsc .bsc-ph svg { width: 40%; height: auto; }
.bsc .bsc-bag-info { padding: 12px 12px 14px; display: flex; flex-direction: column; gap: 4px; }
.bsc .bsc-bag-info strong { font-size: 13px; font-weight: 400; letter-spacing: .02em; text-transform: none; }
.bsc .bsc-meta { font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--bambo-olive-dark); }
.bsc .bsc-bag.is-prize { border: 1px solid var(--bambo-olive); background: #FFFFFF; box-shadow: inset 0 0 0 4px #FFFFFF, inset 0 0 0 5px var(--bambo-olive); }
.bsc .bsc-unlock { margin: auto 12px 12px; border-top: 1px solid var(--bambo-olive); padding-top: 8px; font-size: 10px; letter-spacing: .14em; }

/* Revelação em tela cheia */
.bsc-reveal { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 20px; background: rgba(190, 218, 239, .92); backdrop-filter: blur(6px); opacity: 0; transition: opacity .25s ease; font-family: var(--body-font); color: var(--bambo-ink); }
.bsc-reveal.is-in { opacity: 1; }
.bsc-reveal-card { position: relative; width: 100%; max-width: 420px; background: #FFFFFF; padding: 28px 28px 24px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 10px; transform: translateY(16px) scale(.96); transition: transform .45s cubic-bezier(.2,.9,.2,1); }
.bsc-reveal.is-in .bsc-reveal-card { transform: none; }
.bsc-reveal.is-prize .bsc-reveal-card { box-shadow: 0 0 0 1px var(--bambo-olive), 0 0 0 8px #FFFFFF, 0 0 0 9px var(--bambo-olive); }
.bsc-reveal-photo { width: 100%; aspect-ratio: 1 / 1; background: var(--bambo-white); display: flex; align-items: center; justify-content: center; overflow: hidden; margin: 6px 0 4px; }
.bsc-reveal-photo img { width: 100%; height: 100%; object-fit: cover; animation: bsc-zoom 1.2s cubic-bezier(.2,.8,.2,1) both; }
.bsc-reveal-photo svg { width: 36%; height: auto; }
@keyframes bsc-zoom { from { transform: scale(1.12); filter: blur(4px); } to { transform: none; filter: none; } }
.bsc-reveal-name { margin: 0; font-family: var(--heading-font); font-weight: 400; font-size: clamp(26px, 5vw, 34px); line-height: 1.05; text-transform: uppercase; letter-spacing: .02em; }
.bsc-reveal-meta { margin: 0; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--bambo-olive-dark); }
.bsc-reveal-unlock { margin: 4px 0 0; padding: 8px 12px; background: var(--bambo-sand); font-size: 13px; }
.bsc-reveal .bsc-btn { width: 100%; margin-top: 8px; }
.bsc-reveal-sparks { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.bsc-reveal-sparks i { position: absolute; width: 8px; height: 8px; background: var(--bambo-olive); clip-path: polygon(50% 0, 62% 38%, 100% 50%, 62% 62%, 50% 100%, 38% 62%, 0 50%, 38% 38%); animation: bsc-twinkle 1.6s ease-in-out infinite; }
.bsc-reveal.is-prize .bsc-reveal-sparks i { width: 12px; height: 12px; }
@media (prefers-reduced-motion: reduce) { .bsc-reveal, .bsc-reveal *, .bsc-spark path { animation: none !important; transition: none !important; } }


/* =====================================================================
   SCOOP · v3 — sem desenhos: cor, tipografia e emoção
   Blue #C8D9EC · Butter #FFEDAD · Chocopie #1A1A1A
   ===================================================================== */
.bsc-pote { position: relative; max-width: 760px; margin: 8px auto 28px; aspect-ratio: 16 / 10; background: var(--bambo-ink); color: var(--bambo-sand); overflow: hidden; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 24px; }
@media (max-width: 600px) { .bsc-pote { aspect-ratio: 4 / 5; } }
.bsc-pote::before { content: ""; position: absolute; inset: 12px; border: 1px solid rgba(255,237,173,.35); pointer-events: none; }
.bsc-pote-eyebrow { font-size: 11px; letter-spacing: .24em; text-transform: uppercase; opacity: .85; }
.bsc-pote-word { display: flex; gap: .02em; font-family: var(--heading-font); font-size: clamp(72px, 17vw, 168px); line-height: .9; letter-spacing: .04em; margin: 10px 0 8px; }
.bsc-pote-word span { display: inline-block; }
.bsc-pote.is-digging .bsc-pote-word span { animation: bsc-dig .7s ease-in-out infinite; }
.bsc-pote.is-digging .bsc-pote-word span:nth-child(2) { animation-delay: .08s; } .bsc-pote.is-digging .bsc-pote-word span:nth-child(3) { animation-delay: .16s; }
.bsc-pote.is-digging .bsc-pote-word span:nth-child(4) { animation-delay: .24s; } .bsc-pote.is-digging .bsc-pote-word span:nth-child(5) { animation-delay: .32s; }
@keyframes bsc-dig { 0%,100% { transform: translateY(0); } 40% { transform: translateY(14px) rotate(-3deg); } 70% { transform: translateY(-6px) rotate(2deg); } }
.bsc-pote.is-filling .bsc-pote-word { transform: scale(.82); opacity: .9; transition: transform .5s, opacity .5s; }
.bsc-pote-status { margin: 0; min-height: 22px; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; }
.bsc-pote-tiles { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 18px; max-width: 520px; min-height: 52px; }
.bsc-tile { width: 44px; height: 52px; display: flex; align-items: center; justify-content: center; background: var(--bambo-sand); color: var(--bambo-ink); font-family: var(--heading-font); font-size: 20px; animation: bsc-fall .55s cubic-bezier(.3,1.5,.5,1) both; }
.bsc-tile.is-extra { background: var(--bambo-sky); }
@keyframes bsc-fall { 0% { opacity: 0; transform: translateY(-120px) rotate(-12deg); } 100% { opacity: 1; transform: none; } }
.bsc-stamp { position: absolute; top: 18%; right: 8%; background: var(--bambo-sky); color: var(--bambo-ink); font-family: var(--heading-font); font-size: clamp(26px, 5vw, 44px); text-transform: uppercase; padding: 10px 18px 6px; transform: rotate(8deg); animation: bsc-stampin .5s cubic-bezier(.2,1.6,.4,1) both; box-shadow: 0 10px 30px -10px rgba(0,0,0,.4); }
@keyframes bsc-stampin { 0% { opacity: 0; transform: scale(2.4) rotate(-6deg); } 100% { opacity: 1; transform: scale(1) rotate(8deg); } }

/* Saquinhos: blocos de cor chapados, número grande, "?" */
.bsc .bsc-bag { background: var(--bambo-sand); color: var(--bambo-ink); overflow: hidden; }
.bsc .bsc-bag.is-bonus-closed { background: var(--bambo-sky); }
.bsc .bsc-q { font-family: var(--heading-font); font-size: clamp(64px, 9vw, 96px); line-height: 1; color: var(--bambo-ink); transition: transform .4s; }
.bsc button.bsc-bag:hover .bsc-q { transform: scale(1.08) rotate(-4deg); }
.bsc .bsc-cta { color: var(--bambo-ink); }
.bsc .bsc-charge { position: absolute; left: 0; bottom: 0; height: 4px; width: 0; background: var(--bambo-ink); }
.bsc .bsc-bag.is-charging { animation: bsc-hold 1.1s ease-in both; }
.bsc .bsc-bag.is-charging .bsc-charge { width: 100%; transition: width 1.05s linear; }
.bsc .bsc-bag.is-charging .bsc-q { animation: bsc-wobble .25s ease-in-out infinite; }
@keyframes bsc-hold { 0% { transform: scale(1); } 80% { transform: scale(.94); } 100% { transform: scale(1.04); } }
@keyframes bsc-wobble { 0%,100% { transform: rotate(-6deg); } 50% { transform: rotate(6deg); } }
.bsc .bsc-bag.is-open .bsc-num { background: var(--bambo-ink); color: var(--bambo-sand); }
.bsc .bsc-bag.is-prize { box-shadow: inset 0 0 0 4px #FFFFFF, inset 0 0 0 6px var(--bambo-ink); }
.bsc .bsc-tag-prize { background: var(--bambo-ink); color: var(--bambo-sand); }
.bsc .bsc-tag-bonus { background: var(--bambo-sky); color: var(--bambo-ink); }
.bsc .bsc-tag-extra { background: #FFFFFF; color: var(--bambo-ink); border: 1px solid var(--bambo-ink); }
.bsc-nofoto { font-family: var(--heading-font); font-size: 28px; text-transform: uppercase; color: var(--bambo-ink); }

/* Confete */
.bsc-confetti { position: absolute; inset: 0; pointer-events: none; overflow: visible; z-index: 5; }
.bsc-confetti i { position: absolute; top: 55%; width: 9px; height: 13px; border: 1px solid rgba(26,26,26,.25); animation: bsc-burst 1.4s cubic-bezier(.15,.7,.3,1) forwards; }
@keyframes bsc-burst { 0% { transform: translate(0,0) rotate(0); opacity: 1; } 70% { opacity: 1; } 100% { transform: translate(var(--dx), calc(var(--dy) + 260px)) rotate(var(--r)); opacity: 0; } }

/* Tela PREMIADO! */
.bsc-slam { position: fixed; inset: 0; z-index: 100001; display: flex; align-items: center; justify-content: center; background: var(--bambo-ink); transition: opacity .3s; }
.bsc-slam span { font-family: var(--heading-font); font-size: clamp(56px, 13vw, 150px); text-transform: uppercase; color: var(--bambo-sand); animation: bsc-slamin .55s cubic-bezier(.2,1.6,.4,1) both; }
.bsc-slam.is-out { opacity: 0; }
@keyframes bsc-slamin { 0% { opacity: 0; transform: scale(3); } 100% { opacity: 1; transform: scale(1); } }

/* Revelação escura (Chocopie) */
.bsc-reveal { background: rgba(26,26,26,.94); backdrop-filter: none; }
.bsc-reveal-card { background: var(--bambo-sand); }
.bsc-reveal .bsc-eyebrow { color: var(--bambo-ink); }
.bsc-reveal-photo { background: #FFFFFF; }
.bsc-reveal-meta { color: var(--bambo-ink); }
.bsc-reveal-unlock { background: var(--bambo-sky); }
.bsc-reveal.is-prize .bsc-reveal-card { box-shadow: 0 0 0 6px var(--bambo-sky); }
.bsc-reveal-sparks { display: none; }
@media (prefers-reduced-motion: reduce) { .bsc-pote *, .bsc-slam *, .bsc-confetti { animation: none !important; } }
.bsc-reveal .bsc-confetti { z-index: 0; }
.bsc-reveal-card { z-index: 2; }


/* =====================================================================
   SCOOP · o pote com miçangas e a concha (formas chapadas, sem traço)
   ===================================================================== */
.bp{position:relative;width:100%;max-width:760px;aspect-ratio:16/10;margin:0 auto;background:#C8D9EC;color:#1A1A1A;overflow:hidden}
.bp:before{content:"";position:absolute;inset:12px;border:1px solid rgba(26,26,26,.25);z-index:6;pointer-events:none}
.bp-top{position:absolute;top:7%;left:0;right:0;text-align:center;z-index:5}
.bp-eyebrow{font-size:11px;letter-spacing:.24em;text-transform:uppercase;opacity:.85}
.bp-status{margin:6px 0 0;font-size:13px;letter-spacing:.14em;text-transform:uppercase;min-height:20px}
.bp-word{position:absolute;left:0;right:0;top:16%;text-align:center;font-family:'Italiana',serif;font-size:clamp(64px,16vw,170px);line-height:1;letter-spacing:.06em;color:rgba(255,255,255,.55);z-index:0}
.bp-beads{position:absolute;left:13%;right:13%;bottom:36%;height:30%;z-index:1}
.bp-bead{position:absolute;aspect-ratio:1/1;border-radius:50%;transform:translate(-50%,50%)}
.is-down .bp-bead{animation:bp-jig .35s ease-in-out 4}
@keyframes bp-jig{0%,100%{transform:translate(-50%,50%)}50%{transform:translate(-40%,30%) rotate(20deg)}}
.bp-pot{position:absolute;left:10%;right:10%;bottom:-2%;height:40%;z-index:3}
.bp-pot-body{position:absolute;inset:6% 0 0 0;background:repeating-linear-gradient(90deg,#8E1825 0 7%,#FFEDAD 7% 14%);border-radius:0 0 48% 48% / 0 0 70% 70%}
.bp-pot-rim{position:absolute;left:-1%;right:-1%;top:0;height:14%;background:#6E121C;border-radius:50%}
.bp-pot-label{position:absolute;left:0;right:0;top:42%;text-align:center;font-family:'Italiana',serif;font-size:clamp(20px,4vw,40px);letter-spacing:.3em;color:#FFFFFF;background:#8E1825;width:max-content;margin:0 auto;padding:4px 14px 0 18px}
.bp-scoop{position:absolute;right:4%;top:24%;width:40%;aspect-ratio:2.2/1;z-index:4;transform-origin:18% 40%;transform:rotate(-18deg);transition:transform 1s cubic-bezier(.6,0,.25,1)}
.bp-scoop-bowl{position:absolute;left:0;top:18%;width:42%;height:62%;background:#FFFFFF;border-radius:0 0 999px 999px;box-shadow:inset 0 -10px 0 rgba(26,26,26,.10)}
.bp-scoop-lip{position:absolute;left:-2%;top:12%;width:46%;height:12%;background:#EDE6DC;border-radius:50%}
.bp-scoop-handle{position:absolute;left:38%;top:16%;width:64%;height:9%;background:#FFFFFF;border-radius:999px;transform:rotate(-14deg);transform-origin:left center}
.bp-scoop-load{position:absolute;left:0;top:-14%;width:42%;height:36%;opacity:0;transition:opacity .25s .5s}
.bp-scoop-load i{position:absolute;aspect-ratio:1/1;border-radius:50%}
.is-down .bp-scoop{transform:translate(-46%,104%) rotate(-6deg);z-index:2}
.is-up .bp-scoop{transform:translate(-22%,-14%) rotate(-24deg)}
.is-up .bp-scoop-load{opacity:1}
@container (max-width:600px){.bp{aspect-ratio:4/5}.bp-word{top:20%}.bp-beads{bottom:30%;height:22%}.bp-pot{height:32%}.bp-scoop{width:62%;top:26%;right:2%}.is-down .bp-scoop{transform:translate(-10%,165%) rotate(-6deg)}.is-up .bp-scoop{transform:translate(-20%,-10%) rotate(-24deg)}}
@media (prefers-reduced-motion:reduce){.bp *{animation:none!important;transition:none!important}}
.bp-wrap{container-type:inline-size;width:100%;max-width:760px;margin:0 auto}

.bsc-stagewrap { margin: 8px auto 20px; }
.bsc-stagewrap .bsc-pote-tiles { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 18px; min-height: 52px; }
.bp .bsc-stamp { z-index: 7; }
.bp .bsc-confetti { z-index: 7; }

/* Saquinho chapado no lugar do "?" */
.bsc .bsc-q { display: flex; align-items: center; justify-content: center; width: 58%; font-size: 0; }
.bsc .bsc-q svg { width: 100%; height: auto; display: block; }

/* Saquinho da 1ª versão em cartão branco; tons mais leves na revelação */
.bsc .bsc-bag { background: #FFFFFF; }
.bsc .bsc-bag.is-bonus-closed { background: #C8D9EC; }
.bsc .bsc-q { width: 62%; }
.bsc-stagewrap .bsc-tile { background: #FFFFFF; }
.bp .bsc-stamp { background: #8E1825; color: #FFFFFF; }
.bsc-reveal { background: rgba(200,217,236,.96); }
.bsc-reveal-card { background: #FFFFFF; }
.bsc-reveal.is-prize .bsc-reveal-card { box-shadow: 0 0 0 6px #FFEDAD, 0 0 0 8px #8E1825; }
.bsc-reveal-unlock { background: #FFEDAD; }
.bsc-slam { background: #8E1825; }
.bsc-slam span { color: #FFFFFF; }

/* Scoop: 4 tipos (Misto, Dourado, Prata, Duplo) */
.bsp-pkgs__grid--4 { max-width: 1200px; }
@media (min-width: 768px) { .bsp-pkgs__grid--4 { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1100px) { .bsp-pkgs__grid--4 { grid-template-columns: repeat(4, 1fr); } }
.bsp-pkgs__grid--4 .bsp-pkg { position: relative; padding: 28px 22px; }
.bsp-pkgs__grid--4 .bsp-pkg__name { font-size: 34px; }
.bsp-pkg__tag { position: absolute; top: 14px; right: 14px; left: auto; transform: none; }

/* Paleta cereja: ajustes de contraste */
.bsc-tag-bonus { background: var(--bambo-sky); color: var(--bambo-ink); }
.bsc-tag-prize { background: var(--bambo-olive); color: #FFFFFF; }


/* =====================================================================
   LISTRAS BAMBÔ (cereja + manteiga, como o pote do Scoop) — Opção 1
   ===================================================================== */
/* Faixa do topo */
.bambo-ribbon { position: relative; z-index: 1; display: flex; justify-content: center; align-items: center; height: 40px; padding: 0 12px;
  background: repeating-linear-gradient(-45deg, #8E1825 0 14px, #FFEDAD 14px 28px); background-size: 40px 40px; animation: bambo-slide 2.4s linear infinite; }
.bambo-ribbon a { background: #FFFFFF; color: #1A1A1A !important; font-family: var(--body-font); font-size: 11px; font-weight: 500; letter-spacing: .18em; line-height: 1;
  text-transform: uppercase; text-decoration: none !important; padding: 8px 16px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
@keyframes bambo-slide { to { background-position: 40px 0; } }

/* Faixas finas entre seções */
.bambo-band { height: 18px; background: repeating-linear-gradient(-45deg, #8E1825 0 9px, #FFEDAD 9px 18px); }

/* Card do Scoop Digital listrado como o pote */
.bambo-candy { background: repeating-linear-gradient(90deg, #8E1825 0 7%, #FFEDAD 7% 14%) !important; }
.bambo-candy .bambo-concha { background: #FFFFFF; border-radius: 50%; padding: 7%; width: 58%; height: auto; box-shadow: 0 0 0 6px #8E1825; }

/* Newsletter: fundo amarelo e moldura listrada */
.section-newsletter-home { background: #FFEDAD !important; margin-left: 0 !important; padding: 80px 0; }
.section-newsletter-home .newsletter { background: #FFFFFF; border: 14px solid transparent;
  border-image: repeating-linear-gradient(-45deg, #8E1825 0 10px, #FFEDAD 10px 20px) 14; padding: 40px !important; margin: 0 !important; }
.section-newsletter-home .newsletter .btn, .section-newsletter-home .btn-append { background: #1A1A1A !important; color: #FFFFFF !important; }

/* Fotos de produto ganham listras clarinhas ao passar o mouse */
@media (hover: hover) {
  .js-item-product .item-image:hover, .js-item-product .item-image-container:hover { background: repeating-linear-gradient(90deg, #F5F5F6 0 18px, #FFF6D6 18px 36px); }
}

/* Rodapé bordô */
footer.bambo-footer { background: #8E1825 !important; color: #FFFFFF !important; }
footer.bambo-footer, footer.bambo-footer p, footer.bambo-footer span, footer.bambo-footer li,
footer.bambo-footer a, footer.bambo-footer .btn-link, footer.bambo-footer svg { color: #FFFFFF !important; fill: currentColor; }
footer.bambo-footer .font-small.opacity-50,
footer.bambo-footer [class*="opacity"][class*="-50"] { color: #FFEDAD !important; }
footer.bambo-footer input, footer.bambo-footer .form-control { color: #FFFFFF !important; border-bottom-color: #FFFFFF !important; }
footer.bambo-footer input::placeholder { color: rgba(255,255,255,.75) !important; }
footer.bambo-footer .btn, footer.bambo-footer input[type="submit"] { background: #FFEDAD !important; color: #1A1A1A !important; border-color: #FFEDAD !important; }
footer.bambo-footer span.bambo-footer__wordmark { color: #FFEDAD !important; }
footer.bambo-footer .bambo-footer__brand, footer.bambo-footer .footer-legal { border-top-color: rgba(255,255,255,.3) !important; color: #FFFFFF !important; }
footer.bambo-footer .footer-payments-shipping-logos img { background: #FFFFFF; padding: 2px; }

@media (max-width: 767px) {
  .bambo-ribbon { height: 34px; }
  .bambo-ribbon a { font-size: 10px; letter-spacing: .14em; padding: 7px 12px; }
  .section-newsletter-home { padding: 48px 0; }
  .section-newsletter-home .newsletter { padding: 24px !important; }
}
@media (prefers-reduced-motion: reduce) { .bambo-ribbon { animation: none; } }
footer.bambo-footer .newsletter-btn, footer.bambo-footer .btn + svg, footer.bambo-footer .input-append svg { color: #1A1A1A !important; fill: #1A1A1A !important; }


/* =====================================================================
   MÁQUINAS BAMBÔ (garra e máquina de mimos) — página do Scoop
   ===================================================================== */
.bm { position: relative; width: 100%; max-width: 640px; margin: 8px auto 0; display: flex; flex-direction: column; }
.bm-sign { background: #8E1825; color: #FFFFFF; text-align: center; padding: 14px 0 10px; border: 4px solid #1A1A1A; border-bottom: 0; border-radius: 28px 28px 0 0; display: flex; flex-direction: column; gap: 2px; }
.bm-sign span { font-family: var(--heading-font); font-size: 40px; letter-spacing: .3em; line-height: 1; padding-left: .3em; animation: bm-blink 1.6s steps(2) infinite; }
.bm-sign small { font-size: 10px; letter-spacing: .3em; text-transform: uppercase; color: #FFEDAD; }
@keyframes bm-blink { 50% { text-shadow: 0 0 12px #FFEDAD; } }
.bm-awning { height: 40px; margin: 0 -4px -16px; position: relative; z-index: 3; background: repeating-linear-gradient(90deg, #8E1825 0 35px, #FFEDAD 35px 70px);
  -webkit-mask: linear-gradient(#000 0 0) top/100% 24px no-repeat, radial-gradient(circle 17.5px at 17.5px 0, #000 98%, transparent 100%) 0 24px/35px 16px repeat-x;
          mask: linear-gradient(#000 0 0) top/100% 24px no-repeat, radial-gradient(circle 17.5px at 17.5px 0, #000 98%, transparent 100%) 0 24px/35px 16px repeat-x; }
.bm-cabinet, .bm-vbody { border: 4px solid #1A1A1A; border-top: 0; background: repeating-linear-gradient(90deg, #8E1825 0 18px, #FFEDAD 18px 36px); padding: 22px 16px 16px; }
.bm-glass { position: relative; height: 400px; background: linear-gradient(#DCE7F3, #C8D9EC); border: 4px solid #1A1A1A; overflow: hidden; }
.bm-rail { position: absolute; left: 0; right: 0; top: 10px; height: 8px; background: #1A1A1A; }
.bm-claw { position: absolute; top: 10px; left: 39%; width: 84px; margin-left: -42px; z-index: 4; display: flex; flex-direction: column; align-items: center; }
.bm-claw.is-swing { animation: bm-swing 2.6s ease-in-out infinite alternate; }
@keyframes bm-swing { from { left: 8%; } to { left: 70%; } }
.bm-rope { width: 4px; height: 24px; background: #1A1A1A; transition: height 1s ease-in-out; }
.bm-head { position: relative; width: 84px; }
.bm-clawsvg { display: block; width: 84px; height: auto; overflow: visible; }
.bm-prong { transition: transform .35s ease; }
.bm-l { transform-origin: 44px 28px; } .bm-r { transform-origin: 56px 28px; }
.bm-head.is-closed .bm-l { transform: rotate(-24deg); } .bm-head.is-closed .bm-r { transform: rotate(24deg); }
.bm-head.is-shake { animation: bm-shake .25s linear 3; }
@keyframes bm-shake { 25% { transform: rotate(-6deg); } 75% { transform: rotate(6deg); } }
.bm-held { position: absolute; left: 16px; top: 46px; width: 52px; }
.bm-held svg, .bm-pbag svg, .bm-fall svg, .bm-tbag svg, .bm-box svg, .bm-binbox svg { display: block; width: 100%; height: auto; }
.bm-pile { position: absolute; left: 0; right: 22%; bottom: 0; height: 150px; }
.bm-pbag { position: absolute; width: 62px; }
.bm-chute { position: absolute; right: 0; bottom: 0; width: 22%; height: 150px; background: #FFFFFF; border-left: 4px solid #1A1A1A; border-top: 4px solid #1A1A1A; display: flex; align-items: flex-end; justify-content: center; padding-bottom: 10px; overflow: hidden; }
.bm-chute > span:first-child { font-size: 10px; letter-spacing: .24em; text-transform: uppercase; color: #8E1825; font-weight: 500; }
.bm-fall { position: absolute; top: -60px; left: 50%; width: 52px; margin-left: -26px; animation: bm-fall .7s cubic-bezier(.5,0,.8,.6) forwards; }
@keyframes bm-fall { to { top: 150px; } }
.bm-shine { position: absolute; inset: 0; background: linear-gradient(115deg, transparent 0 30%, rgba(255,255,255,.35) 32%, transparent 40% 58%, rgba(255,255,255,.2) 60%, transparent 64%); pointer-events: none; z-index: 5; }
.bm-panel { margin-top: 16px; background: #1A1A1A; color: #FFFFFF; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 18px; }
.bm-flabel { font-size: 10px; letter-spacing: .24em; text-transform: uppercase; }
.bm-fichas { display: flex; flex-direction: column; gap: 6px; }
.bm-coins { display: flex; gap: 6px; flex-wrap: wrap; max-width: 220px; }
.bm-coin { width: 20px; height: 20px; border-radius: 50%; background: #E9C46A; box-shadow: inset 0 0 0 3px #FFEDAD, inset 0 0 0 5px #E9C46A; }
.bm-coin.is-used { background: transparent; box-shadow: inset 0 0 0 2px rgba(255,255,255,.3); }
.bm-coin.is-new { animation: bm-pop .6s cubic-bezier(.3,1.6,.5,1) both; }
@keyframes bm-pop { from { transform: scale(0); } }
.bm-stick { width: 34px; height: 52px; position: relative; flex: none; }
.bm-stick::before { content: ""; position: absolute; left: 15px; bottom: 0; width: 4px; height: 36px; background: #E4E4E4; }
.bm-stick i { position: absolute; left: 4px; top: 0; width: 26px; height: 26px; border-radius: 50%; background: #8E1825; box-shadow: inset -4px -4px 0 rgba(0,0,0,.25); }
.bm-btn { flex: none; min-width: 150px; min-height: 60px; border-radius: 999px; border: 0; background: #8E1825; color: #FFFFFF; font: 500 13px/1 var(--body-font); letter-spacing: .2em; text-transform: uppercase; cursor: pointer; box-shadow: 0 6px 0 #4E0C14; }
.bm-btn:active { transform: translateY(5px); box-shadow: 0 1px 0 #4E0C14; }
.bm-btn.is-off { opacity: .55; cursor: default; }
.bm-btn:focus-visible, .bm-key:focus-visible { outline: 3px solid #FFEDAD; outline-offset: 3px; }
.bm-tray { margin-top: 14px; background: #FFFFFF; border: 4px solid #1A1A1A; padding: 12px 14px; display: flex; align-items: center; gap: 14px; min-height: 76px; }
.bm-tray-row { display: flex; gap: 8px; flex-wrap: wrap; }
.bm-tbag { position: relative; width: 44px; animation: bm-pop .5s cubic-bezier(.3,1.6,.5,1) both; }
.bm-tbag b { position: absolute; right: -4px; top: -4px; background: #1A1A1A; color: #FFEDAD; font-size: 10px; font-weight: 500; padding: 2px 4px; }
.bm-tbag.is-extra b { background: #8E1825; color: #FFFFFF; }
.bm-status { margin: 12px 0 0; font-size: 12px; letter-spacing: .18em; text-transform: uppercase; min-height: 18px; text-align: center; }
.bm-stamp { position: absolute; top: 34%; left: 50%; z-index: 9; transform: translateX(-50%) rotate(-6deg); background: #8E1825; color: #FFFFFF; font-family: var(--heading-font); font-size: clamp(24px, 4vw, 40px); text-transform: uppercase; padding: 10px 18px 6px; white-space: nowrap; box-shadow: 6px 6px 0 #FFEDAD; }
/* Máquina de mimos */
.bm-vbody { display: grid; grid-template-columns: 1fr 168px; gap: 14px; }
.bm-vglass { position: relative; background: linear-gradient(#DCE7F3, #C8D9EC); border: 4px solid #1A1A1A; overflow: hidden; padding: 10px 8px 0; }
.bm-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0 6px; }
.bm-slot { position: relative; height: 118px; margin-bottom: 22px; border: 0; border-bottom: 6px solid #1A1A1A; background: transparent; padding: 0; cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; }
.bm-box { width: 62px; position: relative; z-index: 2; margin-bottom: 6px; transition: transform .2s; }
.bm-slot:hover .bm-box { transform: translateY(-4px); }
.bm-coil { position: absolute; left: 8%; right: 8%; bottom: 2px; height: 16px; z-index: 1; background: repeating-linear-gradient(110deg, transparent 0 6px, #5E5E5E 6px 8px, transparent 8px 12px); }
.bm-code { position: absolute; bottom: -22px; left: 50%; transform: translateX(-50%); background: #1A1A1A; color: #FFEDAD; font-size: 10px; letter-spacing: .14em; padding: 2px 6px; z-index: 3; }
.bm-slot.is-sel .bm-code { background: #8E1825; color: #FFFFFF; }
.bm-slot.is-sel .bm-box { transform: translateY(-6px) scale(1.06); }
.bm-slot.is-empty .bm-box { visibility: hidden; }
.bm-slot.is-empty { cursor: default; }
.bm-slot.is-vend .bm-coil { animation: bm-coil .25s linear 4; }
@keyframes bm-coil { to { background-position: 12px 0; } }
.bm-slot.is-vend .bm-box { animation: bm-push 1s ease-in forwards; }
@keyframes bm-push { 0% { transform: none; } 55% { transform: translateY(6px) scale(1.12); } 100% { transform: translateY(var(--drop)) scale(1.12) rotate(18deg); opacity: 0; } }
.bm-row-A { --drop: 560px; } .bm-row-B { --drop: 420px; } .bm-row-C { --drop: 280px; } .bm-row-D { --drop: 140px; }
.bm-bin { position: relative; height: 96px; margin: 0 -8px; background: #1A1A1A; display: flex; align-items: flex-end; justify-content: center; padding-bottom: 8px; }
.bm-bin > span:first-child { color: #FFEDAD; font-size: 10px; letter-spacing: .24em; text-transform: uppercase; }
.bm-binbox { position: absolute; top: 10px; left: 50%; width: 64px; margin-left: -32px; animation: bm-land .5s cubic-bezier(.3,1.6,.5,1) both; }
@keyframes bm-land { from { transform: translateY(-40px) rotate(-14deg); } }
.bm-vpanel { background: #1A1A1A; color: #FFFFFF; padding: 14px 12px; display: flex; flex-direction: column; gap: 14px; }
.bm-screen { background: #0F0F0F; border: 2px solid #5E5E5E; padding: 8px 10px; display: flex; flex-direction: column; gap: 2px; min-height: 64px; }
.bm-screen small { font-size: 9px; letter-spacing: .2em; text-transform: uppercase; color: #C8D9EC; }
.bm-screen b { font: 500 26px/1 var(--body-font); letter-spacing: .2em; color: #FFEDAD; }
.bm-keys { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.bm-key { min-height: 44px; border: 0; border-radius: 6px; background: #F5F5F6; color: #1A1A1A; font: 500 15px/1 var(--body-font); cursor: pointer; box-shadow: 0 3px 0 #5E5E5E; }
.bm-key:active { transform: translateY(2px); box-shadow: 0 1px 0 #5E5E5E; }
.bm-key.is-letter { background: #FFEDAD; }
.bm-key.is-ok { background: #8E1825; color: #FFFFFF; box-shadow: 0 3px 0 #4E0C14; font-size: 12px; letter-spacing: .14em; }
.bm-key.is-clr { background: #5E5E5E; color: #FFFFFF; font-size: 12px; }
@media (max-width: 600px) {
  .bm-glass { height: 330px; } .bm-sign span { font-size: 30px; } .bm-pbag { width: 46px; } .bm-btn { min-width: 120px; } .bm-stick { display: none; }
  .bm-vbody { grid-template-columns: 1fr; padding: 16px 10px 10px; } .bm-box { width: 46px; } .bm-slot { height: 96px; }
  .bm-row-A { --drop: 472px; } .bm-row-B { --drop: 354px; } .bm-row-C { --drop: 236px; } .bm-row-D { --drop: 118px; }
  .bm-keys { grid-template-columns: repeat(5, 1fr); }
}
@media (prefers-reduced-motion: reduce) { .bm-claw.is-swing { animation-duration: 6s; } .bm-sign span { animation: none; } }
/* Garra maior + bandeja com as peças ganhas */
.bm.bm--garra { max-width: 820px; }
.bm--garra .bm-sign span { font-size: 52px; }
.bm--garra .bm-glass { height: 540px; }
.bm--garra .bm-claw { width: 110px; margin-left: -55px; }
.bm--garra .bm-head, .bm--garra .bm-clawsvg { width: 110px; }
.bm--garra .bm-held { left: 21px; top: 60px; width: 68px; }
.bm--garra .bm-pile, .bm--garra .bm-chute { height: 200px; }
.bm--garra .bm-pbag { width: 84px; }
.bm--garra .bm-fall { width: 68px; margin-left: -34px; animation-name: bm-fall-g; }
@keyframes bm-fall-g { to { top: 200px; } }
.bm--garra .bm-panel { padding: 20px 24px; }
.bm--garra .bm-btn { min-width: 200px; min-height: 72px; font-size: 15px; }
.bm--garra .bm-coin { width: 24px; height: 24px; }
.bm-tbag.bm-tphoto { width: 72px; height: 72px; border: 2px solid #1A1A1A; background: #FFFFFF; overflow: visible; }
.bm-tbag.bm-tphoto img, .bm-tbag.bm-tphoto svg { width: 100%; height: 100%; object-fit: cover; display: block; }
.bm-tbag.bm-tphoto.is-extra { border-color: #8E1825; }
@media (max-width: 600px) {
  .bm--garra .bm-glass { height: 380px; } .bm--garra .bm-sign span { font-size: 32px; }
  .bm--garra .bm-pile, .bm--garra .bm-chute { height: 150px; } .bm--garra .bm-pbag { width: 52px; }
  .bm--garra .bm-claw, .bm--garra .bm-head, .bm--garra .bm-clawsvg { width: 84px; } .bm--garra .bm-claw { margin-left: -42px; }
  .bm--garra .bm-held { left: 16px; top: 46px; width: 52px; }
  .bm--garra .bm-btn { min-width: 130px; min-height: 60px; }
  .bm-tbag.bm-tphoto { width: 56px; height: 56px; }
}

/* =====================================================================
   NOVIDADES, CATEGORIAS e cartões de produto Bambô
   ===================================================================== */
.bambo-highlight { display: inline; background: linear-gradient(transparent 62%, var(--bambo-sand) 62% 92%, transparent 92%); }
.bambo-link { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--bambo-ink) !important; text-decoration: underline; text-underline-offset: 6px; }
.bambo-navbtn { width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--bambo-ink); background: transparent; color: var(--bambo-ink); font-size: 18px; line-height: 1; cursor: pointer; }
.bambo-navbtn:hover { background: var(--bambo-ink); color: #FFFFFF; }
.bambo-novidades { background: #FFFFFF; }
.bambo-novidades__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 32px; }
.bambo-novidades__nav { display: flex; align-items: center; gap: 10px; }
.bambo-novidades__track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 3 * 20px) / 4); gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 4px; }
.bambo-novidades__track::-webkit-scrollbar { display: none; }
.bambo-novidades__track > * { scroll-snap-align: start; }
.bambo-novidades__track.is-few { grid-auto-flow: row; grid-template-columns: repeat(4, 1fr); overflow: visible; }
@media (max-width: 767px) {
  .bambo-novidades__track { grid-auto-columns: 72%; gap: 12px; }
  .bambo-novidades__track.is-few { grid-template-columns: repeat(2, 1fr); }
  .bambo-novidades__head { flex-wrap: wrap; align-items: flex-start; }
  .bambo-novidades__nav .bambo-navbtn { display: none; }
}
.bambo-card { display: flex; flex-direction: column; gap: 6px; color: var(--bambo-ink) !important; text-decoration: none !important; }
.bambo-card__media { position: relative; display: block; aspect-ratio: 1 / 1; background: var(--bambo-white); overflow: hidden; }
.bambo-card__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity .35s, transform .6s; }
.bambo-card__img--2 { opacity: 0; }
.bambo-card:hover .bambo-card__media.has-hover .bambo-card__img--2 { opacity: 1; }
.bambo-card:hover .bambo-card__img { transform: scale(1.03); }
.bambo-card__tag { position: absolute; top: 10px; left: 10px; z-index: 2; background: var(--bambo-olive); color: #FFFFFF; font-size: 10px; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; padding: 6px 9px 5px; box-shadow: 3px 3px 0 var(--bambo-sand); }
.bambo-card__soldout { position: absolute; bottom: 10px; left: 10px; z-index: 2; background: #FFFFFF; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; padding: 5px 8px; }
.bambo-card__name { font-size: 14px; margin-top: 6px; }
.bambo-card__price { font-size: 14px; font-weight: 500; }
.bambo-card__price s { font-weight: 400; color: var(--bambo-muted); margin-left: 6px; }

.bambo-categorias { background: var(--bambo-white); }
.bambo-categorias__grid { display: grid; gap: 16px; grid-template-columns: repeat(4, 1fr); }
.bambo-categorias__grid--1 { grid-template-columns: 1fr; }
.bambo-categorias__grid--2 { grid-template-columns: repeat(2, 1fr); }
.bambo-categorias__grid--3 { grid-template-columns: repeat(3, 1fr); }
.bambo-cat { position: relative; display: flex; flex-direction: column; justify-content: flex-end; gap: 6px; min-height: 280px; padding: 24px; overflow: hidden; text-decoration: none !important; color: var(--bambo-ink) !important; transition: transform .25s; }
.bambo-cat:hover { transform: translateY(-4px); }
.bambo-cat--0 { background: var(--bambo-sky); }
.bambo-cat--1 { background: var(--bambo-sand); }
.bambo-cat--2 { background: #FFFFFF; outline: 1px solid var(--bambo-line); outline-offset: -1px; }
.bambo-cat--3 { background: repeating-linear-gradient(90deg, #8E1825 0 7%, #FFEDAD 7% 14%); }
.bambo-cat--3 .bambo-cat__name, .bambo-cat--3 .bambo-cat__go, .bambo-cat--3 .bambo-cat__num { background: #FFFFFF; align-self: flex-start; padding: 2px 8px; }
.bambo-cat img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.bambo-cat:hover img { transform: scale(1.04); }
.bambo-cat.has-img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.45), transparent 55%); }
.bambo-cat.has-img .bambo-cat__name, .bambo-cat.has-img .bambo-cat__go, .bambo-cat.has-img .bambo-cat__num { color: #FFFFFF; background: none; }
.bambo-cat__num, .bambo-cat__name, .bambo-cat__go { position: relative; z-index: 1; }
.bambo-cat__num { position: absolute; top: 20px; left: 24px; font-size: 11px; letter-spacing: .2em; }
.bambo-cat__name { font-family: var(--heading-font); font-size: clamp(30px, 3.4vw, 46px); text-transform: uppercase; line-height: 1; }
.bambo-cat__go { font-size: 11px; letter-spacing: .18em; text-transform: uppercase; }
@media (max-width: 767px) {
  .bambo-categorias__grid, .bambo-categorias__grid--3 { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .bambo-categorias__grid--1 { grid-template-columns: 1fr; }
  .bambo-cat { min-height: 180px; padding: 16px; }
  .bambo-cat__num { top: 14px; left: 16px; }
}

/* Página de produto: "Você também vai gostar" no estilo Bambô */
.section-products-related { background: #FFFFFF; padding-top: 56px !important; padding-bottom: 56px; border-top: 1px solid var(--bambo-line); }
.section-products-related h2, .section-products-related .h1 { font-family: var(--heading-font); font-weight: 400; text-transform: uppercase; }
.section-products-related .item-image, .section-products-related .product-item-image-container { background: var(--bambo-white); }
.section-products-related .item-name, .section-products-related .js-item-name { font-size: 14px; }
.section-products-related .item-price { font-weight: 500; color: var(--bambo-ink); }
.bambo-novidades__head .bambo-eyebrow { display: block; margin-bottom: 10px; }

/* Home igual ao canvas: Novidades em grade escalonada + categorias altas */
.bambo-novidades, .bambo-categorias { background: #FFFFFF; border-top: 0; }
.bambo-novidades { padding-bottom: 32px; }
.bambo-categorias { padding-top: 32px; }
.bambo-novidades__head { align-items: center; margin-bottom: 32px; }
.bambo-novidades__title { margin: 0; font-family: var(--heading-font); font-weight: 400; font-size: clamp(40px, 5vw, 56px); line-height: 1.1; text-transform: none; letter-spacing: 0; }
.bambo-novidades__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0 20px; align-items: start; }
.bambo-novidades__grid > .bambo-card { margin-bottom: 40px; }
.bambo-novidades__grid > .bambo-card:nth-child(even) { margin-top: 54px; }
.bambo-card__tag { box-shadow: 2px 2px 0 var(--bambo-sand); padding: 5px 9px 4px; }
.bambo-card__name { font-size: 13px; margin-top: 12px; }
.bambo-card__price { font-size: 15px; font-weight: 500; margin-top: 2px; }
.bambo-card__inst, .bambo-card__inst * { font-size: 11px; color: var(--bambo-olive) !important; margin: 0 !important; }
.bambo-categorias__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.bambo-cat { aspect-ratio: 3 / 4; min-height: 0; padding: 18px 18px 22px; justify-content: flex-end; }
.bambo-cat:hover { transform: none; }
.bambo-cat--0 { background: var(--bambo-sky); }
.bambo-cat--1 { background: var(--bambo-sand); }
.bambo-cat--2 { background: var(--bambo-white); outline: 0; }
.bambo-cat__name { font-size: clamp(24px, 2.4vw, 32px); letter-spacing: .02em; }
@media (max-width: 767px) {
  .bambo-novidades__grid { grid-template-columns: repeat(2, 1fr); gap: 0 12px; }
  .bambo-novidades__grid > .bambo-card:nth-child(even) { margin-top: 40px; }
  .bambo-categorias__grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .bambo-categorias__grid > .bambo-cat:last-child:nth-child(odd) { grid-column: 1 / -1; aspect-ratio: 2 / 1; }
}

/* =====================================================================
   NOVIDADES em mosaico editorial (tamanhos e alturas diferentes)
   ===================================================================== */
.bambo-mosaic { position: relative; }
.bambo-mosaic__head { display: flex; align-items: flex-start; gap: 6%; }
.bambo-mosaic__num { font-size: 11px; letter-spacing: .1em; padding-top: 12px; }
.bambo-mosaic__title { margin: 0; font-family: var(--heading-font); font-weight: 400; font-size: clamp(40px, 5vw, 64px); line-height: 1; text-transform: uppercase; letter-spacing: .02em; }
.bambo-mosaic__item { display: flex; flex-direction: column; gap: 6px; color: var(--bambo-ink) !important; text-decoration: none !important; }
.bambo-mosaic__media { position: relative; display: block; background: var(--bambo-white); overflow: hidden; aspect-ratio: 1 / 1; }
.bambo-mosaic__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity .35s, transform .6s; }
.bambo-mosaic__img2 { opacity: 0; }
.bambo-mosaic__item:hover .has-hover .bambo-mosaic__img2 { opacity: 1; }
.bambo-mosaic__item:hover .bambo-mosaic__media img { transform: scale(1.03); }
.bambo-mosaic__top, .bambo-mosaic__name { font-size: 11px; letter-spacing: .06em; text-transform: uppercase; line-height: 1.3; }
.bambo-mosaic__info { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; }
.bambo-mosaic__price { font-size: 11px; white-space: nowrap; }
.bambo-mosaic__top { display: none; }
.bambo-mosaic__more { color: var(--bambo-ink) !important; line-height: 1.35; }

@media (min-width: 768px) {
  .bambo-mosaic:not(.is-few) { aspect-ratio: 1000 / 600; }
  .bambo-mosaic:not(.is-few) .bambo-mosaic__head { position: absolute; left: 0; top: 0; width: 100%; }
  .bambo-mosaic:not(.is-few) .bambo-mosaic__item { position: absolute; }
  .bambo-mosaic:not(.is-few) .bambo-mosaic__item--1 { left: 0;     top: 31%; width: 16%; }
  .bambo-mosaic:not(.is-few) .bambo-mosaic__item--2 { left: 18%;   top: 21%; width: 16%; }
  .bambo-mosaic__item--2 .bambo-mosaic__media { aspect-ratio: 4 / 5; }
  .bambo-mosaic:not(.is-few) .bambo-mosaic__item--3 { left: 34%;   top: 59%; width: 16%; }
  .bambo-mosaic:not(.is-few) .bambo-mosaic__item--4 { left: 52%;   top: 7%;  width: 28%; }
  .bambo-mosaic:not(.is-few) .bambo-mosaic__item--4 .bambo-mosaic__media { aspect-ratio: 1 / 1.03; }
  .bambo-mosaic:not(.is-few) .bambo-mosaic__item--5 { left: 81.5%; top: 31%; width: 16%; }
  /* nome em cima nas peças 2 e 4 (como na referência) */
  .bambo-mosaic:not(.is-few) .bambo-mosaic__item--2 .bambo-mosaic__top, .bambo-mosaic:not(.is-few) .bambo-mosaic__item--4 .bambo-mosaic__top { display: block; }
  .bambo-mosaic:not(.is-few) .bambo-mosaic__item--2 .bambo-mosaic__name, .bambo-mosaic:not(.is-few) .bambo-mosaic__item--4 .bambo-mosaic__name { visibility: hidden; }
  .bambo-mosaic:not(.is-few) .bambo-mosaic__more { position: absolute; left: 66%; top: 88%; }
  /* poucas peças: fileira simples, ainda com alturas diferentes */
  .bambo-mosaic.is-few { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0 20px; align-items: start; }
  .bambo-mosaic.is-few .bambo-mosaic__head { grid-column: 1 / -1; margin-bottom: 40px; }
  .bambo-mosaic.is-few .bambo-mosaic__item:nth-of-type(even) { margin-top: 60px; }
  .bambo-mosaic.is-few .bambo-mosaic__item--2 .bambo-mosaic__media { aspect-ratio: 4 / 5; }
  .bambo-mosaic.is-few .bambo-mosaic__more { grid-column: 1 / -1; justify-self: end; margin-top: 24px; }
}
@media (max-width: 767px) {
  .bambo-mosaic { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 12px; align-items: start; }
  .bambo-mosaic__head { grid-column: 1 / -1; gap: 16px; }
  .bambo-mosaic__item--4 { grid-column: 1 / -1; }
  .bambo-mosaic__item--2, .bambo-mosaic__item--5 { margin-top: 36px; }
  .bambo-mosaic__item--2 .bambo-mosaic__media { aspect-ratio: 4 / 5; }
  .bambo-mosaic__more { grid-column: 1 / -1; justify-self: end; }
}
@media (max-width: 767px) {
  .bambo-mosaic__head { order: 0; } .bambo-mosaic__item--1 { order: 1; } .bambo-mosaic__item--2 { order: 2; }
  .bambo-mosaic__item--4 { order: 3; } .bambo-mosaic__item--3 { order: 4; } .bambo-mosaic__item--5 { order: 5; } .bambo-mosaic__more { order: 6; }
}

/* =====================================================================
   CATEGORIAS em quadrinhos + foto grande (como a referência)
   ===================================================================== */
.bambo-catgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.bambo-catgrid__tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; grid-auto-rows: 1fr; }
.bambo-catgrid__tiles > .bambo-ctile:last-child:nth-child(odd) { grid-column: 1 / -1; }
.bambo-catgrid__tiles--1 { grid-template-columns: 1fr; }
.bambo-ctile { position: relative; display: block; min-height: 190px; background: var(--bambo-white); padding: 16px; overflow: hidden; color: var(--bambo-ink) !important; text-decoration: none !important; transition: background .25s; }
.bambo-ctile:hover { background: var(--bambo-sand); }
.bambo-ctile__name { position: relative; z-index: 1; display: block; max-width: 45%; font-size: 11px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; line-height: 1.35; }
.bambo-ctile__num { position: absolute; left: 16px; bottom: 14px; z-index: 1; font-size: 10px; letter-spacing: .08em; color: var(--bambo-muted); }
.bambo-ctile__img { position: absolute; right: 6%; top: 50%; transform: translateY(-50%); height: 78%; width: 55%; object-fit: contain; mix-blend-mode: multiply; transition: transform .5s; }
.bambo-ctile:hover .bambo-ctile__img { transform: translateY(-50%) scale(1.05); }
.bambo-catgrid__photo { position: relative; display: block; min-height: 100%; aspect-ratio: 4 / 5; overflow: hidden; background: var(--bambo-sky); text-decoration: none !important; }
.bambo-catgrid__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s; }
.bambo-catgrid__photo:hover img { transform: scale(1.03); }
.bambo-catgrid__photo.is-empty { background: repeating-linear-gradient(90deg, #8E1825 0 7%, #FFEDAD 7% 14%); }
.bambo-catgrid__ph { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); background: #FFFFFF; color: var(--bambo-ink); font-family: var(--heading-font); font-size: clamp(32px, 4vw, 56px); letter-spacing: .2em; text-transform: uppercase; padding: 10px 24px 4px 30px; }
.bambo-catgrid__more { position: absolute; left: 18px; bottom: 16px; z-index: 1; color: #FFFFFF; font-size: 13px; text-decoration: underline; text-underline-offset: 4px; text-shadow: 0 1px 8px rgba(0,0,0,.35); }
.bambo-catgrid__photo.is-empty .bambo-catgrid__more { background: #FFFFFF; color: var(--bambo-ink); text-shadow: none; padding: 6px 10px; text-decoration: none; }
@media (max-width: 767px) {
  .bambo-catgrid { grid-template-columns: 1fr; }
  .bambo-ctile { min-height: 150px; }
  .bambo-catgrid__photo { aspect-ratio: 4 / 5; }
}

/* Novidades com menos de 5 peças: uma grande + as outras menores, em alturas diferentes */
@media (min-width: 768px) {
  .bambo-mosaic.is-few { grid-template-columns: repeat(12, 1fr); gap: 0 20px; }
  .bambo-mosaic.is-few .bambo-mosaic__item--1 { grid-column: 1 / span 5; }
  .bambo-mosaic.is-few .bambo-mosaic__item--1 .bambo-mosaic__media { aspect-ratio: 4 / 5; }
  .bambo-mosaic.is-few .bambo-mosaic__item--2 { grid-column: 7 / span 3; margin-top: 120px; }
  .bambo-mosaic.is-few .bambo-mosaic__item--3 { grid-column: 10 / span 3; margin-top: 40px; }
  .bambo-mosaic.is-few .bambo-mosaic__item--4 { grid-column: 7 / span 3; margin-top: 30px; }
  .bambo-mosaic.is-few .bambo-mosaic__item:nth-of-type(even) { margin-top: 120px; }
  .bambo-mosaic.is-few .bambo-mosaic__item--4:nth-of-type(even) { margin-top: 30px; }
  .bambo-mosaic.is-few .bambo-mosaic__item--2 .bambo-mosaic__media { aspect-ratio: 1 / 1; }
  .bambo-mosaic.is-few .bambo-mosaic__more { grid-column: 7 / -1; justify-self: start; margin-top: 48px; }
}
