:root{--color-primary-50:#e6f7ff;--color-primary-100:#bae7ff;--color-primary-200:#91d5ff;--color-primary-300:#69c0ff;--color-primary-400:#40a9ff;--color-primary-500:#0f4c75;--color-primary-600:#0c3d5f;--color-primary-700:#0a3250;--color-primary-800:#082841;--color-primary-900:#051e32;--color-secondary-50:#e0f7fa;--color-secondary-100:#b2ebf2;--color-secondary-200:#80deea;--color-secondary-300:#4dd0e1;--color-secondary-400:#1b6ca8;--color-secondary-500:#0097a7;--color-secondary-600:#00838f;--color-secondary-700:#006064;--color-accent-50:#fff3e0;--color-accent-100:#ffe0b2;--color-accent-200:#ffcc80;--color-accent-300:#ffb74d;--color-accent-400:#ffa726;--color-accent-500:#ff9800;--color-accent-600:#fb8c00;--color-accent-700:#f57c00;--color-success-light:#d4edda;--color-success:#10b981;--color-success-dark:#059669;--color-warning-light:#fff3cd;--color-warning:#f59e0b;--color-warning-dark:#d97706;--color-error-light:#f8d7da;--color-error:#ef4444;--color-error-dark:#dc2626;--color-info-light:#d1ecf1;--color-info:#3b82f6;--color-info-dark:#2563eb;--color-white:#ffffff;--color-gray-50:#fafafa;--color-gray-100:#f5f5f5;--color-gray-200:#eeeeee;--color-gray-300:#e0e0e0;--color-gray-400:#bdbdbd;--color-gray-500:#9e9e9e;--color-gray-600:#757575;--color-gray-700:#616161;--color-gray-800:#424242;--color-gray-900:#212121;--color-black:#000000;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Helvetica Neue",sans-serif;--font-display:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"SF Mono","Monaco","Consolas","Liberation 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;--text-6xl:3.75rem;--text-7xl:4.5rem;--font-thin:100;--font-light:300;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--font-extrabold:800;--font-black:900;--leading-none:1;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:2;--tracking-tighter:-0.05em;--tracking-tight:-0.025em;--tracking-normal:0;--tracking-wide:0.025em;--tracking-wider:0.05em;--tracking-widest:0.1em;--space-0:0;--space-px:1px;--space-0-5:0.125rem;--space-1:0.25rem;--space-1-5:0.375rem;--space-2:0.5rem;--space-2-5:0.625rem;--space-3:0.75rem;--space-3-5:0.875rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:1.75rem;--space-8:2rem;--space-9:2.25rem;--space-10:2.5rem;--space-11:2.75rem;--space-12:3rem;--space-14:3.5rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-28:7rem;--space-32:8rem;--radius-none:0;--radius-sm:0.25rem;--radius-base:0.5rem;--radius-md:0.75rem;--radius-lg:1rem;--radius-xl:1.25rem;--radius-2xl:1.5rem;--radius-3xl:2rem;--radius-full:9999px;--shadow-xs:0 1px 2px 0 rgba(0,0,0,0.05);--shadow-sm:0 1px 3px 0 rgba(0,0,0,0.1),0 1px 2px 0 rgba(0,0,0,0.06);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,0.1),0 10px 10px -5px rgba(0,0,0,0.04);--shadow-2xl:0 25px 50px -12px rgba(0,0,0,0.25);--shadow-inner:inset 0 2px 4px 0 rgba(0,0,0,0.06);--shadow-none:0 0 #0000;--shadow-primary:0 10px 30px -5px rgba(15,76,117,0.3);--shadow-secondary:0 10px 30px -5px rgba(27,108,168,0.3);--shadow-success:0 10px 30px -5px rgba(16,185,129,0.3);--shadow-warning:0 10px 30px -5px rgba(245,158,11,0.3);--shadow-error:0 10px 30px -5px rgba(239,68,68,0.3);--duration-fast:150ms;--duration-base:250ms;--duration-slow:350ms;--duration-slower:500ms;--duration-slowest:700ms;--ease-linear:linear;--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--ease-spring:cubic-bezier(0.68,-0.55,0.265,1.55);--ease-bounce:cubic-bezier(0.68,-0.6,0.32,1.6);--transition-fast:var(--duration-fast) var(--ease-out);--transition-base:var(--duration-base) var(--ease-in-out);--transition-slow:var(--duration-slow) var(--ease-in-out);--transition-all:all var(--duration-base) var(--ease-in-out);--transition-colors:background-color var(--duration-base) var(--ease-in-out),border-color var(--duration-base) var(--ease-in-out),color var(--duration-base) var(--ease-in-out);--transition-transform:transform var(--duration-base) var(--ease-out);--transition-shadow:box-shadow var(--duration-base) var(--ease-out);--z-0:0;--z-10:10;--z-20:20;--z-30:30;--z-40:40;--z-50:50;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--z-notification:1080;--z-max:9999;--breakpoint-xs:0;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--container-max:90rem}:root,[data-theme=light]{--color-background:#ffffff;--color-surface:#fafafa;--color-surface-elevated:#ffffff;--color-text-primary:#212121;--color-text-secondary:#757575;--color-text-tertiary:#9e9e9e;--color-text-inverse:#ffffff;--color-border:#e0e0e0;--color-border-light:#f5f5f5;--color-divider:#eeeeee;--glass-bg:rgba(255,255,255,0.7);--glass-bg-dark:rgba(255,255,255,0.5);--glass-border:rgba(255,255,255,0.3);--glass-shadow:0 8px 32px rgba(0,0,0,0.1);--card-bg:#ffffff;--input-bg:#ffffff;--navbar-bg:#0f4c75;--navbar-bg-scrolled:#0c3d5f;--footer-bg:linear-gradient(180deg,#0f4c75,#1a3a52)}[data-theme=dark]{--color-background:#121212;--color-surface:#1e1e1e;--color-surface-elevated:#2a2a2a;--color-text-primary:#f5f5f5;--color-text-secondary:#b0b0b0;--color-text-tertiary:#8a8a8a;--color-text-inverse:#121212;--color-border:#3a3a3a;--color-border-light:#2a2a2a;--color-divider:#2a2a2a;--glass-bg:rgba(30,30,30,0.7);--glass-bg-dark:rgba(30,30,30,0.5);--glass-border:rgba(255,255,255,0.1);--glass-shadow:0 8px 32px rgba(0,0,0,0.5);--card-bg:#1e1e1e;--input-bg:#2a2a2a;--navbar-bg:#121212;--navbar-bg-scrolled:#0d0d0d;--footer-bg:linear-gradient(180deg,#1a1a1a,#0a0a0a);--shadow-sm:0 1px 3px 0 rgba(0,0,0,0.5),0 1px 2px 0 rgba(0,0,0,0.3);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.5),0 2px 4px -1px rgba(0,0,0,0.3);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.5),0 4px 6px -2px rgba(0,0,0,0.3);--shadow-xl:0 20px 25px -5px rgba(0,0,0,0.5),0 10px 10px -5px rgba(0,0,0,0.2);--shadow-2xl:0 25px 50px -12px rgba(0,0,0,0.7)}[data-theme=dark] .app-container,[data-theme=dark] .main-content,[data-theme=dark] body{background-color:var(--color-background)!important;color:var(--color-text-primary)!important}html[data-theme=dark]{background-color:#121212;color:#f5f5f5;color-scheme:dark}html[data-theme=light]{color-scheme:light}[data-theme=dark] #root,[data-theme=dark] .home,[data-theme=dark] .section{background-color:var(--color-background);color:var(--color-text-primary)}.app-container,.card,.glass-card,.main-content,body,button,input,select,textarea{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}.no-theme-transition,.no-theme-transition *{transition:none!important}[data-theme=dark]{img:not(.no-dark-filter){filter:brightness(.9)}::-webkit-scrollbar-track{background:var(--color-surface)}::-webkit-scrollbar-thumb{background:var(--color-border)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}::selection{background-color:rgba(15,76,117,.5);color:white}.card,.glass-card,.product-card{background:var(--card-bg);border:1px solid var(--color-border)}input,select,textarea{background-color:var(--input-bg);color:var(--color-text-primary);border-color:var(--color-border)}input::placeholder,textarea::placeholder{color:var(--color-text-tertiary)}.btn-outline{border-color:var(--color-primary-400);color:var(--color-primary-400)}.btn-ghost:hover{background:var(--color-surface-elevated)}}.theme-transition-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--color-background);opacity:0;pointer-events:none;z-index:9999;transition:opacity .3s ease}.theme-transition-overlay.active{opacity:1}.navbar{background:var(--navbar-bg)}.navbar-scrolled{background:var(--navbar-bg-scrolled)}[data-theme=dark] .nav-logo{background:linear-gradient(135deg,#1a2f45,#132535);border-color:rgba(255,255,255,.14);box-shadow:0 4px 16px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.08)}[data-theme=dark] .nav-logo:hover{border-color:rgba(255,255,255,.22);box-shadow:0 12px 32px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.1)}.footer{background:var(--footer-bg)}[data-theme=dark] .toast{background:var(--color-surface-elevated);color:var(--color-text-primary);box-shadow:var(--shadow-2xl)}[data-theme=dark] .loading-spinner{border-color:rgba(255,255,255,.1);border-top-color:var(--color-primary-400)}[data-theme=dark] .hero-overlay{background:linear-gradient(135deg,rgba(18,18,18,.85),rgba(30,30,30,.7) 50%,rgba(42,42,42,.3))}[data-theme=dark] .search-results{background:var(--color-surface-elevated);border-color:var(--color-border)}[data-theme=dark] .cart-preview{background:rgba(30,30,30,.95);border-color:var(--color-border)}[data-theme=dark] .product-badge,[data-theme=dark] .product-card-badge{box-shadow:0 4px 12px rgba(0,0,0,.5)}[data-theme=dark] .feature-card{background:var(--card-bg);border:1px solid var(--color-border)}[data-theme=dark] .stats-card{box-shadow:var(--shadow-xl)}[data-theme=dark] .footer-newsletter{background:linear-gradient(135deg,#1a1a1a,#2a2a2a)}[data-theme=dark] .newsletter-input{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.2);color:white}[data-theme=dark] .newsletter-btn{background:var(--color-primary-500);color:white}[data-theme=dark] .error-state h3{color:var(--color-text-primary)}[data-theme=dark] .modal-backdrop{background:rgba(0,0,0,.8)}@media (prefers-contrast:high){:root{--color-border:#000000;--color-text-secondary:#000000}[data-theme=dark]{--color-border:#ffffff;--color-text-secondary:#ffffff}}@media print{[data-theme=dark]{--color-background:#ffffff;--color-text-primary:#000000;--color-text-secondary:#333333}}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:var(--space-4);padding-right:var(--space-4)}.container-sm{max-width:var(--container-sm)}.container-md{max-width:var(--container-md)}.container-lg{max-width:var(--container-lg)}.container-xl{max-width:var(--container-xl)}.container-2xl{max-width:var(--container-2xl)}.container-max{max-width:var(--container-max)}.flex{display:flex}.inline-flex{display:inline-flex}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.font-light{font-weight:var(--font-light)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.bg-primary{background-color:var(--color-primary-500)}.bg-secondary{background-color:var(--color-secondary-400)}.bg-white{background-color:var(--color-white)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.rounded-none{border-radius:var(--radius-none)}.rounded-sm{border-radius:var(--radius-sm)}.rounded{border-radius:var(--radius-base)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:var(--radius-full)}.border{border-width:1px;border-style:solid}.border-2{border-width:2px;border-style:solid}.border-color{border-color:var(--color-border)}.shadow-xs{box-shadow:var(--shadow-xs)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.shadow-2xl{box-shadow:var(--shadow-2xl)}.shadow-none{box-shadow:var(--shadow-none)}.shadow-primary{box-shadow:var(--shadow-primary)}.shadow-success{box-shadow:var(--shadow-success)}.shadow-error{box-shadow:var(--shadow-error)}.m-0{margin:0}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.p-0{padding:0}.p-2{padding:var(--space-2)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.transition{transition:var(--transition-all)}.transition-fast{transition:var(--transition-fast)}.transition-colors{transition:var(--transition-colors)}.transition-transform{transition:var(--transition-transform)}.transition-shadow{transition:var(--transition-shadow)}.transform{transform:translateZ(0)}.scale-95{transform:scale(.95)}.scale-100{transform:scale(1)}.scale-105{transform:scale(1.05)}.scale-110{transform:scale(1.1)}.-translate-y-1{transform:translateY(-.25rem)}.-translate-y-2{transform:translateY(-.5rem)}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:-webkit-sticky;position:sticky}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.hidden{display:none}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-bounce{animation:bounce 1s infinite}.animate-fade-in{animation:fadeIn var(--duration-base) var(--ease-out)}.animate-slide-up{animation:slideUp var(--duration-base) var(--ease-out)}.animate-slide-in-right{animation:slideInRight var(--duration-base) var(--ease-out)}.hover-lift{transition:transform var(--duration-base) var(--ease-out)}.hover-scale:hover{transform:scale(1.05)}.hover-shadow:hover{box-shadow:var(--shadow-lg)}.active-press:active{transform:scale(.98)}.glass{background:var(--glass-bg);border:1px solid var(--glass-border)}.glass,.glass-dark{backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}.glass-dark{background:var(--glass-bg-dark)}.bg-gradient-primary{background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-600))}.bg-gradient-secondary{background:linear-gradient(135deg,var(--color-secondary-400),var(--color-secondary-500))}.bg-gradient-ocean{background:linear-gradient(135deg,#0f4c75,#1b6ca8,#3b82f6)}.bg-gradient-sunset{background:linear-gradient(135deg,#ff6b6b,#ee5a6f,#f093fb)}.skeleton{background:linear-gradient(90deg,var(--color-gray-200) 25%,var(--color-gray-100) 50%,var(--color-gray-200) 75%);background-size:1000px 100%;animation:shimmer 2s linear infinite;border-radius:var(--radius-base)}.pulse-loader{width:50px;height:50px;border-radius:50%;background:var(--color-primary-500);animation:pulse 1.5s cubic-bezier(.4,0,.6,1) infinite}.disabled,[disabled]{opacity:.6;cursor:not-allowed;pointer-events:none}.focus-ring:focus-visible{outline:3px solid var(--color-primary-400);outline-offset:2px}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-2,.line-clamp-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-semibold);line-height:1;text-align:center;text-decoration:none;white-space:nowrap;border:2px solid transparent;border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition-all);overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.3);transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn:active:before{width:300px;height:300px}.btn-primary,.primary-btn{background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-600));color:white;box-shadow:var(--shadow-md)}.btn-primary:hover,.primary-btn:hover{background:linear-gradient(135deg,var(--color-primary-600),var(--color-primary-700));box-shadow:var(--shadow-primary);transform:translateY(-2px)}.btn-primary:active,.primary-btn:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-secondary,.secondary-btn{background:linear-gradient(135deg,var(--color-secondary-400),var(--color-secondary-500));color:white;box-shadow:var(--shadow-md)}.btn-secondary:hover,.secondary-btn:hover{background:linear-gradient(135deg,var(--color-secondary-500),var(--color-secondary-600));box-shadow:var(--shadow-secondary);transform:translateY(-2px)}.btn-outline{background:transparent;color:var(--color-primary-500);border-color:var(--color-primary-500);box-shadow:none}.btn-outline:hover{background:var(--color-primary-500);color:white;box-shadow:var(--shadow-primary);transform:translateY(-2px)}.btn-ghost{background:transparent;color:var(--color-primary-500);box-shadow:none}.btn-ghost:hover{background:var(--color-primary-50);color:var(--color-primary-600)}.btn-success{background:linear-gradient(135deg,var(--color-success),var(--color-success-dark));color:white;box-shadow:var(--shadow-md)}.btn-success:hover{box-shadow:var(--shadow-success);transform:translateY(-2px)}.btn-warning{background:linear-gradient(135deg,var(--color-warning),var(--color-warning-dark));color:white;box-shadow:var(--shadow-md)}.btn-warning:hover{box-shadow:var(--shadow-warning);transform:translateY(-2px)}.btn-danger,.btn-error{background:linear-gradient(135deg,var(--color-error),var(--color-error-dark));color:white;box-shadow:var(--shadow-md)}.btn-danger:hover,.btn-error:hover{box-shadow:var(--shadow-error);transform:translateY(-2px)}.btn-glass{background:var(--glass-bg);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid var(--glass-border);color:var(--color-primary-600);box-shadow:var(--glass-shadow)}.btn-glass:hover{background:var(--glass-bg-dark);box-shadow:var(--shadow-xl);transform:translateY(-2px)}.btn-icon{padding:var(--space-3);width:44px;height:44px;border-radius:var(--radius-full)}.btn-icon svg{width:20px;height:20px}.btn-xs{padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}.btn-md{padding:var(--space-3) var(--space-6);font-size:var(--text-base)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-lg)}.btn-xl{padding:var(--space-5) var(--space-10);font-size:var(--text-xl)}.btn:disabled,.btn[disabled]{opacity:.6;cursor:not-allowed;pointer-events:none;filter:grayscale(50%)}.btn.loading{position:relative;color:transparent;pointer-events:none}.btn.loading:after{content:"";position:absolute;width:16px;height:16px;top:50%;left:50%;margin-left:-8px;margin-top:-8px;border:2px solid transparent;border-top-color:currentcolor;border-radius:50%;animation:spin .6s linear infinite;color:white}.btn-group{display:inline-flex;gap:var(--space-2);flex-wrap:wrap}.btn-group .btn{flex:0 0 auto}.btn-group-attached{display:inline-flex;gap:0}.btn-group-attached .btn{border-radius:0;border-right-width:0}.btn-group-attached .btn:first-child{border-top-left-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.btn-group-attached .btn:last-child{border-top-right-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg);border-right-width:2px}.btn-block{display:flex;width:100%}.btn-gradient-ocean{background:linear-gradient(135deg,#0f4c75,#1b6ca8,#3b82f6);color:white;box-shadow:var(--shadow-md)}.btn-gradient-ocean:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.btn-gradient-sunset{background:linear-gradient(135deg,#ff6b6b,#ee5a6f,#f093fb);color:white;box-shadow:var(--shadow-md)}.btn-gradient-sunset:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.btn-shimmer{background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-600));background-size:200% 200%;animation:shimmer-gradient 3s ease infinite;color:white}@keyframes shimmer-gradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.btn-pulse{animation:pulse-scale 2s ease-in-out infinite}@keyframes pulse-scale{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.btn-3d{box-shadow:0 4px 0 var(--color-primary-700),0 6px 12px rgba(0,0,0,.2);transform:translateY(0)}.btn-3d:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--color-primary-700),0 8px 16px rgba(0,0,0,.3)}.btn-3d:active{transform:translateY(2px);box-shadow:0 2px 0 var(--color-primary-700),0 4px 8px rgba(0,0,0,.2)}.add-to-cart-btn{background:linear-gradient(135deg,var(--color-success),var(--color-success-dark));color:white;font-weight:var(--font-bold);box-shadow:var(--shadow-md);transition:var(--transition-all)}.add-to-cart-btn:hover{box-shadow:var(--shadow-success);transform:translateY(-2px)}.add-to-cart-btn svg{transition:transform var(--duration-base) var(--ease-spring)}.add-to-cart-btn:hover svg{transform:scale(1.2)}.add-to-wishlist-btn{background:transparent;color:var(--color-error);border:2px solid var(--color-error);transition:var(--transition-all)}.add-to-wishlist-btn:hover{transform:scale(1.05)}.add-to-wishlist-btn.active,.add-to-wishlist-btn:hover{background:var(--color-error);color:white}.checkout-btn{background:linear-gradient(135deg,#0f4c75,#1b6ca8);color:white;font-size:var(--text-lg);font-weight:var(--font-bold);padding:var(--space-4) var(--space-10);box-shadow:var(--shadow-xl);transition:var(--transition-all)}.checkout-btn:hover{box-shadow:var(--shadow-2xl);transform:translateY(-3px)}@media (max-width:768px){.btn{min-height:48px;padding:var(--space-4) var(--space-6)}.btn-icon{width:48px;height:48px}.btn-lg{padding:var(--space-5) var(--space-8)}.btn-block-mobile{display:flex;width:100%}}.form-group{margin-bottom:var(--space-6)}.form-label{display:block;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-primary);margin-bottom:var(--space-2);letter-spacing:var(--tracking-wide)}.form-label.required:after{content:"*";color:var(--color-error);margin-left:var(--space-1)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-4);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-primary);background-color:var(--color-white);border:2px solid var(--color-border);border-radius:var(--radius-lg);transition:var(--transition-all);-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:var(--color-gray-400)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 4px rgba(15,76,117,.1)}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-tertiary)}.form-input-sm{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.form-input-lg{padding:var(--space-5) var(--space-6);font-size:var(--text-lg)}.input-with-icon{position:relative}.input-icon-left{position:absolute;left:var(--space-4);top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);pointer-events:none}.input-with-icon .form-input{padding-left:var(--space-12)}.input-icon-right{position:absolute;right:var(--space-4);top:50%;transform:translateY(-50%);color:var(--color-text-tertiary)}.input-with-icon.has-icon-right .form-input{padding-right:var(--space-12)}.form-input.error,.form-select.error,.form-textarea.error{border-color:var(--color-error);background-color:var(--color-error-light)}.form-input.error:focus,.form-select.error:focus,.form-textarea.error:focus{box-shadow:0 0 0 4px rgba(239,68,68,.1)}.form-input.success,.form-select.success,.form-textarea.success{border-color:var(--color-success);background-color:var(--color-success-light)}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background-color:var(--color-gray-100);color:var(--color-text-tertiary);cursor:not-allowed;opacity:.7}.form-error{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-error);font-weight:var(--font-medium)}.form-error svg{flex-shrink:0;width:16px;height:16px}.form-help{color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.form-help,.form-success{margin-top:var(--space-2);font-size:var(--text-sm)}.form-success{display:flex;align-items:center;gap:var(--space-2);color:var(--color-success);font-weight:var(--font-medium)}.form-checkbox,.form-radio{display:flex;align-items:center;gap:var(--space-3);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.form-checkbox input[type=checkbox],.form-radio input[type=radio]{width:20px;height:20px;cursor:pointer;accent-color:var(--color-primary-500)}.custom-checkbox{position:relative;display:inline-block}.custom-checkbox input[type=checkbox]{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkbox-mark{position:relative;display:inline-block;width:24px;height:24px;background-color:var(--color-white);border:2px solid var(--color-border);border-radius:var(--radius-base);transition:var(--transition-all)}.custom-checkbox:hover .checkbox-mark{border-color:var(--color-primary-500)}.custom-checkbox input[type=checkbox]:checked~.checkbox-mark{background-color:var(--color-primary-500);border-color:var(--color-primary-500)}.checkbox-mark:after{content:"";position:absolute;display:none;left:7px;top:3px;width:6px;height:11px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.custom-checkbox input[type=checkbox]:checked~.checkbox-mark:after{display:block}.custom-checkbox input[type=checkbox]:focus~.checkbox-mark{box-shadow:0 0 0 4px rgba(15,76,117,.1)}.form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23757575' 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 var(--space-4) center;background-size:20px;padding-right:var(--space-12)}.form-textarea{min-height:120px;resize:vertical;line-height:var(--leading-relaxed)}.form-textarea-fixed{resize:none}.search-input{position:relative}.search-input .form-input{padding-left:var(--space-12);padding-right:var(--space-12);border-radius:var(--radius-full);background-color:var(--color-gray-100);border:2px solid transparent}.search-input .form-input:focus{background-color:var(--color-white);border-color:var(--color-primary-500)}.search-input .input-icon-left{left:var(--space-4)}.search-clear-btn{position:absolute;right:var(--space-4);top:50%;transform:translateY(-50%);background:transparent;border:none;padding:var(--space-2);cursor:pointer;color:var(--color-text-tertiary);border-radius:var(--radius-full);transition:var(--transition-colors)}.search-clear-btn:hover{color:var(--color-text-primary);background:var(--color-gray-200)}.file-upload{position:relative;display:inline-block}.file-upload input[type=file]{position:absolute;opacity:0;width:0;height:0}.file-upload-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-6);background-color:var(--color-white);border:2px dashed var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition-all);color:var(--color-text-secondary)}.file-upload-btn:hover{border-color:var(--color-primary-500);background-color:var(--color-primary-50);color:var(--color-primary-600)}.form-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:var(--radius-full);background:var(--color-gray-200);outline:none;transition:var(--transition-all)}.form-range:hover{background:var(--color-gray-300)}.form-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--color-primary-500);cursor:pointer;box-shadow:var(--shadow-md);-webkit-transition:var(--transition-all);transition:var(--transition-all)}.form-range::-webkit-slider-thumb:hover{background:var(--color-primary-600);transform:scale(1.2);box-shadow:var(--shadow-lg)}.form-range::-moz-range-thumb{width:20px;height:20px;border:none;border-radius:50%;background:var(--color-primary-500);cursor:pointer;box-shadow:var(--shadow-md);-moz-transition:var(--transition-all);transition:var(--transition-all)}.form-range::-moz-range-thumb:hover{background:var(--color-primary-600);transform:scale(1.2);box-shadow:var(--shadow-lg)}.toggle-switch{position:relative;display:inline-block;width:52px;height:28px}.toggle-switch input[type=checkbox]{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--color-gray-300);border-radius:34px}.toggle-slider,.toggle-slider:before{position:absolute;transition:var(--transition-all)}.toggle-slider:before{content:"";height:20px;width:20px;left:4px;bottom:4px;background-color:white;border-radius:50%;box-shadow:var(--shadow-sm)}.toggle-switch input[type=checkbox]:checked+.toggle-slider{background-color:var(--color-primary-500)}.toggle-switch input[type=checkbox]:checked+.toggle-slider:before{transform:translateX(24px)}.toggle-switch input[type=checkbox]:focus+.toggle-slider{box-shadow:0 0 0 4px rgba(15,76,117,.1)}.form-row{display:flex;gap:var(--space-4);margin-bottom:var(--space-6)}.form-row .form-group{flex:1 1;margin-bottom:0}.form-inline{display:flex;align-items:center;gap:var(--space-4)}.form-inline .form-group{margin-bottom:0}@media (max-width:768px){.form-input,.form-select,.form-textarea{min-height:48px;padding:var(--space-4);font-size:16px}.form-row{flex-direction:column;gap:0}.form-row .form-group{margin-bottom:var(--space-6)}.form-inline{flex-direction:column;align-items:stretch}}.card{background:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;transition:var(--transition-all)}.card:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}.card-header{border-bottom:1px solid var(--color-divider)}.card-body,.card-footer,.card-header{padding:var(--space-6)}.card-footer{border-top:1px solid var(--color-divider);background-color:var(--color-gray-50)}.card-title{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-text-primary);margin-bottom:var(--space-2);line-height:var(--leading-tight)}.card-subtitle{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-4)}.product-card{background:var(--color-white);border-radius:var(--radius-2xl);overflow:hidden;transition:var(--transition-all);box-shadow:var(--shadow-sm);position:relative;display:flex;flex-direction:column}.product-card:hover{box-shadow:var(--shadow-2xl);transform:translateY(-8px)}.product-card-image{position:relative;width:100%;padding-top:100%;overflow:hidden;background:var(--color-gray-100)}.product-card-image img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform var(--duration-slow) var(--ease-out)}.product-card:hover .product-card-image img{transform:scale(1.1)}.product-card-badge{position:absolute;top:var(--space-4);left:var(--space-4);padding:var(--space-2) var(--space-4);background:linear-gradient(135deg,var(--color-error),var(--color-error-dark));color:white;font-size:var(--text-xs);font-weight:var(--font-bold);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:var(--tracking-wider);box-shadow:var(--shadow-md);z-index:1}.product-card-badge.new{background:linear-gradient(135deg,var(--color-success),var(--color-success-dark))}.product-card-badge.featured{background:linear-gradient(135deg,var(--color-accent-500),var(--color-accent-600))}.product-card-actions{position:absolute;top:var(--space-4);right:var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);opacity:0;transform:translateX(20px);transition:var(--transition-all);z-index:1}.product-card:hover .product-card-actions{opacity:1;transform:translateX(0)}.product-card-action-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-full);cursor:pointer;transition:var(--transition-all);box-shadow:var(--shadow-md)}.product-card-action-btn:hover{background:var(--color-white);transform:scale(1.1);box-shadow:var(--shadow-lg)}.product-card-action-btn svg{width:20px;height:20px;color:var(--color-text-primary)}.product-card-content{padding:var(--space-6);flex:1 1;display:flex;flex-direction:column}.product-card-category{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-primary-500);text-transform:uppercase;letter-spacing:var(--tracking-wider);margin-bottom:var(--space-2)}.product-card-name{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--color-text-primary);margin-bottom:var(--space-3);line-height:var(--leading-snug)}.product-card-description,.product-card-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-card-description{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin-bottom:var(--space-4);flex:1 1}.product-card-rating{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.product-card-stars{display:flex;gap:var(--space-1);color:var(--color-accent-500)}.product-card-rating-count{font-size:var(--text-xs);color:var(--color-text-tertiary)}.product-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-4);border-top:1px solid var(--color-divider)}.product-card-price{display:flex;align-items:baseline;gap:var(--space-2)}.product-card-price-current{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-primary-600)}.product-card-price-original{font-size:var(--text-base);color:var(--color-text-tertiary);text-decoration:line-through}.product-card-add-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-600));color:white;border:none;border-radius:var(--radius-full);cursor:pointer;transition:var(--transition-all);box-shadow:var(--shadow-md)}.product-card-add-btn:hover{box-shadow:var(--shadow-primary);transform:scale(1.1)}.product-card-add-btn svg{width:20px;height:20px}.glass-card{background:var(--glass-bg);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid var(--glass-border);border-radius:var(--radius-2xl);padding:var(--space-8);box-shadow:var(--glass-shadow);transition:var(--transition-all)}.glass-card:hover{box-shadow:var(--shadow-2xl);transform:translateY(-4px)}.gradient-card{background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-600));color:white;padding:var(--space-8);border-radius:var(--radius-2xl);box-shadow:var(--shadow-primary);position:relative;overflow:hidden}.gradient-card:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0,transparent 70%);animation:shimmer-move 10s linear infinite}@keyframes shimmer-move{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.feature-card{text-align:center;padding:var(--space-8);background:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:var(--transition-all)}.feature-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-6px)}.feature-card-icon{width:64px;height:64px;margin:0 auto var(--space-6);display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary-100),var(--color-primary-200));border-radius:var(--radius-2xl);color:var(--color-primary-600);transition:var(--transition-all)}.feature-card:hover .feature-card-icon{transform:scale(1.1) rotate(5deg)}.feature-card-icon svg{width:32px;height:32px}.feature-card-title{font-size:var(--text-xl);font-weight:var(--font-bold);margin-bottom:var(--space-3);color:var(--color-text-primary)}.feature-card-description{font-size:var(--text-base);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.stats-card{padding:var(--space-6);background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-600));border-radius:var(--radius-xl);box-shadow:var(--shadow-primary);color:white;transition:var(--transition-all)}.stats-card:hover{transform:scale(1.05);box-shadow:var(--shadow-2xl)}.stats-card-value{font-size:var(--text-5xl);font-weight:var(--font-extrabold);line-height:1;margin-bottom:var(--space-2)}.stats-card-label{font-size:var(--text-sm);opacity:.9;text-transform:uppercase;letter-spacing:var(--tracking-wider)}.testimonial-card{padding:var(--space-8);background:var(--color-white);border-radius:var(--radius-2xl);box-shadow:var(--shadow-md);position:relative}.testimonial-card:before{content:'"';position:absolute;top:var(--space-4);left:var(--space-6);font-size:80px;color:var(--color-primary-100);font-family:Georgia,serif;line-height:1}.testimonial-card-content{font-size:var(--text-lg);line-height:var(--leading-relaxed);color:var(--color-text-secondary);margin-bottom:var(--space-6);position:relative;z-index:1}.testimonial-card-author{display:flex;align-items:center;gap:var(--space-4)}.testimonial-card-avatar{width:56px;height:56px;border-radius:var(--radius-full);overflow:hidden;border:3px solid var(--color-primary-500)}.testimonial-card-avatar img{width:100%;height:100%;object-fit:cover}.testimonial-card-author-info{flex:1 1}.testimonial-card-author-name{font-size:var(--text-base);font-weight:var(--font-bold);color:var(--color-text-primary);margin-bottom:var(--space-1)}.testimonial-card-author-role{font-size:var(--text-sm);color:var(--color-text-tertiary)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:var(--space-8);gap:var(--space-8)}@media (max-width:768px){.product-card-actions{opacity:1;transform:translateX(0)}.card-grid{grid-template-columns:1fr;gap:var(--space-6)}.product-card-content{padding:var(--space-4)}.feature-card,.testimonial-card{padding:var(--space-6)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-100%)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@keyframes zoomIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes popIn{0%{opacity:0;transform:scale(.5)}60%{opacity:1;transform:scale(1.1)}to{transform:scale(1)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes spinSlow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes rotate180{0%{transform:rotate(0deg)}to{transform:rotate(180deg)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}@keyframes heartBeat{0%,to{transform:scale(1)}10%,30%{transform:scale(.9)}20%,40%,60%,80%{transform:scale(1.1)}50%,70%{transform:scale(1.03)}}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-10px)}20%,40%,60%,80%{transform:translateX(10px)}}@keyframes shakeY{0%,to{transform:translateY(0)}10%,30%,50%,70%,90%{transform:translateY(-10px)}20%,40%,60%,80%{transform:translateY(10px)}}@keyframes wiggle{0%,to{transform:rotate(0deg)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulseScale{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes pulseRing{0%{box-shadow:0 0 0 0 rgba(15,76,117,.7)}to{box-shadow:0 0 0 20px rgba(15,76,117,0)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes shimmerGradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes glow{0%,to{box-shadow:0 0 5px rgba(15,76,117,.5)}50%{box-shadow:0 0 20px rgba(15,76,117,.8)}}@keyframes loadingDots{0%,80%,to{opacity:0}40%{opacity:1}}@keyframes loadingBar{0%{width:0}to{width:100%}}@keyframes skeletonPulse{0%,to{background-position:200% 0}50%{background-position:-200% 0}}@keyframes toastSlideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes toastSlideOut{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}@keyframes notificationBounce{0%,to{transform:translateY(0)}10%,30%,50%,70%,90%{transform:translateY(-8px)}20%,40%,60%,80%{transform:translateY(0)}}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(50px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes floatSlow{0%,to{transform:translateY(0) translateX(0)}33%{transform:translateY(-10px) translateX(5px)}66%{transform:translateY(-5px) translateX(-5px)}}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes borderGlow{0%,to{border-color:var(--color-primary-500);box-shadow:0 0 5px var(--color-primary-500)}50%{border-color:var(--color-secondary-400);box-shadow:0 0 20px var(--color-secondary-400)}}.animate-fadeIn{animation:fadeIn .3s ease-out}.animate-fadeInUp{animation:fadeInUp .5s ease-out}.animate-slideDown{animation:slideDown .3s ease-out}.animate-scaleIn{animation:scaleIn .3s ease-out}.animate-bounce{animation:bounce 1s ease-in-out infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-spin{animation:spin 1s linear infinite}.animate-shimmer{animation:shimmer 2s linear infinite}.animate-float{animation:float 3s ease-in-out infinite}.animate-heartBeat{animation:heartBeat 1.3s ease-in-out}.hover-grow{transition:transform .3s ease}.hover-grow:hover{transform:scale(1.05)}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.hover-glow{transition:box-shadow .3s ease}.hover-glow:hover{box-shadow:0 0 20px rgba(15,76,117,.5)}.hover-rotate{transition:transform .3s ease}.hover-rotate:hover{transform:rotate(5deg)}.hover-brightness{transition:filter .3s ease}.hover-brightness:hover{filter:brightness(1.1)}.active-press{transition:transform .1s ease}.active-press:active{transform:scale(.95)}.active-sink{transition:transform .1s ease}.active-sink:active{transform:translateY(2px)}.stagger-item{animation:fadeInUp .5s ease-out backwards}.stagger-item:first-child{animation-delay:.1s}.stagger-item:nth-child(2){animation-delay:.2s}.stagger-item:nth-child(3){animation-delay:.3s}.stagger-item:nth-child(4){animation-delay:.4s}.stagger-item:nth-child(5){animation-delay:.5s}.stagger-item:nth-child(6){animation-delay:.6s}.page-enter{animation:fadeInUp .4s ease-out}.page-exit{animation:fadeOut .3s ease-out}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.animate-bounce,.animate-float,.animate-pulse,.animate-spin{animation:none!important}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}.skip-to-main{z-index:9999;padding:.75rem 1rem;background:#0f4c75;color:#fff;font-weight:600;border-radius:0 0 8px 0}.skip-to-main:focus{left:0;top:0;outline:3px solid #38bdf8;outline-offset:2px}html{scroll-behavior:smooth;font-size:16px;overflow-x:clip;text-size-adjust:100%;scroll-padding-top:var(--navbar-offset,118px)}:focus-visible{outline:2px solid var(--color-primary,#0f4c75)}a:focus-visible,button:focus-visible{outline:2px solid var(--color-accent,#3282b8);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body{margin:0;font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-normal);line-height:var(--leading-normal);color:var(--color-text-primary);background-color:var(--color-background);min-width:320px;min-height:100vh;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}.app-container{flex-direction:column;min-height:100vh}.app-container,.main-content{display:flex;min-width:0;overflow-x:clip}.main-content{flex:1 1;width:100%;max-width:100%;box-sizing:border-box;flex-direction:column}.main-content>*{width:100%;min-width:0}.container{max-width:1280px;margin:0 auto;padding:0 2rem}@media (max-width:640px){.container{padding-left:max(var(--space-3),env(safe-area-inset-left));padding-right:max(var(--space-3),env(safe-area-inset-right))}}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--font-bold);line-height:var(--leading-tight);color:var(--color-text-primary);margin-bottom:var(--space-4)}h1{font-size:var(--text-5xl);font-weight:var(--font-extrabold);letter-spacing:var(--tracking-tight)}h2{font-size:var(--text-4xl);font-weight:var(--font-bold)}h3{font-size:var(--text-3xl);font-weight:var(--font-semibold)}h4{font-size:var(--text-2xl)}h5{font-size:var(--text-xl)}h6{font-size:var(--text-lg)}p{margin-bottom:var(--space-4);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}a{color:var(--color-primary-500);transition:var(--transition-colors);font-weight:var(--font-medium)}a,a:hover{text-decoration:none}a:hover{color:var(--color-primary-600)}a:focus-visible{outline:3px solid var(--color-primary-400);outline-offset:2px;border-radius:var(--radius-sm)}button{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-semibold);line-height:1;cursor:pointer;border:none;border-radius:var(--radius-lg);padding:var(--space-3) var(--space-6);transition:var(--transition-all);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);position:relative;overflow:hidden}button:disabled{pointer-events:none}button:focus-visible{outline:3px solid var(--color-primary-400);outline-offset:2px}button:active:not(:disabled){transform:scale(.98)}input,select,textarea{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-primary);background-color:var(--color-white);border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);transition:var(--transition-all);width:100%}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px rgba(15,76,117,.1)}input::placeholder,textarea::placeholder{color:var(--color-text-tertiary)}ol,ul{padding-left:var(--space-6);margin-bottom:var(--space-4)}li{margin-bottom:var(--space-2)}img{max-width:100%;height:auto;display:block}code{font-size:.875em;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);color:var(--color-text-primary)}code,pre{font-family:var(--font-mono);background-color:var(--color-gray-100)}pre{padding:var(--space-4);border-radius:var(--radius-lg);overflow-x:auto;margin-bottom:var(--space-4)}pre code{background:none;padding:0}:focus-visible{outline:3px solid var(--color-primary-400);outline-offset:2px;border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.skip-to-main{position:absolute;left:-9999px;z-index:999;padding:var(--space-4) var(--space-6);background:var(--color-primary-500);color:white;text-decoration:none;border-radius:var(--radius-lg)}.skip-to-main:focus{left:var(--space-4);top:var(--space-4)}@supports (padding:max(0px)){body{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right));padding-bottom:max(0px,env(safe-area-inset-bottom))}}@media (hover:none) and (pointer:coarse){.btn:active,a.button:active,button:active{transform:scale(.98);opacity:.9}.hover-lift:hover{transform:none}}@media (max-width:768px){h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}.btn,a.button,button{min-height:48px;min-width:48px;padding:var(--space-4) var(--space-6);font-size:16px}input,select,textarea{min-height:48px;padding:var(--space-4);font-size:16px}.form-group{margin-bottom:var(--space-5)}.container{padding-left:var(--space-4);padding-right:var(--space-4)}}body::-webkit-scrollbar,html::-webkit-scrollbar{width:0;height:0;display:none}body{scrollbar-width:none;-ms-overflow-style:none}.cart-items::-webkit-scrollbar,.categories-grid::-webkit-scrollbar,.horizontal-scroll::-webkit-scrollbar,.search-dropdown::-webkit-scrollbar,.thumbnail-row::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-gray-100);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--color-gray-400);border-radius:var(--radius-full);border:3px solid var(--color-gray-100)}::-webkit-scrollbar-thumb:hover{background:var(--color-gray-500)}::selection{background-color:var(--color-primary-400);color:white}::-moz-selection{background-color:var(--color-primary-400);color:white}@media print{*,:after,:before{background:transparent!important;color:black!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}img{page-break-inside:avoid;max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}}.btn.added,.primary-btn.added,button.added{background:linear-gradient(135deg,#10b981,#059669)!important;color:white!important;animation:successPulse .5s ease}@keyframes successPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}button:disabled{opacity:.6;cursor:not-allowed}button.loading{position:relative;color:transparent}button.loading:after{content:"";position:absolute;width:16px;height:16px;top:50%;left:50%;margin-left:-8px;margin-top:-8px;border-radius:50%;border:2px solid #fff;border-top-color:transparent;animation:spinner .6s linear infinite}@keyframes spinner{to{transform:rotate(1turn)}}