.meal-calendar{margin:0 0 1rem;padding:.5rem .25rem;background:linear-gradient(90deg,#004c4620,#004c460a);border-radius:12px;overflow-x:auto}.meal-calendar .mc-scroll{display:flex;gap:.5rem}.meal-calendar .mc-day{background:#fff;border:1px solid #ddd;border-radius:10px;padding:.5rem .6rem;min-width:74px;display:flex;flex-direction:column;gap:2px;align-items:center;font-size:.75rem;line-height:1.1;position:relative;transition:background .2s,border-color .2s,transform .2s}.meal-calendar .mc-day[aria-pressed=true]{background:#004c46;color:#fff;border-color:#004c46}.meal-calendar .mc-date{font-weight:600;font-size:.8rem}.meal-calendar .mc-count{font-size:.9rem;font-weight:500}.meal-calendar .mc-flag{background:#eee;border-radius:4px;padding:1px 4px;font-size:.55rem;letter-spacing:.5px}.meal-calendar .mc-day[aria-pressed=true] .mc-flag{background:#fff3;color:#fff}.meal-calendar .mc-sold{position:absolute;top:2px;right:4px;background:#c62828;color:#fff;font-size:.55rem;padding:2px 4px;border-radius:3px}.meal-calendar .mc-skel{display:flex;gap:.5rem;width:100%}.meal-calendar .mc-skel-day{flex:0 0 70px;height:60px;background:linear-gradient(90deg,#eee,#f5f5f5,#eee);background-size:200% 100%;animation:mcShine 1.2s infinite;border-radius:10px}@keyframes mcShine{0%{background-position:0 0}to{background-position:-200% 0}}.custom-request-wrapper{margin-top:3rem;border-top:1px solid #e3e3e3;padding-top:2rem}.cr-form .cr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.cr-form label{font-size:.85rem;display:flex;flex-direction:column;gap:.35rem;font-weight:500}.cr-form input[type=text],.cr-form input[type=email],.cr-form input[type=tel],.cr-form input[type=number],.cr-form input[type=date],.cr-form textarea,.cr-form input[type=file]{border:1px solid #c6cdd3;border-radius:10px;padding:.75rem 1rem;font:inherit;font-size:.95rem;line-height:1.35;background:#fff;box-shadow:0 1px #00000005}.cr-form textarea{min-height:170px}.cr-form input:focus,.cr-form textarea:focus{outline:2px solid #0d6efd33;outline-offset:2px;border-color:#0d6efd;box-shadow:0 0 0 3px #0d6efd26}.cr-form label span{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;opacity:.9}.cr-form .cr-field{position:relative}.cr-form .cr-field:not(.cr-consent){margin-bottom:.15rem}.cr-form textarea{resize:vertical}.cr-form .cr-span-2{grid-column:span 2}@media (max-width:640px){.cr-form .cr-span-2{grid-column:span 1}}.cr-alert{margin-bottom:1rem;padding:.75rem 1rem;border-radius:8px;font-size:.85rem}.cr-success{background:#e3f7f1;color:#044c3f}.cr-error{background:#fdecea;color:#8a1f11}.cr-consent{display:flex;flex-direction:row;gap:.5rem;align-items:flex-start}.cr-consent input{margin-top:4px}section{padding:120px 0;position:relative}section:nth-of-type(2n){background-color:var(--light-bg)}.btn{padding:12px 24px;font-weight:500;border-radius:var(--border-radius);border:none;transition:var(--transition)}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:#2d8589;transform:translateY(-3px);box-shadow:0 10px 20px #359da233}.btn-outline-primary{color:var(--primary-color);border:2px solid var(--primary-color);background:transparent}.btn-outline-primary:hover{background:var(--primary-color);color:#fff;transform:translateY(-3px);box-shadow:0 10px 20px #359da233}.navbar{padding:20px 0;transition:var(--transition);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.navbar.scrolled{padding:10px 0;box-shadow:0 2px 8px #0000000f;background:#fff!important}.navbar-brand img{height:60px;transition:var(--transition)}.navbar.scrolled .navbar-brand img{height:50px}.nav-link{color:var(--heading-color);font-weight:500;margin:0 6px;padding:6px 0;position:relative;display:flex;align-items:center;gap:.4rem;transition:all .3s ease;border-radius:8px}.nav-link:after{content:"";position:absolute;width:0;height:2px;background:var(--primary-color);left:0;bottom:5px;transition:width .3s}.nav-link:hover:after,.nav-link.active:after{width:100%}.nav-link:hover{color:var(--primary-color);transform:translateY(-1px)}.nav-icon{font-size:1.1rem;line-height:1;width:1.8rem;height:1.8rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),#2d8589);color:#fff;transition:all .3s ease;box-shadow:0 2px 8px #359da233}.nav-link:hover .nav-icon{transform:scale(1.1) rotate(5deg);box-shadow:0 4px 12px #359da24d;background:linear-gradient(135deg,#2d8589,var(--primary-color))}.dropdown-menu .fas{width:1.4rem;height:1.4rem;text-align:center;display:flex;align-items:center;justify-content:center;border-radius:4px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);color:var(--primary-color);transition:all .2s ease}.dropdown-item:hover .fas{background:linear-gradient(135deg,var(--primary-color),#2d8589);color:#fff;transform:scale(1.05)}.dropdown-menu{border:none;box-shadow:0 8px 25px #00000026;border-radius:12px;padding:8px 0;margin-top:8px}.dropdown-item{padding:10px 16px;display:flex;align-items:center;gap:12px;transition:all .2s ease;border-radius:6px;margin:2px 8px}.dropdown-item:hover{background:linear-gradient(135deg,#f8f9fa,#e9ecef);transform:translate(4px)}@media (max-width: 991px){.nav-icon{font-size:1rem;width:1.6rem;height:1.6rem}}.theme-toggle-btn{width:2.2rem;height:2.2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid var(--primary-color);background:linear-gradient(135deg,#f8f9fa,#fff);transition:all .3s ease;box-shadow:0 2px 8px #359da226}.theme-toggle-btn:hover{background:linear-gradient(135deg,var(--primary-color),#2d8589);border-color:var(--primary-color);transform:scale(1.05) rotate(15deg);box-shadow:0 4px 12px #359da240}.theme-toggle-btn:hover .theme-icon{color:#fff}.theme-icon{color:var(--primary-color);transition:all .3s ease}.lang-flag-btn{border-radius:50px!important;border:2px solid var(--primary-color)!important;background:linear-gradient(135deg,#f8f9fa,#fff)!important;color:var(--primary-color)!important;transition:all .3s ease!important;box-shadow:0 2px 8px #359da226!important;padding:6px 12px!important}.lang-flag-btn:hover{background:linear-gradient(135deg,var(--primary-color),#2d8589)!important;color:#fff!important;transform:translateY(-1px)!important;box-shadow:0 4px 12px #359da240!important}.lang-flag-btn .fi{border-radius:3px;box-shadow:0 1px 3px #0003}.lang-switch .dropdown-menu{min-width:140px}.lang-switch .dropdown-item{font-size:.9rem;font-weight:500}.lang-switch .dropdown-item .fi{border-radius:3px;box-shadow:0 1px 3px #0003}.navbar-nav .nav-item{position:relative}.navbar-nav .dropdown-toggle:after{border:none;content:"";font-family:"Font Awesome 6 Free";font-weight:900;font-size:.8rem;margin-left:.5rem;transition:transform .3s ease}.navbar-nav .dropdown.show .dropdown-toggle:after{transform:rotate(180deg)}@media (max-width: 991px){.navbar-collapse{background:#fffffffa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;margin-top:10px;padding:15px;box-shadow:0 8px 25px #00000026}.navbar-nav .nav-link{padding:12px 16px;margin:4px 0;border-radius:8px;transition:all .3s ease}.navbar-nav .nav-link:hover{background:linear-gradient(135deg,#f8f9fa,#e9ecef);transform:translate(4px)}.navbar-nav .dropdown-menu{background:transparent;border:none;box-shadow:none;padding-left:20px}.navbar-nav .dropdown-item{margin:0;border-radius:6px}}.nav-link:focus,.dropdown-item:focus,.theme-toggle-btn:focus,.lang-flag-btn:focus{outline:2px solid var(--primary-color);outline-offset:2px}.skip-link{position:absolute;top:-40px;left:6px;background:var(--primary-color);color:#fff;padding:8px;border-radius:4px;text-decoration:none;z-index:1000;transition:top .3s ease}.skip-link:focus{top:6px}.hero-section{min-height:100vh;position:relative;padding:0;display:flex;align-items:center;color:#fff;overflow:hidden;background-size:cover;background-position:center;background-attachment:scroll}.hero-section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#000000a6,#0006);z-index:1;pointer-events:none}.hero-content{position:relative;z-index:2;padding:120px 0;animation:fadeInUp 1s ease-out forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-title{font-size:4.5rem;font-weight:800;margin-bottom:1.5rem;color:#fff;text-shadow:0 4px 12px rgba(0,0,0,.9);line-height:1.1;letter-spacing:.5px;position:relative;background:#0006;padding:10px 15px;display:inline-block;border-radius:5px;animation:fadeInLeft 1.2s ease-out forwards}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.hero-subtitle{font-size:1.7rem;margin-bottom:2.5rem;color:#fff;font-weight:500;max-width:600px;text-shadow:0 3px 8px rgba(0,0,0,.9);line-height:1.4;position:relative;background:#0006;padding:8px 15px;display:inline-block;border-radius:5px;animation:fadeInLeft 1.4s ease-out forwards;border-left:3px solid var(--primary-color)}.hero-buttons{display:flex;gap:15px;flex-wrap:wrap;position:relative;z-index:5;animation:fadeInUp 1.6s ease-out forwards}.hero-btn{padding:14px 32px;border-radius:50px;font-weight:500;transition:all .4s ease;text-align:center;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-size:1.1rem}.hero-btn-primary{background:var(--primary-color);color:#fff;box-shadow:0 8px 20px #359da240;position:relative;overflow:hidden}.hero-btn-primary:hover{background:#2d8589;transform:translateY(-4px);box-shadow:0 12px 25px #359da259}.hero-btn-outline{background:#ffffff26;color:#fff;border:2px solid rgba(255,255,255,.4)}.hero-btn-outline:hover{background:#ffffff4d;transform:translateY(-4px);box-shadow:0 12px 25px #00000040}.hero-image-container{position:relative;display:flex;gap:15px;z-index:2;perspective:1000px}.hero-image{width:48%;height:300px;object-fit:cover;border-radius:10px;box-shadow:0 15px 35px #0000004d;transition:all .5s ease;border:3px solid rgba(255,255,255,.2)}.hero-image:hover{transform:translateY(-15px) rotateY(10deg);box-shadow:0 20px 40px #0006;border:3px solid var(--primary-color)}.hero-image-1{margin-top:40px;animation:floatUp 3s ease-in-out infinite alternate}.hero-image-2{margin-top:-20px;animation:floatDown 3.5s ease-in-out infinite alternate}@keyframes floatUp{0%{transform:translateY(0)}to{transform:translateY(-15px)}}@keyframes floatDown{0%{transform:translateY(0)}to{transform:translateY(15px)}}.opening-hours-badge{position:absolute;top:30px;right:30px;background:var(--primary-color);color:#fff;padding:15px 20px;border-radius:10px;z-index:5;font-weight:600;box-shadow:0 10px 20px #0000004d;display:flex;align-items:center;animation:fadeInDown 1s ease-out forwards;border-bottom:3px solid var(--accent-color)}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.opening-hours-badge i{margin-right:10px;font-size:20px;color:var(--accent-color)}.menu-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.menu-tab-btn{background:#fff;border:1px solid #e0e0e0;padding:12px 18px;border-radius:30px;font-size:15px;font-weight:500;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:6px}.menu-tab-btn.active,.menu-tab-btn:hover{background:var(--primary-color);color:#fff;box-shadow:0 4px 12px #359da24d;border-color:var(--primary-color);transform:translateY(-2px)}.menu-item{transition:transform .3s ease,box-shadow .3s ease}.menu-item:hover{transform:translateY(-5px);box-shadow:0 12px 25px #0000001a}.menu-card{background:#fff;border-radius:20px;overflow:hidden;position:relative;height:100%;display:flex;flex-direction:column;box-shadow:0 8px 25px -5px #00000014;transition:all .3s ease}.menu-img-wrapper{position:relative;height:240px;overflow:hidden}.menu-img{width:100%;height:100%;object-fit:cover;transition:transform 8s ease}.menu-card:hover .menu-img{transform:scale(1.1)}.menu-badge{position:absolute;top:15px;left:15px;background:var(--primary-color);color:#fff;padding:6px 14px;font-size:.75rem;border-radius:30px;letter-spacing:.5px;font-weight:600;box-shadow:0 5px 15px #359da266}.menu-content{padding:25px 25px 30px;flex:1;display:flex;flex-direction:column}.menu-title{font-size:22px;font-weight:700;margin-bottom:10px;color:var(--heading-color);letter-spacing:.3px;position:relative;padding-bottom:12px}.menu-title:after{content:"";position:absolute;left:0;bottom:0;width:50px;height:3px;background:var(--primary-color);border-radius:2px}.menu-desc{font-size:14px;line-height:1.55;color:#555;margin-bottom:18px;flex-grow:1}.menu-price{font-size:24px;font-weight:700;color:var(--primary-color);margin-bottom:15px;letter-spacing:.5px}.menu-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.menu-attrs{display:flex;gap:8px}.menu-attr-icon{width:34px;height:34px;border-radius:50%;background:#f8f9fa;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--primary-color);position:relative}.menu-order-btn{background:var(--primary-color);color:#fff;font-weight:600;padding:10px 20px;border-radius:50px;display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-size:.9rem;box-shadow:0 6px 18px #359da240;transition:all .3s ease}.menu-order-btn:hover{background:#2d8589;transform:translateY(-3px);box-shadow:0 10px 25px #359da259}.menu-dish-of-day{background:linear-gradient(135deg,#fff,#f8ffff);border-radius:30px;padding:40px;margin-top:30px;position:relative;overflow:hidden;box-shadow:0 10px 40px -10px #359da226}.menu-dish-of-day-inner{display:flex;gap:40px;align-items:stretch;position:relative}.menu-dish-image{flex:0 0 340px;height:340px;border-radius:25px;overflow:hidden;position:relative;box-shadow:0 10px 30px #00000026}.menu-dish-image img{width:100%;height:100%;object-fit:cover}.menu-dish-title{font-size:34px;font-weight:800;margin-bottom:20px;position:relative;color:var(--heading-color);padding-bottom:20px}.menu-dish-title:after{content:"";position:absolute;left:0;bottom:0;width:70px;height:4px;background:var(--primary-color);border-radius:2px}.menu-dish-desc{font-size:16px;line-height:1.6;color:#444;margin-bottom:25px}.menu-dish-meta{display:flex;gap:25px;align-items:center;margin-bottom:25px}.menu-dish-chef{display:flex;gap:10px;align-items:center;font-weight:600;color:#333}.menu-dish-chef img{width:48px;height:48px;border-radius:50%;object-fit:cover;box-shadow:0 5px 15px #0003}.menu-dish-price{font-size:28px;font-weight:800;color:var(--primary-color);letter-spacing:.5px}.menu-dish-action{margin-top:auto}.menu-dish-btn{background:var(--primary-color);color:#fff;padding:14px 28px;border:none;border-radius:50px;font-weight:600;font-size:16px;display:inline-flex;gap:8px;align-items:center;cursor:pointer;box-shadow:0 8px 25px -6px #359da266;transition:all .35s ease;position:relative;overflow:hidden}.menu-dish-btn:hover{background:#2d8589;transform:translateY(-3px);box-shadow:0 12px 30px -6px #359da28c}.menu-dish-of-day:before{content:"";position:absolute;top:-40%;right:-20%;width:70%;height:160%;background:radial-gradient(circle at center,rgba(53,157,162,.2),transparent 70%);transform:rotate(25deg)}.menu-dish-of-day:after{content:"";position:absolute;bottom:-50%;left:-10%;width:65%;height:140%;background:radial-gradient(circle at center,rgba(53,157,162,.12),transparent 70%);transform:rotate(-15deg)}#order-cart .card{border-radius:18px}#order-cart .card-header{background:#fff;border-bottom:1px solid #eee}#order-cart .card-footer{background:#fff;border-top:1px solid #eee}#order-cart .btn{border-radius:10px}#order-cart .cart-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #f1f1f1}.cr-field{position:relative}.cr-form .is-invalid{border-color:#dc3545!important;background:#fff6f6}.cr-form .invalid-feedback{font-size:.6rem;margin-top:.1rem}.cr-progress{background:#e5e7eb;height:6px;border-radius:4px;overflow:hidden}.cr-progress-bar{background:#0d6efd;height:100%;width:0;transition:width .4s ease}.cr-step{animation:fadeIn .25s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.cr-people-chips,.cr-templates,.cr-suggestions{display:flex;flex-wrap:wrap;gap:.5rem}.cr-chip,.cr-template,.cr-suggestion{border:1px solid #0d6efd;background:#fff;color:#0d6efd;font-size:.65rem;padding:.35rem .6rem;border-radius:999px;line-height:1;cursor:pointer}.cr-chip:hover,.cr-template:hover,.cr-suggestion:hover{background:#0d6efd;color:#fff}.cr-chip:focus,.cr-template:focus,.cr-suggestion:focus{outline:2px solid #0d6efd;outline-offset:2px}.cr-templates{margin-top:.25rem}.cr-templates .cr-template{background:#f8fafc;border-color:#94c5ff;color:#0d6efd}.cr-templates .cr-template:hover{background:#0d6efd;color:#fff}.cr-form-wide{max-width:1320px;margin:0 auto}.cr-form-wide .cr-form .cr-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.cr-tags{display:flex;flex-wrap:wrap;gap:.35rem;padding:.4rem .5rem;border:1px solid #cfd3d6;border-radius:.5rem;background:#fff;cursor:text;min-height:42px}.dark-mode .cr-tags{background:#1e1f20;border-color:#383a3b}.cr-tags:focus-within{box-shadow:0 0 0 2px #0d6efd40}.cr-tags-list{display:flex;flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none}.cr-tag{background:#0d6efd;color:#fff;display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .55rem;border-radius:1rem;font-size:.6rem;line-height:1}.cr-tag-remove{background:none;border:none;color:inherit;font-size:1rem;line-height:1;cursor:pointer;padding:0 .15rem}.cr-tag-remove:focus{outline:2px solid #fff;outline-offset:1px}.cr-tag-input{flex:1 1 120px;min-width:120px;border:none;padding:.25rem;font-size:.65rem;background:transparent;color:inherit}.cr-tag-input:focus{outline:none}.cr-summary-list li{margin:0 0 .15rem}.cr-alert{padding:.65rem .75rem;border-radius:.5rem;font-size:.7rem;margin-bottom:.75rem}.cr-alert.cr-success{background:#d1e7dd;color:#0f5132}.cr-alert.cr-error{background:#f8d7da;color:#842029}.cr-alert.cr-warning{background:#fff3cd;color:#664d03}.cr-alert:focus{outline:3px solid #0d6efd}.cr-submit-btn[disabled]{opacity:.7}.cr-field small{font-size:.6rem}#order-cart .cart-item:last-child{border-bottom:none}#order-cart .remove-item{background:none;border:none;color:#dc3545;cursor:pointer}#order-cart .remove-item:hover{color:#a71d2a}.meal-capacity-badge{display:inline-block;font-size:.65rem;letter-spacing:.5px;text-transform:uppercase;padding:4px 10px;border-radius:30px;font-weight:600;background:linear-gradient(135deg,var(--primary-color),#2d8589);color:#fff;box-shadow:0 4px 12px #359da259}.meal-capacity-badge.low{background:linear-gradient(135deg,#ff9800,#f44336);box-shadow:0 4px 12px #f4433666}.meal-capacity-badge.soldout{background:linear-gradient(135deg,#555,#222);box-shadow:0 4px 12px #00000080}.meal-diet-badge{display:inline-block;font-size:.6rem;letter-spacing:.5px;text-transform:uppercase;padding:3px 8px;border-radius:30px;font-weight:600;background:#f1f5f9;color:#333;border:1px solid #e2e8f0}.meal-diet-badge+.meal-diet-badge{margin-left:4px}#meals-announcer{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.back-to-top{position:fixed;bottom:30px;right:30px;width:50px;height:50px;background:var(--primary-color);color:#fff;border-radius:50%;display:flex;justify-content:center;align-items:center;font-size:22px;box-shadow:0 10px 25px #359da266;cursor:pointer;opacity:0;visibility:hidden;transition:all .35s ease;z-index:1050}.back-to-top.active{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{background:var(--accent-color);transform:translateY(-5px)}.daily-special-badge{position:absolute;top:-10px;right:-10px;background:#ff5722;color:#fff;padding:10px 14px;border-radius:14px;box-shadow:0 8px 20px -5px #00000059;display:flex;flex-direction:column;align-items:flex-start;font-size:.7rem;gap:2px;width:120px;animation:popIn .6s ease}.daily-special-badge .ds-label{font-size:.65rem;letter-spacing:.5px;font-weight:700;text-transform:uppercase;background:#fff2;padding:2px 6px;border-radius:6px}.daily-special-badge .ds-name{font-weight:600;font-size:.8rem;line-height:1.1}.daily-special-badge .ds-price{font-weight:700;font-size:.85rem;margin-top:2px}@keyframes popIn{0%{transform:scale(.6) rotate(-8deg);opacity:0}70%{transform:scale(1.05) rotate(2deg);opacity:1}to{transform:scale(1) rotate(0)}}.btn-fast-day{background:#fff;border:1px solid #ddd;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.btn-fast-day.active{background:#ff5722;border-color:#ff5722;color:#fff}.btn-fast-day:not(.active):hover{background:#ffe4d9}.fast-banner{font-weight:600;border-radius:14px;font-size:.9rem}.fast-banner.alert-success{background:#1b5e20;color:#fff;border:none}.fast-banner.alert-warning{background:#ffecb3;border:none;color:#8d5800}.menu-card{border:2px solid transparent;border-radius:18px}.menu-card:focus-within,.menu-card:focus{outline:none;border-color:#ff5722;box-shadow:0 0 0 3px #ff572255}.menu-card .menu-bottom .btn{border-radius:30px;font-weight:600}.menu-card .badge{border-radius:30px;font-size:.55rem;text-transform:uppercase;letter-spacing:.5px}.cart-slide{transition:transform .4s cubic-bezier(.4,0,.2,1)}.cart-slide.show{transform:translateY(0)}.cart-fab{bottom:20px;right:20px;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;box-shadow:0 10px 25px -6px #0006;z-index:1200}.cart-fab .cart-fab-count{position:absolute;top:6px;right:6px;font-size:.55rem;border-radius:10px}.cart-fab.pulse{animation:cartPulse .6s ease}@keyframes cartPulse{0%{transform:scale(1);box-shadow:0 0 #ff572299}70%{transform:scale(1.08);box-shadow:0 0 0 12px #ff572200}to{transform:scale(1);box-shadow:0 0 #ff572200}}@media (max-width: 576px){.daily-special-badge{top:-6px;right:-6px;padding:8px 10px;width:100px}.menu-card{border-radius:16px}}.opening-hours-badge{background:#1b5e20}.opening-hours-badge.closed{background:#b71c1c}.gallery-section{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff,#f5f9f9)}.gallery-filter-btn{padding:10px 20px;border:none;background:#fff;margin:5px;border-radius:25px;font-weight:500;box-shadow:0 3px 8px #0000000d;transition:.3s}.gallery-filter-btn.active,.gallery-filter-btn:hover{background:var(--primary-color);color:#fff;transform:translateY(-3px)}.gallery-item{position:relative;border-radius:15px;overflow:hidden;box-shadow:0 10px 25px #00000014;transition:.5s;background:#000}.gallery-item:hover{transform:translateY(-10px);box-shadow:0 15px 40px #00000026}.gallery-img{width:100%;height:280px;object-fit:cover;transition:1s ease;filter:brightness(.9)}.gallery-item:hover .gallery-img{transform:scale(1.1) rotate(1deg);filter:brightness(1)}.gallery-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0000,#000000a6);opacity:0;transition:.5s;display:flex;align-items:flex-end;padding:25px}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-info h5{color:#fff;font-weight:600;margin-bottom:6px}.gallery-info p{color:#eee;font-size:14px;margin-bottom:10px}.gallery-icon{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;background:var(--accent-color);color:var(--heading-color);border-radius:50%;box-shadow:0 5px 15px #0003;transition:.3s}.gallery-icon:hover{transform:scale(1.1)}.about-section .about-feature-item{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-weight:600}.about-section .about-feature-item i{color:var(--primary-color)}.catering-section{background:linear-gradient(145deg,#fff,#f6fbfb);position:relative;overflow:hidden}.catering-section:before{content:"";position:absolute;left:-10%;top:-25%;width:60%;height:160%;background:radial-gradient(circle at center,rgba(0,76,70,.1),transparent 70%);pointer-events:none}.catering-section:after{content:"";position:absolute;right:-10%;bottom:-30%;width:55%;height:150%;background:radial-gradient(circle at center,rgba(53,157,162,.15),transparent 70%);pointer-events:none}.catering-header .catering-kicker{letter-spacing:.15em;color:var(--primary-color);display:inline-block}.catering-title{position:relative;letter-spacing:.5px}.catering-subtitle{max-width:760px;margin-left:auto;margin-right:auto;color:#4c5758}.catering-grid{--gap:1.75rem}.catering-card{position:relative;background:#fff;border:1px solid #d6e2e2;border-radius:26px;padding:1.7rem 1.4rem 1.6rem;display:flex;flex-direction:column;box-shadow:0 10px 30px -12px #0000001f;transition:transform .55s cubic-bezier(.4,.15,.2,1),box-shadow .55s cubic-bezier(.4,.15,.2,1),border-color .4s ease;isolation:isolate}.catering-card:hover{transform:translateY(-8px);box-shadow:0 26px 60px -18px #00000038;border-color:#b9d4d4}.catering-card--popular{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color) inset,0 22px 55px -18px #359da266}.catering-card--popular .catering-card-title{color:var(--primary-color)}.catering-badge{position:absolute;top:12px;right:12px;background:linear-gradient(135deg,var(--primary-color),#2d8589);color:#fff;font-size:.55rem;letter-spacing:.12em;font-weight:700;padding:.4rem .55rem;border-radius:8px;box-shadow:0 6px 16px -6px #359da28c;text-transform:uppercase}.catering-card-inner{flex:1;display:flex;flex-direction:column}.catering-card-image-wrapper{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:4/3;background:#eef3f3;box-shadow:0 8px 24px -10px #00000014}.catering-card-image-wrapper img{width:100%;height:100%;object-fit:cover;transition:transform .9s ease}.catering-card:hover .catering-card-image-wrapper img{transform:scale(1.08)}.catering-card-title{font-weight:700;letter-spacing:.5px}.catering-meta{color:#5a6769}.catering-meta-label{font-weight:600;text-transform:uppercase;font-size:.6rem;letter-spacing:.12em;display:inline-block;margin-right:.25rem;color:#2f4f51}.catering-feature-list{margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.catering-feature-item{display:flex;align-items:flex-start;gap:.45rem;line-height:1.25;position:relative;font-size:.78rem;color:#2d3f41}.cf-icon{width:20px;height:20px;background:linear-gradient(135deg,var(--primary-color),#2d8589);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;border-radius:6px;box-shadow:0 4px 10px -4px #359da28c}.catering-pricing{font-size:.85rem}.catering-price-line{display:flex;align-items:baseline;gap:.35rem;font-size:.85rem}.catering-price-label{text-transform:uppercase;font-size:.55rem;letter-spacing:.15em;font-weight:700;color:#2f4f51;background:#e4f2f2;padding:2px 6px;border-radius:5px}.catering-price-value{font-weight:700;font-size:1.05rem;letter-spacing:.5px;color:var(--primary-color)}.catering-lead{font-size:.65rem;letter-spacing:.05em}.catering-ctas .btn{font-size:.65rem;letter-spacing:.15em;padding:.65rem .85rem;text-transform:uppercase;font-weight:700;border-radius:11px}.btn-catering-primary{background:linear-gradient(135deg,var(--primary-color),#2d8589);color:#fff;border:none;box-shadow:0 8px 24px -10px #359da28c;transition:background .45s ease,transform .45s ease,box-shadow .45s ease}.btn-catering-primary:hover,.btn-catering-primary:focus{background:linear-gradient(135deg,#2d8589,#236a70);transform:translateY(-4px);box-shadow:0 14px 36px -14px #359da299}.btn-catering-outline{background:#fff;color:var(--primary-color);border:2px solid var(--primary-color);box-shadow:0 6px 18px -8px #00000014;transition:color .35s ease,background .35s ease,transform .35s ease,box-shadow .45s ease}.btn-catering-outline:hover,.btn-catering-outline:focus{background:var(--primary-color);color:#fff;transform:translateY(-4px);box-shadow:0 18px 40px -14px #359da28c}.catering-card:focus-within{outline:2px solid var(--primary-color);outline-offset:3px}.dark-mode .catering-section{background:linear-gradient(145deg,#0d1818,#122121)}.dark-mode .catering-card{background:#162122;border-color:#293637;box-shadow:0 10px 30px -12px #000000b3}.dark-mode .catering-card:hover{border-color:#355052}.dark-mode .catering-feature-item{color:#d7e7e8}.dark-mode .catering-meta,.dark-mode .catering-lead{color:#9db3b5}.dark-mode .catering-price-label{background:#214647;color:#d7f3f5}.dark-mode .btn-catering-outline{background:#162122;border-color:#2d8589;color:#8cd2d6}.dark-mode .btn-catering-outline:hover{background:#2d8589;color:#fff}@media (max-width: 1199px){.catering-card{padding:1.5rem 1.2rem 1.45rem}}@media (max-width: 767.98px){.catering-card{border-radius:22px}.catering-section:before{top:-35%}}@media (max-width: 575px){.catering-grid-col{flex:0 0 100%;max-width:100%}}.howto-section{background:linear-gradient(135deg,#fff,#f5faf9);position:relative;overflow:hidden}.howto-section:before{content:"";position:absolute;top:-20%;right:-10%;width:55%;height:140%;background:radial-gradient(circle at center,rgba(53,157,162,.15),transparent 70%);pointer-events:none}.howto-intro{color:#596064;font-size:1rem}.dark-mode .howto-section{background:linear-gradient(135deg,#0f1a1a,#112323)}.howto-steps{list-style:none;margin:2.2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.75rem}.howto-step{background:#fff;border:1px solid #dfe4e6;border-radius:22px;padding:1.55rem 1.35rem 1.75rem;position:relative;box-shadow:0 8px 25px -10px #00000014;transition:transform .5s cubic-bezier(.4,.1,.2,1),box-shadow .5s cubic-bezier(.4,.1,.2,1);display:flex;flex-direction:column;isolation:isolate}.dark-mode .howto-step{background:#1e2627;border-color:#2c3536;box-shadow:0 6px 22px -8px #0009}.howto-step:hover{transform:translateY(-6px);box-shadow:0 18px 42px -12px #00000026}.dark-mode .howto-step:hover{box-shadow:0 22px 50px -14px #000000a6}.howto-step:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#359da214,#359da200);opacity:0;transition:opacity .5s ease;border-radius:inherit;z-index:-1}.howto-step:hover:after{opacity:1}.howto-step-number{width:54px;height:54px;background:linear-gradient(135deg,var(--primary-color,#359da2),#2d8589);color:#fff;font-weight:700;font-size:1.15rem;display:flex;align-items:center;justify-content:center;border-radius:16px;margin-bottom:1.1rem;box-shadow:0 10px 26px -10px #359da28c;letter-spacing:.5px}.howto-step-title{font-size:1.15rem;font-weight:700;margin:0 0 .55rem;letter-spacing:.5px;color:var(--heading-color,#1b2b2c)}.dark-mode .howto-step-title{color:#e6f7f8}.howto-step-desc{font-size:.9rem;color:#4b5558;line-height:1.5;margin:0 0 1.4rem}.dark-mode .howto-step-desc{color:#b9c7c9}.howto-step-cta{align-self:flex-start;border:none;background:linear-gradient(135deg,var(--primary-color,#359da2),#307a7f);color:#fff;font-size:.62rem;letter-spacing:.14em;font-weight:700;text-transform:uppercase;padding:.55rem .9rem;border-radius:11px;cursor:pointer;box-shadow:0 8px 20px -8px #359da28c;transition:background .4s ease,transform .4s ease,box-shadow .4s ease;position:relative}.howto-step-cta:hover,.howto-step-cta:focus{background:linear-gradient(135deg,#2d8589,#236a70);outline:none;transform:translateY(-4px);box-shadow:0 14px 30px -10px #359da28c}.howto-step-cta:active{transform:translateY(-1px)}@media (max-width: 820px){.howto-steps{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1.4rem}}@media (max-width: 640px){.howto-steps{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-top:1.75rem}.howto-step{padding:1.2rem 1rem 1.35rem;border-radius:18px}.howto-step-number{width:46px;height:46px;font-size:1rem;margin-bottom:.85rem}.howto-step-title{font-size:1rem}.howto-step-desc{font-size:.8rem;margin-bottom:1rem}}@media (max-width: 767px){.menu-tab-btn{padding:10px 15px;font-size:14px;margin:0 3px 8px}.menu-title{font-size:20px}.menu-price{font-size:22px}.menu-content{padding:20px}.menu-dish-of-day-inner{flex-direction:column;padding:25px}.menu-dish-image{flex:0 0 200px;height:200px;margin:0 auto}.menu-dish-title{font-size:24px;text-align:center;padding-bottom:15px;margin-top:15px}.menu-dish-title:after{left:50%;transform:translate(-50%)}.menu-dish-desc{font-size:16px;text-align:center}.menu-dish-meta{justify-content:center;flex-wrap:wrap}.menu-dish-chef{justify-content:center}.menu-dish-action{text-align:center}.back-to-top{bottom:20px;right:20px;width:40px;height:40px;font-size:18px}.hero-title{font-size:2.8rem}.hero-subtitle{font-size:1.4rem}.hero-image-container{flex-direction:column;gap:20px}.hero-image{width:100%;height:220px}.hero-image-1,.hero-image-2{margin-top:0}.opening-hours-badge{top:20px;right:20px;padding:10px 15px}.gallery-img{height:220px}}@media (max-width: 767px){.back-to-top{display:none!important}}@media (min-width: 768px) and (max-width: 991px){.menu-dish-of-day-inner{padding:25px}.menu-dish-image{flex:0 0 200px;height:200px}.menu-dish-title{font-size:26px}}.requests-section{background:linear-gradient(135deg,#fdfcf9,#f5faf9);position:relative}.requests-section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 80% 20%,rgba(255,215,130,.25),transparent 60%);pointer-events:none}.request-card-wrapper{flex:0 0 auto;width:100%;max-width:350px}.request-card{position:relative;border-radius:22px;overflow:hidden;transition:transform .35s ease,box-shadow .35s ease;background:#fff}.request-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px -10px #0000001f}.request-card-badge{position:absolute;top:12px;left:12px;background:#0009;color:#fff;font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;padding:6px 10px;border-radius:14px;display:flex;align-items:center;gap:4px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.request-card--dine .request-card-badge{background:linear-gradient(135deg,#ffb347,#ff8450)}.request-card--quote .request-card-badge{background:linear-gradient(135deg,#6fa8ff,#4e78ff)}.request-card--custom .request-card-badge{background:linear-gradient(135deg,#9ddc92,#53b16b)}.request-card-icon-wrapper{display:flex;align-items:center;justify-content:center;padding:40px 20px 10px}.request-card-img{width:100%;height:160px;object-fit:cover;border-bottom:1px solid #f0f2f3}.request-card-icon{width:90px;height:90px;border-radius:26px;background:linear-gradient(135deg,#fff,#f1f5f9);display:flex;align-items:center;justify-content:center;color:#444;box-shadow:0 6px 18px -6px #00000026}.request-card h3{letter-spacing:.5px}.btn-request{background:var(--primary-color);color:#fff;font-weight:600;border-radius:14px;border:none;box-shadow:0 6px 18px -6px #00000040}.btn-request:hover{background:#2d8589;color:#fff;box-shadow:0 10px 28px -6px #00000059}@media (min-width: 768px){.request-card-wrapper{width:calc(33.333% - 1rem);min-width:280px}}@media (max-width: 767px){.request-card-icon-wrapper{padding:30px 10px 0}.request-card-wrapper{max-width:400px}}.reveal-on-scroll{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease}.reveal-on-scroll.is-visible{opacity:1;transform:translateY(0)}.contact-form-enhanced .input-icon-wrapper,.contact-form-enhanced .textarea-icon-wrapper{position:relative}.contact-form-enhanced .input-icon-wrapper>i,.contact-form-enhanced .textarea-icon-wrapper>i{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--bs-secondary-color,#6c757d);pointer-events:none}.contact-form-enhanced .textarea-icon-wrapper>i{top:.9rem}.contact-form-enhanced .input-icon-wrapper>input,.contact-form-enhanced .textarea-icon-wrapper>textarea{padding-left:2.1rem}.footer-enhanced h6{letter-spacing:.08em}.footer-enhanced a.text-light:hover{color:#fff;text-decoration:underline}.newsletter-form input:disabled{opacity:.65}.newsletter-form button:disabled{opacity:.65;cursor:not-allowed}.about-intro-content{line-height:1.8;font-size:1.1rem;border-left:4px solid var(--primary-color);padding-left:2rem;margin:2rem 0;background:linear-gradient(135deg,#f8f9fa,#e9ecef);padding:2rem;border-radius:12px;box-shadow:0 4px 15px #00000014}.about-intro-content p{margin-bottom:1.5rem}.about-intro-content p:last-child{margin-bottom:0}.person-card{transition:all .3s ease;border-radius:16px!important;overflow:hidden;background:linear-gradient(135deg,#fff,#f8f9fa)}.person-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #00000026!important}.person-image-wrapper{display:flex;justify-content:center;align-items:center;height:150px}.person-image{width:120px;height:120px;object-fit:cover;border:4px solid var(--primary-color);transition:all .3s ease}.person-card:hover .person-image{transform:scale(1.05);border-color:var(--accent-color)}.person-placeholder{width:120px;height:120px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:4px solid var(--primary-color);transition:all .3s ease}.person-card:hover .person-placeholder{transform:scale(1.05);border-color:var(--accent-color);background:linear-gradient(135deg,var(--primary-color),#2d8589)}.person-card:hover .person-placeholder .fas{color:#fff}.person-content{font-size:.95rem;line-height:1.6;text-align:left}@media (max-width: 767px){.about-intro-content{padding:1.5rem;border-left-width:3px;font-size:1rem}.person-image,.person-placeholder{width:100px;height:100px}.person-image-wrapper{height:130px}}
