body{font-family:-apple-system,sans-serif;margin:0;background-color:var(--bg-primary);color:var(--text-primary);padding-bottom:calc(100px + env(safe-area-inset-bottom,0px));display:flex;justify-content:center;min-height:100vh}.app-name{font-size:var(--fs-xl);font-weight:var(--fw-bold);font-style:italic;letter-spacing:-1px;color:var(--text-primary)}.app-name span{color:var(--accent)}.main-wrapper{width:100%;max-width:600px;border-left:1px solid var(--border-primary);border-right:1px solid var(--border-primary);min-height:100vh;position:relative;display:flex;flex-direction:column}.truck-header{height:240px;background-size:cover;background-position:center;position:relative;background-color:#1c1c1c}.header-content{position:absolute;bottom:0;left:0;width:100%;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);padding:var(--sp-5);color:#fff;box-sizing:border-box}.cat-nav{display:flex;overflow-x:auto;gap:10px;padding:15px;position:sticky;top:var(--header-h, 0px);background:var(--bg-primary);z-index:50;border-bottom:1px solid var(--border-primary);scrollbar-width:none}.cat-pill{padding:var(--sp-2) var(--sp-4);background:var(--bg-secondary);border-radius:var(--radius-xl);font-size:var(--fs-sm);font-weight:700;white-space:nowrap;color:var(--text-tertiary);cursor:pointer;transition:var(--dur-std);border:1px solid transparent}.cat-pill.active{background:var(--text-primary);color:var(--text-inverse)}.menu-grid{padding:15px;display:grid;grid-template-columns:1fr;gap:15px}@media(min-width:600px){.menu-grid{grid-template-columns:1fr 1fr}}@media(min-width:768px){.main-wrapper{max-width:900px}.menu-grid{gap:18px}.reviews-section{max-width:700px;margin-left:auto;margin-right:auto}}@media(min-width:1024px){.header-top-btns{display:flex!important}.main-wrapper{max-width:1200px!important;margin:0 auto;border:none!important}.truck-detail-row{display:flex;flex-direction:row;border-bottom:1px solid var(--border-primary);background:var(--bg-secondary)}.truck-profile-block{flex:1;min-width:0;display:flex;flex-direction:row;border-bottom:none;padding:var(--sp-5);gap:var(--sp-5)}.truck-header{width:280px!important;height:210px!important;border-radius:var(--radius-lg)!important;flex-shrink:0;border-right:none}.truck-header .header-content{display:none!important}.truck-actions-bar{flex:1!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;padding:0!important;border:none!important;height:auto;box-sizing:border-box;gap:10px!important;overflow-y:auto;background:transparent!important}.desktop-truck-header{display:block!important;flex:0 0 auto}.truck-meta-actions-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.truck-meta-row{flex:1!important}.truck-action-btns{flex-shrink:0}.action-btn-round,.action-btn-pill{flex:none!important}.menu-grid{grid-template-columns:1fr 1fr;gap:var(--sp-5);padding:var(--sp-5) 30px;max-width:1100px;margin:0 auto}.cat-nav{position:sticky!important;top:0!important;z-index:50;padding:15px 30px}.reviews-section{max-width:800px;margin-left:auto;margin-right:auto;padding:30px}.cart-float{max-width:500px;bottom:30px}.modal-content{max-width:650px!important;height:80vh!important;border-radius:var(--radius-xl)!important;margin:auto}.modal-overlay{align-items:center!important}.product-card{padding:var(--sp-4)}.p-img{width:100px!important;height:100px!important;border-radius:var(--radius-lg)!important}[data-page-type=client] .skeleton-card .skeleton-img{width:100px;height:100px}}@media(min-width:1400px){.menu-grid{grid-template-columns:1fr 1fr 1fr}}.product-card{background:var(--bg-card);padding:var(--sp-3);border-radius:var(--radius-lg);display:flex;gap:var(--sp-3);border:1px solid var(--border-primary);cursor:pointer;transition:transform .1s;position:relative}.product-card:active{transform:scale(.98)}.product-card.out-of-stock{opacity:.6;filter:grayscale(1);pointer-events:none}.badge-out{position:absolute;top:10px;right:10px;background:var(--text-primary);color:var(--text-inverse);padding:2px 6px;border-radius:var(--radius-sm);font-size:9px;font-weight:var(--fw-bold);z-index:2}.p-img{width:90px;height:90px;border-radius:var(--radius-md);background:var(--bg-tertiary);object-fit:cover}[data-page-type=client] .skeleton-card .skeleton-img{width:90px;height:90px}.p-info{flex:1;display:flex;flex-direction:column;justify-content:center}.p-name{font-weight:700;font-size:var(--fs-base);margin-bottom:var(--sp-1)}.p-desc{font-size:var(--fs-xs);color:var(--text-tertiary);margin-bottom:var(--sp-2);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.p-price{font-weight:var(--fw-bold);color:var(--accent)}.qty-badge{font-weight:var(--fw-bold);font-size:var(--fs-base);min-width:20px;text-align:center;color:var(--text-primary)}.btn-qty-minus:hover,.btn-qty-plus:hover{opacity:.7}.badge-formula{position:absolute;top:10px;right:10px;background:var(--accent);color:#fff;padding:3px var(--sp-2);border-radius:var(--radius-sm);font-size:10px;font-weight:var(--fw-bold);display:flex;align-items:center;gap:3px}.formula-steps-hint{display:flex;gap:var(--sp-1);margin-top:var(--sp-1);flex-wrap:wrap}.formula-step-chip{background:var(--bg-tertiary);padding:2px 7px;border-radius:var(--radius-md);font-size:9px;font-weight:var(--fw-bold);color:var(--text-tertiary)}.cart-float{position:fixed;bottom:95px;left:50%;transform:translate(-50%);width:90%;max-width:400px;background:var(--text-primary);color:var(--text-inverse);padding:15px 25px;border-radius:50px;display:none;justify-content:space-between;align-items:center;box-shadow:0 10px 25px #0000004d;z-index:100;cursor:pointer}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header{padding:var(--sp-5);border-bottom:1px solid var(--border-primary);display:flex;justify-content:space-between;align-items:center}.modal-header-info{flex:1}.modal-header-info h3{margin:0;font-size:var(--fs-lg)}.modal-header-info p{margin:var(--sp-1) 0 0;font-size:var(--fs-sm);color:var(--text-tertiary)}.modal-body{flex:1;overflow-y:auto;padding:0}.modal-footer{padding:15px var(--sp-5);border-top:1px solid var(--border-primary);background:var(--bg-secondary)}.modal-steps-nav{display:flex;padding:var(--sp-3) var(--sp-5);gap:var(--sp-2);overflow-x:auto;background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);scrollbar-width:none}.modal-step-pill{padding:6px 14px;border-radius:var(--radius-xl);font-size:var(--fs-sm);font-weight:var(--fw-bold);white-space:nowrap;background:var(--bg-tertiary);color:var(--text-tertiary);border:2px solid transparent;cursor:pointer;display:flex;align-items:center;gap:var(--sp-1);transition:var(--dur-std)}.modal-step-pill.active{border-color:var(--accent);color:var(--accent);background:#ff3b3014}.modal-step-pill.done{background:var(--accent);color:#fff;border-color:var(--accent)}.modal-step-pill .pill-num{width:20px;height:20px;border-radius:50%;background:var(--border-primary);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:var(--fw-bold)}.modal-step-pill.active .pill-num{background:var(--accent);color:#fff}.modal-step-pill.done .pill-num{background:#ffffff4d}.step-section{padding:var(--sp-5)}.step-title{font-size:var(--fs-md);font-weight:var(--fw-bold);margin-bottom:5px;display:flex;align-items:center;gap:var(--sp-2)}.step-subtitle{font-size:var(--fs-sm);color:var(--text-tertiary);margin-bottom:15px}.option-item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3);border:2px solid var(--border-primary);border-radius:var(--radius-lg);margin-bottom:10px;cursor:pointer;transition:var(--dur-std);background:var(--bg-card)}.option-item:hover{border-color:var(--text-tertiary)}.option-item.selected{border-color:var(--accent);background:#ff3b300d;box-shadow:0 0 0 1px var(--accent)}.option-img{width:60px;height:60px;border-radius:var(--radius-md);object-fit:cover;background:var(--bg-tertiary);flex-shrink:0}.option-info{flex:1}.option-name{font-weight:var(--fw-bold);font-size:var(--fs-base)}.option-desc{font-size:var(--fs-xs);color:var(--text-tertiary);margin-top:2px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.option-price{font-size:var(--fs-sm);color:var(--accent);font-weight:var(--fw-bold);margin-top:2px}.radio-circle{width:22px;height:22px;border:2px solid var(--border-secondary);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.option-item.selected .radio-circle{border-color:var(--accent);background:var(--accent)}.radio-inner{width:10px;height:10px;background:#fff;border-radius:50%;display:none}.option-item.selected .radio-inner{display:block}.btn-add-cart{width:100%;padding:15px;background:var(--text-primary);color:var(--text-inverse);border:none;border-radius:var(--radius-lg);font-weight:var(--fw-bold);font-size:var(--fs-md);cursor:pointer;opacity:1;transition:var(--dur-slow)}.btn-add-cart:disabled{opacity:.5;cursor:not-allowed}.btn-add-cart.pulse-ready{animation:pulseReady .5s ease;background:var(--accent);color:var(--bg-1)}@keyframes pulseReady{0%{transform:scale(1)}50%{transform:scale(1.04)}to{transform:scale(1)}}.customize-chip{display:inline-flex;align-items:center;gap:6px;padding:var(--sp-2) 14px;border-radius:var(--radius-xl);font-size:var(--fs-sm);font-weight:var(--fw-semi);cursor:pointer;transition:var(--dur-std);user-select:none;border:1.5px solid var(--border-primary);background:var(--bg-secondary);color:var(--text-primary)}.customize-chip.active{background:var(--text-primary);color:var(--text-inverse);border-color:var(--text-primary)}.customize-chip.disabled{opacity:.5;cursor:default;background:var(--bg-tertiary);border-color:var(--border-primary)}.customize-chip .material-icons{font-size:var(--fs-md)}.customize-removed-label{font-size:var(--fs-xs);color:var(--text-tertiary);margin-top:3px}.reviews-section{padding:var(--sp-5);margin-top:var(--sp-5);border-top:1px solid var(--border-primary)}.review-card{background:var(--bg-card);padding:var(--sp-3);border-radius:var(--radius-md);margin-bottom:10px;border:1px solid var(--border-primary)}.stars-input{display:flex;gap:5px;margin-bottom:10px}.stars-input .material-icons{font-size:30px;cursor:pointer;color:var(--border-secondary)}.stars-input .material-icons.active{color:orange}.header-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.25) 0%,transparent 40%);pointer-events:none;z-index:1}.header-top-btns{position:absolute;top:var(--sp-4);left:var(--sp-4);right:var(--sp-4);display:none;justify-content:space-between;align-items:center;z-index:10}.header-icon-btn{width:42px;height:42px;border-radius:50%;background:#00000073;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:background var(--dur-std);border:1px solid rgba(255,255,255,.12)}.header-icon-btn:hover{background:#000000a6}.header-icon-btn .material-icons{font-size:var(--fs-xl)}.header-theme-toggle-inner{background:#00000073!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;border:1px solid rgba(255,255,255,.12)!important}.truck-header .header-content{background:linear-gradient(to top,rgba(0,0,0,.92) 0%,rgba(0,0,0,.55) 50%,transparent 100%);padding:36px var(--sp-5) 18px}.truck-header .header-content #truck-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.truck-header .header-content h1{margin:0 0 var(--sp-1);font-size:var(--fs-2xl);font-weight:var(--fw-bold);color:var(--bg-1);line-height:1.2;letter-spacing:-.3px}.truck-header .header-content p{margin:0;font-size:var(--fs-sm);color:#fffc;line-height:1.4}.truck-actions-bar{padding:14px var(--sp-5);background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);display:flex;flex-direction:column;gap:var(--sp-3)}.truck-meta-actions-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.truck-meta-row{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center;flex:1;min-width:0}.meta-pill{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-sm);font-weight:var(--fw-bold);background:var(--bg-tertiary);color:var(--text-secondary);padding:5px var(--sp-3);border-radius:var(--radius-xl);border:1px solid var(--border-primary);white-space:nowrap}.meta-pill .material-icons{font-size:var(--fs-sm);color:var(--text-tertiary)}.meta-pill.open{background:#4caf501f;color:var(--success);border-color:#4caf5047}.meta-pill.open .status-dot{background:var(--success)}.meta-pill.open .material-icons{color:var(--success)}.meta-pill.closed{background:#ff3b301a;color:var(--accent);border-color:#ff3b3040}.meta-pill.closed .status-dot{background:var(--accent)}.status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.truck-action-btns{display:flex;gap:6px;align-items:center;flex-shrink:0}.action-btn-round{width:32px;height:32px;border-radius:50%;border:1px solid var(--border-secondary);background:var(--bg-secondary);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--dur-std);padding:0}.action-btn-round:hover{background:var(--bg-tertiary);border-color:var(--text-primary);color:var(--text-primary)}.action-btn-round .material-icons{font-size:var(--fs-md)}.action-btn-pill{display:flex;align-items:center;justify-content:center;gap:5px;padding:6px var(--sp-3);border-radius:var(--radius-md);border:1px solid var(--border-secondary);background:var(--bg-secondary);color:var(--text-primary);font-size:var(--fs-sm);font-weight:var(--fw-bold);cursor:pointer;transition:var(--dur-std);white-space:nowrap}.action-btn-pill:hover{background:var(--bg-tertiary);border-color:var(--text-primary)}.action-btn-pill .material-icons{font-size:var(--fs-lg);color:var(--text-secondary)}.action-btn-pill.event-btn{background:var(--accent);border-color:var(--accent);color:#fff}.action-btn-pill.event-btn .material-icons{color:#fff}.action-btn-pill.event-btn:hover{opacity:.88}.desktop-truck-header{display:none;margin-bottom:var(--sp-1)}.desktop-truck-name{font-size:var(--fs-2xl);font-weight:var(--fw-bold);color:var(--text-primary);margin:0 0 6px;line-height:1.2;letter-spacing:-.3px}.desktop-truck-desc{font-size:var(--fs-sm);color:var(--text-secondary);line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}#t-name:empty,#t-desc:empty,.desktop-truck-name:empty,.desktop-truck-desc:empty{display:inline-block;min-width:45%;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--skeleton-from) 25%,var(--skeleton-to) 50%,var(--skeleton-from) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}#t-name:empty,.desktop-truck-name:empty{min-height:1.4em}#t-desc:empty,.desktop-truck-desc:empty{min-height:1em;max-width:280px}.desktop-truck-badges{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}.desktop-truck-badge{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-xs);font-weight:var(--fw-bold);padding:3px 10px;border-radius:var(--radius-xl);background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-primary);white-space:nowrap}.upcoming-date-card{flex-shrink:0;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:10px 14px;min-width:155px;max-width:200px}.upcoming-date-day{font-weight:var(--fw-extra);font-size:var(--fs-sm);color:var(--accent);margin-bottom:5px;text-transform:capitalize}.upcoming-date-meta{font-size:var(--fs-xs);color:var(--text-secondary);display:flex;align-items:center;gap:3px;margin-top:3px;line-height:1.3}.upcoming-date-meta .material-icons{font-size:var(--fs-sm);color:var(--text-tertiary);flex-shrink:0}.no-menu-state{text-align:center;padding:60px var(--sp-6);color:var(--text-tertiary);grid-column:1 / -1}.no-menu-state .material-icons{font-size:64px;opacity:.35;display:block;margin-bottom:var(--sp-4)}.no-menu-title{font-size:var(--fs-lg);font-weight:var(--fw-extra);color:var(--text-secondary);margin:0 0 var(--sp-2)}.no-menu-sub{font-size:var(--fs-base);margin:0;line-height:1.5}.truck-header.no-photo{background-color:var(--bg-tertiary)!important}.truck-header.no-photo .header-overlay{display:none}.truck-header.no-photo .header-content{background:none}.truck-header.no-photo .header-content h1{color:var(--text-primary)}.truck-header.no-photo .header-content p{color:var(--text-secondary)}.header-no-photo{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;z-index:0;pointer-events:none;padding-bottom:var(--sp-8)}.header-no-photo .material-icons{font-size:44px;color:var(--text-tertiary);opacity:.3}.no-photo-label{font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--text-tertiary);opacity:.45;text-transform:uppercase;letter-spacing:.5px}.no-dates-placeholder{display:flex;align-items:center;gap:var(--sp-2);padding:10px 14px;background:var(--bg-card);border:1px dashed var(--border-secondary);border-radius:var(--radius-md);color:var(--text-tertiary);font-size:var(--fs-sm);font-weight:var(--fw-semi);font-style:italic;white-space:nowrap}.no-dates-placeholder .material-icons{font-size:var(--fs-md);flex-shrink:0;opacity:.55}.dates-tab{display:flex;align-items:center;gap:5px;padding:var(--sp-2) 14px;border:1.5px solid var(--border-secondary);border-radius:var(--radius-xl);background:transparent;color:var(--text-secondary);font-size:var(--fs-sm);font-weight:var(--fw-bold);cursor:pointer;transition:var(--dur-std)}.dates-tab .material-icons{font-size:var(--fs-base)}.dates-tab.active{background:var(--text-primary);color:var(--text-inverse);border-color:var(--text-primary)}.cal-date-card{display:flex;align-items:center;gap:10px;padding:10px var(--sp-3);background:var(--bg-tertiary);border-radius:var(--radius-md);margin-bottom:var(--sp-2);border:1px solid var(--border-primary)}.cal-date-card.past{opacity:.5}.cal-date-icon{color:var(--accent);flex-shrink:0;font-size:var(--fs-xl)}.cal-date-card.past .cal-date-icon{color:var(--text-tertiary)}.cal-date-info{flex:1;min-width:0}.cal-date-day{font-weight:var(--fw-bold);font-size:var(--fs-sm);color:var(--text-primary);text-transform:capitalize}.cal-date-card.past .cal-date-day{color:var(--text-tertiary)}.cal-date-meta{font-size:var(--fs-xs);color:var(--text-tertiary);margin-top:2px;display:flex;align-items:center;gap:3px}.cal-date-meta .material-icons{font-size:var(--fs-sm);flex-shrink:0}.cal-empty{text-align:center;padding:14px var(--sp-3);color:var(--text-tertiary);font-size:var(--fs-sm);font-style:italic}.cal-section-label{display:none;align-items:center;gap:6px;font-size:var(--fs-xs);font-weight:var(--fw-extra);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin:10px 0 6px;padding-bottom:6px;border-bottom:1px solid var(--border-primary)}.cal-section-label .material-icons{font-size:var(--fs-sm)}.events-cta-block{display:flex;align-items:center;gap:var(--sp-3);padding:14px;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-lg)}.events-cta-btn{display:flex;align-items:center;gap:5px;padding:9px 14px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--fs-sm);font-weight:var(--fw-bold);cursor:pointer;white-space:nowrap;flex-shrink:0}.usual-week-ro{display:grid;grid-template-columns:34px repeat(7,1fr);gap:var(--sp-1);margin-top:var(--sp-1)}.uwg-ro-header{text-align:center;font-size:10px;font-weight:var(--fw-extra);color:var(--text-secondary);padding:3px 0}.uwg-ro-label{font-size:9px;font-weight:var(--fw-extra);color:var(--text-secondary);text-transform:uppercase;display:flex;align-items:center;letter-spacing:.3px}.uwg-ro-cell{height:28px;border-radius:var(--radius-sm);background:var(--bg-tertiary);border:1.5px solid var(--border-secondary)}.uwg-ro-cell.active{background:var(--accent);border-color:var(--accent)}.cal-wrapper{padding-bottom:var(--sp-2)}.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.cal-month-title{font-size:var(--fs-sm);font-weight:var(--fw-extra);color:var(--text-primary);text-transform:capitalize;text-align:center;flex:1}.cal-nav-btn{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);flex-shrink:0}.cal-nav-btn .material-icons{font-size:var(--fs-lg)}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:var(--sp-1)}.cal-weekday{text-align:center;font-size:10px;font-weight:var(--fw-extra);color:var(--text-tertiary);padding:3px 0}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.menu-cal-day{min-height:36px;border-radius:7px;background:var(--bg-card);border:1px solid var(--border-secondary);padding:var(--sp-1) 3px 3px;display:flex;flex-direction:column;overflow:hidden;position:relative}.menu-cal-day.other-month{background:transparent;border-color:transparent}.menu-cal-day.today{border-color:var(--accent)!important;border-width:2px}.menu-cal-day.has-event{background:#ff3b301a;border-color:#ff3b3073}.menu-cal-day.past-event{opacity:.55}.menu-cal-day-num{font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--text-primary);line-height:1}.menu-cal-note{font-size:8px;color:var(--accent);font-weight:var(--fw-bold);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2}.schedule-sheet-backdrop{position:fixed;inset:0;background:#00000073;z-index:1500;display:flex;align-items:flex-end;justify-content:center}.schedule-sheet{background:var(--bg-secondary);border-radius:var(--radius-xl) 20px 0 0;width:100%;max-width:600px;max-height:75vh;overflow-y:auto;padding:0 0 env(safe-area-inset-bottom,var(--sp-4));animation:sheetUp .28s ease-out}@keyframes sheetUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.schedule-sheet-handle{width:36px;height:4px;border-radius:var(--radius-sm);background:var(--border-secondary);margin:10px auto 6px}.schedule-sheet-tabs{display:flex;gap:6px;padding:6px var(--sp-5) var(--sp-3);border-bottom:1px solid var(--border-primary)}.schedule-sheet-tabs .dates-tab{flex:1;justify-content:center}.schedule-sheet-body{padding:var(--sp-4) var(--sp-5) var(--sp-5)}.schedule-btn{background:var(--bg-secondary)!important;border:1.5px solid var(--accent)!important;color:var(--accent)!important}@media(min-width:768px){.schedule-sheet-backdrop{align-items:center}.schedule-sheet{border-radius:var(--radius-xl);max-width:500px;max-height:70vh;animation:sheetFade .2s ease-out}@keyframes sheetFade{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}}.rating-chip-inline{display:inline-flex;align-items:center;gap:5px;padding:5px 11px;background:#ffffff38;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.28);border-radius:var(--radius-full);font-size:var(--fs-sm);font-weight:var(--fw-extra);color:var(--bg-1);margin-bottom:var(--sp-2);width:fit-content}.rating-chip-inline .material-icons{font-size:var(--fs-base);color:#ffc857}.rating-chip-inline .rating-chip-count{opacity:.8;font-weight:var(--fw-bold);font-size:var(--fs-xs)}.rating-chip-desktop{background:var(--bg-tertiary);border-color:var(--border-primary);color:var(--text-primary);margin-top:var(--sp-2)}.cart-float{background:var(--glass-bg);color:var(--text-primary);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--shadow-2xl),var(--shadow-glow-accent);transition:transform var(--duration-base) var(--ease-spring-soft),box-shadow var(--duration-base) ease;padding:var(--sp-3) 18px;gap:var(--sp-3)}@media(hover:hover){.cart-float:hover{transform:translate(-50%) translateY(-2px);box-shadow:var(--shadow-2xl),0 0 34px #ff5d2d7a}}.cart-float:active{transform:translate(-50%) scale(.98)}.cart-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 var(--sp-2);background:var(--accent);color:var(--bg-1);border-radius:var(--radius-full);font-weight:var(--fw-bold);font-size:var(--fs-sm);box-shadow:0 2px 8px #ff5d2d59;transition:transform var(--duration-fast) var(--ease-spring)}.cart-cta-center{font-weight:var(--fw-bold);font-size:var(--fs-base);display:inline-flex;align-items:center;gap:6px;color:var(--text-primary)}.cart-cta-center .material-icons{font-size:var(--fs-md);color:var(--accent)}.cart-total-value{font-weight:var(--fw-bold);color:var(--accent);font-size:var(--fs-md);white-space:nowrap}.product-card .btn-qty-plus,.product-card .btn-qty-minus{transition:transform var(--duration-fast) var(--ease-spring),background var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.product-card .btn-qty-plus{background:var(--accent)!important;color:var(--bg-1)!important;box-shadow:0 4px 12px #ff5d2d4d}.product-card .btn-qty-plus:hover{transform:scale(1.08);box-shadow:0 6px 18px #ff5d2d7a;opacity:1!important}.product-card .btn-qty-plus:active{transform:scale(.94)}.product-card .btn-qty-minus{border:1px solid var(--border-primary)}.product-card .btn-qty-minus:hover{transform:scale(1.05);opacity:1!important}.cat-pill{transition:background var(--duration-fast) ease,color var(--duration-fast) ease,border-color var(--duration-fast) ease,transform var(--duration-fast) ease}@media(hover:hover){.cat-pill:hover:not(.active){color:var(--text-primary);border-color:var(--border-primary);transform:translateY(-1px)}}.cat-pill.active{background:var(--accent);color:var(--bg-1);box-shadow:0 3px 10px #ff5d2d47}.cat-count{opacity:.75;margin-left:var(--sp-1);font-weight:var(--fw-bold);font-size:var(--fs-xs)}.product-card{transition:transform var(--duration-base) var(--ease-spring-soft),box-shadow var(--duration-base) ease,border-color var(--duration-base) ease}@media(hover:hover){.product-card:not(.out-of-stock):hover{transform:translateY(-2px);box-shadow:var(--shadow-medium);border-color:var(--accent-light)}}.badge-popular{position:absolute;top:10px;left:10px;background:linear-gradient(135deg,#ffc857,#ff9a3d);color:#1a1a1a;padding:3px var(--sp-2);border-radius:var(--radius-sm);font-size:9px;font-weight:var(--fw-bold);display:inline-flex;align-items:center;gap:3px;letter-spacing:.3px;box-shadow:0 2px 6px #ffc85759;z-index:2;text-transform:uppercase}.badge-popular .material-icons{font-size:var(--fs-xs)}.review-summary{display:flex;flex-direction:row;gap:var(--sp-6);align-items:center;padding:var(--sp-5);background:var(--bg-card);border:1px solid var(--border-primary);border-radius:18px;margin-bottom:18px}.review-score-big{display:flex;flex-direction:column;align-items:center;min-width:90px}.review-score-big .score-number{font-size:42px;font-weight:var(--fw-bold);line-height:1;color:var(--text-primary);letter-spacing:-1px}.review-score-big .score-stars{color:#ffc857;font-size:var(--fs-base);margin-top:var(--sp-1);letter-spacing:1px}.review-score-big .score-count{font-size:var(--fs-xs);color:var(--text-tertiary);margin-top:3px}.review-distribution{flex:1;display:flex;flex-direction:column;gap:5px}.rating-bar-row{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-xs)}.rating-bar-label{width:14px;font-weight:var(--fw-bold);color:var(--text-secondary);text-align:right}.rating-bar-track{flex:1;height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden}.rating-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),#ffc857);border-radius:3px;transition:width .6s var(--ease-out-quart)}.rating-bar-value{width:26px;font-size:10px;font-weight:var(--fw-bold);color:var(--text-tertiary);text-align:right}@media(max-width:520px){.review-summary{gap:var(--sp-4);padding:var(--sp-4)}.review-score-big{min-width:72px}.review-score-big .score-number{font-size:var(--fs-3xl)}}.review-card{padding:14px var(--sp-4);border-radius:var(--radius-lg);transition:transform var(--duration-fast) ease}@media(hover:hover){.review-card:hover{transform:translateY(-1px)}}.review-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}.review-author{display:flex;align-items:center;gap:var(--sp-2);min-width:0}.review-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--accent),#ffc857);color:var(--bg-1);font-weight:var(--fw-bold);font-size:var(--fs-sm);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;letter-spacing:-.5px}.review-name{font-weight:var(--fw-extra);font-size:var(--fs-sm);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-stars{color:#ffc857;font-size:var(--fs-sm);letter-spacing:1px;flex-shrink:0}.review-text{font-size:var(--fs-sm);color:var(--text-secondary);line-height:1.4;word-break:break-word}.popular-section{padding:14px 15px 0}.popular-title{display:flex;align-items:center;gap:6px;font-weight:var(--fw-bold);font-size:var(--fs-base);margin-bottom:10px;color:var(--text-primary)}.popular-title .material-icons{font-size:var(--fs-xl);color:#ff6b35}.popular-rail{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding-bottom:6px;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}.popular-rail::-webkit-scrollbar{display:none}.popular-card{flex:0 0 auto;width:200px;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;position:relative;scroll-snap-align:start;transition:transform var(--duration-base) var(--ease-spring-soft),box-shadow var(--duration-base) ease}@media(hover:hover){.popular-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-medium)}}.popular-card:active{transform:scale(.98)}.popular-card .popular-img{width:100%;height:110px;object-fit:cover;background:var(--bg-tertiary);display:block}.popular-card .popular-info{padding:10px var(--sp-3) var(--sp-3)}.popular-card .popular-name{font-weight:var(--fw-extra);font-size:var(--fs-sm);margin-bottom:var(--sp-1);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.popular-card .popular-price{font-weight:var(--fw-bold);color:var(--accent);font-size:var(--fs-base)}.skeleton-card .skeleton-img,.skeleton-card .skeleton-line{background:linear-gradient(90deg,var(--bg-tertiary) 0%,var(--border-primary) 50%,var(--bg-tertiary) 100%);background-size:200% 100%;animation:ffShimmer 1.4s linear infinite}@media(prefers-reduced-motion:reduce){.cart-float,.cart-count-badge,.product-card,.cat-pill,.review-card,.popular-card,.product-card .btn-qty-plus,.product-card .btn-qty-minus,.rating-bar-fill{transition:none!important}}.p-allergen{display:block;margin-top:var(--sp-1);font-size:var(--fs-xs);line-height:1.4;border-radius:var(--radius-sm);padding:2px 6px}.p-allergen-list{color:var(--accent-warning, #ff9f0a);background:#ff9f0a14}.p-allergen-clean{color:#2a8c4f;background:#2a8c4f14}.p-allergen-warn{color:var(--accent, var(--accent));background:#ff3b3014;font-weight:var(--fw-semi)}.product-card.allergen-pending{opacity:.85;cursor:not-allowed}.badge-out--warn{background:var(--accent-warning, #ff9f0a)!important;color:var(--bg-1)!important}
