/* ── ROOMS PAGE SPECIFICS (Phase 2) ── */

/* PRICING NOTICE — sample starting rates, editable later via admin Rooms CRUD (Phase 4) */
.rc-pricing-note {
  background: var(--char);
  border-bottom: 1px solid rgba(232,160,32,.18);
  padding: .9rem 7vw;
  display: flex; align-items: center; gap: .7rem;
  font-size: .8rem; color: rgb(var(--cream-rgb) / calc(.65 * var(--text-k)));
}
.rc-pricing-note .icon { color: var(--gold-ink); flex-shrink: 0; }

/* ROOM CATEGORIES */
#room-categories { background: var(--deep); }
.rc-grid {
  display: grid; grid-template-columns: repeat(2, 1fr);
  gap: 1.4rem; margin-top: 3rem;
}
.rc-card {
  background: var(--char); border: 1px solid rgb(var(--line-rgb) / calc(.06 * var(--line-k)));
  border-radius: 18px; overflow: hidden;
  transition: border-color .25s, transform .25s, box-shadow .25s;
}
.rc-card:hover { border-color: rgba(232,160,32,.3); transform: translateY(-6px); box-shadow: 0 20px 50px rgb(var(--shadow-rgb) / calc(.4 * var(--shadow-k))); }
.rc-card-img { position: relative; height: 240px; overflow: hidden; }
.rc-card-img img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .6s ease;
}
.rc-card:hover .rc-card-img img { transform: scale(1.06); }
.rc-badge {
  position: absolute; top: 14px; left: 14px; z-index: 2;
  background: var(--gold); color: var(--on-gold);
  font-size: .64rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  padding: .35rem .8rem; border-radius: 99px;
}
.rc-badge.ember { background: var(--ember); color: #fff; }
.rc-body { padding: 1.6rem; }
.rc-body h3 {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.8rem; letter-spacing: .04em; line-height: 1;
}
.rc-body > p.rc-desc { font-size: .85rem; color: rgb(var(--cream-rgb) / calc(.6 * var(--text-k))); margin-top: .6rem; line-height: 1.6; }
.rc-meta {
  display: flex; gap: 1.4rem; margin-top: 1.1rem; flex-wrap: wrap;
}
.rc-meta-item {
  display: flex; align-items: center; gap: .4rem;
  font-size: .74rem; color: var(--mist);
}
.rc-meta-item svg { color: var(--gold-ink); flex-shrink: 0; }
.rc-amenities {
  display: flex; flex-wrap: wrap; gap: .5rem;
  margin-top: 1.2rem;
}
.rc-amenity-tag {
  background: rgb(var(--line-rgb) / calc(.06 * var(--line-k))); color: rgb(var(--cream-rgb) / calc(.7 * var(--text-k)));
  font-size: .68rem; padding: .3rem .7rem; border-radius: 99px;
  letter-spacing: .02em;
}
.rc-footer {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: 1.5rem; padding-top: 1.3rem;
  border-top: 1px solid rgb(var(--line-rgb) / calc(.06 * var(--line-k)));
}
.rc-price .amt {
  font-family: 'Bebas Neue', sans-serif; font-size: 1.7rem; color: var(--gold-ink); line-height: 1;
}
.rc-price .per { font-size: .68rem; color: var(--mist); letter-spacing: .04em; }
.rc-reserve-btn {
  background: var(--gold); color: var(--on-gold); border: none;
  padding: .7rem 1.3rem; border-radius: 6px;
  font-weight: 600; font-size: .78rem; letter-spacing: .05em; text-transform: uppercase;
  cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; gap: .4rem;
  transition: background .2s, transform .2s;
}
.rc-reserve-btn:hover { background: var(--amber); transform: translateY(-1px); }

/* ROOM COMPARISON TABLE */
#room-compare { background: var(--char); }
.rcmp-scroll { overflow-x: auto; margin-top: 3rem; }
.rcmp-table {
  width: 100%; min-width: 720px; border-collapse: collapse;
}
.rcmp-table th, .rcmp-table td {
  padding: 1rem 1.2rem; text-align: center;
  border-bottom: 1px solid rgb(var(--line-rgb) / calc(.06 * var(--line-k)));
  font-size: .82rem;
}
.rcmp-table th:first-child, .rcmp-table td:first-child {
  text-align: left; color: rgb(var(--cream-rgb) / calc(.7 * var(--text-k))); font-weight: 500;
}
.rcmp-table thead th {
  font-family: 'Bebas Neue', sans-serif; font-size: 1.15rem; letter-spacing: .04em;
  color: var(--white); padding-top: 0; padding-bottom: 1.2rem;
  border-bottom: 2px solid rgba(232,160,32,.25);
}
.rcmp-table thead th:first-child { visibility: hidden; }
.rcmp-table tbody tr:last-child td { border-bottom: none; }
.rcmp-check { color: var(--gold-ink); font-size: 1rem; }
.rcmp-dash { color: var(--mist); }

/* BOOK / RESERVE SECTION */
#book { background: var(--bg); }
#rooms-reviews { background: var(--char); }
.bk-notice {
  background: var(--deep); border: 1px solid rgba(232,160,32,.18);
  border-radius: 14px; padding: 1.2rem 1.5rem;
  display: flex; align-items: flex-start; gap: .9rem;
  margin: 2.5rem 0 3rem; max-width: 720px;
}
.bk-notice .icon { color: var(--gold-ink); flex-shrink: 0; margin-top: .15rem; }
.bk-notice p { font-size: .84rem; color: rgb(var(--cream-rgb) / calc(.65 * var(--text-k))); line-height: 1.6; }
.bk-notice strong { color: var(--white); }
/* ── BOOKING FORM: calendar + guest details (Phase 3) ── */
.bk-form-wrap {
  display: grid; grid-template-columns: 1fr 1fr; gap: 1.6rem;
  margin-bottom: 3rem;
}
.bk-form-wrap[hidden] { display: none; }

/* Calendar card */
.bk-cal-card {
  background: var(--char); border: 1px solid rgb(var(--line-rgb) / calc(.06 * var(--line-k)));
  border-radius: 18px; padding: 1.8rem;
}
.bk-cal-top {
  display: flex; align-items: flex-start; justify-content: space-between;
  flex-wrap: wrap; gap: 1rem; margin-bottom: 1.6rem;
  padding-bottom: 1.4rem; border-bottom: 1px solid rgb(var(--line-rgb) / calc(.06 * var(--line-k)));
}
.bk-cal-label {
  font-size: .66rem; letter-spacing: .12em; text-transform: uppercase;
  color: var(--gold-ink); font-weight: 600; margin-bottom: .4rem;
}
.bk-cal-room {
  font-family: 'Bebas Neue', sans-serif; font-size: 1.4rem; letter-spacing: .03em; line-height: 1;
}
.bk-cal-rate { font-size: .8rem; color: rgb(var(--cream-rgb) / calc(.55 * var(--text-k))); margin-top: .3rem; }
.bk-date-chips { display: flex; gap: .7rem; }
.bk-date-chip {
  background: var(--deep); border: 1px solid rgb(var(--line-rgb) / calc(.08 * var(--line-k)));
  border-radius: 10px; padding: .6rem .9rem; min-width: 108px;
}
.bk-date-chip span {
  display: block; font-size: .62rem; letter-spacing: .1em; text-transform: uppercase;
  color: var(--mist); margin-bottom: .25rem;
}
.bk-date-chip strong { font-size: .8rem; color: var(--cream); }
.bk-cal-header {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 1rem;
}
.bk-cal-nav {
  width: 32px; height: 32px; border-radius: 8px;
  background: var(--deep); border: 1px solid rgb(var(--line-rgb) / calc(.1 * var(--line-k))); color: var(--cream);
  font-size: 1.1rem; cursor: pointer; display: flex; align-items: center; justify-content: center;
  transition: border-color .2s, color .2s;
}
.bk-cal-nav:hover { border-color: var(--gold); color: var(--gold-ink); }
.bk-cal-month {
  font-family: 'Bebas Neue', sans-serif; font-size: 1.15rem; letter-spacing: .06em;
}
.bk-cal-weekdays {
  display: grid; grid-template-columns: repeat(7, 1fr);
  margin-bottom: .4rem;
}
.bk-cal-weekdays span {
  text-align: center; font-size: .64rem; letter-spacing: .08em; text-transform: uppercase;
  color: var(--mist);
}
.bk-cal-grid {
  display: grid; grid-template-columns: repeat(7, 1fr); gap: .3rem;
}
.bk-cal-day {
  aspect-ratio: 1; border-radius: 8px; border: 1px solid transparent;
  background: var(--deep); color: var(--cream);
  font-size: .78rem; font-family: 'Inter', sans-serif; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: border-color .15s, background .15s, color .15s;
}
.bk-cal-day.empty { background: transparent; border: none; cursor: default; }
.bk-cal-day:not(.disabled):not(.empty):hover { border-color: rgba(232,160,32,.4); color: var(--gold-ink); }
.bk-cal-day.disabled { color: rgb(var(--cream-rgb) / calc(.2 * var(--text-k))); cursor: not-allowed; }
.bk-cal-day.booked { background: rgba(232,67,32,.08); text-decoration: line-through; color: rgba(232,90,90,.55); }
.bk-cal-day.start, .bk-cal-day.end {
  background: var(--gold); border-color: var(--gold); color: var(--on-gold); font-weight: 700;
}
.bk-cal-day.in-range { background: rgba(232,160,32,.18); color: var(--gold-ink); }
.bk-cal-legend {
  display: flex; gap: 1.2rem; flex-wrap: wrap;
  margin-top: 1.2rem; padding-top: 1.2rem; border-top: 1px solid rgb(var(--line-rgb) / calc(.06 * var(--line-k)));
}
.bk-cal-legend span {
  display: flex; align-items: center; gap: .4rem;
  font-size: .72rem; color: rgb(var(--cream-rgb) / calc(.55 * var(--text-k)));
}
.bk-lg-dot { width: 10px; height: 10px; border-radius: 3px; display: inline-block; }
.bk-lg-dot.available { background: var(--deep); border: 1px solid rgb(var(--line-rgb) / calc(.15 * var(--line-k))); }
.bk-lg-dot.selected { background: var(--gold); }
.bk-lg-dot.booked { background: rgba(232,67,32,.25); }

/* Guest details card */
.bk-guest-card {
  background: var(--char); border: 1px solid rgb(var(--line-rgb) / calc(.06 * var(--line-k)));
  border-radius: 18px; padding: 1.8rem;
  display: flex; flex-direction: column;
}
.bk-price-summary {
  background: var(--deep); border: 1px solid rgba(232,160,32,.15);
  border-radius: 12px; padding: 1.1rem 1.3rem; margin-bottom: 1.6rem;
}
.bk-price-row {
  display: flex; align-items: center; justify-content: space-between;
  font-size: .82rem; color: rgb(var(--cream-rgb) / calc(.7 * var(--text-k)));
}
.bk-price-row + .bk-price-row { margin-top: .6rem; padding-top: .6rem; border-top: 1px solid rgb(var(--line-rgb) / calc(.06 * var(--line-k))); }
.bk-price-row.bk-price-total { font-weight: 700; color: var(--white); }
.bk-price-row.bk-price-total span:last-child { color: var(--gold-ink); font-family: 'Bebas Neue', sans-serif; font-size: 1.2rem; }
.bk-form-row {
  display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; margin-bottom: 1.1rem;
}
.bk-field { display: flex; flex-direction: column; gap: .5rem; }
.bk-field.full { margin-bottom: 1.4rem; }
.bk-field label {
  font-size: .68rem; letter-spacing: .12em; text-transform: uppercase;
  color: var(--gold-ink); font-weight: 600;
}
.bk-field input, .bk-field select, .bk-field textarea {
  background: var(--deep); border: 1px solid rgb(var(--line-rgb) / calc(.1 * var(--line-k)));
  border-radius: 8px; padding: .8rem 1rem;
  color: var(--white); font-size: .86rem; font-family: 'Inter', sans-serif;
}
.bk-field textarea { resize: vertical; min-height: 80px; }
.bk-field input:focus, .bk-field select:focus, .bk-field textarea:focus { outline: none; border-color: var(--gold); }
.bk-field input::placeholder, .bk-field textarea::placeholder { color: var(--mist); }
.bk-guest-card .btn-primary { width: 100%; justify-content: center; margin-top: .3rem; }
.bk-guest-card .btn-primary:disabled { opacity: .45; cursor: not-allowed; transform: none; box-shadow: none; }
.bk-form-fineprint { font-size: .74rem; color: var(--mist); margin-top: .8rem; text-align: center; line-height: 1.5; }

/* Status / confirmation card (replaces the form after submit) */
.btn-secondary {
  background: transparent; color: var(--cream);
  border: 1px solid rgb(var(--line-rgb) / calc(.14 * var(--line-k)));
  padding: .85rem 1.6rem; border-radius: 8px;
  font-weight: 600; font-size: .82rem; letter-spacing: .03em;
  cursor: pointer; transition: border-color .2s, color .2s, background .2s;
}
.btn-secondary:hover { border-color: var(--gold); color: var(--gold-ink); background: rgba(232,160,32,.06); }
.bk-status-card[hidden] { display: none; }
#bk-receipt-btn[hidden] { display: none; }
.bk-status-card {
  background: var(--char); border: 1px solid rgb(var(--line-rgb) / calc(.08 * var(--line-k)));
  border-radius: 18px; padding: 2.4rem 2.2rem; margin-bottom: 3rem;
  display: flex; flex-direction: column; align-items: center; text-align: center; gap: 1.1rem;
}
.bk-status-badge {
  display: inline-flex; align-items: center; gap: .5rem;
  font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  padding: .55rem 1.2rem; border-radius: 99px;
  border: 1px solid rgba(232,160,32,.3);
  background: rgba(232,160,32,.12); color: var(--gold-ink);
}
.bk-status-card.is-confirmed .bk-status-badge {
  border-color: rgba(46,204,113,.35); background: rgba(46,204,113,.12); color: var(--ok-ink);
}
.bk-status-card.is-cancelled .bk-status-badge {
  border-color: rgba(232,90,90,.35); background: rgba(232,90,90,.12); color: var(--bad-ink);
}
.bk-status-card h3 {
  font-family: 'Bebas Neue', sans-serif; font-size: 1.8rem; letter-spacing: .04em; line-height: 1;
}
.bk-status-details {
  display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem 1.6rem;
  font-size: .82rem; color: rgb(var(--cream-rgb) / calc(.75 * var(--text-k)));
}
.bk-status-details span strong { display: block; color: var(--white); font-size: .88rem; margin-top: .15rem; }
.bk-status-note { font-size: .8rem; color: var(--mist); line-height: 1.65; max-width: 420px; }
.bk-status-card .btn-secondary { margin-top: .2rem; }
.bk-transfer-box {
  width: 100%; max-width: 440px;
  background: var(--deep); border: 1px solid rgba(232,160,32,.2);
  border-radius: 14px; padding: 1.4rem 1.5rem; text-align: left;
}
.bk-transfer-box h4 {
  font-size: .78rem; letter-spacing: .1em; text-transform: uppercase;
  color: var(--gold-ink); font-weight: 700; margin-bottom: .9rem;
}
.bk-transfer-row {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  font-size: .8rem; padding: .45rem 0;
  border-bottom: 1px solid rgb(var(--line-rgb) / calc(.06 * var(--line-k)));
}
.bk-transfer-row:last-of-type { border-bottom: none; }
.bk-transfer-row span { color: var(--mist); }
.bk-transfer-row strong { color: var(--cream); text-align: right; }
.bk-transfer-note { font-size: .74rem; color: rgb(var(--cream-rgb) / calc(.5 * var(--text-k))); line-height: 1.55; margin-top: 1rem; }

.bk-contacts-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem;
  margin-top: 3rem;
}
.bk-contact-card {
  background: var(--char); border: 1px solid rgb(var(--line-rgb) / calc(.06 * var(--line-k)));
  border-radius: 16px; padding: 1.8rem; text-align: center;
  transition: border-color .25s, transform .25s, box-shadow .25s;
}
.bk-contact-card:hover { border-color: rgba(232,160,32,.3); transform: translateY(-5px); box-shadow: 0 18px 44px rgb(var(--shadow-rgb) / calc(.35 * var(--shadow-k))); }
.bk-contact-card .icon {
  width: 54px; height: 54px; border-radius: 14px;
  background: rgba(232,160,32,.12); color: var(--gold-ink);
  display: flex; align-items: center; justify-content: center; font-size: 1.4rem;
  margin: 0 auto 1rem;
}
.bk-contact-card h4 { font-size: .92rem; font-weight: 600; margin-bottom: .3rem; }
.bk-contact-card p { font-size: .78rem; color: rgb(var(--cream-rgb) / calc(.55 * var(--text-k))); margin-bottom: .9rem; }
.bk-contact-card a {
  font-size: .74rem; letter-spacing: .06em;
  color: var(--gold-ink); text-decoration: none; font-weight: 600;
}
.bk-contact-card a::after { content: ' →'; }

/* RESPONSIVE */
@media (max-width: 1024px) {
  .rc-grid { grid-template-columns: 1fr; }
  .bk-contacts-grid { grid-template-columns: 1fr 1fr; }
  .bk-form-wrap { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .rc-card-img { height: 200px; }
  .rc-footer { flex-direction: column; align-items: flex-start; gap: 1rem; }
  .rc-reserve-btn { width: 100%; justify-content: center; }
  .bk-contacts-grid { grid-template-columns: 1fr; }
  .bk-cal-card, .bk-guest-card { padding: 1.4rem; }
  .bk-cal-top { flex-direction: column; }
  .bk-date-chips { width: 100%; }
  .bk-date-chip { flex: 1; }
  .bk-form-row { grid-template-columns: 1fr; }
  .bk-status-card { padding: 1.8rem 1.4rem; }
  .bk-status-details { gap: .5rem 1rem; }
}
@media (max-width: 520px) {
  .rc-meta { gap: 1rem; }
  .rcmp-table th, .rcmp-table td { padding: .8rem .8rem; font-size: .76rem; }
  .bk-cal-day { font-size: .7rem; }
  .bk-transfer-row { flex-direction: column; align-items: flex-start; gap: .1rem; }
  .bk-transfer-row strong { text-align: left; }
}
/* GOOD TO KNOW / HOUSE RULES (uses .hs-preview-grid/.hs-preview-card from hotel-shell.css) */
#room-policies { background: var(--deep); }