/* Urban Move · layout do formulário */
body{overflow:hidden}
.journey{position:relative;width:100%;max-width:480px;margin:auto;height:100vh;height:100dvh;background:var(--primary);display:flex;flex-direction:column;overflow:hidden}

/* Topo verde: marca, progresso e (na primeira tela) a oferta */
.top{position:relative;flex:none;color:#fff;padding:max(12px,env(safe-area-inset-top)) 16px 18px;background-size:cover;background-position:center}
.top-row{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;min-height:44px}
.brand{font-family:var(--font-display);font-weight:700;font-size:17px;letter-spacing:-.2px}
.brand span{color:var(--accent)}
.back{width:44px;height:44px;flex:none;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;display:flex;align-items:center;justify-content:center}
.back:hover{background:rgba(255,255,255,.2)}
.back:focus-visible,.top :focus-visible{outline-color:#fff}
.percent{width:44px;text-align:right;font-size:12px;font-weight:600;color:rgba(255,255,255,.82);font-variant-numeric:tabular-nums}
.pill{display:none;align-items:center;gap:7px;padding:7px 12px;border-radius:var(--pill);background:rgba(255,255,255,.12);font-size:12px;font-weight:600}
.pill span{width:7px;height:7px;border-radius:50%;background:var(--accent)}
.progress{position:relative;z-index:1;height:6px;margin:12px 8px 0;border-radius:var(--pill);background:rgba(255,255,255,.18);overflow:hidden}
.progress div{height:100%;width:0;border-radius:var(--pill);background:var(--accent);transition:width .3s ease}
.hero{display:none}

[data-screen=intro] .top{padding:max(22px,env(safe-area-inset-top)) 24px 26px}
[data-screen=intro] .top-row{min-height:0}
[data-screen=intro] .brand{font-size:19px}
[data-screen=intro] .percent{display:none}
[data-screen=intro] .pill{display:flex}
[data-screen=intro] .hero{display:block}
.hero-art{position:absolute;right:-24px;bottom:0;pointer-events:none}
.hero-art .lit{fill:var(--accent)}
.top.has-photo .hero-art{display:none}
[data-screen=intro] .top.has-photo{background-image:var(--photo)}
.hero-place{position:relative;margin-top:28px;font-size:12px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;color:rgba(255,255,255,.8)}
.hero-title{position:relative;margin-top:12px;max-width:300px;font-family:var(--font-display);font-weight:800;font-size:42px;line-height:1.02;letter-spacing:-1.2px}
.hero-title span{color:var(--accent)}
.hero-price{position:relative;margin-top:20px;font-size:15px;color:rgba(255,255,255,.88)}
.hero-price b{margin-left:6px;font-family:var(--font-display);font-weight:800;font-size:34px;letter-spacing:-.8px;color:#fff;white-space:nowrap}

/* Folha branca com o conteúdo */
.sheet{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--surface);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;overflow:hidden}
.content{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:26px 24px 16px;scroll-padding:20px;display:flex;flex-direction:column;gap:14px}
.content>*{flex:none;animation:rise var(--duration) ease-out both}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
[data-screen=intro] .content{padding-top:22px;gap:12px}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--primary)}
h1{font-family:var(--font-display);font-weight:700;font-size:26px;line-height:1.14;letter-spacing:-.5px;outline:none}
.eyebrow+h1{margin-top:-6px}
[data-screen=intro] h1{font-size:23px;letter-spacing:-.4px}
h1:focus,h1:focus-visible{outline:none}
h2{font-family:var(--font-display);font-weight:700;font-size:19px;line-height:1.2;letter-spacing:-.3px}
.lead{color:var(--body)}
.hint{font-size:14px;color:var(--muted);margin-top:-8px}
.check{width:64px;height:64px;border-radius:50%;background:var(--accent);color:var(--primary);display:flex;align-items:center;justify-content:center}

/* Chips de múltipla escolha (bairros e preferências) */
.chips{display:flex;flex-wrap:wrap;gap:10px}
[data-screen=intro] .chips{gap:8px}
.chip{position:relative;cursor:pointer}
.chip input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.chip>span{display:flex;align-items:center;gap:8px;min-height:var(--touch);padding:0 16px;border:1.5px solid var(--control-line);border-radius:var(--pill);background:var(--surface);font-size:15px;font-weight:600;transition:background .14s,border-color .14s,color .14s}
[data-screen=intro] .chip>span{min-height:44px;padding:0 14px}
.chip:hover>span{border-color:var(--input-line)}
.chip input:checked+span{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}
.chip input:focus-visible+span{outline:2px solid var(--primary);outline-offset:2px}
.chip .rank{display:none;align-items:center;justify-content:center;width:24px;height:24px;margin-left:-6px;border-radius:50%;background:var(--accent);color:var(--primary);font-size:12px;font-weight:700}
.chip .rank:not(:empty){display:flex}
.chip .tick{display:none;flex:none}
.chip input:checked+span .tick{display:block}

/* Opções de escolha única */
.rows{display:flex;flex-direction:column;gap:10px}
.row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:58px;padding:8px 18px;border:1.5px solid var(--control-line);border-radius:var(--radius);background:var(--surface);font-size:17px;font-weight:600;text-align:left;transition:background .14s,border-color .14s,color .14s}
.row:hover{border-color:var(--input-line)}
.row[aria-pressed=true]{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}
.row .side{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--muted);white-space:nowrap}

/* Campos */
.fields{display:flex;flex-direction:column;gap:16px}
.field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}
.field input{height:56px;padding:0 16px;border:1.5px solid var(--input-line);border-radius:var(--radius-sm);background:var(--surface);font-size:17px;font-weight:400}
input::placeholder{color:var(--placeholder);opacity:1}
.field input:focus,.money:focus-within{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}
.consent{display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:var(--radius-sm);background:var(--tint);font-size:13.5px;line-height:1.4;color:var(--body);cursor:pointer}
.consent input{flex:none;width:22px;height:22px;margin:0;accent-color:var(--primary)}
.money{display:flex;align-items:center;gap:10px;height:76px;padding:0 18px;border:1.5px solid var(--input-line);border-radius:var(--radius)}
.money span{font-family:var(--font-display);font-weight:700;font-size:22px;color:var(--muted)}
.money input{flex:1;min-width:0;height:60px;padding:0;border:0;outline:0;background:transparent;font-family:var(--font-display);font-weight:700;font-size:34px;letter-spacing:-.6px}
.invalid{border-color:var(--error)!important}

/* Documentos */
.documents{list-style:none;padding:4px 14px;border-radius:var(--radius);background:var(--tint)}
.documents li{display:flex;align-items:center;gap:10px;min-height:32px;padding:4px 0;border-bottom:1px solid #DCE4DF;font-size:14px;line-height:1.3}
.documents li:last-child{border-bottom:0}
.documents svg{flex:none;color:var(--primary)}
.note{font-size:13px;line-height:1.4;color:var(--muted)}

/* Rodapé de ações */
.actions{flex:none;display:flex;flex-direction:column;gap:10px;padding:12px 24px max(20px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface)}
.actions:empty{display:none}
[data-screen=intro] .actions{border-top:0;padding-top:2px;padding-bottom:max(14px,env(safe-area-inset-bottom))}
.error{font-size:13px;line-height:1.4;font-weight:500;color:var(--error)}
.cta{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:58px;padding:10px 16px;border:0;border-radius:var(--radius);font-size:16px;font-weight:700;text-align:center;text-decoration:none;transition:background .14s}
.cta.primary{background:var(--primary);color:#fff}
.cta.primary:hover{background:var(--primary-hover)}
.cta.secondary{min-height:48px;border:1.5px solid var(--control-line);background:var(--surface);color:var(--ink);font-size:15px;font-weight:600}
.cta.secondary:hover{border-color:var(--input-line)}
.trust{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--tint);font-size:12.5px;line-height:1.35;color:var(--body)}
.trust svg{flex:none;color:var(--primary)}
.trust strong{display:block;font-weight:700}
.legal{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;font-size:11px;line-height:1.4;color:var(--muted)}
.legal button{min-height:28px;padding:0 8px;border:0;background:none;font-size:11px;color:var(--muted);text-decoration:underline;text-underline-offset:2px}

/* Aviso de privacidade */
dialog{width:calc(100% - 40px);max-width:420px;border:0;border-radius:20px;padding:24px;color:var(--ink);box-shadow:0 20px 60px rgba(15,74,62,.25)}
dialog::backdrop{background:rgba(18,32,28,.55)}
dialog p{font-size:14px;margin:14px 0;color:var(--body)}
dialog form{margin-top:20px}
noscript{display:block;padding:24px;text-align:center}

@media(min-width:600px){.journey{box-shadow:0 0 60px rgba(15,74,62,.18)}}
@media(max-width:359px){
 .content,.actions{padding-left:18px;padding-right:18px}
 [data-screen=intro] .top{padding-left:18px;padding-right:18px}
 .hero-title{font-size:36px}h1{font-size:23px}.row{font-size:16px}
}
@media(max-height:780px){
 .hero-place{margin-top:18px}.hero-title{font-size:36px}.hero-price{margin-top:12px}.hero-price b{font-size:28px}
 [data-screen=intro] .top{padding-bottom:18px}
}
@media(max-height:700px){
 [data-screen=intro] .top{padding-top:max(16px,env(safe-area-inset-top));padding-bottom:14px}
 .hero-place{display:none}.hero-title{margin-top:14px;font-size:28px}.hero-price{margin-top:8px}.hero-price b{font-size:24px}
 .hero-art{opacity:.55;right:-70px}.hero-art .lit{display:none}
 [data-screen=intro] .content{padding-top:16px;gap:10px}
 [data-screen=intro] .chips{gap:6px}
 [data-screen=intro] .chip>span{min-height:40px;padding:0 12px;font-size:14px}
 .hint{display:none}.trust{display:none}
 .content{padding-top:20px}
}
