/* Painel de reserva (hospedes + calendario).
   Celular: ocupa a tela toda. Desktop: modal centrado sobre fundo escuro.
   Aberto pelo campo de data (celular) ou pelos botoes "Fazer uma cotação". */

.rsv-fs{position:fixed;inset:0;z-index:99999;display:flex;
        font-family:inherit;overscroll-behavior:contain}
.rsv-fs[hidden]{display:none}
.rsv-fs-box{display:flex;flex-direction:column;background:#fff;width:100%;min-height:0}

.rsv-fs-top{flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:14px 16px;
            background:#2c3e50;color:#fff}
.rsv-fs-title{font-size:17px;font-weight:600;letter-spacing:.01em}
.rsv-fs-close{margin-left:auto;background:none;border:0;color:#fff;font-size:30px;line-height:1;
              padding:0 4px;cursor:pointer}

/* hospedes — no topo */
.rsv-fs-hosp{flex:0 0 auto;padding:6px 16px 14px;border-bottom:1px solid #e6e6e6;background:#fff}
.rsv-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.rsv-row + .rsv-row{border-top:1px solid #f0f0f0}
.rsv-row > span{flex:0 1 auto;min-width:0;font-size:16px;color:#2c3e50;font-weight:500;
                display:flex;flex-direction:column}
.rsv-row > span small{font-size:12px;color:#8a8a8a;font-weight:400;margin-top:2px}

/* idades: mesma linha, entre o rotulo e o contador (no maximo 2 criancas) */
.rsv-idades{display:flex;gap:6px;margin:0 8px 0 auto;flex:0 1 auto}
.rsv-idades:empty{display:none}
.rsv-idade{height:38px;border:1px solid #cfd8dc;border-radius:6px;background:#fff;
           color:#2c3e50;font-size:14px;padding:0 4px;max-width:78px}

.rsv-step{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.rsv-step button{width:38px;height:38px;border-radius:50%;border:1px solid #e8513f;background:#fff;
                 color:#e8513f;font-size:22px;line-height:1;cursor:pointer;
                 display:flex;align-items:center;justify-content:center;padding:0}
.rsv-step button:disabled{opacity:.3;cursor:default}
.rsv-step b{min-width:34px;text-align:center;font-size:17px;color:#2c3e50}

/* calendario — abaixo, rolando */
.rsv-fs-cal{flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:8px;min-height:0}
.rsv-fs-cal .flatpickr-calendar{width:100%!important;max-width:none;box-shadow:none;border:0;margin:0}
.rsv-fs-cal .flatpickr-months{display:none}
.rsv-fs-cal .flatpickr-innerContainer,
.rsv-fs-cal .flatpickr-rContainer,
.rsv-fs-cal .flatpickr-days{width:100%!important;max-width:none;display:block}

/* com showMonths:12 a faixa de dias da semana se repete 12x lado a lado:
   mostra so a primeira, em grade de 7 colunas, grudada no topo */
.rsv-fs-cal .flatpickr-weekdays{position:sticky;top:0;z-index:3;background:#fff;height:34px;
                                display:block;padding:0 8px;box-shadow:0 1px 0 #ececec}
.rsv-fs-cal .flatpickr-weekdaycontainer{display:grid;grid-template-columns:repeat(7,1fr);width:100%}
.rsv-fs-cal .flatpickr-weekdaycontainer:not(:first-child){display:none}
.rsv-fs-cal .flatpickr-weekday{font-size:12px;color:#8a8a8a;font-weight:600}

/* nome do mes: gruda abaixo da faixa ao rolar, para sempre saber onde se esta */
.rsv-fs-cal .rsv-mes{position:sticky;top:34px;z-index:2;background:#fff;
                     padding:14px 12px 8px;font-size:15px;font-weight:700;color:#2c3e50;
                     text-transform:capitalize;box-shadow:0 1px 0 #f0f0f0}

.rsv-fs-cal .dayContainer{width:100%!important;min-width:0;max-width:none;
                          display:grid;grid-template-columns:repeat(7,1fr);padding:0 8px 18px}
.rsv-fs-cal .flatpickr-day{max-width:none;width:100%;height:42px;line-height:42px;border-radius:0;
                           border:0;font-size:15px;color:#2c3e50}
.rsv-fs-cal .flatpickr-day.flatpickr-disabled,
.rsv-fs-cal .flatpickr-day.prevMonthDay,
.rsv-fs-cal .flatpickr-day.nextMonthDay{color:#d6d6d6}
.rsv-fs-cal .flatpickr-day.inRange{background:#fdece9;box-shadow:-5px 0 0 #fdece9,5px 0 0 #fdece9}
.rsv-fs-cal .flatpickr-day.selected,
.rsv-fs-cal .flatpickr-day.startRange,
.rsv-fs-cal .flatpickr-day.endRange{background:#e8513f;border-color:#e8513f;color:#fff;font-weight:600}
.rsv-fs-cal .flatpickr-day.startRange{border-radius:50% 0 0 50%}
.rsv-fs-cal .flatpickr-day.endRange{border-radius:0 50% 50% 0}

/* barra de acao */
.rsv-fs-bar{flex:0 0 auto;padding:10px 16px calc(10px + env(safe-area-inset-bottom));
            border-top:1px solid #e6e6e6;background:#fff;display:flex;align-items:center;gap:12px}
.rsv-resumo{flex:1 1 auto;font-size:13.5px;color:#6a6a6a;line-height:1.3}
.rsv-resumo b{display:block;color:#2c3e50;font-size:15px}
.rsv-ok{flex:0 0 auto;background:#e8513f;color:#fff;border:0;border-radius:4px;
        padding:14px 20px;font-size:15px;font-weight:600;cursor:pointer}
.rsv-ok:disabled{background:#c7c7c7;cursor:default}

body.rsv-aberto{overflow:hidden}

/* botao "Fazer uma cotação" nos cards de acomodacao */
.btn-cotacao{background:#e8513f;border:1px solid #e8513f;color:#fff;border-radius:4px;
             padding:6px 14px;font-size:13px;font-weight:600;cursor:pointer;margin-left:8px}
.btn-cotacao:hover{background:#cf4433;border-color:#cf4433;color:#fff}

/* ---------- celular: tela cheia ---------- */
@media (max-width: 767px){
  .rsv-fs-box{flex:1 1 auto}
  .btn-cotacao{margin:8px 0 0;display:block;width:100%;padding:10px}
}

/* ---------- desktop: modal centrado ---------- */
@media (min-width: 768px){
  .rsv-fs{background:rgba(0,0,0,.55);align-items:center;justify-content:center;padding:24px}
  .rsv-fs-box{max-width:460px;max-height:88vh;border-radius:10px;overflow:hidden;
              box-shadow:0 24px 60px -20px rgba(0,0,0,.5)}
}

/* preco e minimo de noites dentro de cada dia do calendario */
.rsv-fs-cal .flatpickr-day{height:52px;line-height:1.1;display:flex;flex-direction:column;
                           align-items:center;justify-content:center;gap:2px;padding-top:4px}
.rsv-fs-cal .rsv-dia-info{font-size:9.5px;font-weight:600;color:#9a6b63;letter-spacing:-.2px;
                          white-space:nowrap}
.rsv-fs-cal .flatpickr-day.selected .rsv-dia-info,
.rsv-fs-cal .flatpickr-day.startRange .rsv-dia-info,
.rsv-fs-cal .flatpickr-day.endRange .rsv-dia-info{color:#fff1ee}
.rsv-fs-cal .flatpickr-day.prevMonthDay .rsv-dia-info,
.rsv-fs-cal .flatpickr-day.nextMonthDay .rsv-dia-info,
.rsv-fs-cal .flatpickr-day.flatpickr-disabled .rsv-dia-info{display:none}

/* etiqueta de minimo de noites, abaixo do preco */
.rsv-fs-cal .flatpickr-day{height:58px}
.rsv-fs-cal .rsv-dia-min{font-size:9px;font-weight:700;line-height:1;letter-spacing:-.2px;
                         background:#fff3e0;color:#b26a00;border-radius:3px;padding:2px 4px;
                         white-space:nowrap}
.rsv-fs-cal .flatpickr-day.selected .rsv-dia-min,
.rsv-fs-cal .flatpickr-day.startRange .rsv-dia-min,
.rsv-fs-cal .flatpickr-day.endRange .rsv-dia-min{background:rgba(255,255,255,.9);color:#b26a00}
.rsv-fs-cal .flatpickr-day.prevMonthDay .rsv-dia-min,
.rsv-fs-cal .flatpickr-day.nextMonthDay .rsv-dia-min,
.rsv-fs-cal .flatpickr-day.flatpickr-disabled .rsv-dia-min{display:none}

/* aviso de periodo com minimo nao atingido */
.rsv-resumo .rsv-alerta{display:block;text-decoration:none;color:#b26a00;font-weight:600}






/* No Aquaville TODOS os dias tem minimo (2 a 5 noites) — a etiqueta com fundo
   virava uma parede de cor. Vira texto discreto: informa sem competir com o preco. */
.rsv-fs-cal .rsv-dia-min{background:none;color:#a89a97;font-weight:500;font-size:8.5px;padding:0}
.rsv-fs-cal .flatpickr-day.selected .rsv-dia-min,
.rsv-fs-cal .flatpickr-day.startRange .rsv-dia-min,
.rsv-fs-cal .flatpickr-day.endRange .rsv-dia-min{background:none;color:#ffe3dd}
