/* Planejamento da visita — mesma paleta da casa, informação por etapa. */
#view-reserva { width:min(1100px,calc(100% - 48px)); }
#view-reserva .detail-bar { background:var(--verde-claro); }
#view-reserva .reserva { padding:0 0 28px; }
#view-reserva .wrap { width:100%; padding:0; }
.res-intro { padding:34px 36px 30px; background:var(--verde); }
#view-reserva .res-intro .kicker { color:var(--verde-claro); margin-bottom:14px; }
#view-reserva .res-intro .display { color:var(--creme); font-size:clamp(36px,5vw,54px); line-height:1.04; }
#view-reserva .res-intro .display em { color:var(--amarelo); }
#view-reserva .res-intro .lead { color:var(--creme); font-size:13px; line-height:1.7; max-width:540px; margin:16px 0 0; }
#view-reserva .res-caixa { border-radius:0; box-shadow:none; overflow:visible; }
#view-reserva .res-tipos { background:var(--verde-claro); padding:12px 24px; gap:6px; border:0; }
#view-reserva .res-tipo { padding:14px 8px; border:1px solid transparent; border-radius:4px; min-height:68px; }
#view-reserva .res-tipo b { font:500 15px/1.3 var(--corpo); }
#view-reserva .res-tipo span { display:block; margin-top:4px; font-size:11px; color:var(--verde-escuro); }
#view-reserva .res-tipo.ativo { background:var(--verde-escuro); border-color:var(--verde-escuro); }
#view-reserva .res-tipo.ativo b,#view-reserva .res-tipo.ativo span { color:var(--creme); }
#view-reserva .res-corpo { grid-template-columns:1fr 1fr; padding:30px 36px; gap:36px; align-items:start; }
.res-pass-title { font:600 13px/1.5 var(--corpo); color:var(--verde-escuro); margin-bottom:18px; display:flex; align-items:center; gap:10px; }
.res-pass-title span { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--verde-claro); font-size:12px; }
#view-reserva .cal { padding:18px; background:transparent; border-radius:4px; }
#view-reserva .cal-topo b { font:500 18px/1.4 var(--corpo); }
#view-reserva .cal-topo button { border-radius:3px; min-width:44px; height:44px; background:var(--verde-claro); }
#view-reserva .cal-dia { border-radius:3px; min-height:36px; }
#view-reserva .cal-dia.ponta { background:var(--verde-escuro); color:var(--creme); }
#view-reserva .cal-dia.meio { background:var(--verde-claro); }
#view-reserva .cal-dica { font:400 12px/1.6 var(--corpo); text-align:left; min-height:38px; }
.res-datas { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:#5d692430; border:1px solid #5d692430; border-radius:4px; overflow:hidden; margin-top:12px; }
.res-datas div { padding:13px; background:var(--verde-claro); }
.res-datas small { display:block; font-size:10px; color:var(--verde-escuro); margin-bottom:4px; }
.res-datas b { font:500 13px/1.5 var(--corpo); color:var(--verde-escuro); }
#view-reserva .res-campos { gap:0; }
#view-reserva .res-campo { padding:14px 0; border-bottom:1px solid var(--hairline); gap:10px; }
#view-reserva .res-rotulo { font-size:13px; font-weight:500; }
#view-reserva .res-rotulo small { font-size:11px; line-height:1.6; }
#view-reserva .stepper { border-radius:4px; padding:2px; gap:0; background:transparent; }
#view-reserva .stepper button { border-radius:2px; width:40px; height:40px; background:var(--verde-claro); }
#view-reserva .stepper button:disabled { opacity:.35; cursor:default; }
#view-reserva .stepper b { min-width:32px; font-size:14px; }
#view-reserva .res-nota { font:400 12px/1.7 var(--corpo); margin-top:12px; }
#view-reserva .res-radios label,#view-reserva .res-check { border-radius:4px; background:transparent; font-size:13px; padding:13px; }
#view-reserva .res-radios label:has(input:checked),#view-reserva .res-check:has(input:checked) { background:var(--verde-claro); border-color:var(--verde); }
#view-reserva .grupo-obs-campo input { border-radius:4px; font-size:16px; width:100%; }
#view-reserva .grupo-aviso,#view-reserva .passeio-cartao { margin-top:16px; background:var(--verde-claro); border:0; border-radius:4px; padding:18px; }
#view-reserva .grupo-aviso p,#view-reserva .passeio-cartao p { color:var(--verde-escuro); font-size:13px; }
#view-reserva .btn { background:var(--laranja); color:var(--verde-noite); font:600 12px/1.5 var(--corpo); letter-spacing:0; text-transform:none; min-height:48px; border-radius:4px; }
#view-reserva #grupoWpp { margin-top:16px; }
#view-reserva .res-total { padding:20px; background:var(--verde-claro); border:0; border-radius:4px; box-shadow:none; backdrop-filter:none; }
#view-reserva .res-linha { font-size:12px; line-height:1.7; }
#view-reserva .res-linha-total { border-top:1px solid #5d692450; }
#view-reserva .res-linha-total b { font:500 28px/1.2 var(--disp); color:var(--verde-escuro); }
#view-reserva .resumo-modal { padding:32px; border:0; border-top:6px solid var(--laranja); }
#view-reserva .resumo-fechar { border-radius:4px; background:var(--verde-claro); }
#view-reserva .resumo-politica p { font-size:12px; line-height:1.7; }
#view-reserva .resumo-nota { font:400 11px/1.6 var(--corpo); }
@media(max-width:700px) {
 #view-reserva { width:calc(100% - 24px); }
 #view-reserva .res-intro { padding:28px 22px; }
 #view-reserva .res-intro .display { font-size:38px; }
 #view-reserva .res-tipos { grid-template-columns:repeat(3,minmax(0,1fr)); padding:12px; gap:5px; }
 #view-reserva .res-tipo { min-width:0; min-height:63px; padding:10px 3px; }
 #view-reserva .res-tipo b { font-size:12px; }
 #view-reserva .res-tipo span { font-size:9px; line-height:1.5; }
 #view-reserva .res-corpo { grid-template-columns:minmax(0,1fr); padding:24px 18px; gap:28px; }
 #view-reserva .cal { padding:12px; }
 #view-reserva .cal-dia { min-height:32px; }
 #view-reserva .resumo-veu { padding:10px; }
 #view-reserva .resumo-modal { padding:28px 20px 22px; max-height:85svh; }
}

