.hotel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:24px 0 70px}.hotel-card{border:1px solid #d6dfda;border-radius:16px;padding:26px;background:#fff;min-width:0}.hotel-card h2{font-size:25px;margin:18px 0 6px}.hotel-start{font-size:21px;color:#074637}.hotel-card details{margin:20px 0}.hotel-card summary{cursor:pointer;font-weight:700;padding:14px 0;border-top:1px solid #d6dfda}.hotel-notes{font-size:13px;line-height:1.7;padding-left:20px}.hotel-table-wrap{overflow:auto}.hotel-rate-table{border-collapse:collapse;min-width:650px;width:100%;font-size:13px}.hotel-rate-table th,.hotel-rate-table td{padding:12px 8px;text-align:left;border-bottom:1px solid #dde5e0}.hotel-rate-table th{background:#eef5f1}.hotel-rate-table .button{font-size:12px;padding:8px 12px;white-space:nowrap}.hotel-card:has(details[open]){grid-column:1/-1}@media(max-width:700px){.hotel-grid{grid-template-columns:1fr}.hotel-card{padding:18px}}

.hotel-card summary{position:relative;text-align:center;font-size:15px;line-height:1.5;padding:16px 32px}.hotel-card summary::after{position:absolute;right:12px;top:50%;transform:translateY(-50%)}
.hotel-photo{margin:0 0 22px}.hotel-photo img{display:block;width:100%;height:250px;object-fit:cover;border-radius:10px}.hotel-photo figcaption{display:flex;gap:10px;justify-content:space-between;font-size:11px;color:#68766f;margin-top:7px}.hotel-photo figcaption a{white-space:nowrap;text-decoration:underline}.hotel-photo-placeholder{height:250px;display:grid;place-items:center;background:#edf3ef;border-radius:10px;margin-bottom:22px;color:#62766b}.hotel-regions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px}.hotel-regions button{border:1px solid #d6dfda;background:#f1f5f2;color:#123d32;border-radius:24px;padding:12px 22px;font-weight:700}.hotel-regions button.active{background:#073f35;color:#fff}.hotel-booking-options{padding-top:18px}.hotel-party{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}.hotel-booking-options label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600}.hotel-booking-options select{width:100%;padding:12px;border:1px solid #bdcdc5;border-radius:8px;background:white;color:#17382d}.hotel-booking-note{font-size:13px;color:#63766d}.hotel-card:has(details[open]) .hotel-photo img{height:300px}@media(max-width:700px){.hotel-photo img,.hotel-photo-placeholder{height:220px}.hotel-party{gap:8px}.hotel-photo figcaption{flex-wrap:wrap}}
.hotel-card summary{justify-content:center}.hotel-photo-placeholder{margin-bottom:45px}

/* Keep reservation controls proportional to their contents. */
.hotel-booking-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:620px;font-size:13px}
.hotel-booking-options>h3{grid-column:1/-1;margin:0;font-size:19px;line-height:1.4}
.hotel-booking-options>h3,.hotel-booking-options .money-label>label{padding-inline-start:12px}
.hotel-booking-options>.booking-calendar{min-width:0;margin:0}
.hotel-booking-options .calendar-caption{margin-bottom:7px;font-size:12px}
.hotel-booking-options .golf-date-toggle{min-height:44px;padding:10px 12px;gap:8px;font-size:13px;line-height:1.5;text-align:center}
.hotel-booking-options .golf-date-toggle svg{width:18px;height:18px}
.hotel-booking-options .golf-date-toggle>span:not(.golf-date-chevron){flex:1}
.hotel-booking-options .golf-date-chevron{margin-left:0}
.hotel-booking-options .golf-two-months{grid-template-columns:1fr;gap:18px}
.hotel-booking-options>.hotel-party{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,96px));gap:10px;width:100%;max-width:308px;margin:0}
.hotel-booking-options label{min-width:0;gap:6px;font-size:12px}
.hotel-booking-options .hotel-party label{text-align:center}
.hotel-booking-options select{min-height:40px;padding:8px 24px;font-size:13px;line-height:1.5;text-align:center;text-align-last:center}
.hotel-booking-options select[data-hotel-field]{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='m3 4.5 3 3 3-3' fill='none' stroke='%2317382d' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 9px center}
.hotel-booking-options>label:has([data-hotel-field="room"]){grid-column:1/-1;justify-self:start;max-width:100%;text-align:center}
.hotel-booking-options [data-hotel-field="room"]{field-sizing:content;width:auto;min-width:144px;max-width:100%}
.hotel-card .hotel-booking-options>.budget-field{grid-column:1/-1;width:100%;max-width:308px;margin-top:0}
.hotel-booking-options .budget-field>select{min-height:40px;padding:8px 24px;font-size:13px}
.hotel-booking-options>.hotel-booking-note{grid-column:1/-1;margin:0;font-size:12px;line-height:1.6}
@media(max-width:600px){.hotel-booking-options{grid-template-columns:minmax(0,1fr);gap:14px}.hotel-booking-options>h3{font-size:18px}.hotel-booking-options select{min-height:44px}}
.hotel-booking-options>.hotel-range-picker{grid-column:1/-1}.hotel-range-picker .golf-two-months{grid-template-columns:repeat(2,minmax(0,1fr))}.hotel-range-months{position:relative}.hotel-range-months .golf-month-navigation{top:0}.hotel-range-hint{font-size:13px;margin:0 0 16px;color:#17382d}.hotel-range-picker .golf-month-day.hotel-range-between{background:#e2e9ff;color:#17382d}.hotel-range-picker .golf-date-toggle>span{overflow-wrap:anywhere}.hotel-range-picker .golf-calendar-footer{flex-wrap:wrap}.hotel-range-picker .golf-calendar-footer>span{flex:1;min-width:140px}@media(max-width:600px){.hotel-range-picker .golf-two-months{grid-template-columns:1fr}}
