/* ═══════════════════════════════════════════════════════════════
   KAZZI COMPANY — "O MURO"
   Design system maximalista graffiti / sticker-bomb.
   Paleta estrita da marca: VERMELHO, PRETO e BRANCO.
   O site é um muro: asfalto preto, stickers de papel, tinta vermelha,
   tape marquees, spray tags, sombras duras, tudo levemente torto.
   ═══════════════════════════════════════════════════════════════ */

/* ─── Tokens ───────────────────────────────────────────────── */
:root{
  /* superfícies */
  --wall:#0F0D0D;          /* asfalto */
  --wall2:#1A1717;
  --ink:#0A0808;           /* tinta preta */
  --paper:#F5F1E8;         /* papel de sticker */
  --paper2:#EAE4D6;
  /* a cor */
  --red:#E8001C;
  --red2:#FF1A33;
  --red-dk:#9E0013;
  /* texto */
  --mut:#8A8580;
  --mut2:#B8B2AA;
  --off:#F5F1E8;
  /* compat (código legado usa --ac/--bor/--card) */
  --ac:var(--red);
  --ac2:var(--red2);
  --bor:rgba(245,241,232,.14);
  --bor2:rgba(245,241,232,.25);
  --card:var(--wall2);
  --card2:#221E1E;
  /* medidas */
  --hh:60px;
  --shadow-ink:6px 6px 0 var(--ink);
  --shadow-ink-sm:4px 4px 0 var(--ink);
  --shadow-red:6px 6px 0 var(--red);
  --f-display:'Anton',sans-serif;
  --f-spray:'Rubik Spray Paint',cursive;
  --f-marker:'Permanent Marker',cursive;
  --f-body:'Archivo',sans-serif;
}

/* ─── Reset ────────────────────────────────────────────────── */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--f-body);
  background:var(--wall);
  color:var(--off);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{cursor:pointer;font-family:inherit;color:inherit}
input,textarea,select{font-family:inherit}
::selection{background:var(--red);color:#fff}
::-webkit-scrollbar{width:12px;height:12px}
::-webkit-scrollbar-track{background:var(--ink)}
::-webkit-scrollbar-thumb{background:var(--red);border:3px solid var(--ink)}
::-webkit-scrollbar-thumb:hover{background:var(--paper)}

/* Grão do muro — textura em todo o site */
body::after{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:9000;
  opacity:.07;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E");
}

.container{max-width:1280px;margin:0 auto;padding:0 20px}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;clip:rect(0 0 0 0);overflow:hidden}

/* ─── Utilitário: sticker ──────────────────────────────────── */
.stkr{
  background:var(--paper);color:var(--ink);
  border:3px solid var(--ink);
  box-shadow:var(--shadow-ink);
}

/* ═══════════════════════════════════════════════════════════
   SPLASH — logo slap
   ═══════════════════════════════════════════════════════════ */
.logo-splash{
  position:fixed;inset:0;z-index:10000;
  background:
    radial-gradient(circle at 30% 25%, rgba(232,0,28,.18), transparent 45%),
    radial-gradient(circle at 75% 70%, rgba(232,0,28,.1), transparent 40%),
    var(--ink);
  display:flex;align-items:center;justify-content:center;
  animation:splashOut .55s cubic-bezier(.7,0,.84,0) 2.9s forwards;
}
@keyframes splashOut{
  to{transform:translateY(-102%);visibility:hidden;pointer-events:none}
}
.logo-anim{position:relative;width:320px;height:340px;display:flex;align-items:center;justify-content:center}
.splash-spray{position:absolute;inset:0;pointer-events:none}
.splash-tri{position:absolute;inset:0;width:100%;height:100%}
.tri-line{
  stroke:var(--red);stroke-width:6;stroke-linecap:square;
  stroke-dasharray:300;stroke-dashoffset:300;
  animation:triDraw .4s ease-out forwards;
}
.tri-l1{animation-delay:.15s}
.tri-l2{animation-delay:.5s}
.tri-l3{animation-delay:.85s}
@keyframes triDraw{to{stroke-dashoffset:0}}
.splash-text{
  position:relative;z-index:2;display:flex;gap:2px;
  font-family:var(--f-display);font-size:74px;line-height:1;
}
.st-k{
  opacity:0;display:inline-block;
  animation:slap .3s cubic-bezier(.2,1.6,.35,1) forwards;
  text-shadow:4px 4px 0 rgba(232,0,28,.55);
}
.st-k:nth-child(1){color:var(--paper);animation-delay:1.15s;--rot:-6deg}
.st-k:nth-child(2){color:var(--red);  animation-delay:1.3s; --rot:4deg}
.st-k:nth-child(3){color:var(--paper);animation-delay:1.45s;--rot:-3deg}
.st-k:nth-child(4){color:var(--red);  animation-delay:1.6s; --rot:5deg}
.st-k:nth-child(5){color:var(--paper);animation-delay:1.75s;--rot:-5deg}
@keyframes slap{
  0%{opacity:0;transform:scale(2.6) rotate(0deg)}
  100%{opacity:1;transform:scale(1) rotate(var(--rot,0deg))}
}
.splash-company{
  position:absolute;top:214px;left:50%;transform:translateX(-50%) rotate(-2deg);
  z-index:4;
  font-family:var(--f-marker);font-size:15px;letter-spacing:7px;color:var(--paper);
  text-shadow:2px 2px 0 var(--ink);
  opacity:0;animation:fadeUp .4s ease-out 2.05s forwards;
}
@keyframes fadeUp{from{opacity:0;transform:translateX(-50%) translateY(12px) rotate(-2deg)}to{opacity:1;transform:translateX(-50%) rotate(-2deg)}}
.graff-drip{
  position:absolute;top:242px;width:5px;height:0;border-radius:0 0 4px 4px;
  animation:drip .9s ease-in 1.9s forwards;
}
.drip-1{left:112px;background:var(--red)}
.drip-2{left:160px;background:var(--paper);animation-delay:2.05s}
.drip-3{left:210px;background:var(--red);animation-delay:2.2s}
@keyframes drip{to{height:38px}}

/* ═══════════════════════════════════════════════════════════
   HEADER
   ═══════════════════════════════════════════════════════════ */
.site-header{
  position:sticky;top:0;z-index:900;
  background:var(--ink);
  border-bottom:3px solid var(--red);
}
.h-inner{display:flex;align-items:center;gap:14px;height:var(--hh)}
.h-logo{display:flex;align-items:center;gap:10px;flex-shrink:0}
.h-logo img{height:34px;width:34px;border-radius:50%;border:2px solid var(--red)}
.h-logo-text{
  font-family:var(--f-spray);font-size:24px;color:var(--paper);line-height:1;
  transform:rotate(-2deg);
}
.h-logo-text em{font-style:normal;color:var(--red)}
.h-search{
  flex:1;max-width:460px;display:flex;align-items:center;gap:6px;
  background:var(--wall2);border:2px solid var(--bor2);
  padding:0 6px 0 14px;transform:rotate(-.4deg);
  transition:border-color .2s, box-shadow .2s;
}
.h-search:focus-within{border-color:var(--red);box-shadow:3px 3px 0 var(--red)}
.h-search input{
  flex:1;min-width:0;background:none;border:none;outline:none;
  color:var(--off);font-size:13px;font-weight:600;padding:9px 0;
}
.h-search input::placeholder{color:var(--mut)}
.h-search button{background:none;border:none;font-size:15px;padding:6px}
.h-actions{display:flex;align-items:center;gap:10px;margin-left:auto}
.btn-cart{
  position:relative;background:var(--paper);border:2px solid var(--ink);
  font-size:18px;padding:5px 10px;line-height:1;transform:rotate(2deg);
  box-shadow:3px 3px 0 var(--red);
  transition:transform .15s;
}
.btn-cart:hover{transform:rotate(-2deg) scale(1.08)}
.cart-badge{
  position:absolute;top:-9px;right:-9px;
  background:var(--red);color:#fff;border:2px solid var(--ink);
  font-size:10px;font-weight:900;min-width:19px;height:19px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-family:var(--f-body);
}
.btn-login{
  background:transparent;border:2px solid var(--paper);color:var(--paper);
  font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;
  padding:8px 14px;transform:rotate(-1deg);
  transition:all .15s;
}
.btn-login:hover{background:var(--red);border-color:var(--red);color:#fff;transform:rotate(1deg)}
.btn-wa{
  background:var(--paper);color:var(--ink);border:2px solid var(--ink);
  font-size:11px;font-weight:900;padding:8px 12px;letter-spacing:.5px;
  transform:rotate(1.2deg);transition:all .15s;white-space:nowrap;
  box-shadow:2px 2px 0 var(--red);
}
.btn-wa:hover{transform:rotate(-1.2deg) scale(1.05);background:var(--red);color:#fff}

/* ═══════════════════════════════════════════════════════════
   TAPE MARQUEE — fitas que atravessam o muro
   ═══════════════════════════════════════════════════════════ */
.tape{
  overflow:hidden;white-space:nowrap;border-top:3px solid var(--ink);border-bottom:3px solid var(--ink);
  font-family:var(--f-display);font-size:17px;letter-spacing:3px;
  padding:8px 0;user-select:none;position:relative;z-index:5;
}
.tape-inner{display:inline-block;animation:tapeScroll 22s linear infinite}
.tape-inner span{margin:0 18px}
.tape-lime{background:var(--red);color:var(--paper);transform:rotate(-.6deg);margin:0 -10px}
.tape-pink{background:var(--paper);color:var(--ink);transform:rotate(.6deg);margin:0 -10px}
.tape-pink .tape-inner{animation-direction:reverse}
@keyframes tapeScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ═══════════════════════════════════════════════════════════
   CATEGORIAS — etiquetas coladas
   ═══════════════════════════════════════════════════════════ */
.cat-nav{
  background:var(--wall);
  border-bottom:2px dashed var(--bor2);
  overflow-x:auto;scrollbar-width:none;
}
.cat-nav::-webkit-scrollbar{display:none}
.cat-nav ul{display:flex;align-items:center;gap:10px;padding:14px 20px;max-width:1280px;margin:0 auto}
.cat-nav a{
  display:block;padding:7px 15px;white-space:nowrap;
  font-family:var(--f-display);font-size:13px;letter-spacing:2px;text-transform:uppercase;
  background:var(--wall2);color:var(--mut2);border:2px solid var(--bor2);
  transition:all .15s;
}
.cat-nav a:hover{color:var(--paper);border-color:var(--paper);transform:translateY(-2px)}
.cat-nav a.active{
  background:var(--paper);color:var(--ink);border-color:var(--ink);
  box-shadow:3px 3px 0 var(--red);
}

/* ═══════════════════════════════════════════════════════════
   HERO — o muro principal + carrossel de reels
   Altura definida (não min-height): o flex reparte a sobra para
   o carrossel e o JS deriva o tamanho do card 9:16 dali.
   ═══════════════════════════════════════════════════════════ */
.hero{
  position:relative;display:flex;flex-direction:column;
  height:calc(100svh - var(--hh) - 41px); /* 41px = fita de cima */
  min-height:600px;
  overflow:hidden;text-align:center;isolation:isolate;
  background:
    radial-gradient(circle at 15% 20%, rgba(232,0,28,.22), transparent 40%),
    radial-gradient(circle at 85% 75%, rgba(232,0,28,.1), transparent 45%),
    radial-gradient(circle at 70% 15%, rgba(245,241,232,.05), transparent 35%),
    var(--wall);
}
/* meio-tom de rua */
.hero::before{
  content:'';position:absolute;inset:0;opacity:.14;pointer-events:none;
  background-image:radial-gradient(var(--paper) 1px, transparent 1.4px);
  background-size:22px 22px;
}
/* tag de fundo em spray — fica atrás dos cards */
.hero-graff{
  position:absolute;top:34%;left:50%;transform:translateX(-50%) rotate(-7deg);
  z-index:0;
  font-family:var(--f-spray);font-size:clamp(110px,20vw,260px);line-height:1;
  color:transparent;-webkit-text-stroke:2px rgba(245,241,232,.09);
  pointer-events:none;user-select:none;white-space:nowrap;
}
/* intro compacta — o protagonista aqui é o carrossel */
.hero-intro{position:relative;z-index:2;flex:none;padding:26px 20px 10px}
.hero-intro > *{opacity:0;transform:translateY(22px);animation:heroRise .7s cubic-bezier(.2,1,.3,1) forwards}
.hero-intro > *:nth-child(1){animation-delay:.05s}
.hero-intro > *:nth-child(2){animation-delay:.15s}
.hero-intro > *:nth-child(3){animation-delay:.28s}
.hero-intro > *:nth-child(4){animation-delay:.4s}
@keyframes heroRise{to{opacity:1;transform:none}}
.hero-eyebrow{
  display:inline-block;font-family:var(--f-marker);font-size:12px;letter-spacing:2px;
  color:var(--red2);transform:rotate(-1.2deg);margin-bottom:6px;
}
.hero-tag{
  font-family:var(--f-display);
  font-size:clamp(34px,6vw,64px);line-height:.92;text-transform:uppercase;
  color:var(--paper);
  text-shadow:3px 3px 0 var(--ink), 6px 6px 0 var(--red);
  transform:rotate(-1.6deg);
  margin:4px 0 2px;
}
.hero-tag .hero-tag-line{
  display:inline-block;color:var(--red);
  text-shadow:3px 3px 0 var(--ink), 6px 6px 0 rgba(245,241,232,.35);
  transform:rotate(1deg);margin-left:10px;
}
.hero-sub{
  font-family:var(--f-marker);font-size:clamp(13px,1.8vw,16px);color:var(--mut2);
  margin:10px auto 14px;max-width:520px;transform:rotate(-.8deg);
}
.btn-hero{
  display:inline-block;position:relative;
  background:var(--red);color:#fff;border:3px solid var(--ink);
  font-family:var(--f-display);font-size:15px;letter-spacing:3px;
  padding:11px 32px;box-shadow:var(--shadow-ink-sm);
  transform:rotate(-1.5deg);
  transition:transform .15s, box-shadow .15s, background .15s, color .15s;
}
.btn-hero:hover{background:var(--paper);color:var(--ink);transform:rotate(1deg) translate(-2px,-2px);box-shadow:7px 7px 0 var(--red)}
.btn-hero:active{transform:translate(4px,4px);box-shadow:2px 2px 0 var(--ink)}
/* estrela sticker */
.hero-star{
  position:absolute;z-index:3;width:74px;height:74px;pointer-events:none;
  animation:starSpin 14s linear infinite;
}
.hero-star svg{width:100%;height:100%;filter:drop-shadow(4px 4px 0 var(--ink))}
.hst-1{top:11%;right:4%}
.hst-2{bottom:9%;left:3.5%;width:56px;height:56px;animation-direction:reverse}
@keyframes starSpin{to{transform:rotate(360deg)}}

/* ═══════════════════════════════════════════════════════════
   CARROSSEL DE REELS — coverflow arrastável (sistema da META)
   Cards 9:16 como stickers colados: borda de tinta, sombra dura,
   levemente tortos; o do centro endireita, cresce e toca.
   --s/--o/--r são pintados a cada quadro pelo js/reel.js.
   ═══════════════════════════════════════════════════════════ */
.reel{
  position:relative;z-index:2;
  flex:1 1 auto;min-height:0;
  display:flex;flex-direction:column;justify-content:center;
  opacity:0;animation:heroRise .8s cubic-bezier(.2,1,.3,1) .45s forwards;
  --card-w:clamp(160px,58vw,300px);
}
.reel-track{
  display:flex;flex:1 1 auto;min-height:0;align-items:center;
  gap:clamp(14px,2vw,26px);
  overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;-ms-overflow-style:none;
  /* este padding deixa o 1º e o último card alcançarem o centro */
  padding-inline:calc(50% - var(--card-w)/2);
  padding-block:14px 10px;
  cursor:grab;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;
}
.reel-track::-webkit-scrollbar{display:none}
.reel-track.is-dragging{cursor:grabbing}
.reel-track.is-dragging *{pointer-events:none}

.reel-card{
  flex:0 0 var(--card-w);width:var(--card-w);
  scroll-snap-align:center;
  transform:rotate(var(--r,0deg)) scale(var(--s,.82));
  opacity:var(--o,.38);
  will-change:transform,opacity;
}
.reel-media{
  position:relative;aspect-ratio:9/16;overflow:hidden;
  background:var(--wall2);
  border:3px solid var(--ink);
  box-shadow:var(--shadow-ink), 0 24px 60px rgba(0,0,0,.55);
}
.reel-card.is-center .reel-media{box-shadow:7px 7px 0 var(--red), 0 24px 60px rgba(0,0,0,.55)}
.reel-media video{width:100%;height:100%;object-fit:cover;display:block}

/* etiqueta de papel no topo do card */
.reel-chip{
  position:absolute;top:10px;left:-5px;z-index:3;
  font-family:var(--f-display);font-size:11px;letter-spacing:2px;
  background:var(--paper);color:var(--ink);
  border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);
  padding:4px 11px;transform:rotate(-3deg);
  white-space:nowrap;
}
.reel-card.is-center .reel-chip{background:var(--red);color:#fff}

/* ▶ sobre os cards parados */
.reel-play{
  position:absolute;inset:0;z-index:2;
  display:grid;place-items:center;
  font-size:34px;color:var(--paper);
  text-shadow:3px 3px 0 var(--ink);
  pointer-events:none;transition:opacity .35s;
}
.reel-card.is-center .reel-play{opacity:0}

/* botão de som — sticker no pé do card, só no central */
.reel-som{
  position:absolute;right:8px;bottom:8px;z-index:6;
  opacity:0;pointer-events:none;
  display:inline-flex;align-items:center;gap:6px;
  background:var(--paper);color:var(--ink);
  border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);
  font-family:var(--f-display);font-size:10px;letter-spacing:2px;
  padding:6px 10px;transform:rotate(1.6deg);
  transition:opacity .3s, background .15s, color .15s, transform .15s;
}
.reel-card.is-center .reel-som{opacity:1;pointer-events:auto}
.reel-som:hover{transform:rotate(-1.6deg) scale(1.06)}
.reel-som svg{width:14px;height:14px}
.reel-som .ico-on{display:none}
.reel-som.is-on{background:var(--red);color:#fff}
.reel-som.is-on .ico-on{display:block}
.reel-som.is-on .ico-off{display:none}

/* legenda marker abaixo do card */
.reel-cap{
  margin-top:10px;text-align:center;
  font-family:var(--f-marker);font-size:13px;color:var(--mut2);
  transform:rotate(-.8deg);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  opacity:0;transition:opacity .35s;
}
.reel-card.is-center .reel-cap{opacity:1;color:var(--paper)}

/* setas — stickers quadrados */
.reel-nav{
  position:absolute;top:calc(50% - 40px);z-index:5;
  width:46px;height:46px;display:grid;place-items:center;
  background:var(--paper);color:var(--ink);
  border:3px solid var(--ink);box-shadow:4px 4px 0 var(--red);
  transition:all .15s;
}
.reel-nav svg{width:22px;height:22px}
.reel-nav:hover{background:var(--red);color:#fff;transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink)}
.reel-nav:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}
.reel-nav[disabled]{opacity:.18;pointer-events:none}
.reel-nav-prev{left:clamp(8px,3vw,40px);transform:rotate(-2deg)}
.reel-nav-next{right:clamp(8px,3vw,40px);transform:rotate(2deg)}

/* pontinhos — fitinhas */
.reel-dots{
  position:relative;z-index:2;display:flex;justify-content:center;gap:7px;
  padding:12px 0 20px;
}
.rdot{
  width:22px;height:5px;border:none;padding:0;
  background:rgba(245,241,232,.22);
  transform:rotate(-1deg);
  transition:background .3s, width .3s;
}
.rdot:nth-child(even){transform:rotate(1deg)}
.rdot.is-on{background:var(--red);width:38px;box-shadow:1px 1px 0 var(--ink)}

/* ═══════════════════════════════════════════════════════════
   SEÇÕES + TÍTULOS
   ═══════════════════════════════════════════════════════════ */
.section{padding:72px 0}
.section-title{
  display:inline-block;position:relative;
  font-family:var(--f-display);font-size:clamp(30px,5vw,46px);
  letter-spacing:3px;text-transform:uppercase;
  background:var(--paper);color:var(--ink);
  border:3px solid var(--ink);box-shadow:var(--shadow-red);
  padding:8px 26px;transform:rotate(-1.6deg);
  margin-bottom:44px;
}
.section-title::after{
  content:'★';position:absolute;top:-16px;right:-16px;
  font-size:26px;color:var(--red);text-shadow:2px 2px 0 var(--ink);
  transform:rotate(14deg);
}

/* ═══════════════════════════════════════════════════════════
   PRODUTOS — stickers colados no muro
   ═══════════════════════════════════════════════════════════ */
.product-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
  gap:30px 26px;
}
.product-card{
  background:var(--paper);color:var(--ink);
  border:3px solid var(--ink);box-shadow:var(--shadow-ink);
  cursor:pointer;overflow:hidden;
  transition:transform .18s cubic-bezier(.2,1.4,.4,1), box-shadow .18s;
}
.product-grid .product-card:nth-child(4n+1){transform:rotate(-1.4deg)}
.product-grid .product-card:nth-child(4n+2){transform:rotate(1.1deg)}
.product-grid .product-card:nth-child(4n+3){transform:rotate(-.7deg)}
.product-grid .product-card:nth-child(4n+4){transform:rotate(1.6deg)}
.product-card:hover{
  transform:rotate(0) translate(-3px,-5px) !important;
  box-shadow:10px 12px 0 var(--red);
  z-index:4;
}
.pc-img{
  position:relative;aspect-ratio:4/5;overflow:hidden;
  border-bottom:3px solid var(--ink);background:var(--paper2);
}
.pc-img img,.pc-img video{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.product-card:hover .pc-img img{transform:scale(1.06)}
.badge{
  position:absolute;top:10px;left:-6px;z-index:2;
  font-family:var(--f-display);font-size:11px;letter-spacing:1.5px;
  padding:5px 12px;border:2px solid var(--ink);transform:rotate(-3deg);
  box-shadow:3px 3px 0 var(--ink);
}
.badge-warn{background:var(--paper);color:var(--red)}
.badge-out{background:var(--red);color:#fff}
/* esgotado ainda abre o modal (pra pedir aviso), mas não finge estar à venda */
.product-card.is-esgotado .pc-img img,
.product-card.is-esgotado .pc-img video{filter:grayscale(1);opacity:.55}
.product-card.is-esgotado:hover .pc-img img{transform:none}
.pc-info{padding:13px 14px 15px;position:relative}
.pc-name{
  font-family:var(--f-body);font-weight:800;font-size:14px;line-height:1.25;
  text-transform:uppercase;letter-spacing:.3px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  min-height:35px;
}
.pc-price{
  display:inline-block;margin-top:9px;
  font-family:var(--f-display);font-size:19px;letter-spacing:1px;
  background:var(--red);color:#fff;
  padding:3px 10px;transform:rotate(-1.6deg);
  box-shadow:2px 2px 0 var(--ink);
}
.pc-inst{font-size:11px;color:#6d6455;margin-top:7px;font-weight:600}
.pc-inst b{color:var(--ink)}

/* ═══════════════════════════════════════════════════════════
   MAPA — moldura com fitas adesivas
   ═══════════════════════════════════════════════════════════ */
.map-section{padding:0 0 80px}
.map-wrap{
  position:relative;border:3px solid var(--ink);box-shadow:var(--shadow-ink);
  transform:rotate(.6deg);background:var(--paper);padding:12px;
}
.map-wrap::before,.map-wrap::after{
  content:'';position:absolute;width:120px;height:34px;z-index:3;
  background:rgba(232,0,28,.8);border:2px solid rgba(10,8,8,.4);
}
.map-wrap::before{top:-18px;left:8%;transform:rotate(-6deg)}
.map-wrap::after{top:-18px;right:8%;transform:rotate(5deg)}
.map-wrap iframe{width:100%;height:380px;border:2px solid var(--ink);display:block}

/* ═══════════════════════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════════════════════ */
.site-footer{
  position:relative;background:var(--ink);border-top:3px solid var(--red);
  padding:46px 0 100px;overflow:hidden;
}
.f-inner{display:flex;align-items:center;gap:18px;flex-wrap:wrap;position:relative;z-index:2}
.f-copy{font-family:var(--f-marker);font-size:13px;color:var(--mut);cursor:pointer;transform:rotate(-.6deg)}
.f-copy:hover{color:var(--red2)}
.f-social{display:flex;gap:12px;margin-left:auto}
.f-social a{
  display:flex;align-items:center;justify-content:center;
  width:40px;height:40px;border:2px solid var(--bor2);color:var(--mut2);
  transition:all .15s;transform:rotate(-2deg);
}
.f-social a:hover{background:var(--red);border-color:var(--red);color:#fff;transform:rotate(2deg)}
.f-ghost{
  position:absolute;bottom:-34px;left:0;width:100%;text-align:center;
  font-family:var(--f-display);font-size:clamp(80px,16vw,190px);line-height:1;
  color:transparent;-webkit-text-stroke:2px rgba(232,0,28,.13);
  pointer-events:none;user-select:none;letter-spacing:8px;
}

/* ═══════════════════════════════════════════════════════════
   TOASTS — recibos grudados
   ═══════════════════════════════════════════════════════════ */
.toast-wrap{position:fixed;bottom:20px;right:20px;z-index:9500;display:flex;flex-direction:column;gap:10px}
.toast{
  display:flex;align-items:center;gap:10px;
  background:var(--paper);color:var(--ink);
  border:3px solid var(--ink);box-shadow:var(--shadow-ink-sm);
  padding:12px 18px;font-size:13px;font-weight:700;
  max-width:320px;cursor:pointer;
  opacity:0;transform:translateX(40px) rotate(3deg);
  transition:opacity .3s, transform .3s cubic-bezier(.2,1.4,.4,1);
}
.toast.show{opacity:1;transform:translateX(0) rotate(-1deg)}
.toast.ok{box-shadow:4px 4px 0 var(--red)}
.toast.erro{background:var(--red);color:#fff}
.toast.info{background:var(--ink);color:var(--paper);border-color:var(--paper)}

/* ═══════════════════════════════════════════════════════════
   MODAL PRODUTO — pôster lambe-lambe
   ═══════════════════════════════════════════════════════════ */
.modal-overlay{
  position:fixed;inset:0;z-index:9100;background:rgba(10,8,8,.88);
  display:flex;align-items:center;justify-content:center;padding:18px;
  opacity:0;pointer-events:none;transition:opacity .25s;
  backdrop-filter:blur(3px);
}
.modal-overlay.open{opacity:1;pointer-events:auto}
.modal{
  position:relative;display:flex;gap:0;
  background:var(--paper);color:var(--ink);
  border:3px solid var(--ink);box-shadow:12px 12px 0 var(--red);
  max-width:860px;width:100%;max-height:92vh;overflow:auto;
  transform:scale(.92) rotate(-1deg);transition:transform .25s cubic-bezier(.2,1.4,.4,1);
}
.modal-overlay.open .modal{transform:scale(1) rotate(0)}
.modal-close{
  position:absolute;top:10px;right:10px;z-index:5;
  width:38px;height:38px;font-size:22px;line-height:1;
  background:var(--red);color:#fff;border:2px solid var(--ink);
  box-shadow:3px 3px 0 var(--ink);transform:rotate(3deg);
  transition:transform .15s;
}
.modal-close:hover{transform:rotate(-6deg) scale(1.1)}
.modal-gallery{flex:1;min-width:0;display:flex;flex-direction:column;border-right:3px solid var(--ink)}
.modal-main{aspect-ratio:4/5;background:var(--paper2);overflow:hidden}
.modal-main img,.modal-main video{width:100%;height:100%;object-fit:cover}
.modal-thumbs{display:flex;gap:8px;padding:10px;background:var(--paper2);border-top:2px dashed rgba(10,8,8,.25);overflow-x:auto}
.modal-info{flex:1;min-width:0;padding:26px 24px;display:flex;flex-direction:column}
.modal-crumb{font-family:var(--f-marker);font-size:11px;color:#8d8271;margin-bottom:10px;transform:rotate(-.5deg)}
.modal-title{
  font-family:var(--f-display);font-size:29px;line-height:1;letter-spacing:1px;
  text-transform:uppercase;margin-bottom:12px;
}
.modal-price{
  display:inline-block;align-self:flex-start;
  font-family:var(--f-display);font-size:30px;letter-spacing:1px;
  background:var(--red);color:#fff;padding:4px 14px;
  transform:rotate(-1.6deg);margin-bottom:6px;
  box-shadow:3px 3px 0 var(--ink);
}
.modal-inst{font-size:12px;color:#6d6455;font-weight:600;margin-bottom:16px}
.modal-label{
  font-family:var(--f-display);font-size:12px;letter-spacing:3px;color:var(--ink);
  margin-bottom:8px;display:block;
}
.modal-sizes{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.size-btn{
  min-width:42px;padding:8px 10px;
  background:var(--paper);border:2px solid var(--ink);color:var(--ink);
  font-weight:800;font-size:13px;transition:all .12s;
}
.size-btn:nth-child(odd){transform:rotate(-1.6deg)}
.size-btn:nth-child(even){transform:rotate(1.6deg)}
.size-btn:hover{background:var(--ink);color:var(--paper);transform:rotate(0)}
.size-btn.active{background:var(--red);border-color:var(--ink);color:#fff;transform:rotate(0) scale(1.08);box-shadow:3px 3px 0 var(--ink)}
.btn-buy{
  background:var(--red);color:#fff;border:3px solid var(--ink);
  font-family:var(--f-display);font-size:17px;letter-spacing:2px;
  padding:14px 20px;box-shadow:var(--shadow-ink-sm);
  transform:rotate(-.8deg);transition:all .15s;
}
.btn-buy:hover{background:var(--ink);color:var(--paper);transform:rotate(.8deg) translate(-2px,-2px);box-shadow:6px 6px 0 var(--red)}
.btn-buy:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--ink)}
/* peça esgotada: o botão vira "me avisa", sem cara de compra */
.btn-buy.is-off{background:var(--paper);color:var(--ink);font-size:14px;box-shadow:3px 3px 0 var(--ink)}
.btn-buy.is-off:hover{background:var(--ink);color:var(--paper);box-shadow:5px 5px 0 var(--red)}
.modal-desc{font-size:13px;line-height:1.65;color:#4e463c;margin-top:18px;font-weight:500}

/* ─── Modal auth (classes próprias) ────────────────────────── */
.auth-modal{
  flex-direction:column;max-width:360px;padding:34px 28px 28px;gap:14px;
  box-shadow:12px 12px 0 var(--red);
}
.auth-title{font-family:var(--f-display);font-size:30px;letter-spacing:2px;text-transform:uppercase;text-align:center}
.auth-sub{font-family:var(--f-marker);font-size:13px;color:#8d8271;text-align:center;margin-bottom:6px;transform:rotate(-.6deg)}
.auth-input{
  width:100%;background:#fff;border:2px solid var(--ink);
  padding:12px 14px;font-size:14px;font-weight:600;color:var(--ink);outline:none;
  transition:box-shadow .15s;
}
.auth-input:focus{box-shadow:3px 3px 0 var(--red)}
.auth-input::placeholder{color:#a99e8b}
.btn-ghost{
  width:100%;background:transparent;border:2px dashed rgba(10,8,8,.4);color:#6d6455;
  font-weight:800;font-size:12px;letter-spacing:1px;text-transform:uppercase;
  padding:12px;transition:all .15s;
}
.btn-ghost:hover{border-style:solid;border-color:var(--ink);color:#fff;background:var(--red)}

/* ═══════════════════════════════════════════════════════════
   CARRINHO — folha de pedido
   ═══════════════════════════════════════════════════════════ */
.cart-page{padding:44px 20px 90px;min-height:70vh}
.cart-heading{
  display:inline-block;
  font-family:var(--f-display);font-size:clamp(28px,5vw,42px);letter-spacing:2px;
  text-transform:uppercase;background:var(--paper);color:var(--ink);
  border:3px solid var(--ink);box-shadow:var(--shadow-red);
  padding:6px 22px;transform:rotate(-1.4deg);
}
.cart-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:26px;margin-top:30px;align-items:start}
.cart-box{
  background:var(--paper);color:var(--ink);
  border:3px solid var(--ink);box-shadow:var(--shadow-ink);
  padding:20px;
}
.cart-item{display:flex;gap:14px;padding:14px 0;border-bottom:2px dashed rgba(10,8,8,.25)}
.cart-item:last-child{border-bottom:none}
.cart-item img{
  width:86px;height:86px;object-fit:cover;flex-shrink:0;
  border:2px solid var(--ink);transform:rotate(-2deg);
}
.cart-item-info{flex:1;min-width:0}
.ci-name{font-weight:800;font-size:14px;text-transform:uppercase;letter-spacing:.3px}
.ci-size{font-family:var(--f-marker);font-size:12px;color:#8d8271;margin-top:2px}
.ci-price{
  display:inline-block;font-family:var(--f-display);font-size:16px;letter-spacing:1px;
  background:var(--red);color:#fff;padding:2px 8px;margin-top:6px;
  transform:rotate(-1deg);
}
.qty-wrap{display:inline-flex;align-items:center;border:2px solid var(--ink);background:#fff}
.qty-btn{width:30px;height:30px;background:var(--paper2);border:none;font-size:16px;font-weight:900;transition:all .12s}
.qty-btn:hover{background:var(--ink);color:var(--paper)}
.qty-val{min-width:34px;text-align:center;font-weight:900;font-size:14px}
.remove-btn{
  background:none;border:none;color:var(--red);font-size:11px;font-weight:800;
  text-transform:uppercase;letter-spacing:1px;text-decoration:underline wavy;
}
.remove-btn:hover{color:var(--ink)}
.cart-summary{position:sticky;top:calc(var(--hh) + 16px)}
.sum-label{
  font-family:var(--f-display);font-size:17px;letter-spacing:3px;text-transform:uppercase;
  border-bottom:3px solid var(--ink);padding-bottom:8px;margin-bottom:14px;
}
.sum-row{display:flex;justify-content:space-between;font-size:13px;font-weight:600;padding:5px 0;color:#4e463c}
.sum-total{
  display:flex;justify-content:space-between;align-items:center;
  border-top:2px dashed rgba(10,8,8,.3);margin-top:12px;padding-top:12px;
  font-weight:900;text-transform:uppercase;font-size:13px;letter-spacing:1px;
}
.sum-total-val{
  font-family:var(--f-display);font-size:27px;letter-spacing:1px;
  background:var(--red);color:#fff;padding:2px 12px;transform:rotate(-1.4deg);
  box-shadow:2px 2px 0 var(--ink);
}
.btn-checkout{
  width:100%;margin-top:16px;
  background:var(--red);color:#fff;border:3px solid var(--ink);
  font-family:var(--f-display);font-size:15px;letter-spacing:2px;
  padding:14px;box-shadow:var(--shadow-ink-sm);
  transition:all .15s;
}
.btn-checkout:hover{background:var(--ink);color:var(--paper);translate:-2px -2px;box-shadow:6px 6px 0 var(--red)}
.btn-checkout:active{translate:3px 3px;box-shadow:1px 1px 0 var(--ink)}
.btn-checkout:disabled{opacity:.55;cursor:wait}
.cart-empty{
  grid-column:1/-1;text-align:center;padding:70px 20px;
  background:var(--paper);color:var(--ink);border:3px dashed var(--ink);
}
.cart-empty p{font-family:var(--f-marker);font-size:19px;margin-bottom:18px;color:#6d6455}
.cart-empty a{
  display:inline-block;background:var(--red);color:#fff;
  font-family:var(--f-display);font-size:15px;letter-spacing:2px;
  padding:12px 30px;box-shadow:4px 4px 0 var(--ink);
  transform:rotate(-1deg);transition:transform .15s;
}
.cart-empty a:hover{transform:rotate(1deg) scale(1.04)}

/* campos de formulário (compartilhado loja/admin) */
.a-field{margin-bottom:14px}
.a-label{
  display:block;font-family:var(--f-display);font-size:10px;letter-spacing:2.5px;
  text-transform:uppercase;margin-bottom:6px;opacity:.8;
}
.a-input{
  width:100%;background:#fff;border:2px solid var(--ink);
  padding:11px 13px;color:var(--ink);font-size:14px;font-weight:600;outline:none;
  transition:box-shadow .15s;
}
.a-input:focus{box-shadow:3px 3px 0 var(--red)}
.a-input::placeholder{color:#a99e8b;font-weight:500}
.a-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}

/* ═══════════════════════════════════════════════════════════
   GODMODE — o backstage da crew
   Mesmo design system, versão dark: pôsteres sobre asfalto.
   ═══════════════════════════════════════════════════════════ */
.admin-body{
  background:
    radial-gradient(circle at 12% 8%, rgba(232,0,28,.12), transparent 38%),
    radial-gradient(circle at 88% 90%, rgba(232,0,28,.07), transparent 40%),
    var(--wall);
  min-height:100vh;
}
.adm-hidden{display:none}
.glass{ /* legado: agora é pôster escuro */
  background:var(--wall2);
  border:2px solid var(--bor2);
}
.login-screen{
  position:fixed;inset:0;display:flex;align-items:center;justify-content:center;
  z-index:500;padding:20px;
  background:
    radial-gradient(circle at 25% 25%, rgba(232,0,28,.12), transparent 40%),
    radial-gradient(circle at 75% 75%, rgba(245,241,232,.04), transparent 40%),
    var(--ink);
}
.login-box{
  width:100%;max-width:360px;text-align:center;padding:38px 30px;
  background:var(--paper) !important;color:var(--ink);
  border:3px solid var(--ink) !important;box-shadow:10px 10px 0 var(--red);
  transform:rotate(-1deg);
}
.login-icon{font-size:36px;margin-bottom:6px}
.login-title{
  font-family:var(--f-spray);font-size:34px;color:var(--ink);margin-bottom:2px;
  transform:rotate(-2deg);
}
.login-title span{color:var(--red)}
.login-sub{font-family:var(--f-marker);font-size:12px;color:#8d8271;margin-bottom:22px}
.login-box .a-input{background:#fff;border-color:var(--ink) !important;color:var(--ink)}
.login-err{margin-top:12px;font-size:12px;font-weight:700;color:var(--red);min-height:16px}
.a-header{
  position:sticky;top:0;z-index:200;display:flex;align-items:center;justify-content:space-between;
  padding:12px 18px;background:var(--ink) !important;border:none !important;
  border-bottom:3px solid var(--red) !important;
}
.a-logo{font-family:var(--f-spray);font-size:23px;color:var(--paper);transform:rotate(-2deg);display:inline-block}
.a-logo span{color:var(--red)}
.a-header-right{display:flex;align-items:center;gap:10px}
.a-avatar{
  width:36px;height:36px;border-radius:50%;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  background:var(--red);color:#fff;font-weight:900;
  border:2px solid var(--paper);transform:rotate(3deg);font-size:15px;
}
.a-signout{
  background:transparent;border:2px solid var(--bor2);color:var(--mut2);
  width:34px;height:34px;font-size:15px;transition:all .15s;
}
.a-signout:hover{background:var(--red);border-color:var(--red);color:#fff;transform:rotate(-4deg)}
.a-tabs{
  display:flex;gap:8px;padding:14px 16px 4px;overflow-x:auto;scrollbar-width:none;
  max-width:1100px;margin:0 auto;
}
.a-tabs::-webkit-scrollbar{display:none}
.a-tab{
  white-space:nowrap;padding:9px 16px;
  font-family:var(--f-display);font-size:12px;letter-spacing:2px;
  background:var(--wall2);color:var(--mut2);border:2px solid var(--bor2);
  transition:all .15s;
}
.a-tab:nth-child(odd){transform:rotate(-1.2deg)}
.a-tab:nth-child(even){transform:rotate(1.2deg)}
.a-tab:hover{color:var(--paper);border-color:var(--paper)}
.a-tab.active{
  background:var(--red);color:#fff;border-color:var(--ink);
  box-shadow:3px 3px 0 rgba(245,241,232,.5);transform:rotate(-1deg);
}
.a-body{max-width:1100px;margin:0 auto;padding:18px 16px 80px}
.a-card{
  background:var(--wall2) !important;
  border:2px solid var(--bor2) !important;
  box-shadow:5px 5px 0 rgba(10,8,8,.6);
  padding:18px;
}
.a-estoque-header{display:flex;align-items:center;gap:10px;margin:6px 0 16px}
.a-estoque-title{
  font-family:var(--f-display);font-size:24px;letter-spacing:2px;text-transform:uppercase;
  color:var(--paper);transform:rotate(-.8deg);display:inline-block;
  border-bottom:3px solid var(--red);padding-bottom:2px;
}
.a-badge-count{
  font-size:11px;font-weight:900;background:var(--paper);color:var(--ink);
  border:2px solid var(--ink);padding:2px 10px;transform:rotate(2deg);
  box-shadow:2px 2px 0 var(--red);
}
.a-empty{text-align:center;padding:34px;color:var(--mut);font-family:var(--f-marker);font-size:14px}
.a-btn{
  display:inline-block;border:2px solid var(--ink);
  font-weight:900;font-size:13px;letter-spacing:1px;
  padding:12px 18px;box-shadow:3px 3px 0 rgba(10,8,8,.7);
  transition:all .13s;text-transform:uppercase;
  background:var(--paper);color:var(--ink);
}
.a-btn:hover{translate:-1px -2px;box-shadow:5px 5px 0 rgba(10,8,8,.7)}
.a-btn:active{translate:2px 2px;box-shadow:1px 1px 0 rgba(10,8,8,.7)}
.a-btn:disabled{opacity:.5;cursor:wait}
.a-btn-blue{background:var(--red) !important;color:#fff !important;width:100%}
.a-btn-red{background:var(--ink) !important;color:var(--red2) !important;border-color:var(--red) !important}
.a-badge{
  font-size:9px;font-weight:900;letter-spacing:1px;
  background:var(--red);color:#fff;border:1px solid var(--ink);
  padding:2px 7px;margin-left:6px;vertical-align:middle;
}
.a-fb{padding:11px 14px;font-size:13px;font-weight:700;border:2px solid}
.a-fb.ok{background:rgba(245,241,232,.07);border-color:var(--paper);color:var(--paper)}
.a-fb.erro{background:rgba(232,0,28,.12);border-color:var(--red);color:var(--red2)}
/* admin inputs (fundo escuro) */
.a-body .a-input, .drawer .a-input{
  background:var(--ink);border-color:var(--bor2);color:var(--off);
}
.a-body .a-input:focus, .drawer .a-input:focus{border-color:var(--red);box-shadow:3px 3px 0 rgba(232,0,28,.4)}
.a-body .a-label, .drawer .a-label{color:var(--mut2)}

/* Kanban — pôsteres colados em duas faixas */
.kanban-board{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.kanban-col{min-width:0}
.kanban-col-header{
  display:flex;align-items:center;gap:8px;
  font-family:var(--f-display);font-size:13px;letter-spacing:2px;
  padding:10px 14px;border:2px solid var(--ink);margin-bottom:12px;
  box-shadow:3px 3px 0 rgba(10,8,8,.6);
}
.kanban-visivel{background:var(--red);color:#fff;transform:rotate(-.7deg)}
.kanban-oculto{background:var(--paper);color:var(--ink);transform:rotate(.7deg)}
.kanban-dot{width:10px;height:10px;border-radius:50%;border:2px solid var(--ink);flex-shrink:0}
.kanban-count{
  margin-left:auto;background:var(--ink);color:var(--paper);
  font-size:11px;padding:1px 9px;font-family:var(--f-body);font-weight:900;
}
.kanban-list{display:flex;flex-direction:column;gap:10px}
.kanban-item{
  display:flex;gap:12px;align-items:center;padding:10px;
  background:var(--wall2);border:2px solid var(--bor2);
  transition:all .15s;cursor:pointer;
}
.kanban-item:nth-child(odd){transform:rotate(-.35deg)}
.kanban-item:nth-child(even){transform:rotate(.35deg)}
.kanban-item:hover{border-color:var(--red);transform:rotate(0) translateX(3px)}
.kanban-item-img{
  width:52px;height:52px;object-fit:cover;flex-shrink:0;
  border:2px solid var(--bor2);background:var(--ink);
  display:flex;align-items:center;justify-content:center;font-size:20px;
}
.kanban-item-info{flex:1;min-width:0}
.kanban-item-nome{font-size:13px;font-weight:800;color:var(--off);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase}
.kanban-item-meta{font-size:11px;color:var(--mut);margin-top:2px;font-weight:600}
.kanban-item-actions{display:flex;gap:6px;flex-shrink:0}
.kanban-action-btn{
  border:2px solid var(--bor2);background:var(--ink);color:var(--mut2);
  font-size:13px;width:32px;height:32px;transition:all .13s;
}
.kanban-action-btn:hover{border-color:var(--red);color:var(--paper);transform:rotate(-5deg)}

/* Pedidos (admin) */
.orders-list{display:flex;flex-direction:column;gap:14px}
.order-card{padding:16px;transition:border-color .15s}
.order-card:hover{border-color:var(--red) !important}
.order-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:8px}
.order-id{font-family:var(--f-display);font-size:16px;letter-spacing:2px;color:var(--paper)}
.order-status{
  font-size:10px;font-weight:900;padding:3px 10px;text-transform:uppercase;letter-spacing:1px;
  border:2px solid currentColor;transform:rotate(-1.4deg);display:inline-block;
}
.order-client,.order-date{font-size:12px;color:var(--mut2);font-weight:600}
.order-items{margin:8px 0;font-size:12px;color:var(--mut2)}
.order-total{font-family:var(--f-display);font-size:21px;letter-spacing:1px;color:var(--red2)}
.order-footer{display:flex;justify-content:space-between;align-items:center;border-top:2px dashed var(--bor);padding-top:10px;margin-top:8px}
.order-body{font-size:12px;color:var(--mut2)}
.order-delivery{margin-top:8px;font-size:12px;color:var(--mut2)}

/* Drawer — prancheta lateral */
.d-overlay{
  position:fixed;inset:0;background:rgba(10,8,8,.72);z-index:300;
  opacity:0;pointer-events:none;transition:opacity .25s;backdrop-filter:blur(2px);
}
.d-overlay.open{opacity:1;pointer-events:auto}
.drawer{
  position:fixed;top:0;right:0;bottom:0;width:420px;max-width:94vw;z-index:310;
  background:var(--wall2) !important;
  border:none !important;border-left:3px solid var(--red) !important;
  padding:20px 20px 40px;overflow-y:auto;
  transform:translateX(105%);transition:transform .3s cubic-bezier(.2,1,.3,1);
}
.drawer.open{transform:translateX(0)}
.drawer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.drawer-title{font-family:var(--f-display);font-size:17px;letter-spacing:2px;color:var(--paper);text-transform:uppercase}
.drawer-close{
  width:34px;height:34px;font-size:19px;background:var(--red);color:#fff;
  border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);transform:rotate(2deg);
  transition:transform .15s;
}
.drawer-close:hover{transform:rotate(-5deg) scale(1.08)}
.a-edit-midia{display:flex;gap:12px;align-items:center;margin-bottom:16px}
.a-thumb{
  width:64px;height:64px;display:flex;align-items:center;justify-content:center;
  background:var(--ink);border:2px solid var(--bor2);font-size:22px;overflow:hidden;
  flex-shrink:0;
}
.a-thumb img,.a-thumb video{width:100%;height:100%;object-fit:cover}
.a-thumb-lg{width:84px;height:84px;transform:rotate(-2deg)}
.a-btn-midia{
  display:inline-block;cursor:pointer;
  background:var(--paper);color:var(--ink);border:2px solid var(--ink);
  font-size:11px;font-weight:900;letter-spacing:1px;padding:8px 13px;
  box-shadow:2px 2px 0 var(--red);transition:all .13s;
}
.a-btn-midia:hover{translate:-1px -1px;box-shadow:4px 4px 0 var(--red)}
.a-midia-status{font-size:11px;color:var(--mut);margin-top:6px}
.a-toggle-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:13px 0;border-top:2px dashed var(--bor);border-bottom:2px dashed var(--bor);
  margin:16px 0;
}
.a-toggle-label{font-size:13px;font-weight:800;color:var(--off);text-transform:uppercase;letter-spacing:.5px}
.a-toggle-sub{font-size:11px;color:var(--mut);margin-top:2px}
.toggle-btn{
  width:56px;height:30px;border:2px solid var(--ink);position:relative;
  transition:background .2s;flex-shrink:0;background:#332c2c;
}
.toggle-dot{
  position:absolute;top:2px;left:3px;width:20px;height:20px;
  background:var(--paper);border:2px solid var(--ink);
  transition:transform .2s cubic-bezier(.2,1.4,.4,1);
}
.spin{display:inline-block;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVO
   ═══════════════════════════════════════════════════════════ */
@media (max-width:900px){
  .modal{flex-direction:column;max-width:440px}
  .modal-gallery{border-right:none;border-bottom:3px solid var(--ink)}
  .modal-main{aspect-ratio:1/1}
  .cart-grid{grid-template-columns:1fr}
  .cart-summary{position:static}
  .kanban-board{grid-template-columns:1fr}
  .drawer{width:100vw;max-width:100vw;border-left:none !important;border-top:3px solid var(--red) !important}
}
@media (max-width:640px){
  .h-logo-text{display:none}
  .h-search{max-width:none}
  .btn-wa{display:none}
  .hero{min-height:540px}
  .hero-star{display:none}
  .hero-intro{padding-top:18px}
  .reel-nav{width:40px;height:40px;box-shadow:3px 3px 0 var(--red)}
  .reel-nav svg{width:18px;height:18px}
  .product-grid{grid-template-columns:repeat(2,1fr);gap:20px 14px}
  .section{padding:52px 0}
  .tape{font-size:14px;padding:6px 0}
  .f-ghost{bottom:-14px}
}
@media (min-width:641px){
  .h-logo-text{display:block}
}

/* ─── Acessibilidade: reduz movimento ──────────────────────── */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
  .tape-inner{animation:none;transform:none}
  .logo-splash{display:none}
}
