/* Working CSS */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Inter', system-ui, Segoe UI, Roboto, Arial, sans-serif;line-height:1.6}
:root{ --gold:#e1bd6b; --ink:#1e1c19; --muted:#6b675f; --bg:#ffffff; --bg-elev:#faf9f7; --card:#ffffff; --line:#e8e5de; --shadow:0 10px 30px rgba(0,0,0,.07) }
@media (prefers-color-scheme: dark){ :root{ --ink:#efe9df; --muted:#c2b6a5; --bg:#0b0b0b; --bg-elev:#121212; --card:#141313; --line:#26231f; --shadow:0 14px 40px rgba(0,0,0,.45) } }
:root[data-theme="dark"]{ --ink:#efe9df; --muted:#c2b6a5; --bg:#0b0b0b; --bg-elev:#121212; --card:#141313; --line:#26231f; --shadow:0 14px 40px rgba(0,0,0,.45) }
:root[data-theme="light"]{ --ink:#1e1c19; --muted:#6b675f; --bg:#ffffff; --bg-elev:#faf9f7; --card:#ffffff; --line:#e8e5de; --shadow:0 10px 30px rgba(0,0,0,.07) }
body{background:var(--bg);color:var(--ink)}
.container{width:min(1200px,92%);margin:0 auto}
.site-header{position:sticky;top:0;z-index:1000;background:color-mix(in srgb, var(--bg) 88%, transparent);backdrop-filter:saturate(1.1) blur(10px);border-bottom:1px solid var(--line)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;padding:.8rem 0}
.brand{font-family:'Playfair Display', serif;letter-spacing:.5px;font-weight:700;font-size:1.35rem;color:var(--ink);text-decoration:none}
.nav{display:flex;gap:.9rem;flex-wrap:wrap}
.nav a{padding:.35rem .55rem;border-radius:10px;text-decoration:none;color:var(--ink);font-weight:600;opacity:.9}
.nav a.active,.nav a:hover{opacity:1;color:#000;background:color-mix(in srgb, var(--gold) 20%, transparent)}
#theme-toggle{border:0;background:transparent;font-size:1.1rem;cursor:pointer}
.gradient-hero{background:linear-gradient(135deg,#fff7ea,#f2e4c9 60%, var(--gold));color:#1f1f1f}
@media (prefers-color-scheme: dark){ .gradient-hero{background:linear-gradient(135deg,#23211f,#3f2f1a 60%, #735a2c);color:#fff} }
.hero-inner{min-height:52vh;display:grid;place-items:center;text-align:center;padding:3.2rem 0}
.hero-inner h1{font-family:'Playfair Display', serif;font-size:clamp(2rem,4vw,3.2rem);margin:0 0 .6rem}
.sub{opacity:.85;margin:.2rem 0 1rem}
.kicker{letter-spacing:.08em;color:var(--muted);text-transform:uppercase;font-weight:700;font-size:.78rem}
.btn{display:inline-block;background:var(--gold);color:#000;padding:.75rem 1.15rem;border-radius:999px;font-weight:700;text-decoration:none;border:2px solid var(--gold);cursor:pointer;transition:all .25s ease}
.btn:hover{background:transparent;color:var(--gold)}
.btn.ghost{background:transparent;border:2px solid var(--gold);color:var(--gold)}
.btn.ghost:hover{background:var(--gold);color:#000}
.btn.hover-alt{background:#1a1a1a;color:#fff;border:2px solid #1a1a1a}
.btn.hover-alt:hover{background:#333;color:#fff;border-color:#333}
:root[data-theme="dark"] .btn.hover-alt{background:#f0f0f0;color:#000;border-color:#f0f0f0}
:root[data-theme="dark"] .btn.hover-alt:hover{background:#ddd;color:#000;border-color:#ddd}
.pad{padding:2.8rem 0} .pad-small{padding:1.4rem 0}
h2,h3{font-family:'Playfair Display', serif;margin:0 0 1rem}
.lede{font-size:1.05rem;color:var(--muted);max-width:70ch}
.cards{display:grid;gap:1rem}.cards.two{grid-template-columns:repeat(2,1fr)}.cards.three{grid-template-columns:repeat(3,1fr)}
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:1.1rem;box-shadow:var(--shadow)} .card h3{margin:.2rem 0 .5rem}
.badges{display:flex;gap:.5rem;flex-wrap:wrap}.badge{background:var(--bg-elev);border:1px solid var(--line);padding:.3rem .6rem;border-radius:999px;font-weight:600;color:var(--muted)}
.band{background:var(--bg-elev);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:2.2rem 0}
.table{width:100%;border-collapse:collapse}.table th,.table td{padding:.7rem;border-bottom:1px solid var(--line);text-align:left}
.list{margin:0;padding-left:1.2rem}.list li{margin:.35rem 0}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
.gallery .ph{background:var(--bg-elev);border:1px dashed var(--line);height:220px;border-radius:12px;display:grid;place-items:center;color:var(--muted);font-weight:600}
.page-hero{background:var(--bg-elev);border-bottom:1px solid var(--line);padding:1.2rem 0}
.availability-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:1.2rem}
.calendar-card,.slot-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1rem;box-shadow:var(--shadow)}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.cal-title{font-weight:700}
.cal-nav{border:1px solid var(--line);background:var(--bg-elev);border-radius:10px;padding:.3rem .6rem;cursor:pointer}
.cal-legend{display:flex;gap:1rem;align-items:center;color:var(--muted);font-size:.9rem;margin:.3rem 0 1rem}
.cal-legend .dot{width:.7rem;height:.7rem;border-radius:999px;display:inline-block;margin-right:.35rem;vertical-align:middle}.dot.ok{background:#4caf50}.dot.limited{background:#ff9800}.dot.no{background:#d9534f}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem}.cal-headcell{font-weight:700;color:var(--muted);text-align:center;padding:.4rem 0}
.cal-cell{background:var(--bg-elev);border:1px solid var(--line);min-height:60px;border-radius:10px;display:grid;place-items:end;padding:.3rem}.cal-cell.pad{background:transparent;border:0}.cal-cell.day{cursor:pointer}
.cal-cell.day.ok{box-shadow:inset 0 0 0 2px #244a28}.cal-cell.day.limited{box-shadow:inset 0 0 0 2px #5a3f16}.cal-cell.day.no{box-shadow:inset 0 0 0 2px #5a1f1f;opacity:.85}.cal-cell .num{font-weight:700}
.slot-list{display:grid;gap:.5rem}.slot{display:flex;align-items:center;justify-content:space-between;padding:.6rem .7rem;border:1px solid var(--line);border-radius:12px}
.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:1.2rem;align-items:start}
.form{display:grid;gap:.7rem}.form label{display:grid;gap:.3rem;font-weight:600;color:var(--muted)}
.form input,.form textarea,.form select{padding:.7rem;border-radius:12px;border:1px solid var(--line);background:var(--bg-elev);color:var(--ink)}
.footer{background:var(--bg-elev);border-top:1px solid var(--line);margin-top:2rem;padding:1.5rem 0}
@media (max-width: 1080px){.cards.three{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr 1fr}}
@media (max-width: 760px){.cards.two,.cards.three{grid-template-columns:1fr}.availability-layout{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}}