@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700&family=Roboto:wght@400;500&display=swap";:root{--font-heading: "Playfair Display", serif;--font-body: "Roboto", sans-serif;--color-primary: #a32a2a;--color-dark: #1a1a1a;--color-light: #f4f4f4;--color-text: #e0e0e0;--container-width: 1100px;--spacing-unit: 1rem}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);line-height:1.6;background:var(--color-dark);color:var(--color-text);font-size:16px}.container{max-width:var(--container-width);margin:0 auto;padding:0 calc(var(--spacing-unit) * 2)}h1,h2,h3{font-family:var(--font-heading);color:var(--color-light);line-height:1.2;margin-bottom:var(--spacing-unit)}h1{font-size:3.5rem}h2{font-size:2.5rem}h3{font-size:1.5rem}p{margin-bottom:var(--spacing-unit)}a{color:var(--color-primary);text-decoration:none}.btn{display:inline-block;background:var(--color-primary);color:var(--color-light);padding:calc(var(--spacing-unit) * .75) calc(var(--spacing-unit) * 1.5);border:none;border-radius:5px;cursor:pointer;font-size:1rem;font-weight:500;transition:background-color .3s ease}.btn:hover{background-color:#c0392b}.header{background:#1a1a1ae6;padding:var(--spacing-unit) 0;position:sticky;top:0;z-index:100;width:100%;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.header .container{display:flex;justify-content:space-between;align-items:center}.header .logo{font-family:var(--font-heading);font-size:1.8rem;color:var(--color-light);font-weight:700}.header nav a{color:var(--color-light);margin-left:calc(var(--spacing-unit) * 2);font-weight:500;transition:color .3s ease}.header nav a:hover{color:var(--color-primary)}section{padding:calc(var(--spacing-unit) * 4) 0;text-align:center}section h2{margin-bottom:calc(var(--spacing-unit) * 2)}.hero{min-height:70vh;display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(#0009,#0009),url(https://images.unsplash.com/photo-1513104890138-7c749659a591?q=80&w=2070&auto=format&fit=crop) center center/cover no-repeat}.hero h1{color:#fff}.hero p{font-size:1.2rem;max-width:600px;margin:var(--spacing-unit) auto calc(var(--spacing-unit) * 2);color:#fff}.about{background:#222}.about p{max-width:700px;margin-left:auto;margin-right:auto}.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:calc(var(--spacing-unit) * 2);text-align:left}.menu-item{background:#2c2c2c;padding:calc(var(--spacing-unit) * 1.5);border-radius:5px}.menu-item h3{color:var(--color-primary)}.menu-item .price{display:block;margin-top:var(--spacing-unit);font-weight:700;color:var(--color-light)}.contact{background:#222}.events-grid{display:grid;gap:calc(var(--spacing-unit) * 2);text-align:left}.event-item{background:#2c2c2c;padding:calc(var(--spacing-unit) * 1.5);border-radius:5px}.event-item h3{color:var(--color-primary)}.event-item .event-date{font-style:italic;color:#aaa;margin-bottom:calc(var(--spacing-unit) * .5)}.footer{background:#111;padding:calc(var(--spacing-unit) * 3) 0;text-align:center}.footer p{margin-top:calc(var(--spacing-unit) * 2);font-size:.9rem;color:#aaa}.newsletter-form{max-width:500px;margin:0 auto}.newsletter-form h3{margin-bottom:calc(var(--spacing-unit) * 1.5)}.form-group{margin-bottom:var(--spacing-unit)}.newsletter-form input[type=email],.newsletter-form input[type=tel]{width:100%;padding:calc(var(--spacing-unit) * .75);background:#333;border:1px solid #555;color:var(--color-light);border-radius:5px}.form-group-checkboxes{display:flex;justify-content:center;gap:var(--spacing-unit);margin-bottom:var(--spacing-unit);text-align:left}.form-group-checkboxes label{display:flex;align-items:center;gap:calc(var(--spacing-unit) / 2)}.status-message{margin-top:var(--spacing-unit);padding:var(--spacing-unit);border-radius:5px}.status-message.success{background:#27ae60;color:#fff}.status-message.error{background:var(--color-primary);color:#fff}@media(max-width:768px){h1{font-size:2.8rem}h2{font-size:2rem}.header .container{flex-direction:column}.header nav{margin-top:var(--spacing-unit)}.header nav a{margin:0 var(--spacing-unit)}}
