/* Tatti Queiroz · Joalheria
   Mesma identidade da página de entrada: verde-esmeralda, ouro e creme.
   Títulos em Cormorant Garamond (no Playfair o J maiúsculo parece um 7). */
/* enquanto a página é pré-carregada escondida, nenhuma animação anda (ver o script no <head>) */
.pre *,.pre *::before,.pre *::after{animation-play-state:paused!important}
:root{
  --g:#0d2b26; --g2:#123a33; --g3:#0a221e;
  --au:#c9a55b; --au2:#e6cf94; --au3:#8a6a25;
  --cr:#f6efe1; --tx:#d8ceb6; --tx2:#b9b29d;
  --linha:rgba(201,165,91,.28);
  --ease:cubic-bezier(.2,.7,.2,1);
  --topo:72px;
  --logo:#a39067;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--topo) + 12px);-webkit-text-size-adjust:100%}
body{background:var(--g);color:var(--cr);font:400 16.5px/1.65 Mulish,system-ui,sans-serif;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
[hidden]{display:none!important}
.w{max-width:1180px;margin:0 auto;padding:0 24px}
:focus-visible{outline:2px solid var(--au2);outline-offset:3px}

.k{font:700 .72rem Mulish,sans-serif;letter-spacing:.32em;text-transform:uppercase;color:var(--au)}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;line-height:1.05}
h2{font-size:clamp(2.1rem,4.4vw,3.4rem);margin:10px 0 12px;color:var(--cr)}
.sub{max-width:560px;color:var(--tx)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 26px;border-radius:2px;
  background:linear-gradient(135deg,#d9b86d,var(--au) 45%,#b08d45);color:var(--g);text-decoration:none;
  font-weight:700;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;transition:box-shadow .3s,background .3s,color .3s,transform .15s}
.btn:active:not([disabled]){transform:scale(.97)}
.btn svg{width:18px;height:18px;flex:none;transition:transform .3s var(--ease)}
.btn:hover svg{transform:translateX(3px)}
#avancar{position:relative;overflow:hidden}
#avancar.brilha::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,250,235,.6) 50%,transparent 70%);animation:varre .8s ease forwards;pointer-events:none}
.btn:hover{box-shadow:0 0 0 5px rgba(201,165,91,.18)}
.btn-o{background:none;color:var(--au2);border:1px solid var(--au)}
.btn-o:hover{background:rgba(201,165,91,.1)}
.btn-cheio{width:100%}
.btn[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none}

.aviso-exemplo{background:var(--au2);color:var(--g);text-align:center;font-size:.8rem;font-weight:600;padding:7px 16px}

/* ---------- topo ---------- */
.topo{position:sticky;top:0;z-index:30;background:rgba(13,43,38,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--linha);transition:box-shadow .4s}
.topo.rolou{box-shadow:0 10px 30px rgba(0,0,0,.28)}
.topo-in{display:flex;align-items:center;gap:18px;height:var(--topo)}
.voltar{display:grid;place-items:center;width:34px;height:34px;margin-left:-8px;border-radius:50%;color:var(--au2);transition:background .3s}
.voltar:hover{background:rgba(201,165,91,.12)}
.voltar svg{width:20px;height:20px}
/* logo original vetorizada (img/logo.svg); a cor é a medida na arte da marca */
.marca{display:block;color:var(--logo)}
.marca svg{display:block;height:38px;width:auto;aspect-ratio:1151/173}
.menu{display:flex;gap:28px;margin-left:auto;font-size:.76rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.menu a{text-decoration:none;color:var(--cr);opacity:.85;transition:color .3s,opacity .3s}
.menu a:hover{color:var(--au2);opacity:1}
.sacola-btn{position:relative;display:inline-flex;align-items:center;gap:9px;height:42px;padding:0 16px;border:1px solid var(--au);border-radius:2px;color:var(--au2);font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;transition:background .3s}
.sacola-btn:hover{background:rgba(201,165,91,.12)}
.sacola-btn svg{width:19px;height:19px}
.qtd{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:99px;background:var(--au);color:var(--g);font-size:.7rem;letter-spacing:0}
.pulo{animation:pulo .5s var(--ease)}
@keyframes pulo{40%{transform:scale(1.35)}}

/* ---------- abertura ---------- */
.hero{padding:64px 0 76px;overflow:hidden}
.hero-in{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.olho{font:700 .74rem Mulish,sans-serif;letter-spacing:.32em;text-transform:uppercase;color:var(--au)}
.hero h1{font-size:clamp(3.1rem,7vw,6rem);font-weight:500;margin:18px 0 22px;letter-spacing:-.01em;color:var(--cr)}
.hero h1 em{font-weight:600;color:transparent;padding:0 .08em;margin:0 -.08em;
  background:linear-gradient(100deg,var(--au2) 42%,#fff7e0 50%,var(--au2) 58%) 100% 0/250% 100%;-webkit-background-clip:text;background-clip:text}
.lead{max-width:470px;color:var(--tx);font-size:1.05rem}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.hero-foto{position:relative;margin:0;padding:14px;border:1px solid var(--au)}
.hero-foto::after{content:"";position:absolute;inset:-14px 14px 14px -14px;z-index:-1;border:1px solid rgba(201,165,91,.4)}
.hero-foto img{width:100%;aspect-ratio:4/5;object-fit:cover}

/* ---------- faixa com as linhas ---------- */
.faixa{border-block:1px solid var(--linha)}
.faixa-in{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;padding:14px 24px}
.faixa a{padding:4px 2px;font-size:.78rem;font-weight:600;letter-spacing:.26em;text-transform:uppercase;text-decoration:none;color:var(--au2);transition:color .3s}
.faixa a:hover{color:var(--cr)}
.faixa a+a::before{content:"✦";display:inline-block;margin:0 16px;color:var(--au);letter-spacing:0}

/* ---------- catálogo ---------- */
section{padding:88px 0}
.filtros{display:grid;gap:14px;margin:34px 0 18px;padding:18px 20px;border:1px solid var(--linha);background:rgba(18,58,51,.55)}
.filtro{display:flex;align-items:flex-start;gap:16px;min-width:0}
.filtro .chips{min-width:0}
.filtro-rot{flex:none;width:44px;padding-top:9px;font-size:.66rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--tx2)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{min-height:36px;padding:0 15px;border:1px solid rgba(201,165,91,.42);border-radius:99px;font-size:.8rem;letter-spacing:.04em;color:var(--au2);transition:background .25s,color .25s,border-color .25s,transform .15s}
.chip:active:not([disabled]){transform:scale(.94)}
.chip:hover{border-color:var(--au2)}
.chip[aria-pressed="true"],.chip:has(input:checked){background:var(--au);border-color:var(--au);color:var(--g);font-weight:700}
.chip small{margin-left:5px;opacity:.65;font-size:.72rem}
.chip[disabled]{opacity:.35;cursor:not-allowed}
/* arte da linha escolhida, em cima das peças */
.selo-linha{display:flex;justify-content:center;margin:10px 0 30px}
.selo-linha[hidden]{display:none}
.selo-linha img{display:block;height:auto;max-width:100%}
.selo-linha[data-linha=ouro] img{width:clamp(210px,30vw,300px)}
.selo-linha[data-linha=pandora] img{width:min(500px,100%)}
.contagem{font-size:.82rem;color:var(--tx2);margin-bottom:18px}

.grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:24px}
.card{position:relative;display:flex;flex-direction:column;background:var(--g2);border:1px solid rgba(201,165,91,.22);text-align:left;transition:border-color .35s,transform .45s var(--ease),box-shadow .45s}
.card:hover{border-color:rgba(201,165,91,.6);transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,.28)}
.card-foto{position:relative;overflow:hidden;aspect-ratio:4/5;background:var(--g3)}
.card-foto img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.card:hover .card-foto img{transform:scale(1.05)}
.card.esgotado .card-foto img{filter:grayscale(.55) brightness(.8)}
.etiqueta{position:absolute;top:12px;left:12px;padding:5px 10px;font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;background:var(--cr);color:var(--g)}
.etiqueta.dest{background:var(--au);}
.card-txt{display:flex;flex-direction:column;gap:4px;flex:1;padding:18px 20px 20px}
.card-linha{font-size:.66rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--au)}
.card-nome{font:600 1.45rem/1.1 "Cormorant Garamond",Georgia,serif;color:var(--au2)}
.card .preco{font-size:.95rem;color:var(--cr)}
.card-acao{margin-top:auto;padding-top:12px;font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--cr)}
.card-acao::after{content:"→";display:inline-block;margin-left:6px;color:var(--au);transition:transform .4s var(--ease)}
.card:hover .card-acao::after{transform:translateX(5px)}
.vazio{padding:46px 20px;text-align:center;border:1px dashed var(--linha);color:var(--tx)}
.vazio .btn{margin-top:16px}

/* ---------- marcas ---------- */
.marcas{padding:44px 0;background:var(--g3);border-block:1px solid var(--linha)}
.marcas-in{text-align:center}
.marcas-lista{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 0;margin-top:12px}
/* logos oficiais das marcas, em ouro claro */
.marcas-lista span{display:block}
.marcas-lista img{display:block;width:auto;max-width:100%}
.marcas-lista .m-pan{height:38px}.marcas-lista .m-sg{height:18px}.marcas-lista .m-li{height:26px}
.marcas-lista i{width:1px;height:26px;margin:0 26px;background:rgba(201,165,91,.45)}

/* ---------- como comprar ---------- */
.como{background:var(--g2)}
.passos{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);margin-top:40px;border:1px solid var(--linha)}
.passos li{padding:28px 24px;border-right:1px solid var(--linha)}
.passos li:last-child{border-right:0}
.passos b{display:block;font:500 2.2rem "Cormorant Garamond",Georgia,serif;color:var(--au)}
.passos h3{font-size:1.4rem;margin:4px 0 6px;color:var(--cr)}
.passos p{font-size:.92rem;color:var(--tx)}
.selos{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.selos li{display:inline-flex;align-items:center;gap:8px;padding:8px 15px;border:1px solid rgba(201,165,91,.45);border-radius:99px;font-size:.8rem;color:var(--au2)}
.selos svg{width:15px;height:15px}

/* ---------- loja ---------- */
.loja{background:var(--cr);color:#1b2a26}
.loja .k{color:var(--au3)}
.loja h2{color:var(--g)}
.loja p{color:#3a4a45;max-width:460px}
.loja-in{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.end{display:flex;gap:10px;margin-top:22px;font-style:normal;font-size:.98rem;line-height:1.6;color:#1b2a26}
.end svg{flex:none;width:18px;height:18px;margin-top:3px;color:var(--au3)}
.btn-escuro{background:var(--g);color:var(--au2)}
.btn-linha{background:none;color:var(--g);border:1px solid var(--g)}
.btn-linha:hover{background:rgba(13,43,38,.06);box-shadow:none}
.mapa{position:relative;aspect-ratio:4/3;border:1px solid rgba(13,43,38,.2);background:#efe6d3}
.mapa iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ---------- rodapé ---------- */
.rodape{background:var(--g3);padding:44px 0 56px;text-align:center;font-size:.86rem;color:var(--tx2)}
.rodape-in{display:grid;gap:12px;justify-items:center}
.logo-rodape{display:block;width:210px;height:auto;aspect-ratio:1151/427;margin-bottom:10px;color:var(--logo)}
.rodape a{text-decoration:none;transition:color .3s}
.rodape a:hover{color:var(--au2)}
.rodape span{margin:0 8px;color:var(--au)}
.rodape .mini{font-size:.76rem;opacity:.7}

/* ---------- botão flutuante ---------- */
.sacola-flut{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));z-index:25;transform:translateX(-50%);display:none;align-items:center;gap:10px;height:50px;padding:0 22px;border-radius:99px;
  background:linear-gradient(135deg,#d9b86d,var(--au) 45%,#b08d45);color:var(--g);font-weight:700;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;box-shadow:0 10px 30px rgba(0,0,0,.4)}
.sacola-flut svg{width:19px;height:19px}
.sacola-flut b{display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:99px;background:var(--g);color:var(--au2);font-size:.72rem;letter-spacing:0}

/* ---------- janelas ---------- */
dialog{border:0;padding:0;color:var(--cr);background:var(--g)}
dialog::backdrop{background:rgba(4,14,12,.72);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
dialog[open]::backdrop{animation:esmaece .4s ease}
dialog.saindo::backdrop{animation:apaga .3s ease forwards}
@keyframes esmaece{from{opacity:0}}
@keyframes apaga{to{opacity:0}}
.fechar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:var(--au2);transition:background .3s}
.fechar:hover{background:rgba(201,165,91,.14)}
.fechar svg{width:22px;height:22px}

/* página da peça */
.peca{width:min(980px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;border:1px solid var(--linha);overflow:auto}
.peca[open]{animation:surge .4s var(--ease)}
@keyframes surge{from{opacity:0;transform:translateY(16px)}}
.peca.saindo{animation:pecaSai .28s ease forwards}
@keyframes pecaSai{to{opacity:0;transform:translateY(14px) scale(.985)}}
.peca>.fechar{position:absolute;top:10px;right:10px;z-index:2;background:rgba(13,43,38,.7)}
.peca-in{display:grid;grid-template-columns:1.1fr 1fr}
.galeria{background:var(--g3)}
.galeria-foto{aspect-ratio:4/5;overflow:hidden}
.galeria-foto img{width:100%;height:100%;object-fit:cover}
.miniaturas{display:flex;gap:8px;padding:10px}
.miniaturas button{width:62px;height:62px;border:1px solid transparent;opacity:.6;transition:opacity .25s,border-color .25s}
.miniaturas button[aria-current="true"]{opacity:1;border-color:var(--au)}
.miniaturas img{width:100%;height:100%;object-fit:cover}
.peca-info{display:flex;flex-direction:column;gap:14px;padding:44px 36px 36px}
.peca-info h2{margin:0;font-size:clamp(1.9rem,3.4vw,2.6rem);color:var(--au2)}
.esgotado-tag{align-self:flex-start;padding:5px 11px;font-size:.66rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;background:var(--cr);color:var(--g)}
.preco{font-size:1.1rem}
.desc{color:var(--tx)}
#pecaForm{display:grid;gap:16px;margin-top:6px}
fieldset{border:0}
legend,.qtd-linha>span{margin-bottom:9px;font-size:.66rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--tx2)}
.tamanhos .chip{min-width:48px}
.tamanhos input{position:absolute;opacity:0;pointer-events:none}
.tamanhos label.chip{display:inline-grid;place-items:center;cursor:pointer}
.qtd-linha{display:flex;align-items:center;justify-content:space-between;gap:12px}
.qtd-linha>span{margin:0}
.stepper{display:inline-flex;align-items:center;border:1px solid rgba(201,165,91,.45)}
.stepper button{width:40px;height:40px;font-size:1.15rem;color:var(--au2)}
.stepper button:hover{background:rgba(201,165,91,.12)}
.stepper button{transition:background .2s,transform .12s}
.stepper button:active{transform:scale(.88)}
.stepper output{display:inline-block}
.stepper output{min-width:34px;text-align:center;font-weight:700}
.erro{font-size:.84rem;color:#f2b8a6}
.btn-add{position:relative;overflow:hidden}
.add-ic{display:grid;place-items:center}
.add-ic svg{width:19px;height:19px}
.add-ic.recebe{animation:recebe .6s var(--ease)}
@keyframes recebe{30%{transform:scale(1.35) rotate(-8deg)}60%{transform:scale(.92) rotate(4deg)}}
.btn-add.feito .add-txt::before{content:"✓ "}
.btn-add.feito::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,250,235,.6) 50%,transparent 70%);animation:varre .9s ease forwards;pointer-events:none}
@keyframes varre{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.voo{position:fixed;z-index:5;pointer-events:none}
.voo>div{width:100%;height:100%;overflow:hidden;box-shadow:0 0 0 2px var(--au),0 10px 30px rgba(0,0,0,.45)}
.voo img{width:100%;height:100%;object-fit:cover}
.faisca{position:fixed;z-index:6;width:7px;height:7px;background:var(--au2);box-shadow:0 0 8px rgba(230,207,148,.9);pointer-events:none}
.adicionado{font-size:.88rem;color:var(--au2)}
.adicionado.aparece{animation:surge .5s var(--ease)}
.adicionado button{margin-left:6px;text-decoration:underline;text-underline-offset:3px;font-weight:700}

/* gaveta da sacola */
.gaveta{position:fixed;inset:0 0 0 auto;width:min(460px,100%);height:100dvh;max-height:none;max-width:none;margin:0 0 0 auto;display:flex;flex-direction:column;overflow:hidden;border-left:1px solid var(--linha)}
.gaveta:not([open]){display:none}
.gaveta[open]{animation:desliza .4s var(--ease)}
@keyframes desliza{from{transform:translateX(40px);opacity:0}}
.gaveta.saindo{animation:gavetaSai .32s cubic-bezier(.5,0,.75,0) forwards}
@keyframes gavetaSai{to{transform:translateX(100%)}}
.gaveta-topo{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 14px 24px;border-bottom:1px solid var(--linha)}
.gaveta-topo h2{margin:0;font-size:1.9rem}
.gaveta-corpo{flex:1;overflow:auto;padding:18px 24px}
.progresso{--p:.333;position:relative;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);padding:14px 24px 12px;border-bottom:1px solid var(--linha);font-size:.6rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--tx2)}
.progresso::before,.progresso::after{content:"";position:absolute;left:24px;bottom:-1px;height:2px}
.progresso::before{right:24px;background:rgba(201,165,91,.15)}
.progresso::after{width:calc((100% - 48px) * var(--p));background:linear-gradient(90deg,var(--au),var(--au2));transition:width .7s var(--ease)}
.progresso li{display:flex;align-items:center;gap:7px;transition:color .4s}
.progresso li::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;border:1px solid rgba(201,165,91,.5);transition:background .4s,border-color .4s,transform .4s var(--ease)}
.progresso li.atual{color:var(--au2)}
.progresso li.atual::before{background:var(--au2);border-color:var(--au2);transform:scale(1.25)}
.progresso li.feito{color:var(--au)}
.progresso li.feito::before{background:var(--au);border-color:var(--au)}
.itens{list-style:none;display:grid;gap:14px}
.item{display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:start;padding-bottom:14px;border-bottom:1px solid rgba(201,165,91,.16)}
.item img{width:72px;height:88px;object-fit:cover}
.item h3{font-size:1.2rem;color:var(--au2)}
.item p{font-size:.8rem;color:var(--tx2)}
.item .stepper{margin-top:8px}
.item .stepper button{width:32px;height:32px}
.item .stepper output{min-width:28px;font-size:.88rem}
.remover{font-size:.72rem;color:var(--tx2);text-decoration:underline;text-underline-offset:3px}
.remover:hover{color:var(--cr)}
.sacola-vazia{padding:40px 0;text-align:center;color:var(--tx)}
.vazia-ic{width:64px;height:64px;margin:0 auto 14px;color:var(--au)}
.sacola-vazia .btn{margin-top:14px}
.gaveta-pe{display:grid;gap:10px;padding:16px 24px calc(18px + env(safe-area-inset-bottom));border-top:1px solid var(--linha);background:var(--g2)}
.nota{font-size:.78rem;color:var(--tx2);text-align:center}
.limpar{font-size:.78rem;color:var(--tx2);text-decoration:underline;text-underline-offset:3px}

.enviado{display:grid;gap:12px;align-content:start;justify-items:center;padding-top:40px;text-align:center}
.enviado .ok{width:76px;height:76px;margin-bottom:8px;color:var(--au2)}
.enviado .ok circle,.enviado .ok path{stroke-dasharray:1}
.enviado h3{font-size:2rem;color:var(--au2)}
.enviado p{max-width:330px;margin-bottom:12px;color:var(--tx)}
.enviado .voltar-itens{justify-self:center;margin-top:6px}
.pedido{display:grid;gap:22px;align-content:start}
.voltar-itens{display:inline-flex;align-items:center;gap:6px;justify-self:start;font-size:.78rem;color:var(--au2)}
.voltar-itens svg{width:16px;height:16px}
.pedido fieldset{display:grid;gap:12px}
.pedido label{display:grid;gap:5px;font-size:.78rem;font-weight:600;color:var(--tx)}
.pedido input:not([type=radio]),.pedido textarea{width:100%;min-height:46px;padding:11px 13px;border:1px solid rgba(201,165,91,.35);border-radius:2px;background:var(--g3);color:var(--cr);font:400 1rem Mulish,sans-serif}
.pedido textarea{resize:vertical}
.pedido input:focus,.pedido textarea:focus{outline:0;border-color:var(--au2)}
.pedido input[aria-invalid="true"]{border-color:#e39a86}
.pedido input::placeholder,.pedido textarea::placeholder{color:#7f8f88}
.opcoes{display:grid;gap:8px}
.opcao{position:relative;display:flex!important;align-items:center;gap:12px;padding:12px 14px;border:1px solid rgba(201,165,91,.3);cursor:pointer;transition:border-color .25s,background .25s}
.opcao:has(input:checked){border-color:var(--au);background:rgba(201,165,91,.1)}
.opcao input{accent-color:var(--au);width:18px;height:18px}
.opcao span{display:grid;font-size:.92rem;font-weight:600;color:var(--cr)}
.opcao small{font-weight:400;font-size:.76rem;color:var(--tx2)}
.endereco{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:4px}
.endereco .largo{grid-column:1/-1}
.endereco .cep small{font-weight:400;color:var(--tx2);min-height:1em}
.sem-rot{gap:0}

/* ---------- cortina da passagem entre a página de entrada e a joalheria ---------- */
.cortina{position:fixed;inset:0;z-index:100;display:none;place-items:center;pointer-events:none;
  background:radial-gradient(ellipse at 50% 45%,#164a40,#0d2b26 62%,#08201b)}
.cortina-in{display:grid;justify-items:center;gap:14px;padding:0 24px;text-align:center}
.cortina-logo{display:block;width:clamp(230px,34vw,420px);height:auto;color:#a39067;overflow:visible}
.cortina-logo g{transform-box:fill-box;transform-origin:center}
.cortina.sem-sub .c-sub{display:none}
.cortina i{width:120px;height:1px;margin-top:6px;background:linear-gradient(90deg,transparent,#a39067,transparent)}
/* saindo: abre em círculo a partir do clique e a logo aparece (o símbolo gira de leve, o nome sobe) */
.partindo .cortina{display:grid;animation:abreCirculo .75s cubic-bezier(.65,.05,.25,1) both}
.partindo .c-simb{animation:simbGira 1.1s cubic-bezier(.2,.7,.2,1) .2s backwards}
.partindo .c-nome{animation:sobe .8s cubic-bezier(.2,.7,.2,1) .4s backwards}
.partindo .c-sub{animation:sobe .8s cubic-bezier(.2,.7,.2,1) .52s backwards}
.partindo .cortina i{animation:linha .9s cubic-bezier(.2,.7,.2,1) .6s backwards}
@keyframes simbGira{from{opacity:0;transform:rotate(-45deg) scale(.7)}}
@keyframes abreCirculo{from{clip-path:circle(0 at var(--cx,50%) var(--cy,50%))}to{clip-path:circle(150% at var(--cx,50%) var(--cy,50%))}}
@keyframes desenha{from{stroke-dashoffset:1}}
@keyframes linha{from{transform:scaleX(0)}}
/* chegando: a cortina já está fechada (igual à da página anterior) e sobe revelando o site */
.chegando .cortina{display:grid;animation:levanta .9s cubic-bezier(.65,.05,.25,1) .45s both}
.chegando .cortina-in{animation:somePraCima .5s ease .2s both}
@keyframes levanta{from{clip-path:inset(0)}to{clip-path:inset(0 0 100% 0)}}
@keyframes somePraCima{to{opacity:0;transform:translateY(-16px)}}

/* ---------- movimento ---------- */
:root{--atraso:.1s}
.chegou{--atraso:.8s}
@media (prefers-reduced-motion:no-preference){
  /* abertura: texto em sequência, foto revelada de baixo para cima, moldura deslizando */
  .hero-txt>*{animation:sobe 1s var(--ease) backwards;animation-delay:calc(var(--atraso) + var(--d,0s))}
  .hero h1{--d:.12s}.hero .lead{--d:.26s}.hero .cta{--d:.38s}
  .hero h1 em{animation:brilho 1.8s ease calc(var(--atraso) + 1.1s) both}
  .hero-foto{animation:moldura 1.2s ease calc(var(--atraso) + .1s) backwards}
  .hero-foto img{animation:revela 1.4s var(--ease) calc(var(--atraso) + .15s) backwards}
  .hero-foto::after{animation:desloca 1.3s var(--ease) calc(var(--atraso) + .55s) backwards}
  .faixa-in{animation:esmaece 1.2s ease calc(var(--atraso) + .6s) backwards}

  /* peças entram uma depois da outra */
  .grade:not(.vista) .card{opacity:0}
  .card.entra{animation:sobe .7s var(--ease) backwards;animation-delay:calc(min(var(--i),8) * 70ms)}

  /* sacola */
  .sacola-btn.anel::after{content:"";position:absolute;inset:-1px;border:1px solid var(--au2);border-radius:2px;animation:anel .8s ease-out forwards;pointer-events:none}
  .sacola-flut{animation:flutEntra .6s var(--ease) backwards}
  .sacola-flut.pula{animation:flutPula .55s var(--ease)}
  .itens.cascata .item{animation:sobe .55s var(--ease) backwards;animation-delay:calc(.15s + min(var(--i),6) * 70ms)}
  .stepper output.muda[data-dir="sobe"]{animation:numSobe .3s var(--ease)}
  .stepper output.muda[data-dir="desce"]{animation:numDesce .3s var(--ease)}
  .gaveta-corpo.da-direita{animation:daDireita .45s var(--ease)}
  .gaveta-corpo.da-esquerda{animation:daEsquerda .45s var(--ease)}
  .enviado:not([hidden]) .ok circle{animation:desenha .8s ease .15s backwards}
  .enviado:not([hidden]) .ok path{animation:desenha .45s ease .75s backwards}
  .enviado:not([hidden])>:not(.ok){animation:sobe .6s var(--ease) .5s backwards}

  /* escolhas e respostas ao toque */
  .tamanhos label.chip:has(input:checked),.chip[aria-pressed="true"]{animation:escolhe .35s var(--ease)}
  .opcao:has(input:checked){animation:escolhe .35s var(--ease)}
  .opcao:has(input:checked) input{animation:marca .35s var(--ease)}
  .treme{animation:treme .45s ease}
  .pedido input.preenchido{animation:preenchido 1.2s ease}
  .endereco.abre>*{animation:sobe .45s var(--ease) backwards;animation-delay:calc(var(--n,0) * 45ms)}
  .endereco>:nth-child(2){--n:1}.endereco>:nth-child(3){--n:2}.endereco>:nth-child(4){--n:3}.endereco>:nth-child(5){--n:4}.endereco>:nth-child(6){--n:5}.endereco>:nth-child(7){--n:6}
  .pedido.cascata>*{animation:sobe .55s var(--ease) backwards;animation-delay:calc(.1s + min(var(--i,0),6) * 70ms)}
  .vazia-ic{animation:flutua 3.2s ease-in-out infinite}
  .sacola-vazia:not([hidden])>*{animation:sobe .6s var(--ease) backwards}
  .sacola-vazia:not([hidden])>p{animation-delay:.08s}.sacola-vazia:not([hidden])>.btn{animation-delay:.16s}

  .selo-linha.aparece img{animation:revela 1s var(--ease)}

  /* seções conforme a página rola */
  .rv{opacity:0;transform:translateY(20px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:calc(var(--i,0) * 90ms)}
  .rv.in{opacity:1;transform:none}
}
@keyframes sobe{from{opacity:0;transform:translateY(22px)}}
@keyframes brilho{from{background-position:100% 0}to{background-position:0 0}}
@keyframes moldura{from{border-color:transparent}}
@keyframes revela{from{clip-path:inset(100% 0 0 0);filter:brightness(1.6)}}
@keyframes desloca{from{opacity:0;transform:translate(14px,14px)}}
@keyframes anel{to{transform:scale(1.25,1.5);opacity:0}}
@keyframes flutEntra{from{opacity:0;transform:translate(-50%,30px) scale(.9)}}
@keyframes flutPula{40%{transform:translate(-50%,-8px) scale(1.05)}}
@keyframes numSobe{from{transform:translateY(8px);opacity:0}}
@keyframes numDesce{from{transform:translateY(-8px);opacity:0}}
@keyframes daDireita{from{opacity:0;transform:translateX(36px)}}
@keyframes daEsquerda{from{opacity:0;transform:translateX(-36px)}}
@keyframes escolhe{40%{transform:scale(1.08)}}
@keyframes marca{from{transform:scale(.4)}}
@keyframes treme{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
@keyframes preenchido{from{border-color:var(--au2);box-shadow:0 0 0 4px rgba(230,207,148,.25);background:rgba(201,165,91,.14)}}
@keyframes flutua{50%{transform:translateY(-7px) rotate(-3deg)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* ---------- tablet ---------- */
@media (max-width:900px){
  .menu{display:none}
  .sacola-btn{margin-left:auto}
  .hero-in,.loja-in{grid-template-columns:1fr}
  .hero-foto{max-width:460px}
  .hero-foto::after{display:none}
  .passos{grid-template-columns:1fr 1fr}
  .passos li:nth-child(2){border-right:0}
  .passos li:nth-child(-n+2){border-bottom:1px solid var(--linha)}
  .peca-in{grid-template-columns:1fr}
  .galeria-foto{aspect-ratio:1}
  .peca-info{padding:26px 22px 24px}
}

/* ---------- celular ---------- */
@media (max-width:600px){
  :root{--topo:64px}
  body{font-size:16px}
  .w{padding:0 18px}
  .topo-in{gap:10px}
  .marca svg{height:27px}
  .sacola-txt{display:none}
  .sacola-btn{padding:0 12px}
  .hero{padding:40px 0 56px}
  .hero-in{gap:36px}
  .cta{flex-direction:column}
  section{padding:64px 0}
  .faixa-in{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding:12px 18px}
  .faixa-in::-webkit-scrollbar{display:none}
  .faixa a{flex:none}
  .filtros{padding:14px}
  .filtro{flex-direction:column;gap:8px}
  .filtro-rot{padding:0;width:auto}
  .filtro .chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -14px;padding:0 14px 2px;width:calc(100% + 28px)}
  .filtro .chips::-webkit-scrollbar{display:none}
  .chip{flex:none}
  .grade{grid-template-columns:1fr 1fr;gap:12px}
  .card-txt{padding:12px 12px 14px}
  .card-nome{font-size:1.15rem}
  .card-linha{font-size:.58rem;letter-spacing:.16em}
  .card-acao{font-size:.64rem;letter-spacing:.12em}
  .etiqueta{top:8px;left:8px;padding:4px 7px;font-size:.54rem}
  .marcas-lista{flex-direction:column}
  .marcas-lista i{width:26px;height:1px;margin:14px 0}
  .marcas-lista .m-pan{height:32px}.marcas-lista .m-sg{height:15px}.marcas-lista .m-li{height:22px}
  .passos{grid-template-columns:1fr}
  .passos li{border-right:0;border-bottom:1px solid var(--linha)}
  .passos li:last-child{border-bottom:0}
  .sacola-flut{display:inline-flex}
  body.tem-flut .rodape{padding-bottom:110px}
  .peca{width:100%;max-height:100dvh;height:100dvh;max-width:none;border:0}
  .gaveta-corpo{padding:16px 18px}
  .gaveta-pe{padding-left:18px;padding-right:18px}
  .endereco{grid-template-columns:1fr 1fr}
}
