﻿/* =======================
   styles/feedbackstyle.css (FINAL, MOBILE POLISH) — 2025-10-09
   ======================= */

:root {
    --bg: #101a39;
    --bg-2: #0c1430;
    --text: #e9eefb;
    --muted: #aab5cc;
    --accent: #00b7ff;
    --accent-2: #00c2ff;
    --card: #ffffff;
    --ink: #1b2430;
    --border: #e7edf7;
    --soft: #f7f9fc;
}

html {
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
    font-family: Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;
    color: var(--text);
    background: radial-gradient(1400px 900px at 15% 10%, #15265a 0%, var(--bg) 45%, #0b1530 100%);
}

/* Shell */
.auth-shell {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.auth-card {
    width: 100%;
    max-width: 1200px;
    border-radius: 28px;
    overflow: hidden;
    background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.04));
    box-shadow: 0 40px 90px rgba(0,0,0,.5);
    backdrop-filter: blur(6px);
}

.auth-grid {
    display: grid;
    grid-template-columns: 1.05fr 1fr;
}

@media (max-width: 992px) {
    .auth-grid {
        grid-template-columns: 1fr;
    }
}

/* LEFT (Hero) */
.hero {
    position: relative;
    min-height: 100%;
    background: radial-gradient(900px 700px at 20% 20%, #0f2555 0%, #0a1a3d 60%, #091431 100%);
    color: #eaf3ff;
    padding: 32px 28px;
    display: flex;
    flex-direction: column;
}

    .hero .veil {
        position: absolute;
        inset: 0;
        background: linear-gradient(180deg, rgba(0,0,0,.10), rgba(0,0,0,.55));
        border-right: 1px solid rgba(255,255,255,.06);
        pointer-events: none;
    }

    .hero .brand {
        display: flex;
        align-items: center;
        font-weight: 800;
        letter-spacing: .2px;
        z-index: 1;
    }

        .hero .brand i {
            margin-right: .5rem;
            color: var(--accent);
        }

    .hero .copy {
        margin: 18px 0 12px;
        z-index: 1;
    }

        .hero .copy h2 {
            font-weight: 800;
            line-height: 1.15;
            margin: 0 0 .4rem;
        }

        .hero .copy p {
            margin: 0;
            color: #c9d7ee;
            max-width: 70ch;
        }

    /* Görsel */
    .hero .illus {
        position: relative;
        height: 200px;
        margin: 14px 0 18px;
        border-radius: 16px;
        overflow: hidden;
        box-shadow: 0 14px 36px rgba(0,0,0,.35);
        background: linear-gradient(180deg, #182a5a, #0d1a3c);
        z-index: 1;
    }

        .hero .illus img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
        }

/* Özet */
.summary {
    margin-top: auto;
    z-index: 1;
}

.summary-card {
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 16px;
    padding: 14px;
    color: #eaf3ff;
    box-shadow: 0 10px 24px rgba(0,0,0,.25);
}

.summary h6 {
    margin: 0 0 .4rem;
    font-weight: 800;
    letter-spacing: .2px;
}

.summary dl {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 6px 10px;
    margin: 0;
}

.summary dt {
    opacity: .85;
}

.summary dd {
    margin: 0;
    font-weight: 700;
}

/* RIGHT (Form) */
.form-side {
    background: var(--card);
    color: var(--ink);
    display: flex;
    flex-direction: column;
}

.form-body {
    padding: 26px;
    max-height: calc(100vh - 96px);
    overflow: auto;
}

.topbar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 12px;
    gap: 12px;
}

.title-wrap {
    min-width: 0;
}

    .title-wrap h4 {
        margin-bottom: 4px;
        line-height: 1.22;
        white-space: normal;
    }

    .title-wrap small {
        color: #6c7a90;
    }

/* Dil seçimi */
.lang {
    display: flex;
    align-items: center;
    gap: 6px;
    flex: 0 0 auto;
}

    .lang label {
        margin: 0;
        color: #6c7a90;
    }

/* Bölüm başlığı */
.section-title {
    font-weight: 800;
    font-size: 1.02rem;
    color: #0a2c59;
    display: flex;
    align-items: center;
    gap: .5rem;
}

    .section-title:before {
        content: "";
        width: 8px;
        height: 8px;
        border-radius: 999px;
        background: var(--accent);
        box-shadow: 0 0 0 6px rgba(0,183,255,.18);
    }

.muted {
    color: #7f8aa3;
}

.divider {
    height: 1px;
    background: #eff3f9;
    margin: 18px 0;
}

.form-control {
    border-radius: .7rem;
    border-color: var(--border);
}

    .form-control:focus {
        border-color: var(--accent);
        box-shadow: 0 0 0 .2rem rgba(0,183,255,.15);
    }

    .was-validated .form-control:invalid, .form-control.is-invalid {
        border-color: #e74c3c;
        box-shadow: 0 0 0 .18rem rgba(231,76,60,.12);
    }

.input-icon {
    position: relative;
}

    .input-icon i {
        position: absolute;
        left: 14px;
        top: 50%;
        transform: translateY(-50%);
        color: #99a6be;
    }

    .input-icon input {
        padding-left: 38px;
    }

.bg-soft {
    background: var(--soft);
}

/* Stars */
.stars {
    display: inline-flex;
    flex-direction: row-reverse;
    gap: .25rem;
    cursor: pointer;
}

    .stars input {
        display: none;
    }

    .stars label {
        font-size: 1.4rem;
        line-height: 1;
        color: #c8c8c8;
        cursor: pointer;
        user-select: none;
        transition: transform .12s ease;
    }

        .stars label:hover {
            transform: scale(1.08);
        }

    .stars input:checked ~ label {
        color: #FFC107;
    }

    .stars label:hover, .stars label:hover ~ label {
        color: #FFD54F;
    }

    .stars input:focus + label {
        outline: 2px solid #80bdff;
        outline-offset: 2px;
        border-radius: 4px;
    }
/* kartta sabitleme ve alt boşluk */
.stars-bl {
    position: absolute;
    left: 0;
    bottom: 0;
}

.fg-has-stars {
    position: relative;
    padding-bottom: 2.25rem;
}

/* Ortalama badge (gizli çünkü hesap kapalı) */
.score-badge {
    display: none;
    margin-left: .6rem;
    font-size: .85rem;
    font-weight: 800;
    color: #004d66;
    background: linear-gradient(180deg, rgba(0,183,255,.25), rgba(0,183,255,.15));
    border: 1px solid rgba(0,183,255,.35);
    padding: .25rem .6rem;
    border-radius: 999px;
}

/* Gönder butonu — büyük & ortalı, metin sabit, spinner sınıfı .btn-busy */
.form-actions {
    margin-top: 16px;
    text-align: center;
}

.btn-primary {
    background: var(--accent);
    border-color: var(--accent);
    border-radius: .9rem;
    box-shadow: 0 14px 30px rgba(0,183,255,.25);
    font-weight: 800;
}

    .btn-primary:hover {
        filter: brightness(.96);
    }

.btn-lg {
    padding: .9rem 1.4rem;
    font-size: 1.05rem;
}

.btn-wide {
    min-width: 220px;
}

/* Spinner — JS .btn-busy ekler, metin aynı kalır */
.btn-busy {
    position: relative;
    pointer-events: none;
    opacity: .9;
}

    .btn-busy::after {
        content: "";
        position: absolute;
        right: 14px;
        top: 50%;
        transform: translateY(-50%);
        width: 18px;
        height: 18px;
        border-radius: 50%;
        border: 2px solid rgba(255,255,255,.65);
        border-top-color: rgba(255,255,255,0);
        animation: spin .9s linear infinite;
    }

@keyframes spin {
    to {
        transform: translateY(-50%) rotate(360deg);
    }
}

/* Mobil tipografi: daha kısa ve kompakt */
@media (max-width: 576px) {
    .hero {
        padding: 22px 18px;
    }

        .hero .copy h2 {
            font-size: 1.15rem;
        }

        .hero .copy p {
            font-size: .88rem;
        }

        .hero .illus {
            height: 160px;
            margin: 10px 0 14px;
        }

    .summary-card {
        padding: 12px;
    }

    .form-body {
        padding: 18px;
    }

    .title-wrap h4 {
        font-size: 1.05rem;
    }

    .title-wrap small {
        font-size: .84rem;
    }

    .section-title {
        font-size: .98rem;
    }

    .muted {
        font-size: .9rem;
    }

    .btn-lg {
        padding: .85rem 1.2rem;
        font-size: 1.02rem;
    }

    .btn-wide {
        width: 100%;
        min-width: 0;
    }
}
