.rc-search { max-width:1024px; margin:0 auto 24px; padding:20px; border:1px solid #d8ddd5; border-radius:12px; background:#fff; }
.rc-search[hidden] { display:none; }
.rc-search-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.rc-search label { display:flex; flex-direction:column; gap:6px; font-size:16px; }
.rc-search input { box-sizing:border-box; min-width:0; width:100%; min-height:44px; padding:10px; color:#102e29; background:#fff; border:1px solid #777; border-radius:6px; font:inherit; }
.rc-search small { font-size:13px; line-height:1.4; }
.rc-search-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:16px; }
.rc-search button { min-height:44px; padding:10px 18px; font:inherit; cursor:pointer; border:1px solid #38571a; border-radius:8px; background:#38571a; color:#fff; }
.rc-search button[type=reset] { color:#38571a; background:#fff; }
.rc-search button:disabled { opacity:.65; cursor:wait; }
.rc-search [role=status] { margin:14px 0 0; font-size:15px; line-height:1.5; }
.rc-search :focus-visible { outline:3px solid #38571a; outline-offset:3px; }
.rc-catalog .rc-availability-state { margin:0; font-size:14px; line-height:1.45; font-weight:600; }
.rc-catalog [data-availability=available] .rc-availability-state { color:#38571a; }
.rc-catalog [data-availability=unavailable] .rc-availability-state, .rc-catalog [data-availability=minimum] .rc-availability-state { color:#653925; }
.rc-catalog .rc-book[aria-disabled=true] { background:#e6e6e6; color:#525252; cursor:not-allowed; text-decoration:none; }
.rc-catalog .rc-price-column { gap:14px; }
.rc-catalog .rc-price-column > div { min-width:0; }
.vanilla-calendar-day__btn[data-rc-calendar-label] { min-height:0 !important; height:100% !important; padding:2px !important; display:flex; flex-direction:column; justify-content:center; background:#f2ecdd; box-shadow:inset 0 0 0 1px #a38955; color:#42351b; }
.vanilla-calendar-day__btn[data-rc-calendar-label]::after { content:attr(data-rc-calendar-label); display:block; white-space:normal; font-size:9px; line-height:10px; max-width:52px; padding:2px; }
.vanilla-calendar-day__btn[data-rc-calendar-label] + .vanilla-calendar-day__popup { display:none !important; }
.rc-calendar-legend { margin:12px 8px 4px; max-width:660px; font-size:13px; line-height:1.4; color:#42351b; }
.rc-calendar-legend[hidden] { display:none; }
@media(max-width:600px) { .rc-search { padding:14px; } .rc-search-fields { grid-template-columns:1fr; } .rc-search-actions button { flex:1; } }
