/* ── Only what Tailwind can't handle ── */

/* Orb background gradients */
.orb { position:absolute; border-radius:50%; filter:blur(80px); animation:floatOrb 12s ease-in-out infinite; pointer-events:none; }
.orb-1 { width:500px;height:500px; background:radial-gradient(circle,rgba(254,44,85,.18) 0%,transparent 70%); top:-150px;left:-100px; }
.orb-2 { width:400px;height:400px; background:radial-gradient(circle,rgba(37,244,238,.12) 0%,transparent 70%); top:40%;right:-120px; animation-delay:-4s; }
.orb-3 { width:350px;height:350px; background:radial-gradient(circle,rgba(100,60,255,.12) 0%,transparent 70%); bottom:-100px;left:40%; animation-delay:-8s; }

/* Keyframes */
@keyframes floatOrb { 0%,100%{transform:translate(0,0) scale(1)} 33%{transform:translate(30px,-30px) scale(1.05)} 66%{transform:translate(-20px,20px) scale(.95)} }
@keyframes fadeInUp  { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }
@keyframes spin      { to{transform:rotate(360deg)} }

/* Gradient text */
.gradient-text { background:linear-gradient(135deg,#fe2c55,#ff6b6b); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }

/* Video card animation & selected state */
.video-card        { animation:fadeInUp .4s ease forwards; opacity:0; }
.video-card:hover .video-thumb { transform:scale(1.06); }
.video-card.selected { border-color:#fe2c55 !important; box-shadow:0 0 0 2px rgba(254,44,85,.25); }
.video-card.selected .video-checkbox { background:#fe2c55 !important; border-color:#fe2c55 !important; }
.video-card.selected .video-checkbox::after { transform:rotate(-45deg) scale(1) !important; }

/* Thumbnail */
.video-thumb { width:100%;height:100%;object-fit:cover;transition:transform .4s ease; }
.aspect-tiktok { aspect-ratio:9/16; }

/* Checkbox tick */
.video-checkbox::after { content:''; width:10px;height:7px; border-left:2px solid #fff; border-bottom:2px solid #fff; transform:rotate(-45deg) scale(0); transition:transform .2s; display:block; }

/* Download button states */
.card-download-btn.downloading { background:rgba(77,159,255,.1) !important; border-color:rgba(77,159,255,.3) !important; color:#4d9fff !important; }
.card-download-btn.done        { background:rgba(34,197,94,.1) !important; border-color:rgba(34,197,94,.3) !important; color:#22c55e !important; }

/* Spinner */
.spinner { width:18px;height:18px; border:2px solid rgba(77,159,255,.3); border-top-color:#4d9fff; border-radius:50%; animation:spin .7s linear infinite; flex-shrink:0; display:inline-block; vertical-align:middle; }

/* Custom scrollbar */
::-webkit-scrollbar { width:6px; }
::-webkit-scrollbar-track { background:transparent; }
::-webkit-scrollbar-thumb { background:rgba(255,255,255,.1); border-radius:3px; }
::-webkit-scrollbar-thumb:hover { background:rgba(255,255,255,.2); }

/* FAQ transition */
.faq-q[aria-expanded="true"] .faq-icon { transform:rotate(45deg); }
.faq-a { animation:fadeInUp .2s ease; }

/* Smooth scroll */
html { scroll-behavior:smooth; }
