/* ══════════════════════════════════════════════════════════════
   BOUT · Loja — TEMA v2 "KNOCKOUT" (2026-07)
   Redesign completo do storefront: tema escuro (P&B invertido,
   bone sobre tinta), acento vermelho único, chrome técnico em
   IBM Plex Mono com colchetes [ ] e numeração [01], tipografia
   monumental Inter 800, hairlines e cantos retos.

   Esta folha carrega DEPOIS do <style> inline e do themeStyle()
   (#mm-theme) e vence por ordem/especificidade. O escopo escuro
   fica em body.bout-store — as telas de conta/admin continuam
   claras (seção MINHA CONTA no fim do arquivo).
   Motion correspondente: assets/js/bout.js.
   ══════════════════════════════════════════════════════════════ */

/* ── fontes auto-hospedadas ────────────────────────────────────── */
@font-face { font-family:'Inter'; src:url('../fonts/inter-400.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Inter'; src:url('../fonts/inter-500.woff2') format('woff2'); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:'Inter'; src:url('../fonts/inter-600.woff2') format('woff2'); font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:'Inter'; src:url('../fonts/inter-700.woff2') format('woff2'); font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:'Inter'; src:url('../fonts/inter-800.woff2') format('woff2'); font-weight:800; font-style:normal; font-display:swap; }
@font-face { font-family:'Inter'; src:url('../fonts/inter-900.woff2') format('woff2'); font-weight:900; font-style:normal; font-display:swap; }
@font-face { font-family:'IBM Plex Mono'; src:url('../fonts/plexmono-400.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'IBM Plex Mono'; src:url('../fonts/plexmono-500.woff2') format('woff2'); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:'IBM Plex Mono'; src:url('../fonts/plexmono-600.woff2') format('woff2'); font-weight:600; font-style:normal; font-display:swap; }

/* tokens de fonte padrão (conta/admin continuam herdando Inter) */
:root{
  --display:'Inter',system-ui,-apple-system,'Helvetica Neue',Helvetica,Arial,sans-serif;
  --mono:'Inter',system-ui,-apple-system,'Helvetica Neue',Helvetica,Arial,sans-serif;
  --sans:'Inter',system-ui,-apple-system,'Helvetica Neue',Helvetica,Arial,sans-serif;
}

/* ══════════════════════════════════════════════════════════════
   STOREFRONT ESCURO — escopo body.bout-store
   Inverte os tokens semânticos usados pelo CSS inline:
   --b bg da página · --bl superfície · --bm elevado (inputs)
   --w texto/tinta  · --g apagado     · --gl hairline
   ══════════════════════════════════════════════════════════════ */
html:has(body.bout-store){ background:#0f0f0e; }
body.bout-store{
  --b:#0f0f0e; --bg:#0f0f0e; --bg2:#161615;
  --bl:#161615; --bm:#1b1b19;
  --w:#ecebe4; --y:#ecebe4; --ink:#ecebe4;
  --g:#8b887d; --gl:#262624;
  --paper:#0f0f0e; --bone:#ecebe4; --ink-2:#ecebe4;
  --mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-hard:cubic-bezier(.76,0,.24,1);
  background:var(--b); color:var(--w);
  font-family:var(--sans);
}
body.bout-store ::selection{ background:var(--accent); color:#fff; }
html:has(body.bout-store)::-webkit-scrollbar{ width:10px; }
html:has(body.bout-store)::-webkit-scrollbar-thumb{ background:#2c2c29; border:2px solid #0f0f0e; }
html:has(body.bout-store)::-webkit-scrollbar-track{ background:#0f0f0e; }

/* cantos retos em tudo (brutalismo) */
.bout-store .btn-buy,.bout-store .btn-sold,.bout-store .btn-submit,.bout-store .cep-row button,
.bout-store .badge,.bout-store .gift,.bout-store .ditem,.bout-store .frete-box,.bout-store .frete-opt,
.bout-store .mode-opt,.bout-store .co-items,.bout-store .sbadge-co,.bout-store .hdr-bag,
.bout-store .p-color,.bout-store .p-size,.bout-store .card-tag,.bout-store .thumb,.bout-store .gal-main,
.bout-store .placeholder,.bout-store .bag-thumb,.bout-store .sign-box,.bout-store .sign-mark,
.bout-store .pickup-alert,.bout-store .retirada-note,.bout-store .err,
.bout-store input[type=text],.bout-store input[type=email],.bout-store input[type=tel]{
  border-radius:0 !important;
}
.bout-store a:focus-visible,.bout-store button:focus-visible,.bout-store input:focus-visible,
.bout-store .p-size:focus-visible{
  border-radius:0 !important; outline:2px solid var(--accent); outline-offset:2px;
}

/* rótulo técnico universal: mono + colchetes */
.bout-store .u-label{
  font-family:var(--mono); font-weight:500; font-size:11px;
  letter-spacing:.06em; text-transform:uppercase; color:var(--g);
}
.bout-store .t-num{ color:var(--accent); }

/* ────────────────────────────────────────────────────────────
   HEADER — chrome técnico: marca · coords/relógio · nav
   ──────────────────────────────────────────────────────────── */
.bout-store header{
  mix-blend-mode:normal; background:transparent; border-bottom:1px solid transparent;
  padding:14px clamp(16px,3vw,34px);
  transition:background .4s var(--ease),border-color .4s var(--ease),backdrop-filter .4s var(--ease);
}
.bout-store header.scrolled{
  background:rgba(15,15,14,.72); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom-color:var(--gl);
}
.bout-store .hdr-brand img{ height:24px; filter:brightness(0) invert(1) opacity(.94); }
.bout-store .hdr-mid{
  position:absolute; left:50%; transform:translateX(-50%);
  display:flex; align-items:center; gap:clamp(14px,2vw,28px);
  font-family:var(--mono); font-size:10.5px; font-weight:500;
  letter-spacing:.05em; text-transform:uppercase; color:var(--g);
  font-variant-numeric:tabular-nums; pointer-events:none; user-select:none;
}
.bout-store .hdr-mid b{ font-weight:500; color:var(--w); }
.bout-store .hm-coords{ min-width:15ch; }
.bout-store .hm-dot{
  display:inline-block; width:6px; height:6px; border-radius:50%;
  background:var(--accent); margin-right:8px; vertical-align:1px;
  animation:blink 1.6s ease-in-out infinite;
}
.bout-store .hm-open{ color:var(--accent); }
.bout-store .hdr-link{
  font-family:var(--mono); font-size:11.5px; font-weight:500; letter-spacing:.05em;
  text-transform:uppercase; color:var(--w); opacity:.85;
  transition:opacity .25s var(--ease),color .25s var(--ease);
}
.bout-store .hdr-link:hover{ opacity:1; color:var(--accent); }
.bout-store .hdr-bag{
  border:1px solid var(--w); padding:8px 14px; color:var(--w); opacity:1;
  transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease);
}
.bout-store .hdr-bag:hover{ background:var(--accent); border-color:var(--accent); color:#fff; opacity:1; }
@media(max-width:900px){ .bout-store .hdr-mid{ display:none; } }

/* ────────────────────────────────────────────────────────────
   CORTINA / PRELOADER — tinta sobre tinta, contador mono
   ──────────────────────────────────────────────────────────── */
.bout-store .curtain{ background:#0c0c0b; }
.bout-store .curtain-mark{ color:var(--w); }
.bout-store .curtain-mark .reg{ color:var(--accent); opacity:1; }
.bout-store .curtain-count{
  font-family:var(--mono); font-weight:500; font-size:12px; letter-spacing:.04em;
  color:var(--accent); opacity:1; text-transform:uppercase;
}
.bout-store .curtain-bar{
  position:absolute; left:0; bottom:0; height:2px; width:0%;
  background:var(--accent); transition:width .18s linear;
}

/* ────────────────────────────────────────────────────────────
   HOME — nome monumental, subhead numerado, catálogo
   ──────────────────────────────────────────────────────────── */
.bout-store .bigname-h,.bout-store .bn-line{ color:var(--w); font-family:var(--display); font-weight:800; }
.bout-store .bigname-reg{ color:var(--accent); }
.bout-store .bigname-rule{ height:2px; background:var(--w); }
.bout-store .bigname{ will-change:transform; }

.bout-store .subhead{ border-bottom:1px solid var(--gl); padding-bottom:clamp(28px,3.6vw,52px); }
.bout-store .subhead .u-label{ font-size:11px; }
.bout-store .sh-col .t-num{ display:block; margin-bottom:12px; }
.bout-store .sh-why p{ color:var(--g); font-size:clamp(13px,1.25vw,15px); }
.bout-store .sh-why p strong{ color:var(--w); font-weight:600; }
.bout-store .sh-link{ color:var(--w); }
.bout-store .sh-link:hover{ color:var(--accent); }
.bout-store .sh-status{ display:flex; flex-direction:column; gap:10px; }

/* cabeçalho do catálogo: [Catálogo] ..... (N) */
.bout-store .cat-head{
  display:flex; align-items:baseline; justify-content:space-between;
  padding:clamp(18px,2.4vw,30px) 0 clamp(14px,1.8vw,22px);
}
.bout-store .catalog{ padding-top:0; }

/* cards: hairline, meta mono, wipe de entrada */
.bout-store .card-media{ border:1px solid var(--gl); background:var(--bl); }
.bout-store .card-name{ font-weight:700; letter-spacing:-.02em; }
.bout-store .card-cat{
  font-family:var(--mono); font-weight:400; font-size:11px; letter-spacing:.05em; color:var(--g);
}
.bout-store .card-cat::before{ background:var(--accent); width:6px; height:6px; }
.bout-store .card-price{
  font-family:var(--mono); font-weight:500; font-size:clamp(14px,1.3vw,17px);
  color:var(--w); letter-spacing:0; padding-top:6px;
}
.bout-store .card-tag{
  font-family:var(--mono); font-weight:500; border:1px solid var(--gl);
  background:rgba(15,15,14,.82); color:var(--w); backdrop-filter:blur(4px);
}
.bout-store .card-tag.gone{ background:var(--accent); border-color:var(--accent); color:#fff; }
.bout-store .media-ph{ background:var(--bl); color:var(--g); }
.bout-store a.card:not(.is-off):hover .card-name{ opacity:1; color:var(--accent); }

/* wipe de revelação da imagem (a cortininha sobe dentro do frame) */
html.js body.bout-store .card .card-media::after{
  content:''; position:absolute; inset:-1px; z-index:3; background:var(--b);
  transform:translateY(0); transition:transform 1s var(--ease-hard);
  transition-delay:var(--rd,0s);
}
html.js body.bout-store .card.in .card-media::after{ transform:translateY(-101%); }
html.js body.bout-store .card:not(.in) .cm-front{ transform:scale(1.12); }

/* flash de hover recalibrado pro fundo escuro */
@keyframes cardFlash{
  0%{filter:saturate(1.9) brightness(1.9) contrast(1.1)}
  35%{filter:saturate(1.35) brightness(1.35) contrast(1.05)}
  100%{filter:saturate(1) brightness(1)}
}
@keyframes shotIn{
  0%{transform:scale(1.12);filter:saturate(1.9) brightness(1.8) contrast(1.1)}
  40%{transform:scale(1.05);filter:saturate(1.4) brightness(1.3)}
  100%{transform:scale(1);filter:saturate(1) brightness(1) contrast(1)}
}
.bout-store .p-media .p-shot img{ filter:saturate(1.9) brightness(1.8) contrast(1.1); }
.bout-store .p-media .p-shot:first-child img{ filter:none; }

/* ────────────────────────────────────────────────────────────
   MARQUEE — letreiro monumental reativo ao scroll
   ──────────────────────────────────────────────────────────── */
.bout-store .marquee{
  border-top:1px solid var(--gl); border-bottom:1px solid var(--gl);
  padding:clamp(18px,2.6vw,34px) 0; margin:clamp(24px,4vw,56px) 0 0;
}
.bout-store .marquee b{
  font-family:var(--display); font-weight:800; text-transform:uppercase;
  font-size:clamp(44px,7vw,110px); letter-spacing:-.03em; line-height:.9; padding:0;
}
.bout-store .marquee i{
  font-family:var(--mono); font-weight:500; font-style:normal; color:var(--accent);
  font-size:.32em; margin:0 clamp(20px,3vw,48px); align-self:center; letter-spacing:.1em;
}
.bout-store .marquee b{ display:inline-flex; align-items:center; }
.bout-store .mq-group{ align-items:center; }

/* ────────────────────────────────────────────────────────────
   MANIFESTO — statement gigante com reveal por palavra
   ──────────────────────────────────────────────────────────── */
.bout-store .tagbig{ padding:clamp(56px,9vw,140px) clamp(14px,3vw,34px); }
.bout-store .tagbig .u-label{ display:block; margin-bottom:clamp(18px,2.6vw,34px); }
.bout-store .hero-tag{
  font-family:var(--display); font-weight:800; text-transform:uppercase;
  font-size:clamp(38px,8.6vw,136px); letter-spacing:-.035em; line-height:.94; max-width:20ch;
}
.bout-store .hero-tag em{ font-style:normal; color:var(--accent); }

/* máscara de linha (end-tag) — bout.js envolve o conteúdo em .lm-in */
.bout-store .lm{ display:block; overflow:hidden; }
.bout-store .lm .lm-in{ display:inline-block; will-change:transform; }
html.js .bout-store .end-top:not(.in) .lm .lm-in{ transform:translateY(112%); }
.bout-store .end-top.in .lm .lm-in{ transform:none; transition:transform 1s var(--ease); }

/* ────────────────────────────────────────────────────────────
   ENDBLOCK — fechamento + wordmark monumental (bigfoot)
   ──────────────────────────────────────────────────────────── */
.bout-store .endblock{ background:var(--b); color:var(--w); margin-top:clamp(30px,4vw,56px); padding-bottom:clamp(20px,2.6vw,34px); }
.bout-store .end-rule{ height:1px; background:var(--gl); }
.bout-store .end-tag{ text-transform:uppercase; letter-spacing:-.035em; }
.bout-store .end-reg{ color:var(--accent); }
.bout-store .end-desc{ color:var(--g); font-size:clamp(15px,1.6vw,19px); }
.bout-store .ef-col a,.bout-store .ef-col span{
  font-family:var(--mono); letter-spacing:.04em; text-transform:uppercase; font-size:11.5px;
}
.bout-store .ef-col a:hover{ color:var(--accent); }
.bout-store .ef-brand{
  font-family:var(--display); font-weight:800; text-transform:uppercase;
  letter-spacing:0; font-size:18px; color:var(--w);
}
.bout-store .ef-sub,.bout-store .ef-pay span{ color:var(--g); }
.bout-store .bigfoot{
  overflow:hidden; margin-top:clamp(48px,7vw,110px); line-height:.8;
}
.bout-store .bigfoot .bn-line{ display:table; white-space:nowrap; }

/* footer pequeno (páginas internas) */
.bout-store footer{ border-top:1px solid var(--gl); }
.bout-store footer p{ font-family:var(--mono); font-size:10.5px; letter-spacing:.05em; text-transform:uppercase; color:var(--g); }
.bout-store footer a{ color:var(--w); text-decoration:none; }
.bout-store footer a:hover{ color:var(--accent); }

/* ────────────────────────────────────────────────────────────
   PRODUTO — painel escuro, linhas técnicas
   ──────────────────────────────────────────────────────────── */
.bout-store .p-media{ background:var(--bl); }
.bout-store .p-media-ph{ background:var(--bl); }
.bout-store .p-back{
  font-family:var(--mono); font-size:11.5px; letter-spacing:.05em; text-transform:uppercase; color:var(--g);
}
.bout-store .p-back:hover{ color:var(--accent); }
.bout-store .p-title{ font-weight:800; letter-spacing:-.035em; text-transform:uppercase; }
.bout-store .p-price{ font-family:var(--mono); font-weight:500; letter-spacing:0; font-size:clamp(20px,2.2vw,28px); }
.bout-store .p-old{ font-family:var(--mono); font-size:14px; }
.bout-store .p-desc{ color:var(--g); }
.bout-store .p-row{ border-top:1px solid var(--gl); }
.bout-store .p-row:last-of-type{ border-bottom:1px solid var(--gl); }
.bout-store .p-row-lbl{
  font-family:var(--mono); font-size:11.5px; font-weight:500; letter-spacing:.05em;
  text-transform:uppercase; color:var(--g);
}
.bout-store .p-color{ font-family:var(--mono); font-weight:500; font-size:12px; background:var(--w); color:var(--b); }
.bout-store .p-size{ font-family:var(--mono); font-weight:500; border:1px solid transparent; color:var(--w); }
.bout-store .p-size:hover{ border-color:var(--g); }
.bout-store .p-size.on{ background:var(--w); color:var(--b); border-color:var(--w); }
.bout-store .p-size.out{ color:var(--g); }
.bout-store .p-qbtn{ color:var(--w); }
.bout-store .p-qval{ font-family:var(--mono); }
.bout-store .p-addbag{ color:var(--w); text-transform:uppercase; letter-spacing:-.01em; }
.bout-store .p-addbag:hover{ color:var(--accent); }
.bout-store .p-addbag.p-sold{ color:var(--g); }
.bout-store .p-note{ font-family:var(--mono); font-size:11px; letter-spacing:.04em; text-transform:uppercase; color:var(--g); }
/* entrada do painel: pausada até a cortina liberar (.page-in) */
html.js body.bout-store:not(.page-in) .p-panel .p-rise{ animation-play-state:paused; }

/* ────────────────────────────────────────────────────────────
   SACOLA — linhas finas, tipografia técnica
   ──────────────────────────────────────────────────────────── */
.bout-store .bag-back{ font-family:var(--mono); font-size:11.5px; letter-spacing:.05em; text-transform:uppercase; color:var(--w); }
.bout-store .bag-back:hover{ color:var(--accent); }
.bout-store .bag-kick span{ font-family:var(--mono); font-weight:500; font-size:11px; color:var(--g); }
.bout-store .bag-rule{ height:2px; background:var(--w); }
.bout-store .bag-row{ border-top:1px solid var(--gl); }
.bout-store .bag-row:last-child{ border-bottom:1px solid var(--gl); }
.bout-store .bag-name{ text-transform:uppercase; letter-spacing:-.02em; }
.bout-store .bag-meta{ font-family:var(--mono); font-weight:400; font-size:11px; letter-spacing:.05em; }
.bout-store .bag-qbtn{ border:1px solid var(--gl); border-radius:0 !important; color:var(--w); }
.bout-store .bag-qbtn:hover:not(:disabled){ background:var(--w); border-color:var(--w); color:var(--b); }
.bout-store .bag-qv,.bout-store .bag-price{ font-family:var(--mono); font-weight:500; }
.bout-store .bag-price{ font-size:clamp(15px,1.5vw,19px); }
.bout-store .bag-rm{ color:var(--g); }
.bout-store .bag-rm:hover{ color:var(--accent); }
.bout-store .bag-sum-line span:first-child{ font-family:var(--mono); font-weight:500; color:var(--g); }
.bout-store .bag-sum-line span:last-child{ font-family:var(--mono); font-weight:500; letter-spacing:0; font-size:clamp(22px,3vw,40px); }
.bout-store .bag-sum-note{ font-family:var(--mono); font-size:11px; letter-spacing:.04em; text-transform:uppercase; }
.bout-store .bag-checkout{ text-transform:uppercase; }
.bout-store .bag-empty-big{ text-transform:uppercase; }
.bout-store .bag-cta{ text-transform:uppercase; }
/* entrada das linhas da sacola */
html.js body.bout-store:not(.page-in) .bag-row,
html.js body.bout-store:not(.page-in) .bag-summary,
html.js body.bout-store:not(.page-in) .bag-empty > *{ opacity:0; }
body.bout-store.page-in .bag-row,
body.bout-store.page-in .bag-summary,
body.bout-store.page-in .bag-empty > *{ animation:boutRise .8s var(--ease) both; }
body.bout-store.page-in .bag-row:nth-child(1){ animation-delay:.08s }
body.bout-store.page-in .bag-row:nth-child(2){ animation-delay:.16s }
body.bout-store.page-in .bag-row:nth-child(3){ animation-delay:.24s }
body.bout-store.page-in .bag-row:nth-child(4){ animation-delay:.32s }
body.bout-store.page-in .bag-row:nth-child(n+5){ animation-delay:.4s }
body.bout-store.page-in .bag-summary{ animation-delay:.34s }
body.bout-store.page-in .bag-empty > *:nth-child(2){ animation-delay:.1s }
body.bout-store.page-in .bag-empty > *:nth-child(3){ animation-delay:.2s }
@keyframes boutRise{ from{opacity:0;transform:translateY(26px)} to{opacity:1;transform:none} }

/* ────────────────────────────────────────────────────────────
   CHECKOUT — formulário técnico escuro
   ──────────────────────────────────────────────────────────── */
.bout-store .back{ font-family:var(--mono); font-size:11.5px; letter-spacing:.05em; color:var(--g); }
.bout-store .back:hover{ color:var(--accent); }
.bout-store .co-step,.bout-store .sec-title{
  font-family:var(--mono); font-weight:500; letter-spacing:.06em; color:var(--accent);
  display:inline-flex; align-items:center; gap:.5em;
}
.bout-store .co-step::before,.bout-store .sec-title::before{ content:'['; color:var(--g); }
.bout-store .co-step::after,.bout-store .sec-title::after{ content:']'; color:var(--g); }
.bout-store .co-title{ text-transform:uppercase; }
.bout-store .co-sub{ color:var(--g); }
.bout-store .field label{ font-family:var(--mono); font-weight:400; letter-spacing:.05em; color:var(--g); }
.bout-store input[type=text],.bout-store input[type=email],.bout-store input[type=tel]{
  background:var(--bm); border:1px solid var(--gl); color:var(--w);
}
.bout-store input::placeholder{ color:#5c5a52; }
.bout-store input:focus{ border-color:var(--accent) !important; }
.bout-store .co-items{ border:1px solid var(--gl); background:var(--bl); }
.bout-store .co-item-row{ border-bottom:1px solid var(--gl); font-family:var(--mono); font-size:12px; color:var(--g); }
.bout-store .co-item-row strong{ color:var(--w); font-weight:500; }
.bout-store .mode-opt{ border:1px solid var(--gl); background:var(--bl); }
.bout-store .mode-opt:hover{ border-color:var(--g); }
.bout-store .mode-opt.on{ border-color:var(--w); background:var(--bm); }
.bout-store .mode-opt .mo-t{ color:var(--w); font-weight:600; }
.bout-store .mode-opt .mo-d{ color:var(--g); }
.bout-store .retirada-note{ border:1px solid var(--gl); background:var(--bl); color:var(--g); }
.bout-store .retirada-note strong{ color:var(--w); }
.bout-store .frete-box{ border:1px solid var(--gl); background:var(--bl); }
.bout-store .frete-empty,.bout-store .frete-loading{ font-family:var(--mono); font-size:12px; color:var(--g); }
.bout-store .frete-opt:hover{ background:var(--bm); }
.bout-store .frete-opt+.frete-opt{ border-top:1px solid var(--gl); }
.bout-store .frete-opt .fo-name{ color:var(--w); }
.bout-store .frete-opt .fo-days{ color:var(--g); font-family:var(--mono); font-size:11px; }
.bout-store .frete-opt .fo-price{ font-family:var(--mono); font-weight:500; color:var(--w); }
.bout-store .cep-row button{
  border:1px solid var(--w); background:var(--w); color:var(--b);
  font-family:var(--mono); font-weight:600; letter-spacing:.04em;
}
.bout-store .cep-row button:hover{ filter:none; background:var(--accent); border-color:var(--accent); color:#fff; }
.bout-store .sign-box{ border:1px solid var(--gl); background:var(--bl); }
.bout-store .sign-lbl input:checked~.sign-box{ border-color:var(--w); background:var(--bm); }
.bout-store .sign-mark{ border:1px solid var(--gl); }
.bout-store .sign-lbl input:checked~.sign-box .sign-mark{ background:var(--accent); border-color:var(--accent); color:#fff; }
.bout-store .sign-info-desc{ font-family:var(--mono); font-size:11px; }
.bout-store .ck-line{ font-family:var(--mono); font-size:12.5px; color:var(--g); }
.bout-store .ck-total{ border-top:1px solid var(--gl); }
.bout-store .ck-total .tl{ font-family:var(--mono); letter-spacing:.08em; }
.bout-store .ck-total .tv{ font-family:var(--mono); font-weight:600; letter-spacing:0; }
.bout-store .err{ background:rgba(229,35,27,.08); border:1px solid rgba(229,35,27,.45); color:#ff6a63; }
.bout-store .btn-submit,.bout-store .btn-buy{
  background:var(--accent); color:#fff; border:1px solid var(--accent);
  font-family:var(--mono); font-weight:600; letter-spacing:.06em;
  transition:transform .18s,box-shadow .18s,background .2s,color .2s;
}
.bout-store .btn-buy:hover,.bout-store .btn-submit:hover:not(:disabled){
  filter:none; transform:translate(-2px,-2px); box-shadow:5px 5px 0 var(--w);
}
.bout-store .btn-buy:active,.bout-store .btn-submit:active{ transform:translate(0,0); box-shadow:none; }
.bout-store .btn-sold{ background:var(--bl); border:1px solid var(--gl); color:var(--g); font-family:var(--mono); }
.bout-store .sub-note,.bout-store .btnnote{ font-family:var(--mono); font-size:10.5px; letter-spacing:.03em; color:var(--g); }
/* entrada do checkout */
html.js body.bout-store:not(.page-in) .checkout-wrap > *{ opacity:0; }
body.bout-store.page-in .checkout-wrap > *{ animation:boutRise .75s var(--ease) both; }
body.bout-store.page-in .checkout-wrap > *:nth-child(2){ animation-delay:.06s }
body.bout-store.page-in .checkout-wrap > *:nth-child(3){ animation-delay:.12s }
body.bout-store.page-in .checkout-wrap > *:nth-child(4){ animation-delay:.18s }
body.bout-store.page-in .checkout-wrap > *:nth-child(n+5){ animation-delay:.24s }

/* ────────────────────────────────────────────────────────────
   CURSOR v2 — ponto + anel com lag; [VER] nos cards
   ──────────────────────────────────────────────────────────── */
.bout-store .cursor{ position:fixed; top:0; left:0; z-index:9000; pointer-events:none; opacity:0; transition:opacity .35s var(--ease); }
.bout-store .cursor.ready{ opacity:1; }
.bout-store .cursor-dot{
  position:absolute; top:0; left:0; display:block;
  width:6px; height:6px; margin:-3px 0 0 -3px; border-radius:50%;
  background:var(--accent); transition:none; will-change:transform;
}
.bout-store .cursor-ring{
  position:absolute; top:0; left:0; display:flex; align-items:center; justify-content:center;
  width:34px; height:34px; margin:-17px 0 0 -17px; border-radius:50%;
  border:1px solid rgba(236,235,228,.4); background:transparent;
  transition:width .4s var(--ease),height .4s var(--ease),margin .4s var(--ease),
             background .35s var(--ease),border-color .35s var(--ease);
  will-change:transform;
}
.bout-store .cursor-ring .cr-txt{
  font-family:var(--mono); font-size:11px; font-weight:500; letter-spacing:.06em;
  color:#fff; opacity:0; transform:scale(.6);
  transition:opacity .25s var(--ease),transform .35s var(--ease); white-space:nowrap;
}
.bout-store .cursor.view .cursor-ring{
  width:96px; height:96px; margin:-48px 0 0 -48px;
  background:var(--accent); border-color:var(--accent);
}
.bout-store .cursor.view .cursor-ring .cr-txt{ opacity:1; transform:scale(1); }
.bout-store .cursor.view .cursor-dot{ opacity:0; }
.bout-store .cursor.active:not(.view) .cursor-ring{
  width:52px; height:52px; margin:-26px 0 0 -26px; border-color:var(--accent);
}
/* anula o layout antigo do cursor (CSS inline) */
.bout-store .cursor.view .cursor-dot,.bout-store .cursor.active:not(.view) .cursor-dot{
  width:6px; height:6px; margin:-3px 0 0 -3px;
}

/* ────────────────────────────────────────────────────────────
   BADGES / DIVERSOS
   ──────────────────────────────────────────────────────────── */
.bout-store .badge{ border:1px solid var(--gl); font-family:var(--mono); font-weight:500; color:var(--g); }
.bout-store .badge::before{ background:var(--accent); }
.bout-store .sbadge-co{ border:1px solid var(--gl); background:var(--bl); }
.bout-store .sbadge-co span{ font-family:var(--mono); letter-spacing:.03em; color:var(--w); }
.bout-store .pickup-alert{ border:1px solid var(--gl); background:var(--bl); }
.bout-store .pickup-kicker{ font-family:var(--mono); color:var(--accent); }
.bout-store .pickup-alert p{ color:var(--g); }
.bout-store .pickup-alert strong,.bout-store .pickup-title{ color:var(--w); }
.bout-store .gift{ border:1px solid var(--gl); background:var(--bl); }
.bout-store .gift-title{ font-family:var(--mono); color:var(--accent); }
.bout-store .szlbl{ border:1px solid var(--gl); background:var(--bm); font-family:var(--mono); color:var(--g); }
.bout-store .szopt:checked+.szlbl{ background:var(--w); border-color:var(--w); color:var(--b); }

/* ── reduced motion: estados finais, sem cortina/cursor ── */
@media(prefers-reduced-motion:reduce){
  .bout-store .curtain,.bout-store .cursor{ display:none !important; }
  html.js body.bout-store:not(.page-in) .checkout-wrap > *,
  html.js body.bout-store:not(.page-in) .bag-row,
  html.js body.bout-store:not(.page-in) .bag-summary,
  html.js body.bout-store:not(.page-in) .bag-empty > *{ opacity:1; }
  .bout-store .p-panel .p-rise{ animation:none; opacity:1; }
  html.js body.bout-store .card .card-media::after{ display:none; }
  html.js body.bout-store .card:not(.in) .cm-front{ transform:none; }
}

/* ── mobile ── */
@media(max-width:520px){
  .bout-store .co-step::before,.bout-store .co-step::after,
  .bout-store .sec-title::before,.bout-store .sec-title::after{ content:''; }
  .bout-store .marquee b{ font-size:clamp(36px,11vw,64px); }
}

/* ══════════════════════════════════════════════════════════════
   MINHA CONTA (renderConta) — mantém o tema claro original
   ══════════════════════════════════════════════════════════════ */
.brand{ font-family:var(--display); font-weight:800; letter-spacing:.02em; font-size:18px; }
.h1{ font-family:var(--display); font-weight:800; }
.h1 span,.brand span{ color:var(--accent); }
.empty b,.order-id{ font-family:var(--display); font-weight:800; }
.field label,.sec-h,.top a.back,.acct-nav a,.tabs a,.btn-out,.ou{ font-family:var(--mono); }
.acct-nav a,.tabs a{ border:1.5px solid var(--line2); font-weight:600; letter-spacing:.04em; }
.acct-nav a.on,.tabs a.on{ background:var(--ink); color:#fff; border-color:var(--ink); }
body:not(.bout-store) .card,.order,.empty{ border:1.5px solid var(--line); }
.empty{ border-style:dashed; }
.btn{
  background:var(--ink); color:var(--bg); border:1.5px solid var(--ink);
  font-family:var(--mono); font-weight:600; letter-spacing:.06em;
  transition:transform .18s, box-shadow .18s, background .2s, color .2s;
}
.btn:hover{ filter:none; transform:translate(-2px,-2px); box-shadow:5px 5px 0 var(--accent); }
.btn:active{ transform:translate(0,0); box-shadow:none; }
.btn-out,.btn-google{ border:1.5px solid var(--line2); font-weight:600; }
.btn-out:hover,.btn-google:hover{ border-color:var(--ink); box-shadow:none; }
.wa-btn{ font-family:var(--mono); font-weight:700; letter-spacing:.04em; }
.inp{ border:1.5px solid var(--line2); }
body:not(.bout-store) .inp,body:not(.bout-store) .acct-nav a,body:not(.bout-store) .tabs a,
body:not(.bout-store) .btn,body:not(.bout-store) .btn-out,body:not(.bout-store) .btn-google,
body:not(.bout-store) .order,body:not(.bout-store) .empty,body:not(.bout-store) .order-box,
body:not(.bout-store) .phonebox,body:not(.bout-store) .icon,body:not(.bout-store) .eye,
body:not(.bout-store) .ou{ border-radius:0 !important; }
body:not(.bout-store) a:focus-visible,body:not(.bout-store) button:focus-visible,
body:not(.bout-store) input:focus-visible{
  border-radius:0 !important; outline:2px solid var(--accent); outline-offset:2px;
}
