:root{--color-primary:#6B2FA0;--color-primary-light:#8B5CF6;--color-primary-dark:#4C1D77;--color-primary-hover:#582485;--color-accent:#A855F7;--color-accent-hover:#9333EA;--bg-base:#FAFAFA;--bg-surface:#FFFFFF;--bg-surface-2:#F4F0FA;--bg-surface-3:#EDE8F5;--text-primary:#1A1025;--text-secondary:#4A3B62;--text-tertiary:#7C6B93;--text-inverse:#FFFFFF;--text-muted:#A89BBE;--border-color:#E2D9EF;--border-focus:#8B5CF6;--color-success:#16A34A;--color-success-bg:#DCFCE7;--color-warning:#D97706;--color-warning-bg:#FEF3C7;--color-error:#DC2626;--color-error-bg:#FEE2E2;--color-info:#2563EB;--color-info-bg:#DBEAFE;--shadow-xs:0 1px 2px 0 rgba(107,47,160,.04);--shadow-sm:0 2px 8px 0 rgba(107,47,160,.06),0 1px 2px 0 rgba(0,0,0,.04);--shadow-md:0 4px 16px 0 rgba(107,47,160,.10),0 2px 4px 0 rgba(0,0,0,.05);--shadow-lg:0 8px 32px 0 rgba(107,47,160,.14),0 4px 8px 0 rgba(0,0,0,.06);--shadow-xl:0 20px 60px 0 rgba(107,47,160,.18);--font-sans:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;--font-mono:'JetBrains Mono','Courier New',monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--spacing-1:0.25rem;--spacing-2:0.5rem;--spacing-3:0.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;--spacing-16:4rem;--spacing-20:5rem;--spacing-24:6rem;--radius-sm:0.375rem;--radius-md:0.625rem;--radius-lg:0.875rem;--radius-xl:1.25rem;--radius-full:9999px;--ease-apple:cubic-bezier(0.16,1,0.3,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--ease-soft:cubic-bezier(0.25,0.8,0.25,1);--transition-fast:180ms cubic-bezier(0.16,1,0.3,1);--transition-base:280ms cubic-bezier(0.16,1,0.3,1);--transition-slow:450ms cubic-bezier(0.16,1,0.3,1);--transition-spring:350ms cubic-bezier(0.34,1.56,0.64,1);--navbar-height:68px;--z-dropdown:100;--z-sticky:200;--z-overlay:300;--z-modal:400;--z-toast:500}[data-theme="dark"]{--bg-base:#0D0714;--bg-surface:#160E25;--bg-surface-2:#1E1433;--bg-surface-3:#261A40;--text-primary:#F0EAFA;--text-secondary:#C4B3D9;--text-tertiary:#9580B4;--text-inverse:#0D0714;--text-muted:#5E4E75;--border-color:#2A1D40;--border-focus:#A855F7;--color-success-bg:#14532D;--color-warning-bg:#451A03;--color-error-bg:#450A0A;--color-info-bg:#1E3A5F;--shadow-xs:0 1px 2px 0 rgba(0,0,0,.3);--shadow-sm:0 2px 8px 0 rgba(0,0,0,.4);--shadow-md:0 4px 16px 0 rgba(0,0,0,.5);--shadow-lg:0 8px 32px 0 rgba(0,0,0,.6);--shadow-xl:0 20px 60px 0 rgba(0,0,0,.7)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip;max-width:100vw}body{font-family:var(--font-sans);font-size:var(--text-base);color:var(--text-primary);background-color:var(--bg-base);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-base),color var(--transition-base);overflow-x:clip;max-width:100vw}img,video{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button{cursor:pointer;border:none;background:none;font-family:inherit}input,textarea,select{font-family:inherit}.container{width:100%;max-width:1280px;margin-inline:auto;padding-inline:var(--spacing-6)}.container--narrow{max-width:800px}.container--wide{max-width:1440px}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.25;color:var(--text-primary)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}p{color:var(--text-secondary);line-height:1.7}.text-muted{color:var(--text-muted)}.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}.text-center{text-align:center}.font-semibold{font-weight:600}.font-bold{font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:0.625rem var(--spacing-5);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;font-family:var(--font-sans);line-height:1;cursor:pointer;transition:all 0.22s cubic-bezier(0.16,1,0.3,1),transform 0.18s cubic-bezier(0.16,1,0.3,1),box-shadow 0.22s cubic-bezier(0.16,1,0.3,1);white-space:nowrap;border:1.5px solid transparent;text-decoration:none;user-select:none;position:relative;overflow:hidden;will-change:transform;-webkit-tap-highlight-color:transparent}button,.btn,.apple-card-btn,input[type="submit"],input[type="button"]{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}button:active,.btn:active,.apple-card-btn:active,input[type="submit"]:active,input[type="button"]:active{transform:translateY(1px) scale(0.97) !important}.btn:disabled{opacity:0.5;cursor:not-allowed;pointer-events:none;transform:none !important}.btn svg,.btn i,.btn [data-lucide]{transition:transform 0.22s cubic-bezier(0.16,1,0.3,1);flex-shrink:0}.btn:hover svg[data-lucide="arrow-right"],.btn:hover svg[data-lucide="chevron-right"],.btn:hover i[data-lucide="arrow-right"],.btn:hover i[data-lucide="chevron-right"]{transform:translateX(3px)}.btn:hover svg[data-lucide="arrow-left"],.btn:hover svg[data-lucide="chevron-left"],.btn:hover i[data-lucide="arrow-left"],.btn:hover i[data-lucide="chevron-left"]{transform:translateX(-3px)}.btn:hover svg[data-lucide="download"],.btn:hover i[data-lucide="download"]{transform:translateY(2px)}.btn:hover svg[data-lucide="external-link"],.btn:hover i[data-lucide="external-link"]{transform:translate(2px,-2px)}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:0 2px 8px rgba(107,47,160,0.2)}.btn-primary:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark);transform:translateY(-2px) scale(1.015);box-shadow:0 8px 24px -4px rgba(107,47,160,0.38);filter:brightness(1.04)}.btn-primary:active{transform:translateY(1px) scale(0.98);box-shadow:0 2px 6px rgba(107,47,160,0.2)}.btn-outline{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn-outline:hover{background:rgba(107,47,160,0.08);border-color:var(--color-primary);color:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 4px 14px -2px rgba(107,47,160,0.16)}.btn-outline:active{transform:translateY(1px) scale(0.98);box-shadow:none}.btn-ghost{background:transparent;color:var(--text-secondary);border-color:transparent}.btn-ghost:hover{background:var(--bg-surface-2);color:var(--color-primary);transform:translateY(-1px)}.btn-ghost:active{transform:translateY(1px) scale(0.98)}.btn-sm{padding:0.375rem var(--spacing-3);font-size:var(--text-xs);border-radius:var(--radius-sm)}.btn-lg{padding:0.875rem var(--spacing-8);font-size:var(--text-base);border-radius:var(--radius-lg)}.btn-icon{padding:0.5rem;width:36px;height:36px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center}.badge{display:inline-flex;align-items:center;padding:0.2rem 0.55rem;border-radius:var(--radius-full);font-size:0.7rem;font-weight:600;letter-spacing:0.02em;text-transform:uppercase;transition:transform 0.2s cubic-bezier(0.16,1,0.3,1),box-shadow 0.2s ease}.badge:hover{transform:scale(1.04)}.badge-primary{background:var(--color-accent);color:#fff}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-error{background:var(--color-error-bg);color:var(--color-error)}.badge-neutral{background:var(--bg-surface-3);color:var(--text-secondary)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-2)}.form-label{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);transition:color 0.2s ease}.form-group:focus-within .form-label{color:var(--color-primary)}.form-control,.input{width:100%;box-sizing:border-box;padding:0.625rem var(--spacing-4);background:var(--bg-surface);border:1.5px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-primary);transition:border-color 0.22s cubic-bezier(0.16,1,0.3,1),box-shadow 0.22s cubic-bezier(0.16,1,0.3,1),background-color 0.2s ease;outline:none}.form-control:hover,.input:hover{border-color:rgba(139,92,246,0.45)}.form-control:focus,.input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3.5px rgba(139,92,246,0.22),0 2px 8px -2px rgba(107,47,160,0.12);background:var(--bg-surface)}.form-control::placeholder,.input::placeholder{color:var(--text-muted);transition:opacity 0.2s ease}.form-control:focus::placeholder,.input:focus::placeholder{opacity:0.6}.input-sm,.form-control-sm{padding:0.4rem 0.65rem;font-size:var(--text-xs);border-radius:var(--radius-sm);min-width:0;width:100%;box-sizing:border-box}.form-error{font-size:var(--text-xs);color:var(--color-error)}.card{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;transition:box-shadow var(--transition-base),transform var(--transition-base),border-color var(--transition-base)}.card:hover{box-shadow:var(--shadow-md);border-color:var(--color-accent);transform:translateY(-2px)}.card-body{padding:var(--spacing-5)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-8);gap:var(--spacing-4)}.section-title{font-size:var(--text-2xl);font-weight:700;color:var(--text-primary);position:relative}.section-title::after{content:'';display:block;width:40px;height:3px;background:var(--color-accent);border-radius:2px;margin-top:6px}.section-subtitle{color:var(--text-secondary);margin-top:var(--spacing-2);font-size:var(--text-base)}.rating{display:inline-flex;align-items:center;gap:2px}.rating-star{color:#E5E7EB;font-size:14px;line-height:1}.rating-star.filled{color:#F59E0B}.rating-star.half{color:#F59E0B}.rating-count{font-size:var(--text-xs);color:var(--text-tertiary);margin-left:var(--spacing-1)}.price-group{display:flex;align-items:baseline;gap:var(--spacing-2);flex-wrap:wrap}.price-current{font-size:var(--text-xl);font-weight:700;color:var(--color-primary);font-family:var(--font-mono)}.price-old{font-size:var(--text-sm);color:var(--text-muted);text-decoration:line-through;font-family:var(--font-mono)}.price-discount{font-size:var(--text-xs);font-weight:600;color:var(--color-success);background:var(--color-success-bg);padding:2px 6px;border-radius:var(--radius-full)}.avatar{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-full);background:var(--color-primary);color:#fff;font-size:var(--text-sm);font-weight:600;overflow:hidden;flex-shrink:0}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-sm{width:28px;height:28px;font-size:var(--text-xs)}.avatar-lg{width:48px;height:48px;font-size:var(--text-base)}.avatar-xl{width:80px;height:80px;font-size:var(--text-2xl)}.modal-overlay{position:fixed;inset:0;background:rgba(13,7,20,.6);backdrop-filter:blur(4px);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--spacing-4);opacity:0;visibility:hidden;transition:opacity var(--transition-base),visibility var(--transition-base)}.modal-overlay.is-open{opacity:1;visibility:visible}.modal{background:var(--bg-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:640px;max-height:85vh;display:flex;flex-direction:column;transform:scale(.95) translateY(8px);transition:transform var(--transition-base);border:1px solid var(--border-color)}.modal-overlay.is-open .modal{transform:scale(1) translateY(0)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-5) var(--spacing-6);border-bottom:1px solid var(--border-color);flex-shrink:0}.modal-title{font-size:var(--text-lg);font-weight:700}.modal-close{width:32px;height:32px;border-radius:var(--radius-sm);background:var(--bg-surface-2);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:background var(--transition-fast),color var(--transition-fast)}.modal-close:hover{background:var(--color-error-bg);color:var(--color-error)}.modal-body{padding:var(--spacing-6);overflow-y:auto;flex:1;line-height:1.7}.modal-body h2,.modal-body h3{margin-top:var(--spacing-6);margin-bottom:var(--spacing-3)}.modal-body h2:first-child,.modal-body h3:first-child{margin-top:0}.modal-body p{margin-bottom:var(--spacing-4)}.modal-body ul,.modal-body ol{margin-left:var(--spacing-5);margin-bottom:var(--spacing-4);list-style:disc}.modal-footer{padding:var(--spacing-4) var(--spacing-6);border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;flex-shrink:0}.toast-container{position:fixed;bottom:96px;right:var(--spacing-6);z-index:999999;display:flex;flex-direction:column;gap:var(--spacing-3);pointer-events:none;max-width:calc(100vw - 32px)}.toast{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:280px;max-width:380px;pointer-events:auto;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent;position:relative;overflow:hidden;opacity:0;transform:translateY(16px) scale(0.94);transition:opacity 0.28s cubic-bezier(0.16,1,0.3,1),transform 0.28s cubic-bezier(0.16,1,0.3,1);will-change:transform,opacity}.toast.is-visible{opacity:1;transform:translateY(0) scale(1)}.toast.is-hiding{opacity:0 !important;transform:translateY(12px) scale(0.92) !important;pointer-events:none !important;transition:opacity 0.22s cubic-bezier(0.16,1,0.3,1),transform 0.22s cubic-bezier(0.16,1,0.3,1) !important}.toast-close{background:none;border:none;padding:6px;margin:-4px -4px -4px auto;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);opacity:0.75;transition:opacity 0.18s ease,background-color 0.18s ease,color 0.18s ease;pointer-events:auto;-webkit-tap-highlight-color:transparent;flex-shrink:0}.toast-close:hover{opacity:1;color:var(--text-primary);background:var(--bg-surface-2)}.toast-close:active{transform:scale(0.92)}.toast-icon{width:28px;height:28px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.toast-success .toast-icon{background:var(--color-success-bg);color:var(--color-success)}.toast-error .toast-icon{background:var(--color-error-bg);color:var(--color-error)}.toast-info .toast-icon{background:var(--color-info-bg);color:var(--color-info)}.toast-warning .toast-icon{background:var(--color-warning-bg);color:var(--color-warning)}.toast-message{font-size:var(--text-sm);font-weight:500;color:var(--text-primary);flex:1}.skeleton{background:linear-gradient(90deg,var(--bg-surface-2) 25%,var(--bg-surface-3) 50%,var(--bg-surface-2) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:var(--radius-sm)}@keyframes skeleton-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.breadcrumb{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--text-sm);color:var(--text-muted);flex-wrap:wrap}.breadcrumb-item a{color:var(--text-tertiary);transition:color var(--transition-fast)}.breadcrumb-item a:hover{color:var(--color-primary)}.breadcrumb-separator{color:var(--text-muted)}.breadcrumb-item.active{color:var(--text-primary);font-weight:500}.divider{height:1px;background:var(--border-color);border:none;margin:var(--spacing-6) 0}.grid-products{display:grid;gap:var(--spacing-5);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.grid-categories{display:grid;gap:var(--spacing-4);grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-surface-2)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:var(--spacing-2)}.gap-3{gap:var(--spacing-3)}.gap-4{gap:var(--spacing-4)}.gap-6{gap:var(--spacing-6)}.w-full{width:100%}.hidden{display:none !important}.mt-2{margin-top:var(--spacing-2)}.mt-4{margin-top:var(--spacing-4)}.mt-6{margin-top:var(--spacing-6)}.mt-8{margin-top:var(--spacing-8)}.mb-4{margin-bottom:var(--spacing-4)}.mb-6{margin-bottom:var(--spacing-6)}.mb-8{margin-bottom:var(--spacing-8)}.py-16{padding-block:var(--spacing-16)}.py-12{padding-block:var(--spacing-12)}@media (max-width:1200px){.grid-categories{grid-template-columns:repeat(4,1fr)}}@media (max-width:900px){.grid-categories{grid-template-columns:repeat(3,1fr)}.grid-products{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--spacing-4)}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}}@media (max-width:640px){.container{padding-inline:var(--spacing-4)}.grid-categories{grid-template-columns:repeat(2,1fr);gap:10px}.grid-products{grid-template-columns:repeat(2,1fr);gap:10px}.grid-products:has(> .product-card:only-child){grid-template-columns:1fr;max-width:360px;margin-inline:auto}.product-card-body{padding:10px 12px}.product-card-footer{display:flex;align-items:center;justify-content:space-between;gap:6px}.product-card-footer .btn-sm{padding:4px 10px;font-size:11.5px;white-space:nowrap}.product-card .price-current{font-size:15px}h1{font-size:1.65rem}h2{font-size:1.35rem}h3{font-size:1.15rem}.toast-container{bottom:92px;right:var(--spacing-4);left:var(--spacing-4)}.toast{min-width:auto;max-width:100%}.modal{max-width:calc(100vw - 20px);max-height:90vh;border-radius:var(--radius-lg)}.modal-header{padding:14px 16px}.modal-body{padding:16px;font-size:var(--text-sm)}.modal-footer{padding:12px 16px}}@media (max-width:360px){.container{padding-inline:10px}.grid-products{grid-template-columns:1fr}.grid-categories{grid-template-columns:1fr}}.reveal-on-scroll,[data-scroll-reveal]{opacity:0;transform:translate3d(0,24px,0);transition:opacity 0.65s cubic-bezier(0.16,1,0.3,1),transform 0.65s cubic-bezier(0.16,1,0.3,1);will-change:opacity,transform}.reveal-on-scroll.is-revealed,[data-scroll-reveal].is-revealed{opacity:1;transform:translate3d(0,0,0)}.reveal-left{opacity:0;transform:translate3d(-24px,0,0);transition:opacity 0.65s cubic-bezier(0.16,1,0.3,1),transform 0.65s cubic-bezier(0.16,1,0.3,1);will-change:opacity,transform}.reveal-left.is-revealed{opacity:1;transform:translate3d(0,0,0)}.reveal-right{opacity:0;transform:translate3d(24px,0,0);transition:opacity 0.65s cubic-bezier(0.16,1,0.3,1),transform 0.65s cubic-bezier(0.16,1,0.3,1);will-change:opacity,transform}.reveal-right.is-revealed{opacity:1;transform:translate3d(0,0,0)}.reveal-zoom{opacity:0;transform:scale(0.95);transition:opacity 0.6s cubic-bezier(0.16,1,0.3,1),transform 0.6s cubic-bezier(0.16,1,0.3,1);will-change:opacity,transform}.reveal-zoom.is-revealed{opacity:1;transform:scale(1)}.reveal-delay-1{transition-delay:80ms}.reveal-delay-2{transition-delay:160ms}.reveal-delay-3{transition-delay:240ms}.reveal-delay-4{transition-delay:320ms}.reveal-delay-5{transition-delay:400ms}.scroll-to-top-btn{position:fixed;bottom:24px;left:24px;width:44px;height:44px;border-radius:50%;background:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-primary);box-shadow:0 4px 16px rgba(0,0,0,0.08),0 0 0 1px rgba(0,0,0,0.02);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:99;opacity:0;visibility:hidden;transform:translateY(14px) scale(0.85);transition:opacity 0.25s cubic-bezier(0.16,1,0.3,1),transform 0.25s cubic-bezier(0.16,1,0.3,1),visibility 0.25s,background-color 0.2s,border-color 0.2s,box-shadow 0.2s}[data-theme="dark"] .scroll-to-top-btn{box-shadow:0 6px 20px rgba(0,0,0,0.4),0 0 0 1px rgba(255,255,255,0.06)}.scroll-to-top-btn.is-visible{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.scroll-to-top-btn:hover{background:var(--color-primary);color:#fff !important;border-color:var(--color-primary);transform:translateY(-3px) scale(1.08);box-shadow:0 8px 24px rgba(107,47,160,0.35)}.scroll-to-top-btn:hover svg{color:#fff !important;stroke:#fff !important}.scroll-to-top-btn:active{transform:translateY(0) scale(0.94)}.scroll-to-top-btn svg{width:20px;height:20px;transition:transform 0.2s ease}.scroll-to-top-btn:hover svg{transform:translateY(-2px)}@media (max-width:640px){.scroll-to-top-btn{bottom:20px;left:18px;width:40px;height:40px}}.modal-overlay{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:opacity 0.25s cubic-bezier(0.16,1,0.3,1),backdrop-filter 0.25s ease}.modal-overlay.is-open .modal{transform:scale(1) translateY(0);transition:transform 0.32s cubic-bezier(0.16,1,0.3,1),opacity 0.25s ease}table tr{transition:background-color 0.18s ease}.card{transition:transform 0.25s cubic-bezier(0.16,1,0.3,1),box-shadow 0.25s cubic-bezier(0.16,1,0.3,1),border-color 0.2s ease}#globalPageLoader{position:fixed;top:0;left:0;width:0%;height:3px;background:linear-gradient(90deg,#6B2FA0 0%,#A855F7 35%,#EC4899 70%,#38BDF8 100%);background-size:200% 100%;z-index:9999999;pointer-events:none;opacity:0;box-shadow:0 0 12px rgba(168,85,247,0.8),0 0 6px rgba(236,72,153,0.6);transition:width 0.3s cubic-bezier(0.16,1,0.3,1),opacity 0.2s ease}#globalPageLoader.is-active{opacity:1;animation:pageLoaderShimmer 1.2s linear infinite}#globalPageLoader.is-finishing{width:100% !important;opacity:0;transition:width 0.2s cubic-bezier(0.16,1,0.3,1),opacity 0.35s ease 0.18s}@keyframes pageLoaderShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.btn{position:relative;overflow:hidden;transition:all 0.2s cubic-bezier(0.16,1,0.3,1)}.btn.is-loading,button.is-loading,a.btn.is-loading{pointer-events:none !important;cursor:wait !important}.btn.is-loading > *{opacity:0 !important;visibility:hidden !important;transition:opacity 0.15s ease}.btn.is-loading::after{content:'';position:absolute;top:50%;left:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border:2.2px solid rgba(255,255,255,0.25);border-top-color:#ffffff;border-radius:50%;animation:btnSpin 0.6s linear infinite;z-index:2;box-sizing:border-box}.btn-sm.is-loading::after{width:14px;height:14px;margin:-7px 0 0 -7px;border-width:2px}.btn-lg.is-loading::after{width:22px;height:22px;margin:-11px 0 0 -11px;border-width:2.5px}.btn-outline.is-loading::after,.btn-ghost.is-loading::after{border-color:rgba(107,47,160,0.25);border-top-color:var(--color-primary,#6B2FA0)}@keyframes btnSpin{to{transform:rotate(360deg)}}.skeleton-shimmer,.skeleton-box{background:linear-gradient(90deg,var(--bg-surface-2) 25%,var(--bg-surface-3) 50%,var(--bg-surface-2) 75%);background-size:200% 100%;animation:skeletonWave 1.5s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes skeletonWave{0%{background-position:200% 0}100%{background-position:-200% 0}}.skeleton-text{height:12px;border-radius:4px;margin-bottom:6px}.skeleton-avatar{border-radius:50%;flex-shrink:0}.notif-dropdown,.profile-dropdown,.dropdown-menu{animation:dropdownIn 0.22s cubic-bezier(0.16,1,0.3,1) both;transform-origin:top right}@keyframes dropdownIn{from{opacity:0;transform:translateY(-8px) scale(0.97)}to{opacity:1;transform:translateY(0) scale(1)}}.notif-skeleton-item{display:flex;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border-color);align-items:center}.notif-skeleton-thumb{width:32px;height:32px;border-radius:50%;flex-shrink:0}.notif-skeleton-content{flex:1;display:flex;flex-direction:column;gap:6px}@keyframes heartPop{0%{transform:scale(1)}35%{transform:scale(1.35) rotate(-12deg)}65%{transform:scale(0.9) rotate(6deg)}100%{transform:scale(1) rotate(0deg)}}.is-fav svg,.is-fav i,.is-fav .apple-fav-icon{animation:heartPop 0.4s cubic-bezier(0.175,0.885,0.32,1.275)}.badge-glow,.badge-pulse{position:relative}.badge-glow::before,.badge-pulse::before{content:'';position:absolute;inset:-1px;border-radius:inherit;background:inherit;opacity:0.6;z-index:-1;animation:badgeAura 2s ease-in-out infinite}@keyframes badgeAura{0%,100%{transform:scale(1);opacity:0.5}50%{transform:scale(1.08);opacity:0}}.ripple{display:none !important}.toast{position:relative;overflow:hidden}.toast-progress{position:absolute;bottom:0;left:0;height:3px;background:rgba(107,47,160,0.5);width:100%;transform-origin:left}.toast-success .toast-progress{background:#16A34A}.toast-error .toast-progress{background:#DC2626}.toast-warning .toast-progress{background:#D97706}.toast-info .toast-progress{background:var(--color-primary)}.apple-card,.product-card,.cat-card-premium,.trust-card,.review-card{transition:transform 0.28s cubic-bezier(0.16,1,0.3,1),box-shadow 0.28s cubic-bezier(0.16,1,0.3,1),border-color 0.22s ease !important}.apple-card:hover,.product-card:hover,.cat-card-premium:hover{transform:translateY(-5px) scale(1.008) !important;box-shadow:0 16px 36px -8px rgba(107,47,160,0.16),0 0 0 1px rgba(107,47,160,0.12) !important}.input,.form-control,input[type="text"],input[type="email"],input[type="password"],input[type="tel"],input[type="number"],select,textarea{transition:border-color 0.2s cubic-bezier(0.16,1,0.3,1),box-shadow 0.2s cubic-bezier(0.16,1,0.3,1),background-color 0.2s ease}.input:focus,.form-control:focus,input[type="text"]:focus,input[type="email"]:focus,input[type="password"]:focus,input[type="tel"]:focus,input[type="number"]:focus,select:focus,textarea:focus{border-color:var(--color-primary) !important;box-shadow:0 0 0 3.5px rgba(107,47,160,0.14),0 4px 14px -2px rgba(107,47,160,0.08) !important}img[loading="lazy"]{transition:opacity 0.35s cubic-bezier(0.16,1,0.3,1)}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}.reveal-on-scroll,[data-scroll-reveal],.reveal-left,.reveal-right,.reveal-zoom{opacity:1 !important;transform:none !important;transition:none !important}}