/* ═══════════════════════════════════════════════════
   EMPTY STATES & SKELETON LOADERS — Site geneli
   ═══════════════════════════════════════════════════ */

/* Empty State (boş ekran) */
.sp-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center;min-height:320px}
.sp-empty-icon{width:96px;height:96px;border-radius:50%;background:linear-gradient(135deg,rgba(var(--p-r,108),var(--p-g,99),var(--p-b,255),.08),rgba(139,92,246,.04));display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-size:40px;color:var(--p);animation:spEmptyFloat 3s ease-in-out infinite}
.sp-empty-icon i{font-size:40px}
@keyframes spEmptyFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.sp-empty h3{font-size:18px;font-weight:800;margin:0 0 8px;color:var(--text)}
.sp-empty p{font-size:13.5px;color:var(--tl);margin:0 0 18px;max-width:420px;line-height:1.7}
.sp-empty .sp-empty-actions{display:inline-flex;gap:10px;flex-wrap:wrap;justify-content:center}
.sp-empty .sp-empty-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:10px;background:linear-gradient(135deg,var(--p),var(--pd,#8b5cf6));color:#fff;font-weight:700;font-size:13px;text-decoration:none;border:none;cursor:pointer;font-family:inherit;transition:all .2s;box-shadow:0 6px 18px rgba(var(--p-r,108),var(--p-g,99),var(--p-b,255),.28)}
.sp-empty .sp-empty-btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(var(--p-r,108),var(--p-g,99),var(--p-g,255),.35)}
.sp-empty .sp-empty-btn-ghost{background:transparent;color:var(--text);border:1.5px solid var(--brd);box-shadow:none}
.sp-empty .sp-empty-btn-ghost:hover{border-color:var(--p);color:var(--p)}

.sp-empty-sm{padding:32px 20px;min-height:180px}
.sp-empty-sm .sp-empty-icon{width:64px;height:64px;font-size:26px;margin-bottom:12px}
.sp-empty-sm .sp-empty-icon i{font-size:26px}
.sp-empty-sm h3{font-size:15px}
.sp-empty-sm p{font-size:12px;margin-bottom:10px}

/* Skeleton loader */
.sp-skel{background:linear-gradient(90deg,var(--bg2) 0%,rgba(var(--p-r,108),var(--p-g,99),var(--p-b,255),.06) 50%,var(--bg2) 100%);background-size:200% 100%;animation:spSkelPulse 1.4s ease-in-out infinite;border-radius:8px;display:block}
@keyframes spSkelPulse{0%{background-position:200% 0}100%{background-position:-200% 0}}
.sp-skel-line{height:12px;margin-bottom:6px}
.sp-skel-line:last-child{margin-bottom:0}
.sp-skel-line.sp-skel-sm{width:60%}
.sp-skel-line.sp-skel-md{width:80%}
.sp-skel-line.sp-skel-lg{width:100%}
.sp-skel-circle{width:40px;height:40px;border-radius:50%}
.sp-skel-thumb{aspect-ratio:4/3;width:100%;border-radius:10px}
.sp-skel-card{padding:14px;border:1px solid var(--brd);border-radius:14px;background:var(--white);display:flex;flex-direction:column;gap:10px}
.sp-skel-card-thumb{aspect-ratio:4/3;border-radius:10px 10px 0 0;margin:-14px -14px 8px}
.sp-skel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}

/* Dark mode */
[data-theme="dark"] .sp-skel{background:linear-gradient(90deg,#1e293b 0%,#334155 50%,#1e293b 100%);background-size:200% 100%}

/* Toast notifications - fallback */
.sp-toast-wrap{position:fixed;top:20px;right:20px;z-index:100000;display:flex;flex-direction:column;gap:10px;max-width:400px;pointer-events:none}
.sp-toast{background:var(--white);border:1px solid var(--brd);border-radius:12px;padding:14px 18px;box-shadow:0 10px 30px rgba(0,0,0,.15);display:flex;align-items:center;gap:12px;min-width:280px;pointer-events:auto;animation:spToastIn .3s ease-out;border-left:4px solid var(--p)}
.sp-toast.sp-toast-success{border-left-color:#10b981}
.sp-toast.sp-toast-error{border-left-color:#ef4444}
.sp-toast.sp-toast-warn{border-left-color:#f59e0b}
.sp-toast.sp-toast-info{border-left-color:#3b82f6}
.sp-toast-ic{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.sp-toast-success .sp-toast-ic{background:rgba(16,185,129,.15);color:#10b981}
.sp-toast-error .sp-toast-ic{background:rgba(239,68,68,.15);color:#ef4444}
.sp-toast-warn .sp-toast-ic{background:rgba(245,158,11,.15);color:#f59e0b}
.sp-toast-info .sp-toast-ic{background:rgba(59,130,246,.15);color:#3b82f6}
.sp-toast-body{flex:1;min-width:0;font-size:13.5px;line-height:1.5;color:var(--text);font-weight:600}
.sp-toast-close{background:transparent;border:none;color:var(--tl);cursor:pointer;font-size:14px;padding:4px}
.sp-toast.sp-toast-closing{animation:spToastOut .25s ease-in forwards}
@keyframes spToastIn{from{transform:translateX(110%);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes spToastOut{to{transform:translateX(110%);opacity:0}}

/* Lazy image loading */
img[loading="lazy"]{background:var(--bg2)}
img.sp-lazy-img{opacity:0;transition:opacity .3s ease}
img.sp-lazy-img.sp-loaded{opacity:1}
.sp-img-wrap{position:relative;overflow:hidden;background:var(--bg2)}
.sp-img-wrap::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--bg2),var(--bg));display:flex;align-items:center;justify-content:center;z-index:0}
.sp-img-wrap img{position:relative;z-index:1}
