.rc-catalog { --rc-green: #38571a; --rc-text: #000; }
.rc-catalog *, .rc-catalog *::before, .rc-catalog *::after { box-sizing: border-box; }
.rc-catalog .rc-heading, .rc-catalog .rc-updated, .rc-catalog .rc-cards { max-width: 1024px; margin-left: auto; margin-right: auto; }
.rc-catalog .rc-heading { margin-top: 0; }
.rc-catalog .rc-updated { margin-top: 0; margin-bottom: 24px; font-size: 14px; line-height: 1.5; }
.rc-catalog .rc-cards { display: grid; gap: 24px; color: var(--rc-text); font-family: Inter, Roboto, Arial, sans-serif; font-size: 14px; line-height: 20px; }
.rc-catalog .rc-card { display: grid; grid-template-columns: 300px minmax(0, 1fr) 205px; min-height: 200px; background: #fff; border: 1px solid #eee; border-radius: 12px; box-shadow: 0 4px 10px #0000000d; overflow: hidden; }
.rc-catalog .rc-card a { text-decoration: none; }
.rc-catalog .rc-gallery { position: relative; min-width: 0; min-height: 200px; background: #f4f4f4; }
.rc-catalog .rc-photos { position: absolute; inset: 0; }
.rc-catalog .rc-photo { display: block; width: 100%; height: 100%; margin: 0; border-radius: 0; object-fit: cover; object-position: center; }
.rc-catalog [hidden] { display: none !important; }
.rc-catalog .rc-gallery-controls { position: absolute; inset: 0; display: flex; align-items: center; justify-content: space-between; padding: 8px; pointer-events: none; }
.rc-catalog .rc-gallery-controls button { display: grid; place-items: center; width: 44px; height: 44px; min-width: 44px; padding: 0; border: 0; border-radius: 50%; background: #0009; color: #fff; font: 32px/1 Arial, sans-serif; cursor: pointer; pointer-events: auto; }
.rc-catalog .rc-photo-count { position: absolute; bottom: 10px; left: 50%; transform: translateX(-50%); padding: 1px 9px; border-radius: 14px; background: #000a; color: #fff; font-size: 12px; white-space: nowrap; }
.rc-catalog .rc-info { min-width: 0; padding: 24px; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.rc-catalog .rc-title { width: 100%; margin: 0; font: 600 18px/22px Inter, Roboto, Arial, sans-serif; letter-spacing: normal; }
.rc-catalog .rc-title a { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--rc-text); }
.rc-catalog .rc-address { display: flex; align-items: center; width: 100%; margin: 0; font-weight: 500; }
.rc-catalog .rc-address span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rc-catalog svg { flex: 0 0 20px; width: 20px; height: 20px; margin-right: 4px; }
.rc-catalog .rc-params { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 0; padding: 0; list-style: none; font-weight: 500; }
.rc-catalog .rc-params li { display: flex; align-items: center; margin: 0; padding: 0; white-space: nowrap; }
.rc-catalog .rc-services { margin: -6px 0 -8px; color: #757575; font-weight: 500; }
.rc-catalog .rc-services ul { display: inline; margin: 0; padding: 0; list-style: none; }
.rc-catalog .rc-services li { display: inline; margin: 0; padding: 0; }
.rc-catalog .rc-services li::after { content: " · "; white-space: pre; }
.rc-catalog .rc-details { display: inline-flex; min-height: 44px; align-items: center; vertical-align: middle; color: var(--rc-green); }
.rc-catalog .rc-details svg, .rc-catalog .rc-book svg { margin: 0 0 0 4px; }
.rc-catalog .rc-price-column { display: flex; flex-direction: column; justify-content: space-between; gap: 20px; padding: 24px; border-left: 1px solid #eee; }
.rc-catalog .rc-price { margin: 0 0 4px; font-size: 24px; font-weight: 600; line-height: 28px; white-space: nowrap; }
.rc-catalog .rc-price-unavailable { font-size: 16px; line-height: 22px; white-space: normal; }
.rc-catalog .rc-day { margin: 0; color: #757575; font-weight: 500; }
.rc-catalog .rc-book { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 12px; border-radius: 8px; background: var(--rc-green); color: #fff; font-size: 14px; font-weight: 600; line-height: 20px; white-space: nowrap; }
.rc-catalog .rc-card a:hover { text-decoration: underline; }
.rc-catalog .rc-card a:focus-visible, .rc-catalog button:focus-visible { outline: 3px solid var(--rc-green); outline-offset: 3px; }
.rc-catalog .rc-gallery button:focus-visible { outline-color: #fff; outline-offset: 2px; box-shadow: 0 0 0 5px #000; }
@media (max-width: 1000px) {
  .rc-catalog .rc-card { grid-template-columns: 1fr; }
  .rc-catalog .rc-gallery { height: 254px; min-height: 254px; margin: 6px 6px 0; border-radius: 6px; overflow: hidden; }
  .rc-catalog .rc-info { padding: 16px; }
  .rc-catalog .rc-title a, .rc-catalog .rc-address span { white-space: normal; overflow-wrap: anywhere; }
  .rc-catalog .rc-price-column { flex-direction: row; align-items: center; flex-wrap: wrap; padding: 16px; gap: 12px; border-left: 0; border-top: 1px solid #eee; }
}
