/* LP Tertius Rebelo: só o que é da página. Componentes e tokens vêm de tokens.css e componentes.css. */

[hidden] { display: none !important; }
html { scroll-padding-top: var(--space-4); }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }

.lp-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

.lp-skip {
  position: absolute;
  left: var(--space-4);
  top: calc(var(--space-4) + env(safe-area-inset-top, 0px));
  z-index: 50;
  padding: var(--space-3) var(--space-4);
  border-radius: var(--radius-control);
  background: var(--brand-grafite);
  color: var(--brand-pedra);
  transform: translateY(-200%);
}
.lp-skip:focus { transform: none; outline: 2px solid var(--focus); outline-offset: 2px; }

/* ---------- Hero ---------- */
.lp-hero { grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); min-height: clamp(640px, 94vh, 920px); }
.lp-hero__text {
  padding-top: var(--space-8);
  padding-bottom: var(--space-8);
  padding-right: var(--space-8);
  padding-left: max(var(--gutter), env(safe-area-inset-left, 0px), calc((100vw - var(--container-max)) / 2 + var(--gutter)));
  align-content: center;
}
.lp-hero__text .tr-brand { margin-bottom: var(--space-5); justify-self: start; }
.lp-hero .display-1 { font-size: clamp(38px, 4.1vw, 62px); max-width: 15em; }

/* ---------- Seções ---------- */
.lp-narrow { max-width: 900px; }
.lp-after { margin-top: var(--space-7); }
.lp-turn__lead { color: var(--ink-2); max-width: 44ch; }

/* ---------- Popup ---------- */
.tr-dialog__sent:focus { outline: none; }

/* ---------- Botão fixo no celular ---------- */
.lp-sticky {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 30;
  padding: var(--space-3) max(16px, env(safe-area-inset-right, 0px)) calc(var(--space-3) + env(safe-area-inset-bottom, 0px)) max(16px, env(safe-area-inset-left, 0px));
  border-top: 1px solid var(--line);
}
body.lp-has-sticky { padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px)); }
@media (min-width: 861px) {
  .lp-sticky { display: none !important; }
  body.lp-has-sticky { padding-bottom: 0; }
}

/* ---------- Aviso de cookies ---------- */
.lp-consent {
  position: fixed;
  z-index: 40;
  left: max(var(--space-5), env(safe-area-inset-left, 0px));
  bottom: calc(var(--space-5) + env(safe-area-inset-bottom, 0px));
  display: grid;
  gap: var(--space-4);
  max-width: 420px;
  padding: var(--space-5);
  border-radius: var(--radius-card);
  background: var(--surface);
  box-shadow: var(--shadow-card);
  border: 1px solid var(--line);
}
.lp-consent .body-sm { color: var(--ink-2); }
.lp-consent a { color: var(--ink-1); }
.lp-consent__actions { display: flex; gap: var(--space-3); justify-content: flex-end; }
.lp-consent .tr-btn { min-height: 44px; padding: 0 var(--space-5); }

/* ---------- Celular ---------- */
@media (max-width: 860px) {
  .lp-hero { grid-template-columns: minmax(0, 1fr); min-height: 0; }
  .lp-hero__photo { aspect-ratio: 1 / 1; max-height: none; }
  .lp-hero__photo .tr-spread__caption { display: none; }
  .lp-hero__text { padding: var(--space-6) max(20px, env(safe-area-inset-right, 0px)) var(--space-8) max(20px, env(safe-area-inset-left, 0px)); }
  .lp-hero__text .tr-brand { margin-bottom: var(--space-2); }
  .lp-hero__text .tr-actions .tr-btn--primario { width: 100%; justify-content: space-between; }
  .lp-after .tr-btn--primario { width: 100%; justify-content: space-between; }
  .lp-consent { left: max(12px, env(safe-area-inset-left, 0px)); right: max(12px, env(safe-area-inset-right, 0px)); bottom: calc(12px + env(safe-area-inset-bottom, 0px)); max-width: none; padding: var(--space-4); gap: var(--space-3); }
  .lp-consent .body-sm { font-size: 13px; line-height: 1.5; }
  .lp-consent__actions .tr-btn { flex: 1; min-height: 40px; }
}
