:root{--bg:#f5ece8;--bg-alt:#fff8f5;--panel:#fff;--panel-soft:#fdf0eb;--border:#e8c9bc;--text:#1a1d22;--text-muted:#6b6b6b;--accent:#c94e28;--accent-hover:#b0421f;--accent-soft:#f4c5b3;--danger:#a82020;--shadow-sm:0 1px 4px #00000012;--shadow-md:0 4px 18px #0000001a;--radius:12px;--radius-sm:8px;--transition:.18s ease;--admin-canvas:#f7f8fa;--admin-surface:#fff;--admin-surface-muted:#f6f7f8;--admin-border:#e7e9ed;--admin-control-border:#e1e4e8;--admin-text:#20242a;--admin-text-strong:#353b44;--admin-text-muted:#747b85}*,:before,:after{box-sizing:border-box}html,body{max-width:100%;overflow-x:hidden}body{background:var(--bg);min-height:100vh;color:var(--text);-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;font-family:Montserrat,sans-serif;line-height:1.6;display:flex}body.site-loading{overflow:hidden}body.site-loading>:not(#site-loader){visibility:hidden}#site-loader{z-index:9999;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#f5ece8e0;justify-content:center;align-items:center;display:none;position:fixed;inset:0}body.site-loading #site-loader,#site-loader .flex{display:flex}#site-loader .flex-row{flex-direction:row}#site-loader .gap-2{gap:.5rem}#site-loader .w-4{width:1rem}#site-loader .h-4{height:1rem}#site-loader .rounded-full{border-radius:9999px}#site-loader .bg-blue-700{background:#1d4ed8}#site-loader .animate-bounce{animation:1s infinite site-loader-bounce}#site-loader [class*="[animation-delay:-.3s]"]{animation-delay:-.3s}#site-loader [class*="[animation-delay:-.5s]"]{animation-delay:-.5s}@keyframes site-loader-bounce{0%,to{opacity:1;transform:translateY(0)}50%{opacity:.65;transform:translateY(-10px)}}a{color:inherit;text-decoration:none}h1,h2,h3,h4{line-height:1.2}.topnav{z-index:100;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#f5ece8e0;justify-content:space-between;align-items:center;height:54px;padding:0 2rem;display:flex;position:sticky;top:0}.topnav-brand{letter-spacing:.04em;color:var(--accent);font-family:Cinzel,serif;font-size:1.05rem;font-weight:700}.brand-wrap{align-items:center;gap:.55rem;display:inline-flex}.brand-logo{object-fit:contain;border-radius:50%;width:28px;height:28px}.topnav-brand span{white-space:nowrap}.topnav-link{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);border:1px solid var(--border);transition:background var(--transition), color var(--transition), border-color var(--transition);border-radius:99px;padding:.35rem .85rem;font-size:.82rem;font-weight:600}.topnav-link:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.subpage-topnav{background:linear-gradient(#f5ece8e6 0%,#f5ece8c7 100%);border-bottom:1px solid #c59c8a6b;height:60px}.subpage-topnav .topnav-brand{color:#8f3f21;font-size:1rem}.subpage-links{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1rem;display:inline-flex}.subpage-topnav .topnav-link{color:#3f342d;letter-spacing:.08em;background:0 0;border:0;border-radius:0;padding:.2rem .1rem;position:relative}.subpage-topnav .topnav-link:after{content:"";background:var(--accent);transform-origin:0;width:100%;height:1px;transition:transform var(--transition);position:absolute;bottom:-.22rem;left:0;transform:scaleX(0)}.subpage-topnav .topnav-link:hover{color:var(--accent);background:0 0;border:0}.subpage-topnav .topnav-link:hover:after,.subpage-topnav .topnav-link.is-current:after{transform:scaleX(1)}.subpage-topnav .topnav-link.is-current{color:var(--accent)}.hero{justify-content:center;align-items:center;height:clamp(480px,72vh,780px);display:flex;position:relative;overflow:hidden}.hero-bg{background-image:linear-gradient(#140a056b 0%,#140a0547 60%,#140a058c 100%),url(../media/pasta.24nfqdz_1jcve.jpg);background-position:50%;background-size:cover;transition:transform 8s;position:absolute;inset:0;transform:scale(1.03)}.hero:hover .hero-bg{transform:scale(1)}.hero-content{z-index:1;text-align:center;color:#fff;padding:1rem 1.5rem;position:relative}.kicker{letter-spacing:.32em;text-transform:uppercase;opacity:.88;margin:0 0 .4rem;font-family:Cinzel,serif;font-size:clamp(.78rem,1.8vw,1rem);font-weight:500}h1{letter-spacing:.05em;color:#fff;margin:0 0 .5rem;font-family:Cinzel,serif;font-size:clamp(2.6rem,7vw,5.5rem);font-weight:700}.tagline{opacity:.92;margin:0 0 1.2rem;font-family:Cormorant Garamond,serif;font-size:clamp(1.15rem,3vw,1.8rem);font-style:italic}.delivery-badge{letter-spacing:.06em;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid #ffffff80;border-radius:99px;margin:0 0 1.8rem;padding:.35rem 1.1rem;font-size:.88rem;display:inline-block}.btn-hero{background:var(--accent);color:#fff;letter-spacing:.1em;text-transform:uppercase;transition:background var(--transition), transform var(--transition), box-shadow var(--transition);border-radius:99px;padding:.85rem 2.6rem;font-family:Montserrat,sans-serif;font-size:.9rem;font-weight:700;display:inline-block;box-shadow:0 4px 20px #c94e2873}.btn-hero:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 6px 28px #c94e288c}.page-body{gap:3.5rem;width:min(1080px,92%);margin:0 auto;padding:3rem 0 4rem;display:grid}.section-header{margin-bottom:1.6rem}.section-header h2{margin:0 0 .3rem}.section-sub{color:var(--text-muted);margin:0;font-size:.88rem}h2{letter-spacing:.03em;font-family:Cinzel,serif;font-size:clamp(1.35rem,3vw,1.9rem);font-weight:700}h3{letter-spacing:.04em;font-family:Cinzel,serif;font-size:1rem;font-weight:600}.menu-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1rem;display:grid}.menu-group{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition), transform var(--transition);padding:1.1rem 1.2rem}.menu-group:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.menu-group h3{border-bottom:1px solid var(--border);text-transform:uppercase;color:var(--accent);margin:0 0 .7rem;padding-bottom:.55rem}.menu-item{color:var(--text-muted);justify-content:space-between;gap:.5rem;padding:.25rem 0;font-size:.9rem;display:flex}.menu-item strong{color:var(--text);white-space:nowrap}.popup-page{flex-direction:column;flex:1;display:flex}.popup-page main{flex:1}.popup-page .page-body{gap:2.4rem;width:min(1160px,94%);padding-top:2.2rem}.popup-hero{height:clamp(300px,46vh,430px)}.popup-hero .hero-bg{background-image:linear-gradient(#140a0594 0%,#140a056b 58%,#140a059e 100%),url(../media/pasta.24nfqdz_1jcve.jpg)}.popup-page .hero-content{width:min(900px,95%)}.popup-page .hero-content h1{letter-spacing:.1em;font-size:clamp(2.2rem,6vw,4.1rem)}.popup-page .hero-content .tagline{letter-spacing:.06em;font-size:clamp(1rem,2.4vw,1.3rem);font-style:normal}.popup-page .menu-grid{grid-template-columns:repeat(2,minmax(260px,1fr));gap:1.2rem}.popup-page .menu-group{background:linear-gradient(#fffdfa 0%,#fff5f0 100%);border:1px solid #e4bfb0;border-radius:14px;padding:1.25rem 1.3rem;box-shadow:0 5px 18px #32140814}.popup-page .menu-group h3{color:#8e3c1f;letter-spacing:.07em;border-bottom:2px solid #f0d1c4;font-size:1.05rem}.popup-page .menu-group h3:after{content:"✦";float:right;color:#d48e73;font-size:.8rem;transform:translateY(2px)}.popup-page .menu-note{letter-spacing:.09em;text-transform:uppercase;color:#8e6f62;flex-wrap:wrap;align-items:center;gap:.35rem;margin:-.15rem 0 .55rem;font-size:.72rem;display:flex}.popup-page .menu-note-size{color:#9b5638;letter-spacing:.05em;background:#fff6f1;border:1px solid #e2c0b3;border-radius:999px;justify-content:center;align-items:center;min-width:56px;padding:.14rem .48rem;font-size:.66rem;font-weight:700;display:inline-flex}.popup-page .menu-item{color:#5f4a40;border-bottom:1px dashed #ebcfc2;grid-template-columns:auto 1fr auto;align-items:center;gap:.6rem;padding:.45rem 0;display:grid}.popup-page .menu-item:last-child{border-bottom:0}.popup-page .menu-item:before{content:"•";color:#c79885;font-size:.9rem}.popup-page .menu-meta{align-items:center;gap:.5rem;display:inline-flex}.popup-page .menu-name{color:#5a4337}.popup-page .menu-size{color:#9b5638;letter-spacing:.05em;text-transform:uppercase;background:#fff6f1;border:1px solid #e2c0b3;border-radius:999px;justify-content:center;align-items:center;min-width:52px;padding:.15rem .45rem;font-size:.67rem;font-weight:700;display:inline-flex}.popup-page .menu-item strong{color:#7e3217;font-weight:700}.popup-page .section--form{background:#fff;border:1px solid #e7c8bb;border-radius:14px;padding:1.2rem;box-shadow:0 5px 16px #3214080f}.order-form{gap:1.5rem;display:grid}.form-group{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin:0;padding:1.4rem 1.5rem}.form-group legend{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);padding:0 .5rem;font-family:Cinzel,serif;font-size:.85rem;font-weight:700}.fieldset-header{justify-content:space-between;align-items:center;margin-bottom:.8rem;display:flex}.fieldset-header legend{margin:0;padding:0}.field-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1rem;margin-top:1rem;display:grid}label{gap:.4rem;display:grid}label span{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:.8rem;font-weight:600}label span em{color:var(--accent);font-style:normal}input,select,textarea,button{font:inherit}input,select,textarea{border:1px solid var(--border);background:var(--bg-alt);width:100%;color:var(--text);border-radius:var(--radius-sm);transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:.65rem .85rem}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #c94e281f}textarea{resize:vertical}.full-width{grid-column:1/-1}.no-margin{margin-top:0}.option-group{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-alt);gap:.65rem;margin-top:1rem;padding:.85rem .95rem;display:grid}.option-group-title{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:.8rem;font-weight:600}.option-group-title em{color:var(--accent);font-style:normal}.option-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.45rem .7rem;display:grid}.option-list.compact{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.choice-row{align-items:center;gap:.55rem;margin:0;font-weight:500;display:flex}.choice-row input[type=checkbox],.choice-row input[type=radio]{width:16px;height:16px;accent-color:var(--accent);flex-shrink:0}.choice-row span{text-transform:none;letter-spacing:0;color:var(--text);font-size:.86rem;font-weight:500}.line-items{gap:.65rem;display:grid}.line-item{background:var(--panel-soft);border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:1.4fr 1.2fr 100px 80px 36px;align-items:center;gap:.5rem;padding:.55rem .75rem;display:grid}.line-item-extras{border-top:1px dashed var(--border);grid-column:1/-1;gap:.45rem;margin-top:.1rem;padding-top:.45rem;display:grid}.line-item-extras[hidden]{display:none}.line-item-extras-title{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:.73rem;font-weight:600}.line-item-extra-list{gap:.35rem;display:grid}.item-extra-option{grid-template-columns:minmax(0,1fr) 92px;align-items:center;gap:.5rem;display:grid}.item-extra-meta{color:var(--text-muted);margin-top:.1rem;font-size:.74rem;display:block}.item-extra-qty{text-align:right}.protein-addon-section{gap:.7rem;margin-bottom:1rem;display:grid}.protein-addon-help{color:var(--text-muted);margin:0;font-size:.82rem}.protein-addon-group{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel-soft);gap:.45rem;padding:.65rem .8rem;display:grid}.protein-addon-group legend{color:var(--text);padding:0 .35rem;font-size:.8rem;font-weight:700}.protein-addon-options{flex-wrap:wrap;gap:.45rem 1rem;display:flex}.protein-addon-option{align-items:center;gap:.35rem;font-size:.82rem;display:inline-flex}.protein-addon-option input{width:1rem;height:1rem;accent-color:var(--accent);margin:0}.protein-addon-option strong{color:var(--accent);white-space:nowrap}.item-price{text-align:right;white-space:nowrap;font-size:.9rem;font-weight:700}.qty-stepper{border:1px solid var(--border);border-radius:var(--radius-sm);align-items:stretch;height:36px;display:flex;overflow:hidden}.qty-stepper .qty-dec,.qty-stepper .qty-inc{background:var(--panel-soft);width:28px;color:var(--accent);transition:background var(--transition), color var(--transition);border:none;border-radius:0;flex-shrink:0;padding:0;font-size:1.1rem;font-weight:700;line-height:1}.qty-stepper .qty-dec:hover,.qty-stepper .qty-inc:hover{background:var(--accent);color:#fff;box-shadow:none;transform:none}.qty-stepper .item-qty{border:none;border-left:1px solid var(--border);border-right:1px solid var(--border);text-align:center;appearance:textfield;background:0 0;flex:auto;width:0;padding:0;font-size:.88rem;font-weight:600}.qty-stepper .item-qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.qty-stepper .item-qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}button{cursor:pointer;letter-spacing:.04em;transition:background var(--transition), color var(--transition), border-color var(--transition), transform var(--transition), box-shadow var(--transition);border:1px solid #0000;border-radius:99px;padding:.6rem 1.2rem;font-size:.88rem;font-weight:600}.btn-primary{background:var(--accent);color:#fff;letter-spacing:.07em;text-transform:uppercase;padding:.75rem 2.2rem;font-weight:700;box-shadow:0 3px 14px #c94e284d}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 5px 20px #c94e2861}.btn-outline{border-color:var(--border);color:var(--text-muted);background:0 0}.btn-outline:hover{border-color:var(--accent);color:var(--accent)}.btn-ghost{border:1px dashed var(--accent);color:var(--accent);border-radius:var(--radius-sm);background:0 0;padding:.45rem 1rem;font-size:.82rem}.btn-ghost:hover{background:var(--panel-soft)}#add-item{color:#3a9a5c;border-color:#3a9a5c}#add-item:hover{color:#fff;background:#3a9a5c}.remove-item{color:#a05050;background:0 0;border:1px solid #e0b8b0;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:.75rem;line-height:1;display:flex}.remove-item:hover{border-color:var(--danger);color:var(--danger);background:#fde8e8}label[data-tip]{position:relative}label[data-tip]:after{content:attr(data-tip);color:#fff;font-size:.72rem;font-family:var(--font-body);white-space:normal;pointer-events:none;opacity:0;z-index:200;background:#1a1a1a;border-radius:6px;width:max-content;max-width:240px;padding:.4rem .65rem;font-weight:400;line-height:1.45;transition:opacity .18s;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:0 3px 10px #00000047}label[data-tip]:hover:after,label[data-tip]:focus-within:after{opacity:1}.btn-secondary{background:var(--panel-soft);border-color:var(--border);color:var(--text)}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.order-summary{background:var(--panel-soft);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:flex-end;gap:2rem;padding:1rem 1.2rem;font-size:.92rem;display:flex}.summary-total strong{color:var(--accent);font-size:1.1rem}.form-actions{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.order-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:1rem;display:grid}.order-main{min-width:0}.order-steps{flex-wrap:wrap;gap:.6rem;margin-bottom:1rem;display:flex}.step-chip{border:1px solid var(--border);background:var(--panel-soft);color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:.45rem .8rem;font-size:.77rem}.step-chip.is-active{color:#fff;border-color:var(--accent);background:var(--accent)}.order-step{gap:.8rem;display:grid}.order-step[hidden]{display:none!important}.field-hint{color:var(--text-muted);margin-top:-.2rem;font-size:.8rem}.field-error{color:var(--danger);margin-top:-.15rem;font-size:.78rem;display:none}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 3px #a82b2b1f}.sticky-summary{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);align-self:start;gap:.7rem;padding:.95rem;display:grid;position:sticky;top:5.5rem}.sticky-summary h3{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin:0;font-size:.82rem}.summary-label{color:var(--text-muted);margin:0}.summary-lines{gap:.45rem;max-height:250px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.summary-lines li{color:var(--text-muted);justify-content:space-between;gap:.5rem;font-size:.84rem;display:flex}.summary-lines strong{color:var(--text)}.order-review{background:var(--panel-soft);border:1px solid var(--border);border-radius:var(--radius-sm);gap:.65rem;padding:.95rem;display:grid}.order-review h3{text-transform:uppercase;letter-spacing:.07em;color:var(--accent);margin:0;font-size:.87rem}.review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem .75rem;display:grid}.review-grid p,.section-sub,.review-total,.review-list{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.review-list li{justify-content:space-between;gap:.5rem;font-size:.87rem;display:flex}.review-item-main{gap:.2rem;display:grid}.review-extra-note{color:var(--text-muted);font-size:.76rem}.mobile-summary-bar{display:none}.invoice-modal{z-index:200;place-items:center;display:grid;position:fixed;inset:0}.invoice-modal[hidden]{display:none}.invoice-modal-backdrop{background:#0e0a089e;position:absolute;inset:0}.invoice-modal-panel{border:1px solid var(--border);background:linear-gradient(#fff 0%,#fffaf8 100%);border-radius:16px;gap:1rem;width:min(640px,100% - 1.4rem);max-height:calc(100vh - 1.5rem);padding:1.1rem;display:grid;position:relative;overflow:auto;box-shadow:0 18px 45px #140a0559}.invoice-modal-x{border:1px solid var(--border);width:32px;height:32px;color:var(--text-muted);background:#fff;border-radius:50%;padding:0;font-size:1.15rem;line-height:1;position:absolute;top:.55rem;right:.55rem}.invoice-modal-x:hover{color:var(--accent);border-color:var(--accent)}.invoice-modal-panel h2,.invoice-modal-panel h3{color:var(--accent);text-transform:uppercase;letter-spacing:.07em;margin:0;font-size:.95rem}.invoice-modal-header{border-bottom:1px solid #c94e2838;gap:.25rem;padding-bottom:.75rem;display:grid}.invoice-modal-kicker{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0;font-family:Cinzel,serif;font-size:.78rem}.invoice-modal-subtitle{color:var(--text-muted);margin:0;font-size:.84rem}.catering-inquiry-launch{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.catering-modal-backdrop{z-index:220;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a07069e;justify-content:center;align-items:center;padding:.8rem;display:flex;position:fixed;inset:0}.catering-modal{border:1px solid var(--border);background:linear-gradient(#fff 0%,#fffaf8 100%);border-radius:16px;width:min(840px,100%);max-height:calc(100vh - 1.6rem);padding:1.15rem;position:relative;overflow:auto;box-shadow:0 22px 48px #0c07056b}.catering-modal-close{border:1px solid var(--border);width:32px;height:32px;color:var(--text-muted);background:#fff;border-radius:999px;padding:0;font-size:1.1rem;line-height:1;position:absolute;top:.55rem;right:.55rem}.catering-modal-close:hover{border-color:var(--accent);color:var(--accent)}.catering-modal-head{gap:.35rem;margin-bottom:.75rem;padding-right:2.2rem;display:grid}.catering-modal-kicker{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0;font-family:Cinzel,serif;font-size:.78rem}.catering-modal-head h3{margin:0;font-size:1.2rem}.invoice-preview-content{gap:.8rem;display:grid}.invoice-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.invoice-meta-grid p{border:1px solid var(--border);background:#fff;border-radius:10px;gap:.1rem;margin:0;padding:.5rem .6rem;display:grid}.invoice-meta-grid span{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;font-size:.72rem}.invoice-items-wrap{border:1px solid var(--border);background:#fff;border-radius:10px;gap:.55rem;padding:.65rem;display:grid}.invoice-items-title{color:var(--accent);text-transform:uppercase;letter-spacing:.07em;margin:0;font-size:.78rem}.invoice-items-wrap .review-list li{border-bottom:1px dashed #c94e2838;padding-bottom:.35rem}.invoice-items-wrap .review-list li:last-child{border-bottom:0;padding-bottom:0}.invoice-items-wrap .review-total{border-top:1px solid #c94e2838;justify-content:space-between;align-items:center;padding-top:.45rem;display:flex}.invoice-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;display:flex}.invoice-modal-actions .btn-primary{min-width:150px}.invoice-modal-actions button{padding:.56rem 1.05rem;font-size:.8rem}.btn-confirm{color:#fff;letter-spacing:.05em;text-transform:uppercase;background:#2a8f4e;border:1px solid #2a8f4e;border-radius:99px;font-weight:700}.btn-confirm:hover{background:#20713d;border-color:#20713d}body.modal-open{overflow:hidden}.message{min-height:1.2rem;color:var(--accent);margin:0;padding:.5rem 0;font-size:.88rem;font-weight:600}.message.error{color:var(--danger)}.saved-orders{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.saved-orders li{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);flex-wrap:wrap;justify-content:space-between;gap:.4rem;padding:.75rem 1rem;font-size:.9rem;display:flex}.site-footer{text-align:center;color:#ffffff8c;background:#2a1a12;margin-top:auto;padding:2.5rem 1rem;font-size:.85rem;line-height:1.9;position:relative}.footer-brand{color:#fff;margin:0 0 .3rem;font-family:Cinzel,serif;font-size:1.2rem;font-weight:700}.footer-brand-wrap{justify-content:center}.footer-admin-link{margin:0;font-size:.95rem;line-height:1;position:absolute;bottom:.55rem;right:.8rem}.footer-admin-link a{justify-content:center;align-items:center;width:1.35rem;height:1.35rem;display:inline-flex}.site-footer a{color:var(--accent-soft)}.site-footer a:hover{color:#fff}.landing-hero .hero-bg{background-image:linear-gradient(90deg,#140a0526 0%,#140a0514 50%,#140a0500 100%),url(../media/HeroHome.1i25p01iuhas6.png);background-position:top}.landing-topnav{-webkit-backdrop-filter:none;background:0 0;border-bottom:0;justify-content:flex-start;gap:.8rem;width:100%;height:auto;padding:1.25rem 2rem;position:absolute;inset:0 auto auto 0}.landing-topnav .topnav-link{color:#2f2721;letter-spacing:.08em;text-shadow:0 1px #ffffff73;background:0 0;border:0;border-radius:0;padding:.2rem .35rem}.landing-topnav .topnav-link:hover{color:var(--accent);background:0 0;border:0}.landing-hero{justify-content:flex-end}.landing-panel{text-align:left;color:#5f4638;-webkit-backdrop-filter:blur(2px)saturate(1.05);background:linear-gradient(90deg,#f4e6d600 0%,#f4e6d659 20%,#f4e6d6c7 48%,#f4e6d6ed 76%,#f4e6d6f7 100%);flex-direction:column;justify-content:center;align-self:stretch;align-items:flex-start;width:min(46%,560px);margin-left:auto;margin-right:0;padding:6.5rem 3.2rem 3rem;display:flex;position:relative}.landing-panel:before,.landing-panel:after{content:"";opacity:.45;border:1px solid #7b5e4c52;width:44px;height:44px;position:absolute;transform:rotate(45deg)}.landing-panel:before{top:1.5rem;right:1.55rem}.landing-panel:after{bottom:1.5rem;left:1.55rem}.landing-panel .kicker{color:#493124eb;letter-spacing:.12em;margin-bottom:.9rem}.landing-brand{letter-spacing:.01em;color:#5a4032;text-shadow:0 1px 1px #fff3;text-transform:none;margin:0;font-family:Cormorant Garamond,serif;font-size:clamp(3rem,6vw,4.8rem);font-style:italic;font-weight:500}.landing-subtitle{text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin:.1rem 0 1.2rem;font-size:clamp(.95rem,1.5vw,1.25rem)}.landing-panel .delivery-badge{color:#574033;background:#ffffff94;border-color:#83634f59;margin-bottom:1.25rem}.landing-panel .btn-hero,.landing-panel .btn-outline{box-shadow:0 4px 14px #784d3440}.catering-hero .hero-bg{background-image:linear-gradient(#140a0573 0%,#140a054d 60%,#140a0599 100%),url(../media/pasta.24nfqdz_1jcve.jpg)}.contact-hero .hero-bg{background-image:linear-gradient(#140a0580 0%,#140a0557 58%,#140a0599 100%),url(../media/pasta.24nfqdz_1jcve.jpg);background-position:50% 22%}.contact-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;display:grid}.contact-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);padding:1rem 1.05rem}.contact-card h3{color:var(--accent);text-transform:uppercase;margin:0 0 .45rem}.contact-card p{color:var(--text);margin:0}.landing-actions{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:.7rem;margin:0;display:flex}a.btn-outline{letter-spacing:.07em;text-transform:uppercase;border-radius:99px;padding:.72rem 1.5rem;font-size:.8rem;font-weight:700;display:inline-block}.landing-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.info-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.2rem 1.3rem}.info-card h3{color:var(--accent);text-transform:uppercase;margin:0 0 .6rem}.info-card p{color:var(--text-muted);margin:0;font-size:.92rem}.event-spotlight{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);grid-template-columns:minmax(280px,420px) 1fr;gap:1rem;display:grid;overflow:hidden}.event-media{background:var(--bg-alt);border-right:1px solid var(--border);align-items:flex-start;padding:.8rem;display:flex}.event-flyer{border-radius:var(--radius-sm);border:1px solid var(--border);width:100%;height:auto;display:block}.event-content{gap:.8rem;padding:1.35rem 1.35rem 1.5rem;display:grid}.event-content h3{color:var(--accent);text-transform:uppercase;margin:0}.event-content p{color:var(--text-muted);margin:0}.event-list{color:var(--text);gap:.35rem;margin:0;padding:0 0 0 1rem;font-size:.9rem;display:grid}.service-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.service-card{background:var(--panel-soft);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem 1.05rem}.service-card h3{text-transform:uppercase;color:var(--accent);margin:0 0 .45rem}.service-card p{color:var(--text-muted);margin:0;font-size:.9rem}.cta-band{color:#fff;border-radius:var(--radius);text-align:center;background:linear-gradient(135deg,#2a1a12 0%,#4f2f22 100%);gap:.9rem;padding:1.8rem 1.5rem;display:grid}.cta-band h2{color:#fff;margin:0}.cta-band p{color:#ffffffdb;margin:0}.cta-actions{flex-wrap:wrap;justify-content:center;gap:.65rem;display:flex}.cta-band .btn-outline{color:#fff;border-color:#ffffff73}.cta-band .btn-outline:hover{color:#fff;background:#ffffff1f;border-color:#fffc}.booking-band{color:#fff;border-radius:var(--radius);background:linear-gradient(135deg,#2a1a12 0%,#4f2f22 100%);gap:1rem;padding:1.5rem 1.4rem;display:grid}.booking-list{color:#ffffffeb;gap:.55rem;margin:0;padding:0 0 0 1.2rem;display:grid}.booking-list li{line-height:1.55}.booking-action{text-align:center;margin:0}.shop-loading,.shop-error,.shop-empty{border-radius:var(--radius-sm);background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow-sm);margin:0;padding:1.1rem 1.2rem}.shop-error{color:#8c2a2a}.shop-product-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.shop-product-card{box-shadow:var(--shadow-sm);background:#ffffffeb;border:1px solid #c94e282e;border-radius:16px;grid-template-rows:auto 1fr;display:grid;overflow:hidden}.shop-product-img{background:linear-gradient(135deg,#f1e0d4e6 0%,#f8f0eaf2 100%);height:220px;position:relative;overflow:hidden}.shop-product-img img,.shop-product-img-placeholder{width:100%;height:100%}.shop-product-img img{object-fit:cover;display:block}.shop-product-img-placeholder{background:radial-gradient(circle at 30% 30%,#c94e282e 0,#c94e2800 38%),linear-gradient(135deg,#ffffffb3 0%,#f0dfd2e6 100%)}.shop-product-badge{color:#fff;letter-spacing:.05em;text-transform:uppercase;background:#2a1a12d1;border-radius:999px;align-items:center;padding:.32rem .65rem;font-size:.72rem;font-weight:700;display:inline-flex;position:absolute;top:.85rem;left:.85rem}.shop-product-body{gap:.45rem;padding:1rem;display:grid}.shop-product-category{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:.72rem}.shop-product-name{color:#5a4032;margin:0;font-size:1.1rem}.shop-product-desc{color:var(--text-muted);margin:0;font-size:.92rem;line-height:1.55}.shop-product-pricing{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.35rem;display:flex}.shop-price{color:var(--accent);font-size:1.05rem;font-weight:700}.shop-price--sale{color:#147d57}.shop-price--original{color:var(--text-muted);font-size:.84rem;font-weight:500;text-decoration:line-through}.shop-stock{font-size:.78rem;font-weight:600}.shop-stock--low{color:#8c5a14}.shop-stock--out{color:#8c2a2a}.shop-product-img-btn{cursor:pointer;background:0 0;border:none;width:100%;padding:0;display:block}.shop-product-name-btn{cursor:pointer;text-align:left;color:#5a4032;width:100%;transition:color var(--transition);background:0 0;border:none;margin:0;padding:0;font-family:inherit;font-size:1.1rem;font-weight:600;line-height:1.3;display:block}.shop-product-name-btn:hover{color:var(--accent);box-shadow:none;background:0 0;transform:none}.shop-product-card--oos{opacity:.65}.shop-price--lg{color:var(--accent);font-size:1.5rem;font-weight:700}.shop-stock--ok{color:#147d57;font-size:.78rem;font-weight:600}.shop-badge--accent{color:#fff;background:#c94e28d1}.shop-badge--featured{color:#fff;background:#bc900ad1}.shop-badge--corner{top:.85rem;left:auto;right:.85rem}.shop-qty-btn{justify-content:center;align-items:center;font-size:1rem;line-height:1;display:inline-flex;width:32px!important;min-width:0!important;height:32px!important;padding:0!important}.shop-card-qty-controls{align-items:center;gap:.45rem;width:100%;display:inline-flex}.shop-card-qty{text-align:center;min-width:1.6rem;color:var(--text);font-size:.95rem;font-weight:700}.shop-modal-backdrop{-webkit-backdrop-filter:blur(3px);z-index:1200;background:#140a058c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.shop-modal{background:#fff;border-radius:20px;width:100%;max-width:780px;max-height:92vh;animation:.22s shop-modal-in;position:relative;overflow-y:auto;box-shadow:0 24px 64px #140a0547}@keyframes shop-modal-in{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.shop-modal-close{width:36px;height:36px;color:var(--text-muted);cursor:pointer;z-index:2;transition:background var(--transition), color var(--transition);background:#28140a12;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:1.3rem;line-height:1;display:flex;position:absolute;top:.9rem;right:.9rem}.shop-modal-close:hover{color:var(--accent);box-shadow:none;background:#c94e281f;transform:none}.shop-modal-layout{grid-template-columns:1fr 1fr;display:grid}.shop-modal-img{background:linear-gradient(135deg,#f1e0d4e6,#f8f0eaf2);border-radius:20px 0 0 20px;min-height:340px;max-height:480px;overflow:hidden}.shop-modal-img img{object-fit:cover;width:100%;height:100%;display:block}.shop-modal-img-placeholder{background:radial-gradient(circle at 30% 30%,#c94e282e 0,#c94e2800 38%),linear-gradient(135deg,#ffffffb3,#f0dfd2e6);width:100%;height:100%;min-height:340px}.shop-modal-body{align-content:start;gap:.9rem;padding:2rem 1.8rem;display:grid}.shop-modal-meta{flex-wrap:wrap;gap:.45rem;display:flex}.shop-modal-name{color:var(--text);margin:0;font-size:1.5rem;line-height:1.25}.shop-modal-desc{color:var(--text-muted);margin:0;font-size:.95rem;line-height:1.6}.shop-modal-pricing{border-top:1px solid #c94e281a;border-bottom:1px solid #c94e281a;flex-wrap:wrap;align-items:baseline;gap:.6rem;padding:.5rem 0;display:flex}.shop-modal-savings{color:#147d57;background:#147d5717;border-radius:999px;padding:.2rem .55rem;font-size:.82rem;font-weight:700}.shop-modal-actions{gap:.75rem;display:grid}.shop-modal-qty-row{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.shop-modal-qty-controls{align-items:center;gap:.5rem;display:inline-flex}.shop-modal-qty-count{text-align:center;min-width:2rem;font-size:1rem;font-weight:700}.shop-modal-qty-subtotal{color:var(--text-muted);font-size:.88rem;font-weight:600}.shop-modal-add-btn{justify-content:center;width:100%;padding:.75rem 1rem;font-size:1rem}.shop-modal-preview-note{color:var(--text-muted);background:#6464640f;border-radius:8px;padding:.45rem .65rem;font-size:.76rem;line-height:1.45}.shop-modal-preview-note span{color:var(--accent);font-weight:700}.shop-modal--checkout{max-width:1080px}.checkout-preview-layout{grid-template-columns:minmax(0,1.35fr) minmax(320px,.82fr);display:grid}.checkout-preview-main{gap:1.2rem;padding:2rem 1.8rem;display:grid}.checkout-preview-head{gap:.45rem;display:grid}.checkout-preview-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0;font-size:.76rem;font-weight:700}.checkout-preview-form{gap:1rem;display:grid}.checkout-preview-section{background:#fffaf6c7;border:1px solid #c94e281f;border-radius:16px;gap:.8rem;padding:1rem;display:grid}.checkout-preview-section-head{gap:.15rem;display:grid}.checkout-preview-section-head h3{color:var(--text);margin:0;font-size:1rem}.checkout-preview-section-head span{color:var(--text-muted);font-size:.82rem}.checkout-option-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.checkout-option-grid--payments{grid-template-columns:repeat(3,minmax(0,1fr))}.checkout-choice-card{cursor:pointer;transition:border-color var(--transition), background var(--transition), box-shadow var(--transition);background:#fff;border:1px solid #c94e2829;border-radius:14px;align-items:flex-start;gap:.7rem;padding:.9rem;display:flex}.checkout-choice-card input{accent-color:var(--accent);margin-top:.2rem}.checkout-choice-card strong{color:var(--text);margin-bottom:.2rem;display:block}.checkout-choice-card p{color:var(--text-muted);margin:0;font-size:.82rem;line-height:1.45}.checkout-choice-card.active{background:#c94e2814;border-color:#c94e2866;box-shadow:0 8px 18px #c94e2814}.checkout-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.checkout-field-grid-wide{grid-column:1/-1}.checkout-preview-form label{gap:.35rem;display:grid}.checkout-preview-form label span{color:var(--text);font-size:.8rem;font-weight:600}.checkout-preview-form label span em{color:var(--text-muted);font-style:normal;font-weight:400}.checkout-preview-form input,.checkout-preview-form select,.checkout-preview-form textarea{width:100%}.checkout-preview-error{color:#8c2a2a;background:#a0232312;border:1px solid #a0232338;border-radius:10px;margin:0;padding:.75rem .9rem;font-size:.85rem;font-weight:600}.checkout-preview-actions{flex-wrap:wrap;gap:.75rem;display:flex}.checkout-preview-summary{background:radial-gradient(circle at 100% 0,#c94e2814,#0000 36%),linear-gradient(#fffaf6f5,#f8f2edeb);border-left:1px solid #c94e281f;align-content:start;gap:1rem;padding:2rem 1.5rem;display:grid}.checkout-preview-summary-head{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.checkout-preview-summary-head h3{color:var(--text);margin:0}.checkout-preview-summary-head span{color:var(--text-muted);font-size:.78rem}.checkout-preview-summary-items{gap:.7rem;display:grid}.checkout-preview-summary-item{border-bottom:1px solid #c94e281f;justify-content:space-between;gap:.75rem;padding-bottom:.7rem;display:flex}.checkout-preview-summary-name{color:var(--text);margin:0;font-weight:600}.checkout-preview-summary-meta{color:var(--text-muted);margin:.18rem 0 0;font-size:.8rem}.checkout-preview-summary-totals{gap:.55rem;display:grid}.checkout-preview-summary-row{justify-content:space-between;gap:.75rem;font-size:.92rem;display:flex}.checkout-preview-summary-row--total{border-top:1px solid #c94e282e;margin-top:.2rem;padding-top:.6rem;font-size:1rem;font-weight:700}.checkout-preview-summary-note{color:var(--text-muted);background:#ffffffb8;border:1px solid #c94e281f;border-radius:12px;padding:.8rem .95rem;font-size:.83rem;line-height:1.5}.checkout-preview-success{gap:1rem;padding:2rem 1.8rem;display:grid}.checkout-preview-success-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.checkout-preview-success-card{background:#fffaf6d1;border:1px solid #c94e281f;border-radius:14px;padding:1rem}.checkout-preview-success-card--wide{grid-column:1/-1}.checkout-preview-success-card h3{color:var(--text);margin:0 0 .45rem;font-size:.9rem}.checkout-preview-success-card p{color:var(--text-muted);margin:.22rem 0 0;line-height:1.5}.checkout-preview-summary-totals--success{max-width:420px}.checkout-preview-actions--success{margin-top:.35rem}@media (max-width:900px){.checkout-preview-layout{grid-template-columns:1fr}.checkout-preview-summary{border-top:1px solid #c94e281f;border-left:none}.checkout-option-grid--payments{grid-template-columns:1fr}}@media (max-width:700px){.shop-product-grid{grid-template-columns:1fr}.shop-product-img{height:200px}.shop-modal-layout{grid-template-columns:1fr}.shop-modal-img{border-radius:20px 20px 0 0;min-height:220px}.shop-modal-img-placeholder{min-height:220px}.shop-modal-body,.checkout-preview-main,.checkout-preview-summary,.checkout-preview-success{padding:1.3rem 1.2rem}.checkout-option-grid,.checkout-field-grid,.checkout-preview-success-grid{grid-template-columns:1fr}}
