@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,400;0,600;1,400&display=swap";:root{--bg-primary:#fdfbf7;--bg-surface:#fff;--bg-subtle:#f3f0ea;--text-primary:#1c1b1a;--text-secondary:#575551;--text-muted:#8e8a85;--accent-olive:#6e7059;--accent-olive-light:#8e9178;--accent-sand:#d1c7b8;--border-color:#e6e2d8;--font-serif:"Playfair Display", serif;--font-sans:"Inter", sans-serif;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--shadow-sm:0 1px 2px #1c1b1a0d;--shadow-md:0 4px 6px -1px #1c1b1a0d, 0 2px 4px -1px #1c1b1a08;--shadow-lg:0 10px 15px -3px #1c1b1a0d, 0 4px 6px -2px #1c1b1a08}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:600;line-height:1.2}a{color:inherit;text-decoration:none}button{font-family:var(--font-sans)}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.btn{border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;padding:.75rem 1.5rem;font-size:.95rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary{background-color:var(--text-primary);color:#fff}.btn-primary:hover{background-color:#000;transform:translateY(-1px)}.btn-secondary{color:var(--text-primary);border:1px solid var(--border-color);background-color:#0000}.btn-secondary:hover{background-color:var(--bg-subtle);border-color:var(--text-muted)}.btn-accent{background-color:var(--accent-olive);color:#fff}.btn-accent:hover{background-color:var(--accent-olive-light)}.card{background-color:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.5rem;transition:transform .2s,box-shadow .2s}.card:hover{box-shadow:var(--shadow-md)}.badge{text-transform:uppercase;letter-spacing:.5px;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-available{color:#2e6b2e;background-color:#e8f3e8}.badge-reserved{color:#b26b00;background-color:#fff4e5}.badge-sold{color:#8c2e2e;background-color:#f8e8e8}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.w-full{width:100%}.mt-4{margin-top:1rem}.mb-4{margin-bottom:1rem}.text-center{text-align:center}.app-container{flex-direction:column;min-height:100vh;display:flex}main{flex:1}.route-loading-shell{justify-content:center;align-items:center;min-height:40vh;padding:3rem 1.5rem;display:flex}.route-loading-card{border:1px solid var(--border-color);background-color:var(--bg-surface);color:var(--text-secondary);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:1rem 1.4rem;font-size:.95rem}header{border-bottom:1px solid var(--border-color);background-color:var(--bg-surface);z-index:50;padding:1rem 0;position:sticky;top:0}header .container{justify-content:space-between;align-items:center;display:flex}.app-header-row{flex-wrap:wrap;gap:1rem}.logo{font-family:var(--font-serif);color:var(--accent-olive);align-items:center;gap:.5rem;font-size:1.5rem;font-weight:600;display:flex}.nav-links{align-items:center;gap:2rem;display:flex}.header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1rem;display:flex}.nav-links a{color:var(--text-secondary);font-size:.95rem;font-weight:500;transition:color .2s}.nav-links a:hover{color:var(--text-primary)}.language-toggle{background-color:var(--bg-subtle);border:1px solid var(--border-color);border-radius:999px;align-items:center;padding:.2rem;display:inline-flex}.language-toggle-button{color:var(--text-secondary);letter-spacing:.06em;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.45rem .8rem;font-size:.8rem;font-weight:700;transition:background-color .2s,color .2s}.language-toggle-button.active{background-color:var(--text-primary);color:#fff}@media (width<=768px){.header-actions{justify-content:space-between;width:100%}.nav-links{flex-wrap:wrap;gap:1rem}}
