/* Combined Availability + Booking section */
.booking-availability-section{padding:5rem 1.5rem;background:var(--bg-dark)}
.ba-inner{max-width:980px;margin:0 auto}
.ba-header{text-align:center;margin-bottom:3rem}
.ba-header .section-eyebrow{color:var(--gold)}
.ba-header .section-title{color:var(--text-light)}
.ba-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:2.5rem;align-items:start}

/* Calendar card */
.cal-card{background:rgba(255,255,255,0.03);border:0.5px solid rgba(196,137,58,0.2);border-radius:12px;padding:1.75rem}
.cal-card-title{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem;font-family:'Poppins',sans-serif;font-weight:600}
.cal-months{display:flex;flex-direction:column;gap:1.75rem}
.cal-month-name{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:20px;color:var(--text-light);margin-bottom:1rem}
.cal-days-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.cal-day-label{text-align:center;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:rgba(237,229,216,0.3);padding:0 0 8px;font-family:'Poppins',sans-serif}
.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:12px;color:rgba(237,229,216,0.7);border-radius:4px;position:relative;font-family:'Poppins',sans-serif}
.cal-day.available:hover{background:rgba(196,137,58,0.15);cursor:pointer;color:var(--gold)}
.cal-day.occupied{background:rgba(196,137,58,0.08);color:rgba(237,229,216,0.2);text-decoration:line-through;cursor:not-allowed}
.cal-day.today{border:1px solid var(--gold);color:var(--gold)}
.cal-day.empty{cursor:default}
.cal-legend{display:flex;gap:1.5rem;margin-top:1.25rem}
.legend-item{display:flex;align-items:center;gap:6px;font-size:11px;color:rgba(237,229,216,0.4);font-family:'Poppins',sans-serif}
.legend-dot{width:10px;height:10px;border-radius:3px}
.legend-dot.free{background:transparent;border:0.5px solid rgba(237,229,216,0.25)}
.legend-dot.booked{background:rgba(196,137,58,0.25)}

/* Booking card */
.booking-card{background:var(--bg-light);border-radius:12px;padding:2rem;box-shadow:var(--shadow-dark)}
.booking-card-title{font-family:'Cormorant Garamond',serif;font-weight:500;font-size:24px;color:var(--text-dark);margin-bottom:0.35rem}
.booking-card-sub{font-size:13px;color:var(--text-muted);margin-bottom:1.5rem;font-family:'Poppins',sans-serif}
.cabin-options{display:flex;flex-direction:column;gap:10px;margin-bottom:1.25rem}
.cabin-option{border:1.5px solid rgba(26,18,8,0.12);border-radius:8px;padding:0.9rem 1rem;cursor:pointer;transition:border-color 0.2s,background 0.2s;position:relative;display:flex;align-items:center;gap:0.75rem;background:#fff}
.cabin-option.selected{border-color:var(--gold);background:rgba(196,137,58,0.05)}
.cabin-option input{display:none}
.cabin-option-dot{width:18px;height:18px;border-radius:50%;border:2px solid rgba(26,18,8,0.2);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:border-color 0.2s,background 0.2s}
.cabin-option.selected .cabin-option-dot{border-color:var(--gold);background:var(--gold)}
.cabin-option.selected .cabin-option-dot::after{content:'';width:6px;height:6px;background:#0F0D0B;border-radius:50%;display:block}
.cabin-info{flex:1}
.cabin-name{font-weight:600;font-size:14px;color:var(--text-dark);font-family:'Poppins',sans-serif}
.cabin-desc{font-size:12px;color:var(--text-muted);margin-top:1px;font-family:'Poppins',sans-serif}
.cabin-price{font-size:15px;color:var(--gold);font-weight:600;white-space:nowrap;font-family:'Cormorant Garamond',serif}
.booking-fields{display:flex;flex-direction:column;gap:0.75rem}
.booking-fields .form-input,
.booking-fields .form-select{border-color:rgba(26,18,8,0.12);background:#fff;color:var(--text-dark)}
.booking-fields .form-input:focus,
.booking-fields .form-select:focus{border-color:var(--gold)}
.booking-fields .form-label{color:var(--text-muted)}
.fields-row{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem}
.price-summary{background:rgba(196,137,58,0.07);border:1px solid rgba(196,137,58,0.25);border-radius:8px;padding:1rem 1.1rem;display:none;margin:0.75rem 0}
.price-row{display:flex;justify-content:space-between;align-items:center}
.price-label{font-size:13px;color:var(--text-muted);font-family:'Poppins',sans-serif}
.price-amount{font-size:22px;font-weight:500;color:var(--text-dark);font-family:'Cormorant Garamond',serif}
.price-note{font-size:11px;color:var(--text-muted);margin-top:2px;font-family:'Poppins',sans-serif}
.booking-btn{width:100%;padding:16px;margin-top:0.5rem;background:var(--gold);color:#0F0D0B;font-family:'Poppins',sans-serif;font-size:14px;font-weight:700;border:none;cursor:pointer;border-radius:6px;transition:background 0.25s,transform 0.25s;display:flex;align-items:center;justify-content:center;gap:8px;letter-spacing:0.5px;text-transform:uppercase}
.booking-btn:hover{background:var(--gold-light);transform:translateY(-2px)}
.booking-btn svg{width:18px;height:18px}
.booking-trust{display:flex;gap:1rem;margin-top:0.75rem;justify-content:center;flex-wrap:wrap}
.bt-item{font-size:11px;color:var(--text-muted);display:flex;align-items:center;gap:4px;font-family:'Poppins',sans-serif}
.bt-item::before{content:'✓';color:var(--gold);font-weight:700}
.success-msg{display:none;background:rgba(47,84,53,0.1);border:1.5px solid var(--pine);border-radius:8px;padding:1rem;margin-top:0.75rem;color:var(--pine);font-size:14px;text-align:center;line-height:1.5;font-family:'Poppins',sans-serif}
