/* =====================================================================
   RAYZEMONSTER® — estilo da loja (montra). Identidade do mascote:
   preto fosco + dourado. Independente do tema do painel do Spress.

   Regras: cores, raios e tipos SO via tokens abaixo (nada de hex solto).
   Contraste medido (fundo #0D0D0D): texto 15.3:1, texto-mut 7.7:1, ouro 9.2:1;
   texto escuro sobre botao ouro 9:1. --ouro-esc (4.1:1) so em titulos grandes/decoracao.
   ===================================================================== */
:root{
  /* cor: marca (paleta do character sheet do mascote) */
  --preto:#0D0D0D; --ouro:#D4AF37; --ouro-esc:#8C6F2D; --ouro-claro:#F6D365; --cinza:#3A3A3A;
  /* cor: superficies */
  --fundo:var(--preto); --sup-1:#141414; --sup-2:#1B1B1B; --linha:rgba(212,175,55,.18); --linha-forte:rgba(212,175,55,.38);
  /* cor: texto */
  --txt:#E9E4D8; --txt-mut:#A9A296; --txt-inv:#111;
  /* cor: estados */
  --ok-fundo:#13261A; --ok-txt:#8FD6A4; --erro-fundo:#2B1412; --erro-txt:#F2A49B;
  /* tipo */
  --f-corpo:Roboto,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --f-display:Michroma,Roboto,Helvetica,Arial,sans-serif;
  --f-script:"Permanent Marker",cursive;
  /* raios, sombra, movimento */
  --r-sm:10px; --r-md:16px; --r-lg:22px; --r-pill:980px;
  --sombra-ouro:0 30px 80px -30px rgba(212,175,55,.35);
  --t-rapida:.2s ease;
  /* compatibilidade com nomes antigos usados em templates */
  --marca:var(--ouro); --marca-esc:var(--ouro-esc); --azul:var(--ouro); --mut:var(--txt-mut); --alt:var(--sup-1); --bg:var(--fundo);
  color-scheme:dark;
}

/* ---------- base ---------- */
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{font:17px/1.6 var(--f-corpo);color:var(--txt);background:var(--fundo);-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:var(--ouro);text-decoration:none}
a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--ouro-claro);outline-offset:3px}
h1,h2,h3{color:var(--txt);line-height:1.15}
.wrap{max-width:1120px;margin:0 auto}
.rotulo,.secao h2,.conteudo h1{font-family:var(--f-display);text-transform:uppercase;font-weight:400}
.rotulo{color:var(--ouro);letter-spacing:.3em;font-size:.75rem}

/* ---------- botoes ---------- */
.btn,.spress-comprar,.spress-form button{display:inline-block;font:600 1rem/1.2 var(--f-corpo);border:0;cursor:pointer;
  padding:.8rem 1.5rem;border-radius:var(--r-pill);background:var(--ouro);color:var(--txt-inv);transition:background var(--t-rapida),transform var(--t-rapida)}
.btn:hover,.spress-comprar:hover,.spress-form button:hover{background:var(--ouro-claro);text-decoration:none}
.btn:active,.spress-comprar:active{transform:translateY(1px)}
.btn.sec{background:transparent;color:var(--ouro);box-shadow:inset 0 0 0 1px var(--ouro)}
.btn.sec:hover{background:rgba(212,175,55,.12)}
.spress-comprar:disabled{background:var(--cinza);color:var(--txt-mut);cursor:default}
.botoes{display:flex;gap:.9rem;justify-content:center;flex-wrap:wrap;margin-top:1.8rem}

/* ---------- cabecalho de loja ---------- */
.saltar{position:absolute;left:-999px;top:0;z-index:100;background:var(--ouro);color:var(--txt-inv);padding:.6rem 1rem;border-radius:0 0 var(--r-sm) 0}
.saltar:focus{left:0}
.barra-topo{display:flex;justify-content:center;flex-wrap:wrap;gap:.2rem 2.4rem;padding:.45rem 1rem;background:var(--ouro);color:var(--txt-inv);font-size:.78rem;font-weight:600;text-align:center}
.cab{position:sticky;top:0;z-index:30;background:rgba(13,13,13,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--linha)}
.cab-linha{display:flex;align-items:center;gap:1.6rem;max-width:1240px;margin:0 auto;padding:.85rem 1.5rem}
.cab .marca{display:flex;align-items:center;flex:none}
.cab .marca img{height:34px;width:auto;display:block;filter:invert(72%) sepia(52%) saturate(560%) hue-rotate(5deg) brightness(95%)} /* logo preto -> dourado */
.busca{position:relative;flex:1;display:flex;max-width:560px;margin:0 auto;background:var(--sup-1);border:1px solid var(--cinza);border-radius:var(--r-pill);transition:border-color var(--t-rapida)}  /* sem overflow:hidden: a lista de sugestoes sai por baixo */
.busca:focus-within{border-color:var(--ouro)}
.busca input{flex:1;min-width:0;background:none;border:0;border-radius:var(--r-pill);color:var(--txt);font:inherit;font-size:.95rem;padding:.7rem 1.1rem}
.busca input:focus{outline:0}
.busca input::placeholder{color:var(--txt-mut)}
.busca button{background:none;border:0;color:var(--ouro);padding:0 1rem;cursor:pointer}
.cab svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round;display:block}
.cab-acoes{display:flex;align-items:center;gap:.4rem;flex:none}
.acao{position:relative;display:flex;align-items:center;gap:.5rem;color:var(--txt);padding:.55rem .8rem;border-radius:var(--r-pill);font-size:.88rem}
.acao:hover{background:var(--sup-2);color:var(--ouro);text-decoration:none}
.acao-carrinho{background:var(--ouro);color:var(--txt-inv);font-weight:600;padding:.6rem 1.1rem}
.acao-carrinho:hover{background:var(--ouro-claro);color:var(--txt-inv)}
.bolha{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 .35rem;border-radius:var(--r-pill);background:var(--preto);color:var(--ouro);font-size:.75rem;font-weight:700}
.bolha[hidden]{display:none}
.nav-menu{display:none;background:none;border:1px solid var(--linha-forte);border-radius:var(--r-sm);color:var(--ouro);width:44px;height:44px;cursor:pointer;place-items:center;flex:none}
.cab-menu{border-top:1px solid var(--linha);background:var(--sup-1)}
.cab-menu .wrap{max-width:1240px;display:flex;flex-wrap:wrap;gap:.2rem 2rem;padding:0 1.5rem}
.cab-menu a{color:var(--txt);font-size:.8rem;font-family:var(--f-display);text-transform:uppercase;letter-spacing:.12em;padding:.8rem 0;border-bottom:2px solid transparent}
.cab-menu a:hover{color:var(--ouro);border-bottom-color:var(--ouro);text-decoration:none}
.cab-menu .so-movel{display:none}
@media(max-width:900px){
  .barra-topo span+span{display:none}
  .cab-linha{flex-wrap:wrap;gap:.7rem;padding:.7rem 1rem}
  .nav-menu{display:grid}
  .cab .marca img{height:26px}
  .cab-acoes{margin-left:auto}
  .acao span{display:none}
  .acao-carrinho{padding:.55rem .8rem}
  .busca{order:5;flex-basis:100%;max-width:none}
  .cab-menu{display:none}
  .cab.aberto .cab-menu{display:block}
  .cab-menu .wrap{flex-direction:column;gap:0;padding:.3rem 1rem .8rem}
  .cab-menu a{padding:.9rem 0;border-bottom:1px solid var(--linha);font-size:.85rem}
  .cab-menu .so-movel{display:block}
}

/* ---------- home ---------- */
.hero{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;max-width:1240px;margin:0 auto;padding:3rem 1.5rem}
.hero-txt .rotulo{margin-bottom:1rem;display:block}
.hero h1{font-family:var(--f-display);font-weight:400;text-transform:uppercase;letter-spacing:.02em;font-size:clamp(1.55rem,3.3vw,2.55rem);line-height:1.2;
  background:linear-gradient(180deg,var(--ouro-claro),var(--ouro) 55%,var(--ouro-esc));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.sub{font-size:1.15rem;color:var(--txt-mut);max-width:40ch;margin-top:1.2rem}
.hero .botoes{justify-content:flex-start}
.hero-img img{width:100%;max-height:520px;object-fit:cover;height:auto;display:block;border-radius:var(--r-lg);box-shadow:var(--sombra-ouro)}
.script{font-family:var(--f-script);color:var(--ouro);font-size:clamp(1.6rem,3.4vw,2.3rem);line-height:1.05;transform:rotate(-5deg)}
.hero .script{margin-top:1.8rem}
@media(max-width:820px){.hero{grid-template-columns:1fr;gap:1.6rem;padding-top:1.2rem}.hero-img{order:-1}.hero-img img{max-height:340px}.hero .script{display:none}}

.vantagens{display:grid;grid-template-columns:repeat(4,1fr);max-width:1240px;margin:0 auto;border:1px solid var(--linha);border-radius:var(--r-lg);background:var(--sup-1)}
.vantagens div{display:flex;gap:.9rem;align-items:center;padding:1.3rem 1.4rem}
.vantagens div+div{border-left:1px solid var(--linha)}
.vantagens svg{width:34px;height:34px;flex:none;fill:none;stroke:var(--ouro);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}
.vantagens b{display:block;font-size:.95rem}
.vantagens span{display:block;color:var(--txt-mut);font-size:.82rem}
@media(max-width:1260px){.vantagens{margin:0 1.5rem}}
@media(max-width:900px){.vantagens{grid-template-columns:1fr 1fr}.vantagens div:nth-child(3){border-left:0}.vantagens div:nth-child(n+3){border-top:1px solid var(--linha)}}
@media(max-width:520px){.vantagens{margin:0 1rem}.vantagens div{padding:1rem;flex-direction:column;align-items:flex-start;gap:.5rem}}

/* ---------- secoes ---------- */
.secao{padding:4rem 1.5rem}
.secao .wrap{max-width:1240px}
.secao-topo{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.secao h2{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(1.15rem,2.6vw,1.6rem);letter-spacing:.1em;color:var(--ouro)}
.secao-topo a{font-size:.92rem}
.secao .botoes{margin-top:2.5rem}
.cartao{background:var(--sup-2);border:1px solid var(--linha);border-radius:var(--r-lg);padding:2rem 1.8rem}
.cartao h3{font-family:var(--f-display);font-weight:400;text-transform:uppercase;letter-spacing:.1em;font-size:.95rem;margin-bottom:.6rem}
.cartao p{color:var(--txt-mut);font-size:1rem}

.categorias{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin-top:1.6rem}
.categoria{position:relative;display:block;aspect-ratio:1;border-radius:var(--r-lg);overflow:hidden;background:var(--sup-2);border:1px solid var(--linha)}
.categoria img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.categoria:hover img{transform:scale(1.05)}
.categoria span{position:absolute;left:0;right:0;bottom:0;padding:2.5rem 1rem 1rem;background:linear-gradient(transparent,rgba(0,0,0,.88));
  color:var(--txt);font-family:var(--f-display);text-transform:uppercase;letter-spacing:.08em;font-size:.85rem}
.categoria small{color:var(--ouro);font-family:var(--f-corpo)}
.categoria:hover{text-decoration:none;border-color:var(--linha-forte)}

.banda{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap;max-width:1240px;margin:0 auto;padding:2.6rem 2.8rem;
  background:radial-gradient(120% 160% at 0% 0%,rgba(212,175,55,.22),transparent 55%),var(--sup-1);border:1px solid var(--linha-forte);border-radius:var(--r-lg)}
.banda h2{margin:.5rem 0}
.banda p{color:var(--txt-mut);max-width:52ch}
@media(max-width:600px){.banda{padding:2rem 1.4rem}}

/* ---------- produtos ---------- */
.vitrine{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.2rem;margin-top:1.6rem}
.card-produto{position:relative;display:flex;flex-direction:column;background:var(--sup-1);border:1px solid var(--linha);border-radius:var(--r-lg);overflow:hidden;
  transition:border-color var(--t-rapida),transform var(--t-rapida),box-shadow var(--t-rapida)}
.card-produto:hover{border-color:var(--linha-forte);transform:translateY(-3px);box-shadow:0 18px 40px -24px rgba(212,175,55,.45)}
.card-img{position:relative;display:block;background:var(--sup-2)}
.card-img img,.card-produto .sem-foto,.sem-foto{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;background:var(--sup-2)}
.card-produto:hover .card-img img{transform:scale(1.03)}
.card-img img{transition:transform .35s}
.card-corpo{display:flex;flex-direction:column;flex:1;padding:1rem 1rem 1.1rem}
.card-produto h3{font-size:.95rem;font-weight:600;letter-spacing:.02em;line-height:1.3;text-transform:uppercase;margin-bottom:.4rem}
.card-produto h3 a{color:var(--txt)}
.card-produto h3 a:hover{color:var(--ouro);text-decoration:none}
.card-produto .preco{margin:0 0 1rem}
.card-produto .spress-comprar{margin-top:auto;width:100%}
.card-produto.esgotado .card-img img{opacity:.55}
.selo{position:absolute;top:.8rem;left:.8rem;background:var(--ouro);color:var(--txt-inv);font-weight:700;font-size:.78rem;padding:.25rem .6rem;border-radius:var(--r-pill)}
.selo-esgotado{background:var(--cinza);color:var(--txt)}
.preco{color:var(--ouro);font-weight:700;font-size:1.15rem;margin:.3rem 0 .9rem}
.preco s{color:var(--txt-mut);font-weight:400;font-size:.9em;margin-right:.3rem}
.spress-comprar{display:inline-flex;align-items:center;justify-content:center;gap:.5rem}
.spress-comprar:not(:disabled)::before{content:"";width:18px;height:18px;flex:none;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 11h11l2-8H6.2'/%3E%3Ccircle cx='9' cy='19.5' r='1.5'/%3E%3Ccircle cx='17' cy='19.5' r='1.5'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 11h11l2-8H6.2'/%3E%3Ccircle cx='9' cy='19.5' r='1.5'/%3E%3Ccircle cx='17' cy='19.5' r='1.5'/%3E%3C/svg%3E") center/contain no-repeat}

/* loja: topo, ordenacao, categorias */
.loja-topo{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;flex-wrap:wrap}
.loja-topo h1{margin-bottom:.2rem}
.loja-total{color:var(--txt-mut);font-size:.92rem}
.loja-ordem{display:flex;align-items:center;gap:.6rem;font-size:.9rem;color:var(--txt-mut)}
.loja-ordem select{font:inherit;color:var(--txt);background:var(--sup-1);border:1px solid var(--cinza);border-radius:var(--r-pill);padding:.55rem 1rem}
.chips{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1.4rem}
.chip{border:1px solid var(--cinza);border-radius:var(--r-pill);padding:.45rem 1rem;color:var(--txt);font-size:.88rem}
.chip small{color:var(--txt-mut)}
.chip:hover{border-color:var(--ouro);text-decoration:none}
.chip.atual{background:var(--ouro);border-color:var(--ouro);color:var(--txt-inv);font-weight:600}
.variacao-chips{display:flex;gap:.5rem;flex-wrap:wrap}
.variacao.chip{cursor:pointer;background:var(--sup-1)}
.variacao.chip:hover{border-color:var(--ouro)}
.variacao.chip.atual{background:var(--ouro);border-color:var(--ouro);color:var(--txt-inv);font-weight:600}
.variacao.chip:disabled,.variacao.chip.esgotada{color:var(--txt-mut);border-color:var(--cinza);opacity:.55;cursor:not-allowed;text-decoration:line-through}
.vazio-bloco{text-align:center;padding:4rem 1rem;border:1px dashed var(--linha-forte);border-radius:var(--r-lg);margin-top:2rem}
.vazio-bloco p{color:var(--txt-mut);margin-bottom:1.2rem}

/* pagina do produto */
.produto-detalhe{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:start}
.produto-detalhe h1{font-family:var(--f-display);font-weight:400;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(1.4rem,3.2vw,2rem);margin-bottom:.8rem;color:var(--txt)}
.produto-info .preco{position:relative;font-size:1.8rem;margin:.6rem 0 .1rem;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.produto-info .preco .selo{position:static}
.iva{color:var(--txt-mut);font-size:.85rem}
.stock{margin:1rem 0 1.2rem;font-size:.92rem;color:var(--ok-txt);display:flex;align-items:center;gap:.5rem}
.stock::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.stock.sem{color:var(--erro-txt)}
.produto-compra{display:flex;gap:.8rem;flex-wrap:wrap}
.produto-compra .variacoes{flex-basis:100%;border:0;padding:0;margin:0}
.produto-compra .variacoes legend{font-size:.85rem;color:var(--txt-mut);margin-bottom:.5rem}
.produto-compra .spress-comprar{flex:1;min-width:200px;padding:1rem 1.5rem;font-size:1.05rem}
.qtd-campo{display:flex;align-items:center;border:1px solid var(--cinza);border-radius:var(--r-pill);overflow:hidden}
.qtd-campo button{background:none;border:0;color:var(--ouro);width:44px;height:100%;min-height:48px;font-size:1.3rem;cursor:pointer}
.qtd-campo button:hover{background:var(--sup-2)}
.qtd-campo input{width:3rem;text-align:center;background:none;border:0;color:var(--txt);font:600 1rem var(--f-corpo);-moz-appearance:textfield}
.qtd-campo input::-webkit-inner-spin-button{-webkit-appearance:none}
.garantias{list-style:none;padding:0;margin:1.8rem 0 0;border:1px solid var(--linha);border-radius:var(--r-md);background:var(--sup-1)}
.garantias li{display:flex;gap:.9rem;align-items:center;padding:.9rem 1.1rem}
.garantias li+li{border-top:1px solid var(--linha)}
.garantias svg{width:26px;height:26px;flex:none;fill:none;stroke:var(--ouro);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.garantias span{font-weight:600;font-size:.93rem}
.garantias small{display:block;font-weight:400;color:var(--txt-mut);font-size:.82rem}
.produto-descricao,.relacionados{margin-top:3rem;border-top:1px solid var(--linha);padding-top:1.8rem}
.produto-descricao h2,.relacionados h2{font-family:var(--f-display);font-weight:400;text-transform:uppercase;letter-spacing:.1em;font-size:1.1rem;color:var(--ouro);margin-bottom:1rem}
.produto-descricao .texto{max-width:75ch;white-space:pre-line}
.produto-descricao .texto p{margin-bottom:.8rem}
@media(max-width:800px){.produto-detalhe{grid-template-columns:1fr;gap:1.6rem}}

/* ---------- mini-carrinho (gaveta lateral) ---------- */
.mc-fundo{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.6);opacity:0;transition:opacity .25s}
.mc-fundo.visivel{opacity:1}
.minicarrinho{position:fixed;top:0;right:0;bottom:0;z-index:91;width:min(420px,100%);display:flex;flex-direction:column;background:var(--sup-1);
  border-left:1px solid var(--linha-forte);box-shadow:-30px 0 60px -20px rgba(0,0,0,.7);transform:translateX(100%);transition:transform .25s ease}
.minicarrinho.visivel{transform:none}
html.mc-aberto{overflow:hidden}
.mc-topo{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 1.4rem;border-bottom:1px solid var(--linha)}
.mc-topo h2{font-family:var(--f-display);font-weight:400;text-transform:uppercase;letter-spacing:.1em;font-size:1rem;color:var(--ouro)}
.mc-topo small{color:var(--txt-mut);font-family:var(--f-corpo);letter-spacing:0}
.mc-fechar{background:none;border:0;color:var(--txt);cursor:pointer;width:40px;height:40px;border-radius:50%;display:grid;place-items:center}
.mc-fechar:hover{background:var(--sup-2)}
.mc-fechar svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.mc-aviso:empty{display:none}
.mc-aviso{margin:1rem 1.4rem 0;padding:.7rem 1rem;border-radius:var(--r-sm);background:var(--ok-fundo);color:var(--ok-txt);font-size:.9rem}
.mc-itens{flex:1;overflow-y:auto;padding:.4rem 1.4rem}
.mc-item{display:grid;grid-template-columns:72px 1fr auto;gap:.9rem;padding:1rem 0;border-bottom:1px solid var(--linha);align-items:start}
.mc-foto{display:block;width:72px;height:72px;border-radius:var(--r-sm);overflow:hidden;background:var(--sup-2)}
.mc-foto img{width:100%;height:100%;object-fit:cover}
.mc-nome{display:block;color:var(--txt);font-weight:600;font-size:.92rem;line-height:1.3;text-transform:uppercase}
.mc-unit{display:block;color:var(--txt-mut);font-size:.82rem;margin:.2rem 0 .5rem}
.mc-ctrl{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}
.mc-q{width:30px;height:30px;border-radius:50%;border:1px solid var(--cinza);background:none;color:var(--txt);cursor:pointer;font-size:1rem;line-height:1}
.mc-q:hover{border-color:var(--ouro);color:var(--ouro)}
.mc-num{min-width:1.6rem;text-align:center;font-weight:600}
.mc-remover{background:none;border:0;color:var(--txt-mut);font-size:.8rem;text-decoration:underline;cursor:pointer;margin-left:.4rem}
.mc-remover:hover{color:var(--erro-txt)}
.mc-linha-total{color:var(--ouro);font-size:.95rem;white-space:nowrap}
.mc-vazio{text-align:center;color:var(--txt-mut);padding:3rem 0}
.mc-base{padding:1.2rem 1.4rem 1.4rem;border-top:1px solid var(--linha);display:grid;gap:.6rem}
.mc-base[hidden]{display:none}
.mc-subtotal{display:flex;justify-content:space-between;font-size:1.1rem}
.mc-subtotal b{color:var(--ouro)}
.mc-nota{color:var(--txt-mut);font-size:.82rem;margin-bottom:.4rem}
.mc-base .btn{text-align:center;width:100%}

/* galeria do produto: imagem principal + miniaturas (sem bibliotecas) */
.galeria{display:flex;flex-direction:column;gap:.8rem}
.galeria-principal{display:block}
.galeria-principal img{width:100%;border-radius:var(--r-lg);display:block;border:1px solid var(--linha)}
.galeria .sem-foto{display:block;width:100%;aspect-ratio:1;border-radius:var(--r-lg)}
.galeria-miniaturas{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem;padding:0;margin:0}
.galeria-miniatura{padding:0;border:2px solid transparent;border-radius:14px;background:none;cursor:pointer;line-height:0}
.galeria-miniatura img{width:72px;height:72px;object-fit:cover;border-radius:12px;display:block}
.galeria-miniatura:hover{border-color:var(--linha-forte)}
.galeria-miniatura.atual{border-color:var(--ouro)}

/* avaliacoes */
.avaliacoes{margin-top:3rem;border-top:1px solid var(--linha);padding-top:1.8rem}
.avaliacoes h2{font-family:var(--f-display);font-weight:400;text-transform:uppercase;letter-spacing:.1em;font-size:1.1rem;color:var(--ouro);
  margin-bottom:1rem;display:flex;flex-wrap:wrap;align-items:baseline;gap:.6rem}
.avaliacoes h2 small{font-family:var(--f-corpo);text-transform:none;letter-spacing:0;color:var(--txt-mut);font-size:.9rem}
.estrelas{color:var(--ouro);letter-spacing:.1em;white-space:nowrap}
.avaliacoes-resumo{display:flex;align-items:center;gap:.5rem;color:var(--txt-mut);font-size:.95rem;margin:.2rem 0 .6rem}
.avaliacao,.comentario{background:var(--sup-1);border:1px solid var(--linha);border-radius:14px;padding:1rem 1.2rem;margin-bottom:.8rem}
.avaliacao p,.comentario p{margin:.3rem 0 0}
.avaliacao-topo{display:flex;flex-wrap:wrap;align-items:baseline;gap:.6rem;margin:0}
.avaliacao-topo small,.comentario small{color:var(--txt-mut);font-size:.8rem}
.avaliacoes-vazio,.avaliacoes-entrar{color:var(--txt-mut)}
.avaliacoes-form{max-width:520px;margin-top:1rem}

/* ---------- paginas internas ---------- */
.conteudo{max-width:760px;margin:0 auto;padding:3.5rem 1.5rem 4.5rem}
.conteudo.largo{max-width:1120px}
.conteudo h1{font-size:clamp(1.5rem,4vw,2.3rem);letter-spacing:.08em;line-height:1.15;margin-bottom:1.4rem;color:var(--ouro)}
.conteudo h2{margin:2rem 0 .6rem}
.conteudo p,.conteudo li{margin-bottom:.8rem}
.conteudo img,.conteudo iframe,.conteudo audio{max-width:100%;border-radius:12px}
.spress-video{width:100%;aspect-ratio:16/9;border:0}
.meta{color:var(--txt-mut);font-size:.9rem;margin-bottom:1.5rem}
.item{padding:1.5rem 0;border-bottom:1px solid var(--linha)}
.item h2{margin:0 0 .3rem}.item h2 a{color:var(--txt)}.item h2 a:hover{color:var(--ouro)}
.vazio{text-align:center;color:var(--txt-mut);margin-top:2rem}
.spress-migalhas{color:var(--txt-mut);font-size:.85rem;margin-bottom:1rem}
.spress-migalhas a{color:var(--txt-mut)}.spress-migalhas a:hover{color:var(--ouro)}
.spress-paginacao{margin-top:2.5rem;color:var(--txt-mut);text-align:center}.spress-paginacao a{margin-left:1rem}

/* posts (home e blog) */
.posts{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem;margin-top:3rem}
.post{display:block;background:var(--sup-1);border:1px solid var(--linha);border-radius:var(--r-lg);padding:2rem 1.8rem;color:var(--txt);transition:border-color var(--t-rapida),transform var(--t-rapida)}
.post:hover{border-color:var(--linha-forte);transform:translateY(-3px);text-decoration:none}
.post small{color:var(--txt-mut);font-size:.8rem}
.post h3{font-size:1.3rem;margin:.4rem 0 .6rem}
.post p{color:var(--txt-mut);font-size:.98rem}
.post .mais{color:var(--ouro);margin-top:1rem;display:inline-block;font-size:.95rem}

/* ---------- formularios e checkout ---------- */
.spress-form p{margin-bottom:1rem}
.spress-form label{display:block;font-size:.85rem;color:var(--txt-mut)}
.spress-form input,.spress-form textarea,.spress-form select,.spress-carrinho input{width:100%;font:inherit;color:var(--txt);background:var(--sup-1);
  padding:.75rem .9rem;border:1px solid var(--cinza);border-radius:12px;margin-top:.25rem}
.spress-form input:focus,.spress-form textarea:focus,.spress-form select:focus,.spress-carrinho input:focus{outline:0;border-color:var(--ouro);box-shadow:0 0 0 1px var(--ouro)}
.spress-aviso,.aviso{padding:.8rem 1rem;border-radius:12px;margin-bottom:1rem}
.spress-aviso.ok,.aviso.ok{background:var(--ok-fundo);color:var(--ok-txt)}
.spress-aviso.erro,.aviso.erro{background:var(--erro-fundo);color:var(--erro-txt)}
.aviso.erro a{color:var(--ouro-claro)}
.spress-carrinho{width:100%;border-collapse:collapse;margin:1rem 0}
.spress-carrinho td{padding:.75rem .3rem;border-bottom:1px solid var(--linha)}
.spress-carrinho td:last-child{text-align:right}
.spress-carrinho input{width:4.5rem;padding:.35rem;margin:0}
.spress-carrinho tr.total td{font-weight:700;border-bottom:0;color:var(--ouro);font-size:1.15rem}
.spress-bloco{border:0;padding:0;margin:0 0 1rem}.spress-bloco legend{font-weight:600;margin-bottom:.6rem}
.spress-opcoes{margin-bottom:1rem}
.spress-opcoes label{display:flex;gap:.6rem;align-items:baseline;padding:.8rem 1rem;margin:.4rem 0;border:1px solid var(--cinza);border-radius:12px;color:var(--txt);font-size:1rem;cursor:pointer;background:var(--sup-1)}
.spress-opcoes label:has(input:checked){border-color:var(--ouro);box-shadow:0 0 0 1px var(--ouro)}
.spress-opcoes label[hidden]{display:none}
.spress-opcoes input{width:auto;margin:0;accent-color:var(--ouro)}.spress-opcoes small{color:var(--txt-mut)}
.spress-multibanco{border-collapse:collapse;margin:1rem 0;min-width:16rem;background:var(--sup-1);border:1px solid var(--linha);border-radius:12px;overflow:hidden}
.spress-multibanco th,.spress-multibanco td{padding:.7rem 1rem;text-align:left}
.spress-multibanco td{font-size:1.25rem;font-weight:600;letter-spacing:.04em;font-variant-numeric:tabular-nums;color:var(--ouro)}
textarea.pix{width:100%;font:13px/1.4 ui-monospace,monospace;padding:.8rem;border:1px solid var(--cinza);border-radius:12px;word-break:break-all;background:var(--sup-1);color:var(--txt)}

/* ---------- rodape ---------- */
footer{background:#080808;border-top:1px solid var(--linha);color:var(--txt-mut);font-size:.88rem;padding:3.5rem 1.5rem 2rem}
footer .rodape-grade{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:2.5rem;max-width:1120px;margin:0 auto}
footer .rodape-marca img{height:30px;width:auto;filter:invert(72%) sepia(52%) saturate(560%) hue-rotate(5deg) brightness(95%)}
footer .rodape-marca .script{font-size:1.4rem;margin-top:1.2rem;display:inline-block}
footer h3{font-family:var(--f-display);font-weight:400;text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;color:var(--ouro);margin-bottom:1rem}
footer ul{list-style:none;padding:0}
footer li,footer p{margin:.35rem 0}
footer a{color:var(--txt)}footer a:hover{color:var(--ouro)}
footer .rodape-base{max-width:1120px;margin:2.5rem auto 0;padding-top:1.4rem;border-top:1px solid var(--linha);display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem;font-size:.8rem}
@media(max-width:980px){footer .rodape-grade{grid-template-columns:repeat(2,1fr);gap:2rem}footer .rodape-marca{grid-column:1/-1}}
@media(max-width:520px){footer .rodape-grade{grid-template-columns:1fr}}

/* ---------- paginas de informacao (/termos, /privacidade...) ---------- */
.info{display:grid;grid-template-columns:240px 1fr;gap:3.5rem;max-width:1120px;margin:0 auto;padding:3rem 1.5rem 4.5rem;align-items:start}
.info-menu{position:sticky;top:84px;border:1px solid var(--linha);border-radius:var(--r-lg);padding:1.3rem 1.2rem;background:var(--sup-1)}
.info-menu .rotulo{display:block;margin-bottom:.8rem}
.info-menu ul{list-style:none;padding:0}
.info-menu a{display:block;padding:.45rem .6rem;border-radius:var(--r-sm);color:var(--txt-mut);font-size:.92rem}
.info-menu a:hover{color:var(--txt);background:var(--sup-2);text-decoration:none}
.info-menu a[aria-current]{color:var(--txt-inv);background:var(--ouro);font-weight:600}
.info-texto{max-width:72ch;min-width:0}
.info-texto h1{font-family:var(--f-display);font-weight:400;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(1.4rem,3.4vw,2.1rem);color:var(--ouro);margin-bottom:1.2rem}
.info-texto h2{font-size:1.15rem;margin:2.2rem 0 .7rem;color:var(--txt);padding-top:1.2rem;border-top:1px solid var(--linha)}
.info-texto p,.info-texto li{margin-bottom:.75rem;color:var(--txt)}
.info-lead{font-size:1.15rem;color:var(--txt-mut)!important;border-left:2px solid var(--ouro);padding-left:1rem}
.info-lista{padding-left:1.3rem}
.info-tabela{width:100%;border-collapse:collapse;margin:1rem 0 1.4rem;font-size:.95rem;display:block;overflow-x:auto}
.info-tabela th,.info-tabela td{padding:.7rem .8rem;border-bottom:1px solid var(--linha);text-align:left;vertical-align:top}
.info-tabela th{color:var(--ouro);font-weight:600;white-space:nowrap}
.info-tabela code,.info-texto code{background:var(--sup-2);padding:.1rem .35rem;border-radius:6px;font-size:.88em}
.info-modelo{background:var(--sup-1);border:1px dashed var(--linha-forte);border-radius:var(--r-md);padding:1.1rem 1.3rem;margin:1rem 0 1.4rem}
.info-cartoes{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin:1.5rem 0}
.info-cartoes .cartao{padding:1.4rem}
.info-faq{border:1px solid var(--linha);border-radius:var(--r-md);margin-bottom:.6rem;background:var(--sup-1)}
.info-faq summary{cursor:pointer;padding:1rem 1.2rem;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.info-faq summary::-webkit-details-marker{display:none}
.info-faq summary::after{content:"+";color:var(--ouro);font-size:1.3rem;line-height:1}
.info-faq[open] summary::after{content:"\2212"}
.info-faq p{padding:0 1.2rem 1rem;color:var(--txt-mut)!important;margin:0}
.info-atualizado{margin-top:2.5rem;color:var(--txt-mut)!important;font-size:.85rem}
mark.preencher{background:var(--erro-fundo);color:var(--erro-txt);padding:0 .3rem;border-radius:4px;font-weight:600}
@media(max-width:860px){.info{grid-template-columns:1fr;gap:1.5rem;padding-top:1.5rem}.info-menu{position:static;order:2}}

/* ---------- geral ---------- */
@media(max-width:640px){.secao{padding:3.5rem 1.1rem}.conteudo{padding:2.5rem 1.1rem 3.5rem}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}.card-produto:hover,.post:hover,.card-produto:hover .card-img img,.categoria:hover img{transform:none}.minicarrinho,.mc-fundo{transition:none}}

/* ---------- frente 5: catalogo, filtros e busca ---------- */
/* utilitario: texto so para leitores de ecra (avisos aria-live, legendas de campo) */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* busca instantanea no cabecalho: lista de sugestoes (role=listbox) */
.busca{position:relative}
.busca-sugestoes{position:absolute;top:calc(100% + .4rem);left:0;right:0;z-index:60;margin:0;padding:.4rem;list-style:none;
  background:var(--sup-1);border:1px solid var(--linha-forte);border-radius:var(--r-md);box-shadow:var(--sombra-ouro);max-height:min(70vh,460px);overflow:auto}
.busca-sugestoes[hidden]{display:none}
.busca-opcao{margin:0}
.busca-opcao.ativo,.busca-opcao[aria-selected="true"]{background:var(--sup-2);box-shadow:inset 3px 0 0 var(--ouro);border-radius:var(--r-sm)}
.busca-opcao a{display:flex;align-items:center;gap:.8rem;padding:.5rem .6rem;border-radius:var(--r-sm);color:var(--txt);text-decoration:none}
.busca-opcao a:hover{background:var(--sup-2);text-decoration:none}
.busca-opcao img{width:46px;height:46px;flex:none;object-fit:cover;border-radius:var(--r-sm);background:var(--sup-2)}
.busca-dados{display:flex;flex-direction:column;min-width:0}
.busca-nome{font-weight:600;font-size:.92rem;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.busca-preco{color:var(--ouro);font-weight:700;font-size:.92rem;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}
.busca-preco s{color:var(--txt-mut);font-weight:400;font-size:.85em}
.busca-esgotado{color:var(--erro-txt);font-weight:600;font-size:.78rem}
.busca-ver-todos{color:var(--ouro);font-weight:600;font-size:.9rem}
.busca-grupo{padding:.55rem .6rem .25rem;color:var(--txt-mut);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}

/* barra de filtros do catalogo (form GET; funciona sem JS) */
.filtros{margin-top:1.4rem;background:var(--sup-1);border:1px solid var(--linha);border-radius:var(--r-lg);padding:1.1rem 1.2rem}
.filtros-topo{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.filtros-titulo{font-family:var(--f-display);font-weight:400;text-transform:uppercase;letter-spacing:.14em;font-size:.85rem;color:var(--ouro);margin:0}
.filtros-limpar{margin-left:auto;font-size:.85rem;color:var(--txt-mut)}
.filtros-limpar:hover{color:var(--ouro)}
.filtros-toggle{display:none;margin-left:auto;align-items:center;gap:.4rem;background:none;border:1px solid var(--linha-forte);border-radius:var(--r-pill);
  color:var(--ouro);font:600 .85rem var(--f-corpo);padding:.5rem .9rem;cursor:pointer}
.filtros-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.filtros-corpo{display:grid;grid-template-columns:2fr 1fr 1.4fr 1.4fr 1.2fr auto;gap:1rem 1.4rem;align-items:end;margin-top:1.1rem}
.filtro-grupo{border:0;padding:0;margin:0;min-width:0}
.filtro-grupo legend,.filtro-grupo>label{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--txt-mut);margin-bottom:.45rem;padding:0}
.filtro-grupo input[type="search"],.filtro-grupo select,.filtro-grupo input[type="number"]{width:100%;font:inherit;color:var(--txt);background:var(--sup-2);
  border:1px solid var(--cinza);border-radius:var(--r-sm);padding:.6rem .8rem}
.filtro-grupo input:focus,.filtro-grupo select:focus{outline:0;border-color:var(--ouro);box-shadow:0 0 0 1px var(--ouro)}
.filtro-lista{display:flex;flex-direction:column;gap:.35rem;max-height:9.5rem;overflow:auto}
.filtro-check{display:flex;align-items:center;gap:.5rem;font-size:.88rem;color:var(--txt);text-transform:none;letter-spacing:0;margin:0}
.filtro-check input{width:1.05rem;height:1.05rem;flex:none;accent-color:var(--ouro)}
.filtro-check small{color:var(--txt-mut)}
.filtro-check input:disabled+*{color:var(--txt-mut)}
.filtro-precos{display:flex;gap:.6rem}
.filtro-precos label{flex:1;font-size:.72rem;color:var(--txt-mut);display:flex;flex-direction:column;gap:.3rem;text-transform:none;letter-spacing:0}
.filtros-acoes{display:flex;align-items:end}
.filtros-acoes .btn{width:100%;white-space:nowrap}
@media(max-width:1000px){.filtros-corpo{grid-template-columns:1fr 1fr}}
@media(max-width:700px){
  .filtros-limpar{margin-left:0;flex-basis:100%}
  .filtros-js .filtros-toggle{display:inline-flex}
  .filtros-js .filtros-corpo.recolhido{display:none}
}

/* ---------- frente 3: checkout em passos (dados, entrega, pagamento, rever) ---------- */
.checkout-grade{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:2.4rem;align-items:start;margin-top:1.4rem}
.checkout-coluna{min-width:0}
.checkout-passo h2{font-family:var(--f-display);font-weight:400;text-transform:uppercase;letter-spacing:.1em;font-size:1.05rem;color:var(--ouro);margin:.2rem 0 1.2rem}
/* indicador dos passos */
.checkout-progresso{list-style:none;display:flex;gap:.6rem;padding:0;margin:0 0 1.6rem;flex-wrap:wrap}
.checkout-progresso li{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--txt-mut);background:var(--sup-1);border:1px solid var(--linha);border-radius:var(--r-pill);padding:.4rem .9rem}
.checkout-progresso li b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--sup-2);color:var(--txt-mut);font-size:.78rem}
.checkout-progresso li.atual{color:var(--txt-inv);background:var(--ouro);border-color:var(--ouro);font-weight:600}
.checkout-progresso li.atual b{background:var(--txt-inv);color:var(--ouro)}
.checkout-progresso li.feito{color:var(--ok-txt);border-color:var(--linha-forte)}
.checkout-progresso li.feito b{background:var(--ok-fundo);color:var(--ok-txt)}
.checkout-acoes{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.2rem}
.checkout-logado,.checkout-entrar{margin-bottom:1rem;color:var(--txt-mut)}
.checkout-criar-conta{margin:1rem 0;border:1px dashed var(--linha-forte);border-radius:var(--r-md);padding:1rem 1.2rem;background:var(--sup-1)}
.checkout-check{display:flex;align-items:center;gap:.6rem;color:var(--txt);font-size:.95rem;cursor:pointer}
.checkout-check input{width:auto;accent-color:var(--ouro);margin:0}
.checkout-criar-conta [data-checkout-senha]{margin-top:1rem}
/* erro de campo (validacao inline) */
.campo-erro{border-color:var(--erro-txt)!important;box-shadow:0 0 0 1px var(--erro-txt)!important}
.checkout-erro:empty{display:none}
/* resumo fixo ao lado (fotos, quantidades editaveis, portes, total) */
.checkout-resumo{position:sticky;top:90px;background:var(--sup-1);border:1px solid var(--linha);border-radius:var(--r-lg);padding:1.4rem 1.3rem}
.checkout-resumo h2{font-family:var(--f-display);font-weight:400;text-transform:uppercase;letter-spacing:.1em;font-size:.95rem;color:var(--ouro);margin:0 0 1rem}
.checkout-itens{max-height:44vh;overflow:auto;margin-bottom:1rem}
.checkout-item{display:grid;grid-template-columns:56px 1fr auto;gap:.7rem;padding:.8rem 0;border-bottom:1px solid var(--linha);align-items:start}
.checkout-item-foto{display:block;width:56px;height:56px;border-radius:var(--r-sm);overflow:hidden;background:var(--sup-2)}
.checkout-item-foto img{width:100%;height:100%;object-fit:cover}
.checkout-item-nome{display:block;color:var(--txt);font-weight:600;font-size:.85rem;line-height:1.3;text-transform:uppercase}
.checkout-item-unit{display:block;color:var(--txt-mut);font-size:.8rem;margin:.15rem 0 .4rem}
.checkout-item-ctrl{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}
.checkout-item-ctrl .mc-q{width:28px;height:28px}
.checkout-item-qtd{width:3rem;text-align:center;background:var(--sup-2);border:1px solid var(--cinza);border-radius:var(--r-sm);color:var(--txt);font:600 .9rem var(--f-corpo);padding:.2rem;margin:0}
.checkout-item-total{color:var(--ouro);font-size:.9rem;white-space:nowrap}
.checkout-resumo-linha{display:flex;justify-content:space-between;gap:1rem;margin:.3rem 0;color:var(--txt-mut)}
.checkout-resumo-linha[hidden]{display:none}
.checkout-resumo-linha b{color:var(--txt)}
.checkout-resumo-linha.total{border-top:1px solid var(--linha);padding-top:.7rem;margin-top:.7rem;font-size:1.1rem;color:var(--txt)}
.checkout-resumo-linha.total b{color:var(--ouro)}
/* rever e confirmar */
.checkout-revisao-lista{margin:0 0 1.2rem;border:1px solid var(--linha);border-radius:var(--r-md);padding:.4rem 1rem 1rem;background:var(--sup-1)}
.checkout-revisao-lista dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--txt-mut);margin-top:.8rem}
.checkout-revisao-lista dd{margin:.15rem 0 0;color:var(--txt)}
.checkout-editar{background:none;border:0;color:var(--ouro);text-decoration:underline;cursor:pointer;font:inherit;font-size:.82rem;padding:0}
/* proximos passos (pagina de confirmacao) */
.checkout-proximos{color:var(--txt);padding-left:1.3rem}
.checkout-proximos li{margin-bottom:.5rem}
@media(max-width:860px){
  .checkout-grade{grid-template-columns:1fr;gap:1.5rem}
  .checkout-resumo{position:static;order:2}
}
/* ---------- area do cliente (/conta) ---------- */
.lista-moradas{list-style:none;padding:0;margin:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.morada{background:var(--sup-1);border:1px solid var(--linha);border-radius:var(--r-md);padding:1rem 1.1rem}
.morada.principal{border-color:var(--ouro);box-shadow:inset 0 0 0 1px var(--linha-forte)}
.morada p{margin:0 0 .4rem}
.morada .meta{color:var(--txt-mut);font-size:.9rem;line-height:1.5}
.morada-acoes{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:.6rem}
.morada-acoes .inline{display:inline}
.link{background:none;border:0;padding:0;color:var(--ouro);font:inherit;cursor:pointer}
.link:hover{text-decoration:underline}
.link.perigo{color:var(--erro-txt)}
.status{display:inline-block;background:var(--sup-2);border:1px solid var(--linha);border-radius:var(--r-pill);padding:.15rem .65rem;font-size:.82rem;color:var(--txt)}

/* resumo do checkout: reaproveita os controlos do mini-carrinho; dentro de .spress-form os estilos
   gerais de botao/campo (dourado, largura 100%) nao se aplicam aqui */
.checkout-item-ctrl{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}
.spress-form .checkout-item-ctrl .mc-q{width:30px;height:30px;min-height:0;padding:0;border-radius:50%;border:1px solid var(--cinza);background:none;color:var(--txt);font-size:1rem;line-height:1}
.spress-form .checkout-item-ctrl .mc-q:hover{border-color:var(--ouro);color:var(--ouro);background:none}
.spress-form .checkout-item-ctrl .checkout-item-qtd{width:3.2rem;margin:0;padding:.3rem;text-align:center;border-radius:8px}
.spress-form .checkout-item-ctrl .mc-remover{background:none;border:0;padding:0 .2rem;min-height:0;color:var(--txt-mut);font-weight:400;font-size:.8rem;text-decoration:underline}
.spress-form .checkout-item-ctrl .mc-remover:hover{background:none;color:var(--erro-txt)}

/* ---------- aviso de cookies (RGPD): Recusar e Aceitar com o MESMO estilo, nada pre-marcado ---------- */
.consent{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:80;display:flex;justify-content:center;pointer-events:none}
.consent[hidden]{display:none}
.consent-caixa{pointer-events:auto;width:min(760px,100%);background:var(--sup-1);border:1px solid var(--linha-forte);border-top:3px solid var(--ouro);
  border-radius:var(--r-lg);box-shadow:0 24px 60px -20px rgba(0,0,0,.85);padding:1.3rem 1.4rem 1.2rem}
.consent h2{font-family:var(--f-display);font-weight:400;text-transform:uppercase;letter-spacing:.1em;font-size:.95rem;color:var(--ouro);margin-bottom:.6rem}
.consent p{font-size:.92rem;color:var(--txt);line-height:1.5}
.consent p a{white-space:nowrap}
.consent-opcoes{display:grid;gap:.6rem;margin-top:1rem}
.consent-opcoes[hidden]{display:none}
.consent-cat{display:flex;gap:.8rem;align-items:flex-start;padding:.8rem 1rem;border:1px solid var(--cinza);border-radius:var(--r-md);background:var(--sup-2);cursor:pointer}
.consent-cat input{width:20px;height:20px;margin-top:.1rem;flex:none;accent-color:var(--ouro)}
.consent-cat b{font-size:.92rem}
.consent-cat small{color:var(--ok-txt);font-size:.78rem;margin-left:.4rem}
.consent-cat em{display:block;font-style:normal;color:var(--txt-mut);font-size:.84rem;margin-top:.15rem}
.consent-botoes{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1.1rem}
.consent-btn{flex:1 1 160px;font:600 .95rem var(--f-corpo);padding:.75rem 1.2rem;border-radius:var(--r-pill);cursor:pointer;
  background:var(--ouro);color:var(--txt-inv);border:1px solid var(--ouro)}
.consent-btn:hover{background:var(--ouro-claro);border-color:var(--ouro-claro)}
.consent-btn[hidden]{display:none}
.consent-link{flex:0 0 auto;background:none;border:0;color:var(--txt);text-decoration:underline;font:500 .92rem var(--f-corpo);cursor:pointer;padding:.6rem .4rem}
.consent-link:hover{color:var(--ouro)}
.consent-link[hidden]{display:none}
@media(max-width:520px){.consent{left:.5rem;right:.5rem;bottom:.5rem}.consent-caixa{padding:1.1rem 1rem}.consent-btn{flex-basis:100%}.consent-link{width:100%}}

/* seletor de idioma (details/summary: funciona sem JS) */
.idiomas{position:relative}
.idiomas summary{list-style:none;display:flex;align-items:center;gap:.35rem;cursor:pointer;color:var(--txt);padding:.55rem .7rem;border-radius:var(--r-pill);font-size:.85rem;font-weight:600}
.idiomas summary::-webkit-details-marker{display:none}
.idiomas summary:hover,.idiomas[open] summary{background:var(--sup-2);color:var(--ouro)}
.idiomas ul{position:absolute;right:0;top:calc(100% + .4rem);z-index:40;list-style:none;margin:0;padding:.4rem;min-width:170px;
  background:var(--sup-1);border:1px solid var(--linha-forte);border-radius:var(--r-md);box-shadow:0 18px 40px -18px rgba(0,0,0,.8)}
.idiomas a{display:flex;gap:.6rem;align-items:center;padding:.55rem .7rem;border-radius:var(--r-sm);color:var(--txt);font-size:.9rem}
.idiomas a b{color:var(--ouro);font-size:.78rem;min-width:1.6rem}
.idiomas a:hover{background:var(--sup-2);text-decoration:none}
.idiomas a[aria-current]{background:rgba(212,175,55,.14)}
@media(max-width:900px){.idiomas summary{padding:.55rem .5rem}}

/* ---------- modo de teste (Painel > Configuracoes) ---------- */
.barra-teste{position:sticky;top:0;z-index:60;background:#B3261E;color:#fff;text-align:center;font-size:.86rem;padding:.55rem 1rem;
  letter-spacing:.01em;box-shadow:0 2px 0 rgba(0,0,0,.35)}
.barra-teste b{text-transform:uppercase;letter-spacing:.08em}
.barra-teste ~ .cab{top:36px}
@media(max-width:600px){.barra-teste ~ .cab{top:54px}}
.teste-simular{margin:1.4rem 0;padding:1.1rem 1.2rem;border:1px dashed #E26B62;border-radius:var(--r-md);background:rgba(179,38,30,.12)}
.teste-simular p{margin:0 0 .8rem;color:var(--txt)}
