.telegram-auth{display:flex;flex-direction:column;align-items:center;gap:1rem}.telegram-auth__widget{min-height:40px}.telegram-auth__loading{color:var(--app-text-secondary);font-size:.9rem}.telegram-auth__error{color:var(--app-error);font-size:.9rem;text-align:center;padding:.5rem;background:var(--app-error-bg);border-radius:4px;max-width:300px}.landing{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--app-bg);padding:2rem}[data-theme=dark] .landing{background:var(--app-bg)}.landing__container{width:100%;max-width:500px}.landing__content{background:var(--app-bg-elevated);border-radius:16px;padding:3rem 2rem;box-shadow:0 4px 20px #0000001a;text-align:center;border:1px solid var(--app-border)}[data-theme=dark] .landing__content{box-shadow:0 4px 20px #0000004d}.landing__header{margin-bottom:2rem}.landing__title{font-size:2.5rem;font-weight:700;color:var(--app-accent);margin-bottom:.5rem}.landing__subtitle{font-size:1.1rem;color:var(--app-text-secondary);margin:0}.landing__description{margin-bottom:2.5rem;color:var(--app-text);line-height:1.6}.landing__description p{margin-bottom:1rem}.landing__description p:last-child{margin-bottom:0}.landing__auth{margin-bottom:2.5rem}.landing__features{display:flex;flex-direction:column;gap:1rem;margin-top:2rem}.landing__feature{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.75rem;background:var(--app-accent-muted);border-radius:8px}.landing__feature-icon{font-size:1.5rem}.landing__feature-text{color:var(--app-text);font-size:.95rem}@media (min-width: 768px){.landing__container{max-width:600px}.landing__content{padding:4rem 3rem}.landing__title{font-size:3rem}.landing__features{flex-direction:row;justify-content:space-around}.landing__feature{flex:1;flex-direction:column;text-align:center}}.shop-card{border-radius:12px;padding:14px 16px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;border:1px solid var(--app-border);display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden}:root .shop-card,[data-theme=light] .shop-card{background:linear-gradient(135deg,#fdf2f8,#fce7f3 35%,#f5f5f5);box-shadow:0 2px 8px #0000000f;border-color:#00000014}[data-theme=dark] .shop-card{background:linear-gradient(135deg,#2d1b2e,#1a0f2e,#1a1a1a);box-shadow:0 4px 12px #0006;border-color:#ffffff1f}.shop-card:active{transform:scale(.98)}.shop-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.shop-card__name{margin:0;font-size:18px;font-weight:700;color:var(--app-text);line-height:1.2;flex:1;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}[data-theme=light] .shop-card .shop-card__name{color:#1a1a1a}[data-theme=dark] .shop-card .shop-card__name{color:#fff}.shop-card__owner{font-size:13px;color:var(--app-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-theme=light] .shop-card .shop-card__owner{color:#4a4a4a}[data-theme=dark] .shop-card .shop-card__owner{color:#e0d4e4}.shop-card__services{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.shop-card__service-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500;white-space:nowrap}.shop-card__service-icon{width:14px;height:14px;flex-shrink:0}.shop-card__service-tag--delivery{background:#9b87c426;color:var(--app-text)}[data-theme=dark] .shop-card__service-tag--delivery{background:#ffffff2e;color:#fff}[data-theme=light] .shop-card__service-tag--delivery{background:#0000001a;color:#1a1a1a}.shop-card__service-tag--pickup{background:#4caf5026;color:var(--app-text)}[data-theme=dark] .shop-card__service-tag--pickup{background:#fff3;color:#fff}[data-theme=light] .shop-card__service-tag--pickup{background:#0000001a;color:#1a1a1a}.shop-card__info-row{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--app-text-secondary);flex-wrap:wrap;padding-bottom:10px;border-bottom:1px solid var(--app-border);margin-bottom:4px}[data-theme=light] .shop-card .shop-card__info-row{color:#5a5a5a;border-bottom-color:#0000001a}[data-theme=dark] .shop-card .shop-card__info-row{color:#c4b8c8;border-bottom-color:#ffffff1f}.shop-card__location,.shop-card__products{display:inline-flex;align-items:center;gap:6px}.shop-card__info-icon{width:16px;height:16px;flex-shrink:0;color:var(--app-accent)}[data-theme=light] .shop-card .shop-card__info-icon{color:#333}[data-theme=dark] .shop-card .shop-card__info-icon{color:#e8dce8}.shop-card__footer{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:4px}.shop-card__price{font-size:14px;color:var(--app-text);display:flex;align-items:baseline;gap:4px;flex-wrap:wrap}[data-theme=light] .shop-card .shop-card__price{color:#1a1a1a}[data-theme=dark] .shop-card .shop-card__price{color:#fff}.shop-card__price-from{font-weight:700}.shop-card__slots{font-size:11px;font-weight:500;color:#4caf50;background:#4caf501f;padding:4px 8px;border-radius:16px;white-space:nowrap;flex-shrink:0}.shop-card__slots.low{color:#ff9800;background:#ff98001f}[data-theme=dark] .shop-card__slots{color:#4caf50;background:#4caf5033}[data-theme=dark] .shop-card__slots.low{color:#ff9800;background:#ff980033}[data-theme=light] .shop-card__slots{color:#4caf50;background:#4caf5026}[data-theme=light] .shop-card__slots.low{color:#ff9800;background:#ff980026}.filters{display:flex;flex-direction:column;gap:16px;padding:0;background:transparent}.filters__mode-toggle{display:flex;gap:0;background:var(--app-bg-elevated);border-radius:12px;padding:4px;border:1px solid var(--app-border)}.filters__mode-btn{flex:1;padding:12px 16px;border:none;border-radius:8px;background:transparent;color:var(--app-text-secondary);font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease}.filters__mode-btn.active{background:var(--app-accent);color:var(--app-bg);font-weight:600}.filters__mode-btn:not(.active):active{background:var(--app-surface)}[data-theme=dark] .filters__mode-toggle{background:#ffffff14;border-color:#ffffff26}[data-theme=dark] .filters__mode-btn.active{background:var(--app-accent);color:var(--app-bg)}.filters__hint{padding:12px 16px;background:var(--app-accent-muted);border-radius:12px;color:var(--app-accent);font-size:13px;text-align:center;border:1px solid var(--app-accent-muted)}.filters__item{display:block;width:100%}.filters__row{display:flex;gap:8px}.filters__select{width:100%;padding:14px 40px 14px 16px;border:1px solid var(--app-border);border-radius:12px;background:var(--app-bg-elevated);color:var(--app-text);font-size:15px;font-weight:500;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:all .2s ease;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23999999' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;min-height:48px;box-sizing:border-box}[data-theme=dark] .filters__select{background:#ffffff1a;border-color:#fff3;color:#fff}[data-theme=light] .filters__select{background:#0000000d;border-color:#00000026;color:#000}.filters__select:hover{border-color:var(--app-accent)}.filters__select:disabled{opacity:.5;cursor:not-allowed;background-color:var(--app-surface)}.filters__select:focus{outline:none;border-color:var(--app-accent);box-shadow:0 0 0 3px var(--app-accent-muted)}.filters__reset{width:100%;padding:14px 16px;border:1px solid var(--app-accent);border-radius:12px;background:transparent;color:var(--app-accent);font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:8px}.filters__reset:hover{background:var(--app-accent-muted)}.filters__reset:active{transform:scale(.98);background:var(--app-accent-muted)}.filters__metro-search{position:relative}.filters__metro-input-wrap{position:relative;display:flex;align-items:center;width:100%}.filters__metro-input{width:100%;padding:14px 40px 14px 16px;border:1px solid var(--app-border);border-radius:12px;background:var(--app-bg-elevated);color:var(--app-text);font-size:15px;font-weight:500;transition:all .2s ease;min-height:48px;box-sizing:border-box}[data-theme=dark] .filters__metro-input{background:#ffffff1a;border-color:#fff3;color:#fff}[data-theme=light] .filters__metro-input{background:#0000000d;border-color:#00000026;color:#000}.filters__metro-input::placeholder{color:var(--app-text-secondary);font-weight:400}.filters__metro-input:hover{border-color:var(--app-accent)}.filters__metro-input:focus{outline:none;border-color:var(--app-accent);box-shadow:0 0 0 3px var(--app-accent-muted)}.filters__metro-clear{position:absolute;right:12px;width:28px;height:28px;padding:0;border:none;border-radius:50%;background:var(--app-text-secondary);color:var(--app-bg);font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}[data-theme=dark] .filters__metro-clear{background:#ffffff4d;color:#fff}[data-theme=light] .filters__metro-clear{background:#0003;color:#000}.filters__metro-clear:hover{opacity:.8;transform:scale(1.1)}.filters__metro-clear:active{opacity:.6;transform:scale(.95)}.filters__metro-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:8px;max-height:200px;overflow-y:auto;background:var(--app-bg-elevated);border-radius:12px;box-shadow:0 8px 24px #0003;z-index:10;border:1px solid var(--app-border)}[data-theme=dark] .filters__metro-dropdown{background:#000000e6;border-color:#fff3;box-shadow:0 8px 24px #00000080}[data-theme=light] .filters__metro-dropdown{background:#fff;border-color:#00000026;box-shadow:0 8px 24px #00000026}.filters__metro-hint{padding:16px;color:var(--app-text-secondary);font-size:14px;text-align:center}.filters__metro-option{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;border:none;background:transparent;color:var(--app-text);font-size:15px;font-weight:500;text-align:left;cursor:pointer;transition:background .15s}.filters__metro-option:hover{background:var(--app-accent-muted)}.filters__metro-option.selected{background:var(--app-accent-muted);font-weight:600}.filters__metro-line-color{flex-shrink:0;width:8px;height:8px;border-radius:50%}.loader{display:flex;justify-content:center;align-items:center;padding:20px}.loader--centered{min-height:200px}.loader__spinner{border-radius:50%;border:3px solid var(--app-loader-track, var(--app-bg-elevated));border-top-color:var(--app-accent);animation:spin .8s linear infinite}.loader__spinner--small{width:20px;height:20px;border-width:2px}.loader__spinner--medium{width:32px;height:32px}.loader__spinner--large{width:48px;height:48px;border-width:4px}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;min-height:200px}.empty-state__icon{font-size:48px;margin-bottom:16px}.empty-state__illustration{margin-bottom:24px;width:200px;max-width:70vw;height:auto}.empty-state__illustration--shops{--empty-shop-stroke: #9b8bb5;--empty-vase-stroke: #8a9bb8}.empty-state__title{margin:0 0 8px;font-size:18px;font-weight:700;color:var(--app-text)}.empty-state__description{margin:0;font-size:14px;color:var(--app-text-secondary);max-width:280px;line-height:1.4}.location-setup{display:flex;flex-direction:column;min-height:100vh;padding:24px 16px;background:var(--app-bg)}.location-setup__content{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;max-width:400px;margin:0 auto}.location-setup__icon{font-size:64px;margin-bottom:16px}.location-setup__title{font-size:24px;font-weight:600;color:var(--app-text);text-align:center;margin:0 0 12px}.location-setup__description{font-size:14px;color:var(--app-text-secondary);text-align:center;margin:0 0 32px;line-height:1.5}.location-setup__form{width:100%;display:flex;flex-direction:column;gap:20px}.location-setup__field{display:flex;flex-direction:column;gap:8px}.location-setup__label{font-size:14px;font-weight:500;color:var(--app-text)}.location-setup__select{width:100%;padding:12px 40px 12px 16px;border:1px solid var(--app-border);border-radius:12px;background:var(--app-bg-elevated);color:var(--app-text);font-size:16px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23666666' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;transition:border-color .2s ease}[data-theme=dark] .location-setup__select{background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23999999' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.location-setup__select:focus{outline:none;border-color:var(--app-accent)}.location-setup__select:disabled{opacity:.5;cursor:not-allowed}.liquid-glass-svg-defs{position:absolute;width:0;height:0;overflow:hidden}.liquid-glass-card{position:relative;backdrop-filter:blur(25px) saturate(150%);-webkit-backdrop-filter:blur(25px) saturate(150%);background:#ffffff1a;border-radius:296px;box-shadow:inset 0 0 0 1px #ffffff1a,0 8px 32px #0000001a;overflow:hidden;isolation:isolate}.liquid-glass-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;background:radial-gradient(circle 300px at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(255,255,255,.1) 0%,transparent 70%);opacity:0;transition:opacity .3s ease;z-index:1}.liquid-glass-card:hover:before{opacity:1}[data-theme=dark] .liquid-glass-card{background:#0000004d;box-shadow:inset 0 0 0 1px #ffffff1a,0 8px 32px #0000004d}[data-theme=dark] .liquid-glass-card:before{background:radial-gradient(circle 300px at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(255,255,255,.08) 0%,transparent 70%)}[data-theme=light] .liquid-glass-card{background:#ffffff26;box-shadow:inset 0 0 0 1px #fff3,0 8px 32px #00000014}[data-theme=light] .liquid-glass-card:before{background:radial-gradient(circle 300px at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(255,255,255,.15) 0%,transparent 70%)}.liquid-glass-card>*{position:relative;z-index:2}.top-nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top,0));pointer-events:none}.top-nav:not([data-telegram=true]){padding:10px 13px;padding-top:calc(10px + env(safe-area-inset-top,0))}.top-nav__container{max-width:100%;padding:8px;display:flex;align-items:center;justify-content:space-around;gap:4px;pointer-events:auto}.top-nav:not([data-telegram=true]) .top-nav__container{padding:6px}.top-nav__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 12px;min-width:64px;flex:1;color:var(--app-text-secondary);text-decoration:none;font-size:11px;font-weight:500;border-radius:296px;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.top-nav:not([data-telegram=true]) .top-nav__item{padding:6px 10px;min-width:56px;font-size:10px}.top-nav:not([data-telegram=true]) .top-nav__icon{width:20px;height:20px}.top-nav__item:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--app-bg-elevated);opacity:0;transition:opacity .2s ease;border-radius:296px}.top-nav__item:hover:before{opacity:.1}.top-nav__item--active{color:var(--app-text);font-weight:600;background:var(--app-bg-elevated);box-shadow:0 2px 8px #0000001a}[data-theme=dark] .top-nav__item--active{background:#ffffff26;box-shadow:0 2px 8px #0000004d}[data-theme=light] .top-nav__item--active{background:#0000001a;box-shadow:0 2px 8px #0000001a}.top-nav__item:active{transform:scale(.95)}.top-nav__icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:inherit;transition:color .2s ease;position:relative;z-index:1}.top-nav__label{white-space:nowrap;position:relative;z-index:1;transition:color .2s ease}.top-nav__item{text-shadow:0 1px 2px rgba(0,0,0,.1)}[data-theme=dark] .top-nav__item{text-shadow:0 1px 2px rgba(0,0,0,.5)}[data-theme=light] .top-nav__item{text-shadow:0 1px 2px rgba(255,255,255,.8)}.top-nav--telegram .top-nav__label,[data-telegram=true] .top-nav__label{display:none}.top-nav--telegram .top-nav__item,[data-telegram=true] .top-nav__item{gap:0;padding:8.5px;min-width:48px}.top-nav--telegram .top-nav__icon,[data-telegram=true] .top-nav__icon{width:28px;height:28px}.top-nav--telegram,[data-telegram=true]{padding:10px 14px;padding-top:calc(10px + env(safe-area-inset-top,0))}.top-nav--telegram .top-nav__container,[data-telegram=true] .top-nav__container{padding:7px}.top-nav--desktop .top-nav__container{display:flex;justify-content:space-between;align-items:center;gap:16px;max-width:1500px;margin-left:auto;margin-right:auto}.top-nav__brand{display:flex;align-items:center;gap:10px;flex-shrink:0;text-decoration:none;color:var(--app-text)}.top-nav__logo{display:block;height:40px;width:auto;object-fit:contain}.top-nav--desktop .top-nav__logo{height:100%;max-height:50px}.top-nav__brand-name{font-size:18px;font-weight:600;white-space:nowrap}.top-nav__center{flex:1;min-width:0}.top-nav__right{display:flex;align-items:center;gap:4px;margin-left:auto;flex-shrink:0}.top-nav--desktop .top-nav__right .top-nav__item{flex:0 0 auto;min-width:120px;width:120px}.catalog-nav-bar{position:fixed;top:calc(80px + env(safe-area-inset-top,0));left:0;right:0;z-index:99;padding:8px 16px;pointer-events:none}.catalog-nav-bar--telegram,.catalog-nav-bar[data-telegram=true]{top:calc(68px + env(safe-area-inset-top,0));padding:6px 14px}.catalog-nav-bar__container{display:flex;align-items:center;gap:8px;padding:8px 12px;pointer-events:auto;height:48px;border-radius:296px}.catalog-nav-bar--telegram .catalog-nav-bar__container,.catalog-nav-bar[data-telegram=true] .catalog-nav-bar__container{height:48px;padding:6px 10px}.catalog-nav-bar__search-wrap{flex:1;position:relative;display:flex;align-items:center;min-width:0}.catalog-nav-bar__search-icon{position:absolute;left:10px;color:var(--app-text-secondary);pointer-events:none;z-index:1}.catalog-nav-bar__search-input{width:100%;padding:8px 12px 8px 36px;border:none;background:transparent;color:var(--app-text);font-size:14px;font-family:inherit;border-radius:296px;outline:none;min-width:0}.catalog-nav-bar__search-input::placeholder{color:var(--app-text-secondary);opacity:.7}.catalog-nav-bar__search-input:focus{outline:none}.catalog-nav-bar__filter-btn{flex-shrink:0;width:15%;min-width:44px;max-width:60px;height:36px;padding:0;border:none;background:transparent;color:var(--app-text);cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;border-radius:296px;transition:all .2s ease;-webkit-tap-highlight-color:transparent}.catalog-nav-bar--telegram .catalog-nav-bar__filter-btn,.catalog-nav-bar[data-telegram=true] .catalog-nav-bar__filter-btn{height:36px}.catalog-nav-bar__filter-btn:hover{background:#ffffff1a}.catalog-nav-bar__filter-btn:active{transform:scale(.95)}.catalog-nav-bar__filter-btn--active{background:#ffffff26}.catalog-nav-bar__filter-icon{flex-shrink:0;color:inherit}.catalog-nav-bar__filter-badge{position:absolute;top:-2px;right:-2px;background:var(--app-accent);color:var(--app-bg);font-size:10px;font-weight:600;padding:2px 5px;border-radius:10px;min-width:16px;text-align:center;line-height:1.2;box-shadow:0 1px 3px #0003}[data-theme-opposite=dark] .catalog-nav-bar__container{background:#0000004d;box-shadow:inset 0 0 0 1px #ffffff1a,0 8px 32px #0000004d}[data-theme-opposite=dark] .catalog-nav-bar__container:before{background:radial-gradient(circle 300px at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(255,255,255,.08) 0%,transparent 70%)}[data-theme-opposite=light] .catalog-nav-bar__container{background:#ffffff59;box-shadow:inset 0 0 0 1px #fff6,0 8px 32px #0003}[data-theme-opposite=light] .catalog-nav-bar__container:before{background:radial-gradient(circle 300px at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(255,255,255,.25) 0%,transparent 70%)}[data-theme-opposite=dark] .catalog-nav-bar__search-input,[data-theme-opposite=dark] .catalog-nav-bar__search-icon,[data-theme-opposite=dark] .catalog-nav-bar__filter-icon{color:#fff}[data-theme-opposite=light] .catalog-nav-bar__search-input,[data-theme-opposite=light] .catalog-nav-bar__search-icon,[data-theme-opposite=light] .catalog-nav-bar__filter-icon{color:#000}[data-theme-opposite=dark] .catalog-nav-bar__search-input::placeholder{color:#fff9}[data-theme-opposite=light] .catalog-nav-bar__search-input::placeholder{color:#0009}[data-theme-opposite=dark] .catalog-nav-bar__filter-btn:hover{background:#ffffff26}[data-theme-opposite=light] .catalog-nav-bar__filter-btn:hover{background:#0000001a}[data-theme-opposite=dark] .catalog-nav-bar__filter-btn--active{background:#fff3}[data-theme-opposite=light] .catalog-nav-bar__filter-btn--active{background:#00000026}.catalog-nav-bar--desktop{top:calc(90px + env(safe-area-inset-top,0));left:50%;right:auto;width:100%;max-width:700px;transform:translate(-50%);padding:0 16px;box-sizing:border-box}.catalog-nav-bar--desktop .catalog-nav-bar__container{height:50px;padding:8px 12px;width:100%}.catalog-nav-bar--desktop .catalog-nav-bar__filter-btn{height:36px}@media (min-width: 768px){.catalog-nav-bar:not(.catalog-nav-bar--desktop){top:calc(80px + env(safe-area-inset-top,0));padding:10px 24px}.catalog-nav-bar:not(.catalog-nav-bar--desktop) .catalog-nav-bar__container{height:56px;padding:10px 14px;max-width:1400px;margin:0 auto}.catalog-nav-bar__search-input{font-size:15px;padding:10px 14px 10px 40px}.catalog-nav-bar__filter-btn{height:40px;max-width:70px}.catalog-nav-bar__filter-icon{width:22px;height:22px}}.main-layout{min-height:100vh;display:flex;flex-direction:column;padding-top:calc(80px + env(safe-area-inset-top,0));background:var(--app-bg)}.main-layout:not([data-telegram=true]){padding-top:calc(64px + env(safe-area-inset-top,0))}.main-layout--telegram,.main-layout[data-telegram=true]{padding-top:calc(68px + env(safe-area-inset-top,0))}.main-layout__content{flex:1;min-height:0}@media (min-width: 768px){.main-layout{padding-top:calc(88px + env(safe-area-inset-top,0))}.main-layout:not([data-telegram=true]){padding-top:calc(70px + env(safe-area-inset-top,0))}}.main-layout--desktop{padding-top:calc(150px + env(safe-area-inset-top,0))}.heart-icon{background:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none;border-radius:50%;padding:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--app-bg);transition:all .2s ease;flex-shrink:0}.heart-icon:hover{background:#0006;transform:scale(1.1)}.heart-icon:active{transform:scale(.95)}.heart-icon--filled{color:#ff3b30;background:#ffffffe6}.heart-icon--filled:hover{background:#fff}.heart-icon svg{width:100%;height:100%;pointer-events:none}.filter-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;background:#000000bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:flex-start;justify-content:center;padding:20px;padding-top:calc(20px + env(safe-area-inset-top,0));overflow-y:auto;animation:filter-modal-fade-in .2s ease-out}[data-theme=dark] .filter-modal{background:#000000d9}@keyframes filter-modal-fade-in{0%{opacity:0}to{opacity:1}}.filter-modal__content{width:100%;max-width:600px;background:var(--app-bg);border-radius:20px;box-shadow:0 8px 32px #0006;border:1px solid var(--app-border);display:flex;flex-direction:column;max-height:calc(100vh - 40px - env(safe-area-inset-top,0) - env(safe-area-inset-bottom,0));animation:filter-modal-slide-up .3s cubic-bezier(.4,0,.2,1);overflow:hidden}@keyframes filter-modal-slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}[data-theme=dark] .filter-modal__content{background:#141414f2;border-color:#ffffff26;box-shadow:0 8px 32px #000000b3}[data-theme=light] .filter-modal__content{background:#fff;border-color:#0000001a;box-shadow:0 8px 32px #0003}.filter-modal__header{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 16px;border-bottom:1px solid var(--app-border);flex-shrink:0;background:var(--app-bg)}[data-theme=dark] .filter-modal__header{background:#141414f2;border-bottom-color:#ffffff26}[data-theme=light] .filter-modal__header{background:#fff;border-bottom-color:#0000001a}.filter-modal__title{margin:0;font-size:24px;font-weight:700;color:var(--app-text)}[data-theme=dark] .filter-modal__title{color:#fff}[data-theme=light] .filter-modal__title{color:#000}.filter-modal__close{padding:8px;border:none;background:transparent;color:var(--app-text-secondary);cursor:pointer;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .15s ease;-webkit-tap-highlight-color:transparent;width:40px;height:40px}.filter-modal__close:hover{background:var(--app-surface);color:var(--app-text)}[data-theme=dark] .filter-modal__close{color:#ffffffb3}[data-theme=dark] .filter-modal__close:hover{background:#ffffff1a;color:#fff}[data-theme=light] .filter-modal__close{color:#0009}[data-theme=light] .filter-modal__close:hover{background:#0000000d;color:#000}.filter-modal__close:active{transform:scale(.95)}.filter-modal__body{flex:1;overflow-y:auto;padding:20px;background:var(--app-bg)}[data-theme=dark] .filter-modal__body{background:#141414f2}[data-theme=light] .filter-modal__body{background:#fff}.filter-modal[data-telegram=true]{padding:12px;padding-top:calc(12px + env(safe-area-inset-top,0))}.filter-modal[data-telegram=true] .filter-modal__content{max-height:calc(100vh - 24px - env(safe-area-inset-top,0) - env(safe-area-inset-bottom,0));border-radius:16px}.filter-modal[data-telegram=true] .filter-modal__header{padding:16px}.filter-modal[data-telegram=true] .filter-modal__title{font-size:20px}.filter-modal[data-telegram=true] .filter-modal__body{padding:16px}@media (min-width: 768px){.filter-modal{padding:40px;padding-top:calc(40px + env(safe-area-inset-top,0))}.filter-modal__content{max-height:calc(100vh - 80px - env(safe-area-inset-top,0) - env(safe-area-inset-bottom,0));border-radius:24px}}.my-flowers-nav-bar{position:fixed;top:calc(80px + env(safe-area-inset-top,0));left:0;right:0;z-index:99;padding:8px 16px;pointer-events:none}.my-flowers-nav-bar--telegram,.my-flowers-nav-bar[data-telegram=true]{top:calc(68px + env(safe-area-inset-top,0));padding:6px 14px}.my-flowers-nav-bar__container{display:flex;align-items:center;gap:8px;padding:8px;pointer-events:auto;height:48px;border-radius:296px}.my-flowers-nav-bar--telegram .my-flowers-nav-bar__container,.my-flowers-nav-bar[data-telegram=true] .my-flowers-nav-bar__container{height:48px;padding:6px}.my-flowers-nav-bar__tab{flex:1;height:36px;padding:0 16px;border:none;background:transparent;color:var(--app-text);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:296px;transition:all .2s ease;font-size:14px;font-weight:500;font-family:inherit;-webkit-tap-highlight-color:transparent}.my-flowers-nav-bar--telegram .my-flowers-nav-bar__tab,.my-flowers-nav-bar[data-telegram=true] .my-flowers-nav-bar__tab{height:36px;padding:0 12px;font-size:13px}.my-flowers-nav-bar__tab:hover{background:#ffffff1a}.my-flowers-nav-bar__tab:active{transform:scale(.98)}.my-flowers-nav-bar__tab--active{background:#fff3;font-weight:600;color:var(--app-text)}.my-flowers-nav-bar__tab-text{white-space:nowrap;position:relative;z-index:1}[data-theme-opposite=dark] .my-flowers-nav-bar__container{background:#0000004d;box-shadow:inset 0 0 0 1px #ffffff1a,0 8px 32px #0000004d}[data-theme-opposite=dark] .my-flowers-nav-bar__container:before{background:radial-gradient(circle 300px at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(255,255,255,.08) 0%,transparent 70%)}[data-theme-opposite=light] .my-flowers-nav-bar__container{background:#ffffff59;box-shadow:inset 0 0 0 1px #fff6,0 8px 32px #0003}[data-theme-opposite=light] .my-flowers-nav-bar__container:before{background:radial-gradient(circle 300px at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(255,255,255,.25) 0%,transparent 70%)}[data-theme-opposite=dark] .my-flowers-nav-bar__tab{color:#fff}[data-theme-opposite=light] .my-flowers-nav-bar__tab{color:#000}[data-theme-opposite=dark] .my-flowers-nav-bar__tab:hover{background:#ffffff26}[data-theme-opposite=light] .my-flowers-nav-bar__tab:hover{background:#0000001a}[data-theme-opposite=dark] .my-flowers-nav-bar__tab--active{background:#fff3}[data-theme-opposite=light] .my-flowers-nav-bar__tab--active{background:#00000026}.my-flowers-nav-bar--desktop{top:calc(150px + env(safe-area-inset-top,0));padding:0 24px}.my-flowers-nav-bar--desktop .my-flowers-nav-bar__container{justify-content:flex-end;margin-left:auto;margin-right:0;max-width:none;width:auto;height:50px}.my-flowers-nav-bar--desktop .my-flowers-nav-bar__tab{flex:0 0 auto;width:200px;min-width:200px;height:40px;font-size:15px;padding:0 20px}@media (min-width: 768px){.my-flowers-nav-bar:not(.my-flowers-nav-bar--desktop){top:calc(80px + env(safe-area-inset-top,0));padding:10px 24px}.my-flowers-nav-bar:not(.my-flowers-nav-bar--desktop) .my-flowers-nav-bar__container{height:56px;padding:8px;max-width:1400px;margin:0 auto}.my-flowers-nav-bar:not(.my-flowers-nav-bar--desktop) .my-flowers-nav-bar__tab{height:40px;padding:0 20px;font-size:15px}}.shops-list{min-height:100vh;background:var(--app-bg);padding:68px 12px 12px;padding-bottom:env(safe-area-inset-bottom,0)}.shops-list--telegram,.shops-list[data-telegram=true]{padding:60px 14px 0;padding-bottom:env(safe-area-inset-bottom,0)}.shops-list__info{padding:8px 4px;font-size:13px;color:var(--app-text-secondary)}.shops-list__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.shops-list--telegram .shops-list__grid,.shops-list[data-telegram=true] .shops-list__grid{grid-template-columns:1fr;gap:12px}@media (max-width: 360px){.shops-list__grid{grid-template-columns:1fr}}@media (min-width: 768px){.shops-list{padding:80px 24px 24px;max-width:1400px;margin:0 auto}.shops-list__grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.shops-list__info{margin-bottom:16px;font-size:14px}}@media (min-width: 1200px){.shops-list__grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}}@media (min-width: 1400px){.shops-list__grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}}.shops-list__load-more{width:100%;margin-top:16px;padding:14px;border:none;border-radius:12px;background:var(--app-bg-elevated);color:var(--app-accent);font-size:15px;font-weight:500;cursor:pointer;transition:opacity .15s ease;display:flex;justify-content:center;align-items:center;min-height:48px}.shops-list__load-more:active{opacity:.9}.shops-list__load-more:disabled{opacity:.7;cursor:not-allowed}.my-flowers-page{padding:72px 16px 16px;background:var(--app-bg);min-height:100vh}.my-flowers-page[data-telegram=true]{padding-top:60px}.my-flowers-page__content{width:100%}.my-flowers-page__catalog-link{display:block;width:100%;margin-top:16px;padding:14px 16px;font-size:16px;font-weight:600;color:var(--app-bg);background:var(--app-accent);border:none;border-radius:12px;cursor:pointer}.my-flowers-page__catalog-link:active{opacity:.9}.my-flowers-list{list-style:none;display:flex;flex-direction:column;gap:10px}.my-flowers-card{width:100%;text-align:left;padding:14px 16px;background:var(--app-bg-elevated);border:1px solid var(--app-border);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:4px}.my-flowers-card:active{opacity:.9}.my-flowers-card__name{font-size:16px;font-weight:600;color:var(--app-text)}.my-flowers-card__owner{font-size:13px;color:var(--app-text-secondary)}.order-card{width:100%;text-align:left;padding:14px 16px;background:var(--app-bg-elevated);border:1px solid var(--app-border);border-radius:12px;cursor:pointer;box-shadow:0 1px 3px #00000014}.order-card__id{font-size:15px;font-weight:600;color:var(--app-text)}.order-card__status{font-size:13px;color:var(--app-text-secondary)}.order-card__items{font-size:13px;color:var(--app-text);margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.order-card__footer{display:flex;justify-content:space-between;font-size:14px;font-weight:600;color:var(--app-text)}.order-card__date{font-weight:400;color:var(--app-text-secondary)}.my-flowers-page--desktop{padding-top:66px}@media (min-width: 768px){.my-flowers-page:not(.my-flowers-page--desktop){padding:80px 24px 24px;max-width:1400px;margin:0 auto}.my-flowers-page--desktop{padding:74px 24px 24px;max-width:1400px;margin:0 auto}}.shop-details{min-height:100vh;background:var(--app-bg);padding:16px;padding-bottom:calc(80px + env(safe-area-inset-bottom,0))}.shop-details__banner{width:100%;aspect-ratio:3 / 1;border-radius:12px;overflow:hidden;margin-bottom:20px}.shop-details__banner img{width:100%;height:100%;object-fit:cover;display:block}.shop-details__header{display:flex;align-items:center;gap:12px;padding:0;margin-bottom:20px}.shop-details__logo{flex-shrink:0;width:clamp(50px,8vw,100px);height:clamp(50px,8vw,100px);object-fit:contain;color:var(--app-text)}.shop-details__header-text{min-width:0;flex:1}.shop-details__name{margin:0;font-size:clamp(1rem,4vw,1.5rem);font-weight:700;color:var(--app-text);line-height:1.2;overflow:hidden;text-overflow:ellipsis}@media (min-width: 768px){.shop-details__logo{width:100px;height:100px}.shop-details__name{font-size:1.5rem}}.shop-details__actions{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.shop-details__favorite-btn{display:block;width:100%;text-align:center;padding:10px 16px;font-size:14px;font-weight:500;color:var(--app-accent);background:transparent;border:1px solid var(--app-border);border-radius:8px;cursor:pointer}.shop-details__favorite-btn:disabled{opacity:.7;cursor:not-allowed}.shop-details__favorite-btn:active:not(:disabled){opacity:.9}.shop-details__map-btn{display:block;width:100%;text-align:center;padding:10px 16px;font-size:14px;font-weight:500;color:var(--app-accent);background:transparent;border:1px solid var(--app-border);border-radius:8px;text-decoration:none}.shop-details__map-btn:active{opacity:.9}.shop-details__loyalty{padding:12px 0;margin-bottom:20px}.shop-details__loyalty-text{margin:0;font-size:14px;line-height:1.45;color:var(--app-text-secondary)}.shop-details__loyalty-text_linked{color:var(--app-text);font-weight:500}.shop-details__description{padding:0;margin:0 0 20px;font-size:14px;line-height:1.55;color:var(--app-text-secondary)}.shop-details__info{padding:0;margin-bottom:20px}.shop-details__info-item{display:flex;justify-content:space-between;align-items:flex-start;padding:6px 0}.shop-details__info-item:first-of-type{padding-top:0}.shop-details__info-label{font-size:13px;color:var(--app-text-secondary);flex-shrink:0}.shop-details__info-value{font-size:14px;color:var(--app-text);text-align:right;margin-left:12px}.shop-details__map-link{display:block;text-align:center;padding:10px;margin-top:8px;color:var(--app-accent);font-size:14px;font-weight:500;text-decoration:none;border-radius:8px;background:var(--app-accent-muted)}.shop-details__products{padding:0}.shop-details__product-tabs{display:flex;gap:0;margin-bottom:12px;border-bottom:1px solid var(--app-border)}.shop-details__product-tab{padding:8px 14px;font-size:14px;background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;color:var(--app-text-secondary);cursor:pointer}.shop-details__product-tab.active{color:var(--app-accent);border-bottom-color:var(--app-accent);font-weight:500}.shop-details__preorder-dates{display:flex;flex-direction:column;gap:6px;margin-top:6px}.shop-details__preorder-dates-label{font-size:12px;color:var(--app-text-secondary)}.shop-details__preorder-date-btn{padding:6px 10px;font-size:13px;background:var(--app-accent);color:var(--app-bg);border:none;border-radius:8px;cursor:pointer}.shop-details__preorder-date-btn:disabled{opacity:.7}.shop-details__preorder-date-cancel{padding:4px;font-size:12px;background:transparent;color:var(--app-text-secondary);border:none;cursor:pointer}.shop-details__products-title{margin:0 0 12px;font-size:16px;font-weight:600;color:var(--app-text)}.shop-details__products-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.shop-details__product-card{background:transparent;border-radius:12px;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;border:1px solid var(--app-border)}[data-theme=dark] .shop-details__product-card{border-color:var(--app-border)}.shop-details__product-card:active{opacity:.95}.shop-details__product-card-image-wrap{width:100%;aspect-ratio:1;background:var(--app-surface);display:flex;align-items:center;justify-content:center;position:relative}.shop-details__product-card-heart{position:absolute;top:8px;right:8px;z-index:10}.shop-details__product-card-image{width:100%;height:100%;object-fit:contain}.shop-details__product-card-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:40px;opacity:.4}.shop-details__product-card-info{padding:10px;display:flex;flex-direction:column;gap:6px;flex:1}.shop-details__product-card-name{font-size:13px;font-weight:500;color:var(--app-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3}.shop-details__product-card-price{font-size:15px;font-weight:700;color:var(--app-accent)}.shop-details__product-card-add{margin-top:auto;padding:8px 10px;font-size:12px;font-weight:600;color:var(--app-bg);background:var(--app-accent);border:none;border-radius:8px;cursor:pointer}.shop-details__product-card-add:disabled{opacity:.6;cursor:not-allowed;background:var(--app-text-secondary)}.cart-page{padding:16px 16px 24px;background:var(--app-bg)}.cart-page__title{font-size:22px;font-weight:700;margin-bottom:16px;color:var(--app-text)}.cart-group{background:var(--app-bg-elevated);border-radius:12px;padding:14px;margin-bottom:16px;border:1px solid var(--app-border)}.cart-group__shop{font-size:15px;font-weight:600;color:var(--app-text);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--app-border)}.cart-group__list{list-style:none;padding:0;margin:0}.cart-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--app-border)}.cart-item:last-child{border-bottom:none}.cart-item__image-wrap{flex-shrink:0;width:88px;height:88px;border-radius:8px;overflow:hidden;background:var(--app-surface)}.cart-item__image{width:100%;height:100%;object-fit:cover}.cart-item__image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--app-text-secondary)}.cart-item__image-placeholder-icon{font-size:24px}.cart-item__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.cart-item__price{font-size:17px;font-weight:700;color:var(--app-text)}.cart-item__name{font-size:14px;color:var(--app-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cart-item__preorder-tag{font-size:12px;color:var(--app-text-secondary);background:var(--app-surface);padding:2px 8px;border-radius:999px;align-self:flex-start}.cart-item__row{display:flex;align-items:center;gap:8px;margin-top:4px}.cart-item__remove{width:36px;height:36px;flex-shrink:0;border:none;border-radius:8px;background:var(--app-surface);color:var(--app-text);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px}.cart-item__remove:active{background:var(--app-accent-muted)}.cart-item__qty{display:flex;align-items:center;border-radius:8px;overflow:hidden;background:var(--app-surface);border:1px solid var(--app-border)}.cart-item__qty-btn{width:36px;height:36px;border:none;background:transparent;color:var(--app-text);font-size:18px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center}.cart-item__qty-btn:active{background:var(--app-accent-muted)}.cart-item__qty-num{min-width:36px;text-align:center;font-size:14px;font-weight:600;color:var(--app-text)}.cart-item__total{font-size:13px;font-weight:600;color:var(--app-text-secondary)}.cart-group__total{margin-top:12px;padding-top:8px;font-weight:600;color:var(--app-text);text-align:right}.cart-group__delivery-note{font-weight:500;color:var(--tg-theme-hint-color, #999);font-size:.95em}.cart-page__footer{position:sticky;bottom:0;left:0;right:0;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom));background:var(--app-bg-elevated);border-top:1px solid var(--app-border);margin:0 -16px}.cart-page__footer-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:12px}.cart-page__footer-title{font-size:18px;font-weight:700;color:var(--app-text);margin:0}.cart-page__footer-count{font-size:14px;color:var(--app-text-secondary);flex-shrink:0}.cart-page__summary{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.cart-page__summary-row{display:flex;justify-content:space-between;align-items:center;font-size:15px;color:var(--app-text)}.cart-page__summary-row--total{font-weight:700;font-size:16px;margin-top:4px}.cart-page__checkout-btn{width:100%;padding:14px 20px;font-size:16px;font-weight:600;color:var(--app-bg);background:var(--app-accent);border:none;border-radius:12px;cursor:pointer}.cart-page__checkout-btn:active{opacity:.9}.cart-page__footer-note{margin:10px 0 0;font-size:12px;color:var(--app-text-secondary);line-height:1.35}.cart-page__profile-link{display:block;width:100%;margin-top:16px;padding:14px 20px;font-size:16px;font-weight:600;color:var(--app-bg);background:var(--app-accent);border:none;border-radius:12px;cursor:pointer}.cart-page__profile-link:active{opacity:.9}.checkout-page{padding:16px 16px 32px}.checkout-page__title{font-size:22px;font-weight:700;margin-bottom:20px;color:var(--tg-theme-text-color)}.checkout-delivery-segment{margin-bottom:20px}.checkout-delivery-segment__label{display:block;font-size:16px;font-weight:600;color:var(--tg-theme-text-color);margin-bottom:10px}.checkout-delivery-segment__buttons{display:flex;gap:0;border-radius:12px;overflow:hidden;background:var(--tg-theme-secondary-bg-color, rgba(255, 255, 255, .1));padding:3px}.checkout-delivery-segment__btn{flex:1;padding:12px 16px;font-size:15px;font-weight:600;border:none;cursor:pointer;background:transparent;color:var(--tg-theme-hint-color, #999);border-radius:10px;transition:background .15s ease,color .15s ease}.checkout-delivery-segment__btn:active{opacity:.9}.checkout-delivery-segment__btn--active{background:var(--tg-theme-button-color, #3390ec);color:var(--tg-theme-button-text-color, #fff)}.checkout-pickup-map{margin-bottom:20px;display:flex;flex-direction:column;gap:10px}.checkout-pickup-map__btn{display:block;width:100%;padding:12px 16px;font-size:15px;font-weight:600;text-align:center;text-decoration:none;color:var(--tg-theme-link-color, var(--tg-theme-button-color));background:var(--tg-theme-secondary-bg-color, rgba(0, 0, 0, .05));border:1px solid var(--tg-theme-hint-color, rgba(0, 0, 0, .15));border-radius:10px;cursor:pointer}.checkout-pickup-map__btn:active{opacity:.9}.checkout-pickup-address{padding:10px 12px;font-size:14px;color:var(--tg-theme-text-color);background:var(--tg-theme-secondary-bg-color, rgba(0, 0, 0, .03));border-radius:8px;margin-bottom:8px}.checkout-summary{margin-bottom:24px;padding:16px;background:var(--tg-theme-secondary-bg-color, #f5f5f5);border-radius:12px;color:var(--tg-theme-text-color)}.checkout-summary__header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:12px}.checkout-summary__title{font-size:16px;font-weight:600;margin:0}.checkout-summary__count{font-size:13px;color:var(--tg-theme-hint-color, #666)}.checkout-summary__group{margin-bottom:12px}.checkout-summary__group:last-of-type{margin-bottom:0}.checkout-summary__shop{font-size:14px;font-weight:600;margin-bottom:6px}.checkout-summary__list{list-style:none;margin:0 0 6px;padding:0;font-size:13px}.checkout-summary__item{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--tg-theme-hint-color, rgba(0, 0, 0, .08))}.checkout-summary__item:last-child{border-bottom:none}.checkout-summary__item-image-wrap{flex-shrink:0;width:56px;height:56px;border-radius:8px;overflow:hidden;background:var(--tg-theme-secondary-bg-color, rgba(0, 0, 0, .05))}.checkout-summary__item-image{width:100%;height:100%;object-fit:cover}.checkout-summary__item-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--tg-theme-hint-color, #999)}.checkout-summary__item-image-placeholder-icon{font-size:20px}.checkout-summary__item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;justify-content:center}.checkout-summary__item-name{font-size:14px;color:var(--tg-theme-text-color);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.checkout-summary__item-meta{display:flex;justify-content:space-between;align-items:center;gap:8px}.checkout-summary__item-qty{font-size:13px;color:var(--tg-theme-hint-color, #666)}.checkout-summary__item-price{font-size:14px;font-weight:700;color:var(--tg-theme-text-color)}.checkout-summary__group-total{font-size:13px;font-weight:600;text-align:right;color:var(--tg-theme-hint-color, #666)}.checkout-summary__grand-total{margin-top:12px;padding-top:12px;border-top:1px solid var(--tg-theme-hint-color, rgba(0,0,0,.1));font-size:18px;font-weight:700;text-align:right}.checkout-form{display:flex;flex-direction:column;gap:16px}.checkout-form__label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:500;color:var(--tg-theme-text-color)}.checkout-form__input{padding:12px 14px;font-size:16px;border:1px solid var(--tg-theme-hint-color);border-radius:10px;background:var(--tg-theme-bg-color);color:var(--tg-theme-text-color)}.checkout-form__input::placeholder{color:var(--tg-theme-hint-color)}.checkout-form__textarea{resize:vertical;min-height:72px}.checkout-form__radio-group{display:flex;gap:16px;margin-top:4px}.checkout-form__radio{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:400}.checkout-form__radio input{width:20px;height:20px;accent-color:var(--tg-theme-button-color)}.checkout-form__submit{margin-top:12px;padding:14px 20px;font-size:16px;font-weight:600;color:var(--tg-theme-button-text-color);background:var(--tg-theme-button-color);border:none;border-radius:12px;cursor:pointer}.checkout-form__submit:disabled{opacity:.7;cursor:not-allowed}.checkout-form__link-btn{padding:6px 12px;font-size:14px;font-weight:500;color:var(--tg-theme-link-color, var(--tg-theme-button-color));background:none;border:none;border-radius:8px;cursor:pointer}.checkout-form__phone-row{margin-bottom:1rem}.checkout-form__phone-label{display:block;margin-bottom:6px;font-weight:600;color:var(--tg-theme-text-color)}.checkout-form__phone-block{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 14px;border-radius:10px;background:var(--tg-theme-secondary-bg-color, rgba(0, 0, 0, .05));border:1px solid var(--tg-theme-hint-color, rgba(0, 0, 0, .1))}.checkout-form__phone-value{font-size:15px;font-weight:500;color:var(--tg-theme-text-color)}.favorite-products-page{padding:16px;min-height:100vh}.favorite-products-page__title{margin:0 0 16px;font-size:20px;font-weight:700;color:var(--app-text)}.favorite-products-page__catalog-link{margin-top:16px;padding:12px 24px;font-size:15px;font-weight:600;color:var(--app-bg);background:var(--app-accent);border:none;border-radius:12px;cursor:pointer;width:100%;max-width:300px}.favorite-products-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.favorite-product-card{background:var(--app-bg-elevated);border-radius:12px;overflow:hidden;box-shadow:0 1px 4px #00000014;cursor:pointer;display:flex;flex-direction:column;border:1px solid var(--app-border);transition:transform .2s ease,box-shadow .2s ease}[data-theme=dark] .favorite-product-card{box-shadow:0 1px 4px #0000004d}.favorite-product-card:active{transform:scale(.98);opacity:.95}.favorite-product-card__image-wrap{width:100%;aspect-ratio:1;background:var(--app-surface);display:flex;align-items:center;justify-content:center;position:relative}.favorite-product-card__image{width:100%;height:100%;object-fit:contain}.favorite-product-card__image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:40px;opacity:.4}.favorite-product-card__info{padding:10px;display:flex;flex-direction:column;gap:4px}.favorite-product-card__shop{font-size:11px;color:var(--app-text-secondary);font-weight:500}.favorite-product-card__name{font-size:13px;font-weight:500;color:var(--app-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3}.favorite-product-card__price{font-size:15px;font-weight:700;color:var(--app-accent);margin-top:4px}.profile-page{padding:16px;background:var(--app-bg)}.profile-page__title{font-size:22px;font-weight:700;margin-bottom:16px;color:var(--app-text)}.profile-auth-block{margin-bottom:24px;padding:16px;background:var(--app-bg-elevated);border-radius:12px;border:1px solid var(--app-border)}.profile-auth-block__text{margin:0 0 16px;font-size:15px;color:var(--app-text-secondary);line-height:1.4}.profile-card{background:var(--app-bg-elevated);border-radius:12px;padding:16px;margin-bottom:20px;border:1px solid var(--app-border)}.profile-card__row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--app-border)}.profile-card__row:last-child{border-bottom:none}.profile-card__label{font-size:14px;color:var(--app-text-secondary)}.profile-card__value{font-size:15px;font-weight:500;color:var(--app-text)}.profile-nav{display:flex;flex-direction:column;gap:4px}.profile-nav__item{width:100%;display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--app-bg-elevated);border:1px solid var(--app-border);border-radius:12px;font-size:16px;color:var(--app-text);cursor:pointer;text-align:left}.profile-nav__item:active{opacity:.9}.profile-nav__icon{font-size:20px}.profile-nav__arrow{margin-left:auto;font-size:20px;color:var(--app-text-secondary)}.profile-data{margin-bottom:20px}.profile-data__heading{font-size:16px;font-weight:600;color:var(--app-text-secondary);margin-bottom:10px}.profile-data__card{background:var(--app-bg-elevated);border-radius:12px;padding:16px;margin-bottom:12px;border:1px solid var(--app-border)}.profile-data__row{display:flex;flex-direction:column;gap:6px;padding:10px 0;border-bottom:1px solid var(--app-border)}.profile-data__row:first-child{padding-top:0}.profile-data__row:last-child{border-bottom:none;padding-bottom:0}.profile-data__label{font-size:13px;color:var(--app-text-secondary)}.profile-data__value{font-size:15px;font-weight:500;color:var(--app-text)}.profile-data__value_readonly{font-variant-numeric:tabular-nums}.profile-data__input{width:100%;padding:10px 12px;font-size:16px;color:var(--app-text);background:var(--app-bg);border:1px solid var(--app-border);border-radius:8px;box-sizing:border-box}.profile-data__input::placeholder{color:var(--app-text-secondary);opacity:.7}.profile-data__error{font-size:13px;color:var(--app-error);margin:0 0 10px}.profile-data__save{width:100%;padding:14px 16px;font-size:16px;font-weight:600;color:var(--app-bg);background:var(--app-accent);border:none;border-radius:12px;cursor:pointer}.profile-data__save:disabled{opacity:.7;cursor:not-allowed}.profile-data__save:active:not(:disabled){opacity:.9}.orders-page{padding:16px 16px 80px}.orders-page__title{font-size:22px;font-weight:700;margin-bottom:16px;color:var(--tg-theme-text-color)}.orders-list{list-style:none;display:flex;flex-direction:column;gap:12px}.order-card{width:100%;text-align:left;padding:14px 16px;background:var(--tg-theme-bg-color);border:none;border-radius:12px;box-shadow:0 1px 3px #00000014;cursor:pointer}.order-card:active{opacity:.9}.order-card__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.order-card__id{font-size:15px;font-weight:600;color:var(--tg-theme-text-color)}.order-card__status{font-size:13px;color:var(--tg-theme-hint-color)}.order-card__items{font-size:13px;color:var(--tg-theme-text-color);margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.order-card__footer{display:flex;justify-content:space-between;font-size:14px;font-weight:600;color:var(--tg-theme-text-color)}.order-card__date{font-weight:400;color:var(--tg-theme-hint-color)}.order-detail-page{padding:16px 16px 80px}.order-detail-page__title{font-size:22px;font-weight:700;margin-bottom:16px;color:var(--tg-theme-text-color)}.order-detail-card{background:var(--tg-theme-bg-color);border-radius:12px;padding:16px;margin-bottom:20px;box-shadow:0 1px 3px #00000014}.order-detail__row{padding:10px 0;border-bottom:1px solid var(--tg-theme-secondary-bg-color)}.order-detail__row:last-child{border-bottom:none}.order-detail__label{display:block;font-size:12px;color:var(--tg-theme-hint-color);margin-bottom:4px}.order-detail__value{font-size:15px;color:var(--tg-theme-text-color)}.order-detail__items,.order-detail__address{white-space:pre-wrap;word-break:break-word}.order-detail__confirm-btn{width:100%;padding:14px 20px;font-size:16px;font-weight:600;color:var(--tg-theme-button-text-color);background:var(--tg-theme-button-color);border:none;border-radius:12px;cursor:pointer}.order-detail__confirm-btn:disabled{opacity:.7;cursor:not-allowed}.product-detail-page{min-height:100vh;background:var(--tg-theme-bg-color);padding-bottom:calc(24px + env(safe-area-inset-bottom))}.product-detail__image-wrap{width:100%;aspect-ratio:1;background:var(--tg-theme-secondary-bg-color);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.product-detail__heart{position:absolute;top:12px;right:12px;z-index:10}.product-detail__image-track{display:flex;width:100%;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.product-detail__image-track::-webkit-scrollbar{display:none}.product-detail__image-slide{flex:0 0 100%;width:100%;height:100%;scroll-snap-align:center;display:flex;align-items:center;justify-content:center}.product-detail__photo-dots{position:absolute;bottom:12px;left:0;right:0;display:flex;justify-content:center;gap:6px}.product-detail__photo-dot{width:8px;height:8px;border-radius:50%;border:none;padding:0;background:#ffffff80;cursor:pointer;transition:background .2s}.product-detail__photo-dot.active{background:var(--tg-theme-button-color, #3390ec)}.product-detail__image{width:100%;height:100%;object-fit:contain}.product-detail__image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--tg-theme-secondary-bg-color)}.product-detail__image-placeholder-icon{font-size:80px;opacity:.4}.product-detail__body{padding:20px 16px}.product-detail__shop{font-size:13px;color:var(--tg-theme-hint-color);margin-bottom:6px}.product-detail__name{font-size:22px;font-weight:700;color:var(--tg-theme-text-color);margin:0 0 12px;line-height:1.3}.product-detail__description{font-size:15px;color:var(--tg-theme-text-color);line-height:1.5;margin:0 0 12px}.product-detail__qty{font-size:14px;color:var(--tg-theme-hint-color);margin:0 0 16px}.product-detail__price{font-size:24px;font-weight:700;color:var(--tg-theme-button-color);margin-bottom:20px}.product-detail__add-btn{width:100%;padding:16px 20px;font-size:16px;font-weight:600;color:var(--tg-theme-button-text-color);background:var(--tg-theme-button-color);border:none;border-radius:12px;cursor:pointer}.product-detail__add-btn:disabled{opacity:.6;cursor:not-allowed;background:var(--tg-theme-hint-color)}.product-detail__preorder{margin-top:8px}.product-detail__preorder-dates{display:flex;flex-direction:column;gap:8px}.product-detail__preorder-label{font-size:14px;color:var(--tg-theme-hint-color)}.product-detail__preorder-date-btn{padding:12px 16px;font-size:15px;background:var(--tg-theme-button-color);color:var(--tg-theme-button-text-color);border:none;border-radius:12px;cursor:pointer}.product-detail__preorder-date-btn:disabled{opacity:.6}.product-detail__preorder-cancel{padding:8px;font-size:14px;background:transparent;color:var(--tg-theme-hint-color);border:none;cursor:pointer}:root,:root[data-theme=light]{--app-bg: #ffffff;--app-bg-elevated: #f5f5f5;--app-text: #000000;--app-text-secondary: #666666;--app-accent: #000000;--app-accent-dark: #000000;--app-accent-muted: rgba(0, 0, 0, .1);--app-border: rgba(0, 0, 0, .1);--app-surface: rgba(0, 0, 0, .05);--app-loader-track: #e0e0e0;--app-error: #d32f2f;--app-error-bg: rgba(211, 47, 47, .1)}:root[data-theme=dark]{--app-bg: #000000;--app-bg-elevated: #1a1a1a;--app-text: #ffffff;--app-text-secondary: #999999;--app-accent: #ffffff;--app-accent-dark: #ffffff;--app-accent-muted: rgba(255, 255, 255, .1);--app-border: rgba(255, 255, 255, .1);--app-surface: rgba(255, 255, 255, .05);--app-loader-track: #333333;--app-error: #ff5252;--app-error-bg: rgba(255, 82, 82, .15)}:root,:root[data-theme=light],:root[data-theme=dark]{--tg-theme-bg-color: var(--app-bg);--tg-theme-text-color: var(--app-text);--tg-theme-hint-color: var(--app-text-secondary);--tg-theme-link-color: var(--app-accent);--tg-theme-button-color: var(--app-accent);--tg-theme-button-text-color: var(--app-bg);--tg-theme-secondary-bg-color: var(--app-bg-elevated)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--app-bg);color:var(--app-text);line-height:1.5;min-height:100vh;overflow-x:hidden}body{overscroll-behavior-y:contain}html{scroll-behavior:smooth}::selection{background:var(--app-accent);color:var(--app-bg)}:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}::-webkit-scrollbar{width:0;height:0}button{font-family:inherit}a{color:var(--app-accent);text-decoration:none}img{max-width:100%;height:auto;display:block}input,select,textarea{font-family:inherit;font-size:inherit}@media (min-width: 768px){.main-layout{max-width:1400px;margin:0 auto;padding-left:24px;padding-right:24px;padding-bottom:0}.main-layout__content{padding-top:24px}body{font-size:16px}h1{font-size:2rem}h2{font-size:1.5rem}.shops-grid,.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;padding:20px 0}.shop-card,.product-card{max-width:none}.filters-container{display:flex;gap:24px}.filters-sidebar{width:280px;flex-shrink:0}.filters-content{flex:1;min-width:0}.page-container{padding:24px}.page-header{margin-bottom:32px}button,.button{padding:12px 24px;font-size:16px}input,select,textarea{padding:12px 16px;font-size:16px}}@media (min-width: 1200px){.main-layout{max-width:1600px;padding-left:32px;padding-right:32px}.shops-grid,.products-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}}@media (min-width: 1400px){.main-layout{max-width:1800px}.shops-grid,.products-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}}
