/* D'SSENZA — página da peça, guia de medidas, lista de espera, depoimentos e aviso de cookies. */

/* ---------- Trilha ---------- */
.trilha { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 18px var(--lado) 0; font: 500 10px/1.6 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--suave); }
.trilha i { width: 14px; border-top: 1px solid var(--ouro-fio); }
.trilha a:hover { color: var(--ouro); }
.trilha span { color: var(--tinta); }

/* ---------- Página da peça ---------- */
.pg-peca { display: grid; gap: 26px; padding: 18px var(--lado) 56px; }
.pg-peca__foto { position: relative; margin: 0 calc(var(--lado) * -1); background: var(--papel); }
.pg-peca__foto img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.pg-peca__tarja { position: absolute; left: var(--lado); top: 14px; padding: 7px 12px; background: var(--tinta); color: #fff; font: 500 10px/1 var(--sans); letter-spacing: .2em; text-transform: uppercase; }
.pg-peca__info h1 { margin: 12px 0 14px; font-size: clamp(2.6rem, 11vw, 4.6rem); line-height: .98; letter-spacing: -.02em; }
.pg-peca__preco { display: grid; gap: 2px; margin: 0 0 16px; }
.pg-peca__preco strong { font: 500 28px/1.1 var(--serif); }
.pg-peca__preco span { font-size: 13px; color: var(--suave); }
.pg-peca__desc { font: 400 18px/1.5 var(--serif); color: #4f4a44; }
.pg-peca__desc p { margin: 0 0 1rem; }
.pg-peca__acoes { display: grid; gap: 16px; justify-items: start; margin: 22px 0 6px; }
.pg-peca__acoes .botao { width: 100%; }
.pg-peca .peca__nota { margin: 10px 0 0; font-size: 12.5px; color: var(--suave); }
.pg-peca__compartilhar { justify-content: flex-start; margin-top: 30px; }
.peca__pagina { margin-top: 14px; }

/* ---------- Medidas ---------- */
.medidas { margin-top: 30px; padding-top: 22px; border-top: 1px solid var(--linha); }
.medidas__cabeca { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: 12px; }
.medidas__cabeca h2 { font-size: 26px; }
.medidas__rolagem { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.medidas__tabela { width: 100%; border-collapse: collapse; font-size: 14px; }
.medidas__tabela th, .medidas__tabela td { padding: 10px 8px; border-bottom: 1px solid var(--linha); text-align: center; white-space: nowrap; }
.medidas__tabela thead th { font: 500 10px/1.4 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--suave); }
.medidas__tabela tbody th { font: 500 18px/1 var(--serif); }
.medidas__nota { margin: 10px 0 0; font-size: 12.5px; color: var(--suave); }

/* ---------- Lista de espera ---------- */
.espera { display: grid; gap: 12px; margin: 24px 0 6px; padding: 20px; background: var(--papel); border: 1px solid var(--linha); }
.espera__titulo { margin: 0; font: 500 24px/1.1 var(--serif); }
.espera__texto { margin: 0; font-size: 13px; color: var(--suave); }
.espera label { display: grid; gap: 5px; }
.espera label > span { font: 500 10px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--suave); }
.espera input:not([type="checkbox"]) { width: 100%; min-height: 48px; padding: 0 14px; border: 1px solid var(--linha); background: #fff; font: 400 16px var(--sans); color: var(--tinta); border-radius: 0; }
.espera input:focus { outline: 1px solid var(--ouro); border-color: var(--ouro); }
.espera .espera__aceite { display: flex; gap: 10px; align-items: flex-start; font-size: 12px; line-height: 1.5; color: var(--suave); }
.espera__aceite input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--ouro); flex: none; }
.espera__isca { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.espera .botao { width: 100%; }
.espera__msg { margin: 0; min-height: 1em; font-size: 13px; }
.espera__msg.is-erro { color: #a3352b; }
.espera__msg.is-ok { color: #2f6b3a; font-weight: 500; }
.espera.is-ok label, .espera.is-ok .botao, .espera.is-ok .espera__texto { display: none; }

/* ---------- Outras peças ---------- */
.pg-outras__grade { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.pg-outras__item { display: grid; gap: 10px; }
.pg-outras__item img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; background: var(--papel); transition: opacity .4s; }
.pg-outras__item:hover img { opacity: .85; }
.pg-outras__item span { font: 500 18px/1.2 var(--serif); }

/* ---------- Depoimentos (home) ---------- */
.depo__lista { display: grid; grid-auto-flow: column; grid-auto-columns: 84%; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; margin: 0 calc(var(--lado) * -1); padding: 0 var(--lado) 8px; scrollbar-width: none; }
.depo__lista::-webkit-scrollbar { display: none; }
.depo__item { scroll-snap-align: start; display: grid; align-content: start; gap: 14px; margin: 0; padding: 22px; background: var(--papel); border: 1px solid var(--linha); }
.depo__foto { width: 100%; aspect-ratio: 1; object-fit: cover; }
.depo__item blockquote { margin: 0; }
.depo__item blockquote p { margin: 0; font: italic 400 20px/1.4 var(--serif); }
.depo__item figcaption { font: 500 10.5px/1.5 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--suave); }
.depo__item figcaption b { color: var(--ouro); font-weight: 500; }
.depo__widget { margin-top: 24px; }

/* ---------- Guia de medidas ---------- */
.guia__abertura { max-width: 760px; margin: 0 auto; padding: 46px var(--lado) 24px; text-align: center; }
.guia__abertura .selo { justify-content: center; }
.guia__abertura h1 { margin: 12px 0 16px; font-size: clamp(2.6rem, 11vw, 5rem); line-height: 1; letter-spacing: -.02em; }
.guia__intro { font: 400 18px/1.5 var(--serif); color: #4f4a44; }
.guia__passos, .guia__pecas, .guia__duvida { max-width: 760px; margin: 0 auto; padding: 30px var(--lado); }
.guia__passos h2, .guia__pecas h2, .guia__duvida h2 { font-size: clamp(2rem, 8vw, 3rem); line-height: 1.05; }
.guia__dica { margin: 8px 0 18px; font-size: 13px; color: var(--suave); }
.guia__passos ol { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.guia__passos li { display: flex; gap: 16px; padding: 18px; background: var(--papel); border: 1px solid var(--linha); }
.guia__passos li b { font: 500 26px/1 var(--serif); color: var(--ouro); }
.guia__passos h3 { font-size: 22px; }
.guia__passos li p { margin: 4px 0 0; font-size: 14px; color: #4f4a44; }
.guia__peca { border-bottom: 1px solid var(--linha); }
.guia__peca summary { display: flex; align-items: center; gap: 14px; padding: 12px 0; cursor: pointer; list-style: none; font: 500 20px/1.2 var(--serif); }
.guia__peca summary::-webkit-details-marker { display: none; }
.guia__peca summary::after { content: '+'; margin-left: auto; font: 300 24px/1 var(--sans); color: var(--ouro); }
.guia__peca[open] summary::after { content: '–'; }
.guia__peca summary img { width: 52px; height: 52px; object-fit: cover; }
.guia__peca .link-fino { margin: 12px 0 18px; }
.guia__duvida { text-align: center; padding-bottom: 60px; }
.guia__duvida p { margin: 10px auto 22px; max-width: 44ch; color: #4f4a44; }

/* ---------- Aviso de cookies ---------- */
.dss-cookies { position: fixed; z-index: 900; left: 10px; right: 10px; bottom: calc(10px + env(safe-area-inset-bottom)); display: grid; gap: 10px; padding: 14px 16px; background: var(--tinta, #151412); color: #f3ece0; box-shadow: 0 18px 40px -18px rgba(0, 0, 0, .6); font: 400 12.5px/1.5 var(--sans, Arial, sans-serif); }
.dss-cookies p { margin: 0; }
.dss-cookies a { color: var(--ouro-claro, #d9b77c); text-decoration: underline; }
.dss-cookies div { display: flex; gap: 8px; }
.dss-cookies button { flex: 1; min-height: 42px; border: 1px solid rgba(255, 255, 255, .35); background: transparent; color: #fff; font: 500 11px/1 var(--sans, Arial, sans-serif); letter-spacing: .14em; text-transform: uppercase; cursor: pointer; }
.dss-cookies button[data-c="sim"] { background: var(--ouro, #ad7a36); border-color: var(--ouro, #ad7a36); }

@media (min-width: 900px) {
  .trilha { padding: 26px 48px 0; }
  .pg-peca { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 64px; align-items: start; max-width: 1240px; margin: 0 auto; padding: 26px 48px 90px; }
  .pg-peca__foto { margin: 0; position: sticky; top: calc(var(--topo) + 20px); }
  .pg-peca__acoes { grid-auto-flow: column; align-items: center; justify-content: start; }
  .pg-peca__acoes .botao { width: auto; }
  .pg-outras__grade { grid-template-columns: repeat(4, 1fr); gap: 22px; }
  .depo__lista { grid-auto-flow: row; grid-template-columns: repeat(3, 1fr); grid-auto-columns: auto; overflow: visible; margin: 0; padding: 0; }
  .guia__abertura { padding: 80px 48px 30px; }
  .dss-cookies { left: auto; right: 24px; bottom: 24px; max-width: 380px; }
}

/* ---------- Compartilhar com ícones ---------- */
.partilha { margin-top: 30px; }
.partilha__rotulo { display: block; margin-bottom: 10px; font: 500 10px/1 var(--sans); letter-spacing: .24em; text-transform: uppercase; color: var(--suave); }
.partilha__icones { display: flex; gap: 10px; }
.partilha__icones a, .partilha__icones button { display: grid; place-items: center; width: 48px; height: 48px; padding: 0; border: 1px solid var(--linha); border-radius: 50%; background: var(--papel); color: var(--tinta); cursor: pointer; transition: border-color .3s, color .3s, background .3s; }
.partilha__icones a:hover, .partilha__icones button:hover, .partilha__icones .is-ok { border-color: var(--ouro); color: var(--ouro); }
.partilha__msg { min-height: 1.2em; margin: 8px 0 0; font-size: 12.5px; color: var(--suave); }

/* ---------- Guia de medidas com ilustrações ---------- */
.figura { display: block; width: 100%; height: auto; overflow: visible; }
.figura__corpo path { fill: none; stroke: var(--tinta); stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
.figura__corpo path[fill] { fill: url(#figTecido0); }
.figura__fio { stroke: var(--ouro-fio) !important; stroke-dasharray: 2 3; }
.figura__medida ellipse, .figura__medida > path { fill: none; stroke: var(--ouro); stroke-width: 1.6; stroke-dasharray: 5 4; }
.figura__guia { stroke: var(--ouro-fio) !important; stroke-dasharray: 2 3 !important; stroke-width: 1 !important; }
.figura__medida circle { fill: var(--ouro); }
.figura__medida text { fill: #fff; font: 600 12px var(--sans); text-anchor: middle; }
.figura__medida.is-off { opacity: .12; }
.figura__medida.is-off circle { fill: var(--suave); }

.gm-capa { display: grid; gap: 28px; padding: 40px var(--lado) 48px; background: linear-gradient(180deg, var(--marfim), var(--papel)); border-bottom: 1px solid var(--linha); }
.gm-capa h1 { margin: 14px 0 16px; font-size: clamp(2.8rem, 12vw, 5.6rem); line-height: .95; letter-spacing: -.025em; }
.gm-capa h1 em, .gm-duvida h2 em { font-style: italic; color: var(--ouro); }
.gm-capa__intro { font: 400 19px/1.5 var(--serif); color: #4f4a44; }
.gm-capa__intro p { margin: 0; }
.gm-precisa { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 0; padding: 0; list-style: none; }
.gm-precisa li { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px 8px 10px; border: 1px solid var(--linha); border-radius: 999px; background: #fff; font: 500 11px/1 var(--sans); letter-spacing: .1em; text-transform: uppercase; }
.gm-precisa svg { width: 18px; height: 18px; fill: none; stroke: var(--ouro); stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.gm-capa__figura { position: relative; margin: 0; padding: 22px 18px 18px; background: #fff; border: 1px solid var(--linha); box-shadow: 0 30px 60px -40px rgba(60, 45, 28, .45); }
.gm-capa__figura::before { content: ''; position: absolute; inset: 8px; border: 1px solid var(--ouro-fio); pointer-events: none; }
.figura--grande { max-width: 300px; margin: 0 auto; }
.gm-capa__figura figcaption { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px 14px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--linha); }
.gm-capa__figura figcaption span { display: flex; align-items: center; gap: 8px; font: 500 16px/1 var(--serif); }
.gm-capa__figura figcaption b { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--ouro); color: #fff; font: 600 10px/1 var(--sans); }

.gm-cabeca { margin-bottom: 24px; }
.gm-cabeca h2 { margin-top: 10px; font-size: clamp(2.3rem, 10vw, 4rem); line-height: 1; letter-spacing: -.02em; }
.gm-dica { margin: 10px 0 0; font-size: 13px; color: var(--suave); }
.gm-passos, .gm-pecas, .gm-escolha { padding: 52px var(--lado); }
.gm-pecas, .gm-escolha { border-top: 1px solid var(--linha); }
.gm-passos ol { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.gm-passo { display: grid; grid-template-columns: 104px 1fr; gap: 16px; align-items: center; padding: 14px 16px 14px 10px; background: var(--papel); border: 1px solid var(--linha); }
.gm-passo__figura .figura { max-height: 170px; }
.gm-passo__num { font: italic 400 15px/1 var(--serif); color: var(--ouro); }
.gm-passo h3 { margin: 4px 0 6px; font-size: 26px; line-height: 1; }
.gm-passo p { margin: 0; font-size: 13.5px; line-height: 1.55; color: #4f4a44; }
.gm-passo .gm-passo__dica { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--linha); font-size: 12px; color: var(--suave); }
.gm-passo .gm-passo__dica::before { content: 'Dica · '; color: var(--ouro); font-weight: 500; }

.gm-escolha__grade { display: grid; gap: 12px; }
.gm-escolha__grade div { padding: 20px; border: 1px solid var(--linha); background: #fff; }
.gm-escolha__grade h3 { font-size: 22px; }
.gm-escolha__grade p { margin: 6px 0 0; font-size: 13.5px; color: #4f4a44; }

.gm-duvida { display: grid; justify-items: center; gap: 12px; padding: 64px var(--lado) 70px; background: var(--escuro); color: #f3ece0; text-align: center; }
.gm-duvida h2 { font-size: clamp(2.3rem, 10vw, 4rem); line-height: 1; color: #fff; }
.gm-duvida em { color: var(--ouro-claro) !important; }
.gm-duvida p { max-width: 42ch; margin: 0 0 10px; color: #cfc5b6; }

@media (min-width: 900px) {
  .gm-capa { grid-template-columns: 1.1fr .9fr; align-items: center; gap: 70px; max-width: 1240px; margin: 0 auto; padding: 80px 48px; background: none; border: 0; }
  .gm-passos, .gm-pecas, .gm-escolha { max-width: 1240px; margin: 0 auto; padding: 80px 48px; }
  .gm-passos ol { grid-template-columns: repeat(2, 1fr); gap: 18px; }
  .gm-passo { grid-template-columns: 130px 1fr; padding: 20px 24px 20px 14px; }
  .gm-escolha__grade { grid-template-columns: repeat(3, 1fr); }
}

/* ---------- Faixa de confiança (home) ---------- */
.confianca { padding: 26px var(--lado); background: var(--papel); border-top: 1px solid var(--linha); border-bottom: 1px solid var(--linha); }
.confianca ul { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px 14px; max-width: 1240px; margin: 0 auto; padding: 0; list-style: none; }
.confianca li { display: grid; justify-items: center; gap: 8px; text-align: center; font: 500 15px/1.25 var(--serif); }
.confianca svg { width: 26px; height: 26px; fill: none; stroke: var(--ouro); stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
.confianca a { border-bottom: 1px solid var(--ouro-fio); }
.confianca a:hover { color: var(--ouro); }
@media (min-width: 900px) {
  .confianca { padding: 34px 48px; }
  .confianca ul { grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); gap: 0; }
  .confianca li { grid-auto-flow: column; justify-content: center; align-items: center; gap: 12px; padding: 0 18px; font-size: 17px; text-align: left; }
  .confianca li + li { border-left: 1px solid var(--linha); }
}
@media (max-width: 899px) {
  .confianca--3 ul { grid-template-columns: repeat(3, 1fr); gap: 10px; }
  .confianca--3 li { font-size: 13.5px; }
  .confianca--1 ul { grid-template-columns: 1fr; }
}

/* ---------- Oferta do Clube VIP (cupom de boas-vindas) ---------- */
.vip__oferta { margin: 14px 0 0; font: italic 400 21px/1.3 var(--serif); color: var(--ouro-claro); }
.vip__oferta::before { content: "✦ "; font-style: normal; font-size: 14px; vertical-align: 2px; }
.vipjanela__oferta { margin: 4px 0 18px; padding: 12px 14px; border: 1px dashed var(--ouro); background: #fff; font: 500 17px/1.3 var(--serif); color: var(--tinta); text-align: center; }
.vipjanela__oferta small { display: block; margin-top: 4px; font: 400 12px/1.4 var(--sans); color: var(--suave); }

/* ---------- Pré-venda ---------- */
.prevenda { display: grid; gap: 12px; justify-items: start; margin: 22px 0 6px; padding: 20px; border: 1px solid var(--ouro-fio); background: var(--papel); }
.prevenda__selo { margin: 0; padding: 6px 12px; background: var(--ouro); color: #fff; font: 500 10px/1 var(--sans); letter-spacing: .22em; text-transform: uppercase; }
.prevenda__preco { margin: 0; font-size: 13px; color: var(--suave); }
.prevenda__preco s { margin-right: 6px; }
.prevenda__preco strong { font: 500 28px/1 var(--serif); color: var(--tinta); }
.prevenda ul { margin: 0; padding-left: 18px; font-size: 13.5px; line-height: 1.7; color: #4f4a44; }
.prevenda .botao { width: 100%; }
.prevenda__esgotou { margin: 22px 0 0; font: 500 18px/1.3 var(--serif); }

/* ---------- Depoimentos: estrelas e peça ---------- */
.depo__estrelas { margin: 0; color: var(--ouro); letter-spacing: 3px; font-size: 15px; }
.depo__peca { display: flex; align-items: center; gap: 10px; padding-top: 12px; border-top: 1px solid var(--linha); }
.depo__peca img { width: 44px; height: 44px; object-fit: cover; }
.depo__peca span { display: grid; font: 500 9.5px/1.4 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--suave); }
.depo__peca b { font: 500 16px/1.2 var(--serif); letter-spacing: 0; text-transform: none; color: var(--tinta); }

/* ---------- Grupo do WhatsApp (depois do cadastro VIP) ---------- */
.vipjanela__grupo { display: block; margin: 0 0 14px; padding: 13px 14px; background: #1f6f4a; color: #fff; text-align: center; font: 500 12px/1.3 var(--sans); letter-spacing: .12em; text-transform: uppercase; }
.vipjanela__grupo small { display: block; margin-top: 4px; font: 400 12px/1.4 var(--sans); letter-spacing: 0; text-transform: none; opacity: .85; }

/* ---------- Conte como foi ---------- */
.conte__abertura, .obg__abertura { display: grid; justify-items: center; gap: 12px; max-width: 640px; margin: 0 auto; padding: 46px var(--lado) 26px; text-align: center; }
.conte__abertura .selo { justify-content: center; }
.conte__abertura h1, .obg__abertura h1 { font-size: clamp(2.6rem, 11vw, 4.6rem); line-height: 1; letter-spacing: -.02em; }
.conte__abertura h1 em, .obg__abertura h1 em { color: var(--ouro); }
.conte__abertura p, .obg__abertura p { margin: 0; font: 400 18px/1.5 var(--serif); color: #4f4a44; }
.conte__caixa { max-width: 640px; margin: 0 auto; padding: 0 var(--lado) 64px; }
.conte__form { display: grid; gap: 14px; padding: 22px; background: var(--papel); border: 1px solid var(--linha); }
.conte__form label { display: grid; gap: 6px; }
.conte__form label > span, .conte__estrelas legend { font: 500 10px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--suave); }
.conte__form input:not([type="checkbox"]):not([type="radio"]):not([type="file"]), .conte__form select, .conte__form textarea { width: 100%; min-height: 48px; padding: 10px 14px; border: 1px solid var(--linha); border-radius: 0; background: #fff; font: 400 16px/1.4 var(--sans); color: var(--tinta); box-sizing: border-box; }
.conte__form textarea { min-height: 120px; resize: vertical; }
.conte__form input:focus, .conte__form select:focus, .conte__form textarea:focus { outline: 1px solid var(--ouro); border-color: var(--ouro); }
.conte__dupla { display: grid; gap: 14px; }
.conte__foto small { font-size: 12px; color: var(--suave); }
.conte__form .botao { width: 100%; }
.conte__nota { margin: 0; padding: 0; border: 0; }
.conte__nota legend { margin-bottom: 8px; padding: 0; font: 500 10px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--suave); }
.conte__estrelas { display: flex; flex-direction: row-reverse; justify-content: flex-end; gap: 4px; }
.conte__estrelas input { position: absolute; opacity: 0; }
.conte__estrelas label { display: block; font-size: 34px; line-height: 1; color: var(--linha); cursor: pointer; transition: color .2s; }
.conte__estrelas input:checked ~ label, .conte__estrelas label:hover, .conte__estrelas label:hover ~ label { color: var(--ouro); }
.conte__estrelas input:focus-visible + label { outline: 1px solid var(--ouro); }
.conte__erro { margin: 0 0 14px; padding: 12px 14px; border: 1px solid #e7b9b3; background: #fbefed; color: #a3352b; font-size: 14px; }
.conte__ok { display: grid; justify-items: center; gap: 14px; padding: 30px 22px; background: var(--papel); border: 1px solid var(--linha); text-align: center; }
.conte__ok h2 { font-size: 32px; }
.conte__ok p { margin: 0; color: #4f4a44; }

/* ---------- Obrigada (QR do cartão) ---------- */
.obg__cartoes { display: grid; gap: 12px; max-width: 980px; margin: 0 auto; padding: 0 var(--lado) 40px; }
.obg__cartao { display: grid; gap: 8px; padding: 20px; background: var(--papel); border: 1px solid var(--linha); transition: border-color .3s; }
.obg__cartao:hover { border-color: var(--ouro); }
.obg__cartao small { font: 500 10px/1 var(--sans); letter-spacing: .22em; text-transform: uppercase; color: var(--ouro); }
.obg__cartao strong { font: 500 21px/1.25 var(--serif); }
.obg__cartao span { font: 500 11px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; }
.obg__cartao i { font-style: normal; color: var(--ouro); }
.obg__cartao--escuro { background: var(--escuro); border-color: var(--escuro); color: #f3ece0; }
.obg__cartao--escuro strong { color: #fff; }
.obg__cuidados { max-width: 980px; margin: 0 auto; padding: 30px var(--lado) 56px; border-top: 1px solid var(--linha); }
.obg__cuidados ol { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.obg__cuidados li { display: flex; gap: 16px; padding: 18px; background: var(--papel); border: 1px solid var(--linha); }
.obg__cuidados li b { font: 500 26px/1 var(--serif); color: var(--ouro); }
.obg__cuidados h3 { font-size: 22px; }
.obg__cuidados li p { margin: 4px 0 0; font-size: 14px; color: #4f4a44; }
.obg__nota { margin: 14px 0 0; font-size: 12.5px; color: var(--suave); }

@media (min-width: 900px) {
  .conte__dupla { grid-template-columns: 1fr 1fr; }
  .obg__cartoes { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .obg__cuidados ol { grid-template-columns: repeat(2, 1fr); }
  .conte__abertura, .obg__abertura { padding-top: 80px; }
}

.conte__form .espera__aceite > span { font: 400 12.5px/1.55 var(--sans); letter-spacing: 0; text-transform: none; color: var(--suave); }
.conte__form .espera__aceite { display: flex; gap: 10px; align-items: flex-start; }
.conte__form > *, .conte__form label { min-width: 0; }
.conte__form input[type="file"] { max-width: 100%; font-size: 13px; }

/* ---------- Campanha (faixa do topo) ---------- */
.campanha { position: relative; z-index: 70; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px 16px; padding: 10px 16px; background: linear-gradient(90deg, #0d0c0a, #2a2118 50%, #0d0c0a); color: #f3ece0; text-align: center; font: 400 12.5px/1.4 var(--sans, Arial, sans-serif); }
.campanha p { margin: 0; }
.campanha__texto b { color: var(--ouro-claro, #d9b77c); font-weight: 500; letter-spacing: .08em; text-transform: uppercase; font-size: 11px; margin-right: 4px; }
.campanha__conta { font-variant-numeric: tabular-nums; letter-spacing: .04em; }
.campanha__conta small { opacity: .7; margin-right: 4px; }
.campanha__conta span { font-weight: 600; color: #fff; }
.campanha__link { font: 500 10.5px/1 var(--sans, Arial, sans-serif); letter-spacing: .16em; text-transform: uppercase; color: var(--ouro-claro, #d9b77c); border-bottom: 1px solid currentColor; padding-bottom: 2px; }

/* ---------- Galeria da peça ---------- */
.pg-peca__foto .galeria { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.pg-peca__foto .galeria::-webkit-scrollbar { display: none; }
.pg-peca__foto .galeria > * { flex: 0 0 100%; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; scroll-snap-align: start; background: var(--papel); }
.galeria__pontos { position: absolute; left: 0; right: 0; bottom: 12px; display: flex; justify-content: center; gap: 6px; pointer-events: none; }
.galeria__pontos i { width: 6px; height: 6px; border-radius: 50%; background: rgba(255, 255, 255, .55); box-shadow: 0 0 0 1px rgba(0, 0, 0, .12); transition: background .3s, transform .3s; }
.galeria__pontos i.is-on { background: #fff; transform: scale(1.3); }
.pg-peca__modelo { margin: -4px 0 10px; font-size: 12.5px; color: var(--suave); }
.pg-peca__modelo::before { content: '✦ '; color: var(--ouro); }

/* ---------- Trocas e "ver ao vivo" na peça ---------- */
.peca-troca { display: flex; gap: 10px; align-items: flex-start; margin: 16px 0 0; font-size: 13px; line-height: 1.5; color: #4f4a44; }
.peca-troca svg, .peca-vivo svg { flex: none; width: 20px; height: 20px; fill: none; stroke: var(--ouro); stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.peca-troca a { color: var(--ouro); border-bottom: 1px solid var(--ouro-fio); }
.peca-vivo { display: flex; gap: 12px; align-items: center; margin: 14px 0 0; padding: 12px 14px; border: 1px solid var(--linha); background: var(--papel); font-size: 12.5px; line-height: 1.45; color: var(--suave); transition: border-color .3s; }
.peca-vivo:hover { border-color: var(--ouro); }
.peca-vivo b { display: block; font: 500 17px/1.2 var(--serif); color: var(--tinta); }

/* ---------- Aniversário no Clube VIP ---------- */
.niver { display: grid; gap: 6px; margin: 2px 0 6px; }
.niver > span { font: 500 10.5px/1.4 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--suave); }
.niver small { letter-spacing: 0; text-transform: none; font-size: 11.5px; }
.niver div { display: flex; gap: 8px; }
.niver select { flex: 1; min-height: 44px; padding: 0 10px; border: 0; border-bottom: 1px solid var(--linha); background: transparent; font: 400 15px var(--sans); color: var(--tinta); border-radius: 0; }

/* ---------- Vale-presente ---------- */
.vale__valores { display: grid; grid-template-columns: repeat(auto-fit, minmax(90px, 1fr)); gap: 8px; margin: 0; padding: 0; border: 0; }
.vale__valores legend { margin-bottom: 8px; padding: 0; font: 500 10px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--suave); }
.vale__valores label { position: relative; display: block; }
.vale__valores input { position: absolute; opacity: 0; }
.vale__valores span { display: block; padding: 14px 6px; border: 1px solid var(--linha); background: #fff; text-align: center; font: 500 20px/1 var(--serif); cursor: pointer; transition: border-color .2s, background .2s; }
.vale__valores input:checked + span { border-color: var(--ouro); background: #fbf4e8; box-shadow: inset 0 0 0 1px var(--ouro); }
.vale__valores input:focus-visible + span { outline: 1px solid var(--ouro); outline-offset: 2px; }
.vale__como { margin: 0; font-size: 12.5px; color: var(--suave); }
.vale__cartao-area { display: grid; justify-items: center; gap: 22px; padding: 36px var(--lado) 64px; }
.vale__cartao { position: relative; display: grid; justify-items: center; gap: 10px; width: 100%; max-width: 420px; padding: 38px 26px; background: linear-gradient(160deg, #1a1612, #0d0c0a 60%, #2a2118); color: #f3ece0; text-align: center; box-shadow: 0 40px 70px -40px rgba(0, 0, 0, .7); }
.vale__cartao::before { content: ''; position: absolute; inset: 10px; border: 1px solid rgba(217, 183, 124, .45); pointer-events: none; }
.vale__marca { margin: 0; font: 500 20px/1 var(--serif); letter-spacing: .24em; color: #fff; }
.vale__rotulo { margin: 6px 0 0; font: 500 10px/1 var(--sans); letter-spacing: .3em; text-transform: uppercase; color: var(--ouro-claro); }
.vale__valor { margin: 0; font: 500 54px/1 var(--serif); color: var(--ouro-claro); }
.vale__para { margin: 0; font: 400 16px/1.5 var(--serif); }
.vale__para b { font-weight: 500; color: #fff; }
.vale__msg { margin: 4px 0; font: italic 400 18px/1.45 var(--serif); color: #e6dccb; }
.vale__codigo { margin: 8px 0 0; padding: 10px 18px; border: 1px dashed var(--ouro-claro); font: 500 18px/1 var(--sans); letter-spacing: .2em; color: #fff; }
.vale__uso { margin: 4px 0 0; max-width: 30ch; font-size: 11.5px; line-height: 1.5; color: #b9ad9c; }
.conte__form .vale__valores label > span { font: 500 21px/1 var(--serif); letter-spacing: 0; text-transform: none; color: var(--tinta); }

/* ---------- Compartilhar: bolinhas nas cores das redes ---------- */
.partilha--cores .partilha__icones a, .partilha--cores .partilha__icones button { border: 0; color: #fff; transition: transform .25s, filter .25s; }
.partilha--cores .partilha__icones a:hover, .partilha--cores .partilha__icones button:hover { color: #fff; transform: translateY(-2px); filter: brightness(1.06); }
.partilha--cores .partilha__w { background: #25D366; }
.partilha--cores .partilha__i { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%); }
.partilha--cores .partilha__f { background: #1877F2; }
.partilha--cores .partilha__l { background: var(--ouro); }
.partilha--cores .partilha__icones .is-ok { color: #fff; box-shadow: 0 0 0 3px var(--ouro-fio); }
.redes-cores .topo__ig { width: 34px; height: 34px; margin: 3px; border-radius: 50%; color: #fff; background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%); transition: transform .25s; }
.redes-cores .topo__ig:hover { transform: scale(1.06); }
.redes-cores .topo__ig svg { width: 17px; stroke: #fff; }

/* ---------- Estoque: últimas unidades ---------- */
.estoque-aviso { display: inline-flex; align-items: center; gap: 8px; margin: 14px 0 0; padding: 7px 12px; background: #fbefe4; color: #8a4b1c; font: 500 11px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; }
.estoque-aviso i { width: 7px; height: 7px; border-radius: 50%; background: #d9772b; animation: dssPulsa 1.6s ease-in-out infinite; }
@keyframes dssPulsa { 50% { opacity: .35; } }
@media (prefers-reduced-motion: reduce) { .estoque-aviso i { animation: none; } }

/* ---------- Páginas institucionais e rodapé legal ---------- */
.inst__corpo { max-width: 820px; margin: 0 auto; padding: 0 var(--lado) 64px; }
.inst__texto { font: 400 17px/1.7 var(--serif); color: #3a332d; }
.inst__texto h2 { margin: 30px 0 8px; font-size: 26px; color: var(--tinta); }
.inst__texto p { margin: 0 0 12px; }
.inst__texto ul { margin: 0 0 12px; padding-left: 20px; }
.inst__texto li { margin-bottom: 6px; }
.inst__data { margin-top: 26px !important; font: 400 12.5px var(--sans); color: var(--suave); }
.inst__faq .guia__peca summary { font-size: 19px; padding: 16px 0; }
.inst__faq .guia__peca p { margin: 0 0 18px; font: 400 16px/1.6 var(--serif); color: #4f4a44; }
.inst__mais { margin: 28px 0 0; text-align: center; color: #4f4a44; }
.inst__contato { padding: 0; }
.rodape__legal { margin: 18px auto 0; max-width: 680px; padding: 16px var(--lado) 0; border-top: 1px solid rgba(217, 183, 124, .25); font-size: 11.5px; line-height: 1.6; opacity: .85; }
.rodape__legal p { margin: 0 0 6px; }
.rodape__legal a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.rodape__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 16px; }

/* ---------- Loja virtual: comprar na página da peça ---------- */
.comprar { display: grid; gap: 14px; margin: 18px 0 6px; }
.comprar__preco { display: grid; gap: 2px; }
.comprar__preco s { font-size: 13px; color: var(--suave); }
.comprar__preco strong { font: 500 30px/1.1 var(--serif); }
.comprar__preco > span { font-size: 13px; color: var(--suave); }
.comprar__tamanhos { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; border: 0; }
.comprar__tamanhos legend { width: 100%; margin-bottom: 8px; padding: 0; font: 500 10.5px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--suave); }
.comprar__tamanhos label { position: relative; }
.comprar__tamanhos input { position: absolute; opacity: 0; }
.comprar__tamanhos span { display: grid; place-items: center; min-width: 52px; height: 48px; padding: 0 14px; border: 1px solid var(--linha); background: #fff; font: 500 14px var(--sans); cursor: pointer; transition: border-color .2s, background .2s; }
.comprar__tamanhos input:checked + span { border-color: var(--tinta); background: var(--tinta); color: #fff; }
.comprar__tamanhos input:focus-visible + span { outline: 1px solid var(--ouro); outline-offset: 2px; }
.comprar__botoes { display: grid; gap: 10px; }
.comprar__botoes .botao { width: 100%; }
.comprar__agora { border-color: var(--tinta); color: var(--tinta); background: transparent; justify-content: center; }
.comprar__msg { margin: 0; min-height: 1em; font-size: 13px; }
.comprar__msg.is-erro { color: #a3352b; }
.comprar .peca__nota a { color: var(--ouro); border-bottom: 1px solid var(--ouro-fio); }

/* ---------- Sacola no topo ---------- */
.topo__sacola { position: relative; display: grid; place-items: center; width: 40px; height: 40px; color: var(--tinta); }
.topo__sacola svg { width: 21px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linejoin: round; }
.topo__sacola-ponto { position: absolute; top: 8px; right: 7px; width: 8px; height: 8px; border-radius: 50%; background: var(--ouro); box-shadow: 0 0 0 2px var(--marfim); }

/* ---------- Sacola e finalização (WooCommerce no visual da loja) ---------- */
.loja__abertura { display: grid; justify-items: center; gap: 10px; max-width: 760px; margin: 0 auto; padding: 40px var(--lado) 20px; text-align: center; }
.loja__abertura .selo { justify-content: center; }
.loja__abertura h1 { font-size: clamp(2.4rem, 10vw, 4.2rem); line-height: 1; letter-spacing: -.02em; }
.loja__abertura h1 em { color: var(--ouro); }
.loja__abertura p { margin: 0; font: 400 17px/1.5 var(--serif); color: #4f4a44; }
.loja__conteudo { max-width: 1040px; margin: 0 auto; padding: 0 var(--lado) 30px; font-size: 14px; }
.loja__seguro { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 0 auto 50px; padding: 0 var(--lado); font-size: 12px; color: var(--suave); text-align: center; }
.loja__seguro svg { width: 18px; flex: none; fill: none; stroke: var(--ouro); stroke-width: 1.5; }
.luxo-loja .woocommerce a { color: var(--tinta); }
.luxo-loja .woocommerce table.shop_table { border: 1px solid var(--linha); border-radius: 0; background: var(--papel); border-collapse: collapse; }
.luxo-loja .woocommerce table.shop_table th, .luxo-loja .woocommerce table.shop_table td { border-top: 1px solid var(--linha); padding: 12px; }
.luxo-loja .woocommerce table.shop_table img { width: 64px; height: auto; }
.luxo-loja .woocommerce .button, .luxo-loja .woocommerce button.button, .luxo-loja .woocommerce input.button, .luxo-loja .woocommerce a.button, .luxo-loja .woocommerce #place_order {
  min-height: 50px; padding: 0 22px; border: 1px solid var(--tinta); border-radius: 0; background: var(--tinta); color: #fff; font: 500 12px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; }
.luxo-loja .woocommerce .button:hover, .luxo-loja .woocommerce #place_order:hover { background: var(--ouro); border-color: var(--ouro); color: #fff; }
.luxo-loja .woocommerce .button:disabled, .luxo-loja .woocommerce .button[disabled] { opacity: .45; padding: 0 22px; }
.luxo-loja .woocommerce a.checkout-button, .luxo-loja .woocommerce #place_order { width: 100%; font-size: 13px; min-height: 56px; }
.luxo-loja .woocommerce form .form-row label { font: 500 10.5px/1.4 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--suave); }
.luxo-loja .woocommerce form .form-row input.input-text, .luxo-loja .woocommerce form .form-row textarea, .luxo-loja .woocommerce form .form-row select, .luxo-loja .select2-container .select2-selection--single, .luxo-loja .woocommerce .quantity .qty, .luxo-loja .woocommerce #coupon_code {
  min-height: 48px; padding: 10px 14px; border: 1px solid var(--linha); border-radius: 0; background: #fff; font: 400 16px var(--sans); color: var(--tinta); box-sizing: border-box; }
.luxo-loja .select2-container .select2-selection--single .select2-selection__rendered { line-height: 26px; padding: 0; }
.luxo-loja .select2-container .select2-selection--single .select2-selection__arrow { top: 10px; right: 8px; }
.luxo-loja .woocommerce form .form-row input.input-text:focus, .luxo-loja .woocommerce form .form-row textarea:focus { outline: 1px solid var(--ouro); border-color: var(--ouro); }
.luxo-loja .woocommerce-checkout h3, .luxo-loja .cart_totals h2, .luxo-loja .woocommerce-order-details__title, .luxo-loja .woocommerce-column__title { font: 500 26px/1.2 var(--serif); margin: 10px 0 14px; }
.luxo-loja .woocommerce-checkout #payment { border-radius: 0; background: var(--papel); border: 1px solid var(--linha); }
.luxo-loja .woocommerce-checkout #payment div.payment_box { background: #fff; border-radius: 0; font-size: 13px; color: #4f4a44; }
.luxo-loja .woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #fff; }
.luxo-loja .woocommerce-message, .luxo-loja .woocommerce-info, .luxo-loja .woocommerce-error { border-top-color: var(--ouro); background: var(--papel); font-size: 14px; }
.luxo-loja .woocommerce-message::before, .luxo-loja .woocommerce-info::before { color: var(--ouro); }
.luxo-loja .woocommerce-error { border-top-color: #a3352b; }
.luxo-loja .woocommerce .cart-collaterals .cart_totals { width: 100%; float: none; }
.luxo-loja .woocommerce-order-overview { padding: 16px; background: var(--papel); border: 1px solid var(--linha); }
.luxo-loja .woocommerce ul#shipping_method li label { font-size: 13.5px; }
.luxo-loja .return-to-shop .button { width: auto; }
@media (min-width: 900px) {
  .comprar__botoes { grid-template-columns: 1fr 1fr; }
  .luxo-loja .woocommerce .cart-collaterals .cart_totals { width: 48%; float: right; }
  .loja__abertura { padding-top: 70px; }
}
.luxo-loja.woocommerce-cart .woocommerce-message .button { display: none; }
.luxo-loja .woocommerce .button:disabled, .luxo-loja .woocommerce .button[disabled], .luxo-loja .woocommerce button.button:disabled[disabled] { color: #fff !important; background: #8a847c !important; border-color: #8a847c !important; opacity: .7; }
.luxo-loja .woocommerce .button { line-height: 1.2; height: auto; padding-top: 12px; padding-bottom: 12px; }
.luxo-loja .woocommerce-cart-form .actions .coupon { display: flex; gap: 8px; flex-wrap: wrap; }
.luxo-loja .woocommerce-cart-form .actions .coupon #coupon_code { flex: 1 1 160px; width: auto !important; }
.luxo-loja .woocommerce-cart-form .actions .coupon .button { flex: 0 0 auto; }
@media (max-width: 768px) {
  .luxo-loja .woocommerce-cart-form .actions .button[name="update_cart"] { width: 100%; margin-top: 8px; }
  .luxo-loja .woocommerce table.shop_table_responsive tr td::before { font: 500 10px/1.6 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--suave); }
}

/* ---------- Minha conta ---------- */
.topo__conta { display: grid; place-items: center; width: 40px; height: 40px; color: var(--tinta); }
.topo__conta svg { width: 21px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.luxo-loja .woocommerce-account .woocommerce, .luxo-loja.woocommerce-account .woocommerce { display: grid; gap: 22px; }
.luxo-loja .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.luxo-loja .woocommerce-MyAccount-navigation a { display: block; padding: 10px 16px; border: 1px solid var(--linha); background: var(--papel); font: 500 11px/1 var(--sans); letter-spacing: .12em; text-transform: uppercase; text-decoration: none; }
.luxo-loja .woocommerce-MyAccount-navigation .is-active a { background: var(--tinta); border-color: var(--tinta); color: #fff; }
.luxo-loja.woocommerce-account .woocommerce-MyAccount-navigation, .luxo-loja.woocommerce-account .woocommerce-MyAccount-content { float: none; width: 100%; }
.conta__ola { margin: 0 0 16px; font: 400 20px/1.4 var(--serif); }
.conta__atalhos { display: grid; gap: 10px; }
.conta__atalhos a { display: grid; gap: 4px; padding: 18px; background: var(--papel); border: 1px solid var(--linha); text-decoration: none; transition: border-color .3s; }
.conta__atalhos a:hover { border-color: var(--ouro); }
.conta__atalhos b { font: 500 21px/1.2 var(--serif); }
.conta__atalhos span { font-size: 13px; color: var(--suave); }
.conta__ajuda { margin-top: 16px; font-size: 13px; color: var(--suave); }
.conta__ajuda a { color: var(--ouro); }
.luxo-loja .u-columns.col2-set { display: grid; gap: 22px; }
.luxo-loja .u-columns .u-column1, .luxo-loja .u-columns .u-column2 { float: none; width: 100%; padding: 22px; background: var(--papel); border: 1px solid var(--linha); box-sizing: border-box; }
.luxo-loja .woocommerce form.login, .luxo-loja .woocommerce form.register { margin: 0; padding: 0; border: 0; }
.luxo-loja .u-columns h2, .luxo-loja .woocommerce-Address-title h2, .luxo-loja .woocommerce-MyAccount-content h2 { font: 500 26px/1.2 var(--serif); }
.luxo-loja .woocommerce-orders-table .button, .luxo-loja .woocommerce-Address .edit { min-height: 38px !important; padding: 10px 14px !important; font-size: 11px !important; }
.luxo-loja .woocommerce-Addresses .woocommerce-Address { padding: 18px; background: var(--papel); border: 1px solid var(--linha); margin-bottom: 12px; }
.luxo-loja .woocommerce-Address address { font-style: normal; line-height: 1.6; }
.luxo-loja .woocommerce-password-strength { font-size: 12px; }
.luxo-loja .woocommerce form .show-password-input { top: 12px; }
@media (min-width: 900px) {
  .luxo-loja .u-columns.col2-set { grid-template-columns: 1fr 1fr; }
  .conta__atalhos { grid-template-columns: repeat(3, 1fr); }
}

/* ---------- Coleção editorial no celular (destaque + pares, como revista) ---------- */
@media (max-width: 899px) {
  .colecao-editorial .vitrine { display: grid; grid-template-columns: 1fr 1fr; gap: 30px 12px; margin: 0; padding: 0; overflow: visible; scroll-snap-type: none; }
  .colecao-editorial .cartao { flex: none; max-width: none; min-width: 0; }
  .colecao-editorial .cartao:nth-child(3n+1), .colecao-editorial .cartao:last-child:nth-child(3n+2) { grid-column: 1 / -1; }
  .colecao-editorial .cartao:nth-child(3n+1) .cartao__foto, .colecao-editorial .cartao:last-child:nth-child(3n+2) .cartao__foto { aspect-ratio: 4 / 5; }
  .colecao-editorial .cartao:not(:nth-child(3n+1)) .cartao__foto::after { inset: 7px; }
  .colecao-editorial .cartao:not(:nth-child(3n+1)) .cartao__num { top: 13px; left: 13px; font-size: 12px; }
  .colecao-editorial .cartao h3 { margin-top: 12px; font-size: 19px; line-height: 1.15; }
  .colecao-editorial .cartao:nth-child(3n+1) h3 { margin-top: 14px; font-size: 26px; }
  .colecao-editorial .cartao__link { font-size: 10px; letter-spacing: .14em; }
  .colecao-editorial .vitrine__rodape { display: none; }
}
