:root{--primary:#c0392b;--primary-dark:#8e2a22;--secondary:#2c3e50;--accent:#e74c3c;--light:#ecf0f1;--dark:#2c3e50;--text:#333}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--text);background:#fff;font-family:Lato,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.6}a{color:var(--primary);text-decoration:none}a:hover{color:var(--accent)}.container{max-width:1200px;margin:0 auto;padding:0 20px}.template-header{z-index:100;background:#fff;border-bottom:1px solid #eee;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:15px 20px;display:flex}.logo-text{color:var(--primary);font-family:Playfair Display,serif;font-size:28px;font-weight:700}.main-nav ul{gap:30px;list-style:none;display:flex}.main-nav a{color:var(--secondary);text-transform:uppercase;font-size:14px;font-weight:600}.main-nav a:hover{color:var(--primary)}.mobile-menu-btn{cursor:pointer;background:0 0;border:none;font-size:24px;display:none}.mobile-nav{background:var(--secondary);padding:20px;display:none}.mobile-nav ul{list-style:none}.mobile-nav a{color:#fff;padding:10px 0;display:block}@media (max-width:768px){.main-nav{display:none}.mobile-menu-btn{display:block}}.hero-slider{height:500px;position:relative;overflow:hidden}.hero-slider .slide{opacity:0;justify-content:center;align-items:center;transition:opacity 1s;display:flex;position:absolute;inset:0}.hero-slider .slide img{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}.hero-slider .slide.active{opacity:1}.slide-content{text-align:center;color:#fff;text-shadow:2px 2px 4px #00000080;padding:20px}.slide-content h2{margin-bottom:15px;font-family:Playfair Display,serif;font-size:48px}.slide-content p{margin-bottom:25px;font-size:20px}.slider-dots{gap:10px;display:flex;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}.slider-dots button{cursor:pointer;background:#ffffff80;border:none;border-radius:50%;width:12px;height:12px}.slider-dots button.active{background:#fff}.hero-loading{background:#f5f5f5;flex-direction:column;justify-content:center;align-items:center;height:500px;display:flex}.loading-spinner{border:3px solid #e0e0e0;border-top-color:var(--primary);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.btn{background:var(--primary);color:#fff;border-radius:3px;padding:12px 30px;font-weight:600;text-decoration:none;transition:background .3s;display:inline-block}.btn:hover{background:var(--accent);color:#fff}.btn-outline{border:2px solid var(--primary);color:var(--primary);background:0 0}.btn-outline:hover{background:var(--primary);color:#fff}.btn-outline-light{color:#fff;background:0 0;border:2px solid #fff}.btn-outline-light:hover{color:var(--primary);background:#fff}.featured-section{background:var(--light);padding:60px 20px}.features-grid{text-align:center;grid-template-columns:repeat(3,1fr);gap:40px;display:grid}.feature-item{background:#fff;border-radius:5px;padding:30px;box-shadow:0 2px 15px #0000001a}.feature-icon{margin-bottom:15px;font-size:48px;display:block}.feature-item h3{color:var(--secondary);margin-bottom:10px;font-family:Playfair Display,serif;font-size:22px}.feature-item p{color:#666}@media (max-width:768px){.features-grid{grid-template-columns:1fr}}.section-header{text-align:center;padding:40px 20px}.section-header h2{color:var(--secondary);margin-bottom:10px;font-family:Playfair Display,serif;font-size:36px}.decorative-line{background:var(--primary);width:60px;height:3px;margin:0 auto}.menu-preview{padding-bottom:60px}.menu-grid{grid-template-columns:repeat(4,1fr);gap:25px;max-width:1200px;margin:0 auto;padding:0 20px;display:grid}.menu-item{text-align:center;background:#fff;border-radius:5px;overflow:hidden;box-shadow:0 2px 10px #0000001a}.menu-image-wrapper{width:100%;height:180px;position:relative}.menu-image{object-fit:cover}.menu-item h3{color:var(--secondary);margin:15px 0 5px;font-family:Playfair Display,serif;font-size:18px}.menu-item .price{color:var(--primary);font-size:16px;font-weight:700}.menu-loading{text-align:center;color:#666;padding:60px}.section-cta{text-align:center;margin-top:40px}@media (max-width:900px){.menu-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:500px){.menu-grid{grid-template-columns:1fr}}.testimonials{background:var(--light);padding:60px 20px}.testimonials-grid{grid-template-columns:repeat(3,1fr);gap:30px;max-width:1200px;margin:0 auto;display:grid}.testimonial-item{background:#fff;border-radius:5px;padding:30px;box-shadow:0 2px 15px #0000001a}.testimonial-text{color:#555;margin-bottom:15px;font-size:15px;font-style:italic}.testimonial-author{color:var(--primary);font-weight:600}@media (max-width:768px){.testimonials-grid{grid-template-columns:1fr}}.cta-section{background:var(--primary);color:#fff;text-align:center;padding:80px 20px}.cta-section h2{margin-bottom:10px;font-family:Playfair Display,serif;font-size:36px}.cta-section p{margin-bottom:25px;font-size:18px}.cta-buttons{justify-content:center;gap:15px;display:flex}@media (max-width:500px){.cta-buttons{flex-direction:column;align-items:center}}.template-footer{background:var(--secondary);color:#fff;padding:60px 20px 20px}.footer-widgets{grid-template-columns:repeat(3,1fr);gap:40px;max-width:1200px;margin:0 auto;display:grid}.footer-widgets h4{color:#fff;margin-bottom:20px;font-family:Playfair Display,serif;font-size:18px}.footer-widgets p{color:#aaa;line-height:1.8}.footer-widgets ul{list-style:none}.footer-widgets li{margin-bottom:10px}.footer-widgets a{color:#aaa;transition:color .3s}.footer-widgets a:hover{color:#fff}.footer-bottom{text-align:center;border-top:1px solid #ffffff1a;max-width:1200px;margin-top:40px;margin-left:auto;margin-right:auto;padding-top:40px}.template-credit{color:#888;margin-top:10px;font-size:12px}.template-credit a{color:#aaa}.social-icons{justify-content:center;gap:15px;margin-top:20px;display:flex}.social-icon{color:#fff;background:#ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:14px;display:inline-flex}.social-icon:hover{background:var(--primary)}@media (max-width:768px){.footer-widgets{text-align:center;grid-template-columns:1fr}}.page-header{background:var(--secondary);color:#fff;text-align:center;padding:60px 20px}.page-header h1{font-family:Playfair Display,serif;font-size:42px}.page-content{max-width:1200px;margin:0 auto;padding:60px 20px}.menu-category{margin-bottom:50px}.menu-category h2{color:var(--secondary);border-bottom:2px solid var(--primary);margin-bottom:25px;padding-bottom:10px;font-family:Playfair Display,serif;font-size:28px}.menu-list{gap:20px;display:grid}.menu-list-item{border-bottom:1px dashed #ddd;justify-content:space-between;padding:15px 0;display:flex}.menu-list-item h3{color:var(--secondary);margin-bottom:5px;font-size:18px}.menu-list-item p{color:#666;font-size:14px}.menu-list-item .price{color:var(--primary);font-size:18px;font-weight:700}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.gallery-item{border-radius:5px;height:250px;position:relative;overflow:hidden}@media (max-width:768px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}.about-content{grid-template-columns:1fr 1fr;align-items:center;gap:40px;display:grid}.about-text h2{color:var(--secondary);margin-bottom:20px;font-family:Playfair Display,serif;font-size:28px}.about-text p{color:#555;margin-bottom:15px;line-height:1.8}.about-image-wrapper{border-radius:5px;height:400px;position:relative;overflow:hidden}@media (max-width:768px){.about-content{grid-template-columns:1fr}}.contact-grid{grid-template-columns:1fr 1fr;gap:40px;display:grid}.contact-form{background:#f9f9f9;border-radius:5px;padding:30px}.form-group{margin-bottom:20px}.form-group label{color:var(--secondary);margin-bottom:5px;font-weight:600;display:block}.form-group input,.form-group textarea{border:1px solid #ddd;border-radius:3px;width:100%;padding:12px;font-size:16px}.form-group textarea{resize:vertical;height:150px}.contact-info h3{color:var(--secondary);margin-bottom:20px;font-family:Playfair Display,serif;font-size:24px}.contact-info p{color:#555;margin-bottom:10px}.map-placeholder{color:#888;background:#e0e0e0;border-radius:5px;justify-content:center;align-items:center;height:300px;margin-top:30px;display:flex}@media (max-width:768px){.contact-grid{grid-template-columns:1fr}}
