/* Vitrine: um CSS para todos os temas.
   O tema entra só por variáveis (--c-*, --fonte-*, --raio...) e por classes
   no body (cab-*, card-moldura, caixa-alta). Seção pode trocar o esquema de
   cor com esq-alt, esq-inverso ou esq-destaque. */

:root {
  --fundo: var(--c-fundo);
  --texto: var(--c-texto);
  --destaque: var(--c-destaque);
  --destaque-texto: var(--c-destaque-texto);
}
.esq-alt { --fundo: color-mix(in srgb, var(--c-texto) 5%, var(--c-fundo)); }
.esq-inverso {
  --fundo: var(--c-texto); --texto: var(--c-fundo);
  --destaque: var(--c-fundo); --destaque-texto: var(--c-texto);
}
.esq-destaque {
  --fundo: var(--c-destaque); --texto: var(--c-destaque-texto);
  --destaque: var(--c-destaque-texto); --destaque-texto: var(--c-destaque);
}
:root, .esq-alt, .esq-inverso, .esq-destaque {
  --suave: color-mix(in srgb, var(--texto) 62%, var(--fundo));
  --borda: color-mix(in srgb, var(--texto) 13%, var(--fundo));
  --fundo-alt: color-mix(in srgb, var(--texto) 5%, var(--fundo));
  --fundo-alt2: color-mix(in srgb, var(--texto) 9%, var(--fundo));
}
.esq-alt, .esq-inverso, .esq-destaque { background: var(--fundo); color: var(--texto); }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0; background: var(--fundo); color: var(--texto);
  font-family: var(--fonte-texto); font-size: 16px; line-height: 1.55;
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
img { max-width: 100%; display: block; }
a { color: inherit; }
button { font: inherit; color: inherit; }
input, select { font: inherit; color: inherit; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
[hidden] { display: none !important; }

.ct { width: 100%; max-width: var(--largura); margin: 0 auto; padding: 0 clamp(16px, 4vw, 48px); }
.ct-estreito { max-width: 820px; }

h1, h2, h3, .t-xl, .t-l, .t-xxl, .cab-logo {
  font-family: var(--fonte-titulo); font-weight: var(--peso-titulo);
  letter-spacing: var(--esp-titulo); line-height: 1.08; margin: 0;
}
.caixa-alta h1, .caixa-alta h2, .caixa-alta .cab-logo, .caixa-alta .btn { text-transform: uppercase; }
.t-xxl { font-size: clamp(2.8rem, 8vw, 7rem); line-height: .98; }
.t-xl { font-size: clamp(2.1rem, 5vw, 4.2rem); }
.t-l { font-size: clamp(1.55rem, 2.8vw, 2.4rem); }
p { margin: 0; }

/* ---------- botões ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 50px; padding: 0 30px; border-radius: var(--raio-botao);
  background: var(--destaque); color: var(--destaque-texto); border: 1.5px solid var(--destaque);
  font-weight: 600; font-size: .95rem; letter-spacing: .01em; text-decoration: none; cursor: pointer;
  transition: transform .15s, background .15s, color .15s, opacity .15s;
}
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: none; }
.btn[disabled] { opacity: .45; cursor: not-allowed; transform: none; }
.btn-sec { background: transparent; color: var(--texto); border-color: var(--texto); }
.btn-sec:hover { background: var(--texto); color: var(--fundo); }
.btn-cheio { width: 100%; }
.btn-p { min-height: 40px; padding: 0 16px; font-size: .88rem; }
.ic {
  display: inline-grid; place-items: center; width: 42px; height: 42px; border: 0; background: none;
  border-radius: 50%; cursor: pointer; position: relative; text-decoration: none;
}
.ic:hover { background: var(--fundo-alt2); }

/* ---------- aviso ---------- */
.sec-aviso { font-size: .84rem; text-align: center; padding: 9px 0; font-weight: 500; letter-spacing: .02em; }
.sec-aviso a { text-decoration: none; }
.sec-rolante { overflow: hidden; padding: 12px 0; font-weight: 600; font-size: .92rem; white-space: nowrap; }
.caixa-alta .sec-rolante { text-transform: uppercase; letter-spacing: .04em; }
.rolante-trilho { display: flex; width: max-content; animation: rolar var(--rolar, 38s) linear infinite; animation-direction:var(--rolar-direcao,normal); }
.rolante-grupo { display: flex; }
.rolante-grupo span { padding: 0 28px; position: relative; }
.rolante-grupo span::after { content: ""; position: absolute; right: -3px; top: 50%; width: 6px; height: 6px; border-radius: 50%; background: currentColor; transform: translateY(-50%); opacity: .55; }
@keyframes rolar { to { transform: translateX(-25%); } }
@media (prefers-reduced-motion: reduce) { .rolante-trilho { animation: none; } }

/* ---------- cabeçalho ---------- */
.cab { position: sticky; top: 0; z-index: 40; background: var(--fundo); border-bottom: 1px solid var(--borda); }
.cab-in { display: grid; align-items: center; min-height: 72px; gap: 8px 24px; }
.cab-logo { font-size: 1.45rem; text-decoration: none; white-space: nowrap; }
.cab-nav { display: flex; gap: 26px; flex-wrap: wrap; }
.cab-nav a { text-decoration: none; font-size: .94rem; padding: 6px 0; border-bottom: 1.5px solid transparent; }
.cab-nav a:hover, .cab-nav a[aria-current] { border-color: currentColor; }
.cab-acoes { display: flex; align-items: center; justify-content: flex-end; gap: 2px; }
.cab-menu-btn { display: none; }
.bolha {
  position: absolute; top: 3px; right: 1px; min-width: 18px; height: 18px; padding: 0 5px;
  border-radius: 9px; background: var(--destaque); color: var(--destaque-texto);
  font-size: .7rem; font-weight: 700; display: grid; place-items: center;
}
.cab-busca { position: relative; display: flex; align-items: center; gap: 8px; width: min(380px, 32vw);
  height: 44px; padding: 0 14px; border: 1px solid var(--borda); border-radius: var(--raio-botao); background: var(--fundo-alt); margin-right: 6px; }
.cab-busca input { border: 0; outline: 0; background: none; width: 100%; }
.cab-busca:focus-within { border-color: var(--texto); }

.cab-classico .cab-in { grid-template-columns: auto 1fr auto; grid-template-areas: "logo nav acoes"; }
.cab-classico .cab-nav { grid-area: nav; padding-left: 16px; }
.cab-centralizado .cab-in { grid-template-columns: 1fr auto 1fr; grid-template-areas: "esq logo acoes" "nav nav nav"; padding-top: 14px; }
.cab-centralizado .cab-nav { grid-area: nav; justify-content: center; padding-bottom: 8px; }
.cab-centralizado .cab-logo { font-size: 1.9rem; }
.cab-dividido .cab-in { grid-template-columns: 1fr auto 1fr; grid-template-areas: "nav logo acoes"; }
.cab-dividido .cab-nav { grid-area: nav; }
.cab-dividido .cab-logo { font-size: 1.7rem; }
.cab-minimo .cab-in { grid-template-columns: auto 1fr auto; grid-template-areas: "menu logo acoes"; }
.cab-minimo .cab-nav { display: none; }
.cab-minimo .cab-menu-btn { display: inline-grid; grid-area: menu; }
.cab .cab-logo { grid-area: logo; }
.cab-acoes { grid-area: acoes; }
.cab-centralizado .cab-menu-btn { grid-area: esq; justify-self: start; }
.so-movel { display: none; }

.busca-painel { border-top: 1px solid var(--borda); padding: 14px 0; background: var(--fundo); }
.busca-form { position: relative; display: flex; align-items: center; gap: 12px; }
.busca-form input { flex: 1; border: 0; outline: 0; background: none; font-size: 1.25rem; height: 48px; }
.sugestoes {
  position: absolute; top: calc(100% + 8px); left: 0; right: 0; z-index: 50; background: var(--fundo);
  border: 1px solid var(--borda); border-radius: var(--raio); box-shadow: 0 18px 50px rgb(0 0 0 / .14); padding: 8px;
  min-width: 300px;
}
.sugestoes a { display: flex; align-items: center; gap: 12px; padding: 8px; border-radius: calc(var(--raio) * .6); text-decoration: none; }
.sugestoes a:hover, .sugestoes a.ativo { background: var(--fundo-alt); }
.sugestoes img { width: 44px; height: 44px; object-fit: cover; border-radius: calc(var(--raio) * .5); }
.sugestoes small { display: block; color: var(--suave); }
.sugestoes .sug-rotulo { font-size: .74rem; text-transform: uppercase; letter-spacing: .08em; color: var(--suave); padding: 6px 8px 2px; }
.sugestoes .sug-vazio { padding: 10px; color: var(--suave); }

.menu-movel {
  position: fixed; inset: 0 auto 0 0; width: min(360px, 88vw); z-index: 70; background: var(--fundo);
  padding: 16px 20px; overflow: auto; box-shadow: 20px 0 60px rgb(0 0 0 / .2);
}
.menu-movel-topo { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.menu-movel nav a { display: block; padding: 14px 0; border-bottom: 1px solid var(--borda); text-decoration: none; font-size: 1.1rem; }

@media (max-width: 900px) {
  .cab-in, .cab-classico .cab-in, .cab-centralizado .cab-in, .cab-dividido .cab-in, .cab-minimo .cab-in {
    grid-template-columns: auto 1fr auto; grid-template-areas: "menu logo acoes"; min-height: 62px; padding-top: 0;
  }
  .cab-nav, .cab-centralizado .cab-nav { display: none; }
  .cab-menu-btn, .cab-centralizado .cab-menu-btn { display: inline-grid; grid-area: menu; margin-left: -10px; }
  .cab .cab-logo, .cab-centralizado .cab .cab-logo, .cab-dividido .cab .cab-logo { font-size: 1.3rem; justify-self: center; }
  .cab-busca { display: none; }
  .so-movel { display: inline-grid; }
}

/* ---------- seções ---------- */
.sec { padding: clamp(48px, 7vw, 96px) 0; }
.sec + .sec:not([class*="esq-"]):not(.sec-banner) { padding-top: 0; }
.sec-topo { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: clamp(20px, 3vw, 36px); }
.sec-topo-centro { justify-content: center; text-align: center; }
.ver-tudo { font-size: .92rem; font-weight: 500; white-space: nowrap; text-underline-offset: 4px; }

/* banner */
.sec-banner { position: relative; padding: 0; overflow: hidden; }
.banner-sobreposto { display: grid; color: #fff; }
.banner-sobreposto > * { grid-area: 1 / 1; }
.banner-foto { width: 100%; height: 100%; object-fit: cover; }
.banner-veu { background: linear-gradient(180deg, rgb(0 0 0 / .08) 25%, rgb(0 0 0 / .62)); }
.al-centro .banner-veu { background: rgb(0 0 0 / .34); }
.banner-sobreposto.alt-media { min-height: min(52vh, 560px); }
.banner-sobreposto.alt-alta { min-height: min(72vh, 760px); }
.banner-sobreposto.alt-tela { min-height: min(calc(100svh - 72px), 960px); }
.banner-ct { display: flex; align-items: flex-end; padding-top: 80px; padding-bottom: clamp(36px, 7vw, 84px); position: relative; }
.banner-txt { max-width: 640px; display: grid; gap: 18px; justify-items: start; }
.banner-txt p { font-size: clamp(1.02rem, 1.4vw, 1.2rem); max-width: 520px; }
.al-centro .banner-ct { justify-content: center; text-align: center; }
.al-centro .banner-txt { justify-items: center; }
.banner-sobreposto .btn { background: #fff; color: #111; border-color: #fff; }
.banner-dividido .banner-split { display: grid; grid-template-columns: 1fr 1fr; min-height: min(68vh, 760px); }
.banner-dividido.alt-tela .banner-split { min-height: min(calc(100svh - 110px), 920px); }
.banner-dividido.alt-media .banner-split { min-height: min(46vh, 520px); }
.banner-dividido .banner-txt { align-self: center; padding: clamp(36px, 6vw, 96px); max-width: 720px; }
.banner-lado img { width: 100%; height: 100%; object-fit: cover; }
.banner-texto .banner-ct { padding-top: clamp(64px, 10vw, 140px); padding-bottom: clamp(48px, 8vw, 110px); }
.banner-texto .banner-txt { max-width: 1000px; }
@media (max-width: 800px) {
  .banner-dividido .banner-split { grid-template-columns: 1fr; min-height: 0; }
  .banner-dividido .banner-lado { order: -1; aspect-ratio: 4/3; }
  .banner-dividido .banner-txt { padding: 32px clamp(16px, 4vw, 48px) 40px; }
  .banner-sobreposto.alt-tela, .banner-sobreposto.alt-alta { min-height: 74svh; }
}

/* grade de produtos */
.grade { display: grid; grid-template-columns: repeat(var(--colunas), minmax(0, 1fr)); gap: clamp(14px, 2vw, 28px) clamp(12px, 1.6vw, 22px); }
@media (max-width: 1100px) { .grade { grid-template-columns: repeat(min(var(--colunas), 3), minmax(0, 1fr)); } }
@media (max-width: 700px) { .grade { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 12px; } }

.card { display: grid; gap: 12px; text-decoration: none; align-content: start; }
.card-img { position: relative; aspect-ratio: var(--card-prop); overflow: hidden; border-radius: var(--raio); background: var(--fundo-alt); }
.card-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity .35s, transform .6s; }
.card-img-2 { opacity: 0; }
.card:hover .card-img-2 { opacity: 1; }
.card:hover .card-img img:first-child { transform: scale(1.03); }
.card-moldura .card-img { background: var(--fundo-alt); }
.card-moldura .card-img img { inset: 0; }
.card-titulo { font-family: var(--fonte-texto); font-size: .98rem; font-weight: 500; letter-spacing: 0; line-height: 1.35; text-transform: none; }
.card-centro .card-info { text-align: center; justify-items: center; }
.card-centro .preco { justify-content: center; }
.card-info { display: grid; gap: 4px; }
.card-parcela { font-size: .82rem; color: var(--suave); }
.card-esgotado .card-img img { opacity: .55; }
.selo {
  position: absolute; top: 10px; left: 10px; z-index: 2; font-size: .74rem; font-weight: 700;
  padding: 4px 9px; border-radius: calc(var(--raio-botao) * .5 + 2px); letter-spacing: .02em;
}
.selo-promo { background: var(--destaque); color: var(--destaque-texto); }
.selo-esgotado { background: var(--fundo); color: var(--texto); }

.preco { display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; }
.preco-de { color: var(--c-preco-de, var(--suave)); font-size: .88em; }
.preco-por { font-weight: 600; color: var(--c-preco, inherit); }
/* em promoção (tem preço riscado à mostra), o preço pode ganhar outra cor */
.preco:has(.preco-de:not([hidden])) .preco-por { color: var(--c-preco-promo, var(--c-preco, inherit)); }
.preco-g { font-size: 1.5rem; }
.preco-g .preco-de { font-size: 1.05rem; }

/* carrossel */
.carrossel { position: relative; }
.carrossel-trilho { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 3 * 20px) / 4); gap: 20px;
  overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.carrossel-trilho::-webkit-scrollbar { display: none; }
.carrossel-trilho > * { scroll-snap-align: start; }
.carrossel-btn { position: absolute; top: 35%; z-index: 3; background: var(--fundo); box-shadow: 0 4px 18px rgb(0 0 0 / .15); }
.carrossel-btn[data-car-esq] { left: -14px; }
.carrossel-btn[data-car-dir] { right: -14px; }
@media (max-width: 900px) { .carrossel-trilho { grid-auto-columns: 62%; gap: 12px; } .carrossel-btn { display: none; } }

/* coleções */
.colecoes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 1.6vw, 22px); }
.colecoes.n4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.colecoes.n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.colecao-card { position: relative; display: block; overflow: hidden; border-radius: var(--raio); text-decoration: none; color: #fff; aspect-ratio: 4/5; background: var(--fundo-alt); }
.colecao-img, .colecao-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.colecao-card:hover img { transform: scale(1.04); }
.colecao-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgb(0 0 0 / .55)); }
.colecao-nome { position: absolute; left: 20px; bottom: 18px; z-index: 2; font-family: var(--fonte-titulo); font-weight: var(--peso-titulo); font-size: clamp(1.2rem, 2vw, 1.6rem); letter-spacing: var(--esp-titulo); }
.caixa-alta .colecao-nome { text-transform: uppercase; }
@media (max-width: 700px) { .colecoes, .colecoes.n4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .colecoes.n3 > :first-child { grid-column: span 2; aspect-ratio: 16/10; } }

/* imagem com texto */
.imgtxt { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 6vw, 96px); align-items: center; }
.lado-esquerda .imgtxt-foto { order: 2; }
.imgtxt-foto { border-radius: var(--raio); overflow: hidden; aspect-ratio: 5/4; background: var(--fundo-alt); }
.imgtxt-foto img { width: 100%; height: 100%; object-fit: cover; }
.imgtxt-txt { display: grid; gap: 18px; justify-items: start; max-width: 520px; }
.imgtxt-txt p { font-size: 1.08rem; color: var(--suave); }
@media (max-width: 800px) { .imgtxt { grid-template-columns: 1fr; } .lado-esquerda .imgtxt-foto { order: 0; } }

/* texto */
.sec-texto .ct { display: grid; gap: 18px; }
.sec-texto.al-centro .ct { text-align: center; justify-items: center; }
.texto-grande { font-size: clamp(1.1rem, 1.7vw, 1.35rem); color: var(--suave); line-height: 1.6; }

/* colunas */
.colunas { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 16px; }
.coluna { display: flex; gap: 14px; align-items: flex-start; }
.coluna strong { display: block; font-size: 1rem; }
.coluna span { display: block; color: var(--suave); font-size: .92rem; }
.coluna-ic { flex: none; width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; background: var(--fundo-alt2); }
.colunas-cartoes .coluna { flex-direction: column; padding: 26px; border-radius: var(--raio); background: var(--fundo-alt); }
.colunas-linha { padding: clamp(28px, 4vw, 44px) 0; border-top: 1px solid var(--borda); border-bottom: 1px solid var(--borda); }
.sec + .colunas-linha:not([class*="esq-"]) { padding-top: clamp(28px, 4vw, 44px); }
.colunas-linha .coluna-ic { background: none; width: auto; height: auto; }
@media (max-width: 700px) { .colunas { grid-template-columns: 1fr 1fr; } .colunas-linha .coluna { flex-direction: column; gap: 8px; } }

/* depoimentos */
.depoimentos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.depoimentos.n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 900px; margin: 0 auto; }
.depoimento { margin: 0; padding: 28px; border: 1px solid var(--borda); border-radius: var(--raio); display: grid; gap: 14px; align-content: start; }
.depoimento blockquote { margin: 0; font-size: 1.08rem; line-height: 1.5; }
.depoimento figcaption { color: var(--suave); font-size: .9rem; }
.estrelas { display: flex; gap: 2px; color: var(--borda); }
.estrelas .on { color: var(--destaque); }
.esq-destaque .estrelas .on { color: var(--texto); }
@media (max-width: 800px) { .depoimentos, .depoimentos.n2 { grid-template-columns: 1fr; } }

/* perguntas */
.perguntas { border-top: 1px solid var(--borda); }
.pergunta, .pdp-desc { border-bottom: 1px solid var(--borda); }
.pergunta summary, .pdp-desc summary, .filtros summary {
  list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px;
  padding: 20px 0; font-weight: 600; font-size: 1.04rem;
}
.pergunta summary::-webkit-details-marker, .pdp-desc summary::-webkit-details-marker, .filtros summary::-webkit-details-marker { display: none; }
.pergunta summary span, .pdp-desc summary span, .filtros summary span { transition: transform .2s; display: grid; }
.pergunta[open] summary span, .pdp-desc[open] summary span { transform: rotate(45deg); }
.filtros details[open] summary span { transform: rotate(180deg); }
.pergunta p { padding: 0 0 22px; color: var(--suave); max-width: 680px; }

/* galeria */
.galeria { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: clamp(10px, 1.4vw, 18px); }
.galeria-item { position: relative; display: block; overflow: hidden; border-radius: var(--raio); aspect-ratio: 3/4; color: #fff; text-decoration: none; }
.galeria-item:first-child { grid-row: span 1; }
.galeria-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.galeria-item:hover img { transform: scale(1.04); }
.galeria-item span { position: absolute; left: 18px; bottom: 16px; font-weight: 600; text-shadow: 0 1px 12px rgb(0 0 0 / .4); }
@media (max-width: 700px) { .galeria { grid-template-columns: 1fr 1fr; } .galeria-item:first-child { grid-column: span 2; aspect-ratio: 4/3; } }

/* contagem */
.contagem { display: grid; grid-template-columns: 1fr auto auto; gap: clamp(20px, 4vw, 48px); align-items: center; }
.contagem p { margin-top: 8px; opacity: .85; }
.relogio { display: flex; gap: 10px; }
.relogio div { min-width: 74px; padding: 12px 6px; text-align: center; border-radius: var(--raio); background: color-mix(in srgb, var(--texto) 10%, transparent); }
.relogio b { display: block; font-family: var(--fonte-titulo); font-size: 2rem; line-height: 1; font-variant-numeric: tabular-nums; }
.relogio span { font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; opacity: .8; }
@media (max-width: 800px) { .contagem { grid-template-columns: 1fr; } .relogio div { min-width: 0; flex: 1; } }

/* newsletter */
.news { text-align: center; display: grid; gap: 14px; justify-items: center; }
.news p { color: var(--suave); }
.news-form { display: flex; gap: 8px; width: 100%; max-width: 480px; margin-top: 8px; }
.news-form input { flex: 1; min-width: 0; height: 50px; padding: 0 18px; border: 1px solid var(--borda); border-radius: var(--raio-botao); background: var(--fundo); outline: 0; }
.news-form input:focus { border-color: var(--texto); }
.news-form input.erro { border-color: #c0392b; }
.news-ok { font-weight: 600; }

/* rodapé */
.rodape { border-top: 1px solid var(--borda); padding: clamp(40px, 6vw, 72px) 0 24px; font-size: .92rem; }
.rodape-in { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 32px; }
.rodape-in > div { display: grid; gap: 10px; align-content: start; }
.rodape-in a { text-decoration: none; color: var(--suave); }
.rodape-in a:hover { color: var(--texto); }
.rodape-marca p { color: var(--suave); max-width: 300px; }
.rodape-marca .cab-logo { color: var(--texto); }
.rodape strong { font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; }
.pagamentos { display: flex; flex-wrap: wrap; gap: 6px; }
.pagamentos span { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border: 1px solid var(--borda); border-radius: 6px; font-size: .8rem; }
.rodape-base { margin-top: 48px; padding-top: 20px; border-top: 1px solid var(--borda); color: var(--suave); font-size: .82rem; }
@media (max-width: 800px) { .rodape-in { grid-template-columns: 1fr 1fr; } .rodape-marca { grid-column: span 2; } }

/* ---------- página de produto ---------- */
.trilha { display: flex; flex-wrap: wrap; gap: 8px; font-size: .84rem; color: var(--suave); margin: -24px 0 24px; }
.trilha a { text-decoration: none; }
.pdp { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
.pdp-galeria { position: sticky; top: 96px; display: grid; gap: 12px; min-width: 0; }
.pdp-fotos { display: grid; grid-auto-flow: column; grid-auto-columns: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; border-radius: var(--raio); background: var(--fundo-alt); }
.pdp-fotos::-webkit-scrollbar { display: none; }
.pdp-fotos img { width: 100%; aspect-ratio: var(--card-prop); object-fit: cover; scroll-snap-align: start; }
.pdp-miniaturas { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: thin; padding-bottom: 4px; }
.pdp-miniaturas button { flex: none; width: 72px; aspect-ratio: 1; padding: 0; border: 1.5px solid transparent; border-radius: calc(var(--raio) * .6); overflow: hidden; cursor: pointer; background: var(--fundo-alt); }
.pdp-miniaturas button[aria-current] { border-color: var(--texto); }
.pdp-miniaturas img { width: 100%; height: 100%; object-fit: cover; }
.pdp-info { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; min-width: 0; }
.rico img, .rico video, .rico iframe, .rico table { max-width: 100%; }
.rico table { display: block; overflow-x: auto; }
.frete-linha input, .news-form input { width: 100%; }
.pdp-sobre { color: var(--suave); font-size: .9rem; font-weight: 600; letter-spacing: .02em; }
.pdp-titulo { font-size: clamp(1.7rem, 3vw, 2.6rem); }
.pdp-pagto { display: grid; gap: 6px; font-size: .94rem; color: var(--suave); }
.pdp-pagto span { display: flex; align-items: center; gap: 8px; }
.pdp-pagto b { color: var(--texto); }
.pdp-form { display: grid; gap: 18px; padding-top: 8px; }
.opcao { border: 0; padding: 0; margin: 0; }
.opcao legend { font-size: .92rem; margin-bottom: 10px; color: var(--suave); }
.opcao legend b { color: var(--texto); font-weight: 600; }
.opcao-valores { display: flex; flex-wrap: wrap; gap: 8px; }
.pill { position: relative; cursor: pointer; }
.pill input { position: absolute; opacity: 0; pointer-events: none; }
.pill > span:not(.sr) {
  display: grid; place-items: center; min-width: 48px; height: 44px; padding: 0 16px;
  border: 1px solid var(--borda); border-radius: var(--raio-botao); font-size: .92rem; transition: border-color .15s;
}
.pill:hover > span { border-color: var(--suave); }
.pill input:checked + span { border-color: var(--texto); box-shadow: inset 0 0 0 1px var(--texto); font-weight: 600; }
.pill input:focus-visible + span { outline: 2px solid var(--destaque); outline-offset: 2px; }
.pill.indisponivel > span:not(.sr) { color: var(--suave); background: linear-gradient(to top left, transparent calc(50% - 1px), var(--borda) 50%, transparent calc(50% + 1px)); }
.pill-cor > span.amostra { min-width: 0; width: 38px; height: 38px; padding: 0; border-radius: 50%; border: 1px solid var(--borda); }
.pill-cor input:checked + .amostra { box-shadow: 0 0 0 2px var(--fundo), 0 0 0 3.5px var(--texto); }
.pdp-comprar { display: flex; gap: 10px; }
.qtd { display: flex; align-items: center; border: 1px solid var(--borda); border-radius: var(--raio-botao); height: 50px; }
.qtd button { width: 42px; height: 100%; border: 0; background: none; cursor: pointer; display: grid; place-items: center; }
.qtd input { width: 36px; text-align: center; border: 0; background: none; outline: 0; }
.qtd-p { height: 36px; display: inline-flex; }
.qtd-p button { width: 32px; }
.qtd-p span { min-width: 22px; text-align: center; font-size: .9rem; }
.frete { display: grid; gap: 10px; padding: 18px; border-radius: var(--raio); background: var(--fundo-alt); }
.frete label { display: flex; align-items: center; gap: 8px; font-weight: 600; font-size: .94rem; }
.frete-linha { display: flex; gap: 8px; }
.frete-linha input { flex: 1; min-width: 0; height: 46px; padding: 0 14px; border: 1px solid var(--borda); border-radius: var(--raio-botao); background: var(--fundo); outline: 0; }
.frete-linha .btn { min-height: 46px; }
.frete-resultado { display: grid; gap: 6px; font-size: .92rem; }
.frete-resultado div { display: flex; justify-content: space-between; gap: 12px; }
.frete-resultado small { color: var(--suave); }
.pdp-desc > div { padding-bottom: 20px; color: var(--suave); line-height: 1.65; }
@media (max-width: 900px) {
  .pdp { grid-template-columns: minmax(0, 1fr); }
  .pdp-galeria { position: static; margin: 0 calc(-1 * clamp(16px, 4vw, 48px)); }
  .pdp-fotos { border-radius: 0; }
  .pdp-miniaturas { padding: 0 clamp(16px, 4vw, 48px); }
  .trilha { margin-top: -28px; }
}
.sec-produto { padding-top: clamp(40px, 5vw, 64px); }
.sec-produto-destaque { padding-top: clamp(28px, 4vw, 56px); }

/* ---------- coleção ---------- */
.col-capa { position: relative; display: grid; min-height: 280px; color: #fff; margin-top: calc(-1 * clamp(48px, 7vw, 96px)); margin-bottom: 36px; }
.col-capa > * { grid-area: 1 / 1; }
.col-capa img { width: 100%; height: 100%; object-fit: cover; }
.col-capa .ct { align-self: end; padding-bottom: 32px; position: relative; }
.col-topo { padding-bottom: 28px; display: grid; gap: 10px; }
.col-barra { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; padding-bottom: 22px; margin-bottom: 26px; border-bottom: 1px solid var(--borda); position: relative; }
.col-total { color: var(--suave); font-size: .92rem; margin-right: auto; }
.col-ordem { display: flex; align-items: center; gap: 8px; font-size: .9rem; color: var(--suave); }
.col-ordem select { height: 40px; padding: 0 12px; border: 1px solid var(--borda); border-radius: var(--raio-botao); background: var(--fundo); color: var(--texto); }
.filtros {
  position: fixed; inset: 0 auto 0 0; z-index: 70; width: min(380px, 90vw); background: var(--fundo); padding: 18px 22px 40px;
  overflow: auto; transform: translateX(-102%); transition: transform .25s, visibility .25s; box-shadow: 20px 0 60px rgb(0 0 0 / .18);
  visibility: hidden;
}
.filtros.aberto { transform: none; visibility: visible; }
.filtros-topo { display: flex; justify-content: space-between; align-items: center; padding-bottom: 8px; }
.filtros details { border-bottom: 1px solid var(--borda); }
.filtros summary { font-size: .96rem; padding: 16px 0; }
.check { display: flex; align-items: center; gap: 10px; padding: 6px 0; font-size: .94rem; cursor: pointer; }
.check input { width: 18px; height: 18px; accent-color: var(--texto); }
.check small { color: var(--suave); }
.filtro-valores { padding-bottom: 12px; }
.faixa { display: flex; align-items: center; gap: 8px; padding-bottom: 16px; }
.faixa input { width: 90px; height: 40px; padding: 0 10px; border: 1px solid var(--borda); border-radius: 6px; background: var(--fundo); }
.limpar { display: inline-block; margin-top: 18px; font-size: .92rem; }
.grade-col { margin-bottom: 40px; }
.paginacao { display: flex; justify-content: center; gap: 6px; }
.paginacao a { min-width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--borda); border-radius: var(--raio-botao); text-decoration: none; }
.paginacao a[aria-current] { background: var(--texto); color: var(--fundo); border-color: var(--texto); }
.vazio { padding: 60px 0; display: grid; gap: 18px; justify-items: center; text-align: center; color: var(--suave); }

/* ---------- carrinho ---------- */
.sec-carrinho h1, .sec-busca h1 { margin-bottom: 32px; }
.carrinho { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 380px); gap: clamp(24px, 4vw, 56px); align-items: start; }
.carrinho-resumo { position: sticky; top: 96px; display: grid; gap: 14px; padding: 26px; border-radius: var(--raio); background: var(--fundo-alt); }
.linha { display: grid; grid-template-columns: 88px 1fr auto; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--borda); align-items: start; }
.linha-img { aspect-ratio: 1; border-radius: calc(var(--raio) * .6); overflow: hidden; background: var(--fundo-alt); }
.linha-img img { width: 100%; height: 100%; object-fit: cover; }
.linha-info { display: grid; gap: 6px; justify-items: start; }
.linha-titulo { text-decoration: none; font-weight: 500; }
.linha-var, .linha-un { font-size: .86rem; color: var(--suave); }
.linha-acoes { display: flex; align-items: center; gap: 14px; }
.link-remover { border: 0; background: none; padding: 0; color: var(--suave); text-decoration: underline; cursor: pointer; font-size: .86rem; }
.linha-total { font-weight: 600; }
.sub { display: flex; justify-content: space-between; align-items: baseline; font-size: 1.05rem; }
.sub strong { font-size: 1.3rem; }
.sub-pix { font-size: .88rem; color: var(--suave); margin-top: -8px; }
.gaveta-ver { text-align: center; font-size: .9rem; }
.frete-barra { display: grid; gap: 8px; font-size: .88rem; }
.frete-trilho { height: 6px; border-radius: 3px; background: var(--fundo-alt2); overflow: hidden; }
.frete-trilho div { height: 100%; background: var(--destaque); border-radius: 3px; transition: width .3s; }
@media (max-width: 900px) { .carrinho { grid-template-columns: minmax(0, 1fr); } .carrinho-resumo { position: static; } }

/* gaveta */
.veu { position: fixed; inset: 0; z-index: 60; background: rgb(0 0 0 / .42); }
.gaveta {
  position: fixed; inset: 0 0 0 auto; z-index: 70; width: min(440px, 100vw); background: var(--fundo); color: var(--texto);
  display: flex; flex-direction: column; box-shadow: -20px 0 60px rgb(0 0 0 / .2);
}
.gaveta-topo { display: flex; justify-content: space-between; align-items: center; padding: 14px 20px; border-bottom: 1px solid var(--borda); }
.gaveta .frete-barra { padding: 14px 20px 0; }
.gaveta-linhas { flex: 1; overflow: auto; padding: 0 20px; }
.gaveta .linha { grid-template-columns: 76px 1fr auto; }
.gaveta-rodape { display: grid; gap: 12px; padding: 18px 20px 22px; border-top: 1px solid var(--borda); }
.gaveta-vazia { flex: 1; display: grid; place-content: center; justify-items: center; gap: 18px; color: var(--suave); }

/* busca */
.busca-grande { display: flex; align-items: center; gap: 12px; max-width: 640px; height: 56px; padding: 0 6px 0 18px; border: 1px solid var(--borda); border-radius: var(--raio-botao); margin-bottom: 28px; }
.busca-grande input { min-width: 0; flex: 1; border: 0; outline: 0; background: none; font-size: 1.05rem; }
.busca-grande .btn { min-height: 44px; }

.rico { display: grid; grid-template-columns: minmax(0, 1fr); overflow-wrap: anywhere; gap: 14px; margin-top: 24px; line-height: 1.7; color: var(--suave); }

/* aviso flutuante */
.toast {
  position: fixed; left: 50%; bottom: 24px; z-index: 90; transform: translate(-50%, 140%); opacity: 0; pointer-events: none;
  background: var(--c-texto); color: var(--c-fundo); padding: 14px 20px; border-radius: 10px; font-size: .94rem;
  box-shadow: 0 10px 40px rgb(0 0 0 / .25); transition: transform .25s; max-width: calc(100vw - 32px);
}
.toast.on { transform: translate(-50%, 0); opacity: 1; pointer-events: auto; }

/* ---------- cupom, exemplo, descrição longa ---------- */
.cupom-form { display: flex; gap: 8px; }
.cupom-form input { flex: 1; min-width: 0; width: 100%; height: 40px; padding: 0 12px; border: 1px solid var(--borda); border-radius: var(--raio-botao); background: var(--fundo); outline: 0; text-transform: uppercase; }
.cupom-form input::placeholder { text-transform: none; }
.sub-p { font-size: .94rem; }
.sub-desc { color: var(--suave); }
.cupom-tag { display: inline-flex; align-items: center; gap: 4px; margin-left: 6px; padding: 2px 4px 2px 8px; border-radius: 4px; background: var(--fundo-alt2); color: var(--texto); font-size: .8rem; }
.cupom-tag button { border: 0; background: none; cursor: pointer; padding: 0 4px; font-size: 1rem; line-height: 1; }
.card-exemplo .card-img img { opacity: .85; }
.cab-logo img { display: block; width: auto; max-width: 220px; object-fit: contain; }
.ct-medio { max-width: 1000px; }
.rico { line-height: 1.7; }
.rico > * + * { margin-top: 14px; }
.rico img { border-radius: var(--raio); height: auto; }
.rico iframe { width: 100%; aspect-ratio: 16/9; height: auto; border: 0; border-radius: var(--raio); }
.rico h2, .rico h3 { color: var(--texto); }
.rico a { text-underline-offset: 3px; }
.rico table { width: 100%; border-collapse: collapse; }
.rico td, .rico th { border: 1px solid var(--borda); padding: 8px 10px; text-align: left; }
.rico-landing { color: var(--texto); font-size: 1.05rem; }
.rico-landing h2 { font-size: clamp(1.6rem, 3vw, 2.4rem); margin-top: 40px; }
.rico-landing img { width: 100%; }
.sec-descricao-longa { padding-top: 0; }
.sec-imagem-grande { padding: 0; }
.sec-imagem-grande img { width: 100%; height: auto; }
.sec-imagem-grande .ct img { border-radius: var(--raio); }
.video-moldura { aspect-ratio: 16/9; border-radius: var(--raio); overflow: hidden; background: #000; }
.video-moldura iframe { width: 100%; height: 100%; border: 0; }
/* prévia do editor: a seção sob o mouse ganha contorno */
/* prévia do editor de tema (editor_previa.js) */
.previa-ativa [data-secao] > * { cursor: pointer; }
.edp { position: fixed; inset: 0; pointer-events: none; z-index: 2147483000; }
.edp-caixa { position: fixed; box-sizing: border-box; border: 1px solid #2c6ecb; border-radius: 2px; }
.edp-sel { border: 2px solid #2c6ecb; }
.edp-sel.edp-bloco { border-style: solid; border-color: #5a93e6; }
.edp-rotulo { position: absolute; left: -1px; bottom: 100%; background: #2c6ecb; color: #fff; font: 600 11.5px/1 system-ui, sans-serif; padding: 5px 8px; border-radius: 4px 4px 0 0; white-space: nowrap; }
.edp-embaixo .edp-rotulo { bottom: auto; top: 0; border-radius: 0 0 4px 0; }
.edp-barra { position: absolute; right: 6px; top: 6px; display: flex; gap: 2px; padding: 3px; background: #fff; border-radius: 8px; box-shadow: 0 2px 10px rgb(0 0 0 / .18), 0 0 0 1px rgb(0 0 0 / .06); pointer-events: auto; }
.edp-barra[hidden] { display: none; }
.edp-barra button { width: 30px; height: 30px; border: 0; border-radius: 6px; background: none; display: grid; place-items: center; cursor: pointer; color: #303030; }
.edp-barra button:hover { background: #f1f1f1; }
.edp-barra svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }

/* foto inteira (padrão das lojas): produto em fundo branco não pode perder a ponta */
.foto-inteira .card-img, .foto-inteira .pdp-fotos { background: #fff; }
.foto-inteira .card-img img, .foto-inteira .pdp-fotos img { object-fit: contain; }
.foto-inteira .card-img img { padding: 6%; }
.foto-inteira .card:hover .card-img img:first-child { transform: none; }

/* aceite de cookies (lojas que pedem consentimento antes dos pixels) */
.cookies { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 80; max-width: 520px; margin: 0 auto; background: var(--fundo);
  color: var(--texto); border-radius: 14px; padding: 16px 18px; box-shadow: 0 12px 40px rgb(0 0 0 / .18); display: grid; gap: 12px; font-size: .92rem; }
.cookies p { margin: 0; line-height: 1.45; }
.cookies div { display: flex; gap: 8px; justify-content: flex-end; }


/* botão no cartão (temas que pedem) e cartão em caixa */
.card-botao { display: flex; align-items: center; justify-content: center; min-height: 42px; margin-top: 10px; padding: 0 14px; border-radius: var(--raio-botao); font-size: .9rem; font-weight: 600; text-align: center; transition: background .15s, color .15s; }
.card-botao-cheio .card-botao { background: var(--destaque); color: var(--destaque-texto); }
.card-botao-cheio .card:hover .card-botao { filter: brightness(1.12); }
.card-botao-contorno .card-botao { border: 1px solid currentColor; }
.card-botao-contorno .card:hover .card-botao { background: var(--destaque); color: var(--destaque-texto); border-color: var(--destaque); }
.card-borda .card { border: 1px solid var(--borda); border-radius: calc(var(--raio) + 4px); padding: 10px 10px 14px; background: var(--fundo); }
.card-borda .card-info { padding: 0 4px; }
.tit-caixa h2.t-l { text-transform: uppercase; letter-spacing: .03em; }
.tit-centro .sec-topo { justify-content: center; text-align: center; }

/* opções do editor de tema */
.banner-sobreposto > picture { position: absolute; inset: 0; }
.banner-sobreposto > picture img { width: 100%; height: 100%; object-fit: cover; }
.banner-lado picture { display: block; height: 100%; }
.sec-banner[style*="--veu"] .banner-veu, .sec-slides[style*="--veu"] .banner-veu { background: rgb(0 0 0 / var(--veu)); }
.al-direita .banner-ct { justify-content: flex-end; text-align: right; }
.al-direita .banner-txt { justify-items: end; }
.tt-p .t-xl, .tt-p .t-xxl { font-size: clamp(1.8rem, 3.4vw, 2.6rem); }
.tt-m .t-xl, .tt-m .t-xxl { font-size: clamp(2.2rem, 4.6vw, 3.6rem); }
.tt-g .t-xl, .tt-g .t-xxl { font-size: clamp(2.8rem, 7vw, 5.6rem); }
.banner-botoes { display: flex; flex-wrap: wrap; gap: 10px; }
.banner-botoes:empty { display: none; }
.banner-sobreposto .btn-sec, .slide .btn-sec { background: transparent; color: #fff; border-color: #fff; }
@media (max-width: 700px) { .cel-1 .grade { grid-template-columns: minmax(0, 1fr); } }
.gal-cols .galeria { grid-template-columns: repeat(var(--colunas), minmax(0, 1fr)); }
.gal-quadrada .galeria-item { aspect-ratio: 1/1; }
.gal-retrato .galeria-item { aspect-ratio: 3/4; }
.gal-paisagem .galeria-item { aspect-ratio: 4/3; }
.gal-original .galeria-item { aspect-ratio: auto; }
.gal-original .galeria-item img { height: auto; }
@media (max-width: 700px) { .gal-cols .galeria { grid-template-columns: 1fr 1fr; } }
.col-cols .colecoes { grid-template-columns: repeat(var(--col-cols), minmax(0, 1fr)); }
@media (max-width: 700px) { .col-cols .colecoes { grid-template-columns: 1fr 1fr; } }
a.coluna { color: inherit; text-decoration: none; }
.coluna-com-foto { flex-direction: column; }
.coluna-foto { display: block; width: 100%; aspect-ratio: 4/3; border-radius: var(--raio); overflow: hidden; background: var(--fundo-alt2); }
.coluna-foto img { width: 100%; height: 100%; object-fit: cover; }
.colunas-cartoes .coluna-com-foto { padding: 0 0 22px; overflow: hidden; }
.colunas-cartoes .coluna-com-foto > div { padding: 0 22px; }
.colunas-cartoes .coluna-com-foto .coluna-foto { border-radius: 0; }
.depoimento figcaption { display: flex; align-items: center; gap: 10px; }
.depoimento figcaption img { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; }
.foto-menor .imgtxt { grid-template-columns: 2fr 3fr; }
.foto-maior .imgtxt { grid-template-columns: 3fr 2fr; }
.foto-menor.lado-esquerda .imgtxt { grid-template-columns: 3fr 2fr; }
.foto-maior.lado-esquerda .imgtxt { grid-template-columns: 2fr 3fr; }
@media (max-width: 800px) { .foto-menor .imgtxt, .foto-maior .imgtxt { grid-template-columns: 1fr; } }
.pdp-bl-texto { margin: 14px 0 0; white-space: pre-line; }
.pdp-bl-icone { display: flex; align-items: center; gap: 10px; margin-top: 12px; }
.pdp-bl-imagem { margin-top: 16px; }
.pdp-bl-imagem img { width: 100%; border-radius: var(--raio); display: block; }
.pdp-desc-ic { display: inline-grid; margin-right: 8px; font-style: normal; vertical-align: -3px; }
.pdp-desc summary .pdp-desc-ic + * { margin-left: 0; }
.pdp-desc-txt { white-space: pre-line; }

/* slides */
.sec-slides { position: relative; padding: 0; overflow: hidden; color: #fff; }
.slides-trilho { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.slides-trilho::-webkit-scrollbar { display: none; }
.slide { flex: 0 0 100%; scroll-snap-align: start; display: grid; position: relative; background: var(--fundo-alt); }
.slide > * { grid-area: 1 / 1; }
.slide > picture, .slide > .banner-veu { position: absolute; inset: 0; }
.slide-foto { width: 100%; height: 100%; object-fit: cover; }
.slide > .ct { position: relative; }
.slide .btn { background: #fff; color: #111; border-color: #fff; }
.sec-slides.alt-media .slide { min-height: min(52vh, 560px); }
.sec-slides.alt-alta .slide { min-height: min(72vh, 760px); }
.sec-slides.alt-tela .slide { min-height: min(calc(100svh - 72px), 960px); }
.slides-btn { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border-radius: 50%; background: rgb(255 255 255 / .88); color: #111; border: 0; display: grid; place-items: center; cursor: pointer; }
.slides-esq { left: 16px; } .slides-dir { right: 16px; }
.slides-pontos { position: absolute; left: 0; right: 0; bottom: 18px; display: flex; justify-content: center; gap: 8px; }
.slides-pontos button { width: 8px; height: 8px; border-radius: 4px; border: 0; padding: 0; background: rgb(255 255 255 / .55); cursor: pointer; transition: width .2s; }
.slides-pontos button[aria-current] { width: 22px; background: #fff; }
@media (max-width: 800px) { .sec-slides.alt-alta .slide, .sec-slides.alt-tela .slide { min-height: 74svh; } .slides-btn { display: none; } }
.banner-sobreposto > .banner-veu { position: relative; }

/* rodapé montado pelo editor */
.rodape-in.rodape-n2 { grid-template-columns: 1.6fr 1fr; }
.rodape-in.rodape-n3 { grid-template-columns: 1.6fr 1fr 1fr; }
.rodape-in.rodape-n5 { grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr; }
.rodape-txt { color: var(--suave); margin: 0; white-space: pre-line; }
.rodape-redes { display: flex; gap: 12px; flex-wrap: wrap; }
.rodape-redes a { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--borda); border-radius: 50%; color: var(--texto) !important; }
@media (max-width: 800px) { .rodape-in[class*="rodape-n"] { grid-template-columns: 1fr 1fr; } }

/* blog do tema pronto */
.bl .ct, .bl-artigo .ct { display: grid; gap: 18px; padding-block: clamp(24px, 5vw, 56px); }
.bl-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 24px; }
.bl-card { display: grid; gap: 8px; color: inherit; text-decoration: none; }
.bl-card img, .bl-capa { width: 100%; aspect-ratio: 16/10; object-fit: cover; border-radius: var(--raio, 8px); }
.bl-data { font-size: .85em; opacity: .7; }
.bl-resumo { opacity: .8; }
.bl-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.bl-tags a { padding: 4px 10px; border: 1px solid currentColor; border-radius: 999px; font-size: .85em; color: inherit; text-decoration: none; opacity: .75; }
.bl-tags a[aria-current] { opacity: 1; font-weight: 600; }

/* vídeo na galeria do produto */
.pdp-fotos video, .pdp-fotos iframe { width: 100%; aspect-ratio: 1; object-fit: contain; background: #000; border: 0; }
.pdp-miniaturas button { position: relative; }
.pdp-play { position: absolute; inset: 0; display: grid; place-items: center; color: #fff; font-size: 18px; text-shadow: 0 1px 4px rgba(0,0,0,.6); }

/* conta do comprador no tema pronto */
.cc .ct { display: grid; gap: 16px; padding-block: clamp(24px, 5vw, 56px); }
.cc-form { display: grid; gap: 12px; max-width: 420px; }
.cc-form label { display: grid; gap: 4px; font-size: .92em; }
.cc-form input:not([type=checkbox]) { padding: 10px 12px; border: 1px solid rgba(0,0,0,.2); border-radius: 8px; font: inherit; }
.cc-check { display: flex !important; align-items: center; gap: 8px; }
.ct-erro { color: #b42318; } .cc-ok { color: #067647; } .cc-aviso { padding: 10px 12px; background: rgba(0,0,0,.05); border-radius: 8px; }
.cc-tabela { width: 100%; border-collapse: collapse; } .cc-tabela th, .cc-tabela td { text-align: left; padding: 8px 4px; border-bottom: 1px solid rgba(0,0,0,.1); }
.cc-end { display: flex; justify-content: space-between; gap: 12px; align-items: start; padding: 12px 0; border-bottom: 1px solid rgba(0,0,0,.1); }

/* Campos nativos usados também na adaptação de páginas importadas. */
.cab { background: var(--fundo-cabecalho,var(--fundo)); color:var(--texto-cabecalho,var(--texto)); }
.rodape,.sec-links { background:var(--fundo-rodape,var(--fundo)); color:var(--texto-rodape,var(--texto)); }
.t-l { font-size:var(--titulo-secao,clamp(1.55rem,2.8vw,2.4rem)); }
.imgtxt-tela .imgtxt { max-width:none;padding:0;gap:0; }
.imgtxt-tela .imgtxt-txt { padding:clamp(24px,4vw,64px);max-width:none; }
.imgtxt-tela .imgtxt-foto { border-radius:0; }
.imgtxt-original .imgtxt-foto { aspect-ratio:auto; }
.imgtxt-original .imgtxt-foto img { height:auto;object-fit:contain; }
.imgtxt-txt p,.sec-texto p { white-space:pre-line; }
.sec-links .ct { display:flex;gap:24px;flex-wrap:wrap;justify-content:center; }
.sec-links { padding:24px 0; }

@media(min-width:761px){.cab-importado-centro .cab-in{grid-template-columns:1fr auto 1fr;grid-template-areas:"nav logo acoes"}.cab-importado-centro .cab-nav{grid-area:nav;justify-content:flex-start}.cab-importado-centro .cab-logo{grid-area:logo}.cab-importado-centro .cab-acoes{grid-area:acoes}}

/* Banners importados preservam a foto inteira em cada tamanho de tela. */
.banner-sobreposto.alt-original { min-height:0; }
.banner-sobreposto.alt-original > picture { position:relative; inset:auto; align-self:start; }
.banner-sobreposto.alt-original > picture img { display:block; width:100%; height:auto; object-fit:contain; }
.banner-sobreposto.alt-original > .banner-ct { min-height:0; align-self:center; z-index:1; }

/* Imported footers keep their own blocks instead of filling default menus. */
.rodape-importado { --fundo:var(--fundo-rodape,#fff); --texto:var(--texto-rodape,#121212); --suave:var(--texto); padding-top:40px; }
.rodape-importado-blocos { display:flex; flex-wrap:wrap; align-items:center; gap:40px; }
.rodape-bloco-imagem { flex:0 1 210px; }
.rodape-bloco-imagem img { display:block; width:100%; height:auto; object-fit:contain; }
.rodape-bloco-newsletter { flex:0 1 420px; }
.rodape-bloco-newsletter h2 { margin:0 0 18px; }
.rodape-bloco-newsletter p { margin:0 0 18px; }
.rodape-bloco-newsletter .news-form { display:grid; gap:10px; }
.rodape-bloco-newsletter input { width:100%; background:transparent; color:var(--texto); border:1px solid currentColor; }
.rodape-bloco-newsletter input::placeholder { color:inherit; opacity:1; }
.rodape-bloco-newsletter .btn { background:var(--texto); color:var(--fundo); }
.rodape-bloco-link { flex-basis:100%; font-size:.85rem; }
.rodape-importado a { color:inherit; }
.rodape-importado .rodape-base { text-align:center; }
.rodape-onda { display:block; width:100%; height:clamp(20px,6vw,70px); fill:var(--fundo-rodape,var(--fundo)); margin-bottom:-1px; }
@media(max-width:600px) { .rodape-importado-blocos { gap:28px; } .rodape-bloco-imagem { flex-basis:150px; } .rodape-bloco-newsletter { flex-basis:100%; } }

/* Configuração por seção: preserva os demais temas e vitrines. */
.sec-banner .banner-botoes .btn:not(.btn-sec) { background:var(--banner-botao, var(--destaque)); color:var(--banner-botao-texto, var(--destaque-texto)); border-color:var(--banner-botao, var(--destaque)); }
.banner-sobreposto .banner-botoes .btn:not(.btn-sec) { background:var(--banner-botao, #fff); color:var(--banner-botao-texto, #111); border-color:var(--banner-botao, #fff); }
.destaque-ver-tudo { display:flex; justify-content:center; margin-top:32px; }
.destaque-cartoes .grade { align-items:stretch; gap:36px clamp(16px,4vw,64px); }
.destaque-cartoes .card { display:flex; flex-direction:column; overflow:hidden; background:var(--fundo); border:0; border-radius:12px; box-shadow:0 5px 18px #0000000d; padding:0; }
.destaque-cartoes .card-img { aspect-ratio:1; flex-shrink:0; border-radius:0; background:var(--fundo); }
.destaque-cartoes .card-img img { object-fit:contain; padding:0; }
.destaque-cartoes .card-img .selo { top:auto; bottom:0; left:0; border-radius:0; }
.destaque-cartoes .card-info { padding:24px 16px 20px; text-align:center; justify-items:center; gap:8px; }
.destaque-cartoes .card-titulo { font-weight:700; font-size:clamp(15px,1.5vw,18px); line-height:1.25; }
.destaque-cartoes .preco { justify-content:center; font-weight:700; }
.destaque-cartoes .preco-por { order:-1; }
.destaque-cartoes .rv-card { max-width:100%; }
@media(max-width:700px) { .destaque-cartoes .grade { gap:20px 14px; } .destaque-cartoes .card-info { padding:16px 10px; } }

.rv-card-compacto { display:flex; align-items:center; justify-content:center; gap:4px; flex-wrap:wrap; }
.rv-card-compacto .rv-card-contagem { color:#3276b8; font-weight:600; }

.banner-dividido.foto-inteira .banner-lado img { object-fit: contain; }

/* Landing própria: narrativa individual da referência, conteúdo isolado do HTML externo. */
.pronta-lp{padding:76px 0;background:var(--fundo,#fff);color:var(--texto,#202020)}
.pronta-lp-suave{background:color-mix(in srgb,var(--destaque,#e8b184) 9%,#fff)}
.pronta-lp-escuro{background:#202522;color:#fff}
.pronta-lp-wrap{max-width:1200px;margin:auto}
.pronta-lp-hero .pronta-lp-wrap,.pronta-lp-split .pronta-lp-wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.pronta-lp-direita .pronta-lp-foto{order:2}
.pronta-lp-foto{margin:0;min-width:0}
.pronta-lp-foto img{display:block;width:100%;height:auto;max-height:650px;object-fit:contain;border-radius:20px}
.pronta-lp h2{font-size:clamp(28px,3.2vw,48px);line-height:1.09;letter-spacing:-.035em;margin:0 0 24px;font-weight:750;overflow-wrap:anywhere}
.pronta-lp-hero h2{font-size:clamp(34px,4.2vw,60px)}
.pronta-lp-kicker{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin:0 0 18px}
.pronta-lp-intro{font-size:18px;line-height:1.65;max-width:760px;margin:0 0 28px}
.pronta-lp article h3{font-size:19px;line-height:1.3;margin:10px 0}
.pronta-lp article p,.pronta-lp details p{font-size:16px;line-height:1.65;margin:0}
.pronta-lp-numero{font-size:12px;font-weight:700;opacity:.55}
.pronta-lp-itens{display:grid;gap:25px;margin:24px 0}
.pronta-lp-grid .pronta-lp-itens{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.pronta-lp-grid article{border-top:1px solid currentColor;padding:22px 6px}
.pronta-lp-dado{display:grid;grid-template-columns:minmax(140px,1fr) 2fr;gap:25px;padding:17px 0;border-bottom:1px solid #8884;line-height:1.6}
.pronta-lp-specs .pronta-lp-wrap,.pronta-lp-faq .pronta-lp-wrap{max-width:950px}
.pronta-lp-cta{text-align:center}
.pronta-lp-cta .pronta-lp-intro{margin-left:auto;margin-right:auto}
.pronta-lp-botao{margin-top:16px;white-space:normal;text-align:center}
.pronta-lp details{padding:20px 0;border-bottom:1px solid #8884}
.pronta-lp summary{cursor:pointer;font-size:18px;font-weight:650;line-height:1.4}
.pronta-lp details[open] p{margin-top:16px}
@media(max-width:749px){.pronta-lp{padding:44px 0}.pronta-lp-hero .pronta-lp-wrap,.pronta-lp-split .pronta-lp-wrap{grid-template-columns:1fr;gap:30px}.pronta-lp-direita .pronta-lp-foto{order:0}.pronta-lp-hero .pronta-lp-foto{order:2}.pronta-lp-intro{font-size:16px}.pronta-lp-grid .pronta-lp-itens{grid-template-columns:1fr}.pronta-lp-dado{grid-template-columns:1fr;gap:5px}.pronta-lp-botao{width:100%}}

.pronta-lp-row{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin:24px 0}.pronta-lp-row img{width:100%;height:auto;border-radius:18px}.pronta-lp-row:nth-child(even) img{order:2}.pronta-lp-row h3{font-size:clamp(25px,3vw,38px)!important;letter-spacing:-.025em}.pronta-lp-multirow .pronta-lp-itens{gap:44px}@media(max-width:749px){.pronta-lp-row{grid-template-columns:1fr;gap:24px}.pronta-lp-row:nth-child(even) img{order:0}}
