/* booking.css — Calendar & Room Selection */
.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.cal-nav-btn{background:none;border:1px solid var(--border);padding:6px 14px;cursor:pointer;border-radius:2px;color:var(--navy);font-size:1rem;transition:all .2s}
.cal-nav-btn:hover{background:var(--gold);border-color:var(--gold);color:#fff}
.cal-month-label{font-family:'Cormorant Garamond',serif;font-size:1.18rem;font-weight:400;color:var(--navy)}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:20px}
.cal-day-name{text-align:center;font-family:'Montserrat',sans-serif;font-size:.58rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-light);padding:5px 0}
.cal-day{text-align:center;padding:9px 2px;cursor:pointer;border-radius:3px;font-family:'Montserrat',sans-serif;font-size:.8rem;color:var(--text-body);transition:all .18s;position:relative;border:1px solid transparent;user-select:none}
.cal-day:hover:not(.disabled):not(.empty){background:var(--cream-2);border-color:var(--gold)}
.cal-day.empty{cursor:default;pointer-events:none}
.cal-day.disabled{color:var(--text-light);cursor:not-allowed;text-decoration:line-through;opacity:.5}
.cal-day.checkin,.cal-day.checkout{background:var(--navy);color:#fff;border-color:var(--navy)}
.cal-day.checkin{border-radius:3px 0 0 3px}
.cal-day.checkout{border-radius:0 3px 3px 0}
.cal-day.inrange{background:rgba(184,146,58,.12);border-color:rgba(184,146,58,.2);border-radius:0}
.cal-day.today::after{content:'';position:absolute;bottom:3px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:var(--gold)}
.cal-legend{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:18px}
.legend-item{display:flex;align-items:center;gap:6px;font-family:'Montserrat',sans-serif;font-size:.62rem;color:var(--text-mid)}
.legend-dot{width:12px;height:12px;border-radius:2px;flex-shrink:0}
.date-bar{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;background:var(--cream-2);border:1px solid var(--border);border-radius:4px;padding:14px 18px;margin-bottom:20px}
.date-bar-lbl{font-family:'Montserrat',sans-serif;font-size:.57rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:3px}
.date-bar-val{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:400;color:var(--navy)}
.date-bar-sub{font-family:'Montserrat',sans-serif;font-size:.62rem;color:var(--text-light);margin-top:2px}
.date-bar-arrow{color:var(--text-light);font-size:1.1rem;text-align:center}
.nights-pill{background:var(--gold);color:#fff;font-family:'Montserrat',sans-serif;font-size:.62rem;font-weight:600;padding:3px 9px;border-radius:20px;display:none;margin-top:4px}
.room-card{border:2px solid var(--border);border-radius:5px;padding:18px 20px;margin-bottom:14px;cursor:pointer;transition:all .25s;gap:14px;align-items:center;position:relative;font-size: .68rem;}
.room-card:hover{border-color:var(--gold-light);box-shadow:var(--shadow)}
.room-card.selected{border-color:var(--gold);background:rgba(184,146,58,.03)}
.room-card.selected::before{content:'✓';position:absolute;top:12px;right:14px;width:22px;height:22px;border-radius:50%;background:var(--gold);color:#fff;font-size:.72rem;font-weight:700;line-height:22px;text-align:center}
.room-name{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:400;color:var(--navy);margin-bottom:5px}

.room-thumb{width:88px;height:66px;border-radius:3px;flex-shrink:0;overflow:hidden;position:relative;background:var(--cream-3)}
.room-thumb::before{content:'';position:absolute;inset:0;background-size:cover;background-position:center}
.room-thumb-1::before{background-image:url('https://images.unsplash.com/photo-1522708323590-d24dbb6b0267?w=300&q=70')}
.room-thumb-2::before{background-image:url('https://images.unsplash.com/photo-1578683010236-d716f9a3f461?w=300&q=70')}
.room-info{flex:1;min-width:0;padding-top: 10px;}
.room-name{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:400;color:var(--black);margin-bottom:5px;font-family: 'Fraunces', serif;}
.room-tags{display:flex;gap:5px;flex-wrap:wrap}
.room-price-wrap{text-align:right;white-space:nowrap}
.room-price{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:400;color:var(--black)}
.room-price-sub{font-family:'Montserrat',sans-serif;font-size:.6rem;color:var(--text-light);margin-top:2px}
/* Extra styles for dynamically-rendered room cards */
.room-thumb {
  position: relative;
  width: 90px; min-width: 90px; height: 72px;
  border-radius: 4px; overflow: hidden;
  background: var(--cream-2) center/cover no-repeat;
  flex-shrink: 0;
}
.room-checkmark {
  position: absolute; top: 6px; right: 6px;
  width: 20px; height: 20px; border-radius: 50%;
  background: var(--gold); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 11px; font-weight: 700; line-height: 1;
}

#roomCards .room-price-badge{
font-size:.68rem; font-weight:600;
background:linear-gradient(135deg, #FF385C 0%, #E61E4D 100%); 
color:white; border-radius:6px; padding:2px 7px; margin:2px 0;
}
#roomCards .room-meta{
    font-size:.8rem; color:var(--text-light);
    margin:0 0 10px; padding:0; list-style:none;
    display:flex; flex-wrap:wrap; gap:4px 0;
  }
  #roomCards .room-meta li:not(:last-child)::after{content:"·"; margin:0 6px; color:#C9C0AE;}
  #roomCards .room-tags{display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px;}

  #roomCards .room-cancellation{
    margin-top:auto;
    font-size:.78rem; color:green; font-weight:600;
    display:flex; align-items:center; gap:5px;
  }
  #roomCards .room-cancellation svg{flex-shrink:0;}

  #roomCards .tag{
    font-size:.72rem; padding:3px 9px; border-radius:20px;
    background:var(--cream-2); border:1px solid var(--line); color:var(--text-light);
  }
/*-------*/
