.booking-category-links { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px 20px; margin-bottom: 12px; }
.booking-category-links a { color: #087735; padding: 6px 0; text-underline-offset: 4px; overflow-wrap: anywhere; }
.booking-category-links a:hover, .booking-category-links a[aria-current="page"] { text-decoration: underline; }
.booking-category-links a[aria-current="page"] { font-weight: 700; }
.booking-category-section { margin-top: 28px; }
.booking-category-section h2 a { color: inherit; }
.booking-category-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.booking-category-card { min-width: 0; border: 1px solid #dce3df; border-radius: 8px; background: #fff; overflow: hidden; }
.booking-category-card-link { display: flex; flex-direction: column; height: 100%; color: #24332b; }
.booking-category-card-link:hover { color: #24332b; text-decoration: none; }
.booking-category-card-link:focus-visible { outline: 3px solid #10823f; outline-offset: -3px; }
.booking-category-card img { display: block; width: 100%; height: auto; aspect-ratio: 8 / 5; object-fit: contain; background: #fff; }
.booking-category-card-body { display: flex; flex: 1; flex-direction: column; padding: 18px; overflow-wrap: anywhere; }
.booking-category-card-body h3 { font-size: 20px; line-height: 1.3; }
.booking-category-price { margin-top: auto; font-weight: 600; }
.booking-category-open { display: block; margin-top: 16px; color: #087735; font-weight: 600; }
.booking-category-card-link:hover .booking-category-open { text-decoration: underline; }
.booking-catalog h1 { font-size: 30px; overflow-wrap: anywhere; }
@media (max-width: 991px) { .booking-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575px) { .booking-category-grid { grid-template-columns: minmax(0, 1fr); } .booking-catalog h1 { font-size: 26px; } }
