/* =========================================================
   Montanha Fitness — design system
   Paleta: preto / dourado / branco
   ========================================================= */

@import url("https://fonts.googleapis.com/css2?family=Anton&family=Inter:wght@400;500;600;700;800&display=swap");

:root {
  --radius: 0.5rem;
  --radius-sm: calc(var(--radius) - 4px);
  --radius-md: calc(var(--radius) - 2px);
  --radius-lg: var(--radius);
  --radius-xl: calc(var(--radius) + 4px);

  --background: oklch(0.19 0 0);       /* #141414 */
  --foreground: oklch(1 0 0);          /* #ffffff */
  --card: oklch(0.24 0 0);             /* superfície elevada */
  --card-foreground: oklch(1 0 0);
  --primary: oklch(0.845 0.171 87.5);  /* #FDC101 */
  --primary-foreground: oklch(0.19 0 0);
  --secondary: oklch(0.28 0 0);
  --secondary-foreground: oklch(1 0 0);
  --muted: oklch(0.28 0 0);
  --muted-foreground: oklch(0.78 0 0);
  --border: oklch(1 0 0 / 12%);
  --input: oklch(1 0 0 / 18%);
  --ring: oklch(0.845 0.171 87.5);

  --whatsapp: #25D366;         /* verde oficial do WhatsApp */
  --whatsapp-dark: #128C7E;    /* verde escuro para hover */
  --whatsapp-foreground: #ffffff;
  --shadow-whatsapp: 0 12px 40px -12px rgb(37 211 102 / 55%);

  --font-display: "Anton", "Oswald", sans-serif;
  --font-sans: "Inter", system-ui, sans-serif;
  --shadow-gold: 0 12px 40px -12px oklch(0.845 0.171 87.5 / 55%);
}

/* ---------- reset básico ---------- */
*, *::before, *::after { box-sizing: border-box; }
* { border-color: var(--border); margin: 0; padding: 0; }
html { scroll-behavior: smooth; scroll-padding-top: 5rem; }
body {
  background-color: var(--background);
  color: var(--foreground);
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }
button { font: inherit; cursor: pointer; }

h1, h2, h3, .font-display {
  font-family: var(--font-display);
  letter-spacing: 0.01em;
  text-transform: uppercase;
  line-height: 0.95;
  font-weight: 400;
}

/* ---------- utilitários ---------- */
.container {
  width: 100%;
  max-width: 80rem; /* 7xl */
  margin-inline: auto;
  padding-inline: 1rem;
}
@media (min-width: 768px) {
  .container { padding-inline: 1.5rem; }
}
.container-sm { max-width: 56rem; }  /* 4xl (faq) */
.container-md { max-width: 64rem; } /* 5xl (promo) */
.container-lg { max-width: 48rem; } /* 3xl (privacidade) */

.section-pad { padding-block: 4.5rem; }
@media (min-width: 768px) {
  .section-pad { padding-block: 6rem; }
}
.bg-card-tint { background-color: color-mix(in oklab, var(--card) 40%, transparent); }

.text-primary { color: var(--primary); }
.text-muted { color: var(--muted-foreground); }

.gold-rule { height: 4px; width: 4.5rem; background-color: var(--primary); margin-top: 1rem; }

.kicker {
  font-size: 0.875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--primary);
}
.section-title { margin-bottom: 2.5rem; }
.section-title h2 { margin-top: 0.75rem; font-size: 2.5rem; }
@media (min-width: 768px) { .section-title h2 { font-size: 3rem; } }

.btn-gold, .btn-outline-gold, .btn-whatsapp {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: var(--radius);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  font-size: 0.95rem;
  border: none;
}
.btn-gold {
  background-color: var(--primary);
  color: var(--primary-foreground);
  padding: 0.9rem 1.5rem;
  box-shadow: var(--shadow-gold);
  transition: transform 0.15s ease, filter 0.15s ease;
}
.btn-gold:hover { filter: brightness(1.08); transform: translateY(-2px); }
.btn-outline-gold {
  border: 2px solid var(--primary);
  color: var(--primary);
  padding: 0.8rem 1.4rem;
  transition: background-color 0.15s ease, color 0.15s ease;
  background: transparent;
}
.btn-outline-gold:hover { background-color: var(--primary); color: var(--primary-foreground); }

/* botão de WhatsApp — verde oficial da marca, para destacar dos demais CTAs dourados */
.btn-whatsapp {
  background-color: var(--whatsapp);
  color: var(--whatsapp-foreground);
  padding: 0.9rem 1.5rem;
  box-shadow: var(--shadow-whatsapp);
  transition: transform 0.15s ease, background-color 0.15s ease;
}
.btn-whatsapp:hover { background-color: var(--whatsapp-dark); transform: translateY(-2px); }

.text-whatsapp { color: var(--whatsapp); }
.link-whatsapp { transition: color 0.15s ease; }
.link-whatsapp:hover { color: var(--whatsapp); }

.icon { width: 1.25rem; height: 1.25rem; flex-shrink: 0; }
.icon-sm { width: 1rem; height: 1rem; flex-shrink: 0; }
.icon-lg { width: 1.5rem; height: 1.5rem; flex-shrink: 0; }

/* ---------- header ---------- */
.site-header {
  position: fixed;
  inset-inline: 0;
  top: 0;
  z-index: 50;
  border-bottom: 1px solid transparent;
  background-color: color-mix(in oklab, var(--background) 70%, transparent);
  backdrop-filter: blur(10px);
  transition: background-color 0.2s ease, border-color 0.2s ease;
}
.site-header.scrolled {
  border-color: var(--border);
  background-color: color-mix(in oklab, var(--background) 95%, transparent);
}
.header-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.75rem;
  padding-block: 0.75rem;
}
.brand img { height: 2.5rem; width: auto; }
@media (min-width: 768px) { .brand img { height: 3rem; } }

.header-right { display: flex; align-items: center; gap: 0.5rem; }
.nav-desktop { display: none; align-items: center; gap: 1.5rem; }
@media (min-width: 1024px) { .nav-desktop { display: flex; } }
.nav-desktop a {
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: color-mix(in oklab, var(--foreground) 80%, transparent);
  transition: color 0.15s ease;
}
.nav-desktop a:hover { color: var(--primary); }

/* ícones de Instagram / Como chegar no header */
.header-icons { display: none; align-items: center; gap: 0.5rem; }
@media (min-width: 1024px) { .header-icons { display: flex; } }
.icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 2.5rem;
  width: 2.5rem;
  flex-shrink: 0;
  border-radius: 50%;
  border: 1px solid var(--border);
  color: color-mix(in oklab, var(--foreground) 85%, transparent);
  background: transparent;
  transition: border-color 0.15s ease, color 0.15s ease, background-color 0.15s ease;
}
.icon-btn:hover {
  border-color: var(--primary);
  color: var(--primary);
  background-color: color-mix(in oklab, var(--primary) 12%, transparent);
}

.header-cta { display: none; padding: 0.65rem 1rem; font-size: 0.875rem; }
@media (min-width: 640px) { .header-cta { display: inline-flex; } }

.menu-btn {
  display: inline-flex;
  height: 2.75rem;
  width: 2.75rem;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  color: var(--primary);
  background: transparent;
}
@media (min-width: 1024px) { .menu-btn { display: none; } }
.menu-btn .icon-close { display: none; }
.menu-btn[aria-expanded="true"] .icon-menu { display: none; }
.menu-btn[aria-expanded="true"] .icon-close { display: inline-flex; }

.nav-mobile {
  display: none;
  border-top: 1px solid var(--border);
  background-color: var(--background);
}
.nav-mobile.open { display: block; }
.nav-mobile-inner { display: flex; flex-direction: column; padding-block: 0.5rem; }
.nav-mobile a {
  border-bottom: 1px solid var(--border);
  padding-block: 0.75rem;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: color-mix(in oklab, var(--foreground) 90%, transparent);
}
.nav-mobile a:last-of-type { border-bottom: none; }
.nav-mobile .btn-whatsapp { width: 100%; margin-block: 0.75rem; }
.nav-mobile-icon-link { display: flex; align-items: center; gap: 0.65rem; }
.nav-mobile-icon-link .icon-sm { color: var(--primary); }
@media (min-width: 1024px) { .nav-mobile { display: none !important; } }

/* ---------- hero ---------- */
.hero {
  position: relative;
  display: flex;
  min-height: 92svh;
  align-items: center;
  overflow: hidden;
}
.hero-bg { position: absolute; inset: 0; height: 100%; width: 100%; object-fit: cover; }
.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right,
    var(--background) 0%,
    color-mix(in oklab, var(--background) 90%, transparent) 55%,
    color-mix(in oklab, var(--background) 40%, transparent) 100%);
}
.hero-content { position: relative; width: 100%; padding-top: 7rem; padding-bottom: 3.5rem; }
.hero-eyebrow { font-family: var(--font-display); font-size: 1.125rem; letter-spacing: 0.25em; color: var(--primary); text-transform: uppercase; }
@media (min-width: 768px) { .hero-eyebrow { font-size: 1.25rem; } }
.hero h1 {
  margin-top: 1rem;
  max-width: 48rem;
  font-size: 3rem;
  line-height: 0.9;
}
@media (min-width: 640px) { .hero h1 { font-size: 3.75rem; } }
@media (min-width: 768px) { .hero h1 { font-size: 4.5rem; } }
@media (min-width: 1024px) { .hero h1 { font-size: 6rem; } }
.hero p.lead {
  margin-top: 1.5rem;
  max-width: 36rem;
  font-size: 1rem;
  color: color-mix(in oklab, var(--foreground) 85%, transparent);
}
@media (min-width: 768px) { .hero p.lead { font-size: 1.125rem; } }
.hero-actions { margin-top: 2rem; display: flex; flex-direction: column; gap: 0.75rem; }
@media (min-width: 640px) { .hero-actions { flex-direction: row; } }
.hero-actions .btn-gold, .hero-actions .btn-outline-gold { font-size: 1rem; }

/* ---------- prova social ---------- */
.social-proof {
  border-block: 1px solid var(--border);
  background-color: var(--primary);
  color: var(--primary-foreground);
}
.social-proof-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  padding-block: 1rem;
  text-align: center;
  font-size: 0.875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
@media (min-width: 640px) { .social-proof-inner { flex-direction: row; justify-content: center; gap: 2rem; } }
.social-proof-inner span { display: flex; align-items: center; gap: 0.5rem; }

/* ---------- sobre ---------- */
.sobre-grid { display: grid; gap: 2.5rem; }
@media (min-width: 1024px) { .sobre-grid { grid-template-columns: 1fr 1fr; } }
.sobre-text { color: var(--muted-foreground); display: flex; flex-direction: column; gap: 1rem; }
.sobre-text p { line-height: 1.7; }
.sobre-text .btn-gold { margin-top: 0.5rem; align-self: flex-start; }

.pilares { display: grid; gap: 1rem; }
.pilar-card {
  display: flex;
  gap: 1rem;
  border-radius: var(--radius-lg);
  border: 1px solid var(--border);
  background-color: var(--card);
  padding: 1.25rem;
}
.pilar-icon {
  display: grid;
  place-items: center;
  height: 3rem;
  width: 3rem;
  flex-shrink: 0;
  border-radius: var(--radius-md);
  background-color: var(--primary);
  color: var(--primary-foreground);
}
.pilar-card h3 { font-size: 1.5rem; color: var(--primary); }
.pilar-card p { margin-top: 0.25rem; font-size: 0.875rem; color: var(--muted-foreground); }

.diferenciais {
  margin-top: 3rem;
  display: grid;
  gap: 1rem;
}
@media (min-width: 768px) { .diferenciais { grid-template-columns: repeat(3, 1fr); } }
.diferencial-card { border-radius: var(--radius-lg); border: 1px solid var(--border); padding: 1.25rem; }
.diferencial-card h3 { margin-top: 0.75rem; font-size: 1.25rem; }
.diferencial-card p { margin-top: 0.25rem; font-size: 0.875rem; color: var(--muted-foreground); }

/* ---------- aulas ---------- */
.aulas-grid { display: grid; gap: 1rem; }
@media (min-width: 640px) { .aulas-grid { grid-template-columns: 1fr 1fr; } }
.aula-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  border-radius: var(--radius-lg);
  border: 1px solid var(--border);
  background-color: var(--background);
  padding: 1.25rem;
}
.aula-card h3 { font-size: 1.875rem; color: var(--primary); }
.aula-card .professor { margin-top: 0.25rem; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--muted-foreground); }
.aula-horarios { flex-shrink: 0; text-align: right; display: flex; flex-direction: column; gap: 0.25rem; }
.aula-horarios span {
  border-radius: 4px;
  background-color: var(--primary);
  padding: 0.25rem 0.75rem;
  font-size: 0.875rem;
  font-weight: 800;
  text-transform: uppercase;
  color: var(--primary-foreground);
}

.aulas-note {
  margin-top: 2rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.5rem;
  border-radius: var(--radius-lg);
  border: 2px solid var(--primary);
  padding: 1.5rem;
}
@media (min-width: 768px) { .aulas-note { flex-direction: row; align-items: center; justify-content: space-between; } }
.aulas-note p { font-size: 0.875rem; color: var(--muted-foreground); }
.aulas-note strong { color: var(--foreground); }
.aulas-note .btn-gold { flex-shrink: 0; font-size: 1rem; }

/* ---------- promoção ---------- */
.promo-card { overflow: hidden; border-radius: 0.75rem; border: 2px solid var(--primary); background-color: var(--card); }
.promo-head { background-color: var(--primary); color: var(--primary-foreground); padding: 1.25rem 1.5rem; }
.promo-head p { font-size: 0.875rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.2em; }
.promo-head h2 { margin-top: 0.25rem; font-size: 2.5rem; }
@media (min-width: 768px) { .promo-head h2 { font-size: 3rem; } }
.promo-body { display: grid; gap: 2rem; padding: 1.5rem; }
@media (min-width: 768px) { .promo-body { grid-template-columns: auto minmax(0, 1fr); padding: 2rem; } }
.promo-price {
  display: grid;
  place-items: center;
  height: 11rem;
  width: 11rem;
  border-radius: 50%;
  background-color: var(--primary);
  color: var(--primary-foreground);
  text-align: center;
  margin-inline: auto;
}
.promo-price p.label { font-size: 0.75rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.05em; }
.promo-price p.value { font-family: var(--font-display); font-size: 3rem; line-height: 1; margin-top: 0.25rem; }
.promo-price p.value span { font-size: 1.5rem; vertical-align: top; }
.promo-details { display: flex; flex-direction: column; gap: 1rem; }
.promo-details > p { font-size: 1.125rem; }
.promo-list { display: flex; flex-direction: column; gap: 0.5rem; font-size: 0.875rem; color: var(--muted-foreground); }
.promo-list li { display: flex; gap: 0.5rem; align-items: flex-start; }
.promo-list li strong { color: var(--foreground); }
.promo-reg { border-radius: var(--radius-md); border: 1px solid var(--border); padding: 1rem; font-size: 0.75rem; line-height: 1.6; color: var(--muted-foreground); }
.promo-reg p { font-weight: 800; text-transform: uppercase; letter-spacing: 0.05em; color: var(--foreground); }
.promo-reg ul { margin-top: 0.5rem; padding-left: 1rem; list-style: disc; display: flex; flex-direction: column; gap: 0.25rem; }

/* ---------- galeria ---------- */
.galeria-note { margin-top: -1.5rem; margin-bottom: 2rem; font-size: 0.875rem; color: var(--muted-foreground); }
.galeria-grid { display: grid; gap: 1rem; }
@media (min-width: 640px) { .galeria-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .galeria-grid { grid-template-columns: repeat(3, 1fr); } }
.galeria-grid img { height: 14rem; width: 100%; border-radius: var(--radius-lg); border: 1px solid var(--border); object-fit: cover; }

/* ---------- depoimentos ---------- */
.rating-box {
  margin-bottom: 2.5rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  border-radius: var(--radius-lg);
  border: 2px solid var(--primary);
  padding: 1.5rem;
}
.rating-box .rating-num { font-family: var(--font-display); font-size: 3.75rem; color: var(--primary); }
.stars { display: flex; gap: 0.25rem; color: var(--primary); }
.rating-box .rating-desc { margin-top: 0.25rem; font-size: 0.875rem; color: var(--muted-foreground); }

.depoimentos-grid { display: grid; gap: 1rem; }
@media (min-width: 768px) { .depoimentos-grid { grid-template-columns: repeat(3, 1fr); } }
.depoimento-card { border-radius: var(--radius-lg); border: 1px dashed color-mix(in oklab, var(--primary) 60%, transparent); background-color: var(--card); padding: 1.5rem; }
.depoimento-card p.texto { margin-top: 0.75rem; font-size: 0.875rem; color: var(--muted-foreground); }
.depoimento-autor { margin-top: 1.25rem; display: flex; align-items: center; gap: 0.75rem; }
.depoimento-foto {
  display: grid;
  place-items: center;
  height: 2.75rem;
  width: 2.75rem;
  flex-shrink: 0;
  border-radius: 50%;
  border: 1px solid var(--border);
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--primary);
}
.depoimento-autor .nome { font-size: 0.875rem; font-weight: 700; }
.depoimento-autor .tag { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.05em; color: var(--muted-foreground); }

/* ---------- localização ---------- */
.local-grid { display: grid; gap: 2rem; }
@media (min-width: 1024px) { .local-grid { grid-template-columns: 1fr 1fr; } }
.local-info { display: flex; flex-direction: column; gap: 1.5rem; }
.local-row { display: flex; gap: 0.75rem; }
.local-row .icon { margin-top: 0.25rem; color: var(--primary); }
.local-row p, .local-row div { color: var(--muted-foreground); }
.local-row .destaque { display: block; color: var(--foreground); }
.local-actions { display: flex; flex-direction: column; gap: 0.75rem; }
@media (min-width: 640px) { .local-actions { flex-direction: row; } }
.local-insta { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.03em; color: var(--primary); width: fit-content; }
.map-wrap { overflow: hidden; border-radius: var(--radius-lg); border: 2px solid var(--primary); }
.map-wrap iframe { height: 20rem; width: 100%; border: 0; }
@media (min-width: 1024px) { .map-wrap iframe { height: 100%; min-height: 22rem; } }

/* ---------- faq ---------- */
.faq-list { border-radius: var(--radius-lg); border: 1px solid var(--border); overflow: hidden; }
.faq-list details { border-bottom: 1px solid var(--border); padding: 1.25rem; }
.faq-list details:last-child { border-bottom: none; }
.faq-list summary {
  cursor: pointer;
  list-style: none;
  font-size: 1rem;
  font-weight: 700;
}
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after {
  content: "+";
  float: right;
  color: var(--primary);
  font-family: var(--font-display);
  font-size: 1.25rem;
}
.faq-list details[open] summary::after { content: "–"; }
.faq-list details[open] summary { color: var(--primary); }
.faq-list details p { margin-top: 0.75rem; font-size: 0.875rem; color: var(--muted-foreground); }

/* ---------- cta final ---------- */
.cta-final { background-color: var(--primary); color: var(--primary-foreground); text-align: center; }
.cta-final img { margin-inline: auto; height: 4rem; width: auto; }
.cta-final h2 { margin-top: 1.5rem; font-size: 2.5rem; }
@media (min-width: 768px) { .cta-final h2 { font-size: 3.75rem; } }
.cta-final p.sub { margin: 1rem auto 0; max-width: 42rem; font-size: 1rem; font-weight: 600; }
.cta-final .btn-whatsapp {
  margin-top: 2rem;
  font-size: 1rem;
  padding: 1rem 1.75rem;
}
.cta-final .tel-line { margin-top: 1rem; font-size: 0.875rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; }
.cta-final .tel-line a { text-decoration: underline; }

/* ---------- footer ---------- */
.site-footer { border-top: 1px solid var(--border); background-color: var(--background); padding-block: 3rem; }
.footer-grid { display: grid; gap: 2.5rem; }
@media (min-width: 768px) { .footer-grid { grid-template-columns: repeat(3, 1fr); } }
.footer-brand img { height: 3.5rem; width: auto; }
.footer-brand .tagline { margin-top: 1rem; font-family: var(--font-display); font-size: 1.125rem; color: var(--primary); text-transform: uppercase; }
.footer-brand p.desc { margin-top: 0.5rem; font-size: 0.875rem; color: var(--muted-foreground); }
.footer-col { display: flex; flex-direction: column; gap: 0.75rem; font-size: 0.875rem; color: var(--muted-foreground); }
.footer-col h3 { font-family: var(--font-display); font-size: 1.25rem; color: var(--foreground); text-transform: uppercase; }
.footer-col p { display: flex; gap: 0.5rem; }
.footer-col a:hover { color: var(--primary); }
.footer-bottom {
  margin-top: 2.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  border-top: 1px solid var(--border);
  padding-top: 1.5rem;
  font-size: 0.75rem;
  color: var(--muted-foreground);
}
@media (min-width: 640px) { .footer-bottom { flex-direction: row; align-items: center; justify-content: space-between; } }
.footer-bottom a:hover { color: var(--primary); }

/* ---------- whatsapp flutuante ---------- */
.wa-float {
  position: fixed;
  bottom: 1rem;
  right: 1rem;
  z-index: 40;
  height: 3.5rem;
  width: 3.5rem;
  padding: 0;
  border-radius: 50%;
}
@media (min-width: 768px) {
  .wa-float { bottom: 1.5rem; right: 1.5rem; height: auto; width: auto; border-radius: var(--radius); padding: 0.9rem 1.25rem; }
}
.wa-float span { display: none; }
@media (min-width: 768px) { .wa-float span { display: inline; } }

/* ---------- cookie notice ---------- */
.cookie-notice {
  position: fixed;
  inset-inline: 0;
  bottom: 0;
  z-index: 45;
  border-top: 1px solid var(--border);
  background-color: color-mix(in oklab, var(--background) 95%, transparent);
  backdrop-filter: blur(10px);
}
.cookie-notice.hidden { display: none; }
.cookie-inner {
  max-width: 64rem;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 0.75rem 5rem 0.75rem 1rem;
  font-size: 0.875rem;
  color: var(--muted-foreground);
}
@media (min-width: 640px) { .cookie-inner { flex-direction: row; align-items: center; justify-content: space-between; } }
@media (min-width: 768px) { .cookie-inner { padding-right: 10rem; } }
.cookie-inner a { font-weight: 600; color: var(--primary); text-decoration: underline; }
.cookie-inner .btn-gold { flex-shrink: 0; padding: 0.5rem 1rem; font-size: 0.75rem; }

/* ---------- página de privacidade ---------- */
.privacidade-main { padding-top: 7rem; padding-bottom: 5rem; }
.privacidade-main h1 { font-size: 2.25rem; color: var(--primary); }
@media (min-width: 768px) { .privacidade-main h1 { font-size: 3rem; } }
.privacidade-body { margin-top: 2rem; display: flex; flex-direction: column; gap: 1.5rem; font-size: 0.875rem; line-height: 1.7; color: var(--muted-foreground); }
.privacidade-body h2 { font-family: var(--font-display); font-size: 1.5rem; color: var(--foreground); text-transform: uppercase; }
.privacidade-body p { margin-top: 0.5rem; }
.privacidade-body .btn-outline-gold { margin-top: 1rem; }

/* ---------- utilitário: sr-only ---------- */
.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

/* ---------- foco visível (acessibilidade) ---------- */
a:focus-visible, button:focus-visible, summary:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}

/* ---------- respeita movimento reduzido ---------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; }
}
