:root{--ink:#210037;--ink-2:#320052;--cyan:#00c1eb;--paper:#f7f6f8;--muted:#746d7b;--line:#e8e3eb;--white:#fff;--danger:#b42318}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}.topbar{height:82px;background:var(--ink);display:flex;align-items:center;padding:0 max(5vw,24px);gap:26px}.topbar img{width:134px;height:auto}.topbar span{color:#d5cadd;border-left:1px solid #5b3c6d;padding-left:26px;font-weight:600}.shell{min-height:calc(100vh - 142px);display:grid;grid-template-columns:minmax(320px, .9fr) minmax(500px,1.1fr);max-width:1180px;margin:auto;padding:64px 30px;gap:90px;align-items:start}.intro{padding-top:34px}.eyebrow,.step-label{font-weight:800;font-size:12px;letter-spacing:.16em;color:#008ea9}.intro h1{font-family:Manrope,sans-serif;font-size:clamp(42px,5vw,66px);line-height:1.04;letter-spacing:-.055em;margin:18px 0 24px}.intro h1 em{font-style:normal;color:var(--cyan)}.intro>p:not(.eyebrow){font-size:18px;line-height:1.65;color:var(--muted);max-width:490px}.trust{display:flex;align-items:center;gap:14px;margin-top:44px}.trust>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#e1f8fc;color:#009ab9;font-weight:800}.trust strong,.trust small{display:block}.trust small{color:var(--muted);margin-top:3px}.booking-card{background:#fff;border-radius:22px;box-shadow:0 18px 60px rgba(33,0,55,.10);padding:38px 42px;min-height:565px}.progress{display:flex;gap:7px;margin-bottom:34px}.progress span{height:4px;flex:1;background:#eeeaf0;border-radius:9px}.progress span.active{background:var(--cyan)}h2{font-family:Manrope,sans-serif;font-size:30px;letter-spacing:-.035em;margin:8px 0 28px}.step{display:none}.step.active{display:block}.field-label,label>span{display:block;font-size:13px;font-weight:700;margin:17px 0 8px}.service-list{display:grid;gap:9px}.service-option{border:1px solid var(--line);border-radius:13px;padding:13px;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;cursor:pointer;transition:.2s}.service-option:has(input:checked){border-color:var(--cyan);box-shadow:0 0 0 2px rgba(0,193,235,.12);background:#fbfeff}.service-option input{position:absolute;opacity:0}.service-option strong,.service-option small{display:block}.service-option small{color:var(--muted);font-size:12px;margin-top:3px}.service-option b{font-size:12px;color:var(--muted)}.service-icon{width:36px;height:36px;border-radius:9px;background:#e7faff;color:#008fab;display:grid;place-items:center;font-weight:800}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:13px 14px;font:inherit;color:var(--ink);background:#fff;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,193,235,.12)}.primary,.secondary{width:100%;border:0;border-radius:11px;padding:15px 18px;margin-top:24px;font:700 15px 'DM Sans';cursor:pointer}.primary{background:var(--ink);color:#fff;display:flex;justify-content:space-between}.primary:hover{background:var(--ink-2)}.primary:disabled{opacity:.6}.secondary{background:#eeeaf0;color:var(--ink)}.back{border:0;background:none;color:var(--muted);padding:0;cursor:pointer;float:right}.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}label i{font-weight:400;color:var(--muted)}.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;min-height:48px}.slots button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:9px;padding:12px;cursor:pointer;font-weight:700}.slots button:hover,.slots button.selected{border-color:var(--cyan);background:#e8fbff;color:#007f98}.empty{grid-column:1/-1;color:var(--muted);font-size:14px}.message{padding:12px;border-radius:9px;margin-bottom:17px;background:#e8fbff}.message.error{background:#fff1f0;color:var(--danger)}.success{text-align:center;padding-top:60px}.success-icon{margin:0 auto 20px;width:64px;height:64px;display:grid;place-items:center;background:#ddf8ee;color:#087a56;border-radius:50%;font-size:26px;font-weight:800}.success h2{margin-bottom:12px}.success p{color:var(--muted)}.success>strong{display:block;background:var(--paper);padding:12px;border-radius:8px;margin-top:20px}footer{min-height:60px;background:var(--ink);color:#a990b7;display:flex;justify-content:space-between;align-items:center;padding:0 max(5vw,24px);font-size:12px}@media(max-width:850px){.shell{grid-template-columns:1fr;padding:34px 18px;gap:30px}.intro{padding:0}.intro h1{font-size:42px}.intro .trust{display:none}.booking-card{padding:28px 22px}.grid{grid-template-columns:1fr}.slots{grid-template-columns:repeat(3,1fr)}footer{gap:20px}.topbar{height:70px}}

/* Layout fluido: a página acompanha a altura do conteúdo. */
[hidden]{display:none!important}
html{min-width:0}
body{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}
.shell{width:100%;flex:1;min-height:0;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,5vw,72px);padding:clamp(28px,5vw,64px) 30px}
.shell>*{min-width:0}
.booking-card{min-height:0;padding:clamp(24px,3vw,38px)}
.intro h1{font-size:clamp(36px,4.6vw,62px)}
.advance-note{font-size:13px!important;color:#008ea9!important;font-weight:700;margin-top:12px!important}
.service-option{position:relative;grid-template-columns:36px minmax(0,1fr) auto;gap:10px}
.service-option>span{margin:0}
.service-option input{width:1px;height:1px;padding:0;left:8px;top:8px}
.service-option strong,.service-option small,.success,.message{overflow-wrap:anywhere}
.service-option:focus-within{outline:2px solid #008ea9;outline-offset:3px}
input,select,textarea{min-width:0;max-width:100%;font-size:16px}
textarea{resize:vertical}
.grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.slots{grid-template-columns:repeat(auto-fit,minmax(76px,1fr))}
.slots button,.back,.primary,.secondary{min-height:44px}
button:focus-visible,a:focus-visible{outline:3px solid #008ea9;outline-offset:3px}
.back{float:none;display:block;margin-left:auto;padding:8px 0}
.success{padding-top:24px}
footer{gap:12px;flex-wrap:wrap;padding-top:18px;padding-bottom:18px}
@media(max-width:960px){
 .shell{grid-template-columns:minmax(0,1fr);max-width:720px;gap:24px;padding:28px 22px}
 .intro{padding:0}.intro h1{font-size:clamp(34px,6vw,46px);margin:12px 0 16px}
 .intro>p:not(.eyebrow){font-size:16px;line-height:1.5;max-width:none}
 .intro .trust{display:none}.topbar{height:70px;flex-shrink:0}
}
@media(max-width:480px){
 .shell{padding:24px 14px}.booking-card{padding:24px 18px;border-radius:16px}
 .topbar{padding:0 18px;gap:18px}.topbar span{padding-left:18px}.topbar img{width:116px}
 h2{font-size:26px;margin-bottom:22px}.progress{margin-bottom:24px}
 .grid{grid-template-columns:minmax(0,1fr)}
 .service-option{grid-template-columns:28px minmax(0,1fr);padding:12px;gap:8px}
 .service-icon{width:28px;height:28px}.service-option b{grid-column:2}
 footer{justify-content:center;text-align:center}
}

/* Desktop: mantém os três passos dentro da janela, sem rolagem interna. */
@media(min-width:961px) and (min-height:600px){
 .topbar{height:64px;flex-shrink:0}
 footer{min-height:40px;padding-top:10px;padding-bottom:10px;flex-shrink:0}
 .shell{padding:12px 30px;align-items:center}
 .intro{padding-top:0}
 .booking-card{padding:22px 30px}
 .progress{margin-bottom:16px}
 .step{position:relative}
 .step-label{margin:0 0 8px;padding-right:70px;line-height:20px}
 .back{position:absolute;right:0;top:-12px;margin:0;padding:8px 0}
 h2{font-size:28px;margin:4px 0 16px}
 .field-label,label>span{margin:10px 0 5px}
 .service-option>span{margin:0}
 input,select,textarea{padding:10px 12px}
 textarea{height:64px;resize:none}
 .primary,.secondary{margin-top:16px;padding:12px 16px}
 .message{padding:10px;margin-bottom:12px}
 .success{padding-top:12px}
}
@media(min-width:961px) and (min-height:600px) and (max-height:740px){
 .booking-card{padding:16px 24px}
 .progress{margin-bottom:12px}
 h2{font-size:26px;margin-bottom:10px}
 .field-label,label>span{margin-top:7px}
 .service-option>span{margin:0}
 input,select,textarea{padding:8px 12px}
 .intro h1{font-size:46px}
 .intro>p:not(.eyebrow){font-size:16px;line-height:1.5}
 .trust{margin-top:24px}
}
