/* Isolated visual layer over the existing reservation form. */
html.nvrp-pilot { --nvrp-ink:#303b3d; --nvrp-muted:#74817c; --nvrp-mint:#50c9b1; --nvrp-line:#e2e9e5; }
html.nvrp-pilot.nvrp-open #jivo-iframe-container { visibility:hidden !important; pointer-events:none !important; }
html.nvrp-pilot.nvrp-open body > jdiv { display:none !important; }
html.nvrp-pilot #modalReserva { color:var(--nvrp-ink); }
html.nvrp-pilot #modalReserva .modal-dialog { width:580px; max-width:100%; margin:0 0 0 auto; }
html.nvrp-pilot #modalReserva .modal-content { background:#fff; border:0; border-radius:0; min-height:100vh; min-height:100dvh; box-shadow:-9px 0 32px #26372c24; }
html.nvrp-pilot #modalReserva .modal-header { display:flex; align-items:center; gap:16px; padding:20px 22px 20px 27px; background:#fff; color:var(--nvrp-ink); border-bottom:1px solid var(--nvrp-line); }
html.nvrp-pilot #modalReserva .modal-header::before,
html.nvrp-pilot #modalReserva .modal-header::after { display:none; }
html.nvrp-pilot #modalReserva .modal-header h4.modal-title { margin:0; font-size:18px; line-height:1.45; font-weight:600; color:inherit; flex:1; min-width:0; }
html.nvrp-pilot #modalReserva .close { order:2; flex:0 0 40px; width:40px; height:40px; margin:0; border-radius:50%; color:#61736a; background:#f4f7f5; font-size:27px; font-weight:400; opacity:1; }
html.nvrp-pilot #modalReserva .modal-body { padding:0 27px 24px; }
html.nvrp-pilot #modalReserva .row { margin-left:-5px; margin-right:-5px; }
html.nvrp-pilot #modalReserva .row > [class*="col-"] { padding-left:5px; padding-right:5px; }
html.nvrp-pilot #modalReserva .modalReservaSection .modalReservaSectionToggle { padding:24px 0 100px; }
html.nvrp-pilot #modalReserva .modalReservaSectionTitle { background:#fff; color:var(--nvrp-ink); border:0; border-bottom:1px solid var(--nvrp-line); }
html.nvrp-pilot #modalReserva .modalReservaSectionTitle > a { display:flex; align-items:center; min-height:52px; padding:9px 46px 9px 0; font-size:14px; line-height:1.5; color:inherit; font-weight:500; text-decoration:none; }
html.nvrp-pilot #modalReserva .modalReservaSectionTitle .text { overflow-wrap:anywhere; }
html.nvrp-pilot #modalReserva .modalReservaSectionTitle .modalReservaSectionActive { right:0; top:50%; transform:translateY(-50%); width:40px; height:40px; display:grid; place-items:center; color:#64776d; border-radius:8px; }
html.nvrp-pilot #modalReserva .modalReservaSectionActive i { display:none; }
html.nvrp-pilot #modalReserva .modalReservaSectionActive::after { content:""; display:block; width:19px; height:19px; background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364776d' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m16 3 5 5M4 20l5-1L21 7a2.1 2.1 0 0 0-4-4L5 15l-1 5Z'/%3E%3C/svg%3E"); }
html.nvrp-pilot #modalReserva .modalReservaSectionTitle > a:hover .modalReservaSectionActive { background:#f1f6f3; }
html.nvrp-pilot #modalReserva .titulo_reserva { margin:0 0 17px; padding:0; border:0; text-transform:none; font-weight:500; font-size:16px; line-height:1.5; color:var(--nvrp-ink); }
html.nvrp-pilot #modalReserva .contenido_reserva { color:var(--nvrp-ink); }
html.nvrp-pilot #modalReserva .bootstrap-datetimepicker-widget { width:100%; max-width:none; margin:0; padding:0; color:var(--nvrp-ink); }
html.nvrp-pilot #modalReserva .bootstrap-datetimepicker-widget table { width:100%; table-layout:fixed; border-collapse:separate; border-spacing:3px 4px; border:0; }
html.nvrp-pilot #modalReserva .bootstrap-datetimepicker-widget thead tr:first-child th { background:#fff; color:var(--nvrp-ink); height:45px; border:0; border-radius:8px; font-size:14px; }
html.nvrp-pilot #modalReserva .bootstrap-datetimepicker-widget thead tr:first-child th.picker-switch { font-size:17px; text-transform:capitalize; font-weight:600; }
html.nvrp-pilot #modalReserva .bootstrap-datetimepicker-widget thead tr:first-child th.disabled { color:#c2cbc5; }
html.nvrp-pilot #modalReserva .bootstrap-datetimepicker-widget th.dow { color:var(--nvrp-muted); background:#fff; font-size:12px; font-weight:400; padding:10px 0; border:0; }
html.nvrp-pilot #modalReserva .bootstrap-datetimepicker-widget td.day { position:relative; isolation:isolate; height:48px; width:auto; line-height:48px; padding:0; background:transparent; color:#20352f; border:0; border-radius:0; font-size:15px; font-weight:500; text-shadow:none; }
html.nvrp-pilot #modalReserva .bootstrap-datetimepicker-widget td.day::before { content:""; position:absolute; inset:auto; top:50%; left:50%; transform:translate(-50%,-50%); width:42px; max-width:100%; height:42px; border:0; border-radius:50%; background:transparent; z-index:-1; }
html.nvrp-pilot #modalReserva .bootstrap-datetimepicker-widget td.day:not(.disabled):not(.old):not(.new)::after { content:""; position:absolute; width:4px; height:4px; bottom:5px; left:50%; transform:translateX(-50%); border-radius:50%; background:#4ba884; }
html.nvrp-pilot #modalReserva .bootstrap-datetimepicker-widget td.day.disabled { color:#b4bdb8; font-weight:400; background:transparent; }
html.nvrp-pilot #modalReserva .bootstrap-datetimepicker-widget td.day.active { color:#123f35; font-weight:600; background:transparent; }
html.nvrp-pilot #modalReserva .bootstrap-datetimepicker-widget td.day.active::before { background:var(--nvrp-mint); }
html.nvrp-pilot #modalReserva .bootstrap-datetimepicker-widget td.day.active::after { background:#216b50; }
html.nvrp-pilot #modalReserva .bootstrap-datetimepicker-widget td.day.old,
html.nvrp-pilot #modalReserva .bootstrap-datetimepicker-widget td.day.new { color:#bac4bd; }
html.nvrp-pilot #modalReserva .radio { position:relative; margin:0 0 10px; padding:0; background:#fff; border:1px solid var(--nvrp-line); border-radius:10px; }
html.nvrp-pilot #modalReserva .radio.activo { background:#f5faf7; border-color:#76c8b5; }
html.nvrp-pilot #modalReserva .radio label { display:block; position:relative; min-height:52px; margin:0; padding:14px 15px 14px 44px; color:var(--nvrp-ink); font-size:15px; line-height:1.5; font-weight:400; overflow-wrap:anywhere; }
html.nvrp-pilot #modalReserva .radio label .checkmark { left:15px; top:17px; width:18px; height:18px; border:1px solid #b9c9bf; background:#fff; }
html.nvrp-pilot #modalReserva .radio label .checkmark::after { top:3px; left:3px; width:10px; height:10px; background:#399b80; }
html.nvrp-pilot #modalReserva .radio > .o-checkmark-1 { display:none; }
html.nvrp-pilot #modalReserva .radio label .label-text-description { font-size:13px; line-height:1.5; color:var(--nvrp-muted); padding-top:4px; }
html.nvrp-pilot #modalReserva #modalReserva_form .radio label .label-text { font-weight:400; }
html.nvrp-pilot #modalReserva .radio label .radio-desde { font-size:15px; font-weight:400; }
html.nvrp-pilot #modalReserva .radio label.disabled { color:#9ca8a1; }
html.nvrp-pilot #modalReserva .cajaPlazas { display:flex; gap:16px; align-items:center; padding:16px 0; border-bottom:1px solid #edf1ed; }
html.nvrp-pilot #modalReserva .cajaPlazas .detalleTarget { display:block; min-width:0; flex:1; }
html.nvrp-pilot #modalReserva .cajaPlazas .detalleTarget-table,
html.nvrp-pilot #modalReserva .cajaPlazas .detalleTarget_left { display:block; width:100%; }
html.nvrp-pilot #modalReserva .cajaPlazas .detalleTarget .titulo { float:none; margin:0; color:var(--nvrp-ink); font-size:14px; line-height:1.45; font-weight:500; }
html.nvrp-pilot #modalReserva .cajaPlazas .detalleTarget .precio { display:block; padding:6px 0 0; text-align:left; font-size:22px; line-height:1.3; font-weight:400; color:var(--nvrp-ink); overflow-wrap:anywhere; }
html.nvrp-pilot #modalReserva .cajaPlazas .detallePlazas { display:block; flex:0 0 124px; width:124px; }
html.nvrp-pilot #modalReserva .cajaPlazas .detallePlazas-table { display:table; overflow:hidden; border:1px solid #d3dfd6; border-radius:9px; background:#fff; }
html.nvrp-pilot #modalReserva .cajaPlazas .detallePlazas .btnPlazaSubir,
html.nvrp-pilot #modalReserva .cajaPlazas .detallePlazas .btnPlazaBajar { width:38px; height:44px; line-height:44px; border:0; border-radius:0; background:#fff; color:var(--nvrp-ink); font-size:22px; }
html.nvrp-pilot #modalReserva .cajaPlazas .detallePlazas .btnPlaza-inputtext { background:#fff; }
html.nvrp-pilot #modalReserva .cajaPlazas .detallePlazas .btnPlaza-inputtext input[type=text] { height:44px; font-size:16px; font-weight:500; color:var(--nvrp-ink); }
html.nvrp-pilot #modalReserva select,
html.nvrp-pilot #modalReserva textarea,
html.nvrp-pilot #modalReserva input.form-control { max-width:100%; min-height:49px; height:auto; border:1px solid #cfdcd3; border-radius:9px; background:#fff; padding:12px; box-shadow:none; color:var(--nvrp-ink); font-size:16px; line-height:1.5; }
html.nvrp-pilot #modalReserva .chosen-container { max-width:100%; font-size:15px; }
html.nvrp-pilot #modalReserva .chosen-container-single .chosen-single { height:auto; min-height:49px; padding:12px 30px 12px 12px; border:1px solid #cfdcd3; border-radius:9px; background:#fff; box-shadow:none; line-height:1.5; color:var(--nvrp-ink); }
html.nvrp-pilot #modalReserva .chosen-container-single .chosen-single span { white-space:normal; }
html.nvrp-pilot #modalReserva .chosen-container-single .chosen-single div { top:calc(50% - 12px); }
html.nvrp-pilot #modalReserva .chosen-container .chosen-results li { padding:11px 12px; line-height:1.5; }
html.nvrp-pilot #modalReserva .chosen-container .chosen-results li.highlighted { background:#edf7f2; color:#25483d; }
/* Existing InterRias uses the earlier Chosen class names. */
html.nvrp-pilot #modalReserva .chzn-container { max-width:100%; font-size:15px; }
html.nvrp-pilot #modalReserva .chzn-container-single .chzn-single { display:block; height:auto; min-height:49px; padding:12px 30px 12px 12px; border:1px solid #cfdcd3; border-radius:9px; background:#fff; box-shadow:none; line-height:1.5; color:var(--nvrp-ink); font-weight:400; }
html.nvrp-pilot #modalReserva .chzn-container-single .chzn-single span { white-space:normal; }
html.nvrp-pilot #modalReserva .chzn-container-single .chzn-single div { top:calc(50% - 12px); }
html.nvrp-pilot #modalReserva .chzn-container .chzn-drop { border:1px solid #cfdcd3; border-radius:0 0 9px 9px; box-shadow:0 6px 16px #20352f12; }
html.nvrp-pilot #modalReserva .chzn-container .chzn-results li { padding:11px 12px; line-height:1.5; }
html.nvrp-pilot #modalReserva .chzn-container .chzn-results li.highlighted { background:#edf7f2; color:#25483d; }
html.nvrp-pilot #modalReserva .btn-modalReserva-continuar,
html.nvrp-pilot .nvrp-footer .btn-modalReserva-continuar { display:flex; justify-content:center; align-items:center; min-height:53px; border:0; border-radius:10px; padding:14px 18px; background:var(--nvrp-mint); color:#103e2e; font-size:16px; font-weight:600; line-height:1.4; }
html.nvrp-pilot #modalReserva .btn-modalReserva-continuar.disabled,
html.nvrp-pilot .nvrp-footer .btn-modalReserva-continuar.disabled { opacity:.6; }
html.nvrp-pilot #modalReserva .modalReserva-continuar-container { margin:24px 0 0; }
html.nvrp-pilot #modalReserva .modalReserva_reservar { border-top:1px solid var(--nvrp-line); }
html.nvrp-pilot.nvrp-footer-visible #modalReserva .modalReserva-continuar-container,
html.nvrp-pilot.nvrp-footer-visible #modalReserva .modalReserva_reservar { display:none; }
html.nvrp-pilot .nvrp-footer { position:fixed; left:auto; right:0; bottom:0; width:580px; max-width:100%; height:auto; z-index:1050; margin:0; background:#fff; border-top:1px solid var(--nvrp-line); box-shadow:0 -5px 18px #2d4b3606; padding:16px 27px max(16px,env(safe-area-inset-bottom)); color:var(--nvrp-ink); }
html.nvrp-pilot .nvrp-footer .modalReserva_reservar_steps { padding:0; }
html.nvrp-pilot .nvrp-footer .modalReserva_reservar_totals { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:0; }
html.nvrp-pilot .nvrp-footer .modalReserva_reservar_left { width:auto; flex:1; min-width:0; text-align:left; }
html.nvrp-pilot .nvrp-footer .modalReserva_reservar_right { width:148px; flex:0 0 148px; padding:0; }
html.nvrp-pilot .nvrp-footer .modalReserva_reservar_left_flex { display:block; padding:0; text-align:left; }
html.nvrp-pilot .nvrp-footer .total_text { font-size:12px; font-weight:400; color:var(--nvrp-muted); }
html.nvrp-pilot .nvrp-footer .bestprice { font-size:10px; color:var(--nvrp-muted); }
html.nvrp-pilot .nvrp-footer .total_price { min-width:0; text-align:left; font-size:25px; line-height:1.3; font-weight:600; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
html.nvrp-pilot #modalReserva a:focus-visible,
html.nvrp-pilot #modalReserva button:focus-visible,
html.nvrp-pilot .nvrp-footer a:focus-visible { outline:3px solid #17836b; outline-offset:3px; }
html.nvrp-pilot #modalReserva .radio:focus-within { outline:2px solid #17836b; outline-offset:2px; }
@media(hover:hover) {
  html.nvrp-pilot #modalReserva .bootstrap-datetimepicker-widget td.day:hover:not(.disabled)::before { background:#f0f3f1; }
  html.nvrp-pilot #modalReserva .bootstrap-datetimepicker-widget td.day.active:hover::before { background:var(--nvrp-mint); }
  html.nvrp-pilot #modalReserva .cajaPlazas .detallePlazas .btnPlazaSubir:hover:not(.disabled),
  html.nvrp-pilot #modalReserva .cajaPlazas .detallePlazas .btnPlazaBajar:hover:not(.disabled) { background:#edf7f2; }
}
@media(max-width:700px) {
  html.nvrp-pilot #modalReserva .modal-dialog { width:100%; }
  html.nvrp-pilot #modalReserva .modal-header { padding:12px 12px 12px 20px; gap:8px; }
  html.nvrp-pilot #modalReserva .modal-header h4.modal-title { font-size:16px; }
  html.nvrp-pilot #modalReserva .modal-body { padding:0 20px 20px; }
  html.nvrp-pilot #modalReserva .modalReservaSection .modalReservaSectionToggle { padding-top:20px; }
  html.nvrp-pilot #modalReserva .modalReservaSectionTitle > a { font-size:13px; }
  html.nvrp-pilot #modalReserva .cajaPlazas { gap:11px; padding:13px 0; }
  html.nvrp-pilot #modalReserva .cajaPlazas .detallePlazas { flex-basis:118px; width:118px; }
  html.nvrp-pilot .nvrp-footer { width:100%; padding:13px 20px max(13px,env(safe-area-inset-bottom)); }
  html.nvrp-pilot .nvrp-footer .modalReserva_reservar_totals { gap:18px; }
  html.nvrp-pilot .nvrp-footer .modalReserva_reservar_right { width:120px; flex-basis:120px; }
  html.nvrp-pilot .nvrp-footer .total_price { font-size:23px; }
  html.nvrp-pilot .nvrp-footer .btn-modalReserva-continuar { font-size:15px; padding:12px; }
}
@media(max-width:350px) {
  html.nvrp-pilot #modalReserva .modal-body { padding-left:13px; padding-right:13px; }
  html.nvrp-pilot #modalReserva .cajaPlazas .detallePlazas { flex-basis:108px; width:108px; }
  html.nvrp-pilot #modalReserva .cajaPlazas .detallePlazas .btnPlazaSubir,
  html.nvrp-pilot #modalReserva .cajaPlazas .detallePlazas .btnPlazaBajar { width:32px; }
  html.nvrp-pilot .nvrp-footer { padding-left:13px; padding-right:13px; }
}
@media(prefers-reduced-motion:reduce) {
  html.nvrp-pilot #modalReserva.fade .modal-dialog { transition:none; }
}
