/* Braslev v0.9 — acabamento premium + desempenho mobile */
/* secções como "folhas" sobrepostas: cantos arredondados no topo, sem cortes secos entre claro/escuro */
:root { --folha: clamp(20px, 3vw, 44px); }
.partilha, .cena-viagem, .como, .depois, .cobertura, .orcamento, .faq, .fecho { border-radius: var(--folha) var(--folha) 0 0; margin-top: calc(var(--folha) * -1); }
.partilha-palco { padding-top: calc(96px + var(--folha)); }
.cortina-linha { top: var(--folha); }

/* hierarquia: eyebrow com traço amarelo (mesma assinatura em todas as secções) */
.eyebrow { display: inline-flex; align-items: center; gap: 12px; }
.eyebrow::before { content: ""; width: 28px; height: 2px; background: var(--amarelo); flex: none; }
.cena-cab .eyebrow { grid-column: 1 / -1; }

/* controlos da carga partilhada (progressão autónoma) */
.cenas-rep { align-self: flex-start; margin-top: 14px; border: 0; background: none; color: var(--tinta); font: 650 14px "Archivo", sans-serif; padding: 8px 14px; border-radius: 999px; box-shadow: inset 0 0 0 1.5px var(--tinta); cursor: pointer; transition: background .3s, color .3s; }
.cenas-rep:hover, .cenas-rep:focus-visible { background: var(--tinta); color: var(--amarelo); }
.cenas-rep[hidden] { display: none; }
.cenas button { transition: color .4s; } .cenas button:focus-visible { outline: 3px solid var(--amarelo); outline-offset: 3px; border-radius: 6px; }
.cenas-barra i { transition: none; }

/* botão de orçamento: cabeçalho mais claro, CTA flutuante no telemóvel */
.cta-flutuante { display: none; }
.btn-amarelo { box-shadow: 0 10px 30px -14px rgba(225,198,34,.8); }
.btn-amarelo:focus-visible, .btn-escuro:focus-visible, .btn-vidro:focus-visible { outline: 3px solid var(--amarelo); outline-offset: 3px; }

@media (max-width: 900px) {
  .cta-flutuante { display: inline-flex; align-items: center; gap: 12px; position: fixed; z-index: 65; right: 14px; bottom: calc(14px + env(safe-area-inset-bottom)); padding: 15px 22px; border-radius: 999px; background: var(--amarelo); color: var(--noite); font: 700 15px/1 "Archivo", sans-serif; text-decoration: none; box-shadow: 0 14px 34px -12px rgba(0,0,0,.55); transition: transform .5s var(--ease), opacity .4s; }
  .cta-flutuante.oculto { transform: translateY(140%); opacity: 0; pointer-events: none; }
  /* desempenho: sem blur nem backdrop-filter em movimento */
  .btn-vidro, .vid-btn, .vid-ecra, .hero-replay { backdrop-filter: none; -webkit-backdrop-filter: none; background: rgba(30,32,36,.9); }
  .top[data-tema="claro"] { backdrop-filter: none; -webkit-backdrop-filter: none; background: rgba(243,241,234,.97); }
  .btn::before { display: none; } .btn:hover { filter: none; }
  .cob-bg { opacity: .22; }
  /* abertura vertical: brilho âmbar atrás do vídeo para o ecrã vertical não parecer vazio */
  .hero { background: radial-gradient(90% 38% at 70% 30%, rgba(232,162,74,.12), transparent 70%), var(--noite); }
  .hero-tela { margin-top: 8px; }
  .partilha-palco { padding-bottom: 28px; }
  .partilha { padding-bottom: 8px; }
  .cenas-rep { margin-top: 10px; }
}
@media (prefers-reduced-motion: reduce) { .cta-flutuante { transition: none; } }
.hero { padding-bottom: var(--folha); }
.hero-palco { width: min(100%, calc((100svh - 64px - var(--folha)) * 16 / 9)); }
@media (max-width: 900px) { .hero-palco { width: 100%; } .partilha-palco { height: min(100svh, 780px); } }
.legendas { padding-bottom: 54px; }
.cenas-rep { position: absolute; left: 0; bottom: 0; margin: 0; }
@media (max-width: 900px) { .legendas { padding-bottom: 0; } .cenas-rep { position: static; margin-top: 10px; } .cortina-linha { height: 48px; } }
.partilha-palco { height: calc(100svh - 56px); min-height: 640px; }
@media (max-width: 900px) { .hero { min-height: 0; padding-bottom: calc(var(--folha) + 26px); } .partilha-palco { height: min(100svh, 780px); min-height: 0; } }
