
:root{
    --g:#34D399;
    --bg0:#070A12;
    --bg1:#0B1220;
    --card: rgba(255,255,255,.06);
    --card2: rgba(255,255,255,.09);
    --stroke: rgba(255,255,255,.12);
    --text: rgba(255,255,255,.92);
    --muted: rgba(255,255,255,.62);
    --shadow: 0 30px 90px rgba(0,0,0,.55);
    --radius: 22px;
}

html,body{height:100%;}
body{
    margin:0;
    color:var(--text);
    background:
            radial-gradient(900px 600px at 15% 10%, rgba(52,211,153,.18), transparent 60%),
            radial-gradient(900px 600px at 85% 20%, rgba(99,102,241,.18), transparent 60%),
            linear-gradient(180deg, var(--bg0), var(--bg1));
    overflow-x:hidden;
}

/* ===== SHELL ===== */
.auth-shell{
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    padding: 26px;
    position:relative;
}

/* soft animated grid */
.auth-shell::before{
    content:"";
    position:absolute;
    inset:-2px;
    background-image:
            linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
            linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
    background-size: 46px 46px;
    mask-image: radial-gradient(circle at 50% 35%, black 0%, transparent 70%);
    opacity:.30;
    pointer-events:none;
    animation: gridFloat 16s ease-in-out infinite alternate;
}
@keyframes gridFloat{
    0%{ transform: translate3d(0,0,0); opacity:.22; }
    100%{ transform: translate3d(0,-16px,0); opacity:.34; }
}

/* ===== LAYOUT ===== */
.auth-wrap{
    width: min(1160px, 100%);
    display:grid;
    grid-template-columns: 440px 1fr;
    gap: 22px;
    align-items:stretch;
    position:relative;
    z-index:1;
}

/* ===== LEFT / LOGIN CARD ===== */
.login-pane{
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.06);
    backdrop-filter: blur(16px);
    overflow:hidden;
}

.login-inner{
    padding: 30px 28px 26px;
    height:100%;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.brand{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom: 16px;
}

.brand-badge img{
    width:205px;
    object-fit:contain;
    filter: drop-shadow(0 10px 18px rgba(0,0,0,.35));
}
.brand-title{
    font-weight: 950;
    letter-spacing:-.03em;
    font-size: 18px;
    line-height:1.1;
    margin:0;
}
.brand-sub{
    margin-top:3px;
    color: var(--muted);
    font-size: 12.5px;
    font-weight: 700;
}

.login-title{
    margin: 8px 0 0;
    font-size: 22px;
    font-weight: 950;
    letter-spacing:-.03em;
}
.login-desc{
    margin: 8px 0 18px;
    color: var(--muted);
    font-weight: 650;
    font-size: 13px;
    line-height:1.45;
}

.form-label{
    color: rgba(255,255,255,.72);
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 8px;
}

.form-icon{ position:relative; }
.form-icon svg{
    position:absolute;
    left: 14px;
    top:50%;
    transform: translateY(-50%);
    width: 18px; height: 18px;
    color: rgba(255,255,255,.55);
    pointer-events:none;
}

.form-control{
    height: 48px;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(10,12,18,.28);
    color: rgba(255,255,255,.92);
    transition: .15s ease;
}
.form-control::placeholder{ color: rgba(255,255,255,.42); }
.form-control:focus{
    background: rgba(10,12,18,.38);
    border-color: rgba(52,211,153,.55);
    box-shadow: 0 0 0 .2rem rgba(52,211,153,.18);
    color: rgba(255,255,255,.92);
}

.form-check-input{
    border-color: rgba(255,255,255,.22);
    background-color: rgba(255,255,255,.08);
}
.form-check-input:checked{
    background-color: var(--g);
    border-color: var(--g);
}
.form-check-label{
    color: rgba(255,255,255,.72);
    font-weight: 750;
}

.link-lite{
    color: rgba(255,255,255,.72) !important;
    font-weight: 800;
    text-decoration:none;
}
.link-lite:hover{ color: var(--g) !important; }

.btn-login{
    height: 48px;
    border-radius: 14px;
    font-weight: 950;
    letter-spacing:.2px;
    border: 1px solid rgba(52,211,153,.55);
    background:
            radial-gradient(120% 120% at 20% 20%, rgba(255,255,255,.18), rgba(255,255,255,0) 55%),
            linear-gradient(135deg, rgba(52,211,153,.95), rgba(34,197,94,.90));
    box-shadow: 0 18px 42px rgba(52,211,153,.22);
}
.btn-login:hover{
    transform: translateY(-1px);
    box-shadow: 0 22px 52px rgba(52,211,153,.26);
}
.btn-login:active{ transform: translateY(0); }

.alert{
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.06);
    color: rgba(255,255,255,.90);
}
.alert-success{ border-color: rgba(52,211,153,.30); }
.alert-danger{ border-color: rgba(239,68,68,.28); }

/* ===== RIGHT / IMAGE HERO ===== */
.hero-pane{
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    border: 1px solid rgba(255,255,255,.10);
    overflow:hidden;
    position:relative;

    background-image: url('https://fonvio-storage.fra1.cdn.digitaloceanspaces.com/fonvio/fonvio_login.jpeg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* overlay + animated glow */
.hero-pane::before{
    content:"";
    position:absolute;
    inset:0;
    background:
            radial-gradient(900px 600px at 25% 15%, rgba(52,211,153,.22), transparent 55%),
            radial-gradient(900px 600px at 75% 20%, rgba(99,102,241,.18), transparent 60%),
            linear-gradient(180deg, rgba(0,0,0,.15), rgba(0,0,0,.65));
    animation: glowShift 9s ease-in-out infinite alternate;
}
@keyframes glowShift{
    0%{ filter:saturate(1) brightness(1); }
    100%{ filter:saturate(1.08) brightness(1.03); }
}

/* headline */
.hero-pane::after{
    content:"Fonvio ile\A mağazanı hızlandır";
    white-space: pre-line;
    position:absolute;
    left: 36px;
    top: 34px;
    right: 36px;

    font-weight: 950;
    letter-spacing:-.04em;
    line-height: 1.05;
    font-size: 48px;
    color: rgba(255,255,255,.92);

    text-shadow: 0 18px 60px rgba(0,0,0,.55);

    opacity: 0;
    transform: translateY(16px);
    animation: heroTextIn .9s cubic-bezier(.2,.9,.2,1) .15s forwards;
}
@keyframes heroTextIn{
    to{ opacity:1; transform: translateY(0); }
}

/* subtle moving shine */
.hero-shine{
    position:absolute;
    inset:-60px;
    background: linear-gradient(120deg,
    rgba(52,211,153,0) 20%,
    rgba(52,211,153,.18) 45%,
    rgba(52,211,153,0) 70%);
    transform: translateX(-35%) rotate(8deg);
    animation: shineMove 7.5s ease-in-out infinite;
    pointer-events:none;
    mix-blend-mode: screen;
    opacity:.75;
}
@keyframes shineMove{
    0%{ transform: translateX(-38%) rotate(8deg); opacity:.35; }
    50%{ transform: translateX(8%) rotate(8deg); opacity:.85; }
    100%{ transform: translateX(-38%) rotate(8deg); opacity:.35; }
}

/* ===== RESPONSIVE ===== */
@media (max-width: 991.98px){
    .auth-wrap{
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .hero-pane{
        height: 330px;
    }
    .hero-pane::after{
        left: 20px;
        right: 20px;
        top: 20px;
        font-size: 32px;
    }
    .login-inner{
        padding: 24px 20px 22px;
    }
}

/* ===== LOADER ===== */
.fonvio-loader{
    position: fixed;
    inset: 0;
    z-index: 99999 !important;
    display:flex;
    align-items:center;
    justify-content:center;
    background:
            radial-gradient(900px 600px at 15% 10%, rgba(52,211,153,.18), transparent 60%),
            radial-gradient(900px 600px at 85% 20%, rgba(99,102,241,.18), transparent 60%),
            linear-gradient(180deg, var(--bg0), var(--bg1));
    opacity: 1;
    transition: opacity .5s ease;
}
.fonvio-loader.hide{
    opacity: 0;
    pointer-events:none;
    visibility:hidden;
}
.fonvio-word{
    display:flex;
    gap:6px;
    font-size: 2.4rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .18em;
    color: var(--g);
    text-shadow: 0 18px 40px rgba(0,0,0,.55);
}
.fonvio-word span{
    display:inline-block;
    animation: fonvioLetter 1.05s ease-in-out infinite;
    animation-delay: calc(var(--i) * 0.08s);
}
@keyframes fonvioLetter{
    0%,100%{ transform: translateY(0); opacity:1; }
    40%{ transform: translateY(-4px); opacity:.92; }
    60%{ transform: translateY(1px); opacity:1; }
}
/* ✅ Input yazısı görünmüyor fix */
.form-control{
    color: rgba(255,255,255,.92) !important;
    caret-color: rgba(255,255,255,.92) !important;
}

/* placeholder */
.form-control::placeholder{
    color: rgba(255,255,255,.42) !important;
}

/* ✅ Chrome / Edge autofill (sarı arka plan + siyah yazı) fix */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
select:-webkit-autofill{
    -webkit-text-fill-color: rgba(255,255,255,.92) !important;
    caret-color: rgba(255,255,255,.92) !important;

    /* autofill'in arka planını bizim input arkaplanına çevir */
    box-shadow: 0 0 0px 1000px rgba(10,12,18,.38) inset !important;
    -webkit-box-shadow: 0 0 0px 1000px rgba(10,12,18,.38) inset !important;

    transition: background-color 9999s ease-in-out 0s;
}
@media (max-width: 991.98px){
    .auth-wrap{
        grid-template-columns: 1fr;
    }

    /* Mobilde sıralama */
    .hero-pane{ order: 1; }
    .login-pane{ order: 2; }

    /* Resim yükseklik + üst köşeler */
    .hero-pane{
        height: 320px;
    }
}

/* ✅ Mobilde görseli küçült */
@media (max-width: 991.98px){
    .hero-pane{
        height: 220px !important;           /* 200-260 arası oynayabilirsin */
        background-position: center 35% !important; /* yüz/üst detay daha iyi gelsin */
    }

    /* Başlık çok yer kaplamasın */
    .hero-pane::after{
        font-size: 22px !important;
        line-height: 1.08 !important;
    }

    /* Shine da daha hafif olsun */
    .hero-shine{
        opacity: .55 !important;
    }
}
