/* ===================== REZERVAČNÍ WIDGET ===================== */
.booking-unit-select {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--cream-dark);
  border-radius: 4px;
  font-family: inherit;
  font-size: 0.92rem;
  color: var(--brown);
  background: #fff;
  margin-bottom: 24px;
}

.booking-calendar { margin-bottom: 28px; }
.booking-calendar-hint { color: var(--text-light); font-size: 0.9rem; }

.booking-calendar-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.cal-nav {
  background: none;
  border: 1px solid var(--gold-btn);
  color: var(--brown);
  width: 32px;
  height: 32px;
  border-radius: 50%;
  font-size: 1.1rem;
  cursor: pointer;
  line-height: 1;
}
.cal-nav:hover { background: var(--gold); }
.cal-month-title {
  font-family: 'PT Serif', serif;
  font-weight: 700;
  color: var(--brown);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 0.85rem;
  text-align: center;
  margin-bottom: 8px;
}

.booking-calendar-grids {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.booking-calendar-table { width: 100%; border-collapse: collapse; }
.booking-calendar-table th {
  font-size: 0.72rem;
  color: var(--text-light);
  font-weight: 600;
  padding: 6px 0;
  text-transform: uppercase;
}
.booking-calendar-table td {
  text-align: center;
  padding: 8px 0;
  font-size: 0.85rem;
  border-radius: 4px;
}
.cal-day--free { color: var(--brown); cursor: pointer; }
.cal-day--free:hover { background: var(--cream-dark); }
.cal-day--past, .cal-day--unavailable { color: #cfc6bb; text-decoration: line-through; }
.cal-day--start, .cal-day--end { background: var(--gold-btn); color: #fff; font-weight: 700; }
.cal-day--inrange { background: var(--gold); }
.cal-empty {}

.booking-calendar-legend {
  display: flex;
  gap: 20px;
  margin-top: 12px;
  font-size: 0.78rem;
  color: var(--text-light);
}
.legend-dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 6px; }
.legend-dot--free { background: var(--cream-dark); border: 1px solid var(--gold-btn); }
.legend-dot--selected { background: var(--gold-btn); }
.legend-dot--unavailable { background: #cfc6bb; }

.booking-capacity-note {
  background: var(--cream-dark);
  color: var(--brown);
  padding: 10px 16px;
  border-radius: 4px;
  font-size: 0.82rem;
  margin: -8px 0 20px;
}

.booking-price-summary {
  display: flex;
  gap: 32px;
  padding: 18px 20px;
  background: var(--cream-dark);
  border-radius: 6px;
  margin: 24px 0;
}
.booking-price-summary > div { display: flex; flex-direction: column; gap: 4px; }
.booking-price-summary > div[hidden] { display: none; }
.booking-price-summary span { font-size: 0.78rem; color: var(--text-light); text-transform: uppercase; letter-spacing: 0.04em; }
.booking-price-summary strong { font-size: 1.3rem; color: var(--brown); font-family: 'PT Serif', serif; }

.booking-error {
  background: #fbe9e7;
  color: #a13a2b;
  padding: 12px 16px;
  border-radius: 4px;
  font-size: 0.85rem;
  margin-bottom: 16px;
}

@media (max-width: 700px) {
  .booking-calendar-grids { grid-template-columns: 1fr; gap: 32px; }
  .booking-price-summary { flex-direction: column; gap: 12px; }
}

/* ===================== HOMEPAGE: VYHLEDÁNÍ POKOJŮ ===================== */
.room-search {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  align-items: center;
  margin-bottom: 40px;
}
.room-search input[type="date"] {
  padding: 12px 18px;
  border: 1px solid var(--gold-btn);
  border-radius: 30px;
  font-family: inherit;
  font-size: 0.88rem;
  color: var(--brown);
  background: #fff;
}
.room-search-note {
  text-align: center;
  color: var(--text-light);
  font-size: 0.88rem;
  margin: -24px 0 32px;
}
.rooms-grid-more {
  text-align: center;
  margin-top: 32px;
}
#ubytovani .room-card[hidden],
#ubytovani .special-card[hidden] { display: none !important; }
.room-card--extra { display: none !important; }
.room-search .btn[hidden],
.rooms-grid-more .btn[hidden] { display: none !important; }

@media (max-width: 600px) {
  .room-search input[type="date"] { width: 100%; }
  .room-search .btn { width: 100%; }
}
