@font-face { font-family:Montserrat; src:url("fonts/montserrat-latin-800-normal.woff2") format("woff2"); font-style:normal; font-weight:800 900; font-display:swap; }
@font-face { font-family:Montserrat; src:url("fonts/montserrat-latin-700-normal.woff2") format("woff2"); font-style:normal; font-weight:700; font-display:swap; }
:root {
  --background:#130e14; --surface:#211921; --text:#fff8f1; --muted:#d2c7ce;
  --accent:#e9cba7; --accent-light:#f5e3ca; --accent-text:#241824;
  --cta:#4ade80; --cta-light:#a7f3b8; --cta-text:#062410;
  --border:#574452; --focus:#f5e3ca; --radius:16px;
}
* { box-sizing:border-box; }
body { margin:0; background:var(--background); color:var(--text); font-family:Arial,Helvetica,sans-serif; line-height:1.5; }
body::before {
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-color:var(--background);
  background-image:
    linear-gradient(180deg,rgba(19,14,20,.2) 0%,rgba(19,14,20,.45) 55%,var(--background) 100%),
    linear-gradient(90deg,rgba(19,14,20,.58) 0%,rgba(19,14,20,.22) 48%,rgba(19,14,20,.4) 100%),
    url("assets/mulheres-45plus-fundo.png");
  background-size:cover;
  background-position:center top;
  background-repeat:no-repeat;
}

button,input { font:inherit; }
button { cursor:pointer; }
button:disabled { cursor:wait; opacity:.65; }
.layout { position:relative; max-width:1168px; min-height:calc(100svh - 28px); margin:auto; padding:27px 0 36px; display:grid; grid-template-columns:minmax(0,492px) minmax(0,600px); gap:60px; align-items:center; }
.intro { padding-bottom:12px; }
.eyebrow { font-family:Montserrat,Arial,sans-serif; font-size:12px; font-weight:800; letter-spacing:1.6px; margin:0 0 12px; color:var(--accent); }
h1 { font-family:Montserrat,Arial,sans-serif; font-size:40px; font-weight:800; line-height:1.2; letter-spacing:-1.7px; margin:0 0 18px; text-transform:uppercase; }
h1 span { color:var(--accent); }
.description { font-size:16px; color:var(--muted); line-height:1.7; margin:0; }
.deadline { margin-top:26px; }
.deadline-label { color:var(--accent); font-size:12px; font-weight:800; margin:0 0 30px; }
.countdown { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.countdown > div { height:88px; background:var(--surface); border:1px solid var(--border); border-radius:16px; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.countdown strong { font-family:Montserrat,Arial,sans-serif; font-size:32px; font-weight:800; line-height:1.1; color:var(--accent); }
.countdown span { font-size:11px; color:var(--muted); margin-top:3px; }
.benefits { list-style:none; padding:0; margin:32px 0 0; display:grid; gap:18px; color:var(--muted); font-size:16px; }
.benefits li { display:flex; gap:12px; align-items:center; }
.benefits span { display:grid; place-items:center; background:var(--accent); color:var(--accent-text); border-radius:50%; width:18px; height:18px; flex-shrink:0; font-size:12px; font-weight:bold; }
.card { min-height:622px; padding:40px; background:linear-gradient(125deg,var(--surface) 60%,#2a2027); border:1px solid var(--border); border-radius:var(--radius); display:flex; flex-direction:column; justify-content:flex-start; }
.form-heading { color:var(--accent); font-family:Montserrat,Arial,sans-serif; font-size:24px; font-weight:700; line-height:1.3; margin:0 0 12px; }
h2 { font-size:28px; line-height:1.2; margin:0 0 12px; }
.subtext { color:var(--muted); font-size:14px; margin:0 0 28px; }
label:not(.check) { display:block; color:var(--accent); font-family:Montserrat,Arial,sans-serif; font-size:12px; font-weight:700; margin-bottom:9px; }
input:not([type=checkbox]) { width:100%; height:50px; padding:12px 18px; border:1px solid var(--border); background:#171217; border-radius:8px; color:var(--text); color-scheme:dark; }
input::placeholder { color:#a99aa5; opacity:1; }
input:focus-visible,button:focus-visible { outline:2px solid var(--focus); outline-offset:3px; }
.fields { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:20px; }
.hint { font-size:13px; color:var(--muted); margin:9px 0 0; }
.registration-cta { margin-top:36px; }
[hidden] { display:none !important; }
.unavailable-screen { position:relative; min-height:calc(100svh - 50px); display:grid; place-items:center; padding:32px 22px; }
.unavailable-card { width:100%; max-width:540px; padding:36px; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); }
.unavailable-card h2 { line-height:1.3; }
.unavailable-card .subtext { font-size:16px; line-height:1.7; margin-top:20px; }
.instagram-link { text-decoration:none; text-align:center; }
@media(max-width:420px) { .unavailable-card { padding:26px; } .unavailable-card h2 { font-size:24px; } }
.attendance-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; align-items:center; }
.city-highlight { display:inline-block; color:var(--accent); background:rgba(233,203,167,.14); border-radius:6px; padding:2px 6px; margin:3px 0; font-weight:800; text-transform:uppercase; }
.attendance-choice { width:100%; min-height:48px; padding:12px 18px; border:1px solid; border-radius:12px; font-size:15px; font-weight:700; transition:background-color .2s; }
#attendance-yes { color:#a7efbf; background:#20372b; border-color:#426c50; }
#attendance-yes:hover { background:#2b4838; }
#attendance-no { color:#ffbaba; background:#3a242b; border-color:#79505a; }
#attendance-no:hover { background:#4c3038; }
@media(max-width:800px) { .registration-cta { margin-top:28px; } }
@media(prefers-reduced-motion:reduce) { .attendance-choice { transition:none; } }
.check { display:flex; gap:10px; align-items:flex-start; font-size:14px; color:var(--muted); margin:72px 0 22px; }
.check input { accent-color:var(--accent); width:18px; height:18px; flex-shrink:0; margin:1px 0; }
.primary { background:linear-gradient(105deg,#22c55e,var(--cta) 55%,var(--cta-light)); color:var(--cta-text); border:0; border-radius:999px; padding:16px 20px; font-family:Montserrat,Arial,sans-serif; font-size:13px; font-weight:700; display:flex; align-items:center; justify-content:center; gap:10px; width:100%; min-height:54px; box-shadow:0 9px 28px #22c55e24; transition:filter .2s,transform .2s; }
.registration-cta { animation:registration-pulse 2s ease-in-out infinite; }
.registration-cta:disabled { animation:none; }
@keyframes registration-pulse {
  0%,100% { box-shadow:0 0 0 0 #22c55e66,0 9px 28px #22c55e24; }
  65% { box-shadow:0 0 0 11px #22c55e00,0 9px 34px #22c55e45; }
}
.primary:hover { filter:brightness(1.1); transform:translateY(-1px); }
.primary span { font-size:22px; line-height:1; }
.secondary { background:transparent; color:var(--text); border:1px solid var(--border); border-radius:999px; padding:12px 20px; font-size:13px; }
.footnote { font-size:12px; text-align:center; color:#b9aab5; margin:30px 0 0; }
.status { font-size:14px; margin:14px 0; color:var(--text); overflow-wrap:anywhere; }
.status:empty { display:none; }
dialog { border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); color:var(--text); max-width:480px; width:calc(100% - 32px); padding:0; max-height:90svh; }
dialog::backdrop { background:#000b; backdrop-filter:blur(4px); }
.dialog-content { padding:32px; }
dl { background:var(--background); border-radius:12px; padding:20px; margin:0 0 24px; }
dt { font-size:11px; color:var(--muted); text-transform:uppercase; font-weight:bold; }
dd { margin:4px 0 18px; overflow-wrap:anywhere; }
dd:last-child { margin-bottom:0; }
#edit-data { width:100%; margin-top:12px; }
.cookie-banner { position:fixed; bottom:20px; left:50%; transform:translateX(-50%); width:calc(100% - 32px); max-width:860px; padding:16px 20px; background:var(--surface); border:1px solid var(--border); border-radius:14px; box-shadow:0 8px 40px #0008; display:flex; gap:24px; align-items:center; z-index:3; }
.cookie-banner[hidden] { display:none; }
.cookie-banner p { font-size:13px; margin:0; color:var(--muted); }
.cookie-banner > div { display:flex; gap:8px; flex-shrink:0; }
.cookie-banner .primary { width:auto; min-height:40px; padding:10px 18px; }
.settings { position:relative; display:block; margin:0 auto 12px; background:none; border:0; text-decoration:underline; font-size:12px; color:#b9aab5; }
@media(max-width:1200px) and (min-width:801px) { .layout { grid-template-columns:minmax(0,492fr) minmax(0,600fr); } }
@media(max-width:1000px) and (min-width:801px) { .layout { gap:30px; padding:32px 28px; } .card { padding:28px; } h1 { font-size:33px; } }
@media(max-width:800px) {
  .layout { grid-template-columns:1fr; gap:36px; padding:40px 22px 36px; max-width:600px; }
  h1 { font-size:clamp(30px,6.4vw,40px); letter-spacing:-1.1px; }
  .description { font-size:15px; }
  .deadline-label { margin-bottom:18px; }
  .benefits { margin-top:32px; gap:16px; font-size:15px; }
  .card { padding:30px 24px; min-height:auto; }
  .cookie-banner { flex-direction:column; align-items:stretch; gap:12px; }
  .cookie-banner > div { justify-content:flex-end; }
  .countdown { gap:12px; }
}
@media(prefers-reduced-motion:reduce) { .primary { transition:none; } .registration-cta { animation:none; } }

.footnote svg { width:11px; height:11px; margin-right:4px; vertical-align:-1px; }
@media(min-width:801px) and (max-width:1220px) { .layout { margin-inline:32px; } }
@media(max-width:800px) { .form-heading { margin-bottom:28px; } .check { margin-top:26px; } }
@media(max-width:420px) { .fields { grid-template-columns:1fr; } }

body::after { content:""; position:fixed; inset:0; pointer-events:none; background-image:radial-gradient(circle at 10% 1%,#aaa4 1px,transparent 3px),radial-gradient(circle at 29% 15%,#aaa4 1px,transparent 3px),radial-gradient(circle at 37% 14%,#aaa4 1px,transparent 3px),radial-gradient(circle at 32% 44%,#aaa4 1px,transparent 2px),radial-gradient(circle at 44% 29%,#aaa4 1px,transparent 2px),radial-gradient(circle at 39% 68%,#aaa4 1px,transparent 2px),radial-gradient(circle at 87% 25%,#aaa4 1px,transparent 3px),radial-gradient(circle at 93% 43%,#aaa3 1px,transparent 2px),radial-gradient(circle at 86% 91%,#aaa4 1px,transparent 3px),radial-gradient(circle at 46% 96%,#aaa4 1px,transparent 3px),radial-gradient(circle at 12% 98%,#aaa4 1px,transparent 2px),radial-gradient(circle at 2% 79%,#aaa3 1px,transparent 2px); }

/* A single background image; gradients keep the headline legible. */
body::after { opacity:.25; }
.card { background:linear-gradient(125deg,rgba(33,25,33,.95),rgba(42,32,39,.92)); }
@media(max-width:800px) {
  body::before { background-size:100% 100%,100% 100%,auto 680px; }
}

.form-description { color:var(--muted); font-size:15px; line-height:1.65; margin:0 0 28px; }
.free-note { color:var(--muted); font-size:12px; line-height:1.5; text-align:center; margin:12px 0 0; }
.registration-steps { margin-top:26px; }
.registration-steps .deadline-label { margin-bottom:20px; }
.registration-steps ol { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.registration-steps li { min-height:100px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; text-align:center; background:var(--surface); border:1px solid var(--border); border-radius:16px; padding:12px 6px; }
.registration-steps strong { color:var(--accent); font-family:Montserrat,Arial,sans-serif; font-size:26px; }
.registration-steps li span { color:var(--muted); font-size:13px; line-height:1.4; }
@media(max-width:800px) { .form-heading { margin-bottom:12px; } .registration-steps ol { gap:12px; } }

/* Keep keyboard order aligned with the form-first layout on mobile. */
.layout > .intro { grid-column:1; grid-row:1; }
.layout > .card { grid-column:2; grid-row:1; }
.form-context { display:none; }
@media(max-width:800px) {
  .layout { padding-top:20px; }
  .layout > .card { grid-column:1; grid-row:1; padding:24px 20px; }
  .layout > .intro { grid-column:1; grid-row:2; }
  .card .form-heading { font-size:22px; margin-bottom:8px; }
  .form-context { display:block; color:var(--accent); font-size:13px; line-height:1.5; margin:0 0 22px; }
  .card #lead-form { order:1; }
  .card .form-description { order:2; margin:22px 0 0; font-size:14px; }
  .card .footnote { order:3; margin-top:18px; }
  .card .fields { margin-top:16px; gap:16px; }
  .card .registration-cta { margin-top:22px; }
}
@media(max-width:380px) {
  .card .registration-cta { padding:14px 12px; font-size:12px; gap:8px; }
  .card .registration-cta span { display:none; }
}
