/* Página de vendas do Guia Espanha 2026 (Carneiro Neto Advocacia Internacional)
   Identidade do e-book: azul-marinho, dourado e creme; Lora nos títulos e Poppins no texto. */

@font-face { font-family: "Lora"; src: url("assets/fonts/lora-400.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Lora"; src: url("assets/fonts/lora-500.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Lora"; src: url("assets/fonts/lora-400-italico.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("assets/fonts/poppins-300.woff2") format("woff2"); font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("assets/fonts/poppins-400.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("assets/fonts/poppins-500.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("assets/fonts/poppins-600.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }

:root {
  --marinho: #031026;
  --marinho-2: #0A1C3A;
  --marinho-3: #061735;
  --tinta: #1A2233;
  --grafite: #5C6475;
  --ouro: #C6AA69;
  --ouro-2: #BA9952;
  --ouro-3: #A98031;
  --ouro-texto: #7E5D1E;
  --creme: #F1EADB;
  --papel: #FAF7F1;
  --branco: #FFFFFF;
  --linha: #E6DCC7;
  --nevoa: #C9CFDB;
  --nevoa-2: #9AA3B5;
  --linha-escura: rgba(198, 170, 105, 0.24);
  --serif: "Lora", Georgia, "Times New Roman", serif;
  --sans: "Poppins", "Helvetica Neue", Arial, sans-serif;
  --caixa: 1140px;
  --margem: clamp(20px, 4vw, 40px);
  --raio: 4px;
  --sombra: 0 30px 60px rgba(0, 0, 0, 0.45), 0 8px 18px rgba(0, 0, 0, 0.3);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--papel); color: var(--tinta); font-family: var(--sans); font-size: 1rem; line-height: 1.75; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img, video { display: block; max-width: 100%; height: auto; }
a { color: var(--ouro-texto); }
:focus-visible { outline: 2px solid var(--ouro-3); outline-offset: 3px; border-radius: 2px; }
.escuro :focus-visible { outline-color: var(--ouro); }
h1, h2, h3 { font-family: var(--serif); font-weight: 400; line-height: 1.16; letter-spacing: -0.01em; margin: 0; text-wrap: balance; color: var(--tinta); }
h1 em, h2 em, h3 em { font-style: italic; color: var(--ouro-3); }
p { margin: 0 0 1em; }
b, strong { font-weight: 600; }
button { font: inherit; }
.caixa { max-width: var(--caixa); margin: 0 auto; padding: 0 var(--margem); }
.nq { white-space: nowrap; }
.vh { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Superfícies */
.escuro { background: var(--marinho); color: var(--nevoa); }
.escuro h1, .escuro h2, .escuro h3 { color: var(--branco); }
.escuro h1 em, .escuro h2 em, .escuro h3 em { color: var(--ouro); }
.escuro a { color: var(--ouro); }
.sec { position: relative; padding: clamp(72px, 9vw, 120px) 0; overflow: hidden; }
.sec-creme { background: var(--creme); }
.sec > .caixa { position: relative; z-index: 2; }
.sec-titulo { font-size: clamp(2rem, 3.8vw, 2.875rem); max-width: 24ch; }
.sec-titulo::after, .regua::after { content: ""; display: block; width: 56px; height: 2px; background: var(--ouro-2); margin-top: 22px; }
.centro { text-align: center; }
.centro .sec-titulo { margin-left: auto; margin-right: auto; }
.centro .sec-titulo::after { margin-left: auto; margin-right: auto; }
.sec-intro { font-size: 1.0625rem; color: var(--grafite); max-width: 40em; margin: 22px 0 0; }
.escuro .sec-intro { color: var(--nevoa); }
.centro .sec-intro { margin-left: auto; margin-right: auto; }

/* Fotografias de fundo com opacidade e marca de água */
.fundo { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.fundo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 22%; opacity: 0.16; filter: grayscale(35%); }
.fundo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(3, 16, 38, 0.55) 0%, rgba(3, 16, 38, 0.25) 45%, rgba(3, 16, 38, 0.9) 100%); }
.fundo-direita img { object-position: 82% 20%; opacity: 0.14; }
.fundo-retrato img { position: absolute; left: auto; right: -2%; top: 0; width: auto; height: 100%; object-fit: contain; object-position: right top; opacity: 0.4; filter: none; -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 38%), linear-gradient(0deg, transparent 0%, #000 22%); -webkit-mask-composite: source-in; mask-image: linear-gradient(90deg, transparent 0%, #000 38%), linear-gradient(0deg, transparent 0%, #000 22%); mask-composite: intersect; }
.fundo-retrato::after { background: linear-gradient(90deg, var(--marinho) 30%, rgba(3, 16, 38, 0.55) 60%, rgba(3, 16, 38, 0.15) 100%); }
.marca-agua { position: absolute; z-index: 0; pointer-events: none; opacity: 0.05; width: min(44vw, 520px); aspect-ratio: 478 / 496; background: url("assets/img/marca/monograma.svg") no-repeat center / contain; }

/* Botões de compra: pílula vermelha em relevo (cor escolhida pela cliente a 29/10/2026), texto branco,
   seta num círculo branco e um brilho que atravessa ao passar o rato */
.btn { position: relative; isolation: isolate; overflow: hidden; display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 58px; padding: 12px 30px; border-radius: 999px; font-family: var(--sans); font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.09em; text-transform: uppercase; text-decoration: none; line-height: 1.3; text-align: center; border: 1px solid transparent; cursor: pointer; transition: transform .2s, box-shadow .2s, background .2s, color .2s; }
.btn-compra, .escuro .btn-compra { padding: 9px 9px 9px 32px; color: #FFFFFF; border-color: #7E0E15; background: linear-gradient(180deg, #E2424A 0%, #C41E27 48%, #9C121B 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.38), inset 0 -2px 6px rgba(70, 0, 6, 0.35), 0 16px 32px -16px rgba(196, 30, 39, 0.95), 0 2px 5px rgba(3, 16, 38, 0.18); }
.btn-compra::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: -45%; width: 32%; background: linear-gradient(100deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0)); transform: skewX(-20deg); transition: left .75s ease; }
.btn-compra:hover, .escuro .btn-compra:hover { transform: translateY(-1px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.42), inset 0 -2px 6px rgba(70, 0, 6, 0.35), 0 20px 36px -16px rgba(196, 30, 39, 1), 0 3px 8px rgba(3, 16, 38, 0.2); }
.btn-compra:hover::before { left: 125%; }
.btn-compra svg { flex: none; width: 40px; height: 40px; padding: 11px; border-radius: 50%; background: #FFFFFF; color: #C41E27; transition: transform .2s; }
.btn-compra:hover svg { transform: translateX(2px); }
.btn-contorno, .escuro .btn-contorno { min-height: 46px; padding: 10px 22px; font-size: 0.75rem; border-color: rgba(198, 170, 105, 0.75); color: var(--ouro); background: rgba(3, 16, 38, 0.35); backdrop-filter: blur(6px); }
.btn-contorno:hover, .escuro .btn-contorno:hover { background: var(--ouro); border-color: var(--ouro); color: var(--marinho); }
.btn-largo { width: 100%; }
.cta-bloco { margin-top: clamp(32px, 4vw, 48px); display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.centro .cta-bloco { align-items: center; }
.cta-nota { font-size: 0.8125rem; color: var(--grafite); margin: 0; }
.escuro .cta-nota { color: var(--nevoa-2); }

/* Preço: valor único, sem preço riscado nem prazo */
.preco { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; font-family: var(--sans); }
.preco-lado { display: grid; gap: 2px; }
.preco .valor { font-family: var(--serif); font-size: clamp(2.5rem, 5vw, 3.5rem); line-height: 1; color: var(--ouro); letter-spacing: -0.02em; }
.preco .valor small { font-size: 0.45em; vertical-align: 0.9em; margin-right: 4px; letter-spacing: 0; }
.preco .nota { flex-basis: 100%; font-size: 0.875rem; line-height: 1.5; color: var(--nevoa-2); }
.claro-preco .valor { color: var(--ouro-3); }
.claro-preco .nota { color: var(--grafite); }

/* Listas com marca */
.lista-check { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.lista-check li { position: relative; padding-left: 36px; line-height: 1.6; }
.lista-check li::before { content: ""; position: absolute; left: 0; top: 3px; width: 22px; height: 22px; border-radius: 50%; background: var(--ouro) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%23031026' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / 14px; }
.lista-x li::before { background: var(--linha) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 7l10 10M17 7L7 17' fill='none' stroke='%235C6475' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center / 13px; }
.escuro .lista-x li::before { background-color: rgba(201, 207, 219, 0.18); }

/* Aviso no topo (o da referência, em dourado e marinho) */
.aviso { display: block; position: relative; z-index: 20; padding: 11px var(--margem); text-align: center; text-decoration: none; font-family: var(--sans); font-size: 0.9375rem; line-height: 1.45; color: var(--marinho); background: linear-gradient(90deg, #A98031 0%, #D2B676 50%, #A98031 100%); box-shadow: inset 0 -1px 0 rgba(3, 16, 38, 0.3); }
.escuro .aviso, a.aviso { color: var(--marinho); }
.aviso b { font-weight: 600; }
.aviso:hover { background: linear-gradient(90deg, #B08736 0%, #DCC387 50%, #B08736 100%); }
.aviso:focus-visible { outline: 2px solid var(--marinho); outline-offset: -5px; }

/* Cabeçalho (dentro do hero) */
.cabecalho { position: absolute; top: 0; left: 0; right: 0; z-index: 10; }
.cab-linha { display: flex; align-items: center; justify-content: space-between; min-height: 88px; }
.marca img { height: 46px; width: auto; }

/* Hero: texto à esquerda, foto do Dr. Neto à direita (cores originais; o fundo escurece até ao preto da foto) */
.hero { position: relative; overflow: hidden; padding: clamp(124px, 10vw, 148px) 0 clamp(64px, 6vw, 88px); min-height: clamp(660px, 54vw, 800px); background: linear-gradient(90deg, var(--marinho) 0%, var(--marinho) 34%, #020a18 58%, #020403 78%); }
.hero > .caixa { position: relative; z-index: 2; }
.hero-foto { position: absolute; z-index: 1; top: 0; right: 0; bottom: 0; width: 52%; margin: 0; }
.hero-foto picture { display: block; height: 100%; }
.hero-foto img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 0; -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 28%), linear-gradient(0deg, transparent 0%, #000 18%); -webkit-mask-composite: source-in; mask-image: linear-gradient(90deg, transparent 0%, #000 28%), linear-gradient(0deg, transparent 0%, #000 18%); mask-composite: intersect; animation: entra 1.2s ease-out both; }
@keyframes entra { from { opacity: 0; } to { opacity: 1; } }
.hero-texto { max-width: 36rem; }
.hero h1 { font-size: clamp(2.375rem, 4.4vw, 3.625rem); line-height: 1.08; letter-spacing: -0.02em; }
.hero-sub { font-size: clamp(1.0625rem, 1.4vw, 1.1875rem); font-weight: 300; color: var(--nevoa); margin: 24px 0 26px; line-height: 1.65; }
.hero .lista-check li { color: var(--branco); font-size: 0.9375rem; }
.hero-acesso { margin: 26px 0 0; font-style: italic; font-size: 0.9375rem; color: var(--nevoa); }
.hero-oferta { margin-top: 18px; display: flex; flex-wrap: wrap; align-items: center; gap: 18px 30px; }
.hero .preco { margin: 0; }
.hero .preco .valor { font-size: clamp(2.25rem, 3.4vw, 2.875rem); }
.hero-legal { margin: 18px 0 0; max-width: 36rem; font-size: 0.8125rem; line-height: 1.55; color: var(--nevoa-2); }

/* Inscrições profissionais */
.cred { background: var(--marinho-3); border-top: 1px solid var(--linha-escura); border-bottom: 1px solid var(--linha-escura); }
.cred .caixa { padding-top: 20px; padding-bottom: 20px; text-align: center; }
.cred p { margin: 0 auto; font-size: 0.9375rem; color: var(--nevoa); }
.cred p b { font-weight: 500; color: var(--ouro); }
.cred-item { padding-left: 16px; border-left: 1px solid var(--linha-escura); font-size: 0.8125rem; line-height: 1.45; color: var(--nevoa-2); }
.cred-item b { display: block; color: var(--ouro); font-weight: 600; margin-bottom: 2px; }

/* Blocos de texto e cartões */
.grelha-2 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 88px); align-items: center; }
.grelha-texto { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
.texto { max-width: 42rem; }
.texto p { color: var(--grafite); }
.escuro .texto p { color: var(--nevoa); }
.texto .forte { font-family: var(--serif); font-size: 1.25rem; line-height: 1.55; color: var(--tinta); }
.escuro .texto .forte { color: var(--branco); }
.cartao { background: var(--branco); border-radius: var(--raio); padding: clamp(24px, 3vw, 36px); border-top: 2px solid var(--ouro-2); }
.cartao h3 { font-size: 1.375rem; margin-bottom: 16px; }
.cartao-marinho { background: var(--marinho); color: var(--nevoa); border-left: 3px solid var(--ouro-2); border-top: 0; border-radius: 0 var(--raio) var(--raio) 0; padding: 22px 26px; }
.cartao-marinho p { color: var(--nevoa); margin: 0; }
.cartao-marinho strong { color: var(--ouro); }
.cartao-marinho .numero { display: block; font-family: var(--serif); font-size: 2.25rem; line-height: 1; color: var(--ouro); margin-bottom: 10px; letter-spacing: -0.02em; }
.nota-creme { background: var(--creme); border-left: 3px solid var(--ouro-2); padding: 18px 22px; border-radius: 0 var(--raio) var(--raio) 0; }
.escuro .nota-creme { background: rgba(255, 255, 255, 0.05); border-left-color: var(--ouro); }
.nota-creme p { margin: 0; }
.painel { background: rgba(255, 255, 255, 0.045); border: 1px solid var(--linha-escura); border-radius: var(--raio); padding: clamp(24px, 3vw, 36px); }
.painel h3 { font-size: 1.4375rem; margin-bottom: 18px; }
.painel-ouro { border-color: rgba(198, 170, 105, 0.6); background: rgba(198, 170, 105, 0.08); }

/* Dúvidas (secção 2) */
.duvidas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 36px; }
.duvidas li { background: rgba(255, 255, 255, 0.045); border: 1px solid rgba(201, 207, 219, 0.1); border-radius: var(--raio); padding: 18px 20px 18px 54px; }
.duvidas li::before { left: 18px; top: 19px; }
.duvidas li:last-child { grid-column: 1 / -1; }
.fecho { font-family: var(--serif); font-size: clamp(1.25rem, 2vw, 1.5rem); line-height: 1.45; color: var(--branco); max-width: 30em; margin: 36px 0 0; }

/* Páginas do guia em imagem */
.visual-paginas { position: relative; height: clamp(360px, 44vw, 520px); }
.visual-paginas img { position: absolute; width: 58%; height: auto; border-radius: 3px; box-shadow: var(--sombra); }
.visual-paginas .pag-1 { left: 0; top: 8%; transform: rotate(-6deg); z-index: 1; }
.visual-paginas .pag-2 { right: 4%; top: 0; transform: rotate(4deg); z-index: 2; }

/* Você vai receber */
.receber-grelha { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: clamp(32px, 6vw, 88px); align-items: center; margin-top: clamp(40px, 5vw, 64px); }
.produto-cena { position: relative; height: clamp(440px, 44vw, 560px); }
.produto-cena::before { content: ""; position: absolute; inset: 8% 6% 18%; background: radial-gradient(closest-side, rgba(198, 170, 105, 0.3), rgba(198, 170, 105, 0)); filter: blur(12px); }
.produto-cena img { position: absolute; }
.produto-cena .pag { width: 42%; border-radius: 3px; box-shadow: var(--sombra); }
.produto-cena .pag-a { right: 9%; top: 5%; transform: rotate(5deg); z-index: 2; }
.produto-cena .pag-b { right: 0; top: 20%; transform: rotate(13deg); z-index: 1; }
.produto-cena .caixa3d { left: 2%; top: 4%; width: min(64%, 360px); height: auto; z-index: 3; filter: drop-shadow(0 28px 36px rgba(0, 0, 0, 0.6)); -webkit-box-reflect: below 4px linear-gradient(transparent 74%, rgba(255, 255, 255, 0.16)); }
.produto-nome { font-size: clamp(1.625rem, 2.6vw, 2.125rem); line-height: 1.22; margin-bottom: 24px; }
.receber .como { font-style: italic; color: var(--grafite); }
.receber .preco { margin-top: 26px; }
.receber .produto-cena .pag { box-shadow: 0 22px 44px rgba(3, 16, 38, 0.22), 0 6px 14px rgba(3, 16, 38, 0.12); }
.receber .produto-cena .caixa3d { filter: drop-shadow(0 26px 30px rgba(3, 16, 38, 0.4)); -webkit-box-reflect: below 4px linear-gradient(transparent 76%, rgba(255, 255, 255, 0.22)); }

/* Capítulos */
.capitulos { list-style: none; margin: clamp(36px, 5vw, 56px) 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(32px, 5vw, 64px); counter-reset: cap; }
.capitulos li { counter-increment: cap; display: grid; align-content: start; grid-template-columns: 3.25rem minmax(0, 1fr); gap: 4px 14px; padding: 18px 0; border-top: 1px solid var(--linha); }
.capitulos li::before { content: counter(cap, decimal-leading-zero); grid-row: span 2; font-family: var(--serif); font-size: 2rem; line-height: 1; color: transparent; -webkit-text-stroke: 1px var(--ouro-2); font-variant-numeric: lining-nums; padding-top: 2px; }
.capitulos b { font-family: var(--serif); font-weight: 400; font-size: 1.1875rem; line-height: 1.35; color: var(--tinta); }
.capitulos span { color: var(--grafite); font-size: 0.9375rem; line-height: 1.6; }
.sec-creme .capitulos li { border-top-color: #D9CBAE; }
.destaques { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: clamp(32px, 4vw, 48px); }

/* Depoimentos */
.videos { display: grid; grid-template-columns: repeat(4, minmax(0, 250px)); justify-content: center; gap: clamp(16px, 2.4vw, 28px); margin: clamp(36px, 5vw, 56px) 0; }
.video figure { margin: 0; }
.video-quadro { position: relative; }
.video video { width: 100%; aspect-ratio: 9 / 16; object-fit: cover; background: var(--marinho); border-radius: var(--raio); }
.video-play { position: absolute; inset: 0; margin: auto; width: 68px; height: 68px; border-radius: 50%; border: 1px solid var(--ouro); background: rgba(3, 16, 38, 0.66); color: var(--ouro); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background .15s, transform .15s; }
.video-play:hover { background: rgba(3, 16, 38, 0.88); transform: scale(1.04); }
.video-play svg { width: 22px; height: 22px; margin-left: 4px; }
.video-quadro.a-tocar .video-play { display: none; }
.video figcaption { font-size: 0.8125rem; color: var(--grafite); margin-top: 10px; }
.avaliacoes { columns: 3 300px; column-gap: 20px; }
.avaliacao { break-inside: avoid; margin: 0 0 20px; padding: 24px 24px 20px; color: var(--tinta); background: var(--branco); border-radius: var(--raio); border-top: 2px solid var(--ouro-2); }
.avaliacao blockquote { margin: 0 0 18px; font-family: var(--serif); font-size: 1rem; line-height: 1.65; color: var(--tinta); }
.avaliacao blockquote p { margin: 0; }
.avaliacao footer { display: flex; align-items: center; gap: 12px; }
.avaliacao .av { width: 40px; height: 40px; border-radius: 50%; flex: none; object-fit: cover; }
.av-inicial { width: 40px; height: 40px; border-radius: 50%; flex: none; display: inline-flex; align-items: center; justify-content: center; background: var(--creme); color: var(--ouro-texto); font-family: var(--serif); font-size: 0.95rem; }
.avaliacao .quem { line-height: 1.35; }
.avaliacao .quem b { display: block; font-size: 0.875rem; font-weight: 600; }
.avaliacao .quem span { font-size: 0.75rem; color: var(--grafite); display: inline-flex; align-items: center; gap: 6px; }
.estrelas { width: 64px; height: 12px; color: var(--ouro-2); }
.nota-fonte { font-size: 0.8125rem; color: var(--grafite); margin: 4px 0 0; }
.ver-mais { display: none; width: 100%; margin: 0 0 20px; background: transparent; border-color: var(--ouro-2); color: var(--tinta); }
.ver-mais:hover { background: var(--ouro); color: var(--marinho); }
.depo .video figcaption { color: var(--nevoa-2); }
.depo .ver-mais { border-color: rgba(198, 170, 105, 0.6); color: var(--ouro); }
.depo .ver-mais:hover { background: var(--ouro); color: var(--marinho); }
.depo-nota { margin: 14px auto 0; max-width: 40em; text-align: center; font-size: 0.8125rem; line-height: 1.6; color: var(--nevoa-2); }
.depo .cta-bloco { align-items: center; }

/* Autor */
.autor-grelha { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 6vw, 88px); align-items: center; }
.autor-foto { margin: 0; max-width: 420px; }
.moldura { position: relative; padding: 0 20px 20px 0; }
.moldura::before { content: ""; position: absolute; top: 20px; left: 20px; right: 0; bottom: 0; border: 1px solid var(--ouro-2); border-radius: 3px; }
.autor-foto img { position: relative; z-index: 1; width: 100%; height: auto; border-radius: 3px; box-shadow: 0 30px 60px rgba(0, 0, 0, 0.45); }
.autor-foto figcaption { margin-top: 18px; line-height: 1.4; }
.autor-foto figcaption b { display: block; font-family: var(--serif); font-weight: 400; font-size: 1.3125rem; color: var(--branco); }
.autor-foto figcaption span { font-size: 0.875rem; color: var(--nevoa-2); }
.inscricoes { list-style: none; margin: 28px 0 0; padding: 0; border-top: 1px solid var(--linha-escura); font-size: 0.9375rem; }
.inscricoes li { padding: 12px 0; border-bottom: 1px solid var(--linha-escura); display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: 12px; }
.inscricoes b { color: var(--ouro); font-weight: 600; }

/* Oferta */
.oferta-grelha { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: clamp(32px, 6vw, 80px); align-items: center; }
.oferta-grelha .lista-check { margin-top: 28px; gap: 16px; }
.oferta-grelha .lista-check li { font-size: 1.0625rem; }
.oferta-cartao { position: relative; overflow: hidden; background: var(--marinho); color: var(--nevoa); border-radius: var(--raio); border-top: 2px solid var(--ouro-2); padding: clamp(28px, 3.5vw, 40px); box-shadow: 0 30px 60px rgba(3, 16, 38, 0.25); }
.oferta-cartao::after { content: ""; position: absolute; right: -40px; bottom: -50px; width: 220px; aspect-ratio: 478 / 496; background: url("assets/img/marca/monograma.svg") no-repeat center / contain; opacity: 0.07; pointer-events: none; }
.oferta-cartao > * { position: relative; z-index: 1; }
.oferta-cartao .produto { width: min(70%, 240px); margin: 0 auto 18px; filter: drop-shadow(0 20px 30px rgba(0, 0, 0, 0.5)); }
.oferta-cartao h3 { font-size: 1.375rem; color: var(--branco); margin-bottom: 18px; text-align: center; }
.oferta-cartao .preco { justify-content: center; text-align: center; margin-bottom: 0; }
.oferta-cartao .preco .nota { text-align: center; margin-top: 4px; }
.oferta-cartao .btn { width: 100%; margin-top: 24px; }
.oferta-cartao .cta-nota { text-align: center; margin-top: 14px; color: var(--nevoa-2); }

/* Condições de compra, junto da oferta (natureza do material, acesso, desistência) */
.condicoes { margin-top: clamp(48px, 6vw, 72px); padding-top: clamp(28px, 3vw, 36px); border-top: 1px solid var(--linha); }
.condicoes h3 { font-size: 1.375rem; margin-bottom: 22px; }
.condicoes dl { margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px clamp(24px, 4vw, 48px); }
.condicoes dt { font-family: var(--serif); font-size: 1.0625rem; line-height: 1.35; color: var(--tinta); margin-bottom: 6px; }
.condicoes dd { margin: 0; font-size: 0.875rem; line-height: 1.65; color: var(--grafite); }

/* Perguntas frequentes */
.faq { max-width: 46rem; margin: clamp(36px, 5vw, 56px) auto 0; border-top: 1px solid var(--linha); }
.faq details { border-bottom: 1px solid var(--linha); }
.faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 20px 0; font-family: var(--serif); font-size: 1.1875rem; color: var(--tinta); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; flex: none; width: 32px; height: 32px; border: 1px solid var(--ouro-2); border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: var(--ouro-texto); font-family: var(--sans); font-size: 1.25rem; transition: transform .2s; }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details p { color: var(--grafite); margin: 0 0 22px; max-width: 40em; }
.sec-creme .faq, .sec-creme .faq details { border-color: #D9CBAE; }

/* Fecho */
.fecho-sec .preco { justify-content: center; margin: 28px 0 8px; }

/* Rodapé */
.rodape { background: #020B1C; color: var(--nevoa-2); font-size: 0.8125rem; padding: 56px 0 36px; border-top: 1px solid var(--ouro-2); }
.rodape a { color: var(--nevoa); }
.rod-grelha { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 32px 56px; align-items: start; }
.rod-grelha img { width: 170px; height: auto; }
.rodape p { margin: 0 0 12px; line-height: 1.7; max-width: 60em; }
.rod-base { margin-top: 32px; padding-top: 18px; border-top: 1px solid var(--linha-escura); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 24px; }

/* Barra fixa no celular */
.barra-fixa { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; display: none; align-items: center; justify-content: space-between; gap: 14px; padding: 12px var(--margem); background: rgba(3, 16, 38, 0.96); border-top: 1px solid var(--ouro-2); backdrop-filter: blur(8px); transform: translateY(110%); transition: transform .25s; }
.barra-fixa.visivel { transform: none; }
.barra-fixa .preco { margin: 0; }
.barra-fixa .preco .valor { font-size: 1.75rem; }
.barra-fixa .btn { min-height: 48px; padding: 12px 18px; font-size: 0.75rem; flex: none; }

/* Telas menores */
@media (max-width: 960px) {
  .grelha-2, .grelha-texto, .autor-grelha, .oferta-grelha, .receber-grelha { grid-template-columns: minmax(0, 1fr); }
  .hero-texto { max-width: 56%; }
  .hero-foto { width: 56%; }
  .hero h1 { font-size: clamp(2.125rem, 4.6vw, 2.75rem); }
  .produto-cena { max-width: 520px; width: 100%; margin: 0 auto; height: clamp(380px, 96vw, 520px); }
  .capitulos { grid-template-columns: minmax(0, 1fr); }
  .videos { grid-template-columns: repeat(4, minmax(220px, 1fr)); justify-content: start; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; }
  .video { scroll-snap-align: start; }
  .autor-foto { max-width: 420px; }
  .visual-paginas { max-width: 520px; }
  .rod-grelha { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 720px) {
  .marca img { height: 38px; }
  .cabecalho .btn { display: none; }
  .hero { padding: 0 0 30px; min-height: 0; background: var(--marinho); }
  .cab-linha { min-height: 64px; }
  .hero-foto { top: -5vw; right: -50vw; bottom: auto; width: 130vw; }
  .hero-foto picture { height: auto; }
  .hero-foto img { height: auto; object-fit: fill; -webkit-mask-image: none; mask-image: none; }
  .hero-foto::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(3, 16, 38, 0) 0%, rgba(3, 16, 38, 0) 32.5%, rgba(3, 16, 38, 0.88) 37.5%, var(--marinho) 46%), linear-gradient(90deg, var(--marinho) 0%, rgba(3, 16, 38, 0.6) 18%, rgba(3, 16, 38, 0) 40%); }
  .hero > .caixa { padding-top: 74px; }
  .hero-texto { max-width: none; display: flex; flex-direction: column; }
  .hero h1 { font-size: 1.75rem; line-height: 1.1; max-width: 64%; text-shadow: 0 2px 18px rgba(3, 16, 38, 0.85); }
  .hero-sub { display: none; }
  .hero .lista-check { order: 2; margin-top: 18px; gap: 6px; }
  .hero .lista-check li { font-size: 0.875rem; line-height: 1.5; padding-left: 32px; }
  .hero .lista-check li::before { width: 20px; height: 20px; top: 1px; background-size: 13px; }
  .hero-oferta { order: 3; margin-top: 12px; gap: 10px; }
  .hero-oferta .preco { order: -1; display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 10px; }
  .hero .preco .valor { font-size: 2.25rem; }
  .hero-acesso { order: 4; margin-top: 12px; font-size: 0.8125rem; text-align: center; }
  .hero-legal { order: 5; margin: 6px auto 0; font-size: 0.75rem; text-align: center; }
  .duvidas, .destaques { grid-template-columns: minmax(0, 1fr); }
  .condicoes dl { grid-template-columns: minmax(0, 1fr); }
  .hero-oferta .btn, .cta-bloco .btn { width: 100%; }
  .hero-oferta { flex-direction: column; align-items: stretch; }
  .aviso { font-size: 0.8125rem; padding: 7px 14px; line-height: 1.4; }
  .aviso-extra { display: none; }
  .btn-compra, .escuro .btn-compra { padding-left: 26px; }
  .inscricoes li { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .barra-fixa { display: flex; }
  body.com-barra .rodape { padding-bottom: 120px; }
  .avaliacoes.recolhido > :nth-child(n+4) { display: none; }
  .avaliacoes.recolhido + .ver-mais { display: flex; }
  .depo .cta-bloco { align-items: stretch; }
  .fundo-retrato { display: none; }
}
/* Páginas depois do checkout (obrigado e aguardando pagamento) */
.obrigado { position: relative; overflow: hidden; padding: 24px 0 clamp(64px, 8vw, 104px); min-height: 78vh; }
.obrigado .marca-agua { right: -12%; top: -8%; }
.obrigado > .caixa { position: relative; z-index: 2; }
.obrigado-topo { display: flex; align-items: center; min-height: 64px; margin-bottom: clamp(36px, 6vw, 72px); }
.obrigado-topo img { height: 46px; width: auto; }
.obrigado-grelha { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr); gap: clamp(32px, 6vw, 88px); align-items: center; }
.obrigado-icone { width: 64px; height: 64px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: var(--ouro); color: var(--marinho); margin-bottom: 26px; box-shadow: 0 0 0 9px rgba(198, 170, 105, 0.14); }
.obrigado-icone svg { width: 30px; height: 30px; }
.obrigado h1 { font-size: clamp(2.125rem, 4vw, 3.125rem); line-height: 1.12; max-width: 19ch; }
.obrigado-sub { font-size: clamp(1.0625rem, 1.4vw, 1.1875rem); font-weight: 300; line-height: 1.65; color: var(--nevoa); margin: 22px 0 0; max-width: 34em; }
.passos { list-style: none; margin: 34px 0 0; padding: 0; counter-reset: passo; display: grid; gap: 12px; max-width: 38rem; }
.passos li { counter-increment: passo; position: relative; padding: 18px 22px 18px 68px; background: rgba(255, 255, 255, 0.045); border: 1px solid rgba(201, 207, 219, 0.1); border-radius: var(--raio); color: var(--nevoa); font-size: 0.9375rem; line-height: 1.6; }
.passos li::before { content: counter(passo); position: absolute; left: 20px; top: 17px; width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--ouro-2); color: var(--ouro); font-family: var(--serif); font-size: 1.0625rem; line-height: 1; display: flex; align-items: center; justify-content: center; }
.passos b { display: block; color: var(--branco); font-weight: 500; font-size: 1rem; margin-bottom: 3px; }
.passos a { color: var(--ouro); }
.obrigado-produto { justify-self: center; width: min(100%, 340px); }
.obrigado-produto img { width: 100%; height: auto; filter: drop-shadow(0 28px 36px rgba(0, 0, 0, 0.6)); }
.obrigado-legal { padding: 34px 0; }
.obrigado-legal p { margin: 0; max-width: 56em; font-size: 0.875rem; line-height: 1.7; color: var(--grafite); }
@media (max-width: 960px) {
  .obrigado-grelha { grid-template-columns: minmax(0, 1fr); }
  .obrigado-produto { width: min(56%, 240px); }
}
@media (max-width: 720px) {
  .obrigado { min-height: 0; padding-top: 12px; }
  .obrigado-topo { margin-bottom: 28px; }
  .obrigado-topo img { height: 38px; }
  .obrigado-icone { width: 56px; height: 56px; margin-bottom: 20px; }
  .obrigado h1 { font-size: 1.875rem; }
  .passos li { padding: 16px 18px 16px 60px; }
  .passos li::before { left: 16px; top: 15px; }
}

/* Preço em destaque (aprovado pela cliente a 29/10).
   Liga-se com CONFIG['preco_destaque'] (classe preco-destaque no body). Sem vermelho no preço: lembraria promoção. */
.preco-destaque .preco .valor { font-weight: 500; color: var(--branco); letter-spacing: -0.015em; }
.preco-destaque .preco .valor small { color: var(--ouro); font-weight: 400; }
.preco-destaque .claro-preco .valor { color: var(--marinho); }
.preco-destaque .claro-preco .valor small { color: var(--ouro-3); }
.preco .selo { align-self: center; display: inline-flex; align-items: center; padding: 5px 12px; border-radius: 999px; border: 1px solid rgba(198, 170, 105, 0.6); background: rgba(198, 170, 105, 0.1); color: var(--ouro); font-family: var(--sans); font-size: 0.75rem; font-weight: 500; line-height: 1.2; letter-spacing: 0.01em; white-space: nowrap; }
.claro-preco .selo { color: var(--ouro-texto); border-color: var(--ouro-2); background: rgba(198, 170, 105, 0.14); }
.preco-lado .selo { justify-self: start; margin-top: 10px; }
.preco-destaque .hero .preco .valor { font-size: clamp(2.75rem, 3.8vw, 3.25rem); }
.preco-destaque .oferta-cartao .preco { border: 1px solid rgba(198, 170, 105, 0.4); border-radius: 16px; padding: 18px 14px 16px; background: rgba(255, 255, 255, 0.035); gap: 10px 12px; }
.oferta-cartao .preco .rotulo { flex-basis: 100%; font-size: 0.8125rem; line-height: 1.2; color: var(--nevoa-2); }
.preco-destaque .oferta-cartao .preco .valor { font-size: 4rem; }
.preco-destaque .fecho-sec .preco { align-items: center; }
.preco-destaque .fecho-sec .preco .valor { font-size: clamp(3rem, 6vw, 4rem); }
.preco-destaque .barra-fixa .preco .valor { font-size: 1.875rem; }

/* Copy corrida justificada (aprovado pela cliente a 29/10), com hifenização para não abrir espaços grandes entre
   palavras. Títulos, botões, preço e linhas curtas centradas ficam como estão. Também nas páginas de obrigado.
   Liga-se com CONFIG['justificado'] (classe justificado no body). */
.justificado .hero-sub, .justificado .lista-check li, .justificado .fecho, .justificado .texto p,
.justificado .capitulos span, .justificado .cartao p, .justificado .cartao-marinho p,
.justificado .avaliacao blockquote p, .justificado .faq details p, .justificado .condicoes dd,
.justificado .rodape p, .justificado .sec-intro, .justificado .obrigado-sub, .justificado .passos li,
.justificado .obrigado-legal p { text-align: justify; text-justify: inter-word; -webkit-hyphens: auto; hyphens: auto; hyphenate-limit-chars: 7 3 3; -webkit-hyphenate-limit-before: 3; -webkit-hyphenate-limit-after: 3; }
.justificado .centro .sec-intro { text-align-last: center; }

@media (max-width: 720px) {
  .preco-destaque .hero .preco .valor { font-size: 2.5rem; }
  .preco-destaque .hero-oferta .preco { align-items: center; gap: 0 12px; }
}
@media (min-width: 721px) and (max-width: 960px) {
  /* tablet: o preço continua ao lado do botão, com o selo por baixo */
  .preco-destaque .hero .preco .valor { font-size: 2.25rem; }
  .preco-destaque .hero-oferta { gap: 14px 12px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
