:root {
  --primary: #c9a96e;
  --secondary: #f8f0e3;
  --dark: #2c2c2c;
  --light: #ffffff;
  --muted: #8e8e8e;
  --overlay: rgba(0,0,0,0.6);
  --font-heading: 'Georgia', serif;
  --font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
body { font-family: var(--font-body); }
h1,h2,h3,h4,h5,h6 { font-family: var(--font-heading); color: var(--primary); }
.text-primary { color: var(--primary) !important; }
.btn-primary { background-color: var(--primary); border-color: var(--primary); }
.btn-primary:hover { background-color: #b08a5c; border-color: #b08a5c; }
.bg-primary { background-color: var(--primary) !important; }
.bg-dark { background-color: var(--dark) !important; }
.bg-light { background-color: var(--secondary) !important; }
.hero-section { min-height: 100vh; background-size: cover; background-position: center; position: relative; color: white; }
.hero-section .overlay { position: absolute; top:0;left:0;width:100%;height:100%; background: var(--overlay); }
.hero-section .content { position: relative; z-index:2; }
.navbar { transition: background-color 0.3s ease; background-color: transparent; }
.navbar.scrolled { background-color: rgba(44,44,44,0.95); }
.navbar .nav-link { color: white !important; }
section { padding:  0; }
.section-title { font-size: 2.5rem; font-weight: 600; margin-bottom: 1rem; }
.section-subtitle { font-size: 1.1rem;  }
.card { border: none; transition: transform 0.3s, box-shadow 0.3s; }
.card:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0,0,0,0.1); }
#cookie-banner { position: fixed; bottom:0; left:0; width:100%; background: var(--dark); color: white; padding: 15px; z-index: 9999; display: none; }
#cookie-banner.show { display: block; }
.toast-notification { position: fixed; top: 20px; right: 20px; z-index: 10000; min-width: 250px; }
footer a { color: var(--muted); text-decoration: none; }
footer a:hover { color: var(--primary); }
.bg-image-section { background-size: cover; background-position: center; position: relative; }
.bg-image-section .overlay { background: var(--overlay); }
.gallery-img { width:100%; height:250px; object-fit:cover; border-radius:8px; }
@media (max-width: 768px) { .hero-section { min-height: 60vh; } }