/* Shared mobile layout and interaction for KALYGA VAPE. */
@font-face{font-family:Manrope;src:url('vendor/manrope-cyrillic.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Manrope;src:url('vendor/manrope-latin.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap;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+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{color-scheme:dark;--kv-blue:#39a9ff;--kv-safe-bottom:0px;--kv-safe-top:0px}
*{box-sizing:border-box}html,body{overscroll-behavior-y:none}body{-webkit-font-smoothing:antialiased}
.kv-app{height:var(--kv-viewport,100dvh)!important;min-height:0!important;padding-top:var(--kv-safe-top);max-width:560px!important}
.kv-scroll{overscroll-behavior:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:12px!important;gap:14px!important;scroll-padding-top:12px}.kv-scroll::-webkit-scrollbar{display:none}
.kv-app button,.kv-app a{touch-action:manipulation;transition:transform .18s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease;min-height:44px}
.kv-app input,.kv-app select,.kv-app textarea{font-size:16px!important;min-height:48px;transition:border-color .2s,box-shadow .2s}.kv-app input:focus{border-color:#39a9ff!important;box-shadow:0 0 0 3px #39a9ff18}
.kv-app button:active,.kv-app a:active{transform:scale(.97)}.kv-app button:disabled{cursor:default;transform:none}
.kv-header{gap:9px!important;padding:10px!important;border-radius:18px!important}.kv-header>a{padding:0 10px!important}.kv-header .kv-brand{white-space:nowrap}
.kv-hero{padding:14px!important;gap:6px!important;border-radius:18px!important}.kv-hero h1{font-size:19px!important}.kv-hero p{font-size:13px!important;line-height:1.45!important}
.kv-category-wrap{position:relative;display:flex;align-items:center;gap:6px}.kv-categories{display:flex!important;gap:8px!important;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;padding:5px 2px 9px;flex:1;min-width:0}.kv-categories::-webkit-scrollbar{display:none}
.kv-category{flex:0 0 auto;white-space:nowrap;scroll-snap-align:center;min-height:44px!important;padding:0 16px!important;border-radius:24px!important;font-size:14px!important;letter-spacing:-.015em}.kv-category[aria-pressed=true]{box-shadow:0 5px 20px #0b6fe044!important}
.kv-category-arrow{width:34px;min-height:44px;border:1px solid #24496f!important;border-radius:14px;background:#102036;color:#cfe7ff;font-size:26px;font-weight:500;flex-shrink:0;padding:0}.kv-category-arrow:disabled{opacity:.3}
.kv-products{gap:10px!important;align-items:stretch}.kv-product-card{min-width:0;border-radius:22px!important;box-shadow:0 6px 20px #0002;isolation:isolate}.kv-product-media{background:radial-gradient(ellipse at 50% 40%,#194266 0%,#0c1c30 52%,#091422 100%)!important;aspect-ratio:1.12!important;overflow:hidden}.kv-product-media>svg{width:64px;height:64px;stroke:#5b96c4;filter:drop-shadow(0 8px 12px #0006);transition:transform .28s ease,filter .28s ease}.kv-product-content{padding:12px!important;gap:10px!important}.kv-product-title{font-size:14px!important;font-weight:800!important;line-height:1.4!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:39px}.kv-card-meta{flex-wrap:wrap!important;gap:5px!important}.kv-card-meta>span:last-child{font-size:12px!important;color:#91abc6!important;line-height:1.3;white-space:normal}.kv-card-meta>span:first-child{flex-wrap:wrap}.kv-open{width:100%;font-size:15px!important;border-radius:14px!important;min-height:46px!important;box-shadow:0 5px 14px #0b6fe029;transition:box-shadow .25s,filter .25s}.kv-cartbar{padding:12px 14px!important;padding-bottom:calc(12px + var(--kv-safe-bottom) + env(safe-area-inset-bottom,0px))!important;border-radius:22px 22px 0 0;border:1px solid #24496f!important;box-shadow:0 -10px 30px #0005;background:#0d1c2eeb!important;backdrop-filter:blur(16px)}.kv-cartbar>a{padding:0 14px!important;font-size:14px!important;border-radius:14px!important;flex-shrink:0}.kv-footer{display:none}
@media(hover:hover) and (pointer:fine){.kv-app a:hover,.kv-category:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0b6fe025}.kv-product-card:hover{transform:translateY(-4px);border-color:#39a9ff!important;box-shadow:0 12px 28px #0005,0 0 0 1px #39a9ff25}.kv-product-card:hover .kv-product-media>svg{transform:scale(1.08) rotate(-3deg);filter:drop-shadow(0 10px 14px #39a9ff25)}.kv-product-card:hover .kv-open{filter:brightness(1.08);box-shadow:0 7px 22px #0b6fe04d}}
@media(max-width:360px){.kv-scroll{padding:10px!important}.kv-header{gap:7px!important;flex-wrap:wrap}.kv-header .kv-brand{font-size:15px!important}.kv-header>a{font-size:12px!important;padding:0 8px!important}.kv-product-content{padding:10px!important}.kv-product-title{font-size:13px!important}.kv-cartbar{gap:8px!important;padding-left:10px!important;padding-right:10px!important}.kv-cartbar>a{font-size:12px!important;padding:0 10px!important}}
@media(prefers-reduced-motion:reduce){.kv-app *{transition:none!important;animation:none!important;scroll-behavior:auto!important}.kv-app button:active,.kv-app a:active,.kv-product-card:hover{transform:none!important}}

.kv-page-header{padding:14px 12px!important;background:#0a1728ee;box-shadow:0 6px 20px #0002;gap:10px!important}.kv-page-header h1{font-size:21px!important}.kv-page-header a{border-radius:14px!important}.kv-app h1,.kv-app h2{letter-spacing:-.035em!important}.kv-surface{background:linear-gradient(145deg,#10243b,#0c192a)!important;border-color:#233e5c!important;border-radius:20px!important;box-shadow:0 5px 18px #0002}.kv-choice,.kv-order-card{transition:border-color .22s,box-shadow .22s,transform .18s!important;box-shadow:0 4px 12px #0002}.kv-app textarea:focus,.kv-app select:focus{outline:2px solid #39a9ff;outline-offset:2px}.kv-cartbar>button{min-height:48px!important;border-radius:14px!important}.kv-app label{line-height:1.45}.kv-app label+input{margin-top:2px}.kv-app input[type=tel]{font-variant-numeric:tabular-nums}.kv-page-header span{overflow-wrap:anywhere}
@media(hover:hover) and (pointer:fine){.kv-choice:hover,.kv-order-card:hover{border-color:#39a9ff!important;box-shadow:0 8px 22px #0b6fe01c;transform:translateY(-2px)}}
@media(max-width:360px){.kv-app h1{font-size:21px!important}.kv-app .kv-surface{padding:12px!important}.kv-page-header{padding:12px 10px!important}.kv-choice{gap:8px!important}}

/* Categories keep the original six-button layout at every mobile width. */
.kv-categories{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px!important;overflow:visible;padding:0;flex:none;scroll-snap-type:none}
.kv-category{min-width:0;padding:0 4px!important;border-radius:12px!important;font-size:clamp(11px,3.2vw,14px)!important;white-space:nowrap}

.kv-open{box-shadow:0 0 16px #39a9ff30,0 5px 16px #0b6fe033!important}.kv-product-card:focus-visible .kv-open{box-shadow:0 0 0 2px #8fdcff,0 0 24px #39a9ff55!important}
.kv-cart-sheet{padding:0;border:1px solid #2a4969;border-bottom:0;border-radius:28px 28px 0 0;width:min(560px,100%);max-width:100%;height:var(--kv-sheet-height,min(84dvh,860px));max-height:calc(100dvh - 24px);margin:auto auto 0;position:fixed;inset:0;background:#091625;color:#eaf2fb;box-shadow:0 -12px 50px #0008;overflow:hidden;animation:kv-sheet-in .25s cubic-bezier(.2,.8,.2,1)}
.kv-cart-sheet::backdrop{background:#030a12a6;backdrop-filter:blur(7px)}.kv-cart-sheet iframe{border:0;width:100%;height:100%;display:block;background:#060e1b}.kv-sheet-page .kv-app{max-width:none!important;border-radius:26px 26px 0 0}.kv-sheet-page .kv-page-header{padding-top:20px!important}.kv-sheet-page .kv-page-header:before{content:'';width:36px;height:4px;position:absolute;left:calc(50% - 18px);top:7px;background:#49627c;border-radius:8px}
@keyframes kv-sheet-in{from{transform:translateY(35px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(hover:hover) and (pointer:fine){.kv-product-card:hover .kv-open{box-shadow:0 0 24px #39a9ff50,0 6px 20px #0b6fe044!important}}
@media(prefers-reduced-motion:reduce){.kv-cart-sheet{animation:none}}

.kv-cart-actions{flex-wrap:wrap}.kv-cart-actions>.kv-clear-cart{flex:0 0 100%;width:100%;background:#122238!important;border:1px solid #294561!important;box-shadow:none!important;color:#d3e1ef!important}.kv-cart-actions>.kv-clear-cart:hover{border-color:#39a9ff!important}

/* Compact cart and four checkout steps; keep comfortable touch targets. */
.kv-hero h1{font-size:clamp(22px,5.5vw,29px)!important;line-height:1.15!important;font-weight:800!important;letter-spacing:-.045em!important}.kv-hero{padding:18px 16px!important;gap:10px!important;background:radial-gradient(ellipse at 95% 0,#247bb52b,transparent 65%),linear-gradient(145deg,#10243e,#0c1829)!important}.kv-welcome-brand{color:#58bbff;background:linear-gradient(100deg,#9ee8ff,#39a9ff);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;white-space:nowrap}.kv-welcome-spark{font-size:.78em;vertical-align:middle}
.kv-cart-page .kv-scroll{gap:10px!important;min-height:0}.kv-cart-page .kv-scroll>div{flex-shrink:0}.kv-cart-page .kv-surface{padding:12px!important;border-radius:17px!important;flex-shrink:0}.kv-cart-page .kv-page-header{padding:10px 12px!important}.kv-sheet-page .kv-page-header{padding-top:18px!important}.kv-cart-page .kv-cartbar{gap:10px!important;padding:10px 12px!important;padding-bottom:calc(10px + var(--kv-safe-bottom) + env(safe-area-inset-bottom,0px))!important}.kv-cart-actions>div{flex:0 1 85px!important}.kv-cart-actions>.kv-cart-checkout{flex:1;min-width:0;min-height:58px!important;font-size:16px!important;font-weight:800!important;padding:0 10px!important;box-shadow:0 0 22px #39a9ff2b,0 7px 18px #0b6fe044!important}.kv-sheet-page .kv-app{height:100dvh!important;padding-top:0!important}
.kv-checkout .kv-scroll{gap:10px!important;min-height:0}.kv-checkout h1{font-size:21px!important;line-height:1.2}.kv-checkout .kv-page-header{padding:9px 12px!important}.kv-checkout .kv-surface{padding:12px!important;border-radius:16px!important;gap:7px!important}.kv-checkout .kv-choice{min-height:64px!important;padding:10px 12px!important;border-radius:15px!important}.kv-checkout input{min-height:48px!important;padding:0 12px!important;border-radius:13px!important}.kv-checkout textarea{padding:10px 12px!important;min-height:74px;line-height:1.4;border-radius:13px!important}.kv-checkout .kv-cartbar{padding-top:10px!important}.kv-checkout .kv-cartbar>button{min-height:50px!important}.kv-checkout .kv-scroll p{line-height:1.45!important}.kv-checkout .kv-scroll>div{flex-shrink:0}
@media(max-width:360px){.kv-hero h1{font-size:22px!important}.kv-cart-actions>.kv-cart-checkout{font-size:14px!important}.kv-checkout .kv-scroll{padding:10px!important}}

.kv-catalog-photo{position:absolute;z-index:1;inset:0;width:100%;height:100%;object-fit:contain;background:transparent;padding:7px}.kv-store-status{position:fixed;z-index:50;top:calc(8px + var(--kv-safe-top));left:50%;transform:translateX(-50%);width:calc(100% - 24px);max-width:536px;padding:12px;border:1px solid #335579;border-radius:15px;background:#102238f5;color:#eaf2fb;font:600 14px/1.4 system-ui;box-shadow:0 6px 24px #0006;display:flex;align-items:center;gap:10px}.kv-store-status[hidden]{display:none}.kv-store-status button{min-height:44px;padding:0 12px;border-radius:10px;background:#1c456f;color:white;border:1px solid #3976a7;font:inherit}.kv-store-loading .kv-app{pointer-events:none;opacity:.55}.kv-store-error{border-color:#986438}.kv-checkout button:disabled{opacity:.55}

/* Storefront inspired by the owner's blue / violet reference. */
.kv-storefront{background:radial-gradient(ellipse at 12% 2%,#176eb033 0,transparent 34%),radial-gradient(ellipse at 92% 38%,#5b2b9a25 0,transparent 32%),linear-gradient(135deg,#3b8ddb0b 1px,transparent 1px),linear-gradient(45deg,#6248c20a 1px,transparent 1px),#050c17!important;background-size:auto,auto,34px 34px,34px 34px,auto!important;background-attachment:fixed!important}
.kv-storefront .kv-scroll{gap:12px!important;padding:10px!important}
.kv-storefront .kv-header{background:linear-gradient(140deg,#0b192b,#071220)!important;border-color:#345580!important;box-shadow:inset 0 0 0 2px #10213b66,0 0 22px #3999ff0d;border-radius:20px!important;gap:10px!important;padding:10px!important;flex-wrap:nowrap}
.kv-storefront .kv-logo{background:radial-gradient(circle at 50% 42%,#153e68,#07182a 72%)!important;color:#8edcff!important;font-size:20px!important;border:1px solid #4d9ee6!important;box-shadow:inset 0 0 16px #42a5ff20,0 0 18px #4196ff38!important;border-radius:13px!important}.kv-storefront .kv-logo img{width:38px!important;height:38px!important;object-fit:contain!important;filter:drop-shadow(0 0 7px #6bd4ff99)}
.kv-storefront .kv-location{letter-spacing:.035em!important;font-size:10px!important;color:#9badd4!important;white-space:nowrap}
.kv-storefront .kv-brand{font-size:clamp(15px,3.8vw,20px)!important;letter-spacing:-.04em!important}.kv-storefront .kv-brand>span{color:#54bbff!important}
.kv-storefront .kv-header>a{gap:6px!important;background:linear-gradient(145deg,#11223a,#0b1525)!important;border-color:#314b71!important;box-shadow:inset 0 0 10px #4896f00b;padding:0 10px!important}
.kv-storefront .kv-header>a[aria-label="Админка магазина"]{font-size:12px!important;color:#8fe1e9!important}
.kv-storefront .kv-city-hero{min-height:204px;flex-shrink:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative;isolation:isolate;overflow:hidden;padding:18px!important;gap:10px!important;border:1px solid #597cd8;border-radius:23px!important;background:linear-gradient(90deg,#040e22e8 0%,#040e2270 51%,#03092305 100%),url('kalyga-city-hero-v4.jpg') right 54% / cover!important;box-shadow:inset 0 0 28px #4e8df221,0 5px 20px #143a851b}
.kv-city-pill{display:inline-flex;gap:5px;align-items:center;background:#122c5266;color:#83caff;border:1px solid #446f9d88;border-radius:20px;padding:4px 8px;font-size:10px;line-height:1.2;backdrop-filter:blur(6px)}
.kv-storefront .kv-city-hero h1{font-size:clamp(22px,5.5vw,30px)!important;line-height:1.12!important;max-width:78%;margin:0;text-wrap:pretty;letter-spacing:-.045em!important}
.kv-storefront .kv-city-hero p{font-size:clamp(11px,2.8vw,13px)!important;line-height:1.45!important;color:#c3d1e3;max-width:69%;margin:0}
.kv-storefront .kv-welcome-brand{background:linear-gradient(95deg,#5dd2ff,#599cff 90%);background-clip:text;-webkit-background-clip:text;letter-spacing:-.035em}
.kv-hero-line{position:absolute;height:1px;bottom:0;left:10%;right:10%;background:linear-gradient(90deg,transparent,#68ddff,transparent);box-shadow:0 0 12px 2px #41afff55}
.kv-storefront .kv-main-tabs{grid-template-columns:1.1fr 1fr!important;gap:8px!important}
.kv-main-tabs>*{min-height:54px!important;border-radius:17px!important;font-size:14px!important;gap:8px!important}
.kv-catalog-tab{display:flex;align-items:center;justify-content:center;background:linear-gradient(115deg,#67d9ef,#3a79fb)!important;color:#03111e;font-weight:800;box-shadow:0 5px 20px #286ae529,inset 0 1px #b9edff80}
.kv-tab-chevron{opacity:.7;margin-left:4px}.kv-main-tabs>a{background:linear-gradient(150deg,#102039,#0a1525)!important;border-color:#354c73!important}
.kv-storefront .kv-orders-link{border-bottom:1px solid #213a55;min-height:36px!important;font-size:12px!important;color:#9db9d9!important;order:0}
.kv-storefront .kv-search label{font-size:11px!important;letter-spacing:.07em!important}.kv-storefront .kv-search input{min-height:46px!important;border-radius:15px!important;background:#0c1829!important;border-color:#2f496e!important;font-size:14px!important}
.kv-storefront .kv-categories{gap:7px!important;grid-template-columns:repeat(3,minmax(0,1fr))}
.kv-storefront .kv-category{display:flex;align-items:center;justify-content:flex-start;gap:5px;min-height:58px!important;padding:7px!important;border-radius:16px!important;border:1px solid #314b74!important;background:linear-gradient(140deg,#122139,#0a1628)!important;color:#e1eaf5!important;box-shadow:inset 0 1px 0 #577ead1c;font-size:clamp(10.5px,2.6vw,12px)!important;text-align:left}
.kv-category-icon{width:30px;height:34px;flex-shrink:0;display:grid;place-items:center;border-radius:10px;color:var(--kv-icon-color,#7ecaff);background:var(--kv-icon-bg,#29447c44);box-shadow:inset 0 0 16px #0001}.kv-category-icon svg{width:20px;height:20px;filter:drop-shadow(0 0 5px currentColor)}
.kv-category-label{white-space:nowrap;letter-spacing:-.04em;min-width:0;flex:1}.kv-category-chevron{flex-shrink:0;color:#8baedc;opacity:.8}
.kv-storefront .kv-category[aria-pressed=true]{border-color:#70b7f7!important;background:linear-gradient(125deg,#173757,#13294f)!important;box-shadow:0 0 15px #4285e621,inset 0 0 0 1px #80c9ff19!important}
.kv-assortment-heading{margin-top:4px}.kv-assortment-heading>div{flex-direction:column-reverse!important;gap:4px!important}.kv-assortment-heading h2{font-size:22px!important}.kv-assortment-heading>div>span{font-size:11px!important;color:#8ca9c8!important;letter-spacing:0!important}
.kv-all-products{display:flex;align-items:center;gap:6px;background:transparent;color:#65b8f4;font-family:inherit;font-size:12px;font-weight:600;padding:0;white-space:nowrap}.kv-all-products>span{font-size:24px}
.kv-storefront .kv-products{gap:10px!important}.kv-storefront .kv-product-card{border-color:#354c73!important;background:linear-gradient(145deg,#101f35,#091523)!important;border-radius:20px!important;box-shadow:inset 0 0 0 1px #345c8e0d,0 7px 22px #0003}
.kv-storefront .kv-product-media{aspect-ratio:1.05!important;background:radial-gradient(circle at 50% 44%,#316aa754 0,transparent 46%),linear-gradient(135deg,#74c7ff0b 25%,transparent 25%) 0 0/22px 22px,linear-gradient(315deg,#8b6dff0a 25%,transparent 25%) 0 0/22px 22px,linear-gradient(150deg,#102944,#071522)!important;border-color:#31577d!important;box-shadow:inset 0 0 28px #4a9cff14!important}
.kv-storefront .kv-product-media[data-category="Жижи"],.kv-storefront .kv-product-media[data-category="Поды"]{background:radial-gradient(circle at 50% 44%,#316aa754 0,transparent 46%),linear-gradient(135deg,#74c7ff0b 25%,transparent 25%) 0 0/22px 22px,linear-gradient(315deg,#8b6dff0a 25%,transparent 25%) 0 0/22px 22px,linear-gradient(150deg,#102944,#071522)!important}
.kv-storefront .kv-product-placeholder{width:70px!important;height:70px!important;stroke:#a087e8!important;filter:drop-shadow(0 0 20px #667dfa55)!important}.kv-storefront .kv-product-media[data-category="Жижи"] .kv-product-placeholder{stroke:#70bcf0!important}.kv-storefront .kv-product-content{padding:10px!important;gap:8px!important}.kv-storefront .kv-product-title{font-size:13px!important;line-height:1.35!important;min-height:35px!important}.kv-storefront .kv-card-meta>span:first-child>span:first-child{font-size:18px!important}.kv-storefront .kv-card-meta>span:last-child{font-size:10px!important}.kv-storefront .kv-catalog-photo{object-fit:contain!important;background:transparent!important;padding:7px!important;transition:transform .3s ease;filter:drop-shadow(0 7px 10px #0006)}
.kv-storefront .kv-open{gap:9px!important;background:linear-gradient(110deg,#64d7f2,#3c7bfa)!important;box-shadow:0 4px 15px #497af929!important;min-height:42px!important;font-size:13px!important;border-radius:12px!important}
.kv-storefront .kv-storefront-cartbar{background:linear-gradient(115deg,#0c1b32ee,#132340ee)!important;border-color:#335078!important;padding:10px 12px!important;padding-bottom:calc(10px + var(--kv-safe-bottom) + env(safe-area-inset-bottom,0px))!important;gap:12px!important}
.kv-storefront-cartbar>div>span:first-child{font-size:11px!important}.kv-storefront-cartbar>div>span:last-child{font-size:23px!important}.kv-storefront-cartbar>a{gap:8px;min-height:50px!important;font-size:13px!important;padding:0 14px!important;border:1px solid #365688!important;background:linear-gradient(110deg,#64d7f2,#3c7bfa)!important;box-shadow:0 4px 16px #477afd25!important}.kv-storefront-cartbar>a[aria-disabled=true]{background:#16263b!important;color:#6a85ab!important;box-shadow:none!important}
@media(min-width:500px){.kv-storefront .kv-products{grid-template-columns:repeat(3,minmax(0,1fr))!important}.kv-storefront .kv-city-hero{min-height:224px}.kv-storefront .kv-city-hero h1{font-size:30px!important}.kv-storefront .kv-category{font-size:13px!important;min-height:64px!important}.kv-category-icon{width:36px;height:40px}.kv-category-icon svg{width:24px;height:24px}}
@media(max-width:420px){.kv-storefront .kv-header{gap:7px!important}.kv-storefront .kv-header>a{padding:0 8px!important}.kv-storefront .kv-header>a[aria-label="Админка магазина"]>span{display:none}.kv-storefront .kv-header>a[aria-label="Админка магазина"]{width:44px;padding:0!important}.kv-storefront .kv-category{gap:4px;padding:6px!important}.kv-category-icon{width:24px;height:30px}.kv-category-chevron{width:7px}.kv-storefront .kv-location{font-size:9px!important}}
@media(max-width:359px){.kv-storefront .kv-categories{grid-template-columns:repeat(2,minmax(0,1fr))}.kv-storefront .kv-category{font-size:12px!important}.kv-category-icon{width:30px}.kv-storefront .kv-city-hero{min-height:190px;padding:14px!important}.kv-storefront .kv-city-hero h1{font-size:22px!important;max-width:87%}.kv-main-tabs>*{font-size:12px!important;gap:5px!important}.kv-storefront .kv-header .kv-brand{font-size:14px!important}.kv-storefront-cartbar>a{padding:0 9px!important;font-size:12px!important}.kv-storefront-cartbar>div>span:last-child{font-size:20px!important}}
@media(hover:hover) and (pointer:fine){.kv-storefront .kv-category:hover{border-color:var(--kv-icon-color)!important;box-shadow:0 0 18px #5384fc18}.kv-storefront .kv-product-card:hover{border-color:#659cf5!important;box-shadow:0 8px 26px #1d327650}.kv-storefront .kv-product-card:hover .kv-catalog-photo{transform:scale(1.035)}.kv-storefront .kv-product-card:hover .kv-open{box-shadow:0 0 22px #4786fd45!important}.kv-catalog-tab:hover{filter:brightness(1.05)}}
.kv-storefront .kv-city-hero{min-height:176px}.kv-search-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.kv-storefront .kv-search-row .kv-orders-link{display:flex;align-items:center;gap:6px;border:0;min-height:24px!important;font-size:11px!important}.kv-storefront .kv-open[data-out=true]{background:#16263b!important;color:#7c94b2!important;box-shadow:none!important}.kv-storefront-cartbar>a[aria-disabled=true]{pointer-events:none;opacity:.75}
@media(min-width:500px){.kv-storefront .kv-city-hero{min-height:210px}}
@media(max-width:359px){.kv-storefront .kv-city-hero{min-height:166px}}

/* Main catalog: compact Telegram viewport layout, with 44px touch targets. */
.kv-storefront .kv-scroll{gap:8px!important;padding:8px!important}
.kv-storefront .kv-header{gap:8px!important;padding:7px!important;border-radius:16px!important}
.kv-storefront .kv-logo{width:40px!important;height:40px!important;flex-basis:40px!important;border-radius:11px!important;font-size:18px!important}
.kv-storefront .kv-location{font-size:9px!important}
.kv-storefront .kv-brand{font-size:clamp(15px,3.6vw,18px)!important}
.kv-storefront .kv-header>a{min-height:44px!important;height:44px!important}
.kv-storefront .kv-city-hero{box-sizing:border-box;min-height:164px!important;padding:13px 15px!important;gap:6px!important;border-radius:19px!important}
.kv-storefront .kv-city-hero h1{font-size:clamp(21px,5vw,26px)!important;line-height:1.1!important}
.kv-storefront .kv-city-hero p{font-size:11px!important;line-height:1.35!important}
.kv-storefront .kv-city-pill{font-size:9px;padding:3px 7px}
.kv-storefront .kv-main-tabs{gap:7px!important;margin-top:4px}
.kv-storefront .kv-main-tabs>*{min-height:46px!important;border-radius:14px!important;font-size:13px!important;gap:6px!important}
.kv-storefront .kv-main-tabs svg:not(.kv-tab-chevron){width:18px;height:18px}
.kv-storefront .kv-categories{gap:6px!important;margin-top:4px}
.kv-storefront .kv-category{min-height:48px!important;padding:5px!important;border-radius:13px!important;gap:4px!important;font-size:clamp(10.5px,2.45vw,12px)!important}
.kv-storefront .kv-category-icon{width:27px;height:29px;border-radius:8px}
.kv-storefront .kv-category-icon svg{width:18px;height:18px}
.kv-storefront .kv-category-chevron{width:8px;height:8px}
.kv-storefront .kv-assortment-heading{margin-top:1px;align-items:center!important}
.kv-storefront .kv-assortment-heading>div{gap:1px!important}
.kv-storefront .kv-assortment-heading h2{font-size:19px!important}
.kv-storefront .kv-assortment-heading>div>span{font-size:10px!important}
.kv-storefront .kv-products{gap:7px!important}
.kv-storefront .kv-product-card{border-radius:15px!important}
.kv-storefront .kv-product-media{aspect-ratio:1.32!important}
.kv-storefront .kv-product-placeholder{width:52px!important;height:52px!important}
.kv-storefront .kv-product-content{padding:8px!important;gap:5px!important}
.kv-storefront .kv-product-title{font-size:12px!important;min-height:32px!important}
.kv-storefront .kv-card-meta>span:first-child>span:first-child{font-size:15px!important}
.kv-storefront .kv-open{min-height:40px!important;font-size:12px!important;border-radius:10px!important}
.kv-storefront .kv-storefront-cartbar{padding:7px 10px!important;padding-bottom:calc(7px + var(--kv-safe-bottom) + env(safe-area-inset-bottom,0px))!important;border-radius:17px 17px 0 0;gap:8px!important}
.kv-storefront-cartbar>div>span:last-child{font-size:20px!important}
.kv-storefront-cartbar>a{min-height:46px!important;font-size:12px!important;padding:0 12px!important}
@media(max-width:420px){.kv-storefront .kv-category{padding:4px!important;gap:3px!important;font-size:10.5px!important}.kv-storefront .kv-category-icon{width:23px;height:27px}.kv-storefront .kv-category-icon svg{width:17px;height:17px}.kv-storefront .kv-city-hero{min-height:154px!important}.kv-storefront .kv-city-hero h1{max-width:82%}}
@media(max-width:359px){.kv-storefront .kv-city-hero{min-height:150px!important}.kv-storefront .kv-category{font-size:11px!important}.kv-storefront .kv-category-icon{width:25px}.kv-storefront .kv-brand{font-size:14px!important}}

/* Sharper, calmer category buttons without changing the compact grid. */
.kv-storefront .kv-category{position:relative;overflow:hidden;background:linear-gradient(145deg,#12223a 0%,#0c1a2d 72%,#0b1728 100%)!important;border-color:#355273!important;box-shadow:inset 0 1px 0 #a3d2ff16,0 3px 9px #0002!important;color:#edf4fc!important;font-weight:700!important;letter-spacing:-.02em!important;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.kv-storefront .kv-category-icon{width:30px;height:32px;border:1px solid color-mix(in srgb,var(--kv-icon-color) 35%,transparent);background:linear-gradient(145deg,var(--kv-icon-bg),#102036)!important;box-shadow:inset 0 1px 0 #ffffff20,0 2px 8px #0003,0 0 11px var(--kv-icon-bg);border-radius:9px}
.kv-storefront .kv-category-icon svg{width:19px;height:19px;stroke-width:1.9;filter:drop-shadow(0 0 4px currentColor)}
.kv-storefront .kv-category-label{font-size:12px;letter-spacing:-.025em}
.kv-storefront .kv-category-chevron{opacity:.55;margin-left:auto}
.kv-storefront .kv-category[aria-pressed=true]{border-color:var(--kv-icon-color)!important;background:linear-gradient(135deg,#19324e,#10233f)!important;box-shadow:inset 0 0 0 1px #ffffff12,0 0 16px var(--kv-icon-bg)!important}
@media(hover:hover) and (pointer:fine){.kv-storefront .kv-category:hover{transform:translateY(-2px);border-color:var(--kv-icon-color)!important;box-shadow:inset 0 1px 0 #ffffff22,0 6px 15px #0003!important}}
@media(max-width:420px){.kv-storefront .kv-category-icon{width:25px;height:29px}.kv-storefront .kv-category-icon svg{width:17px;height:17px}.kv-storefront .kv-category-label{font-size:11px}.kv-storefront .kv-category-chevron{display:none}}
@media(max-width:359px){.kv-storefront .kv-category-icon{width:28px}.kv-storefront .kv-category-label{font-size:11.5px}}

/* Unified category tray: one clean surface, six balanced touch targets. */
.kv-storefront .kv-categories{padding:4px!important;border:1px solid #2b4b70;border-radius:18px;background:linear-gradient(145deg,#091829,#0d1d33);box-shadow:inset 0 1px #9bc9ff12,0 8px 22px #0002;gap:5px!important}
.kv-storefront .kv-category{min-height:50px!important;border-color:#2b4668!important;border-radius:12px!important;background:linear-gradient(145deg,#11233b,#0d1c30)!important;box-shadow:inset 0 1px #a3d2ff13!important;padding:5px 7px!important;gap:7px!important}
.kv-storefront .kv-category-icon{width:33px;height:35px;border-radius:10px;flex:0 0 33px}
.kv-storefront .kv-category-icon svg{width:21px;height:21px}
.kv-storefront .kv-category-label{font-size:12px;font-weight:700;letter-spacing:-.03em}
.kv-storefront .kv-category-chevron{display:none}
.kv-storefront .kv-category[aria-pressed=true]{border-color:var(--kv-icon-color)!important;background:linear-gradient(130deg,#173554,#102542)!important;box-shadow:inset 0 0 0 1px #ffffff14,0 0 13px var(--kv-icon-bg)!important}
@media(max-width:420px){.kv-storefront .kv-category{padding:4px!important;gap:5px!important}.kv-storefront .kv-category-icon{width:25px;height:29px;flex-basis:25px}.kv-storefront .kv-category-icon svg{width:17px;height:17px}.kv-storefront .kv-category-label{font-size:11px}}
@media(max-width:359px){.kv-storefront .kv-category-icon{width:30px;flex-basis:30px}.kv-storefront .kv-category-label{font-size:11.5px}}

/* Inner customer screens use the same ink, gradients and surfaces as the catalog. */
.kv-app:not(.kv-storefront){background:
 radial-gradient(ellipse at 5% 2%,#2b91df63 0,transparent 39%),
 radial-gradient(ellipse at 96% 29%,#7044bf4f 0,transparent 40%),
 radial-gradient(ellipse at 50% 108%,#1675b64b 0,transparent 46%),
 repeating-linear-gradient(116deg,#8bd0ff18 0 1px,transparent 1px 24px),
 repeating-linear-gradient(42deg,#9c83ff12 0 1px,transparent 1px 34px),
 #050b14!important;background-attachment:fixed!important}
.kv-app:not(.kv-storefront) .kv-scroll{padding:10px!important;gap:10px!important}
.kv-app:not(.kv-storefront) .kv-page-header{background:linear-gradient(145deg,#0d1e33,#091625)!important;border-bottom:1px solid #294867!important;box-shadow:0 5px 16px #0003;padding:9px 10px!important}
.kv-app:not(.kv-storefront) .kv-page-header>a{background:linear-gradient(145deg,#142943,#0c1b30)!important;border-color:#35577b!important;color:#e7f3ff!important}
.kv-app:not(.kv-storefront) .kv-page-header span[style*="letter-spacing: 0.16em"]{color:#83caff!important;letter-spacing:.1em!important}
.kv-app:not(.kv-storefront) .kv-surface{background:linear-gradient(145deg,#11233b,#0a182a)!important;border-color:#305074!important;border-radius:17px!important;box-shadow:inset 0 1px #a3d2ff0d,0 5px 16px #0003}
.kv-app:not(.kv-storefront) .kv-choice,.kv-app:not(.kv-storefront) .kv-order-card{background:linear-gradient(145deg,#11223a,#0b192b)!important;border-radius:15px!important;box-shadow:inset 0 1px #a3d2ff0c,0 4px 12px #0002}
.kv-app:not(.kv-storefront) .kv-cartbar{background:linear-gradient(115deg,#0c1b32f2,#142341f2)!important;border-color:#35577b!important;box-shadow:0 -8px 26px #0005!important}
.kv-app:not(.kv-storefront) .kv-cartbar>a:last-child:not([aria-disabled=true]),.kv-app:not(.kv-storefront) .kv-cartbar>button:last-child:not(:disabled),.kv-cart-page .kv-cart-checkout{background:linear-gradient(110deg,#64d7f2,#3c7bfa)!important;border-color:#69b6f7!important;color:#041020!important;box-shadow:0 4px 17px #497af933!important}
.kv-app:not(.kv-storefront) input,.kv-app:not(.kv-storefront) textarea,.kv-app:not(.kv-storefront) select{background:#0c1b2d!important;border-color:#305074!important;border-radius:12px!important}
.kv-app:not(.kv-storefront) .kv-scroll h1,.kv-app:not(.kv-storefront) .kv-scroll h2{color:#edf5ff}
.kv-app:not(.kv-storefront) .kv-scroll p{color:#a7bed7}
.kv-app:not(.kv-storefront) .kv-surface .kv-catalog-photo{background:transparent!important}
.kv-product-portrait{background:radial-gradient(circle at 50% 44%,#316aa754 0,transparent 48%),linear-gradient(135deg,#74c7ff0b 25%,transparent 25%) 0 0/18px 18px,linear-gradient(315deg,#8b6dff0a 25%,transparent 25%) 0 0/18px 18px,linear-gradient(150deg,#102944,#071522)!important;border-color:#39688f!important;box-shadow:inset 0 0 22px #4a9cff16!important}
.kv-product-portrait>svg{stroke:#79bded!important;filter:drop-shadow(0 0 12px #3b91e76b)}
.kv-order-tabs button{min-height:44px!important;background:linear-gradient(145deg,#11233b,#0b1a2b)!important;border:1px solid #305074!important;border-radius:12px!important;color:#bdd1e8!important}
.kv-order-tabs button[aria-pressed=true]{background:linear-gradient(110deg,#64d7f2,#3c7bfa)!important;border-color:#69b6f7!important;color:#041020!important;box-shadow:0 4px 14px #497af933!important}
@media(hover:hover) and (pointer:fine){.kv-app:not(.kv-storefront) .kv-choice:hover,.kv-app:not(.kv-storefront) .kv-order-card:hover{border-color:#6eb7f6!important;box-shadow:0 6px 18px #224b8033!important}}

/* Product variants: compact rows with a horizontal, thumb-sized counter. */
.kv-app .kv-variant-choice{min-height:72px!important;padding:9px 11px!important;gap:8px!important;align-items:center!important}
.kv-variant-copy{gap:3px!important}.kv-variant-copy>span:first-child{font-size:13px!important;font-weight:800!important}.kv-variant-copy>span:last-child{font-size:11px!important;line-height:1.3}
.kv-variant-stepper{gap:4px!important}.kv-variant-stepper>span{min-width:18px;text-align:center;font-size:14px!important}.kv-variant-stepper>button{width:44px!important;height:44px!important;min-height:44px!important;border-radius:12px!important}
@media(max-width:359px){.kv-app .kv-variant-choice{padding:8px!important}.kv-variant-stepper{gap:2px!important}.kv-variant-stepper>span{min-width:16px}.kv-variant-copy>span:first-child{font-size:12px!important}}

/* Two-step checkout as a bottom sheet; contact fields remain in the review step. */
body:has(.kv-checkout){background:radial-gradient(ellipse at 48% 24%,#18315a44,transparent 50%),#030913}
.kv-app.kv-checkout{position:fixed;inset:auto auto 0 50%;transform:translateX(-50%);width:min(100%,560px)!important;height:auto!important;max-height:calc(100dvh - 12px);padding-top:0!important;border:1px solid #315477;border-bottom:0;border-radius:27px 27px 0 0;background:linear-gradient(160deg,#0d182b,#071120)!important;box-shadow:0 -16px 42px #0008,0 0 30px #214e9330!important}
.kv-app.kv-checkout .kv-page-header{flex:0 0 auto;padding:14px 14px 3px!important;border:0!important;background:transparent!important;box-shadow:none!important}
.kv-checkout-step{font-size:11px;font-weight:800;letter-spacing:.08em;color:#9db8d7}
.kv-app.kv-checkout .kv-scroll{flex:0 1 auto!important;min-height:0;padding:8px 14px 12px!important;gap:8px!important;overflow-y:auto}
.kv-checkout-stage{display:flex;flex-direction:column;gap:9px;min-width:0}.kv-checkout-stage h1{margin:0 0 4px;font-size:23px!important;line-height:1.15;letter-spacing:-.04em!important}
.kv-delivery-option{width:100%;min-height:68px!important;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #355477!important;border-radius:15px;background:linear-gradient(145deg,#12233b,#0b1a2c)!important;color:#eaf2fb;text-align:left;box-shadow:inset 0 1px #ffffff0b}
.kv-delivery-option[aria-pressed=true]{border-color:#67b9f7!important;background:linear-gradient(125deg,#183a5c,#11294b)!important;box-shadow:inset 0 0 0 1px #9ddaff1b,0 0 16px #318bf42b!important}
.kv-delivery-icon{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(125deg,#225881,#153151);color:#8cdaff;font-size:22px;line-height:1}
.kv-delivery-copy{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.kv-delivery-copy strong{font-size:15px;line-height:1.15}.kv-delivery-copy small{font-size:11px;line-height:1.3;color:#9bb3d0;overflow-wrap:anywhere}
.kv-delivery-check{opacity:0;color:#76d4ff;font-size:18px;font-weight:800}.kv-delivery-option[aria-pressed=true] .kv-delivery-check{opacity:1}
.kv-payment-modes{display:flex;flex-direction:column;gap:6px;margin-top:3px}.kv-payment-modes>span,.kv-checkout-field>span{font-size:10px;letter-spacing:.1em;font-weight:800;color:#91aecf}.kv-payment-modes>div{display:grid;grid-template-columns:1fr 1fr;gap:7px}.kv-payment-modes button{min-height:44px;padding:8px;border:1px solid #305074;border-radius:12px;background:#11223a;color:#bdd1e8;font-size:12px;font-weight:750}.kv-payment-modes button[aria-pressed=true]{background:linear-gradient(110deg,#64d7f2,#3c7bfa);border-color:#77caff;color:#041020}
.kv-app.kv-checkout .kv-checkout-hint{margin:2px 0 0;font-size:11px;color:#9db8d7}
.kv-review-stage{gap:8px}.kv-review-list,.kv-review-totals{display:flex;flex-direction:column;gap:7px;padding:11px!important}
.kv-review-list>div,.kv-review-totals>div{display:flex;justify-content:space-between;gap:10px;align-items:baseline;font-size:12px;line-height:1.35}.kv-review-list span,.kv-review-totals span{color:#9bb3d0;flex-shrink:0}.kv-review-list strong,.kv-review-totals strong{text-align:right;overflow-wrap:anywhere}
.kv-checkout-field{display:flex;flex-direction:column;gap:5px}.kv-app.kv-checkout .kv-checkout-field input{min-height:44px!important;padding:0 11px!important;font-size:15px!important}
.kv-pickup-note{border:1px solid #305074;background:#0d2035;border-radius:11px;padding:9px 11px;font-size:11px;line-height:1.35;color:#bdd5ec}
.kv-checkout-note{border:1px solid #305074;border-radius:11px;background:#0d1c30;padding:0 11px}.kv-checkout-note summary{min-height:40px;display:flex;align-items:center;color:#c3d5ea;font-size:12px;font-weight:700;cursor:pointer}.kv-checkout-note[open]{padding-bottom:10px}.kv-checkout-note textarea{width:100%;min-height:60px!important;padding:8px!important;font-size:14px!important}
.kv-review-payable{border-top:1px solid #305074;padding-top:7px;font-weight:800}.kv-review-payable strong{font-size:17px;color:#65bfff}
.kv-app.kv-checkout .kv-checkout-terms{margin:0;font-size:10px;line-height:1.35;color:#849ebb}
.kv-checkout-error{margin:0;padding:8px 10px;border:1px solid #a45e58;border-radius:10px;background:#341d25;color:#ffb5aa!important;font-size:12px;font-weight:700}
.kv-app.kv-checkout .kv-checkout-actions{flex:0 0 auto;padding:10px 14px!important;padding-bottom:calc(10px + var(--kv-safe-bottom) + env(safe-area-inset-bottom,0px))!important;border:0!important;border-top:1px solid #2c496d!important;border-radius:0!important;background:linear-gradient(110deg,#101e33,#142642)!important;box-shadow:none!important}
.kv-checkout-back,.kv-checkout-next{min-height:48px!important;border-radius:13px!important;font-size:14px;font-weight:800}.kv-checkout-back{padding:0 15px;background:#12263e;border:1px solid #365577;color:#c9deef}.kv-checkout-next{flex:1;padding:0 10px;background:linear-gradient(110deg,#64d7f2,#3c7bfa);color:#041020;box-shadow:0 5px 18px #3c7bfa30}.kv-checkout-next:disabled{opacity:.55}
@media(max-width:359px){.kv-app.kv-checkout .kv-scroll{padding:7px 10px 10px!important}.kv-app.kv-checkout .kv-page-header{padding:10px 10px 2px!important}.kv-app.kv-checkout .kv-checkout-actions{padding-left:10px!important;padding-right:10px!important}.kv-delivery-copy strong{font-size:14px}.kv-payment-modes button{font-size:11px}}
.kv-app:not(.kv-storefront) .kv-cartbar>a[data-empty=true]{background:#16283d!important;border:1px solid #34506f!important;color:#8da5bd!important;box-shadow:none!important}

/* Equal catalog cards: fixed image ratio, two title lines, actions at the bottom. */
.kv-storefront .kv-products{grid-auto-rows:1fr;align-items:stretch}
.kv-storefront .kv-product-media{flex:0 0 auto}
.kv-storefront .kv-product-content{flex:1 0 auto!important}
.kv-storefront .kv-product-title{flex:0 0 auto!important;height:2.7em;min-height:2.7em!important;max-height:2.7em;-webkit-line-clamp:2}
.kv-storefront .kv-product-card .kv-open{margin-top:auto}

/* Product rows keep their compact, original spacing. */

/* Telegram on phones can draw its bottom controls over the web viewport. */
@media(max-width:600px){.kv-app .kv-cartbar,.kv-app.kv-checkout .kv-checkout-actions{padding-bottom:calc(8px + max(34px,var(--kv-safe-bottom),env(safe-area-inset-bottom,0px)))!important}}

/* A cart opened directly uses the same compact bottom-sheet layout as the in-catalog cart. */
body:has(.kv-cart-page){background:radial-gradient(ellipse at 50% 23%,#15345b38,transparent 55%),#030913!important}
html:not(.kv-sheet-page) .kv-app.kv-cart-page{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,560px)!important;height:min(72dvh,720px)!important;min-height:0!important;max-height:calc(var(--kv-viewport,100dvh) - 12px);margin:0!important;border:1px solid #315477;border-bottom:0;border-radius:26px 26px 0 0;box-shadow:0 -16px 42px #0008,0 0 30px #214e9330!important}
@media(max-width:360px){html:not(.kv-sheet-page) .kv-app.kv-cart-page{height:min(82dvh,720px)!important}}
.kv-cart-page .kv-scroll{flex:1 1 auto!important;min-height:0}
.kv-cart-line-main{display:flex;align-items:flex-start;gap:10px;min-width:0}
.kv-cart-line-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:4px}
.kv-cart-line-name{font-size:14px;font-weight:800;line-height:1.35;overflow-wrap:anywhere}
.kv-cart-line-flavor{font-size:12px;color:#9ab3d1;font-weight:600;line-height:1.3}
.kv-cart-line-unit{font-size:11px;color:#718ead}
.kv-cart-line-price{font-size:18px;letter-spacing:-.02em;margin-top:3px}
.kv-cart-line-stepper{display:flex;flex:0 0 44px;flex-direction:column;align-items:center;gap:3px}
.kv-cart-line-stepper button{width:44px!important;height:44px!important;min-height:44px!important;border-radius:12px!important;background:#122238;border:1px solid #2b4a70;color:#d8e8f8;font-size:20px;font-weight:800;display:grid;place-items:center;padding:0}
.kv-cart-line-stepper button:first-child:not(:disabled){background:linear-gradient(160deg,#39a9ff,#0b6fe0)!important;border-color:#4caafa!important;color:#041020!important;box-shadow:0 4px 14px #0b6fe044!important}
.kv-cart-line-stepper button:last-child{margin-top:1px}
.kv-cart-line-stepper>span{font-size:15px;font-weight:800;line-height:1.5;min-height:22px}
.kv-cart-line .kv-line-remove{min-height:42px;width:100%;border:1px solid #294564;border-radius:11px;background:#122238;color:#9eb8d3;font-size:13px;font-weight:750}
.kv-cart-page .kv-cart-actions{border-radius:18px 18px 0 0!important}
.kv-checkout-note-open{padding:9px 11px 10px!important;display:flex;flex-direction:column;gap:7px}
.kv-checkout-note-open label{font-size:12px;font-weight:700;color:#c3d5ea}
.kv-checkout-note-open textarea{display:block;width:100%;min-height:60px!important;padding:8px!important;font-size:14px!important}

/* Product cards are informational; only their explicit action opens the detail page. */
.kv-storefront .kv-product-card{cursor:default}
.kv-storefront .kv-product-card .kv-open{min-height:44px!important;cursor:pointer}
.kv-storefront .kv-product-card .kv-open:focus-visible{outline:2px solid #9bdeff;outline-offset:-2px}

/* Touch feedback mirrors the desktop card highlight without opening the card. */
.kv-storefront .kv-product-card{touch-action:manipulation}
@media(hover:none){.kv-storefront .kv-product-card{transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.kv-storefront .kv-product-card:active,.kv-storefront .kv-product-card.kv-card-tapped{transform:scale(.985);border-color:#80baff!important;box-shadow:0 0 0 2px #61baff55,0 9px 24px #1d327650!important}.kv-storefront .kv-product-card.kv-card-tapped .kv-catalog-photo{transform:scale(1.035)}.kv-storefront .kv-product-card .kv-open:active{filter:brightness(1.08)}}

/* A cart with few lines hugs its content; larger carts grow and scroll inside the sheet. */
html:not(.kv-sheet-page) .kv-app.kv-cart-page{height:auto!important;max-height:calc(var(--kv-viewport,100dvh) - 12px)!important}
html:not(.kv-sheet-page) .kv-cart-page .kv-scroll{flex:0 1 auto!important;min-height:0}
.kv-checkout-terms span{display:block}
.kv-checkout-terms span+span{margin-top:3px}

/* Inset the purchase bar so rounded phone corners do not crop its edges. */
@media(max-width:600px){.kv-storefront .kv-storefront-cartbar,.kv-product-page .kv-cartbar,.kv-cart-page .kv-cart-actions{margin:0 7px 7px!important;border-radius:17px!important}}
@media(max-width:600px){.kv-cartbar{backdrop-filter:none;background:#102039f5!important}.kv-cart-sheet::backdrop{backdrop-filter:none}}
@media(prefers-reduced-motion:reduce){.kv-storefront .kv-product-card.kv-card-tapped{transform:none!important}.kv-storefront .kv-product-card.kv-card-tapped .kv-catalog-photo{transform:none}}

/* Keep the customer cart actions readable on narrow Telegram screens. */
.kv-storefront .kv-storefront-cartbar,.kv-product-page .kv-cartbar{display:grid!important;grid-template-columns:minmax(74px,1fr) minmax(0,1.5fr);align-items:center;gap:8px!important;padding:8px 10px!important;padding-bottom:calc(8px + max(var(--kv-safe-bottom),env(safe-area-inset-bottom,0px)))!important;border-radius:16px 16px 0 0!important}
.kv-storefront .kv-storefront-cartbar>div,.kv-product-page .kv-cartbar>div{min-width:0}
.kv-storefront .kv-storefront-cartbar>a,.kv-product-page .kv-cartbar>a{width:100%;min-width:0;min-height:44px!important;padding:0 8px!important;white-space:nowrap;text-align:center;font-size:clamp(11px,3.2vw,14px)!important;line-height:1.15}
.kv-storefront .kv-storefront-cartbar>div>span:last-child,.kv-product-page .kv-cartbar>div>span:last-child{font-size:clamp(17px,5vw,21px)!important;white-space:nowrap}
@media(max-width:340px){.kv-storefront .kv-storefront-cartbar,.kv-product-page .kv-cartbar{grid-template-columns:minmax(68px,1fr) minmax(0,1.45fr);gap:6px!important;padding-left:7px!important;padding-right:7px!important}.kv-storefront .kv-storefront-cartbar>a,.kv-product-page .kv-cartbar>a{font-size:11px!important;padding:0 5px!important}}

/* Keep the inset and Telegram bottom clearance after the compact bar rules above. */
@media(max-width:600px){.kv-storefront .kv-storefront-cartbar,.kv-product-page .kv-cartbar,.kv-cart-page .kv-cart-actions{margin:0 7px 7px!important;border-radius:17px!important;padding-bottom:calc(8px + max(34px,var(--kv-safe-bottom),env(safe-area-inset-bottom,0px)))!important}}

/* Keep headline text live and crisp over the new Владивосток artwork. */
.kv-storefront .kv-city-hero{background:linear-gradient(90deg,#040e22e8 0%,#040e22aa 44%,#0309230a 82%),url('kalyga-city-hero-v4.jpg') right 54% / cover!important}

/* A slightly shorter storefront action bar while preserving phone clearance. */
@media(max-width:600px){.kv-storefront .kv-storefront-cartbar{margin-bottom:6px!important;padding-top:6px!important;padding-bottom:calc(6px + max(26px,var(--kv-safe-bottom),env(safe-area-inset-bottom,0px)))!important}}

/* The safe-area clearance sits outside the compact storefront bar. */
@media(max-width:600px){.kv-storefront .kv-storefront-cartbar{margin-bottom:calc(2px + max(24px,var(--kv-safe-bottom),env(safe-area-inset-bottom,0px)))!important;padding-bottom:6px!important}}


/* Компактная строка корзины: копия и сумма сверху, действия одной линией снизу. */
.kv-cart-page .kv-cart-line{padding:10px 11px!important;gap:9px!important;border-radius:16px!important}
.kv-cart-page .kv-cart-line-main{align-items:flex-start;gap:9px}
.kv-cart-page .kv-cart-line-copy{gap:2px}
.kv-cart-page .kv-cart-line-name{font-size:13.5px;line-height:1.3}
.kv-cart-page .kv-cart-line-flavor{font-size:11px;line-height:1.25}
.kv-cart-page .kv-cart-line-unit{font-size:10.5px;line-height:1.3;color:#7d9ab8}
.kv-cart-page .kv-cart-line-price{flex:0 0 auto;margin:0;font-size:17px;font-weight:800;white-space:nowrap;color:#eaf2fb}
.kv-cart-line-foot{display:flex;align-items:center;justify-content:space-between;gap:9px}
.kv-cart-page .kv-cart-line .kv-line-remove{width:auto;height:44px;min-height:44px;display:inline-flex;align-items:center;gap:6px;padding:0 12px;border:1px solid #28415e;border-radius:13px;background:transparent;color:#89a3c0;font-size:12px;font-weight:700}
.kv-cart-page .kv-cart-line-stepper{flex:0 0 auto;height:44px;flex-direction:row!important;align-items:stretch;gap:0!important;padding:0;border:1px solid #2b4a70;border-radius:13px;background:#0b1a2b;overflow:hidden}
.kv-cart-page .kv-cart-line-stepper>span{order:0;display:grid;place-items:center;min-width:34px;height:100%;font-size:14px;line-height:1;min-height:0}
.kv-cart-page .kv-cart-line-stepper button{width:44px!important;height:100%!important;min-height:0!important;border:0!important;border-radius:0!important;background:#16293f!important;color:#d8e8f8!important;box-shadow:none!important;font-size:19px;margin:0!important}
.kv-cart-page .kv-cart-line-stepper button:last-child:not(:disabled){background:linear-gradient(160deg,#39a9ff,#0b6fe0)!important;color:#041020!important;box-shadow:0 3px 12px #0b6fe03d!important}
.kv-cart-page .kv-cart-line-stepper button:disabled{background:#122238!important;color:#40597a!important}
.kv-cart-page .kv-cart-line-stepper button:first-child:not(:disabled){background:#16293f!important;color:#d8e8f8!important;border-color:transparent!important;box-shadow:none!important}
@media(hover:hover) and (pointer:fine){.kv-cart-page .kv-cart-line .kv-line-remove:hover{border-color:#5f87ae;color:#c3d5ea}}
@media(max-width:359px){.kv-cart-page .kv-cart-line .kv-line-remove{padding:0 9px;font-size:11px}.kv-cart-page .kv-cart-line-stepper>span{min-width:22px}}

/* ---- Кнопки: одна высота, один радиус, один характер нажатия ---- */
/* Опора: 44px — минимальный палец, 13px — радиус мелких кнопок, 15px — крупных. */
.kv-app button,.kv-app .kv-open,.kv-app .kv-cart-checkout,.kv-app .kv-checkout-next,.kv-app .kv-checkout-back{font-family:inherit;letter-spacing:-.01em}

/* Нижние панели действий — компактные и одинаковые на всех экранах. */
.kv-storefront .kv-storefront-cartbar,.kv-product-page .kv-cartbar,.kv-cart-page .kv-cart-actions,.kv-app.kv-checkout .kv-checkout-actions{padding:8px 11px!important;gap:8px!important;padding-bottom:calc(8px + var(--kv-safe-bottom,0px))!important}
.kv-storefront .kv-storefront-cartbar>a,.kv-product-page .kv-cartbar>a,.kv-cart-page .kv-cart-checkout,.kv-checkout-next,.kv-checkout-back,.kv-cart-actions>.kv-clear-cart{height:46px!important;min-height:46px!important;padding:0 16px!important;border-radius:14px!important;font-size:13.5px!important;font-weight:800!important;line-height:1}
.kv-storefront .kv-storefront-cartbar>div>span:last-child,.kv-product-page .kv-cartbar>div>span:last-child,.kv-cart-page .kv-cart-actions>div>span:last-child{font-size:19px!important}
.kv-storefront .kv-storefront-cartbar>div>span:first-child,.kv-product-page .kv-cartbar>div>span:first-child,.kv-cart-page .kv-cart-actions>div>span:first-child{font-size:11px!important}
@media(max-width:340px){.kv-storefront .kv-storefront-cartbar>a,.kv-product-page .kv-cartbar>a,.kv-cart-page .kv-cart-checkout,.kv-checkout-next{font-size:12.5px!important;padding:0 11px!important}}

/* Второстепенные кнопки — один приглушённый стиль вместо трёх разных. */
.kv-cart-actions>.kv-clear-cart,.kv-checkout-back,.kv-cart-page .kv-cart-line .kv-line-remove,.kv-support-btn{background:linear-gradient(165deg,#102039,#0b1626)!important;border:1px solid #2b4a70!important;color:#c3d5ea!important;box-shadow:inset 0 1px 0 #ffffff0f!important}

/* Степпер количества: приглушённый минус, акцентный плюс, равный размер. */
.kv-cart-page .kv-cart-line-stepper{height:auto!important;gap:9px!important;padding:0!important;border:0!important;background:transparent!important;overflow:visible!important}
.kv-cart-page .kv-cart-line-stepper>span{min-width:18px!important;height:auto!important;font-size:15px!important;font-weight:800!important;color:#eaf2fb}
.kv-product-page .kv-variant-stepper{gap:9px!important}
.kv-cart-page .kv-cart-line-stepper button,.kv-product-page .kv-variant-stepper button{width:44px!important;height:44px!important;min-height:44px!important;border-radius:14px!important;font-size:20px!important;font-weight:700!important;display:grid!important;place-items:center!important;padding:0!important}
.kv-cart-page .kv-cart-line-stepper button:first-child,.kv-product-page .kv-variant-stepper button:first-child{background:linear-gradient(165deg,#102039,#0b1626)!important;border:1px solid #2b4a70!important;color:#8fa6c2!important;box-shadow:inset 0 1px 0 #ffffff0f!important}
.kv-cart-page .kv-cart-line-stepper button:disabled,.kv-product-page .kv-variant-stepper button:disabled{background:#101e32!important;border:1px solid #20364f!important;color:#3d556f!important;box-shadow:none!important;opacity:1!important}

/* Нажатие и фокус — одинаковые на всех кнопках. */
.kv-app button:active,.kv-app a:active{transform:translateY(1px) scale(.99)}
.kv-app button:focus-visible,.kv-app a:focus-visible{outline:2px solid #7cc6ff;outline-offset:2px}
@media(hover:hover) and (pointer:fine){
 .kv-cart-actions>.kv-clear-cart:hover,.kv-checkout-back:hover,.kv-cart-page .kv-cart-line .kv-line-remove:hover,.kv-support-btn:hover{border-color:#4f87bd!important;color:#e4eefa!important}
 .kv-app .kv-open:hover,.kv-cart-page .kv-cart-checkout:hover,.kv-checkout-next:hover,.kv-storefront .kv-storefront-cartbar>a:hover,.kv-product-page .kv-cartbar>a:hover{filter:brightness(1.05)}
}
/* Недоступное действие выглядит недоступным, а не просто бледным. */
.kv-storefront .kv-storefront-cartbar>a[aria-disabled=true],.kv-product-page .kv-cartbar>a[data-empty=true],.kv-open[data-out=true]{background:#101e32!important;border:1px solid #27405e!important;color:#6a85ab!important;box-shadow:none!important;filter:none!important}
.kv-product-page .kv-variant-stepper button:last-child:not(:disabled){background:linear-gradient(165deg,#5cc0ff,#1177e8)!important;border:1px solid #74c7ff!important;color:#03172c!important;box-shadow:inset 0 1px 0 #ffffff55,0 5px 16px #1177e847!important}
/* Корзина: панель действий — одна строка, как на остальных экранах. */
.kv-cart-page .kv-cart-actions{flex-wrap:nowrap!important;height:auto!important;width:auto!important}
.kv-cart-page .kv-cart-actions>.kv-clear-cart{flex:0 0 auto!important;width:auto!important;padding:0 13px!important;font-size:12.5px!important}
@media(max-width:359px){.kv-cart-page .kv-cart-actions>.kv-clear-cart{padding:0 10px!important;font-size:11.5px!important}}
/* Две главные вкладки — равной ширины. */
.kv-storefront .kv-main-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important}
/* «Итого» слева, «Очистить корзину» — после суммы. */
.kv-cart-page .kv-cart-actions>.kv-clear-cart{order:2}
.kv-cart-page .kv-cart-actions>div{order:1}
.kv-cart-page .kv-cart-actions>.kv-cart-checkout{order:3}
/* Обе кнопки панели — равной ширины. */
.kv-cart-page .kv-cart-actions>.kv-clear-cart,.kv-cart-page .kv-cart-actions>.kv-cart-checkout{flex:1 1 0!important;width:auto!important;min-width:0!important;padding:0 10px!important}
/* Оформление: панель и выбор оплаты — в том же наборе, что корзина. */
.kv-app.kv-checkout .kv-checkout-actions>.kv-checkout-back,.kv-app.kv-checkout .kv-checkout-actions>.kv-checkout-next{flex:1 1 0!important;width:auto!important;min-width:0!important;height:46px!important;min-height:46px!important;padding:0 10px!important;border-radius:14px!important;font-size:13.5px!important;font-weight:800!important}
.kv-app.kv-checkout .kv-pay-toggle>button,.kv-app.kv-checkout .kv-pay-option{height:46px!important;min-height:46px!important;border-radius:14px!important;font-size:13.5px!important;font-weight:800!important;padding:0 12px!important}
.kv-app.kv-checkout .kv-pay-toggle>button[aria-pressed=false],.kv-app.kv-checkout .kv-pay-option[aria-pressed=false]{background:linear-gradient(165deg,#102039,#0b1626)!important;border:1px solid #2b4a70!important;color:#c3d5ea!important;box-shadow:inset 0 1px 0 #ffffff0f!important}
/* Экран заказа: нижняя кнопка и «Написать продавцу» — в общем наборе. */
.kv-app .kv-cartbar>a,.kv-support-btn{height:46px!important;min-height:46px!important;border-radius:14px!important;font-size:13.5px!important;font-weight:800!important}
/* Главный экран: категории и «Открыть» — тот же радиус и кегль, что у остальных кнопок. */
.kv-storefront .kv-category{border-radius:14px!important;font-size:clamp(11px,2.6vw,13px)!important}
.kv-storefront .kv-open{height:44px!important;min-height:44px!important;border-radius:14px!important;font-size:13px!important;font-weight:800!important}
.kv-storefront .kv-category-icon{border-radius:10px!important}
.kv-storefront .kv-all-products{border-radius:10px!important;font-size:12.5px!important}
/* Шторка не подходит к верху экрана вплотную — остаётся воздух над ней. */
.kv-cart-sheet{max-height:calc(100dvh - 96px)!important}

/* Внутри шторки экран заполняет её целиком: без своей рамки, ручки и прокрутки страницы. */
html.kv-sheet-page,html.kv-sheet-page body{height:100%;overflow:hidden!important;background:#071120!important}
html.kv-sheet-page body:has(.kv-checkout),html.kv-sheet-page body:has(.kv-cart-page){background:#071120!important}
html.kv-sheet-page .kv-app,html.kv-sheet-page .kv-app.kv-checkout,html.kv-sheet-page .kv-app.kv-cart-page{position:static!important;inset:auto!important;transform:none!important;width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;margin:0!important;background:linear-gradient(160deg,#0d182b,#071120)!important}
html.kv-sheet-page .kv-app .kv-scroll{flex:1 1 auto!important;min-height:0;overflow-y:auto;overscroll-behavior:contain}
html.kv-sheet-page .kv-app .kv-page-header{position:relative;padding-top:20px!important}
html.kv-sheet-page .kv-app .kv-page-header:before{top:7px}

/* Calm, shared shop backdrop and one neutral product stage. */
.kv-storefront{position:relative;background:
 radial-gradient(ellipse at 12% 4%,#277fc62e 0,transparent 31%),
 radial-gradient(ellipse at 90% 27%,#5840a526 0,transparent 34%),
 radial-gradient(ellipse at 48% 106%,#154c7d28 0,transparent 38%),
 repeating-linear-gradient(115deg,#8fc9ff07 0 1px,transparent 1px 30px),
 #050b14!important}
.kv-storefront::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.7;background:
 radial-gradient(circle at 10% 18%,#7ec6ff25 0 1px,transparent 1.7px) 0 0/46px 46px,
 radial-gradient(circle at 83% 72%,#9b86ff20 0 1px,transparent 1.8px) 0 0/61px 61px;
 mask-image:linear-gradient(to bottom,rgba(0,0,0,.6),transparent 88%)}
.kv-storefront>.kv-scroll,.kv-storefront>.kv-cartbar,.kv-storefront>.kv-footer{position:relative;z-index:1}
.kv-storefront .kv-product-media{isolation:isolate;background:
 linear-gradient(180deg,#2e5b831c 0,transparent 34%),
 radial-gradient(ellipse at 50% 108%,#31597975 0,transparent 60%),
 linear-gradient(145deg,#0d1b2b,#07111d)!important;box-shadow:inset 0 1px #c8e6ff12,inset 0 -22px 34px #02071280!important}
.kv-storefront .kv-product-media::before{content:'';position:absolute;z-index:0;inset:9px;border:1px solid #7fbee821;border-radius:12px;background:linear-gradient(135deg,#8dd0ff08,transparent 42%,#917cff08);pointer-events:none}
.kv-storefront .kv-catalog-photo{z-index:1!important;padding:11px!important;background:#0b1624!important;filter:drop-shadow(0 9px 15px #0009)!important}

/* More visible midnight-blue atmosphere; product photography fills its showcase. */
.kv-storefront{background:
 radial-gradient(ellipse at 4% 6%,#2b91df63 0,transparent 39%),
 radial-gradient(ellipse at 97% 31%,#7044bf4f 0,transparent 40%),
 radial-gradient(ellipse at 50% 112%,#1675b64b 0,transparent 46%),
 repeating-linear-gradient(116deg,#8bd0ff18 0 1px,transparent 1px 24px),
 repeating-linear-gradient(42deg,#9c83ff12 0 1px,transparent 1px 34px),
 #050b14!important}
.kv-storefront::before{opacity:1;background:
 radial-gradient(circle at 12% 22%,#a8dcff53 0 1px,transparent 1.8px) 0 0/42px 42px,
 radial-gradient(circle at 86% 72%,#b0a1ff45 0 1px,transparent 1.8px) 0 0/57px 57px,
 linear-gradient(116deg,transparent 42%,#70b7ff12 43% 44%,transparent 45%)}
.kv-storefront .kv-product-media::before{display:none}
.kv-storefront .kv-catalog-photo{inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 46%!important;padding:0!important;background:transparent!important;filter:none!important}
