/* ══════════════════════════════════════════════════════════════
   YORUMLAR  ·  /yorumlar  +  /yorum-daveti/{kod}      (07.08.2026)

   Önek: .yrm-*  — hizmet-detay (.hdet-*) ve yazilim-detay (.detay-*)
   dosyalarından AYRI tutuldu; ortak sınıf paylaşılmaz.

   ⚠ Sayfa hem AÇIK hem KOYU temada çalışır: renkler doğrudan yazılmaz,
     :root ve [data-bs-theme="dark"] altındaki --yrm-* değişkenlerinden okunur.
     Yeni bir renk gerekiyorsa önce değişken tanımlanır.
   ══════════════════════════════════════════════════════════════ */

.yrm {
    --yrm-zemin: #f8fafc;
    --yrm-kart: #ffffff;
    --yrm-kenar: #e2e8f0;
    --yrm-metin: #0f172a;
    --yrm-soluk: #64748b;
    --yrm-vurgu: #0d6efd;
    --yrm-yildiz: #f59e0b;
    --yrm-golge: 0 4px 24px rgba(15, 23, 42, .06);
}

[data-bs-theme="dark"] .yrm {
    --yrm-zemin: #0b1220;
    --yrm-kart: #111a2b;
    --yrm-kenar: #1f2a3d;
    --yrm-metin: #e8eefc;
    --yrm-soluk: #94a3b8;
    --yrm-vurgu: #4da3ff;
    --yrm-golge: 0 4px 24px rgba(0, 0, 0, .35);
}

.yrm {
    background: var(--yrm-zemin);
    color: var(--yrm-metin);
}

/* ── HERO ─────────────────────────────────────────────── */
.yrm-hero {
    padding: 150px 0 40px;
    text-align: center;
}

.yrm-eyebrow {
    display: inline-block;
    font-size: .82rem;
    font-weight: 600;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--yrm-vurgu);
    margin-bottom: 10px;
}

.yrm-title {
    font-size: clamp(1.9rem, 4vw, 2.8rem);
    font-weight: 700;
    margin: 0 0 14px;
    color: var(--yrm-metin);
}

.yrm-lead {
    max-width: 620px;
    margin: 0 auto;
    color: var(--yrm-soluk);
    font-size: 1.02rem;
    line-height: 1.7;
}

/* Ortalama puan rozeti */
.yrm-ozet {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 24px;
    padding: 10px 20px;
    background: var(--yrm-kart);
    border: 1px solid var(--yrm-kenar);
    border-radius: 999px;
    box-shadow: var(--yrm-golge);
}

.yrm-ozet-puan { font-size: 1.5rem; font-weight: 700; line-height: 1; }
.yrm-ozet-adet { font-size: .88rem; color: var(--yrm-soluk); }

.yrm-yildizlar { color: var(--yrm-yildiz); font-size: .95rem; letter-spacing: 1px; }

/* ── FORM ─────────────────────────────────────────────── */
.yrm-form-bolum { padding: 20px 0 50px; }
.yrm-davet-bolum { padding-top: 150px; }

.yrm-form-kart {
    background: var(--yrm-kart);
    border: 1px solid var(--yrm-kenar);
    border-radius: 18px;
    padding: 30px;
    box-shadow: var(--yrm-golge);
}

.yrm-form-baslik {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0 0 6px;
    color: var(--yrm-metin);
}

.yrm-form-baslik i { color: var(--yrm-vurgu); }

.yrm-form-alt {
    color: var(--yrm-soluk);
    font-size: .93rem;
    margin: 0 0 22px;
}

.yrm-istege-bagli { color: var(--yrm-soluk); font-weight: 400; font-size: .85em; }

.yrm .form-label { font-weight: 600; font-size: .9rem; color: var(--yrm-metin); }

.yrm .form-control,
.yrm .form-select {
    background: var(--yrm-zemin);
    border-color: var(--yrm-kenar);
    color: var(--yrm-metin);
}

.yrm .form-control:focus,
.yrm .form-select:focus {
    background: var(--yrm-kart);
    border-color: var(--yrm-vurgu);
    box-shadow: 0 0 0 .2rem rgba(13, 110, 253, .15);
    color: var(--yrm-metin);
}

.yrm .form-text { color: var(--yrm-soluk); }

.yrm-gonder {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 28px;
    border: none;
    border-radius: 10px;
    background: var(--yrm-vurgu);
    color: #fff;
    font-weight: 600;
    text-decoration: none;
    transition: filter .2s ease, transform .2s ease;
}

.yrm-gonder:hover { filter: brightness(1.08); transform: translateY(-1px); color: #fff; }

/* ── YILDIZ SEÇİMİ ─────────────────────────────────────
   Radio + label, HTML sırası 5→1'dir; bu yüzden "seçilenin solundakiler"
   kardeş seçicisiyle (~) boyanır ve görsel olarak satır ters çevrilir.
   JS gerekmez, klavyeyle gezilebilir. */
.yrm-puan-secim {
    display: inline-flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    gap: 4px;
    font-size: 1.6rem;
    line-height: 1;
}

.yrm-puan-secim input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.yrm-puan-secim label {
    color: var(--yrm-kenar);
    cursor: pointer;
    transition: color .15s ease, transform .15s ease;
}

.yrm-puan-secim label:hover,
.yrm-puan-secim label:hover ~ label,
.yrm-puan-secim input:checked ~ label {
    color: var(--yrm-yildiz);
}

.yrm-puan-secim label:hover { transform: scale(1.12); }

/* Klavye ile gezerken seçili yıldız görünsün (görünmez input'un halkası) */
.yrm-puan-secim input:focus-visible + label {
    outline: 2px solid var(--yrm-vurgu);
    outline-offset: 3px;
    border-radius: 4px;
}

/* ── HONEYPOT ──────────────────────────────────────────
   display:none DEĞİL: bazı botlar gizli alanı atlar. Ekran dışına taşınır,
   ekran okuyucudan aria-hidden ile, klavyeden tabindex="-1" ile ayrılır. */
.yrm-tuzak {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* ── LİSTE ────────────────────────────────────────────── */
.yrm-liste-bolum { padding: 10px 0 80px; }

.yrm-kart {
    height: 100%;
    display: flex;
    flex-direction: column;
    background: var(--yrm-kart);
    border: 1px solid var(--yrm-kenar);
    border-radius: 16px;
    padding: 22px;
    box-shadow: var(--yrm-golge);
    transition: transform .2s ease, border-color .2s ease;
}

.yrm-kart:hover { transform: translateY(-3px); border-color: var(--yrm-vurgu); }

.yrm-kart-ust {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}

.yrm-etiket {
    font-size: .74rem;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--yrm-vurgu) 12%, transparent);
    color: var(--yrm-vurgu);
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 55%;
}

.yrm-etiket:hover { background: color-mix(in srgb, var(--yrm-vurgu) 22%, transparent); color: var(--yrm-vurgu); }

.yrm-kart-metin {
    flex: 1;
    margin: 0 0 18px;
    color: var(--yrm-metin);
    line-height: 1.65;
    font-size: .95rem;
}

.yrm-kart-alt {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 14px;
    border-top: 1px solid var(--yrm-kenar);
}

.yrm-avatar {
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: color-mix(in srgb, var(--yrm-vurgu) 14%, transparent);
    color: var(--yrm-vurgu);
    font-weight: 700;
}

.yrm-kisi { display: flex; flex-direction: column; line-height: 1.3; min-width: 0; }
.yrm-kisi strong { font-size: .93rem; color: var(--yrm-metin); }
.yrm-kisi small { font-size: .8rem; color: var(--yrm-soluk); }

/* ── BOŞ / DURUM EKRANLARI ─────────────────────────────── */
.yrm-bos {
    text-align: center;
    padding: 60px 20px;
    color: var(--yrm-soluk);
}

.yrm-bos i { font-size: 2.6rem; color: var(--yrm-kenar); }
.yrm-bos h3 { margin: 16px 0 6px; font-size: 1.15rem; color: var(--yrm-metin); }
.yrm-bos p { margin: 0; }

.yrm-tamam-ikon i { font-size: 3rem; color: #16a34a; }
.yrm-uyari-ikon i { font-size: 3rem; color: #f59e0b; }

.yrm-form-kart.text-center .yrm-form-baslik { margin-top: 14px; }

/* ── DAR EKRAN ─────────────────────────────────────────── */
@media (max-width: 575.98px) {
    .yrm-hero { padding-top: 120px; }
    .yrm-davet-bolum { padding-top: 120px; }
    .yrm-form-kart { padding: 22px 18px; }
    .yrm-ozet { flex-wrap: wrap; justify-content: center; }
}
