/* SMS Onaycım - Premium ambient background v1 */
:root {
    --premium-bg-1: #050816;
    --premium-bg-2: #071126;
    --premium-line: rgba(148, 163, 184, .075);
    --premium-glow-blue: rgba(37, 99, 235, .30);
    --premium-glow-cyan: rgba(34, 211, 238, .18);
    --premium-glow-violet: rgba(124, 58, 237, .24);
}

body.premium-login-bg,
body.premium-dashboard-bg {
    position: relative;
    isolation: isolate;
    background:
        radial-gradient(900px 620px at 8% 2%, var(--premium-glow-blue), transparent 66%),
        radial-gradient(760px 560px at 94% 20%, var(--premium-glow-violet), transparent 70%),
        radial-gradient(620px 500px at 52% 100%, var(--premium-glow-cyan), transparent 72%),
        linear-gradient(135deg, var(--premium-bg-1) 0%, var(--premium-bg-2) 52%, #030712 100%) !important;
    background-attachment: fixed !important;
}

body.premium-login-bg::before,
body.premium-dashboard-bg::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -3;
    pointer-events: none;
    background-image:
        linear-gradient(var(--premium-line) 1px, transparent 1px),
        linear-gradient(90deg, var(--premium-line) 1px, transparent 1px);
    background-size: 52px 52px;
    -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,.78), transparent 88%);
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.78), transparent 88%);
}

body.premium-login-bg::after,
body.premium-dashboard-bg::after {
    content: "";
    position: fixed;
    width: 46vw;
    height: 46vw;
    min-width: 460px;
    min-height: 460px;
    right: -18vw;
    top: -22vw;
    z-index: -2;
    pointer-events: none;
    border-radius: 999px;
    background: conic-gradient(from 120deg, rgba(34,211,238,.10), rgba(99,102,241,.14), rgba(168,85,247,.08), rgba(34,211,238,.10));
    filter: blur(34px);
    animation: premiumAmbientFloat 18s ease-in-out infinite alternate;
}

/* Dashboard shell gains depth without changing layout. */
body.premium-dashboard-bg .premium-shell {
    background: linear-gradient(180deg, rgba(2, 6, 23, .26), rgba(2, 6, 23, .52));
}

body.premium-dashboard-bg .glass,
body.premium-dashboard-bg .glass-card,
body.premium-dashboard-bg [class*="bg-slate-800/"],
body.premium-dashboard-bg [class*="bg-slate-900/"] {
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035), 0 18px 48px rgba(2, 6, 23, .22);
}

body.premium-dashboard-bg .service-card {
    position: relative;
    overflow: hidden;
}

body.premium-dashboard-bg .service-card::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(115deg, transparent 25%, rgba(255,255,255,.055) 48%, transparent 70%);
    transform: translateX(-130%);
    transition: transform .7s ease;
}

body.premium-dashboard-bg .service-card:hover::after {
    transform: translateX(130%);
}

/* Login page decorative light orbs. */
.premium-orb {
    position: fixed;
    z-index: -1;
    pointer-events: none;
    border-radius: 999px;
    filter: blur(2px);
    opacity: .72;
}
.premium-orb--one {
    width: 260px;
    height: 260px;
    left: -95px;
    top: 18%;
    background: radial-gradient(circle at 35% 35%, rgba(34,211,238,.35), rgba(37,99,235,.08) 58%, transparent 72%);
    animation: premiumOrbOne 13s ease-in-out infinite alternate;
}
.premium-orb--two {
    width: 330px;
    height: 330px;
    right: -145px;
    bottom: 3%;
    background: radial-gradient(circle at 45% 45%, rgba(168,85,247,.30), rgba(79,70,229,.08) 60%, transparent 74%);
    animation: premiumOrbTwo 16s ease-in-out infinite alternate;
}

@keyframes premiumAmbientFloat {
    from { transform: translate3d(0, 0, 0) rotate(0deg) scale(.96); }
    to { transform: translate3d(-4vw, 5vh, 0) rotate(18deg) scale(1.08); }
}
@keyframes premiumOrbOne {
    from { transform: translate3d(0, -12px, 0) scale(.96); }
    to { transform: translate3d(56px, 30px, 0) scale(1.09); }
}
@keyframes premiumOrbTwo {
    from { transform: translate3d(0, 0, 0) scale(1); }
    to { transform: translate3d(-64px, -38px, 0) scale(1.08); }
}

@media (max-width: 768px) {
    body.premium-login-bg::before,
    body.premium-dashboard-bg::before { background-size: 38px 38px; opacity: .72; }
    body.premium-login-bg::after,
    body.premium-dashboard-bg::after { min-width: 360px; min-height: 360px; }
    .premium-orb--one { width: 190px; height: 190px; }
    .premium-orb--two { width: 230px; height: 230px; }
}

@media (prefers-reduced-motion: reduce) {
    body.premium-login-bg::after,
    body.premium-dashboard-bg::after,
    .premium-orb { animation: none !important; }
    body.premium-dashboard-bg .service-card::after { display: none; }
}
