/* Menu first: a compact 3D welcome, persistent controls, immediate product actions. */
:root{--cream:#fff9ed;--paper:#fffefa;--ink:#243c31;--green:#286249;--red:#d7432d;--red-dark:#b82f1b;--muted:#6e7468;--line:#e5dfd0;scroll-padding-top:18px}
body{background:var(--cream)}
.demo-ribbon{min-height:25px;padding:5px 4%;background:#234d3b;font-size:8px;letter-spacing:1.4px}
.demo-ribbon button{font-size:9px}
.header{height:69px;padding:0 4%;background:#fffdf7;border-bottom:1px solid #e9dfca;gap:18px}
.header .brand{color:var(--red)}
.header .brand>span{font-size:36px;letter-spacing:-2.4px}
.header .brand small{font-size:6px;letter-spacing:2px;margin-top:3px;color:var(--ink)}
.main-nav{gap:31px;font-size:12px}
.main-nav .nav-active{color:var(--red)}
.main-nav .nav-active:after{right:0;height:2px;bottom:8px}
.cart-button{background:var(--green);border:0;color:white;min-height:42px;border-radius:12px;padding:9px 14px;font-size:11px;gap:9px}
.cart-button .cart-count{background:#fff;color:var(--green);min-width:23px}
.hero{min-height:0;height:160px;max-width:1440px;margin:14px 4% 0;padding:10px 30px;grid-template-columns:49% 51%;border:1px solid #f1d5b8;border-radius:20px;background:radial-gradient(ellipse at 77% 50%,#fff6d9 0 30%,transparent 60%),#fbe5d5;overflow:hidden}
.hero:after{content:'';position:absolute;left:0;bottom:0;width:220px;height:7px;background:repeating-conic-gradient(#d7432d55 0 25%,#fff9ed 0 50%) 0/14px 14px;pointer-events:none}
.hero-copy{padding:0;align-self:center;text-align:left}
.hero-copy>.eyebrow{font-size:8px;letter-spacing:1.5px;gap:8px;justify-content:flex-start}
.italian-flag{width:18px;height:10px}
.hero h1{font-size:48px;line-height:1.07;letter-spacing:-2px;margin:7px 0;white-space:nowrap}
.hero h1 em{display:inline;color:var(--red)}
.headline-star{font-size:29px;right:-42px;bottom:9px}
.hero-copy>p{font-size:11px;line-height:1.6;color:#606650}
.hero-actions{display:flex;align-items:center;gap:17px;margin-top:10px}
.explore-3d{display:inline-flex;gap:7px;align-items:center;padding:8px 12px;border:1px solid #d5bba3;border-radius:8px;font-size:10px;font-weight:700;background:#fff9e9aa;transition:background .2s,transform .2s}
.explore-3d:hover{background:var(--paper);transform:translateY(-2px)}
.explore-3d .icon{width:15px;height:15px}
.hero-actions>span{font-size:10px;color:#77705d}.hero-actions i{margin:0 5px;color:var(--red);font-style:normal}
.hero-visual{min-width:0;height:100%;margin:0;position:relative;justify-content:center}
.hero .pizza-stage{position:absolute;inset:-30px 0 auto;width:100%;height:190px;max-width:none;margin:0}
.hero .size-seal{width:57px;height:57px;right:1%;top:1px;box-shadow:0 0 0 3px #ffefdc,0 0 0 4px #e3bd9b;background:var(--red)}
.hero .size-seal>span{font-size:4.5px;letter-spacing:.5px}.hero .size-seal strong{font-size:23px}.hero .size-seal small{font-size:7px}
.hero .orbit-word{top:1px;left:1%;font-size:8px;letter-spacing:2px;color:#aa6b48}
.hero .scene-caption{display:none}
.hero .scene-controls{position:absolute;bottom:-8px;right:12%;margin:0;padding:0;border:0;font-size:9px;gap:10px;width:auto;z-index:4}
.hero .scene-controls>span{display:none}
.hero .scene-controls button{padding:7px 8px;border:0;border-radius:7px;background:#fff9edc4;gap:5px}
.hero .scene-controls button[aria-pressed=true]{background:#f4cbb2;color:var(--red-dark)}
.hero .scene-controls .icon{width:13px;height:13px}
.hero .scene-footnote{position:absolute;bottom:3px;left:0;font-size:6px;color:#8f7f69;margin:0}
.section-wrap{max-width:1560px;padding-left:4%;padding-right:4%}
.menu-section{padding-top:16px;padding-bottom:45px;scroll-margin-top:10px}
.menu-title-row{display:flex;justify-content:space-between;align-items:center;margin:0 0 9px;gap:20px}
.menu-heading-group{display:flex;align-items:baseline;gap:18px}
.menu-title-row h2{font-size:34px;letter-spacing:-1px;margin:0;line-height:1.15}
.menu-heading-group>span{font-size:11px;color:var(--muted)}
.menu-fulfillment{display:flex;align-items:center;padding:4px;border:1px solid #dedfce;border-radius:11px;background:#f0f0e4;gap:3px;flex-shrink:0}
.menu-fulfillment button{padding:8px 12px;font-size:10px;border-radius:7px;min-height:33px;transition:background .2s,color .2s}
.menu-fulfillment button[aria-pressed=true]{background:var(--paper);box-shadow:0 2px 6px #243c3110;font-weight:700}
.menu-fulfillment b{background:#d9ebc6;color:#315436;font-size:9px;padding:3px 5px;border-radius:4px;margin-left:4px}
.menu-fulfillment button[data-menu-mode=pickup][aria-pressed=true]{background:var(--green);color:white}
.menu-controls{position:sticky;top:0;z-index:10;background:#fff9edf7;backdrop-filter:blur(15px);padding-top:6px;border-bottom:1px solid var(--line);margin-bottom:14px}
.menu-toolbar{position:static;display:flex;align-items:center;gap:13px;padding:0;border:0;background:none}
.tabs{display:flex;gap:5px;align-items:center;flex-shrink:0;background:#f0ebde;padding:4px;border-radius:12px}
.tabs button{display:flex;align-items:center;gap:7px;padding:9px 15px;font-family:Manrope;font-size:12px;border-radius:9px;min-height:40px;color:#77786a;font-weight:600;white-space:nowrap}
.tabs button:after{display:none}.tabs button>.icon{width:18px;height:18px}.tabs button>span{font-size:9px;display:grid;place-items:center;width:20px;height:20px;border:0;border-radius:50%;background:#e3dece;margin:0;color:#77786a}
.tabs button[aria-selected=true]{background:var(--red);color:white;box-shadow:0 3px 8px #b1312024}
.tabs button[aria-selected=true]>span{background:#ffffff2b;color:white}
.search{display:flex;align-items:center;gap:8px;padding:11px 13px;border:1px solid #e1dacb;background:var(--paper);border-radius:11px;width:auto;min-width:150px;flex:1;margin-left:9px;height:48px}
.search>.icon{color:#959887;width:18px;height:18px}
.search input{border:0;background:none;outline:none!important;width:100%;min-width:0;font-size:12px;color:var(--ink)}
.search:focus-within{border-color:var(--red);box-shadow:0 0 0 3px #d7432d0b}
.search input::-webkit-search-cancel-button{display:none}
#clear-search{display:grid;place-items:center;padding:4px;color:var(--muted)}#clear-search .icon{width:16px;height:16px}
#menu-sort{width:158px;flex-shrink:0;font-size:10px;padding:13px 9px;background:transparent;border:1px solid var(--line);border-radius:10px;color:var(--ink);height:46px;cursor:pointer}
.menu-meta{display:flex;align-items:center;justify-content:space-between;padding:6px 0 8px;gap:15px;flex-wrap:nowrap}
.diet-filters{display:flex;gap:7px;align-items:center}
.diet-filters button{display:flex;align-items:center;gap:5px;padding:6px 12px;font-size:10px;border:1px solid transparent;border-radius:20px;min-height:31px;color:#747866;background:none}
.diet-filters button.active{background:#e2edcf;color:#315338;border-color:#d7e4c5;font-weight:700}.diet-filters button:hover{background:#eeecd8}.diet-filters .icon{width:13px;height:13px}
#result-count{font-size:10px;color:#818674}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 17px;align-items:stretch}
.product-card{background:var(--paper);border:1px solid #e6dfcf;border-radius:15px;overflow:hidden;box-shadow:0 5px 13px #3d321405;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s,border-color .25s;position:relative}
.product-card:hover{transform:translateY(-4px);border-color:#e4bba1;box-shadow:0 12px 26px #3d321414}
.product-image{width:100%;position:relative;display:block;overflow:hidden;aspect-ratio:2.1;flex-shrink:0;padding:0;background:#f1e6d4}
.product-image img{width:100%;height:100%;object-fit:cover;object-position:50% 65%;transition:transform .6s cubic-bezier(.2,.7,.3,1)}
.product-card:hover .product-image img{transform:scale(1.045)}
.card-tag{position:absolute;left:10px;top:10px;padding:5px 8px;background:#fffdf0f0;border-radius:5px;font-size:8px;letter-spacing:0;color:#455239;box-shadow:0 2px 8px #2221}
.product-card:nth-child(4n+2) .card-tag{background:#e8edc8;color:#415331}.product-card:nth-child(4n+3) .card-tag{background:#ffdfbf;color:#955429}
.image-open{display:none}
.item-count{position:absolute;bottom:9px;right:9px;background:var(--green);color:white;border-radius:30px;padding:5px 9px;font-size:9px;box-shadow:0 2px 5px #0002}
.product-body{padding:12px 14px 11px;display:flex;flex-direction:column;flex:1}
.product-title{display:flex;justify-content:space-between;align-items:flex-start;gap:5px}
.product-title h3{font-family:Serif;font-size:23px;line-height:1.14;letter-spacing:-.3px}
.product-title>span{font-size:7px;color:#8c927f;margin-top:6px;white-space:nowrap;flex-shrink:0}
.product-body>p{font-size:10px;line-height:1.6;color:#78806f;margin:7px 0 9px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:32px}
.card-footer{display:flex;align-items:center;justify-content:space-between;gap:5px;padding-top:9px;border-top:1px solid #eee9db;margin-top:auto}
.price{font-family:Manrope;font-weight:700;font-size:17px;white-space:nowrap}
.card-actions{display:flex;align-items:center;gap:6px}
.customize-button{border:1px solid #e2e3d4;background:#f4f5e8;color:#556848;border-radius:8px;width:34px;height:34px;display:grid;place-items:center;transition:background .2s}
.customize-button:hover{background:#dfeaca}.customize-button .icon{width:16px;height:16px}
.add-button{display:flex;align-items:center;gap:5px;padding:8px 11px;background:var(--red);color:white;border:0;border-radius:8px;font-size:11px;min-height:34px;font-weight:700}
.add-button:hover{background:var(--red-dark)}.add-button .icon{width:14px;height:14px}
.product-card.drink .product-image{aspect-ratio:1.8;background:#f3ead5}.product-card.drink .product-title h3{font-size:20px}
.drink-art{background:radial-gradient(ellipse at 50% 40%,#fffdf2,#f2e4c7)}
.drink-can{height:91px;width:51px;font-size:10px}.drink-can small{font-size:6px;bottom:10px}
.product-card.drink .product-body>p{min-height:16px}
.menu-note{margin-top:24px;font-size:10px}
.flavor-band{transform:none;width:100%;margin:0;padding:16px 0;background:var(--red);border-top:5px solid #eccb83;border-bottom:5px solid #eccb83}
.offers{padding-top:40px;padding-bottom:45px}
.offer{border-radius:14px;transition:transform .25s;min-height:223px}.offer:hover{transform:translateY(-4px)}
.offer-lunch{background:#f6d889}.offer-pickup{background:#dce9ad}.offer-loyalty{background:var(--green)}
.closing{margin-bottom:50px;gap:55px}.closing-art{min-height:270px;border-radius:18px;background:#f9e9c9}.closing h2{font-size:46px}
.footer{background:#234d3b}.footer-bottom{font-size:9px}
.scene-dialog{width:900px;max-width:calc(100% - 30px);border-radius:22px;background:var(--cream);padding:28px 35px 22px;overflow:auto}
.scene-dialog-header{display:flex;justify-content:space-between;align-items:center;gap:20px}.scene-dialog-header h2{font-size:34px;margin-top:8px;letter-spacing:-.5px}.scene-dialog-header .eyebrow{font-size:8px;letter-spacing:1.3px}
.scene-dialog .hero-visual{height:auto;min-height:0;margin:0}
.scene-dialog .pizza-stage{position:relative;inset:auto;width:100%;height:400px;margin:-15px 0 -12px;max-width:none}
.scene-dialog .size-seal{top:15px;right:7%;width:74px;height:74px}.scene-dialog .size-seal strong{font-size:29px}
.scene-dialog .orbit-word{top:25px;left:7%;font-size:10px;letter-spacing:3px}
.scene-dialog .scene-caption{display:flex;width:70%;margin:0;position:relative}
.scene-dialog .scene-controls{position:static;display:flex;width:auto;margin-top:18px;padding-top:13px;font-size:10px;gap:17px;border-top:1px solid var(--line)}
.scene-dialog .scene-footnote{font-size:8px;margin-top:10px}
.scene-dialog .scene-controls button{min-height:34px}
.mobile-cart:not([hidden]){display:flex;position:fixed;bottom:20px;left:50%;right:auto;transform:translateX(-50%);width:360px;z-index:12;padding:13px 19px;border-radius:14px;background:var(--green);color:white;box-shadow:0 8px 26px #143e4533;align-items:center;gap:16px;font-size:12px}
.mobile-cart>span{display:flex;align-items:center;gap:10px}.mobile-cart>strong{margin-left:auto;white-space:nowrap}.mobile-cart .cart-count{background:#ffffff29;border:1px solid #ffffff55}.mobile-cart>.icon{width:16px;height:16px}
.toast{bottom:89px;border-radius:30px;background:var(--ink);font-size:11px}
@media(min-width:1530px){.hero{margin-left:auto;margin-right:auto}.product-grid{gap:22px}.product-image{aspect-ratio:1.85}}
@media(max-width:1100px){.hero{padding-left:24px;padding-right:24px;grid-template-columns:51% 49%}.hero h1{font-size:45px}.headline-star{right:-32px;font-size:24px}.hero .scene-footnote{display:none}.menu-heading-group>span{display:none}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.product-image{aspect-ratio:1.8}.tabs button{padding:9px 11px}.search{margin-left:0}#menu-sort{width:139px}.product-title h3{font-size:23px}.product-body{padding:14px}}
@media(max-width:760px){
  :root{scroll-padding-top:8px}.demo-ribbon{padding:5px 12px;min-height:23px}.demo-ribbon button{font-size:8px}.header{height:62px;padding:0 4%;gap:12px}.header .brand>span{font-size:32px}.header .brand small{font-size:5.5px;letter-spacing:1.6px}.main-nav{gap:18px;font-size:10px}.cart-button{padding:8px 10px;gap:6px;min-height:37px;border-radius:10px}.cart-button .cart-count{height:20px;min-width:20px;font-size:9px}.main-nav button{display:none}
  .hero{height:168px;margin:10px 4% 0;padding:16px;grid-template-columns:54% 46%;border-radius:16px;overflow:hidden}.hero-copy{padding:0;text-align:left;align-self:center}.hero-copy>.eyebrow{font-size:6px;letter-spacing:.4px;gap:4px}.hero .italian-flag{width:12px;height:8px;flex-shrink:0}.hero h1{font-size:34px;line-height:1.03;letter-spacing:-1.3px;white-space:normal;margin:9px 0 7px}.hero h1 em{display:block}.headline-star{font-size:20px;right:-20px;bottom:1px}.hero-copy>p{font-size:9px;max-width:150px;line-height:1.5}.hero-actions{margin-top:10px;gap:0}.hero-actions>span{display:none}.explore-3d{font-size:8px;padding:7px 8px;gap:5px;border-radius:6px;white-space:nowrap}.explore-3d .icon{width:12px;height:12px}
  .hero-visual{margin:0;height:100%;justify-content:center}.hero .pizza-stage{position:absolute;left:-25px;right:auto;top:-15px;width:calc(100% + 48px);height:177px;margin:0;max-width:none}.hero .size-seal{width:40px;height:40px;top:-4px;right:-3px;box-shadow:0 0 0 2px #ffefdc,0 0 0 3px #e3bd9b}.hero .size-seal strong{font-size:17px}.hero .size-seal>span{font-size:3px;letter-spacing:.2px}.hero .size-seal small{font-size:5px}.hero .orbit-word{display:none}.hero .scene-controls{bottom:-10px;right:-4px;gap:4px;font-size:7px;justify-content:flex-end}.hero .scene-controls button{padding:6px 5px;gap:3px}.hero .scene-controls .icon{width:11px;height:11px}.hero .scene-footnote{display:none}
  .section-wrap{padding-left:4%;padding-right:4%}.menu-section{padding-top:16px;padding-bottom:32px}.menu-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:9px}.menu-heading-group{width:100%;display:flex;align-items:center;gap:10px}.menu-title-row h2{font-size:28px;line-height:1.1;margin:0;letter-spacing:-.7px}.menu-heading-group>span{display:block;font-size:9px;margin-left:auto;max-width:90px;line-height:1.6;text-align:right}.menu-fulfillment{border-radius:9px;padding:3px;gap:3px}.menu-fulfillment button{padding:6px 12px;min-height:30px;font-size:10px}.menu-fulfillment b{font-size:8px;padding:3px 4px}
  .menu-controls{padding-top:6px;margin-bottom:12px;top:0}.menu-toolbar{display:grid;grid-template-columns:1fr 125px;gap:8px;flex-wrap:unset}.tabs{order:initial;width:auto;gap:3px;padding:3px;border-radius:10px}.tabs button{font-size:10px;min-height:37px;padding:8px 10px;gap:5px;flex:1;border-radius:8px}.tabs button>.icon{width:15px;height:15px}.tabs button>span{font-size:8px;width:17px;height:17px}.search{order:3;grid-column:1/-1;width:100%;height:39px;min-width:0;padding:9px 11px;border-radius:9px}.search input{font-size:11px}.search>.icon{width:15px;height:15px}#menu-sort{order:2;width:125px;height:39px;font-size:9px;padding:8px 5px;border-radius:9px}
  .menu-meta{padding:8px 0 9px;gap:5px;flex-wrap:nowrap;align-items:center}.diet-filters{gap:2px}.diet-filters button{font-size:9px;padding:5px 8px;min-height:29px;gap:4px}.diet-filters .icon{width:11px;height:11px}#result-count{font-size:8px;text-align:right;max-width:90px;line-height:1.5}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px}.product-card{border-radius:12px}.product-image{aspect-ratio:1.48}.product-body{padding:11px 10px 10px}.product-title h3{font-size:21px;line-height:1.13}.product-title>span{display:none}.product-body>p{font-size:10px;line-height:1.55;margin:6px 0 10px;min-height:31px;-webkit-line-clamp:2}.card-tag{font-size:6px;left:7px;top:7px;padding:5px 6px;border-radius:4px}.card-footer{padding-top:9px;gap:5px}.price{font-size:14px}.card-actions{gap:4px}.customize-button{width:27px;height:31px;border-radius:7px}.customize-button .icon{width:13px;height:13px}.add-button{font-size:10px;padding:7px 8px;gap:4px;min-height:31px;border-radius:7px}.add-button .icon{width:12px;height:12px}.item-count{font-size:7px;bottom:7px;right:7px;padding:4px 7px}.menu-note{font-size:9px;line-height:1.6;margin-top:20px}
  .product-card.drink .product-image{aspect-ratio:1.48}.product-card.drink .product-title h3{font-size:19px}.drink-can{height:76px;width:42px;font-size:9px}.drink-can small{font-size:5px}.drink-caption{font-size:6px}
  .offers{padding-top:29px;padding-bottom:30px}.offers-grid{scrollbar-width:none;gap:10px}.offers-grid::-webkit-scrollbar{display:none}.offer{min-width:85%;min-height:215px;padding:23px}.offer strong{font-size:30px}.closing{gap:26px;margin-bottom:35px}.closing-art{min-height:225px;margin:0 5px}.closing-art>span{font-size:72px}.closing h2{font-size:40px}.footer-bottom{padding-bottom:100px}
  .scene-dialog{width:100%;max-width:100%;max-height:96dvh;padding:22px 18px;border-radius:20px 20px 0 0;margin:auto 0 0;overflow:auto}.scene-dialog-header h2{font-size:29px}.scene-dialog-header .eyebrow{font-size:6.5px;letter-spacing:.6px}.scene-dialog-header .icon-button{width:32px;height:32px}.scene-dialog .pizza-stage{width:112%;height:320px;max-width:none;margin:-7px -6% -10px;left:auto;right:auto}.scene-dialog .size-seal{width:58px;height:58px;right:2%;top:17px}.scene-dialog .size-seal strong{font-size:24px}.scene-dialog .orbit-word{display:block;left:0;top:24px;font-size:8px;letter-spacing:2px}.scene-dialog .scene-caption{width:96%;display:flex}.scene-dialog .scene-caption b{font-size:25px}.scene-dialog .scene-controls{font-size:8px;gap:12px;justify-content:center;width:100%;margin-top:16px;padding-top:10px}.scene-dialog .scene-controls>span{display:flex}.scene-dialog .scene-footnote{display:block;font-size:7px}
  .mobile-cart:not([hidden]){width:92%;bottom:13px;border-radius:12px;padding:13px 15px;font-size:11px}.toast{font-size:10px;bottom:83px}.product-dialog{border-radius:18px 18px 0 0}.detail-photo{height:210px}.detail-main{padding:22px}.detail-description{font-size:12px}.detail-bottom{bottom:-22px}.extra{font-size:11px;padding:12px 0}.detail-main h2{font-size:34px}
}
@media(max-width:760px){.hero-copy>p,.hero .scene-controls{display:none}.product-body>p{font-size:11px;line-height:1.45}.add-button{min-height:36px;font-size:11px}.customize-button{height:36px;width:29px}}
@media(max-width:370px){.hero{padding:12px;height:161px}.hero h1{font-size:32px}.hero-copy>.eyebrow{font-size:5.5px}.hero .pizza-stage{height:168px;top:-7px}.hero .scene-controls{font-size:6.5px}.main-nav{gap:13px}.menu-heading-group>span{display:none}.menu-toolbar{grid-template-columns:1fr 112px}#menu-sort{width:112px}.tabs button{font-size:9px;padding:8px}.tabs button>.icon{width:13px;height:13px}.product-body{padding:10px 8px}.product-title h3{font-size:19px}.add-button{padding:7px 6px}.price{font-size:13px}.customize-button{width:24px}.diet-filters button{font-size:8px;padding:5px 6px}#result-count{max-width:78px;font-size:7px}}
