@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;0,700;1,400&family=Montserrat:wght@300;400;500;600&display=swap";:root{--bg-color: #faf7f2;--bg-primary: #faf7f2;--bg-secondary: #f0ebe0;--surface-color: #ffffff;--text-primary: #1a1108;--text-secondary: #4a3f35;--accent-primary: #c41e1e;--accent-secondary: #d4880a;--accent-glow: rgba(196, 30, 30, .15);--glass-bg: rgba(255, 255, 255, .92);--glass-border: rgba(196, 30, 30, .12);--border-color: rgba(26, 17, 8, .15);--card-bg: #ffffff;--shadow-sm: 0 2px 8px rgba(26, 17, 8, .08);--shadow-md: 0 8px 24px rgba(26, 17, 8, .12);--primary-color: #c41e1e}[data-theme=dark]{--bg-color: #0d0a0a;--bg-primary: #0d0a0a;--bg-secondary: #161111;--surface-color: #1c1515;--text-primary: #fbf9f9;--text-secondary: #b8a6a6;--accent-primary: #e63946;--accent-secondary: #ffb703;--accent-glow: rgba(230, 57, 70, .4);--glass-bg: rgba(13, 10, 10, .8);--glass-border: rgba(230, 57, 70, .18);--border-color: rgba(255, 255, 255, .09);--card-bg: #1c1515;--shadow-sm: 0 4px 6px rgba(0, 0, 0, .35);--shadow-md: 0 10px 30px rgba(0, 0, 0, .6);--primary-color: #e63946}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:Montserrat,Inter,system-ui,-apple-system,sans-serif;background-color:var(--bg-color);color:var(--text-primary);line-height:1.6;overflow-x:hidden;transition:background-color .3s ease,color .3s ease}h1,h2,h3,h4,h5,h6{font-family:Cormorant Garamond,Playfair Display,Georgia,serif;font-weight:400;line-height:1.2;margin-bottom:1rem}a{color:inherit;text-decoration:none}ul{list-style:none}img{max-width:100%;height:auto;display:block}button{cursor:pointer;font-family:inherit;border:none;background:none;color:inherit}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}.section{padding:6rem 0}.section-header{text-align:center;margin-bottom:4rem}.section-title{font-size:clamp(2rem,5vw,3rem)}.text-glow{color:var(--accent-primary);text-shadow:0 0 15px var(--accent-glow)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.skip-link{position:absolute;top:-40px;left:0;background:var(--accent-primary);color:#fff;padding:8px;z-index:10000;transition:top .2s}.skip-link:focus{top:0}#scroll-progress{position:fixed;top:0;left:0;width:0%;height:3px;background:var(--accent-primary);z-index:9999;box-shadow:0 0 10px var(--accent-glow)}#three-canvas{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:-1;pointer-events:none}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.8rem 2rem;font-size:.9rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;transition:all .3s ease;border-radius:6px;font-family:Montserrat,sans-serif}.btn-primary{background-color:var(--accent-primary);color:#fff;box-shadow:0 4px 15px var(--accent-glow)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px var(--accent-glow);background-color:var(--accent-secondary);color:#0c0a0a}.btn-outline{background-color:transparent;border:1px solid var(--accent-primary);color:var(--accent-primary)}.btn-outline:hover{background-color:var(--accent-primary);color:#fff;transform:translateY(-2px);box-shadow:0 4px 15px var(--accent-glow)}.btn-secondary{border:1px solid var(--accent-secondary);color:var(--text-primary)}.btn-secondary:hover{background-color:var(--accent-secondary);color:#0c0a0a}.btn-pulse{animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 var(--accent-glow)}70%{box-shadow:0 0 0 15px #e6394600}to{box-shadow:0 0 #e6394600}}.navbar{position:fixed;top:0;left:0;width:100%;z-index:1000;padding:1.5rem 0;transition:all .3s ease}.navbar.scrolled{padding:1rem 0;background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--glass-border);box-shadow:var(--shadow-sm)}.nav-container{display:flex;justify-content:space-between;align-items:center}.logo{font-family:Cormorant Garamond,Playfair Display,Georgia,serif;font-size:1.5rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-primary)}.nav-menu{display:flex}.nav-list{display:flex;gap:2rem}.nav-link{font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;position:relative;padding:.5rem 0}.nav-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background-color:var(--accent-primary);transition:width .3s ease}.nav-link:hover:after{width:100%}.nav-actions{display:flex;align-items:center;gap:1.5rem}.theme-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--surface-color);border:1px solid var(--border-color);color:var(--text-primary);transition:all .3s ease}.theme-toggle:hover{border-color:var(--accent-primary);color:var(--accent-primary)}[data-theme=dark] .sun-icon{display:block}[data-theme=dark] .moon-icon,[data-theme=light] .sun-icon{display:none}[data-theme=light] .moon-icon{display:block}.hamburger{display:none;flex-direction:column;gap:6px;z-index:1001}.hamburger .bar{width:25px;height:2px;background-color:var(--text-primary);transition:all .3s ease}.hero{min-height:100vh;display:flex;align-items:center;padding-top:80px;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:40%;left:30%;transform:translate(-50%,-50%);width:70vw;height:70vw;background:radial-gradient(circle,var(--accent-glow) 0%,transparent 65%);z-index:0;pointer-events:none}.hero:after{content:"";position:absolute;bottom:-10%;right:5%;width:40vw;height:40vw;background:radial-gradient(circle,rgba(255,183,3,.06) 0%,transparent 70%);z-index:0;pointer-events:none}.hero-content{flex:1;padding-right:2rem;padding-left:max(1.5rem,calc((100vw - 1200px)/2));position:relative;z-index:1}.hero-title{font-size:clamp(3rem,8vw,5rem);margin-bottom:1.5rem}.hero-tagline{font-size:1.1rem;color:var(--text-secondary);margin-bottom:2.5rem;max-width:500px;line-height:1.7}.hero-actions{display:flex;gap:1rem}.hero-image-wrapper{flex:.9;height:75vh;position:relative;z-index:1;overflow:visible;margin-right:max(1.5rem,calc((100vw - 1200px)/2));background:transparent;display:flex;align-items:center;justify-content:center}.hero-logo-display{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%}.hero-logo-img{width:400px;height:400px;object-fit:cover;border-radius:50%;border:4px solid var(--border-color);box-shadow:0 20px 45px #00000073;animation:float 6s ease-in-out infinite;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}.hero-logo-img:hover{transform:scale(1.04) translateY(-4px);border-color:var(--accent-primary);box-shadow:0 25px 55px #e6394640}.hero-logo-tagline{font-family:Montserrat,sans-serif;font-size:.85rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);margin-top:.5rem;text-shadow:0 1px 2px rgba(0,0,0,.5)}.hero-image{width:100%;height:100%;object-fit:cover;animation:float 6s ease-in-out infinite;transform-origin:center}@keyframes float{0%{transform:translateY(0) scale(1.02)}50%{transform:translateY(-15px) scale(1.04)}to{transform:translateY(0) scale(1.02)}}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.about-image-wrapper{position:relative;border-radius:10px;overflow:hidden}.about-image-wrapper:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid var(--accent-primary);border-radius:10px;transform:translate(15px,15px);z-index:-1;transition:transform .3s ease}.about-image-wrapper:hover:after{transform:translate(10px,10px)}.about-text p{color:var(--text-secondary);margin-bottom:2rem}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;border-top:1px solid var(--border-color);padding-top:2rem}.stat-item{text-align:center}.stat-number{display:block;font-family:Cormorant Garamond,Playfair Display,Georgia,serif;font-size:2.5rem;color:var(--accent-primary);margin-bottom:.5rem}.stat-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.dishes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.dish-card{background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;overflow:hidden;transition:all .4s ease;position:relative}.dish-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:8px;padding:2px;background:linear-gradient(45deg,transparent,var(--accent-primary),transparent);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .4s ease;pointer-events:none}.dish-card:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 15px 40px #0003}.dish-card:hover:before{opacity:1}.dish-image-wrapper{position:relative;height:250px;overflow:hidden}.dish-image-wrapper img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.dish-card:hover .dish-image-wrapper img{transform:scale(1.1)}.dish-overlay{position:absolute;top:1rem;right:1rem;background:var(--glass-bg);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);padding:.5rem 1rem;border-radius:20px;border:1px solid var(--accent-primary)}.dish-price{color:var(--accent-primary);font-weight:600}.dish-content{padding:1.5rem}.dish-title{font-size:1.25rem;margin-bottom:.5rem}.dish-desc{color:var(--text-secondary);font-size:.9rem}.tabs-header{display:flex;justify-content:center;gap:1rem;margin-bottom:3rem;flex-wrap:wrap}.tab-btn{padding:.7rem 1.5rem;border:1px solid var(--border-color);border-radius:30px;font-size:.82rem;font-family:Montserrat,sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.05em;transition:all .25s ease;background:transparent;color:var(--text-secondary)}.tab-btn:hover{background:#e639461a;color:var(--accent-primary);border-color:var(--accent-primary);transform:translateY(-1px)}.tab-btn.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary);box-shadow:0 4px 14px var(--accent-glow);font-weight:600}.tab-panel{display:none;animation:fadeIn .5s ease}.tab-panel.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.menu-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem}.menu-item{display:grid;grid-template-columns:110px 1fr;grid-template-rows:auto auto;grid-template-areas:"image text" "actions actions";gap:1.25rem;padding:1.25rem;border-radius:16px;background:linear-gradient(145deg,var(--surface-color) 0%,rgba(30,30,30,.4) 100%);border:1px solid var(--border-color);transition:transform .3s cubic-bezier(.25,.8,.25,1),box-shadow .3s ease,border-color .3s ease;position:relative;overflow:hidden;box-shadow:0 4px 20px #00000026}.menu-item:before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:linear-gradient(to bottom,var(--accent-primary),var(--accent-secondary));transform:scaleY(0);transition:transform .3s cubic-bezier(.25,.8,.25,1);transform-origin:bottom;z-index:2}.menu-item:hover{transform:translateY(-6px);box-shadow:0 16px 36px #00000059;border-color:#e6394673}.menu-item:hover:before{transform:scaleY(1)}.menu-item-img{grid-area:image;width:110px;height:110px;border-radius:12px;object-fit:cover;border:2px solid var(--border-color);transition:transform .3s cubic-bezier(.25,.8,.25,1),box-shadow .3s ease;box-shadow:0 6px 16px #00000040}.menu-item:hover .menu-item-img{transform:scale(1.06) rotate(1deg);box-shadow:0 8px 24px #00000059}.menu-item-content{grid-area:text;display:flex;flex-direction:column;justify-content:flex-start;min-width:0;padding-top:.2rem}.menu-item-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.6rem;border-bottom:1px dashed var(--border-color);padding-bottom:.5rem;gap:.5rem}.menu-item-title{font-size:1.15rem;margin:0;font-family:Montserrat,sans-serif;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-item-price{color:var(--accent-primary);font-weight:700;font-size:1.1rem;font-family:Montserrat,sans-serif;flex-shrink:0;text-shadow:0 0 10px rgba(230,57,70,.15)}.menu-item-desc{color:var(--text-secondary);font-size:.85rem;line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;height:2.7rem}.menu-item-actions{grid-area:actions;display:flex;gap:.8rem;padding-top:1.1rem;border-top:1px solid var(--border-color);margin-top:.5rem}.menu-item-actions .btn{flex:1;font-size:.8rem;padding:.65rem 1rem;text-align:center;justify-content:center;white-space:nowrap;font-family:Montserrat,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:10px;transition:all .25s ease;position:relative;overflow:hidden}.add-to-cart-btn{background-color:transparent;border:1.5px solid var(--accent-primary);color:var(--accent-primary)}.add-to-cart-btn:hover{background-color:#e6394614;box-shadow:0 4px 12px #e6394626;transform:translateY(-1px)}.add-to-cart-btn:active{transform:translateY(1px) scale(.98)}.order-now-btn{background:linear-gradient(135deg,var(--accent-primary) 0%,#e6222f 100%);border:none;color:#fff!important;box-shadow:0 4px 15px #e639464d}.order-now-btn:hover{background:linear-gradient(135deg,#e6222f 0%,var(--accent-secondary) 100%);box-shadow:0 6px 20px #e6394680;transform:translateY(-2px)}.order-now-btn:active{transform:translateY(1px) scale(.98);box-shadow:0 2px 8px #e6394633}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.gallery-card{position:relative;overflow:hidden;border-radius:8px;display:flex;flex-direction:column;background:var(--surface-color);border:1px solid var(--border-color);width:100%;aspect-ratio:1 / 1}.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.gallery-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.9) 0%,rgba(0,0,0,.2) 50%,transparent 100%);opacity:.8;transition:opacity .3s ease;pointer-events:none}.gallery-card:hover img{transform:scale(1.05)}.gallery-card:hover:after{opacity:1}.gallery-caption{position:absolute;bottom:0;left:0;width:100%;padding:1.5rem;z-index:2;color:#fff;transform:translateY(20px);opacity:0;transition:all .4s ease}.gallery-card:hover .gallery-caption{transform:translateY(0);opacity:1}.gallery-caption h4{font-family:Montserrat,Inter,system-ui,sans-serif;font-size:1.2rem;margin-bottom:.5rem;color:var(--accent-primary)}.gallery-caption p{font-size:.9rem;line-height:1.4;color:#ffffffe6}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f0f12f2;z-index:2000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s ease}.lightbox:not([hidden]){opacity:1;pointer-events:auto}.lightbox-content{max-width:90vw;max-height:90vh}.lightbox-content img{max-height:90vh;object-fit:contain;box-shadow:0 0 30px #00000080}.lightbox-close{position:absolute;top:20px;right:30px;font-size:3rem;color:#fff;background:none;border:none;cursor:pointer;transition:color .3s ease}.lightbox-close:hover{color:var(--accent-primary)}.slider-container{position:relative;overflow:hidden;padding:2rem 0}.slider-track{display:flex;transition:transform .5s ease-in-out}.slide{min-width:100%;padding:0 1rem}.testimonial-card{background:var(--surface-color);border:1px solid var(--border-color);padding:3rem 2rem;border-radius:12px;text-align:center;max-width:800px;margin:0 auto}.stars{color:var(--accent-primary);font-size:1.5rem;margin-bottom:1.5rem}.testimonial-text{font-size:1.2rem;font-style:italic;margin-bottom:2rem}.testimonial-author{display:flex;align-items:center;justify-content:center;gap:1rem}.avatar{border-radius:50%;border:2px solid var(--accent-primary)}.author-name{font-weight:600;text-transform:uppercase;letter-spacing:.05em}.slider-controls{display:flex;justify-content:center;gap:1rem;margin-top:2rem}.slider-btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--border-color);background:var(--surface-color);transition:all .3s ease}.slider-btn:hover{background:var(--accent-primary);color:#0f0f12;border-color:var(--accent-primary)}.reservation{background:linear-gradient(to right,var(--surface-color),transparent),url(https://picsum.photos/seed/resbg/1920/600) center/cover fixed;position:relative}.reservation:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg-color);opacity:.85}.reservation-content{position:relative;z-index:1;max-width:600px;margin:0 auto;text-align:center}.reservation-form{margin-top:3rem;display:grid;gap:1.5rem}.form-group input,.form-group select{width:100%;padding:1rem;background:var(--surface-color);border:1px solid var(--border-color);color:var(--text-primary);border-radius:4px;font-family:inherit}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-glow)}.order-calculator{background:var(--surface-color);padding:2rem;border-radius:8px;border:1px solid var(--border-color);text-align:left}.order-inputs{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.order-inputs select{flex:1;min-width:200px;padding:.8rem;background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-primary);border-radius:4px}.order-inputs input[type=number]{width:80px;padding:.8rem;background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-primary);border-radius:4px}.order-list{margin-bottom:1.5rem;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);padding:1rem 0;max-height:200px;overflow-y:auto}.order-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.order-item>span{flex:1}.order-item .item-price{text-align:right;margin-right:1rem}.remove-item{color:#f44;font-size:1.2rem;font-weight:700;padding:0 .5rem;background:none;border:none;cursor:pointer}.coupon-section{display:flex;gap:1rem;margin-bottom:1.5rem}.coupon-section input{flex:1;padding:.8rem;background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-primary);border-radius:4px}.coupon-msg{font-size:.9rem;margin-top:-1rem;margin-bottom:1rem}.coupon-msg.success{color:#4caf50}.coupon-msg.error{color:#f44}.checkout-form{margin-top:1.5rem;margin-bottom:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-color);text-align:left}.checkout-title{font-family:Montserrat,Inter,system-ui,sans-serif;font-size:1.2rem;margin-bottom:1rem;color:var(--text-primary)}.form-input{width:100%;padding:.8rem;margin-bottom:1rem;background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-primary);border-radius:4px;font-family:inherit}.form-input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-glow)}.order-summary{margin-bottom:1.5rem}.order-summary p{display:flex;justify-content:space-between;color:var(--text-secondary);margin-bottom:.5rem}.order-summary h3{display:flex;justify-content:space-between;margin-top:1rem;font-family:Montserrat,Inter,system-ui,sans-serif;font-weight:600;color:var(--accent-primary)}.faq-accordion{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:1rem}.faq-item{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;overflow:hidden;transition:all .3s ease}.faq-item:hover{border-color:var(--primary-color);box-shadow:0 4px 15px #f27d261a}.faq-question{width:100%;text-align:left;padding:1.5rem;background:none;border:none;color:var(--text-primary);font-family:Montserrat,Inter,system-ui,sans-serif;font-size:1.1rem;font-weight:600;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:color .3s ease}.faq-question:hover{color:var(--primary-color)}.faq-icon{font-size:1.5rem;font-weight:300;transition:transform .3s ease;color:var(--primary-color)}.faq-question[aria-expanded=true] .faq-icon{transform:rotate(45deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s ease-out,padding .4s ease;padding:0 1.5rem;background:#0003}.faq-question[aria-expanded=true]+.faq-answer{max-height:500px;padding:0 1.5rem 1.5rem}.faq-answer p{color:var(--text-secondary);line-height:1.6;margin:0}.footer{background:var(--surface-color);border-top:1px solid var(--border-color);padding:4rem 0 2rem}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:3rem;margin-bottom:3rem}.footer-logo{font-size:2rem;color:var(--accent-primary)}.footer-desc{color:var(--text-secondary);margin-top:1rem}.footer-heading{font-family:Montserrat,Inter,system-ui,sans-serif;font-size:1.1rem;margin-bottom:1.5rem;text-transform:uppercase;letter-spacing:.05em}.footer-address,.footer-hours{color:var(--text-secondary);font-style:normal}.footer-hours li{margin-bottom:.5rem}.social-links{display:flex;gap:1rem}.social-links a{color:var(--text-secondary);transition:color .3s ease}.social-links a:hover{color:var(--accent-primary)}.footer-bottom{text-align:center;padding-top:2rem;border-top:1px solid var(--border-color);color:var(--text-secondary);font-size:.9rem}.mobile-sticky-cta{display:none;position:fixed;bottom:0;left:0;width:100%;padding:1rem;background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--glass-border);z-index:999}.full-width{width:100%}.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.reveal.active{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.reveal{transition:none;opacity:1;transform:none}.hero-image,.btn-pulse{animation:none}}.cart-toggle{background:none;border:none;color:var(--text-primary);cursor:pointer;padding:.5rem;border-radius:50%;transition:all .3s ease;position:relative;display:flex;align-items:center;justify-content:center}.cart-toggle:hover{background-color:var(--bg-secondary);color:var(--accent-primary)}.cart-badge{position:absolute;top:0;right:0;background-color:var(--accent-primary);color:#fff;font-size:.7rem;font-weight:700;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;transform:translate(25%,-25%)}.cart-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;opacity:0;visibility:hidden;transition:all .3s ease}.cart-overlay.active{opacity:1;visibility:visible}.cart-sidebar{position:fixed;top:0;right:-400px;width:100%;max-width:400px;height:100vh;background-color:var(--bg-primary);box-shadow:-5px 0 25px #0000001a;z-index:1001;display:flex;flex-direction:column;transition:right .4s cubic-bezier(.16,1,.3,1);border-left:1px solid var(--border-color)}.cart-sidebar.active{right:0}.cart-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--border-color)}.cart-header h3{font-size:1.5rem;margin:0}.close-cart{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:50%;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.close-cart:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.cart-items{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.cart-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;background-color:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color)}.cart-item-info{flex:1}.cart-item-title{font-weight:600;margin-bottom:.25rem}.cart-item-price{color:var(--accent-primary);font-weight:500}.cart-item-actions{display:flex;align-items:center;gap:.5rem}.cart-item-btn{background-color:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.cart-item-btn:hover{background-color:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.cart-item-quantity{font-weight:600;min-width:20px;text-align:center}.cart-footer{padding:1.5rem;border-top:1px solid var(--border-color);background-color:var(--bg-primary)}.cart-total{display:flex;justify-content:space-between;align-items:center;font-size:1.25rem;font-weight:700;margin-bottom:1.5rem}.w-100{width:100%}.dish-actions,.menu-item-actions{display:flex;gap:.75rem;margin-top:1.25rem}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .3s ease}.modal-overlay.active{opacity:1;visibility:visible}.modal-content{background-color:var(--bg-primary);padding:3rem 2rem;border-radius:24px;max-width:450px;width:90%;text-align:center;box-shadow:0 25px 50px -12px #00000040;border:1px solid var(--border-color);transform:scale(.9) translateY(20px);transition:all .4s cubic-bezier(.16,1,.3,1)}.modal-overlay.active .modal-content{transform:scale(1) translateY(0)}.modal-icon{width:80px;height:80px;background-color:#f27d261a;color:var(--accent-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.modal-content h3{font-size:1.75rem;margin-bottom:1rem}.modal-content p{color:var(--text-secondary);margin-bottom:2rem;line-height:1.6}.toast-container{position:fixed;bottom:2rem;right:2rem;display:flex;flex-direction:column;gap:1rem;z-index:2000}.toast{background-color:var(--bg-secondary);color:var(--text-primary);padding:1rem 1.5rem;border-radius:12px;box-shadow:var(--shadow-md);border-left:4px solid var(--accent-primary);display:flex;align-items:center;gap:1rem;transform:translate(120%);transition:transform .3s cubic-bezier(.16,1,.3,1)}.toast.active{transform:translate(0)}@media(max-width:768px){.dish-actions,.menu-item-actions{flex-direction:column}}@media(max-width:1024px){.hero-content{padding-left:2rem}.about-grid{gap:2rem}.menu-list{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}@media(max-width:768px){.hamburger{display:flex}.nav-container{justify-content:space-between;align-items:center;position:relative}.logo{position:static;transform:none;max-width:60%;gap:.5rem!important}.logo svg{width:34px!important;height:34px!important}.logo span:first-child{font-size:.95rem!important}.logo span:last-child{font-size:.65rem!important}.nav-actions{gap:.75rem!important}.theme-toggle,.cart-toggle{width:36px!important;height:36px!important}.nav-menu{position:fixed;top:0;right:-100%;width:80%;max-width:400px;height:100vh;background:var(--surface-color);flex-direction:column;justify-content:center;align-items:center;transition:right .4s ease;box-shadow:-5px 0 15px #00000026;z-index:1002}.nav-menu.active{right:0}.nav-list{flex-direction:column;text-align:center;gap:2.5rem}.nav-link{font-size:1.15rem}.hidden-mobile{display:none}.hero{flex-direction:column;text-align:center;padding-top:100px;padding-bottom:3rem;min-height:auto}.hero-content{padding:0 1.25rem;margin-top:1.5rem;order:2}.hero-logo-container{display:none}.hero-actions{justify-content:center;flex-wrap:wrap;gap:.75rem}.hero-image-wrapper{width:100%;height:auto;max-width:none;aspect-ratio:auto;order:1;margin:0 auto;flex-shrink:0;box-shadow:none;border:none;background:transparent;display:flex;align-items:center;justify-content:center}.hero-logo-display{padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%}.hero-logo-img{width:320px;height:320px;border-radius:50%;border:3.5px solid var(--border-color);box-shadow:0 15px 35px #0006}.hero-logo-tagline{font-size:.75rem;margin-top:.25rem}.section{padding:4rem 0}.section-header{margin-bottom:2.5rem}.about-grid{grid-template-columns:1fr;gap:2rem}.about-image-wrapper{order:-1;max-height:280px;overflow:hidden}.about-image-wrapper img{width:100%;height:100%;object-fit:cover}.stats-grid{grid-template-columns:repeat(3,1fr);gap:1rem}.tabs-header{gap:.5rem;padding:0 .5rem}.menu-list{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr;gap:2rem;text-align:center}.social-links{justify-content:center}.mobile-sticky-cta{display:block}.footer{padding-bottom:5rem}}@media(max-width:480px){.hero{padding-top:90px}.hero-title{font-size:2.2rem}.hero-tagline{font-size:.95rem}.hero-image-wrapper{width:100%;height:auto;max-width:none;aspect-ratio:auto;box-shadow:none;border:none;background:transparent;display:flex;align-items:center;justify-content:center}.hero-logo-img{width:260px;height:260px;border-radius:50%;border:3px solid var(--border-color);box-shadow:0 12px 28px #0006}.hero-actions{flex-direction:column;align-items:center}.hero-actions .btn{width:100%;max-width:280px;justify-content:center}.section{padding:3rem 0}.section-title{font-size:1.75rem}.stats-grid{grid-template-columns:1fr;gap:1rem}.menu-item{grid-template-columns:1fr 90px;grid-template-areas:"text image" "actions actions";gap:.85rem;padding:1rem;border-radius:14px}.menu-item-img{grid-area:image;width:90px;height:90px;border-radius:10px;margin:0;border:1px solid var(--border-color)}.menu-item-content{grid-area:text;padding-top:0}.menu-item-header{flex-direction:column;align-items:flex-start;gap:.15rem;margin-bottom:.4rem;padding-bottom:.4rem}.menu-item-title{font-size:1.05rem}.menu-item-price{font-size:.95rem}.menu-item-desc{font-size:.78rem;line-height:1.4;height:2.5rem}.menu-item-actions{grid-area:actions;flex-direction:row;gap:.5rem;padding-top:.8rem}.menu-item-actions .btn{flex:1;font-size:.75rem;padding:.55rem .6rem;border-radius:8px}.tabs-header{flex-wrap:wrap;justify-content:center;gap:.4rem}.tab-btn{padding:.5rem .9rem;font-size:.75rem}.gallery-grid{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr!important;gap:1.5rem!important}.contact-card{padding:1.25rem!important}.order-inputs{flex-direction:column}.order-inputs input[type=number]{width:100%}.coupon-section{flex-direction:column}.gallery-caption{padding:1rem}.gallery-caption h4{font-size:1rem}.gallery-caption p{font-size:.8rem}.cart-sidebar{max-width:100%}.toast-container{bottom:1rem;right:1rem;left:1rem}.toast{font-size:.85rem}}#map{z-index:1}@keyframes marker-pulse{0%{transform:scale(.6);opacity:.9}50%{transform:scale(1.3);opacity:0}to{transform:scale(.6);opacity:0}}@keyframes marker-float{0%{transform:translateY(0)}50%{transform:translateY(-8px)}to{transform:translateY(0)}}.custom-map-popup .leaflet-popup-content-wrapper{background:var(--surface-color)!important;color:var(--text-primary)!important;border:1px solid var(--border-color);border-radius:12px;padding:.25rem;box-shadow:0 4px 20px #0006!important}.custom-map-popup .leaflet-popup-tip{background:var(--surface-color)!important;border:1px solid var(--border-color)}.custom-map-popup .leaflet-popup-content{margin:12px 14px!important}.contact-detail-card{transition:transform .3s ease,border-color .3s ease}.contact-detail-card:hover{transform:translateY(-3px);border-color:var(--accent-primary)!important;box-shadow:0 4px 12px #e6394614}@media(max-width:768px){.contact-grid{grid-template-columns:1fr!important;gap:2rem!important}.contact-card{padding:1.5rem!important}}.closed-banner{position:fixed;top:0;left:0;width:100%;z-index:99999;background:linear-gradient(135deg,#1a0a0a,#0d0a0a);border-bottom:2px solid var(--accent-primary);box-shadow:0 4px 30px #e6394666;padding:.85rem 1.5rem;display:flex;align-items:center;justify-content:center;gap:1rem;animation:slideDown .5s ease forwards}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.closed-banner-icon{font-size:1.4rem;animation:pulse 2s infinite}.closed-banner-text{font-family:Montserrat,sans-serif;font-size:.92rem;font-weight:600;color:#fbf9f9;text-align:center;line-height:1.4}.closed-banner-text span{color:var(--accent-secondary)}.closed-banner-dismiss{background:none;border:1px solid rgba(255,255,255,.2);color:#fff9;border-radius:50%;width:26px;height:26px;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0;margin-left:.5rem}.closed-banner-dismiss:hover{background:#e639464d;border-color:var(--accent-primary);color:#fff}.order-disabled .btn-add-to-cart,.order-disabled [data-action=add-to-cart],.order-disabled .add-to-cart-btn{opacity:.45;pointer-events:none;cursor:not-allowed;filter:grayscale(.4)}body.has-closed-banner{padding-top:58px}@media(max-width:600px){.closed-banner{padding:.75rem 1rem;gap:.6rem}.closed-banner-text{font-size:.8rem}body.has-closed-banner{padding-top:70px}}
