:root{--bg: #f8f5ee;--bg-soft: #fdfaf3;--card: #ffffff;--ink: #1c1917;--ink-soft: #57534e;--muted: #8a857c;--line: #e7e0d2;--accent: #0e9f6e;--accent-ink: #0b7d57;--accent-soft: #e2f4ec;--cream: #f5edd8;--yellow: #f6c945;--pink: #f7d9d0;--green-soft: #dff0e6;--danger: #c2410c;--danger-soft: #fdebe2;--warn-bg: #fdf3dd;--warn-ink: #92600a;--shadow-sm: 0 1px 2px rgba(28, 25, 23, .05), 0 2px 8px rgba(28, 25, 23, .05);--shadow-md: 0 4px 14px rgba(28, 25, 23, .08), 0 12px 40px rgba(28, 25, 23, .08);--shadow-lg: 0 10px 30px rgba(28, 25, 23, .14), 0 24px 70px rgba(28, 25, 23, .14);--r-sm: 10px;--r-md: 16px;--r-lg: 24px;--font-body: "DM Sans", system-ui, sans-serif;--font-display: "Manrope", system-ui, sans-serif;--ease: cubic-bezier(.22, 1, .36, 1)}[data-theme=dark]{--bg: #12100d;--bg-soft: #171411;--card: #1d1a16;--ink: #f2ede3;--ink-soft: #c9c2b4;--muted: #8f8778;--line: #2e2921;--accent: #2fbf8f;--accent-ink: #4fd6a7;--accent-soft: #16352a;--cream: #2a2419;--yellow: #e8b93b;--pink: #4a2f28;--green-soft: #173329;--danger: #f07a4a;--danger-soft: #3a2118;--warn-bg: #332a14;--warn-ink: #eab308;--shadow-sm: 0 1px 2px rgba(0,0,0,.3), 0 2px 8px rgba(0,0,0,.3);--shadow-md: 0 4px 14px rgba(0,0,0,.4), 0 12px 40px rgba(0,0,0,.4);--shadow-lg: 0 10px 30px rgba(0,0,0,.5), 0 24px 70px rgba(0,0,0,.5)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;transition:background .35s var(--ease),color .35s var(--ease)}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,select,textarea{font-family:inherit;font-size:15px;color:var(--ink);background:var(--bg-soft);border:1.5px solid var(--line);border-radius:var(--r-sm);padding:11px 14px;width:100%;transition:border-color .2s,box-shadow .2s,background .35s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3.5px color-mix(in srgb,var(--accent) 18%,transparent)}label{display:flex;flex-direction:column;gap:7px;font-weight:600;font-size:14px}label small{font-weight:500;color:var(--muted)}.container{max-width:1180px;margin:0 auto;padding:0 24px}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0}p{line-height:1.65}.muted{color:var(--muted);font-size:14px}.accent-dot{color:var(--accent)}@keyframes fadeUp{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes scaleIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes slideIn{0%{transform:translate(100%)}to{transform:none}}@keyframes popIn{0%{opacity:0;transform:scale(.9) translateY(12px)}to{opacity:1;transform:none}}@keyframes floatY{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.page-fade{animation:fadeIn .4s var(--ease)}.anim-up{animation:fadeUp .7s var(--ease) both}.anim-scale{animation:scaleIn .8s var(--ease) both}.anim-pop{animation:popIn .35s var(--ease) both}.anim-slide{animation:slideIn .38s var(--ease) both}.anim-float{animation:floatY 5s ease-in-out infinite}.header{position:sticky;top:0;z-index:40;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:color-mix(in srgb,var(--bg) 82%,transparent);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;height:68px}.header nav{display:flex;align-items:center;gap:22px;font-weight:600;font-size:15px}.header nav>a{transition:color .2s}.header nav>a:hover{color:var(--accent-ink)}.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:800;font-size:20px;letter-spacing:-.02em}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--accent);color:#fff;box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 40%,transparent)}.brand-accent{color:var(--accent-ink)}.brand-light,.brand-light .brand-accent{color:#fff}.brand-light .brand-mark{background:#ffffff29}.theme-toggle{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1.5px solid var(--line);background:var(--card);transition:transform .25s var(--ease),box-shadow .25s}.theme-toggle:hover{transform:rotate(18deg) scale(1.06);box-shadow:var(--shadow-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:700;font-size:15.5px;padding:14px 26px;border-radius:999px;transition:transform .22s var(--ease),box-shadow .22s,background .22s,opacity .2s}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0) scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-green{background:var(--accent);color:#fff;box-shadow:0 6px 20px color-mix(in srgb,var(--accent) 38%,transparent)}.btn-green:hover{box-shadow:0 10px 28px color-mix(in srgb,var(--accent) 48%,transparent)}.btn-dark{background:var(--ink);color:var(--bg)}.btn-cream{background:var(--cream);color:#1c1917}.btn-outline{border:1.5px solid var(--line);background:var(--card)}.btn-outline:hover{border-color:var(--accent)}.btn-small{padding:9px 18px;font-size:14px}.btn.full{width:100%}.btn-ghost{font-weight:600;color:var(--muted);padding:8px 12px}.btn-ghost:hover{color:var(--ink)}.btn-file{cursor:pointer}.text-link{display:inline-flex;align-items:center;gap:7px;font-weight:700;color:var(--accent-ink);transition:gap .2s}.text-link:hover{gap:11px}.icon-btn{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;transition:background .2s,color .2s,transform .2s}.icon-btn:hover{background:var(--line);transform:scale(1.06)}.icon-btn.danger:hover,button.danger{color:var(--danger)}.notice{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:var(--r-sm);font-size:14px;font-weight:600;margin:12px 0;animation:fadeUp .4s var(--ease)}.notice.error{background:var(--danger-soft);color:var(--danger)}.notice.success{background:var(--accent-soft);color:var(--accent-ink)}.notice.warn{background:var(--warn-bg);color:var(--warn-ink)}.error-text{color:var(--danger);font-size:13px;font-weight:600}.eyebrow,.kicker{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:800;letter-spacing:.14em;color:var(--accent-ink)}.kicker{letter-spacing:.12em}.sparkle{color:var(--yellow)}.hero{padding:84px 0 96px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center}.hero-copy h1{font-size:clamp(44px,6vw,74px);line-height:1.02;margin:18px 0 20px}.hero-copy h1 em,.section-intro h2 em,.bottom-cta h2 em,.store-end h2 em,.auth-side h1 em{font-style:italic;color:var(--accent-ink)}.hero-copy>p{font-size:18px;color:var(--ink-soft);max-width:480px;margin:0 0 30px}.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.hero-foot{display:flex;align-items:center;gap:12px;margin-top:42px;color:var(--muted);font-size:14px}.avatar-stack{display:flex}.avatar-stack span{width:34px;height:34px;display:grid;place-items:center;background:var(--card);border:2px solid var(--bg);border-radius:50%;margin-left:-8px}.avatar-stack span:first-child{margin-left:0}.hero-art{position:relative;display:grid;place-items:center;min-height:480px}.art-circle{position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle at 32% 28%,var(--yellow),var(--accent) 78%);opacity:.9;filter:saturate(1.05);transition:transform .6s var(--ease)}.hero-art:hover .art-circle{transform:scale(1.03) rotate(3deg)}.shop-preview{position:relative;width:330px;background:var(--card);border-radius:22px;box-shadow:var(--shadow-lg);overflow:hidden;transform:rotate(-2.5deg);transition:transform .45s var(--ease)}.shop-preview:hover{transform:rotate(0) translateY(-6px)}.preview-cover{padding:18px;background:linear-gradient(135deg,#134e3a,#0e9f6e);color:#fff}.preview-cover span{font-weight:800;font-size:13px;letter-spacing:.08em;display:block;margin:8px 0 3px}.preview-cover small{opacity:.8}.preview-dots{font-size:8px;letter-spacing:3px;opacity:.6}.preview-card{display:flex;gap:14px;padding:16px 18px;align-items:center}.preview-card img{width:84px;height:84px;object-fit:cover;border-radius:14px}.preview-card small{color:var(--muted);font-size:10.5px;font-weight:800;letter-spacing:.1em}.preview-card strong{display:block;font-size:15px;margin:3px 0}.preview-card b{color:var(--accent-ink)}.preview-buy{display:inline-flex;align-items:center;gap:5px;margin-top:7px;font-size:12.5px;font-weight:700;color:var(--accent-ink);background:var(--accent-soft);padding:5px 11px;border-radius:999px}.floating-tag{position:absolute;display:flex;align-items:center;gap:8px;background:var(--card);border-radius:999px;padding:11px 18px;font-weight:700;font-size:13.5px;box-shadow:var(--shadow-md)}.floating-tag span{color:var(--accent-ink)}.tag-top{top:34px;right:6%}.tag-bottom{bottom:40px;left:2%;color:var(--accent-ink)}.star-deco{position:absolute;bottom:12%;right:10%;color:var(--yellow);font-size:30px}.features{padding:90px 0;background:var(--bg-soft);border-block:1px solid var(--line)}.section-intro{max-width:560px;margin-bottom:54px}.section-intro h2{font-size:clamp(32px,4vw,46px);line-height:1.08;margin:14px 0}.section-intro p{color:var(--ink-soft);font-size:17px;margin:0}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.feature-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:34px 30px;box-shadow:var(--shadow-sm);transition:transform .35s var(--ease),box-shadow .35s}.feature-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-md)}.feature-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;margin-bottom:22px}.feature-icon svg{width:26px;height:26px}.feature-icon.green{background:var(--green-soft);color:var(--accent-ink)}.feature-icon.yellow{background:#fdf0cd;color:#92600a}[data-theme=dark] .feature-icon.yellow{background:#3a2f10;color:#eab308}.feature-icon.pink{background:var(--pink);color:#b4532a}[data-theme=dark] .feature-icon.pink{color:#f0a184}.feature-number{font-size:11.5px;font-weight:800;letter-spacing:.12em;color:var(--muted)}.feature-card h3{font-size:21px;margin:10px 0}.feature-card p{color:var(--ink-soft);margin:0;font-size:15px}.perks{padding:34px 0}.perks-grid{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.perk{display:inline-flex;align-items:center;gap:9px;background:var(--card);border:1px solid var(--line);padding:12px 20px;border-radius:999px;font-weight:700;font-size:14.5px;box-shadow:var(--shadow-sm);transition:transform .25s var(--ease)}.perk:hover{transform:translateY(-3px)}.perk svg{color:var(--accent-ink)}.bottom-cta{padding:96px 0;background:#12261d;color:#f4efe2}[data-theme=dark] .bottom-cta{background:#0d1b15}.bottom-cta h2{font-size:clamp(32px,4.4vw,50px);margin:14px 0 0}.bottom-cta .kicker{color:var(--yellow)}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}footer{background:#171310;color:#e8e2d4;padding:34px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:14px}.auth-layout{display:grid;grid-template-columns:1fr 1.15fr;min-height:100vh}.auth-side{background:linear-gradient(160deg,#134e3a,#0e9f6e);color:#fff;padding:44px 54px;display:flex;flex-direction:column;justify-content:space-between}.auth-side h1{font-size:clamp(38px,4.5vw,56px);line-height:1.05;margin:16px 0}.auth-side h1 em{color:var(--yellow)}.auth-side p{color:#d7eadf;font-size:17px;max-width:400px}.auth-side .kicker{color:var(--yellow)}.auth-side small{letter-spacing:.12em;font-size:11.5px;opacity:.75;font-weight:700}.auth-main{padding:44px 24px;display:flex;flex-direction:column;align-items:center}.auth-back{align-self:flex-start;max-width:460px;width:100%;margin:0 auto 30px;font-weight:600;color:var(--muted)}.auth-box{width:100%;max-width:460px;margin:auto;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:40px;box-shadow:var(--shadow-md)}.auth-box h2{font-size:30px;margin:10px 0 8px}.auth-box>p{color:var(--ink-soft);margin:0 0 26px}.auth-box form{display:flex;flex-direction:column;gap:18px}.auth-switch{text-align:center;color:var(--muted);font-size:14.5px}.auth-switch a{color:var(--accent-ink);font-weight:700}.offer-banner{background:var(--ink);color:var(--bg);overflow:hidden;padding:10px 0;font-weight:700;font-size:14px}.offer-track{display:flex;gap:80px;white-space:nowrap;animation:marquee 18s linear infinite;width:max-content}.offer-track span:before{content:"✦  ";color:var(--yellow)}.store-banner{padding:72px 0 60px;background:#17271f;color:#f4efe2;background-size:cover;background-position:center;position:relative}[data-theme=dark] .store-banner{background-color:#101b15}.store-banner:not([style]){background:linear-gradient(150deg,#134e3a,#17271f 70%)}.store-identity{display:flex;align-items:center;gap:16px;margin-bottom:18px}.store-logo{width:58px;height:58px;border-radius:16px;object-fit:cover;border:2.5px solid rgba(255,255,255,.5);box-shadow:var(--shadow-md)}.open-pill{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;padding:7px 15px;border-radius:999px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.open-pill.open{background:#2ebf8f38;color:#7fe7c0;border:1px solid rgba(46,191,143,.45)}.open-pill.closed{background:#f07a4a33;color:#ffb59a;border:1px solid rgba(240,122,74,.45)}.store-banner h1{font-size:clamp(40px,5.6vw,66px);line-height:1.02}.store-banner h1 span{color:var(--yellow)}.store-banner p{font-size:17.5px;color:#d8d2c2;max-width:520px}.store-banner-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:26px;font-size:14px;color:#c9c2b0}.store-banner-bottom>span{display:inline-flex;align-items:center;gap:7px}.store-banner-actions{display:flex;gap:10px}.chip-btn{display:inline-flex;align-items:center;gap:7px;background:#ffffff1f;border:1px solid rgba(255,255,255,.25);color:#fff;font-weight:700;font-size:13.5px;padding:9px 16px;border-radius:999px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .2s,transform .2s}.chip-btn:hover{background:#ffffff38;transform:translateY(-2px)}.catalog{padding:64px 24px 30px}.catalog-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:26px}.catalog-head h2{font-size:clamp(28px,3.4vw,40px);margin-top:10px}.catalog-head>span{font-size:12.5px;font-weight:800;letter-spacing:.1em;color:var(--muted)}.catalog-tools{display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap;margin-bottom:34px}.filter-tabs{display:flex;gap:9px;flex-wrap:wrap}.filter-tabs button{padding:10px 19px;border-radius:999px;font-weight:700;font-size:14px;background:var(--card);border:1.5px solid var(--line);transition:all .22s var(--ease)}.filter-tabs button:hover{border-color:var(--accent);transform:translateY(-1px)}.filter-tabs button.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.search-box{display:flex;align-items:center;gap:9px;background:var(--card);border:1.5px solid var(--line);border-radius:999px;padding:0 18px;min-width:250px;transition:border-color .2s,box-shadow .2s}.search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3.5px color-mix(in srgb,var(--accent) 18%,transparent)}.search-box svg{color:var(--muted);flex-shrink:0}.search-box input{border:none;background:none;padding:12px 0;box-shadow:none}.search-box input:focus{box-shadow:none}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px}.product-card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:transform .35s var(--ease),box-shadow .35s}.product-card:hover{transform:translateY(-7px);box-shadow:var(--shadow-md)}.product-img{position:relative;display:grid;place-items:center;aspect-ratio:1;background:var(--accent-soft);color:var(--accent-ink);overflow:hidden}.product-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}.product-card:hover .product-img img{transform:scale(1.07)}.view-tag{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:6px;background:#14120eb8;color:#fff;font-size:12px;font-weight:700;padding:7px 13px;border-radius:999px;opacity:0;transform:translateY(8px);transition:all .3s var(--ease);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.product-card:hover .view-tag{opacity:1;transform:none}.chip{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:800;padding:6px 12px;border-radius:999px}.chip-star{background:var(--yellow);color:#3a2c00}.chip-out{background:#14120ebf;color:#fff}.chip-low{background:#fde68a;color:#92600a}.product-card.sold-out .product-img img{filter:grayscale(.8) opacity(.7)}.heart-btn{position:absolute;top:12px;right:12px;z-index:2;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:color-mix(in srgb,var(--card) 88%,transparent);box-shadow:var(--shadow-sm);transition:transform .2s var(--ease),color .2s;color:var(--ink-soft)}.heart-btn:hover{transform:scale(1.12)}.heart-btn.active{color:#e0245e}.heart-btn.active svg{fill:#e0245e}.product-meta{padding:18px 18px 20px}.product-meta>span{font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--muted)}.product-meta h3{font-size:17.5px;margin:7px 0 12px}.product-meta h3 a:hover{color:var(--accent-ink)}.product-bottom{display:flex;justify-content:space-between;align-items:center}.product-bottom b{font-size:18px}.product-actions{display:flex;align-items:center;gap:8px}.cart-add{border:1.5px solid var(--line)}.cart-add:hover{background:var(--accent-soft);color:var(--accent-ink);border-color:var(--accent)}.round-arrow{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--ink);color:var(--bg);transition:transform .25s var(--ease),background .2s}.round-arrow:hover{transform:rotate(45deg);background:var(--accent);color:#fff}.skeleton .product-img{background:linear-gradient(90deg,var(--line) 25%,var(--card) 50%,var(--line) 75%);background-size:800px 100%;animation:shimmer 1.4s infinite linear}.shimmer-line{display:block;height:12px;border-radius:6px;width:40%;background:linear-gradient(90deg,var(--line) 25%,var(--card) 50%,var(--line) 75%);background-size:800px 100%;animation:shimmer 1.4s infinite linear}.shimmer-line.wide{width:85%;height:16px}.empty-state{text-align:center;padding:60px 20px;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:8px}.empty-state h3,.empty-state h2{color:var(--ink);margin:8px 0 0}.empty-state p{margin:0}.order-history{padding-bottom:20px}.order-history-list{display:flex;flex-direction:column;gap:12px}.order-card{display:flex;justify-content:space-between;align-items:center;gap:16px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:16px 20px;box-shadow:var(--shadow-sm)}.order-card small{display:block;color:var(--muted);margin-top:4px}.store-end{padding:84px 0;background:var(--accent-soft);text-align:center}.store-end span{font-size:12.5px;font-weight:800;letter-spacing:.12em;color:var(--accent-ink)}.store-end h2{font-size:clamp(30px,4vw,44px);margin:12px 0 10px}.store-end p{color:var(--ink-soft);max-width:420px;margin:0 auto}.cart-fab{position:fixed;bottom:24px;right:24px;z-index:50;display:flex;align-items:center;gap:10px;background:var(--accent);color:#fff;font-size:16px;padding:15px 24px;border-radius:999px;box-shadow:0 10px 30px color-mix(in srgb,var(--accent) 50%,transparent);transition:transform .25s var(--ease)}.cart-fab:hover{transform:translateY(-4px) scale(1.03)}.cart-badge{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#fff;color:var(--accent-ink);font-size:12.5px;font-weight:800}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#14100a73;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fadeIn .25s}.drawer{position:absolute;top:0;right:0;bottom:0;width:min(430px,100vw);background:var(--bg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;padding:24px;overflow-y:auto}.drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.drawer-head h3{display:flex;align-items:center;gap:10px;font-size:20px}.drawer-items{display:flex;flex-direction:column;gap:12px;flex:1}.cart-row{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:12px;transition:border-color .2s}a.cart-row:hover{border-color:var(--accent)}.cart-thumb{width:54px;height:54px;border-radius:12px;background:var(--accent-soft);color:var(--accent-ink);display:grid;place-items:center;overflow:hidden;flex-shrink:0}.cart-thumb img{width:100%;height:100%;object-fit:cover}.cart-info{flex:1;min-width:0}.cart-info strong{display:block;font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cart-info span{color:var(--muted);font-size:13.5px}.qty-stepper{display:flex;align-items:center;gap:2px;background:var(--bg-soft);border:1.5px solid var(--line);border-radius:999px;padding:3px}.qty-stepper button{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;transition:background .15s}.qty-stepper button:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-ink)}.qty-stepper button:disabled{opacity:.35;cursor:not-allowed}.qty-stepper span{min-width:26px;text-align:center;font-weight:700;font-size:14px}.drawer-totals{border-top:1.5px dashed var(--line);margin-top:18px;padding-top:16px;display:flex;flex-direction:column;gap:8px}.drawer-totals>div{display:flex;justify-content:space-between;font-size:14.5px;color:var(--ink-soft)}.drawer-totals .grand{font-size:18px;color:var(--ink)}.drawer-totals .grand b{color:var(--accent-ink)}.drawer .btn.full{margin-top:14px}.drawer-hint{font-size:12.5px;color:var(--muted);text-align:center;margin:10px 0 0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#14100a80;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px;animation:fadeIn .25s;overflow-y:auto}.modal{position:relative;width:min(520px,100%);background:var(--bg);border-radius:var(--r-lg);padding:34px;box-shadow:var(--shadow-lg);max-height:90vh;overflow-y:auto}.modal h2{font-size:26px;margin:8px 0 20px}.modal form{display:flex;flex-direction:column;gap:16px}.modal-close{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--card);border:1px solid var(--line);transition:transform .2s}.modal-close:hover{transform:rotate(90deg)}.modal-close svg{width:17px;height:17px}.qr-modal{text-align:center}.qr-frame{background:#fff;border-radius:var(--r-md);padding:18px;width:fit-content;margin:18px auto;box-shadow:var(--shadow-sm)}.qr-frame img{width:220px;height:220px}.qr-actions{display:flex;gap:12px;justify-content:center;margin-top:18px}.push-prompt{position:fixed;bottom:24px;left:24px;z-index:55;display:flex;gap:14px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:16px 18px;max-width:380px}.push-prompt>svg{color:var(--accent-ink);flex-shrink:0}.push-prompt strong{display:block;font-size:15px}.push-prompt p{margin:3px 0 0;font-size:13px;color:var(--muted)}.push-actions{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.detail-wrap{padding:48px 0 80px}.breadcrumbs{display:flex;gap:10px;align-items:center;font-size:13.5px;color:var(--muted);margin-bottom:30px;flex-wrap:wrap}.breadcrumbs a{font-weight:700;color:var(--accent-ink)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}.detail-image{position:relative;display:grid;place-items:center;aspect-ratio:1;background:var(--accent-soft);color:var(--accent-ink);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-md)}.detail-image img{width:100%;height:100%;object-fit:cover}.detail-info h1{font-size:clamp(30px,3.6vw,44px);margin:12px 0 6px}.detail-price{font-size:28px;font-weight:800;color:var(--accent-ink);margin:0 0 8px;font-family:var(--font-display)}.detail-line{height:1px;background:var(--line);margin:22px 0}.detail-description{color:var(--ink-soft);font-size:16.5px}.qty-row{display:flex;align-items:center;gap:14px;font-weight:700;font-size:14.5px;margin-bottom:16px}.detail-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:6px 0 14px}.heart-lg{border:1.5px solid var(--line);width:46px;height:46px}.heart-lg.active{color:#e0245e;border-color:#e0245e}.heart-lg.active svg{fill:#e0245e}.detail-hint{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:14px}.share-link{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14px;color:var(--ink-soft);padding:9px 0;transition:color .2s}.share-link:hover{color:var(--accent-ink)}.detail-small{font-size:13.5px;color:var(--muted)}.chip-service{background:#dbeafe;color:#1d4ed8}[data-theme=dark] .chip-service{background:#1e3a5f;color:#93c5fd}.admin-layout{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{background:#171310;color:#e8e2d4;padding:28px 18px;display:flex;flex-direction:column;gap:24px;position:sticky;top:0;height:100vh}.sidebar-label{font-size:11px;font-weight:800;letter-spacing:.14em;color:#8f8778;padding:0 10px}.sidebar nav{display:flex;flex-direction:column;gap:5px;flex:1}.sidebar nav button{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;font-weight:600;font-size:14.5px;color:#c9c2b4;text-align:left;transition:background .2s,color .2s,transform .2s}.sidebar nav button:hover{background:#ffffff12;color:#fff;transform:translate(3px)}.sidebar nav button.selected{background:var(--accent);color:#fff;box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 40%,transparent)}.sidebar-bottom{display:flex;flex-direction:column;gap:6px}.sidebar-bottom>*{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:12px;font-weight:600;font-size:14px;color:#c9c2b4;transition:background .2s,color .2s}.sidebar-bottom>*:hover{background:#ffffff12;color:#fff}.sidebar-theme{width:auto;border:none;background:none}.admin-main{padding:0 34px 60px}.admin-top{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:1px solid var(--line);margin-bottom:30px;font-size:13px;font-weight:800;letter-spacing:.1em;color:var(--muted)}.store-switcher{width:auto;font-weight:700;letter-spacing:0;font-size:14.5px;background:var(--card)}.admin-profile{display:flex;align-items:center;gap:12px;letter-spacing:0}.admin-profile>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--accent);color:#fff;font-weight:800;font-size:17px}.admin-profile strong{display:block;font-size:14.5px;color:var(--ink)}.admin-profile small{color:var(--muted)}.admin-content{max-width:980px}.dashboard-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;margin-bottom:22px;box-shadow:var(--shadow-sm);animation:fadeUp .5s var(--ease) both}.dashboard-panel h3{font-size:18px;margin-bottom:14px}.store-create{background:var(--bg-soft)}.store-create h3{margin-bottom:12px}.inline-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.inline-form label{flex:1;min-width:170px}.inline-form input{background:var(--card)}.page-title{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:6px 0 22px;flex-wrap:wrap}.page-title h1{font-size:clamp(28px,3.2vw,38px);margin:8px 0 6px}.page-title p{margin:0;color:var(--ink-soft)}.page-title-actions{display:flex;gap:10px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:22px}.stat-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:20px;display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow-sm);transition:transform .3s var(--ease),box-shadow .3s}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.stat-card svg{color:var(--accent-ink)}.stat-card strong{font-size:30px;font-family:var(--font-display);letter-spacing:-.02em}.stat-card span{font-size:13px;color:var(--muted);font-weight:600}.welcome-panel{display:flex;justify-content:space-between;align-items:center;gap:24px;background:linear-gradient(135deg,#134e3a,#0e9f6e);color:#fff;border:none;flex-wrap:wrap}.welcome-panel .kicker{color:var(--yellow)}.welcome-panel h2{font-size:24px;margin:8px 0}.welcome-panel p{color:#cfe8da;margin:0 0 14px;font-size:14.5px}.url-pill{display:inline-block;background:#ffffff24;border:1px solid rgba(255,255,255,.25);padding:8px 16px;border-radius:999px;font-weight:700;font-size:13.5px}.welcome-actions{display:flex;gap:10px;flex-wrap:wrap}.welcome-actions .btn-outline{background:#ffffff1a;border-color:#ffffff4d;color:#fff}.overview-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:22px}.top-list{display:flex;flex-direction:column;gap:6px}.top-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;transition:background .2s}.top-row:hover{background:var(--bg-soft)}.top-rank{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--accent-soft);color:var(--accent-ink);font-weight:800;font-size:13px}.top-row strong{flex:1;font-size:14.5px}.top-count{font-size:12.5px;font-weight:700;color:var(--muted)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14.5px}th{text-align:left;font-size:11.5px;letter-spacing:.1em;color:var(--muted);padding:10px 12px;border-bottom:1.5px solid var(--line)}td{padding:13px 12px;border-bottom:1px solid var(--line);vertical-align:middle}tbody tr{transition:background .18s}tbody tr:hover{background:var(--bg-soft)}.table-product{display:flex;align-items:center;gap:11px}.table-product img,.table-product>span{width:40px;height:40px;border-radius:10px;object-fit:cover;background:var(--accent-soft);color:var(--accent-ink);display:grid;place-items:center}.star-on{color:var(--yellow);fill:var(--yellow);margin-left:6px}.status{font-size:12px;font-weight:800;padding:4px 11px;border-radius:999px}.status.live{background:var(--accent-soft);color:var(--accent-ink)}.status.paused{background:var(--danger-soft);color:var(--danger)}.status.low{background:var(--warn-bg);color:var(--warn-ink)}.status.service{background:#dbeafe;color:#1d4ed8}[data-theme=dark] .status.service{background:#1e3a5f;color:#93c5fd}.row-actions{text-align:right;white-space:nowrap}.row-actions button,.table-button{font-weight:700;font-size:13px;padding:7px 13px;border-radius:9px;transition:background .18s,color .18s;display:inline-flex;align-items:center;gap:6px}.row-actions button:hover,.table-button:hover{background:var(--line)}.row-actions .danger:hover{background:var(--danger-soft)}.table-button:disabled{opacity:.4}.category-list{display:flex;flex-direction:column;gap:8px;margin-top:18px}.category-list>div{display:flex;align-items:center;gap:13px;padding:12px 16px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg-soft)}.category-list>div>div{flex:1}.category-list small{color:var(--muted);display:block}.category-list button{font-weight:700;font-size:13px;padding:7px 12px;border-radius:9px}.category-list button:hover{background:var(--line)}.category-symbol{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--accent-soft);color:var(--accent-ink)}.leads-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.lead-items{display:block;color:var(--muted);font-size:12.5px;margin-top:3px}.phone-input{width:130px;padding:8px 11px;font-size:13.5px}.status-select{width:auto;padding:7px 11px;font-size:13px;font-weight:700;border-radius:999px}.status-select.s-new{background:var(--warn-bg);color:var(--warn-ink)}.status-select.s-confirmed,.status-select.s-packed{background:#dbeafe;color:#1d4ed8}[data-theme=dark] .status-select.s-confirmed,[data-theme=dark] .status-select.s-packed{background:#1e3a5f;color:#93c5fd}.status-select.s-out-for-delivery{background:#ede9fe;color:#6d28d9}[data-theme=dark] .status-select.s-out-for-delivery{background:#2e1f5e;color:#c4b5fd}.status-select.s-delivered{background:var(--accent-soft);color:var(--accent-ink)}.status-select.s-cancelled{background:var(--danger-soft);color:var(--danger)}.notify-form{display:flex;flex-direction:column;gap:16px;max-width:460px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.settings-panel{display:flex;flex-direction:column;gap:15px;margin-bottom:0}.settings-panel h3{margin-bottom:2px}.settings-save{grid-column:1 / -1;display:flex;justify-content:flex-end}.check-label{flex-direction:row;align-items:center;gap:10px;font-weight:600}.check-label input{width:auto}.check-pad{padding-top:24px}.color-input{padding:4px;height:46px;width:90px;cursor:pointer}.qr-inline{display:flex;gap:16px;align-items:center}.qr-inline img{width:110px;height:110px;background:#fff;border-radius:12px;padding:8px;box-shadow:var(--shadow-sm)}.upload-preview{display:flex;align-items:center;gap:12px}.upload-preview img{width:64px;height:64px;border-radius:12px;object-fit:cover;box-shadow:var(--shadow-sm)}.upload-preview span{font-size:13px;font-weight:700;color:var(--accent-ink)}@media(max-width:940px){.hero-grid{grid-template-columns:1fr}.hero-art{min-height:420px}.feature-grid,.auth-layout{grid-template-columns:1fr}.auth-side{display:none}.detail-grid,.admin-layout{grid-template-columns:1fr}.sidebar{position:static;height:auto;flex-direction:row;align-items:center;flex-wrap:wrap;gap:10px;padding:14px}.sidebar nav{flex-direction:row;flex-wrap:wrap}.sidebar nav button{padding:9px 12px}.sidebar-label{display:none}.sidebar-bottom{flex-direction:row}.stat-grid{grid-template-columns:repeat(2,1fr)}.overview-grid,.settings-grid{grid-template-columns:1fr}.admin-main{padding:0 18px 60px}.cta-inner{flex-direction:column;align-items:start}}.owner-create-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;align-items:end;margin-top:20px}.owner-create-form label{display:grid;gap:6px}.owner-create-form input{width:100%}.button-spinner{display:inline-block;width:15px;height:15px;flex:none;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:button-spin .7s linear infinite;vertical-align:middle;margin-right:6px}@keyframes button-spin{to{transform:rotate(360deg)}}button:disabled,.btn:disabled{cursor:wait;opacity:.65}.paused-store{min-height:65vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:12px}.paused-store h1{margin:0}.paused-store p{margin:0 0 12px}@media(prefers-reduced-motion:reduce){.button-spinner{animation-duration:1.5s}}.admin-layout{grid-template-columns:252px minmax(0,1fr);background:var(--bg)}.sidebar{background:linear-gradient(160deg,#19241e,#111b16 56%,#101611);border-right:1px solid rgba(255,255,255,.08);padding:30px 16px 20px;gap:30px}.sidebar>.brand{padding:4px 11px 14px}.sidebar-label{color:#b6c9ba;font-size:10px;padding:0 13px}.sidebar nav{gap:7px}.sidebar nav button{min-height:46px;padding:12px 14px;border:1px solid transparent}.sidebar nav button.selected{background:#36c4872b;color:#e5fff0;border-color:#4fd6a74d;box-shadow:inset 3px 0 #4fd6a7}.sidebar nav button:hover:not(.selected){background:#ffffff17}.sidebar-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:14px}.sidebar .sidebar-theme,.sidebar .theme-toggle{color:#e8e2d4}.admin-main{min-width:0;padding:0 clamp(20px,3.2vw,52px) 72px}.admin-content{max-width:1240px;margin:0 auto}.admin-top{min-height:84px;margin-bottom:34px;padding:16px 0;letter-spacing:.065em}.admin-profile>span{border-radius:14px;box-shadow:0 5px 14px color-mix(in srgb,var(--accent) 25%,transparent)}.admin-profile strong{font-size:14px}.store-switcher{max-width:260px;box-shadow:var(--shadow-sm)}.page-title{margin:4px 0 30px;align-items:center}.page-title h1{font-size:clamp(31px,3vw,43px);letter-spacing:-.045em}.page-title p{max-width:62ch}.dashboard-panel{border-radius:20px;padding:clamp(18px,2.5vw,30px);box-shadow:var(--shadow-sm)}.dashboard-panel h3{font-size:19px;letter-spacing:-.025em}.stat-grid{gap:18px;margin-bottom:26px}.stat-card{border-radius:19px;padding:24px;min-height:142px;background:linear-gradient(145deg,var(--card) 55%,var(--accent-soft))}.stat-card svg{width:23px;height:23px}.stat-card strong{font-size:35px;line-height:1.18}.stat-card span{letter-spacing:.015em}.table-wrap table{min-width:600px}.table-wrap th{padding:14px 13px;text-transform:uppercase;font-size:10px;letter-spacing:.12em}.table-wrap td{padding:15px 13px}.table-wrap tbody tr:last-child td{border-bottom:0}.table-button,.row-actions button,.category-list button{background:var(--bg-soft);border:1px solid var(--line);min-height:36px}.table-button:hover:not(:disabled),.row-actions button:hover:not(:disabled){border-color:var(--accent);color:var(--accent-ink)}.admin-layout button:focus-visible,.admin-layout a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}[data-theme=dark] .admin-layout{background:var(--bg)}[data-theme=dark] .sidebar{background:linear-gradient(160deg,#15231b,#0b120e)}[data-theme=dark] .stat-card{background:linear-gradient(145deg,var(--card) 50%,#17271e)}@media(max-width:760px){.admin-layout{display:block}.sidebar{position:relative;height:auto;min-height:0;padding:13px 17px;gap:9px}.sidebar>.brand{padding:2px 0 6px}.sidebar-label{display:none}.sidebar nav{flex-direction:row;overflow-x:auto;padding:3px 0 8px;gap:6px}.sidebar nav button{white-space:nowrap;min-height:42px;flex:none;padding:8px 11px;font-size:12px}.sidebar nav button svg{width:15px}.sidebar-bottom{flex-direction:row;padding:5px 0 0;justify-content:space-between}.sidebar-bottom>*{padding:8px;font-size:12px}.admin-main{padding:0 17px 45px}.admin-top{min-height:70px;margin-bottom:22px}.admin-profile small{display:none}.page-title-actions{flex-wrap:wrap}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{min-height:126px;padding:16px}.dashboard-panel{padding:18px}}@media(prefers-reduced-motion:reduce){.admin-layout .dashboard-panel,.admin-layout .stat-card{animation:none;transition:none}}.restaurant-order-form{display:flex;flex-direction:column;gap:15px;margin-top:20px}.restaurant-order-form .drawer-totals{margin-top:0}.restaurant-checkout .btn-green{background:var(--accent);color:#fff}.restaurant-checkout .cart-row{justify-content:space-between}.restaurant-checkout .cart-row strong{flex:1}.table-qr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:14px}.table-qr-card{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--bg-soft)}.table-qr-card img{width:110px;height:110px;background:#fff;padding:6px;border-radius:8px}.table-qr-card a{color:var(--accent-ink);font-weight:700;font-size:13px}.hero-art .hero-photo{position:absolute;width:min(100%,560px);height:440px;object-fit:cover;object-position:58% center;border-radius:30px;box-shadow:var(--shadow-lg)}.hero-art .art-circle{opacity:.35;transform:translate(30px,20px)}.hero-art .shop-preview{width:260px;margin-left:-160px;margin-top:200px;transform:rotate(-5deg)}.hero-art .shop-preview:hover{transform:rotate(0) translateY(-6px)}.hero-art .floating-tag{z-index:2}@media(max-width:760px){.hero-art .hero-photo{height:380px}.hero-art .shop-preview{margin-left:-90px;margin-top:140px;width:245px}}.header-inner{gap:20px;min-width:0}.header-inner>.brand{flex:none;white-space:nowrap}.header-controls{display:flex;align-items:center;gap:8px}.header-controls .theme-toggle{display:none}.header-menu-toggle{display:none;width:42px;height:42px;place-items:center;border:1px solid var(--line);border-radius:12px;background:var(--card)}@media(max-width:760px){html,body,#root{max-width:100%;overflow-x:clip}.header{-webkit-backdrop-filter:none;backdrop-filter:none}.header-inner{position:relative;height:62px;justify-content:space-between;padding-inline:16px}.header-inner>.brand{min-width:0;font-size:17px;gap:7px}.header-inner .brand-mark{flex:none;width:34px;height:34px}.header-controls .theme-toggle{display:grid;place-items:center}.header-menu-toggle{display:grid}.header nav{display:none;position:absolute;top:calc(100% + 1px);right:16px;left:16px;z-index:50;flex-direction:column;align-items:stretch;gap:0;background:var(--card);color:var(--ink);padding:10px;border:1px solid var(--line);border-radius:0 0 16px 16px;box-shadow:var(--shadow-lg)}.header nav.menu-open{display:flex}.header nav a{display:flex;justify-content:space-between;align-items:center;min-height:44px;padding:10px 13px;border-radius:10px;white-space:nowrap}.header nav .btn{justify-content:center;margin-top:5px}.offer-banner{max-width:100vw;overflow:hidden}.store-banner{padding:48px 0 52px}.store-banner h1{font-size:clamp(36px,10vw,48px);overflow-wrap:anywhere}.catalog-head{gap:12px;align-items:end}.catalog-head>span{flex:none;max-width:80px}}@media(max-width:350px){.header-inner>.brand{font-size:15px}.header-inner .brand-mark{width:30px;height:30px}.header-inner{gap:8px}.header-controls{gap:3px}}.coupon-field{display:grid;gap:5px;margin:15px 0;font-weight:700}.coupon-list{display:grid;gap:10px;margin-top:20px}.coupon-list>div{display:flex;align-items:center;flex-wrap:wrap;gap:14px;border-bottom:1px solid var(--line);padding:12px 0}.coupon-list>div>strong{min-width:90px}.coupon-list>div>button{margin-left:auto}.language-select{display:flex;justify-content:flex-end;align-items:center;gap:9px;margin:-22px 0 22px;font-size:13px;font-weight:700;color:var(--muted)}.language-select select{width:auto;min-width:100px;padding:7px 11px;border-radius:10px}@media(max-width:760px){.language-select{margin:-30px 0 24px}}.offer-popup{max-width:440px;width:min(92vw,440px);padding:30px;text-align:center}.offer-popup>img{width:100%;max-height:220px;object-fit:cover;border-radius:14px;margin-bottom:17px}.offer-popup p{white-space:pre-wrap;overflow-wrap:anywhere}.remove-store-panel{margin-top:24px;border:1px solid var(--danger);max-width:680px}.remove-store-panel label{margin:16px 0;max-width:340px}.remove-store-panel label strong{display:inline;color:var(--danger)}.removed-store{display:flex;flex-wrap:wrap;align-items:end;gap:14px;border-top:1px solid var(--line);padding:16px 0}.removed-store>div{flex:1;min-width:170px}.removed-store small{display:block;color:var(--muted)}.removed-store label{min-width:210px}.admin-delete-inline{display:flex;gap:6px;margin-top:8px}.admin-delete-inline input{min-width:115px;max-width:180px;font-size:12px;padding:7px 8px}.remove-confirm{margin-top:14px;padding:18px;border:1px solid var(--danger);border-radius:14px}.remove-confirm p{margin:0 0 12px}.remove-confirm button+button{margin-left:10px}
