.skeleton{background: linear-gradient(90deg, #f0f0f0 25%, #e8e8e8 50%, #f0f0f0 75%);
            background-size: 200% 100%;
            animation: skeleton 1.5s infinite;
            border-radius: 8px}
@keyframes skeleton{
            0% {
                background-position: 200% 0
            }

            100% {
                background-position: -200% 0
            }
        }
.gem-skeleton-card{display: flex;
            gap: 12px;
            padding: 12px;
            background: #fff;
            border-radius: 16px;
            box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
            margin-bottom: 12px}
.gem-skeleton-img{width: 80px;
            height: 80px;
            border-radius: 12px;
            flex-shrink: 0}
.gem-skeleton-content{flex: 1;
            display: flex;
            flex-direction: column;
            justify-content: center;
            gap: 8px}
.gem-skeleton-line{height: 12px;
            width: 60%;
            border-radius: 6px}
.gem-skeleton-line.short{width: 30%}
.gem-skeleton-line.long{width: 90%}
.gem-skeleton-program{height: 46px;
            border-radius: 12px;
            width: 100%;
            margin-bottom: 8px}
@keyframes fadeIn{
            from {
                opacity: 0;
                transform: translateY(10px)
            }

            to {
                opacity: 1;
                transform: translateY(0)
            }
        }
.gem-offline-banner{position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            background-color: #ff3b30;
            
            color: white;
            text-align: center;
            padding: 10px 0;
            font-size: 14px;
            font-weight: 600;
            z-index: 10000;
            transform: translateY(-100%);
            transition: transform 0.3s ease-in-out;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);}
.gem-offline-banner.active{transform: translateY(0);}
@keyframes slideUp{
            from {
                transform: translateY(100%)
            }

            to {
                transform: translateY(0)
            }
        }
.nutrients-grid{display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 8px;
            margin-bottom: 20px}
.nutrient-item{background: #f5f5f7;
            border-radius: 12px;
            padding: 12px 8px;
            text-align: center}
.nutrient-value{font-size: 18px;
            font-weight: 700}
.nutrient-label{font-size: 11px;
            color: #86868b;
            margin-top: 2px}
.allergens-list{display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-top: 16px}
.allergen-tag{background: #fff3cd;
            color: #856404;
            padding: 6px 12px;
            border-radius: 8px;
            font-size: 13px;
            font-weight: 500}
.bank-transfer-box{background: #fff5f0;
            border: 1px solid #ffd7c2;
            border-radius: 14px;
            padding: 14px;
            margin-bottom: 12px}
.bank-transfer-title{font-size: 15px;
            font-weight: 700;
            color: #1d1d1f;
            margin-bottom: 8px}
.bank-transfer-hint{font-size: 13px;
            color: #6b7280;
            margin-bottom: 10px}
.bank-transfer-details{display: grid;
            gap: 8px}
.bank-transfer-swiper{display: flex;
            gap: 10px;
            overflow-x: auto;
            scroll-snap-type: x mandatory;
            scrollbar-width: none;
            -ms-overflow-style: none}
.bank-transfer-swiper::-webkit-scrollbar{display: none}
.bank-transfer-card{position: relative;
            flex: 0 0 100%;
            scroll-snap-align: start;
            background: #fff;
            border: 1px solid #ffe3d6;
            border-radius: 12px;
            padding: 12px 12px 10px}
.bank-transfer-copy{position: absolute;
            top: 8px;
            right: 8px;
            border: 1px solid rgba(29, 29, 31, .12);
            background: rgba(255, 255, 255, .72);
            color: #5f6368;
            width: 34px;
            height: 34px;
            padding: 0;
            border-radius: 999px;
            backdrop-filter: blur(4px);
            -webkit-backdrop-filter: blur(4px);
            display: inline-flex;
            align-items: center;
            justify-content: center}
.bank-transfer-copy svg{width: 16px;
            height: 16px;
            stroke: currentColor;
            fill: none;
            stroke-width: 2}
.bank-transfer-copy:active{transform: scale(.98)}
.bank-transfer-card-title{font-size: 12px;
            color: #86868b;
            text-transform: uppercase;
            letter-spacing: .4px;
            margin-bottom: 6px}
.bank-transfer-card-value{font-size: 16px;
            font-weight: 700;
            color: #1d1d1f;
            padding-right: 96px;
            word-break: break-word}
.bank-transfer-card-meta{margin-top: 8px;
            font-size: 13px;
            color: #6b7280;
            line-height: 1.35}
.bank-transfer-swipe-meta{display: flex;
            align-items: center;
            justify-content: space-between;
            margin-top: 8px}
.bank-transfer-swipe-hint{font-size: 12px;
            color: #86868b}
.bank-transfer-dots{display: flex;
            align-items: center;
            gap: 5px}
.bank-transfer-dot{width: 6px;
            height: 6px;
            border-radius: 50%;
            background: #d0d0d4}
.bank-transfer-dot.active{background: #ff6b35}
.bank-transfer-row{background: #fff;
            border: 1px solid #ffe3d6;
            border-radius: 10px;
            padding: 10px 12px}
.bank-transfer-row-label{display: block;
            font-size: 11px;
            color: #86868b;
            text-transform: uppercase;
            letter-spacing: .3px;
            margin-bottom: 2px}
.bank-transfer-row-value{display: block;
            font-size: 14px;
            font-weight: 600;
            color: #1d1d1f;
            word-break: break-word}
.consent-hint{margin: 7px 2px 0;
            color: #8e8e93;
            font-size: 12px;
            line-height: 1.35}
.orders-list{display: grid;
            grid-template-columns: 1fr;
            gap: 12px;
            padding: 0}
.order-card{background: #fff;
            border-radius: 16px;
            padding: 16px;
            margin-bottom: 0;
            border: 1px solid #ececf1;
            box-shadow: 0 2px 12px rgba(0, 0, 0, .06)}
.order-card-header{display: flex;
            justify-content: space-between;
            align-items: flex-start;
            gap: 10px;
            margin-bottom: 12px}
.order-card-header-left{display: flex;
            flex-direction: column;
            gap: 3px;
            min-width: 0}
.order-card-number{font-size: 16px;
            font-weight: 700;
            line-height: 1.2}
.order-card-date{font-size: 12px;
            color: #86868b;
            line-height: 1.3}
.order-card-badges{display: flex;
            flex-wrap: wrap;
            justify-content: flex-end;
            gap: 6px}
.order-card-status{padding: 4px 10px;
            border-radius: 999px;
            font-size: 12px;
            font-weight: 600;
            white-space: nowrap}
.order-card-status--payment{font-size: 11px;
            padding: 3px 9px}
.order-card-status.new{background: #fff3cd;
            color: #856404}
.order-card-status.confirmed{background: #d4edda;
            color: #155724}
.order-card-status.delivered{background: #d4edda;
            color: #155724}
.order-card-status.cancelled{background: #f8d7da;
            color: #721c24}
.order-card-status.paused{background: #e3f2fd;
            color: #0d47a1}
.order-card-summary{display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 10px;
            margin-bottom: 12px}
.order-card-summary-item{background: #f8f8fb;
            border: 1px solid #ececf1;
            border-radius: 12px;
            padding: 10px 12px}
.order-card-summary-label{font-size: 11px;
            color: #86868b;
            text-transform: uppercase;
            letter-spacing: .06em;
            margin-bottom: 4px}
.order-card-summary-value{font-size: 14px;
            font-weight: 600;
            color: #1d1d1f;
            line-height: 1.3}
.order-card-footer{display: flex;
            justify-content: space-between;
            align-items: center}
.order-card-total{font-size: 16px;
            font-weight: 700}
.pwa-install-banner{display: none;
            position: fixed;
            bottom: 90px;
            left: 20px;
            right: 20px;
            max-width: 440px;
            margin: 0 auto;
            background: #1d1d1f;
            color: #fff;
            padding: 16px;
            border-radius: 16px;
            z-index: 1001;
            box-shadow: 0 4px 20px rgba(0, 0, 0, .3)}
.pwa-install-banner.show{display: flex;
            align-items: center;
            gap: 16px}
.pwa-install-icon{font-size: 32px}
.pwa-install-text{flex: 1}
.pwa-install-title{font-size: 14px;
            font-weight: 600;
            margin-bottom: 2px}
.pwa-install-desc{font-size: 12px;
            opacity: .8}
.pwa-install-btn{background: #ff6b35;
            color: #fff;
            padding: 10px 20px;
            border-radius: 8px;
            font-weight: 600;
            font-size: 14px}
.pwa-install-close{background: transparent;
            color: #fff;
            font-size: 20px;
            opacity: .6}
.orders-controls{display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 10px;
            margin-bottom: 12px}
.orders-search{grid-column: 1/-1}
@media(max-width:420px){.orders-controls{grid-template-columns: 1fr}}
.order-card-actions{display: flex;
            gap: 8px;
            align-items: center;
            flex-wrap: wrap;
            justify-content: flex-end}
.order-card-action{min-width: 104px}
@media(max-width:640px){.order-card-summary{grid-template-columns: 1fr}.order-card-footer{flex-direction: column;
                align-items: stretch;
                gap: 10px}.order-card-actions{justify-content: stretch}.order-card-action{width: 100%}}
.order-detail-grid{display: grid;
            grid-template-columns: 1fr;
            gap: 10px}
.order-detail-box{background: #f5f5f7;
            border-radius: 14px;
            padding: 14px}
#paymentsModal .order-detail-box{background: #fff;
            border: 1px solid #ececf1}
#paymentsModal .order-detail-row{align-items: flex-start}
#paymentsModal .order-detail-value{max-width: 65%;
            overflow-wrap: anywhere;
            word-break: break-word}
.order-detail-row{display: flex;
            justify-content: space-between;
            gap: 12px;
            padding: 6px 0;
            border-bottom: 1px solid rgba(0, 0, 0, .06)}
.order-detail-row:last-child{border-bottom: none}
.order-detail-label{color: #6e6e73;
            font-size: 13px}
.order-detail-value{font-weight: 600;
            font-size: 13px;
            text-align: right}
.order-detail-actions{margin-top: 14px;
            display: flex;
            gap: 10px;
            flex-wrap: wrap}
.order-edit-actions{display: flex;
            gap: 10px;
            flex-wrap: wrap;
            margin-top: 6px}
.order-edit-actions .btn-full{flex: 1}
.order-edit-hint{margin-top: 10px;
            padding: 10px 12px;
            border-radius: 12px;
            background: #fff3cd;
            color: #7a5b00;
            font-size: 13px;
            border: 1px solid rgba(0, 0, 0, .08)}
.order-history-timeline{margin-top: 10px}
.order-history-item{display: flex;
            justify-content: space-between;
            gap: 12px;
            padding: 8px 0;
            border-bottom: 1px solid rgba(0, 0, 0, .06)}
.order-history-item:last-child{border-bottom: none}
.order-history-status{font-weight: 600}
.order-history-date{color: #6e6e73;
            font-size: 12px;
            white-space: nowrap}
@keyframes slideInUp{
            from {
                opacity: 0;
                transform: translateY(20px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }
@keyframes spin{
            from {
                transform: rotate(0deg);
            }

            to {
                transform: rotate(360deg);
            }
        }
@keyframes successPop{
            0% {
                transform: scale(0.8);
                opacity: 0;
            }

            50% {
                transform: scale(1.05);
            }

            100% {
                transform: scale(1);
                opacity: 1;
            }
        }
@keyframes confetti{
            0% {
                transform: translateY(0) rotate(0deg);
                opacity: 1;
            }

            100% {
                transform: translateY(300px) rotate(720deg);
                opacity: 0;
            }
        }
@keyframes shimmer{
            0% {
                background-position: -1000px 0;
            }

            100% {
                background-position: 1000px 0;
            }
        }
.checkout-spinner{display: inline-block;
            width: 16px;
            height: 16px;
            border: 2px solid rgba(255, 255, 255, 0.3);
            border-top-color: #fff;
            border-radius: 50%;
            animation: spin 0.8s linear infinite;
            margin-right: 8px;
            vertical-align: middle;}
.confetti-container{position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
            z-index: 9999;}
.confetti{position: absolute;
            width: 10px;
            height: 10px;
            background: #ff6b35;
            animation: confetti 3s ease-out forwards;}
.reco-grid{display: grid;
            gap: 10px}
.reco-card{background: #fff;
            border: 1px solid #f0f0f0;
            border-radius: 14px;
            padding: 12px;
            box-shadow: 0 4px 12px rgba(0, 0, 0, .04)}
.reco-title{font-size: 14px;
            font-weight: 700}
.reco-desc{font-size: 12px;
            color: #86868b;
            margin-top: 4px}
.reco-action{margin-top: 8px;
            font-size: 12px;
            color: #ff6b35;
            font-weight: 700}
.delivery-list{display: flex;
            flex-direction: column;
            gap: 10px;
            margin-top: 10px}
.delivery-item{background: #fff;
            border: 1px solid #f0f0f0;
            border-radius: 14px;
            padding: 12px;
            display: flex;
            justify-content: space-between;
            gap: 12px;
            cursor: pointer}
.delivery-item:active{transform: scale(.98)}
.delivery-item-left{display: flex;
            flex-direction: column;
            gap: 4px}
.delivery-item-date{font-size: 14px;
            font-weight: 700}
.delivery-item-meta{font-size: 12px;
            color: #86868b}
.delivery-item-status{font-size: 11px;
            font-weight: 700;
            padding: 4px 8px;
            border-radius: 8px;
            white-space: nowrap}
.delivery-item-status.scheduled{background: #fff3cd;
            color: #856404}
.delivery-item-status.delivered{background: #d4edda;
            color: #155724}
.delivery-item-status.missed{background: #f8d7da;
            color: #721c24}
.delivery-item-status.cancelled{background: #e3f2fd;
            color: #0d47a1}
.timeline{border-left: 2px solid #f0f0f0;
            margin-left: 6px;
            padding-left: 12px;
            margin-top: 10px}
.timeline-item{position: relative;
            padding-bottom: 12px}
.timeline-item::before{content: '';
            position: absolute;
            left: -17px;
            top: 4px;
            width: 10px;
            height: 10px;
            border-radius: 50%;
            background: #e5e5e5}
.timeline-item.completed::before{background: #4CAF50}
.timeline-item.active::before{background: #ff6b35}
.timeline-title{font-size: 14px;
            font-weight: 600}
.timeline-sub{font-size: 12px;
            color: #86868b}
.toggle-row{display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            padding: 12px;
            border: 1px solid #f0f0f0;
            border-radius: 12px;
            margin-bottom: 8px}
.toggle-text{font-size: 14px;
            font-weight: 600}
.toggle-desc{font-size: 11px;
            color: #86868b;
            margin-top: 2px}
.toggle{position: relative;
            display: inline-block;
            width: 44px;
            height: 24px}
.toggle input{opacity: 0;
            width: 0;
            height: 0}
.toggle-slider{position: absolute;
            cursor: pointer;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: #e5e5e5;
            transition: .2s;
            border-radius: 24px}
.toggle-slider:before{position: absolute;
            content: "";
            height: 20px;
            width: 20px;
            left: 2px;
            top: 2px;
            background: #fff;
            transition: .2s;
            border-radius: 50%}
.toggle input:checked+.toggle-slider{background: #ff6b35}
.toggle input:checked+.toggle-slider:before{transform: translateX(20px)}
.support-list,.support-chat{display: flex;
            flex-direction: column;
            gap: 10px}
.ticket-card{border: 1px solid #f0f0f0;
            border-radius: 14px;
            padding: 12px;
            background: #fff}
.ticket-title{font-size: 14px;
            font-weight: 700}
.ticket-meta{font-size: 11px;
            color: #86868b;
            margin-top: 4px}
.ticket-status{display: inline-block;
            margin-top: 8px;
            font-size: 11px;
            font-weight: 700;
            padding: 4px 8px;
            border-radius: 8px;
            background: #e3f2fd;
            color: #0d47a1}
.chat-messages{display: flex;
            flex-direction: column;
            gap: 8px;
            max-height: 300px;
            overflow-y: auto;
            padding: 4px}
.chat-bubble{max-width: 85%;
            padding: 10px 12px;
            border-radius: 14px;
            font-size: 13px;
            line-height: 1.4}
.chat-bubble.me{align-self: flex-end;
            background: #ff6b35;
            color: #fff}
.chat-bubble.support{align-self: flex-start;
            background: #f5f5f7;
            color: #1d1d1f}
.chat-time{font-size: 10px;
            color: #86868b;
            margin-top: 4px}
.rating-block{margin-top: 12px}
.rating-label{font-size: 14px;
            font-weight: 700;
            margin-bottom: 6px}
.rating-stars{display: flex;
            gap: 6px}
.rating-star{font-size: 28px;
            color: #e5e5e5;
            cursor: pointer;
            transition: transform .1s}
.rating-star.active{color: #ff6b35}
.rating-star:active{transform: scale(.95)}
.rating-tags{display: flex;
            flex-wrap: wrap;
            gap: 6px;
            margin-top: 8px}
.rating-tag{background: #f5f5f7;
            color: #1d1d1f;
            padding: 6px 10px;
            border-radius: 14px;
            font-size: 12px;
            cursor: pointer}
.rating-tag.active{background: #ff6b35;
            color: #fff}
.dish-rating-list{display: flex;
            flex-direction: column;
            gap: 8px;
            margin-top: 8px}
.dish-rating-item{display: flex;
            justify-content: space-between;
            align-items: center;
            border: 1px solid #f0f0f0;
            border-radius: 12px;
            padding: 8px 10px}
.dish-rating-name{font-size: 12px;
            font-weight: 600}
.dish-rating-actions{display: flex;
            gap: 6px}
.support-float{display: none !important}
@media (min-width: 768px) and (max-width: 1023px) and (min-height: 600px){.orders-list{display: grid;
                grid-template-columns: repeat(2, 1fr);
                gap: 14px}.order-card{margin-bottom: 0}}
@media (min-width: 1024px){@keyframes float{

                0%,
                100% {
                    transform: translateY(0)
                }

                50% {
                    transform: translateY(-12px)
                }
            }#ordersModal .orders-controls{grid-template-columns: minmax(180px, 220px) minmax(180px, 220px) minmax(280px, 1fr);
                gap: 12px;
                margin-bottom: 16px}#ordersModal .orders-search{grid-column: auto}#ordersModal .orders-list{grid-template-columns: 1fr;
                gap: 14px;
                padding: 0}#ordersModal .order-card{border-radius: 18px;
                padding: 18px 20px;
                box-shadow: 0 8px 24px rgba(17, 24, 39, .06);
                transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease}@media (hover:hover){#ordersModal .order-card:hover{transform: translateY(-1px);
                box-shadow: 0 14px 30px rgba(17, 24, 39, .1);
                border-color: #e1e4ec}}#ordersModal .order-card-total{font-size: 22px}.pwa-install-banner{left: auto;
                right: 40px;
                bottom: 40px;
                border-radius: 20px;
                padding: 20px 24px;
                box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15)}.support-float{display: none !important}}
@media (min-width: 1280px){.orders-list{grid-template-columns: repeat(3, 1fr)}}
@media (min-width: 1536px){.orders-list{grid-template-columns: repeat(4, 1fr)}}
@media print{.support-float,.pwa-install-banner{display: none !important}}
.toast-container{position:fixed;bottom:calc(80px + env(safe-area-inset-bottom,0px));left:16px;right:16px;z-index:10001;pointer-events:none;display:flex;flex-direction:column;gap:8px;align-items:center}
.toast{background:#1d1d1f;color:#fff;padding:14px 20px;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.2);pointer-events:auto;animation:toastIn .3s cubic-bezier(.21,1.02,.73,1) forwards;font-size:14px;font-weight:500;line-height:1.4;max-width:400px;width:100%;display:flex;align-items:center;gap:10px}
.toast-icon{font-size:18px;flex-shrink:0}
.toast.success{background:#1b5e20;border-left:4px solid #4caf50}
.toast.error{background:#b71c1c;border-left:4px solid #f44336}
.toast.warning{background:#e65100;border-left:4px solid #ff9800}
.toast.info{background:#0d47a1;border-left:4px solid #2196f3}
.toast.removing{animation:toastOut .25s ease-in forwards}
@keyframes toastIn{from{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes toastOut{from{transform:translateY(0);opacity:1}to{transform:translateY(30px);opacity:0}}
.checkout-overlay-loading{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.15);z-index:9999;display:none;align-items:center;justify-content:center;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.checkout-overlay-loading.active{display:flex}
.checkout-overlay-loading-content{background:#fff;padding:24px 32px;border-radius:16px;text-align:center;box-shadow:0 8px 32px rgba(0,0,0,.15)}
.checkout-overlay-loading-spinner{width:40px;height:40px;border:3px solid #f5f5f7;border-top:3px solid #ff6b35;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 12px}
.checkout-overlay-loading-text{font-size:14px;color:#1d1d1f;font-weight:500}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes fadeInStep{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}
.dcal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.dcal-title{font-size:16px;font-weight:700;color:#1d1d1f}
.dcal-nav{display:flex;gap:6px}
.dcal-nav button{width:32px;height:32px;border-radius:8px;background:#f5f5f7;border:1px solid #e5e5e5;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:background .2s}@media (hover:hover){.dcal-nav button:hover{background:#e8e8e8}}
.dcal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px}
.dcal-wd{text-align:center;font-size:11px;font-weight:600;color:#86868b;padding:6px 0;text-transform:uppercase}
.dcal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:16px}
.dcal-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:8px;font-size:13px;font-weight:500;cursor:default;border:2px solid transparent;transition:all .2s;position:relative;min-height:40px}
.dcal-day.empty{visibility:hidden}
.dcal-day.has-delivery{cursor:pointer}@media (hover:hover){.dcal-day.has-delivery:hover{transform:scale(1.08);box-shadow:0 2px 8px rgba(0,0,0,.1)}}
.dcal-day.today{background:#e3f2fd;color:#0d47a1;border-color:#2196f3;font-weight:700}
.dcal-day.delivered{background:#c8e6c9;color:#1b5e20;border-color:#4caf50}
.dcal-day.scheduled{background:#fff3e0;color:#e65100;border-color:#ff9800}
.dcal-day.missed{background:#ffebee;color:#b71c1c;border-color:#f44336}
.dcal-day.cancelled{background:#f5f5f5;color:#9e9e9e;text-decoration:line-through}
.dcal-day-num{font-size:14px;line-height:1}
.dcal-day-icon{font-size:10px;margin-top:2px}
.dcal-legend{display:flex;flex-wrap:wrap;gap:12px;padding:12px;background:#f5f5f7;border-radius:10px;font-size:12px}
.dcal-legend-item{display:flex;align-items:center;gap:5px}
.dcal-legend-dot{width:10px;height:10px;border-radius:3px;border:1.5px solid}
.dcal-legend-dot.delivered{background:#c8e6c9;border-color:#4caf50}
.dcal-legend-dot.scheduled{background:#fff3e0;border-color:#ff9800}
.dcal-legend-dot.missed{background:#ffebee;border-color:#f44336}
.dcal-legend-dot.today{background:#e3f2fd;border-color:#2196f3}
.addr-ac-wrap{position:relative}
.addr-ac-list{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e5e5e5;border-top:none;border-radius:0 0 12px 12px;max-height:240px;overflow-y:auto;z-index:100;box-shadow:0 4px 16px rgba(0,0,0,.12);display:none}
.addr-ac-list.open{display:block}
.addr-ac-item{padding:12px 16px;cursor:pointer;border-bottom:1px solid #f5f5f7;font-size:14px;color:#1d1d1f;transition:background .15s}
.addr-ac-item:last-child{border-bottom:none;border-radius:0 0 12px 12px}.addr-ac-item:focus{background:#fff5f0}@media (hover:hover){.addr-ac-item:hover{background:#fff5f0}}
.addr-ac-item-sub{font-size:11px;color:#86868b;margin-top:2px}
.addr-ac-loading{padding:12px 16px;text-align:center;color:#86868b;font-size:13px}
.addr-card{background:#f5f5f7;border-radius:12px;padding:14px;margin-bottom:10px;position:relative}
.addr-card.default{border:2px solid #ff6b35;background:#fff5f0}
.addr-card-label{font-size:13px;font-weight:600;color:#ff6b35;margin-bottom:4px}
.addr-card-text{font-size:14px;color:#1d1d1f;line-height:1.4}
.addr-card-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.addr-card-actions .btn{padding:6px 14px;font-size:12px;border-radius:8px}
.addr-card-default-badge{display:inline-block;background:#ff6b35;color:#fff;font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;margin-left:8px}
.addr-empty{text-align:center;color:#86868b;padding:30px 20px;font-size:14px}
.tracking-header{text-align:center;padding:20px 0;margin-bottom:20px}
.tracking-date{font-size:13px;color:#86868b;margin-bottom:4px}
.tracking-date-val{font-size:24px;font-weight:700;color:#1d1d1f}
.tracking-courier{background:#f5f5f7;border-left:4px solid #ff6b35;padding:14px 16px;border-radius:0 12px 12px 0;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between}
.tracking-courier-name{font-size:15px;font-weight:600;color:#1d1d1f}
.tracking-courier-phone a{color:#ff6b35;font-size:14px;text-decoration:none;font-weight:500}
.tracking-address{background:#fff;border:2px solid #ff6b35;padding:14px 16px;border-radius:12px;margin-bottom:24px}
.tracking-address-label{font-size:11px;font-weight:600;color:#ff6b35;text-transform:uppercase;margin-bottom:4px;letter-spacing:.5px}
.tracking-address-text{font-size:15px;color:#1d1d1f;font-weight:500}
.tracking-timeline{position:relative;padding:0 0 0 40px;margin-bottom:20px}
.tracking-timeline::before{content:'';position:absolute;left:15px;top:8px;bottom:8px;width:2px;background:#e5e5e5}
.tracking-step{position:relative;padding:0 0 24px 20px}
.tracking-step:last-child{padding-bottom:0}
.tracking-step-dot{position:absolute;left:-33px;top:2px;width:18px;height:18px;border-radius:50%;background:#e5e5e5;border:2px solid #fff;box-shadow:0 0 0 2px #e5e5e5;z-index:1;display:flex;align-items:center;justify-content:center;font-size:9px;color:#fff}
.tracking-step.done .tracking-step-dot{background:#4caf50;box-shadow:0 0 0 2px #4caf50}
.tracking-step.active .tracking-step-dot{background:#ff6b35;box-shadow:0 0 0 2px #ff6b35;animation:tPulse 2s infinite}
.tracking-step.pending .tracking-step-dot{background:#e5e5e5;box-shadow:0 0 0 2px #e5e5e5}
@keyframes tPulse{0%,100%{box-shadow:0 0 0 2px #ff6b35}50%{box-shadow:0 0 0 6px rgba(255,107,53,.25)}}
.tracking-step-title{font-size:15px;font-weight:600;color:#1d1d1f}
.tracking-step.pending .tracking-step-title{color:#86868b}
.tracking-step-desc{font-size:13px;color:#86868b;margin-top:2px}
.tracking-step-time{font-size:12px;color:#4caf50;margin-top:2px;font-weight:500}
.tracking-actions{padding-top:12px}
.photo-cal-upload{display:flex;gap:10px;align-items:center;margin-bottom:14px}
.photo-cal-upload .form-input{flex:1}
.photo-cal-preview-wrap{display:none;margin-bottom:16px}
.photo-cal-preview-wrap.visible{display:block}
.photo-cal-preview{width:100%;max-height:240px;object-fit:cover;border-radius:12px;border:1px solid #f0f0f0;background:#f5f5f7}
.photo-cal-loading{display:none;font-size:13px;color:#86868b;margin:10px 0}
.photo-cal-loading.active{display:block}
.photo-cal-result{display:none}
.photo-cal-result.visible{display:block}
.photo-cal-result-title{font-size:17px;font-weight:700;color:#1d1d1f;margin-bottom:8px}
.photo-cal-result-desc{font-size:14px;color:#5a5a5e;line-height:1.45;margin-bottom:12px}
.photo-cal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.photo-cal-card{background:#f7f7fa;border:1px solid #ececf1;border-radius:10px;padding:10px}
.photo-cal-card-label{font-size:11px;color:#86868b;margin-bottom:4px;text-transform:uppercase}
.photo-cal-card-value{font-size:16px;font-weight:700;color:#1d1d1f}
.photo-cal-assumptions{margin-top:12px;padding:10px 12px;background:#fff5f0;border:1px solid #ffd6c8;border-radius:10px;font-size:13px;color:#7a4a3a;line-height:1.4}
.photo-cal-assumptions-label{font-weight:700;color:#d9551e;margin-bottom:4px}
.photo-cal-confidence{margin-top:10px;font-size:13px;color:#5a5a5e}
.photo-cal-history{margin-top:16px;padding-top:14px;border-top:1px solid #ececf1}
.photo-cal-history-title{font-size:14px;font-weight:700;color:#1d1d1f;margin-bottom:8px}
.photo-cal-history-empty{font-size:13px;color:#86868b}
.photo-cal-history-list{display:grid;gap:8px}
.photo-cal-history-item{background:#f7f7fa;border:1px solid #ececf1;border-radius:10px;padding:10px}
.photo-cal-history-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:6px}
.photo-cal-history-name{font-size:14px;font-weight:600;color:#1d1d1f}
.photo-cal-history-time{font-size:12px;color:#86868b;white-space:nowrap}
.photo-cal-history-metrics{font-size:12px;color:#5a5a5e}
.profile-loading-block{display:flex;align-items:center;justify-content:center;gap:10px;padding:18px 14px;border:1px dashed #e6e8ef;border-radius:12px;background:#fafbff;color:#6f727b;font-size:14px}
.profile-loading-spinner{width:16px;height:16px;border-radius:50%;border:2px solid #e5e5ea;border-top-color:#ff6b35;animation:spin .8s linear infinite;flex:0 0 16px}
@font-face{font-family:'FB Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(/static/fonts/inter-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'FB Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(/static/fonts/inter-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+20BD,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--bg:#FFF5F0;--card:#FFFFFF;--ink:#243B1E;--ink2:#3F5537;--muted:#5D6858;--faint:#AFC0A7;--line:#EEEDE6;--line2:#DDE3D6;--soft:#F3F6EF;--or:#51823D;--or2:#456F34;--ort:#4A7A36;--tint:#EEF5E9;--sage:#6E9E57;--mint:#C5DDB9;--cream:#FFF5F0;--dark:#243B1E;--dark2:#2F4A28;--dark3:#3E5C35;--ok:#2F6B2A;--okbg:#E6F2DF;--err:#B42318;--sh1:0 1px 2px rgba(36,59,30,.05),0 4px 14px rgba(36,59,30,.05);--sh2:0 2px 6px rgba(36,59,30,.06),0 18px 40px rgba(36,59,30,.10);--ease:cubic-bezier(.22,.61,.36,1);--spring:cubic-bezier(.34,1.56,.64,1);--r:24px;--gut:clamp(16px,3.4vw,40px);--top:72px;--nav:0px}
*{margin:0;padding:0;box-sizing:border-box}
html,body{background:var(--bg);color:var(--ink);font-family:'FB Inter',Inter,system-ui,-apple-system,'Segoe UI',sans-serif;line-height:1.45;-webkit-font-smoothing:antialiased;font-feature-settings:"cv11" 1,"ss01" 1}
body{padding-bottom:var(--nav);min-height:100vh}
a{color:inherit;text-decoration:none}
button{font-family:inherit;color:inherit;cursor:pointer;border:0;background:none}
input,textarea,select{font-family:inherit;color:inherit}
img{max-width:100%;display:block}
svg{stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
:focus-visible{outline:2px solid var(--sage);outline-offset:2px}
[hidden]{display:none!important}
.wrap{max-width:1280px;margin:0 auto;padding:0 var(--gut)}
.card{background:var(--card);border-radius:var(--r)}
.card.dark,.dark{background:var(--dark);color:#fff}
.num,.hero-title,.h1,.h2{font-variant-numeric:tabular-nums}
.eyebrow{display:block;font-size:12.5px;font-weight:650;color:var(--ort);margin-bottom:10px;text-transform:uppercase;letter-spacing:.06em}
.h1{font-size:clamp(30px,4.2vw,52px);line-height:1.02;font-weight:800;letter-spacing:-.045em}
.h2{font-size:clamp(26px,3vw,40px);line-height:1.05;font-weight:800;letter-spacing:-.04em}
.lbl{display:block;font-size:13px;font-weight:600;color:var(--muted);margin-bottom:10px}
.lnk{font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap;padding:6px 0}
.lnk{background:linear-gradient(currentColor,currentColor) left bottom/0 1.5px no-repeat;transition:background-size .35s var(--ease),color .2s}@media (hover:hover){.lnk:hover{color:var(--ort);background-size:100% 1.5px}}
.lnk-in{font:inherit;color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:3px;padding:0}
.lg-only{display:flex}.sm-only{display:none!important}.lg-flex{display:flex}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;padding:0 24px;border-radius:14px;background:var(--or);color:#fff;font-size:16px;font-weight:650;letter-spacing:-.01em;white-space:nowrap;transition:transform .15s,background .15s,box-shadow .15s;border:0;cursor:pointer;text-decoration:none}@media (hover:hover){.btn:hover{background:var(--or2);transform:translateY(-1px)}}
.btn:active{transform:none}
.btn:disabled,.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}
.btn-primary{background:var(--or);color:#fff}
.btn-2,.btn-secondary{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line2)}@media (hover:hover){.btn-2:hover,.btn-secondary:hover{background:#fff;box-shadow:inset 0 0 0 1px var(--ink)}}
.btn-ink{background:var(--ink);color:#fff}@media (hover:hover){.btn-ink:hover{background:var(--dark2)}}
.btn-danger{background:#FDEDEB;color:var(--err)}@media (hover:hover){.btn-danger:hover{background:#FAD9D9}}
.btn-sm,.btn-small{height:42px;padding:0 16px;font-size:14px;border-radius:12px}
.btn-block,.btn-full{display:flex;width:100%}
.ibtn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1px var(--line2)}
.ibtn svg{width:19px;height:19px}

.topbar{position:sticky;top:0;z-index:60;background:rgba(255,245,240,.84);transition:box-shadow .3s,background .3s;backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px)}
.topbar-in{height:var(--top);display:flex;align-items:center;gap:24px}
.logo{display:inline-flex;align-items:center;color:var(--sage);flex:0 0 auto;padding:4px 0}
.logo-svg{display:block;height:44px;width:auto;fill:currentColor;stroke:none;overflow:visible}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.tabs{flex:1 1 auto;justify-content:center}
.tabs{gap:2px}
.tabs .tab{display:inline-flex;align-items:center;height:38px;padding:0 18px;border-radius:999px;font-size:14px;font-weight:550;color:var(--ink2)}
.tabs{padding:4px;border-radius:999px;background:rgba(36,59,30,.06);flex:0 0 auto;margin:0 auto}@media (hover:hover){.tabs .tab:hover{color:var(--ink);background:rgba(255,255,255,.6)}}
.tabs .tab.active{background:#fff;color:var(--ink);font-weight:650;box-shadow:0 1px 3px rgba(36,59,30,.1)}
.topbar-side{display:flex;align-items:center;gap:10px;margin-left:auto}
.topbar-phone{font-size:14px;font-weight:500;margin-right:6px;white-space:nowrap}@media (hover:hover){.topbar-phone:hover{color:var(--ort)}}

.app-container{min-height:calc(100vh - var(--top))}
.screen{display:none;padding-top:clamp(12px,2vw,28px);animation:v2in .25s ease}
.screen.active{display:block}
@keyframes v2in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.sec{margin-top:clamp(56px,7vw,96px)}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px 24px;flex-wrap:wrap;margin-bottom:24px}
.sec-sub,.page-sub{font-size:15px;color:var(--muted);margin-top:10px;line-height:1.5}
.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px 40px;flex-wrap:wrap;margin:clamp(8px,2vw,20px) 0 22px}
.page-head .page-sub{max-width:380px;margin:0 0 6px}


.home-subscription{margin-bottom:14px}
.subscription-card{background:var(--dark);color:#fff;border-radius:20px;padding:14px 18px}
.subscription-line{display:flex;align-items:center;justify-content:space-between;gap:12px}
.subscription-line-text{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;min-width:0}
.subscription-title{font-weight:700}
.subscription-dot,.subscription-subtitle{color:var(--faint);font-size:14px}
.subscription-line-side{display:flex;align-items:center;gap:8px}
.subscription-status-badge{padding:6px 10px;border-radius:999px;background:var(--okbg);color:var(--ok);font-size:12px;font-weight:600}
.subscription-toggle{width:32px;height:32px;border-radius:10px;background:var(--dark2);display:inline-flex;align-items:center;justify-content:center;color:#fff}
.subscription-toggle svg{width:16px;height:16px;transition:transform .2s}
.subscription-card.expanded .subscription-toggle svg{transform:rotate(180deg)}
.subscription-expand{display:none;margin-top:12px;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.subscription-card.expanded .subscription-expand{display:flex}
.subscription-detail{color:#D5E2CF;font-size:14px}
.subscription-actions{display:flex;gap:8px}
.action-pill{height:36px;padding:0 14px;border-radius:10px;background:var(--dark2);color:#fff;font-size:13px;font-weight:600}
.action-pill.primary{background:var(--mint);color:var(--ink)}
.home-recommendations{margin-bottom:14px}
.reco-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.reco-card{background:#fff;border-radius:18px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.reco-title{font-weight:700}.reco-desc{font-size:13px;color:var(--muted)}
.reco-action{font-size:13px;font-weight:700;color:var(--ort);cursor:pointer;margin-top:4px}

.bento{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:14px}
.hero-main{padding:clamp(28px,4.4vw,64px);display:flex;flex-direction:column;justify-content:center;gap:20px;min-height:520px}
.eyebrow-pill{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:var(--tint);color:var(--ort);font-size:13px;font-weight:600}
.eyebrow-pill .dot{position:relative;width:7px;height:7px;border-radius:50%;background:var(--sage)}
.hero-title{font-size:clamp(40px,5.4vw,76px);line-height:.98;font-weight:800;letter-spacing:-.05em}
.hero-text{font-size:clamp(16px,1.4vw,19px);line-height:1.55;color:var(--ink2);max-width:540px}
.hero-buttons{display:flex;flex-wrap:wrap;gap:10px}
.hero-note{font-size:13px;color:var(--muted)}
.hero-side{display:flex;flex-direction:column;gap:14px;min-width:0}
.hero-photo{flex:1 1 auto;position:relative;overflow:hidden;padding:0;min-height:280px;display:block;text-align:left;cursor:pointer}
.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}@media (hover:hover){.hero-photo:hover img{transform:scale(1.04)}}
.hero-photo-cap{position:absolute;left:12px;right:12px;bottom:12px;display:flex;justify-content:space-between;align-items:flex-end;gap:10px;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px)}
.hero-photo-cap>span{display:flex;flex-direction:column;gap:2px;min-width:0}
.cap-type{font-size:12px;font-weight:600;color:var(--ort)}
.cap-name{font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cap-kcal{font-size:14px;font-weight:700;white-space:nowrap}
.hero-mini{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mini{padding:18px;display:flex;flex-direction:column;gap:4px;min-height:120px;justify-content:flex-end}
.mini-l{font-size:13px;color:var(--muted);margin-bottom:auto}
.mini-v{font-size:clamp(20px,2vw,26px);font-weight:800;letter-spacing:-.03em;white-space:nowrap}
.mini-s{font-size:13px;color:var(--muted)}
.mini-dark{background:var(--dark) url(/static/brand/pat-deep.svg) center/90px auto repeat;color:var(--cream)}
.mini-dark .mini-l,.mini-dark .mini-s{color:var(--faint)}
.feats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:14px}
.feat{padding:18px;display:flex;gap:14px;align-items:flex-start;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}@media (hover:hover){.feat:hover{transform:translateY(-4px);box-shadow:var(--sh2)}}
.feat-i{flex:0 0 auto;width:42px;height:42px;border-radius:13px;background:var(--tint);color:var(--ort);display:inline-flex;align-items:center;justify-content:center;transition:background .3s,color .3s,transform .45s var(--spring)}@media (hover:hover){.feat:hover .feat-i{background:var(--sage);color:#fff;transform:rotate(-8deg) scale(1.08)}}
.feat-i svg{width:20px;height:20px}
.feat>span:last-child{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted);line-height:1.4}
.feat b{font-size:15px;color:var(--ink);font-weight:700;line-height:1.25}

.trial-banner{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-radius:var(--r);background:var(--mint) url(/static/brand/pat-mint-soft.svg) right center/120px auto repeat;cursor:pointer}
.trial-badge{font-size:13px;font-weight:600}
.trial-title{font-size:22px;font-weight:800;letter-spacing:-.03em}
.trial-btn{height:44px;padding:0 18px;border-radius:12px;background:var(--ink);color:#fff;font-weight:600}
.promos-section{margin-top:56px}
.promos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.promo-card{background:#fff;border-radius:var(--r);padding:22px;display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}@media (hover:hover){.promo-card:hover{transform:translateY(-4px);box-shadow:var(--sh2)}}
.promo-card-title{font-size:19px;font-weight:800;letter-spacing:-.02em}
.promo-card-text{font-size:14px;color:var(--muted)}
.promo-cta{align-self:flex-start;margin-top:6px;height:40px;padding:0 14px;border-radius:12px;background:var(--tint);color:var(--ort);font-weight:600;font-size:14px}

.picker{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:14px;align-items:stretch}
.picker-form{padding:clamp(20px,2.6vw,32px);display:flex;flex-direction:column;gap:22px}
.fld{display:flex;flex-direction:column}
.seg{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;padding:4px;border-radius:16px;background:var(--soft)}
.seg-b{min-height:46px;padding:6px 10px;border-radius:12px;font-size:15px;font-weight:600;color:var(--ink2);line-height:1.15;transition:background .15s}@media (hover:hover){.seg-b:hover{color:var(--ink)}}
.seg-b.on,.seg-b.selected{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.1)}
.opts{display:grid;gap:8px}
.opts-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.opts-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.opts-dur{grid-template-columns:repeat(auto-fit,minmax(96px,1fr))}
.opt{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;border-radius:16px;background:#fff;box-shadow:inset 0 0 0 1px var(--line2);text-align:left;transition:box-shadow .15s,background .15s}@media (hover:hover){.opt:hover{box-shadow:inset 0 0 0 1px var(--ink)}}
.opt.on,.opt.selected{background:var(--tint);box-shadow:inset 0 0 0 2px var(--sage)}
.opt b{font-size:16px;font-weight:700;letter-spacing:-.01em}
.opt .big{font-size:22px;font-weight:800;letter-spacing:-.03em}
.opt span,.opt small{font-size:13px;color:var(--muted);line-height:1.3}
.opt .disc{color:var(--ort);font-weight:600}
.picker-sum{padding:clamp(22px,2.6vw,32px);display:flex;flex-direction:column;gap:18px}
.sum-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.sum-name{font-size:24px;font-weight:800;letter-spacing:-.03em}
.sum-desc{font-size:13px;color:var(--faint)}
.sum-desc.ink{color:var(--muted)}
.chip-dark{padding:7px 11px;border-radius:999px;background:var(--dark2);font-size:13px;font-weight:600;white-space:nowrap}
.sum-price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.sum-price span{font-size:clamp(44px,5vw,64px);font-weight:800;letter-spacing:-.05em;line-height:1}
.sum-price small{font-size:14px;color:var(--faint)}
.sum-meals{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.sum-meals div{background:var(--dark2);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:3px;min-width:0}
.sum-meals span{font-size:11px;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sum-meals b{font-size:15px}
.sum-disc{display:flex;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:14px;background:rgba(197,221,185,.14);color:var(--mint);font-size:14px;font-weight:600}
.sum-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-top:16px;border-top:1px solid var(--dark3);margin-top:auto;font-size:15px}
.sum-total b{font-size:22px;letter-spacing:-.02em}

.rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px;scrollbar-width:none}
.rail::-webkit-scrollbar{display:none}
.dish{scroll-snap-align:start;background:#fff;border-radius:22px;padding:10px 10px 16px;display:flex;flex-direction:column;gap:12px;text-align:left;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}@media (hover:hover){.dish:hover{transform:translateY(-6px);box-shadow:var(--sh2)}}
.dish-ph{position:relative;aspect-ratio:1/1;border-radius:16px;background:var(--soft);overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:56px}
.dish-ph img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}@media (hover:hover){.dish:hover .dish-ph img{transform:scale(1.07)}}
.dish-ph>span[aria-hidden]{transition:transform .5s var(--spring)}@media (hover:hover){.dish:hover .dish-ph>span[aria-hidden]{transform:scale(1.15) rotate(-6deg)}}
.dish-tag{position:absolute;top:10px;left:10px;padding:5px 9px;border-radius:999px;background:#fff;font-size:12px;font-weight:600;color:var(--ink)}
.dish-name{padding:0 6px;font-size:15px;font-weight:700;line-height:1.25}
.dish-meta{padding:0 6px;font-size:13px;color:var(--muted);margin-top:-6px}
.ph-breakfast{background:#FFF0E6}.ph-snack{background:#EEF5E9}.ph-lunch{background:#F6F1E4}.ph-snack2{background:#E9F1EC}.ph-dinner{background:#EDF0E6}.ph-drink{background:#E6F0F2}

.steps3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.step3{padding:24px;display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--muted);line-height:1.5}
.step3 b{font-size:17px;color:var(--ink);font-weight:700;letter-spacing:-.01em;margin-top:8px}
.step3-n{position:relative;width:48px;height:48px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:conic-gradient(var(--sage) var(--ring,360deg),var(--line2) 0);transition:--ring 1.1s var(--ease)}
.step3-n::before{content:"";position:absolute;inset:3px;border-radius:50%;background:#fff}
.step3-n b{position:relative;margin:0!important;font-size:19px!important;font-weight:800;color:var(--ink)!important}

.deliv{margin-top:clamp(56px,7vw,96px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;padding:clamp(20px,3vw,40px);align-items:stretch}
.deliv-info{display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.deliv-info .h2{margin-top:-12px}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pill{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--line2);font-size:14px;font-weight:500}
.pill.on{background:var(--dark);color:#fff;box-shadow:none}
.deliv-map{position:relative;border-radius:18px;overflow:hidden;background:#F7FAF4;min-height:260px}
.deliv-map svg{position:absolute;inset:0;width:100%;height:100%;stroke:none}
.map-cap{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:12px;background:#fff;font-size:12px;font-weight:650;box-shadow:var(--sh1)}
.map-cap svg{width:16px;height:9px;fill:var(--sage);stroke:none}

.faq-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:24px;align-items:start}
.faq{padding:6px 0;overflow:hidden}
.faq details{border-top:1px solid var(--line)}
.faq details:first-child{border-top:0}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;font-size:16px;font-weight:600;cursor:pointer}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:var(--tint);color:var(--ort);display:inline-flex;align-items:center;justify-content:center;font-size:20px;font-weight:500;transition:transform .35s var(--spring),background .2s,color .2s}
.faq details[open] summary::after{transform:rotate(45deg);background:var(--sage);color:#fff}
.faq-a{overflow:hidden}
.faq p{padding:0 22px 18px;font-size:15px;color:var(--ink2);line-height:1.55;max-width:600px}

.cta-band{position:relative;overflow:hidden;margin-top:clamp(56px,7vw,96px);border-radius:var(--r);background-color:var(--dark);color:var(--cream);padding:clamp(28px,4vw,56px);display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.cta-band p{font-size:16px;margin-top:10px;color:var(--mint)}
.cta-band>*{position:relative}

.site-footer{position:relative;margin-top:clamp(56px,7vw,96px);padding:0 0 28px;background:var(--dark);color:var(--cream)}
.foot-top{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.foot-desc{font-size:14px;color:var(--mint);margin-top:14px;max-width:300px;line-height:1.5}

.foot-bot{margin-top:36px;padding-top:20px;border-top:1px solid rgba(197,221,185,.18);display:flex;justify-content:space-between;gap:10px 24px;flex-wrap:wrap;font-size:13px;color:var(--faint)}
.foot-legal{display:flex;gap:8px 18px;flex-wrap:wrap}@media (hover:hover){.foot-legal a:hover{color:var(--cream)}}


.menu-ctrl{padding:16px;display:flex;flex-direction:column;gap:12px}
.menu-program-filter{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px}
.menu-program-filter::-webkit-scrollbar{display:none}
.menu-program-pill{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 14px;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 1px var(--line2);text-align:left;min-width:96px}@media (hover:hover){.menu-program-pill:hover{box-shadow:inset 0 0 0 1px var(--ink)}}
.menu-program-pill.active{background:var(--tint);box-shadow:inset 0 0 0 2px var(--sage)}
.pill-cal{font-size:18px;font-weight:800;letter-spacing:-.02em}
.pill-unit{display:none}
.pill-name{font-size:12px;color:var(--muted);white-space:nowrap}
.pill-price{font-size:12px;color:var(--muted);white-space:nowrap}
.menu-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;padding:4px;border-radius:16px;background:var(--soft)}
.menu-tab{height:42px;border-radius:12px;font-size:15px;font-weight:600;color:var(--ink2);min-width:40px}@media (hover:hover){.menu-tab:hover{color:var(--ink)}}
.menu-tab.active{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.1)}
.menu-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-top:14px;align-items:start}
.menu-col{display:flex;flex-direction:column;gap:10px;min-width:0}
.menu-day-info{padding:20px 22px;display:flex;flex-direction:column;gap:14px}
.mdi-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.menu-day-name{font-size:clamp(24px,2.4vw,30px);font-weight:800;letter-spacing:-.04em}
.menu-day-calories{font-size:14px;color:var(--muted);white-space:nowrap}
.menu-day-calories span{font-size:22px;font-weight:800;color:var(--ink);letter-spacing:-.02em}
.macro{display:flex;flex-direction:column;gap:10px}
.macro-bar{display:flex;gap:4px;height:8px}
.macro-bar i{display:block;width:0;border-radius:4px;transition:width .8s var(--ease)}
.mp{background:var(--dark)}.mf{background:var(--sage)}.mc{background:var(--mint)}
.macro-leg{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--ink2)}
.macro-leg span{display:inline-flex;align-items:center;gap:6px}
.macro-leg i{width:8px;height:8px;border-radius:2px;display:inline-block}
.macro-leg b{color:var(--ink)}
.meals-list{display:flex;flex-direction:column;gap:10px}
.meal-card{display:flex;align-items:center;gap:14px;padding:10px 16px 10px 10px;border-radius:20px;background:#fff;cursor:pointer;box-shadow:inset 0 0 0 2px transparent;transition:box-shadow .15s,transform .15s}@media (hover:hover){.meal-card:hover{box-shadow:inset 0 0 0 1px var(--line2)}}
.meal-card.on{box-shadow:inset 0 0 0 2px var(--sage)}
.meal-card>img,.meal-image{flex:0 0 auto;width:84px!important;height:84px!important;border-radius:14px!important;object-fit:cover;background:var(--soft);display:flex;align-items:center;justify-content:center;font-size:36px}
.meal-info{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:3px}
.meal-type{font-size:12px;font-weight:600;color:var(--ort)}
.meal-name{font-size:16px;font-weight:700;line-height:1.25}
.meal-desc{font-size:13px;color:var(--muted);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.meal-nutrients{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:4px;font-size:12px;color:var(--muted)}
.meal-nutrient-value{font-weight:700;color:var(--ink)}
.meal-nutrient.light .meal-nutrient-value{color:var(--ort)}
.meal-allergen-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.meal-allergen-tag,.allergen-tag{display:inline-flex;padding:3px 8px;border-radius:999px;background:var(--soft);font-size:11px;font-weight:600;color:var(--ink2)}
.menu-detail{position:sticky;top:calc(var(--top) + 14px);overflow:hidden;flex-direction:column;min-height:200px}
.md-ph{aspect-ratio:16/10;background:var(--soft);display:flex;align-items:center;justify-content:center;font-size:96px;position:relative;overflow:hidden}
.md-ph img{width:100%;height:100%;object-fit:cover}
.md-body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:14px}
.md-name{font-size:26px;font-weight:800;letter-spacing:-.035em;line-height:1.1}
.md-desc{font-size:15px;line-height:1.55;color:var(--ink2)}
.md-nut{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.md-nut div{background:var(--soft);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:2px}
.md-nut span{font-size:11px;color:var(--muted)}
.md-nut b{font-size:17px}
.md-empty{padding:40px 24px;color:var(--muted);text-align:center}
.menu-notice{margin-top:14px;padding:clamp(20px,2.6vw,32px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 32px;align-items:center}
.menu-notice-title{margin:0}
.menu-notice-desc{font-size:15px;color:var(--muted);margin-top:8px}
.menu-cta{margin-top:14px;padding:22px clamp(20px,2.6vw,32px);display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.menu-cta .sum-price span{font-size:clamp(32px,3.4vw,44px)}


.calc-container{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;align-items:start}
.calc-form{padding:clamp(20px,2.6vw,32px);display:flex;flex-direction:column;gap:22px}
.calc-progress{display:none!important}
.calc-step{display:flex;flex-direction:column}
.calc-question{font-size:13px;font-weight:600;color:var(--muted);margin-bottom:10px}
.calc-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.stepper{display:flex;align-items:center;gap:4px;padding:8px 6px;border-radius:16px;background:var(--soft)}
.stepper label{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;cursor:text}
.st-v{display:flex;align-items:baseline;justify-content:center;gap:3px}
.stepper .calc-input{width:2.6ch;border:0;background:transparent;font-size:24px;font-weight:800;letter-spacing:-.03em;text-align:right;padding:0;-moz-appearance:textfield;outline:none}
.stepper .calc-input::-webkit-outer-spin-button,.stepper .calc-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.stepper .calc-input:focus{color:var(--ort)}
.st-u{font-size:13px;color:var(--muted);font-weight:600}
.calc-input-label{font-size:12px;color:var(--muted)}
.st-b{flex:0 0 auto;width:34px;height:34px;border-radius:12px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.08);font-size:20px;font-weight:600}@media (hover:hover){.st-b:hover{background:var(--tint);color:var(--ort)}}
.calc-side{display:flex;flex-direction:column;gap:14px;position:sticky;top:calc(var(--top) + 14px)}
.calc-result{padding:clamp(22px,2.6vw,34px);display:block}
.res-empty{color:var(--faint);font-size:16px;padding:40px 0;text-align:center}
.res-body{display:flex;flex-direction:column;gap:18px}
.result-label{font-size:14px;color:var(--faint)}
.result-big{display:flex;align-items:baseline;gap:12px}
.result-value{font-size:clamp(64px,7vw,92px);font-weight:800;letter-spacing:-.055em;line-height:1;font-variant-numeric:tabular-nums}
.result-unit{font-size:20px;font-weight:700;color:var(--faint)}
.res-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.res-stats div{background:var(--dark2);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:4px;min-width:0}
.res-stats span{font-size:12px;color:var(--faint);line-height:1.25}
.res-stats b{font-size:18px;font-variant-numeric:tabular-nums}
.result-prediction{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:16px;background:var(--dark2)}
.rp-i{flex:0 0 auto;width:40px;height:40px;border-radius:12px;background:var(--mint);color:var(--ink);display:inline-flex;align-items:center;justify-content:center}
.rp-i svg{width:20px;height:20px;stroke-width:2}
.result-prediction>span:last-child{display:flex;flex-direction:column;gap:2px}
.result-prediction-title{font-size:13px;color:var(--faint)}
.result-prediction-value{font-size:18px;font-weight:800}
.result-recommendation{border-top:1px solid var(--dark3);padding-top:18px;display:flex;flex-direction:column;gap:12px}
.result-rec-title{font-size:14px;color:var(--faint)}
.rec-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.result-rec-program{font-size:clamp(24px,2.6vw,30px);font-weight:800;letter-spacing:-.035em}
.rec-price{font-size:16px;font-weight:700;white-space:nowrap}
.rec-price small{font-weight:500;color:var(--faint);font-size:13px}
.result-rec-desc{font-size:14px;color:#D5E2CF}
.result-alternatives{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.result-alt-label{font-size:13px;color:var(--faint)}
.result-alt-buttons{display:flex;gap:8px;flex-wrap:wrap}
.result-alt-btn{height:36px;padding:0 12px;border-radius:999px;background:var(--dark2);color:#fff;font-size:13px;font-weight:600}@media (hover:hover){.result-alt-btn:hover{background:var(--dark3)}}
.info-card{padding:18px 20px;display:flex;gap:14px;align-items:flex-start;font-size:14px;line-height:1.55;color:var(--ink2)}
.info-i{flex:0 0 auto;width:28px;height:28px;border-radius:9px;background:var(--tint);color:var(--ort);display:inline-flex;align-items:center;justify-content:center;font-weight:800}
.calc-bar{position:fixed;left:12px;right:12px;bottom:calc(var(--nav) + 10px);z-index:40;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 18px;border-radius:18px;background:var(--dark);color:#fff;box-shadow:0 12px 30px rgba(20,36,16,.3);animation:fxSlideUp .5s var(--spring) both}
.calc-bar>div{display:flex;flex-direction:column;min-width:0}
.calc-bar b{font-size:17px}
.calc-bar span{font-size:12px;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}


.ck{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:14px;align-items:start}
.ck-sel{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:14px;min-width:0}
.ck-aside{grid-column:2;grid-row:1/span 2;position:sticky;top:calc(var(--top) + 14px)}
.ck-form{grid-column:1;grid-row:2;min-width:0;display:flex;flex-direction:column;gap:14px}
.ck:has(#orderSuccess.active){grid-template-columns:minmax(0,640px);justify-content:center}
.ck:has(#orderSuccess.active) .ck-sel,.ck:has(#orderSuccess.active) .ck-aside{display:none}
.ck:has(#orderSuccess.active) .ck-form{grid-row:1}
.cart-content{display:flex;flex-direction:column;gap:14px}
.cart-empty{padding:18px 22px;display:flex;align-items:center;gap:6px 16px;flex-wrap:wrap;background:var(--tint)}
.cart-empty-title{font-weight:700;font-size:16px}
.cart-empty-text{font-size:14px;color:var(--ink2);flex:1 1 220px}
.ck-block{padding:clamp(20px,2.6vw,30px);display:flex;flex-direction:column;gap:16px}
.selector-title{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:800;letter-spacing:-.02em;margin-top:16px}
.selector-title:first-child{margin-top:0}
.selector-title.sub{margin-top:16px}
.start-date-section{flex-direction:column;gap:16px}
.selector-title-num{width:28px;height:28px;border-radius:50%;background:var(--ink);color:#fff;font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.programs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.program-btn{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px;border-radius:16px;background:#fff;box-shadow:inset 0 0 0 1px var(--line2);text-align:left;transition:box-shadow .15s,background .15s}@media (hover:hover){.program-btn:hover{box-shadow:inset 0 0 0 1px var(--ink)}}
.program-btn.selected{background:var(--tint);box-shadow:inset 0 0 0 2px var(--sage)}
.program-btn.recommended::after{content:"подходит вам";position:absolute;top:10px;right:10px;font-size:10px;font-weight:700;color:var(--ort);background:#fff;padding:3px 6px;border-radius:999px}
.program-cal{font-size:22px;font-weight:800;letter-spacing:-.03em;line-height:1.1}
.program-cal-unit{display:none}
.program-name{font-size:13px;color:var(--muted)}
.program-price{font-size:14px;font-weight:700;margin-top:6px}
.cart-menu-preview{display:none;border-radius:18px;background:var(--soft);padding:14px}
.cart-menu-preview.visible{display:block}
.cart-menu-preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.cart-menu-preview-title{font-weight:700;font-size:14px}
.cart-menu-preview-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px}
.cart-menu-preview-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:#fff;cursor:pointer}
.cart-menu-preview-item-icon{font-size:20px}
.cart-menu-preview-item-info{flex:1 1 auto;min-width:0}
.cart-menu-preview-item-type{font-size:11px;color:var(--ort);font-weight:600}
.cart-menu-preview-item-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cart-menu-preview-item-cal{font-size:12px;color:var(--muted);white-space:nowrap}
.durations-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}
.duration-btn{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px;border-radius:16px;background:#fff;box-shadow:inset 0 0 0 1px var(--line2);text-align:left}@media (hover:hover){.duration-btn:hover{box-shadow:inset 0 0 0 1px var(--ink)}}
.duration-btn.selected{background:var(--tint);box-shadow:inset 0 0 0 2px var(--sage)}
.duration-label{font-size:16px;font-weight:700}
.duration-sublabel{font-size:12px;color:var(--muted)}
.duration-badge{font-size:12px;font-weight:700;color:var(--ort)}
.allergen-filter{border-top:1px solid var(--line);padding-top:16px;margin-top:4px}
.allergen-filter-title{font-size:14px;font-weight:700;margin-bottom:10px}
.allergen-chips{display:flex;flex-wrap:wrap;gap:8px}
.allergen-chip{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 14px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--line2);font-size:14px;font-weight:500;cursor:pointer;user-select:none}@media (hover:hover){.allergen-chip:hover{box-shadow:inset 0 0 0 1px var(--ink)}}
.allergen-chip.selected{background:var(--dark);color:#fff;box-shadow:none;text-decoration:line-through;text-decoration-color:rgba(255,255,255,.5)}
.allergen-chip-icon{display:none}
.delivery-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}
.delivery-slot-btn{height:48px;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 1px var(--line2);font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}@media (hover:hover){.delivery-slot-btn:hover{box-shadow:inset 0 0 0 1px var(--ink)}}
.delivery-slot-btn.selected{background:var(--tint);box-shadow:inset 0 0 0 2px var(--sage)}
.v2-dates{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px}
.v2-date{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 1px var(--line2)}@media (hover:hover){.v2-date:hover{box-shadow:inset 0 0 0 1px var(--ink)}}
.v2-date span{font-size:12px;color:var(--muted)}
.v2-date b{font-size:20px;font-weight:800;letter-spacing:-.02em}
.v2-date small{font-size:11px;color:var(--muted)}
.v2-date.on{background:var(--tint);box-shadow:inset 0 0 0 2px var(--sage)}
.v2-date-other{cursor:pointer;line-height:normal}
.v2-date-other b{display:flex;align-items:center;justify-content:center;height:1.2em}
.v2-date-other svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.v2-date-other input{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;cursor:pointer;font-size:16px;-webkit-appearance:none;appearance:none}
.v2-date-other input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:auto;height:auto;margin:0;opacity:0;cursor:pointer}
.start-date-hint{font-size:13px;color:var(--muted)}
.start-date-hint.is-selected{color:var(--ok);font-weight:600}
.start-date-note{font-size:12px;line-height:1.4;color:var(--muted)}
.v2-rations{display:flex;flex-direction:column;gap:8px}
.v2-rations[hidden],.pf-rations[hidden]{display:none}
.v2-ration{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line,#E5E5E5);border-radius:14px;cursor:pointer}
.v2-ration.on{border-color:var(--ok);background:var(--okbg)}
.v2-ration input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--ok);flex:none}
.v2-ration span{display:flex;flex-direction:column;gap:2px;font-size:14px}
.v2-ration small{font-size:12px;color:var(--muted)}
.v2-sunday{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line,#E5E5E5);border-radius:14px;cursor:pointer}
.v2-sunday input{width:18px;height:18px;margin:1px 0 0;accent-color:var(--ok);flex:none}
.v2-sunday span{display:flex;flex-direction:column;gap:2px;font-size:14px}
.v2-sunday small{font-size:12px;color:var(--muted)}
.order-summary{padding:24px;display:flex;flex-direction:column;gap:0}
.order-summary-title{font-size:20px;font-weight:800;letter-spacing:-.02em;margin-bottom:10px}
.order-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;font-size:15px;border-bottom:1px solid var(--line)}
.order-row-label{color:var(--muted)}
.order-row-value{font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
.order-row.discount .order-row-value{color:var(--ort)}
.order-row.total{border-bottom:0;padding-top:14px;font-size:18px}
.order-row.total .order-row-label{color:var(--ink);font-weight:700}
.order-row.total .order-row-value{font-size:24px;font-weight:800;letter-spacing:-.03em}
.order-perday{font-size:13px;color:var(--muted);text-align:right;margin-top:-6px;margin-bottom:12px}
.promo-section,.bonus-section{border-top:1px solid var(--line);padding:12px 0}
.tool-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.tool-title{font-size:15px;font-weight:700;display:flex;gap:8px;align-items:center}
.tool-toggle{display:inline-flex;align-items:center;gap:4px;font-size:14px;font-weight:600;color:var(--ort)}
.tool-toggle svg{width:16px;height:16px;transition:transform .2s}
.is-open .tool-toggle svg{transform:rotate(180deg)}
.tool-summary{font-size:13px;color:var(--muted);margin-top:2px;display:flex;justify-content:space-between;gap:8px}
.tool-body{margin-top:10px}
.promo-input-wrap{display:flex;gap:6px}
.promo-input-wrap .form-input{height:42px;text-transform:uppercase}
.promo-message{font-size:13px;margin-top:6px}
.promo-message.success{color:var(--ok)}.promo-message.error{color:var(--err)}
.bonus-slider{width:100%;accent-color:var(--sage)}
.bonus-info{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:4px}
#checkoutBtn{margin-top:12px}
.checkout-form{display:none;padding:clamp(20px,2.6vw,32px)}
.checkout-form.active{display:block}
.checkout-steps-bar{display:flex;gap:6px;margin-bottom:10px}
.checkout-step-dot{position:relative;overflow:hidden;flex:1 1 0;height:6px;border-radius:3px;background:var(--line)}
.checkout-step-dot::after{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--sage);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.checkout-step-dot.active::after,.checkout-step-dot.done::after{transform:none}
.checkout-step-label{font-size:20px;font-weight:800;letter-spacing:-.02em;margin-bottom:18px}
.checkout-step-section{display:none;flex-direction:column;gap:2px}
.checkout-step-section.active{display:flex}
.verify-box{padding:14px;border-radius:16px;background:var(--soft)}
.verify-row{display:flex;gap:6px;flex-wrap:wrap}
.verify-row .form-input{flex:1 1 110px;height:42px;background:#fff;letter-spacing:.2em;font-weight:700}
.verify-status{font-size:12px;color:var(--muted);margin-top:8px}
.addr-actions{display:flex;gap:14px;margin-top:6px;font-size:13px;font-weight:600}
.addr-actions a:first-child{color:var(--ort)}
.addr-actions a:last-child{color:var(--muted)}
.pay-opts{display:flex;flex-direction:column;gap:8px}
.pay-opt{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;background:#fff;box-shadow:inset 0 0 0 1px var(--line2);cursor:pointer}
.pay-opt:has(input:checked){background:var(--tint);box-shadow:inset 0 0 0 2px var(--sage)}
.pay-opt:has(input:disabled){display:none}
.pay-opt input{width:20px;height:20px;accent-color:var(--sage);flex:0 0 auto}
.pay-opt span{display:flex;flex-direction:column;gap:2px}
.pay-opt b{font-size:15px}.pay-opt small{font-size:13px;color:var(--muted)}
.bank-transfer-box{padding:16px;border-radius:16px;background:var(--soft);margin:12px 0}
.bank-transfer-title{font-weight:700;margin-bottom:4px}
.bank-transfer-hint{font-size:13px;color:var(--muted);margin-bottom:10px}
.checkout-step-nav{display:flex;gap:8px;margin-top:16px}
.checkout-step-nav .checkout-btn{flex:1 1 auto}
.checkout-btn.processing{opacity:.7}
.checkout-secure{font-size:13px;color:var(--muted);text-align:center;margin-top:10px}
.checkout-legal-note{font-size:12px;color:var(--muted);text-align:center;margin-top:6px;line-height:1.5}
.checkout-legal-note a{text-decoration:underline}
.order-success{display:none;padding:clamp(28px,4vw,48px);text-align:center;flex-direction:column;align-items:center;gap:12px}
.order-success.active{display:flex}
.success-icon{width:80px;height:80px;border-radius:50%;background:var(--sage);color:#fff;box-shadow:0 0 0 10px var(--tint);display:inline-flex;align-items:center;justify-content:center;animation:successPop .5s ease}
.success-icon svg{width:34px;height:34px;stroke-width:2.6}
.success-title{font-size:clamp(28px,3vw,36px);font-weight:800;letter-spacing:-.04em}
.success-text{color:var(--muted)}
.success-details{width:100%;max-width:420px;border-radius:16px;background:var(--soft);padding:6px 16px;margin:8px 0}
.success-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line2);font-size:15px}
.success-row:first-child{border-top:0}
.success-row-label{color:var(--muted)}.success-row-value{font-weight:700}
.success-bonus{font-size:14px;color:var(--ort);font-weight:600}
.order-success .btn{max-width:420px}


.form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.form-label{font-size:13px;font-weight:600;color:var(--ink2)}
.form-input,.form-select{width:100%;min-height:50px;padding:12px 16px;border-radius:14px;border:0;background:#fff;box-shadow:inset 0 0 0 1px var(--line2);font-size:16px;font-weight:500;transition:box-shadow .15s;outline:none}
textarea.form-input{min-height:80px;resize:vertical;line-height:1.45}
.form-input:focus,.form-select:focus{box-shadow:inset 0 0 0 2px var(--sage),0 0 0 5px rgba(110,158,87,.16)}
.form-input.error{box-shadow:inset 0 0 0 2px var(--err)}
.form-error{font-size:12px;color:var(--err);min-height:0}
.form-error:empty{display:none}
.consent-check{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.45;color:var(--ink2);cursor:pointer}
.consent-check input{width:20px;height:20px;accent-color:var(--sage);flex:0 0 auto;margin-top:1px}
.consent-check a{text-decoration:underline}


.login-container{max-width:460px;margin:clamp(16px,5vw,64px) auto 0}
.login-card{padding:clamp(24px,4vw,40px);display:flex;flex-direction:column;gap:14px}
.login-icon{width:52px;height:52px;border-radius:16px;background:var(--tint);color:var(--ort);display:inline-flex;align-items:center;justify-content:center}
.login-icon svg{width:26px;height:26px}
.login-title{font-size:32px;font-weight:800;letter-spacing:-.04em;line-height:1.05}
.login-text{font-size:15px;color:var(--muted);margin-top:-6px}
.login-hint{font-size:13px;color:var(--muted);text-align:center;margin-top:12px;line-height:1.5}
.pf-head{display:flex;justify-content:space-between;align-items:center;gap:14px 24px;flex-wrap:wrap;margin:clamp(8px,2vw,20px) 0 20px}
.pf-who{display:flex;align-items:center;gap:16px;min-width:0}
.profile-avatar{position:relative;flex:0 0 auto;width:56px;height:56px;border-radius:18px;background:var(--sage);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:22px;font-weight:800}
.pf-name{font-size:clamp(26px,3.4vw,44px)}
.profile-phone{font-size:14px;color:var(--muted);margin-top:6px;font-variant-numeric:tabular-nums}
.profile-stats{display:flex;gap:8px;flex-wrap:wrap}
.profile-stat{display:inline-flex;align-items:baseline;gap:6px;padding:10px 14px;border-radius:999px;background:#fff;font-size:14px}
.profile-stat-value{font-weight:800;font-variant-numeric:tabular-nums}
.profile-stat-label{color:var(--muted)}
.profile-stat.accent{background:var(--tint);color:var(--ort)}
.profile-stat.accent .profile-stat-label{color:var(--ort)}
.pf-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:14px;align-items:start}
.pf-main,.pf-side{display:flex;flex-direction:column;gap:14px;min-width:0}
.pf-sub{padding:clamp(20px,2.6vw,30px)}
.pf-sub-empty{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.pf-sub-title{font-size:26px;font-weight:800;letter-spacing:-.03em;margin-top:4px}
.pf-sub-text{font-size:14px;color:var(--faint);margin-top:6px}
.pf-sub-body{display:flex;flex-direction:column;gap:18px}
.pf-sub-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.status{padding:6px 10px;border-radius:999px;font-size:12px;font-weight:600;white-space:nowrap;background:var(--okbg);color:var(--ok)}
.status.paused{background:var(--dark3);color:#fff}
.pf-prog{display:flex;flex-direction:column;gap:10px}
.pf-prog-row{display:flex;justify-content:space-between;font-size:14px;color:var(--faint)}
.pf-prog-row span:last-child{color:#fff}
.pf-prog-bar{height:8px;border-radius:4px;background:var(--dark3);overflow:hidden}
.pf-prog-bar i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--sage),var(--mint));width:0;transition:width 1s var(--ease)}
.pf-next{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:16px;background:var(--dark2)}
.pf-next-i{flex:0 0 auto;width:40px;height:40px;border-radius:12px;background:var(--mint);color:var(--ink);display:inline-flex;align-items:center;justify-content:center}
.pf-next-i svg{width:20px;height:20px;stroke-width:2}
.pf-next>span:last-child{display:flex;flex-direction:column;gap:3px;min-width:0}
.pf-next-l,.pf-next-a{font-size:13px;color:var(--faint)}
.pf-next-v{font-size:16px;font-weight:700}
.pf-acts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.pf-rations{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none}
.pf-ration{flex:0 0 auto;display:flex;flex-direction:column;gap:2px;align-items:flex-start;padding:10px 14px;border-radius:14px;background:var(--dark2);color:var(--faint);font-size:14px}
.pf-ration small{font-size:12px}
.pf-ration.on{background:var(--mint);color:var(--ink)}
.pf-add{align-self:flex-start;padding:4px 0;color:var(--faint);font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.act{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:14px;border-radius:16px;background:var(--dark2);color:#fff;font-size:14px;font-weight:600;text-align:left;line-height:1.2}@media (hover:hover){.act:hover{background:var(--dark3)}}
.act svg{width:20px;height:20px;stroke-width:2}
.profile-quick-actions{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.profile-action-button{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:18px;border-radius:20px;text-align:left;font-size:15px;font-weight:700;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}@media (hover:hover){.profile-action-button:hover{transform:translateY(-4px);box-shadow:var(--sh2)}}
.profile-action-icon{width:40px;height:40px;border-radius:12px;background:var(--soft);display:inline-flex;align-items:center;justify-content:center}
.profile-action-icon svg{width:20px;height:20px}
.whatsapp-cta .profile-action-icon{background:#E3F4E6;color:#1C7C3A}
.profile-action-button.disabled,.profile-menu-item.disabled{opacity:.5}
.loyalty-card{padding:22px;display:flex;flex-direction:column;gap:12px}
.loyalty-top{display:flex;justify-content:space-between;align-items:center}
.loyalty-level{display:inline-flex;gap:6px;align-items:center;font-weight:800;font-size:18px}
.loyalty-progress-bar{height:8px;border-radius:4px;background:var(--soft);overflow:hidden}
.loyalty-progress-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--sage),#8DB878);transform-origin:left;animation:fxBar 1.1s var(--ease) both .2s}
.loyalty-progress-text{font-size:13px;color:var(--muted)}
.profile-menu,.pf-support{overflow:hidden;padding:6px 0}
.profile-section-title{padding:12px 18px 8px;font-size:13px;font-weight:600;color:var(--muted)}
.profile-group-list{display:flex;flex-direction:column}
.profile-menu-item{display:flex;align-items:center;gap:14px;width:100%;padding:13px 18px;border-top:1px solid var(--line);transition:background .2s;text-align:left;color:var(--ink);font-size:15px}.profile-menu-item.active{background:var(--soft)}@media (hover:hover){.profile-menu-item:hover{background:var(--soft)}}
.profile-menu-icon{flex:0 0 auto;width:36px;height:36px;border-radius:11px;background:var(--soft);display:inline-flex;align-items:center;justify-content:center}
.profile-menu-icon svg{width:18px;height:18px}
.profile-menu-text{flex:1 1 auto;display:flex;flex-direction:column;gap:2px;min-width:0}
.profile-menu-title{font-weight:600}
.profile-menu-desc{font-size:13px;color:var(--muted)}
.profile-menu-arrow{color:var(--muted);font-size:18px;transition:transform .3s var(--spring),color .2s}@media (hover:hover){.profile-menu-item:hover .profile-menu-arrow{transform:translateX(4px);color:var(--ort)}}
.pf-contacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;padding:4px 18px 12px}
.pf-contacts .profile-menu-item{border:0;border-radius:14px;background:var(--soft);padding:12px;justify-content:center;text-align:center}
.pf-contacts .profile-menu-desc{display:none}
.profile-logout{margin:4px 18px 12px;font-size:14px;color:var(--muted);font-weight:500;padding:8px 0}@media (hover:hover){.profile-logout:hover{color:var(--err)}}
.tracking-wrap{padding:20px}


.nav-bar{display:none}
.nav-item{position:relative;flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 0 4px;font-size:11px;font-weight:500;color:var(--muted)}
.nav-item-icon svg{width:24px;height:24px}
.nav-item.active{color:var(--ort);font-weight:600}
.nav-badge{display:none;position:absolute;top:4px;left:calc(50% + 6px);min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--or);color:#fff;font-size:10px;font-weight:700;align-items:center;justify-content:center}
.nav-badge.show{display:inline-flex}
.whatsapp-float{display:none!important}
#scrollTopBtn{position:fixed!important;right:20px!important;bottom:calc(var(--nav) + 20px)!important;width:46px!important;height:46px!important;padding:0!important;border-radius:50%!important;z-index:45!important;background:#fff!important;box-shadow:0 6px 20px rgba(0,0,0,.12)!important;font-size:18px}


.modal-overlay{position:fixed;inset:0;z-index:1000;background:rgba(20,36,16,.42);display:none;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(4px)}
.modal-overlay.active{display:flex;animation:fadeIn .2s ease}
.modal{width:100%;max-width:560px;max-height:min(88vh,880px);background:#fff;border-radius:24px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 80px rgba(20,36,16,.28);animation:v2pop .42s var(--spring)}
@keyframes v2pop{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:none}}
#ordersModal .modal,#subscriptionModal .modal,#supportModal .modal{max-width:720px}
.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px 14px 24px;border-bottom:1px solid var(--line)}
.modal-title{font-size:20px;font-weight:800;letter-spacing:-.02em}
.modal-close{flex:0 0 auto;width:36px;height:36px;border-radius:50%;background:var(--soft);font-size:22px;line-height:1;color:var(--ink2)}@media (hover:hover){.modal-close:hover{background:var(--line2)}}
.modal-body{padding:20px 24px 24px;overflow-y:auto;-webkit-overflow-scrolling:touch}
.modal-body .btn+.btn{margin-top:8px}
.modal-dish-image{aspect-ratio:4/3;border-radius:18px;background:var(--soft);display:flex;align-items:center;justify-content:center;font-size:80px;overflow:hidden;margin-bottom:14px}
.modal-dish-desc{font-size:15px;line-height:1.55;color:var(--ink2);margin-bottom:14px}
.modal-overlay.sheet-dragging .modal{transition:none!important}
.modal-overlay.sheet-closing{pointer-events:none}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes successPop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.08)}100%{transform:scale(1);opacity:1}}

.toast-container{position:fixed;top:calc(var(--top) + 8px);left:50%;transform:translateX(-50%);z-index:2000;display:flex;flex-direction:column;gap:8px;width:min(92vw,420px);pointer-events:none}
.pwa-install-banner{position:fixed;left:12px;right:12px;bottom:calc(var(--nav) + 12px);z-index:50;display:none;align-items:center;gap:12px;padding:12px 12px 12px 16px;border-radius:18px;background:var(--dark);color:#fff;max-width:480px;margin:0 auto}
.pwa-install-banner.show{display:flex}
.pwa-install-text{flex:1 1 auto}
.pwa-install-title{font-weight:700;font-size:14px}.pwa-install-desc{font-size:12px;color:var(--faint)}
.pwa-install-btn{height:36px;padding:0 12px;border-radius:10px;background:var(--mint);color:var(--ink);font-weight:600;font-size:13px}
.pwa-install-close{width:32px;height:32px;color:var(--faint);font-size:20px}
.checkout-overlay-loading{position:fixed;inset:0;z-index:1500;background:rgba(255,245,240,.86);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center}
.checkout-overlay-loading.active{display:flex}
.checkout-overlay-loading-content{display:flex;flex-direction:column;align-items:center;gap:14px;font-weight:600}
.checkout-spinner{width:36px;height:36px;border-radius:50%;border:3px solid var(--line2);border-top-color:var(--sage);animation:spin .8s linear infinite}
.checkout-spinner{width:16px;height:16px;border-width:2px;display:inline-block;margin-right:8px;vertical-align:-3px}
@keyframes spin{to{transform:rotate(360deg)}}

@media (max-width:1180px){
 .feats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ck{grid-template-columns:minmax(0,1fr) 340px}
}
@media (max-width:1023px){
 .modal-overlay{align-items:flex-end;padding:0}
 .modal{max-width:none!important;border-radius:24px 24px 0 0;max-height:92vh;animation:slideUp .26s cubic-bezier(.22,.61,.36,1)}
 .modal-header{position:relative;padding-top:22px}
 .modal-header::before{content:"";position:absolute;top:8px;left:50%;width:40px;height:4px;margin-left:-20px;border-radius:2px;background:var(--line2)}
 @keyframes slideUp{from{transform:translateY(100%)}to{transform:none}}
 .bento{grid-template-columns:minmax(0,1fr)}
 .hero-main{min-height:0}
 .hero-side{flex-direction:column}
 .hero-photo{min-height:300px}
 .picker,.deliv,.faq-wrap,.menu-notice{grid-template-columns:minmax(0,1fr)}
 .menu-grid{grid-template-columns:minmax(0,1fr)}
 .menu-detail{display:none!important}
 .calc-container{grid-template-columns:minmax(0,1fr)}
 .calc-side{position:static}
 .ck{grid-template-columns:minmax(0,1fr)}
 .ck-sel,.ck-aside,.ck-form{grid-column:1;grid-row:auto;position:static}
 .pf-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:899px){
 :root{--top:64px;--nav:72px}
 .lg-only,.lg-flex{display:none!important}
 .sm-only{display:inline-flex!important}
 .calc-bar.sm-only{display:flex!important}
 .calc-bar[hidden]{display:none!important}
 .nav-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:70;height:var(--nav);padding:2px 6px calc(env(safe-area-inset-bottom,0px) + 8px);background:rgba(255,255,255,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line)}
 body{padding-bottom:calc(var(--nav) + env(safe-area-inset-bottom,0px))}
 #screen-calc .wrap{padding-bottom:84px}
}
@media (max-width:640px){
 :root{--r:22px}
 .hero-main{padding:26px 22px 24px;gap:16px}
 .hero-title{font-size:42px}
 .hero-buttons .btn{flex:1 1 100%}
 .hero-photo{min-height:260px}
 .feats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .feat{flex-direction:column;padding:16px;gap:10px}
 .opts-3{grid-template-columns:repeat(2,minmax(0,1fr))}
 .rail{grid-auto-columns:72%;margin:0 calc(-1 * var(--gut));padding:0 var(--gut) 4px;scroll-padding-left:var(--gut)}
 .steps3{grid-template-columns:minmax(0,1fr);gap:10px}
 .step3{padding:20px}
 .cta-band .btn{width:100%}
 .menu-ctrl{padding:12px;margin:0 calc(-1 * var(--gut));border-radius:0;background:transparent;padding-left:var(--gut);padding-right:var(--gut)}
 .menu-tab{font-size:14px}
 .meal-card>img,.meal-image{width:72px!important;height:72px!important}
 .calc-inputs{grid-template-columns:minmax(0,1fr)}
 .stepper{padding:8px 10px}
 .calc-form .opts-2{grid-template-columns:minmax(0,1fr)}
 .res-stats b{font-size:16px}
 .programs-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .durations-list,.delivery-slots{grid-template-columns:repeat(2,minmax(0,1fr))}
 .v2-dates{grid-template-columns:repeat(4,minmax(0,1fr))}
 .pf-acts{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pf-name{font-size:26px}
 .profile-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
 .md-nut{grid-template-columns:repeat(3,minmax(0,1fr))}
 .order-summary{padding:20px}
 .modal-body{padding:16px 18px 22px}
}

.gem-swipe-container{position:relative}
.gem-swipe-wrapper{transition:transform .25s ease}
.gem-swipe-indicator{display:none}
.sum-inc{display:flex;flex-wrap:wrap;gap:6px}
.sum-inc span{padding:7px 11px;border-radius:999px;background:var(--dark2);font-size:13px;color:#D5E2CF}
@media (max-width:640px){
 .hero-title{font-size:39px}
 .opts-dur .opt span:not(.disc){display:none}
 .stepper .calc-input{width:3.2ch;font-size:26px}
 .st-b{width:40px;height:40px}
}

.duration-info{display:flex;flex-direction:column;gap:2px}
.aside-empty{padding:24px;display:flex;flex-direction:column;gap:8px}
.aside-empty b{font-size:20px;font-weight:800;letter-spacing:-.02em}
.aside-empty span{font-size:14px;color:var(--muted)}
.ck:has(#orderSummary:not([style*="none"])) .aside-empty{display:none}
.gem-offline-banner:not(.active){visibility:hidden}
.verify-row .form-input:placeholder-shown{letter-spacing:0;font-weight:500}
@media (max-width:640px){.pf-sub-title{font-size:22px}}
.modal-dish-image[class*="ph-"]{aspect-ratio:16/9;font-size:64px}


.btn{position:relative;overflow:hidden;isolation:isolate;transition:transform .25s var(--ease),background .25s,box-shadow .25s}@media (hover:hover){.btn:hover{background:var(--or2);box-shadow:0 10px 24px rgba(81,130,61,.28)}}@media (hover:hover){.btn-2:hover,.btn-secondary:hover{box-shadow:inset 0 0 0 1px var(--sage),0 8px 20px rgba(36,59,30,.08)}}
.btn-mint{background:var(--mint);color:var(--ink)}@media (hover:hover){.btn-mint:hover{background:#D6E8CC;box-shadow:0 10px 24px rgba(197,221,185,.25)}}
.btn-ar{width:18px;height:18px;stroke-width:2.2;transition:transform .35s var(--spring)}@media (hover:hover){.btn:hover .btn-ar{transform:translateX(4px)}}
.bento{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
.hero-main{position:relative;overflow:hidden}
.hero-title{font-size:clamp(40px,4.9vw,72px)}
.opt .big{color:var(--ink)}
.deliv-map .map-cap svg{position:static;inset:auto;width:16px;height:9px}
.hero-title .ln{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
.hero-title .ln>span{display:inline-block}
.hero-title .accent{color:var(--sage)}
.eyebrow-pill{background:var(--tint);color:var(--ort)}
.hero-trust{list-style:none;display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13.5px;color:var(--muted);font-weight:500}
.hero-trust li{display:inline-flex;align-items:center;gap:6px}
.hero-trust svg{width:16px;height:16px;color:var(--sage);stroke-width:2.4}
.hero-stage{position:relative;flex:1 1 auto;min-height:340px;overflow:hidden;background:var(--sage) url(/static/brand/pat-sage-light.svg) 0 0/120px auto repeat;display:flex;align-items:center;justify-content:center;padding:28px}
.hero-dish{position:relative;z-index:2;width:min(76%,340px);display:flex;flex-direction:column;gap:0;padding:10px;border-radius:26px;background:#fff;box-shadow:0 24px 50px rgba(20,36,16,.28);text-align:left;cursor:pointer;transform:rotate(-3deg);transition:box-shadow .4s var(--ease)}@media (hover:hover){.hero-dish:hover{box-shadow:0 30px 60px rgba(20,36,16,.34)}}
.hero-dish-ph{display:block;aspect-ratio:1/1;border-radius:18px;overflow:hidden;background:#fff}
.hero-dish-ph img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}@media (hover:hover){.hero-dish:hover .hero-dish-ph img{transform:scale(1.05)}}
.hero-dish .hero-photo-cap{position:static;background:none;backdrop-filter:none;padding:12px 8px 6px}
.hero-chip{position:absolute;z-index:3;display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:999px;background:var(--cream);color:var(--ink);font-size:13px;font-weight:700;box-shadow:0 10px 26px rgba(20,36,16,.22);white-space:nowrap}
.hero-chip svg{width:18px;height:10px;fill:var(--sage);stroke:none}
.hc-1{top:22px;left:18px}
.hc-2{right:18px;bottom:24px;background:var(--dark);color:var(--cream)}
.cap-type{color:var(--ort)}
.mini{transition:transform .35s var(--ease),box-shadow .35s var(--ease)}@media (hover:hover){.mini:hover{transform:translateY(-3px);box-shadow:var(--sh2)}}
.mini-dark .mini-l,.mini-dark .mini-s{color:var(--mint)}
.marquee{margin-top:14px;border-radius:var(--r);background:var(--dark);color:var(--cream);overflow:hidden;padding:15px 0;-webkit-mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.marquee-in{display:flex;align-items:center;gap:22px;width:max-content;animation:fxMarquee 38s linear infinite;font-size:15px;font-weight:650;letter-spacing:-.01em}
.marquee-in i{width:20px;height:11px;flex:0 0 auto;background:url(/static/brand/mark-sage.svg) center/contain no-repeat}@media (hover:hover){.marquee:hover .marquee-in{animation-play-state:paused}}
.steps3{list-style:none}
.step3{transition:transform .35s var(--ease),box-shadow .35s var(--ease)}@media (hover:hover){.step3:hover{transform:translateY(-4px);box-shadow:var(--sh2)}}
.picker-sum,.calc-result,.pf-sub,.menu-cta{position:relative;overflow:hidden}
.card.dark{background-color:var(--dark)}
.picker-sum::before,.calc-result::before,.pf-sub::before,.menu-cta::before,.cta-band::before{content:"";position:absolute;inset:0;background:url(/static/brand/pat-deep.svg) 0 0/120px auto repeat;opacity:.55;pointer-events:none;-webkit-mask:linear-gradient(160deg,transparent 35%,#000);mask:linear-gradient(160deg,transparent 35%,#000)}
.picker-sum>*,.calc-result>*,.pf-sub>*,.menu-cta>*{position:relative}
.fx-spot::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(420px circle at var(--mx,50%) var(--my,-30%),rgba(197,221,185,.14),transparent 60%);opacity:var(--mo,0);transition:opacity .4s}@media (hover:hover){.fx-spot:hover{--mo:1}}
.chip-dark{background:var(--dark2);color:var(--mint)}
.sum-name,.result-rec-program,.pf-sub-title{color:var(--cream)}
.sum-price span,.result-value{color:var(--cream)}
.rail-wrap{position:relative}
.rail{cursor:grab}
.rail.dragging{cursor:grabbing;scroll-snap-type:none}
.rail.dragging .dish{pointer-events:none}
.deliv-info .eyebrow{margin-bottom:-6px}
.map-zone{stroke-dasharray:900;stroke-dashoffset:900}
.map-route{stroke-dasharray:6 7}
.map-pulse{fill:rgba(110,158,87,.22);transform-box:fill-box;transform-origin:center}
.map-car{offset-path:path("M120 176C150 120 196 150 214 112S280 96 296 140");offset-rotate:0deg}
.cta-band .h2{color:var(--cream)}
.cta-band::before{opacity:.9;-webkit-mask:linear-gradient(100deg,transparent 30%,#000 80%);mask:linear-gradient(100deg,transparent 30%,#000 80%);animation:fxDrift 60s linear infinite}
.foot-pat{height:clamp(56px,7vw,88px);background:var(--sage) url(/static/brand/pat-sage-light.svg) 0 0/120px auto repeat;animation:fxDrift 80s linear infinite}
.site-footer .wrap{padding-top:clamp(32px,4vw,48px)}
.foot-top{gap:32px 48px}
.foot-logo{height:54px;color:var(--cream)}
.foot-cols{display:grid;grid-template-columns:repeat(3,minmax(140px,auto));gap:24px 48px}
.foot-col{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:14px}
.foot-col b{font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);font-weight:650;margin-bottom:4px}
.foot-col a,.foot-col button{color:var(--cream);font-size:14.5px;font-weight:500;text-align:left;padding:2px 0;background:linear-gradient(var(--mint),var(--mint)) left bottom/0 1px no-repeat;transition:background-size .35s var(--ease),color .2s}@media (hover:hover){.foot-col a:hover,.foot-col button:hover{color:var(--mint);background-size:100% 1px}}
.foot-legal a{color:var(--faint)}
.trial-title,.trial-badge{color:var(--ink)}
.trial-btn{background:var(--dark)}
.checkout-overlay-loading-spinner{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;box-shadow:var(--sh2)}
.fx-leaf{width:38px;height:22px;fill:var(--sage);stroke:none;animation:fxBreath 1.4s ease-in-out infinite}
.success-icon svg{stroke:#fff}
.order-summary{box-shadow:var(--sh1)}
.program-btn.recommended::after{color:#fff;background:var(--sage)}
.profile-avatar::after{content:"";position:absolute;inset:-4px;border-radius:21px;padding:2px;background:conic-gradient(from var(--ang,0deg),var(--sage),var(--mint),var(--cream),var(--sage));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);animation:fxSpin 6s linear infinite}
.profile-stat.accent{background:var(--tint);color:var(--ort)}
[data-thumb]:not(.nav-bar){position:relative}
[data-thumb]{isolation:isolate}
[data-thumb]>*{position:relative;z-index:1}
[data-thumb]::before{content:"";position:absolute;z-index:0;left:0;top:0;width:var(--tw,0);height:var(--th,0);transform:translate(var(--tx,0),var(--ty,0));border-radius:inherit;background:#fff;box-shadow:0 1px 3px rgba(36,59,30,.12);opacity:0;transition:transform .5s var(--spring),width .5s var(--spring),height .3s,opacity .2s;pointer-events:none}
[data-thumb].thumb-on::before{opacity:1}
.tabs[data-thumb]::before,.seg[data-thumb]::before,.menu-tabs[data-thumb]::before{border-radius:999px}
.seg[data-thumb]::before,.menu-tabs[data-thumb]::before{border-radius:12px}
.thumb-on>.active,.thumb-on>.on,.thumb-on>.selected{background:transparent!important;box-shadow:none!important}
.nav-bar[data-thumb]::before{height:3px;border-radius:0 0 3px 3px;background:var(--sage);box-shadow:none}
.nav-item.active{color:var(--ort)}
.nav-item.active .nav-item-icon{animation:fxBounce .5s var(--spring)}
.topbar.scrolled{background:rgba(255,245,240,.94);box-shadow:0 1px 0 rgba(36,59,30,.06),0 10px 30px rgba(36,59,30,.06)}
.fx-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:80;background:linear-gradient(90deg,var(--sage),var(--mint));transform-origin:left;transform:scaleX(var(--p,0));pointer-events:none}
.fx-ripple{position:absolute;z-index:0;border-radius:50%;pointer-events:none;background:currentColor;opacity:.16;transform:scale(0);animation:fxRipple .6s var(--ease) forwards}
.fx-shine::after{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-18deg);transition:none;pointer-events:none}@media (hover:hover){.fx-shine:hover::after{animation:fxShine .9s var(--ease)}}
@media (max-width:1023px){
 .bento{grid-template-columns:minmax(0,1fr)}
 .hero-stage{min-height:360px}
 .foot-cols{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
 .hero-title{font-size:39px}
 .ep-more{display:none}
 .hero-stage{min-height:0;padding:56px 18px 30px}
 .hero-dish{width:min(80%,300px)}
 .hc-1{top:12px;left:12px}.hc-2{top:12px;right:12px;bottom:auto}
 .marquee{margin-left:calc(-1 * var(--gut));margin-right:calc(-1 * var(--gut));border-radius:0}
 .foot-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
 .foot-logo{height:46px}
 .logo-svg{height:34px}
}


h1,h2,h3,h4,.h1,.h2,.h3,.hero-title .ln,.sec-t,.sec-title,.card-title,.md-name,.meal-name,.mini-v,.step3 b,.feat b,summary{text-wrap:balance}
p,li,dd,blockquote,figcaption,.faq-a,.meal-desc,.md-desc,.hero-text,.sec-sub,.lead,.step3,.feat>span:last-child,.program-desc,.foot-desc{text-wrap:pretty}


a[href^="tel:"],.lnk-in[href^="tel:"]{white-space:nowrap}
.hy{margin:0 -.06em}
.hero-main{container-type:inline-size}
.hero-title{font-size:clamp(30px,calc(100cqi / 7.9),68px)}
.hero-title .ln{padding-bottom:.12em;margin-bottom:-.12em}
.hero-dish .hero-photo-cap{flex-wrap:wrap;align-items:flex-end;row-gap:2px}
.cap-name{white-space:normal;overflow:visible;text-overflow:clip;text-wrap:balance}
.cap-kcal{margin-left:auto}
.opts-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.opt .nm{color:var(--ink2);font-weight:600}
.opt .pr{color:var(--muted)}
@media (min-width:641px){.delivery-slots{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}}
.nw{white-space:nowrap}
.macro-leg{gap:8px 16px}
.sum-desc{text-wrap:pretty}
.meal-image{background-size:auto,56px auto!important}
.verify-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.verify-row #sendPhoneCodeBtn{grid-column:1/-1;width:100%}
.verify-row .form-input{height:46px;min-width:0}
.verify-row .btn-ink{height:46px;min-width:72px}
.nutrient-item{background:var(--soft)!important;border-radius:14px!important}
.nutrient-value{color:var(--ink)!important;font-weight:800!important;letter-spacing:-.02em}
.nutrient-label{font-size:12px!important;color:var(--muted)!important}
#dishModal [style*="86868b"]{color:var(--muted)!important;font-size:14px}
#dishModal [style*="f0f0f0"]{border-color:var(--line)!important}
.allergen-tag{font-size:12px;padding:5px 10px}
.md-nut span{font-size:12px}
.v2-date small{font-size:12px}
.meal-allergen-tag,.allergen-tag{font-size:12px}
.dish-ph:not(:has(img)),.md-ph:not(:has(img)),.meal-image,.modal-dish-image[class*="ph-"]{background-image:radial-gradient(circle closest-side,rgba(255,255,255,.92) 0 58%,rgba(255,255,255,0) 60%),url(/static/brand/pat-mint-soft.svg);background-size:auto,96px auto;background-position:center,0 0}
.dish-ph:not(:has(img))>span[aria-hidden],.md-ph:not(:has(img))>span[aria-hidden],.meal-image,.modal-dish-image[class*="ph-"]{filter:drop-shadow(0 8px 14px rgba(36,59,30,.16))}
.dish-ph:not(:has(img))>span[aria-hidden]{font-size:60px}
.md-ph:not(:has(img))>span[aria-hidden]{font-size:104px}
.menu-program-filter{scroll-padding-left:2px}
@media (max-width:899px){
 body{padding-bottom:0}
 .site-footer{padding-bottom:calc(28px + var(--nav) + env(safe-area-inset-bottom,0px))}
 .foot-col{gap:0}
 .foot-col a,.foot-col button{padding:10px 0;background-position:left calc(100% - 8px)}
 .foot-col b{margin-bottom:6px}
 .foot-legal a{display:inline-block;padding:8px 0}
 .lnk{padding:11px 0}
}
@media (max-width:640px){
 .hc-2{display:none}
 .opts-3 .opt{padding:12px}
 .opts-dur{grid-template-columns:repeat(6,minmax(0,1fr))}
 .opts-dur>*{grid-column:span 2}
 .opts-dur:has(>:nth-child(5):last-child)>:nth-child(n+4){grid-column:span 3}
 .opts-dur:has(>:nth-child(4):last-child)>*{grid-column:span 3}
 .programs-grid>:last-child:nth-child(odd),.durations-list>:last-child:nth-child(odd){grid-column:1/-1}
 .sum-inc{gap:5px}
 .sum-inc span{padding:6px 9px;font-size:12.5px}
 .res-stats{grid-template-columns:minmax(0,1fr);gap:6px}
 .res-stats div{flex-direction:row;justify-content:space-between;align-items:center;padding:12px 14px}
 .res-stats span{font-size:13px}
 .mdi-top{flex-wrap:wrap;row-gap:4px}
}
@media (max-width:420px){
 .opts-dur .opt{padding:12px 10px}
 .seg-b{font-size:14px;padding:6px 4px;letter-spacing:-.01em}
 .menu-tab{min-width:0}
}
@media (max-width:374px){
 .hero-main{padding:22px 18px}
 .opts-3{grid-template-columns:minmax(0,1fr)}
 .opts-3 .opt{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;column-gap:10px;padding:12px 14px}
 .opts-3 .opt .big{font-size:19px}
 .feats{grid-template-columns:minmax(0,1fr)}
 .feat{flex-direction:row;align-items:center}
 .meal-nutrient.w{display:none}
 .meal-nutrients{gap:3px 10px}
 .menu-day-name{font-size:22px}
}
.mini-v,.opt .big,.program-cal,.result-rec-program,#v2MenuCtaPrice{word-spacing:.1em}
.pill-cal{word-spacing:.06em}
.fx-num{font-variant-numeric:tabular-nums;word-spacing:0}
#v2SumPrice,#resultCalories{word-spacing:-.08em}
.hs-r{-webkit-mask:linear-gradient(90deg,#000 calc(100% - 36px),transparent);mask:linear-gradient(90deg,#000 calc(100% - 36px),transparent)}
.hs-l{-webkit-mask:linear-gradient(90deg,transparent,#000 36px);mask:linear-gradient(90deg,transparent,#000 36px)}
.hs-l.hs-r{-webkit-mask:linear-gradient(90deg,transparent,#000 36px,#000 calc(100% - 36px),transparent);mask:linear-gradient(90deg,transparent,#000 36px,#000 calc(100% - 36px),transparent)}
@media (min-width:641px) and (max-width:1023px){
 .foot-top{flex-direction:column}
 .foot-cols{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.prog-calc{display:flex;flex-direction:column;justify-content:center;gap:6px;padding:14px;border-radius:16px;border:1.5px dashed var(--line2);color:var(--muted);font-size:13px;transition:border-color .2s,background .2s,color .2s}
.prog-calc b{display:inline-flex;align-items:center;gap:6px;color:var(--ort);font-size:15px;font-weight:700}
.prog-calc svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s var(--ease)}@media (hover:hover){.prog-calc:hover{border-color:var(--sage);background:var(--tint);color:var(--ink)}}@media (hover:hover){.prog-calc:hover svg{transform:translateX(3px)}}
.ck-block{container-type:inline-size}
@media (min-width:641px){
 .programs-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .durations-list{grid-template-columns:repeat(6,minmax(0,1fr))}
 .durations-list>*{grid-column:span 2}
 .durations-list>:nth-last-child(2):nth-child(3n+1),.durations-list>:last-child:nth-child(3n+2){grid-column:span 3}
 .durations-list>:last-child:nth-child(3n+1){grid-column:1/-1}
 @container (min-width:640px){
  .durations-list{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}
  .durations-list>*,.durations-list>:nth-last-child(2):nth-child(3n+1),.durations-list>:last-child:nth-child(3n+2),.durations-list>:last-child:nth-child(3n+1){grid-column:auto}
 }
}
.tool-toggle{padding:10px 0;margin:-10px 0}
.consent-check a{padding:10px 0}
@media (max-width:640px){
 .stepper .calc-input{height:40px}
 .foot-cols{grid-template-columns:repeat(2,auto);justify-content:start;column-gap:32px}
}
@media (max-width:374px){.foot-cols{column-gap:18px}}

.order-row{align-items:baseline}
@media (min-width:641px){.hc-2{top:22px;bottom:auto}}
.hero-stage{container-type:inline-size}
@container (max-width:440px){.hc-2{display:none}}
.foot-col a,.foot-col button{line-height:1.45}
.hero-trust{gap:8px 16px;font-size:13px}
@container (max-width:535px){.hero-trust{flex-direction:column;align-items:flex-start}}
#mealsList{transition:opacity .2s var(--ease)}
#mealsList.is-loading{opacity:.45}
@keyframes fxSoft{from{opacity:.55}to{opacity:1}}
#mealsList.fx-swap>*,#v2MenuDetail.fx-swap>*{animation:fxSoft .28s var(--ease) both;animation-delay:0s}

.fld,.picker-sum{container-type:inline-size}
@container (max-width:519px){
 .opts-dur{grid-template-columns:repeat(6,minmax(0,1fr))}
 .opts-dur>*{grid-column:span 2}
 .opts-dur:has(>:nth-child(5):last-child)>:nth-child(n+4){grid-column:span 3}
 .opts-dur:has(>:nth-child(4):last-child)>*{grid-column:span 3}
}
@container (max-width:477px){#v2SlotPills{display:grid;grid-template-columns:repeat(2,max-content)}}
@container (max-width:370px){.sum-inc{display:grid;grid-template-columns:repeat(3,max-content)}}
@media (max-width:640px){@container (min-width:330px){.sum-inc{display:flex}}}
.deliv-info>.fld{align-self:stretch}
.pf-contacts{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}
@media (max-width:400px){.pf-contacts{grid-auto-flow:row}}




@property --ring{syntax:'<angle>';inherits:false;initial-value:360deg}
@property --ang{syntax:'<angle>';inherits:false;initial-value:0deg}
@property --fy{syntax:'<length>';inherits:false;initial-value:0px}
@property --fr{syntax:'<angle>';inherits:false;initial-value:-3deg}
@property --rx{syntax:'<angle>';inherits:false;initial-value:0deg}
@property --ry{syntax:'<angle>';inherits:false;initial-value:0deg}
.fx-spot>*{position:relative;z-index:1}
.thumb-init::before{transition:none!important}
@keyframes fxUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes fxUpSm{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes fxLine{from{transform:translateY(105%)}to{transform:none}}
@keyframes fxFade{from{opacity:0}to{opacity:1}}
@keyframes fxScaleIn{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
@keyframes fxPop{0%{scale:1}40%{scale:1.045}100%{scale:1}}
@keyframes fxBump{0%{scale:1}35%{scale:1.16}100%{scale:1}}
@keyframes fxBounce{0%{transform:translateY(0)}35%{transform:translateY(-5px)}70%{transform:translateY(1px)}100%{transform:none}}
@keyframes fxFloat{0%,100%{--fy:0px;--fr:-3deg}50%{--fy:-9px;--fr:-1.8deg}}
@keyframes fxBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes fxDrift{from{transform:translate3d(0,0,0)}to{transform:translate3d(-120px,53.14px,0)}}
@keyframes fxMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes fxPing{0%{transform:scale(1);opacity:.6}100%{transform:scale(3.2);opacity:0}}
@keyframes fxPulse{0%{transform:scale(.6);opacity:.9}100%{transform:scale(1.9);opacity:0}}
@keyframes fxDraw{to{stroke-dashoffset:0}}
@keyframes fxDash{to{stroke-dashoffset:-26}}
@keyframes fxCar{0%{offset-distance:0%}50%{offset-distance:100%}100%{offset-distance:0%}}
@keyframes fxRipple{to{transform:scale(1);opacity:0}}
@keyframes fxShine{from{transform:translateX(-150%) skewX(-18deg)}to{transform:translateX(330%) skewX(-18deg)}}
@keyframes fxBreath{0%,100%{transform:scale(.86);opacity:.7}50%{transform:scale(1.08);opacity:1}}
@keyframes fxSpin{to{--ang:360deg}}
@keyframes fxSlideUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@keyframes fxSlideL{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
@keyframes fxSlideR{from{opacity:0;transform:translateX(-28px)}to{opacity:1;transform:none}}
@keyframes fxShake{0%,100%{transform:none}20%{transform:translateX(-6px)}40%{transform:translateX(5px)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}
@keyframes fxGlow{0%{box-shadow:0 0 0 0 rgba(110,158,87,.55)}100%{box-shadow:0 0 0 18px rgba(110,158,87,0)}}
@keyframes fxTick{0%{color:var(--mint)}100%{color:inherit}}
@keyframes fxTickL{0%{color:var(--sage)}100%{color:inherit}}
@keyframes fxBar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes fxBlurIn{from{opacity:0;filter:blur(6px);transform:translateY(10px)}to{opacity:1;filter:none;transform:none}}
@keyframes fxLeaf{0%{opacity:1;transform:translate(0,0) rotate(0) scale(.6)}100%{opacity:0;transform:translate(var(--lx),var(--ly)) rotate(var(--lr)) scale(1)}}
@keyframes fxLogo{0%{stroke-dashoffset:var(--len,2400);fill-opacity:0}60%{fill-opacity:0}100%{stroke-dashoffset:0;fill-opacity:1}}
@keyframes fxToast{from{opacity:0;transform:translateY(-14px) scale(.96)}to{opacity:1;transform:none}}
@keyframes fxShimmer{from{background-position:-200% 0}to{background-position:200% 0}}
@keyframes fxWiggle{0%,100%{transform:rotate(0)}30%{transform:rotate(-6deg)}60%{transform:rotate(4deg)}}

@keyframes fxScreen{from{opacity:0}to{opacity:1}}
html.js .screen.active{animation:fxScreen .32s var(--ease) both}
html.js .fx-in{animation:fxUp .8s var(--ease) both;animation-delay:calc(var(--d,0) * 90ms + 120ms)}
html.js .hero-title .ln>span{animation:fxLine .9s var(--ease) both;animation-delay:calc(var(--d,0) * 110ms + 60ms)}
.hero-stage{background:var(--sage)}
.hero-stage::before,.foot-pat::before{content:"";position:absolute;top:-54px;left:0;right:-120px;bottom:0;background:url(/static/brand/pat-sage-light.svg) 0 0/120px auto repeat;pointer-events:none;animation:fxDrift 9s linear infinite;will-change:transform}
.foot-pat{position:relative;overflow:hidden;background:var(--sage);animation:none}
.foot-pat::before{animation-duration:8s}
html.js .hero-stage{animation:fxScaleIn 1s var(--ease) both .15s}
.hero-dish{transform:perspective(900px) rotateY(var(--ry)) rotateX(var(--rx)) translateY(var(--fy)) rotate(var(--fr));transition:--rx .6s var(--ease),--ry .6s var(--ease),box-shadow .4s;animation:fxFloat 7s ease-in-out infinite}
.hero-dish.tilting{transition:--rx .18s linear,--ry .18s linear,box-shadow .4s}
.hc-1{animation:fxBob 5.5s ease-in-out infinite .4s}
.hc-2{animation:fxBob 6.5s ease-in-out infinite 1.2s}
.eyebrow-pill .dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--sage);animation:fxPing 1.8s var(--ease) infinite}
html.fx-logo .topbar .logo-svg use{--len:11300;stroke:currentColor;stroke-width:14;stroke-dasharray:11300;stroke-dashoffset:11300;fill-opacity:0;animation:fxLogo 1.7s var(--ease) both .1s}@media (hover:hover){.logo:hover .logo-svg{animation:fxWiggle .6s var(--ease)}}

html.js [data-r]:not([data-r="stagger"]):not(.in),html.js [data-r="stagger"]:not(.in)>*{opacity:0;transform:translateY(26px)}
html.js [data-r]:not([data-r="stagger"]).in:not(.done){transition:opacity .9s var(--ease),transform .9s var(--ease)}
html.js [data-r="stagger"].in:not(.done)>*{transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:calc(var(--n,0) * 90ms)}
html.js .steps3 .step3-n{--ring:0deg}
html.js .steps3.in .step3-n{--ring:360deg;transition-delay:calc(var(--n,0) * 180ms + 300ms)}
html.js .deliv.in .map-zone{animation:fxDraw 2.2s var(--ease) forwards .3s}
.map-route{animation:fxDash 1.2s linear infinite}
.map-pin .map-pulse{animation:fxPulse 2.2s var(--ease) infinite;animation-delay:calc(var(--d,0) * 1.1s)}
.map-car{animation:fxCar 9s ease-in-out infinite}

[data-fxl]:not(.fxd)>*,[data-fxl="always"]>*{animation:fxUpSm .55s var(--ease) both;animation-delay:calc(var(--n,0) * 45ms)}
.fx-pop{animation:fxPop .45s var(--spring)}
.menu-detail>*{animation:fxFade .45s var(--ease) both}
.menu-detail .md-ph img,.menu-detail .md-ph>span[aria-hidden]{animation:fxScaleIn .6s var(--ease) both}
.order-summary:not([style*="none"]){animation:fxSlideUp .55s var(--spring) both}
.checkout-form.active{animation:fxSlideUp .55s var(--ease) both}
.checkout-form[data-dir="next"] .checkout-step-section.active{animation:fxSlideL .45s var(--ease) both}
.checkout-form[data-dir="prev"] .checkout-step-section.active{animation:fxSlideR .45s var(--ease) both}
.form-input.error{animation:fxShake .45s var(--ease)}
.fx-tick{animation:fxTickL .9s var(--ease)}
.card.dark .fx-tick,.calc-bar .fx-tick{animation-name:fxTick}
.fx-glow{animation:fxGlow .9s var(--ease)}
.fx-bump{animation:fxBump .4s var(--spring)}
.order-success.active .success-icon{animation:successPop .6s var(--spring) both}
.fx-check{stroke-dasharray:30;stroke-dashoffset:30}
.order-success.active .fx-check{animation:fxDraw .6s var(--ease) forwards .35s}
.order-success.active>*:not(.success-icon){animation:fxUpSm .6s var(--ease) both;animation-delay:calc(var(--n,0) * 80ms + 250ms)}
.fx-leaf-p{position:fixed;z-index:2100;width:22px;height:13px;pointer-events:none;fill:var(--sage);stroke:none;animation:fxLeaf 1.4s cubic-bezier(.15,.7,.3,1) forwards}
.toast{animation:fxToast .45s var(--spring) both}
.skeleton,.gem-skeleton,[class*="skeleton-"]{background:linear-gradient(90deg,#EEF3EA 25%,#F7FAF4 50%,#EEF3EA 75%)!important;background-size:200% 100%!important;animation:fxShimmer 1.4s linear infinite!important}
.res-stats>div{transition:transform .3s var(--ease)}
.res-body:not([hidden]) .res-stats>div{animation:fxUpSm .5s var(--ease) both}
.res-body:not([hidden]) .res-stats>div:nth-child(2){animation-delay:.06s}
.res-body:not([hidden]) .res-stats>div:nth-child(3){animation-delay:.12s}
.st-v.fx-bump{display:inline-flex}
.result-alt-btn,.pill,.allergen-chip,.v2-date,.delivery-slot-btn,.duration-btn,.program-btn,.opt,.menu-program-pill,.menu-tab,.seg-b,.pay-opt,.st-b,.act,.meal-card,.cart-menu-preview-item,.nav-item,.tabs .tab,.ibtn{position:relative;overflow:hidden;transition:box-shadow .25s,background .25s,transform .25s var(--ease),color .2s}@media (hover:hover){.program-btn:hover,.duration-btn:hover,.opt:hover,.delivery-slot-btn:hover,.v2-date:hover,.menu-program-pill:hover{transform:translateY(-2px)}}@media (hover:hover){.meal-card:hover{transform:translateX(4px);box-shadow:inset 0 0 0 1px var(--line2),var(--sh1)}}
.st-b:active,.btn:active,.opt:active,.program-btn:active,.duration-btn:active,.seg-b:active{transform:scale(.97)}
.act{transition:background .25s,transform .3s var(--ease)}@media (hover:hover){.act:hover{transform:translateY(-3px)}}
.act svg{transition:transform .4s var(--spring)}@media (hover:hover){.act:hover svg{transform:scale(1.15) rotate(-6deg)}}@media (hover:hover){.ibtn:hover{box-shadow:inset 0 0 0 1px var(--sage);color:var(--ort)}}
html.js .fx-img{opacity:0;transition:opacity .6s var(--ease)}
html.js .fx-img.fx-ok{opacity:1}
.macro-leg span{animation:fxUpSm .5s var(--ease) both}
.macro-leg span:nth-child(2){animation-delay:.08s}.macro-leg span:nth-child(3){animation-delay:.16s}
.calc-result.fx-glow{animation:fxGlow .9s var(--ease)}
.pf-prog-bar i,.loyalty-progress-fill{will-change:width}

@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important;scroll-behavior:auto!important}
 html.js [data-r],html.js [data-r="stagger"]>*{opacity:1;transform:none}
 .marquee-in{animation:none!important}
 .hero-stage::before,.foot-pat::before{animation:none!important}
}

.marquee-in{gap:0}
.marquee-in>*{margin-right:22px}
.fx-shine::after{left:0;transform:translateX(-150%) skewX(-18deg)}
.faq details[open].is-closing summary::after{transform:none;background:var(--tint);color:var(--ort)}
.dm-hint{font-size:13px;color:var(--muted);margin:0 0 10px}
.dm-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 0;border-top:1px solid rgba(0,0,0,.06)}
.dm-hint+.dm-row{border-top:0}
.dm-m{display:flex;flex-direction:column;gap:2px;min-width:0}
.dm-m span{font-size:12.5px;color:var(--muted)}
.dm-m b{font-size:14.5px;font-weight:650;line-height:1.3}
.dm-m i{font-style:normal;font-size:12.5px;color:#8A5A06}
.dm-m em{font-style:normal;font-size:12px;font-weight:650;color:var(--ort)}
.dm-r{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}
.dm-r b{font-size:13.5px;font-weight:650;white-space:nowrap}
.dm-sw{height:32px;padding:0 12px;border-radius:10px;border:0;background:#fff;box-shadow:inset 0 0 0 1px var(--line2);font:inherit;font-size:13px;font-weight:650;color:var(--ink);cursor:pointer}
@media (hover:hover){.dm-sw:hover{box-shadow:inset 0 0 0 1px var(--ink)}}
.dm-tot{display:flex;justify-content:space-between;padding-top:10px;border-top:1px solid rgba(0,0,0,.08);font-size:13.5px}
.dm-tot b{font-weight:700}
.dm-back{border:0;background:none;font:inherit;font-size:13.5px;font-weight:650;color:var(--ort);padding:0;margin-bottom:10px;cursor:pointer}
.dm-cur{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;background:#fff;margin-bottom:12px}
.dm-cur span{font-size:12px;color:var(--muted)}
.dm-cur b{font-size:14.5px;font-weight:650}
.dm-cur small{font-size:12.5px;color:var(--muted)}
.dm-opts{display:flex;flex-direction:column;gap:8px}
.dm-opt{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;padding:12px 14px;border-radius:12px;border:0;background:#fff;box-shadow:inset 0 0 0 1px var(--line2);font:inherit;color:var(--ink);cursor:pointer;width:100%}
.dm-opt b{font-size:14.5px;font-weight:650;line-height:1.3}
.dm-opt span{font-size:12.5px;color:var(--muted)}
@media (hover:hover){.dm-opt:hover{box-shadow:inset 0 0 0 2px var(--or)}}
.dm-opt:disabled{opacity:.6;cursor:wait}
.dm-reset{margin-top:12px}
.order-surcharge{margin:0 0 12px;padding:11px 13px;border-radius:12px;background:#FFF4E5;border:1px solid #F5D6A8;color:#7A4A0B;font-size:13.5px;line-height:1.4}
.order-surcharge b{color:#5C3606}
#deliveryDetailModal .modal-header{gap:8px}
#deliveryDetailModal .modal-title{flex:1 1 auto;min-width:0}
.dd-nav{display:flex;gap:6px;flex:0 0 auto}
.dd-arr{width:36px;height:36px;border-radius:50%;background:var(--soft);color:var(--ink2);display:inline-flex;align-items:center;justify-content:center}
.dd-arr svg{width:18px;height:18px}
.dd-arr:disabled{opacity:.35;cursor:default}
@media (hover:hover){.dd-arr:not(:disabled):hover{background:var(--line2)}}
#deliveryDetailModal .modal-body{touch-action:pan-y}
#deliveryDetailContent.dd-in-r{animation:ddInR .28s var(--ease)}
#deliveryDetailContent.dd-in-l{animation:ddInL .28s var(--ease)}
@keyframes ddInR{from{opacity:0;transform:translateX(36px)}to{opacity:1;transform:none}}
@keyframes ddInL{from{opacity:0;transform:translateX(-36px)}to{opacity:1;transform:none}}
.dm-row[data-i],.dm-opt,.dm-cur{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
.dm-row[data-i],.dm-cur{transition:transform .2s ease}
.dm-row.lp-press,.dm-opt.lp-press,.dm-cur.lp-press{transform:scale(.98);transition:transform .45s ease-out}
.dm-tip{font-size:12.5px;line-height:1.4;color:var(--muted);margin-top:10px;text-align:center;text-wrap:balance}
#swapSheetModal .modal,#dishInfoModal .modal{max-width:480px}
#swapSheetModal .dm-cur{background:var(--soft)}
#swapSheetModal .dm-opt.is-busy{opacity:.6}
#swapSheetModal.busy .dm-opt,#swapSheetModal.busy .dm-reset{pointer-events:none}
#dishInfoModal .modal-title{font-size:18px;line-height:1.25}
.di{display:flex;flex-direction:column;gap:16px}
.di-meal{align-self:flex-start;padding:5px 11px;border-radius:999px;background:var(--tint);color:var(--ort);font-size:12.5px;font-weight:650}
.di .lbl{margin-bottom:6px}
.di-txt{margin:0;font-size:14.5px;line-height:1.55;color:var(--ink2)}
.di-mut{color:var(--muted);font-size:13.5px}
.di-note{padding:10px 12px;border-radius:12px;background:#FBF1DC;color:#8A5A06;font-size:13.5px;font-weight:600}
.di .md-nut{grid-template-columns:repeat(6,minmax(0,1fr))}
.di .md-nut div{grid-column:span 2}
.di .md-nut div:nth-child(-n+2){grid-column:span 3}
@media (max-width:400px){#deliveryDetailModal .modal-title{font-size:17px}#deliveryDetailModal .modal-header{padding-left:20px;padding-right:16px}.dd-arr,#deliveryDetailModal .modal-close{width:32px;height:32px}}
.addr-hints{margin:4px 0 16px}
.addr-hints-h{margin:8px 0 10px}
.addr-hints-h b{display:block;font-size:15px;color:#1d1d1f}
.addr-hints-h span{display:block;font-size:13px;color:#6e6e73;line-height:1.4;margin-top:3px}
.addr-hint .addr-hint-ta{margin-top:8px;min-height:64px;resize:vertical;line-height:1.4;padding:10px 12px}
.dm-box .dm-head{font-weight:700;margin-bottom:10px}
.dm-pill{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;line-height:1.3;padding:6px 11px;border-radius:999px;background:#FCEFD9;color:#7A4A0B;margin:0 0 12px}
.dm-pill.lock{background:#EEF0EC;color:var(--ink2)}
.dm-lk{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;flex:none}
.dm-list{display:flex;flex-direction:column;gap:8px}
#deliveryMenuList .dm-row{align-items:center;gap:12px;padding:8px 10px 8px 8px;border:1px solid var(--line);border-radius:18px;background:#fff;transition:border-color .2s,background .2s,transform .2s ease}
#deliveryMenuList .dm-row.mine{border-color:var(--or);background:#EEF5E9}
#deliveryMenuList .dm-m{flex:1}
#deliveryMenuList .dm-m em{color:var(--or2)}
.dm-ph{width:60px;height:60px;border-radius:13px;flex:none;overflow:hidden;background:var(--soft);display:flex;align-items:center;justify-content:center}
.dm-ph img,.hm-ph img{width:100%;height:100%;object-fit:cover;display:block}
.dm-noph{background:var(--phb);color:var(--phc)}
.dm-noph svg{width:48%;height:48%;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#deliveryMenuList .dm-sw{flex:none;height:34px;border-radius:999px;background:var(--soft);padding:0 14px}
.dm-lk-row{width:18px;height:18px;color:var(--faint);margin:0 8px}
#deliveryMenuList .dm-tot{margin-top:12px;border-top:0;padding:0 4px}
.dm-wish-btn{width:100%;margin-top:12px;border:1.5px dashed var(--faint);background:transparent;border-radius:16px;padding:13px 12px;color:var(--ink2);font:inherit;font-size:14px;font-weight:600;cursor:pointer;line-height:1.3}
@media (hover:hover){.dm-wish-btn:hover{border-color:var(--or);color:var(--ink)}}
.dm-sub{font-size:13.5px;line-height:1.45;color:var(--muted);margin:0 0 12px}
#swapSheetModal .dm-opt{flex-direction:row;align-items:center;gap:12px;padding:7px 12px 7px 7px;border-radius:18px;box-shadow:inset 0 0 0 1.5px var(--line);transition:box-shadow .15s,background .15s}
#swapSheetModal .dm-opt .dm-ph{width:56px;height:56px;border-radius:12px}
.dm-ot{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.dm-ot b{font-size:14.5px;font-weight:650;line-height:1.3}
.dm-tags{display:flex;gap:5px;flex-wrap:wrap}
.dm-tag{font-style:normal;font-size:11.5px;font-weight:600;padding:2px 9px;border-radius:999px;background:var(--soft);color:var(--ink2)}
.dm-tag.was{background:var(--line);color:var(--muted)}
.dm-radio{width:22px;height:22px;border-radius:50%;border:2px solid var(--faint);flex:none;display:flex;align-items:center;justify-content:center}
#swapSheetModal .dm-opt.on{box-shadow:inset 0 0 0 2px var(--or);background:#EEF5E9}
.dm-opt.on .dm-radio{border-color:var(--or);background:var(--or)}
.dm-opt.on .dm-radio::after{content:"";width:8px;height:8px;border-radius:50%;background:#fff}
.dm-opt:focus-visible,.dm-sw:focus-visible,.dm-wish-btn:focus-visible,.hm-day:focus-visible{outline:2px solid var(--or);outline-offset:2px}
.dm-wish{margin-top:14px;background:#fff;border-radius:18px;border:1px solid var(--line);padding:12px;display:flex;flex-direction:column;gap:8px}
#swapSheetModal .dm-wish{background:#fff}
.dm-wish label{font-weight:650;font-size:13.5px;line-height:1.35}
.dm-wish textarea{font:inherit;font-size:16px;line-height:1.4;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:10px;resize:none;width:100%;min-height:68px}
.dm-wish textarea:focus{outline:2px solid var(--or);outline-offset:0;border-color:transparent}
.dm-wish-err{color:var(--err);font-size:12.5px}
.dm-wish-err:empty{display:none}
.dm-wish-send{border:0;background:var(--ink);color:#fff;font:inherit;font-size:14px;font-weight:650;border-radius:12px;padding:12px;cursor:pointer}
.dm-wish-send:disabled{opacity:.6;cursor:wait}
.dm-wish.done{background:#EEF5E9;border-color:#EEF5E9;gap:3px}
.dm-wish.done b{font-size:14.5px}
.dm-wish.done span{font-size:13px;color:var(--muted)}
.toast.dm-undo{gap:10px}
.dm-undo-t{flex:1;min-width:0}
.toast.dm-undo button{background:transparent;border:0;color:#BFE0A8;font:inherit;font-weight:700;cursor:pointer;padding:6px 0 6px 8px;white-space:nowrap}
.home-menu{margin-bottom:14px;display:flex;flex-direction:column;gap:12px}
.hm-card{background:#fff;border-radius:22px;padding:16px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--sh1)}
.hm-head{display:flex;flex-direction:column;gap:2px}
.hm-head h3{margin:0;font-size:19px;font-weight:700;letter-spacing:-.01em;line-height:1.2}
.hm-mine{font-size:12.5px;font-weight:650;color:var(--ort)}
.hm-thumbs{display:flex;gap:6px}
.hm-ph{flex:1 1 0;min-width:0;max-width:96px;aspect-ratio:1;border-radius:14px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--soft)}
.hm-names{display:flex;flex-direction:column;gap:3px;font-size:13.5px;line-height:1.35}
.hm-names span{display:flex;gap:8px;min-width:0}
.hm-names i{font-style:normal;color:var(--muted);flex:0 0 68px}
.hm-card .dm-pill{align-self:flex-start;margin:0}
.hm-go{width:100%}
.hm-empty{font-size:14px;color:var(--muted)}
.hm-next{display:flex;flex-direction:column;gap:8px}
.hm-lbl{font-size:13px;font-weight:650;color:var(--muted);padding:0 2px}
.hm-days{display:flex;gap:6px}
.hm-day{flex:1 1 0;min-width:0;max-width:92px;border-radius:14px;background:#fff;border:1px solid var(--line);padding:8px 0;text-align:center;font:inherit;font-size:11.5px;color:var(--muted);cursor:pointer}
.hm-day b{display:block;font-size:17px;font-weight:700;color:var(--ink)}
@media (hover:hover){.hm-day:hover{border-color:var(--or)}}
@media (min-width:900px){.home-menu{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start}.hm-days{flex-wrap:wrap}.hm-day{flex:0 0 calc(33.333% - 4px);max-width:none}}
#deliveryDetailContent .dm-box{background:none;padding:0;box-shadow:none;border:0}
.dm-box .dm-head{font-size:16px;padding:0 2px}
#deliveryMenuList .dm-m b{text-wrap:pretty;overflow-wrap:anywhere}
#deliveryMenuList .dm-m span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#deliveryMenuList .dm-sw{height:32px;padding:0 12px;font-size:13px}
@media (max-width:420px){#deliveryMenuList .dm-row{gap:10px;padding:7px 8px 7px 7px}#deliveryMenuList .dm-ph{width:50px;height:50px;border-radius:12px}}
#swapSheetModal .dm-wish.done{background:#EEF5E9;border-color:#EEF5E9}
#deliveryMenuList .dm-row.can{cursor:pointer}
@media (hover:hover){#deliveryMenuList .dm-row.can:hover{border-color:var(--line2)}#deliveryMenuList .dm-row.can:hover .dm-more{color:var(--ink2)}}
#deliveryMenuList .dm-row.can:focus-visible{outline:2px solid var(--or);outline-offset:2px}
.dm-more{flex:none;width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:var(--faint);margin-right:2px}
.dm-more svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dm-note{font-size:12.5px;line-height:1.4;color:var(--muted);text-align:center;margin-top:10px;text-wrap:balance}
.dm-note+.dm-tip{margin-top:4px}
.dm-wish-link{display:block;margin:12px auto 0;border:0;background:none;padding:6px 4px;font:inherit;font-size:13px;font-weight:600;color:var(--ort);cursor:pointer;text-decoration:underline;text-decoration-color:rgba(74,122,54,.35);text-underline-offset:3px}

.success-row{align-items:flex-start}
.success-row-value{text-align:right}
.success-row-value .sv-time{display:block;white-space:nowrap}
.checkout-step-nav .checkout-btn{min-width:0;white-space:normal}
@media(max-width:600px){.checkout-step-nav{flex-direction:column-reverse}.checkout-step-nav .btn{width:100%;justify-content:center}.order-edit-actions{flex-direction:column}.order-edit-actions .btn-full{flex:none;width:100%}}
.device-login-offer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;padding:10px 12px;border-radius:12px;background:var(--soft);font-size:13px;line-height:1.4}
.device-login-offer[hidden]{display:none}
.device-login-offer .btn{flex:0 0 auto}
@media(max-width:420px){.device-login-offer{flex-direction:column;align-items:stretch}.device-login-offer .btn{width:100%;justify-content:center}}
#deviceLoginBtn{margin-bottom:12px}
.bank-steps{margin:6px 0 12px 18px;padding:0;font-size:14px;line-height:1.5}
.bank-steps li{margin:2px 0}
.proof-check{margin-top:8px;padding:10px 12px;border-radius:12px;font-size:13.5px;line-height:1.45}
.proof-check[hidden]{display:none}
.proof-check.is-ok{background:#e8f5e9;color:#1b5e20}
.proof-check.is-bad{background:#fff4e5;color:#8a4b00}
.proof-check.is-wait{background:var(--soft);color:var(--muted)}
.proof-check-tip{margin-top:6px;font-size:12.5px;opacity:.9}
#bankProofFile{padding:8px;font-size:14px;color:var(--muted);cursor:pointer}
#bankProofFile::file-selector-button{margin-right:12px;padding:10px 16px;border:0;border-radius:10px;background:var(--tint);color:var(--ort);font:inherit;font-weight:650;cursor:pointer}
#bankProofFile::-webkit-file-upload-button{margin-right:12px;padding:10px 16px;border:0;border-radius:10px;background:var(--tint);color:var(--ort);font:inherit;font-weight:650;cursor:pointer}
