/* ============================================================
   ASTROPÉ — site premium (estático, fotos reais)
   ============================================================ */
:root{
  --ink:#0d0d10; --ink-2:#26262c; --muted:#6c6c76; --line:#ececec;
  --bg:#ffffff; --bg-2:#f6f6f3; --paper:#fff;
  --neon:#c6f000; --neon-d:#a8cf00; --pink:#ff2d55; --pos:#15a44a;
  --r:14px; --r-lg:24px; --r-xl:32px;
  --sh-sm:0 4px 16px rgba(13,13,16,.06);
  --sh:0 18px 50px rgba(13,13,16,.10);
  --disp:"Sora", system-ui, sans-serif;
  --body:"Inter", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
h1,h2,h3,h4{font-family:var(--disp);font-weight:800;line-height:1.05;letter-spacing:-.02em;margin:0}
.wrap{width:min(var(--max),92vw);margin-inline:auto}
.mark{background:var(--neon);color:var(--ink);padding:0 .12em;border-radius:6px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.eyebrow{display:inline-block;font-weight:700;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.eyebrow--neon{background:rgba(198,240,0,.22);color:var(--ink);padding:.3rem .6rem;border-radius:999px;letter-spacing:.04em}

/* Botões */
.btn{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:.98rem;padding:.95rem 1.6rem;border-radius:999px;border:0;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s,filter .16s}
.btn--dark{background:var(--ink);color:#fff;box-shadow:var(--sh-sm)}
.btn--dark:hover{transform:translateY(-2px);filter:brightness(1.18)}
.btn--neon{background:var(--neon);color:var(--ink);box-shadow:0 10px 26px rgba(198,240,0,.35)}
.btn--neon:hover{transform:translateY(-2px);filter:brightness(1.05)}
.btn--ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
.btn--ghost:hover{border-color:var(--ink)}

/* Topbar */
.topbar{background:var(--ink);color:#fff;text-align:center;font-size:.8rem;font-weight:600;letter-spacing:.02em;padding:.5rem 1rem}

/* Header */
.hd{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.86);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.hd__row{display:flex;align-items:center;gap:1.5rem;height:68px}
.brand{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--disp);font-weight:800;font-size:1.35rem;letter-spacing:-.02em}
.brand__mk{width:30px;height:30px;color:var(--ink);flex:none}
.brand i{color:var(--pink);font-style:normal}
.nav{display:flex;gap:1.6rem;margin-left:auto;font-weight:600;font-size:.96rem}
.nav a{color:var(--muted);transition:color .15s}
.nav a:hover{color:var(--ink)}
.cartlink{font-weight:700;font-size:.92rem;border:1.5px solid var(--line);padding:.5rem 1rem;border-radius:999px;transition:border-color .15s}
.cartlink:hover{border-color:var(--ink)}

/* Hero */
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff,#faf9f6)}
.hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:2.5rem;align-items:center;padding:4rem 0 3rem}
.hero__copy .eyebrow{color:#caa200}
.hero h1{font-size:clamp(3.2rem,8vw,6.2rem);margin:.6rem 0 1rem}
.hero h1 .mark{display:inline-block;transform:rotate(-1.5deg)}
.hero__copy p{color:var(--muted);font-size:1.12rem;max-width:460px}
.hero__cta{display:flex;gap:.8rem;flex-wrap:wrap;margin:1.6rem 0 1.2rem}
.hero__trust{list-style:none;display:flex;gap:1.2rem;flex-wrap:wrap;padding:0;margin:0;color:var(--ink-2);font-size:.9rem;font-weight:600}
.hero__media{position:relative;display:grid;place-items:center;min-height:360px}
.hero__halo{position:absolute;width:min(440px,86%);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 40% 35%,rgba(198,240,0,.55),rgba(198,240,0,0) 62%);filter:blur(6px)}
.hero__media img{position:relative;width:min(560px,96%);height:auto;filter:drop-shadow(0 36px 40px rgba(13,13,16,.28));animation:float 6s ease-in-out infinite;transform:rotate(-6deg)}
@keyframes float{0%,100%{transform:rotate(-6deg) translateY(0)}50%{transform:rotate(-4deg) translateY(-16px)}}

/* Ticker */
.ticker{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--ink)}
.ticker__row{display:flex;white-space:nowrap;color:#fff;font-family:var(--disp);font-weight:700;font-size:.92rem;letter-spacing:.06em;padding:.7rem 0;animation:scroll 24s linear infinite}
.ticker__row span{padding:0 1.4rem;opacity:.92}
.ticker__row span b{color:var(--neon)}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Selos */
.badges{background:var(--bg-2);border-bottom:1px solid var(--line)}
.badges__row{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;padding:1.5rem 0}
.badges__row div{text-align:center;display:flex;flex-direction:column;gap:.1rem}
.badges__row strong{font-family:var(--disp);font-size:1.05rem}
.badges__row span{color:var(--muted);font-size:.84rem}

/* Seções */
.sec{padding:4.5rem 0}
.sec--alt{background:var(--bg-2)}
.sec__head{text-align:center;max-width:640px;margin:0 auto 2.4rem}
.sec__head h2{font-size:clamp(2rem,5vw,3.2rem)}
.sec__head p{color:var(--muted);margin:.5rem 0 0;font-size:1.05rem}
.sec__more{text-align:center;margin-top:2.4rem}

/* Grid de produtos */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.grid__loading{grid-column:1/-1;text-align:center;color:var(--muted);padding:3rem 0}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .22s ease,box-shadow .22s ease;box-shadow:var(--sh-sm)}
.card:hover{transform:translateY(-8px);box-shadow:var(--sh)}
.card__img{position:relative;aspect-ratio:1;background:linear-gradient(160deg,#fff,#f1f1ee);overflow:hidden}
.card__img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.card:hover .card__img img{transform:scale(1.06)}
.card__tag{position:absolute;top:.7rem;left:.7rem;background:var(--ink);color:#fff;font-size:.66rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:.28rem .6rem;border-radius:999px}
.card__tag--sale{background:var(--pink)}
.card__b{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.3rem;flex:1}
.card__name{font-weight:600;font-size:.98rem;line-height:1.3;color:var(--ink)}
.card__price{font-family:var(--disp);font-weight:800;font-size:1.25rem;margin-top:.1rem}
.card__price small{color:var(--muted);font-weight:600;font-size:.78rem;text-decoration:line-through;margin-right:.4rem}
.card__pix{color:var(--pos);font-weight:700;font-size:.8rem}
.card__cta{margin-top:.7rem;text-align:center;background:var(--ink);color:#fff;font-weight:700;font-size:.9rem;padding:.7rem;border-radius:999px;transition:filter .15s,transform .15s}
.card:hover .card__cta{filter:brightness(1.2)}

/* Combo */
.combo{padding:1rem 0 4.5rem}
.combo__box{display:grid;grid-template-columns:1.05fr .95fr;gap:2rem;align-items:center;background:radial-gradient(130% 130% at 85% 10%,#23233c,#0c0c16 60%);color:#fff;border-radius:var(--r-xl);padding:3rem;overflow:hidden;position:relative}
.combo__txt h2{font-size:clamp(1.9rem,4.5vw,2.8rem);margin:.6rem 0 .6rem;color:#fff}
.combo__txt p{color:rgba(255,255,255,.78);max-width:420px;margin:0 0 1.4rem}
.combo__media{position:relative;display:grid;place-items:center;min-height:240px}
.combo__halo{position:absolute;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(198,240,0,.35),transparent 60%)}
.combo__media img{position:relative;width:min(380px,90%);filter:drop-shadow(0 26px 30px rgba(0,0,0,.5));transform:rotate(-6deg)}

/* Reviews */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.reviews figure{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.5rem;margin:0;box-shadow:var(--sh-sm)}
.reviews blockquote{margin:0 0 1rem;font-size:1.02rem;line-height:1.5}
.reviews figcaption{color:var(--muted);font-size:.86rem}
.reviews figcaption b{color:var(--ink)}

/* CTA final */
.final{padding:4rem 0}
.final__box{background:var(--ink);color:#fff;border-radius:var(--r-xl);padding:3.5rem 2rem;text-align:center}
.final__box h2{font-size:clamp(2rem,5vw,3rem);color:#fff}
.final__box p{color:rgba(255,255,255,.75);margin:.6rem 0 1.6rem}

/* Footer */
.ft{background:var(--bg-2);border-top:1px solid var(--line);padding-top:3rem}
.ft__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:1.6rem;padding-bottom:2.4rem}
.ft h4{font-family:var(--disp);font-size:1rem;margin:0 0 .8rem}
.ft a{display:block;color:var(--muted);font-size:.9rem;padding:.22rem 0}
.ft a:hover{color:var(--ink)}
.brand--ft{font-size:1.3rem}
.ft__tag{color:var(--muted);font-size:.9rem;margin:.6rem 0 1rem}
.pay{display:flex;gap:.4rem;flex-wrap:wrap}
.pay span{background:#fff;border:1px solid var(--line);border-radius:7px;font-size:.7rem;padding:.25rem .5rem;color:var(--muted)}
.ft__bottom{border-top:1px solid var(--line);padding:1.3rem 0;color:var(--muted);font-size:.82rem;text-align:center}

/* WhatsApp */
.wpp{position:fixed;bottom:20px;right:20px;z-index:45;background:#25d366;color:#063;font-weight:800;display:inline-flex;align-items:center;gap:.5rem;padding:.8rem 1.1rem;border-radius:999px;box-shadow:0 12px 28px rgba(37,211,102,.4);transition:transform .15s}
.wpp:hover{transform:translateY(-3px)}

/* Reveal */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}

/* Responsivo */
@media (max-width:980px){
  .grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:860px){
  .nav{display:none}
  .hero__grid{grid-template-columns:1fr;text-align:center;padding-top:2.6rem}
  .hero__copy p,.hero__cta,.hero__trust{margin-inline:auto;justify-content:center}
  .hero__media{order:-1}
  .badges__row{grid-template-columns:repeat(2,1fr);gap:1.1rem}
  .combo__box{grid-template-columns:1fr;text-align:center;padding:2.2rem}
  .combo__media{order:-1}
  .reviews{grid-template-columns:1fr}
  .ft__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .grid{grid-template-columns:repeat(2,1fr);gap:.9rem}
  .ft__grid{grid-template-columns:1fr}
  .wpp span{display:none}
}
@media (prefers-reduced-motion:reduce){
  .hero__media img,.ticker__row{animation:none}
  .reveal{opacity:1;transform:none}
}

/* ============================================================
   STOREFRONT + WOOCOMMERCE — branding leve (NÃO mexe no layout
   da página de produto, pra não quebrar variação/galeria)
   ============================================================ */
.site-header{background:#fff !important;border-bottom:1px solid var(--line);box-shadow:none !important}
.site-header .site-title a,.site-header .site-title{font-family:var(--disp) !important;color:var(--ink) !important;letter-spacing:-.02em}
.main-navigation ul li a{color:var(--muted) !important;font-weight:600}
.main-navigation ul li a:hover{color:var(--ink) !important}
.site-header-cart .count{background:var(--pink) !important;color:#fff !important}
button.button,a.button,button.alt,a.button.alt,.added_to_cart,input[type="submit"].button,.single_add_to_cart_button{
  background:var(--ink) !important;color:#fff !important;border-radius:999px !important;font-weight:700 !important}
button.button:hover,a.button:hover,.single_add_to_cart_button:hover{filter:brightness(1.18)}
.onsale{background:var(--pink) !important;color:#fff !important;border-radius:999px !important;font-weight:700}
.price,.woocommerce-Price-amount{font-family:var(--disp);color:var(--ink) !important;font-weight:800}
.product_title,.entry-title{font-family:var(--disp)}
/* faixa de aviso acima do header Storefront */
.topbar{position:relative;z-index:1}

/* esconder restos de demo (aviso "Free Worldwide Shipping", etc.) */
.woocommerce-store-notice,p.demo_store{display:none !important}

/* Header próprio ASTROPÉ (substitui o do Storefront) */
.site-header{padding-top:.4rem !important;padding-bottom:.4rem !important}
.astrope-hd{display:flex;align-items:center;gap:1.5rem;width:100%;padding:.3rem 0}
.astrope-logo{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--disp);font-weight:800;font-size:1.45rem;color:var(--ink) !important}
.astrope-mk{width:30px;height:30px;color:var(--ink);flex:none}
.astrope-logo i{color:var(--pink);font-style:normal}
.astrope-nav{display:flex;gap:1.6rem;margin-left:auto;font-weight:600;font-size:.96rem}
.astrope-nav a{color:var(--muted) !important}
.astrope-nav a:hover{color:var(--ink) !important}
.astrope-cart{font-weight:700;font-size:.92rem;border:1.5px solid var(--line);padding:.5rem 1rem;border-radius:999px;color:var(--ink) !important}
.astrope-cart:hover{border-color:var(--ink)}
@media (max-width:760px){.astrope-nav{display:none}.astrope-cart{margin-left:auto}}

/* ===== v4.7 — busca no header + marcas ===== */
.astrope-search{display:flex;align-items:center;margin-left:auto;background:var(--bg-2);border:1.5px solid var(--line);border-radius:999px;padding:.2rem .3rem .2rem 1rem;min-width:250px}
.astrope-search input[type="search"]{border:0;background:transparent;outline:none;font-family:var(--body);font-size:.92rem;color:var(--ink);width:100%}
.astrope-search button{border:0;background:var(--ink);color:#fff;border-radius:999px;width:36px;height:36px;cursor:pointer;font-size:.95rem;flex:none}
.astrope-search button:hover{filter:brightness(1.3)}
.astrope-nav{margin-left:1.2rem}
.astrope-hd{flex-wrap:wrap;row-gap:.6rem}
@media (max-width:1080px){.astrope-search{order:5;width:100%;min-width:0}}
@media (max-width:760px){.astrope-search{order:5;width:100%;margin-left:0}}

.brandsec{padding:2.6rem 0 0}
.brandsec .sec__head{margin-bottom:1.2rem}
.brandrow{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center}
.brandchip{background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:.75rem 1.5rem;font-weight:800;font-size:1.02rem;color:var(--ink);box-shadow:var(--sh-sm);transition:transform .16s,border-color .16s,box-shadow .16s}
.brandchip:hover{transform:translateY(-3px);border-color:var(--ink);box-shadow:var(--sh)}
.brandchip i{font-style:normal;font-weight:700;font-size:.78rem;color:#fff;background:var(--ink);border-radius:999px;padding:.15rem .55rem;margin-left:.4rem}
.brandchip:hover i{background:var(--pink)}

/* Footer próprio ASTROPÉ */
.astrope-ft__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:1.6rem;padding:1rem 0 2rem}
.astrope-ft__grid h4{font-family:var(--disp);font-size:1rem;margin:0 0 .7rem;color:var(--ink)}
.astrope-ft__grid a{display:block;color:var(--muted) !important;font-size:.9rem;padding:.22rem 0}
.astrope-ft__grid a:hover{color:var(--ink) !important}
.astrope-logo--ft{font-size:1.3rem;margin-bottom:.2rem}
.astrope-ft__tag{color:var(--muted);font-size:.9rem;margin:.6rem 0 1rem}
.astrope-pay{display:flex;gap:.4rem;flex-wrap:wrap}
.astrope-pay span{background:#fff;border:1px solid var(--line);border-radius:7px;font-size:.7rem;padding:.25rem .5rem;color:var(--muted)}
.astrope-ft__bottom{border-top:1px solid var(--line);padding:1.2rem 0;color:var(--muted);font-size:.82rem;text-align:center}
@media (max-width:760px){.astrope-ft__grid{grid-template-columns:1fr 1fr}}

/* Site inteiro sem barra lateral -> conteúdo largo (mata "Hello world") */
#secondary{display:none !important}
.content-area{width:100% !important;float:none !important;margin-right:0 !important}
.single-product .content-area{max-width:100%}

/* ===== v3.6 — corrige corte da imagem/escrita no hero ===== */
html,body{overflow-x:hidden;max-width:100%}
.hero{overflow:hidden}
.hero__grid{padding-left:0;padding-right:0}
.hero__media{max-width:100%;overflow:visible}
.hero__media img{width:min(500px,92%);max-width:100%;height:auto}
.badges{padding-bottom:1.4rem}
.ticker{max-width:100vw}

/* ===== Swatches (plugin Variation Swatches) na cara da ASTROPÉ ===== */
.variable-items-wrapper{display:flex !important;flex-wrap:wrap;gap:.5rem !important;margin:.3rem 0 .6rem}
.variable-item{box-shadow:none !important;border:1.5px solid var(--line) !important;margin:0 !important}
.variable-item.color-variable-item{width:36px !important;height:36px !important;border-radius:50% !important;padding:0 !important}
.variable-item.button-variable-item{min-width:46px !important;height:46px !important;border-radius:12px !important;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--ink) !important;background:#fff !important;padding:0 .5rem !important}
.variable-item.selected,.variable-item[aria-checked="true"]{border-color:var(--ink) !important;box-shadow:0 0 0 3px rgba(198,240,0,.55) !important}
.variable-item.button-variable-item.selected{background:var(--ink) !important;color:#fff !important}
/* tamanho/cor SEM estoque: traço + apagado */
.variable-item.disabled,.variable-item-is-blur,.variable-item.out-of-stock,li.variable-item.disabled{opacity:.4 !important;cursor:not-allowed !important;position:relative}
.variable-item.button-variable-item.disabled{text-decoration:line-through !important}
.variable-item.color-variable-item.disabled::after{content:"";position:absolute;inset:0;background:linear-gradient(to top left, transparent 46%, var(--pink) 46%, var(--pink) 54%, transparent 54%);border-radius:50%}
/* títulos Cor/Tamanho */
.variations th.label label{font-weight:700;color:var(--ink)}

/* ===== v3.7 — ícones SVG + banner lifestyle ===== */
.badges__row div{gap:.4rem !important}
.badge-ic{display:inline-flex;color:var(--ink)}
.badge-ic svg{width:28px;height:28px}

.life{position:relative;background-size:cover;background-position:center 25%;min-height:460px;display:flex;align-items:center;color:#fff}
.life__ov{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,12,16,.85),rgba(12,12,16,.32) 65%,rgba(12,12,16,.08))}
.life__in{position:relative;max-width:580px;padding:2rem 0}
.life__in .eyebrow--neon{color:var(--ink)}
.life h2{font-size:clamp(2.4rem,6vw,4.2rem);color:#fff;line-height:1;margin:.6rem 0}
.life p{color:rgba(255,255,255,.88);font-size:1.08rem;max-width:440px;margin:0 0 1.4rem}
@media (max-width:760px){
  .life{min-height:400px;background-position:center 20%}
  .life__ov{background:linear-gradient(180deg,rgba(12,12,16,.4),rgba(12,12,16,.82))}
}

/* ===== v3.8 — corrige vazamento à direita (container do Storefront na HOME) ===== */
html,body{overflow-x:hidden;max-width:100vw}
.home #content .col-full,
.home .col-full{max-width:100% !important;width:100% !important;padding-left:0 !important;padding-right:0 !important;margin:0 auto !important}
.home #content,.home .site-content{padding-left:0 !important;padding-right:0 !important;overflow-x:hidden}
/* garante que nenhuma seção da home passe da tela */
.home .hero,.home .badges,.home .life,.home .ticker,.home .sec,.home .combo,.home .final{max-width:100vw;overflow-x:clip}
.hero__grid,.badges__row{max-width:100%}
.hero__media img{max-width:46vw}
@media (max-width:860px){.hero__media img{max-width:90%}}

/* ===== v3.9 — imagens vibrantes + mais efeitos visuais ===== */
.card__img img{filter:saturate(1.15) contrast(1.05)}
.card:hover .card__img img{filter:saturate(1.3) contrast(1.08)}
.hero__media img{filter:drop-shadow(0 36px 40px rgba(13,13,16,.30)) saturate(1.15) contrast(1.05)}
.combo__media img{filter:drop-shadow(0 26px 30px rgba(0,0,0,.5)) saturate(1.18) contrast(1.05)}
.mark{box-shadow:0 8px 22px rgba(198,240,0,.35)}

/* glow pulsante atrás do produto */
.hero__halo{animation:halo 5s ease-in-out infinite}
@keyframes halo{0%,100%{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}

/* brilho cruzando o card no hover */
.card__img{position:relative;overflow:hidden}
.card__img::after{content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);
  transform:skewX(-18deg);transition:left .6s ease;pointer-events:none;z-index:2}
.card:hover .card__img::after{left:140%}

/* botão neon com glow no hover */
.btn--neon:hover{box-shadow:0 14px 34px rgba(198,240,0,.55)}

/* ken-burns suave no banner lifestyle */
.life{background-color:#0c0c10;animation:kenburns 22s ease-in-out infinite alternate}
@keyframes kenburns{from{background-size:115%}to{background-size:132%}}

@media (prefers-reduced-motion:reduce){
  .hero__halo,.life{animation:none}
  .card__img::after{display:none}
}

/* ===== v4.2 — vitrine de categorias com foto ===== */
.catshow{padding-top:3rem;padding-bottom:.5rem}
.catgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.catcard{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:16/9;display:block;background:#101014;box-shadow:var(--sh-sm);transition:transform .22s ease,box-shadow .22s ease}
.catcard:hover{transform:translateY(-6px);box-shadow:var(--sh)}
.catcard img{width:100%;height:100%;object-fit:cover;filter:saturate(1.15) contrast(1.04);transition:transform .5s ease}
.catcard:hover img{transform:scale(1.07)}
.catcard__ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,12,16,0) 30%,rgba(12,12,16,.82))}
.catcard__txt{position:absolute;left:1.1rem;bottom:.95rem;color:#fff;z-index:1}
.catcard__txt b{display:block;font-family:var(--disp);font-size:1.25rem;letter-spacing:-.01em}
.catcard__txt i{font-style:normal;font-size:.82rem;color:var(--neon);font-weight:700}
.catcard:hover .catcard__txt i{text-decoration:underline}
@media (max-width:860px){.catgrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.catgrid{grid-template-columns:1fr 1fr;gap:.7rem}.catcard__txt b{font-size:1rem}}

/* ===== v4.1/4.4 — bolinhas de cor nos swatches (combo = 2 cores) ===== */
.astrope-dot{display:inline-block;width:18px;height:18px;min-width:18px;border-radius:50%;margin-right:.5rem;border:1px solid rgba(0,0,0,.25);box-shadow:inset 0 1px 2px rgba(255,255,255,.45),0 1px 3px rgba(0,0,0,.22);vertical-align:middle}
.variable-item.button-variable-item.astrope-has-dot{display:inline-flex !important;align-items:center;padding:0 .85rem !important}

/* tilt 3D suave (transição de volta) */
.woocommerce-product-gallery__wrapper,.catcard{transition:transform .25s ease}
