#content{display:flex;flex-direction:column}#interfaz_calendario{display:grid;gap:100px;grid-template-columns:min-content 450px;justify-content:center}#calendario_container{background-color:var(--bg_secundario);border-radius:16px;display:flex;flex-direction:column;gap:16px;padding:16px}#calendario_container h2{font-family:var(--font_Kanit);font-size:20px;font-weight:600}#calendario_container .paso_reserva{border-bottom:1px solid var(--gris_oscuro);display:flex;flex-direction:column;gap:16px;padding-bottom:24px}#calendario_container #hora{border-bottom:none;padding-top:24px}.sala_selector{align-items:center;display:flex;gap:32px}.usuario_selector{position:relative;width:100%}#usuario_selector_btn{background-color:var(--bg_secundario);border:2px solid var(--gris_oscuro);color:var(--texto_secundario);font-size:16px;padding:12px 20px;text-align:left;width:100%}#usuario_selector_btn:after{content:"⌄";float:right}#usuario_selector_panel{background-color:var(--bg_secundario);border:2px solid var(--gris_oscuro);border-top:none;left:0;max-height:360px;overflow-y:auto;padding:16px 20px;position:absolute;top:100%;width:100%;z-index:3}#usuario_selector_busqueda{border:2px solid var(--gris_oscuro);color:var(--texto_secundario);font-size:16px;padding:12px 20px}#usuario_selector_busqueda::-moz-placeholder{color:var(--gris)}#usuario_selector_busqueda::placeholder{color:var(--gris)}#usuario_selector_lista{display:flex;flex-direction:column}.usuario_selector_item{background:transparent;border:none;color:var(--texto_secundario);font-size:16px;padding:6px 0;text-align:left;width:100%}.usuario_selector_item:hover{background-color:#afafaf}.radio_option{align-items:center;cursor:pointer;display:flex;font-family:var(--font-Inter);font-size:16px;font-weight:400;gap:8px}.radio_option input[type=radio]{cursor:pointer;opacity:0;position:absolute;width:-moz-fit-content;width:fit-content}.radio_custom{border:2px solid var(--primario);border-radius:50%;height:20px;position:relative;transition:all .2s;width:20px}.radio_option input[type=radio]:checked+.radio_custom:after{background-color:var(--primario);border-radius:50%;content:"";height:10px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:10px}.radio_option input[type=radio]:focus-visible+.radio_custom{outline:3px solid var(--texto_secundario);outline-offset:2px}.radio_option:hover .radio_custom{border-color:var(--primario);box-shadow:0 0 0 3px rgba(241,14,40,.1)}.radio_label{font-weight:500}calendar-date::part(next),calendar-date::part(previous){align-items:center;background-color:var(--bg_secundario);border:1px solid var(--primario);border-radius:4px;cursor:pointer;display:inline-flex!important;height:32px;justify-content:center;margin:0;padding:0;transition:all .2s;width:32px}calendar-date::part(next):focus,calendar-date::part(previous):focus{outline:none}calendar-date::part(next):focus-visible,calendar-date::part(previous):focus-visible{outline:3px solid var(--texto_secundario);outline-offset:2px}calendar-date::part(next):hover,calendar-date::part(previous):hover{background-color:var(--primario);color:var(--texto_primario)}calendar-date.is-current-month::part(previous){pointer-events:none;visibility:hidden}calendar-date .header_button{align-items:center;display:flex;justify-content:center}calendar-date .header_button img{width:16px}calendar-date calendar-month{--color-accent:var(--primario);--color-text-on-accent:var(--texto_primario)}calendar-date calendar-month::part(heading){display:none}calendar-date calendar-month::part(table){border-collapse:separate;border-spacing:16px}calendar-date calendar-month::part(button){background-color:var(--bg_secundario);border:1px solid var(--primario);border-radius:100%;font-family:var(--font_Kanit);font-size:20px;font-weight:400;height:64px;transition:all .2s;width:64px}calendar-date calendar-month::part(button):focus-visible{color:var(--texto_secundario);outline:3px solid var(--texto_secundario);outline-offset:2px}calendar-date calendar-month::part(button):hover{background-color:var(--primario);color:var(--texto_primario);transition:all .2s}calendar-date calendar-month::part(selected){background-color:var(--primario);border:1px solid var(--primario)}calendar-date calendar-month::part(disallowed){border:1px solid var(--gris_oscuro);color:var(--gris_oscuro);cursor:not-allowed;text-decoration:line-through}calendar-date calendar-month::part(disallowed):hover{background-color:var(--bg_secundario);color:var(--gris_oscuro)}#hora_lista{display:flex;gap:24px;justify-content:space-around}#hora_lista .franja{display:flex;flex-direction:column;gap:16px}#hora_lista .franja .franja_titulo{font-size:16px;margin-bottom:-4px;text-align:center;white-space:nowrap}#hora_lista .franja .horario{align-items:center;border:1px solid var(--primario);border-radius:40px;cursor:pointer;display:flex;font-size:16px;font-weight:500;height:40px;justify-content:center;min-width:120px;padding:0 16px;transition:all .2s}#hora_lista .franja .horario.disponible:hover{background-color:var(--primario);color:var(--texto_primario);transition:all .2s}#hora_lista .franja .horario.disponible:focus{outline:none}#hora_lista .franja .horario.disponible:focus-visible{background-color:var(--primario);color:var(--texto_primario);outline:3px solid var(--texto_secundario);outline-offset:2px}#hora_lista .franja .horario.no-disponible{border:1px solid var(--gris_oscuro);color:var(--gris_oscuro);cursor:not-allowed;text-decoration:line-through;-webkit-user-select:none;-moz-user-select:none;user-select:none}#hora_lista .franja .horario span{pointer-events:none}#hora_lista .franja .horario.selected{background-color:var(--primario);color:var(--texto_primario)}#carrito{background-color:var(--bg_secundario);border-radius:16px;display:flex;flex-direction:column;gap:16px;height:500px;padding:16px}#carrito #carrito_lista{display:flex;flex:1;flex-direction:column;gap:8px;max-height:418px;overflow-y:auto}#carrito #carrito_total_container{align-items:center;display:flex;font-size:18px;font-weight:600;justify-content:space-between}.carrito_item{background-color:var(--terciario);border-radius:8px;display:flex;flex-direction:column;gap:4px;padding:16px}.carrito_item .item_footer,.carrito_item .item_header{align-items:center;display:flex;justify-content:space-between}.carrito_item .item_header{font-size:18px;font-weight:600}.carrito_item .item_footer{margin-top:16px}.carrito_item .reserva_cantidad{align-items:center;display:flex;gap:8px}.carrito_item .reserva_cantidad .person_icon{height:18px;width:auto}.carrito_item .reserva_cantidad .reserva_cantidad_valor{text-align:center;width:8px}.carrito_item .reserva_cantidad .reserva_cantidad_btn{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--primario);border-radius:2px;color:var(--texto_primario);cursor:pointer;display:flex;flex-shrink:0;height:20px;isolation:isolate;justify-content:center;overflow:hidden;width:20px}.carrito_item .reserva_cantidad .reserva_cantidad_btn img{height:auto;pointer-events:none;width:14px}.carrito_item .reserva_cantidad .reserva_cantidad_btn.disabled{background-color:var(--gris);color:var(--gris_oscuro);cursor:not-allowed;opacity:1;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.carrito_item .reserva_cantidad .reserva_cantidad_btn.disabled:hover{background-color:var(--gris);color:var(--gris_oscuro)}#reserva_fallida{align-items:center;background-color:rgba(0,0,0,.5);display:flex;height:100dvh;justify-content:center;left:0;position:absolute;top:0;width:100dvw}#modal{background-color:var(--bg_secundario);border-radius:16px;display:flex;flex-direction:column;padding:16px;width:450px}#modal #modal_title{font-family:var(--font_Kanit);font-size:24px;font-weight:600}#modal #modal_item_list{display:flex;flex-direction:column;gap:8px;margin:16px 0;max-height:40dvh;overflow-y:auto}@media (max-width:1200px){#content{align-items:center;padding:0 10px}#interfaz_calendario{align-items:center;display:flex;flex-direction:column;gap:32px}#calendario_container,#carrito{width:612px}}@media (max-width:650px){#content{align-items:center;padding:0 2px}#interfaz_calendario{align-items:start}#calendario_container,#carrito{width:100%}calendar-date calendar-month::part(button){height:52px;width:52px}}@media (max-width:550px){calendar-date calendar-month::part(table){border-spacing:8px}calendar-date calendar-month::part(button){height:44px;width:44px}#hora_lista .franja .horario{font-size:14px;line-height:1.1;min-width:unset;text-align:center}#hora_lista .franja .horario span{text-align:center}}@media (max-width:450px){calendar-date calendar-month::part(button){height:36px;width:36px}}