/* ESPECTRO COLECIONAVEIS 2.0 | ETAPA 2 - VITRINE PREMIUM
   Camada visual isolada. Carregar depois de styles.css e desktop-fix.css.
   Nao interfere em PHP, API, banco, imagens ou painel. */
:root { --premium-edge:rgba(112,164,255,.22); --premium-surface:#0b1432; }
body { background-image:radial-gradient(circle at 50% -12%,rgba(59,59,169,.24),transparent 46%); }
.announcement { letter-spacing:.15em; }
.hero { position:relative; isolation:isolate; }
.hero h1 { text-wrap:balance; text-shadow:0 8px 36px rgba(0,0,0,.3); }
.hero h1 span { filter:drop-shadow(0 0 18px rgba(105,43,255,.18)); }
.hero > p { line-height:1.75; font-size:clamp(13px,1.2vw,16px); max-width:460px; }
.hero-actions .btn { min-height:46px; transition:transform .2s ease,box-shadow .2s ease; }
.hero-actions .btn:hover { transform:translateY(-2px); box-shadow:0 12px 30px rgba(105,43,255,.3); }
.hero-card { isolation:isolate; border:1px solid rgba(94,168,255,.35); background:radial-gradient(circle at 52% 55%,rgba(110,50,228,.28),transparent 60%),linear-gradient(130deg,#111c45,#070b22); box-shadow:0 26px 75px rgba(0,0,0,.25),inset 0 0 42px rgba(0,217,255,.07); }
.hero-card::before,.hero-card::after { z-index:1; pointer-events:none; }
.hero-card .hero-ghost { position:absolute; width:100px; height:110px; bottom:16px; left:16px; opacity:.87; z-index:3; filter:drop-shadow(0 0 16px rgba(0,217,255,.5)); }
.hero-gallery { position:absolute; inset:0; z-index:0; display:grid; grid-template-columns:1.15fr .85fr; gap:10px; padding:22px; }
.hero-gallery img { display:block; width:100%; height:100%; min-height:0; object-fit:contain; border-radius:18px; background:radial-gradient(circle at 50% 60%,rgba(78,90,191,.35),rgba(8,12,36,.75)); filter:drop-shadow(0 16px 20px rgba(0,0,0,.3)); }
.hero-gallery img:nth-child(2) { transform:translateY(20px); border:1px solid rgba(255,255,255,.07); }
.hero-card .floatlabel { z-index:4; backdrop-filter:blur(10px); }
.hero-card .floatlabel.one { top:13px; left:14px; }
.hero-card .floatlabel.two { right:14px; bottom:15px; }
.hero-card .spark { z-index:4; }
.sectionhead h2 { text-wrap:balance; }
.categories .cat { border-color:var(--premium-edge); transition:transform .2s,border-color .2s,box-shadow .2s; }
.categories .cat:hover { transform:translateY(-3px); border-color:rgba(0,217,255,.58); box-shadow:0 12px 32px rgba(0,0,0,.22); }
.searchbar { border-color:var(--premium-edge); box-shadow:0 8px 26px rgba(0,0,0,.12); }
.searchbar:focus-within { border-color:var(--cyan); box-shadow:0 0 0 3px rgba(0,217,255,.1); }
.product { border:1px solid var(--premium-edge); background:linear-gradient(165deg,#121d41,#090f28); box-shadow:0 10px 28px rgba(0,0,0,.12); transition:transform .25s,border-color .25s,box-shadow .25s; }
.product:hover { transform:translateY(-5px); border-color:rgba(0,217,255,.58); box-shadow:0 20px 44px rgba(0,0,0,.3),0 0 0 1px rgba(0,217,255,.06); }
.productvisual { background:radial-gradient(circle at 50% 60%,rgba(69,57,153,.26),transparent 68%),linear-gradient(145deg,#141e41,#090e24); }
.productvisual img,.productvisual .hulk-photo { transition:transform .35s ease,opacity .2s ease; }
.product:hover .productvisual img { transform:scale(1.045); }
.productinfo { padding:14px; }
.product h3 { font-size:clamp(12px,1.1vw,15px); line-height:1.4; min-height:2.8em; }
.product .price { font-size:clamp(17px,1.5vw,21px); }
.product .detail-link { transition:background .2s,border-color .2s; }
.product .detail-link:hover { background:rgba(0,217,255,.14); }
.promo { box-shadow:0 22px 55px rgba(0,0,0,.16); }
@media (min-width:900px) {
  .hero-card { min-height:420px; }
  .hero-gallery { padding:35px; }
  .productvisual { min-height:230px; height:clamp(230px,22vw,300px); }
  .productvisual.hulk-gallery { height:clamp(245px,25vw,350px); }
  .productinfo { padding:16px; }
}
@media (max-width:899px) {
  .hero-gallery { padding:24px; }
  .hero-card .hero-ghost { width:80px; height:88px; }
  .productinfo { padding:11px; }
}
@media (max-width:420px) {
  .hero-gallery { padding:18px; gap:6px; }
  .hero-gallery img:nth-child(2) { transform:translateY(10px); }
  .hero-card .floatlabel.two { font-size:8px; }
  .productinfo { padding:9px; }
}
@media (prefers-reduced-motion:reduce) {
  .product,.categories .cat,.hero-actions .btn,.productvisual img { transition:none; }
  .product:hover,.categories .cat:hover,.hero-actions .btn:hover,.product:hover .productvisual img { transform:none; }
}
