/* Shared cards on accommodation details; equipment remains an open list. */
.detail-main{--detail-card-border:#dce3dd;--detail-card-radius:10px;--detail-card-padding:24px;--detail-card-heading:#244a35}
.detail-main :is(.room-calendar,.detail-booking,.room-payment-terms,.room-cancellation-terms,.pm-cancellation){box-sizing:border-box;border:1px solid var(--detail-card-border)!important;border-radius:var(--detail-card-radius);padding:var(--detail-card-padding)!important;background:#fff!important;box-shadow:none;color:#405447!important;min-width:0}
.detail-main :is(.room-calendar,.detail-booking,.room-payment-terms,.room-cancellation-terms,.pm-cancellation)>h2{margin:0 0 18px!important;padding:0 0 14px;border-bottom:1px solid #e5eae2;color:var(--detail-card-heading);font:600 20px/1.35 Arial,sans-serif!important;letter-spacing:normal}
.detail-main :is(.room-payment-terms,.room-cancellation-terms,.pm-cancellation){margin-top:20px!important}
.detail-main .detail-columns{gap:32px}
.detail-main .detail-columns>section{min-width:0}
.detail-main .room-equipment-groups{gap:24px;margin:20px 0 28px}
.detail-main .room-equipment-groups .equipment-location{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.detail-main .room-equipment-groups .equipment-location+.equipment-location{border-top:1px solid #e0e6dc;padding-top:24px}
.detail-main .room-equipment-groups .equipment-location>h3{margin:0 0 16px;font-size:20px}
@media(max-width:650px){.detail-main{--detail-card-padding:18px}.detail-main :is(.room-calendar,.detail-booking,.room-payment-terms,.room-cancellation-terms,.pm-cancellation)>h2{font-size:18px!important;margin-bottom:16px!important;padding-bottom:12px}.detail-main .detail-columns{gap:24px}}
/* Compact guest reviews on accommodation pages. */
.detail-main .object-reviews{margin-top:28px;padding-top:20px;font:400 14px/1.5 Arial,sans-serif}
.detail-main .object-reviews>h2{margin:0 0 12px;font:600 20px/1.35 Arial,sans-serif}
.detail-main .review-overview{gap:10px;margin:0 0 16px}
.detail-main .review-overview strong{font-size:20px}
.detail-main .review-categories{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:10px 20px;margin:14px 0 20px;font-size:13px}
.detail-main .review-category{gap:4px 10px}
.detail-main .review-category progress{height:6px}
.detail-main .review-list{gap:10px}
.detail-main .review-card{padding:14px 16px}
.detail-main .review-card-heading{gap:6px 12px;margin-bottom:8px;font-size:13px}
.detail-main .review-card time,.detail-main .review-date{font-size:12px}
.detail-main .review-card blockquote,.detail-main .review-card blockquote p{font-size:14px;line-height:1.5}
.detail-main .review-card blockquote p{margin:6px 0}
.detail-main .review-card blockquote>:first-child{margin-top:0}
.detail-main .review-card blockquote>:last-child{margin-bottom:0}
.detail-main .review-answer{margin-top:10px;padding:10px 12px;font-size:13px;line-height:1.5}
.detail-main .review-answer p{font-size:13px;line-height:1.5}
.detail-main .review-more{margin-top:8px}
.detail-main .review-more summary{padding:10px 0;font-size:13px}

/* Visible entry to each accommodation unit. */
.detail-main .object-room-title-link{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;text-decoration:none}
.detail-main .object-room-title-link>span:first-child{min-width:0;overflow-wrap:anywhere}
.detail-main .object-room-details{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:6px 11px;border:1px solid #91ac98;border-radius:20px;background:#edf3e9;color:#244a35;font:600 12px/1.3 Arial,sans-serif;white-space:nowrap}
.detail-main .object-room-title-link:hover .object-room-details{background:#dce9d5;border-color:#244a35}
.detail-main .object-room-title-link:focus-visible{outline:2px solid #244a35;outline-offset:4px;border-radius:4px}
.detail-main .object-room-title-link .object-room-details{margin-left:auto}
