/* =========================================================
   FORMULÁRIO ANTES DO WHATSAPP (nome, telefone, cidade)
   Usa os tokens e o botão .btn-wa de cada página.
   ========================================================= */
.lf{position:fixed;inset:0;z-index:300;display:grid;align-items:end;justify-items:center;padding:0}
.lf[hidden]{display:none!important}
.lf-backdrop{position:absolute;inset:0;background:rgba(0,21,48,.82);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:lf-fade .3s var(--ease, ease) both}
.lf-panel{
  position:relative;width:100%;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;
  background:var(--azul-1,#00244F);color:var(--off-white,#F9F7F5);
  border-top:1px solid var(--dourado,#C9A86A);
  padding-bottom:env(safe-area-inset-bottom,0px);
  animation:lf-up .4s var(--ease, ease) both;
  --focus:var(--dourado,#C9A86A);
}
.lf-x{
  position:absolute;top:.75rem;right:.75rem;z-index:2;width:44px;height:44px;border-radius:50%;
  display:grid;place-items:center;cursor:pointer;font-size:1.05rem;line-height:1;
  background:rgba(0,21,48,.6);color:var(--off-white,#F9F7F5);border:1px solid rgba(201,168,106,.6);
}
.lf-x:hover{border-color:var(--dourado,#C9A86A);color:var(--dourado,#C9A86A)}
.lf-media{position:relative;aspect-ratio:16/7;overflow:hidden;background:var(--azul-2,#00426B)}
.lf-media[hidden]{display:none}
.lf-media img{width:100%;height:100%;object-fit:cover;display:block}
.lf-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,36,79,0) 40%,var(--azul-1,#00244F) 100%)}
.lf-body{padding:1.5rem 1.25rem 1.75rem;display:grid;gap:1rem}
.lf-eyebrow{
  margin:0;font-family:var(--font-ui,"Rubik",system-ui,sans-serif);font-size:.75rem;font-weight:500;
  letter-spacing:.3em;text-transform:uppercase;color:var(--dourado,#C9A86A);line-height:1.5;
}
.lf-title{margin:0;font-family:var(--font-title,"Cinzel",Georgia,serif);font-weight:400;font-size:clamp(1.5rem,1.2rem + 1.2vw,1.875rem);line-height:1.15;letter-spacing:.02em;padding-right:2.5rem}
.lf-sub{margin:0;font-size:.9375rem;line-height:1.6;color:rgba(249,247,245,.8);font-weight:300}
.lf-form{display:grid;gap:1rem;margin-top:.5rem}
.lf-field{display:grid;gap:.4rem}
.lf-field label{
  font-family:var(--font-ui,"Rubik",system-ui,sans-serif);font-size:.75rem;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;color:rgba(249,247,245,.8);
}
.lf-field input{
  width:100%;min-height:52px;padding:.75rem .9rem;border-radius:var(--radius,2px);
  font:inherit;font-size:1rem;font-weight:400;color:var(--off-white,#F9F7F5);
  background:rgba(249,247,245,.07);border:1px solid rgba(249,247,245,.35);
  transition:border-color .25s ease,background-color .25s ease;
}
.lf-field input::placeholder{color:rgba(249,247,245,.45)}
.lf-field input:hover{border-color:rgba(249,247,245,.6)}
.lf-field input:focus{outline:2px solid var(--dourado,#C9A86A);outline-offset:1px;border-color:var(--dourado,#C9A86A);background:rgba(249,247,245,.1)}
.lf-field input[aria-invalid="true"]{border-color:#FFB4A8}
.lf-err{margin:0;min-height:0;font-size:.8125rem;line-height:1.4;color:#FFB4A8}
.lf-err:empty{display:none}
.lf-hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
.lf-submit{width:100%;margin-top:.25rem}
.lf-note{margin:0;font-size:.75rem;line-height:1.5;color:rgba(249,247,245,.65);text-align:center}
.lf-done{display:grid;gap:1rem}
.lf-done[hidden]{display:none}
.lf-done p{margin:0}
.lf-quote{
  margin:0;padding:.9rem 1rem;border-left:2px solid var(--dourado,#C9A86A);background:rgba(249,247,245,.07);
  font-size:.875rem;line-height:1.6;white-space:pre-line;color:rgba(249,247,245,.9)
}
body.lf-open{overflow:hidden}

@media (min-width:640px){
  .lf{align-items:center;padding:1.5rem}
  .lf-panel{max-width:460px;max-height:calc(100dvh - 3rem);border:1px solid var(--dourado,#C9A86A);border-radius:var(--radius,2px)}
  .lf-body{padding:1.75rem 2rem 2rem}
  .lf-panel{animation-name:lf-pop}
  @keyframes lf-pop{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
}
@keyframes lf-fade{from{opacity:0}to{opacity:1}}
@keyframes lf-up{from{transform:translateY(40px);opacity:.6}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.lf-backdrop,.lf-panel{animation:none}}
@media (max-height:720px){.lf-media{aspect-ratio:16/5}}
@media (max-height:560px){.lf-media{display:none}}

/* telas baixas (celulares pequenos, paisagem, teclado aberto): foto some, espaços encolhem e o botão fica à vista */
@media (max-height:700px){
  .lf-media{display:none}
  .lf-body{padding:1.25rem 1.25rem 1.25rem;gap:.75rem}
  .lf-title{font-size:1.375rem}
  .lf-sub{font-size:.875rem;line-height:1.5}
  .lf-form{gap:.75rem;margin-top:.25rem}
  .lf-field{gap:.3rem}
  .lf-field input{min-height:48px;padding-block:.6rem}
}
