/* Nepolit, edition 04: a compact, tactile trattoria. */
:root{--cream:#f8f3e8;--paper:#fffcf5;--red:#c13d2c;--red-dark:#942b20;--green:#21493b;--ink:#223a31;--line:#e3dccb}
body{background:var(--cream)}
.demo-ribbon{background:var(--red);letter-spacing:1.8px}
.header{background:var(--cream);border-bottom:1px solid #dfd7c4}
.header .brand>span{font-weight:800;letter-spacing:-2.7px}
.cart-button{border-radius:50px;background:var(--ink);padding-inline:18px}
.hero{background:#e8eddc;border:0;border-radius:4px 36px 4px 36px;padding-left:30px;isolation:isolate}
.hero:before{content:'BUON APPETITO';position:absolute;top:26px;right:-9px;font:90px/1 Manrope,sans-serif;font-weight:800;letter-spacing:-6px;color:#d3dcc4;z-index:-1;white-space:nowrap;transform:rotate(-6deg)}
.hero:after{height:9px;width:100%;background:repeating-conic-gradient(#244d3b 0 25%,#e8eddc 0 50%) 0/18px 18px;opacity:.3}
.hero h1{font-size:49px;letter-spacing:-1.8px}.hero h1 em{color:var(--red)}
.hero .eyebrow{color:#47674d;letter-spacing:1.7px}
.hero .size-seal{background:var(--red);transform:rotate(12deg);box-shadow:0 0 0 4px #e8eddc,0 0 0 5px #b9c5a9}
.hero .orbit-word{color:#3c654c}.hero .scene-controls button{background:#fffcf5db;border-radius:30px}
.explore-3d{background:#fffcf5;border:1px solid #c2cdb6;border-radius:30px;box-shadow:0 2px 0 #bac6ac;padding:8px 14px}
.headline-star{color:var(--red)}
.menu-heading-group h2{font-size:35px}.menu-heading-group h2 em{color:var(--red)}
.menu-controls{background:#f8f3e8ed;border-bottom:0;margin-bottom:13px}
.tabs{background:transparent;padding:0;border-radius:0;gap:6px}.tabs button{border:1px solid #d6d6c4;background:#eeeddf;border-radius:8px 8px 3px 3px}
.tabs button[aria-selected=true]{background:var(--ink);box-shadow:none;border-color:var(--ink)}
.search{background:#fffdf7;border-color:#dfd8c8;border-radius:9px}
.menu-meta{border-bottom:1px solid #d9d5c5}
.diet-filters button{border-color:#dfd9c9;background:#fcf9f1}.diet-filters button.active{background:#e2e9d4;border-color:#bfcdb0}
.product-grid{gap:18px}.product-card{border-radius:5px 23px 5px 23px;border-color:#e0d8c7;box-shadow:0 3px 0 #e8e1d3;transform-origin:50% 90%}
.product-card:hover{border-color:#b9c7ad;box-shadow:0 14px 28px #293d3012;transform:translateY(-4px)}
.product-image:after{content:'';position:absolute;inset:0;box-shadow:inset 0 -12px 22px #5b3b2111;pointer-events:none}
.product-image img{filter:saturate(1.07);object-position:50% 66%;transition:transform .7s cubic-bezier(.2,.7,.3,1)}
.product-card:hover .product-image img{transform:scale(1.07) rotate(-1.4deg)}
.card-tag{left:11px;top:11px;border-radius:3px;background:#fff9e9;transform:rotate(-3deg);font-size:8px;letter-spacing:.2px;border:1px solid #ffffff80}
.product-card:nth-child(3n) .card-tag{transform:rotate(3deg)}
.product-title h3{font-size:26px;letter-spacing:-.7px}.product-body{padding:14px 15px 13px}
.card-footer{border-top:1px dashed #d8d2c0}.price{font-weight:800;letter-spacing:-.5px}
.add-button{border-radius:30px;padding:8px 11px;background:var(--red);box-shadow:0 2px 0 var(--red-dark)}
.add-button:active{transform:translateY(2px);box-shadow:none}.customize-button{border-radius:50%;border:1px solid #e3ddcf;background:transparent}
.favorite-button{position:absolute;right:9px;top:9px;display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#fffcf5e8;z-index:3;color:#526049;box-shadow:0 2px 8px #0001}
.favorite-button svg{width:16px;height:16px;fill:none}.favorite-button[aria-pressed=true]{background:var(--red);color:white}.favorite-button[aria-pressed=true] svg{fill:currentColor}
.menu-helper{display:flex;align-items:center;gap:7px;margin-inline-start:auto}.menu-helper button{display:inline-flex;align-items:center;gap:5px;border:1px solid #d7d7c6;padding:6px 9px;border-radius:25px;background:transparent;font-size:9px;white-space:nowrap;min-height:30px}.menu-helper button[aria-pressed=true]{color:white;background:var(--green);border-color:var(--green)}
.menu-helper .icon{width:13px;height:13px}.menu-helper .recommend{background:#e6edda;border-color:#cdd8bd}
.recommend-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0}.recommend-options button{padding:18px 12px;text-align:left;border:1px solid var(--line);border-radius:8px 20px 8px 20px;background:#f4f0e5;line-height:1.5}.recommend-options button b{display:block;font-size:15px;color:var(--green)}.recommend-options button span{font-size:11px;color:var(--muted)}
.recommend-result{display:grid;grid-template-columns:88px 1fr;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.recommend-result img{width:88px;height:76px;object-fit:cover;border-radius:7px 20px 7px 20px}.recommend-result h3{font:25px/1.2 'DM Serif Display',serif;margin:0 0 4px}.recommend-result p{font-size:10px;line-height:1.5;margin:3px 0 8px}.recommend-result button{font-size:11px;color:var(--red);font-weight:700}
.flavor-band{background:var(--green);border-block:5px solid #d8e1c8;color:#f3f3cf;transform:none;margin-top:0;padding:15px 0}
.offers-grid{gap:18px}.offer{border-radius:5px 38px 5px 38px;overflow:hidden}.offer-lunch{background:#c13d2c;color:#fff9ed}.offer-pickup{background:#e6eccc;border-color:#cad4b1;color:#244a3a}.offer-loyalty{background:#283f35;color:#fff9ed}.offer:after{content:'✳';position:absolute;font-size:145px;right:-19px;top:-23px;opacity:.09;line-height:1}.offer-index{letter-spacing:1.6px}.offer strong{font-size:37px}.offer-bottom{position:relative;z-index:1}
.closing-art{border-radius:50% 50% 5px 5px;background:#e8eddc;border:1px solid #d7ddc8;box-shadow:12px 12px 0 #eadbc5}.closing-art>span{color:var(--red)}
.footer{background:#203b30;color:#e7ebda}.footer .brand{color:#fff8e9}.footer .brand-dot{color:#d5e3b7}.footer-top p,.footer-top b,.footer-bottom{color:#c6d3bc}.footer-bottom{border-top:1px solid #4c5d4d}.footer-bottom a{color:#f1f3dd}
.scene-dialog{background:radial-gradient(ellipse at 70% 45%,#edf1df,#f8f4e9 65%);border-radius:8px 35px 8px 35px}.scene-dialog .scene-price{background:var(--red);color:white;border-radius:25px}.scene-dialog .scene-controls button{border-radius:25px}.scene-dialog .size-seal{background:var(--red)}
@media(min-width:1450px){.hero{margin-inline:auto;width:92%}}
@media(max-width:960px){.menu-heading-group>span{display:none}.menu-helper{margin-inline-start:0}.menu-meta{flex-wrap:wrap}#result-count{margin-inline-start:auto}}
@media(max-width:760px){.hero{border-radius:4px 25px 4px 25px;padding-left:17px}.hero h1{font-size:36px;white-space:normal;line-height:1.02}.hero:before{top:28px;right:-38px;font-size:62px;letter-spacing:-4px}.hero .size-seal{right:-5px;top:3px}.hero-copy>.eyebrow{letter-spacing:1px}.menu-heading-group h2{font-size:28px}.menu-meta{display:grid;grid-template-columns:1fr auto;gap:6px;padding:8px 0 10px}.diet-filters{grid-column:1;gap:2px}.diet-filters button{padding:5px 7px;font-size:9px}.menu-helper{grid-column:2;gap:4px}.menu-helper button{width:30px;padding:6px;justify-content:center}.menu-helper button>span{display:none}#result-count{display:none}.product-grid{gap:13px 10px}.product-card{border-radius:4px 19px 4px 19px}.product-title h3{font-size:22px}.product-body{padding:11px 10px 10px}.product-image{aspect-ratio:1.6}.card-tag{font-size:6px;padding:5px 6px;left:7px;top:8px;max-width:calc(100% - 43px)}.favorite-button{width:26px;height:26px;right:6px;top:7px}.favorite-button svg{width:13px;height:13px}.card-footer{gap:4px}.add-button{padding:8px 9px}.customize-button{width:29px}.price{font-size:14px}.offer strong{font-size:32px}.scene-dialog{border-radius:24px 24px 0 0}.closing-art{min-height:230px}.closing-art>span{font-size:76px}.footer-top{gap:22px}.menu-helper .icon{width:14px;height:14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
