/* Vestígios by Thatá — estilos gerais.
   O visual de cada bloco está no próprio HTML; aqui ficam só as regras de página. */

/* Fontes hospedadas no próprio site (licença OFL) */
@font-face { font-family: 'Jost'; font-style: normal; font-weight: 400; font-display: swap; src: url('/assets/fonts/jost-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Jost'; font-style: normal; font-weight: 500; font-display: swap; src: url('/assets/fonts/jost-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'Jost'; font-style: normal; font-weight: 600; font-display: swap; src: url('/assets/fonts/jost-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 400; font-display: swap; src: url('/assets/fonts/cormorant-garamond-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 500; font-display: swap; src: url('/assets/fonts/cormorant-garamond-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 600; font-display: swap; src: url('/assets/fonts/cormorant-garamond-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 400; font-display: swap; src: url('/assets/fonts/cormorant-garamond-latin-400-italic.woff2') format('woff2'); }
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 500; font-display: swap; src: url('/assets/fonts/cormorant-garamond-latin-500-italic.woff2') format('woff2'); }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body { margin: 0; background: #FFFFFF; }

a { color: #232B24; }
a:hover { color: #67806C; }
a:focus-visible,
button:focus-visible,
input:focus-visible { outline: 2px solid #232B24; outline-offset: 2px; }
input::placeholder { color: #67806C; opacity: 1; }

img { max-width: 100%; }
button { font: inherit; }

/* Duas versões de cada página: celular (padrão) e computador (a partir de 1200px). */
.dc-desktop { display: none; }
.dc-mobile { display: block; }

@media (min-width: 1200px) {
  .dc-desktop { display: block; }
  .dc-mobile { display: none; }
}

/* Celular/tablet: coluna centralizada, para as fotos não esticarem em telas largas. */
.dc-mobile > div { max-width: 680px; margin-left: auto; margin-right: auto; }
@media (min-width: 681px) {
  .dc-mobile > div { box-shadow: 0 0 0 1px #D8DBD9; }
}

/* Menu do computador: nunca quebra o nome de uma página em duas linhas. */
.dnav { flex-wrap: wrap; justify-content: flex-end; gap: clamp(14px, 2.2vw, 40px) !important; }
.dnav a { white-space: nowrap; }

/* Computador em telas menores que 1440px: menu mais compacto. */
@media (min-width: 1200px) and (max-width: 1439px) {
  .dheader { padding-left: 40px !important; padding-right: 40px !important; }
  .dnav { font-size: 15px !important; }
}

/* Telas muito largas: conteúdo limitado para não esticar demais. */
@media (min-width: 1800px) {
  .dc-desktop > div { max-width: 1800px; margin-left: auto; margin-right: auto; }
}

/* Página 404 */
.nf { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 24px; padding: 40px 20px; text-align: center; font-family: 'Jost', sans-serif; color: #232B24; }
.nf h1 { margin: 0; font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: 48px; color: #67806C; }
.nf p { margin: 0; max-width: 460px; font-size: 17px; line-height: 1.6; }
.nf a.btn { padding: 14px 28px; background: #67806C; color: #FFFFFF; border-radius: 4px; text-decoration: none; font-weight: 500; }
.nf a.btn:hover { color: #FFFFFF; background: #232B24; }

/* Aviso de cookies */
.vb-ck { position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 50; max-width: 520px; margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 12px; padding: 10px 14px; background: #FFFFFF; border: 1px solid #B4BCB6; border-radius: 6px; box-shadow: 0 4px 16px rgba(35,43,36,0.12); font: 400 13px/1.4 'Jost', sans-serif; color: #232B24; }
.vb-ck span { flex: 1 1 200px; }
.vb-ck button { padding: 6px 14px; border-radius: 4px; border: 1px solid #67806C; background: #FFFFFF; color: #232B24; font: 500 13px 'Jost', sans-serif; cursor: pointer; }
.vb-ck button[data-v="sim"] { background: #67806C; color: #FFFFFF; }
@media (min-width: 700px) { .vb-ck { left: 20px; right: auto; bottom: 20px; margin: 0; } }

.vb-ck a { color: #67806C; text-decoration: underline; white-space: nowrap; }

/* Página de privacidade */
.pv { max-width: 720px; margin: 0 auto; padding: 32px 20px 72px; font-family: 'Jost', sans-serif; color: #232B24; font-size: 16px; line-height: 1.65; }
.pv h1 { margin: 32px 0 4px; font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: 44px; color: #67806C; }
.pv h2 { margin: 32px 0 8px; font-size: 19px; font-weight: 500; }
.pv p { margin: 0 0 12px; }
.pv .pv-date { color: #67806C; font-size: 14px; }
.pv a.btn { display: inline-block; margin-top: 28px; padding: 14px 28px; background: #67806C; color: #FFFFFF; border-radius: 4px; text-decoration: none; font-weight: 500; }
.pv a.btn:hover { background: #232B24; color: #FFFFFF; }
