*,*:before,*:after{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}:root{--ink: #0E2B1F;--ink-soft: #3A4F45;--ink-faint: #8A9690;--paper: #F6F1E6;--paper-soft: #EFE7D5;--paper-warm: #FAF5EA;--line: #E4DAC2;--line-soft: #EDE3CD;--terracotta: #C96F3E;--terracotta-deep: #A8562B;--terracotta-wash: #F4DDC7;--sage: #6F8A6A;--sage-wash: #DDE5D0;--butter: #F2DFB5;--clay: #D9A77A;--ruby: #9B2C36;--font-display: "Fraunces", "Cormorant Garamond", "Playfair Display", Georgia, serif;--font-body: "DM Sans", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;--font-mono: "JetBrains Mono", "SF Mono", ui-monospace, monospace;--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--r-xl: 28px;--r-pill: 9999px;--shadow-xs: 0 1px 2px rgba(14, 43, 31, .06);--shadow-sm: 0 2px 8px rgba(14, 43, 31, .06), 0 1px 2px rgba(14, 43, 31, .04);--shadow-md: 0 8px 24px rgba(14, 43, 31, .08), 0 2px 6px rgba(14, 43, 31, .04);--shadow-lg: 0 20px 48px rgba(14, 43, 31, .14), 0 4px 12px rgba(14, 43, 31, .06);--shadow-inset: inset 0 1px 0 rgba(255, 255, 255, .4);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--t-fast: .16s var(--ease-out);--t-mid: .28s var(--ease-out);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--paper-texture: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.055 0 0 0 0 0.169 0 0 0 0 0.122 0 0 0 0.035 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}html{font-size:16px;-webkit-text-size-adjust:100%;background:var(--paper)}body{font-family:var(--font-body);font-feature-settings:"ss01","cv11";background:var(--paper);background-image:var(--paper-texture);color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;padding-bottom:calc(82px + var(--safe-bottom));min-height:100vh}a{text-decoration:none;color:inherit}button{font-family:inherit;cursor:pointer;border:none;outline:none;background:none;color:inherit;letter-spacing:inherit}input,textarea{font-family:inherit;outline:none;color:inherit}img{max-width:100%;display:block}ul,ol{list-style:none}::selection{background:var(--terracotta);color:var(--paper-warm)}.app-container{max-width:480px;margin:0 auto;min-height:100vh;position:relative;background:var(--paper);background-image:var(--paper-texture)}.page{padding:10px 20px 18px;animation:pageIn .36s var(--ease-out)}@keyframes pageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes stagger{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes drift{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-6px) rotate(2deg)}}.page-title{font-family:var(--font-display);font-weight:400;font-size:2.1rem;line-height:1;letter-spacing:-.02em;color:var(--ink);margin-bottom:4px;font-variation-settings:"opsz" 48,"SOFT" 100}.page-subtitle{font-size:.82rem;color:var(--ink-soft);margin-bottom:22px;letter-spacing:.01em}.section-title{font-family:var(--font-display);font-weight:400;font-size:1.35rem;line-height:1.1;letter-spacing:-.015em;color:var(--ink);margin:24px 0 14px;font-variation-settings:"opsz" 32,"SOFT" 100;display:flex;align-items:baseline;justify-content:space-between;gap:8px}.section-title .eyebrow{font-family:var(--font-body);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--terracotta);font-weight:600}.eyebrow{font-family:var(--font-body);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--terracotta);font-weight:600}.link-see-all{font-size:.8rem;color:var(--ink-soft);font-weight:500;letter-spacing:-.005em;display:inline-flex;align-items:center;gap:4px;transition:var(--t-fast)}.link-see-all:active{color:var(--terracotta)}.header{background:var(--paper);color:var(--ink);padding:calc(14px + var(--safe-top)) 20px 14px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;border-bottom:1px solid var(--line-soft);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f6f1e6eb}.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:38px;height:38px;border-radius:var(--r-pill);background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:500;font-size:1.15rem;font-variation-settings:"opsz" 14,"SOFT" 100;position:relative;overflow:hidden}.brand-mark:before{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border:1px dashed rgba(246,241,230,.35);border-radius:var(--r-pill);pointer-events:none}.brand-text{display:flex;flex-direction:column;line-height:1}.brand-name{font-family:var(--font-display);font-weight:400;font-size:1.15rem;letter-spacing:-.015em;color:var(--ink);font-variation-settings:"opsz" 24,"SOFT" 100}.brand-tag{font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);font-weight:500;margin-top:3px}.header-actions{display:flex;align-items:center;gap:8px}.icon-btn{width:38px;height:38px;border-radius:var(--r-pill);background:transparent;border:1px solid var(--line);color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:1rem;transition:var(--t-fast);position:relative}.icon-btn:active{transform:scale(.94);background:var(--paper-soft)}.icon-btn .dot{position:absolute;top:8px;right:8px;width:6px;height:6px;border-radius:var(--r-pill);background:var(--terracotta)}.hero{position:relative;margin:6px 0 28px;padding:28px 24px 26px;background:var(--ink);border-radius:var(--r-xl);color:var(--paper);overflow:hidden;isolation:isolate}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 60% 40% at 85% 15%,rgba(201,111,62,.35),transparent 60%),radial-gradient(ellipse 50% 50% at 10% 100%,rgba(111,138,106,.25),transparent 60%);z-index:-1}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:var(--paper-texture);opacity:.5;mix-blend-mode:overlay;pointer-events:none;z-index:-1}.hero-leaf{position:absolute;font-size:3.2rem;opacity:.18;animation:drift 6s ease-in-out infinite;pointer-events:none}.hero-leaf.one{top:-10px;right:18px;transform:rotate(18deg)}.hero-leaf.two{bottom:-20px;right:72px;font-size:2.4rem;animation-delay:1.5s}.hero-eyebrow{font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--butter);font-weight:600;margin-bottom:14px;display:inline-flex;align-items:center;gap:8px}.hero-eyebrow:before{content:"";width:22px;height:1px;background:var(--butter);display:inline-block}.hero-title{font-family:var(--font-display);font-weight:300;font-size:2rem;line-height:1.05;letter-spacing:-.025em;color:var(--paper);margin-bottom:10px;font-variation-settings:"opsz" 144,"SOFT" 100,"WONK" 1}.hero-title em{font-style:italic;color:var(--butter);font-weight:300;font-variation-settings:"opsz" 144,"SOFT" 100,"WONK" 1}.hero-desc{font-size:.86rem;line-height:1.55;color:#f6f1e6c7;max-width:24ch;margin-bottom:20px}.hero-cta{display:inline-flex;align-items:center;gap:10px;padding:12px 18px 12px 22px;background:var(--butter);color:var(--ink);border-radius:var(--r-pill);font-weight:600;font-size:.86rem;letter-spacing:-.005em;transition:var(--t-fast);box-shadow:var(--shadow-sm)}.hero-cta:active{transform:scale(.96);background:#ead4a2}.hero-cta .arrow{width:26px;height:26px;border-radius:var(--r-pill);background:var(--ink);color:var(--butter);display:inline-flex;align-items:center;justify-content:center;font-size:.85rem}.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:2px}.hero-stats{display:flex;gap:16px;font-size:.65rem;color:#f6f1e699;letter-spacing:.02em;flex-shrink:0}.hero-stats .stat{text-align:right}.hero-stats .stat strong{display:block;font-family:var(--font-display);font-size:1.15rem;font-weight:400;color:var(--paper);line-height:1;margin-bottom:3px;font-variation-settings:"opsz" 24,"SOFT" 100}.search-bar{position:relative;margin-bottom:22px}.search-bar input{width:100%;padding:14px 18px 14px 46px;border:1px solid var(--line);border-radius:var(--r-pill);font-size:.92rem;background:var(--paper-warm);transition:var(--t-fast);color:var(--ink);letter-spacing:-.005em}.search-bar input:focus{border-color:var(--ink);background:var(--paper-warm);box-shadow:0 0 0 4px #0e2b1f0f}.search-bar input::placeholder{color:var(--ink-faint)}.search-bar .search-icon{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:var(--ink-soft);font-size:.95rem;pointer-events:none}.search-bar .search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:var(--r-pill);display:flex;align-items:center;justify-content:center;color:var(--ink-soft);background:var(--paper-soft);font-size:.85rem}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:6px}.category-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:14px 12px 12px;aspect-ratio:1 / 1.08;background:var(--paper-soft);border-radius:var(--r-md);border:1px solid var(--line);transition:var(--t-fast);text-align:left;overflow:hidden;animation:stagger .4s var(--ease-out) both}.category-tile:nth-child(1){animation-delay:40ms}.category-tile:nth-child(2){animation-delay:80ms}.category-tile:nth-child(3){animation-delay:.12s}.category-tile:nth-child(4){animation-delay:.16s}.category-tile:nth-child(5){animation-delay:.2s}.category-tile:nth-child(6){animation-delay:.24s}.category-tile:active{transform:scale(.96);background:var(--butter);border-color:var(--clay)}.category-tile .cat-glyph{font-size:1.6rem;line-height:1;filter:saturate(.9)}.category-tile .cat-label{font-size:.72rem;font-weight:600;line-height:1.15;letter-spacing:-.005em;color:var(--ink);max-width:14ch}.category-tile .cat-arrow{position:absolute;right:10px;bottom:10px;width:22px;height:22px;border-radius:var(--r-pill);background:var(--paper-warm);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:.7rem;color:var(--ink-soft)}.category-rail{display:flex;gap:8px;overflow-x:auto;padding:4px 20px 10px;margin:0 -20px 14px;scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x proximity}.category-rail::-webkit-scrollbar{display:none}.category-pill{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;padding:9px 14px;background:var(--paper-warm);border:1px solid var(--line);border-radius:var(--r-pill);font-size:.78rem;font-weight:500;color:var(--ink-soft);letter-spacing:-.005em;transition:var(--t-fast);white-space:nowrap;scroll-snap-align:start}.category-pill .pg{font-size:.9rem}.category-pill:active{transform:scale(.96)}.category-pill.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;row-gap:20px}.product-card{position:relative;background:transparent;border-radius:var(--r-md);overflow:visible;transition:transform var(--t-fast);animation:stagger .42s var(--ease-out) both;cursor:pointer}.product-card:nth-child(2n){animation-delay:60ms}.product-card:nth-child(3),.product-card:nth-child(4){animation-delay:.12s}.product-card:nth-child(5),.product-card:nth-child(6){animation-delay:.18s}.product-card:active{transform:scale(.985)}.product-media{position:relative;width:100%;aspect-ratio:1 / 1.05;background:var(--paper-soft);border-radius:var(--r-md);border:1px solid var(--line);overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:3rem;color:var(--ink-soft);margin-bottom:10px}.product-media:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.5),transparent 50%),radial-gradient(circle at 70% 80%,rgba(201,111,62,.06),transparent 55%);pointer-events:none}.product-media img{width:100%;height:100%;object-fit:cover}.product-badge{position:absolute;top:10px;left:10px;background:var(--ink);color:var(--paper);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;padding:4px 8px;border-radius:var(--r-pill);z-index:2}.product-badge.new{background:var(--sage)}.product-badge.sale{background:var(--terracotta)}.product-fav{position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:var(--r-pill);background:#faf5eae6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:.85rem;color:var(--ink-soft);transition:var(--t-fast);z-index:2}.product-fav:active{transform:scale(.88)}.product-fav.active{color:var(--ruby);background:var(--terracotta-wash)}.product-add{position:absolute;right:10px;bottom:10px;width:36px;height:36px;border-radius:var(--r-pill);background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:500;z-index:2;transition:transform var(--t-fast),background var(--t-fast);box-shadow:var(--shadow-sm)}.product-add:active{transform:scale(.88);background:var(--terracotta)}.product-info{padding:0 2px}.product-brand{font-family:var(--font-body);font-size:.62rem;font-weight:600;color:var(--terracotta);text-transform:uppercase;letter-spacing:.16em;margin-bottom:4px}.product-name{font-family:var(--font-display);font-weight:400;font-size:.95rem;line-height:1.2;letter-spacing:-.01em;color:var(--ink);margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-variation-settings:"opsz" 20,"SOFT" 50}.product-meta{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:4px}.product-price{font-family:var(--font-display);font-weight:500;font-size:1rem;color:var(--ink);letter-spacing:-.015em;font-variation-settings:"opsz" 20,"SOFT" 30}.product-price .unit{font-family:var(--font-body);font-size:.62rem;color:var(--ink-faint);font-weight:500;letter-spacing:.1em;margin-left:3px;text-transform:uppercase}.product-rating{display:inline-flex;align-items:center;gap:3px;font-size:.72rem;color:var(--ink-soft);font-weight:500}.product-rating .star{color:var(--clay)}.product-card.unavailable .product-media{opacity:.55}.product-card.unavailable:after{content:"Нет в наличии";position:absolute;top:44%;left:50%;transform:translate(-50%,-50%) rotate(-8deg);background:var(--ink);color:var(--paper);padding:5px 14px;border-radius:var(--r-pill);font-size:.66rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;z-index:3}.featured-rail{display:flex;gap:12px;overflow-x:auto;padding:4px 20px 14px;margin:0 -20px;scrollbar-width:none;scroll-snap-type:x mandatory}.featured-rail::-webkit-scrollbar{display:none}.featured-card{flex:0 0 240px;position:relative;padding:18px;border-radius:var(--r-lg);background:linear-gradient(135deg,var(--sage-wash) 0%,var(--paper-soft) 100%);border:1px solid var(--line);scroll-snap-align:start;overflow:hidden}.featured-card.terracotta{background:linear-gradient(135deg,var(--terracotta-wash) 0%,var(--butter) 100%)}.featured-card.ink{background:var(--ink);color:var(--paper)}.featured-card.ink .featured-title{color:var(--paper)}.featured-card.ink .featured-desc{color:#f6f1e6bf}.featured-card.ink .featured-cta{background:var(--butter);color:var(--ink)}.featured-art{position:absolute;right:-14px;top:-14px;font-size:4.5rem;opacity:.8;filter:saturate(.9);pointer-events:none}.featured-eyebrow{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--terracotta-deep);font-weight:600;margin-bottom:10px}.featured-title{font-family:var(--font-display);font-weight:400;font-size:1.15rem;line-height:1.15;letter-spacing:-.015em;color:var(--ink);margin-bottom:6px;max-width:12ch;font-variation-settings:"opsz" 24,"SOFT" 80}.featured-desc{font-size:.75rem;color:var(--ink-soft);line-height:1.4;margin-bottom:14px;max-width:18ch}.featured-cta{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:var(--ink);color:var(--paper);border-radius:var(--r-pill);font-size:.74rem;font-weight:600;letter-spacing:-.005em}.info-stack{display:flex;flex-direction:column;gap:10px}.info-card{display:flex;align-items:center;gap:14px;padding:16px 18px;background:var(--paper-warm);border-radius:var(--r-md);border:1px solid var(--line);transition:var(--t-fast)}.info-card:active{background:var(--paper-soft)}.info-card .info-glyph{width:42px;height:42px;border-radius:var(--r-pill);background:var(--sage-wash);display:flex;align-items:center;justify-content:center;font-size:1.15rem;flex-shrink:0}.info-card .info-glyph.terracotta{background:var(--terracotta-wash)}.info-card .info-glyph.butter{background:var(--butter)}.info-card .info-body{flex:1;min-width:0}.info-card .info-title{font-weight:600;font-size:.88rem;letter-spacing:-.01em;color:var(--ink);margin-bottom:2px}.info-card .info-desc{font-size:.76rem;color:var(--ink-soft);line-height:1.4}.promo-banner{position:relative;padding:18px 22px;background:var(--ink);border-radius:var(--r-lg);color:var(--paper);margin:22px 0;display:flex;align-items:center;gap:14px;overflow:hidden;isolation:isolate}.promo-banner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(135deg,transparent 0 16px,rgba(242,223,181,.05) 16px 17px);z-index:-1}.promo-banner .promo-art{font-size:2.5rem;filter:saturate(.9)}.promo-banner .promo-text{flex:1;min-width:0}.promo-banner .promo-eyebrow{font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--butter);font-weight:600;margin-bottom:4px}.promo-banner .promo-title{font-family:var(--font-display);font-weight:400;font-size:1.05rem;letter-spacing:-.01em;line-height:1.2;font-variation-settings:"opsz" 24,"SOFT" 80}.promo-banner .promo-code{padding:6px 10px;border:1px dashed rgba(242,223,181,.6);border-radius:6px;font-family:var(--font-mono);font-size:.7rem;color:var(--butter);letter-spacing:.08em}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}.toolbar-count{font-size:.78rem;color:var(--ink-soft);letter-spacing:-.005em}.toolbar-count strong{color:var(--ink);font-weight:600}.toolbar-actions{display:flex;align-items:center;gap:6px}.toolbar-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 12px;font-size:.76rem;font-weight:500;color:var(--ink-soft);background:var(--paper-warm);border:1px solid var(--line);border-radius:var(--r-pill);transition:var(--t-fast)}.toolbar-btn:active{transform:scale(.96);background:var(--paper-soft)}.cart-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px}.cart-header .cart-count-badge{font-size:.74rem;color:var(--ink-soft);font-weight:500;padding:4px 10px;background:var(--paper-soft);border-radius:var(--r-pill);border:1px solid var(--line)}.cart-empty{text-align:center;padding:50px 20px 20px;animation:pageIn .36s var(--ease-out)}.cart-empty .empty-art{font-size:3.5rem;margin-bottom:18px;display:inline-block;animation:drift 4s ease-in-out infinite;filter:saturate(.85)}.cart-empty h3{font-family:var(--font-display);font-weight:400;font-size:1.4rem;letter-spacing:-.015em;color:var(--ink);margin-bottom:8px;font-variation-settings:"opsz" 32,"SOFT" 80}.cart-empty p{color:var(--ink-soft);font-size:.88rem;line-height:1.5;max-width:28ch;margin:0 auto 22px}.cart-empty .ghost-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;background:var(--ink);color:var(--paper);border-radius:var(--r-pill);font-size:.86rem;font-weight:600;letter-spacing:-.005em}.cart-items{display:flex;flex-direction:column;gap:10px}.cart-item{display:flex;align-items:center;gap:12px;padding:12px;background:var(--paper-warm);border:1px solid var(--line);border-radius:var(--r-md);animation:slideUp .32s var(--ease-out) both;position:relative}.cart-item-thumb{width:64px;height:64px;border-radius:var(--r-sm);background:var(--paper-soft);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:1.6rem;flex-shrink:0;overflow:hidden}.cart-item-thumb img{width:100%;height:100%;object-fit:cover}.cart-item-details{flex:1;min-width:0}.cart-item-brand{font-size:.58rem;font-weight:600;color:var(--terracotta);text-transform:uppercase;letter-spacing:.14em;margin-bottom:2px}.cart-item-name{font-family:var(--font-display);font-weight:400;font-size:.92rem;line-height:1.2;color:var(--ink);margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-variation-settings:"opsz" 20,"SOFT" 50}.cart-item-price{font-family:var(--font-display);font-weight:500;font-size:.9rem;color:var(--ink);letter-spacing:-.01em}.cart-qty{display:inline-flex;align-items:center;gap:0;background:var(--paper-soft);border:1px solid var(--line);border-radius:var(--r-pill);padding:3px;flex-shrink:0}.cart-qty-btn{width:28px;height:28px;border-radius:var(--r-pill);display:flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:500;color:var(--ink);transition:var(--t-fast)}.cart-qty-btn:active{transform:scale(.88);background:var(--butter)}.cart-qty-value{min-width:24px;text-align:center;font-size:.86rem;font-weight:600;color:var(--ink);font-family:var(--font-mono)}.cart-summary{margin:22px 0 14px;padding:18px;background:var(--paper-warm);border:1px solid var(--line);border-radius:var(--r-lg)}.cart-summary-row{display:flex;justify-content:space-between;align-items:center;font-size:.86rem;color:var(--ink-soft);margin-bottom:10px}.cart-summary-row:last-child{margin-bottom:0}.cart-summary-row .free{color:var(--sage);font-weight:600}.cart-summary-divider{height:1px;background:var(--line);margin:12px 0}.cart-summary-row.total{font-family:var(--font-display);font-size:1.15rem;font-weight:500;color:var(--ink);letter-spacing:-.015em}.cart-summary-row.total span:last-child{font-variation-settings:"opsz" 32,"SOFT" 40}.promo-input-row{display:flex;gap:8px;margin:14px 0 4px}.promo-input-row input{flex:1;padding:11px 14px;background:var(--paper-warm);border:1px solid var(--line);border-radius:var(--r-pill);font-size:.82rem;letter-spacing:.02em}.promo-input-row input:focus{border-color:var(--ink)}.promo-input-row button{padding:11px 16px;background:var(--paper-soft);border:1px solid var(--line);border-radius:var(--r-pill);font-size:.8rem;font-weight:600;color:var(--ink);transition:var(--t-fast)}.promo-input-row button:active{transform:scale(.96);background:var(--butter)}.checkout-btn{width:100%;padding:17px;background:var(--ink);color:var(--paper);font-size:.95rem;font-weight:600;border-radius:var(--r-pill);transition:var(--t-fast);margin-top:14px;letter-spacing:-.005em;display:inline-flex;align-items:center;justify-content:center;gap:10px;box-shadow:var(--shadow-sm)}.checkout-btn:active{background:var(--terracotta);transform:scale(.985)}.checkout-btn:disabled{opacity:.5;pointer-events:none}.checkout-btn .arrow{width:26px;height:26px;border-radius:var(--r-pill);background:var(--butter);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;font-size:.85rem}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0e2b1f73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:900;animation:backdropIn .24s var(--ease-out)}@keyframes backdropIn{0%{opacity:0}to{opacity:1}}.sheet{position:fixed;left:50%;bottom:0;transform:translate(-50%);width:100%;max-width:480px;background:var(--paper-warm);border-radius:var(--r-xl) var(--r-xl) 0 0;z-index:950;padding:10px 22px calc(22px + var(--safe-bottom));max-height:88vh;overflow-y:auto;animation:sheetIn .36s var(--ease-out);box-shadow:var(--shadow-lg)}@keyframes sheetIn{0%{transform:translate(-50%) translateY(100%)}to{transform:translate(-50%) translateY(0)}}.sheet-handle{width:40px;height:4px;background:var(--line);border-radius:var(--r-pill);margin:8px auto 16px}.sheet-media{width:100%;aspect-ratio:1;background:var(--paper-soft);border:1px solid var(--line);border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;font-size:5rem;margin-bottom:18px;position:relative;overflow:hidden}.sheet-media img{width:100%;height:100%;object-fit:cover}.sheet-media:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.6),transparent 55%),radial-gradient(circle at 75% 80%,rgba(201,111,62,.1),transparent 60%);pointer-events:none}.sheet-brand{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--terracotta);font-weight:600;margin-bottom:6px}.sheet-name{font-family:var(--font-display);font-weight:400;font-size:1.7rem;line-height:1.1;letter-spacing:-.02em;color:var(--ink);margin-bottom:10px;font-variation-settings:"opsz" 48,"SOFT" 80}.sheet-meta-row{display:flex;align-items:center;gap:14px;margin-bottom:16px;flex-wrap:wrap}.sheet-meta-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;background:var(--paper-soft);border:1px solid var(--line);border-radius:var(--r-pill);font-size:.75rem;color:var(--ink-soft)}.sheet-desc{font-size:.88rem;line-height:1.55;color:var(--ink-soft);margin-bottom:20px}.sheet-price-row{display:flex;align-items:center;justify-content:space-between;margin-top:6px;padding-top:16px;border-top:1px solid var(--line)}.sheet-price-label{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);font-weight:600;margin-bottom:4px}.sheet-price-value{font-family:var(--font-display);font-weight:500;font-size:1.9rem;letter-spacing:-.02em;color:var(--ink);line-height:1;font-variation-settings:"opsz" 48,"SOFT" 40}.sheet-price-value .unit{font-family:var(--font-body);font-size:.7rem;color:var(--ink-faint);font-weight:500;letter-spacing:.1em;margin-left:5px;text-transform:uppercase}.sheet-add-btn{padding:14px 24px;background:var(--ink);color:var(--paper);border-radius:var(--r-pill);font-size:.9rem;font-weight:600;display:inline-flex;align-items:center;gap:8px;transition:var(--t-fast);box-shadow:var(--shadow-sm)}.sheet-add-btn:active{transform:scale(.96);background:var(--terracotta)}.map-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--paper);z-index:1000;display:flex;flex-direction:column;animation:slideUp .32s var(--ease-out)}.map-header{display:flex;align-items:center;justify-content:space-between;padding:calc(14px + var(--safe-top)) 18px 14px;background:var(--paper);border-bottom:1px solid var(--line-soft)}.map-header .map-title{font-family:var(--font-display);font-weight:400;font-size:1.05rem;letter-spacing:-.01em;color:var(--ink)}.map-back-btn{width:38px;height:38px;border-radius:var(--r-pill);background:var(--paper-soft);color:var(--ink);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:1rem;transition:var(--t-fast)}.map-back-btn:active{transform:scale(.94)}.map-container{flex:1;position:relative;background:var(--paper-soft)}.map-container #yandex-map{width:100%;height:100%}.map-pin-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-100%);font-size:2.2rem;z-index:10;filter:drop-shadow(0 4px 8px rgba(14,43,31,.25));pointer-events:none;animation:pinDrop .4s var(--ease-spring)}@keyframes pinDrop{0%{transform:translate(-50%,-200%);opacity:0}to{transform:translate(-50%,-100%);opacity:1}}.map-address-bar{padding:16px 20px calc(16px + var(--safe-bottom));background:var(--paper-warm);border-top:1px solid var(--line)}.map-address-label{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--terracotta);font-weight:600;margin-bottom:6px;display:flex;align-items:center;gap:6px}.map-address-text{font-family:var(--font-display);font-size:1rem;font-weight:400;color:var(--ink);line-height:1.3;letter-spacing:-.01em;margin-bottom:14px;min-height:24px;font-variation-settings:"opsz" 20,"SOFT" 60}.map-confirm-btn{width:100%;padding:15px;background:var(--ink);color:var(--paper);font-size:.9rem;font-weight:600;border-radius:var(--r-pill);display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:var(--t-fast)}.map-confirm-btn:active{transform:scale(.98);background:var(--terracotta)}.map-confirm-btn:disabled{opacity:.5;pointer-events:none}.profile-hero{position:relative;margin:0 0 18px;padding:24px 22px 26px;background:var(--ink);border-radius:var(--r-xl);color:var(--paper);overflow:hidden;isolation:isolate}.profile-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 60% 50% at 90% 20%,rgba(242,223,181,.18),transparent 60%),radial-gradient(ellipse 50% 50% at 10% 100%,rgba(201,111,62,.18),transparent 60%);z-index:-1}.profile-row{display:flex;align-items:center;gap:14px}.profile-avatar{width:64px;height:64px;border-radius:var(--r-pill);background:#f6f1e626;display:flex;align-items:center;justify-content:center;font-size:1.6rem;border:2px solid rgba(242,223,181,.4);overflow:hidden;flex-shrink:0}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-text{flex:1;min-width:0}.profile-eyebrow{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--butter);font-weight:600;margin-bottom:4px}.profile-name{font-family:var(--font-display);font-weight:400;font-size:1.4rem;letter-spacing:-.015em;line-height:1.1;color:var(--paper);margin-bottom:2px;font-variation-settings:"opsz" 36,"SOFT" 80}.profile-handle{font-size:.78rem;color:#f6f1e699}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#f6f1e626;border-radius:var(--r-md);margin-top:20px;overflow:hidden}.profile-stat{background:var(--ink);padding:12px 8px;text-align:center}.profile-stat .stat-val{font-family:var(--font-display);font-size:1.3rem;font-weight:400;color:var(--butter);line-height:1;margin-bottom:4px;font-variation-settings:"opsz" 32,"SOFT" 80}.profile-stat .stat-label{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:#f6f1e6b3;font-weight:500}.profile-menu{display:flex;flex-direction:column;gap:2px;background:var(--paper-warm);border:1px solid var(--line);border-radius:var(--r-lg);padding:6px;overflow:hidden}.profile-menu-item{display:flex;align-items:center;gap:14px;padding:13px 14px;background:transparent;border-radius:var(--r-md);transition:var(--t-fast);width:100%;text-align:left}.profile-menu-item:active{background:var(--paper-soft)}.profile-menu-item .menu-glyph{width:34px;height:34px;border-radius:var(--r-sm);background:var(--paper-soft);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}.profile-menu-item .menu-label{flex:1;font-size:.9rem;font-weight:500;letter-spacing:-.005em;color:var(--ink)}.profile-menu-item .menu-meta{font-size:.74rem;color:var(--ink-faint);font-weight:500}.profile-menu-item .menu-arrow{color:var(--ink-faint);font-size:.95rem}.profile-section{font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint);font-weight:600;margin:20px 4px 8px}.profile-footer{text-align:center;padding:24px 0 8px;color:var(--ink-faint);font-size:.72rem;letter-spacing:.05em}.profile-footer .fh-sig{font-family:var(--font-display);font-style:italic;color:var(--ink-soft);font-size:.86rem;letter-spacing:-.01em;font-variation-settings:"opsz" 20,"SOFT" 100}.bottom-nav{position:fixed;left:50%;transform:translate(-50%);bottom:calc(12px + var(--safe-bottom));width:calc(100% - 24px);max-width:456px;background:var(--ink);border-radius:var(--r-pill);display:flex;justify-content:space-around;align-items:center;padding:6px;z-index:500;box-shadow:0 12px 32px #0e2b1f33,0 4px 10px #0e2b1f1f}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:9px 4px;color:#f6f1e694;transition:var(--t-fast);position:relative;border-radius:var(--r-pill);font-family:inherit}.nav-item:active{transform:scale(.94)}.nav-item.active{color:var(--ink);background:var(--butter)}.nav-item .nav-glyph{font-size:1.2rem;line-height:1;transition:var(--t-fast)}.nav-item.active .nav-glyph{transform:translateY(-1px)}.nav-item .nav-label{font-size:.62rem;font-weight:600;letter-spacing:-.005em}.nav-badge{position:absolute;top:4px;right:calc(50% - 20px);background:var(--terracotta);color:var(--paper);font-size:.58rem;font-weight:700;min-width:16px;height:16px;border-radius:var(--r-pill);display:flex;align-items:center;justify-content:center;padding:0 4px;animation:scaleIn .2s var(--ease-spring);border:2px solid var(--ink)}.nav-item.active .nav-badge{border-color:var(--butter)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:14px}.spinner{width:36px;height:36px;border:2.5px solid var(--line);border-top-color:var(--ink);border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:var(--ink-soft);font-size:.82rem;letter-spacing:.01em}.skeleton-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;row-gap:20px}.skeleton-card{animation:stagger .32s var(--ease-out) both}.skeleton-card:nth-child(2n){animation-delay:60ms}.skeleton-card:nth-child(n+3){animation-delay:.12s}.skeleton-media,.skeleton-line{background:linear-gradient(90deg,var(--paper-soft) 0%,var(--line-soft) 50%,var(--paper-soft) 100%);background-size:200% 100%;animation:shimmer 1.4s linear infinite;border-radius:var(--r-sm)}.skeleton-media{width:100%;aspect-ratio:1 / 1.05;border-radius:var(--r-md);margin-bottom:10px}.skeleton-line{height:10px;margin-bottom:6px}.skeleton-line.short{width:40%}.skeleton-line.mid{width:70%}.skeleton-line.long{width:90%}.empty-generic{text-align:center;padding:40px 20px;color:var(--ink-soft)}.empty-generic .art{font-size:2.5rem;margin-bottom:12px;opacity:.7}.empty-generic p{font-size:.88rem}.toast{position:fixed;top:calc(20px + var(--safe-top));left:50%;transform:translate(-50%);background:var(--ink);color:var(--paper);padding:11px 20px;border-radius:var(--r-pill);font-size:.82rem;font-weight:500;letter-spacing:-.005em;z-index:2000;animation:toastIn .28s var(--ease-spring),toastOut .28s var(--ease-out) 2.1s forwards;box-shadow:var(--shadow-lg);white-space:nowrap;display:inline-flex;align-items:center;gap:8px}.toast:before{content:"";width:6px;height:6px;border-radius:var(--r-pill);background:var(--butter)}@keyframes toastIn{0%{transform:translate(-50%) translateY(-20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}@keyframes toastOut{to{opacity:0;transform:translate(-50%) translateY(-10px)}}::-webkit-scrollbar{width:0;height:0}
