/* ================================================================
   PGP – Tema Bağımsızlık Reset
   ----------------------------------------------------------------
   Tüm PGP sayfalarının düzgün görüntülenmesi için minimum
   tema müdahalesi. Herhangi bir WP teması (Kadence, Astra,
   Twenty Twenty-Four, vb.) ile uyumlu çalışmasını sağlar.
   ================================================================ */

/* .pgp-wrap'ın tek tanımı public/css/pgp-style.css içindedir (max-width 1100px).
   Buradaki !important'lı kopya kaldırıldı; aşağıdaki kurallar yalnızca iç reset'tir. */

/* PGP içindeki tüm elementlere temel reset */
.pgp-wrap *,
.pgp-wrap *::before,
.pgp-wrap *::after {
    box-sizing: inherit;
}

/* PGP başlıkları temadan bağımsız olsun */
.pgp-wrap h1, .pgp-wrap h2, .pgp-wrap h3, .pgp-wrap h4 {
    font-family: inherit;
    line-height: 1.3;
    margin: 0 0 .6em;
    color: #1A3A5C;
}
.pgp-wrap p { margin: 0 0 .8em; }

/* Form elementlerinin teması karışmasın */
.pgp-wrap input,
.pgp-wrap select,
.pgp-wrap textarea,
.pgp-wrap button {
    font-family: inherit;
    font-size: 1rem;
    line-height: 1.4;
}
.pgp-wrap button { cursor: pointer; }

/* Tablolar */
.pgp-wrap table { width: 100%; border-collapse: collapse; }

/* Şablonlardan herhangi birinin içerik dış akışı kırmasın */
.pgp-wrap > *:first-child { margin-top: 0; }

/* Bildirim zili — tema stillerinden `body .pgp-bell-*` özgüllüğüyle korunur (!important yok) */
body .pgp-bell-wrap {
    position: fixed;
    top: 80px;
    right: 14px;
    z-index: 99998;
    font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
    width: auto;
    height: auto;
}

/* ── Bildirim zili ── */
body .pgp-bell-btn {
    position: relative;
    background: #fff;
    border: 1px solid #DEE2E6;
    border-radius: 50%;
    width: 48px;
    height: 48px;
    min-width: 48px;
    min-height: 48px;
    box-shadow: 0 2px 8px rgba(0,0,0,.12);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: transform .15s, box-shadow .15s;
    padding: 0;
    margin: 0;
    cursor: pointer;
    font-size: 1.4rem;
    line-height: 1;
    color: #333;
    text-decoration: none;
    box-sizing: border-box;
}
body .pgp-bell-btn:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 14px rgba(0,0,0,.18);
    background: #fff;
}
body .pgp-bell-btn:focus {
    outline: 2px solid #2E75B6;
    outline-offset: 2px;
}
body .pgp-bell-icon {
    font-size: 1.4rem;
    line-height: 1;
    display: inline-block;
}
body .pgp-bell-badge {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 20px;
    height: 20px;
    background: #dc2626;
    color: #fff;
    font-size: .72rem;
    font-weight: 700;
    border-radius: 10px;
    padding: 0 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #fff;
    line-height: 1;
    box-sizing: border-box;
}

/* Açılır panel */
body .pgp-bell-panel {
    position: absolute;
    top: 56px;
    right: 0;
    width: 360px;
    max-width: calc(100vw - 28px);
    background: #fff;
    border: 1px solid #DEE2E6;
    border-radius: 10px;
    box-shadow: 0 8px 28px rgba(0,0,0,.18);
    overflow: hidden;
    z-index: 99999;
}
body .pgp-bell-panel[hidden] { display: none; }
body .pgp-bell-header {
    padding: 12px 16px;
    border-bottom: 1px solid #E9ECEF;
    background: #F8F9FA;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}
body .pgp-bell-mark-all {
    background: none;
    border: none;
    color: #2E75B6;
    font-size: .82rem;
    text-decoration: underline;
    cursor: pointer;
    padding: 4px 8px;
}
body .pgp-bell-list {
    max-height: 70vh;
    overflow-y: auto;
    background: #fff;
}
body .pgp-bell-empty {
    padding: 32px 20px;
    text-align: center;
    color: #5f6b78;
    font-size: .9rem;
}
body .pgp-bell-item {
    display: block;
    padding: 12px 16px;
    border-bottom: 1px solid #F1F3F5;
    text-decoration: none;
    color: #222;
    transition: background .15s;
}
body .pgp-bell-item:last-child { border-bottom: none; }
body .pgp-bell-item:hover { background: #F8F9FA; }
body .pgp-bell-item.is-unread {
    background: #EFF6FF;
    border-left: 3px solid #2E75B6;
    padding-left: 13px;
}
body .pgp-bell-item-title {
    font-weight: 600;
    font-size: .95rem;
    margin-bottom: 2px;
    color: #222;
}
body .pgp-bell-item-body {
    font-size: .85rem;
    color: #555;
    line-height: 1.45;
}
body .pgp-bell-item-time {
    font-size: .75rem;
    color: #5f6b78;
    margin-top: 4px;
}

/* ── Profil sayfası ── */
.pgp-profile .pgp-role-pill {
    background: #D6E4F0;
    color: #1A3A5C;
    padding: 4px 14px;
    border-radius: 20px;
    font-weight: 700;
    font-size: .9rem;
}
.pgp-checkbox-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
    border: 1px solid #DEE2E6;
    border-radius: 8px;
    margin-bottom: 8px;
    cursor: pointer;
    transition: border-color .15s, background .15s;
}
.pgp-checkbox-row:hover { border-color: #2E75B6; background: #F8FAFD; }
.pgp-checkbox-row input { margin-top: 4px; flex-shrink: 0; }
.pgp-checkbox-row.is-disabled {
    opacity: .65;
    cursor: not-allowed;
    background: #F8F9FA;
}
.pgp-checkbox-row.is-disabled:hover { border-color: #DEE2E6; }
.pgp-pill-disabled,
.pgp-pill-warn {
    display: inline-block;
    margin-left: 8px;
    padding: 1px 8px;
    border-radius: 10px;
    font-size: .72rem;
    font-style: normal;
    font-weight: 600;
}
.pgp-pill-disabled { background: #E9ECEF; color: #6C757D; }
.pgp-pill-warn     { background: #FFF3CD; color: #856404; }

.pgp-optional {
    color: #5f6b78;
    font-weight: 400;
    font-size: .85rem;
}
.pgp-help-text {
    display: block;
    margin-top: 6px;
    color: #666;
    font-size: .82rem;
    line-height: 1.5;
}
.pgp-form-actions { margin-top: 20px; }

.pgp-info-box {
    background: linear-gradient(135deg, #F8FAFD 0%, #FFF 100%);
    border-left: 4px solid #2E75B6;
}
.pgp-info-box ol,
.pgp-info-box ul { padding-left: 22px; }

/* Mobile uyum */
@media (max-width: 540px) {
    body .pgp-bell-panel { width: calc(100vw - 28px); right: 0; }
    body .pgp-bell-wrap { top: 8px; right: 8px; }
    .pgp-wrap { padding: 16px 10px; }
}

/* Admin bar varken zilin altta kalmaması */
body.admin-bar .pgp-bell-wrap { top: 110px; }
@media (max-width: 782px) {
    body.admin-bar .pgp-bell-wrap { top: 120px; }
}

/* ── Tekrar Çöz / Uyarı butonu (turuncu) ── */
.pgp-btn-warn {
    background: #F59E0B !important;
    color: #fff !important;
    border: none !important;
}
.pgp-btn-warn:hover {
    background: #D97706 !important;
    color: #fff !important;
}
.pgp-practice-banner {
    background: linear-gradient(135deg, #FFF8E1 0%, #FFFBEB 100%);
    border-left: 4px solid #F59E0B;
    border-radius: 8px;
    padding: 14px 18px;
    margin-bottom: 20px;
    color: #78350F;
}
.pgp-practice-banner strong {
    display: block;
    font-size: 1.05rem;
    color: #92400E;
    margin-bottom: 4px;
}
.pgp-practice-banner p {
    margin: 0;
    font-size: .92rem;
    line-height: 1.5;
}

/* Sonuç ekranındaki "skor kaydedilmedi" mini notu */
.pgp-practice-note {
    background: #FFF8E1;
    color: #78350F;
    padding: 10px 14px;
    border-radius: 6px;
    margin: 12px 0;
    font-size: .9rem;
    text-align: center;
    border: 1px solid #FCD34D;
}
