:root{--bg: #0c0c0c;--bg-card: #161616;--bg-hover: #1c1c1c;--header-bg: rgba(12, 12, 12, .9);--fg: #f5f5f5;--fg-muted: #737373;--accent: #d4a853;--accent-hover: #e6bc6a;--border: rgba(255, 255, 255, .06);--success: #4ade80;--error: #f87171}[data-theme=light]{--bg: #f7f5f1;--bg-card: #fffcf7;--bg-hover: #f1ece3;--header-bg: rgba(247, 245, 241, .92);--fg: #1f1b16;--fg-muted: #7d7469;--accent: #b8893a;--accent-hover: #c8994f;--border: rgba(39, 27, 14, .13);--success: #2f8d56;--error: #c94c4c}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,sans-serif;background:var(--bg);color:var(--fg);line-height:1.5;-webkit-font-smoothing:antialiased;transition:background-color .3s ease,color .3s ease}.font-display{font-family:Playfair Display,serif}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--fg-muted)}.container{max-width:1400px;margin:0 auto;padding:0 24px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;font-size:13px;font-weight:500;letter-spacing:.02em;border:none;cursor:pointer;transition:all .2s ease}.btn-primary{background:var(--accent);color:var(--bg)}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-ghost{background:transparent;color:var(--fg);border:1px solid var(--border)}.btn-ghost:hover{border-color:var(--fg-muted);background:var(--bg-hover)}.btn-sm{padding:8px 16px;font-size:12px}.input{width:100%;padding:12px 14px;background:var(--bg);border:1px solid var(--border);color:var(--fg);font-family:inherit;font-size:14px;transition:border-color .2s ease}.input:focus{outline:none;border-color:var(--accent)}.input::placeholder{color:var(--fg-muted)}select.input{cursor:pointer}textarea.input{resize:none;min-height:100px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;padding:20px;z-index:100;animation:fadeIn .2s ease}.modal{background:var(--bg-card);border:1px solid var(--border);width:100%;max-width:420px;max-height:90vh;overflow-y:auto;animation:scaleIn .2s ease;box-shadow:0 16px 44px #0003}.modal-lg{max-width:600px}.modal-product{max-width:min(1320px,calc(100vw - 40px))}.product-card{overflow:hidden}.product-card:hover{transform:translateY(-6px);border-color:#d4a85373;box-shadow:0 18px 36px #00000059}[data-theme=light] .product-card:hover{border-color:#b8893a80;box-shadow:0 16px 28px #31241429}.product-card:hover .product-card-image img{transform:scale(1.06)}.recommended-badge{position:absolute;right:12px;bottom:12px;background:#0000009e;color:#fff;border:1px solid rgba(255,255,255,.2);padding:5px 9px;font-size:10px;letter-spacing:.05em;text-transform:uppercase}.gender-split-card{display:grid;gap:4px;text-align:left;background:var(--bg-card);border:1px solid var(--border);color:var(--fg);padding:18px;cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.gender-split-card:hover{transform:translateY(-2px);box-shadow:0 10px 22px #0000002e}[data-theme=light] .recommended-badge{background:#fffcf7eb;color:var(--fg);border-color:#1f1b1633}.catalog-card-enter{opacity:0;transform:translateY(16px);animation:cardEnter .45s ease forwards}.product-card-skeleton{background:var(--bg-card);border:1px solid var(--border)}.skeleton{background:linear-gradient(90deg,#1a1a1a,#242424,#1a1a1a)}[data-theme=light] .skeleton{background:linear-gradient(90deg,#efe9df,#f8f2e9,#efe9df)}.shimmer{background-size:220% 100%;animation:shimmer 1.3s linear infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes cardEnter{to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-20% 0}}@media (max-width: 768px){.container{padding:0 16px}}
