:root{
  --bg: #0A0D1C;
  --bg-panel: #10142A;
  --bg-card: #161A35;
  --line: #262c4d;
  --text: #F3F1E9;
  --text-muted: #8A8FB3;
  --gold: #FFC94A;
  --magenta: #FF3E7F;
  --cyan: #4EE8D3;
  --violet: #7C5CFF;
  --holo: linear-gradient(115deg, #4EE8D3 0%, #7C5CFF 28%, #FF3E7F 55%, #FFC94A 80%, #4EE8D3 100%);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background: var(--bg);
  color: var(--text);
  font-family: 'Manrope', sans-serif;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
@media (prefers-reduced-motion: reduce){
  *{animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior:auto !important;}
}
h1,h2,h3,.display{ font-family:'Chakra Petch', sans-serif; letter-spacing:0.01em; }
.mono{ font-family:'JetBrains Mono', monospace; }
a{ color:inherit; text-decoration:none; }
::selection{ background: var(--magenta); color:#fff; }
:focus-visible{ outline: 2px solid var(--cyan); outline-offset: 3px; }

.noise{
  position:fixed; inset:0; pointer-events:none; z-index:1; opacity:0.035; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ===== NAV ===== */
header{
  position: sticky; top:0; z-index:50;
  display:flex; align-items:center; justify-content:space-between;
  padding: 18px 5vw;
  background: rgba(10,13,28,0.82);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
}
.logo{ display:flex; align-items:center; gap:10px; font-size:1.15rem; font-weight:700; }
.logo-mark{
  width:26px; height:26px;
  background: var(--holo); background-size:300% 300%;
  animation: holoshift 6s ease infinite;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' fill-rule='evenodd' d='M2,4 H22 V21 H2 Z M2,10 H22 V12.5 H2 Z M10,4 L12,7 L14,4 Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' fill-rule='evenodd' d='M2,4 H22 V21 H2 Z M2,10 H22 V12.5 H2 Z M10,4 L12,7 L14,4 Z'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  filter: drop-shadow(0 0 6px rgba(124,92,255,0.6));
}
@keyframes holoshift{
  0%{background-position:0% 50%;} 50%{background-position:100% 50%;} 100%{background-position:0% 50%;}
}
nav ul{ display:flex; gap:32px; list-style:none; }
nav a{
  font-size:0.85rem; font-weight:600; text-transform:uppercase; letter-spacing:0.08em;
  color: var(--text-muted); transition: color 0.2s;
  position:relative; padding-bottom:4px;
}
nav a:hover{ color: var(--text); }
nav a::after{
  content:''; position:absolute; left:0; bottom:0; width:0; height:1px; background: var(--holo);
  transition: width 0.25s;
}
nav a:hover::after{ width:100%; }
.nav-cta{
  display:flex; align-items:center; gap:8px;
  border:1px solid var(--line); padding:9px 16px; border-radius:100px;
  font-size:0.8rem; font-weight:700; text-transform:uppercase; letter-spacing:0.06em;
}
.navlinks-wrap{ display:flex; align-items:center; gap:40px; }

/* ===== NAV DROPDOWN ("Outros") ===== */
.has-dropdown{ position:relative; padding-bottom:16px; margin-bottom:-16px; }
.dropdown-trigger{
  background:none; border:none; cursor:pointer; font-family:inherit;
  font-size:0.85rem; font-weight:600; text-transform:uppercase; letter-spacing:0.08em;
  color: var(--text-muted); transition: color 0.2s;
  display:flex; align-items:center; gap:4px; padding:0 0 4px;
}
.dropdown-trigger:hover{ color: var(--text); }
.dropdown-caret{ font-size:0.6rem; transition: transform 0.2s; }
.has-dropdown.open .dropdown-caret{ transform:rotate(180deg); }
.dropdown-menu{
  position:absolute; top:100%; left:50%; transform:translateX(-50%) translateY(-6px);
  background: var(--bg-panel); border:1px solid var(--line); border-radius:12px; padding:8px;
  min-width:180px; list-style:none;
  opacity:0; visibility:hidden; pointer-events:none;
  transition: opacity 0.2s, transform 0.2s, visibility 0.2s;
  box-shadow: 0 20px 40px -18px rgba(0,0,0,0.6); z-index:60;
}
.has-dropdown:focus-within .dropdown-menu,
.has-dropdown.open .dropdown-menu{
  opacity:1; visibility:visible; pointer-events:auto; transform:translateX(-50%) translateY(0);
}
.dropdown-menu li{ list-style:none; }
.dropdown-menu a{
  display:block; padding:10px 14px; border-radius:8px; font-size:0.82rem;
  text-transform:none; letter-spacing:normal; font-weight:600; color: var(--text-muted); white-space:nowrap;
  position:relative;
}
.dropdown-menu a:hover, .dropdown-menu a:focus-visible{ background: rgba(255,255,255,0.06); color: var(--text); }
.dropdown-menu a::after{
  content:''; position:absolute; left:14px; right:14px; bottom:6px; width:0; height:1px; background: var(--holo);
  transition: width 0.25s;
}
.dropdown-menu a:hover::after, .dropdown-menu a:focus-visible::after{ width:calc(100% - 28px); }

.mobile-menu-label{
  font-size:0.92rem; font-weight:600; color: var(--text-muted);
  padding:12px 0 4px; margin-top:6px; border-top:1px solid var(--line);
}

.mobile-menu-btn{
  display:none; flex-direction:column; justify-content:center; gap:5px;
  width:36px; height:36px; background:none; border:none; cursor:pointer; padding:0;
}
.mobile-menu-btn span{ display:block; width:22px; height:2px; background: var(--text); transition: transform 0.2s, opacity 0.2s; }
.mobile-menu-btn.open span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
.mobile-menu-btn.open span:nth-child(2){ opacity:0; }
.mobile-menu-btn.open span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }
.mobile-menu{
  display:none; flex-direction:column; background: var(--bg-panel); border-bottom:1px solid var(--line);
  padding:10px 5vw 18px;
}
.mobile-menu a{
  padding:12px 0; border-bottom:1px solid var(--line); font-size:0.92rem; font-weight:600; color:var(--text);
}
.mobile-menu a:last-child{ border-bottom:none; }

/* ===== HERO ===== */
.hero{
  position:relative; z-index:2;
  display:grid; grid-template-columns: 1.05fr 0.95fr; gap:40px; align-items:center;
  padding: 8vh 5vw 10vh;
  max-width:1400px; margin:0 auto;
}
.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-family:'JetBrains Mono', monospace; font-size:0.72rem; letter-spacing:0.12em; text-transform:uppercase;
  color: var(--cyan); border:1px solid rgba(78,232,211,0.35); padding:6px 12px; border-radius:100px;
  margin-bottom:22px; background: rgba(78,232,211,0.06);
}
.eyebrow .dot{ width:6px; height:6px; border-radius:50%; background: var(--cyan); box-shadow:0 0 8px var(--cyan); }
.hero h1{
  font-size: clamp(2.6rem, 5.2vw, 4.4rem); line-height:1.02; font-weight:700;
  margin-bottom:22px;
}
.hero h1 .grad{
  background: var(--holo); background-size:300% 300%; animation: holoshift 6s ease infinite;
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero p{ color: var(--text-muted); font-size:1.05rem; max-width:520px; margin-bottom:34px; line-height:1.65; }
.btn-row{ display:flex; gap:16px; flex-wrap:wrap; }
.btn{
  padding:15px 28px; border-radius:10px; font-weight:700; font-size:0.9rem;
  text-transform:uppercase; letter-spacing:0.05em; cursor:pointer; border:none;
  transition: transform 0.2s, box-shadow 0.2s; display:inline-block;
}
.btn-primary{ background: var(--text); color: var(--bg); }
.btn-primary:hover{ transform: translateY(-2px); box-shadow:0 10px 30px rgba(243,241,233,0.15); }
.btn-ghost{ background:transparent; color: var(--text); border:1px solid var(--line); }
.btn-ghost:hover{ border-color: var(--cyan); color: var(--cyan); transform: translateY(-2px); }

.hero-stats{ display:flex; gap:34px; margin-top:44px; }
.hero-stats div{ border-left:2px solid var(--line); padding-left:14px; }
.hero-stats .num{ font-family:'Chakra Petch'; font-size:1.5rem; font-weight:700; }
.hero-stats .lbl{ font-size:0.72rem; color:var(--text-muted); text-transform:uppercase; letter-spacing:0.06em; }

/* ===== HOLO CARD ===== */
.stage{ perspective: 1200px; display:flex; justify-content:center; }
.holo-card{
  width:320px; aspect-ratio: 5/7; border-radius:20px; position:relative;
  background: linear-gradient(160deg, #1b2040, #10132a 60%);
  border:1px solid rgba(255,255,255,0.08);
  box-shadow: 0 30px 60px -20px rgba(0,0,0,0.7);
  transform-style: preserve-3d; transition: transform 0.1s ease-out;
  cursor:pointer; overflow:hidden;
}
.holo-card .foil{
  position:absolute; inset:0; opacity:0.55; mix-blend-mode: color-dodge;
  background: var(--holo); background-size:220% 220%;
  transition: background-position 0.1s;
}
.holo-card .frame{
  position:absolute; inset:14px; border-radius:12px; border:1px solid rgba(255,255,255,0.18);
  display:flex; flex-direction:column; justify-content:space-between; padding:16px;
}
.holo-card .top-row{ display:flex; justify-content:space-between; align-items:flex-start; }
.holo-card .name{ font-family:'Chakra Petch'; font-weight:700; font-size:1.05rem; }
.holo-card .hp{ font-family:'JetBrains Mono'; font-size:0.75rem; color: var(--gold); }
.holo-card .art{
  flex:1; margin:12px 0; border-radius:8px;
  background: radial-gradient(circle at 40% 30%, rgba(124,92,255,0.5), transparent 60%),
              radial-gradient(circle at 65% 70%, rgba(255,62,127,0.45), transparent 55%),
              #0d1026;
  position:relative; overflow:hidden;
}
.holo-card .art-holo{
  position:absolute; inset:0; margin:auto; width:78%; height:78%;
  background: var(--holo); background-size:300% 300%; animation: holoshift 4s ease infinite;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' fill-rule='evenodd' d='M2,4 H22 V21 H2 Z M2,10 H22 V12.5 H2 Z M10,4 L12,7 L14,4 Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' fill-rule='evenodd' d='M2,4 H22 V21 H2 Z M2,10 H22 V12.5 H2 Z M10,4 L12,7 L14,4 Z'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}
.holo-card .art::before{
  content:''; position:absolute; inset:0;
  background: conic-gradient(from 180deg at 50% 50%, transparent, rgba(255,255,255,0.12), transparent 30%);
  animation: spin 5s linear infinite;
}
@keyframes spin{ to{ transform: rotate(360deg); } }
.holo-card .glyph{
  position:absolute; inset:0; margin:auto; width:170px; height:155px;
  background: var(--holo); background-size:300% 300%; animation: holoshift 4s ease infinite;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 200'%3E%3Ccircle cx='110' cy='16' r='10' fill='none' stroke='white' stroke-width='3'/%3E%3Ccircle cx='110' cy='38' r='13' fill='white'/%3E%3Cpath fill='white' d='M96,50 C92,65 84,85 80,112 C76,140 84,158 110,163 C136,158 144,140 140,112 C136,85 128,65 124,50 Z'/%3E%3Cpath fill='white' d='M96,58 C55,42 22,58 15,95 C30,86 44,90 53,104 C35,109 24,123 19,142 C38,133 51,129 60,138 C47,147 38,161 37,180 C55,166 68,152 77,133 C82,115 88,88 96,58 Z'/%3E%3Cpath fill='white' d='M124,58 C165,42 198,58 205,95 C190,86 176,90 167,104 C185,109 196,123 201,142 C182,133 169,129 160,138 C173,147 182,161 183,180 C165,166 152,152 143,133 C138,115 132,88 124,58 Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 200'%3E%3Ccircle cx='110' cy='16' r='10' fill='none' stroke='white' stroke-width='3'/%3E%3Ccircle cx='110' cy='38' r='13' fill='white'/%3E%3Cpath fill='white' d='M96,50 C92,65 84,85 80,112 C76,140 84,158 110,163 C136,158 144,140 140,112 C136,85 128,65 124,50 Z'/%3E%3Cpath fill='white' d='M96,58 C55,42 22,58 15,95 C30,86 44,90 53,104 C35,109 24,123 19,142 C38,133 51,129 60,138 C47,147 38,161 37,180 C55,166 68,152 77,133 C82,115 88,88 96,58 Z'/%3E%3Cpath fill='white' d='M124,58 C165,42 198,58 205,95 C190,86 176,90 167,104 C185,109 196,123 201,142 C182,133 169,129 160,138 C173,147 182,161 183,180 C165,166 152,152 143,133 C138,115 132,88 124,58 Z'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}
.holo-card .bottom{ display:flex; justify-content:space-between; align-items:center; font-family:'JetBrains Mono'; font-size:0.65rem; color: var(--text-muted); }
.holo-card .rarity-chip{
  padding:3px 9px; border-radius:100px; font-size:0.6rem; font-weight:700; text-transform:uppercase;
  background: var(--holo); background-size:200% 200%; color:#0A0D1C;
}
.stage-hint{ text-align:center; font-size:0.72rem; color:var(--text-muted); margin-top:18px; font-family:'JetBrains Mono'; letter-spacing:0.05em; }

/* ===== TICKER ===== */
.ticker-wrap{
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  background: var(--bg-panel); overflow:hidden; padding:14px 0; position:relative; z-index:2;
}
.ticker{ display:flex; gap:60px; width:max-content; animation: scroll 32s linear infinite; }
.ticker-wrap:hover .ticker{ animation-play-state: paused; }
@keyframes scroll{ from{ transform: translateX(0); } to{ transform: translateX(-50%); } }
.ticker span{ font-family:'JetBrains Mono'; font-size:0.82rem; color: var(--text-muted); white-space:nowrap; }
.ticker span b{ color: var(--text); }
.ticker .up{ color: var(--cyan); }

/* ===== SECTIONS ===== */
section.shop{ padding: 9vh 5vw; max-width:1400px; margin:0 auto; position:relative; z-index:2; }
.sec-head{ display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:44px; gap:20px; flex-wrap:wrap; }
.sec-head .tag{ font-family:'JetBrains Mono'; font-size:0.75rem; letter-spacing:0.12em; text-transform:uppercase; color: var(--cyan); margin-bottom:10px; display:block; }
.sec-head h2{ font-size: clamp(1.8rem, 3vw, 2.6rem); }
.sec-head p{ color: var(--text-muted); max-width:420px; font-size:0.95rem; }

.grid{ display:grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap:22px; }

.card{
  background: var(--bg-card); border:1px solid var(--line); border-radius:16px; overflow:hidden;
  transition: transform 0.25s, border-color 0.25s, box-shadow 0.25s; position:relative;
}
.card:hover{ transform: translateY(-6px); border-color: rgba(255,255,255,0.18); box-shadow: 0 20px 40px -18px rgba(0,0,0,0.6); }
.card-art{
  aspect-ratio: 6/5; position:relative; overflow:hidden; padding:14px; box-sizing:border-box;
  display:flex; align-items:center; justify-content:center;
}
.card-art .glyph2{
  width:56px; height:56px; opacity:0.9;
  clip-path: polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%);
  background: var(--holo); background-size:200% 200%; animation: holoshift 5s ease infinite;
}
.card-art::after{
  content:''; position:absolute; inset:0; opacity:0; transition:opacity 0.3s;
  background: linear-gradient(120deg, transparent 30%, rgba(255,255,255,0.25), transparent 60%);
}
.card:hover .card-art::after{ opacity:1; transform: translateX(20%); }
.card-body{ padding:16px 18px 18px; }
.card-body .cname{ font-family:'Chakra Petch'; font-weight:600; font-size:1rem; margin-bottom:4px; }
.card-body .cset{ font-size:0.78rem; color: var(--text-muted); margin-bottom:12px; }
.card-foot{ display:flex; justify-content:space-between; align-items:center; gap:8px; }
.card-badges{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; justify-content:flex-end; }
.price{ font-family:'JetBrains Mono'; font-weight:700; font-size:1.02rem; }
.badge{
  font-size:0.62rem; font-weight:700; text-transform:uppercase; letter-spacing:0.05em;
  padding:4px 9px; border-radius:100px;
}
.b-comum{ background:rgba(138,143,179,0.15); color:#B5B9D6; }
.b-incomum{ background:rgba(78,232,211,0.15); color: var(--cyan); }
.b-rara{ background:rgba(124,92,255,0.18); color:#B4A4FF; }
.b-ultra{ background:rgba(255,62,127,0.18); color:#FF7FA8; }
.b-secreta{ background: var(--holo); background-size:200% 200%; color:#0A0D1C; animation: holoshift 5s ease infinite; }
.add-btn{
  width:100%; margin-top:14px; padding:11px; border-radius:8px; border:1px solid var(--line);
  background:transparent; color: var(--text); font-weight:700; font-size:0.78rem;
  text-transform:uppercase; letter-spacing:0.05em; cursor:pointer; transition: all 0.2s;
}
.add-btn:hover{ background: var(--text); color: var(--bg); }

.art-sealed{ background: linear-gradient(160deg, #1a1f3d, #0d1026); }
.box-shape{ width:78px; height:64px; border-radius:6px; position:relative;
  background: linear-gradient(135deg, var(--gold), #b8790a);
  box-shadow: inset 0 0 0 2px rgba(0,0,0,0.25);
}
.box-shape::before{ content:''; position:absolute; top:0; left:0; right:0; height:14px; background:rgba(0,0,0,0.18); }

.art-psa{ background: linear-gradient(160deg, #1a1f3d, #0d1026); }
.psa-slab{
  width:120px; height:150px; border-radius:8px; border:2px solid rgba(255,255,255,0.15);
  background: linear-gradient(180deg, rgba(255,255,255,0.06), transparent 40%);
  display:flex; flex-direction:column; align-items:center; justify-content:flex-start; padding-top:8px; position:relative;
}
.psa-slab .cap{
  font-family:'JetBrains Mono'; font-size:0.55rem; color:var(--text-muted); text-align:center; line-height:1.3;
}
.psa-grade{
  margin-top:auto; margin-bottom:8px; font-family:'Chakra Petch'; font-weight:700; font-size:1.6rem;
  background: var(--holo); background-size:200% 200%; -webkit-background-clip:text; background-clip:text; color:transparent;
  animation: holoshift 5s ease infinite;
}
.psa-inner{ flex:1; width:70%; margin-top:6px; border-radius:4px; background:#0d1026; }

.art-manga{ display:flex; align-items:flex-end; justify-content:center; padding-top:14px; }
.manga-cover{
  width:88px; height:120px; border-radius:3px; position:relative; overflow:hidden;
  display:flex; align-items:center; justify-content:center; text-align:center; padding:8px;
}
.manga-cover .vol{ position:absolute; top:6px; right:6px; font-family:'JetBrains Mono'; font-size:0.6rem; background:rgba(0,0,0,0.35); padding:2px 5px; border-radius:4px; }
.manga-cover span{ font-family:'Chakra Petch'; font-weight:700; font-size:0.85rem; line-height:1.15; color:#fff; text-shadow:0 2px 8px rgba(0,0,0,0.4); }

/* ===== TRUST ===== */
.trust{
  background: var(--bg-panel); border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  padding: 9vh 5vw; position:relative; z-index:2;
}
.trust-inner{ max-width:1400px; margin:0 auto; }
.trust-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap:30px; margin-top:44px; }
.trust-card{ padding:28px; border:1px solid var(--line); border-radius:16px; background: var(--bg-card); }
.trust-card .n{ font-family:'JetBrains Mono'; font-size:0.75rem; color: var(--cyan); margin-bottom:14px; display:block; }
.trust-card h3{ font-size:1.15rem; margin-bottom:10px; }
.trust-card p{ color: var(--text-muted); font-size:0.9rem; line-height:1.6; }

/* ===== NEWSLETTER / FOOTER ===== */
.cta-band{
  margin: 10vh 5vw; max-width:1400px; margin-left:auto; margin-right:auto;
  border-radius:24px; padding: 7vh 6vw; position:relative; overflow:hidden;
  background: #0d1026; border:1px solid var(--line);
  display:flex; justify-content:space-between; align-items:center; gap:30px; flex-wrap:wrap;
}
.cta-band::before{
  content:''; position:absolute; inset:-2px; z-index:-1; opacity:0.5; filter: blur(60px);
  background: radial-gradient(circle at 20% 30%, rgba(124,92,255,0.4), transparent 45%),
              radial-gradient(circle at 80% 70%, rgba(255,62,127,0.35), transparent 45%);
}
.cta-band h2{ font-size: clamp(1.6rem, 3vw, 2.2rem); max-width:480px; }
.cta-form{ display:flex; gap:10px; flex-wrap:wrap; }
.cta-form input{
  background: var(--bg-card); border:1px solid var(--line); color:var(--text);
  padding:14px 18px; border-radius:10px; font-family:'Manrope'; min-width:240px; font-size:0.9rem;
}
.cta-form input:focus{ outline:2px solid var(--cyan); }

footer{ padding: 6vh 5vw 5vh; border-top:1px solid var(--line); position:relative; z-index:2; }

.whatsapp-fab{
  position:fixed; right:24px; bottom:24px; z-index:80;
  width:56px; height:56px; min-width:56px; min-height:56px; border-radius:50%;
  background:#25D366; color:#fff;
  display:flex; align-items:center; justify-content:center;
  box-shadow: 0 10px 28px rgba(0,0,0,0.4);
  transition: transform 0.2s, box-shadow 0.2s;
}
.whatsapp-fab::before{
  content:''; position:absolute; inset:0; border-radius:50%;
  background:#25D366; z-index:-1;
  animation: wa-pulse 2.4s ease-out infinite;
}
@keyframes wa-pulse{
  0%{ transform:scale(1); opacity:0.7; }
  100%{ transform:scale(1.9); opacity:0; }
}
.whatsapp-fab:hover{ transform: scale(1.08); box-shadow: 0 12px 32px rgba(0,0,0,0.5); }
.whatsapp-fab:hover::before{ animation-play-state: paused; opacity:0; }
.whatsapp-fab svg{ width:30px; height:30px; display:block; flex-shrink:0; position:relative; }
@media (max-width: 900px){
  .whatsapp-fab{ right:16px; bottom:16px; width:52px; height:52px; min-width:52px; min-height:52px; }
  .whatsapp-fab svg{ width:26px; height:26px; }
}
@media (prefers-reduced-motion: reduce){
  .whatsapp-fab::before{ animation:none; display:none; }
}

.privacy-notice{
  position:fixed; left:20px; right:20px; bottom:20px; z-index:200; max-width:520px; margin:0 auto;
  background: var(--bg-card); border:1px solid var(--line); border-radius:14px;
  padding:18px 20px; align-items:center; gap:16px; flex-wrap:wrap;
  box-shadow: 0 20px 50px rgba(0,0,0,0.5);
}
.privacy-notice[hidden]{ display:none; }
.privacy-notice:not([hidden]){ display:flex; }
.privacy-notice p{ flex:1; min-width:220px; font-size:0.84rem; color:var(--text-muted); margin:0; }
.privacy-notice a{ color: var(--cyan); }
.privacy-notice button{
  background: var(--text); color: var(--bg); border:none; padding:10px 22px; border-radius:8px;
  font-weight:700; font-size:0.82rem; cursor:pointer; text-transform:uppercase; letter-spacing:0.03em; white-space:nowrap;
}
.privacy-notice button:hover{ opacity:0.9; }
.foot-grid{ max-width:1400px; margin:0 auto; display:grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap:30px; }
.foot-col h4{ font-size:0.78rem; text-transform:uppercase; letter-spacing:0.08em; color:var(--text-muted); margin-bottom:16px; }
.social-row{ display:flex; gap:10px; flex-wrap:wrap; }
.foot-col .social-row a.social-btn{
  width:38px; height:38px; min-width:38px; min-height:38px; flex-shrink:0;
  border-radius:10px; border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center;
  color:var(--text-muted); text-decoration:none; opacity:1; margin-bottom:0;
  font-family:'JetBrains Mono', monospace; font-size:0.68rem; font-weight:700; letter-spacing:0.02em;
  transition: color 0.2s, border-color 0.2s, transform 0.2s;
}
.foot-col .social-row a.social-btn:hover{ color: var(--cyan); border-color: var(--cyan); transform: translateY(-2px); }
.foot-col .social-row a.social-btn svg{ width:18px; height:18px; display:block; flex-shrink:0; }
.foot-col a{ display:block; font-size:0.88rem; color: var(--text); opacity:0.85; margin-bottom:10px; }
.foot-col a:hover{ opacity:1; color: var(--cyan); }
.foot-col--suporte{ margin-left:24px; }

/* ===== PAGAMENTO / SELO DE SEGURANÇA ===== */
.payment-row{
  max-width:1400px; margin:36px auto 0; padding-top:24px; border-top:1px solid var(--line);
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px;
}
.pay-badges{ display:flex; gap:10px; flex-wrap:wrap; }
.pay-badge{
  display:inline-flex; align-items:center; gap:7px; height:34px; padding:0 14px 0 12px; border-radius:8px;
  background: var(--bg-card); border:1px solid var(--line); color: var(--text-muted);
  font-size:0.76rem; font-weight:700; letter-spacing:0.03em; font-family:'JetBrains Mono';
  transition: border-color 0.2s, color 0.2s, transform 0.2s;
}
.pay-badge:hover{ transform:translateY(-2px); }
.pay-badge svg{ flex-shrink:0; opacity:0.9; }
.pay-badge.pay-visa:hover{ color:#8FB4FF; border-color:rgba(143,180,255,0.4); }
.pay-badge.pay-mc:hover{ color:#FFB25C; border-color:rgba(255,178,92,0.4); }
.pay-badge.pay-pix{ color:#4EE8D3; border-color:rgba(78,232,211,0.35); }
.pay-badge.pay-pix:hover{ border-color:rgba(78,232,211,0.6); }
.pay-badge.pay-boleto:hover{ color:#D8D4C8; border-color:rgba(216,212,200,0.4); }
.secure-seal{
  display:inline-flex; align-items:center; gap:7px; color: var(--text-muted); font-size:0.78rem; font-family:'JetBrains Mono';
}
.secure-seal svg{ color: var(--cyan); flex-shrink:0; }

.foot-bottom{ max-width:1400px; margin:40px auto 0; display:flex; justify-content:space-between; align-items:center; color:var(--text-muted); font-size:0.78rem; font-family:'JetBrains Mono'; flex-wrap:wrap; gap:10px; }
.foot-watermark{ height:32px; width:auto; opacity:0.55; filter:grayscale(35%); transition: opacity 0.25s; }
.foot-watermark:hover{ opacity:0.9; }

/* ===== STOCK BADGES ===== */
.b-esgotado{ background:rgba(255,62,127,0.18); color:#FF7FA8; }
.b-baixo{ background:rgba(255,201,74,0.18); color: var(--gold); }

/* ===== SEARCH + PAGINATION ===== */
.sec-search{ margin-bottom:24px; }
.sec-search input{
  background: var(--bg-card); border:1px solid var(--line); color:var(--text);
  padding:11px 16px; border-radius:100px; font-family:'Manrope'; font-size:0.88rem; width:100%; max-width:320px;
}
.sec-search input:focus{ outline:2px solid var(--cyan); }
.filter-bar{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:24px; align-items:center; }
.filter-bar input[type="text"]{
  background: var(--bg-card); border:1px solid var(--line); color:var(--text);
  padding:11px 16px; border-radius:100px; font-family:'Manrope'; font-size:0.86rem; flex:1; min-width:180px;
}
.filter-bar select{
  background: var(--bg-card); border:1px solid var(--line); color:var(--text);
  padding:11px 14px; border-radius:100px; font-family:'Manrope'; font-size:0.84rem;
}
.filter-bar input:focus, .filter-bar select:focus{ outline:2px solid var(--cyan); }
.pagination{ display:flex; gap:8px; margin-top:30px; flex-wrap:wrap; }
.pagination a, .pagination span{
  padding:8px 14px; border-radius:8px; border:1px solid var(--line); font-size:0.8rem; font-family:'JetBrains Mono';
  color:var(--text-muted); text-decoration:none;
}
.pagination a:hover{ border-color: var(--cyan); color: var(--cyan); }
.pagination .current{ background: var(--text); color: var(--bg); border-color: var(--text); }

/* ===== CART / CHECKOUT ===== */
.add-form{ margin-top:14px; }
.cart-table{ display:flex; flex-direction:column; gap:14px; margin-bottom:30px; }
.continue-link{ font-size:0.82rem; color: var(--cyan); text-decoration:none; white-space:nowrap; }
.continue-link:hover{ text-decoration:underline; }

.ship-progress{
  background: var(--bg-card); border:1px solid var(--line); border-radius:12px;
  padding:16px 20px; margin-bottom:24px;
}
.ship-progress-text{ font-size:0.86rem; margin-bottom:10px; color:var(--text-muted); }
.ship-progress-text strong{ color: var(--cyan); }
.ship-progress-bar{ height:8px; border-radius:100px; background: var(--bg-panel); overflow:hidden; }
.ship-progress-fill{ height:100%; background: var(--holo); background-size:200% 200%; animation: holoshift 5s ease infinite; border-radius:100px; transition: width 0.3s; }
.ship-progress-done{ font-size:0.9rem; font-weight:700; color: var(--cyan); text-align:center; padding:14px 20px; }

.cart-row{
  display:grid; grid-template-columns: 56px 1fr 90px 120px 90px; align-items:center; gap:16px;
  background: var(--bg-card); border:1px solid var(--line); border-radius:12px; padding:16px 20px;
}
.cart-thumb{
  width:56px; height:56px; border-radius:8px; overflow:hidden; background: linear-gradient(160deg, #1a1f3d, #0d1026);
  display:flex; align-items:center; justify-content:center; flex-shrink:0; padding:6px; box-sizing:border-box;
}
.cart-name{ display:flex; flex-direction:column; gap:2px; }
.cart-name a{ color:inherit; text-decoration:none; }
.cart-name a:hover strong{ color: var(--cyan); }
.cart-name span{ font-size:0.78rem; color:var(--text-muted); }
.cart-warn{ font-size:0.74rem; color: var(--gold) !important; margin-top:2px; }
.cart-qty-form input{
  width:70px; background: var(--bg-panel); border:1px solid var(--line); color:var(--text);
  padding:8px; border-radius:6px; text-align:center;
}
.cart-price{ font-weight:700; text-align:right; }
.del-link{ background:none; border:none; color: var(--magenta); font-size:0.75rem; font-weight:700; text-transform:uppercase; cursor:pointer; }
.del-link:hover{ text-decoration:underline; }
.cart-summary{
  display:flex; justify-content:space-between; align-items:center; background: var(--bg-panel);
  border:1px solid var(--line); border-radius:14px; padding:20px 26px; flex-wrap:wrap; gap:16px;
}
.checkout-grid{ display:grid; grid-template-columns: 1.3fr 1fr; gap:30px; align-items:start; }
.panel-like{ background: var(--bg-card); border:1px solid var(--line); border-radius:16px; padding:26px; }
.panel-like label{ display:flex; flex-direction:column; gap:6px; font-size:0.75rem; color:var(--text-muted); text-transform:uppercase; letter-spacing:0.04em; margin-bottom:14px; }
.panel-like input, .panel-like select{
  background: var(--bg-panel); border:1px solid var(--line); color:var(--text);
  padding:11px 13px; border-radius:8px; font-family:'Manrope'; font-size:0.9rem;
}
.flash{ padding:12px 16px; border-radius:8px; font-size:0.85rem; }
.flash.ok{ background:rgba(78,232,211,0.1); border:1px solid rgba(78,232,211,0.3); color:var(--cyan); }
.flash.err{ background:rgba(255,62,127,0.12); border:1px solid rgba(255,62,127,0.35); color:#FF7FA8; }

/* ===== FAQ ===== */
.faq-list{ display:flex; flex-direction:column; gap:10px; }
.faq-item{ border:1px solid var(--line); border-radius:12px; background: var(--bg-card); overflow:hidden; }
.faq-q{
  width:100%; text-align:left; background:none; border:none; color:var(--text); cursor:pointer;
  padding:16px 20px; font-family:'Manrope'; font-weight:600; font-size:0.92rem;
  display:flex; justify-content:space-between; align-items:center;
}
.faq-chevron{ color: var(--cyan); font-size:1.1rem; transition: transform 0.2s; }
.faq-item.open .faq-chevron{ transform: rotate(45deg); }
.faq-a{ max-height:0; overflow:hidden; transition: max-height 0.25s ease; padding:0 20px; }
.faq-item.open .faq-a{ max-height:300px; padding-bottom:18px; }
.faq-a p{ color:var(--text-muted); font-size:0.88rem; line-height:1.6; }

/* ===== REVIEWS ===== */
.reviews-section{ margin-top:50px; border-top:1px solid var(--line); padding-top:36px; }
.review-item{ padding:16px 0; border-bottom:1px solid var(--line); }
.review-stars{ color: var(--gold); letter-spacing:2px; margin-bottom:6px; }
.review-name{ font-weight:700; font-size:0.88rem; }
.review-date{ color:var(--text-muted); font-size:0.75rem; margin-left:8px; }
.review-comment{ color:var(--text-muted); font-size:0.88rem; margin-top:6px; line-height:1.5; }
.review-form{ margin-top:24px; display:flex; flex-direction:column; gap:12px; max-width:420px; }
.review-form label{ display:flex; flex-direction:column; gap:6px; font-size:0.72rem; text-transform:uppercase; letter-spacing:0.04em; color:var(--text-muted); }
.review-form input, .review-form select, .review-form textarea{
  background: var(--bg-card); border:1px solid var(--line); color:var(--text);
  padding:10px 13px; border-radius:8px; font-family:'Manrope'; font-size:0.88rem;
}

.card-link-name{ color:inherit; text-decoration:none; }
.card-link-name:hover .cname{ color: var(--cyan); }

/* ===== HOME TEASER ===== */
.teaser-head{ display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:24px; flex-wrap:wrap; gap:14px; }
.teaser-head a{ font-size:0.8rem; font-weight:700; text-transform:uppercase; letter-spacing:0.05em; color:var(--cyan); }

/* ===== PRODUCT PAGE ===== */
.product-page{ display:grid; grid-template-columns: 1fr 1fr; gap:50px; padding: 6vh 5vw; max-width:1200px; margin:0 auto; }
.product-stage{ aspect-ratio: 6/5; border-radius:20px; overflow:hidden; background: linear-gradient(160deg, #1a1f3d, #0d1026); display:flex; align-items:center; justify-content:center; border:1px solid var(--line); padding:20px; box-sizing:border-box; }
.product-stage img{ width:100%; height:100%; object-fit:contain; }
.gallery-strip{ display:flex; gap:10px; margin-top:14px; flex-wrap:wrap; }
.gallery-thumb{
  width:60px; height:60px; object-fit:contain; border-radius:8px; cursor:pointer; padding:5px; box-sizing:border-box;
  background: linear-gradient(160deg, #1a1f3d, #0d1026);
  border:2px solid var(--line); opacity:0.7; transition: opacity 0.2s, border-color 0.2s;
}
.gallery-thumb:hover{ opacity:1; }
.gallery-thumb.active{ opacity:1; border-color: var(--cyan); }
.breadcrumb{ font-size:0.78rem; color:var(--text-muted); margin-bottom:20px; font-family:'JetBrains Mono'; }
.breadcrumb a{ color: var(--cyan); }
.product-info h1{ font-size:clamp(1.6rem,3vw,2.2rem); margin-bottom:10px; }
.product-info .pset{ color:var(--text-muted); margin-bottom:18px; }
.product-info .pprice{ font-family:'JetBrains Mono'; font-size:1.6rem; font-weight:700; margin-bottom:20px; }
.product-info .badges{ display:flex; gap:8px; margin-bottom:24px; flex-wrap:wrap; }
.product-info .spec-list{ border-top:1px solid var(--line); padding-top:18px; margin-bottom:26px; }
.product-info .spec-list div{ display:flex; justify-content:space-between; padding:8px 0; font-size:0.86rem; border-bottom:1px solid var(--line); }
.product-info .spec-list span:first-child{ color:var(--text-muted); }
.product-description{ color:var(--text-muted); font-size:0.92rem; line-height:1.7; margin-bottom:26px; }
.qty-add{ display:flex; gap:10px; align-items:center; }
.qty-add input{ width:70px; background: var(--bg-card); border:1px solid var(--line); color:var(--text); padding:12px; border-radius:8px; text-align:center; }

.qty-stepper{ display:flex; align-items:center; border:1px solid var(--line); border-radius:8px; overflow:hidden; }
.qty-stepper input{
  width:52px; background: var(--bg-card); border:none; color:var(--text); padding:12px 4px; text-align:center;
  -moz-appearance:textfield;
}
.qty-stepper input::-webkit-outer-spin-button, .qty-stepper input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.qty-btn{
  width:38px; height:44px; background: var(--bg-card); border:none; color:var(--text-muted); font-size:1.1rem;
  cursor:pointer; transition: background 0.2s, color 0.2s; line-height:1;
}
.qty-btn:hover{ background: rgba(255,255,255,0.06); color: var(--text); }
.qty-btn:first-child{ border-right:1px solid var(--line); }
.qty-btn:last-child{ border-left:1px solid var(--line); }

/* ===== BOTÃO WHATSAPP NA PÁGINA DE PRODUTO ===== */
.wa-line{ margin-top:14px; font-size:0.9rem; color: var(--text-muted); }
.wa-pill{
  display:inline-flex; align-items:center; gap:6px;
  border:1.5px solid #25D366; color:#25D366; border-radius:999px;
  padding:6px 18px; font-weight:700; font-size:0.88rem;
  transition: background 0.2s, color 0.2s;
}
.wa-pill::before{ content:'●'; font-size:0.6rem; }
.wa-pill:hover{ background:#25D366; color:#0A0D1C; }

/* ===== MINI-CARRINHO ===== */
.mini-cart-backdrop{
  position:fixed; inset:0; background:rgba(6,8,18,0.6); backdrop-filter:blur(2px);
  z-index:90; opacity:0; pointer-events:none; transition: opacity 0.25s;
}
.mini-cart-backdrop.open{ opacity:1; pointer-events:auto; }
.mini-cart{
  position:fixed; top:0; right:0; bottom:0; width:380px; max-width:92vw; z-index:91;
  background: var(--bg-panel); border-left:1px solid var(--line);
  display:flex; flex-direction:column; transform: translateX(100%); transition: transform 0.3s ease;
  box-shadow: -20px 0 50px rgba(0,0,0,0.4);
}
.mini-cart.open{ transform: translateX(0); }
.mini-cart-head{
  display:flex; justify-content:space-between; align-items:center; padding:20px 22px;
  border-bottom:1px solid var(--line); font-family:'Chakra Petch'; font-size:1.05rem;
}
.mini-cart-close{ background:none; border:none; color:var(--text-muted); font-size:1.1rem; cursor:pointer; }
.mini-cart-close:hover{ color: var(--text); }
.mini-cart-body{ flex:1; overflow-y:auto; padding:16px 22px; }
.mini-cart-empty{ color:var(--text-muted); font-size:0.88rem; text-align:center; margin-top:30px; }
.mini-cart-item{ display:grid; grid-template-columns: 48px 1fr auto; gap:12px; padding:14px 0; border-bottom:1px solid var(--line); align-items:flex-start; }
.mini-cart-thumb{ width:48px; height:48px; border-radius:8px; overflow:hidden; background: linear-gradient(160deg, #1a1f3d, #0d1026); display:flex; align-items:center; justify-content:center; padding:5px; box-sizing:border-box; }

/* ===== 404 ===== */
.error-404-code{
  font-family:'Chakra Petch'; font-weight:700; font-size:clamp(5rem, 18vw, 10rem); line-height:1;
  letter-spacing:0.02em; margin-bottom:8px;
  background: var(--holo); background-size:300% 300%; animation: holoshift 4s ease infinite;
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.error-404-links{
  display:flex; flex-wrap:wrap; justify-content:center; gap:10px 28px;
  padding-top:28px; border-top:1px solid var(--line);
}
.error-404-links a{
  font-size:0.85rem; font-weight:600; color: var(--text-muted); position:relative; padding-bottom:2px;
}
.error-404-links a::after{
  content:''; position:absolute; left:0; bottom:0; width:0; height:1px; background: var(--holo);
  transition: width 0.25s;
}
.error-404-links a:hover{ color: var(--text); }
.error-404-links a:hover::after{ width:100%; }
.mini-cart-info{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.mini-cart-info a{ color:var(--text); text-decoration:none; font-size:0.85rem; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mini-cart-info a:hover{ color: var(--cyan); }
.mini-cart-info span{ font-size:0.74rem; color:var(--text-muted); }
.mini-cart-qty-row{ display:flex; align-items:center; gap:8px; margin-top:6px; }
.mc-qty-btn{
  width:22px; height:22px; border-radius:5px; border:1px solid var(--line); background:var(--bg-card);
  color:var(--text); cursor:pointer; font-size:0.85rem; line-height:1;
}
.mc-qty-btn:disabled{ opacity:0.35; cursor:not-allowed; }
.mc-qty-val{ font-size:0.8rem; font-family:'JetBrains Mono'; min-width:16px; text-align:center; }
.mc-remove{ background:none; border:none; color: var(--magenta); font-size:0.7rem; font-weight:700; text-transform:uppercase; cursor:pointer; margin-left:6px; }
.mini-cart-price{ font-size:0.84rem; font-weight:700; white-space:nowrap; }
.mini-cart-footer{ padding:18px 22px 22px; border-top:1px solid var(--line); }
.mini-cart-ship{ font-size:0.8rem; color:var(--text-muted); margin-bottom:12px; text-align:center; }
.mini-cart-ship strong{ color: var(--cyan); }
.mini-cart-subtotal{ display:flex; justify-content:space-between; font-size:0.92rem; margin-bottom:14px; }
.mini-cart-actions{ display:grid; grid-template-columns: 1fr 1fr; gap:10px; }
.mini-cart-actions .btn{ padding:12px; font-size:0.78rem; text-align:center; text-decoration:none; display:block; }

@media (max-width: 900px){
  .product-page{ grid-template-columns: 1fr; }
}

@media (max-width: 900px){
  nav ul, .nav-cta{ display:none; }
  .mobile-menu-btn{ display:flex; }
  .mobile-menu[hidden]{ display:none; }
  .mobile-menu:not([hidden]){ display:flex; }
  .hero{ grid-template-columns: 1fr; padding-top:6vh; }
  .stage{ order:-1; margin-bottom:20px; }
  .hero-stats{ gap:22px; }
  .trust-grid{ grid-template-columns:1fr; }
  .foot-grid{ grid-template-columns: 1fr 1fr; }
  .cta-band{ flex-direction:column; align-items:flex-start; }
  .cart-row{ grid-template-columns: 56px 1fr; text-align:left; }
  .cart-qty-form, .cart-price, .cart-row form:last-child{ grid-column: 2; }
  .checkout-grid{ grid-template-columns: 1fr; }
}
