:root{
  --brand:#6366f1;
  --brand2:#8b5cf6;
  --brand3:#ec4899;
}

*{ scroll-behavior:smooth; }
body{ -webkit-font-smoothing:antialiased; }

/* Gradient utilities */
.zy-gradient{ background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 50%,#ec4899 100%); }
.zy-gradient-text{
  background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 45%,#ec4899 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.zy-hero{
  background:
    radial-gradient(1200px 500px at 15% -10%, rgba(139,92,246,.35), transparent 60%),
    radial-gradient(1000px 500px at 90% 0%, rgba(236,72,153,.28), transparent 55%),
    linear-gradient(160deg,#0f172a 0%,#1e1b4b 55%,#312e81 100%);
}

/* Loader */
.loader{
  width:46px;height:46px;border-radius:50%;
  border:4px solid #e2e8f0;border-top-color:var(--brand);
  animation:spin .8s linear infinite;
}
@keyframes spin{ to{ transform:rotate(360deg); } }

/* Card hover */
.product-card{ transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.product-card:hover{ transform:translateY(-4px); box-shadow:0 18px 40px -18px rgba(79,70,229,.45); border-color:#c7d2fe; }

.icon-tile{ background:linear-gradient(135deg,#eef2ff,#faf5ff); }

/* Buttons */
.btn-brand{ background:linear-gradient(135deg,#6366f1,#8b5cf6); color:#fff; transition:filter .15s, transform .1s, box-shadow .15s; }
.btn-brand:hover{ filter:brightness(1.07); box-shadow:0 10px 24px -8px rgba(99,102,241,.6); }
.btn-brand:active{ transform:translateY(1px); }

/* Badges */
.badge{ font-size:11px;font-weight:700;letter-spacing:.02em;padding:3px 9px;border-radius:999px; }
.badge-bestseller{ background:#fef3c7;color:#b45309; }
.badge-new{ background:#dcfce7;color:#15803d; }
.badge-trending{ background:#ffe4e6;color:#be123c; }
.badge-popular{ background:#e0e7ff;color:#4338ca; }
.badge-default{ background:#f1f5f9;color:#475569; }

/* Cart drawer */
.drawer-backdrop{ background:rgba(15,23,42,.55);backdrop-filter:blur(2px); }
.drawer{ transition:transform .3s cubic-bezier(.4,0,.2,1); }

/* Line clamp helper */
.clamp-2{ display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden; }
.clamp-3{ display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden; }

/* Fade-in */
.fade-in{ animation:fadeIn .35s ease both; }
@keyframes fadeIn{ from{opacity:0;transform:translateY(8px);} to{opacity:1;transform:none;} }

/* Sticky header shadow */
.header-scrolled{ box-shadow:0 4px 20px -8px rgba(15,23,42,.25); }

/* Range slider */
input[type=range]{ accent-color:var(--brand); }

/* Star rating */
.stars i{ font-size:12px; }

/* Hide scrollbar for chip row */
.no-scrollbar::-webkit-scrollbar{ display:none; }
.no-scrollbar{ -ms-overflow-style:none; scrollbar-width:none; }

/* Marquee for trust bar */
.marquee{ display:flex; gap:3rem; white-space:nowrap; animation:marquee 28s linear infinite; }
@keyframes marquee{ from{transform:translateX(0);} to{transform:translateX(-50%);} }
