/* Layout: coluna única centralizada (texto em cima, formulário embaixo), pensada para tablet e celular. Tema único escuro/dourado da LP original. */
:root{
  color-scheme:dark;
  --black:#0B0B0C; --card:#151517; --border:#2B2B2F;
  --gold:#C9A44C; --gold-dark:#B08C38; --stone:#7A746C;
  --text:#FFFFFF; --muted:#D1D5DB; --dim:#9CA3AF; --faint:#6B7280;
  --font:Montserrat,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{background:var(--black);color:var(--text);font-family:var(--font);font-size:16px;-webkit-font-smoothing:antialiased;margin:0}
.wrap{max-width:1280px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
@media(min-width:1024px){.wrap{padding-left:max(2rem,env(safe-area-inset-left,0px));padding-right:max(2rem,env(safe-area-inset-right,0px))}}

header{background:rgba(11,11,12,.95);box-shadow:0 10px 15px -3px rgba(0,0,0,.3);position:relative;z-index:5}
header .wrap{height:5rem;display:flex;align-items:center;justify-content:center}
header img{height:72px;width:auto;display:block}

.hero{position:relative;overflow:hidden;min-height:calc(100vh - 5rem)}
.hero-bg{position:absolute;inset:0;background:radial-gradient(120% 90% at 70% 30%,#3a2f18 0%,#17140f 45%,var(--black) 100%);opacity:.6}
.hero-bg::after{display:none;content:"Imagem: fachada noturna (hero)";position:absolute;right:12px;bottom:12px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#bda76b;border:1px dashed rgba(201,164,76,.5);padding:4px 8px;border-radius:4px;background:rgba(0,0,0,.4)}
.shade1{position:absolute;inset:0;background:linear-gradient(to right,var(--black),rgba(11,11,12,.85),rgba(11,11,12,.4))}
.shade2{position:absolute;inset:0;background:linear-gradient(to top,var(--black),transparent,rgba(11,11,12,.6))}
.hero .wrap{position:relative;z-index:1;padding-block:3rem}
.grid{display:flex;flex-direction:column;align-items:center;gap:2.5rem}
@media(min-width:768px){.hero .wrap{padding-block:4rem}}
.copy{max-width:40rem;min-width:0;width:100%;text-align:center}
.eyebrow{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1.25rem}
.eyebrow i{width:2rem;height:1px;background:var(--gold)}
.eyebrow span{color:var(--gold);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em}
h1{font-size:clamp(2rem,6vw,3.25rem);font-weight:800;line-height:1.1;letter-spacing:-.025em;margin:0 0 1.5rem;text-wrap:balance}
h1 .g{color:var(--gold)}
.lead{color:var(--muted);font-size:clamp(1rem,1.6vw,1.125rem);line-height:1.625;margin:0 auto 2rem;max-width:34rem}
.feats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;max-width:34rem;margin:0 auto}
.feats div{display:flex;flex-direction:column;align-items:center;gap:.5rem}
.feats svg{width:20px;height:20px;color:var(--gold)}
.feats span{color:var(--muted);font-size:.75rem;line-height:1.375}

.card{width:100%;max-width:34rem;margin:0 auto;background:var(--card);border:1px solid var(--border);border-radius:.5rem;box-shadow:0 25px 50px -12px rgba(0,0,0,.6);padding:2rem 1.25rem;min-width:0}
@media(min-width:480px){.card{padding:2.5rem 2rem}}

.card h2{font-size:1.5rem;font-weight:700;text-align:center;margin:0 0 1.5rem}
form{display:flex;flex-direction:column;gap:1.25rem}
.sec{display:block;color:var(--gold);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em}
.sec.pt{padding-top:.5rem}
.field{display:flex;flex-direction:column;gap:.5rem}
label{font-size:.875rem;font-weight:500;color:var(--muted)}
input[type=text],input[type=tel],select{height:2.75rem;width:100%;border:1px solid var(--border);border-radius:.375rem;background:rgba(0,0,0,.3);color:#fff;padding:0 .75rem;font:inherit;font-size:.875rem}
input::placeholder{color:var(--faint)}
select:invalid,select:disabled{color:var(--faint)}
select:disabled{cursor:not-allowed;opacity:.7}
select option{color:#fff;background:#151517}
input:focus,select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,164,76,.2)}
.friend{display:flex;flex-direction:column;gap:1rem;border:1px solid rgba(43,43,47,.6);border-radius:.375rem;padding:1rem}
.linkbtn{display:inline-flex;align-items:center;gap:.5rem;background:none;border:0;color:var(--gold);font:inherit;font-size:.875rem;font-weight:600;cursor:pointer;padding:0;align-self:flex-start}
.linkbtn:hover{color:var(--gold-dark)}
.rm{background:none;border:0;color:var(--dim);font:inherit;font-size:.75rem;cursor:pointer;align-self:flex-start;padding:0}
.rm:hover{color:var(--gold)}

input[type=email]{height:2.75rem;width:100%;border:1px solid var(--border);border-radius:.375rem;background:rgba(0,0,0,.3);color:#fff;padding:0 .75rem;font:inherit;font-size:.875rem}
input,select{font-size:16px!important} /* evita zoom automático no iPhone */
.ac{position:relative}
.ac-list{list-style:none;margin:.4rem 0 0;padding:.25rem;max-height:min(16rem,45vh);overflow-y:auto;overscroll-behavior:contain;background:#0f0f11;border:1px solid var(--border);border-radius:.375rem}
.ac-list .grp{font-size:.66rem;font-weight:700;color:var(--gold);text-transform:uppercase;letter-spacing:.12em;padding:.6rem .6rem .3rem}
.ac-list .opt{padding:.7rem .6rem;border-radius:.25rem;font-size:.875rem;color:var(--muted);cursor:pointer;line-height:1.3}
.ac-list .opt:hover,.ac-list .opt.act{background:rgba(201,164,76,.14);color:#fff}
.ac-list .opt mark{background:none;color:var(--gold);font-weight:700}
.ac-list .opt.other{border-top:1px solid var(--border);margin-top:.25rem;color:var(--gold);font-weight:600}
.ac-list .none{padding:.6rem;font-size:.8rem;color:var(--faint)}
.money{display:flex;align-items:center;height:2.75rem;border:1px solid var(--border);border-radius:.375rem;background:rgba(0,0,0,.3)}
.money:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,164,76,.2)}
.money span{padding:0 .1rem 0 .75rem;color:var(--dim);font-size:.9rem}
.money input{border:0!important;background:none!important;box-shadow:none!important;height:100%;font-variant-numeric:tabular-nums}
.phone{display:flex;gap:.5rem;min-width:0}
.phone input{flex:1;min-width:0}
.ddi{position:relative;flex-shrink:0;display:flex;align-items:center;gap:.4rem;height:2.75rem;padding:0 .7rem;border:1px solid var(--border);border-radius:.375rem;background:rgba(0,0,0,.3);color:#fff;font-size:.9rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.ddi svg{color:var(--gold)}
.ddi:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,164,76,.2)}
.ddi select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:0}
.flabel{font-size:.875rem;font-weight:500;color:var(--muted)}
.fixed{display:flex;align-items:center;gap:.6rem;min-height:2.75rem;padding:.5rem .75rem;border:1px solid rgba(201,164,76,.35);border-radius:.375rem;background:rgba(201,164,76,.08);color:#fff;font-size:1rem}
.fixed svg{color:var(--gold);flex-shrink:0}
.ti-note{margin:0;display:flex;align-items:flex-start;gap:.5rem;font-size:.8rem;font-weight:700;line-height:1.35;color:#FF6B6B;border:1.5px solid #E5484D;border-radius:.375rem;padding:.55rem .7rem;background:rgba(229,72,77,.14)}
.ti-note svg{flex-shrink:0;color:#FF6B6B;margin-top:1px}
/* Títulos dos campos padronizados (maiúsculas, pequenos, espaçados) */
.field label,.field .flabel{font-size:.7rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;line-height:1.3}
.field{gap:.45rem}
.req{color:var(--gold)}
/* Agenda */
.sched{display:flex;flex-direction:column;gap:1rem;border:1px solid rgba(43,43,47,.6);border-radius:.375rem;padding:1rem}
.cal-head{display:flex;align-items:center;justify-content:space-between}
.cal-head strong{font-size:.95rem;font-weight:700}
.nav{width:2.25rem;height:2.25rem;border-radius:.375rem;border:1px solid var(--border);background:rgba(0,0,0,.3);color:var(--gold);cursor:pointer;display:grid;place-items:center}
.nav:hover:not(:disabled){border-color:var(--gold)}
.nav:disabled{opacity:.35;cursor:not-allowed}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.cal .dow{font-size:.68rem;font-weight:700;color:var(--dim);text-align:center;text-transform:uppercase;letter-spacing:.06em;padding-bottom:4px}
.day{aspect-ratio:1;max-width:100%;border:1px solid transparent;border-radius:.375rem;background:none;color:#fff;font:inherit;font-size:.85rem;font-variant-numeric:tabular-nums;cursor:pointer}
.day:hover:not(:disabled){border-color:rgba(201,164,76,.5)}
.day.today{border-color:rgba(201,164,76,.5)}
.day small{display:block;font-size:.55rem;line-height:1;color:var(--gold);font-weight:600;letter-spacing:.04em}
.day.sel small{color:var(--black)}
.blank{aspect-ratio:1}
.day.sel{background:var(--gold);color:var(--black);font-weight:700;border-color:var(--gold)}
.day:disabled{color:#4B4B52;cursor:not-allowed}
.times-label{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}
.times-label small{color:var(--faint);font-size:.72rem}
.period{font-size:.7rem;font-weight:700;color:var(--dim);text-transform:uppercase;letter-spacing:.12em;margin:.25rem 0 .4rem}
.times{max-height:15rem;overflow-y:auto;padding-right:4px;scrollbar-color:var(--border) transparent}
.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:.6rem}
@media(max-width:360px){.slots{grid-template-columns:repeat(3,1fr)}}
.slot{height:2.25rem;border:1px solid var(--border);border-radius:.375rem;background:rgba(0,0,0,.3);color:var(--muted);font:inherit;font-size:.8rem;font-variant-numeric:tabular-nums;cursor:pointer}
.slot:hover:not(:disabled){border-color:var(--gold);color:#fff}
.slot.sel{background:var(--gold);border-color:var(--gold);color:var(--black);font-weight:700}
.slot:disabled{opacity:.3;cursor:not-allowed;text-decoration:line-through}
.empty{color:var(--faint);font-size:.8rem;padding:.75rem 0;text-align:center}
.pick{display:flex;align-items:center;gap:.6rem;background:rgba(201,164,76,.08);border:1px solid rgba(201,164,76,.35);border-radius:.375rem;padding:.7rem .85rem;font-size:.85rem;color:var(--muted)}
.pick svg{flex-shrink:0;color:var(--gold)}
.pick b{color:#fff}
.note{display:flex;gap:.6rem;align-items:flex-start;color:var(--dim);font-size:.78rem;line-height:1.5}
.note svg{flex-shrink:0;color:#25D366;margin-top:1px}

.consent{display:flex;align-items:flex-start;gap:.75rem;padding-top:.5rem}
.consent input{margin-top:.2rem;width:1rem;height:1rem;accent-color:var(--gold);flex-shrink:0}
.consent label{font-size:.85rem;color:var(--dim);line-height:1.6;cursor:pointer}
.submit{height:52px;width:100%;background:var(--gold);color:var(--black);border:0;border-radius:.375rem;font:inherit;font-weight:700;font-size:1rem;cursor:pointer;margin-top:.5rem;transition:background .2s,transform .1s}
.submit:hover{background:var(--gold-dark)}
.submit:active{transform:scale(.97)}
.legal{color:var(--faint);font-size:.75rem;text-align:center;line-height:1.6;margin:0}
.err{color:#F2A3A3;font-size:.78rem;margin:0}

footer{border-top:1px solid #3A3A3D}
footer .wrap{padding-block:1.5rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.35rem;color:var(--stone);font-size:.75rem}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
/* Tela inicial */
#splash{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3rem;padding-block:3rem;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));background:radial-gradient(60% 45% at 50% 100%,rgba(201,164,76,.22) 0%,rgba(201,164,76,.06) 45%,transparent 70%),#000}
#splash img{width:min(70vw,340px);height:auto;display:block}
.start{display:inline-flex;align-items:center;gap:.9rem;min-height:3.5rem;padding:0 2rem;background:rgba(201,164,76,.14);border:1px solid rgba(201,164,76,.55);border-radius:2px;color:var(--gold);font:inherit;font-size:.85rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:background .2s,border-color .2s,color .2s}
.start:hover{background:var(--gold);border-color:var(--gold);color:var(--black)}
.start:active{transform:scale(.98)}
.start svg{transition:transform .2s}
.start:hover svg{transform:translateX(3px)}
#toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:80;background:var(--card);border:1px solid var(--gold);color:#fff;padding:12px 18px;border-radius:8px;font-size:14px;max-width:calc(100% - 32px);box-shadow:0 10px 30px rgba(0,0,0,.5)}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* ===== Estados assíncronos dos dropdowns pesquisáveis (carregando/erro/retry) ===== */
.ac-list .status{padding:.7rem .6rem;font-size:.82rem;color:var(--dim);display:flex;align-items:center;gap:.5rem;line-height:1.35}
.ac-list .status.erro{color:#F2A3A3}
.ac-list .retry{margin-top:.1rem;color:var(--gold);font-weight:600}
.ac-spinner{width:14px;height:14px;border:2px solid rgba(201,164,76,.35);border-top-color:var(--gold);border-radius:50%;flex-shrink:0;animation:ac-spin .7s linear infinite}
@media(prefers-reduced-motion:reduce){.ac-spinner{animation:none}}
@keyframes ac-spin{to{transform:rotate(360deg)}}
/* input de catálogo em estado de erro ganha borda de alerta sutil */
.ac input.carregando{opacity:.85}
.ac input.erro{border-color:#E5484D;box-shadow:0 0 0 3px rgba(229,72,77,.15)}
