  body { font-family: var(--font-body); background:var(--site-base); color:var(--site-text-body); line-height:var(--site-line-height); overflow-x:hidden; }
  
  .text-muted { color:var(--site-neutral-500); }
  .small { font-size:var(--text-xs); }

  
  
  .header-fixed-wrap { position:fixed; top:0; left:0; right:0; z-index:160; padding-top:env(safe-area-inset-top); }
  
  
  
  
  .header { width:100%; max-width:100%; height:76px; display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:var(--space-4); align-items:center; padding:0 64px; background:var(--site-surface); box-shadow:var(--shadow-sm);
    transition: box-shadow var(--dur-base) ease, height var(--dur-base) ease, padding var(--dur-base) ease; position:relative; }
  
  .header-left { justify-self:start; display:flex; align-items:center; gap:var(--space-2); min-width:0; }
  
  .mobile-branch-row {
    display:none; align-items:center; gap:8px; padding:11px 12px; border-radius:var(--radius-sm);
    color:var(--site-neutral-900); font-size:var(--text-sm); font-weight:600; cursor:pointer;
    box-sizing:border-box; transition:background var(--dur-fast) ease;
  }
  .mobile-branch-row:hover { background:var(--site-neutral-100); }
  .mobile-branch-row #mobileBranchLabel { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; flex:1; min-width:0; }
  #mobileBranchDivider { display:none; }
  @media (max-width:640px) {
    #branchChip { display:none; }
    .mobile-branch-row { display:flex; }
    #mobileBranchDivider { display:block; }
  }
  .header.scrolled { height:60px; }
  @media (max-width:1100px) { .header { padding:0 32px; } }
  @media (max-width:640px) { .header { padding:0 16px; } }

  
  .burger { display:none; width:20px; height:15px; flex-direction:column; justify-content:space-between; cursor:pointer; }
  .burger span { display:block; height:2px; background:var(--site-neutral-900); border-radius:2px; }
  
  .logo { font-family:var(--font-display); font-size:20px; font-weight:600; letter-spacing:0.2px; color:var(--site-neutral-900); transition:font-size var(--dur-base) ease; white-space:nowrap; max-width:38vw; overflow:hidden; text-overflow:ellipsis; cursor:pointer; flex-shrink:0; }
  .logo:focus-visible { outline:2px solid var(--site-accent); outline-offset:4px; border-radius:4px; }
  .header.scrolled .logo { font-size:19px; }
  
  @media (max-width:640px) { .logo { font-size:16px; } .header.scrolled .logo { font-size:15px; } }
  @media (max-width:360px) { .logo { font-size:14px; max-width:34vw; } }
  .logo .accent { color:var(--site-accent-dark); }
  
  .logo img { height:40px; vertical-align:middle; }
  
  .logo-svg svg { height:40px; width:auto; display:block; fill:currentColor; }
  
  .header-nav-links { display:flex; align-items:center; gap:18px; flex-shrink:0; }
  .header-nav-links a { font-size:13px; font-weight:600; color:var(--site-neutral-700); text-decoration:none; white-space:nowrap; transition:color var(--dur-fast) ease; }
  .header-nav-links a:hover { color:var(--site-neutral-900); }
  @media (max-width:1200px) { .header-nav-links { display:none; } }
  
  .header-search-btn {
    width:38px; height:38px; border-radius:50%; border:none; flex-shrink:0; cursor:pointer;
    background:var(--site-neutral-100); color:var(--site-neutral-700); display:flex; align-items:center; justify-content:center;
    transition:background var(--dur-fast) ease;
  }
  .header-search-btn:hover { background:var(--site-neutral-300); }
  .header-search-btn svg { width:16px; height:16px; }
  
  .search-modal-card { grid-template-columns:1fr; width:560px; max-width:92vw; max-height:74vh; padding:28px; box-sizing:border-box; }
  @media (max-width:640px) { .search-modal-card { padding:20px; width:94vw; } }
  .search-modal-input-row { display:flex; align-items:center; gap:12px; padding-bottom:16px; margin-bottom:4px; border-bottom:1px solid var(--site-neutral-200); }
  .search-modal-input-row svg { width:20px; height:20px; color:var(--site-neutral-500); flex-shrink:0; }
  .search-modal-input-row input { flex:1; min-width:0; border:none; background:none; font-family:inherit; font-size:17px; color:var(--site-neutral-900); outline:none; padding:4px 0; }
  .search-modal-input-row input::placeholder { color:var(--site-neutral-500); }
  
  .header-search-results { display:none; max-height:360px; overflow-y:auto; }
  .header-search-results.show { display:block; }
  #headerSearchResults { position:static; box-shadow:none; border-radius:0; max-height:50vh; }
  
  @keyframes searchResultIn { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
  .header-search-result-item { display:flex; align-items:center; gap:12px; padding:10px 4px; border-radius:var(--radius-sm); cursor:pointer; text-align:left; transition:background var(--dur-fast) ease; animation:searchResultIn 240ms cubic-bezier(.22,1,.36,1) backwards; }
  .header-search-result-item:hover { background:var(--site-neutral-100); }
  .header-search-result-item:nth-child(1) { animation-delay:0ms; }
  .header-search-result-item:nth-child(2) { animation-delay:30ms; }
  .header-search-result-item:nth-child(3) { animation-delay:60ms; }
  .header-search-result-item:nth-child(4) { animation-delay:90ms; }
  .header-search-result-item:nth-child(5) { animation-delay:120ms; }
  .header-search-result-item:nth-child(6) { animation-delay:150ms; }
  .header-search-result-item:nth-child(7) { animation-delay:180ms; }
  .header-search-result-item:nth-child(8) { animation-delay:210ms; }
  @media (prefers-reduced-motion:reduce) { .header-search-result-item { animation:none; } }
  .header-search-result-thumb { width:48px; height:48px; border-radius:var(--radius-sm); background-size:cover; background-position:center; background-color:var(--site-neutral-100); flex-shrink:0; display:flex; align-items:center; justify-content:center; color:var(--site-neutral-500); }
  .header-search-result-thumb svg { width:20px; height:20px; }
  .header-search-result-info { min-width:0; flex:1; }
  .header-search-result-name { font-size:14px; font-weight:600; color:var(--site-neutral-900); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .header-search-result-price { font-size:12.5px; color:var(--site-neutral-500); margin-top:2px; }
  .header-search-empty { padding:24px 4px; font-size:13px; color:var(--site-neutral-500); text-align:center; }
  
  .header-search-section-label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:0.4px; color:var(--site-neutral-500); padding:12px 4px 6px; }
  .header-search-section-label:first-child { padding-top:0; }
  .header-right-group { justify-self:end; display:flex; align-items:center; gap:var(--space-4); min-width:0; }
  
  
  
  .branch-chip, .cabinet-fab, .cart-fab, .header-bonus-badge {
    height:38px; border-radius:var(--radius-pill); background:var(--site-neutral-100);
    color:var(--site-neutral-700); cursor:pointer; transition:background var(--dur-fast) ease;
  }
  .branch-chip:hover, .cabinet-fab:hover, .cart-fab:hover, .header-bonus-badge:hover { background:var(--site-neutral-300); }
  .branch-chip { display:flex; align-items:center; gap:7px; padding:0 14px; font-size:var(--text-xs); white-space:nowrap; min-width:0; box-sizing:border-box; }
  #branchLabel { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
  
  
  .cart-branch-chip { height:auto; background:var(--site-surface) !important; color:var(--site-neutral-900) !important; margin-bottom:10px; white-space:normal; width:100%; padding:10px 12px; }
  .cart-row-chevron { margin-left:auto; color:var(--site-neutral-500); font-size:16px; flex-shrink:0; }
  .branch-dot { width:6px; height:6px; border-radius:50%; background:var(--site-success); flex-shrink:0; }
  .branch-dot.closed { background:var(--site-error); }
  .header-right { display:flex; align-items:center; gap:var(--space-2); }
  .header-phone { font-size:13px; font-weight:700; color:var(--site-neutral-900); text-decoration:none; white-space:nowrap; flex-shrink:0; }
  .header-phone:hover { color:var(--site-accent-dark); }
  @media (max-width:900px) { .header-phone { display:none !important; } }
  .login-btn { height:38px; box-sizing:border-box; display:flex; align-items:center; font-size:var(--text-xs); font-weight:700; color:#fff; background:var(--site-accent); padding:0 18px; border:none; border-radius:var(--radius-pill); cursor:pointer; white-space:nowrap; }
  .login-btn:focus { outline:none; }
  .cart-fab { position:relative; width:38px; display:flex; align-items:center; justify-content:center; flex-shrink:0; border:none; }
  .cabinet-fab { position:relative; width:38px; display:flex; align-items:center; justify-content:center; flex-shrink:0; border:none; }
  .header-bonus-badge { display:flex; align-items:center; gap:6px; padding:0 14px; font-size:var(--text-xs); font-weight:700; white-space:nowrap; box-sizing:border-box; }
  .header-bonus-badge svg { width:16px; height:16px; flex-shrink:0; }
  @media (max-width:640px) { .header-bonus-badge { display:none !important; } }
  .cart-fab svg, .cabinet-fab svg { width:16px; height:16px; stroke:currentColor; }
  .cart-count { position:absolute; top:-4px; right:-4px; background:var(--site-error); color:#fff; font-size:9px; font-weight:800; width:16px; height:16px; border-radius:50%; display:flex; align-items:center; justify-content:center; transform:scale(0); transition:transform var(--dur-base) cubic-bezier(.34,1.56,.64,1); }
  .cart-count.show { transform:scale(1); }

  
  .branch-panel { position:fixed; top:calc(84px + env(safe-area-inset-top)); left:16px; right:auto; width:280px; background:#fff; border-radius:var(--radius-lg); padding:10px; box-shadow:0 10px 30px rgba(0,0,0,0.15); transform:translateY(-8px) scale(0.96); opacity:0; pointer-events:none; transition:transform 0.22s cubic-bezier(.22,1,.36,1), opacity 0.22s ease; z-index:180; }
  .branch-panel.open { transform:translateY(0) scale(1); opacity:1; pointer-events:auto; }
  .branch-item { display:flex; align-items:center; gap:8px; padding:10px 12px; border-radius:var(--radius-md); font-size:13px; font-weight:600; color:#2E2E2E; cursor:pointer; }
  .branch-item:hover { background:#F2F3EC; }
  .branch-item.active { background:#F2F3EC; }
  .branch-item-sub { font-size:11px; color:#8A8A82; font-weight:500; }
  @media (max-width:640px) { .branch-panel { left:16px; right:16px; width:auto; } }

  
  
  .cabinet-panel { position:fixed; inset:0; background:var(--site-surface); box-shadow:var(--shadow-lg); transform:translateX(100%); opacity:1; pointer-events:none; transition:transform var(--dur-base) cubic-bezier(.22,1,.36,1); z-index:180; display:flex; flex-direction:column; overflow:hidden; }
  .cabinet-panel.open { transform:translateX(0); pointer-events:auto; }
  .cabinet-panel-header { display:flex; align-items:center; gap:8px; padding:14px 16px; border-bottom:1px solid var(--site-neutral-100); flex-shrink:0; }
  .cabinet-panel-title { font-family:var(--font-display); color:var(--site-text-heading); font-size:var(--text-lg); font-weight:600; flex:1; }
  
  .cabinet-panel-body { display:flex; flex:1; min-height:0; position:relative; }
  .cabinet-nav { width:56px; flex-shrink:0; padding:10px 8px; border-right:1px solid var(--site-neutral-100); overflow-y:auto; overflow-x:hidden; display:flex; flex-direction:column; align-items:center; gap:4px; }
  .cabinet-nav-item { position:relative; width:40px; height:40px; flex-shrink:0; display:flex; align-items:center; justify-content:center; background:none; border:none; border-radius:var(--radius-md); color:var(--site-neutral-500); cursor:pointer; padding:0; transition:background var(--dur-fast) ease, color var(--dur-fast) ease; }
  .cabinet-nav-item svg { width:22px; height:22px; stroke:currentColor; fill:none; flex-shrink:0; }
  .cabinet-nav-item:hover { background:var(--site-neutral-100); color:var(--site-neutral-900); }
  
  .cabinet-nav-item.active { background:var(--site-neutral-100); color:var(--site-neutral-900); box-shadow:inset 3px 0 0 var(--site-accent, #B25A3D); }
  .cabinet-nav-item:focus-visible { outline:2px solid var(--site-accent); outline-offset:2px; }
  .cabinet-nav-badge { position:absolute; top:2px; right:2px; min-width:8px; height:8px; padding:0; border-radius:50%; background:var(--site-error, #E5484D); color:#fff; font-size:9px; font-weight:700; line-height:8px; text-align:center; }
  .cabinet-nav-badge:not(:empty) { min-width:15px; height:15px; padding:0 3px; line-height:15px; }
  
  .cabinet-nav-tooltip { position:fixed; z-index:600; background:var(--site-neutral-900); color:#fff; font-size:12px; font-weight:600; padding:5px 10px; border-radius:6px; white-space:nowrap; opacity:0; pointer-events:none; transition:opacity var(--dur-fast) ease; }
  .cabinet-nav-tooltip.show { opacity:1; }
  
  .cabinet-panel-scroll { flex:1; min-height:0; width:100%; max-width:640px; margin:0 auto; padding:var(--space-4); overflow-y:auto; box-sizing:border-box; }
  
  .cabinet-consent-gate { position:absolute; inset:0; z-index:50; background:var(--site-surface); display:flex; align-items:center; justify-content:center; padding:var(--space-4); text-align:center; }
  .cabinet-consent-gate-box { max-width:280px; }
  .cabinet-consent-gate-box p { color:var(--site-neutral-700); font-size:var(--text-sm); margin-bottom:var(--space-3); }
  .cabinet-consent-gate-box .cabinet-settings-toggle { justify-content:center; margin-bottom:var(--space-3); }
  .cabinet-section { display:none; }
  .cabinet-section.active { display:block; }
  .cabinet-section-title { font-family:var(--font-display); color:var(--site-text-heading); font-size:var(--text-lg); font-weight:600; margin-bottom:var(--space-3); }
  .cabinet-section-title-row { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }
  .cabinet-section-title-row .cabinet-section-title { margin-bottom:0; }
  .cabinet-field-label { display:block; font-size:var(--text-xs); color:var(--site-neutral-700); margin:2px 0 6px; }
  .cabinet-panel-phone { font-size:var(--text-xs); color:var(--site-neutral-500); margin:-8px 0 14px; }
  .cabinet-portal-link { display:block; font-size:var(--text-xs); color:var(--site-accent-dark); text-decoration:none; text-align:center; font-weight:600; margin-bottom:var(--space-3); }
  .cabinet-logout-btn { display:block; width:100%; background:none; border:1px solid var(--site-neutral-300); border-radius:var(--radius-md); padding:10px; font-size:var(--text-xs); font-weight:700; color:var(--site-error); cursor:pointer; transition:background var(--dur-fast) ease; }
  .cabinet-logout-btn:hover { background:var(--site-neutral-100); }
  
  .cabinet-settings-block { margin-bottom:var(--space-4); }
  .cabinet-settings-toggle { display:flex; align-items:flex-start; gap:8px; font-size:var(--text-sm); color:var(--site-neutral-700); margin-bottom:10px; cursor:pointer; }
  .cabinet-settings-toggle input { margin-top:3px; flex-shrink:0; }
  .cabinet-settings-policy-link { display:inline; background:none; border:none; padding:0; color:var(--site-accent-dark); text-decoration:underline; font-size:inherit; cursor:pointer; }
  .cabinet-settings-push-hint { font-size:var(--text-xs); color:var(--site-neutral-500); margin:-4px 0 10px; padding-left:22px; }
  .cabinet-settings-push-enable-btn { display:block; width:100%; background:var(--site-accent, #B25A3D); color:#fff; border:none; border-radius:var(--radius-sm); padding:9px; font-size:var(--text-xs); font-weight:700; cursor:pointer; margin:2px 0 10px; }
  .cabinet-delete-account-btn { display:block; width:100%; background:none; border:none; padding:10px; font-size:var(--text-xs); color:var(--site-neutral-500); cursor:pointer; text-align:center; margin-top:var(--space-2); }
  .cabinet-delete-account-btn:hover { color:var(--site-error); text-decoration:underline; }

  .menu-panel { position:absolute; top:calc(84px + env(safe-area-inset-top)); left:16px; width:248px; background:var(--site-surface); border-radius:var(--radius-lg); padding:var(--space-2); box-shadow:var(--shadow-md); transform:translateY(-8px) scale(0.96); opacity:0; pointer-events:none; transition:transform var(--dur-base) cubic-bezier(.22,1,.36,1), opacity var(--dur-base) ease; z-index:120; }
  .menu-panel.open { transform:translateY(0) scale(1); opacity:1; pointer-events:auto; }
  .menu-link { display:block; padding:11px 12px; border-radius:var(--radius-sm); font-size:var(--text-sm); font-weight:600; color:var(--site-neutral-900); cursor:pointer; transition:background var(--dur-fast) ease; }
  .menu-link:hover { background:var(--site-neutral-100); }
  .menu-divider { height:1px; background:var(--site-neutral-300); margin:6px 4px; }
  .menu-contact { font-size:var(--text-xs); color:var(--site-neutral-500); padding:8px 12px 4px; }
  .menu-contact b { color:var(--site-neutral-900); display:block; font-size:var(--text-sm); margin-top:2px; }
  
  .menu-section-title { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:0.5px; color:var(--site-neutral-500); padding:6px 12px 2px; }
  .menu-hours-item { display:flex; align-items:flex-start; gap:8px; padding:8px 12px; }
  .menu-hours-item .branch-dot { margin-top:5px; }
  .menu-hours-item-sub { font-size:11px; color:var(--site-neutral-500); font-weight:500; }
  .menu-social-row { display:flex; gap:8px; padding:8px 12px 2px; }
  .menu-social-link { width:32px; height:32px; border-radius:50%; background:var(--site-neutral-100); display:flex; align-items:center; justify-content:center; color:var(--site-neutral-900); transition:background var(--dur-fast) ease; }
  .menu-social-link:hover { background:var(--site-neutral-300); }
  .menu-social-link svg { width:16px; height:16px; fill:currentColor; }
  .menu-click-catcher { position:fixed; inset:0; z-index:110; display:none; }
  .menu-click-catcher.open { display:block; }

  
  .hero-split { width:100%; max-width:1120px; margin:0 auto; padding:var(--space-7) 64px; display:grid; grid-template-columns:1.15fr 1fr; gap:var(--space-6); align-items:center; box-sizing:border-box; }
  
  
  .hero-title { font-family:var(--font-display); color:var(--site-text-heading); font-size:var(--site-hero-title-size); font-weight:600; line-height:1.15; margin-bottom:var(--space-4); text-wrap:balance; }
  
  .hero-cta { display:inline-block; background:var(--site-accent); color:#fff; padding:14px 30px; border-radius:var(--radius-pill); font-weight:700; font-size:var(--text-sm); cursor:pointer; border:none; transition:transform var(--dur-fast) ease; }
  
  .hero-eta-pill { display:inline-flex; align-items:center; gap:7px; background:color-mix(in srgb, var(--site-accent) 14%, white); color:var(--site-accent-dark); font-size:12.5px; font-weight:700; padding:7px 14px; border-radius:var(--radius-pill); margin-bottom:var(--space-3); }
  .hero-eta-pill svg { width:14px; height:14px; flex-shrink:0; }
  .hero-desc { font-size:var(--text-sm); color:var(--site-neutral-700); line-height:1.6; max-width:440px; margin:0 0 var(--space-4); }
  .hero-cta-row { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:var(--space-5); }
  .hero-cta-outline { display:inline-flex; align-items:center; background:none; border:1.5px solid var(--site-neutral-300); color:var(--site-neutral-900); padding:12.5px 28px; border-radius:var(--radius-pill); font-weight:700; font-size:var(--text-sm); cursor:pointer; transition:background var(--dur-fast) ease; }
  .hero-cta-outline:hover { background:var(--site-neutral-100); }
  .hero-stats { display:flex; gap:26px; flex-wrap:wrap; }
  .hero-stats div { display:flex; flex-direction:column; gap:2px; }
  .hero-stats b { font-size:16.5px; font-weight:800; color:var(--site-text-heading); }
  .hero-stats span { font-size:11.5px; color:var(--site-neutral-500); }
  @media (max-width:640px) { .hero-desc { max-width:none; } .hero-stats { gap:18px; } }
  
  
  .hero-photo-box { position:relative; width:100%; aspect-ratio:1/0.85; border-radius:var(--radius-lg); overflow:hidden; background-size:cover; background-position:center top;
    background-color:var(--site-accent);
    background-image: radial-gradient(circle at 25% 15%, rgba(255,255,255,0.25), transparent 45%), linear-gradient(135deg, var(--site-accent), var(--site-accent-secondary)); }
  @media (max-width:1100px) { .hero-split { padding:var(--space-6) 32px; } }
  @media (max-width:900px) {
    .hero-split { grid-template-columns:1fr; gap:var(--space-4); padding:var(--space-5) 16px; }
    .hero-photo-box { order:-1; aspect-ratio:16/10; }
    .hero-title { font-size:var(--site-hero-title-size-mobile); }
  }

  .closed-banner { display:none; margin:var(--space-3) 64px 0; padding:10px 20px; background:#FBEFE4; color:#8A5A2E; font-size:var(--text-xs); border-radius:var(--radius-md); text-align:center; }
  .closed-banner.show { display:block; }
  
  .closing-soon-banner { background:color-mix(in srgb, var(--site-error) 12%, white); color:var(--site-error); font-weight:700; }
  @media (max-width:640px) { .closed-banner { margin:var(--space-3) 16px 0; } }

  .container { max-width:1120px; margin:0 auto; padding:0 64px; display:grid; grid-template-columns:repeat(12,1fr); gap:16px; }
  .full { grid-column:1/-1; }
  @media (max-width:1100px) { .container { padding:0 32px; } }
  @media (max-width:640px) { .container { padding:0 16px; } }

  
  .reveal-block { opacity:0; transform:translateY(12px); transition:opacity 260ms ease, transform 260ms ease; }
  .reveal-block.revealed { opacity:1; transform:translateY(0); }
  .reveal-delay-1 { transition-delay:0ms; }
  .reveal-delay-2 { transition-delay:80ms; }
  .reveal-delay-3 { transition-delay:160ms; }
  @media (prefers-reduced-motion:reduce) {
    .reveal-block { transition:none; opacity:1; transform:none; }
  }

  .section-title { grid-column:1/-1; font-family:var(--font-display); color:var(--site-text-heading); font-size:var(--text-xl); font-weight:600; margin:var(--space-4) 0 var(--space-1); display:flex; align-items:center; gap:10px; }
  .section-note { font-size:var(--text-xs); font-weight:500; color:var(--site-accent-dark); }

  .benefits-row { grid-column:1/-1; display:grid; grid-template-columns:repeat(4,1fr); gap:var(--space-3); margin-top:var(--space-5); }
  .benefit-card { background:var(--site-surface); border-radius:var(--radius-lg); padding:var(--space-4); box-shadow:var(--shadow-sm); }
  .benefit-icon { width:38px; height:38px; border-radius:var(--radius-sm); background:var(--site-neutral-100); display:flex; align-items:center; justify-content:center; color:var(--site-neutral-700); margin-bottom:var(--space-3); }
  .benefit-icon svg { width:19px; height:19px; }
  .benefit-title { font-size:var(--text-sm); font-weight:700; margin-bottom:4px; }
  .benefit-sub { font-size:var(--text-xs); color:var(--site-neutral-500); line-height:1.4; }
  @media (max-width:900px) { .benefits-row { grid-template-columns:repeat(2,1fr); } }

  
  .site-notifications { grid-column:1/-1; display:flex; flex-direction:column; gap:8px; margin-top:var(--space-4); }
  .site-notif { display:flex; align-items:center; gap:12px; padding:12px 16px; border-radius:var(--radius-lg); }
  
  .site-notif-info { background:#EAF1FD; color:#2E6FDB; --notif-accent:#2E6FDB; }
  .site-notif-important { background:#FBEDE7; color:#B25A3D; --notif-accent:#B25A3D; }
  .site-notif-warning { background:#FDF6E3; color:#B8860B; --notif-accent:#B8860B; }
  .site-notif-icon { flex:0 0 auto; display:flex; }
  .site-notif-icon svg { width:20px; height:20px; }
  .site-notif-body { flex:1 1 auto; min-width:0; }
  .site-notif-title { font-weight:700; }
  .site-notif-btn { flex:0 0 auto; background:var(--notif-accent); color:#fff; border-radius:var(--radius-pill); padding:6px 14px; font-size:var(--text-xs); white-space:nowrap; text-decoration:none; }
  .site-notif-close { flex:0 0 auto; background:none; border:none; color:var(--notif-accent); opacity:.55; cursor:pointer; padding:2px; display:flex; }
  .site-notif-close:hover { opacity:1; }
  .site-notif-close svg { width:16px; height:16px; }
  .site-notif-expand { display:none; background:none; border:none; color:currentColor; font-size:var(--text-xs); text-decoration:underline; padding:0; margin-top:2px; cursor:pointer; }
  
  @media (max-width:640px) {
    .site-notif-text-wrap { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
    .site-notif-expanded .site-notif-text-wrap { -webkit-line-clamp:unset; overflow:visible; }
  }

  
  .header-stories-row { display:flex; gap:8px; }
  .story-item { flex-shrink:0; width:38px; display:flex; flex-direction:column; align-items:center; cursor:pointer; }
  .story-ring-wrap { position:relative; width:38px; height:38px; }
  .story-ring-spin {
    position:absolute; inset:0; border-radius:50%;
    background:conic-gradient(from 0deg, var(--site-accent), var(--site-accent-secondary), var(--site-accent-dark), var(--site-accent));
    animation:story-ring-spin 2.6s linear infinite;
  }
  .story-item.viewed .story-ring-spin { background:var(--site-neutral-300); }
  @keyframes story-ring-spin { to { transform:rotate(360deg); } }
  @media (prefers-reduced-motion:reduce) { .story-ring-spin { animation:none; } }
  .story-photo-circle {
    position:absolute; inset:2px; border-radius:50%; background-size:cover; background-position:center;
    background-color:#E39CB0; border:1.5px solid var(--site-surface); box-sizing:border-box;
  }
  @media (max-width:640px) { .header-stories-row { display:none; } }
  
  .stories-row-mobile { display:none; }
  @media (max-width:640px) {
    
    .stories-row-mobile { grid-column:1/-1; display:flex; gap:14px; padding:2px 0 14px; overflow-x:auto; }
    .stories-row-mobile:empty { display:none; }
  }

  .rec-row { grid-column:1/-1; display:flex; gap:var(--space-3); overflow-x:auto; padding-bottom:8px; scrollbar-width:none; }
  .rec-row::-webkit-scrollbar { display:none; }
  
  #upsellRow.rec-row { scrollbar-width:none; gap:10px; }
  
  #upsellRow .rec-card { width:84px; background:var(--site-card-grey); box-shadow:none; }
  #upsellRow .rec-photo { background-color:var(--site-surface); border-radius:var(--radius-sm); margin:6px 6px 0; width:calc(100% - 12px); }
  #upsellRow .rec-info { text-align:center; padding:8px 6px 8px; }
  .rec-row::-webkit-scrollbar { display:none; }
  .rec-card { flex-shrink:0; width:150px; background:var(--site-surface); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-sm); cursor:pointer; transition:opacity var(--dur-base) ease, transform var(--dur-fast) ease; }
  .rec-card:hover { transform:scale(1.03); }
  .rec-photo { position:relative; width:100%; aspect-ratio:1/1; background-size:cover; background-position:center; background-color:var(--site-neutral-100); overflow:hidden; }
  .rec-info { padding:9px 10px 11px; }
  .rec-name { font-size:var(--text-xs); font-weight:600; margin-bottom:4px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.4em; line-height:1.2; }
  .rec-price { font-size:var(--text-sm); font-weight:700; font-family:var(--font-price); color:var(--site-text-heading); }
  
  #recRow { display:grid; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); overflow-x:visible; padding-bottom:0; }
  #recRow .rec-card { width:auto; }
  
  .rec-card-all { display:flex; align-items:center; justify-content:center; background:color-mix(in srgb, var(--site-accent) 9%, var(--site-surface)); border:1px dashed color-mix(in srgb, var(--site-accent) 45%, transparent); }
  .rec-card-all:hover { background:color-mix(in srgb, var(--site-accent) 16%, var(--site-surface)); }
  .rec-card-all-inner { text-align:center; padding:12px; color:var(--site-accent); }
  .rec-card-all-icon svg { width:32px; height:32px; display:block; margin:0 auto 8px; }
  .rec-card-all-text { font-size:var(--text-sm); font-weight:700; line-height:1.2; }

  
  .cat-card { position:relative; aspect-ratio:1/1; border-radius:var(--radius-lg); overflow:hidden; cursor:pointer; text-decoration:none; background-size:cover; background-position:center; transition:transform var(--dur-base) ease; }
  .cat-card:hover { transform:scale(1.015); }
  @media (prefers-reduced-motion:reduce) { .cat-card:hover { transform:none; } }
  .cat-card-overlay { position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,calc(var(--cat-overlay-alpha, 0.55) * 0.1)), rgba(0,0,0,var(--cat-overlay-alpha, 0.55))); }
  
  .cat-card-label { position:absolute; bottom:18px; left:20px; color:#fff; font-family:var(--font-display); font-size:var(--text-lg); font-weight:600; }
  
  @media (max-width:900px) { :root { --cat-card-cols: 2; } }
  
  .cat-card-tint-0 { background-image:linear-gradient(150deg, var(--site-accent), var(--site-accent-secondary)); }
  .cat-card-tint-1 { background-image:linear-gradient(150deg, color-mix(in srgb, var(--site-accent) 55%, var(--site-neutral-100) 45%), var(--site-accent)); }
  .cat-card-tint-2 { background-image:linear-gradient(150deg, color-mix(in srgb, var(--site-accent-secondary) 55%, var(--site-neutral-100) 45%), var(--site-accent-secondary)); }
  .cat-card-tint-3 { background-image:linear-gradient(150deg, color-mix(in srgb, var(--site-accent) 40%, var(--site-accent-secondary) 60%), var(--site-accent-secondary)); }
  .cat-card-tint-4 { background-image:linear-gradient(150deg, color-mix(in srgb, var(--site-neutral-900) 14%, var(--site-base) 86%), color-mix(in srgb, var(--site-accent) 30%, var(--site-neutral-900) 15%)); }
  .cat-card-tint-5 { background-image:linear-gradient(150deg, color-mix(in srgb, var(--site-accent-secondary) 30%, var(--site-accent) 70%), var(--site-accent)); }

  
  .category-view, .info-view { display:none; grid-column:1/-1; grid-template-columns:repeat(12,1fr); gap:16px; margin-top:var(--space-5); }
  .category-view.active, .info-view.active { display:grid; }
  
  .reviews-agg-row { display:flex; align-items:center; gap:16px; margin-bottom:var(--space-4); }
  .reviews-agg-score { font-family:var(--font-price); font-size:42px; font-weight:700; color:var(--site-text-heading); }
  .reviews-agg-stars { color:var(--site-accent, #f5a623); font-size:18px; }
  .reviews-agg-count { font-size:var(--text-sm); color:var(--site-neutral-500); }
  .reviews-filter-row { display:flex; align-items:center; gap:8px; margin-bottom:var(--space-4); }
  .public-review-card { border-bottom:1px solid var(--site-neutral-100); padding:16px 0; }
  .public-review-head { display:flex; justify-content:space-between; gap:10px; font-size:var(--text-sm); }
  .public-review-date { color:var(--site-neutral-500); font-size:var(--text-xs); }
  .public-review-score { font-size:var(--text-xs); color:var(--site-neutral-500); margin:4px 0; }
  .public-review-text { font-size:var(--text-sm); color:var(--site-neutral-700); margin:6px 0; }
  .public-review-media { display:flex; gap:8px; flex-wrap:wrap; margin:6px 0; }
  .public-review-media img, .public-review-media video { width:100px; height:100px; object-fit:cover; border-radius:var(--radius-sm); background:var(--site-neutral-100); }
  .public-review-reply { background:var(--site-card-grey); border-radius:var(--radius-sm); padding:8px 12px; font-size:var(--text-sm); margin-top:6px; }

  
  .home-reviews-title { display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; }
  .home-reviews-agg { font-size:var(--text-sm); font-weight:600; color:var(--site-neutral-500); }
  .home-reviews-grid { grid-column:1/-1; display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--space-3); margin-top:var(--space-2); }
  .home-review-card { background:var(--site-surface); border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); padding:var(--space-4); }
  .home-review-stars { color:#FFB020; font-size:13px; margin-bottom:8px; letter-spacing:1px; }
  .home-review-text { font-size:var(--text-sm); color:var(--site-neutral-900); line-height:1.5; margin-bottom:12px; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
  .home-review-who { display:flex; align-items:center; gap:10px; }
  .home-review-avatar { width:32px; height:32px; border-radius:50%; background:var(--site-neutral-100); color:var(--site-neutral-700); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:12px; flex-shrink:0; }
  .home-review-name { font-size:var(--text-xs); font-weight:700; color:var(--site-text-heading); }
  .home-review-date { font-size:var(--text-xs); color:var(--site-neutral-500); }
  @media (max-width:900px) { .home-reviews-grid { grid-template-columns:1fr; } }
  
  .cat-left-col { grid-column:1 / span 3; position:sticky; top:16px; align-self:start; }
  .cat-sidebar { display:flex; flex-direction:column; gap:6px; }
  
  .cat-sidebar-item { text-align:left; text-decoration:none; background:none; border:1px solid transparent; font-family:inherit; padding:9px 12px; border-radius:var(--radius-md); font-size:var(--text-sm); font-weight:600; color:var(--site-neutral-700); cursor:pointer; transition:background var(--dur-fast) ease, color var(--dur-fast) ease, border-color var(--dur-fast) ease; display:flex; align-items:center; gap:10px; }
  .cat-sidebar-item:hover { background:var(--site-neutral-100); }
  .cat-sidebar-item.active { background:var(--site-neutral-900); border-color:var(--site-neutral-900); color:#fff; }
  .cat-sidebar-item:focus-visible { outline:2px solid var(--site-accent); outline-offset:2px; }
  .cat-sidebar-item-thumb { width:28px; height:28px; border-radius:50%; flex-shrink:0; background-size:cover; background-position:center; background-color:var(--site-neutral-100); }
  
  .cat-sidebar-item-ready { border-color:var(--site-accent); background:color-mix(in srgb, var(--site-accent) 10%, var(--site-surface)); }
  .cat-sidebar-item-ready:hover { background:color-mix(in srgb, var(--site-accent) 18%, var(--site-surface)); }
  .cat-sidebar-item-ready.active { background:var(--site-accent); color:#fff; border-color:var(--site-accent); }
  .cat-sidebar-item-ready-icon { flex-shrink:0; width:16px; height:16px; display:flex; }
  .cat-sidebar-item-ready-icon svg { width:100%; height:100%; }
  
  
  .rec-ready-row { position:absolute; top:8px; left:8px; z-index:2; }
  .rec-ready-row .product-tag-badge { background:var(--site-accent); color:#fff; }
  .back-link { grid-column:1/-1; font-size:var(--text-sm); color:var(--site-accent-dark); font-weight:700; margin-bottom:4px; cursor:pointer; }
  
  .cat-filter-row2 { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:var(--space-3); position:relative; }
  .cat-filter-chip-btn { flex-shrink:0; display:flex; align-items:center; gap:6px; background:var(--site-surface); border:1px solid var(--site-neutral-300); padding:8px 16px; border-radius:var(--radius-pill); font-family:inherit; font-size:var(--text-sm); font-weight:600; color:var(--site-neutral-700); cursor:pointer; white-space:nowrap; transition:background var(--dur-fast) ease, border-color var(--dur-fast) ease, color var(--dur-fast) ease; }
  .cat-filter-chip-btn:hover { background:var(--site-neutral-100); }
  .cat-filter-chip-btn.active { background:color-mix(in srgb, var(--site-accent) 12%, var(--site-surface)); border-color:var(--site-accent); color:var(--site-accent-dark); }
  .cat-filter-chip-btn svg { width:14px; height:14px; flex-shrink:0; }
  .cat-filter-chip-btn.has-panel svg { transition:transform var(--dur-fast) ease; }
  .cat-filter-chip-btn.has-panel.open svg { transform:rotate(180deg); }
  .cat-price-panel { display:none; position:absolute; top:calc(100% + 8px); left:0; z-index:50; background:var(--site-surface); border:1px solid var(--site-neutral-300); border-radius:var(--radius-md); box-shadow:var(--shadow-lg); padding:16px; width:240px; max-width:calc(100vw - 32px); box-sizing:border-box; }
  .cat-price-panel.open { display:block; }
  .cat-price-range { display:flex; gap:8px; }
  .cat-filter-input { font-family:inherit; font-size:max(16px, var(--text-sm)); padding:9px 10px; border:1px solid var(--site-neutral-300); border-radius:var(--radius-md); background:var(--site-surface); color:var(--site-neutral-900); width:0; flex:1; }
  .cat-price-panel-apply { width:100%; margin-top:10px; background:var(--site-neutral-900); color:#fff; border:none; border-radius:var(--radius-pill); padding:9px; font-family:inherit; font-size:var(--text-sm); font-weight:700; cursor:pointer; }
  .cat-filters-reset { flex-shrink:0; background:none; border:none; font-family:inherit; font-size:var(--text-xs); font-weight:700; color:var(--site-accent-dark); cursor:pointer; padding:8px 4px; }
  .cat-sort-select { margin-left:auto; appearance:none; -webkit-appearance:none; -moz-appearance:none; background-color:transparent; border:none; font-family:inherit; font-size:var(--text-sm); font-weight:600; color:var(--site-neutral-700); cursor:pointer; padding:8px 22px 8px 4px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B5C55' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 0 center; background-size:14px; }
  
  .cat-right-col { grid-column:4 / span 9; min-width:0; }
  .cat-products { display:grid; grid-template-columns:repeat(5,1fr); grid-auto-flow:row dense; gap:var(--space-3); align-content:start; }
  
  .cat-products > .product:nth-child(20n+3), .cat-products > .product:nth-child(20n+14) { grid-column:span 2; }
  .cat-products > .product:nth-child(20n+6), .cat-products > .product:nth-child(20n+17) { grid-column:span 4; }
  .cat-products > .product:nth-child(20n+3) .product-photo, .cat-products > .product:nth-child(20n+14) .product-photo { aspect-ratio:1.8/1; }
  .cat-products > .product:nth-child(20n+6) .product-photo, .cat-products > .product:nth-child(20n+17) .product-photo { aspect-ratio:3.4/1; }
  @media (max-width:900px) {
    
    .cat-left-col { grid-column:span 12; position:static; }
    .cat-sidebar { flex-direction:row; overflow-x:auto; gap:8px; padding-bottom:2px; scrollbar-width:none; }
    .cat-sidebar::-webkit-scrollbar { display:none; }
    .cat-sidebar-item { flex-shrink:0; white-space:nowrap; border:1px solid var(--site-neutral-300); border-radius:var(--radius-pill); padding:8px 16px 8px 8px; }
    .cat-sidebar-item-ready { padding-left:14px; }
    .cat-right-col { grid-column:span 12; }
    .cat-products { grid-template-columns:repeat(3,1fr); }
    
    .cat-products > .product:nth-child(20n+3), .cat-products > .product:nth-child(20n+14),
    .cat-products > .product:nth-child(20n+6), .cat-products > .product:nth-child(20n+17) { grid-column:span 1; }
    .cat-products > .product:nth-child(20n+3) .product-photo, .cat-products > .product:nth-child(20n+14) .product-photo,
    .cat-products > .product:nth-child(20n+6) .product-photo, .cat-products > .product:nth-child(20n+17) .product-photo { aspect-ratio:1/1; }
  }
  @media (max-width:640px) { .cat-products { grid-template-columns:repeat(2,1fr); } }

  
  .cat-results-header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; min-height:20px; margin-bottom:var(--space-3); }
  .cat-filter-chips { display:flex; flex-wrap:wrap; gap:8px; }
  .cat-filter-chip { display:inline-flex; align-items:center; gap:6px; background:var(--site-neutral-100); border-radius:var(--radius-pill); padding:6px 10px 6px 12px; font-size:var(--text-xs); font-weight:600; color:var(--site-neutral-700); }
  .cat-filter-chip button { background:none; border:none; font-family:inherit; font-size:var(--text-xs); color:var(--site-neutral-500); cursor:pointer; padding:0; line-height:1; }
  .cat-results-count { font-size:var(--text-xs); color:var(--site-neutral-500); }
  .cat-empty-state { grid-column:1/-1; text-align:center; padding:40px 16px; color:var(--site-neutral-500); }
  .cat-empty-state button { margin-top:12px; }

  
  
  
  .product { display:block; color:inherit; text-decoration:none; background:var(--site-surface); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-sm); cursor:pointer; transition:opacity var(--dur-base) ease, box-shadow var(--dur-base) ease, transform var(--dur-fast) ease; }
  .product:hover { box-shadow:var(--shadow-md); transform:scale(1.03); }
  .product.unavailable { opacity:0.4; pointer-events:none; }
  .product-photo { aspect-ratio:1/1; position:relative; overflow:hidden; border-radius:var(--radius-lg) var(--radius-lg) 0 0; background-size:cover; background-position:center; background-color:var(--site-neutral-100); }
  @media (prefers-reduced-motion:reduce) { .product, .rec-card { transition:none; } .product:hover, .rec-card:hover { transform:none; } }
  
  
  .product-photo.no-photo::before, .rec-photo.no-photo::before {
    content:''; position:absolute; inset:0; margin:auto; width:42px; height:42px;
    background-color:var(--site-neutral-300);
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpath d='M21 15l-5-5L5 21'/%3E%3C/svg%3E") center / contain no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpath d='M21 15l-5-5L5 21'/%3E%3C/svg%3E") center / contain no-repeat;
  }
  .badge-sale { position:absolute; top:10px; left:10px; background:var(--site-accent-secondary); color:#fff; font-size:10px; font-weight:700; padding:4px 9px; border-radius:var(--radius-pill); }
  
  .badge-preorder { position:absolute; top:10px; right:10px; background:var(--site-neutral-900); color:#fff; font-size:10px; font-weight:700; padding:4px 9px; border-radius:var(--radius-pill); }
  .product-preorder-note { font-size:var(--text-xs); color:var(--site-accent-dark); margin-top:2px; }
  .badge-unavail { position:absolute; top:10px; right:10px; background:color-mix(in srgb, var(--site-neutral-900) 75%, transparent); color:#fff; font-size:9px; font-weight:700; padding:4px 9px; border-radius:var(--radius-pill); }
  
  .badge-stock-warn { position:absolute; bottom:10px; left:10px; background:color-mix(in srgb, var(--site-neutral-900) 45%, transparent); color:#fff; font-size:9px; font-weight:600; padding:4px 9px; border-radius:var(--radius-pill); }
  
  .product-tags-row { position:absolute; bottom:10px; right:10px; display:flex; gap:4px; max-width:calc(100% - 20px); overflow:hidden; }
  .product-tag-badge { font-size:9px; font-weight:700; padding:4px 9px; border-radius:var(--radius-pill); white-space:nowrap; }
  
  .custom-request-card { border:1.5px dashed var(--site-neutral-300); }
  .custom-request-photo { display:flex; align-items:center; justify-content:center; background:color-mix(in srgb, var(--site-accent) 12%, var(--site-neutral-100)); }
  
  .crq-anim-icon { width:40px; height:40px; overflow:visible; }
  .crq-anim-icon .crq-vase { stroke:var(--site-neutral-400); fill:none; }
  .crq-anim-icon .crq-flower { fill:var(--site-accent); transform-origin:center; transform-box:fill-box; animation:crqFlowerPop 3.6s ease-in-out infinite; }
  .crq-anim-icon .crq-flower:nth-of-type(2) { animation-delay:.3s; }
  .crq-anim-icon .crq-flower:nth-of-type(3) { animation-delay:.6s; }
  @keyframes crqFlowerPop {
    0%, 100% { opacity:0; transform:scale(.3) translateY(3px); }
    20% { opacity:1; transform:scale(1.15) translateY(0); }
    30% { transform:scale(1) translateY(0); }
    75% { opacity:1; transform:scale(1) translateY(0); }
    90% { opacity:0; transform:scale(.3) translateY(3px); }
  }
  @media (prefers-reduced-motion: reduce) {
    .crq-anim-icon .crq-flower { animation:none; opacity:1; transform:none; }
  }
  .custom-request-sub { font-size:var(--text-xs); color:var(--site-neutral-500); margin-top:2px; }
  .product-info { padding:var(--space-3) var(--space-3) var(--space-4); }
  .product-name { font-size:var(--text-sm); font-weight:600; margin-bottom:6px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.6em; line-height:1.3; }
  .product-price-row { display:flex; align-items:center; justify-content:space-between; }
  .price-old { color:var(--site-neutral-500); text-decoration:line-through; font-size:var(--text-xs); display:block; }
  
  .price-new { color:var(--site-text-heading); font-weight:700; font-size:var(--text-sm); font-family:var(--font-price); }
  
  
  .add-btn { width:34px; height:34px; border-radius:50%; background:var(--site-neutral-900); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:17px; cursor:pointer; border:none; flex-shrink:0; transition:transform var(--dur-fast) ease; }
  
  .grid-stepper { display:flex; align-items:center; gap:6px; background:var(--site-neutral-900); border-radius:var(--radius-pill); padding:4px 6px; flex-shrink:0; }
  .grid-stepper button { width:22px; height:22px; border-radius:50%; border:none; background:rgba(255,255,255,0.22); color:#fff; font-size:14px; font-weight:700; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:transform var(--dur-fast) ease; }
  .grid-stepper button:active { transform:scale(0.88); }
  .grid-stepper span { color:#fff; font-size:12.5px; font-weight:800; min-width:11px; text-align:center; }
  
  .product:focus-visible, .rec-card:focus-visible, .cat-card:focus-visible,
  .add-btn:focus-visible, .showcase-in-cart-badge:focus-visible {
    outline:2px solid var(--site-accent); outline-offset:2px;
  }

  .info-tabs { grid-column:span 3; }
  .info-tab-item { padding:11px 14px; border-radius:var(--radius-md); font-size:13px; font-weight:600; color:#5B5B54; margin-bottom:6px; cursor:pointer; }
  .info-tab-item.active { background:#2E2E2E; color:#fff; }
  .info-content { grid-column:span 9; background:#fff; border-radius:var(--radius-lg); padding:32px; box-shadow:0 2px 10px rgba(0,0,0,0.05); }
  .info-content h2 { font-size:22px; font-weight:800; margin-bottom:16px; }
  .info-content p { font-size:13px; color:#5B5B54; line-height:1.7; margin-bottom:14px; }
  .news-item { padding:14px 0; border-bottom:1px solid #F2F3EC; }
  .news-date { font-size:11px; color:var(--site-accent-dark); font-weight:700; margin-bottom:4px; }
  .news-title { font-size:14px; font-weight:800; margin-bottom:4px; }
  .news-text { font-size:12px; color:#8A8A82; }
  
  .bonus-rules-section { border:1px solid #F2F3EC; border-radius:var(--radius-md); padding:4px 16px; margin-bottom:10px; }
  .bonus-rules-section summary { padding:12px 0; font-size:14px; font-weight:700; cursor:pointer; list-style:none; }
  .bonus-rules-section summary::-webkit-details-marker { display:none; }
  .bonus-rules-section summary::after { content:'+'; float:right; font-weight:400; color:#8A8A82; }
  .bonus-rules-section[open] summary::after { content:'−'; }
  .bonus-rules-section > div { padding-bottom:14px; }
  .bonus-rules-example { background:color-mix(in srgb, var(--site-accent) 10%, transparent); border-radius:var(--radius-sm); padding:10px 12px; }
  .bonus-rules-table { width:100%; border-collapse:collapse; font-size:12.5px; margin-bottom:10px; }
  .bonus-rules-table th, .bonus-rules-table td { text-align:left; padding:8px 6px; border-bottom:1px solid #F2F3EC; }
  .bonus-rules-disclaimer { font-size:11px; color:#8A8A82; margin-top:6px; }
  .bonus-rules-multicabinet-btn { display:inline-block; margin-top:10px; text-decoration:none; text-align:center; }
  .cabinet-bonus-rules-link { margin-top:10px; }
  @media (max-width:900px) { .info-tabs { grid-column:span 12; display:flex; gap:8px; overflow-x:auto; } .info-content { grid-column:span 12; } }

  
  
  .cabinet-avatar-row { display:flex; align-items:center; gap:12px; margin-bottom:16px; }
  .cabinet-avatar { width:52px; height:52px; border-radius:50%; background:var(--site-accent); color:#fff; display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-size:22px; font-weight:700; flex-shrink:0; }
  .cabinet-avatar-name { font-size:var(--text-lg); font-weight:700; color:var(--site-text-heading); }
  .cabinet-avatar-phone { font-size:var(--text-xs); color:var(--site-neutral-500); }
  .cabinet-profile-row { display:flex; gap:10px; margin-bottom:12px; }
  .cabinet-profile-row .field { margin-bottom:0; }
  .cabinet-save-btn { width:100%; margin-top:var(--space-3); }
  .cabinet-balance-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:14px; }
  .cabinet-balance-card { background:var(--site-neutral-100); border-radius:var(--radius-md); padding:14px; }
  .cabinet-balance-label { font-size:var(--text-xs); color:var(--site-neutral-500); margin-bottom:4px; }
  .cabinet-balance-value { font-family:var(--font-price); color:var(--site-text-heading); font-size:22px; font-weight:600; }
  .cabinet-progress-box { background:var(--site-neutral-100); border-radius:var(--radius-md); padding:14px; margin-bottom:6px; }
  .cabinet-progress-track { height:8px; border-radius:4px; background:var(--site-neutral-300); overflow:hidden; margin-top:8px; }
  .cabinet-progress-fill { height:100%; background:var(--site-accent); border-radius:4px; }
  
  .cabinet-tier-status { font-size:var(--text-xs); color:var(--site-neutral-500); margin-bottom:10px; }
  
  .cabinet-cashback-item { background:var(--site-neutral-100); border-radius:var(--radius-md); padding:12px 14px; margin-bottom:8px; display:flex; justify-content:space-between; align-items:center; gap:10px; }
  .cabinet-cashback-item.expires-soon { background:color-mix(in srgb, var(--site-error) 10%, var(--site-neutral-100)); }
  .cabinet-cashback-item-name { font-size:var(--text-sm); font-weight:600; }
  .cabinet-cashback-item-expiry { font-size:var(--text-xs); color:var(--site-neutral-500); margin-top:2px; }
  .cabinet-cashback-item.expires-soon .cabinet-cashback-item-expiry { color:var(--site-error); font-weight:700; }
  .cabinet-cashback-item-percents { text-align:right; white-space:nowrap; }
  .cabinet-cashback-item-percent { font-family:var(--font-display); font-size:20px; font-weight:700; color:var(--site-accent-dark); }
  .cabinet-cashback-item-base { font-size:var(--text-xs); color:var(--site-neutral-500); text-decoration:line-through; margin-left:4px; }
  
  .cabinet-ledger-tabs { display:flex; gap:6px; margin:16px 0 10px; }
  .cabinet-ledger-tab { flex:1; border:none; background:var(--site-neutral-100); color:var(--site-neutral-700); font-size:var(--text-xs); font-weight:700; padding:9px 10px; border-radius:var(--radius-sm); cursor:pointer; transition:background var(--dur-fast) ease, color var(--dur-fast) ease; }
  .cabinet-ledger-tab.active { background:var(--site-neutral-900); color:#fff; }
  .cabinet-ledger-item { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; padding:10px 0; border-bottom:1px solid rgba(0,0,0,0.07); font-size:var(--text-sm); }
  .cabinet-ledger-item-date { font-size:var(--text-xs); color:var(--site-neutral-500); margin-top:2px; }
  .cabinet-ledger-item-amount { font-weight:700; font-family:var(--font-price); color:var(--site-text-heading); white-space:nowrap; }
  .cabinet-ledger-item-amount.credit { color:#2e8b3d; }
  .cabinet-ledger-item-balance { font-size:var(--text-xs); color:var(--site-neutral-500); text-align:right; margin-top:2px; }
  .cabinet-ledger-more-btn { display:block; width:100%; background:var(--site-neutral-100); border:none; border-radius:var(--radius-md); padding:10px; font-size:var(--text-xs); font-weight:700; cursor:pointer; margin-top:10px; transition:background var(--dur-fast) ease; }
  .cabinet-ledger-more-btn:hover { background:var(--site-neutral-300); }
  .cabinet-order-item { background:var(--site-neutral-100); border-radius:var(--radius-md); padding:12px 14px; margin-bottom:8px; display:flex; justify-content:space-between; align-items:center; font-size:var(--text-sm); cursor:pointer; transition:background var(--dur-fast) ease; }
  .cabinet-order-item:hover { background:var(--site-neutral-300); }
  .cabinet-order-item:focus-visible { outline:2px solid var(--site-accent); outline-offset:2px; }
  .cabinet-order-status { font-size:var(--text-xs); color:var(--site-neutral-500); }
  .cabinet-order-review-btn { margin-top:6px; border:1px solid var(--site-accent); background:none; color:var(--site-accent); border-radius:var(--radius-sm); padding:4px 10px; font-size:var(--text-xs); cursor:pointer; }
  .cabinet-order-review-done { display:inline-block; margin-top:6px; font-size:var(--text-xs); color:var(--site-neutral-500); }
  
  .cabinet-review-card { background:var(--site-neutral-100); border-radius:var(--radius-md); padding:12px 14px; margin-bottom:10px; font-size:var(--text-sm); }
  .cabinet-review-head { display:flex; justify-content:space-between; gap:10px; }
  .cabinet-review-date { color:var(--site-neutral-500); font-size:var(--text-xs); }
  .cabinet-review-scores { font-size:var(--text-xs); color:var(--site-neutral-700); margin-top:6px; line-height:1.6; }
  .cabinet-review-overall { font-size:var(--text-xs); color:var(--site-neutral-500); margin-top:2px; }
  .cabinet-review-text { margin-top:6px; }
  .cabinet-review-media { display:flex; gap:8px; flex-wrap:wrap; margin-top:8px; }
  .cabinet-review-media img, .cabinet-review-media video { width:80px; height:80px; object-fit:cover; border-radius:var(--radius-sm); background:var(--site-neutral-300); }
  .cabinet-review-reply { background:var(--site-surface); border-radius:var(--radius-sm); padding:10px 12px; margin-top:10px; font-size:var(--text-sm); }
  .cabinet-review-reply.unread { outline:1.5px solid var(--site-accent); }
  .cabinet-review-reply-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--site-error, #E5484D); margin-left:4px; }
  .cabinet-review-reply-date { color:var(--site-neutral-500); font-size:var(--text-xs); margin:2px 0 4px; }
  .cabinet-review-footer { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; margin-top:10px; }
  .cabinet-review-status { font-size:var(--text-xs); font-weight:700; padding:3px 9px; border-radius:var(--radius-pill); }
  .cabinet-review-status.published { background:#DCF6E3; color:#1A7A3C; }
  .cabinet-review-status.moderation { background:#FFF3D6; color:#8A6100; }
  .cabinet-review-status.private { background:var(--site-neutral-300); color:var(--site-neutral-700); }
  .cabinet-review-consent-toggle { display:flex; align-items:center; gap:6px; font-size:var(--text-xs); color:var(--site-neutral-700); cursor:pointer; }
  .cabinet-reviews-empty { text-align:center; padding:24px 0; }
  
  .cabinet-notification-card { position:relative; display:flex; gap:10px; background:var(--site-neutral-100); border-radius:var(--radius-md); padding:12px 14px; margin-bottom:8px; cursor:pointer; transition:background var(--dur-fast) ease; }
  .cabinet-notification-card:hover { background:var(--site-neutral-300); }
  .cabinet-notification-card.unread { background:var(--site-card-grey); box-shadow:inset 3px 0 0 var(--site-accent); }
  .cabinet-notification-dot { position:absolute; top:12px; right:12px; width:8px; height:8px; border-radius:50%; background:var(--site-error, #E5484D); }
  .cabinet-notification-image { width:56px; height:56px; border-radius:var(--radius-sm); object-fit:cover; flex-shrink:0; background:var(--site-neutral-300); }
  .cabinet-notification-body { flex:1; min-width:0; }
  .cabinet-notification-head { display:flex; justify-content:space-between; gap:10px; font-size:var(--text-sm); padding-right:14px; }
  .cabinet-notification-date { color:var(--site-neutral-500); font-size:var(--text-xs); white-space:nowrap; }
  .cabinet-notification-text { font-size:var(--text-sm); color:var(--site-neutral-700); margin-top:2px; }
  .cabinet-notification-link { display:inline-block; margin-top:8px; padding:5px 14px; font-size:var(--text-xs); }
  
  .active-order-box { background:color-mix(in srgb, var(--site-accent) 8%, var(--site-surface)); border:1px solid color-mix(in srgb, var(--site-accent) 22%, transparent); border-radius:var(--radius-lg); padding:var(--space-4); margin-bottom:var(--space-4); cursor:pointer; transition:box-shadow var(--dur-fast) ease; }
  .active-order-box:hover { box-shadow:var(--shadow-sm); }
  .active-order-box:focus-visible { outline:2px solid var(--site-accent); outline-offset:2px; }
  .active-order-label { font-size:var(--text-xs); font-weight:700; text-transform:uppercase; letter-spacing:0.5px; color:var(--site-accent-dark); margin-bottom:4px; }
  .active-order-number { font-size:var(--text-xs); color:var(--site-neutral-500); margin-bottom:6px; }
  .active-order-status-text { font-family:var(--font-display); color:var(--site-text-heading); font-size:22px; font-weight:600; margin-bottom:var(--space-4); }
  .order-stepper { position:relative; padding:0 6px; }
  .order-stepper-track { position:absolute; top:6px; left:12px; right:12px; height:2px; background:var(--site-neutral-300); }
  .order-stepper-track-fill { height:100%; background:var(--site-accent); transition:width var(--dur-slow) ease; }
  .order-stepper-dots { position:relative; display:flex; justify-content:space-between; }
  .order-stepper-step { display:flex; flex-direction:column; align-items:center; gap:6px; width:25%; }
  .order-stepper-dot { width:12px; height:12px; border-radius:50%; background:var(--site-neutral-300); flex-shrink:0; }
  .order-stepper-step.done .order-stepper-dot { background:var(--site-accent); }
  .order-stepper-step.current .order-stepper-dot { background:var(--site-accent); animation:stepperPulse 1.8s ease-in-out infinite; }
  .order-stepper-label { font-size:10px; color:var(--site-neutral-500); text-align:center; line-height:1.3; }
  .order-stepper-step.done .order-stepper-label, .order-stepper-step.current .order-stepper-label { color:var(--site-neutral-900); font-weight:600; }
  @keyframes stepperPulse { 0%, 100% { transform:scale(1); opacity:1; } 50% { transform:scale(1.5); opacity:0.55; } }
  @media (prefers-reduced-motion:reduce) { .order-stepper-step.current .order-stepper-dot { animation:none; } }
  .cabinet-address-item { display:flex; align-items:center; justify-content:space-between; gap:10px; background:var(--site-neutral-100); border-radius:var(--radius-md); padding:10px 14px; margin-bottom:8px; font-size:var(--text-sm); }
  .cabinet-address-remove { border:none; background:none; color:var(--site-neutral-500); font-size:16px; cursor:pointer; transition:color var(--dur-fast) ease; }
  .cabinet-address-remove:hover { color:var(--site-error); }
  .cabinet-address-add-row { display:flex; gap:10px; margin-top:10px; }
  .cabinet-address-add-row .field { margin-bottom:0; }

  
  
  .footer-band { grid-column:1/-1; }
  .footer { width:100vw; margin-left:calc(50% - 50vw); margin-top:var(--space-7); background:var(--site-neutral-900); box-shadow:none; border-radius:0; }
  .footer-inner { max-width:1120px; margin:0 auto; padding:48px 64px 22px; box-sizing:border-box; }
  @media (max-width:1100px) { .footer-inner { padding:40px 32px 20px; } }
  @media (max-width:640px) { .footer-inner { padding:32px 16px 18px; } }
  .footer-grid { display:grid; grid-template-columns:1.3fr 0.85fr 1fr 1fr 0.8fr; gap:28px; margin-bottom:34px; }
  @media (max-width:900px) { .footer-grid { grid-template-columns:1fr 1fr; gap:24px; } }
  @media (max-width:480px) { .footer-grid { grid-template-columns:1fr; } }
  .footer-logo { font-family:var(--font-display); color:#fff; font-size:18px; font-weight:600; margin-bottom:8px; }
  .footer-logo .accent { color:var(--site-accent); }
  
  .footer-logo.logo-svg svg { height:32px; fill:currentColor; }
  
  .footer-logo img { height:28px; vertical-align:middle; max-width:100%; background:#fff; padding:5px 9px; border-radius:8px; }
  .footer-tagline { font-size:12.5px; color:#8B958A; margin-top:2px; }
  .footer-heading { font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:0.5px; margin-bottom:14px; color:#fff; }
  .footer-line { display:block; width:100%; text-align:left; background:none; border:none; font-family:inherit; font-size:12.5px; color:#9AA096; margin-bottom:9px; cursor:pointer; padding:0; transition:color var(--dur-fast) ease; text-decoration:none; }
  .footer-line.link:hover { color:#fff; text-decoration:none; }
  .footer-line.link:focus-visible { outline:2px solid var(--site-accent); outline-offset:2px; border-radius:2px; }
  .social-row { display:flex; gap:8px; margin-top:2px; }
  .social-icon { width:32px; height:32px; border-radius:50%; background:rgba(255,255,255,0.08); display:flex; align-items:center; justify-content:center; font-size:12px; color:#C9CCC3; transition:background var(--dur-fast) ease; }
  .social-icon:hover { background:rgba(255,255,255,0.18); }
  .social-icon:focus-visible { outline:2px solid var(--site-accent); outline-offset:2px; }
  .social-icon svg { width:16px; height:16px; fill:currentColor; }
  
  .footer-bottom { border-top:1px solid rgba(255,255,255,0.1); padding-top:18px; display:flex; flex-wrap:wrap; gap:6px 16px; font-size:11px; color:#767A72; }
  
  .powered-by-row { width:100vw; margin-left:calc(50% - 50vw); background:var(--site-neutral-900); }
  .powered-by-row .footer-inner { padding-top:0; padding-bottom:18px; text-align:right; }
  .powered-by-badge { display:inline-flex; align-items:center; gap:6px; font-weight:600; font-size:var(--text-xs); color:#767A72; vertical-align:middle; text-decoration:none; opacity:0.75; transition:opacity var(--dur-fast) ease; }
  .powered-by-badge:hover { color:#9AA096; opacity:1; }
  .powered-by-logo { height:26px; width:auto; vertical-align:middle; }

  
  .app-shell { display:flex; padding-top:calc(76px + env(safe-area-inset-top)); }
  .site-content { flex:1; min-width:0; }
  
  .cart-panel { position:fixed; inset:0; z-index:170; background:var(--site-surface); transform:translateX(100%); transition:transform var(--dur-slow) cubic-bezier(.22,1,.36,1); box-shadow:var(--shadow-lg); }
  .cart-panel.open { transform:translateX(0); }
  
  .cart-panel-inner { width:100%; max-width:640px; margin:0 auto; padding:var(--space-4) var(--space-4) 0; height:100dvh; overflow:hidden; box-sizing:border-box; display:flex; flex-direction:column; }
  
  #cartFormView { flex:1 1 auto; display:flex; flex-direction:column; min-height:0; overflow:hidden; }
  #cartStepsScroll { flex:1 1 auto; overflow-y:auto; min-height:0; }
  #paymentView { flex:1 1 auto; overflow-y:auto; min-height:0; }
  .cart-footer { flex-shrink:0; background:var(--site-surface); padding-top:var(--space-2); padding-bottom:max(var(--space-3), env(safe-area-inset-bottom)); z-index:2; box-shadow:0 -6px 14px -12px color-mix(in srgb, var(--site-neutral-900) 40%, transparent); }
  @media (max-width:760px) {
    
    .cart-panel { position:fixed; bottom:0; left:0; right:0; top:auto; width:100% !important; height:0; border-radius:var(--radius-lg) var(--radius-lg) 0 0; transition:height var(--dur-slow) cubic-bezier(.22,1,.36,1); z-index:170; transform:none; }
    .cart-panel.open { height:85vh; }
    
    .cart-panel-inner { width:100%; max-width:none; padding-top:var(--space-2); height:100%; }
  }
  .cart-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:var(--space-3); }
  .cart-title { font-family:var(--font-display); color:var(--site-text-heading); font-size:var(--text-xl); font-weight:600; }
  .close-btn { width:32px; height:32px; border-radius:50%; background:var(--site-neutral-100); display:flex; align-items:center; justify-content:center; cursor:pointer; font-size:16px; border:none; transition:background var(--dur-fast) ease; }
  .close-btn:hover { background:var(--site-neutral-300); }
  
  .payment-hero { text-align:center; padding:20px 12px; background:var(--site-card-grey); border-radius:var(--radius-lg); margin-bottom:16px; animation:paymentHeroIn 0.25s cubic-bezier(.22,1,.36,1); }
  @keyframes paymentHeroIn { from { opacity:0; transform:translateY(8px) scale(0.98); } to { opacity:1; transform:translateY(0) scale(1); } }
  @media (prefers-reduced-motion: reduce) { .payment-hero { animation:none !important; } }
  .payment-hero-label { font-size:var(--text-xs); font-weight:700; text-transform:uppercase; letter-spacing:0.5px; color:var(--site-neutral-500); margin-bottom:6px; }
  .payment-hero-amount { font-family:var(--font-price); color:var(--site-text-heading); font-size:38px; font-weight:700; line-height:1.1; font-variant-numeric:tabular-nums; }
  .payment-hero-note { font-size:var(--text-sm); color:var(--site-neutral-700); margin-top:8px; }
  
  .payment-method-choice { display:flex; gap:2px; margin-bottom:14px; background:var(--site-card-grey); border-radius:var(--radius-pill); padding:4px; }
  .payment-channel-btn { flex:1; background:transparent; border:none; border-radius:var(--radius-pill); padding:9px 8px; font-size:var(--text-sm); font-weight:600; color:var(--site-neutral-700); cursor:pointer; transition:background var(--dur-fast) ease, color var(--dur-fast) ease; }
  .payment-channel-btn.active { background:var(--site-surface); color:var(--site-neutral-900); }
  .payment-channel-icon { margin-right:4px; display:inline-flex; vertical-align:-3px; }
  .payment-channel-icon svg { width:16px; height:16px; }
  .payment-card-channel { text-align:center; padding:8px 0 4px; }
  .payment-card-channel-note { font-size:var(--text-sm); color:var(--site-neutral-700); margin-bottom:14px; }
  .payment-cannot-pay-btn { width:100%; background:none; border:1px solid var(--site-neutral-300); border-radius:var(--radius-pill); padding:11px; font-size:var(--text-sm); font-weight:600; color:var(--site-neutral-700); cursor:pointer; transition:background var(--dur-fast) ease; }
  .payment-cannot-pay-btn:hover { background:var(--site-neutral-100); }
  
  .toggle-row { display:flex; gap:2px; margin-bottom:var(--space-2); background:var(--site-card-grey); border-radius:var(--radius-pill); padding:4px; }
  .toggle-row .toggle { background:transparent; color:var(--site-neutral-700); border-radius:var(--radius-pill); }
  .toggle-row .toggle.active { background:var(--site-surface); color:var(--site-neutral-900); }
  .nearest-time-note { font-size:var(--text-xs); color:var(--site-success); background:color-mix(in srgb, var(--site-success) 12%, white); border-radius:var(--radius-md); padding:8px 12px; margin-bottom:8px; display:none; font-weight:600; }
  
  .cart-zone-select { appearance:none; -webkit-appearance:none; width:100%; box-sizing:border-box; margin-bottom:0; padding:9px 34px 9px 14px; border:1.5px solid var(--site-neutral-300); border-radius:var(--radius-pill); background:var(--site-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 13px center; font-size:var(--text-sm); font-weight:600; color:var(--site-neutral-900); cursor:pointer; transition:border-color var(--dur-fast) ease; }
  .cart-zone-select:focus { outline:none; border-color:var(--site-accent); }
  .cart-zone-select:hover { border-color:var(--site-neutral-500); }
  
  .gift-ladder { display:flex; align-items:center; gap:10px; background:var(--site-surface); border:1px solid color-mix(in srgb, var(--site-neutral-900) 8%, transparent); border-radius:14px; padding:7px 12px; margin-bottom:8px; box-shadow:0 1px 8px color-mix(in srgb, var(--site-neutral-900) 5%, transparent); }
  .gift-ladder-ring { position:relative; width:38px; height:38px; flex-shrink:0; }
  .gift-ladder-ring svg { width:38px; height:38px; transform:rotate(-90deg); }
  .gift-ladder-ring .gl-track { fill:none; stroke:color-mix(in srgb, var(--site-neutral-900) 9%, transparent); stroke-width:3.5; }
  .gift-ladder-ring .gl-arc { fill:none; stroke:var(--site-accent); stroke-width:3.5; stroke-linecap:round; transition:stroke-dashoffset var(--dur-base) ease; }
  .gift-ladder-ring-icon { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:17px; line-height:1; }
  .gift-ladder-ring-icon img { width:20px; height:20px; object-fit:cover; border-radius:5px; display:block; }
  .gift-ladder-text { min-width:0; line-height:1.15; }
  .gift-ladder-title { font-weight:700; font-size:var(--text-sm); color:var(--site-neutral-900); }
  .gift-ladder-sub { color:var(--site-neutral-500); font-size:var(--text-xs); line-height:1.2; }
  .gift-ladder-won-line { color:var(--site-success); font-size:var(--text-xs); font-weight:600; margin-top:2px; }
  
  @keyframes giftLadderPop { 0%{transform:scale(1)} 35%{transform:scale(1.05)} 100%{transform:scale(1)} }
  .gift-ladder-pop { animation:giftLadderPop .45s ease; }
  @keyframes giftWonBurst { 0%{transform:scale(.5);opacity:.2} 55%{transform:scale(1.3)} 100%{transform:scale(1);opacity:1} }
  .gift-won-burst { animation:giftWonBurst .55s cubic-bezier(.2,.8,.2,1); }
  .gift-ladder-title.gift-num-bump { animation:giftLadderPop .35s ease; display:inline-block; }
  @media (prefers-reduced-motion: reduce) {
    .gift-ladder-pop, .gift-won-burst, .gift-num-bump { animation:none; }
    .gift-ladder-ring .gl-arc { transition:none; }
  }
  
  .preorder-date-note { font-size:var(--text-xs); color:var(--site-accent-dark); background:var(--site-neutral-100); border-radius:var(--radius-md); padding:8px 12px; margin-bottom:8px; }
  .preorder-date-note.conflict { color:#8A5A2E; background:#FBEFE4; font-weight:600; }
  
  #slotPickerRow { display:flex; flex-wrap:wrap; gap:8px 10px; align-items:center; margin-bottom:8px; }
  .slot-day-label { flex-basis:100%; font-size:var(--text-xs); font-weight:700; color:var(--site-neutral-700); margin-top:4px; }
  .slot-day-label:first-child { margin-top:0; }
  .slot-chip { background:var(--site-neutral-100); border:2px solid transparent; border-radius:var(--radius-pill); padding:6px 12px; font-size:var(--text-xs); font-weight:600; color:var(--site-neutral-900); cursor:pointer; transition:border-color var(--dur-fast) ease, background var(--dur-fast) ease; }
  .slot-chip.active { border-color:var(--site-accent); background:color-mix(in srgb, var(--site-accent) 10%, white); }
  
  .delivery-calendar-panel { position:relative; background:var(--site-surface); border-radius:var(--radius-md); box-shadow:var(--shadow-md); padding:12px; margin:-2px 0 10px; }
  .delivery-calendar-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; font-size:var(--text-sm); font-weight:700; }
  .delivery-calendar-nav { width:28px; height:28px; border-radius:50%; border:none; background:var(--site-neutral-100); cursor:pointer; font-size:16px; color:var(--site-neutral-900); transition:background var(--dur-fast) ease; }
  .delivery-calendar-nav:hover:not(:disabled) { background:var(--site-neutral-300); }
  .delivery-calendar-nav:disabled { opacity:0.35; cursor:default; }
  .delivery-calendar-weekdays, .delivery-calendar-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:2px; }
  .delivery-calendar-weekdays span { text-align:center; font-size:10px; font-weight:700; color:var(--site-neutral-500); padding:2px 0; }
  .delivery-calendar-day { aspect-ratio:1/1; display:flex; align-items:center; justify-content:center; border:none; border-radius:50%; background:none; font-size:var(--text-xs); font-weight:600; color:var(--site-neutral-900); cursor:pointer; transition:background var(--dur-fast) ease, color var(--dur-fast) ease; }
  .delivery-calendar-day:hover:not(:disabled) { background:var(--site-neutral-100); }
  .delivery-calendar-day.active { background:var(--site-accent); color:#fff; }
  .delivery-calendar-day.today:not(.active) { border:2px solid var(--site-accent); }
  .delivery-calendar-day:disabled { color:var(--site-neutral-300); cursor:default; }
  .delivery-calendar-day.empty { visibility:hidden; cursor:default; }
  .slot-chip-clear { margin-left:4px; opacity:0.75; }
  .slot-chip-clear:hover { opacity:1; }
  .nearest-time-note.show { display:block; }
  .delivery-option-chip { display:flex; align-items:center; justify-content:space-between; gap:10px; background:var(--site-neutral-100); border:2px solid transparent; border-radius:var(--radius-md); padding:9px 12px; margin-bottom:6px; cursor:pointer; font-size:var(--text-sm); transition:border-color var(--dur-base) ease; }
  .delivery-option-chip.active { border-color:var(--site-accent); background:color-mix(in srgb, var(--site-accent) 10%, white); }
  .delivery-option-chip-eta { font-size:var(--text-xs); color:var(--site-neutral-500); }
  .delivery-option-chip-price { font-weight:700; white-space:nowrap; }
  .delivery-option-price-old { text-decoration:line-through; color:var(--site-neutral-500); font-weight:400; }
  
  .payment-method-row { display:grid; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); gap:10px; }
  .payment-method-card { display:flex; align-items:center; gap:10px; background:var(--site-surface); border:2px solid var(--site-neutral-300); border-radius:var(--radius-md); padding:14px 16px; min-height:56px; font-size:var(--text-sm); font-weight:600; color:var(--site-neutral-900); cursor:pointer; text-align:left; transition:border-color var(--dur-fast) ease, background var(--dur-fast) ease, box-shadow var(--dur-fast) ease; }
  .payment-method-card:hover { border-color:var(--site-accent); }
  .payment-method-card.active { border-color:var(--site-accent); background:color-mix(in srgb, var(--site-accent) 10%, white); box-shadow:0 2px 10px color-mix(in srgb, var(--site-accent) 22%, transparent); }
  .payment-method-card-icon { font-size:20px; display:inline-flex; align-items:center; color:var(--site-accent); }
  .payment-method-card-icon svg { width:22px; height:22px; }
  .payment-method-label { font-size:var(--text-sm); font-weight:700; margin-bottom:8px; color:var(--site-neutral-900); }
  .payment-method-label .req { color:var(--site-accent); }
  .switch-row { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 0; font-size:var(--text-xs); color:var(--site-neutral-700); cursor:pointer; }
  .switch-row input { position:absolute; opacity:0; width:1px; height:1px; }
  .switch-track { flex-shrink:0; width:38px; height:22px; border-radius:var(--radius-pill); background:var(--site-neutral-300); position:relative; transition:background var(--dur-fast) ease; }
  .switch-thumb { position:absolute; top:2px; left:2px; width:18px; height:18px; border-radius:50%; background:#fff; transition:transform var(--dur-fast) ease; }
  .switch-row input:checked + .switch-track { background:var(--site-success); }
  .switch-row input:checked + .switch-track .switch-thumb { transform:translateX(16px); }
  .switch-row input:focus-visible + .switch-track { outline:2px solid var(--site-accent); outline-offset:2px; }
  .promo-row { display:flex; gap:8px; align-items:center; }
  .promo-row .field { flex:1; }
  .promo-apply-btn { flex-shrink:0; background:var(--site-neutral-900); color:#fff; border:none; border-radius:var(--radius-md); padding:9px 14px; font-size:var(--text-xs); font-weight:700; cursor:pointer; transition:opacity var(--dur-fast) ease; }
  .promo-apply-btn:disabled { opacity:.5; cursor:not-allowed; }
  #promoCodeNote.error { color:var(--site-error); background:color-mix(in srgb, var(--site-error) 12%, white); }
  .toggle { flex:1; text-align:center; padding:9px; border-radius:var(--radius-md); font-size:var(--text-sm); font-weight:700; background:var(--site-neutral-100); cursor:pointer; border:none; transition:background var(--dur-fast) ease, color var(--dur-fast) ease; }
  .toggle.active { background:var(--site-neutral-900); color:#fff; }
  .field { width:100%; background:var(--site-neutral-100); border:2px solid transparent; border-radius:var(--radius-md); padding:9px 12px; font-size:max(16px, var(--text-sm)); margin-bottom:6px; font-family:inherit; color:var(--site-neutral-900); transition:border-color var(--dur-fast) ease; }
  .field::placeholder { color:var(--site-neutral-500); }
  
  select.field { -webkit-appearance:none; -moz-appearance:none; appearance:none; cursor:pointer;
    padding-right:36px;
    background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239C8D85' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
    background-repeat:no-repeat; background-position:right 12px center; background-size:16px; }
  select.field:focus { border-color:var(--site-accent); outline:none; }
  
  .slot-mode-row { display:flex; gap:8px; flex-basis:100%; margin-bottom:4px; }
  .slot-exact-input { width:auto; min-width:120px; margin-bottom:0; }
  .field:focus { outline:none; border-color:var(--site-accent); background:var(--site-surface); }
  .field:disabled { opacity:0.5; cursor:not-allowed; }
  
  
  .cart-section { background:var(--site-card-grey); border-radius:var(--radius-lg); padding:12px 14px; margin-bottom:var(--space-4); }
  
  .cart-section-title { font-family:var(--font-display); color:var(--site-text-heading); font-size:var(--text-lg); font-weight:600; margin-bottom:var(--space-2); }
  .cart-section:last-of-type { margin-bottom:0; }
  
  .cart-section .field { background:var(--site-surface); }
  .cart-items-list { margin:6px 0; }
  
  .cart-item { display:flex; align-items:center; gap:10px; padding:8px 0; border-bottom:1px solid rgba(0,0,0,0.07); min-height:80px; animation:cartItemIn 0.25s cubic-bezier(.22,1,.36,1); }
  .cart-item.removing { animation:cartItemOut 0.2s ease forwards; overflow:hidden; }
  
  .cart-item.location-mismatch .cart-item-name, .cart-item.location-mismatch .cart-item-price { text-decoration:line-through; color:var(--site-neutral-500); transition:color var(--dur-fast) ease; }
  @keyframes cartItemIn { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
  @keyframes cartItemOut { to { opacity:0; transform:translateX(16px) scale(0.97); max-height:0; padding-top:0; padding-bottom:0; margin:0; } }
  @media (prefers-reduced-motion: reduce) { .cart-item, .cart-item.removing { animation:none !important; } }
  
  .toggle:active, .checkout-btn:active, .cart-item-qty-btn:active, .cart-fab:active, .cabinet-fab:active,
  .login-btn:active, .branch-chip:active, .close-btn:active, .delivery-option-chip:active,
  .phone-verify-mini-btn:active, .cabinet-logout-btn:active, .bonus-deposit-max-btn:active, .payment-channel-btn:active, .payment-cannot-pay-btn:active,
  .rec-card:active, .cat-card:active, .add-btn:active, .branch-select-item:active,
  .hero-cta:active, .cat-sidebar-item:active { transform:scale(0.96); transition:transform 0.1s ease; }
  @media (prefers-reduced-motion: reduce) {
    .toggle:active, .checkout-btn:active, .cart-item-qty-btn:active, .cart-fab:active, .cabinet-fab:active,
    .login-btn:active, .branch-chip:active, .close-btn:active, .delivery-option-chip:active,
    .phone-verify-mini-btn:active, .cabinet-logout-btn:active, .bonus-deposit-max-btn:active, .payment-channel-btn:active, .payment-cannot-pay-btn:active,
    .rec-card:active, .cat-card:active, .add-btn:active, .branch-select-item:active,
    .hero-cta:active, .cat-sidebar-item:active { transform:none; }
  }
  .cart-item-thumb { width:64px; height:64px; border-radius:var(--radius-md); flex-shrink:0; background-size:cover; background-position:center; background-color:var(--site-neutral-100); position:relative; }
  
  .cart-item-thumb.no-photo::before {
    content:''; position:absolute; inset:0; margin:auto; width:22px; height:22px;
    background-color:var(--site-neutral-300);
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpath d='M21 15l-5-5L5 21'/%3E%3C/svg%3E") center / contain no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpath d='M21 15l-5-5L5 21'/%3E%3C/svg%3E") center / contain no-repeat;
  }
  .cart-item-info { flex:1; min-width:0; display:flex; flex-direction:column; gap:5px; font-size:var(--text-sm); }
  .cart-item-name { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .cart-item-price { font-size:var(--text-sm); font-weight:700; white-space:nowrap; font-family:var(--font-price); color:var(--site-text-heading); min-width:70px; text-align:right; }
  
  
  .cart-item-qty { display:flex; align-items:center; gap:6px; background:var(--site-neutral-100); border-radius:var(--radius-pill); padding:3px 4px; }
  .cart-item-qty-btn { position:relative; width:24px; height:24px; border-radius:50%; border:none; background:var(--site-surface); box-shadow:0 1px 3px rgba(0,0,0,0.08); font-weight:800; font-size:12px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background var(--dur-fast) ease; }
  
  .cart-item-qty-btn::before { content:''; position:absolute; inset:-10px; }
  .cart-item-qty-btn:hover { background:var(--site-neutral-300); }
  .cart-item-qty span { font-size:var(--text-xs); font-weight:700; min-width:16px; text-align:center; }
  .cart-item-qty-fixed { font-size:var(--text-xs); color:var(--site-neutral-500); }
  .cart-item-bonus-note { font-size:var(--text-xs); color:var(--site-neutral-500); }
  .cart-item-packaging-note { font-size:var(--text-xs); color:var(--site-neutral-500); }
  
  .cart-item-special-price-btn { font-size:var(--text-xs); color:var(--site-accent, #b25a3d); background:none; border:1px solid currentColor; border-radius:6px; padding:2px 6px; cursor:pointer; margin-top:2px; }
  .cart-item-special-price-note { font-size:var(--text-xs); color:var(--site-accent, #b25a3d); font-weight:700; }
  
  .cart-item.stock-warn { background:color-mix(in srgb, var(--site-accent-secondary) 8%, transparent); border-radius:var(--radius-sm); }
  .cart-item-name-row { display:flex; align-items:center; gap:5px; min-width:0; }
  
  .cart-item-stock-icon { position:relative; flex-shrink:0; width:16px; height:16px; border-radius:50%; border:none; padding:0; font:inherit; background:var(--site-accent-secondary); color:#fff; font-size:10px; font-weight:800; line-height:16px; text-align:center; cursor:pointer; }
  
  .cart-item-stock-icon .stock-tooltip { position:fixed; top:0; left:0; max-width:min(220px, calc(100vw - 24px)); background:var(--site-neutral-900); color:#fff; font-size:11px; font-weight:500; line-height:1.4; padding:8px 10px; border-radius:var(--radius-md); opacity:0; pointer-events:none; transition:opacity var(--dur-fast) ease; z-index:600; text-align:left; }
  .cart-item-stock-icon:hover .stock-tooltip, .cart-item-stock-icon:focus-visible .stock-tooltip, .cart-item-stock-icon.show-tooltip .stock-tooltip { opacity:1; }
  @media (prefers-reduced-motion:reduce) { .cart-item-stock-icon .stock-tooltip { transition:none; } }
  
  .showcase-in-cart-badge { width:32px; height:32px; border-radius:var(--radius-sm); background:var(--site-accent); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:800; }
  
  .cart-item-remove { border:none; background:none; color:var(--site-error); font-size:16px; cursor:pointer; padding:0 4px; transition:color var(--dur-fast) ease; }
  .cart-item-remove:hover { color:color-mix(in srgb, var(--site-error) 75%, black 15%); }
  
  .empty-cart { text-align:center; padding:var(--space-4) 0; color:var(--site-neutral-500); font-size:var(--text-sm); }
  
  
  .cart-empty-state { flex:1 1 auto; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:0 var(--space-4) var(--space-6); gap:6px; }
  .cart-empty-icon { margin-bottom:6px; color:var(--site-neutral-300); }
  .cart-empty-icon svg { width:40px; height:40px; }
  .cart-empty-title { font-family:var(--font-display); color:var(--site-text-heading); font-size:var(--text-lg); font-weight:600; }
  .cart-empty-sub { color:var(--site-neutral-500); font-size:var(--text-sm); margin-bottom:14px; }
  .cart-empty-state .checkout-btn { width:auto; padding:12px 28px; }
  .cart-total-row { display:flex; justify-content:space-between; align-items:baseline; padding:var(--space-2) 0; font-family:var(--font-price); color:var(--site-text-heading); font-size:var(--text-sm); font-weight:600; border-top:1px solid var(--site-neutral-300); margin-top:6px; }
  
  .cart-footer-delivery-row { display:flex; justify-content:space-between; align-items:baseline; padding:1px 0; font-family:var(--font-price); color:var(--site-text-heading); font-size:var(--text-sm); font-weight:600; }
  
  .cart-footer-delivery-row .footer-delivery-value { opacity:.65; }
  .checkout-btn { width:100%; background:var(--site-accent); color:#fff; padding:13px; border-radius:var(--radius-pill); text-align:center; font-weight:700; font-size:var(--text-sm); border:none; cursor:pointer; transition:opacity var(--dur-fast) ease; }
  .checkout-btn:disabled { opacity:.45; cursor:not-allowed; }
  
  .cart-steps-indicator { display:flex; align-items:flex-start; gap:4px; margin-bottom:var(--space-4); }
  .cart-step-dot { flex:1; display:flex; flex-direction:column; align-items:center; gap:4px; position:relative; }
  .cart-step-dot::before { content:''; position:absolute; top:11px; left:-50%; width:100%; height:2px; background:var(--site-neutral-300); z-index:0; }
  .cart-step-dot:first-child::before { display:none; }
  .cart-step-dot-num { width:22px; height:22px; border-radius:50%; background:var(--site-neutral-300); color:var(--site-neutral-500); font-size:11px; font-weight:700; display:flex; align-items:center; justify-content:center; position:relative; z-index:1; transition:background var(--dur-fast) ease, color var(--dur-fast) ease; }
  .cart-step-dot-label { font-size:10px; color:var(--site-neutral-500); text-align:center; line-height:1.2; }
  .cart-step-dot.done::before { background:var(--site-accent); }
  .cart-step-dot.done .cart-step-dot-num { background:var(--site-accent); color:#fff; }
  .cart-step-dot.active .cart-step-dot-num { background:var(--site-accent); color:#fff; }
  .cart-step-dot.active .cart-step-dot-label { color:var(--site-neutral-900); font-weight:600; }
  .cart-step-nav-row { display:flex; gap:8px; }
  .cart-step-back-btn { width:auto; flex-shrink:0; border-radius:var(--radius-pill); padding:0 18px; font-weight:700; font-size:var(--text-sm); background:var(--site-card-grey); color:var(--site-neutral-900); border:none; cursor:pointer; }
  .cart-step-nav-row .checkout-btn, .cart-step-nav-row #cartNextBtn { flex:1; }
  
  .cart-replacement-note.success { background:color-mix(in srgb, var(--site-success) 15%, white); color:var(--site-success); }
  .cart-replacement-note { font-size:var(--text-xs); color:#8A5A2E; background:#FBEFE4; border-radius:var(--radius-md); padding:8px 10px; margin-top:8px; }
  
  .bonus-deposit-box { background:var(--site-neutral-100); border-radius:var(--radius-md); padding:2px 12px; margin-bottom:10px; }
  .bonus-deposit-item { padding:9px 0; }
  .bonus-deposit-item + .bonus-deposit-item { border-top:1px solid var(--site-neutral-300); }
  .bonus-deposit-item-head { display:flex; justify-content:space-between; align-items:baseline; gap:8px; font-size:var(--text-xs); margin-bottom:6px; }
  .bonus-deposit-item-label { font-weight:700; color:var(--site-neutral-900); white-space:nowrap; }
  .bonus-deposit-item-avail { color:var(--site-neutral-500); text-align:right; }
  .bonus-deposit-item-avail b { color:var(--site-neutral-900); font-weight:700; }
  .bonus-deposit-item-controls { display:flex; gap:6px; }
  .bonus-deposit-item-controls .field { margin-bottom:0; background:var(--site-surface); }
  .bonus-deposit-max-btn { flex-shrink:0; background:var(--site-surface); border:1px solid var(--site-neutral-300); border-radius:var(--radius-sm); padding:0 14px; font-size:var(--text-xs); font-weight:700; color:var(--site-neutral-900); cursor:pointer; transition:background var(--dur-fast) ease; }
  .bonus-deposit-max-btn:hover { background:var(--site-neutral-100); }
  .bonus-deposit-max-btn:disabled { opacity:.5; cursor:not-allowed; }
  
  .bonus-deposit-item-note { display:none; font-size:11px; color:var(--site-neutral-500); margin-top:4px; }
  .bonus-deposit-item-note.show { display:block; }

  
  
  .phone-verify-card { background:var(--site-neutral-900); color:#fff; border-radius:var(--radius-md); padding:var(--space-4); text-align:center; margin-bottom:10px; container-type:inline-size; }
  .phone-verify-card-label { font-size:var(--text-xs); color:var(--site-neutral-500); margin-bottom:8px; }
  
  .phone-verify-card-number { display:block; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace; color:#fff; font-size:clamp(18px, 9cqi, 30px); white-space:nowrap; font-weight:700; letter-spacing:.04em; margin-bottom:10px; user-select:all; text-decoration:none; }
  .phone-verify-card-number:focus-visible { outline:2px solid #fff; outline-offset:3px; }
  .phone-verify-card-hint { font-size:var(--text-xs); color:var(--site-neutral-500); display:flex; align-items:center; justify-content:center; gap:6px; }
  .phone-verify-spinner { width:10px; height:10px; border-radius:50%; border:2px solid rgba(255,255,255,.25); border-top-color:var(--site-accent); animation:phoneVerifySpin .8s linear infinite; flex-shrink:0; }
  @media (prefers-reduced-motion:reduce) { .phone-verify-spinner { animation-duration:2.4s; } }
  @keyframes phoneVerifySpin { to { transform:rotate(360deg); } }
  
  .auth-method-tabs { display:flex; flex-direction:column; gap:10px; margin-bottom:var(--space-4); }
  .auth-method-tab { padding:12px; border-radius:var(--radius-md); border:1px solid var(--site-neutral-200); background:var(--site-neutral-50); color:var(--site-neutral-700); font-size:var(--text-sm); font-weight:600; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:8px; }
  .auth-method-tab.active { background:var(--site-neutral-900); color:#fff; border-color:var(--site-neutral-900); }
  
  #authMethodYandexTab { background:#000; color:#fff; border-color:#000; }
  #authMethodYandexTab svg { flex-shrink:0; }
  .auth-method-alt-row { display:flex; flex-direction:row; gap:20px; justify-content:center; margin-bottom:var(--space-4); }
  .auth-method-alt-row .auth-method-tab { flex:0 0 auto; width:44px; height:44px; padding:0; border:none; background:transparent; color:var(--site-neutral-700); }
  .auth-method-alt-row .auth-method-tab.active { color:var(--site-neutral-900); }
  .auth-method-alt-row .auth-method-tab img, .auth-method-alt-row .auth-method-tab svg { width:34px; height:34px; }
  .auth-method-alt-label { text-align:center; font-size:var(--text-xs); color:var(--site-neutral-500); margin:2px 0 2px; }
  #authMaxQrWrap img, #authMaxQrWrap canvas { display:block; margin:0 auto; border-radius:var(--radius-sm); }
  .phone-verify-card-actions { display:flex; gap:8px; margin-top:12px; }
  .phone-verify-mini-btn { flex:1; background:rgba(255,255,255,.12); color:#fff; border:none; border-radius:var(--radius-sm); padding:8px; font-size:var(--text-xs); font-weight:700; cursor:pointer; transition:background var(--dur-fast) ease; }
  .phone-verify-mini-btn:hover { background:rgba(255,255,255,.2); }

  
  .modal-overlay, .story-overlay { position:fixed; inset:0; background:rgba(0,0,0,0); pointer-events:none; transition:background var(--dur-base) ease; z-index:190; display:flex; align-items:center; justify-content:center; padding:20px; }
  .modal-overlay.open, .story-overlay.open { background:rgba(0,0,0,0.5); pointer-events:auto; }
  .modal-card { background:var(--site-surface); border-radius:var(--radius-lg); width:860px; max-width:94vw; max-height:90vh; overflow-y:auto; transform:scale(0.9); opacity:0; transition:transform var(--dur-base) cubic-bezier(.22,1,.36,1), opacity var(--dur-base) ease; display:grid; grid-template-columns:1fr 1fr; }
  .modal-overlay.open .modal-card { transform:scale(1); opacity:1; }
  .modal-photo { position:relative; aspect-ratio:1/1; border-radius:var(--radius-lg) 0 0 var(--radius-lg); background-size:cover; background-position:center; background-color:var(--site-neutral-100); }
  
  .modal-photo-dots { position:absolute; bottom:14px; left:0; right:0; display:flex; justify-content:center; gap:6px; }
  .modal-photo-dot { width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,.5); cursor:pointer; }
  .modal-photo-dot.active { background:#fff; }
  
  .modal-photo-size-badge { position:absolute; top:14px; left:14px; z-index:2; pointer-events:none; background:rgba(0,0,0,.45); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); color:#fff; font-size:11px; font-weight:600; line-height:1.5; padding:6px 10px; border-radius:var(--radius-md); }
  .modal-photo-size-badge div { white-space:nowrap; }
  @media (max-width:700px) { .modal-photo-size-badge { top:10px; left:10px; font-size:10px; padding:4px 8px; } }
  .modal-info { padding:var(--space-6); display:flex; flex-direction:column; }
  .modal-close { position:absolute; top:18px; right:18px; width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,0.9); display:flex; align-items:center; justify-content:center; font-size:16px; cursor:pointer; border:none; z-index:2; transition:background var(--dur-fast) ease; }
  .modal-close:hover { background:#fff; }
  .modal-eyebrow { font-size:var(--text-xs); color:var(--site-accent-dark); font-weight:700; text-transform:uppercase; letter-spacing:0.5px; margin-bottom:8px; }
  .modal-title { font-family:var(--font-display); color:var(--site-text-heading); font-size:26px; font-weight:600; line-height:1.2; margin-bottom:10px; text-wrap:balance; }
  
  .modal-price { font-family:var(--font-price); color:var(--site-text-heading); font-size:var(--text-sm); font-weight:700; margin-bottom:var(--space-2); }
  
  .modal-cashback-note { display:inline-flex; align-items:center; gap:6px; font-size:var(--text-xs); font-weight:600; color:var(--site-success); background:color-mix(in srgb, var(--site-success) 12%, transparent); border-radius:var(--radius-pill); padding:4px 10px; margin-bottom:var(--space-4); }
  .modal-cashback-note .modal-cashback-hint { font-weight:500; color:var(--site-neutral-500); }
  .modal-desc { font-size:var(--text-sm); color:var(--site-neutral-700); line-height:1.6; margin-bottom:var(--space-4); }
  .modal-stock-warn { font-size:var(--text-xs); color:#8A5A2E; background:#FBEFE4; border-radius:var(--radius-md); padding:8px 12px; margin-bottom:var(--space-4); }
  .modal-preorder-note { font-size:var(--text-xs); font-weight:600; color:#fff; background:var(--site-neutral-900); border-radius:var(--radius-md); padding:8px 12px; margin-bottom:var(--space-3); display:inline-block; }
  .modal-composition { margin-bottom:var(--space-4); }
  .modal-composition-title { font-size:var(--text-xs); font-weight:700; margin-bottom:8px; color:var(--site-neutral-700); }
  .modal-composition-item { font-size:var(--text-sm); color:var(--site-neutral-700); padding:6px 0; border-bottom:1px solid var(--site-neutral-300); display:flex; justify-content:space-between; }
  .modal-packaging { margin-bottom:var(--space-4); }
  .modal-packaging-toggle { display:flex; align-items:center; gap:8px; font-size:var(--text-sm); color:var(--site-neutral-700); cursor:pointer; }
  .modal-packaging-toggle input { width:18px; height:18px; accent-color:var(--site-accent); cursor:pointer; }
  .modal-tags { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:var(--space-5); }
  
  .modal-variants { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:var(--space-3); }
  .modal-variant-chip { padding:6px 12px; border-radius:var(--radius-pill); border:1.5px solid var(--site-neutral-300); background:var(--site-surface); color:var(--site-neutral-900); font-size:var(--text-xs); font-weight:600; line-height:1.3; cursor:pointer; transition:border-color var(--dur-fast) ease, background var(--dur-fast) ease, transform var(--dur-fast) ease; }
  .modal-variant-chip:active { transform:scale(0.95); }
  .modal-variant-chip.active { border-color:var(--site-accent); background:color-mix(in srgb, var(--site-accent) 18%, transparent); }
  .modal-variant-chip.disabled { opacity:.5; cursor:not-allowed; pointer-events:none; }
  @media (prefers-reduced-motion:reduce) { .modal-variant-chip { transition:none; } .modal-variant-chip:active { transform:none; } }
  
  .modal-tag { font-size:var(--text-xs); background:var(--site-neutral-100); color:var(--site-neutral-700); padding:5px 10px; border-radius:var(--radius-pill); cursor:pointer; transition:background var(--dur-fast) ease; }
  .modal-tag:hover { background:var(--site-neutral-300); }
  
  .address-chip { display:inline-flex; align-items:center; gap:6px; }
  .address-chip-icon { width:14px; height:14px; flex-shrink:0; color:var(--site-accent); }
  .modal-footer-row { display:flex; gap:10px; align-items:center; }
  .qty-control { display:flex; align-items:center; gap:10px; background:var(--site-neutral-100); border-radius:var(--radius-md); padding:8px 14px; }
  .qty-btn { position:relative; width:26px; height:26px; border-radius:var(--radius-sm); background:var(--site-surface); display:flex; align-items:center; justify-content:center; font-weight:800; cursor:pointer; border:none; transition:background var(--dur-fast) ease; }
  
  .qty-btn::before { content:''; position:absolute; inset:-9px; }
  .qty-btn:hover { background:var(--site-neutral-300); }
  .qty-btn:disabled { opacity:0.4; cursor:not-allowed; }
  .qty-value { font-size:var(--text-sm); font-weight:700; min-width:16px; text-align:center; }
  
  .modal-add-btn { flex:1; background:var(--site-neutral-900); color:#fff; padding:14px; border-radius:var(--radius-pill); font-weight:700; font-size:var(--text-sm); border:none; cursor:pointer; transition:opacity var(--dur-fast) ease; }
  .modal-close:focus-visible, .qty-btn:focus-visible, .modal-add-btn:focus-visible, .modal-photo-dot:focus-visible {
    outline:2px solid var(--site-accent); outline-offset:2px;
  }
  @media (max-width:700px) { .modal-card { grid-template-columns:1fr; } .modal-photo { border-radius:var(--radius-lg) var(--radius-lg) 0 0; } .modal-info { padding:var(--space-5); } }
  
  
  .modal-card.product-modal-card { display:flex; overflow:hidden; width:1020px; height:min(600px, 90vh); }
  
  .product-modal-card .modal-photo { width:auto; height:100%; aspect-ratio:1/1; flex-shrink:0; }
  .modal-info.product-modal-info { flex:1; min-width:320px; padding:0; height:100%; min-height:0; overflow:hidden; }
  .modal-scroll-area { flex:1; min-height:0; overflow-y:auto; padding:var(--space-6) var(--space-6) 0; }
  
  .modal-footer-pinned { flex-shrink:0; padding:var(--space-3) var(--space-6) calc(var(--space-4) + env(safe-area-inset-bottom)); border-top:1px solid rgba(0,0,0,0.06); }
  .modal-footer-pinned .modal-price { margin-bottom:var(--space-3); }
  
  .product-modal-card .modal-photo, .product-modal-card .modal-scroll-area, .product-modal-card .modal-footer-pinned { transition:opacity 0.18s ease; }
  .product-modal-card.variant-switching .modal-photo, .product-modal-card.variant-switching .modal-scroll-area, .product-modal-card.variant-switching .modal-footer-pinned { opacity:0.35; }
  @media (prefers-reduced-motion:reduce) {
    .product-modal-card .modal-photo, .product-modal-card .modal-scroll-area, .product-modal-card .modal-footer-pinned { transition:none; }
  }
  
  @media (max-width:1060px) {
    .modal-card.product-modal-card { flex-direction:column; height:min(680px, 92vh); }
    .modal-info.product-modal-info { width:100%; padding:0; }
    .modal-scroll-area { padding:var(--space-5) var(--space-5) 0; }
    .modal-footer-pinned { padding:var(--space-3) var(--space-5) calc(var(--space-4) + env(safe-area-inset-bottom)); }
    
    .product-modal-card .modal-photo { width:100%; height:min(50vh, 360px); flex-shrink:0; }
  }

  
  
  #modalOverlay { top:calc(76px + env(safe-area-inset-top)); flex-direction:column; align-items:center; justify-content:flex-start; padding:0; overflow-y:auto; }
  #modalOverlay.open { background:var(--site-base); }
  
  #modalOverlay .modal-card.product-modal-card { width:100%; max-width:1100px; margin:24px auto 0; border-radius:var(--radius-lg); flex-shrink:0; }
  @media (max-width:1140px) { #modalOverlay .modal-card.product-modal-card { margin-top:12px; max-width:calc(100% - 24px); } }
  
  
  .product-page-breadcrumb { display:none; grid-column:unset; width:100%; max-width:1100px; margin:20px auto 0; padding:0 24px; box-sizing:border-box; flex-shrink:0; }
  #modalOverlay.open .product-page-breadcrumb { display:block; }
  @media (max-width:1140px) { .product-page-breadcrumb { max-width:calc(100% - 24px); margin-top:12px; padding:0; } }
  
  .product-page-related { display:none; width:100%; max-width:1100px; margin:0 auto; padding:0 24px 60px; box-sizing:border-box; flex-shrink:0; }
  #modalOverlay.open .product-page-related.show { display:block; }
  .related-products-title { margin:var(--space-5) 0 var(--space-3); }
  .related-products-grid { display:grid; grid-template-columns:repeat(5, 1fr); gap:16px; }
  
  .popular-products-grid { grid-column:1/-1; display:grid; grid-template-columns:repeat(5, 1fr); gap:16px; }
  @media (max-width:900px) { .popular-products-grid { grid-template-columns:repeat(3, 1fr); } }
  @media (max-width:640px) { .popular-products-grid { grid-template-columns:repeat(2, 1fr); gap:12px; } }
  @media (max-width:1140px) { .product-page-related { padding:0 16px 48px; } }
  @media (max-width:760px) { .related-products-grid { grid-template-columns:repeat(2, 1fr); gap:12px; } }

  
  .order-detail-card { grid-template-columns:1fr; width:480px; max-height:85vh; }
  .order-detail-scroll { padding:var(--space-6); overflow-y:auto; }
  
  .auth-modal-card .order-detail-scroll { padding-top:66px; }
  .order-detail-title { font-family:var(--font-display); color:var(--site-text-heading); font-size:var(--text-lg); font-weight:600; margin-bottom:2px; }
  .order-detail-status { font-size:var(--text-xs); color:var(--site-neutral-500); margin-bottom:var(--space-4); }
  .order-detail-section { margin-bottom:var(--space-4); padding-bottom:var(--space-4); border-bottom:1px solid var(--site-neutral-100); }
  .order-detail-section:last-of-type { border-bottom:none; margin-bottom:0; padding-bottom:0; }
  .order-detail-section-label { font-size:var(--text-xs); font-weight:700; text-transform:uppercase; letter-spacing:0.5px; color:var(--site-neutral-500); margin-bottom:var(--space-2); }
  .order-detail-line { display:flex; align-items:center; gap:10px; padding:8px 0; }
  .order-detail-thumb { width:44px; height:44px; border-radius:var(--radius-sm); flex-shrink:0; background-size:cover; background-position:center; background-color:var(--site-neutral-100); }
  .order-detail-line-info { flex:1; min-width:0; }
  .order-detail-line-name { font-size:var(--text-sm); font-weight:600; }
  .order-detail-line-qty { font-size:var(--text-xs); color:var(--site-neutral-500); }
  .order-detail-line-sum { font-size:var(--text-sm); font-weight:700; font-family:var(--font-price); color:var(--site-text-heading); white-space:nowrap; }
  .order-detail-composition { font-size:var(--text-xs); color:var(--site-neutral-500); margin:2px 0 0 54px; line-height:1.5; }
  .order-detail-row { display:flex; justify-content:space-between; gap:10px; font-size:var(--text-sm); padding:4px 0; }
  .order-detail-row .label { color:var(--site-neutral-500); }
  .order-detail-row.total { font-family:var(--font-price); color:var(--site-text-heading); font-size:var(--text-sm); font-weight:600; padding-top:8px; }
  .order-detail-meta { font-size:var(--text-sm); color:var(--site-neutral-700); line-height:1.6; }
  @media (max-width:700px) { .order-detail-card { width:94vw; } }
  .auth-modal-card { grid-template-columns:1fr; width:380px; }
  @media (max-width:700px) { .auth-modal-card { width:94vw; } }

  
  .review-modal-card { grid-template-columns:1fr; width:480px; max-height:88vh; }
  .review-form-scroll { padding:var(--space-6); overflow-y:auto; }
  @media (max-width:700px) { .review-modal-card { width:94vw; } }
  @media (max-width:640px) {
    #reviewOverlay { align-items:flex-end; padding:0; }
    .review-modal-card { width:100%; max-width:100%; border-radius:var(--radius-lg) var(--radius-lg) 0 0; max-height:90vh; }
  }
  .review-form-title { font-family:var(--font-display); color:var(--site-text-heading); font-size:var(--text-lg); font-weight:600; margin-bottom:var(--space-4); }
  .review-criterion { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 0; }
  .review-criterion-label { font-size:var(--text-sm); color:var(--site-neutral-700); }
  .review-stars { display:flex; gap:4px; font-size:22px; line-height:1; cursor:pointer; user-select:none; }
  .review-stars .star { color:var(--site-neutral-300); transition:color var(--dur-fast) ease; }
  .review-stars .star.filled { color:var(--site-accent, #f5a623); }
  .review-overall { text-align:center; margin:var(--space-3) 0; font-size:var(--text-sm); color:var(--site-neutral-500); }
  .review-overall b { color:var(--site-text-heading); font-size:var(--text-lg); }
  .review-comment-field { width:100%; min-height:70px; border:1px solid var(--site-neutral-200); border-radius:var(--radius-sm); padding:10px; font-size:max(16px, var(--text-sm)); font-family:inherit; resize:vertical; box-sizing:border-box; }
  .review-media-row { display:flex; gap:8px; flex-wrap:wrap; margin:var(--space-3) 0; }
  .review-media-thumb { position:relative; width:64px; height:64px; border-radius:var(--radius-sm); overflow:hidden; background:var(--site-neutral-100); }
  .review-media-thumb img, .review-media-thumb video { width:100%; height:100%; object-fit:cover; }
  .review-media-remove { position:absolute; top:2px; right:2px; width:18px; height:18px; border-radius:50%; background:rgba(0,0,0,0.6); color:#fff; border:none; font-size:11px; line-height:1; cursor:pointer; }
  .review-media-add { width:64px; height:64px; border-radius:var(--radius-sm); border:1px dashed var(--site-neutral-300); display:flex; align-items:center; justify-content:center; font-size:22px; color:var(--site-neutral-400); cursor:pointer; }
  .review-consent-row { display:flex; gap:8px; align-items:flex-start; font-size:var(--text-xs); color:var(--site-neutral-600); margin:var(--space-3) 0; }
  .review-external-links { display:flex; gap:8px; margin-top:var(--space-3); flex-wrap:wrap; }
  .review-invite-popover { position:absolute; top:calc(100% + 10px); right:0; width:220px; background:var(--site-surface); border-radius:var(--radius-md); box-shadow:var(--shadow-md, 0 4px 20px rgba(0,0,0,0.15)); padding:12px 14px; font-size:var(--text-xs); z-index:120; animation:reviewPopoverIn 0.2s cubic-bezier(.22,1,.36,1); }
  @keyframes reviewPopoverIn { from { opacity:0; transform:translateY(-6px); } to { opacity:1; transform:translateY(0); } }
  .review-invite-popover-text { color:var(--site-neutral-700); margin-bottom:8px; line-height:1.4; }
  .review-invite-popover-actions { display:flex; gap:8px; align-items:center; justify-content:space-between; }
  .review-invite-popover-btn { border:none; background:var(--site-accent, #B25A3D); color:#fff; border-radius:var(--radius-sm); padding:5px 12px; font-size:var(--text-xs); font-weight:600; cursor:pointer; }
  .review-invite-popover-close { border:none; background:none; color:var(--site-neutral-500); font-size:12px; cursor:pointer; padding:4px; }
  @media (max-width:640px) { .review-invite-popover { width:200px; right:-8px; } }
  
  .pwa-install-banner { position:fixed; left:12px; right:12px; bottom:calc(12px + env(safe-area-inset-bottom)); z-index:150; background:var(--site-surface); border-radius:var(--radius-lg); box-shadow:0 -4px 24px rgba(0,0,0,0.15); padding:14px 16px; display:flex; align-items:center; gap:12px; max-width:420px; margin:0 auto; transform:translateY(120%); transition:transform var(--dur-base) cubic-bezier(.22,1,.36,1); }
  .pwa-install-banner.show { transform:translateY(0); }
  .pwa-install-banner-text { flex:1; min-width:0; font-size:var(--text-sm); }
  .pwa-install-banner-text div { color:var(--site-neutral-500); font-size:var(--text-xs); margin-top:2px; }
  .pwa-install-banner-btn { border:none; background:var(--site-accent, #B25A3D); color:#fff; border-radius:var(--radius-sm); padding:8px 14px; font-size:var(--text-xs); font-weight:700; cursor:pointer; flex-shrink:0; }
  .pwa-install-banner-close { border:none; background:none; color:var(--site-neutral-500); font-size:14px; cursor:pointer; padding:4px; flex-shrink:0; }

  
  .custom-request-modal-card { grid-template-columns:1fr; width:420px; }
  @media (max-width:700px) { .custom-request-modal-card { width:94vw; } }
  .crq-field-label { font-size:var(--text-xs); font-weight:600; color:var(--site-neutral-500); margin:var(--space-3) 0 8px; }
  .crq-options { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:var(--space-2); }
  .crq-chip { padding:9px 16px; border-radius:var(--radius-pill); border:1.5px solid var(--site-neutral-300); background:var(--site-surface); color:var(--site-neutral-900); font-size:var(--text-sm); font-weight:600; cursor:pointer; transition:border-color var(--dur-fast) ease, background var(--dur-fast) ease; }
  .crq-chip.active { border-color:var(--site-accent); background:color-mix(in srgb, var(--site-accent) 18%, transparent); }
  .crq-chip:focus-visible { outline:2px solid var(--site-accent); outline-offset:2px; }

  
  .legal-modal-card { grid-template-columns:1fr; width:640px; }
  .legal-modal-info { padding:36px; font-size:13px; line-height:1.7; color:#5B5B54; }
  .legal-modal-info p { margin-bottom:12px; }
  .branch-select-card { grid-template-columns:1fr; width:420px; }
  .branch-select-card .modal-info { padding:28px; }
  .branch-select-item { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:14px 16px; border-radius:var(--radius-md); background:#F2F3EC; margin-bottom:8px; cursor:pointer; transition:background 0.15s ease; }
  .branch-select-item:hover, .branch-select-item:active { background:#EFF6E2; }
  .branch-select-item-name { font-weight:700; font-size:14px; }
  .branch-select-item-addr { font-size:12px; color:#8A8A82; margin-top:2px; }
  .branch-select-main-badge { font-size:10px; font-weight:700; color:#5f7d16; background:#EFF6E2; border-radius:var(--radius-pill); padding:3px 8px; white-space:nowrap; }

  
  .consent-row { margin:var(--space-2) 0; display:flex; flex-direction:column; gap:6px; }
  .consent-check { display:flex; align-items:flex-start; gap:8px; font-size:var(--text-xs); color:var(--site-neutral-700); cursor:pointer; }
  .consent-check input { margin-top:2px; flex-shrink:0; accent-color:var(--site-accent); }
  .consent-check input:focus-visible { outline:2px solid var(--site-accent); outline-offset:2px; }
  .consent-check a { color:var(--site-accent-dark); text-decoration:underline; }

  .upsell-title { display:block; margin:10px 0 6px; }

  
  .story-viewer { position:relative; width:340px; max-width:90vw; aspect-ratio:9/16; border-radius:var(--radius-lg); overflow:hidden; transform:scale(0.9); opacity:0; transition:transform 0.3s cubic-bezier(.22,1,.36,1), opacity 0.3s ease; background-size:cover; background-position:center; background-color:#E39CB0; }
  .story-overlay.open .story-viewer { transform:scale(1); opacity:1; }
  @media (prefers-reduced-motion:reduce) {
    .story-viewer { transition:opacity 0.15s ease; transform:none !important; }
  }
  .story-viewer-caption { position:absolute; bottom:24px; left:20px; right:20px; color:#fff; z-index:1; }
  
  .story-link-btn { display:inline-block; margin-top:10px; background:#fff; color:var(--site-neutral-900); padding:9px 18px; border-radius:var(--radius-pill); font-weight:700; font-size:var(--text-sm); text-decoration:none; }
  .story-close { position:absolute; top:14px; right:14px; width:30px; height:30px; border-radius:50%; background:rgba(255,255,255,0.25); color:#fff; display:flex; align-items:center; justify-content:center; font-size:15px; cursor:pointer; border:none; z-index:2; }
  
  .story-progress-row { position:absolute; top:10px; left:10px; right:10px; display:flex; gap:4px; z-index:2; }
  .story-progress-bar { flex:1; height:2.5px; border-radius:2px; background:rgba(255,255,255,0.35); overflow:hidden; }
  .story-progress-fill { height:100%; width:0; background:#fff; border-radius:2px; }
  
  .story-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; display:none; }
  .story-overlay.open .story-video { display:block; }
  .story-mute-btn { position:absolute; top:14px; right:52px; width:30px; height:30px; border-radius:50%; background:rgba(255,255,255,0.25); color:#fff; display:none; align-items:center; justify-content:center; font-size:13px; cursor:pointer; border:none; z-index:2; }
  .story-mute-btn.show { display:flex; }

  .checkout-form-row { display:none; }
  .checkout-form-row.active { display:block; }

  .skeleton-shell { position:fixed; inset:0; background:#F2F3EC; z-index:500; overflow:hidden; opacity:1; transition:opacity 0.4s ease; }
  
  .skel { background:linear-gradient(90deg,#E9EAE1 25%,#F3F4EE 37%,#E9EAE1 63%); background-size:400% 100%; animation:skelShimmer 1.4s ease infinite; border-radius:8px; }
  @keyframes skelShimmer { 0% { background-position:100% 50%; } 100% { background-position:0 50%; } }
  @media (prefers-reduced-motion:reduce) { .skel { animation:none; } }
  
  .modal-photo.loading { background-image:linear-gradient(90deg,#E9EAE1 25%,#F3F4EE 37%,#E9EAE1 63%); background-size:400% 100%; animation:skelShimmer 1.4s ease infinite; }
  @media (prefers-reduced-motion:reduce) { .modal-photo.loading { animation:none; } }
  .skeleton-shell.hide { opacity:0; pointer-events:none; }
  
  
  .sk-header { height:76px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 64px; box-sizing:border-box; position:relative; z-index:1; }
  .sk-header-left, .sk-header-right { display:flex; align-items:center; gap:8px; }
  .sk-header-left { justify-self:start; }
  .sk-header-right { justify-self:end; }
  .sk-burger { width:20px; height:15px; border-radius:3px; }
  .sk-branch-chip { width:120px; height:38px; border-radius:var(--radius-pill); }
  .sk-logo-bar { justify-self:center; width:120px; height:24px; border-radius:6px; }
  
  .sk-header-stories { display:flex; gap:8px; }
  .sk-header-story-circle { width:38px; height:38px; border-radius:50%; }
  .sk-login-pill { width:78px; height:38px; border-radius:var(--radius-pill); }
  .sk-cart-circle { width:38px; height:38px; border-radius:50%; }
  @media (max-width:640px) { .sk-header { padding:0 16px; } .sk-header-stories, .sk-branch-chip { display:none; } }
  
  .sk-hero { max-width:1120px; margin:0 auto; padding:var(--space-7) 64px; display:grid; grid-template-columns:1.15fr 1fr; gap:var(--space-6); align-items:center; box-sizing:border-box; }
  .sk-hero-content { display:flex; flex-direction:column; gap:var(--space-4); }
  .sk-hero-photo-box { width:100%; aspect-ratio:1/0.85; border-radius:var(--radius-lg); }
  @media (max-width:900px) { .sk-hero { grid-template-columns:1fr; padding:var(--space-5) 16px; } .sk-hero-photo-box { order:-1; aspect-ratio:16/10; } }
  
  .sk-hero-title-bar { width:100%; max-width:420px; height:40px; border-radius:8px; margin-bottom:var(--space-4); }
  .sk-hero-cta-bar { width:160px; height:46px; border-radius:var(--radius-pill); }
  
  @media (min-width:1201px) { .sk-hero-title-bar { height:55px; } }
  @media (max-width:640px) { .sk-hero-title-bar { max-width:220px; height:30px; } }
  .sk-container { max-width:1120px; margin:0 auto; padding:16px 64px 0; }
  .sk-row { display:flex; gap:12px; margin:16px 0; }
  
  .sk-benefits-row { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-top:16px; }
  .sk-benefit { height:118px; border-radius:var(--radius-lg); }
  @media (max-width:900px) { .sk-benefits-row { grid-template-columns:repeat(2,1fr); } }
  
  .sk-rec { width:150px; flex-shrink:0; }
  .sk-rec-photo { width:150px; aspect-ratio:1/1; border-radius:var(--radius-lg); margin-bottom:8px; }
  .sk-rec-line1 { width:100%; height:14px; border-radius:4px; margin-bottom:6px; }
  .sk-rec-line2 { width:60%; height:14px; border-radius:4px; }
  
  .sk-cats { display:grid; grid-template-columns:repeat(var(--cat-card-cols, 3),1fr); gap:16px; }
  .sk-cat { aspect-ratio:1/1; border-radius:var(--radius-lg); }
  .sk-block { background: linear-gradient(90deg, #E6E7DF 25%, #EFF0E9 37%, #E6E7DF 63%); background-size: 400% 100%; animation: skshimmer 1.4s ease-in-out infinite; }
  @keyframes skshimmer { 0% { background-position: 100% 50%; } 100% { background-position: 0 50%; } }
  @media (prefers-reduced-motion:reduce) { .sk-block { animation:none; } }
  @media (max-width:1100px) { .sk-container { padding:16px 32px 0; } }
  @media (max-width:900px) { .sk-cats { grid-template-columns:repeat(2,1fr); } }
  @media (max-width:640px) { .sk-container { padding:16px 16px 0; } }

  .site-notfound { display:none; min-height:100vh; align-items:center; justify-content:center; flex-direction:column; gap:10px; text-align:center; padding:20px; }
  .site-notfound.show { display:flex; }
  .site-notfound h1 { font-size:22px; font-weight:800; }
  .site-notfound p { color:#8A8A82; font-size:13px; }

  
  .bottom-tabbar { display:none; }
  @media (max-width:1200px) {
    body.has-bottom-tabbar { padding-bottom:calc(58px + env(safe-area-inset-bottom, 0px)); }
    .bottom-tabbar {
      display:flex; position:fixed; left:0; right:0; bottom:0; z-index:1200;
      background:var(--site-surface); border-top:1px solid var(--site-neutral-300);
      padding:7px 4px calc(7px + env(safe-area-inset-bottom, 0px));
      box-shadow:0 -6px 20px rgba(0,0,0,0.06);
    }
    .bottom-tab {
      flex:1; display:flex; flex-direction:column; align-items:center; gap:2px;
      background:none; border:none; font-family:var(--font-body); color:var(--site-neutral-500);
      padding:5px 2px; position:relative; cursor:pointer; transition:transform .12s ease;
    }
    .bottom-tab:active { transform:scale(0.92); }
    .bottom-tab svg { width:22px; height:22px; }
    .bottom-tab span:last-child { font-size:10px; font-weight:700; }
    .bottom-tab.active { color:var(--site-text-heading); }
    .bottom-tab.active svg { color:var(--site-accent); }
    .bottom-tab .bt-badge {
      position:absolute; top:0; right:26%; background:var(--site-accent); color:#fff;
      font-size:9px; font-weight:800; min-width:15px; height:15px; border-radius:8px;
      display:flex; align-items:center; justify-content:center; padding:0 3px;
    }
    @media (prefers-reduced-motion:reduce) { .bottom-tab { transition:none; } }
  }
