/* ══════════════════════════════════════════════════════════════════
   bv-auth.css — Giriş, kayıt, doğrulama ve şifre sıfırlama ekranları (_loginMaster)
   Düzen: koyu marka bandı (logo + slogan, sağda dil seçici) → bandın üzerine binen
   beyaz kart(lar) → alt bilgi. Form alanları temanın .input-style yapısını kullanır
   (doğrulama ikonları custom.js'ten gelir); burada sadece görünüm düzenlenir.
   ══════════════════════════════════════════════════════════════════ */

.bv-auth {
    --bv-ink: #434A54;
    --bv-ink-2: #2E333A;
    --bv-green: #8CC152;
    --bv-green-2: #A0D468;
    --bv-line: #E6E9ED;
    --bv-soft: #F5F7FA;
    --bv-muted: #8A929C;
    min-height: 100vh;
    background: var(--bv-soft);
    display: flex;
    flex-direction: column;
}

/* ── Marka bandı ── */
.bv-auth-hero {
    position: relative;
    padding: calc(env(safe-area-inset-top, 0px) + 18px) 20px 72px;
    color: #FFF;
    background:
        radial-gradient(120% 90% at 100% 0%, rgba(140, 193, 82, .22) 0%, rgba(140, 193, 82, 0) 60%),
        linear-gradient(160deg, var(--bv-ink) 0%, var(--bv-ink-2) 100%);
    border-radius: 0 0 28px 28px;
    overflow: hidden;
}
.bv-auth-hero::after {
    content: "";
    position: absolute;
    right: -40px;
    bottom: -60px;
    width: 200px;
    height: 200px;
    border-radius: 50%;
    border: 28px solid rgba(255, 255, 255, .04);
    pointer-events: none;
}
.bv-auth-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 36px;
    margin-bottom: 18px;
}
.bv-auth-back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: rgba(255, 255, 255, .85) !important;
    font-size: 13px;
    font-weight: 600;
}
.bv-auth-back i { font-size: 12px; }
.bv-auth-brand {
    display: flex;
    align-items: center;
    gap: 12px;
}
.bv-auth-brand .bv-mark {
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .25));
}
.bv-auth-brand b {
    display: block;
    font-size: 24px;
    font-weight: 800;
    letter-spacing: .3px;
    line-height: 1.1;
    color: #FFF;
}
.bv-auth-brand small {
    display: block;
    font-size: 12px;
    color: rgba(255, 255, 255, .7);
    line-height: 1.35;
    margin-top: 2px;
}

/* Dil seçici (bant sağ üst) */
.bv-lang { position: relative; margin-left: auto; }
.bv-lang-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    height: 34px;
    padding: 0 12px;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 17px;
    background: rgba(255, 255, 255, .08);
    color: #FFF;
    font-size: 12px;
    font-weight: 600;
}
.bv-lang-btn .fa-chevron-down { font-size: 9px; opacity: .7; }
.bv-lang-menu {
    display: none;
    position: absolute;
    right: 0;
    top: 40px;
    z-index: 30;
    min-width: 180px;
    max-height: 260px;
    overflow-y: auto;
    padding: 6px;
    background: #FFF;
    border-radius: 14px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, .18);
}
.bv-lang.open .bv-lang-menu { display: block; }
.bv-lang-menu a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 9px 12px;
    border-radius: 10px;
    color: var(--bv-ink) !important;
    font-size: 13px;
}
.bv-lang-menu a:hover { background: var(--bv-soft); }
.bv-lang-menu a.on { font-weight: 700; }
.bv-lang-menu a.on::after { content: "\f00c"; font-family: "Font Awesome 5 Free"; font-weight: 900; font-size: 11px; color: var(--bv-green); }

/* ── Gövde ── */
.bv-auth-body {
    flex: 1;
    width: 100%;
    max-width: 460px;
    margin: -52px auto 0;
    padding: 0 16px;
    position: relative;
    z-index: 2;
}
.bv-auth-body .card.card-style {
    margin: 0 0 14px;
    border-radius: 22px;
    border: 0;
    box-shadow: 0 10px 30px rgba(38, 44, 52, .08);
}
.bv-auth-body .card.card-style > .content,
.bv-auth-body .card.card-style form > .content { margin: 20px 18px; }

.bv-auth-head { text-align: center; margin-bottom: 20px; }
.bv-auth-head h1 {
    font-size: 21px;
    font-weight: 800;
    color: var(--bv-ink);
    margin: 0 0 6px;
    line-height: 1.25;
}
.bv-auth-head p { font-size: 13px; color: var(--bv-muted); margin: 0; line-height: 1.5; }
.bv-auth-icon {
    width: 58px;
    height: 58px;
    margin: 0 auto 14px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: #FFF;
    background: linear-gradient(145deg, var(--bv-green-2), var(--bv-green));
    box-shadow: 0 8px 18px rgba(140, 193, 82, .35);
}
.bv-auth-icon.ink { background: linear-gradient(145deg, #656D78, var(--bv-ink)); box-shadow: 0 8px 18px rgba(67, 74, 84, .3); }

/* ── Form alanları (tema .input-style) ── */
.bv-auth .input-style.has-borders { margin-bottom: 16px !important; }
.bv-auth .input-style.has-borders input,
.bv-auth .input-style.has-borders select,
.bv-auth .input-style.has-borders textarea {
    height: 50px;
    line-height: 50px;
    border: 1px solid var(--bv-line) !important;
    border-radius: 12px !important;
    background: var(--bv-soft) !important;
    font-size: 14px !important;
    color: var(--bv-ink);
    transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.bv-auth .input-style.has-borders.has-icon input,
.bv-auth .input-style.has-borders.has-icon select { padding-left: 40px !important; }
.bv-auth .input-style.has-borders input:focus,
.bv-auth .input-style.has-borders select:focus {
    border-color: var(--bv-green) !important;
    background: #FFF !important;
    box-shadow: 0 0 0 3px rgba(140, 193, 82, .18) !important;
}
.bv-auth .input-style.has-borders.has-icon > i:first-child {
    left: 2px !important;
    top: 25px !important;
    transform: translateY(-50%);
    margin-top: 0 !important;
    color: var(--bv-muted) !important;
    font-size: 14px;
}
.bv-auth .input-style.input-style-always-active label {
    top: -2px !important;
    left: 24px !important;
    padding: 0 6px !important;
    background: #ffffff00 !important;
    border-radius: 6px;
    font-size: 10px !important;
    font-weight: 700 !important;
    color: var(--bv-muted) !important;
    opacity: 1 !important;
    text-transform: none !important;
}
.bv-auth .input-style em { font-style: normal; font-size: 10px; color: var(--bv-muted); }
.bv-auth .input-style .valid, .bv-auth .input-style .invalid { top: 25px !important; margin-top: 0 !important; transform: translateY(-50%); }
.bv-auth .input-style.has-borders .form-select { background-position: right 14px center; }

/* Telefon: ülke kodu + numara */
.bv-auth .bv-phone .form-label { font-size: 11px; font-weight: 700; color: var(--bv-muted); margin-bottom: 6px; }
.bv-auth .bv-phone .input-group { flex-wrap: nowrap; }
.bv-auth .bv-phone .input-group-text {
    height: 50px;
    min-width: 88px;
    justify-content: center;
    border: 1px solid var(--bv-line);
    border-right: 0;
    border-radius: 12px 0 0 12px;
    background: #EEF1F4;
    color: var(--bv-ink);
    font-size: 13px;
    font-weight: 700;
}
.bv-auth .bv-phone .form-control {
    height: 50px;
    border: 1px solid var(--bv-line);
    border-radius: 0 12px 12px 0;
    background: var(--bv-soft);
    font-size: 14px;
}
.bv-auth .bv-phone .form-control:focus { border-color: var(--bv-green); background: #FFF; box-shadow: 0 0 0 3px rgba(140, 193, 82, .18); }
.bv-auth .bv-phone small { font-size: 11px; color: var(--bv-muted); margin-top: 6px; display: block; }

/* Beni hatırla / onay kutuları */
.bv-auth .form-check { display: flex; align-items: center; gap: 10px; padding-left: 0; }
.bv-auth .form-check-input { float: none; margin: 0; width: 20px; height: 20px; border-radius: 6px; border: 1.5px solid #CCD1D9; flex-shrink: 0; }
.bv-auth .form-check-input:checked { background-color: var(--bv-green); border-color: var(--bv-green); }
.bv-auth .form-check-label { font-size: 13px; color: var(--bv-ink); line-height: 1.45; }

/* ── Düğmeler ── */
.bv-auth .bv-btn-primary,
.bv-auth .bv-btn-ghost,
.bv-auth .bv-btn-google {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: 100%;
    height: 52px;
    border-radius: 14px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .2px;
    text-transform: none;
    transition: transform .08s ease, box-shadow .15s ease, opacity .15s ease;
}
.bv-auth .bv-btn-primary {
    border: 0;
    color: #FFF !important;
    background: linear-gradient(160deg, #545C67, var(--bv-ink));
    box-shadow: 0 8px 18px rgba(67, 74, 84, .28);
}
.bv-auth .bv-btn-primary.green {
    background: linear-gradient(160deg, var(--bv-green-2), var(--bv-green));
    box-shadow: 0 8px 18px rgba(140, 193, 82, .35);
}
.bv-auth .bv-btn-ghost {
    border: 1px solid var(--bv-line);
    background: #FFF;
    color: var(--bv-ink) !important;
}
.bv-auth .bv-btn-google {
    border: 1px solid #DADCE0;
    background: #FFF;
    color: #3C4043 !important;
}
.bv-auth .bv-btn-primary:active,
.bv-auth .bv-btn-ghost:active,
.bv-auth .bv-btn-google:active { transform: scale(.985); }
.bv-auth .bv-btn-primary[disabled] { opacity: .6; }
.bv-auth .bv-btn-row { display: flex; gap: 10px; }
.bv-auth .bv-btn-row > * { flex: 1; }

.bv-auth .bv-or {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 16px 0;
    color: var(--bv-muted);
    font-size: 12px;
}
.bv-auth .bv-or::before, .bv-auth .bv-or::after { content: ""; flex: 1; height: 1px; background: var(--bv-line); }

.bv-auth .bv-links {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--bv-line);
    font-size: 13px;
}
.bv-auth .bv-links a { color: var(--bv-ink) !important; font-weight: 600; display: inline-flex; align-items: center; gap: 6px; }
.bv-auth .bv-links a i { color: var(--bv-green); font-size: 12px; }
.bv-auth .bv-link-center { display: block; text-align: center; margin-top: 16px; font-size: 13px; color: var(--bv-muted); }
.bv-auth .bv-link-center a { color: var(--bv-ink) !important; font-weight: 700; }

/* Bilgi kutusu */
.bv-auth .bv-note {
    display: flex;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 14px;
    background: #F1F8E9;
    color: #4A6B2A;
    font-size: 12.5px;
    line-height: 1.5;
    margin-bottom: 16px;
}
.bv-auth .bv-note i { margin-top: 2px; color: var(--bv-green); }
.bv-auth .bv-note.info { background: #EEF4FB; color: #2F5A86; }
.bv-auth .bv-note.info i { color: #4A89DC; }
.bv-auth .bv-note ul { margin: 4px 0 0; padding-left: 16px; }
.bv-auth .alert { border-radius: 12px; font-size: 13px; }

/* ── 6 haneli kod kutuları (doğrulama + şifre sıfırlama) ── */
.bv-auth .bv-code {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin: 6px 0 16px;
}
.bv-auth .bv-code input,
.bv-auth .code-input,
.bv-auth .verification-input {
    width: min(46px, calc((100% - 40px) / 6)) !important;
    flex: 0 0 auto;
    height: 54px !important;
    padding: 0 !important;
    border: 1.5px solid var(--bv-line) !important;
    border-radius: 12px !important;
    background: var(--bv-soft) !important;
    text-align: center;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: var(--bv-ink) !important;
    outline: none;
    box-shadow: none;
    transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}
.bv-auth .code-input:focus,
.bv-auth .verification-input:focus {
    border-color: var(--bv-green) !important;
    background: #FFF !important;
    box-shadow: 0 0 0 3px rgba(140, 193, 82, .2) !important;
    transform: none;
}
.bv-auth .code-input.filled,
.bv-auth .verification-input.is-valid { border-color: var(--bv-green) !important; background: #F1F8E9 !important; color: #3B5E1A !important; }
.bv-auth .code-input.error,
.bv-auth .verification-input.is-invalid { border-color: #DA4453 !important; background: #FDECEE !important; }
@media (max-width: 360px) {
    .bv-auth .bv-code input { height: 50px !important; font-size: 20px !important; }
}
.bv-auth .bv-mail-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 14px;
    border-radius: 20px;
    background: var(--bv-soft);
    color: var(--bv-ink);
    font-size: 13px;
    font-weight: 700;
    margin-top: 12px;
}
.bv-auth .bv-mail-chip i { color: var(--bv-green); }
.bv-auth .bv-timer { text-align: center; font-size: 12px; color: var(--bv-muted); margin-bottom: 12px; }
.bv-auth .bv-resend { text-align: center; font-size: 13px; color: var(--bv-muted); margin-top: 14px; }
.bv-auth .bv-resend a, .bv-auth .bv-resend button { color: var(--bv-ink) !important; font-weight: 700; }

/* ── Kayıt: adım göstergesi ── */
.bv-auth .bv-steps {
    display: flex;
    align-items: flex-start;
    margin: 0 0 20px;
    position: relative;
}
.bv-auth .bv-steps .step-item { flex: 1; text-align: center; position: relative; }
.bv-auth .bv-steps .step-item + .step-item::before {
    content: "";
    position: absolute;
    top: 17px;
    right: 50%;
    width: 100%;
    height: 2px;
    background: var(--bv-line);
    z-index: 0;
}
.bv-auth .bv-steps .step-item.active::before,
.bv-auth .bv-steps .step-item.completed::before { background: var(--bv-green); }
.bv-auth .bv-steps .step-circle {
    position: relative;
    z-index: 1;
    width: 36px;
    height: 36px;
    margin: 0 auto 6px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #FFF;
    border: 2px solid var(--bv-line);
    color: var(--bv-muted);
    font-size: 13px;
    transition: all .2s ease;
}
.bv-auth .bv-steps .step-item.active .step-circle { border-color: var(--bv-green); color: var(--bv-green); box-shadow: 0 0 0 4px rgba(140, 193, 82, .15); }
.bv-auth .bv-steps .step-item.completed .step-circle { background: var(--bv-green); border-color: var(--bv-green); color: #FFF; }
.bv-auth .bv-steps small { font-size: 11px; color: var(--bv-muted); font-weight: 600; }
.bv-auth .bv-steps .step-item.active small { color: var(--bv-ink); }

/* Kayıt: çiftlik logosu */
.bv-auth .bv-logo-pick { text-align: center; margin-bottom: 20px; }
.bv-auth .bv-logo-pick .bv-logo-wrap { position: relative; display: inline-block; }
.bv-auth .bv-logo-pick img {
    width: 92px;
    height: 92px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #FFF;
    box-shadow: 0 0 0 2px var(--bv-green), 0 8px 18px rgba(0, 0, 0, .1);
}
.bv-auth .bv-logo-pick label {
    position: absolute;
    right: -2px;
    bottom: -2px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bv-ink);
    color: #FFF;
    border: 2px solid #FFF;
    cursor: pointer;
    font-size: 12px;
    margin: 0;
}
.bv-auth .bv-logo-pick p { font-size: 11px; color: var(--bv-muted); margin: 8px 0 0; }

/* Sözleşmeler */
.bv-auth .bv-terms {
    padding: 14px;
    border-radius: 14px;
    border: 1px solid var(--bv-line);
    background: var(--bv-soft);
    margin-bottom: 18px;
}
.bv-auth .bv-terms h6 { font-size: 12px; font-weight: 700; color: var(--bv-ink); margin: 0 0 10px; display: flex; gap: 8px; align-items: center; }
.bv-auth .bv-terms h6 i { color: var(--bv-green); }
.bv-auth .bv-terms .form-check + .form-check { margin-top: 10px; }
.bv-auth .bv-terms a { color: var(--bv-ink) !important; font-weight: 700; text-decoration: underline; }

/* Google kimlik kartı */
.bv-auth .gs-identity {
    display: flex;
    align-items: center;
    gap: 12px;
    background: var(--bv-soft);
    border: 1px solid var(--bv-line);
    border-radius: 16px;
    padding: 12px 14px;
    margin-bottom: 20px;
}
.bv-auth .gs-identity-pic { width: 46px; height: 46px; border-radius: 50%; background-size: cover; background-position: center; background-color: var(--bv-line); flex-shrink: 0; }
.bv-auth .gs-identity-info { flex-grow: 1; min-width: 0; }
.bv-auth .gs-identity-name { font-weight: 700; font-size: 14px; color: var(--bv-ink); line-height: 1.3; }
.bv-auth .gs-identity-mail { font-size: 12px; color: var(--bv-muted); word-break: break-all; line-height: 1.3; }
.bv-auth .gs-identity-badge { display: inline-flex; align-items: center; gap: 4px; font-size: 10.5px; color: #1A73E8; background: #E8F0FE; border-radius: 10px; padding: 2px 8px; margin-top: 4px; }

/* Modallar (sözleşme / kırpma) */
.bv-auth .modal-content { border-radius: 20px; border: 0; overflow: hidden; }
.bv-auth .modal-header { background: var(--bv-ink) !important; }
.bv-auth .modal-footer { background: var(--bv-soft); }
.bv-auth .modal-footer .btn { border-radius: 10px; padding: 9px 18px; font-weight: 700; font-size: 13px; }
.bv-auth .modal-footer .btn-primary { background: var(--bv-ink) !important; border: 0 !important; }

/* ── Alt bilgi ── */
.bv-auth-foot {
    text-align: center;
    font-size: 11px;
    color: var(--bv-muted);
    padding: 8px 16px calc(env(safe-area-inset-bottom, 0px) + 18px);
}

/* Koyu tema */
.theme-dark .bv-auth { --bv-soft: #1B1D21; --bv-line: #2E3239; }
.theme-dark .bv-auth-head h1, .theme-dark .bv-auth .bv-links a, .theme-dark .bv-auth .form-check-label { color: #FFF !important; }
.theme-dark .bv-auth .input-style.input-style-always-active label { background: #21252A !important; }
