/* =========================================================
   Lucre Antes de Arrematar — Landing Page
   Mobile-first CSS
   ========================================================= */

:root{
  --navy-1:#080F1A;
  --navy-2:#0A1F3D;
  --navy-3:#0D2A50;

  --light-bg:#F1F5F9;
  --white:#FFFFFF;

  --blue-btn:#0D63DB;
  --blue-btn-hover:#0A52B8;

  --grad-start:#60A5FA;
  --grad-end:#34D399;

  --text-on-dark:#FFFFFF;
  --text-on-dark-secondary:#CBD5E1;
  --text-on-light:#0F172A;

  --border-light:#CBD5E1;

  --radius-card:18px;
  --radius-field:9px;

  --shadow-soft:0 20px 45px -15px rgba(2,10,25,0.35);
  --shadow-card:0 12px 30px -10px rgba(2,10,25,0.5);

  --container-max:1180px;
}

*,*::before,*::after{ box-sizing:border-box; }

html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
}

body{
  margin:0;
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--text-on-light);
  background:var(--white);
  overflow-x:hidden;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

img{ max-width:100%; display:block; }

a{ color:inherit; text-decoration:none; }

.container{
  width:100%;
  max-width:var(--container-max);
  margin-left:auto;
  margin-right:auto;
  padding-left:22px;
  padding-right:22px;
}

.container.narrow{ max-width:760px; }
.container.center{ text-align:center; }

/* ---------- Focus states (accessibility) ---------- */
a:focus-visible,
button:focus-visible,
.btn:focus-visible{
  outline:3px solid var(--grad-start);
  outline-offset:3px;
  border-radius:8px;
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{
    animation-duration:0.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:0.001ms !important;
  }
}

/* =========================================================
   BUTTONS
   ========================================================= */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:52px;
  padding:14px 24px;
  border-radius:12px;
  font-weight:700;
  font-size:clamp(16px,4vw,18px);
  letter-spacing:0.02em;
  border:none;
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, background-color .15s ease;
}

.btn-primary{
  background:var(--blue-btn);
  color:#fff;
}

.btn-primary:hover,
.btn-primary:active{
  background:var(--blue-btn-hover);
  transform:translateY(-1px);
}

.btn-large{
  max-width:520px;
  margin:0 auto;
}

@media (min-width:480px){
  .btn{ width:auto; min-width:280px; }
}

/* =========================================================
   SECTION TITLES
   ========================================================= */
.section{
  padding:56px 0;
}

.section-light{ background:var(--light-bg); }
.section-alt{ background:var(--white); }
.section-dark{
  background:linear-gradient(160deg, var(--navy-1) 0%, var(--navy-2) 55%, var(--navy-3) 100%);
}

.section-title{
  font-family:'Inter',sans-serif;
  font-weight:800;
  font-size:clamp(28px,6vw,34px);
  line-height:1.25;
  margin:0 0 20px;
}

.section-title.dark{ color:var(--text-on-light); }
.section-title.light{ color:var(--text-on-dark); }
.section-title.center{ text-align:center; }

/* =========================================================
   HERO — SEÇÃO 1
   ========================================================= */
.hero{
  background:linear-gradient(160deg, var(--navy-1) 0%, var(--navy-2) 55%, var(--navy-3) 100%);
  padding:44px 0 48px;
}

.hero-inner{
  display:flex;
  flex-direction:column;
  gap:32px;
}

.hero-copy{
  text-align:center;
}

.badge{
  display:inline-block;
  background:rgba(13,99,219,0.18);
  border:1px solid rgba(96,165,250,0.45);
  color:#DBEAFE;
  font-size:12px;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  padding:8px 16px;
  border-radius:999px;
  margin-bottom:18px;
}

.event-name{
  font-family:'Inter',sans-serif;
  font-weight:900;
  font-size:clamp(36px,9vw,44px);
  line-height:1.1;
  color:var(--text-on-dark);
  margin:0 0 18px;
  letter-spacing:-0.01em;
}

.gradient-text{
  background:linear-gradient(90deg, var(--grad-start), var(--grad-end));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.headline{
  font-size:clamp(20px,5vw,26px);
  font-weight:700;
  color:var(--text-on-dark);
  line-height:1.35;
  margin:0 0 16px;
}

.subheadline{
  font-size:clamp(17px,4vw,19px);
  color:var(--text-on-dark-secondary);
  margin:0 0 22px;
  line-height:1.5;
}

.event-datebar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:10px 16px;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(203,213,225,0.25);
  border-radius:14px;
  padding:14px 18px;
  margin:0 auto;
  max-width:520px;
}

.datebar-item{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--text-on-dark);
  font-weight:600;
  font-size:clamp(14px,3.6vw,16px);
}

.icon{
  width:18px;
  height:18px;
  flex-shrink:0;
  color:var(--grad-start);
}

.datebar-sep{
  color:var(--text-on-dark-secondary);
  opacity:0.6;
}

/* ---------- Formulário ---------- */
.hero-form-wrap{
  width:100%;
}

.form-title{
  font-size:clamp(20px,5vw,24px);
  font-weight:800;
  color:var(--text-on-light);
  text-align:center;
  margin:0 0 16px;
}

/* ---------- Formulário nativo de inscrição (integração Homio via proxy Vercel) ---------- */
.lead-form-card{
  width:100%;
  max-width:520px;
  margin:0 auto;
  background:var(--white);
  padding:22px 16px;
  border-radius:20px;
  box-shadow:var(--shadow-soft);
  box-sizing:border-box;
  font-family:inherit;
}

.lead-form-card *{ box-sizing:border-box; }

.form-group{
  margin-bottom:18px;
}

.form-group label{
  display:block;
  margin-bottom:7px;
  font-size:14px;
  font-weight:600;
  color:var(--text-on-light);
}

.form-group input{
  width:100%;
  min-height:52px;
  padding:0 15px;
  border:1px solid var(--border-light);
  border-radius:9px;
  background:var(--white);
  color:var(--text-on-light);
  font-size:16px;
  font-family:inherit;
  outline:none;
  transition:border-color .15s ease, box-shadow .15s ease;
}

.form-group input::placeholder{
  color:#9A9A9A;
}

.form-group input:focus-visible{
  outline:none;
  border-color:var(--blue-btn);
  box-shadow:0 0 0 3px rgba(13,99,219,0.18);
}

.form-group input.input-invalid{
  border-color:#D93025;
}

.field-error{
  display:none;
  margin-top:6px;
  color:#C62828;
  font-size:13px;
  font-weight:600;
  line-height:1.4;
}

.consent-group{
  margin:6px 0 20px;
}

.checkbox-label{
  display:flex;
  align-items:flex-start;
  gap:10px;
  cursor:pointer;
  font-size:13.5px;
  line-height:1.5;
  color:#475569;
}

.checkbox-label input{
  width:20px;
  height:20px;
  min-width:20px;
  margin:1px 0 0;
  flex:0 0 20px;
  accent-color:#16A34A;
  cursor:pointer;
}

.checkbox-label a{
  color:var(--blue-btn);
  text-decoration:underline;
  font-weight:600;
}

.consent-error{
  display:none;
  margin-top:9px;
  color:#C62828;
  font-size:13px;
  font-weight:600;
}

.form-general-error{
  display:none;
  margin-bottom:14px;
  padding:10px 12px;
  border-radius:7px;
  background:#FFF3F3;
  color:#B3261E;
  font-size:13px;
  line-height:1.4;
}

#submitButton{
  width:100%;
  min-height:56px;
  padding:14px 20px;
  border:0;
  border-radius:9px;
  background:#16A34A;
  color:#FFFFFF;
  font-size:clamp(16px,4vw,18px);
  font-weight:700;
  font-family:inherit;
  line-height:1.2;
  cursor:pointer;
  transition:background-color .15s ease, transform .1s ease;
}

#submitButton:hover{
  background:#128A3E;
}

#submitButton:active{
  transform:translateY(1px);
}

#submitButton:disabled{
  opacity:.65;
  cursor:not-allowed;
}

/* =========================================================
   SEÇÃO 2 — CONTEXTUALIZAÇÃO
   ========================================================= */
.context-section{
  text-align:left;
  /* Espaço até a próxima seção reduzido em 40% (junto com o padding-top da Seção 3) */
  padding-bottom:34px !important;
}

@media (min-width:1024px){
  .context-section{
    padding-bottom:53px !important;
  }
}

.context-text{
  font-size:clamp(16px,4vw,18px);
  color:#334155;
  line-height:1.7;
  margin:0;
  text-align:left;
}

/* =========================================================
   SEÇÃO 3 — CONTEÚDOS
   ========================================================= */
/* Espaço entre o final da Seção 2 e o título desta seção reduzido em 40% */
.contents-section{
  padding-top:34px !important;
}

@media (min-width:1024px){
  .contents-section{
    padding-top:53px !important;
  }
}

.cards-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:20px;
  margin-top:36px;
}

.content-card{
  background:var(--white);
  border:1px solid var(--border-light);
  border-radius:16px;
  padding:28px 22px;
  text-align:center;
  box-shadow:0 8px 20px -12px rgba(15,23,42,0.12);
}

.card-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  border-radius:14px;
  background:linear-gradient(135deg, rgba(96,165,250,0.15), rgba(52,211,153,0.15));
  color:#0D63DB;
  margin-bottom:16px;
}

.card-icon svg{ width:26px; height:26px; }

.card-text{
  font-size:16px;
  font-weight:600;
  color:var(--text-on-light);
  margin:0;
  line-height:1.5;
}

/* =========================================================
   SEÇÃO 4 — PARA QUEM É
   ========================================================= */
.audience-list{
  list-style:none;
  margin:36px 0 0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:18px;
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
}

.audience-list li{
  display:flex;
  align-items:flex-start;
  gap:14px;
  font-size:16px;
  color:#334155;
  line-height:1.55;
}

.check-icon{
  width:22px;
  height:22px;
  flex-shrink:0;
  margin-top:2px;
  color:#0EA971;
}

/* =========================================================
   SEÇÃO 5 — AUTORIDADE
   ========================================================= */
.authority-grid{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:32px;
}

.authority-photo-wrap{
  display:flex;
  justify-content:center;
  width:100%;
}

.authority-photo{
  width:100%;
  max-width:320px;
  aspect-ratio:2/3;
  object-fit:cover;
  border-radius:18px;
  box-shadow:var(--shadow-card);
  border:1px solid rgba(203,213,225,0.25);
}

.authority-text{
  width:100%;
  color:var(--text-on-dark-secondary);
}

.authority-text .section-title{
  text-align:center;
}

.authority-text p{
  font-size:16px;
  line-height:1.7;
  margin:0 0 16px;
}

.authority-text strong{
  color:var(--text-on-dark);
  font-weight:700;
}

@media (min-width:768px){
  .authority-text .section-title{ text-align:left; }
}

/* =========================================================
   SEÇÃO 6 — CHAMADA FINAL
   ========================================================= */
.final-cta .section-title{
  margin-bottom:16px;
}

.final-text{
  font-size:clamp(16px,4vw,18px);
  color:var(--text-on-dark-secondary);
  line-height:1.6;
  margin:0 0 18px;
}

.final-date{
  font-size:clamp(17px,4vw,19px);
  font-weight:700;
  color:var(--text-on-dark);
  margin:0 0 28px;
}

/* =========================================================
   RODAPÉ
   ========================================================= */
.site-footer{
  background:#05070C;
  padding:32px 0;
}

.footer-brand{
  color:var(--text-on-dark);
  font-weight:800;
  font-size:16px;
  margin:0 0 8px;
}

.footer-info{
  color:#7C8AA0;
  font-size:13px;
  margin:4px 0;
}

.footer-links{
  color:#7C8AA0;
  font-size:13px;
  margin:12px 0 0;
}

.footer-links a{
  color:#9FB3CC;
  text-decoration:underline;
}

.footer-links a:hover,
.footer-links a:focus-visible{
  color:var(--text-on-dark);
}

/* =========================================================
   BREAKPOINTS — TABLET (≥768px)
   ========================================================= */
@media (min-width:768px){
  .cards-grid{
    grid-template-columns:repeat(3,1fr);
  }

  .audience-list{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px 32px;
  }

  .authority-photo{ max-width:360px; }
}

/* =========================================================
   BREAKPOINTS — DESKTOP (≥1024px)
   ========================================================= */
@media (min-width:1024px){
  .hero{ padding:80px 0 90px; }

  .hero-inner{
    flex-direction:row;
    align-items:center;
    gap:56px;
  }

  .hero-copy{
    text-align:left;
    flex:1 1 55%;
  }

  .event-datebar{ margin:0; }

  .hero-form-wrap{
    flex:1 1 45%;
    max-width:460px;
  }

  .lead-form-card{ padding:32px 28px 28px; }

  .section{ padding:88px 0; }

  .authority-photo{ max-width:400px; }
}

@media (min-width:1280px){
  .authority-photo{ max-width:420px; }
}
