/* Loja Planned — Coleção Planned. Mesmo padrão do site: fundo alabastro #FAF9F6, preto #1a1a1a, dourado #c5a043, Playfair Display + Outfit. */
:root { --ouro:#c5a043; --ouro-h:#b3913c; --ouro-t:#8a6c1e; --fundo:#FAF9F6; --branco:#fff; --preto:#1a1a1a; --cinza:#4d4d4d; --suave:#7a766d; --linha:rgba(197,160,67,.28); --linha2:#e8e3d6; --r:14px; }
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body { font-family:'Outfit', system-ui, sans-serif; background:var(--fundo); color:var(--preto); line-height:1.6; overflow-x:hidden; }
h1, h2, h3 { font-family:'Playfair Display', Georgia, serif; font-weight:600; line-height:1.15; color:var(--preto); }
a { color:var(--ouro-t); }
img { max-width:100%; display:block; }
.wrap { width:min(1200px, 100% - 32px); margin-inline:auto; }
.eyebrow { font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--ouro-t); font-weight:600; }
em { font-style:italic; color:var(--ouro); }

.top { background:var(--branco); border-bottom:1px solid var(--linha2); position:sticky; top:0; z-index:20; }
.top-in { display:flex; align-items:center; justify-content:space-between; padding:12px 0; }
.top nav { display:flex; gap:24px; align-items:center; font-size:14px; }
.top nav a { color:var(--cinza); text-decoration:none; } .top nav a:hover { color:var(--ouro-t); }
.top .tel { color:var(--preto); font-weight:600; }

/* Galeria + painel de compra */
.hero { display:grid; grid-template-columns:minmax(0, 1.15fr) minmax(0, .85fr); gap:44px; align-items:start; padding:34px 0 60px; }
.galeria { position:sticky; top:88px; }
.gal-main { position:relative; aspect-ratio:4/3; border-radius:20px; overflow:hidden; background:#efece3; box-shadow:0 24px 60px rgba(60,48,20,.14); outline:none; }
.gal-main:focus-visible { box-shadow:0 0 0 3px var(--ouro); }
.gal-main img { width:100%; height:100%; object-fit:cover; transition:opacity .35s ease; }
.gal-main img[hidden], .gal-ph[hidden] { display:none; }
.gal-ph { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; background:linear-gradient(160deg, #f4f1e8, #e6e0cf); color:var(--cinza); }
.gal-ph .amostra { width:110px; height:110px; border-radius:50%; background:var(--c, #ccc) var(--tex, none) center / cover; box-shadow:inset 0 0 0 1px rgba(0,0,0,.12), 0 14px 30px rgba(0,0,0,.18); margin-bottom:12px; }
.gal-ph b { font-family:'Playfair Display', serif; font-size:22px; font-weight:600; color:var(--preto); } .gal-ph small { font-size:13px; color:var(--suave); }
.gal-seta { position:absolute; top:50%; transform:translateY(-50%); width:48px; height:48px; border-radius:50%; border:0; background:rgba(255,255,255,.92); color:var(--preto); font-size:28px; line-height:1; cursor:pointer; box-shadow:0 6px 18px rgba(0,0,0,.18); transition:.2s; }
.gal-seta:hover { background:var(--ouro); color:#fff; } .gal-seta.ant { left:14px; } .gal-seta.seg { right:14px; } .gal-seta[hidden] { display:none; }
.gal-sel { position:absolute; left:14px; bottom:14px; display:flex; align-items:center; gap:8px; padding:7px 14px 7px 10px; border-radius:999px; background:rgba(255,255,255,.92); font-size:13px; font-weight:500; box-shadow:0 4px 14px rgba(0,0,0,.14); }
.gal-sel i { width:18px; height:18px; border-radius:50%; background-size:cover; background-position:center; box-shadow:inset 0 0 0 1px rgba(0,0,0,.2); }
.gal-thumbs { display:flex; gap:10px; margin-top:12px; overflow-x:auto; padding:2px; scrollbar-width:thin; }
.gal-thumbs[hidden] { display:none; }
.gal-thumbs button { flex:0 0 auto; width:88px; aspect-ratio:4/3; border-radius:10px; overflow:hidden; border:2px solid transparent; padding:0; background:#efece3; cursor:pointer; opacity:.75; transition:.2s; }
.gal-thumbs button[aria-current=true] { border-color:var(--ouro); opacity:1; } .gal-thumbs button:hover { opacity:1; }
.gal-thumbs img { width:100%; height:100%; object-fit:cover; }

.buy h1 { font-size:clamp(40px, 5.4vw, 64px); margin:8px 0 2px; letter-spacing:-.01em; }
.tipo { font-size:15px; text-transform:uppercase; letter-spacing:.16em; color:var(--suave); font-weight:500; margin-bottom:14px; }
.sub { color:var(--cinza); font-size:16px; max-width:48ch; }
.preco-linha { margin:18px 0 24px; display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; }
.preco-linha span { font-family:'Playfair Display', serif; font-size:clamp(30px, 4vw, 40px); color:var(--preto); }
.preco-linha small { color:var(--suave); font-size:13px; }
.grupo { border:0; margin-bottom:24px; min-width:0; }
.grupo legend { font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--suave); margin-bottom:12px; padding:0; font-weight:500; }
.grupo legend b { color:var(--preto); letter-spacing:0; text-transform:none; font-weight:600; font-size:15px; }
.cores { display:flex; flex-wrap:wrap; gap:14px; padding-bottom:26px; }
.sw { position:relative; cursor:pointer; }
.sw input, .chip input { position:absolute; opacity:0; width:100%; height:100%; inset:0; cursor:pointer; }
.sw span { display:block; width:54px; height:54px; border-radius:50%; background:var(--c) var(--tex, none) center / cover; box-shadow:inset 0 0 0 1px rgba(0,0,0,.14), 0 6px 14px rgba(60,48,20,.18); border:3px solid var(--fundo); outline:1.5px solid transparent; transition:.2s; }
.sw:hover span { transform:translateY(-2px); }
.sw input:checked + span { outline-color:var(--ouro); transform:scale(1.07); box-shadow:inset 0 0 0 1px rgba(0,0,0,.14), 0 8px 18px rgba(197,160,67,.4); }
.sw input:focus-visible + span { outline:2px dashed var(--preto); outline-offset:3px; }
.sw em { position:absolute; left:50%; bottom:-24px; transform:translateX(-50%); white-space:nowrap; font-size:11px; font-style:normal; color:var(--suave); opacity:0; pointer-events:none; transition:.2s; }
.sw:hover em, .sw input:focus-visible ~ em { opacity:1; }
.medidas { display:grid; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); gap:10px; }
.chip { position:relative; cursor:pointer; }
.chip span { display:flex; flex-direction:column; gap:2px; padding:13px 16px; min-height:64px; border:1px solid var(--linha2); border-radius:var(--r); background:var(--branco); transition:.2s; }
.chip b { font-weight:600; font-size:16px; } .chip i { font-style:normal; font-size:14px; color:var(--suave); }
.chip:hover span { border-color:var(--ouro); }
.chip input:checked + span { border-color:var(--ouro); background:#fffaf0; box-shadow:0 0 0 1px var(--ouro); }
.chip input:checked + span i { color:var(--ouro-t); font-weight:600; }
.chip input:focus-visible + span { outline:2px dashed var(--preto); outline-offset:2px; }

.resumo { border:1px solid var(--linha2); border-radius:var(--r); padding:16px 18px; background:var(--branco); margin-bottom:16px; }
.qtd { display:flex; justify-content:space-between; align-items:center; padding-bottom:12px; margin-bottom:12px; border-bottom:1px solid var(--linha2); font-size:14px; color:var(--cinza); }
.qtd div { display:flex; align-items:center; gap:4px; }
.qtd button { width:44px; height:44px; border-radius:50%; border:1px solid var(--linha2); background:var(--branco); color:var(--preto); font-size:20px; cursor:pointer; }
.qtd button:hover { border-color:var(--ouro); } .qtd output { min-width:34px; text-align:center; font-size:18px; font-weight:600; }
.resumo dl > div { display:flex; justify-content:space-between; padding:4px 0; font-size:15px; color:var(--cinza); } .resumo dd { color:var(--preto); }
.resumo .tot { margin-top:6px; padding-top:10px; border-top:1px solid var(--linha2); font-size:18px; color:var(--preto); } .resumo .tot dd { font-family:'Playfair Display', serif; font-size:26px; }

.cta { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; min-height:56px; padding:0 24px; border:0; border-radius:999px; cursor:pointer; background:var(--ouro); color:#fff; font:600 16px 'Outfit', sans-serif; letter-spacing:.02em; box-shadow:0 12px 28px rgba(197,160,67,.35); transition:.2s; }
.cta:hover { background:var(--ouro-h); transform:translateY(-1px); } .cta:disabled { opacity:.6; cursor:wait; transform:none; }
.cta svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.cta:focus-visible { outline:3px solid var(--preto); outline-offset:3px; }
.nota-pag { margin-top:12px; font-size:13px; color:var(--suave); text-align:center; }
.breve { padding:18px; border:1px dashed var(--ouro); border-radius:var(--r); color:var(--cinza); background:#fffaf0; } .breve b { color:var(--preto); }
.ticks { list-style:none; margin-top:22px; display:grid; gap:8px; font-size:14px; color:var(--cinza); }
.ticks li::before { content:'✓'; color:var(--ouro); font-weight:700; margin-right:10px; }

.form { margin-top:22px; padding:22px; border:1px solid var(--linha2); border-radius:18px; background:var(--branco); display:grid; gap:14px; scroll-margin-top:90px; box-shadow:0 10px 30px rgba(60,48,20,.06); }
.form[hidden], .feito[hidden], .cta[hidden] { display:none; }
.form h2 { font-size:24px; }
.form label { display:grid; gap:6px; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--suave); font-weight:600; min-width:0; }
.form label span { text-transform:none; letter-spacing:0; font-weight:400; color:#9a958a; }
.form input:not([type=checkbox]), .form textarea { width:100%; min-height:50px; padding:12px 14px; border-radius:10px; border:1px solid #d9d3c3; background:#fff; color:var(--preto); font:400 16px 'Outfit', sans-serif; text-transform:none; letter-spacing:0; }
.form textarea { resize:vertical; }
.form input:focus, .form textarea:focus { outline:none; border-color:var(--ouro); box-shadow:0 0 0 3px rgba(197,160,67,.22); }
.duo { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.form .aceito { display:flex; gap:12px; align-items:flex-start; text-transform:none; letter-spacing:0; font-size:13px; font-weight:400; line-height:1.5; color:var(--cinza); }
.form .aceito input { width:22px; height:22px; flex:none; margin-top:1px; accent-color:var(--ouro); }
.trap { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
#estado { font-size:14px; min-height:1px; } #estado.erro { color:#a8321e; padding:12px 14px; border:1px solid #e5b4aa; border-radius:10px; background:#fdf0ed; }
.feito { margin-top:22px; padding:26px; border:1px solid var(--ouro); border-radius:18px; background:#fffaf0; }
.feito h2 { font-size:26px; margin-bottom:8px; } .feito h2 span { color:var(--ouro); } .feito p { color:var(--cinza); }

.head { text-align:center; margin-bottom:34px; } .head h2 { font-size:clamp(28px, 3.6vw, 42px); margin-top:10px; }
.info { padding:60px 0 20px; border-top:1px solid var(--linha2); }
.info-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:start; }
.destaques { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.destaques div { background:var(--branco); border:1px solid var(--linha2); border-radius:var(--r); padding:26px 16px; text-align:center; }
.destaques b { display:block; font-family:'Playfair Display', serif; font-size:clamp(24px, 3vw, 34px); color:var(--ouro-t); font-weight:600; } .destaques span { font-size:13px; color:var(--suave); }
.specs { background:var(--branco); border:1px solid var(--linha2); border-radius:var(--r); overflow:hidden; }
.specs > div { display:grid; grid-template-columns:minmax(120px, 38%) 1fr; gap:14px; padding:13px 20px; border-bottom:1px solid var(--linha2); font-size:14px; } .specs > div:last-child { border-bottom:0; }
.specs dt { color:var(--suave); } .specs dd { color:var(--preto); font-weight:500; }

.passos { padding:50px 0 20px; } .passos ol { list-style:none; display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; }
.passos li { padding:26px; border:1px solid var(--linha2); border-radius:var(--r); background:var(--branco); }
.passos li span { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:var(--ouro); color:#fff; font-weight:700; margin-bottom:14px; }
.passos h3 { font-size:20px; margin-bottom:6px; } .passos p { color:var(--cinza); font-size:15px; }
.faq { max-width:780px; padding:50px 0 70px; } .faq h2 { font-size:28px; margin-bottom:16px; }
.faq details { border-bottom:1px solid var(--linha2); padding:14px 0; } .faq summary { cursor:pointer; font-weight:600; list-style:none; display:flex; justify-content:space-between; gap:12px; min-height:28px; }
.faq summary::after { content:'+'; color:var(--ouro); font-size:22px; line-height:1; } .faq details[open] summary::after { content:'−'; }
.faq summary::-webkit-details-marker { display:none; } .faq p { margin-top:10px; color:var(--cinza); }
.foot { background:var(--preto); color:#b9b3a4; font-size:13px; padding:34px 0 40px; } .foot-in { display:grid; gap:8px; justify-items:center; text-align:center; }
.foot img { filter:brightness(0) invert(.92); } .foot a { color:var(--ouro); }

@media (max-width:900px) {
 .hero { grid-template-columns:minmax(0, 1fr); gap:22px; padding-top:18px; } .galeria { position:static; }
 .gal-main { border-radius:16px; } .info-grid { grid-template-columns:1fr; } .passos ol { grid-template-columns:1fr; }
 .top nav > a:not(.tel) { display:none; } .top { position:static; }
}
@media (max-width:480px) { .duo { grid-template-columns:1fr; } .form { padding:18px 16px; } .sw span { width:48px; height:48px; } .sw em { display:none; } .specs > div { grid-template-columns:1fr; gap:2px; } .gal-seta { width:44px; height:44px; } }
@media (prefers-reduced-motion:reduce) { * { transition:none !important; scroll-behavior:auto !important; } }

/* ───────── v3 · ultra premium: coleção, página de produto, história, detalhes ───────── */
body { font-weight:300; } body strong, body b { font-weight:600; }
.top nav a[href="/loja/"] { color:var(--ouro-t); font-weight:500; }
.migalhas { display:flex; gap:10px; padding:22px 0 0; font-size:13px; color:var(--suave); } .migalhas a { color:var(--suave); text-decoration:none; } .migalhas a:hover { color:var(--ouro-t); } .migalhas b { color:var(--preto); font-weight:500; }
.hero { padding:22px 0 80px; gap:64px; }
.buy h1 { font-size:clamp(48px, 6.4vw, 84px); letter-spacing:-.02em; }
.tipo { letter-spacing:.24em; font-size:13px; }
.sub { font-size:17px; line-height:1.7; max-width:46ch; }
.gal-main { border-radius:6px; box-shadow:0 40px 90px rgba(60,48,20,.16); }
.gal-thumbs button { border-radius:4px; width:96px; }
.gal-cont { position:absolute; right:14px; bottom:14px; padding:5px 12px; border-radius:999px; background:rgba(26,26,26,.72); color:#fff; font-size:12px; letter-spacing:.06em; } .gal-cont:empty { display:none; }
.sw span.quad { border-radius:8px; }
.cores.pes { padding-bottom:26px; }
.medidas-in { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.medidas-in label { display:grid; gap:6px; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--suave); font-weight:500; }
.medidas-in small { text-transform:none; letter-spacing:0; font-size:12px; color:#9a958a; }
.num { display:flex; align-items:center; border:1px solid var(--linha2); border-radius:12px; background:var(--branco); overflow:hidden; }
.num button { width:46px; height:52px; border:0; background:transparent; font-size:20px; color:var(--preto); cursor:pointer; flex:none; } .num button:hover { background:#fffaf0; color:var(--ouro-t); }
.num input { flex:1; min-width:0; width:100%; height:52px; border:0; text-align:right; font:500 18px 'Outfit', sans-serif; color:var(--preto); background:transparent; padding:0 4px 0 0; } .num input:focus { outline:none; }
.num:focus-within { border-color:var(--ouro); box-shadow:0 0 0 3px rgba(197,160,67,.2); }
.num span { color:var(--suave); font-size:13px; padding-right:4px; }
.atalhos { margin-top:10px; font-size:13px; color:var(--suave); display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.atalhos button { border:1px solid var(--linha2); background:var(--branco); border-radius:999px; padding:0 14px; min-height:44px; font:500 13px 'Outfit', sans-serif; color:var(--cinza); cursor:pointer; } .atalhos button:hover { border-color:var(--ouro); color:var(--ouro-t); }
.erro-med { margin-top:10px; font-size:13px; color:#a8321e; background:#fdf0ed; border:1px solid #e5b4aa; border-radius:10px; padding:10px 12px; } .erro-med[hidden] { display:none; }
.cantos { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.canto { position:relative; cursor:pointer; } .canto input { position:absolute; opacity:0; inset:0; width:100%; height:100%; cursor:pointer; }
.canto span { display:grid; grid-template-columns:auto 1fr; grid-template-rows:auto auto; column-gap:12px; align-items:center; padding:14px 16px; min-height:68px; border:1px solid var(--linha2); border-radius:var(--r); background:var(--branco); transition:.2s; }
.canto svg { grid-row:1 / 3; width:34px; height:34px; fill:none; stroke:var(--preto); stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.canto b { font-weight:600; font-size:15px; } .canto i { font-style:normal; font-size:13px; color:var(--suave); }
.canto:hover span { border-color:var(--ouro); }
.canto input:checked + span { border-color:var(--ouro); background:#fffaf0; box-shadow:0 0 0 1px var(--ouro); } .canto input:checked + span i { color:var(--ouro-t); font-weight:600; }
.canto input:checked + span svg { stroke:var(--ouro-t); } .canto input:focus-visible + span { outline:2px dashed var(--preto); outline-offset:2px; }
.resumo dl > div[hidden] { display:none; }
.cta-b { display:inline-flex; width:auto; background:var(--preto); box-shadow:none; text-decoration:none; } .cta-b:hover { background:#000; }

.faixa { border-top:1px solid var(--linha2); border-bottom:1px solid var(--linha2); background:var(--branco); }
.faixa-in { display:grid; grid-template-columns:repeat(4, 1fr); } .faixa-in > div { padding:30px 18px; text-align:center; border-right:1px solid var(--linha2); } .faixa-in > div:last-child { border-right:0; }
.faixa b { display:block; font-family:'Playfair Display', serif; font-size:clamp(20px, 2.4vw, 28px); font-weight:600; color:var(--preto); } .faixa span { font-size:13px; color:var(--suave); }


.detalhes { padding:60px 0 40px; } .detalhes .head h2 { font-size:clamp(34px, 4.4vw, 56px); }
.det { display:grid; grid-template-columns:1.1fr .9fr; gap:72px; align-items:center; margin-bottom:96px; }
.det.inv { grid-template-columns:.9fr 1.1fr; } .det.inv figure { order:2; }
.det figure { aspect-ratio:4/3; border-radius:6px; overflow:hidden; background:#efece3; box-shadow:0 30px 70px rgba(60,48,20,.13); } .det figure img { width:100%; height:100%; object-fit:cover; } .det figure img[hidden] { display:none; }
.det h3 { font-size:clamp(26px, 3vw, 38px); margin:12px 0 16px; letter-spacing:-.01em; } .det p { color:var(--cinza); font-size:16px; line-height:1.85; max-width:48ch; }

.incluido { background:var(--preto); color:#e9e4d6; padding:96px 0; }
.incl-in { display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }
.incluido h2 { color:#fff; font-size:clamp(34px, 4.4vw, 56px); margin:12px 0 18px; } .incluido .eyebrow { color:var(--ouro); } .incl-p { color:#b9b3a4; margin-bottom:28px; max-width:44ch; }
.incluido .cta-b { background:var(--ouro); color:#fff; } .incluido .cta-b:hover { background:var(--ouro-h); }
.incluido ul { list-style:none; display:grid; } .incluido li { padding:18px 0 18px 34px; border-bottom:1px solid rgba(255,255,255,.12); position:relative; font-size:17px; color:#fff; font-weight:500; display:grid; }
.incluido li::before { content:'✓'; position:absolute; left:0; top:18px; color:var(--ouro); font-weight:700; } .incluido li span { font-weight:300; font-size:14px; color:#b9b3a4; }
.ficha { padding:90px 0 20px; max-width:860px; } .ficha h2 { font-size:30px; margin-bottom:18px; }
.passos { padding:80px 0 20px; }
.passos .head h2, .info .head h2 { font-size:clamp(32px, 4vw, 48px); }

/* coleção */
.col-hero { padding:90px 0 40px; text-align:center; } .col-hero h1 { font-size:clamp(46px, 7vw, 96px); letter-spacing:-.02em; margin:12px 0 20px; }
.col-lead { font-size:19px; line-height:1.8; color:var(--cinza); max-width:56ch; margin:0 auto; }
.col-lista { padding:30px 0 70px; }
.prod-card { display:grid; grid-template-columns:1.2fr .8fr; gap:0; background:var(--branco); border:1px solid var(--linha2); border-radius:8px; overflow:hidden; text-decoration:none; color:inherit; box-shadow:0 40px 90px rgba(60,48,20,.12); transition:.3s; }
.prod-card:hover { transform:translateY(-4px); box-shadow:0 50px 100px rgba(60,48,20,.18); }
.prod-img { aspect-ratio:4/3; background:#efece3; overflow:hidden; } .prod-img img { width:100%; height:100%; object-fit:cover; transition:transform .8s ease; } .prod-card:hover .prod-img img { transform:scale(1.03); }
.prod-info { padding:48px 44px; display:flex; flex-direction:column; justify-content:center; gap:12px; } .prod-info h2 { font-size:clamp(38px, 4.4vw, 62px); letter-spacing:-.02em; } .prod-info p { color:var(--cinza); line-height:1.7; }
.prod-preco { font-family:'Playfair Display', serif; font-size:30px; color:var(--preto) !important; margin-top:6px; } .prod-preco small { display:block; font:300 13px 'Outfit', sans-serif; color:var(--suave); }
.prod-ver { display:inline-flex; align-items:center; gap:10px; margin-top:10px; font-weight:600; color:var(--ouro-t); } .prod-ver svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; transition:transform .3s; } .prod-card:hover .prod-ver svg { transform:translateX(5px); }
.valores { display:grid; grid-template-columns:repeat(3, 1fr); gap:0; border-top:1px solid var(--linha2); border-bottom:1px solid var(--linha2); margin-bottom:80px; }
.valores > div { padding:42px 30px; border-right:1px solid var(--linha2); } .valores > div:last-child { border-right:0; }
.valores b { display:block; font-family:'Playfair Display', serif; font-size:24px; font-weight:600; margin-bottom:8px; } .valores span { color:var(--cinza); line-height:1.7; }
.breve-col { text-align:center; padding:20px 0 110px; } .breve-col h2 { font-size:clamp(30px, 4vw, 48px); margin-top:10px; }

/* entrada suave */
.rev.pre { opacity:0; transform:translateY(26px); transition:opacity .9s ease, transform .9s ease; } .rev.pre.vis { opacity:1; transform:none; }

@media (max-width:900px) {
 .hero { gap:26px; padding-bottom:50px; } .buy h1 { font-size:clamp(44px, 14vw, 64px); }
 .faixa-in { grid-template-columns:1fr 1fr; } .faixa-in > div:nth-child(2) { border-right:0; } .faixa-in > div:nth-child(-n+2) { border-bottom:1px solid var(--linha2); }
 .det, .det.inv, .incl-in, .prod-card { grid-template-columns:1fr; gap:28px; } .det.inv figure { order:0; }
 .h-corpo { grid-template-columns:1fr; gap:28px; }
 .historia { padding:64px 0 24px; } .h-cab { margin-bottom:30px; } .det { margin-bottom:56px; } .incluido { padding:60px 0; }
 .valores { grid-template-columns:1fr; } .valores > div { border-right:0; border-bottom:1px solid var(--linha2); } .valores > div:last-child { border-bottom:0; }
 .col-hero { padding:50px 0 20px; } .prod-info { padding:28px 24px 34px; }
}
@media (max-width:480px) { .medidas-in { grid-template-columns:1fr; } .cantos { grid-template-columns:1fr; } .faixa b { font-size:19px; } }

/* história — melhor enquadramento: título centrado, imagem e texto equilibrados */
.historia { padding:110px 0 50px; }
.h-cab { text-align:center; margin:0 auto 54px; max-width:760px; } .h-cab h2 { font-size:clamp(34px, 4.6vw, 58px); margin-top:14px; letter-spacing:-.01em; }
.h-corpo { display:grid; grid-template-columns:1fr 1fr; gap:68px; align-items:center; }
.h-img { margin:0; border-radius:6px; overflow:hidden; aspect-ratio:4/3; background:#efece3; box-shadow:0 40px 90px rgba(60,48,20,.14); } .h-img img { width:100%; height:100%; object-fit:cover; }
.h-txt { max-width:540px; }
.h-txt p { font-size:17px; line-height:1.85; color:var(--cinza); margin:0 0 20px; }
.h-txt .h-lead { font:400 clamp(21px, 2.1vw, 25px)/1.6 'Playfair Display', Georgia, serif; color:var(--preto); margin-bottom:24px; }
.h-cit { margin:30px 0 26px; padding:4px 0 4px 24px; border-left:3px solid var(--ouro); font:italic 500 clamp(19px, 1.9vw, 23px)/1.6 'Playfair Display', Georgia, serif; color:var(--preto); }
.h-txt .h-ass { font:600 12px 'Outfit', sans-serif; letter-spacing:.2em; text-transform:uppercase; color:var(--ouro-t); margin:0; }

/* promoção (preço riscado): só aparece quando cumpre as regras */
.preco-ant { font:400 clamp(20px, 2.4vw, 26px) 'Playfair Display', serif; color:#9a958a; text-decoration:line-through; text-decoration-thickness:1.5px; }
.preco-pct { font:700 13px 'Outfit', sans-serif; font-style:normal; color:#fff; background:#a8321e; padding:4px 11px; border-radius:999px; letter-spacing:.02em; align-self:center; }
.promo-nota { margin:-10px 0 22px; padding:12px 16px; border-left:3px solid var(--ouro); background:#fffaf0; font-size:13px; line-height:1.6; color:var(--cinza); border-radius:0 8px 8px 0; } .promo-nota b { color:var(--preto); }
.prod-preco .preco-ant { font-size:22px; } .prod-preco .preco-pct { font-size:12px; vertical-align:middle; }

/* preço maior e entrega grátis em destaque */
.preco-linha { gap:16px; margin:22px 0 18px; align-items:center; }
.preco-linha span { font-size:clamp(60px, 7.4vw, 92px); line-height:1; letter-spacing:-.03em; color:var(--preto); }
.preco-sub { display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin:0 0 26px; } .preco-sub small { font-size:14px; color:var(--suave); }
.pill-gratis, .pill-entrega { display:inline-flex; align-items:center; gap:9px; padding:10px 18px 10px 14px; border-radius:999px; font:700 13px 'Outfit', sans-serif; letter-spacing:.09em; text-transform:uppercase; white-space:nowrap; }
.pill-gratis { background:#1d6b43; color:#fff; box-shadow:0 10px 24px rgba(29,107,67,.32); }
.pill-entrega { background:#fff; color:var(--cinza); border:1px solid var(--linha2); }
.pill-gratis svg { width:22px; height:22px; fill:none; stroke:#fff; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.gal-badge { position:absolute; left:14px; top:14px; display:inline-flex; align-items:center; gap:8px; padding:9px 16px 9px 12px; border-radius:999px; background:#1d6b43; color:#fff; font:700 12px 'Outfit', sans-serif; letter-spacing:.09em; text-transform:uppercase; box-shadow:0 8px 22px rgba(0,0,0,.25); }
.gal-badge svg { width:20px; height:20px; fill:none; stroke:#fff; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.prod-preco { font-size:clamp(46px, 5vw, 66px) !important; line-height:1.05; display:flex; align-items:center; flex-wrap:wrap; gap:6px 14px; letter-spacing:-.02em; } .prod-preco small { flex-basis:100%; }
.prod-preco .pill-gratis { font-size:12px; }
.faixa-in > div:first-child b, .faixa-in > div:nth-child(2) b { color:#1d6b43; } .faixa-in > div:first-child b { color:var(--preto); }
@media (max-width:480px) { .preco-linha span { font-size:62px; } .gal-badge { left:10px; top:10px; font-size:11px; } }

/* preço mais discreto: menos grande e menos pesado */
.preco-linha span { font-family:'Playfair Display', serif; font-weight:400; font-size:clamp(38px, 3.9vw, 50px); letter-spacing:-.01em; }
.preco-linha { margin:18px 0 14px; } .preco-ant { font-size:20px !important; }
.prod-preco { font-weight:400 !important; font-size:clamp(36px, 3.8vw, 48px) !important; }
.faixa b { font-weight:500; }
@media (max-width:480px) { .preco-linha span { font-size:42px; } }

/* ───────── plano de redesign (31-10-2026): primeiro ecrã, configurador, secções, mobile ───────── */
/* primeiro ecrã: ~60 % galeria (acompanha o scroll) / ~40 % compra */
.hero { grid-template-columns:minmax(0, 1.5fr) minmax(0, 1fr); gap:56px; align-items:start; }
.galeria { top:84px; }
.gal-main { border-radius:4px; }
.gal-zoom { position:absolute; right:14px; top:14px; width:44px; height:44px; border-radius:50%; border:0; background:rgba(255,255,255,.92); box-shadow:0 6px 18px rgba(0,0,0,.18); cursor:pointer; display:grid; place-items:center; transition:.2s; }
.gal-zoom:hover { background:var(--ouro); } .gal-zoom svg { width:20px; height:20px; fill:none; stroke:var(--preto); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; } .gal-zoom:hover svg { stroke:#fff; }
.gal-main img { cursor:zoom-in; }
.gal-thumbs { gap:12px; } .gal-thumbs button { width:104px; }
.gal-thumbs button[aria-current=true] { border-color:var(--preto); }

/* amostras com nome sempre visível e seleção que não depende só da cor */
.cores { gap:14px; padding-bottom:4px; }
.sw { display:flex; flex-direction:column; align-items:center; width:72px; }
.sw span { width:60px; height:60px; position:relative; }
.sw em { position:static !important; transform:none !important; opacity:1 !important; display:block; margin-top:9px; font-size:12px; line-height:1.25; text-align:center; color:var(--cinza); white-space:normal; max-width:72px; }
.sw input:checked ~ em { color:var(--preto); font-weight:600; }
.sw input:checked + span::after { content:'✓'; position:absolute; right:-4px; bottom:-4px; width:22px; height:22px; border-radius:50%; background:var(--preto); color:#fff; font:700 12px/22px 'Outfit', sans-serif; text-align:center; box-shadow:0 0 0 2px var(--fundo); }
.sw input:checked + span { outline-color:var(--preto); }

/* ampliar fotografia */
.lb { border:0; padding:0; background:transparent; width:min(1180px, 96vw); max-height:94vh; margin:auto; color:#fff; overflow:visible; }
.lb::backdrop { background:rgba(12,10,8,.9); }
.lb img { display:block; width:100%; max-height:82vh; object-fit:contain; border-radius:4px; }
.lb-leg { text-align:center; font-size:13px; color:#d9d3c3; margin-top:12px; letter-spacing:.04em; }
.lb-x { position:absolute; right:-6px; top:-52px; width:44px; height:44px; border:0; border-radius:50%; background:#fff; color:#111; font-size:28px; line-height:1; cursor:pointer; }
.lb-s { position:absolute; top:44%; width:48px; height:48px; border:0; border-radius:50%; background:rgba(255,255,255,.92); font-size:28px; cursor:pointer; } .lb-s.ant { left:10px; } .lb-s.seg { right:10px; } .lb-s[hidden] { display:none; }

/* secção «no seu espaço» */
.espaco { padding:90px 0 20px; text-align:center; }
.espaco-img { margin:0 auto; width:min(1440px, 100%); aspect-ratio:16/9; overflow:hidden; background:#efece3; } .espaco-img img { width:100%; height:100%; object-fit:cover; object-position:50% 38%; }
.espaco-txt { max-width:640px; padding-top:40px; } .espaco-txt h2 { font-size:clamp(34px, 4.4vw, 56px); margin:12px 0 14px; letter-spacing:-.01em; } .espaco-txt p:not(.eyebrow) { color:var(--cinza); font-size:17px; line-height:1.8; }

/* detalhes: uma imagem grande e duas menores */
.det-grid { display:grid; grid-template-columns:1.35fr 1fr; grid-template-rows:auto auto; gap:48px 44px; align-items:start; }
.det-a { grid-row:1 / 3; } .det-grid article > figure { margin:0 0 20px; border-radius:4px; overflow:hidden; background:#efece3; aspect-ratio:4/3; box-shadow:0 26px 60px rgba(60,48,20,.12); } .det-grid figure img { width:100%; height:100%; object-fit:cover; } .det-grid figure img[hidden] { display:none; }
.det-grid h3 { font-size:clamp(24px, 2.6vw, 34px); margin:8px 0 12px; letter-spacing:-.01em; } .det-grid p:not(.eyebrow) { color:var(--cinza); font-size:16px; line-height:1.8; max-width:52ch; margin-bottom:12px; }
.det-a > figure { aspect-ratio:5/4; }

/* acabamentos */
.acab { padding:60px 0 30px; }
.acab-grid { display:grid; grid-template-columns:repeat(5, 1fr); gap:20px; }
.acab-it { appearance:none; border:0; background:transparent; padding:0; cursor:pointer; text-align:left; font-family:inherit; }
.acab-tx { display:block; aspect-ratio:1; border-radius:4px; background:var(--c) var(--tex, none) center / cover; box-shadow:inset 0 0 0 1px rgba(0,0,0,.12), 0 14px 30px rgba(60,48,20,.12); transition:.3s; }
.acab-it:hover .acab-tx { transform:translateY(-4px); box-shadow:inset 0 0 0 1px rgba(0,0,0,.12), 0 22px 40px rgba(60,48,20,.18); }
.acab-it b { display:block; margin-top:12px; font:500 15px 'Outfit', sans-serif; color:var(--preto); } .acab-it i { font:400 13px 'Outfit', sans-serif; font-style:normal; color:var(--ouro-t); text-decoration:underline; text-underline-offset:3px; }
.acab-it:focus-visible { outline:2px dashed var(--preto); outline-offset:6px; }

/* fecho */
.fecho { position:relative; margin-top:40px; background:#1a1a1a var(--bg, none) center 40% / cover; color:#fff; text-align:center; padding:130px 0; }
.fecho::before { content:''; position:absolute; inset:0; background:rgba(20,17,13,.58); }
.fecho-in { position:relative; } .fecho .eyebrow { color:#e2c36b; } .fecho h2 { color:#fff; font-size:clamp(34px, 5vw, 64px); margin:12px 0 28px; } .fecho h2 em { color:#e2c36b; }
.cta-d { display:inline-flex; width:auto; text-decoration:none; }

/* barra inferior no telemóvel */
.barra-movel { position:fixed; left:0; right:0; bottom:0; z-index:40; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:10px 16px calc(10px + env(safe-area-inset-bottom)); background:rgba(255,255,255,.97); backdrop-filter:blur(8px); border-top:1px solid var(--linha2); box-shadow:0 -10px 30px rgba(0,0,0,.08); }
.barra-movel[hidden] { display:none; } .barra-movel small { display:block; font-size:12px; color:var(--suave); line-height:1.3; } .barra-movel b { font:400 26px 'Playfair Display', serif; color:var(--preto); line-height:1.1; }
.cta-mini { width:auto; min-height:48px; padding:0 22px; flex:none; text-decoration:none; font-size:15px; }
body.com-barra { padding-bottom:84px; }
@media (min-width:901px) { .barra-movel { display:none !important; } }

@media (max-width:900px) {
 .hero { grid-template-columns:minmax(0, 1fr); gap:24px; } .galeria { position:static; }
 .espaco { padding:56px 0 10px; } .espaco-img { aspect-ratio:4/3; } .espaco-txt { padding-top:28px; }
 .det-grid { grid-template-columns:1fr; gap:36px; } .det-a { grid-row:auto; }
 .acab-grid { grid-template-columns:repeat(3, 1fr); gap:14px; }
 .fecho { padding:80px 0; }
}
@media (max-width:480px) {
 .sw { width:58px; } .sw span { width:50px; height:50px; } .sw em { display:block !important; font-size:11px; max-width:58px; } .cores { gap:8px; }
 .acab-grid { grid-template-columns:repeat(2, 1fr); } .gal-zoom { width:44px; height:44px; }
}
@media (prefers-reduced-motion:reduce) { .acab-tx, .gal-zoom { transition:none; } }

/* ───────── secções alternadas, com a imagem colada ao lado do ecrã ───────── */
.split { --gut:max(24px, calc((100vw - 1200px) / 2)); position:relative; display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1.08fr); align-items:center; padding:60px 0; overflow:hidden; }
.split-esq { grid-template-columns:minmax(0, 1.08fr) minmax(0, 1fr); }
.split-img { margin:0; position:relative; overflow:hidden; aspect-ratio:4/3; background:#e9e4d9; box-shadow:0 50px 100px rgba(60,48,20,.16); }
.split-dir .split-img { border-radius:6px 0 0 6px; } .split-esq .split-img { border-radius:0 6px 6px 0; }
.split-img img { width:100%; height:100%; object-fit:cover; display:block; transform:scale(1.1); translate:0 var(--py, 0px); transition:transform 1.5s cubic-bezier(.2,.7,.2,1); will-change:transform, translate; }
.split-img img[hidden] { display:none; }
.split-txt { position:relative; padding:40px 56px 40px var(--gut); max-width:none; }
.split-esq .split-txt { padding:40px var(--gut) 40px 56px; }
.split-txt > * { position:relative; }
.split-n { position:absolute !important; top:-30px; right:40px; font:600 clamp(110px, 15vw, 210px)/1 'Playfair Display', serif; color:transparent; -webkit-text-stroke:1px rgba(197,160,67,.4); pointer-events:none; user-select:none; z-index:0; }
.split-dir .split-n { right:auto; left:calc(var(--gut) - 14px); } .split-esq .split-n { right:calc(var(--gut) - 10px); }
.split-txt h2, .split-txt h3 { font-size:clamp(32px, 4vw, 54px); margin:12px 0 20px; letter-spacing:-.015em; line-height:1.08; max-width:14em; }
.split-txt p:not(.eyebrow):not(.h-ass) { color:var(--cinza); font-size:17px; line-height:1.85; margin:0 0 16px; max-width:46ch; }
.split-txt .h-lead { font:400 clamp(20px, 2vw, 24px)/1.6 'Playfair Display', Georgia, serif !important; color:var(--preto) !important; }
.split-txt .h-cit { max-width:44ch; }
.detalhes-cab { text-align:center; padding:50px 0 0; } .detalhes-cab h2 { font-size:clamp(32px, 4.2vw, 54px); margin-top:12px; letter-spacing:-.015em; }
.split-n ~ * { z-index:1; }

/* animações: a imagem revela-se a partir do lado do ecrã e o texto sobe em cascata */
.split.pre .split-img { clip-path:inset(0 0 0 100%); transition:clip-path 1.25s cubic-bezier(.77, 0, .18, 1); }
.split.pre.split-esq .split-img { clip-path:inset(0 100% 0 0); }
.split.pre .split-img img { transform:scale(1.28); }
.split.pre .split-txt > :not(.split-n) { opacity:0; transform:translateY(30px); transition:opacity .9s ease, transform .9s cubic-bezier(.2,.7,.2,1); }
.split.pre .split-n { opacity:0; transform:translateY(40px); transition:opacity 1.4s ease .2s, transform 1.4s ease .2s; }
.split.pre.in .split-img { clip-path:inset(0 0 0 0); }
.split.pre.in .split-img img { transform:scale(1.1); }
.split.pre.in .split-txt > :not(.split-n) { opacity:1; transform:none; }
.split.pre.in .split-n { opacity:1; transform:none; }
.split.pre.in .split-txt > :nth-child(2) { transition-delay:.35s; } .split.pre.in .split-txt > :nth-child(3) { transition-delay:.5s; } .split.pre.in .split-txt > :nth-child(4) { transition-delay:.65s; }
.split.pre.in .split-txt > :nth-child(5) { transition-delay:.8s; } .split.pre.in .split-txt > :nth-child(6) { transition-delay:.95s; } .split.pre.in .split-txt > :nth-child(7) { transition-delay:1.05s; }

@media (max-width:900px) {
 .split, .split-esq { grid-template-columns:1fr; padding:36px 0; }
 .split-esq .split-img, .split-dir .split-img { order:-1; border-radius:0; aspect-ratio:4/3; }
 .split .split-img { margin:0 -0px; }
 .split-txt, .split-esq .split-txt { padding:28px 22px 12px; }
 .split-dir .split-n, .split-esq .split-n { left:auto; right:16px; top:-8px; font-size:96px; }
 .split.pre .split-img, .split.pre.split-esq .split-img { clip-path:inset(100% 0 0 0); }
 .split.pre.in .split-img { clip-path:inset(0); }
}
@media (prefers-reduced-motion:reduce) { .split.pre .split-img, .split.pre.split-esq .split-img { clip-path:none; transition:none; } .split.pre .split-txt > *, .split.pre .split-n { opacity:1 !important; transform:none !important; transition:none !important; } .split-img img { transition:none; transform:none !important; translate:none; } }
.acab-it em { display:block; font:400 12px 'Outfit', sans-serif; font-style:normal; color:var(--suave); margin:2px 0 4px; }
.split-txt .h-ass { font:600 12px "Outfit", sans-serif; letter-spacing:.2em; text-transform:uppercase; color:var(--ouro-t); margin:6px 0 0; }
.split-n { top:-96px !important; } @media (max-width:900px) { .split-n { top:-34px !important; } }

/* rodapé com identificação do vendedor e página «Condições de venda» */
.foot-emp { line-height:1.7; font-size:13px; } .foot-ilus { font-size:12px; color:#9a9486; max-width:60ch; }
.foot a { color:var(--ouro); }
.legal-in { max-width:820px; padding:70px 0 90px; } .legal-in h1 { font-size:clamp(36px, 5vw, 56px); margin:8px 0 6px; letter-spacing:-.01em; }
.legal-v { color:var(--suave); font-size:13px; margin-bottom:36px; }
.legal-in h2 { font-size:22px; margin:34px 0 10px; } .legal-in p, .legal-in li { color:var(--cinza); font-size:16px; line-height:1.85; } .legal-in ol { padding-left:22px; } .legal-in li { margin-bottom:6px; }
.legal-in b { color:var(--preto); font-weight:600; }
.form .aceito + .aceito { margin-top:-4px; }

/* sem palavras isoladas no fim das linhas */
h1, h2, h3, .sub, .col-lead, .espaco-txt p, .head h2, .eyebrow, .nota-pag, .promo-nota, .faixa span, .gal-ph b { text-wrap:balance; }
p, li, dd, summary, blockquote { text-wrap:pretty; }
.legal-in p, .legal-in li { text-wrap:pretty; }

/* preço de lançamento */
.lanc-nota { margin:-4px 0 22px; padding:14px 16px; border-radius:10px; background:#fffaf0; border:1px solid var(--linha); font-size:14px; line-height:1.7; color:var(--cinza); }
.lanc-nota b { color:var(--preto); } .lanc-tag { display:inline-block; margin-right:8px; padding:3px 11px; border-radius:999px; background:var(--preto); color:#fff; font:700 11px 'Outfit', sans-serif; letter-spacing:.14em; text-transform:uppercase; }

.preco-depois { font:400 clamp(22px, 2.4vw, 30px) 'Playfair Display', serif; color:#8c877b; align-self:center; white-space:nowrap; } .preco-depois i { font:600 11px 'Outfit', sans-serif; font-style:normal; letter-spacing:.14em; text-transform:uppercase; margin-right:4px; }

/* valor de referência ao lado do preço real */
.preco-ref { font:400 clamp(20px, 2.2vw, 26px) 'Playfair Display', serif; color:#8c877b; align-self:center; white-space:nowrap; } .preco-ref i { font:600 11px 'Outfit', sans-serif; font-style:normal; letter-spacing:.12em; text-transform:uppercase; margin-right:6px; }

/* valor de referência: bloco compacto (rótulo por cima do valor) com o desconto ao lado, tudo na linha do preço */
.preco-linha { flex-wrap:nowrap; } .preco-linha > span:first-child, .preco-linha > s + span { flex:none; }
.ref-grupo { display:inline-flex; align-items:center; gap:12px; flex:none; margin-left:2px; padding-left:18px; border-left:1px solid var(--linha2); }
.ref-val { display:flex; flex-direction:column; line-height:1.15; }
.ref-val i { font:600 10px 'Outfit', sans-serif; font-style:normal; letter-spacing:.13em; text-transform:uppercase; color:var(--suave); }
.ref-val b { font:400 clamp(22px, 2.2vw, 28px) 'Playfair Display', serif; color:#8c877b; margin-top:2px; }
.ref-grupo .preco-pct { font-size:12px; padding:5px 11px; }
.prod-preco .ref-grupo { border-left:0; padding-left:6px; }
@media (max-width:480px) { .preco-linha { flex-wrap:wrap; row-gap:8px; } .ref-grupo { padding-left:12px; } }
.ref-grupo { display:inline-grid; grid-template-columns:auto auto; column-gap:12px; row-gap:2px; align-items:center; justify-content:start; } .ref-val { display:contents; } .ref-val i { grid-column:1 / -1; } .ref-val b { grid-column:1; margin-top:0; } .ref-grupo .preco-pct { grid-column:2; justify-self:start; }

/* telemóvel: sem zoom ao tocar duas vezes (botões +/−, setas) e sem zoom automático do iPhone ao escrever num campo (precisa de ≥16 px) */
html { touch-action: manipulation; -webkit-text-size-adjust: 100%; }
@media (max-width: 900px) { input:not([type=checkbox]):not([type=radio]):not([type=range]), select, textarea { font-size: 16px !important; } }
.prod-desm { margin:8px 0 0; font-size:13px; color:#5d584c; }

/* topo preto, como no site principal (logo a branco) */
.top { background:#121212; border-bottom:1px solid rgba(255,255,255,.08); }
.top img { filter:brightness(0) invert(1); }
.top nav a { color:#d8d2c3; } .top nav a:hover, .top nav a[href="/loja/"] { color:var(--ouro); } .top .tel { color:#fff; }

/* seletor de idioma no topo (no lugar do telefone) */
.lang { position:relative; } .lang details { position:relative; } .lang summary { list-style:none; display:flex; align-items:center; gap:7px; cursor:pointer; color:#fff; font-size:15px; font-weight:500; padding:8px 4px; user-select:none; -webkit-user-select:none; } .lang summary::-webkit-details-marker { display:none; }
.lang summary svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; } .lang summary .ch { width:16px; height:16px; transition:transform .2s; } .lang details[open] .ch { transform:rotate(180deg); }
.lang ul { position:absolute; right:0; top:calc(100% + 8px); min-width:150px; list-style:none; background:#1c1c1c; border:1px solid rgba(255,255,255,.12); border-radius:12px; padding:6px; box-shadow:0 14px 34px rgba(0,0,0,.35); z-index:30; }
.lang ul a { display:block; padding:11px 14px; border-radius:8px; color:#e9e4d6; text-decoration:none; font-size:15px; } .lang ul a:hover, .lang ul a[aria-current] { background:rgba(197,160,67,.18); color:var(--ouro); }
/* Safari: o flex vai num elemento interno (summary com display:flex não é fiável em iPhones mais antigos) */
.lang summary { display:block; } .lang .lg-in { display:flex; align-items:center; gap:7px; } .lang summary svg { flex:none; width:20px; height:20px; fill:none !important; stroke:currentColor; } .lang summary .ch { width:16px; height:16px; }
.top-in { flex-wrap:nowrap; } .top nav { flex-wrap:nowrap; white-space:nowrap; }
