/* Shared with the existing hotel palette; availability data stays server rendered. */
.bh-availability{margin:12px 0 20px;padding:24px;background:#f7f6f3;border:1px solid #e5e1db;border-radius:3px;text-align:left;color:#333;letter-spacing:normal;line-height:1.5}
.bh-availability h2{font-size:23px;font-weight:400;line-height:1.25;margin:0 0 20px;color:#333}
.bh-availability-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;align-items:start}
.bh-availability label{display:block;min-width:0;margin:0;font-size:13px;font-weight:600;line-height:1.5}
.bh-availability input{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:44px;margin:5px 0 0;border:1px solid #ccc6bd;border-radius:2px;padding:9px 11px;background:#fff;color:#333;font-family:inherit;font-size:15px;font-weight:400;line-height:1.4;box-shadow:none}
.bh-availability small{display:block;margin-top:6px;color:#666;font-size:12px;font-weight:400;line-height:1.5}
.bh-availability .bh-children{align-self:center;font-size:13px;margin:0;min-width:0}
.bh-availability .bh-children summary{cursor:pointer;padding:10px 0;color:#555;text-decoration:underline;text-underline-offset:3px}
.bh-availability .bh-children[open]{grid-column:1/-1}
.bh-availability .bh-children[open]+.bh-check{grid-column:1/-1}
.bh-availability .bh-ages{margin:6px 0}
.bh-availability .btn{border:1px solid #d50032;border-radius:2px;background:#d50032;background-image:none;color:#fff;box-shadow:none;font-size:14px;font-weight:600;letter-spacing:normal;line-height:1.4;padding:12px 16px;white-space:normal;text-shadow:none}
.bh-availability .btn:hover,.bh-availability .btn:focus{background:#ad0029;border-color:#ad0029;color:#fff}
.bh-availability .bh-check{min-height:44px;align-self:center;margin:0}
.bh-availability-result{margin:20px 0 16px;padding:14px 16px;border-left:3px solid #9aa9ae;background:#fff;font-size:14px}
.bh-availability-result[data-status="sold_out"],.bh-availability-result[data-status="restricted"]{border-color:#b73645}
.bh-availability-result p{margin:0 0 8px;text-align:left;overflow-wrap:anywhere}
.bh-availability-result p:last-child{margin-bottom:0}
.bh-availability-result.bh-initial{border:0;background:transparent;padding:0;margin:14px 0 12px;color:#666;font-size:13px}
.bh-availability-result.bh-initial strong{font-weight:400}
.bh-availability .bh-data-time{font-size:12px;color:#666}
.bh-availability .bh-booking-action{margin:0;padding-top:12px;border-top:1px solid #e2ddd5;font-size:13px;text-align:left}
.bh-availability .bh-direct-link{color:#555;text-decoration:underline;text-underline-offset:3px}
.bh-availability .bh-direct-link:hover{color:#ad0029}
.bh-availability .bh-direct-link span{margin-left:6px}
.bh-availability .bh-alternatives{padding-left:20px;margin-bottom:18px;font-size:14px}
.bh-availability input:focus-visible,.bh-availability button:focus-visible,.bh-availability a:focus-visible,.bh-availability summary:focus-visible{outline:2px solid #d50032;outline-offset:3px}
/* Calm reading surface on room details; keep room photos in the gallery. */
.category_room.productdetails-view{background:#fff!important;box-shadow:none;color:#333}
.productdetails-view .room_header{margin-bottom:8px}
.productdetails-view .room_header h1{font-size:30px;line-height:1.25;margin-top:4px}
.productdetails-view .product-short-description{font-size:16px;line-height:1.65;letter-spacing:normal}
.productdetails-view .rating-text{font-size:12px;color:#777;margin-top:8px}
.productdetails-view .room_equipment{background:#f7f6f3;border:1px solid #e5e1db;border-radius:3px;padding:12px;margin-top:12px}
.productdetails-view .hotel_icons{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 12px}
.productdetails-view .hotel_icon{display:inline-flex;position:relative;align-items:center;justify-content:center;width:44px;height:44px;font-style:normal}
.productdetails-view .hotel_icon img{width:32px;height:32px;object-fit:contain;margin:0;opacity:.75}
.productdetails-view .hotel_icon .tooltiptext{bottom:100%;left:50%;transform:translateX(-50%);font-size:12px;line-height:1.4;letter-spacing:normal}
@media(max-width:767px){.category_room.productdetails-view{padding:15px}.productdetails-view .room_header h1{font-size:25px;margin-top:18px}.productdetails-view .room_equipment{margin-top:6px}.bh-availability{padding:18px;margin:12px 0}.bh-availability h2{font-size:22px}.productdetails-view .hotel_icons{gap:4px 8px}}
@media(max-width:360px){.bh-availability-fields{grid-template-columns:minmax(0,1fr)}.bh-availability{padding:14px}}
.productdetails-view .room_media img{max-width:100%;height:auto}
.productdetails-view .room_media a{max-width:100%}
@media(max-width:480px){
 .bh-availability-fields{align-items:stretch}
 .bh-availability-fields>label{display:flex;flex-direction:column;gap:5px}
 .bh-availability-fields>label input{margin-top:auto}
 .bh-availability-fields>label:nth-of-type(-n+2),.bh-availability .bh-children,.bh-availability .bh-check{grid-column:1/-1}
 .bh-availability .bh-children summary{padding:4px 0}
}
.vmBooking .bh-legacy-status{font-size:13px;font-weight:400;line-height:1.5;color:#555;margin:12px 0;letter-spacing:normal}
.vmBooking .checkin_daterange{max-width:100%;box-sizing:border-box}
