:root{--bg:#f6f3ec;--card:#fff;--ink:#26301f;--muted:#5d6652;--accent:#3f5a2a;--soft:#e4ead6;--busy:#d9d5cc;--wa:#1fa855}
@media (prefers-color-scheme:dark){:root{--bg:#171a14;--card:#22271d;--ink:#eef1e6;--muted:#aab39c;--accent:#a9c985;--soft:#2d3525;--busy:#3a3f33}}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:var(--accent)}
.hero{position:relative;background:#000}
.hero img{display:block;width:100%;height:min(70vh,560px);object-fit:cover;opacity:.85}
.hero-txt{position:absolute;inset:auto 0 0 0;padding:24px 16px 20px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.75));max-width:1000px;margin:0 auto}
.hero h1{margin:0;font:800 clamp(2rem,7vw,3.4rem)/1.05 "Playfair Display",Georgia,serif}
.hero h1 em{font-style:normal;color:#d8ecb8}
.sub{margin:8px 0 14px;font-size:1.05rem}
.cta{display:flex;flex-wrap:wrap;gap:10px}
.btn{display:inline-block;text-align:center;text-decoration:none;background:var(--accent);color:#fff;font-weight:700;padding:14px 20px;border-radius:12px}
.btn.wa{background:var(--wa);color:#fff}.btn.alt{background:rgba(255,255,255,.9);color:#26301f}
.btn.big{display:block;margin:14px 0;font-size:1.1rem}
main{max-width:1000px;margin:0 auto;padding:0 16px 96px}
section{margin:36px 0}
h2{font:800 1.8rem/1.15 "Playfair Display",Georgia,serif;color:var(--accent);margin:0 0 12px}
h3{margin:0 0 6px;font-size:1.05rem}h4{margin:0 0 4px;color:var(--accent)}
.lead{font-size:1.05rem}.small{color:var(--muted);font-size:.9rem}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.chips span{background:var(--soft);padding:7px 14px;border-radius:999px;font-weight:600;font-size:.95rem}
.gallery{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-auto-flow:dense}
.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;display:block;transition:transform .2s ease}
.gallery a:hover img{transform:scale(1.02)}
.gallery a:first-child{grid-column:span 2;grid-row:span 2}
.card{background:var(--card);border-radius:16px;padding:16px;box-shadow:0 1px 3px rgba(0,0,0,.08);margin:10px 0}
.card ul{margin:4px 0;padding-left:20px}
.grid2{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px;margin:14px 0;text-align:center}
.facts div{background:var(--soft);border-radius:12px;padding:10px}.facts b{display:block;font-size:1.6rem;color:var(--accent)}
details summary{cursor:pointer;font-weight:700}
.amen{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:10px}.amen ul{margin:0;padding-left:20px}
#map{height:320px;border-radius:16px;overflow:hidden;margin:12px 0;z-index:0}
.cal{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.month{background:var(--card);border-radius:16px;padding:12px;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.mh{display:flex;align-items:center;justify-content:space-between;font-weight:700;margin-bottom:8px}
.mh button{background:var(--soft);border:0;border-radius:8px;width:36px;height:36px;font-size:1.2rem;color:var(--ink);cursor:pointer}.mh button:disabled{opacity:.3;cursor:default}
.dow,.days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}
.dow span{font-size:.75rem;color:var(--muted);padding:2px 0}
.days button{border:0;background:none;aspect-ratio:1;font:inherit;color:var(--ink);cursor:pointer;border-radius:8px;margin:1px}
.days button:disabled{color:var(--muted);opacity:.45;cursor:default}
.days button.busy{background:transparent;opacity:.18;cursor:not-allowed}
.days button.in-range{background:var(--soft);border-radius:0}
.days button.edge{background:var(--accent);color:#fff;opacity:1}
.sel{margin:12px 0;font-weight:600}
.badge{text-align:center}
.score{display:flex;align-items:center;justify-content:center;gap:4px;background:transparent;border-radius:12px;padding:8px}
.score img{height:84px;width:auto;mix-blend-mode:multiply}.score span{font:800 4.5rem/1 system-ui,sans-serif;color:var(--ink)}
.cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin-top:12px;text-align:left}
.cats div{background:var(--soft);border-radius:12px;padding:10px;font-size:.9rem}.cats span{display:block;font-size:1.4rem}.cats b{display:block;font-size:1.1rem;color:var(--accent)}
.reviews{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
blockquote.card{margin:0}blockquote.card p{margin:0 0 6px}blockquote footer{color:var(--muted);font-size:.9rem}.stars{color:#e6a817;letter-spacing:2px}
.final{text-align:center;background:var(--soft);border-radius:20px;padding:28px 16px}
footer{text-align:center;color:var(--muted);padding:20px 16px 90px;font-size:.9rem}
.fab{position:fixed;right:16px;bottom:16px;background:var(--wa);color:#fff;font-weight:700;text-decoration:none;padding:14px 20px;border-radius:999px;box-shadow:0 4px 14px rgba(0,0,0,.3);z-index:5}
#lb{position:fixed;inset:0;background:rgba(0,0,0,.92);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:20;color:#fff}
#lb[hidden]{display:none}#lb img{max-width:96vw;max-height:80vh;border-radius:8px}
#lb button{position:absolute;font-size:2.4rem;background:rgba(0,0,0,.4);border:0;color:#fff;width:48px;height:56px;border-radius:12px;cursor:pointer}
#lb .x{top:12px;right:12px;height:48px}#lb .nav{top:50%;transform:translateY(-50%)}#lb .prev{left:8px}#lb .next{right:8px}
