/* Calendario único de Global Suite (2026-10-01): mismo diseño que el de las pantallas PHP (templateback/assets/css/gs_ventanas_2026.css,
   .dpDiv / .ui-datepicker). Lo usa /brand/js/gs-calendario.js en las pantallas Python (Eventos, Actividades, Back-office, Usuarios). */
.gs-cal-campo { cursor: pointer; background-color: #fff !important; }
.gs-cal {
    position: absolute; z-index: 100050; width: 290px; background: #fff; border-radius: 12px; overflow: hidden;
    box-shadow: 0 14px 40px rgba(0, 0, 0, .35), 0 0 0 1px rgba(4, 119, 179, .2);
    font-family: 'Montserrat', verdana, arial, sans-serif; font-size: 13px; color: #1a2733;
}
.gs-cal-cab { display: flex; align-items: center; justify-content: space-between; background: #0477B3; color: #fff; padding: 9px 8px; }
.gs-cal-cab span { font-weight: 600; font-size: 14px; }
.gs-cal-nav { width: 28px; height: 28px; border-radius: 50%; border: none; background: rgba(255, 255, 255, .2); color: #fff;
    font-size: 20px; line-height: 26px; cursor: pointer; padding: 0; }
.gs-cal-nav:hover { background: rgba(255, 255, 255, .38); }
.gs-cal table { width: 100%; border-collapse: separate; border-spacing: 2px; margin: 4px 0; }
.gs-cal th { color: #4f7a8f; font-size: 11px; font-weight: 700; text-transform: uppercase; padding: 6px 0; text-align: center; }
.gs-cal td { padding: 0; text-align: center; }
.gs-cal-dia { width: 34px; height: 34px; border-radius: 50%; border: none; background: transparent; color: #1a2733; font: 500 13px 'Montserrat', verdana, arial, sans-serif; cursor: pointer; padding: 0; }
.gs-cal-dia:hover { background: #e8f2f9; color: #035f8f; }
.gs-cal-dia.gs-cal-hoy { box-shadow: inset 0 0 0 2px #0477B3; font-weight: 700; }
.gs-cal-dia.gs-cal-sel { background: #0477B3; color: #fff; font-weight: 700; box-shadow: 0 2px 6px rgba(4, 119, 179, .35); }
.gs-cal-dia:disabled { opacity: .3; cursor: default; background: transparent; }
.gs-cal-pie { display: flex; justify-content: center; gap: 8px; padding: 8px 10px; border-top: 1px solid #e7edf1; }
.gs-cal-btn { font: 600 12px 'Montserrat', verdana, arial, sans-serif; border-radius: 999px; padding: 5px 14px; background: #fff;
    border: 1px solid #0477B3; color: #0477B3; cursor: pointer; }
.gs-cal-btn:hover { background: #e8f2f9; }
/* MODO RANGO (2026-10-20, motor de reservas): un almanaque con dos meses (uno en el celular), llegada -> salida y las noches del medio */
.gs-cal-rango { width: auto; max-width: calc(100vw - 16px); }
.gs-cal-rcab { background: #0477B3; color: #fff; font-weight: 700; font-size: 13px; letter-spacing: .04em; text-align: center; padding: 8px 10px 0; }
.gs-cal-meses { display: flex; gap: 0; } .gs-cal-mes + .gs-cal-mes { border-left: 1px solid #e7edf1; }
.gs-cal-mes { width: 290px; max-width: 100%; }
.gs-cal-mes .gs-cal-cab i { width: 28px; }
.gs-cal-dia.gs-cal-entre { background: #d6eaf6; color: #035f8f; border-radius: 0; }
.gs-cal-dia.gs-cal-ini { border-radius: 50% 0 0 50%; } .gs-cal-dia.gs-cal-fin { border-radius: 0 50% 50% 0; }
.gs-cal-rpie { justify-content: space-between; align-items: center; } .gs-cal-rpie span { font-weight: 700; color: #035f8f; padding-left: 4px; }
.gs-cal-btn.gs-cal-prim { background: #0477B3; color: #fff; }
@media (max-width: 640px) { .gs-cal-mes { width: calc(100vw - 16px); } .gs-cal-dia { width: 40px; height: 40px; } }
