/* Rooms and availability: search results and the rooms index. */
.template-rooms .rooms-masthead { background: var(--footer); color: var(--ivory); }
.rooms-page { padding-top: clamp(40px, 4.4vw, 72px); padding-bottom: clamp(56px, 6vw, 100px); }
.rooms-intro { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 12px 40px; margin-bottom: clamp(26px, 3vw, 44px); }
.rooms-intro h1 { font-size: clamp(40px, 4.6vw, 72px); line-height: 1.05; letter-spacing: -.03em; }
.rooms-intro > p { max-width: 46ch; font-size: 16px; line-height: 1.65; }
.rooms-intro .rooms-stay-summary { color: var(--ink); font-weight: 700; }
.rooms-notice { margin-bottom: 28px; padding: 16px 20px; border-left: 3px solid var(--button-gold); background: var(--canvas); color: var(--ink); font-size: 15px; line-height: 1.6; border-radius: 0 3px 3px 0; }
.rooms-notice a { font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.rooms-results { display: grid; gap: 24px; }
.rooms-group-title { margin: clamp(44px, 5vw, 70px) 0 22px; font-size: clamp(26px, 2.4vw, 36px); }
.rooms-result { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); min-height: 330px; overflow: hidden; background: var(--canvas); border-radius: 4px; }
.rooms-result-photo { position: relative; display: block; min-height: 100%; overflow: hidden; background: #e5dfd4; }
.rooms-result-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--ease); }
.rooms-result-body { display: flex; flex-direction: column; gap: 14px; min-width: 0; padding: clamp(24px, 2.6vw, 40px); }
.rooms-result-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 20px; }
.rooms-result h2 { font-size: clamp(28px, 2.4vw, 38px); line-height: 1.12; }
.rooms-result h2 a:hover { color: #000; }
.rooms-status { display: inline-flex; align-items: center; min-height: 30px; padding: 5px 12px; border-radius: 999px; font-size: 12px; font-weight: 700; line-height: 1.3; }
.rooms-status-available { background: rgb(203 164 94 / 24%); color: #6d4f1b; }
.rooms-status-unknown { border: 1px solid #cfc5b8; color: var(--muted); }
.rooms-status-unavailable { background: #e3ddd4; color: var(--muted); }
.rooms-result-summary { max-width: 52ch; font-size: 15px; line-height: 1.65; }
.rooms-result-footer { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 18px 24px; margin-top: auto; padding-top: 18px; border-top: 1px solid var(--line); }
.rooms-result-price { display: grid; gap: 2px; }
.rooms-result-price span { font-size: 13px; color: var(--muted); }
.rooms-result-price strong { font-family: var(--serif); font-size: clamp(26px, 2.2vw, 34px); line-height: 1.15; color: var(--ink); }
.rooms-result-price small { font-size: 13px; color: var(--muted); }
.rooms-result-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.rooms-result-actions .button { min-height: 50px; padding: 13px 22px; font-size: 14px; }
.rooms-result-actions .rooms-result-view { background: transparent; border: 1px solid #b9a998; color: var(--ink); }
.rooms-result-actions .rooms-result-view:hover { background: var(--paper); border-color: var(--ink); color: #000; }
.rooms-result.is-muted { opacity: .72; }
.rooms-note { margin-top: 30px; font-size: 13px; color: var(--muted); }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .rooms-result:hover .rooms-result-photo img { transform: scale(1.03); }
}
@media (max-width: 900px) {
  .rooms-result { grid-template-columns: 1fr; min-height: 0; }
  .rooms-result-photo { aspect-ratio: 1.5; min-height: 0; }
}
@media (max-width: 600px) {
  .rooms-intro h1 { font-size: 40px; }
  .rooms-intro > p { font-size: 14px; }
  .rooms-result-body { padding: 20px 18px 22px; gap: 12px; }
  .rooms-result-summary { font-size: 14px; }
  .rooms-result-footer { flex-direction: column; align-items: stretch; }
  .rooms-result-actions .button { flex: 1 1 0; min-width: 0; padding-inline: 12px; font-size: 13px; }
}
.rooms-result-features .room-features { margin-top: 4px; }
.rooms-result-features .room-feature-list { gap: 12px 18px; }
.rooms-result-features .room-feature-icon { width: 36px; height: 36px; }
.rooms-result-features .room-feature-svg { width: 20px; height: 20px; }
.rooms-result-features .room-feature-label { font-size: 14px; }
.rooms-stay-summary > span { white-space: nowrap; }
@container room-features (max-width: 360px) {
  .rooms-result-features .room-feature-list { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  .rooms-status { min-height: 0; padding: 6px 10px; border-radius: 6px; }
}
@media (max-width: 420px) {
  .rooms-result-actions { flex-direction: column; }
  .rooms-result-actions .button { flex: none; width: 100%; }
}
@media (max-width: 600px) {
  .rooms-result-actions { flex-wrap: nowrap; }
  .rooms-stay-summary > .rooms-stay-dates { display: block; }
  .rooms-stay-summary .rooms-stay-sep { display: none; }
}
@media (min-width: 421px) and (max-width: 600px) {
  .rooms-result-actions .button { flex: 1 1 auto; white-space: nowrap; }
}
/* A multi-room price ("2 стаи × 102,00 € за нощувка") wraps inside its block instead of pushing the buttons to a new row. */
@media (min-width: 601px) {
  .rooms-result-footer { column-gap: 16px; }
  .rooms-result-price { flex: 1 1 150px; min-width: 0; }
}
