/* ==================== MARKA RENGİ: BOOTSTRAP "PRIMARY" ====================
   Bootstrap 5.1'in varsayılan mavisi (#0d6efd ve hover/active/odak tonları)
   sitenin hiçbir yerinde görünmesin: tüm "primary" bileşenleri (dolu/outline
   buton, metin/bağlantı, zemin/kenarlık, form odak halkası, işaretli onay
   kutusu, seçili menü öğesi) temanın marka değişkenlerine bağlanır.
   Hem site (_Layout) hem yönetim paneli (_AdminLayout) yükler; Bootstrap ve
   site.css'ten SONRA (aynı seçicilerle ezer).

   Marka değişkenleri layout'larda tanımlı: --brand-primary (dolgu; beyaz
   yazıyla AA), --brand-primary-dark (hover/active), --brand-primary-rgb.
   Metin/kenarlık için --gw-primary-text: koyu temada bordonun açık tonu
   (#F0A3A3 — en açık koyu zeminde, navbar/menü #393E46, 5:1; #E58585 orada
   4.1:1'de kalıyordu), açık temada --brand-primary-dark (7:1).

   BİLİNÇLİ İSTİSNA: istatistik ikonları (.stat-icon — görüntülenme, beğeni,
   yorum sayıları) kendi renklerini korur. */

:root {
    --gw-primary-text: #F0A3A3;
    --gw-focus-ring: 0 0 0 .25rem rgba(var(--brand-primary-rgb), .45);
    /* Kart köşe yarıçapı — site.css .card ve pano kartları ortak. */
    --gw-card-radius: 10px;
}

:root[data-theme="light"] {
    --gw-primary-text: var(--brand-primary-dark);
}

/* ---- Dolu buton ---- */
.btn-primary {
    color: #fff;
    background-color: var(--brand-primary);
    border-color: var(--brand-primary);
}

    .btn-primary:hover {
        color: #fff;
        background-color: var(--brand-primary-dark);
        border-color: var(--brand-primary-dark);
    }

.btn-check:focus + .btn-primary,
.btn-primary:focus {
    color: #fff;
    background-color: var(--brand-primary-dark);
    border-color: var(--brand-primary-dark);
    box-shadow: var(--gw-focus-ring);
}

.btn-check:checked + .btn-primary,
.btn-check:active + .btn-primary,
.btn-primary:active,
.btn-primary.active,
.show > .btn-primary.dropdown-toggle {
    color: #fff;
    background-color: var(--brand-primary-dark);
    border-color: var(--brand-primary-dark);
}

    .btn-check:checked + .btn-primary:focus,
    .btn-check:active + .btn-primary:focus,
    .btn-primary:active:focus,
    .btn-primary.active:focus,
    .show > .btn-primary.dropdown-toggle:focus {
        box-shadow: var(--gw-focus-ring);
    }

.btn-primary.disabled,
.btn-primary:disabled {
    color: #fff;
    background-color: var(--brand-primary);
    border-color: var(--brand-primary);
}

/* ---- Düz .btn odak halkası (renk sınıfı olmayan / özel butonlar) ---- */
.btn:focus,
.btn-check:focus + .btn {
    box-shadow: 0 0 0 .25rem rgba(var(--brand-primary-rgb), .3);
}

/* ---- Outline buton ---- */
.btn-outline-primary {
    color: var(--gw-primary-text);
    border-color: var(--gw-primary-text);
}

    .btn-outline-primary:hover,
    .btn-check:checked + .btn-outline-primary,
    .btn-check:active + .btn-outline-primary,
    .btn-outline-primary:active,
    .btn-outline-primary.active,
    .btn-outline-primary.dropdown-toggle.show {
        color: #fff;
        background-color: var(--brand-primary);
        border-color: var(--brand-primary);
    }

.btn-check:focus + .btn-outline-primary,
.btn-outline-primary:focus,
.btn-outline-primary:active:focus {
    box-shadow: var(--gw-focus-ring);
}

.btn-outline-primary:disabled,
.btn-outline-primary.disabled {
    color: var(--gw-primary-text);
    background-color: transparent;
}

.btn-link {
    color: var(--gw-primary-text);
}

    .btn-link:hover {
        color: var(--gw-primary-text);
    }

/* ---- Metin / bağlantı / zemin / kenarlık ---- */
.text-primary:not(.stat-icon),
.link-primary {
    color: var(--gw-primary-text) !important;
}

    .link-primary:hover,
    .link-primary:focus {
        color: var(--gw-primary-text) !important;
    }

.bg-primary {
    background-color: var(--brand-primary) !important;
}

.border-primary {
    border-color: var(--brand-primary) !important;
}

/* ---- Formlar: odak halkası, işaretli kutu, anahtar, kaydırıcı ---- */
.form-control:focus,
.form-select:focus,
.form-check-input:focus {
    border-color: rgba(var(--brand-primary-rgb), .7);
    box-shadow: 0 0 0 .25rem rgba(var(--brand-primary-rgb), .25);
}

.form-check-input:checked,
.form-check-input[type=checkbox]:indeterminate {
    background-color: var(--brand-primary);
    border-color: var(--brand-primary);
}

/* Bootstrap'in odaktaki (işaretsiz) anahtar topu açık mavi SVG — nötr gri. */
.form-switch .form-check-input:focus:not(:checked) {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.35%29'/%3e%3c/svg%3e");
}

.form-range::-webkit-slider-thumb {
    background-color: var(--brand-primary);
}

.form-range::-moz-range-thumb {
    background-color: var(--brand-primary);
}

.form-range:focus::-webkit-slider-thumb,
.form-range:focus::-moz-range-thumb {
    box-shadow: 0 0 0 1px #fff, 0 0 0 .25rem rgba(var(--brand-primary-rgb), .25);
}

/* ---- Seçili öğeler ---- */
.dropdown-item.active,
.dropdown-item:active {
    color: #fff;
    background-color: var(--brand-primary);
}

.list-group-item.active {
    color: #fff;
    background-color: var(--brand-primary);
    border-color: var(--brand-primary);
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    color: #fff;
    background-color: var(--brand-primary);
}

.progress-bar {
    background-color: var(--brand-primary);
}

/* ---- Yönetim paneli metin bağlantıları ----
   Admin layout site.css'i yüklemediği için tablo/kart içi düz bağlantılar
   (kullanıcı adı, sıralama başlıkları, "Git") Bootstrap'in varsayılan
   mavisinde kalıyordu. Buton/menü/rozet gibi kendi rengi olan bağlantılar hariç. */
.admin-shell .admin-main a:not(.btn):not(.nav-link):not(.dropdown-item):not(.badge):not(.page-link):not(.list-group-item) {
    color: var(--gw-primary-text);
}

    .admin-shell .admin-main a:not(.btn):not(.nav-link):not(.dropdown-item):not(.badge):not(.page-link):not(.list-group-item):hover {
        color: var(--gw-primary-text);
        text-decoration: underline;
    }

/* ---- Açık tema: sarı outline buton (ör. pano "Sabitle") ----
   Bootstrap'in #ffc107 yazısı açık zeminde 1.5:1 — koyu kehribar (6:1).
   Üzerine gelince sarı dolgu + koyu yazı olduğu gibi kalır. */
:root[data-theme="light"] .btn-outline-warning:not(:hover):not(:active):not(.active) {
    color: #7a4b00;
    border-color: #b07a12;
}

/* ==================== ORTAK AKSİYON BUTONU ====================
   Yorum/pano aksiyonları (beğeni, Cevapla, Sabitle, Gönder…) TEK şekil:
   yuvarlak (pill), aynı boyut. Paragraf yorum paneli (Chapter/Read) ve
   ziyaretçi panosu (Shared/_CommentNode) bu sınıfı kullanır — ikisi bir daha
   ayrışmasın diye ölçüler yalnızca burada. Renk, butonun kendi Bootstrap
   sınıfından (btn-outline-secondary, btn-primary…) gelir. */
.gw-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50rem !important;
    font-size: .85rem;
    line-height: 1.25;
    padding: .35rem .75rem;
    min-height: 32px;
}

@media (max-width: 400px) {
    .gw-action-btn {
        font-size: .8rem;
        padding: .3rem .65rem;
    }
}
