/* Vitrines de demonstração: cada loja define --vt-* no <body> */
body.vt{margin:0;background:var(--vt-fundo);color:var(--vt-texto);font-family:var(--vt-fonte,'Space Grotesk',system-ui,sans-serif);overflow-x:hidden;-webkit-font-smoothing:antialiased;line-height:1.55}
body.vt::before{content:'';position:fixed;inset:0;z-index:-2;background:var(--vt-ceu);pointer-events:none}
.vt-part{position:fixed;inset:0;z-index:-1;pointer-events:none}
.vt a{color:inherit;text-decoration:none}.vt img{display:block;max-width:100%}.vt button{font:inherit;cursor:pointer}
.vt-faixa{position:sticky;top:0;z-index:50;display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;padding:8px 16px;font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:.08em;
  background:#05080f;color:#f2ece0;border-bottom:1px solid rgba(232,180,90,.4)}
.vt-faixa b{color:#e8b45a}.vt-faixa a{color:#2fd4c4;text-decoration:underline}
.vt-w{width:min(1180px,100% - 40px);margin-inline:auto}
.vt-topo{display:flex;align-items:center;gap:28px;padding:22px 0}
.vt-marca{font-family:var(--vt-titulo);font-size:1.7rem;letter-spacing:var(--vt-esp,.02em);font-weight:var(--vt-peso,500)}
.vt-marca small{display:block;font-family:'JetBrains Mono',monospace;font-size:.58rem;letter-spacing:.3em;opacity:.6;font-weight:400}
.vt-menu{display:flex;gap:22px;margin-left:auto;font-size:.92rem;opacity:.85}
.vt-cart{position:relative;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--vt-linha);background:transparent;color:inherit}
.vt-cart i{position:absolute;top:-4px;right:-4px;font-style:normal;font-size:.62rem;background:var(--vt-acento);color:var(--vt-sobre-acento);border-radius:10px;padding:1px 6px}
@media (max-width:760px){.vt-menu{display:none}.vt-topo{justify-content:space-between}}
.vt-heroi{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center;padding:30px 0 70px}
@media (max-width:900px){.vt-heroi{grid-template-columns:1fr;gap:26px}}
.vt-produto{position:relative;aspect-ratio:1;border-radius:36px;background:var(--vt-palco);display:grid;place-items:center;overflow:hidden;box-shadow:var(--vt-sombra)}
.vt-produto::before{content:'';position:absolute;inset:14%;border-radius:50%;background:radial-gradient(circle,var(--vt-halo),transparent 70%);filter:blur(10px);animation:vt-res 5s ease-in-out infinite}
@keyframes vt-res{50%{transform:scale(1.08);opacity:.8}}
.vt-produto img{position:relative;width:88%;transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .22s;animation:vt-flut 6s ease-in-out infinite}
.vt-produto img.troca{opacity:0;transform:scale(.94)}
@keyframes vt-flut{50%{translate:0 -10px}}
.vt-selo{position:absolute;top:22px;left:22px;padding:7px 12px;border-radius:999px;background:var(--vt-acento);color:var(--vt-sobre-acento);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.vt-minis{display:flex;gap:10px;margin-top:14px}
.vt-minis button{width:74px;height:74px;border-radius:16px;border:1.5px solid var(--vt-linha);background:var(--vt-palco);padding:6px;transition:.25s}
.vt-minis button.on,.vt-minis button:hover{border-color:var(--vt-acento)}
.vt-info h1{font-family:var(--vt-titulo);font-size:clamp(2.4rem,5.4vw,4.4rem);line-height:.98;margin:10px 0 14px;font-weight:var(--vt-peso,500);letter-spacing:-.02em}
.vt-info h1 em{color:var(--vt-acento);font-style:italic}
.vt-kicker{font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--vt-acento)}
.vt-nota{display:flex;align-items:center;gap:8px;font-size:.88rem;opacity:.85}.vt-nota b{color:var(--vt-acento);letter-spacing:2px}
.vt-desc{font-size:1.05rem;opacity:.85;max-width:52ch;margin:16px 0 22px}
.vt-preco{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin-bottom:6px}
.vt-preco s{opacity:.5}.vt-preco b{font-family:var(--vt-titulo);font-size:2.6rem;font-weight:600}
.vt-preco span{font-size:.82rem;padding:4px 9px;border-radius:8px;background:var(--vt-acento);color:var(--vt-sobre-acento);font-weight:700}
.vt-parc{font-size:.9rem;opacity:.75;margin:0 0 22px}
.vt-rot{font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.7;margin:0 0 8px}
.vt-vars{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}
.vt-vars button{display:flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;border:1.5px solid var(--vt-linha);background:transparent;color:inherit;transition:.25s}
.vt-vars button i{width:16px;height:16px;border-radius:50%;background:var(--c)}
.vt-vars button.on{border-color:var(--vt-acento);box-shadow:0 0 0 3px color-mix(in srgb,var(--vt-acento) 25%,transparent)}
.vt-compra{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.vt-qtd{display:flex;align-items:center;border:1.5px solid var(--vt-linha);border-radius:999px;overflow:hidden}
.vt-qtd button{width:42px;height:48px;border:0;background:transparent;color:inherit;font-size:1.2rem}
.vt-qtd input{width:36px;text-align:center;border:0;background:transparent;color:inherit;font:inherit}
.vt-bt{padding:15px 28px;border-radius:999px;border:0;background:var(--vt-acento);color:var(--vt-sobre-acento);font-weight:700;letter-spacing:.02em;box-shadow:0 14px 34px -12px var(--vt-acento);transition:transform .3s}
.vt-bt:hover{transform:translateY(-3px)}
.vt-bt2{padding:14px 24px;border-radius:999px;border:1.5px solid var(--vt-texto);background:transparent;color:inherit;font-weight:600}
.vt-oferta{display:flex;align-items:center;gap:10px;margin-top:20px;padding:12px 16px;border-radius:14px;border:1px dashed var(--vt-acento);font-size:.9rem}
.vt-oferta b{font-family:'JetBrains Mono',monospace;color:var(--vt-acento);font-size:1.05rem}
.vt-frete{display:flex;gap:8px;margin-top:14px}
.vt-frete input{flex:1;max-width:180px;padding:11px 14px;border-radius:12px;border:1.5px solid var(--vt-linha);background:transparent;color:inherit;font:inherit}
.vt-frete button{padding:11px 16px;border-radius:12px;border:1.5px solid var(--vt-linha);background:transparent;color:inherit}
.vt-selos{display:flex;gap:18px;flex-wrap:wrap;margin-top:20px;font-size:.8rem;opacity:.75}
.vt-sec{padding:80px 0}
.vt-sec h2{font-family:var(--vt-titulo);font-size:clamp(2rem,4.2vw,3.4rem);line-height:1;margin:0 0 16px;font-weight:var(--vt-peso,500);letter-spacing:-.02em}
.vt-sec h2 em{color:var(--vt-acento)}
.vt-g3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:900px){.vt-g3{grid-template-columns:1fr}}
.vt-card{padding:24px;border-radius:24px;background:var(--vt-cartao);border:1px solid var(--vt-linha)}
.vt-card h3{font-family:var(--vt-titulo);font-size:1.35rem;margin:0 0 8px;font-weight:600}
.vt-card p{margin:0;opacity:.8;font-size:.95rem}
.vt-dep{font-family:var(--vt-titulo);font-size:1.1rem;font-style:italic}
.vt-dep+small{display:block;margin-top:10px;opacity:.6;font-size:.8rem}
.vt-rev{opacity:0;transform:translateY(30px);transition:1s cubic-bezier(.2,.8,.2,1)}.vt-rev.visto{opacity:1;transform:none}
.vt-rodape{padding:40px 0 70px;border-top:1px solid var(--vt-linha);font-size:.85rem;opacity:.75;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.vt-fim{position:fixed;inset:0;z-index:600;display:none;place-items:center;padding:20px;background:rgba(3,5,10,.72);backdrop-filter:blur(8px)}
.vt-fim.on{display:grid;animation:vt-in .4s cubic-bezier(.2,.8,.2,1)}
@keyframes vt-in{from{opacity:0;transform:translateY(12px)}}
.vt-fim-c{position:relative;width:min(560px,100%);padding:36px;border-radius:28px;background:linear-gradient(170deg,#132c42,#070d16);border:1px solid rgba(232,180,90,.5);color:#f2ece0;box-shadow:0 40px 90px -30px rgba(0,0,0,.85);font-family:'Space Grotesk',system-ui,sans-serif}
.vt-fim-c small{font-family:'JetBrains Mono',monospace;font-size:.66rem;letter-spacing:.16em;color:#2fd4c4}
.vt-fim-c h3{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:2.1rem;line-height:1.05;margin:12px 0 12px}
.vt-fim-c h3 em{color:#e8b45a}
.vt-fim-c p{color:#a7b3bf;margin:0 0 22px}.vt-fim-c p b{color:#f2ece0}
.vt-fim-bt{display:grid;gap:10px}
.vt-fim-bt>*{padding:14px 18px;border-radius:14px;text-align:center;font-weight:600;border:1px solid rgba(170,215,255,.24);background:rgba(18,38,58,.6);color:#f2ece0}
.vt-fim-bt .vt-b1{background:linear-gradient(180deg,#39e27d,#1fae57);color:#062312;border:0}
.vt-x{position:absolute;right:16px;top:16px;width:36px;height:36px;border-radius:12px;border:1px solid rgba(170,215,255,.24);background:transparent;color:#f2ece0}
.vt-cont{margin-top:14px;background:none;border:0;color:#6e7d8b;text-decoration:underline;width:100%}
/* fantasia: vela */
body.vt.apagada::after{content:'';position:fixed;inset:0;z-index:40;pointer-events:none;background:radial-gradient(260px 260px at var(--lx,50%) var(--ly,50%),transparent 0,rgba(0,0,0,.9) 70%);transition:opacity .6s}
.vt-luz{padding:12px 20px;border-radius:999px;border:1px solid var(--vt-acento);background:transparent;color:var(--vt-acento);font-weight:600}
/* fantasia: perfume */
.vt-piramide{display:grid;gap:10px;max-width:520px}
.vt-piramide button{padding:16px;border-radius:18px;border:1px solid var(--vt-linha);background:var(--vt-cartao);color:inherit;text-align:left;transition:.3s;font-family:var(--vt-titulo);font-size:1.15rem}
.vt-piramide button:nth-child(1){margin:0 22%}.vt-piramide button:nth-child(2){margin:0 11%}
.vt-piramide button.on{border-color:var(--vt-acento);box-shadow:0 0 30px color-mix(in srgb,var(--vt-acento) 35%,transparent)}
.vt-piramide small{display:block;font-family:'JetBrains Mono',monospace;font-size:.64rem;letter-spacing:.14em;opacity:.6}
/* fantasia: café */
.vt-vapor{position:absolute;left:50%;top:18%;width:120px;height:160px;transform:translateX(-50%);pointer-events:none}
.vt-vapor path{fill:none;stroke:rgba(255,255,255,.55);stroke-width:5;stroke-linecap:round;filter:blur(3px);stroke-dasharray:60 200;animation:vt-vap 3.2s linear infinite}
.vt-vapor path:nth-child(2){animation-delay:1s}.vt-vapor path:nth-child(3){animation-delay:2s}
@keyframes vt-vap{from{stroke-dashoffset:260;opacity:0}30%{opacity:1}to{stroke-dashoffset:0;opacity:0}}
.vt-radar-p{animation:vt-radar 1.4s cubic-bezier(.2,.8,.2,1)}@keyframes vt-radar{from{transform:scale(.2);opacity:0}}
.vt-radar-p{transform-origin:150px 150px}
/* fantasia: garrafa */
.vt-termo{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.vt-termo>div{padding:22px;border-radius:22px;border:1px solid var(--vt-linha);background:var(--vt-cartao)}
.vt-termo b{display:block;font-family:var(--vt-titulo);font-size:2.6rem;line-height:1}
.vt-barra-t{height:12px;border-radius:12px;background:linear-gradient(90deg,#ff5a3c,#ffb84a calc(var(--h,0)*100%),#e9eef2 calc(var(--h,0)*100%));margin:16px 0}
.vt-slider{width:100%;accent-color:var(--vt-acento)}
.vt-grav{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%) rotate(-90deg);font-family:var(--vt-titulo);font-weight:800;font-size:1.3rem;letter-spacing:.1em;color:rgba(255,255,255,.85);text-transform:uppercase;pointer-events:none;mix-blend-mode:overlay}
:where(body.vt) b,:where(body.vt) strong{color:inherit}
.vt-produto img{width:auto;max-width:78%;max-height:84%;object-fit:contain}
