:root { --navy: #000080; --gold: #A68966; }
body { font-family: 'Inter', sans-serif; background-color: #fdfdfd; scroll-behavior: smooth; color: #1a1a1a; }
.serif { font-family: 'Playfair Display', serif; }
.section-label { color: var(--gold); font-size: 14px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.4em; display: block; }

.gal-nav { font-size: 10px; font-weight: 800; letter-spacing: 0.1em; color: #999; border: 1px solid #eee; padding: 10px 14px; cursor: pointer; transition: 0.3s; text-transform: uppercase; }
.gal-nav.active { color: white; background: var(--navy); border-color: var(--navy); }
.gal-item { width: 100%; aspect-ratio: 16 / 9; margin-bottom: 24px; border-radius: 4px; overflow: hidden; display: block; background: #f0f0f0; }
.gal-item img { width: 100%; height: 100%; object-fit: cover; }

.cal-day { aspect-ratio: 1/1; display: flex; flex-direction: column; align-items: center; justify-content: center; font-size: 12px; border: 1px solid #f3f4f6; cursor: pointer; transition: 0.2s; background: white; }
.cal-day.booked { background: #f5f5f5 !important; color: #ccc !important; text-decoration: line-through; cursor: not-allowed; pointer-events: none; }
.cal-day.selected { background: var(--gold) !important; color: white !important; border-color: var(--gold) !important; }
.cal-day.in-range { background: #f5ede3 !important; border-color: #e8d5be !important; }
.day-price { font-size: 9px; font-weight: 800; margin-top: 2px; color: var(--gold); }
.cal-day.selected .day-price { color: white; }
.cal-day.in-range .day-price { color: var(--gold); }

.form-input { width: 100%; border: 1px solid #e5e7eb; padding: 12px; font-size: 14px; outline: none; border-radius: 4px; font-family: 'Inter', sans-serif; }
.form-input:focus { border-color: var(--navy); }

.availability-source {
    border: 1px solid #f0f0f0;
    background: #fff;
    padding: 18px;
}
.source-label {
    color: var(--navy);
    font-family: 'Playfair Display', serif;
    font-size: 22px;
    line-height: 1;
}
.source-status {
    color: #9ca3af;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.14em;
    margin-top: 10px;
    text-transform: uppercase;
}
