:root{
  --bg:#08080a; --bg-2:#101014; --surface:#16161c; --surface-2:#1d1d24; --line:#28282f;
  --text:#f5f5f5; --muted:#a1a1aa;
  --primary:#f97316; --primary-2:#fb923c; --primary-3:#ea580c;
  --grad:linear-gradient(135deg,#fb923c 0%,#f97316 45%,#ea580c 100%);
  --grad-soft:radial-gradient(1400px 700px at 18% -10%, rgba(249,115,22,.28), transparent 60%),
              radial-gradient(900px 600px at 95% 25%, rgba(234,88,12,.22), transparent 60%),
              radial-gradient(700px 500px at 60% 100%, rgba(251,146,60,.10), transparent 65%);
  --shadow:0 10px 40px -10px rgba(249,115,22,.45);
  --shadow-lg:0 30px 80px -20px rgba(249,115,22,.55);
  --radius:14px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.bx-container{max-width:1200px;margin:0 auto;padding:0 18px}
.bx-muted{color:var(--muted)}
::selection{background:rgba(249,115,22,.35);color:#fff}

/* GLOBAL LOADER (X laranja girando) */
.bx-loader{position:fixed;inset:0;z-index:9999;background:rgba(8,8,10,.78);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}
.bx-loader.show{opacity:1;visibility:visible}
.bx-loader-x{width:84px;height:84px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;font-size:54px;letter-spacing:-.04em;background:var(--grad);border-radius:22px;box-shadow:0 0 0 0 rgba(249,115,22,.45),var(--shadow-lg);animation:spinX 1.2s cubic-bezier(.65,.05,.35,1) infinite, pulseGlow 1.6s ease-in-out infinite;font-family:'Inter',sans-serif;line-height:1;text-shadow:0 4px 18px rgba(0,0,0,.4)}
@keyframes spinX{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.08)}100%{transform:rotate(360deg) scale(1)}}
@keyframes pulseGlow{0%,100%{box-shadow:0 0 0 0 rgba(249,115,22,.45),0 20px 50px -8px rgba(249,115,22,.4)}50%{box-shadow:0 0 0 18px rgba(249,115,22,0),0 30px 70px -10px rgba(249,115,22,.6)}}

/* Splash inicial */
.bx-splash{position:fixed;inset:0;z-index:10000;background:#08080a;display:flex;align-items:center;justify-content:center;transition:opacity .4s ease,visibility .4s ease}
.bx-splash.hidden{opacity:0;visibility:hidden}

/* HEADER */
.bx-header{position:sticky;top:0;z-index:50;backdrop-filter:saturate(140%) blur(14px);background:rgba(8,8,10,.72);border-bottom:1px solid var(--line)}
.bx-header-inner{display:flex;align-items:center;justify-content:space-between;height:64px}
.bx-logo{font-family:'Inter',sans-serif;font-weight:900;letter-spacing:.06em;font-size:22px;display:inline-flex;align-items:center;gap:0}
.bx-logo b{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;animation:hueShift 6s ease-in-out infinite}
@keyframes hueShift{0%,100%{filter:hue-rotate(0)}50%{filter:hue-rotate(-12deg) brightness(1.1)}}
.bx-nav{display:flex;align-items:center;gap:18px;font-size:14px}
.bx-nav a{padding:8px 4px;color:var(--text);opacity:.9;position:relative;transition:.2s}
.bx-nav a:hover{opacity:1;color:var(--primary-2)}
.bx-link-muted{color:var(--muted)!important;font-size:13px}
.bx-cart-link{position:relative;display:inline-flex}
.bx-cart-badge{position:absolute;top:-4px;right:-8px;background:var(--primary);color:#fff;font-size:11px;border-radius:999px;min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;font-weight:700;animation:popIn .3s ease}
@keyframes popIn{from{transform:scale(0)}to{transform:scale(1)}}

/* BG ambient */
.bx-bg{position:fixed;inset:0;z-index:-1;background:var(--grad-soft),var(--bg)}
.bx-bg::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px, rgba(255,255,255,.04) 1px, transparent 0);background-size:32px 32px;opacity:.5}

/* HERO */
.bx-hero{padding:64px 0 56px;position:relative;overflow:hidden;animation:fadeUp .6s ease both}
.bx-hero-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center}
.bx-hero h1{font-size:clamp(38px,6.4vw,72px);line-height:1.02;margin:0 0 18px;font-weight:900;letter-spacing:-.025em}
.bx-grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}
.bx-hero p{font-size:17px;line-height:1.65;color:var(--muted);max-width:560px}
.bx-pill{display:inline-flex;gap:8px;align-items:center;background:rgba(249,115,22,.1);border:1px solid rgba(249,115,22,.3);color:var(--primary-2);padding:6px 14px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.04em;margin-bottom:18px;text-transform:uppercase}
.bx-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--primary);box-shadow:0 0 10px var(--primary);animation:pulseDot 1.6s infinite}
@keyframes pulseDot{0%,100%{opacity:1}50%{opacity:.3}}
.bx-actions{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;border-radius:12px;font-weight:800;font-size:15px;cursor:pointer;border:none;transition:transform .2s,box-shadow .25s,opacity .2s,background .2s;text-align:center;min-height:50px;letter-spacing:.01em;position:relative;overflow:hidden;font-family:inherit}
.btn-primary{background:var(--grad);color:#fff;box-shadow:var(--shadow)}
.btn-primary::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.25) 50%,transparent 70%);transform:translateX(-100%);transition:transform .6s}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 55px -10px rgba(249,115,22,.6)}
.btn-primary:hover::after{transform:translateX(100%)}
.btn-glass{background:rgba(255,255,255,.05);color:#fff;border:1px solid var(--line);backdrop-filter:blur(8px)}
.btn-glass:hover{background:rgba(255,255,255,.1);border-color:var(--primary)}
.btn-block{width:100%}
.btn[disabled]{opacity:.45;cursor:not-allowed;filter:grayscale(.5)}

/* Hero image (sem cortes feios) */
.bx-hero-img{position:relative;display:flex;justify-content:center;align-items:center;min-height:460px;padding:20px 0}
.bx-hero-img::before{content:"";position:absolute;width:min(90%,460px);aspect-ratio:1/1;background:radial-gradient(circle at center,rgba(249,115,22,.35) 0%,rgba(249,115,22,.12) 35%,transparent 70%);filter:blur(20px);animation:pulseGlow2 5s ease-in-out infinite}
@keyframes pulseGlow2{0%,100%{transform:scale(1);opacity:.8}50%{transform:scale(1.08);opacity:1}}
.bx-hero-img img{position:relative;max-width:100%;max-height:560px;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 30px 60px rgba(249,115,22,.45)) drop-shadow(0 10px 20px rgba(0,0,0,.5));animation:floatY 6s ease-in-out infinite;transition:transform .4s}
.bx-hero-img:hover img{transform:scale(1.03) rotate(-1deg)}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-18px)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

/* SECTIONS */
.bx-section{padding:80px 0;position:relative}
.bx-section h2{font-size:clamp(28px,4vw,44px);font-weight:900;letter-spacing:-.025em;margin:0 0 10px;text-align:center}
.bx-section .sub{color:var(--muted);text-align:center;margin:0 auto 40px;max-width:620px;font-size:15px}

/* Reveal on scroll */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}

/* FEATURES */
.bx-features{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.bx-feat{background:linear-gradient(180deg,var(--surface) 0%,var(--bg-2) 100%);border:1px solid var(--line);border-radius:18px;padding:24px;transition:.3s;position:relative;overflow:hidden}
.bx-feat::before{content:"";position:absolute;inset:0;background:radial-gradient(400px 200px at 50% 0%,rgba(249,115,22,.12),transparent 60%);opacity:0;transition:.3s}
.bx-feat:hover{transform:translateY(-6px);border-color:rgba(249,115,22,.5);box-shadow:0 20px 40px -20px rgba(249,115,22,.4)}
.bx-feat:hover::before{opacity:1}
.bx-feat .ico{width:48px;height:48px;border-radius:14px;background:var(--grad);display:flex;align-items:center;justify-content:center;margin-bottom:14px;color:#fff;font-size:22px;box-shadow:0 8px 20px -6px rgba(249,115,22,.5)}
.bx-feat h3{margin:0 0 6px;font-size:17px;font-weight:800}
.bx-feat p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.55}

/* PRODUTO */
.bx-prod{padding:40px 0 70px;animation:fadeIn .5s ease both}
.bx-prod-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:flex-start}
.bx-gallery .main{aspect-ratio:1/1;background:#fff;border-radius:20px;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--line);box-shadow:0 30px 80px -20px rgba(0,0,0,.6);padding:30px;transition:.3s}
.bx-gallery .main:hover{transform:scale(1.01)}
.bx-gallery .main img{max-width:100%;max-height:100%;object-fit:contain;transition:transform .4s}
.bx-gallery .main:hover img{transform:scale(1.05)}
.bx-thumbs{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.bx-thumb{width:78px;height:78px;border-radius:12px;background:#fff;border:2px solid var(--line);overflow:hidden;cursor:pointer;opacity:.7;transition:.2s;padding:6px}
.bx-thumb.active,.bx-thumb:hover{opacity:1;border-color:var(--primary);transform:translateY(-2px)}
.bx-thumb img{width:100%;height:100%;object-fit:contain}
.bx-prod-info h1{font-size:34px;margin:0 0 8px;font-weight:900;letter-spacing:-.02em}
.bx-stars{color:#facc15;font-size:15px;margin-bottom:10px;letter-spacing:.05em}
.bx-stars span{color:var(--muted);margin-left:8px;font-size:13px}
.bx-prod-bullets{list-style:none;padding:0;margin:18px 0;color:#d4d4d8;font-size:14.5px}
.bx-prod-bullets li{padding:8px 0;display:flex;gap:10px;align-items:center}
.bx-prod-bullets li::before{content:"✓";color:var(--primary);font-weight:900;background:rgba(249,115,22,.15);width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}
.bx-options{display:grid;gap:12px;margin:24px 0}
.bx-opt{position:relative;background:var(--surface);border:2px solid var(--line);border-radius:16px;padding:16px 18px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px;transition:.2s}
.bx-opt:hover{border-color:#3a3a44;transform:translateY(-1px)}
.bx-opt.selected{border-color:var(--primary);background:linear-gradient(135deg,rgba(249,115,22,.12),rgba(249,115,22,.04));box-shadow:0 8px 24px -8px rgba(249,115,22,.3)}
.bx-opt .lhs{display:flex;gap:12px;align-items:center}
.bx-opt .check{width:22px;height:22px;border-radius:50%;border:2px solid var(--line);display:inline-block;flex-shrink:0;transition:.2s;position:relative}
.bx-opt.selected .check{border-color:var(--primary);background:var(--primary)}
.bx-opt.selected .check::after{content:"";position:absolute;inset:4px;background:#fff;border-radius:50%}
.bx-opt .title{font-weight:800;font-size:15px}
.bx-opt .rhs{text-align:right}
.bx-opt .from{font-size:12px;color:var(--muted);text-decoration:line-through}
.bx-opt .price{font-size:20px;font-weight:900;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.bx-opt .ribbon{position:absolute;top:-10px;right:14px;background:var(--grad);color:#fff;font-size:10px;padding:4px 10px;border-radius:8px;font-weight:800;letter-spacing:.06em;box-shadow:0 6px 16px -4px rgba(249,115,22,.5)}
.bx-trust{display:flex;gap:14px;color:var(--muted);font-size:12.5px;margin-top:16px;flex-wrap:wrap}
.bx-trust span{display:inline-flex;gap:6px;align-items:center}

/* SOCIAL */
.bx-social{padding:60px 0;background:linear-gradient(180deg,var(--bg-2),var(--bg));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.bx-marquee{display:flex;gap:14px;overflow:hidden;mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.bx-marquee-track{display:flex;gap:14px;animation:scroll 28s linear infinite;flex-shrink:0}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.bx-chip{background:var(--surface);border:1px solid var(--line);padding:10px 18px;border-radius:999px;font-weight:600;font-size:14px;white-space:nowrap;transition:.2s}
.bx-chip:hover{border-color:var(--primary);color:var(--primary-2)}

/* COMPARE */
.bx-compare{max-width:780px;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 20px 60px -20px rgba(0,0,0,.5)}
.bx-compare-row{display:grid;grid-template-columns:2fr 1fr 1fr;padding:16px 20px;border-top:1px solid var(--line);font-size:14px;align-items:center;transition:.2s}
.bx-compare-row:hover{background:rgba(249,115,22,.04)}
.bx-compare-row:first-child{border-top:none;background:#0f0f12;font-weight:800;text-transform:uppercase;font-size:12px;letter-spacing:.05em;color:var(--muted)}
.bx-compare-row .yes{color:#22c55e;font-weight:900;font-size:18px}
.bx-compare-row .no{color:#ef4444;font-weight:900;font-size:18px}
.bx-compare-row > div:nth-child(2),.bx-compare-row > div:nth-child(3){text-align:center}

/* CHECKOUT */
.bx-checkout{padding:40px 0 80px;max-width:780px;margin:0 auto;padding-left:18px;padding-right:18px;animation:fadeUp .5s ease both}
.bx-steps{display:flex;justify-content:center;gap:8px;margin-bottom:32px;flex-wrap:wrap;align-items:center}
.bx-step{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.bx-step .n{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--line);font-weight:800;transition:.3s}
.bx-step.active .n{background:var(--grad);color:#fff;border-color:transparent;box-shadow:0 6px 18px -4px rgba(249,115,22,.5);transform:scale(1.05)}
.bx-step.done .n{background:#22c55e;color:#fff;border-color:transparent}
.bx-step .line{width:36px;height:2px;background:var(--line);border-radius:2px}
.bx-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 30px 80px -30px rgba(0,0,0,.6)}
.bx-card h2{margin:0 0 4px;font-size:24px;font-weight:900;letter-spacing:-.01em}
.bx-card .sub{color:var(--muted);font-size:14px;margin:0 0 22px;text-align:left}
.bx-field{margin-bottom:14px}
.bx-field label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px;font-weight:600}
.bx-input{width:100%;background:#0c0c10;color:#fff;border:1.5px solid var(--line);border-radius:12px;padding:14px;font-size:15px;font-family:inherit;transition:.18s;min-height:48px}
.bx-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px rgba(249,115,22,.15);background:#0e0e12}
.bx-input::placeholder{color:#52525b}
.bx-row{display:grid;gap:12px}
.bx-row.cols-2{grid-template-columns:1fr 1fr}
.bx-row.cep{grid-template-columns:1fr 2fr}
.bx-summary{background:#0c0c10;border:1px dashed var(--line);border-radius:12px;padding:14px 16px;margin-bottom:18px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.bx-summary .lbl{color:var(--muted);font-size:13px}
.bx-summary .val{font-weight:900;font-size:20px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.bx-alert{background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.4);color:#fca5a5;padding:12px 14px;border-radius:12px;font-size:14px;margin-bottom:14px;animation:fadeUp .3s ease both}
.bx-success{background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.4);color:#86efac;padding:12px 14px;border-radius:12px;font-size:14px;margin-bottom:14px}

/* PIX */
.bx-pix{text-align:center}
.bx-timer{display:inline-flex;gap:8px;align-items:center;background:#0c0c10;border:1px solid var(--line);padding:10px 16px;border-radius:999px;font-weight:900;font-variant-numeric:tabular-nums;color:var(--primary);margin-bottom:18px;font-size:15px}
.bx-timer.expirado{color:#ef4444}
.bx-qr{background:#fff;padding:14px;border-radius:18px;display:inline-block;margin:0 auto 18px;box-shadow:0 10px 40px -10px rgba(255,255,255,.15)}
.bx-qr img{width:240px;height:240px;display:block}
.bx-pix-code{display:flex;gap:8px;background:#0c0c10;border:1px solid var(--line);border-radius:12px;padding:10px;align-items:center}
.bx-pix-code input{flex:1;background:transparent;border:none;color:#fff;font-size:12px;font-family:monospace;outline:none;min-width:0}
.bx-pay-methods{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}
.bx-pay-opt{background:#0c0c10;border:2px solid var(--line);border-radius:14px;padding:16px;text-align:center;cursor:pointer;font-weight:800;transition:.2s;position:relative}
.bx-pay-opt.selected{border-color:var(--primary);background:rgba(249,115,22,.08);box-shadow:0 8px 24px -8px rgba(249,115,22,.3)}
.bx-pay-opt.disabled{opacity:.4;cursor:not-allowed}
.bx-pay-opt small{display:block;color:var(--muted);font-size:11px;margin-top:2px;font-weight:500}

/* FOOTER */
.bx-footer{background:linear-gradient(180deg,var(--bg),var(--bg-2));border-top:1px solid var(--line);padding:56px 0 30px;margin-top:60px}
.bx-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px;margin-bottom:30px}
.bx-footer h4{font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px;color:var(--muted);font-weight:800}
.bx-footer a{display:block;color:#d4d4d8;font-size:14px;padding:5px 0;transition:.15s}
.bx-footer a:hover{color:var(--primary)}
.bx-pays{display:flex;gap:8px;align-items:center}
.bx-copy{text-align:center;color:var(--muted);font-size:12px;border-top:1px solid var(--line);padding-top:24px;margin:0}

/* AUTH */
.bx-auth{max-width:440px;margin:60px auto;padding:0 18px;animation:fadeUp .5s ease both}

/* CART */
.bx-cart-page{max-width:780px;margin:0 auto;padding:40px 18px;animation:fadeUp .5s ease both}
.bx-cart-item{display:grid;grid-template-columns:90px 1fr auto;gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px;align-items:center}
.bx-cart-item img{width:90px;height:90px;object-fit:contain;background:#fff;border-radius:10px;padding:6px}

/* RESPONSIVE */
@media (max-width:780px){
  .bx-hero{padding:32px 0 20px}
  .bx-hero-grid{grid-template-columns:1fr;text-align:center;gap:10px}
  .bx-hero p{margin-left:auto;margin-right:auto}
  .bx-actions{justify-content:center}
  .bx-hero-img{min-height:320px;padding:10px 0;order:-1}
  .bx-hero-img img{max-height:360px}
  .bx-features{grid-template-columns:1fr 1fr;gap:10px}
  .bx-prod-grid{grid-template-columns:1fr;gap:24px}
  .bx-prod-info h1{font-size:26px}
  .bx-footer-grid{grid-template-columns:1fr 1fr;gap:24px}
  .bx-nav{gap:14px;font-size:13px}
  .bx-nav a:not(.bx-cart-link):not(.bx-user){display:none}
  .bx-section{padding:54px 0}
  .bx-compare-row{font-size:12.5px;padding:12px 14px}
  .bx-row.cols-2{grid-template-columns:1fr}
  .bx-pay-methods{grid-template-columns:1fr}
  .bx-checkout{padding-top:28px;padding-bottom:60px}
  .bx-card{padding:22px}
  .bx-step .line{width:18px}
  .bx-step span:not(.n){display:none}
  .bx-cart-item{grid-template-columns:70px 1fr;grid-auto-rows:auto}
  .bx-cart-item img{width:70px;height:70px}
  .bx-cart-item > div:last-child{grid-column:1/-1;text-align:left;display:flex;justify-content:space-between;align-items:center}
  .bx-loader-x{width:72px;height:72px;font-size:46px;border-radius:18px}
}
@media (max-width:400px){
  .bx-qr img{width:200px;height:200px}
  .bx-hero h1{font-size:36px}
}

/* TAP targets mobile */
button, input, a.btn{ -webkit-tap-highlight-color:transparent }
input,select,textarea{font-size:16px} /* evita zoom iOS */
button{font-family:inherit}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}
}

/* ============ Depoimentos ============ */
.bx-reviews-section { background: linear-gradient(180deg, rgba(255,255,255,.02), transparent); }
.bx-reviews-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:28px; gap:16px; flex-wrap:wrap; }
.bx-stars-lg { color:#fbbf24; font-size:28px; letter-spacing:4px; text-shadow:0 0 18px rgba(251,191,36,.55); }
.bx-reviews-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:18px; }
.bx-review { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:18px; padding:18px; backdrop-filter: blur(8px); transition:transform .25s ease, border-color .25s ease; }
.bx-review:hover { transform:translateY(-3px); border-color:rgba(249,115,22,.45); }
.bx-review header { display:flex; align-items:center; gap:12px; margin-bottom:10px; }
.bx-review header img { width:44px; height:44px; border-radius:50%; object-fit:cover; }
.bx-review header strong { display:block; font-size:14px; }
.bx-review header span { display:block; font-size:12px; color:var(--muted); }
.bx-verified { margin-left:auto; width:24px; height:24px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; background:#22c55e; color:#fff; font-size:13px; font-weight:900; }
.bx-stars-sm { color:#fbbf24; font-size:14px; letter-spacing:2px; margin-bottom:6px; }
.bx-review p { margin:0; font-size:14px; line-height:1.55; color:#e6e6e6; }

/* ============ Popup compras recentes ============ */
.bx-recent { position:fixed; left:16px; bottom:16px; z-index:9999; display:flex; gap:12px; align-items:center; padding:10px 36px 10px 10px; border-radius:14px; background:rgba(15,15,15,.92); border:1px solid rgba(255,255,255,.08); box-shadow:0 12px 40px rgba(0,0,0,.55), 0 0 24px rgba(249,115,22,.18); backdrop-filter:blur(10px); max-width:320px; transform:translateY(120%); opacity:0; transition:transform .45s cubic-bezier(.2,.8,.2,1), opacity .35s ease; }
.bx-recent.show { transform:translateY(0); opacity:1; }
.bx-recent-img { width:44px; height:44px; border-radius:10px; object-fit:cover; flex:none; background:#111; }
.bx-recent-body { display:flex; flex-direction:column; gap:2px; font-size:13px; line-height:1.35; color:#fff; }
.bx-recent-body strong { font-size:13px; }
.bx-recent-body span { color:#cfcfcf; font-size:12px; }
.bx-recent-body small { color:var(--muted); font-size:11px; }
.bx-recent-body em { color:#fb923c; font-style:normal; font-weight:700; }
.bx-recent-close { position:absolute; top:6px; right:8px; background:none; border:none; color:#888; font-size:18px; cursor:pointer; line-height:1; }
.bx-recent-close:hover { color:#fff; }

/* ============ Checkout mobile melhorado ============ */
@media (max-width: 640px) {
  .bx-checkout { padding: 16px 12px 110px !important; }
  .bx-card { padding: 18px 16px !important; border-radius:18px; }
  .bx-input { font-size:16px !important; min-height:50px; padding:12px 14px; }
  .bx-field label { font-size:13px; margin-bottom:6px; }
  .bx-row.cols-2 { grid-template-columns: 1fr !important; }
  .bx-steps { gap:4px; margin-bottom:14px; }
  .bx-step .n { width:28px; height:28px; font-size:13px; }
  .bx-step span:last-child { font-size:11px; }
  .btn { min-height:52px; font-size:15px; }
  .bx-pay-opt { padding:14px 14px !important; font-size:15px; }
  .bx-summary { padding:14px; font-size:14px; }
  /* CTA fixa na base no mobile durante o checkout */
  .bx-checkout form .btn.btn-block { position:sticky; bottom:12px; box-shadow:0 12px 30px rgba(249,115,22,.4); z-index:5; }
  .bx-recent { left:8px; right:8px; bottom:8px; max-width:none; }
  .bx-pix .bx-qr img { max-width:78vw; }
  .bx-pix-code input { font-size:13px; }
}

/* PIX page polish */
.bx-pix-code { display:flex; gap:8px; align-items:stretch; }
.bx-pix-code input { flex:1; }

/* ============ Hero image — fix mobile gigante ============ */
@media (max-width:780px){
  .bx-hero{padding:18px 0 8px}
  .bx-hero-img{min-height:0;padding:0;margin-bottom:6px}
  .bx-hero-img::before{width:min(70%,260px);filter:blur(28px);opacity:.7}
  .bx-hero-img img{max-height:220px;max-width:72%;animation:floatY 6s ease-in-out infinite}
}
@media (max-width:420px){
  .bx-hero-img img{max-height:180px;max-width:65%}
  .bx-hero h1{font-size:clamp(30px,9vw,40px)}
  .bx-hero p{font-size:14.5px;line-height:1.55}
}

/* ============ Payment methods refinados ============ */
.bx-pay-methods{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 22px}
.bx-pay-opt{position:relative;display:flex;align-items:center;gap:12px;background:linear-gradient(180deg,#0e0e13,#0a0a0d);border:2px solid var(--line);border-radius:16px;padding:16px 14px;cursor:pointer;font-weight:700;transition:.25s;text-align:left;overflow:hidden}
.bx-pay-opt .pay-icon{flex:none;width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:#0a0a0d;border:1px solid var(--line);transition:.25s}
.bx-pay-opt.pix .pay-icon{background:rgba(50,188,173,.10);border-color:rgba(50,188,173,.4)}
.bx-pay-opt.card .pay-icon{background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.35)}
.bx-pay-opt .pay-body{flex:1;min-width:0}
.bx-pay-opt .pay-title{font-size:15px;font-weight:800;letter-spacing:.01em;color:#fff}
.bx-pay-opt .pay-sub{font-size:12px;color:var(--muted);margin-top:2px;font-weight:500}
.bx-pay-opt .pay-badge{position:absolute;top:8px;right:8px;font-size:10px;font-weight:800;padding:3px 8px;border-radius:999px;letter-spacing:.04em;text-transform:uppercase}
.bx-pay-opt .pay-badge.ok{background:rgba(50,188,173,.18);color:#32bcad;border:1px solid rgba(50,188,173,.4)}
.bx-pay-opt .pay-badge.off{background:rgba(239,68,68,.15);color:#ef4444;border:1px solid rgba(239,68,68,.35)}
.bx-pay-opt.selected{border-color:#32bcad;background:linear-gradient(180deg,rgba(50,188,173,.10),rgba(50,188,173,.03));box-shadow:0 12px 30px -10px rgba(50,188,173,.45)}
.bx-pay-opt.selected .pay-title{color:#32bcad}
.bx-pay-opt.disabled{opacity:.65;cursor:not-allowed;border-color:rgba(239,68,68,.25);background:linear-gradient(180deg,rgba(239,68,68,.05),rgba(239,68,68,.015))}
.bx-pay-opt.disabled .pay-title{color:#fca5a5}
.bx-pay-opt.disabled .pay-sub{color:#ef4444}

/* ============ PIX page — premium ============ */
.bx-pix{max-width:480px;margin:0 auto}
.bx-pix-head{text-align:center;margin-bottom:18px}
.bx-pix-logo{width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,#32bcad,#2a9d8f);display:grid;place-items:center;margin:0 auto 14px;box-shadow:0 12px 30px -8px rgba(50,188,173,.55)}
.bx-pix h2{margin:0 0 6px;font-size:22px}
.bx-pix-head p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.5}

.bx-pix-amount{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,rgba(50,188,173,.12),rgba(50,188,173,.04));border:1px solid rgba(50,188,173,.3);border-radius:14px;padding:14px 18px;margin:0 0 14px}
.bx-pix-amount .lbl{font-size:13px;color:var(--muted);font-weight:600}
.bx-pix-amount .val{font-size:22px;font-weight:900;color:#32bcad;letter-spacing:-.01em}

.bx-timer{text-align:center;color:#fbbf24;font-weight:800;font-size:14px;margin:0 0 14px;background:rgba(251,191,36,.08);border:1px solid rgba(251,191,36,.25);padding:8px;border-radius:10px}

.bx-qr{background:#fff;border-radius:18px;padding:16px;margin:0 auto 18px;width:fit-content;box-shadow:0 12px 40px -10px rgba(0,0,0,.5)}
.bx-qr img{width:220px;height:220px;display:block}

.bx-pix-or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin:14px 0 12px}
.bx-pix-or::before,.bx-pix-or::after{content:"";flex:1;height:1px;background:var(--line)}

.bx-pix-code{display:flex;align-items:center;background:#0a0a0d;border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:10px}
.bx-pix-code input{flex:1;background:transparent;border:none;color:#e5e5e5;font-size:12px;font-family:'SF Mono',ui-monospace,monospace;outline:none;min-width:0;text-overflow:ellipsis}

.btn-pix-copy{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(135deg,#32bcad 0%,#2a9d8f 100%);color:#fff;border:none;padding:15px 20px;border-radius:14px;font-weight:800;font-size:15px;cursor:pointer;min-height:54px;box-shadow:0 12px 30px -8px rgba(50,188,173,.55);transition:.25s;position:relative;overflow:hidden;font-family:inherit;letter-spacing:.01em}
.btn-pix-copy:hover{transform:translateY(-2px);box-shadow:0 18px 40px -8px rgba(50,188,173,.7)}
.btn-pix-copy:active{transform:translateY(0)}
.btn-pix-copy .ico-check,.btn-pix-copy .label-done{display:none}
.btn-pix-copy.copied{background:linear-gradient(135deg,#22c55e,#16a34a);animation:pixPop .4s ease}
.btn-pix-copy.copied .ico-copy,.btn-pix-copy.copied .label-copy{display:none}
.btn-pix-copy.copied .ico-check,.btn-pix-copy.copied .label-done{display:inline-flex}
@keyframes pixPop{0%{transform:scale(1)}50%{transform:scale(1.04)}100%{transform:scale(1)}}

.bx-pix-steps{list-style:none;padding:18px;margin:18px 0 0;background:rgba(255,255,255,.02);border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;gap:10px}
.bx-pix-steps li{display:flex;align-items:center;gap:12px;font-size:13.5px;color:#d4d4d8}
.bx-pix-steps li span{flex:none;width:24px;height:24px;border-radius:50%;background:rgba(50,188,173,.15);color:#32bcad;display:grid;place-items:center;font-weight:800;font-size:12px;border:1px solid rgba(50,188,173,.35)}

/* ============ Success page — timeline ============ */
.bx-success{max-width:480px;margin:0 auto;text-align:center}
.bx-success-icon{width:74px;height:74px;border-radius:50%;background:linear-gradient(135deg,#22c55e,#16a34a);display:grid;place-items:center;margin:4px auto 16px;box-shadow:0 0 0 8px rgba(34,197,94,.15),0 16px 40px -10px rgba(34,197,94,.6);animation:successPop .6s cubic-bezier(.34,1.56,.64,1) both}
@keyframes successPop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.1)}100%{transform:scale(1);opacity:1}}
.bx-success h2{font-size:24px;margin:0 0 8px;color:#22c55e}

.bx-track{list-style:none;padding:0;margin:22px 0 24px;text-align:left;position:relative}
.bx-track li{position:relative;display:flex;align-items:flex-start;gap:14px;padding:10px 0 14px 0;padding-left:6px}
.bx-track li::before{content:"";position:absolute;left:21px;top:36px;bottom:-6px;width:2px;background:var(--line);border-radius:2px}
.bx-track li:last-child::before{display:none}
.bx-track li .dot{flex:none;width:32px;height:32px;border-radius:50%;background:#16161c;border:2px solid var(--line);color:var(--muted);display:grid;place-items:center;font-weight:800;font-size:13px;z-index:1;transition:.3s}
.bx-track li > div{padding-top:4px}
.bx-track li strong{display:block;color:#a1a1aa;font-size:14.5px;font-weight:700}
.bx-track li small{display:block;color:#71717a;font-size:12.5px;margin-top:2px}
.bx-track li.done .dot{background:linear-gradient(135deg,#22c55e,#16a34a);border-color:#22c55e;color:#fff;box-shadow:0 0 0 4px rgba(34,197,94,.18),0 8px 20px -6px rgba(34,197,94,.5)}
.bx-track li.done::before{background:linear-gradient(180deg,#22c55e,var(--line))}
.bx-track li.done strong{color:#22c55e}
.bx-track li.done small{color:#a1a1aa}

.bx-success-actions{display:flex;flex-direction:column;gap:10px;margin-top:8px}

/* ============ Mobile polish ============ */
@media (max-width:640px){
  .bx-pay-opt{padding:14px 12px}
  .bx-pay-opt .pay-icon{width:42px;height:42px}
  .bx-pay-opt .pay-title{font-size:14px}
  .bx-pay-opt .pay-sub{font-size:11.5px}
  .bx-pay-opt .pay-badge{font-size:9px;padding:2px 6px}
  .bx-qr img{width:200px;height:200px}
  .bx-pix h2{font-size:20px}
  .bx-pix-amount .val{font-size:20px}
  .btn-pix-copy{font-size:14.5px;min-height:52px}
  .bx-pix-steps{padding:14px}
  .bx-pix-steps li{font-size:13px}
  .bx-success-icon{width:64px;height:64px}
  .bx-success h2{font-size:21px}
  .bx-track li strong{font-size:14px}
  .bx-track li small{font-size:12px}
}

/* =====================================================
   MOBILE FIX GLOBAL — alinhamento, padding e encaixe
   ===================================================== */
html,body{max-width:100vw;overflow-x:hidden}
.bx-container,.bx-checkout,.bx-cart-page,.bx-auth{width:100%;box-sizing:border-box}

/* Section labels (numerados) */
.bx-section-label{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:800;color:#fff;margin:0 0 12px}
.bx-section-label .num{flex:none;width:24px;height:24px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:900;box-shadow:0 6px 14px -4px rgba(249,115,22,.5)}

/* Opções de frete */
.bx-ship-list{display:flex;flex-direction:column;gap:10px;margin-bottom:4px}
.bx-ship-opt{position:relative;display:flex;align-items:center;gap:12px;background:linear-gradient(180deg,#0e0e13,#0a0a0d);border:2px solid var(--line);border-radius:14px;padding:12px 14px;cursor:pointer;transition:.2s;min-height:64px}
.bx-ship-opt input{position:absolute;opacity:0;pointer-events:none}
.bx-ship-opt .ship-logo{flex:none;width:60px;height:34px;display:grid;place-items:center;background:#fff;border-radius:8px;overflow:hidden}
.bx-ship-opt .ship-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.bx-ship-opt .ship-title{font-weight:800;font-size:14.5px;color:#fff;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.bx-ship-opt .ship-tag{font-size:9.5px;font-weight:800;padding:2px 7px;border-radius:999px;background:rgba(249,115,22,.18);color:var(--primary-2);border:1px solid rgba(249,115,22,.4);letter-spacing:.04em;text-transform:uppercase}
.bx-ship-opt .ship-sub{font-size:12px;color:var(--muted);font-weight:500;line-height:1.35}
.bx-ship-opt .ship-price{flex:none;font-weight:900;font-size:15px;color:#fff;white-space:nowrap}
.bx-ship-opt.selected{border-color:var(--primary);background:linear-gradient(180deg,rgba(249,115,22,.10),rgba(249,115,22,.02));box-shadow:0 10px 24px -10px rgba(249,115,22,.4)}
.bx-ship-opt.selected .ship-price{color:var(--primary-2)}

/* Resumo do pedido */
.bx-order-summary{background:#0a0a0d;border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-bottom:18px;display:flex;flex-direction:column;gap:8px}
.bx-order-summary .row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;color:#d4d4d8}
.bx-order-summary .row span:last-child{font-weight:700;color:#fff}
.bx-order-summary .row.total{border-top:1px dashed var(--line);padding-top:10px;margin-top:4px;font-size:15px}
.bx-order-summary .row.total span:first-child{font-weight:800;color:#fff}
.bx-order-summary .row.total span:last-child{font-weight:900;font-size:20px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

.bx-secure{text-align:center;color:var(--muted);font-size:12px;margin:12px 0 0}

/* ============ MOBILE OVERRIDE — perfeito no celular ============ */
@media (max-width:640px){
  .bx-container{padding:0 14px}
  .bx-checkout{padding:14px 12px 28px !important;max-width:100%}
  .bx-cart-page{padding:18px 12px 40px}
  .bx-auth{padding:0 12px;margin:24px auto}
  .bx-card{padding:16px 14px !important;border-radius:16px;width:100%;box-sizing:border-box}
  .bx-card h2{font-size:19px}
  .bx-card .sub{font-size:13px;margin:0 0 16px}

  /* Steps mais compactos e centralizados */
  .bx-steps{gap:6px;margin-bottom:16px}
  .bx-step .n{width:26px;height:26px;font-size:12px}
  .bx-step .line{width:14px}

  /* Section labels */
  .bx-section-label{font-size:13px;margin-bottom:10px;gap:8px}
  .bx-section-label .num{width:22px;height:22px;font-size:11px}

  /* Frete */
  .bx-ship-opt{padding:10px 12px;gap:10px;min-height:58px}
  .bx-ship-opt .ship-logo{width:52px;height:30px}
  .bx-ship-opt .ship-logo svg{width:48px;height:18px}
  .bx-ship-opt .ship-title{font-size:13.5px}
  .bx-ship-opt .ship-sub{font-size:11.5px}
  .bx-ship-opt .ship-price{font-size:14px}
  .bx-ship-opt .ship-tag{font-size:9px;padding:1px 5px}

  /* Pagamento */
  .bx-pay-methods{grid-template-columns:1fr;gap:10px;margin:12px 0 4px}
  .bx-pay-opt{padding:12px 14px;gap:12px;min-height:60px}
  .bx-pay-opt .pay-icon{width:42px;height:42px}
  .bx-pay-opt .pay-title{font-size:14px}
  .bx-pay-opt .pay-sub{font-size:11.5px}
  .bx-pay-opt .pay-badge{position:static;margin-left:auto;align-self:center;font-size:9.5px;padding:3px 7px;flex:none}

  /* Resumo */
  .bx-order-summary{padding:13px 14px;gap:7px}
  .bx-order-summary .row{font-size:13.5px}
  .bx-order-summary .row.total span:last-child{font-size:19px}

  /* Botão principal */
  .btn-block{width:100%;min-height:52px;font-size:15px;padding:14px 18px}

  /* PIX page */
  .bx-pix{max-width:100%}
  .bx-pix-head p{font-size:13px}
  .bx-pix-amount{padding:12px 14px}
  .bx-pix-amount .val{font-size:19px}
  .bx-qr{padding:12px;border-radius:14px}
  .bx-qr img{width:min(220px,62vw);height:min(220px,62vw)}
  .bx-pix-code{padding:10px 12px}
  .bx-pix-code input{font-size:12px}

  /* Sucesso */
  .bx-success{max-width:100%}
  .bx-track{margin:18px 0 20px}
  .bx-track li{padding:8px 0 12px;gap:12px}
  .bx-track li::before{left:15px;top:32px}
  .bx-track li .dot{width:30px;height:30px;font-size:12px}

  /* Carrinho */
  .bx-cart-item{grid-template-columns:64px 1fr;grid-auto-rows:auto;padding:12px;gap:10px}
  .bx-cart-item img{width:64px;height:64px}
  .bx-cart-item > div:last-child{grid-column:1/-1;border-top:1px dashed var(--line);padding-top:8px;margin-top:4px;display:flex;justify-content:space-between;align-items:center}
  .bx-summary{padding:12px 14px;font-size:14px}
  .bx-summary .val{font-size:18px}

  /* Conta */
  .bx-cart-page h1{font-size:22px}
  .bx-cart-page h2{font-size:16px}

  /* Hero — produto não gigante */
  .bx-hero{padding:14px 0 6px}
  .bx-hero-img{min-height:0;padding:0;margin-bottom:4px}
  .bx-hero-img img{max-height:180px;max-width:60%}
  .bx-hero-img::before{width:min(60%,220px);filter:blur(28px);opacity:.65}
  .bx-hero h1{font-size:clamp(28px,8vw,38px)}
  .bx-hero p{font-size:14px;line-height:1.55;padding:0 4px}
  .bx-actions{gap:10px}
  .bx-actions .btn{flex:1;min-width:0;padding:13px 14px;font-size:14px}

  /* Alert */
  .bx-alert{padding:11px 13px;font-size:13.5px}

  /* Inputs */
  .bx-input{padding:13px 14px;font-size:16px}
  .bx-field label{font-size:12.5px}

  /* Header */
  .bx-header-inner{height:58px}
  .bx-logo{font-size:20px}
}

@media (max-width:380px){
  .bx-card{padding:14px 12px !important}
  .bx-ship-opt .ship-logo{width:48px;height:28px}
  .bx-ship-opt .ship-logo svg{width:44px;height:16px}
  .bx-ship-opt .ship-price{font-size:13px}
  .bx-pay-opt .pay-badge{font-size:9px;padding:2px 6px}
  .bx-hero-img img{max-height:160px;max-width:58%}
}

/* Garante que o sticky-button do checkout não fique colado errado */
@media (max-width:640px){
  .bx-checkout form .btn.btn-block{position:static !important}
}

/* ===== PIX layout fix: timer + QR centralizados em coluna ===== */
.bx-pix{ text-align:center; }
.bx-pix-center{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  width:100%;
  margin:0 auto 18px;
}
.bx-pix-center .bx-timer{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0;
  width:auto;
  max-width:100%;
}
.bx-pix-center .bx-qr{
  margin:0 auto;
  display:block;
  width:fit-content;
}
@media (max-width:640px){
  .bx-pix-center{ gap:12px; }
  .bx-pix-center .bx-qr img{ width:min(240px,70vw); height:min(240px,70vw); }
  .bx-pix-center .bx-timer{ font-size:13px; padding:8px 14px; }
}
