@font-face {
    font-family: 'Material Symbols Outlined';
    src: url('/assets/fonts/material-symbols-outlined.woff2') format('woff2');
    font-style: normal;
    font-weight: 300 700;
    font-display: block;
}

:root {
    --bg: #0b0908;
    --bg-card: #15120f;
    --bg-card-hover: #211811;
    --purple: #f39a19;
    --purple-light: #ffbf45;
    --gold: #f8a919;
    --gold-light: #ffd077;
    --text: #fbf7f2;
    --text-muted: #afa8a4;
    --border: #513719;
    --radius: 16px;
}

body.storefront-body { min-height: 100vh; min-height: 100dvh; background: radial-gradient(circle at 50% -10%, #25140a 0, #0b0908 520px) no-repeat #0b0908; color: var(--text); }
/* Telegram's theme variables live on html; the shop keeps its own palette on body. */
body.storefront-body { --bg: #0b0908; --bg-card: #15120f; --bg-card-hover: #211811; --purple: #f39a19; --purple-light: #ffbf45; --gold: #f8a919; --gold-light: #ffd077; --text: #fbf7f2; --text-muted: #afa8a4; --border: #513719; }
body.storefront-body :is(input, textarea, select):focus { outline: 2px solid #ffbd4b; outline-offset: 1px; box-shadow: 0 0 0 4px #f7a82a2e; }
body.storefront-body :is(button, a):focus-visible { outline: 2px solid #ffbd4b; outline-offset: 2px; }
.material-symbols-outlined { font-family: 'Material Symbols Outlined'; font-weight: normal; font-style: normal; font-size: 24px; letter-spacing: normal; text-transform: none; display: inline-block; white-space: nowrap; word-wrap: normal; direction: ltr; -webkit-font-feature-settings: 'liga'; font-feature-settings: 'liga'; -webkit-font-smoothing: antialiased; font-variation-settings: 'FILL' 0, 'wght' 350, 'GRAD' 0, 'opsz' 24; line-height: 1; vertical-align: middle; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
body.storefront-body .container { max-width: 1200px; }
body.storefront-body .site-header { z-index: 50; background: rgba(9, 8, 7, .96); border-bottom: 1px solid #2e241a; backdrop-filter: blur(18px); }
body.storefront-body .header-inner { min-height: 82px; gap: 18px; }
body.storefront-body .logo-art { width: 61px; height: 61px; border: 0; border-radius: 0; overflow: visible; background: none; box-shadow: none; }
body.storefront-body .logo-art img { object-fit: contain; mix-blend-mode: screen; filter: contrast(1.25) brightness(1.08); -webkit-mask-image: radial-gradient(circle, #000 58%, transparent 76%); mask-image: radial-gradient(circle, #000 58%, transparent 76%); }
body.storefront-body .logo-type { gap: 4px; }
body.storefront-body .logo-type strong { font-size: 29px; letter-spacing: -.055em; color: #ffd483; background: none; }
body.storefront-body .logo-type small { color: #aaa19d; font-size: 9px; font-weight: 600; letter-spacing: .28em; }
body.storefront-body .main-nav { margin-left: auto; }
body.storefront-body .main-nav a { color: #e4d8cc; }
body.storefront-body .cart-link, body.storefront-body .header-back, body.storefront-body .store-menu-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 48px; border: 1px solid #6c4621; border-radius: 16px; background: rgba(25,20,17,.74); color: #f5f0e9; }
body.storefront-body .cart-link { padding: 8px 13px; }
body.storefront-body .cart-link .material-symbols-outlined { font-size: 27px; }
body.storefront-body .cart-badge, .store-nav-count { display: grid; place-items: center; width: 22px; height: 22px; padding: 0; margin: 0; border-radius: 50%; background: #ffb72d; color: #160e08; font-size: 12px; font-weight: 800; }
body.storefront-body .store-menu-toggle { width: 48px; padding: 0; cursor: pointer; }
body.storefront-body .store-menu-toggle .material-symbols-outlined { font-size: 30px; }
body.storefront-body .header-back { width: 43px; }
.telegram-mini-app .telegram-admin-link { border-color: #a66a27; color: #ffd07a; }
.store-profile-panel[hidden], .store-menu:not([open]) { display: none !important; }
.store-menu-open { overflow: hidden; }
.store-menu[open] { --menu-bg: #0c0b0a; --menu-surface: #171410; --menu-active: #241b10; --menu-border: #4b3a28; --menu-gold: #ffc66b; --menu-muted: #b8ad9f; position: fixed; inset: 0; display: flex; flex-direction: column; width: min(480px, calc(100vw - 36px)); max-width: none; height: min(90dvh, 800px); max-height: none; margin: auto; padding: 0 20px; overflow: hidden; border: 1px solid #75522c; border-radius: 20px; background: var(--menu-bg); color: #fff7eb; box-shadow: 0 30px 90px #000d; }
.store-menu::backdrop { background: #050301de; backdrop-filter: blur(6px); }
.store-menu-topline { z-index: 2; display: flex; flex: none; align-items: center; justify-content: space-between; min-height: 64px; border-bottom: 1px solid var(--menu-border); background: var(--menu-bg); }
.store-menu-topline > span { color: var(--menu-gold); font-size: 11px; font-weight: 800; letter-spacing: .2em; }
.store-menu-topline i { margin-left: 6px; padding: 3px 5px; border: 1px solid #a77739; border-radius: 5px; font-style: normal; letter-spacing: 0; }
.store-menu-close { display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid var(--menu-border); border-radius: 11px; background: var(--menu-surface); color: #fff2dd; cursor: pointer; }
.store-menu-content { flex: 1; min-height: 0; padding-bottom: 16px; overflow-y: auto; overscroll-behavior: contain; scrollbar-color: #7d5028 transparent; scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
.store-menu-brand { display: flex; align-items: center; gap: 14px; padding: 22px 0 25px; }
.store-menu-brand img { width: 82px; height: 82px; flex: none; object-fit: contain; mix-blend-mode: screen; filter: contrast(1.25) brightness(1.08) drop-shadow(0 0 9px #f1851838); -webkit-mask-image: radial-gradient(circle, #000 58%, transparent 76%); mask-image: radial-gradient(circle, #000 58%, transparent 76%); }
.store-menu-brand h2 { margin: 0; font-size: 30px; line-height: 1.06; letter-spacing: -.05em; }
.store-menu-brand h2 em { color: var(--menu-gold); font-style: normal; }
.store-menu-brand p { margin: 7px 0 0; color: var(--menu-muted); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .2em; }
.store-menu-navigation { display: grid; gap: 9px; }
.store-menu-navigation a { display: grid; grid-template-columns: 30px 1fr 20px; align-items: center; gap: 13px; min-height: 66px; padding: 10px 14px; border: 1px solid var(--menu-border); border-radius: 13px; background: var(--menu-surface); }
.store-menu-navigation a.store-menu-primary { border-color: #dfa047; background: var(--menu-active); box-shadow: inset 3px 0 0 var(--menu-gold); }
.store-menu-navigation a > .material-symbols-outlined:first-child { color: var(--menu-gold); font-size: 26px; }
.store-menu-navigation a > .material-symbols-outlined:last-child { color: var(--menu-muted); font-size: 17px; }
.store-menu-navigation strong, .store-menu-navigation small { display: block; }
.store-menu-navigation strong { color: #fff9ef; font-size: 16px; }
.store-menu-navigation small { margin-top: 2px; color: var(--menu-muted); font-size: 11px; }
.store-menu-section-title { margin: 23px 0 11px; color: #c6ad8a; font-size: 10px; font-weight: 800; letter-spacing: .2em; }
.store-menu-categories { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.store-menu-categories a { display: flex; min-width: 0; min-height: 55px; align-items: center; justify-content: space-between; gap: 5px; padding: 10px 12px; border: 1px solid var(--menu-border); border-radius: 11px; background: #14120f; color: #f1e5d4; font-size: 12px; font-weight: 700; line-height: 1.2; overflow-wrap: anywhere; }
.store-menu-category-name { min-width: 0; }
.store-menu-categories .material-symbols-outlined { flex: none; color: var(--menu-gold); font-size: 16px; }
.store-menu-footer { flex: none; padding: 12px 0 16px; border-top: 1px solid var(--menu-border); background: var(--menu-bg); }
.store-menu-footer a { display: flex; align-items: center; gap: 9px; min-height: 49px; padding: 10px 13px; border: 1px solid #a87838; border-radius: 11px; background: var(--menu-surface); color: var(--menu-gold); font-size: 13px; font-weight: 750; }
.store-menu-footer a > span:nth-child(2) { flex: 1; }
.store-menu-footer .material-symbols-outlined { font-size: 19px; }
.store-menu-footer p { margin: 13px 0 0; color: var(--menu-muted); font-size: 11px; text-align: center; }
.store-menu a:hover, .store-menu a:focus-visible { border-color: var(--menu-gold); background-color: #252018; color: #ffe8c5; }
.storefront-main { padding-top: 18px; }
body.storefront-body .cart-row { border-color: #654221; background: #17120f; }
body.storefront-body .cart-row-image { background: #241a11; }
body.storefront-body .cart-row-qty { border-color: #765029; background: #0c0a08; }
body.storefront-body .cart-qty-button { color: #ffcb74; }
body.storefront-body .cart-qty-button:disabled { color: #9e9082; }
body.storefront-body .cart-qty-button:not(:disabled):hover { background: #35200f; }
body.storefront-body .cart-qty-value { color: #fff7ed; }
body.storefront-body .cart-row-remove { display: grid; width: 40px; height: 40px; place-items: center; }
body.storefront-body .cart-summary .btn-primary { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; border: 1px solid #ffd05a; border-radius: 12px; background: linear-gradient(180deg, #ffbf47, #ee8f11); box-shadow: 0 6px 25px #d47a174b; color: #201107; font-weight: 800; }
body.storefront-body .cart-summary .btn-primary:hover { filter: brightness(1.08); }

.store-trust-strip { display: grid; grid-template-columns: 1fr .78fr 1fr; align-items: center; gap: 12px; min-height: 55px; padding: 8px 17px; border: 1px solid #704919; border-radius: 15px; background: rgba(22,18,15,.8); }
.store-trust-strip > * { min-width: 0; }
.store-trust-strip > * + * { border-left: 1px solid #806b59; }
.store-trust-age { display: flex; align-items: center; gap: 10px; white-space: nowrap; }
.store-trust-age strong { display: grid; place-items: center; width: 34px; height: 34px; border: 2px solid #f4eee8; border-radius: 50%; font-size: 13px; }
.store-trust-age span, .store-trust-news { color: #ded7d0; font-size: 13px; line-height: 1.2; }
.store-trust-inpost { display: flex; align-items: center; justify-content: center; gap: 5px; text-align: center; color: #f5efe7; font-size: 17px; }
.store-trust-inpost .material-symbols-outlined { color: #ffb92e; font-size: 17px; }
.store-trust-news { padding-left: 13px; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.store-trust-news:hover { color: #ffca71; }
body.storefront-body .catalog-layout { display: block; padding: 28px 0 72px; }
.catalog-heading h1 { margin: 0; font-size: clamp(46px, 7vw, 70px); line-height: 1; letter-spacing: -.065em; }
.catalog-heading p { margin: 7px 0 21px; color: #b0aaa6; font-size: clamp(18px, 3vw, 27px); }
body.storefront-body .catalog-filters { margin-bottom: 14px; }
body.storefront-body .category-list { display: flex; gap: 9px; overflow-x: auto; padding: 4px 2px 9px; scrollbar-width: none; }
body.storefront-body .category-list::-webkit-scrollbar { display: none; }
body.storefront-body .category-list li { flex: 0 0 auto; margin: 0; }
body.storefront-body .category-list a { display: grid; place-items: center; min-width: 105px; min-height: 42px; padding: 8px 16px; border: 1px solid #70471b; border-radius: 100px; background: #100e0d; color: #f5eee8; text-align: center; font-weight: 600; }
body.storefront-body .category-list li.active a, body.storefront-body .category-list a:hover { border-color: #ffbd42; background: #3f240d; color: #ffd377; box-shadow: inset 0 0 13px #ff980d55, 0 0 14px #e88d0e55; }
body.storefront-body .home-hero { display: block; min-height: 0; height: clamp(150px, 22vw, 240px); margin: 1px 0 17px; border: 1px solid #b26a20; border-radius: 18px; background: #0a0706; box-shadow: none; }
body.storefront-body .home-hero-copy { position: relative; z-index: 2; justify-content: center; width: 60%; height: 100%; padding: clamp(15px, 3vw, 36px); pointer-events: none; }
body.storefront-body .home-hero-eyebrow { display: none; }
body.storefront-body .home-hero h1 { margin: 0; font-size: clamp(24px, 3.6vw, 43px); line-height: 1.06; letter-spacing: -.05em; }
.home-hero-accent { color: #ffc45e; }
.home-hero-signline { display: block; margin-top: 10px; color: #e8cbaa; font-size: 10px; font-weight: 700; letter-spacing: .22em; }
.home-hero-signline i { color: #ffb643; font-style: normal; }
body.storefront-body .home-hero-copy p { margin-top: 6px; max-width: 360px; color: #dec6a8; font-size: 12px; line-height: 1.35; }
body.storefront-body .home-hero-actions { margin-top: 10px; pointer-events: auto; }
body.storefront-body .home-hero-actions .btn { min-height: 33px; padding: 5px 12px; font-size: 11px; }
body.storefront-body .home-hero-secondary { display: none; }
body.storefront-body .home-hero-visual { position: absolute; inset: 0; min-height: 0; background: #0a0706; }
body.storefront-body .home-hero-photo { object-fit: cover; object-position: center; }
body.storefront-body .home-hero-visual::before { display: none; }
body.storefront-body .home-hero-visual.has-image::after { background: linear-gradient(90deg, rgba(5,4,4,.56), transparent 54%); }

body.storefront-body .product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: stretch; gap: 16px; }
body.storefront-body .product-card { position: relative; min-width: 0; display: flex; flex-direction: column; border: 1px solid #85551f; border-radius: 17px; background: #17120e; color: #faf5ec; overflow: hidden; }
body.storefront-body .product-card:hover { transform: translateY(-3px); background: #20160f; border-color: #ee9f30; }
.product-card-main { display: block; }
body.storefront-body .product-image { display: grid; width: 100%; aspect-ratio: 1 / 1; place-items: center; overflow: hidden; background: #21160f; }
body.storefront-body .product-image img { display: block; width: 100%; height: 100%; }
body.storefront-body .product-image .product-image-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: blur(14px) brightness(.56) saturate(.9); transform: scale(1.12); }
body.storefront-body .product-image .product-image-photo { position: relative; width: 100%; height: 100%; object-fit: contain; }
.product-image-category { position: absolute; top: 10px; left: 10px; max-width: calc(100% - 20px); padding: 5px 9px; border: 1px solid #c6b9ae66; border-radius: 100px; background: #140f0dcb; color: #fff9ed; font-size: 10px; font-weight: 700; text-transform: uppercase; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.product-image:has(.badge) .product-image-category { max-width: calc(100% - 78px); }
body.storefront-body .product-info { display: flex; flex: 1; flex-direction: column; gap: 8px; padding: 13px; }
body.storefront-body .product-name { display: -webkit-box; min-height: 2.5em; margin: 0; overflow: hidden; color: #fff8ef; font-size: 16px; font-weight: 750; line-height: 1.25; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
body.storefront-body .product-price { color: #ffcb68; font-size: 17px; font-weight: 800; }
body.storefront-body .old-price { color: #908b87; font-size: 12px; font-weight: 400; }
.product-card-variants { min-width: 0; margin: 3px 0 2px; padding-top: 10px; border-top: 1px solid #49321d; }
.product-card-variants-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 6px; margin-bottom: 8px; font-size: 11px; }
.product-card-variants-heading > span { flex: none; color: #c4a77c; font-weight: 750; text-transform: uppercase; letter-spacing: .06em; }
.product-card-selection { min-width: 0; overflow: hidden; color: #f1e4d2; font-size: 11px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.product-card-variant-list { display: flex; min-height: 31px; align-items: center; flex-wrap: wrap; gap: 6px; min-width: 0; }
.product-card-variant { display: inline-flex; flex: none; align-items: center; justify-content: center; height: 31px; min-width: 31px; padding: 2px; border: 1px solid #68513a; border-radius: 9px; background: #241b14; color: #f3ece3; font: inherit; cursor: pointer; }
.product-card-variant:hover, .product-card-variant[aria-pressed="true"] { border-color: #ffc45e; box-shadow: 0 0 0 1px #ffc45e; }
.product-card-variant:disabled { opacity: .4; cursor: not-allowed; }
.product-card-color { display: block; width: 23px; height: 23px; border: 1px solid #ffffff55; border-radius: 7px; background: radial-gradient(circle at 30% 22%, #fff7, transparent 44%), var(--variant-color); }
.product-card-variants.is-flavor .product-card-variant-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
.product-card-variants.is-flavor .product-card-variant { justify-content: flex-start; width: 100%; height: auto; min-height: 37px; min-width: 0; gap: 6px; padding: 5px 7px; text-align: left; }
.product-card-flavor-name { display: -webkit-box; min-width: 0; overflow: hidden; font-size: 11px; font-weight: 650; line-height: 1.15; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.flavor-orb { display: block; flex: none; width: 24px; height: 24px; border: 1px solid #ffffff85; border-radius: 50%; background: radial-gradient(circle at 30% 23%, #ffffffc7 0 8%, #ffffff50 18%, transparent 45%), linear-gradient(140deg, var(--flavor-primary), var(--flavor-secondary)); box-shadow: inset -3px -4px 5px #0003, 0 2px 7px #0006; }
.product-card-variants.is-flavor .product-card-more { min-height: 37px; height: auto; }
.product-card-more { display: inline-grid; flex: none; min-width: 28px; height: 29px; place-items: center; padding: 0 3px; border: 1px solid #6b4b2b; border-radius: 8px; color: #ffcb7a; font-size: 10px; font-weight: 800; }
.product-card-more:hover { border-color: #ffbf55; background: #3b2715; }
.product-card-action { display: flex; align-items: center; justify-content: center; gap: 5px; width: 100%; min-height: 38px; margin-top: auto; padding: 7px 5px; border: 1px solid #ed9c25; border-radius: 10px; background: #120e0a; color: #ffd077; font: inherit; font-size: 12px; font-weight: 750; cursor: pointer; text-align: center; }
.product-card-action:hover { background: #432306; }
.product-card-action .material-symbols-outlined { font-size: 17px; }
.product-card-action.is-disabled { opacity: .55; cursor: default; }
body.storefront-body .badge { z-index: 1; top: 10px; right: 10px; bottom: auto; left: auto; font-size: 10px; }

body.storefront-body .breadcrumbs { margin: 7px 0 15px; color: #b6afaa; }
body.storefront-body .product-detail { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; padding-bottom: 42px; }
.product-detail-info, .variant-choices { min-width: 0; }
.product-gallery { position: relative; display: grid; place-items: center; min-width: 0; aspect-ratio: 1.48; overflow: hidden; border: 1px solid #8a531b; border-radius: 17px; background: #130f0d; }
.product-gallery-image { display: block; width: 100%; height: 100%; object-fit: contain; }
.gallery-arrow { position: absolute; z-index: 2; top: 50%; display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid #ffba4c; border-radius: 50%; background: #110d0bc9; color: white; cursor: pointer; transform: translateY(-50%); }
.gallery-prev { left: 13px; } .gallery-next { right: 13px; }
.gallery-arrow .material-symbols-outlined { font-size: 30px; }
.product-gallery-dots { position: absolute; z-index: 2; bottom: 9px; left: 50%; display: flex; gap: 8px; transform: translateX(-50%); }
.product-gallery-dot { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 50%; background: #b4aaa0; cursor: pointer; }
.product-gallery-dot[aria-current="true"] { background: #ffb522; box-shadow: 0 0 7px #ff9b1c; }
.product-brand { position: absolute; right: 10px; bottom: 10px; padding: 6px 10px; border: 1px solid #8d6843; border-radius: 9px; background: #0b0808bc; color: #fff; font-size: 11px; font-weight: 800; }
.product-gallery:has(.product-gallery-dots) .product-brand { bottom: 30px; }
body.storefront-body .product-detail-info h1 { margin: 0; font-size: clamp(32px, 4.5vw, 52px); letter-spacing: -.055em; line-height: 1.1; }
.product-availability { display: flex; align-items: center; gap: 7px; margin: 5px 0 0; color: #d7847a; font-size: 14px; }
.product-availability span { width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.product-availability.is-available { color: #65d950; }
body.storefront-body .product-price.large { margin: 4px 0 1px; color: #ffc65f; font-size: clamp(28px, 3.4vw, 39px); line-height: 1.2; }
.product-subtitle { margin: 0 0 12px; color: #aca5a1; font-size: 14px; }
body.storefront-body .add-to-cart-form { display: flex; align-items: stretch; flex-direction: column; flex-wrap: nowrap; min-width: 0; gap: 10px; margin: 9px 0 15px; }
.variant-choices { padding: 12px; border: 1px solid #79501e; border-radius: 13px; background: #14110f; }
.variant-choices-head { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.variant-choices-head strong { color: white; font-size: 14px; }
.variant-choices-head span { color: #b6aaa0; font-size: 13px; }
.variant-choices-list { display: flex; gap: 8px; overflow-x: auto; padding: 3px 2px 6px; scrollbar-width: thin; }
.variant-choice { display: flex; flex: 1 0 85px; min-height: 83px; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 7px; border: 1px solid #615349; border-radius: 12px; background: #1c1815; color: #efe9e2; cursor: pointer; font: inherit; font-size: 10px; text-align: center; }
.variant-choice:hover, .variant-choice[aria-pressed="true"] { border-color: #ffc350; box-shadow: 0 0 0 1px #db850f, 0 0 12px #e885113f; }
.variant-choice:disabled { opacity: .42; cursor: default; }
.variant-choice img { display: block; width: 44px; height: 52px; object-fit: contain; }
.variant-color-dot { display: block; width: 36px; height: 36px; border: 2px solid #e2d6cd; border-radius: 50%; background: radial-gradient(circle at 32% 24%, #fff6, transparent 38%), var(--variant-color); box-shadow: 0 3px 11px #0009, 0 0 15px color-mix(in srgb, var(--variant-color), transparent 65%); }
.variant-choice.has-photo .variant-color-dot { width: 17px; height: 17px; border-width: 1px; }
.variant-choices.is-flavor .variant-choices-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); gap: 9px; overflow: visible; padding: 2px; }
.variant-choices.is-flavor .variant-choice { position: relative; min-width: 0; min-height: 63px; flex-direction: row; justify-content: flex-start; gap: 11px; padding: 10px 12px; text-align: left; font-size: 13px; font-weight: 650; }
.variant-choices.is-flavor .variant-choice .flavor-orb { width: 35px; height: 35px; }
.variant-choices.is-flavor .variant-choice-name { min-width: 0; overflow-wrap: anywhere; line-height: 1.2; }
.variant-choices.is-flavor .variant-choice[aria-pressed="true"] { background: #34200f; color: #fff5e5; }
.variant-choices.is-flavor .variant-choice[aria-pressed="true"]::after { content: '✓'; position: absolute; top: 6px; right: 8px; color: #ffd079; font-size: 13px; font-weight: 800; }
.variant-choices.is-flavor .variant-choice:disabled { min-height: 76px; padding-bottom: 24px; opacity: .45; }
.variant-choices.is-flavor .variant-choice small { position: absolute; bottom: 7px; left: 58px; font-size: 10px; white-space: nowrap; }
.variant-choice small { color: #e39680; font-size: 9px; }
.product-quantity-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 2px 8px; color: #b8aca2; font-size: 13px; }
.quantity-stepper { display: flex; height: 39px; align-items: center; border: 1px solid #8e581e; border-radius: 30px; overflow: hidden; }
.quantity-stepper button { width: 39px; height: 100%; border: 0; background: none; color: #f9eee0; cursor: pointer; font-size: 21px; }
.quantity-stepper input { width: 43px !important; height: 100%; padding: 0 !important; border: 0 !important; border-right: 1px solid #5b421f !important; border-left: 1px solid #5b421f !important; border-radius: 0 !important; background: transparent !important; color: white; text-align: center; appearance: textfield; }
.quantity-stepper input::-webkit-inner-spin-button, .quantity-stepper input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.product-specs { display: flex; justify-content: space-between; gap: 7px; padding: 10px; border: 1px solid #82551d; border-radius: 12px; }
.product-spec { display: flex; min-width: 0; align-items: center; gap: 7px; flex: 1; }
.product-spec + .product-spec { border-left: 1px solid #775d3c; padding-left: 7px; }
.product-spec .material-symbols-outlined { flex: none; color: #ffbb37; font-size: 24px; }
.product-spec strong, .product-spec small { display: block; overflow: hidden; text-overflow: ellipsis; }
.product-spec strong { font-size: 11px; line-height: 1.25; }
.product-spec small { color: #a8a19a; font-size: 9px; line-height: 1.3; }
body.storefront-body .product-add-button { display: flex; width: 100%; min-height: 51px; align-items: center; justify-content: center; gap: 8px; border: 1px solid #ffd05a; border-radius: 12px; background: linear-gradient(180deg, #ffbb3d, #eb8511); box-shadow: 0 6px 22px #ec801040; color: #201208; font-size: 16px; }
body.storefront-body .product-add-button:disabled { opacity: .52; cursor: not-allowed; }
.product-inpost-note { margin: -3px 0 0; color: #c9c0b8; font-size: 12px; text-align: center; }
.product-inpost-note::first-letter { color: #ffc348; }
body.storefront-body .attributes-table { margin-top: 18px; }
body.storefront-body .product-description { min-width: 0; overflow-wrap: anywhere; color: #c8beb3; font-size: 14px; line-height: 1.7; }
.product-description > :first-child { margin-top: 0; }
.product-description > :last-child { margin-bottom: 0; }
.product-description p, .product-description ul, .product-description ol, .product-description blockquote, .product-description pre { margin: 0 0 14px; }
.product-description :is(h1, h2, h3, h4, h5, h6) { margin: 22px 0 8px; color: #fff3df; font-size: clamp(17px, 2vw, 21px); line-height: 1.25; }
.product-description :is(ul, ol) { padding-left: 22px; }
.product-description li + li { margin-top: 5px; }
.product-description strong { color: #f8ede0; }
.product-description a { color: #ffcc75; text-decoration: underline; text-underline-offset: 3px; }
.product-description blockquote { padding: 10px 14px; border-left: 3px solid #e69d36; border-radius: 0 8px 8px 0; background: #211810; }
.product-description code { padding: 2px 5px; border-radius: 5px; background: #282018; color: #ffcf83; font-size: .93em; }
.product-description pre { max-width: 100%; padding: 12px; overflow-x: auto; border: 1px solid #604222; border-radius: 10px; background: #17120e; }
.product-description pre code { padding: 0; background: none; }
.product-description hr { height: 1px; margin: 18px 0; border: 0; background: #604222; }
.product-description img { display: block; max-width: 100%; height: auto; margin: 16px 0; border-radius: 8px; }
.product-description .description-table-scroll { max-width: 100%; overflow-x: auto; margin: 16px 0; }
.product-description table { width: 100%; border-collapse: collapse; }
.product-description th, .product-description td { min-width: 100px; border: 1px solid #604222; padding: 10px 12px; vertical-align: top; }
.product-description th { background: #241a10; color: #fff3df; text-align: left; }
.product-description li > :is(ul, ol) { margin: 6px 0; }

.checkout-intro { padding: 0 0 18px; text-align: center; }
.checkout-intro h1 { margin: 8px 0 14px; font-size: clamp(30px, 4vw, 49px); line-height: 1.1; letter-spacing: -.055em; }
.checkout-progress { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; max-width: 710px; margin: 0 auto; padding: 0; list-style: none; }
.checkout-progress li { position: relative; display: grid; justify-items: center; gap: 5px; color: #8e8985; font-size: 12px; }
.checkout-progress li a { display: grid; justify-items: center; gap: 5px; color: inherit; }
.checkout-progress li:not(:last-child)::after { content: ''; position: absolute; top: 13px; left: 60%; width: 80%; height: 1px; background: #5e5752; }
.checkout-progress b { display: grid; place-items: center; width: 27px; height: 27px; border: 1px solid #726d69; border-radius: 50%; font-size: 13px; }
.checkout-progress .is-active { color: #fff; font-weight: 700; }
.checkout-progress .is-active b { border-color: #ffb625; background: #31210e; color: #ffd17d; box-shadow: 0 0 13px #f89b0b9e; }
.checkout-progress .is-complete b { border-color: #c98d39; color: #ffc765; }
.checkout-contact-card h2, #inpost-delivery-title, #checkout-summary { scroll-margin-top: 95px; }
body.storefront-body .checkout-layout { display: block; max-width: 760px; margin: 0 auto; padding-bottom: 60px; }
body.storefront-body .checkout-form { display: flex; flex-direction: column; gap: 13px; }
.checkout-contact-card, body.storefront-body .inpost-delivery, body.storefront-body .checkout-summary { padding: 17px; border: 1px solid #80511e; border-radius: 15px; background: #14110e; }
.checkout-contact-card { display: grid; gap: 9px; }
.checkout-contact-card h2, body.storefront-body .checkout-summary h3 { margin: 0 0 4px; color: #fff8f1; font-size: 20px; }
body.storefront-body .checkout-form label { gap: 5px; color: #beb5ac; font-size: 12px; }
body.storefront-body .checkout-form input[type=text], body.storefront-body .checkout-form input[type=tel], body.storefront-body .checkout-form input[type=email], body.storefront-body .checkout-form input[type=search], body.storefront-body .checkout-form textarea { width: 100%; min-height: 42px; border: 1px solid #494049; border-radius: 10px; background: #1a1920; color: #fff8ee; font-size: 14px; }
body.storefront-body .checkout-form input::placeholder { color: #8e8991; }
.checkout-contact-card .checkout-input-field { position: relative; display: block; }
.checkout-input-field .material-symbols-outlined { position: absolute; z-index: 1; top: 50%; left: 14px; color: #d2cec9; font-size: 20px; transform: translateY(-50%); }
body.storefront-body .checkout-form .checkout-input-field input[type=text], body.storefront-body .checkout-form .checkout-input-field input[type=tel], body.storefront-body .checkout-form .checkout-input-field input[type=email] { min-height: 49px; padding-left: 46px; }
body.storefront-body .inpost-delivery-heading h2 { color: #ffd188; font-size: 20px; }
body.storefront-body .inpost-delivery-heading p { color: #b8aea5; }
body.storefront-body .inpost-badge { background: #ffc22e; color: #281708; }
body.storefront-body .inpost-search { margin: 0; padding: 13px 18px 10px; }
body.storefront-body .inpost-map-status { margin: 7px 0 0; }
.inpost-delivery.has-selected-point .inpost-map-status.is-informational, .inpost-delivery.has-selected-point .inpost-help { display: none; }
body.storefront-body .inpost-map-shell { position: relative; z-index: 0; isolation: isolate; display: block; height: 290px; border-color: #5f432c; }
body.storefront-body .inpost-map { height: 290px; background: #181718; }
body.storefront-body .inpost-map .leaflet-control-attribution { background: #120e0bd9; color: #b8afa4; font-size: 9px; }
body.storefront-body .inpost-map .leaflet-control-attribution a { color: #f0bc62; }
body.storefront-body .inpost-map-marker { border-color: #150f0a; background: #ffb52f; color: #211308; }
body.storefront-body .inpost-map-marker.is-selected { background: #ffce5b; box-shadow: 0 0 0 5px #f8a21166, 0 4px 16px #0009; }
body.storefront-body .inpost-map-marker::after { content: none; }
body.storefront-body .inpost-map-marker .material-symbols-outlined { display: block; font-size: 16px; transform: rotate(45deg); }
.inpost-picker-actions { display: flex; gap: 9px; margin-top: 11px; }
.inpost-nearest-button, .inpost-points-toggle { display: flex; flex: 1; min-width: 0; min-height: 42px; align-items: center; justify-content: center; gap: 7px; padding: 8px 12px; border: 1px solid #8b5b28; border-radius: 10px; background: #24190e; color: #ffda9a; cursor: pointer; font: inherit; font-size: 12px; font-weight: 700; }
.inpost-points-toggle { border-color: #ffc15b; background: #4a2b0f; color: #ffdfaa; }
.inpost-nearest-button:hover, .inpost-points-toggle:hover { background: #5a3412; }
.inpost-nearest-button:disabled { opacity: .6; cursor: progress; }
.inpost-nearest-button .material-symbols-outlined, .inpost-points-toggle .material-symbols-outlined { font-size: 19px; }
.inpost-points-toggle strong { color: #fff3df; }
.inpost-picker-open { overflow: hidden; }
.inpost-picker-dialog:not([open]) { display: none !important; }
.inpost-picker-dialog[open] { position: fixed; inset: 0; display: flex; flex-direction: column; width: min(680px, calc(100vw - 36px)); max-width: none; height: min(82dvh, 760px); max-height: none; margin: auto; padding: 0; overflow: hidden; border: 1px solid #9f6328; border-radius: 18px; background: #130f0c; color: #fff6e8; box-shadow: 0 30px 90px #000c; }
.inpost-picker-dialog::backdrop { background: #050302d9; backdrop-filter: blur(5px); }
.inpost-picker-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 18px 13px; border-bottom: 1px solid #63401e; }
.inpost-picker-header p { margin: 0 0 3px; color: #cba873; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; }
.inpost-picker-header h3 { margin: 0; color: #fff8ed; font-size: 24px; line-height: 1.1; }
.inpost-picker-close { display: grid; width: 40px; min-width: 40px; height: 40px; place-items: center; border: 1px solid #79532e; border-radius: 11px; background: #2a1d13; color: #fff0d7; cursor: pointer; }
.inpost-picker-status { margin: 0; padding: 0 18px 9px; color: #bdb0a2; font-size: 12px; }
.inpost-picker-dialog .inpost-points-list { flex: 1; min-height: 0; padding: 5px 18px max(18px, env(safe-area-inset-bottom)); overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.inpost-picker-dialog .inpost-point-option { min-height: 64px; margin-bottom: 9px; padding: 11px 13px; border-color: #62401e; background: #20170f; }
.inpost-picker-dialog .inpost-point-option strong { font-size: 14px; }
.inpost-picker-dialog .inpost-point-option span { font-size: 12px; }
.inpost-picker-dialog .inpost-point-option small { font-size: 10px; }
body.storefront-body .inpost-selected-point { flex-direction: row; align-items: center; gap: 9px; margin: 11px 0 0; border-color: #d79c40; border-radius: 10px; background: #21190f; }
body.storefront-body .inpost-selected-point .material-symbols-outlined { color: #ffc04c; font-size: 27px; }
.inpost-selected-details { display: flex; min-width: 0; flex: 1; flex-direction: column; }
body.storefront-body .inpost-selected-point strong { color: #fff7ea; }
body.storefront-body .inpost-selected-point .inpost-selected-label { color: #d2ad78; }
.inpost-change-point { border: 0; background: transparent; color: #ffc45e; cursor: pointer; font: inherit; font-size: 12px; font-weight: 700; }
body.storefront-body .checkout-summary { height: auto; }
.checkout-extras { padding: 10px 14px; border: 1px solid #5d4123; border-radius: 11px; background: #14100d; }
.checkout-extras summary { color: #dfc193; cursor: pointer; font-size: 12px; font-weight: 650; }
.checkout-extras label { margin-top: 10px; }
.checkout-summary-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.checkout-summary-heading a { display: inline-flex; align-items: center; color: #d3c1a6; font-size: 12px; }
.checkout-summary-heading .material-symbols-outlined { color: #ffc45c; font-size: 19px; }
body.storefront-body .summary-row { align-items: center; gap: 9px; }
.summary-product img { width: 48px; height: 55px; border-radius: 8px; object-fit: cover; }
.summary-product > span { flex: 1; min-width: 0; color: #ddd2c6; }
.summary-product strong { color: #fffaf5; }
.summary-product small { display: block; color: #9f988f; }
.summary-product b, body.storefront-body .summary-total span:last-child { color: #ffcd78; white-space: nowrap; }
body.storefront-body .summary-total { font-size: 18px; font-weight: 800; }
body.storefront-body .checkout-submit { display: flex; width: 100%; min-height: 53px; align-items: center; justify-content: center; gap: 8px; border: 1px solid #ffd05a; border-radius: 12px; background: linear-gradient(180deg, #ffbf47, #ee8f11); color: #201107; box-shadow: 0 6px 25px #d47a174b; }

.store-profile-panel { position: fixed; z-index: 60; right: 20px; bottom: 80px; width: min(360px, calc(100vw - 40px)); padding: 20px; border: 1px solid #a46521; border-radius: 18px; background: #1b140f; box-shadow: 0 15px 50px #000b; }
.store-profile-panel h2 { margin: 0 0 7px; }
.store-profile-panel p { color: #c9b9a8; }
.store-profile-close { float: right; border: 0; background: none; color: white; cursor: pointer; }
.store-bottom-nav { display: none; }

@media (max-width: 800px) {
    body.storefront-body .main-nav { display: none; }
    body.storefront-body .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    body.storefront-body .product-detail { grid-template-columns: minmax(0, 1fr); gap: 15px; }
    body.storefront-body .inpost-map-shell { height: 240px; }
    body.storefront-body .inpost-map { height: 240px; }
    html.telegram-mini-app body.storefront-body .inpost-map-shell, html.telegram-mini-app body.storefront-body .inpost-map { height: 240px; }
    .inpost-picker-dialog[open] { width: 100vw; height: 100dvh; margin: 0; border: 0; border-radius: 0; }
    .inpost-picker-header { padding-top: max(18px, env(safe-area-inset-top)); }
}
@media (max-width: 600px) {
    .store-menu[open] { width: 100vw; height: 100dvh; margin: 0; padding: 0 17px; border: 0; border-radius: 0; }
    .store-menu-topline { padding-top: env(safe-area-inset-top); }
    .store-menu-footer { padding-bottom: max(12px, env(safe-area-inset-bottom)); }
    html.telegram-mini-app .logo-type small { display: none; }
    html.telegram-mini-app .header-inner:has(.telegram-admin-link) .store-menu-toggle { display: none; }
    body.storefront-body .container { padding-left: 14px; padding-right: 14px; }
    body.storefront-body .header-inner { min-height: 70px; gap: 8px; padding: 8px 14px; }
    body.storefront-body .logo-art { width: 48px; height: 48px; }
    body.storefront-body .logo-type strong { font-size: 20px; }
    body.storefront-body .logo-type small { display: block; font-size: 6px; letter-spacing: .22em; }
    body.storefront-body .cart-link { min-height: 42px; margin-left: auto; padding: 5px 7px; }
    body.storefront-body .cart-link-label { display: none; }
    body.storefront-body .store-menu-toggle { width: 39px; min-height: 42px; border-color: transparent; background: transparent; }
    body.storefront-body .header-back { min-height: 40px; width: 34px; }
    body.storefront-body .header-back .material-symbols-outlined { font-size: 17px; }
    .storefront-main { padding-top: 12px; padding-bottom: 72px; }
    body.storefront-body .cart-row { padding: 12px; }
    body.storefront-body .cart-row-name a { display: block; line-height: 1.25; }
    body.storefront-body .cart-row-subtotal { color: #ffcd78; }
    body.storefront-body .cart-summary { flex-direction: column; align-items: stretch; gap: 14px; padding: 8px 0 24px; }
    body.storefront-body .cart-summary .btn { width: 100%; text-align: center; }
    .store-trust-strip { grid-template-columns: 1.18fr .83fr 1.12fr; min-height: 45px; gap: 5px; padding: 6px 8px; }
    .store-trust-age { gap: 5px; }
    .store-trust-age strong { width: 28px; height: 28px; font-size: 10px; }
    .store-trust-age span, .store-trust-news { font-size: 9px; }
    .store-trust-inpost { font-size: 12px; }
    .store-trust-inpost .material-symbols-outlined { font-size: 13px; }
    .store-trust-news { padding-left: 6px; }
    body.storefront-body .catalog-layout { padding-top: 22px; }
    .catalog-heading h1 { font-size: 43px; }
    .catalog-heading p { margin: 3px 0 14px; font-size: 18px; }
    body.storefront-body .category-list { gap: 7px; }
    body.storefront-body .category-list a { min-width: 82px; min-height: 36px; padding: 5px 11px; font-size: 12px; }
    body.storefront-body .home-hero { height: 94px; margin-bottom: 13px; border-radius: 13px; }
    body.storefront-body .home-hero-copy { width: 68%; padding: 10px 13px; }
    body.storefront-body .home-hero h1 { font-size: clamp(20px, 5.3vw, 25px); }
    body.storefront-body .home-hero-accent { display: block; }
    .home-hero-signline { margin-top: 5px; font-size: 6px; letter-spacing: .15em; }
    body.storefront-body .home-hero-copy p, body.storefront-body .home-hero-actions { display: none; }
    body.storefront-body .product-info { gap: 6px; padding: 9px; }
    body.storefront-body .product-name { font-size: 13px; }
    body.storefront-body .product-price { font-size: 14px; }
    body.storefront-body .old-price { font-size: 10px; }
    .product-card-action { min-height: 34px; font-size: 10px; }
    .product-image-category { top: 7px; left: 7px; font-size: 8px; }
    body.storefront-body .badge { top: 7px; right: 7px; }
    .product-card-variants-heading { display: block; margin-bottom: 6px; }
    .product-card-variants-heading > span { display: block; margin-bottom: 2px; font-size: 9px; }
    .product-card-selection { display: block; font-size: 10px; }
    .product-card-variant-list { gap: 4px; }
    .product-card-variant { min-width: 27px; height: 28px; border-radius: 7px; }
    .product-card-color { width: 21px; height: 21px; border-radius: 5px; }
    .product-card-variants.is-flavor .product-card-variant-list { grid-template-columns: minmax(0, 1fr); }
    .product-card-flavor-name { font-size: 10px; }
    .product-card-more { min-width: 25px; height: 26px; }
    body.storefront-body .product-detail-info h1 { font-size: 34px; }
    .product-gallery { aspect-ratio: 1.58; }
    .variant-choice { flex-basis: 78px; }
    .product-spec strong { font-size: 10px; }
    .product-spec small { font-size: 8px; }
    .checkout-contact-card, body.storefront-body .inpost-delivery, body.storefront-body .checkout-summary { padding: 13px; }
    .inpost-picker-actions { flex-direction: column; gap: 7px; }
    .inpost-nearest-button, .inpost-points-toggle { min-height: 44px; }
    .inpost-picker-dialog .inpost-search-row { flex-wrap: nowrap; }
    .inpost-picker-dialog .inpost-search-row input { flex-basis: auto; }
    .checkout-intro h1 { font-size: 29px; }
    .checkout-progress li { font-size: 10px; }
    body.storefront-body .site-footer { display: none; }
    .store-bottom-nav { position: fixed; z-index: 30; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: repeat(3, 1fr); min-height: 61px; padding-bottom: env(safe-area-inset-bottom); border-top: 1px solid #674322; background: #100d0bf2; backdrop-filter: blur(16px); }
    .store-bottom-nav a, .store-bottom-nav button { position: relative; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 1px; border: 0; background: transparent; color: #aaa4a1; font: inherit; font-size: 10px; cursor: pointer; }
    .store-bottom-nav .material-symbols-outlined { font-size: 24px; }
    .store-bottom-nav .is-active { color: #ffc153; }
    .store-bottom-nav .is-active::after { content: ''; position: absolute; right: 27%; bottom: 4px; left: 27%; height: 2px; border-radius: 4px; background: #ffa620; box-shadow: 0 0 8px #ff9d21; }
    .store-nav-count { position: absolute; top: 5px; left: calc(50% + 8px); width: 17px; height: 17px; font-size: 10px; }
}
@media (max-width: 360px) {
    .store-menu-brand { gap: 10px; padding: 18px 0 20px; }
    .store-menu-brand img { width: 68px; height: 68px; }
    .store-menu-brand h2 { font-size: 25px; }
    .store-menu-categories { grid-template-columns: 1fr; }
    .store-menu-categories a { min-height: 48px; }
    .inpost-picker-header h3 { font-size: 21px; }
    body.storefront-body .logo-type strong { font-size: 18px; }
    body.storefront-body .logo-art { width: 42px; height: 42px; }
    body.storefront-body .cart-link { min-height: 38px; }
    .store-trust-news { display: none; }
    .store-trust-strip { grid-template-columns: 1fr 1fr; }
}
