/* Estilos da loja (loja.html, produto.html, carrinho.html). Direção "ateliê": mesmas cores e fontes do site, linguagem mais contida. */
:root{
  --champagne:#c9a876; --champagne-light:#e8dcc8; --champagne-dark:#8a6a35; --gold-text:#7a5c2b;
  --ink:#1c1a17; --paper:#faf8f5; --sand:#f1ebe1; --silver:#e1d9cb; --line:#e1d9cb; --muted:#5f5b55; --field:#cfc7b8;
  --ok:#1f5a2c; --ok-bg:#e3efe3; --wait:#6b5200; --wait-bg:#f7edd0; --bad:#8a3a12; --bad-bg:#f6e3d9;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-variant-numeric:lining-nums;font-family:'Poppins',sans-serif;font-weight:300;background:var(--paper);color:var(--ink);line-height:1.7;min-height:100vh;display:flex;flex-direction:column}
a{color:inherit;text-decoration:none}
a:hover{color:var(--champagne-dark)}
h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:300;line-height:1.05}
h1{font-size:clamp(40px,6vw,68px)}
h2{font-size:34px;margin-bottom:14px}
h1 em,h2 em{font-style:italic;color:var(--champagne-dark)}
.hidden{display:none !important}
.rotulo,.eyebrow{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-text)}

/* faixa, topo e rodapé */
.faixa{background:var(--ink);color:var(--champagne-light);text-align:center;font-size:11px;letter-spacing:.22em;text-transform:uppercase;padding:12px 24px}
.topo{background:var(--paper);border-bottom:1px solid var(--line)}
.topo-in{max-width:1440px;margin:0 auto;padding:0 clamp(20px,4.5vw,64px);min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:16px 32px;flex-wrap:wrap}
.topo nav{flex:1 1 300px;display:flex;flex-wrap:wrap;gap:4px 28px;font-size:11px;letter-spacing:.22em;text-transform:uppercase}
.topo nav a{display:inline-flex;align-items:center;min-height:44px}
.logo{flex:0 0 auto;font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:500;letter-spacing:.36em;text-transform:uppercase;padding-left:.36em}
.logo span{color:var(--champagne-dark)}
.topo .direita{flex:1 1 300px;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 24px;font-size:11px;letter-spacing:.22em;text-transform:uppercase}
.carrinho{display:inline-flex;align-items:center;gap:10px;min-height:44px}
.contador:empty{display:none}
.contador::before{content:'('}
.contador::after{content:')'}
.busca{display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--field);min-height:44px}
.busca input{border:0;outline:0;background:transparent;min-height:40px;width:130px;padding:0;font-size:12px;letter-spacing:.04em;text-transform:none}
.busca:focus-within{border-bottom-color:var(--ink)}
.busca button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:0;background:transparent;color:var(--ink);cursor:pointer}
.rodape{background:var(--paper);border-top:1px solid var(--line);margin-top:auto;font-size:13px;line-height:1.9}
.rodape a{color:inherit}
.rodape a:hover{color:var(--champagne-dark)}
.rodape-in{max-width:1440px;margin:0 auto;padding:88px clamp(20px,4.5vw,64px) 48px;display:flex;flex-wrap:wrap;gap:56px 80px;justify-content:space-between}
.rodape-in>div{flex:0 1 220px}
.rodape-in>div:first-child{flex:1 1 260px;max-width:340px}
.rodape .marca{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;line-height:1.3;color:var(--ink);margin-bottom:16px}
.rodape .marca span{color:var(--champagne-dark)}
.rodape .titulo{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-text);margin-bottom:18px}
.rodape .col{display:flex;flex-direction:column;gap:8px}
.rodape .fim{max-width:1440px;margin:0 auto;padding:28px clamp(20px,4.5vw,64px) 44px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}

main{width:100%;max-width:1440px;margin:0 auto;padding:72px clamp(20px,4.5vw,64px) 120px;display:flex;flex-direction:column;gap:48px;flex:1}

/* botões e campos */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 44px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font:400 11px 'Poppins',sans-serif;letter-spacing:.24em;text-transform:uppercase;cursor:pointer;border-radius:0}
.btn:hover{background:var(--champagne-dark);border-color:var(--champagne-dark);color:#fff}
.btn.light{background:transparent;color:var(--ink)}
.btn.light:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.btn:focus-visible,.chip:focus-visible,.opcao:focus-within,input:focus-visible,select:focus-visible,.aro:focus-visible,a:focus-visible{outline:2px solid var(--champagne-dark);outline-offset:3px}
.link{background:none;border:0;color:var(--gold-text);border-bottom:1px solid var(--champagne);font:inherit;font-size:11px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;min-height:44px;padding:0 2px}
a.link{display:inline-flex;align-items:center}
.dados>a.link{align-self:flex-start}
label{display:flex;flex-direction:column;gap:10px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
input,select{min-height:54px;padding:0 16px;border:1px solid var(--field);border-radius:0;font:inherit;font-size:15px;letter-spacing:0;text-transform:none;color:var(--ink);background:#fff;width:100%}
.campos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.campos .largo{grid-column:1/-1}
@media(max-width:560px){.campos{grid-template-columns:1fr}}

/* vitrine */
.hero{background:var(--paper)}
.hero-in{max-width:1440px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:stretch}
.hero-txt{flex:1 1 440px;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:32px;padding:96px clamp(20px,4.5vw,64px)}
.hero h1{font-size:clamp(46px,6.4vw,92px);line-height:1;letter-spacing:-.01em}
.hero .sub{max-width:420px;font-size:15px;line-height:1.8;color:var(--muted)}
.hero-acoes{display:flex;flex-wrap:wrap;align-items:center;gap:20px 36px}
.hero-foto{flex:1.25 1 520px;min-width:0;position:relative;min-height:640px;background:var(--champagne-light)}
.hero-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 58%;display:block}
.valores{display:flex;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.valores>div{flex:1 1 280px;padding:44px 32px;text-align:center;border-right:1px solid var(--line)}
.valores>div:last-child{border-right:0}
.valores strong{display:block;font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:400}
.valores span{display:block;margin-top:8px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.titulo-linha{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px 48px;margin-bottom:24px}
.titulo-linha h2{font-size:clamp(38px,4.4vw,64px);margin:12px 0 0}
.titulo-linha .sub{max-width:340px;font-size:14px;line-height:1.8;color:var(--muted)}
.chips{display:flex;gap:4px 28px;flex-wrap:wrap}
.chip{min-height:44px;padding:0 2px;border:0;border-bottom:1px solid transparent;background:none;font:inherit;font-size:11px;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;color:var(--muted)}
.chip[aria-pressed="true"]{color:var(--ink);border-bottom-color:var(--champagne)}
.grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));column-gap:32px;row-gap:64px;align-items:start}
.cartao{display:flex;flex-direction:column;gap:0;text-decoration:none;color:inherit}
.cartao:hover .nome{color:var(--champagne-dark)}
.foto{aspect-ratio:4/5;background:var(--champagne-light);overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center;color:var(--gold-text);font-size:12px}
.foto img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.cartao:hover .foto img{transform:scale(1.02)}
.cartao.esgotada .foto img{filter:grayscale(.6) brightness(1.04)}
.selo{position:absolute;left:0;bottom:0;background:var(--paper);color:var(--ink);font-size:11px;letter-spacing:.24em;text-transform:uppercase;padding:12px 24px}
.info{padding-top:22px;display:grid;grid-template-columns:1fr auto;gap:2px 16px;align-items:baseline}
.info .num{grid-column:1;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-text)}
.info .nome{grid-column:1;grid-row:2;font-family:'Cormorant Garamond',serif;font-size:32px;font-weight:400;line-height:1.1}
.info .preco{grid-column:2;grid-row:2;white-space:nowrap}
.info .parcela{grid-column:1/-1;margin-top:2px}
.preco{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:400;color:var(--ink)}
.preco s{color:var(--muted);font-size:16px;margin-right:8px}
.parcela{font-size:12px;color:var(--muted)}
.aviso{border:1px solid var(--line);padding:32px;color:var(--muted);background:#fff}
.aviso.erro{background:var(--bad-bg);border-color:#e9c2ad;color:var(--bad)}
.atelie{background:var(--sand)}
.atelie-in{max-width:1440px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center}
.atelie-foto{flex:1 1 460px;min-width:0;aspect-ratio:1/1;max-height:720px;overflow:hidden}
.atelie-foto img{width:100%;height:100%;object-fit:cover;display:block}
.atelie-txt{flex:1 1 460px;min-width:0;padding:96px clamp(20px,6vw,96px);display:flex;flex-direction:column;gap:28px}
.atelie-txt h2{font-size:clamp(38px,4vw,54px);margin:0}
.atelie-txt p{max-width:440px;font-size:15px;line-height:1.9;color:var(--muted)}
.atendimento{position:relative;min-height:520px;display:flex;align-items:center;background:var(--ink);overflow:hidden;color:var(--paper)}
.atendimento img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.38;display:block}
.atendimento-in{position:relative;max-width:1440px;width:100%;margin:0 auto;padding:96px clamp(20px,4.5vw,64px);display:flex;flex-direction:column;gap:28px;align-items:flex-start}
.atendimento .rotulo{color:var(--champagne-light)}
.atendimento h2{max-width:640px;font-size:clamp(38px,4.4vw,56px);margin:0}
.atendimento p{max-width:460px;font-size:15px;line-height:1.9;color:var(--champagne-light)}
.atendimento .btn{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.atendimento .btn:hover{background:var(--champagne-light);color:var(--ink)}

/* produto */
.migalhas{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.migalhas a{border-bottom:1px solid var(--line)}
.migalhas:empty{display:none}
.produto{display:flex;flex-wrap:wrap;gap:64px;align-items:flex-start}
.galeria{flex:1.3 1 480px;min-width:0;display:flex;flex-direction:column;gap:16px}
.galeria .foto{aspect-ratio:4/5;width:100%}
.miniaturas{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:12px}
.mini-foto{aspect-ratio:1/1;padding:0;border:1px solid transparent;overflow:hidden;background:var(--champagne-light);cursor:pointer;opacity:.7}
.mini-foto[aria-pressed="true"]{border-color:var(--ink);opacity:1}
.mini-foto:hover{opacity:1}
.mini-foto img{width:100%;height:100%;object-fit:cover;display:block}
.produto .dados{flex:1 1 400px;min-width:0;display:flex;flex-direction:column;gap:30px;padding-top:12px}
.produto h1{margin:6px 0 0}
.bloco-preco{padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.produto .preco{font-size:40px;display:block}
.descricao{color:var(--muted);font-size:15px;line-height:1.9;white-space:pre-line}
.rotulo-linha{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}
.aros{display:flex;gap:10px;flex-wrap:wrap}
.aro{min-width:56px;min-height:56px;padding:0 14px;border:1px solid var(--field);background:transparent;font:inherit;font-size:14px;cursor:pointer;color:var(--ink);border-radius:0}
.aro[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.aro[disabled]{color:#9a948a;border-color:var(--line);text-decoration:line-through;cursor:not-allowed}
.estoque{font-size:12px;color:var(--gold-text)}
.compra{display:flex;flex-direction:column;gap:14px}
.compra .btn{width:100%;min-height:60px}
.compra .qtd-linha{display:flex;gap:16px;align-items:flex-end}
.compra .qtd-linha label{flex:0 0 120px}
.sanfona{border-top:1px solid var(--line)}
.sanfona details{border-bottom:1px solid var(--line);padding:22px 0}
.sanfona summary{cursor:pointer;font-size:11px;letter-spacing:.24em;text-transform:uppercase;list-style:none;display:flex;justify-content:space-between;min-height:24px}
.sanfona summary::-webkit-details-marker{display:none}
.sanfona summary::after{content:'+'}
.sanfona details[open] summary::after{content:'−'}
.sanfona p{margin-top:16px;font-size:14px;line-height:1.9;color:var(--muted)}

/* sacola / checkout */
.checkout{display:flex;flex-wrap:wrap;gap:72px;align-items:flex-start}
.checkout .passos{flex:1.5 1 560px;min-width:0;display:flex;flex-direction:column;gap:72px}
.checkout aside{flex:1 1 360px;max-width:460px;min-width:300px;position:sticky;top:16px;background:var(--sand);padding:40px 36px;display:flex;flex-direction:column;gap:6px}
.caixa{background:transparent;border:0;padding:0}
.checkout aside.caixa{background:var(--sand)}
.passo{display:block;margin-bottom:14px;font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-text);font-family:'Poppins',sans-serif;font-weight:300}
.caixa h2{font-size:clamp(34px,3.6vw,44px);margin-bottom:28px}
.checkout aside h2{font-size:34px;margin-bottom:12px}
.seguro{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:-30px}
.item{display:flex;gap:24px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}
.passos .caixa>#itens{border-top:1px solid var(--line)}
.item .mini{width:96px;flex:none}
.item .mini .foto{aspect-ratio:4/5;font-size:10px}
.item .meio{flex:1;min-width:0;font-family:'Cormorant Garamond',serif;font-size:28px;line-height:1.15}
.item .meio small{display:block;color:var(--muted);font-size:13px;font-family:'Poppins',sans-serif}
.item .qtd{width:84px}
.item .valor{min-width:92px;text-align:right;font-family:'Cormorant Garamond',serif;font-size:24px}
@media(max-width:560px){.item{flex-wrap:wrap;gap:12px 16px}.item .valor{text-align:left}.item .mini{width:72px}.item .meio{font-size:22px;flex:1 1 100px;overflow-wrap:anywhere}.item .qtd{width:76px}}
.cepbox{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end}
.cepbox label{flex:1 1 200px}
.opcoes{display:flex;flex-direction:column;gap:12px;margin-top:24px;border:0}
.opcao{display:flex;align-items:center;gap:16px;min-height:72px;padding:14px 22px;border:1px solid var(--field);cursor:pointer;font-size:14px;flex-direction:row;color:var(--ink);letter-spacing:0;text-transform:none}
.opcao input{width:18px;min-height:18px;flex:none;accent-color:#1c1a17}
.opcao.on{border-color:var(--ink);background:#fff}
.opcao .txt{flex:1}
.opcao small{display:block;color:var(--muted);font-size:12px}
.aviso-prazo{margin:6px 0 0;padding:14px 18px;background:var(--sand);border-left:3px solid var(--champagne-dark);font-size:14px;line-height:1.6;color:var(--ink)}
.aviso-prazo b{font-weight:600;color:var(--gold-text)}
.opcao strong{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:400}
.linha{display:flex;justify-content:space-between;gap:16px;padding:10px 0;font-size:14px}
.linha.total{font-family:'Cormorant Garamond',serif;font-size:34px;border-top:1px solid #d9cfbe;margin-top:12px;padding-top:18px;align-items:baseline}
.res-itens{border-top:1px solid #d9cfbe;margin-top:8px;padding-top:12px;margin-bottom:8px}
.res-item{display:flex;gap:16px;align-items:center;font-family:'Cormorant Garamond',serif;font-size:20px;padding:8px 0}
.res-item .mini{width:56px;flex:none}
.res-item .mini .foto{aspect-ratio:4/5;font-size:9px}
.res-item .meio{flex:1;min-width:0}
.res-item small{display:block;color:var(--muted);font-size:12px;font-family:'Poppins',sans-serif}
.pagos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(max-width:560px){.pagos{grid-template-columns:1fr}}
.pago{border:1px solid var(--field);padding:16px 20px;font-size:14px}
.pago strong{font-weight:400}
.pago small{display:block;color:var(--muted);font-size:12px}
.msg{font-size:14px;margin-top:12px;color:var(--bad)}
.msg.ok{color:var(--ok)}
.nota{font-size:12px;line-height:1.7;color:var(--muted);margin-top:12px}

/* avise-me quando voltar (peça esgotada) */
.avise{display:flex;flex-direction:column;gap:14px;border-top:1px solid var(--line);padding-top:28px}
.avise .btn{align-self:flex-start;min-height:52px}

.valores>div[data-ico]::before{display:block;width:30px;height:30px;margin:0 auto 16px;color:var(--champagne-dark)}
.opcao .tipo::before{width:28px;height:28px;margin:0;vertical-align:middle;color:var(--champagne-dark)}
.aviso-prazo[data-ico]::before{width:18px;height:18px;margin-right:10px;vertical-align:-4px;color:var(--champagne-dark)}
.faixa[data-ico]::before{width:14px;height:14px;margin-right:12px;vertical-align:-2px}
.passo[data-ico]::before{width:16px;height:16px;margin-right:10px;vertical-align:-3px;color:var(--champagne-dark)}
.pago[data-ico]::before{display:block;width:28px;height:28px;margin:0 0 10px;color:var(--champagne-dark)}
.linha [data-ico]::before,.linha [data-ico]{color:inherit}
.linha>[data-ico]::before{width:15px;height:15px;margin-right:8px;color:var(--champagne-dark)}
.linha.total>[data-ico]::before{width:20px;height:20px}
.sanfona summary[data-ico]::before{width:15px;height:15px;margin-right:12px;color:var(--champagne-dark)}
.sanfona summary{justify-content:flex-start}.sanfona summary::after{margin-left:auto}
.rodape [data-ico]::before{width:14px;height:14px;margin-right:10px;opacity:.85}
.selos{list-style:none;display:flex;flex-wrap:wrap;gap:12px 26px;margin-top:26px;padding:20px 0 0;border-top:1px solid var(--line);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.selos li::before{margin-right:8px;width:18px;height:18px;vertical-align:-5px;color:var(--champagne-dark)}
/* Popup (política de privacidade) */
dialog.modal{margin:auto;width:min(720px,calc(100% - 32px));max-height:86vh;padding:0;border:1px solid var(--line);background:var(--paper);color:var(--ink);overflow:hidden}
dialog.modal[open]{display:flex;flex-direction:column}
dialog.modal::backdrop{background:rgba(28,26,23,.55)}
.modal-fechar{align-self:flex-end;display:inline-flex;align-items:center;margin:14px 18px 0;min-height:44px;padding:0 6px;background:none;border:0;cursor:pointer;font:400 11px 'Poppins',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--ink)}
.modal-fechar:hover{color:var(--champagne-dark)}
.modal-fechar:focus-visible{outline:2px solid var(--champagne-dark);outline-offset:3px}
.modal-corpo{overflow:auto;padding:0 44px 40px}
.modal-corpo h1{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:38px;line-height:1.15;margin:0 0 18px}
.modal-corpo h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:24px;margin:28px 0 8px}
.modal-corpo p,.modal-corpo li{font-size:14px;line-height:1.85;color:var(--muted)}
.modal-corpo ul{padding-left:20px;margin:8px 0}
.modal-corpo a{text-decoration:underline}
body:has(dialog.modal[open]){overflow:hidden}

/* Texto clicável: sublinhado fino em champagne sempre visível; ao passar o mouse escurece, engrossa e se aproxima do texto */
.rodape a,.migalhas a,.nota a,.aviso a:not(.btn),.modal-corpo a{text-decoration:underline;text-decoration-color:var(--champagne);text-decoration-thickness:1px;text-underline-offset:6px;transition:color .2s ease,text-decoration-color .2s ease,text-decoration-thickness .2s ease,text-underline-offset .2s ease}
.rodape a:hover,.migalhas a:hover,.nota a:hover,.aviso a:not(.btn):hover,.modal-corpo a:hover{color:var(--champagne-dark);text-decoration-color:var(--champagne-dark);text-decoration-thickness:2px;text-underline-offset:3px}
.migalhas a{border-bottom:0}
.link{transition:color .2s ease,border-color .2s ease,box-shadow .2s ease}
.link:hover{color:var(--ink);border-bottom-color:var(--champagne-dark);box-shadow:0 1px 0 var(--champagne-dark)}
.chip{transition:color .2s ease,border-color .2s ease}
.chip:hover{color:var(--ink);border-bottom-color:var(--champagne)}
.cartao .nome{text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:1px;text-underline-offset:6px;transition:color .2s ease,text-decoration-color .2s ease}
.cartao:hover .nome{text-decoration-color:var(--champagne-dark)}
.cartao:hover .foto img{transform:scale(1.04)}

/* Preço por tamanho */
.preco .a-partir{font-size:.5em;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-family:'Poppins',sans-serif;font-weight:300;margin-right:4px}
.aro .aro-preco{display:block;font-size:10px;letter-spacing:0;margin-top:2px;opacity:.75}
.info .preco .a-partir{display:block;text-align:right;margin:0 0 -4px;line-height:1.2}
