:root{--primary:#2563eb;--primary-glow:rgba(59,130,246,.32);--ink:#0f172a;--muted:#64748b}
*{box-sizing:border-box}body{font-family:'Outfit',sans-serif;background:#f1f5f9;color:var(--ink);overflow-x:hidden;min-height:100vh}
.bg-orb{position:fixed;border-radius:50%;filter:blur(80px);z-index:-1;pointer-events:none;animation:orbFloat 20s infinite alternate cubic-bezier(.4,0,.2,1)}.orb-1{top:-10%;left:-10%;width:500px;height:500px;background:rgba(56,189,248,.25)}.orb-2{bottom:-10%;right:-10%;width:600px;height:600px;background:rgba(168,85,247,.18);animation-delay:-5s}
.glass{background:rgba(255,255,255,.72);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.68)}
@keyframes orbFloat{0%{transform:translate(0,0) scale(1)}100%{transform:translate(100px,50px) scale(1.2)}}@keyframes fadeInUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}.floating{animation:float 6s ease-in-out infinite}.animate-cascade>*{animation:fadeInUp .55s both}.animate-cascade>*:nth-child(2){animation-delay:.08s}.animate-cascade>*:nth-child(3){animation-delay:.16s}
.category-link{transition:all .22s ease;border-left:3px solid transparent}.category-link:hover,.category-link.active{transform:translateX(4px);color:var(--primary);background:linear-gradient(90deg,rgba(59,130,246,.1),transparent);border-left-color:var(--primary)}
.btn-glow{transition:transform .2s ease,box-shadow .2s ease}.btn-glow:hover{box-shadow:0 0 20px var(--primary-glow);transform:translateY(-1px)}
.search-input{transition:all .3s ease}.search-input:focus{width:100%;box-shadow:0 0 0 4px rgba(59,130,246,.14)}
.auth-input{width:100%;background:rgba(255,255,255,.72);border:1px solid #e2e8f0;border-radius:1rem;padding:.875rem 1.1rem;transition:border-color .2s,box-shadow .2s,background .2s;color:#1e293b}.auth-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px rgba(59,130,246,.14);background:#fff}.auth-input::placeholder{color:#94a3b8}
.product-card{transition:transform .22s ease,box-shadow .22s ease}.product-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(15,23,42,.09)}.product-image{height:170px;object-fit:contain;mix-blend-mode:multiply}.product-image-wrap{background:linear-gradient(135deg,#f8fafc,#eff6ff)}
.cart-item-block{transition:opacity .25s,transform .25s}.removing-item{opacity:0;transform:translateX(20px)}
::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}
.notice{border-radius:14px;padding:12px 15px;font-size:14px}.notice-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.notice-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.notice-info{background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8}
.page-width{width:100%;max-width:1360px;margin:0 auto}.small-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:#94a3b8}
@media(max-width:767px){.orb-1{width:300px;height:300px}.orb-2{width:360px;height:360px}.product-image{height:140px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}


/* Global holiday modes, switched from Admin → Appearance. */
body.holiday-theme{transition:background-color .35s ease,color .35s ease;--holiday-primary:#2563eb;--holiday-secondary:#06b6d4;--holiday-gradient:linear-gradient(115deg,#2563eb,#06b6d4);--holiday-glow:rgba(37,99,235,.28)}
body.theme-new_year{--primary:#2563eb;--primary-glow:rgba(37,99,235,.30);--holiday-primary:#2563eb;--holiday-secondary:#0891b2;--holiday-gradient:linear-gradient(115deg,#1d4ed8,#0891b2,#60a5fa);background-color:#eff6ff;background-image:linear-gradient(180deg,#eff6ff 0%,#f8fafc 55%,#e0f2fe 100%)}
body.theme-christmas{--primary:#15803d;--primary-glow:rgba(21,128,61,.28);--holiday-primary:#15803d;--holiday-secondary:#b91c1c;--holiday-gradient:linear-gradient(115deg,#14532d,#15803d,#b91c1c);background-color:#f0fdf4;background-image:linear-gradient(180deg,#f0fdf4 0%,#fffdf5 55%,#fee2e2 100%)}
body.theme-halloween{--primary:#ea580c;--primary-glow:rgba(234,88,12,.28);--holiday-primary:#ea580c;--holiday-secondary:#7e22ce;--holiday-gradient:linear-gradient(115deg,#3b0764,#7e22ce,#ea580c);background-color:#fff7ed;background-image:linear-gradient(180deg,#fff7ed 0%,#faf5ff 60%,#ffedd5 100%)}
body.theme-valentines{--primary:#e11d48;--primary-glow:rgba(225,29,72,.25);--holiday-primary:#e11d48;--holiday-secondary:#be185d;--holiday-gradient:linear-gradient(115deg,#be185d,#e11d48,#fb7185);background-color:#fff1f2;background-image:linear-gradient(180deg,#fff1f2 0%,#fff7fb 60%,#fce7f3 100%)}
body.theme-easter{--primary:#7c3aed;--primary-glow:rgba(124,58,237,.24);--holiday-primary:#7c3aed;--holiday-secondary:#ca8a04;--holiday-gradient:linear-gradient(115deg,#7c3aed,#c026d3,#eab308);background-color:#faf5ff;background-image:linear-gradient(180deg,#faf5ff 0%,#fdf2f8 60%,#fef9c3 100%)}
body.theme-independence_day{--primary:#2563eb;--primary-glow:rgba(37,99,235,.26);--holiday-primary:#2563eb;--holiday-secondary:#eab308;--holiday-gradient:linear-gradient(115deg,#1d4ed8,#2563eb,#eab308);background-color:#eff6ff;background-image:linear-gradient(180deg,#eff6ff 0%,#fff 58%,#fef9c3 100%)}
body.theme-autumn{--primary:#b45309;--primary-glow:rgba(180,83,9,.26);--holiday-primary:#b45309;--holiday-secondary:#ea580c;--holiday-gradient:linear-gradient(115deg,#92400e,#b45309,#ea580c);background-color:#fffbeb;background-image:linear-gradient(180deg,#fffbeb 0%,#fff7ed 58%,#fef3c7 100%)}
body.holiday-theme .glass{border-color:color-mix(in srgb,var(--holiday-primary) 16%,white);box-shadow:0 12px 35px color-mix(in srgb,var(--holiday-primary) 7%,transparent)}
body.holiday-theme .bg-orb.orb-1{background:color-mix(in srgb,var(--holiday-primary) 16%,transparent)}
body.holiday-theme .bg-orb.orb-2{background:color-mix(in srgb,var(--holiday-secondary) 13%,transparent)}
body.holiday-theme .category-link:hover,body.holiday-theme .category-link.active{color:var(--holiday-primary);border-left-color:var(--holiday-primary);background:linear-gradient(90deg,color-mix(in srgb,var(--holiday-primary) 12%,transparent),transparent)}
body.holiday-theme .btn-glow:hover{box-shadow:0 0 20px var(--holiday-glow)}
body.holiday-theme .auth-input:focus{border-color:var(--holiday-primary);box-shadow:0 0 0 4px var(--holiday-glow)}
body.holiday-theme .text-blue-600,body.holiday-theme .text-blue-700,body.holiday-theme .text-blue-800{color:var(--holiday-primary)!important}
body.holiday-theme .bg-blue-600,body.holiday-theme .bg-blue-700{background-color:var(--holiday-primary)!important}
body.holiday-theme .hover\:bg-blue-500:hover{background-color:var(--holiday-secondary)!important}
body.holiday-theme .border-blue-600{border-color:var(--holiday-primary)!important}
body.holiday-theme .bg-gradient-to-r,body.holiday-theme .bg-gradient-to-br,body.holiday-theme .bg-gradient-to-tr{background-image:var(--holiday-gradient)!important}
body.holiday-theme::before{content:"";position:fixed;inset:0 0 auto;height:4px;z-index:65;pointer-events:none;background:var(--holiday-gradient);opacity:.96}
.holiday-ornaments{position:fixed;inset:0;z-index:15;overflow:hidden;pointer-events:none;contain:layout paint}
.holiday-ornament{position:absolute;top:-3rem;left:var(--holiday-left,10%);font-size:clamp(1rem,1.8vw,1.65rem);opacity:.28;filter:drop-shadow(0 2px 2px rgba(15,23,42,.08));animation:holidayFall var(--holiday-duration,17s) linear infinite;animation-delay:var(--holiday-delay,0s);user-select:none}
.ornament-position-1{--holiday-left:3%;--holiday-duration:23s;--holiday-delay:-7s}.ornament-position-2{--holiday-left:13%;--holiday-duration:18s;--holiday-delay:-13s}.ornament-position-3{--holiday-left:27%;--holiday-duration:25s;--holiday-delay:-3s}.ornament-position-4{--holiday-left:42%;--holiday-duration:20s;--holiday-delay:-17s}.ornament-position-5{--holiday-left:58%;--holiday-duration:24s;--holiday-delay:-9s}.ornament-position-6{--holiday-left:72%;--holiday-duration:17s;--holiday-delay:-5s}.ornament-position-7{--holiday-left:84%;--holiday-duration:22s;--holiday-delay:-14s}.ornament-position-8{--holiday-left:95%;--holiday-duration:19s;--holiday-delay:-11s}.ornament-position-9{--holiday-left:36%;--holiday-duration:28s;--holiday-delay:-21s}.ornament-position-10{--holiday-left:66%;--holiday-duration:21s;--holiday-delay:-2s}
.holiday-ornaments-new_year .holiday-ornament{color:#0ea5e9;opacity:.4;font-size:clamp(1rem,1.6vw,1.5rem)}.holiday-ornaments-christmas .holiday-ornament{opacity:.35}.holiday-ornaments-halloween .holiday-ornament{opacity:.36;font-size:clamp(1.1rem,2.2vw,2rem)}.holiday-ornaments-valentines .holiday-ornament{opacity:.24}.holiday-ornaments-easter .holiday-ornament{opacity:.3}.holiday-ornaments-independence_day .holiday-ornament{opacity:.24}.holiday-ornaments-autumn .holiday-ornament{opacity:.32}
@keyframes holidayFall{0%{transform:translate3d(0,-5vh,0) rotate(0deg)}45%{transform:translate3d(18px,50vh,0) rotate(90deg)}100%{transform:translate3d(-8px,110vh,0) rotate(220deg)}}
@media(max-width:767px){.holiday-ornament{font-size:1rem;opacity:.18}.holiday-ornament:nth-child(even){display:none}.holiday-ornaments-halloween .holiday-ornament{font-size:1.1rem}}
@media(prefers-reduced-motion:reduce){.holiday-ornament{animation:none;top:1rem;opacity:.12}body.holiday-theme{transition:none}}
