/**
 * Padrão visual cinema — derivado de /apresentacoes/protecao-empresarial/
 * Aplica o conceito (hero fundido, tipografia, papel, arts, CTAs) em páginas
 * body.ss-cinema-standard (todas as rv-inner / hn-revolution que ainda não
 * são a apresentação pura).
 */

body.ss-cinema-standard {
  --ap-gold: #ffd002;
  --ap-gold-2: #f59e0b;
  --ap-ink: #0f172a;
  --ap-muted: #64748b;
  --ap-line: #e2e8f0;
  --ap-paper: #f8fafc;
  --ap-navy: #0b1f33;
  --ap-teal: #1a4a57;
  --ap-cream: #f4f0e6;
}

/* Corpo: papel com grid sutil (como apresentação) */
body.ss-cinema-standard main#conteudo,
body.ss-cinema-standard main {
  background:
    linear-gradient(rgba(15, 23, 42, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15, 23, 42, 0.035) 1px, transparent 1px),
    var(--ap-paper);
  background-size: 44px 44px;
  color: var(--ap-ink);
}

/* ——— Hero cinema sobre rv-page-hero ——— */
body.ss-cinema-standard .rv-page-hero {
  background:
    radial-gradient(ellipse 55% 50% at 88% 12%, rgba(255, 208, 2, 0.16) 0%, transparent 55%),
    linear-gradient(160deg, #020617 0%, #001726 48%, #0b1f33 100%) !important;
  color: #fff !important;
  padding: clamp(3rem, 6vw, 4.6rem) 0 clamp(2.8rem, 5vw, 4rem);
  overflow: hidden;
}

body.ss-cinema-standard .rv-page-hero--product,
body.ss-cinema-standard .rv-page-hero--institutional,
body.ss-cinema-standard .rv-page-hero--hub,
body.ss-cinema-standard .rv-page-hero--geo,
body.ss-cinema-standard .rv-page-hero--cotacao,
body.ss-cinema-standard .rv-page-hero--tacaro {
  background:
    radial-gradient(ellipse 55% 50% at 88% 12%, rgba(255, 208, 2, 0.16) 0%, transparent 55%),
    linear-gradient(160deg, #020617 0%, #001726 48%, #0b1f33 100%) !important;
}

/* Sem raios / glow */
body.ss-cinema-standard .rv-page-hero__atmosphere,
body.ss-cinema-standard .rv-page-hero__glow {
  display: none !important;
}

/* Kicker: texto tracked (padrão apresentação) — sem pílula */
body.ss-cinema-standard .rv-page-hero__kicker {
  display: block;
  width: fit-content;
  margin: 0 0 1rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: rgba(248, 250, 252, 0.62);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  line-height: 1.2;
}

body.ss-cinema-standard .rv-page-hero h1 {
  margin: 0;
  font-size: clamp(2.1rem, 4.6vw, 3.6rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
  font-weight: 800;
  color: #ffffff !important;
  text-shadow: none;
  max-width: 16ch;
  text-wrap: balance;
}

body.ss-cinema-standard .rv-page-hero h1 span {
  color: rgba(255, 255, 255, 0.78) !important;
  font-weight: 650;
}

body.ss-cinema-standard .rv-page-hero__lead {
  margin: 1.1rem 0 0;
  max-width: 46ch;
  color: rgba(226, 232, 240, 0.86) !important;
  font-size: clamp(1.02rem, 1.5vw, 1.12rem);
  line-height: 1.65;
  font-weight: 450;
  text-shadow: none;
}

body.ss-cinema-standard .rv-page-hero__cta {
  margin-top: 1.75rem;
  gap: 0.75rem;
}

body.ss-cinema-standard .rv-page-hero__cta .rv-btn--gold {
  border-radius: 10px;
  box-shadow: none;
  font-weight: 750;
}

body.ss-cinema-standard .rv-page-hero__cta .rv-btn--ghost {
  border-radius: 10px;
  border-color: rgba(255, 255, 255, 0.28);
}

/* Art: fundida no hero (sem card) */
body.ss-cinema-standard .rv-page-hero__art {
  position: relative;
  width: min(100%, 560px);
  max-width: 560px;
  margin-inline: auto;
  margin-right: -0.5rem;
  padding: 0;
  overflow: visible;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  aspect-ratio: 4 / 3;
  -webkit-mask-image: none;
  mask-image: none;
}

body.ss-cinema-standard .rv-page-hero__art::before {
  display: none;
}

body.ss-cinema-standard .rv-page-hero__art::after {
  content: "";
  position: absolute;
  inset: -6%;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(90deg, #020617 0%, rgba(2, 6, 23, 0.88) 12%, transparent 36%),
    linear-gradient(270deg, #020617 0%, rgba(2, 6, 23, 0.65) 10%, transparent 30%),
    linear-gradient(180deg, #020617 0%, rgba(2, 6, 23, 0.65) 12%, transparent 32%),
    linear-gradient(0deg, #0b1f33 0%, rgba(11, 31, 51, 0.75) 12%, transparent 34%),
    radial-gradient(ellipse 72% 68% at 55% 48%, transparent 32%, rgba(2, 6, 23, 0.45) 72%, #020617 100%);
  -webkit-mask-image: radial-gradient(ellipse 82% 78% at 55% 48%, #000 28%, transparent 78%);
  mask-image: radial-gradient(ellipse 82% 78% at 55% 48%, #000 28%, transparent 78%);
}

body.ss-cinema-standard .rv-page-hero__art picture {
  display: block;
  width: 100%;
  height: 100%;
}

body.ss-cinema-standard .rv-page-hero__art img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: 0;
  filter: saturate(0.85) brightness(0.92) contrast(1.05);
  box-shadow: none;
  -webkit-mask-image: radial-gradient(ellipse 78% 72% at 55% 48%, #000 20%, rgba(0, 0, 0, 0.85) 42%, rgba(0, 0, 0, 0.35) 62%, transparent 80%);
  mask-image: radial-gradient(ellipse 78% 72% at 55% 48%, #000 20%, rgba(0, 0, 0, 0.85) 42%, rgba(0, 0, 0, 0.35) 62%, transparent 80%);
}

/* Esconde SVG legado no hero */
body.ss-cinema-standard .rv-hero-illust {
  display: none !important;
}

/* Curve suave */
body.ss-cinema-standard .rv-page-hero__curve {
  background: linear-gradient(180deg, transparent, var(--ap-paper));
}

/* ——— Seções de corpo ——— */
body.ss-cinema-standard .rv-page-head h2,
body.ss-cinema-standard .rv-steps__title,
body.ss-cinema-standard .rv-partners h2 {
  color: var(--ap-ink);
  letter-spacing: -0.02em;
}

body.ss-cinema-standard .rv-page-head p,
body.ss-cinema-standard .rv-partners > .hn-shell > p {
  color: var(--ap-muted);
}

body.ss-cinema-standard .rv-feat h3,
body.ss-cinema-standard .rv-page-card h3,
body.ss-cinema-standard .rv-step h3 {
  color: var(--ap-ink);
}

body.ss-cinema-standard .rv-feat p,
body.ss-cinema-standard .rv-page-card p,
body.ss-cinema-standard .rv-step p {
  color: var(--ap-muted);
}

/* Feat art: fundo navy editorial, sem “card foto” — estilo ap-tile */
body.ss-cinema-standard .rv-feat__art {
  background: var(--ap-navy);
  border-radius: 0;
  overflow: hidden;
  aspect-ratio: 16 / 10;
}

body.ss-cinema-standard .rv-feat__art picture {
  display: block;
  width: 100%;
  height: 100%;
}

body.ss-cinema-standard .rv-feat__art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.88) contrast(1.05) brightness(0.94);
  transition: transform 0.55s ease;
}

body.ss-cinema-standard .rv-feat:hover .rv-feat__art img {
  transform: scale(1.04);
}

/* Cotação / checkup / tá caro — hero cinema sem art lateral */
body.ss-cinema-standard .rv-page-hero--cotacao,
body.ss-cinema-standard .rv-page-hero--checkup,
body.ss-cinema-standard .rv-page-hero--tacaro {
  background:
    radial-gradient(ellipse 55% 50% at 88% 12%, rgba(255, 208, 2, 0.16) 0%, transparent 55%),
    linear-gradient(160deg, #020617 0%, #001726 48%, #0b1f33 100%) !important;
}

/* Cards só como superfície de interação */
body.ss-cinema-standard .rv-page-card {
  border: 1px solid var(--ap-line);
  background: #fff;
  box-shadow: none;
  border-radius: 16px;
}

body.ss-cinema-standard .rv-page-card--link:hover {
  border-color: rgba(255, 208, 2, 0.55);
}

/* Protect pills: abaixo do hero, visual mais sóbrio */
body.ss-cinema-standard .rv-protect {
  background: #fff;
}

body.ss-cinema-standard .rv-protect__head h2 {
  color: var(--ap-ink);
}

/* Honor / closing cinema feel */
body.ss-cinema-standard .rv-honor__panel {
  background:
    radial-gradient(ellipse 50% 60% at 85% 20%, rgba(255, 208, 2, 0.18), transparent 55%),
    linear-gradient(145deg, #020617 0%, #0b1f33 55%, #1a4a57 100%);
  border-radius: 20px;
  overflow: hidden;
}

body.ss-cinema-standard .rv-honor__copy h2,
body.ss-cinema-standard .rv-honor__copy p,
body.ss-cinema-standard .rv-honor__kicker {
  color: #fff;
}

body.ss-cinema-standard .rv-honor__kicker {
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 0.72rem;
  opacity: 0.7;
}

/* FAQ */
body.ss-cinema-standard .rv-page-faq summary {
  color: var(--ap-ink);
  border-bottom-color: var(--ap-line);
}

body.ss-cinema-standard .rv-page-faq details p {
  color: #334155;
  line-height: 1.7;
}

/* Partners */
body.ss-cinema-standard .rv-partners {
  background: #fff;
}

/* Calculadoras: hero alinhado */
body.ss-cinema-standard.ss-calculator-page .calc-hero--ultra {
  background:
    radial-gradient(ellipse 55% 50% at 88% 12%, rgba(255, 208, 2, 0.16) 0%, transparent 55%),
    linear-gradient(160deg, #020617 0%, #001726 48%, #0b1f33 100%) !important;
}

body.ss-cinema-standard.ss-calculator-page .calc-kicker {
  background: none;
  border: 0;
  color: rgba(248, 250, 252, 0.62);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-size: 0.7rem;
  padding: 0;
}

body.ss-cinema-standard.ss-calculator-page .calc-hero h1 {
  color: #fff !important;
}

body.ss-cinema-standard.ss-calculator-page .calc-lead {
  color: rgba(226, 232, 240, 0.86) !important;
}

/* Mobile */
@media (max-width: 900px) {
  body.ss-cinema-standard .rv-page-hero__art {
    width: 100%;
    max-width: none;
    margin-right: 0;
  }

  body.ss-cinema-standard .rv-page-hero h1 {
    max-width: none;
    font-size: clamp(1.85rem, 7vw, 2.4rem);
  }

  body.ss-cinema-standard .rv-page-hero__art::after {
    inset: -4%;
    background:
      linear-gradient(180deg, #020617 0%, rgba(2, 6, 23, 0.7) 14%, transparent 38%),
      linear-gradient(0deg, #0b1f33 0%, rgba(11, 31, 51, 0.85) 16%, transparent 40%),
      radial-gradient(ellipse 86% 78% at 50% 48%, transparent 28%, rgba(2, 6, 23, 0.5) 75%, #020617 100%);
  }
}

/* Não sobrescrever a apresentação pura */
body.ss-apresentacao-page.ss-cinema-standard main {
  /* apresentação já tem seu paper; ok sobrepor igual */
}

/* RH / transporte / condomínio já têm ultra — reforça tipografia cinema */
body.ss-page-rh.ss-cinema-standard .rv-page-hero__kicker,
body.ss-page-transporte.ss-cinema-standard .rv-page-hero__kicker,
body.ss-page-condominio.ss-cinema-standard .rv-page-hero__kicker {
  color: rgba(248, 250, 252, 0.62);
  background: none;
  border: 0;
  padding: 0;
  border-radius: 0;
}

body.ss-page-rh.ss-cinema-standard .rv-page-hero h1 span,
body.ss-page-transporte.ss-cinema-standard .rv-page-hero h1 span,
body.ss-page-condominio.ss-cinema-standard .rv-page-hero h1 span {
  color: rgba(255, 255, 255, 0.78) !important;
}
