/* Páginas de reserva (Hotel Booking Lite) con el diseño del sitio. Todo va dentro de .la-reserva. */
.la-reserva{font-family:var(--f-body);color:var(--ink)}
.la-reserva > *{max-width:860px}
.la-reserva > .mphb_sc_rooms-wrapper,.la-reserva > .mphb_sc_search_results-wrapper{max-width:none}
.la-reserva h2{font-family:var(--f-display);font-size:var(--s-xl);font-weight:500;margin:2.4rem 0 1rem}
.la-reserva h3{font-family:var(--f-display);font-size:1.45rem;font-weight:500;margin:1.6rem 0 .6rem}
.la-reserva > h2:first-child,.la-reserva > p:first-child{margin-top:0}
.la-reserva p{margin:0 0 1rem;line-height:1.65}
.la-reserva a:not(.button){color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.la-reserva abbr{text-decoration:none;color:var(--cyan)}
.la-reserva .mphb-required-fields-tip{color:var(--muted);font-size:.85rem}
.la-reserva br{display:none}
.la-reserva p br,.la-reserva td br{display:initial}
.la-reserva form p br{display:none}
.la-reserva-foto{margin:0 0 2rem;border-radius:var(--r);overflow:hidden;aspect-ratio:16/9;background:var(--sky)}
.la-reserva-foto img{width:100%;height:100%;object-fit:cover;display:block}

/* Campos */
.la-reserva label{display:block;font-size:.72rem;font-weight:500;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.35rem}
.la-reserva input[type="text"],.la-reserva input[type="email"],.la-reserva input[type="tel"],.la-reserva input[type="number"],.la-reserva input[type="password"],.la-reserva select,.la-reserva textarea{width:100%;max-width:100%;box-sizing:border-box;font:inherit;font-size:.95rem;padding:.7rem .85rem;border:1.5px solid var(--line);border-radius:var(--r-sm);background:var(--bg);color:var(--ink);min-height:46px}
.la-reserva input:focus,.la-reserva select:focus,.la-reserva textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 20%,transparent)}
.la-reserva input[type="checkbox"],.la-reserva input[type="radio"]{accent-color:var(--blue);width:18px;height:18px;vertical-align:-3px;margin-right:.4rem}
.la-reserva label:has(input[type="checkbox"]),.la-reserva label:has(input[type="radio"]){text-transform:none;letter-spacing:0;font-size:.95rem;color:var(--ink)}

/* Formularios de búsqueda y de reserva en una fila */
.la-reserva .mphb_sc_search-form,.la-reserva .mphb-booking-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;align-items:end;padding:1.5rem;background:var(--sky);border-radius:var(--r);margin:0 0 2rem}
.la-reserva .mphb_sc_search-form > p,.la-reserva .mphb-booking-form > p{margin:0;min-width:0}
.la-reserva .mphb_sc_search-form .mphb-required-fields-tip,.la-reserva .mphb-booking-form .mphb-required-fields-tip,.la-reserva .mphb_sc_search-submit-button-wrapper,.la-reserva .mphb-reserve-btn-wrapper,.la-reserva .mphb-errors-wrapper{grid-column:1/-1}
@media (max-width:720px){.la-reserva .mphb_sc_search-form,.la-reserva .mphb-booking-form{grid-template-columns:repeat(2,minmax(0,1fr));padding:1.1rem}}

/* Botones */
.la-reserva .button,.la-reserva button,.la-reserva input[type="submit"]{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font:500 .8rem/1 var(--f-body);letter-spacing:.14em;text-transform:uppercase;padding:1rem 1.6rem;min-height:48px;border:1.5px solid var(--blue);border-radius:var(--r-sm);background:var(--blue);color:var(--on-blue);cursor:pointer;text-decoration:none;transition:background .2s,color .2s}
.la-reserva .button:hover,.la-reserva button:hover,.la-reserva input[type="submit"]:hover{background:transparent;color:var(--ink)}
.la-reserva .mphb-view-details-button{background:transparent;color:var(--ink)}
.la-reserva .mphb-view-details-button:hover{background:var(--blue);color:var(--on-blue)}
.la-reserva .button:disabled,.la-reserva button:disabled{opacity:.5;cursor:not-allowed}

/* Tarjetas de alojamientos (listado y resultados) */
.la-reserva .mphb_sc_rooms-wrapper,.la-reserva .mphb_sc_search_results-wrapper{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:1.5rem}
.la-reserva .mphb_sc_search_results-wrapper > :not(.mphb-room-type){grid-column:1/-1}
.la-reserva .mphb-room-type{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;padding:0 1.4rem 1.4rem;margin:0}
.la-reserva .mphb-room-type > *{margin-left:0;margin-right:0}
.la-reserva .mphb-loop-room-thumbnail{margin:0 -1.4rem 1.2rem;aspect-ratio:4/3;overflow:hidden;background:var(--sky)}
.la-reserva .mphb-loop-room-thumbnail a,.la-reserva .mphb-loop-room-thumbnail img{display:block;width:100%;height:100%;object-fit:cover}
.la-reserva .mphb-room-type:not(.has-post-thumbnail){padding-top:1.4rem}
.la-reserva .mphb-room-type .mphb-room-type-title{font-family:var(--f-display);font-size:1.7rem;margin:0 0 .5rem;text-decoration:none}
.la-reserva .mphb-room-type-details-title{display:none}
.la-reserva .mphb-loop-room-type-attributes,.la-reserva .mphb-single-room-type-attributes{list-style:none;padding:0;margin:0 0 1rem;display:flex;flex-wrap:wrap;gap:.4rem}
.la-reserva .mphb-loop-room-type-attributes li,.la-reserva .mphb-single-room-type-attributes li{font-size:.82rem;background:var(--sky);padding:.35rem .7rem;border-radius:var(--r-sm)}
.la-reserva .mphb-attribute-title{color:var(--muted);margin-right:.25rem}
.la-reserva .mphb-regular-price{font-size:.95rem;color:var(--muted);margin-top:auto}
.la-reserva .mphb-regular-price strong{font-weight:400}
.la-reserva .mphb-price{font-family:var(--f-display);font-size:1.6rem;color:var(--ink);font-weight:500}
.la-reserva .mphb-view-details-button-wrapper,.la-reserva .mphb-to-book-btn-wrapper,.la-reserva .mphb-reserve-room-section{margin:0 0 .6rem}
.la-reserva .mphb-room-type .button{width:100%}
.la-reserva .mphb-rooms-reservation-message-wrapper{font-size:.9rem}

/* Resultados: resumen, recomendación y carrito */
.la-reserva .mphb_sc_search_results-info{font-size:1.05rem;margin:0}
.la-reserva .mphb-recommendation,.la-reserva .mphb-reservation-cart{background:var(--sky);border-radius:var(--r);padding:1.4rem;margin:0}
.la-reserva .mphb-recommendation-title{font-size:1.6rem;margin:.6rem 0 0}
.la-reserva .mphb-recommendation-details-list{list-style:none;padding:0;margin:0 0 1rem}
.la-reserva .mphb-recommendation-item{display:flex;flex-wrap:wrap;gap:.3rem .7rem;align-items:baseline}
.la-reserva .mphb-recommendation-item-subtotal{order:3;margin-left:auto}
.la-reserva .mphb-recommendation-item-guests{flex-basis:100%;color:var(--muted)}
.la-reserva .mphb-recommendation-total,.la-reserva .mphb-cart-total-price{font-size:1rem}
.la-reserva .mphb-empty-cart{display:none}

/* Calendario de disponibilidad (ficha) y selector de fechas */
.la-reserva .mphb-calendar.mphb-datepick{margin:0 0 2rem;max-width:100%;overflow-x:auto}
.la-reserva .mphb-calendar .datepick,.datepick-popup .datepick{font-family:var(--f-body);border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--ink);box-shadow:var(--shadow);max-width:100%}
.la-reserva .mphb-calendar .datepick{width:auto!important;box-shadow:none}
.datepick-popup .datepick-nav a,.la-reserva .datepick-nav a,.datepick-popup .datepick-ctrl a,.la-reserva .datepick-ctrl a{color:var(--ink);text-decoration:none}
.datepick-popup .datepick-month-header,.la-reserva .datepick-month-header{font-family:var(--f-display);font-size:1.15rem;background:transparent;color:var(--ink)}

/* Página de reserva (checkout) */
.la-reserva .mphb_sc_checkout-form,.la-reserva .mphb_sc_checkout-wrapper{max-width:860px}
.la-reserva .mphb_sc_checkout-form section,.la-reserva .mphb-checkout-section{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.4rem;margin:0 0 1.5rem}
.la-reserva .mphb_sc_checkout-form section > h3:first-child,.la-reserva .mphb-checkout-section > h3:first-child{margin-top:0}
.la-reserva .mphb-customer-details p,.la-reserva .mphb-checkout-section p{margin:0 0 1rem}
.la-reserva table{width:100%;border-collapse:collapse;font-size:.95rem;margin:0 0 1rem}
.la-reserva th,.la-reserva td{text-align:left;padding:.65rem .5rem;border-bottom:1px solid var(--line);vertical-align:top}
.la-reserva th{font-weight:500;color:var(--muted)}
.la-reserva tfoot th,.la-reserva tfoot td,.la-reserva .mphb-price-breakdown-total th{color:var(--ink);font-weight:600}
.la-reserva .mphb-price-breakdown{display:block;overflow-x:auto}
.la-reserva .mphb-gateways-list{list-style:none;padding:0;margin:0 0 1rem;display:grid;gap:.6rem}
.la-reserva .mphb-gateways-list li{border:1.5px solid var(--line);border-radius:var(--r-sm);padding:.8rem 1rem}
.la-reserva .mphb-total-price,.la-reserva .mphb-deposit-amount{font-size:1.05rem}

/* Mensajes */
.la-reserva .mphb-errors-wrapper:not(.mphb-hide),.la-reserva .mphb-error,.la-reserva .mphb-notice{padding:.8rem 1rem;border-radius:var(--r-sm);background:var(--bad-bg);color:var(--bad);font-size:.92rem}
.la-reserva .mphb-hide{display:none}
.la-reserva .mphb-booking-details,.la-reserva .mphb-booking-details-section{list-style:none;padding:1.2rem 1.4rem;background:var(--sky);border-radius:var(--r);margin:0 0 1.5rem}

/* Ajustes sobre los estilos propios del plugin */
.la-reserva .mphb_sc_rooms-wrapper .mphb-room-type,.la-reserva .mphb_sc_search_results-wrapper .mphb-room-type{margin-top:0}
.la-reserva .mphb_sc_search_results-wrapper .mphb-reservation-cart{margin-bottom:0}
.la-reserva .mphb_sc_search_results-wrapper .mphb-recommendation .mphb-recommendation-total{float:none;font-size:1.05rem}
.la-reserva .mphb_sc_search_results-wrapper .mphb-recommendation .mphb-recommendation-reserve-button{float:none}
.la-reserva .mphb-price-period{border-bottom:0;cursor:default;color:var(--muted)}
.la-reserva .mphb-calendar,.mphb-datepick-popup{--mphb-available-date-bg:var(--surface);--mphb-available-date-color:var(--ink);--mphb-not-available-date-bg:var(--line);--mphb-not-available-date-color:var(--muted);--mphb-booked-date-bg:var(--line);--mphb-booked-date-color:var(--muted);--mphb-out-of-season-date-bg:var(--line);--mphb-out-of-season-date-color:var(--muted);--mphb-selected-date-bg:var(--blue);--mphb-selected-date-color:var(--on-blue);--mphb-unselectable-date-color:var(--muted)}
.la-reserva .mphb-calendar .datepick-ctrl{background:var(--sky);color:var(--ink)}
.mphb-datepick-popup .datepick-month td .mphb-check-in-date{background-color:var(--sky)}
.mphb-datepick-popup .datepick-month td a.datepick-highlight,.mphb-datepick-popup .datepick-month td a.datepick-selected,.mphb-datepick-popup .datepick-month td span.mphb-check-in-date{background-color:var(--blue);color:var(--on-blue)}
.mphb-datepick-popup .datepick-month td a.datepick-today{background-color:var(--sky)}
.mphb-datepick-popup{font-family:var(--f-body)}
