@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-18px)} }
@keyframes fadeIn { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:translateY(0)} }
.float { animation: float 6s ease-in-out infinite; }
.hero-gradient { background:radial-gradient(circle at 12% 12%,rgba(99,102,241,.24),transparent 27%),radial-gradient(circle at 90% 14%,rgba(236,72,153,.19),transparent 25%),linear-gradient(135deg,#f8fafc 0%,#eef2ff 52%,#fff1f2 100%); }
.dark .hero-gradient { background:radial-gradient(circle at 12% 12%,rgba(99,102,241,.30),transparent 27%),radial-gradient(circle at 90% 14%,rgba(236,72,153,.18),transparent 25%),linear-gradient(135deg,#020617,#111827 52%,#1e1b4b); }
.glass { background:rgba(255,255,255,.72);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.42); }
.dark .glass { background:rgba(15,23,42,.7);border-color:rgba(255,255,255,.08); }
.reveal { opacity:0; transform:translateY(24px); transition:opacity .7s ease,transform .7s ease; }
.reveal.visible { opacity:1; transform:none; }
.nav-link { padding:.5rem .75rem;border-radius:9999px;font-size:.875rem;font-weight:800;transition:.2s; }
.nav-link:hover { background:#f1f5f9; }
.dark .nav-link:hover { background:rgba(255,255,255,.1); }
.nav-link-active { background:#0f172a;color:white; }
.dark .nav-link-active { background:white;color:#0f172a; }
.mobile-nav-link { padding:.75rem 1rem;border-radius:1rem;font-weight:800; }
.mobile-nav-link:hover { background:#f1f5f9; }
.dark .mobile-nav-link:hover { background:rgba(255,255,255,.1); }
.icon-button { display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:9999px;background:#f1f5f9;color:#334155;transition:.2s; }
.icon-button:hover { transform:scale(1.05);background:#e2e8f0; }
.dark .icon-button { background:rgba(255,255,255,.1);color:white; }
.count-badge { position:absolute;right:-.25rem;top:-.25rem;display:grid;min-width:1.25rem;height:1.25rem;place-items:center;border-radius:9999px;padding:0 .25rem;font-size:10px;font-weight:900;color:white; }
.btn-ripple { position:relative;overflow:hidden; }
.product-card { transition:transform .3s ease,box-shadow .3s ease; }
.product-card:hover { transform:translateY(-8px);box-shadow:0 24px 70px rgba(15,23,42,.14); }
.social-icon { display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:9999px;background:rgba(255,255,255,.1);transition:.2s; }
.social-icon:hover { background:white;color:#0f172a; }
.trust-item { display:flex;align-items:center;gap:.75rem; }
.trust-item>i { display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:1rem;background:rgba(255,255,255,.1);color:#c7d2fe; }
.trust-item b,.trust-item small { display:block; }.trust-item small { color:#94a3b8;font-size:.75rem;margin-top:.125rem; }
.toast-card { animation:fadeIn .35s ease both; }
.line-clamp-2 { display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden; }
.input-field { width:100%;border-radius:1rem;border:1px solid #e2e8f0;background:#fff;padding:.8rem 1rem;outline:none;transition:.2s; }
.input-field:focus { border-color:#0f172a;box-shadow:0 0 0 3px rgba(99,102,241,.13); }
.dark .input-field { border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:white; }
.dark .input-field:focus { border-color:white; }
.label { display:grid;gap:.5rem;font-size:.875rem;font-weight:800; }
[x-cloak] { display: none !important; }
