:root {
  --bg: #fffdf8;
  --panel: #f0efe7;
  --brown: #a36a48;
  --text: #474842;
  --btn: #898970;
  --line: rgba(0, 0, 0, .1);
  --display: "Freight Big Pro", "Cormorant Garamond", serif;
  --body: "Cardo", serif;
}

/* Fontes próprias (só são baixadas quando um modelo de design usa) */
@font-face { font-family: "MADE Mirage"; src: url("/fontes/made-mirage-thin.woff2") format("woff2"); font-weight: 100; font-style: normal; font-display: swap; }
@font-face { font-family: "MADE Mirage"; src: url("/fontes/made-mirage-regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { background: var(--bg); color: var(--text); font-family: var(--body); font-size: 16px; line-height: 2; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4 { font-family: var(--display); font-weight: 400; color: var(--brown); }

/* Header */
.site-header { position: absolute; inset: 0 0 auto; z-index: 10; display: flex; align-items: flex-start; justify-content: space-between; padding: 10px 55px; }
.logo img { width: var(--logo, 100px); height: var(--logo, 100px); }
.main-nav { display: flex; gap: 10px; margin-top: 36px; }
.main-nav a { font-family: var(--display); font-size: min(18.5px, calc(1rem + 0.23vw)); color: #fff; padding: 0 10px; line-height: 28px; display: inline-flex; align-items: center; gap: 6px; transition: opacity .2s; }
.main-nav a:hover { opacity: .7; }
.has-sub { position: relative; }
.has-sub .sub { position: absolute; top: 100%; left: 0; min-width: 160px; background: var(--bg); padding: 10px 0; opacity: 0; visibility: hidden; transform: translateY(6px); transition: .2s; }
.has-sub:hover .sub, .has-sub:focus-within .sub { opacity: 1; visibility: visible; transform: none; }
.has-sub .sub a { color: var(--text); display: block; padding: 4px 18px; }
.menu-toggle { display: none; }

/* Hero slider */
.hero { position: relative; height: 100vh; min-height: 560px; max-height: 900px; overflow: hidden; background: #222; }
.slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1.4s ease; }
.slide.active { opacity: 1; }
/* na página ficam só a foto que aparece, a que está saindo e a próxima: as outras nem baixam (o main.js prepara uma por vez) */
.hero .slide:not(.active, .prox, .saindo) { display: none; }
.hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0,0,0,.25), transparent 25%, transparent 65%, rgba(0,0,0,.25)); pointer-events: none; }
.hero-caption { position: absolute; z-index: 2; left: 0; right: 0; bottom: 18%; text-align: center; font-family: var(--display); font-size: min(18.5px, calc(1rem + 0.23vw)); letter-spacing: .1em; text-transform: uppercase; color: #fff; }
.counter { position: absolute; z-index: 2; right: 120px; top: 50%; transform: translateY(40px); display: flex; flex-direction: column; align-items: center; gap: 6px; font-family: var(--display); font-size: 16px; letter-spacing: .14em; color: #fff; line-height: 1; }
.counter i { width: 1px; height: 18px; background: rgba(255,255,255,.6); }

/* Intro */
.intro { text-align: center; padding: 0 20px; height: 88px; display: flex; flex-direction: column; justify-content: center; }
.intro h2 { font-size: min(30px, calc(1rem + 1.26vw)); line-height: 1.2; }
.intro h4 { font-size: min(18px, calc(1rem + 0.18vw)); letter-spacing: .19em; text-transform: uppercase; line-height: 1.66; }

/* Info split */
.info { display: grid; grid-template-columns: 1fr 1fr; margin-bottom: calc(40px * var(--esp, 1)); }
.info-img img { width: 100%; height: 800px; object-fit: cover; }
.info-text { background: var(--panel); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 40px 80px; }
.info-text h1 { font-size: min(39px, calc(1rem + 2.07vw)); line-height: 1.08; }
.eyebrow { font-family: var(--display); font-size: min(16.5px, calc(1rem + 0.05vw)); letter-spacing: .14em; text-transform: uppercase; margin-top: 18px; }
.vline { display: block; width: 1px; height: 41px; background: var(--detalhe, #e0e0d3); margin: 30px 0; }
.info-text p { max-width: 345px; line-height: 2; }
.btn { display: inline-block; background: var(--btn); color: #fff; font-family: var(--display); font-size: min(18.5px, calc(1rem + 0.23vw)); letter-spacing: .05em; line-height: 1.11; padding: 14px 30px; margin-top: 40px; transition: opacity .2s; }
.btn:hover { opacity: .85; }

.section-title { text-align: center; font-size: min(25.5px, calc(1rem + 0.86vw)); line-height: 1.3; padding: 0 20px; }

/* Feature (Casamentos) */
.feature { position: relative; display: block; height: 600px; margin-top: calc(40px * var(--esp, 1)); overflow: hidden; }
.feature img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s ease; }
.feature:hover img { transform: scale(1.03); }
.feature::after { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.25); }
.feature-label { position: absolute; z-index: 1; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; padding-top: 70px; color: #fff; text-align: center; }
.feature-label h2 { color: #fff; font-size: min(30px, calc(1rem + 1.26vw)); line-height: 1.2; }
.feature-label p { font-family: var(--display); font-size: min(16.5px, calc(1rem + 0.05vw)); letter-spacing: .14em; text-transform: uppercase; margin-top: 18px; line-height: 1.1; }

.center { text-align: center; padding: calc(12px * var(--esp, 1)) 0 calc(80px * var(--esp, 1)); }

/* Quote */
.quote { max-width: 589px; margin: 0 auto; padding: 0 20px calc(70px * var(--esp, 1)); }
.quote h2 { font-size: min(31.5px, calc(1rem + 1.4vw)); line-height: 1.17; }
.quote hr { border: 0; border-top: 1px solid var(--line); margin: 34px 0 30px; }
.author { font-family: var(--display); font-size: min(16.5px, calc(1rem + 0.05vw)); letter-spacing: .14em; text-transform: uppercase; }

/* Instagram */
.instagram { padding-top: calc(40px * var(--esp, 1)); text-align: center; }
.ig-grid { display: grid; grid-template-columns: repeat(6, 1fr); margin-top: 40px; }
.ig-grid img { width: 100%; aspect-ratio: 1; object-fit: cover; transition: opacity .2s; }
.ig-grid a:hover img { opacity: .8; }
.ig-handle { display: inline-flex; flex-direction: column; align-items: center; gap: 10px; margin-top: 30px; font-family: var(--display); font-size: min(16.5px, calc(1rem + 0.05vw)); letter-spacing: .14em; text-transform: uppercase; }

/* Footer */
.site-footer { text-align: center; padding: calc(100px * var(--esp, 1)) 20px calc(60px * var(--esp, 1)); }
.site-footer nav { display: flex; justify-content: center; flex-wrap: wrap; gap: 4px 20px; }
.site-footer nav a { font-family: var(--display); font-size: min(18.5px, calc(1rem + 0.23vw)); }
.copy { font-size: 13px; margin-top: 30px; }
.to-top { display: inline-block; margin-top: 40px; color: var(--text); opacity: .6; }

/* Mobile */
@media (max-width: 860px) {
  .site-header { padding: 10px 16px; align-items: center; }
  .logo img { width: calc(var(--logo, 100px) * .8); height: calc(var(--logo, 100px) * .8); }
  .menu-toggle { display: flex; flex-direction: column; gap: 6px; background: none; border: 0; padding: 10px; cursor: pointer; z-index: 12; }
  .menu-toggle span { width: 26px; height: 1px; background: #fff; transition: .3s; }
  .menu-open .menu-toggle span { background: var(--text); }
  .main-nav { position: fixed; inset: 0; z-index: 11; background: var(--bg); flex-direction: column; align-items: center; justify-content: center; gap: 18px; margin: 0; opacity: 0; visibility: hidden; transition: .3s; }
  .menu-open .main-nav { opacity: 1; visibility: visible; }
  .main-nav a { color: var(--text); font-size: min(2rem, calc(1rem + 1.11vw)); }
  .has-sub { text-align: center; }
  .has-sub .sub { position: static; opacity: 1; visibility: inherit; transform: none; background: none; padding: 6px 0 0; }
  .has-sub .sub a { font-size: min(1.125rem, calc(1rem + 0.14vw)); justify-content: center; }
  .counter { right: 20px; }
  .info { grid-template-columns: 1fr; }
  .info-img img { height: 520px; }
  .info-text { padding: 30px 12.5% 40px; }
  .vline { height: 22px; margin: 20px 0; }
  .btn { padding: 10.5px 22.5px; margin-top: 30px; }
  .feature { height: 420px; }
  .ig-grid { grid-template-columns: repeat(3, 1fr); }
  .intro { height: auto; padding: 30px 16px; }
}

/* ===== Páginas internas ===== */
[hidden] { display: none !important; }

/* Páginas sem foto no topo (Histórias, 404): menu escuro e logo escurecida */
.sem-capa .site-header { position: relative; }
.sem-capa .main-nav > a, .sem-capa .main-nav .has-sub > a { color: var(--text); }
.sem-capa .logo img { filter: brightness(0) opacity(.72); }
.sem-capa .menu-toggle span { background: var(--text); }

/* Capa das páginas internas */
.capa { position: relative; height: 600px; overflow: hidden; background: #2a2a26; }
.capa img { width: 100%; height: 100%; object-fit: cover; }
.capa::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(0,0,0,.28), rgba(0,0,0,.08) 30%, rgba(0,0,0,.18)); }
.capa-texto { position: absolute; z-index: 1; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 80px 20px 0; text-align: center; color: #fff; }
.capa-texto h1 { color: #fff; font-size: min(50px, calc(1rem + 3.06vw)); line-height: 1.1; }
.capa-texto p { font-family: var(--display); font-size: min(18.5px, calc(1rem + 0.23vw)); letter-spacing: .1em; text-transform: uppercase; margin-top: 14px; line-height: 1.2; }
.pg-contato .capa-texto h1 { font-size: min(60px, calc(1rem + 3.96vw)); }
.pg-post .capa-texto p { font-size: min(16.5px, calc(1rem + 0.05vw)); letter-spacing: .14em; }

.eyebrow { display: block; font-family: var(--display); font-size: min(16.5px, calc(1rem + 0.05vw)); letter-spacing: .14em; text-transform: uppercase; line-height: 1.2; }

/* Nós */
.texto-sobre { max-width: 589px; margin: 0 auto; padding: calc(80px * var(--esp, 1)) 20px calc(40px * var(--esp, 1)); }
.texto-sobre :is(h1, h2) { font-size: min(30px, calc(1rem + 1.26vw)); line-height: 1.2; margin-bottom: 24px; }
.texto-sobre p { margin-bottom: 24px; }
.depoimentos { position: relative; margin: calc(40px * var(--esp, 1)) 0 0; }
.depo { display: none; grid-template-columns: 1fr 1fr; min-height: 800px; }
.depo.ativo { display: grid; animation: aparecer .6s ease; }
@keyframes aparecer { from { opacity: 0; } to { opacity: 1; } }
.depo-texto { background: var(--panel); display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 60px 70px; }
.depo-texto h3 { font-size: min(25.5px, calc(1rem + 0.86vw)); margin-top: 16px; line-height: 1.3; }
.depo-texto .vline { display: block; width: 1px; height: 41px; background: var(--detalhe, #e0e0d3); margin: 26px 0; }
.depo-texto p { max-width: 380px; }
.depo-nav { display: flex; align-items: center; gap: 24px; margin-top: 40px; font-family: var(--display); letter-spacing: .14em; }
.depo-nav button { background: none; border: 0; color: var(--text); cursor: pointer; opacity: .6; transition: opacity .2s; }
.depo-nav button:hover { opacity: 1; }
.depo-foto img { width: 100%; height: 100%; object-fit: cover; }
.pg-sobre .center { padding-top: calc(80px * var(--esp, 1)); }

/* Portfólio e lista de histórias: foto e texto alternando de lado */
.texto-intro { max-width: 900px; margin: 0 auto; padding: calc(40px * var(--esp, 1)) 20px calc(20px * var(--esp, 1)); text-align: center; color: #6a6450; }
.lista-alternada { max-width: 900px; margin: 0 auto; padding: calc(60px * var(--esp, 1)) 20px calc(80px * var(--esp, 1)); display: grid; gap: calc(140px * var(--esp, 1)); }
.alt-item { display: grid; grid-template-columns: 1fr 1fr; align-items: center; }
.alt-item:nth-child(even) .alt-foto { order: 2; }
.alt-foto { overflow: hidden; }
.alt-foto img { width: 100%; aspect-ratio: 1; object-fit: cover; transition: transform 1.2s ease; }
.alt-item:hover .alt-foto img { transform: scale(1.03); }
.alt-texto { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 20px; }
.alt-texto h2 { font-size: min(39px, calc(1rem + 2.07vw)); line-height: 1.1; }
.alt-texto .h-post { font-size: min(30px, calc(1rem + 1.26vw)); margin-top: 14px; }
.alt-texto .vline { display: block; width: 1px; height: 41px; background: var(--detalhe, #e0e0d3); margin: 24px 0; }
.alt-texto .seta { margin-top: 40px; color: var(--text); opacity: .6; transition: transform .3s; }
.alt-item:hover .seta { transform: translateX(6px); }

/* Galerias de fotos: mosaico (principal), linhas, grade e uma por linha */
/* enquanto a capa da página baixa (script no topo.php), a galeria espera fora da tela: o navegador não pede as fotos dela */
.capa-esperando .galeria-fotos { content-visibility: hidden; contain-intrinsic-height: auto 2400px; }
.galeria-fotos button { display: block; width: 100%; border: 0; padding: 0; background: var(--panel); cursor: zoom-in; overflow: hidden; }
.galeria-fotos img { width: 100%; height: auto; transition: opacity .3s, transform .8s ease; }
.galeria-fotos button:hover img { opacity: .9; }
.galeria-fotos[data-zoom="0"] button { cursor: default; pointer-events: none; }
.galeria-fotos[data-zoom="0"] button:hover img { opacity: 1; }

.galeria-mosaico { display: flex; gap: var(--g, 20px); align-items: flex-start; max-width: 900px; margin: 0 auto; padding: calc(40px * var(--esp, 1)) 0 calc(60px * var(--esp, 1)); }
.galeria-mosaico .col { flex: 1; min-width: 0; display: grid; gap: var(--g, 20px); }

/* Linhas: cada foto ocupa espaço proporcional ao formato dela (--r = largura/altura) */
.galeria-linhas { --altura: 260px; display: flex; flex-wrap: wrap; gap: var(--g, 10px); max-width: 1200px; margin: 0 auto; padding: calc(40px * var(--esp, 1)) 20px calc(60px * var(--esp, 1)); }
.galeria-linhas button { flex-grow: var(--r); flex-basis: calc(var(--altura) * var(--r)); width: auto; }
.galeria-linhas img { height: 100%; object-fit: cover; }
.galeria-linhas::after { content: ""; flex-grow: 999; }

.galeria-grade { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--g, 12px); max-width: 1000px; margin: 0 auto; padding: calc(40px * var(--esp, 1)) 20px calc(60px * var(--esp, 1)); }
.galeria-grade img { aspect-ratio: 1; object-fit: cover; }
.galeria-grade button:hover img { transform: scale(1.03); opacity: 1; }

.galeria-coluna { max-width: 810px; margin: 0 auto; padding: calc(40px * var(--esp, 1)) 20px calc(60px * var(--esp, 1)); display: grid; gap: var(--g, 20px); }
/* pares automáticos (como no Pixieset): horizontais na largura toda, verticais lado a lado na mesma altura */
.galeria-pares { max-width: 1000px; margin: 0 auto; padding: calc(40px * var(--esp, 1)) 20px calc(60px * var(--esp, 1)); display: grid; gap: var(--g, 6px); }
.galeria-pares .gal-par { display: grid; grid-template-columns: 1fr 1fr; gap: var(--g, 6px); }
.galeria-pares .gal-par button { height: 100%; }
.galeria-pares .gal-par img { height: 100%; object-fit: cover; }
.galeria-pares .gal-par button:has(.gal-leg) img { height: auto; }
/* colunas fixas: as fotos inteiras, sem cortar */
.galeria-col2, .galeria-col3, .galeria-col4 { display: grid; gap: var(--g, 12px); align-items: start; max-width: 1100px; margin: 0 auto; padding: calc(40px * var(--esp, 1)) 20px calc(60px * var(--esp, 1)); }
.galeria-col2 { grid-template-columns: repeat(2, 1fr); }
.galeria-col3 { grid-template-columns: repeat(3, 1fr); }
.galeria-col4 { grid-template-columns: repeat(4, 1fr); }
/* descrição da foto (legenda), nos layouts que mostram */
.galeria-fotos .gal-leg { display: block; padding: 8px 2px 4px; background: var(--bg, #fff); font-size: 13.5px; line-height: 1.5; color: var(--muted, #777); text-align: left; cursor: default; }

/* Histórias */
.hist-intro { max-width: 900px; margin: 0 auto; padding: 20px 20px 0; display: grid; grid-template-columns: 1fr 410px; gap: 40px; align-items: center; }
.hist-intro .eyebrow { font-size: 14px; color: var(--brown); }
.hist-intro :is(h1, h2) { font-size: min(25.5px, calc(1rem + 0.86vw)); margin-top: 10px; }
.hist-paragrafos { max-width: 900px; margin: 0 auto; padding: calc(30px * var(--esp, 1)) 20px calc(60px * var(--esp, 1)); }
.hist-paragrafos p { font-size: 13.5px; margin-bottom: 16px; }
.faixa { position: relative; height: 448px; overflow: hidden; }
.faixa img { width: 100%; height: 100%; object-fit: cover; }
.faixa::after { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.2); }
.faixa h2 { position: absolute; z-index: 1; inset: 0; display: flex; align-items: center; justify-content: center; color: #fff; font-size: min(39px, calc(1rem + 2.07vw)); text-align: center; padding: 0 20px; }

/* Postagem */
.post-video { max-width: 640px; margin: 0 auto; padding: 40px 20px 0; }
.player { position: relative; aspect-ratio: 16 / 9; background: #000; overflow: hidden; }
.player img { width: 100%; height: 100%; object-fit: cover; }
.player iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: none; border: 0; cursor: pointer; }
.play i { width: 72px; height: 72px; border: 1px solid rgba(255,255,255,.85); border-radius: 50%; display: grid; place-items: center; background: rgba(0,0,0,.15); transition: transform .3s; }
.play:hover i { transform: scale(1.06); }
.play svg { margin-left: 5px; }
.legenda { font-size: 13.5px; margin-top: 10px; }
/* vídeo com tamanho escolhido no editor do blog: na mesma área das fotos, com a largura (--vw) e o alinhamento escolhidos */
.post-video.pv-aj { max-width: 1100px; padding: 40px 20px 0; display: flex; flex-direction: column; align-items: center; }
.post-video.pv-aj.al-esq { align-items: flex-start; }
.post-video.pv-aj.al-dir { align-items: flex-end; }
.post-video.pv-aj .player, .post-video.pv-aj .legenda { width: min(100%, var(--vw, 600px)); }
.post-video.pv-vert { --vw: 360px; }
.post-video.pv-vert .player { aspect-ratio: 9 / 16; }
.post-video.pv-tela { max-width: none; padding-left: 0; padding-right: 0; }
.post-video.pv-tela .player { width: 100%; }
.post-video.pv-tela .legenda { width: 100%; padding: 0 20px; }
/* o player do YouTube fica pronto atrás da capa (main.js): a capa e o botão ficam por cima até o play */
.player .pl-yt { position: absolute; inset: 0; }
.player img { position: relative; }
.player [hidden] { display: none !important; }
.relacionados { background: var(--panel); padding: calc(70px * var(--esp, 1)) 20px calc(90px * var(--esp, 1)); }
.rel-grid { max-width: 900px; margin: 40px auto 0; display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.rel-item { text-align: center; }
.rel-item img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; margin-bottom: 20px; }
.rel-item h3 { font-size: min(25.5px, calc(1rem + 0.86vw)); margin-bottom: 8px; }

/* Contato */
.contato-area { background: var(--panel); padding: calc(80px * var(--esp, 1)) 20px calc(80px * var(--esp, 1)) 20px; }
.contato-card { max-width: 650px; margin: 0 auto; background: #fff; padding: 50px 60px; }
.form-contato { display: grid; gap: 26px; }
.campo { display: block; font-family: var(--display); font-size: 15px; letter-spacing: .08em; text-transform: uppercase; color: var(--brown); line-height: 1.4; border: 0; }
.campo > span { color: var(--brown); }
.campo input, .campo select, .campo textarea { display: block; width: 100%; margin-top: 6px; border: 0; border-bottom: 1px solid var(--line); background: transparent; font-family: var(--body); font-size: 16px; color: var(--text); text-transform: none; letter-spacing: 0; padding: 10px 0; border-radius: 0; }
.campo textarea { border: 1px solid var(--line); padding: 10px; resize: vertical; }
.campo input:focus, .campo select:focus, .campo textarea:focus { outline: none; border-color: var(--brown); }
.campo.invalido input, .campo.invalido textarea { border-color: #b0533a; }
.campo legend { margin-bottom: 8px; }
.campo .radio input { display: inline-block; width: auto; margin: 0; padding: 0; accent-color: var(--btn); }
.radio { display: flex; align-items: center; gap: 8px; font-family: var(--body); font-size: 15px; text-transform: none; letter-spacing: 0; color: var(--text); cursor: pointer; }
.ajuda { font-size: 13.5px; line-height: 1.7; margin-top: -8px; }
.form-contato .btn { justify-self: start; margin-top: 0; border: 0; cursor: pointer; }
.form-erro { color: #b0533a; }
.hp { position: absolute; left: -9999px; }
.contato-ok { text-align: center; padding: 40px 0; }
.contato-ok h2 { font-size: min(34px, calc(1rem + 1.62vw)); margin-bottom: 14px; }
.texto-proposta { text-align: center; font-family: var(--display); font-size: min(17px, calc(1rem + 0.09vw)); letter-spacing: .14em; text-transform: uppercase; padding: 70px 20px 0; }

/* 404 */
.erro-404 { text-align: center; padding: 120px 20px; }
.erro-404 h1 { font-size: min(40px, calc(1rem + 2.16vw)); margin-bottom: 14px; }

/* Lightbox (fotos ampliadas) */
.lightbox { position: fixed; inset: 0; z-index: 50; background: rgba(20,20,18,.97); display: flex; align-items: center; justify-content: center; }
.lightbox img { max-width: 92vw; max-height: 88vh; object-fit: contain; }
.lightbox button { position: absolute; background: none; border: 0; color: #fff; font-size: 44px; line-height: 1; padding: 16px; opacity: .7; cursor: pointer; }
.lightbox button:hover { opacity: 1; }
.lb-close { top: 8px; right: 14px; }
.lb-prev { left: 8px; top: 50%; transform: translateY(-50%); }
.lb-next { right: 8px; top: 50%; transform: translateY(-50%); }
.lb-count { position: absolute; bottom: 18px; color: rgba(255,255,255,.6); font-family: var(--display); letter-spacing: .2em; font-size: 14px; }

/* Contato: foto com moldura cortando a linha, texto ao lado */
.ct-bloco { position: relative; max-width: 1170px; margin: 45px auto 0; background: var(--panel); display: grid; grid-template-columns: 478px 1fr; align-items: start; padding: 73px 0; }
.ct-linha { position: absolute; left: 49px; right: 49px; top: 196px; height: 1px; background: var(--linha-contato, #d0cac0); }
.ct-foto { position: relative; padding-left: 98px; }
.ct-foto img { display: block; width: 381px; height: 503px; object-fit: cover; border: 10px solid var(--bg); background: var(--bg); }
.ct-texto { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; padding: 43px 50px 0; }
.ct-sobre { font-family: var(--display); font-size: 11px; letter-spacing: .45em; text-transform: uppercase; line-height: 1.2; }
.ct-texto h1 { margin-top: 125px; font-size: min(28px, calc(1rem + 1.08vw)); line-height: 1.2; color: var(--brown); }
.ct-rotulo { margin-top: 22px; font-family: var(--display); font-size: 9.5px; letter-spacing: .25em; text-transform: uppercase; line-height: 1.2; }
.ct-texto p { margin-top: 18px; max-width: 470px; font-size: 14px; line-height: 1.7; }
.ct-proposta { text-align: center; padding: calc(90px * var(--esp, 1)) 20px 0; }
.ct-proposta h2 { font-size: min(23px, calc(1rem + 0.63vw)); line-height: 1.3; text-transform: uppercase; }
.ct-link { display: inline-block; margin-top: 38px; font-family: var(--display); font-size: 12px; letter-spacing: .16em; text-transform: uppercase; padding-bottom: 8px; border-bottom: 1px solid currentColor; }
.ct-link:hover { color: var(--brown); }
.ct-final { max-width: 904px; margin: calc(66px * var(--esp, 1)) auto 0; padding: 0 20px calc(100px * var(--esp, 1)); text-align: center; font-family: var(--display); font-size: min(28px, calc(1rem + 1.08vw)); line-height: 1.2; color: #7b756c; }
.pg-contato .contato-area { margin-bottom: 60px; }

/* Instagram em faixa (Contato): @ pequeno e fileira de fotos pequenas */
.ig-faixa { background: var(--panel); padding: calc(40px * var(--esp, 1)) 30px calc(50px * var(--esp, 1)); text-align: center; }
.ig-faixa-topo { display: inline-flex; flex-direction: column; align-items: center; gap: 4px; font-family: var(--display); font-size: 11px; letter-spacing: .45em; text-transform: uppercase; color: var(--text); }
.ig-faixa-topo svg { width: 14px; height: 14px; }
.ig-faixa-fotos { display: flex; justify-content: space-between; max-width: 1110px; margin: 12px auto 0; }
.ig-faixa-fotos img { width: 86px; aspect-ratio: 3 / 4; object-fit: cover; transition: opacity .2s; }
.ig-faixa-fotos a:hover img { opacity: .8; }

/* Galeria de Clientes (/clients/) */
.pg-clientes .capa { height: 460px; }
.clientes { max-width: 830px; margin: 0 auto; padding: 0 30px calc(100px * var(--esp, 1)); }
.clientes-topo { text-align: center; padding: 60px 0 10px; }
.clientes-topo h1 { font-size: min(50px, calc(1rem + 3.06vw)); line-height: 1.1; }
.clientes-topo .eyebrow { margin-top: 14px; }
.cli-busca { display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 26px 0 50px; border-bottom: 1px solid var(--line); margin-bottom: 60px; }
.cli-lupa { background: none; border: 0; color: var(--text); padding: 8px; cursor: pointer; opacity: .75; }
.cli-lupa:hover, .cli-lupa[aria-expanded="true"] { opacity: 1; color: var(--brown); }
.cli-campo { width: min(360px, 100%); border: 0; border-bottom: 1px solid var(--line); background: transparent; font-family: var(--body); font-size: 16px; color: var(--text); text-align: center; padding: 8px 0; border-radius: 0; }
.cli-campo:focus { outline: none; border-color: var(--brown); }
.cli-grade { display: grid; grid-template-columns: 1fr 1fr; gap: 70px 60px; scroll-margin-top: 30px; }
.cli-card { display: block; text-align: center; color: var(--text); }
.cli-foto { aspect-ratio: 3 / 4; overflow: hidden; background: var(--panel); }
.cli-foto img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s ease, opacity .3s; }
.cli-card:hover .cli-foto img { transform: scale(1.03); }
.cli-card.largo { grid-column: 1 / -1; }
.cli-card.largo .cli-foto { aspect-ratio: 2.17 / 1; }
.cli-data { display: block; margin-top: 22px; font-family: var(--display); font-size: 14px; letter-spacing: .14em; text-transform: uppercase; color: var(--brown); }
.cli-card h2 { margin-top: 6px; font-size: min(28px, calc(1rem + 1.08vw)); line-height: 1.2; }
.cli-cadeado { display: block; margin-top: 8px; color: var(--text); opacity: .55; line-height: 0; }
.cli-vazio { text-align: center; padding: 30px 0 60px; }
.cli-paginas { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px 18px; margin-top: 80px; }
.cli-paginas button { background: none; border: 0; font-family: var(--display); font-size: 16px; letter-spacing: .1em; color: var(--text); opacity: .55; padding: 6px 4px; cursor: pointer; border-bottom: 1px solid transparent; }
.cli-paginas button:hover { opacity: 1; }
.cli-paginas button[aria-current] { opacity: 1; color: var(--brown); border-color: var(--brown); }

@media (max-width: 860px) {
  .capa { height: 70vh; min-height: 420px; }
  .pg-clientes .capa { height: 52vh; min-height: 340px; }
  .ct-bloco { grid-template-columns: 1fr; margin: 20px 16px 0; padding: 40px 20px 50px; }
  .ct-linha { display: none; }
  .ct-foto { padding: 0; justify-self: center; }
  .ct-foto img { width: min(300px, 75vw); height: auto; aspect-ratio: 381 / 503; }
  .ct-texto { padding: 34px 0 0; }
  .ct-texto h1 { margin-top: 14px; }
  .ct-proposta { padding-top: 60px; }
  .ct-final { margin-top: 44px; padding-bottom: 70px; }
  .ig-faixa { padding: calc(34px * var(--esp, 1)) 16px calc(40px * var(--esp, 1)); }
  .ig-faixa-fotos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
  .ig-faixa-fotos img { width: 100%; }
  .clientes { padding: 0 16px calc(70px * var(--esp, 1)); }
  .cli-busca { padding: 18px 0 34px; margin-bottom: 40px; }
  .cli-grade { grid-template-columns: 1fr; gap: 50px; }
  .cli-card.largo .cli-foto { aspect-ratio: 3 / 2; }
  .cli-data { margin-top: 16px; }
  .depo, .depo.ativo { grid-template-columns: 1fr; min-height: 0; }
  .depo-foto { order: -1; }
  .depo-foto img { height: 480px; }
  .depo-texto { padding: 50px 24px; }
  .lista-alternada { gap: calc(70px * var(--esp, 1)); padding: calc(40px * var(--esp, 1)) 16px calc(60px * var(--esp, 1)); }
  .alt-item { grid-template-columns: 1fr; }
  .alt-item:nth-child(even) .alt-foto { order: 0; }
  .alt-texto { padding: 30px 0 0; }
  .galeria-mosaico { gap: var(--g, 6px); padding: calc(16px * var(--esp, 1)) 6px calc(40px * var(--esp, 1)); }
  .galeria-mosaico .col { gap: var(--g, 6px); }
  .galeria-linhas { --altura: 150px; gap: var(--g, 6px); padding: calc(16px * var(--esp, 1)) 6px calc(40px * var(--esp, 1)); }
  .galeria-grade { grid-template-columns: repeat(2, 1fr); gap: var(--g, 6px); padding: calc(16px * var(--esp, 1)) 6px calc(40px * var(--esp, 1)); }
  .galeria-pares { padding: calc(24px * var(--esp, 1)) 0 calc(40px * var(--esp, 1)); gap: min(var(--g, 4px), 6px); }
  .galeria-pares .gal-par { gap: min(var(--g, 4px), 6px); }
  .galeria-col2, .galeria-col3, .galeria-col4 { grid-template-columns: repeat(2, 1fr); gap: min(var(--g, 6px), 8px); padding: calc(16px * var(--esp, 1)) 6px calc(40px * var(--esp, 1)); }
  .hist-intro { grid-template-columns: 1fr; }
  .faixa { height: 320px; }
  .galeria-coluna { padding: calc(24px * var(--esp, 1)) 0 calc(40px * var(--esp, 1)); gap: var(--g, 6px); }
  .rel-grid { grid-template-columns: 1fr; }
  .contato-area { padding: calc(40px * var(--esp, 1)) 12px calc(40px * var(--esp, 1)) 12px; }
  .contato-card { padding: 34px 22px; }
  .lb-prev, .lb-next { display: none; }
  /* Detalhes em maiúsculas: no celular o Pixieset usa 14px */
  .eyebrow, .feature-label p, .author, .ig-handle { font-size: 14px; }
}

/* ===== Opções de design (Painel → Design). O Ever Two padrão não usa nenhuma destas. ===== */

/* Menu em barra clara (em vez de por cima da foto) */
.d-nav-barra .site-header { position: relative; background: var(--bg); }
.d-nav-barra .main-nav > a, .d-nav-barra .main-nav .has-sub > a { color: var(--text); }
.d-nav-barra .logo img { filter: brightness(0) opacity(.72); }
.d-nav-barra .menu-toggle span { background: var(--text); }

/* Menu fixo no topo ao rolar a página */
.d-fixo .site-header { position: fixed; transition: background .3s, box-shadow .3s, padding .3s; }
.d-fixo.d-nav-barra .site-header { position: sticky; top: 0; }
.d-fixo.rolou .site-header { background: var(--bg); box-shadow: 0 1px 0 var(--line); padding-top: 4px; padding-bottom: 4px; }
.d-fixo.rolou .main-nav { margin-top: calc(var(--logo, 100px) / 2 - 14px); }
.d-fixo.rolou .main-nav > a, .d-fixo.rolou .main-nav .has-sub > a { color: var(--text); }
.d-fixo.rolou .logo img { filter: brightness(0) opacity(.72); }
.d-fixo.rolou .menu-toggle span { background: var(--text); }

/* Botões */
.btn { transition: opacity .2s, background .2s, color .2s, border-color .2s; }
.d-btn-vazado .btn { background: transparent; color: var(--btn); border: 1px solid var(--btn); }
.d-btn-vazado .btn:hover { opacity: 1; background: var(--btn-hover); border-color: var(--btn-hover); color: #fff; }
.d-btn-sublinhado .btn { background: none; color: var(--text); padding: 0 0 8px; border-bottom: 1px solid currentColor; letter-spacing: .14em; text-transform: uppercase; font-size: 13px; }
.d-btn-sublinhado .btn:hover { opacity: 1; color: var(--btn-hover); }
.d-btn-cheio:not(.d-modelo-evertwo) .btn:hover { opacity: 1; background: var(--btn-hover); }
.d-cantos-suaves .btn { border-radius: 6px; }
.d-cantos-pilula .btn { border-radius: 999px; }
.d-btn-sublinhado .btn { border-radius: 0; }

/* Animação: blocos surgem suavemente ao rolar (o JS marca quais são) */
.d-anim-suave .revelar { opacity: 0; transform: translateY(26px); transition: opacity .9s ease, transform .9s ease; }
.d-anim-suave .revelar.visivel { opacity: 1; transform: none; }

/* Aviso na prévia do design */
.aviso-design { position: fixed; z-index: 90; left: 50%; bottom: 14px; transform: translateX(-50%); background: #1f1f1c; color: #fff; font-family: system-ui, sans-serif; font-size: 13px; line-height: 1.4; padding: 9px 16px; border-radius: 99px; box-shadow: 0 6px 24px rgba(0,0,0,.25); pointer-events: none; }

/* Prévia do design: bloco destacado quando você passa o mouse nele na lista do painel */
.bloco-destacado { outline: 2px solid #2f8f74; outline-offset: -2px; }

/* Logotipo alternativo (escuro): usado onde o fundo é claro, no lugar de escurecer o principal */
.logo .logo-alt { display: none; width: var(--logo, 100px); height: var(--logo, 100px); object-fit: contain; }
.logo img { object-fit: contain; }
.sem-capa .logo.com-alt .logo-principal, .d-nav-barra .logo.com-alt .logo-principal, .d-fixo.rolou .logo.com-alt .logo-principal, .d-modelo-mirage .logo.com-alt .logo-principal { display: none; }
.sem-capa .logo.com-alt .logo-alt, .d-nav-barra .logo.com-alt .logo-alt, .d-fixo.rolou .logo.com-alt .logo-alt, .d-modelo-mirage .logo.com-alt .logo-alt { display: block; filter: none; }

/* Redes sociais no rodapé */
.redes { display: flex; justify-content: center; gap: 18px; margin-top: 30px; }
.redes a { color: var(--text); opacity: .7; transition: opacity .2s; }
.redes a:hover { opacity: 1; }
.d-modelo-mirage .redes { justify-content: flex-start; grid-column: 1; }
/* Instagram que o rodapé põe nas páginas sem esse bloco: só vem no Mirage (e na prévia do Design, escondido nos outros modelos) */
.ig-rodape { display: none; }
@media (max-width: 860px) { .logo .logo-alt { width: calc(var(--logo, 100px) * .8); height: calc(var(--logo, 100px) * .8); } }

/* Blog: data, filtros por categoria e compartilhar */
.post-data { text-align: center; font-family: var(--display); font-size: 13px; letter-spacing: .14em; text-transform: uppercase; padding-top: 30px; color: var(--text); opacity: .75; }
.blog-filtros { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px 26px; padding: 50px 20px 0; }
.blog-filtros button { background: none; border: 0; border-bottom: 1px solid transparent; padding: 4px 0; font-family: var(--display); font-size: 14px; letter-spacing: .16em; text-transform: uppercase; color: var(--text); opacity: .6; cursor: pointer; }
.blog-filtros button[aria-pressed="true"] { opacity: 1; color: var(--brown); border-color: currentColor; }
.compartilhar { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 8px 22px; padding: 10px 20px 60px; }
.compartilhar .eyebrow { margin: 0; width: 100%; text-align: center; }
.compartilhar a, .compartilhar button { background: none; border: 0; border-bottom: 1px solid var(--line); padding: 2px 0; font-family: var(--display); font-size: 14px; letter-spacing: .1em; color: var(--text); cursor: pointer; }
.compartilhar a:hover, .compartilhar button:hover { color: var(--brown); border-color: currentColor; }

/* Setinha fina para voltar ao topo */
.volta-topo { position: fixed; right: 20px; bottom: 20px; z-index: 40; width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(0,0,0,.18); background: rgba(255,255,255,.75); color: #474842; display: grid; place-items: center; cursor: pointer; backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); opacity: .85; transition: opacity .25s, transform .25s; }
.volta-topo:hover { opacity: 1; transform: translateY(-2px); }
.volta-topo[hidden] { display: none; }
@media (max-width: 700px) { .volta-topo { right: 14px; bottom: 14px; width: 36px; height: 36px; } }

.erro-404 .erro-codigo { display: block; font-family: var(--display); font-size: min(96px, calc(2rem + 6vw)); line-height: 1; letter-spacing: .08em; color: var(--detalhe, var(--brown)); opacity: .55; margin-bottom: 10px; }
.erro-404 p { max-width: 460px; margin: 0 auto 22px; }
.erro-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 22px; margin: 0 auto 30px; max-width: 560px; }
.erro-links a { font-family: var(--display); letter-spacing: .16em; text-transform: uppercase; font-size: 13px; padding: 6px 0; border-bottom: 1px solid transparent; }
.erro-links a:hover { border-color: currentColor; }

/* Postagens feitas de blocos (texto, imagem, colunas, grade, vídeo...) */
.pb-texto { max-width: 740px; margin: 44px auto; padding: 0 20px; box-sizing: border-box; line-height: 1.8; }
.pb-texto p { margin: 0 0 1.1em; }
.pb-texto h2, .pb-texto h3 { margin: 1.4em 0 .5em; line-height: 1.25; }
.pb-texto ul, .pb-texto ol { margin: 0 0 1.1em 1.3em; }
.pb-texto blockquote { margin: 1.4em 0; padding-left: 1.2em; border-left: 2px solid currentColor; font-style: italic; opacity: .85; }
.pb-texto a { text-decoration: underline; text-underline-offset: 3px; }
.pb-imagem { max-width: 1100px; margin: 30px auto; padding: 0 24px; box-sizing: border-box; display: flex; flex-direction: column; }
.pb-imagem img { width: var(--w, 100%); height: auto; display: block; }
.pb-imagem.al-centro { align-items: center; }
.pb-imagem.al-esq { align-items: flex-start; }
.pb-imagem.al-dir { align-items: flex-end; }
.pb-imagem figcaption { width: var(--w, 100%); margin-top: 10px; font-size: .9em; opacity: .7; text-align: center; }
.pb-colunas { max-width: 1100px; margin: 30px auto; padding: 0 24px; box-sizing: border-box; display: grid; grid-template-columns: repeat(var(--n, 2), 1fr); gap: var(--g, 12px); align-items: start; }
.pb-colunas img { width: 100%; height: auto; display: block; }
.pb-divisor { border: 0; border-top: 1px solid currentColor; opacity: .25; max-width: 700px; margin: 44px auto; }
.pb-botao { text-align: center; margin: 36px 0; }
/* espaço acima/abaixo escolhido no editor do blog (sem ele, cada bloco fica com o espaço de sempre).
   O embrulho não tem borda nem recuo: do lado ajustado o espaço do bloco zera e vale o número escolhido. */
.pb-et { margin-top: var(--et); }
.pb-et > * { margin-top: 0 !important; padding-top: 0 !important; }
.pb-et > * > :first-child { margin-top: 0 !important; }
.pb-eb { margin-bottom: var(--eb); }
.pb-eb > * { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.pb-eb > * > :last-child { margin-bottom: 0 !important; }
/* celular e tablet: o vídeo ajustado vai de ponta a ponta, como as fotos das galerias (o vertical fica no meio, com respiro) */
@media (max-width: 860px) {
  .post-video.pv-aj { padding-left: 16px; padding-right: 16px; }
  .post-video.pv-aj:not(.pv-vert) { padding-left: 0; padding-right: 0; }
  .post-video.pv-aj:not(.pv-vert) .legenda { padding: 0 16px; }
}
@media (max-width: 700px) {
  .pb-colunas { grid-template-columns: repeat(min(var(--n, 2), 3), 1fr); padding: 0 16px; }
  .pb-colunas[style*="--n:4"] { grid-template-columns: 1fr 1fr; }
  .pb-imagem { padding: 0 16px; }
  .pb-imagem img, .pb-imagem figcaption { width: 100%; }
  .pb-texto { margin: 30px auto; }
}

.gal-mais { height: 1px; }

/* Botão fixo "Consultar data" (leva para /proposta/) */
.consultar-data { position: fixed; right: 20px; bottom: 20px; z-index: 41; display: inline-flex; align-items: center; gap: 9px; padding: 12px 20px; border-radius: 40px; background: var(--btn); color: #fff; font-family: var(--display); font-size: 15px; letter-spacing: .12em; text-transform: uppercase; line-height: 1; box-shadow: 0 6px 22px rgba(0,0,0,.18); transition: transform .25s, filter .25s; }
.consultar-data:hover { transform: translateY(-2px); filter: brightness(.95); }
.consultar-data ~ .volta-topo { bottom: 78px; right: 26px; }
@media (max-width: 600px) { .consultar-data { right: 14px; bottom: 14px; padding: 11px 16px; font-size: 13.5px; } .consultar-data ~ .volta-topo { bottom: 68px; right: 18px; } }

/* Solicitar proposta */
.prop { max-width: 620px; margin: 0 auto; padding: 40px 20px 90px; }
.prop-topo { text-align: center; margin-bottom: 34px; }
.prop-topo .eyebrow { font-family: var(--display); letter-spacing: .26em; text-transform: uppercase; font-size: 14px; color: var(--brown); }
.prop-topo h1 { font-size: clamp(34px, 6vw, 50px); line-height: 1.1; margin: 8px 0 10px; }
.prop-sub { color: #8b8b84; font-size: 16px; }
.prop-card { background: #fff; border: 1px solid var(--line); border-radius: 6px; padding: 30px 30px 24px; display: grid; gap: 18px; }
.prop-card[hidden] { display: none; }
.prop-cob { border: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.prop-cob legend, .prop-grupo { font-family: var(--display); font-size: 13px; letter-spacing: .2em; text-transform: uppercase; color: var(--brown); margin-bottom: 10px; }
.prop-grupo { margin: 6px 0 -6px; padding-top: 18px; border-top: 1px solid var(--line); }
.prop-cob .prop-grupo { border: 0; }
.prop-opcao { position: relative; cursor: pointer; }
.prop-opcao input { position: absolute; opacity: 0; pointer-events: none; }
.prop-opcao span { display: block; text-align: center; padding: 13px 10px; border: 1px solid var(--line); border-radius: 4px; font-size: 16px; transition: .2s; }
.prop-opcao:hover span { border-color: var(--btn); }
.prop-opcao input:checked + span { border-color: var(--btn); background: var(--btn); color: #fff; }
.prop-opcao input:focus-visible + span { outline: 2px solid var(--brown); outline-offset: 2px; }
.prop-campo, .prop-rot { display: grid; gap: 6px; font-size: 14px; color: var(--text); }
.prop-rot { display: flex; justify-content: space-between; align-items: center; }
.prop-campo input, .prop-campo select { width: 100%; font: inherit; font-size: 16px; color: inherit; background: var(--bg); border: 1px solid var(--line); border-radius: 4px; padding: 11px 12px; line-height: 1.3; }
.prop-campo input:focus, .prop-campo select:focus { outline: 1px solid var(--brown); border-color: var(--brown); }
.prop-data { display: grid; grid-template-columns: 1fr 1.6fr 1.2fr; gap: 8px; }
.prop-dupla { display: grid; grid-template-columns: 1fr 1.6fr; gap: 12px; }
.prop-limpar { background: none; border: 0; font: inherit; font-size: 13px; color: var(--brown); text-decoration: underline; cursor: pointer; }
.prop-aviso { display: flex; gap: 12px; align-items: flex-start; background: #fdecea; border: 1px solid #ebb3ab; border-left: 4px solid #c0392b; color: #7f1d14; border-radius: 6px; padding: 14px 16px; font-size: 15.5px; line-height: 1.55; }
.prop-aviso-ic { flex: none; width: 24px; height: 24px; color: #c0392b; margin-top: 1px; }
.prop-aviso strong { display: block; font-family: var(--display); font-weight: 600; font-size: 14px; letter-spacing: .1em; text-transform: uppercase; color: #b02a1c; margin-bottom: 3px; }
.prop-aviso p { font-weight: 600; }
.prop-aviso small { display: block; margin-top: 6px; font-size: 13px; line-height: 1.5; color: #93372c; }
.prop-aviso.pulso { animation: prop-tremer .5s ease; }
@keyframes prop-tremer { 20% { transform: translateX(-6px); } 40% { transform: translateX(6px); } 60% { transform: translateX(-3px); } 80% { transform: translateX(3px); } }
.prop-data.indisp select { border-color: #d9534f; background: #fff6f5; color: #a5281b; }
.prop-btn.indisp:disabled { background: #f1dcd8; border-color: #e3bdb6; color: #a5281b; opacity: 1; }
.prop-aviso[hidden], .prop-limpar[hidden] { display: none; }
.req { color: var(--brown); }
.prop-hp { position: absolute !important; left: -9999px !important; opacity: 0; height: 0; }
.prop-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: 100%; padding: 15px 20px; border: 1px solid var(--btn); border-radius: 4px; background: var(--btn); color: #fff; font-family: var(--display); font-size: 16px; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; transition: filter .2s, opacity .2s; }
.prop-btn:hover { filter: brightness(.94); }
.prop-btn:disabled { opacity: .45; cursor: not-allowed; filter: none; }
.prop-btn.sec { background: transparent; color: var(--text); border-color: var(--line); }
.prop-alt { text-align: center; }
.prop-alt button { background: none; border: 0; font: inherit; font-size: 14px; color: #8b8b84; text-decoration: underline; cursor: pointer; }
.prop-faq { margin-top: 60px; text-align: center; }
.prop-faq .eyebrow { font-family: var(--display); letter-spacing: .26em; text-transform: uppercase; font-size: 13px; color: var(--brown); }
.prop-faq h2 { font-size: 32px; margin: 6px 0 22px; }
.prop-faq details { text-align: left; border-bottom: 1px solid var(--line); }
.prop-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 16px; padding: 16px 2px; font-size: 17px; }
.prop-faq summary::-webkit-details-marker { display: none; }
.prop-faq summary::after { content: "+"; font-size: 22px; line-height: 1; color: var(--brown); transition: transform .25s; }
.prop-faq details[open] summary::after { transform: rotate(45deg); }
.prop-faq details div { padding: 0 2px 16px; color: #6b6c66; font-size: 15.5px; line-height: 1.8; }
.prop-faq details p + p { margin-top: .8em; }
.prop-modal { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 20px; background: rgba(0,0,0,.45); }
.prop-modal[hidden] { display: none; }
.prop-modal-caixa { background: var(--bg); border-radius: 6px; padding: 28px 26px 22px; max-width: 400px; width: 100%; text-align: center; }
.prop-modal-caixa h3 { font-size: 26px; margin-bottom: 8px; }
.prop-modal-caixa p { font-size: 15px; line-height: 1.7; margin-bottom: 20px; }
.prop-modal-acoes { display: grid; gap: 8px; }
@media (max-width: 600px) {
  .prop { padding: 20px 16px 80px; }
  .prop-card { padding: 22px 18px 18px; }
  .prop-dupla { grid-template-columns: 1fr; }
}

/* texto só para leitores de tela e para o Google (não aparece na tela) */
.so-leitor { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* "Falar com atendente" bem visível (antes era um link apagado) */
.prop-outro-cta { display: grid; gap: 8px; justify-items: center; margin-top: 4px; padding-top: 16px; border-top: 1px dashed var(--line); text-align: center; }
.prop-outro-cta > span { font-size: 14.5px; color: var(--text); }
.prop-btn.sec#prop-ir-outro { width: auto; padding: 12px 24px; border: 1.5px solid var(--brown); color: var(--brown); background: #fff; font-size: 14.5px; }
.prop-btn.sec#prop-ir-outro:hover { background: var(--brown); color: #fff; filter: none; }
.prop-aviso-link { background: none; border: 0; padding: 0; font: inherit; font-weight: 600; color: #a5281b; text-decoration: underline; cursor: pointer; }
