﻿/* ==========================================================
   TraHub Club â€” Ø¨Ø§Ø´Ú¯Ø§Ù‡ Ú©Ø§Ø±Ø¨Ø±Ø§Ù†
   Ø¬Ø¯ÙˆÙ„ Ø±ØªØ¨Ù‡â€ŒØ¨Ù†Ø¯ÛŒ Ø³Ø§Ø¯Ù‡ Ùˆ Ø®ÙˆØ§Ù†Ø§ØŒ Ù‡Ù…Ø§Ù‡Ù†Ú¯ Ø¨Ø§ ØªÙ… Ø³Ø§ÛŒØª
   ========================================================== */

.club-page {
    --bg: #121a30;
    --bg-2: #182340;
    --panel: rgba(255, 255, 255, 0.06);
    --panel-border: rgba(255, 255, 255, 0.12);
    --gold: #f0b429;
    --gold-light: #ffd48a;
    --text: #eef1f8;
    --muted: #a3adc4;
    background:
        radial-gradient(1000px 520px at 85% -10%, rgba(240, 180, 41, 0.16), transparent 60%),
        radial-gradient(900px 480px at 8% -5%, rgba(94, 130, 240, 0.18), transparent 55%),
        linear-gradient(180deg, #182340 0%, #121a30 55%, #0d1526 100%);
    background-color: var(--bg);
    color: var(--text);
}

.club-page .tra-nav,
.club-page .tra-nav.scrolled {
    background: transparent;
    border-bottom-color: transparent;
    box-shadow: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

/* ---------------- Head ---------------- */

.club-main {
    position: relative;
    z-index: 2;
    padding-top: 150px;
    padding-bottom: 90px;
}

.club-head {
    max-width: 780px;
    margin: 0 auto 30px;
    text-align: center;
}

.club-head .section-desc {
    font-size: 1.5rem;
}

/* ---------------- Tabs ---------------- */

.club-tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-bottom: 24px;
}

.club-tab {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 22px;
    border-radius: 12px;
    background: var(--panel);
    border: 1px solid var(--panel-border);
    color: var(--text);
    font-size: 1.5rem;
    font-weight: 600;
    font-family: IRANYekan, sans-serif;
    cursor: pointer;
    transition: all 0.25s ease;
    backdrop-filter: blur(10px);
}

.club-tab .fa {
    color: var(--gold);
}

.club-tab:hover {
    border-color: rgba(240, 180, 41, 0.5);
    transform: translateY(-2px);
}

.club-tab.active {
    background: linear-gradient(180deg, var(--gold-light), var(--gold));
    border-color: transparent;
    color: #ffd48a;
    font-weight: 800;
    box-shadow: 0 10px 28px rgba(240, 180, 41, 0.35);
}

.club-tab.active .fa {
    color: #ffd48a;
}

/* ---------------- Server tabs ---------------- */

.club-server-label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-bottom: 8px;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--muted);
}

.club-server-label .fa {
    color: var(--gold);
}

#clubServers.club-tabs {
    margin-bottom: 26px;
}

.club-tab.club-tab-server {
    flex-direction: column;
    gap: 3px;
    padding: 8px 18px;
    line-height: 1.4;
    background: rgba(94, 130, 240, 0.09);
    border-color: rgba(94, 130, 240, 0.26);
}

.club-tab.club-tab-server:hover {
    border-color: rgba(94, 130, 240, 0.55);
    background: rgba(94, 130, 240, 0.16);
}

.club-server-name {
    font-size: 1.5rem;
    color: #dbe6ff;
}

.club-server-speeds {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--muted);
    opacity: 0.85;
}

.club-tab-server.active .club-server-name {
    color: #ffd48a;
}

.club-tab-server.active .club-server-speeds {
    opacity: 1;
    color: #ffd48a;
}

/* ---------------- Servers slider ---------------- */

.club-tabs-slider {
    min-width: 0;
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    overflow-x: auto;
    overflow-y: hidden;
    gap: 10px;
    padding: 12px 20px 16px;
    scroll-behavior: smooth;
    margin-bottom: 24px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-gutter: stable;
    scroll-padding-inline: 20px;
}

.club-tabs-slider > :first-child { margin-right: auto; }
.club-tabs-slider > :last-child  { margin-left: auto; }

.club-tabs-slider::-webkit-scrollbar { height: 6px; }
.club-tabs-slider::-webkit-scrollbar-track { background: transparent; }
.club-tabs-slider::-webkit-scrollbar-thumb {
    background: rgba(240,180,41,0.45);
    border-radius: 3px;
}

.club-tabs-slider .club-tab-server {
    flex: 0 0 auto;
    scroll-snap-align: center;
}

/* ---------------- Toolbar ---------------- */

.club-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 6px;
}

.club-search {
    position: relative;
    flex: 1;
    min-width: 200px;
    max-width: 320px;
}

.club-search .fa {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--muted);
    font-size: 1.35rem;
}

.club-search input {
    width: 100%;
    padding: 10px 38px 10px 16px;
    border-radius: 11px;
    background: var(--panel);
    border: 1px solid var(--panel-border);
    color: var(--text);
    font-family: IRANYekan, sans-serif;
    font-size: 1.3rem;
    outline: none;
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.club-search input::placeholder {
    color: var(--muted);
}

.club-search input:focus {
    border-color: rgba(240, 180, 41, 0.6);
    box-shadow: 0 0 0 3px rgba(240, 180, 41, 0.12);
}

/* auth area */

.club-auth {
    display: flex;
    align-items: center;
    gap: 12px;
}

.club-user {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 8px 7px 16px;
    border-radius: 12px;
    background: var(--panel);
    border: 1px solid var(--panel-border);
}

.club-user-avatar {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid rgba(240, 180, 41, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    font-weight: 800;
    color: #fff;
}

.club-user-name {
    font-size: 1.35rem;
    font-weight: 700;
    color: #fff;
}

.club-btn-login {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 24px;
    border-radius: 11px;
    background: linear-gradient(180deg, var(--gold-light), var(--gold));
    border: none;
    color: #1a1508;
    font-size: 1.35rem;
    font-weight: 800;
    font-family: IRANYekan, sans-serif;
    cursor: pointer;
    box-shadow: 0 8px 22px rgba(240, 180, 41, 0.28);
    transition: all 0.25s ease;
}

.club-btn-login:hover {
    filter: brightness(1.07);
    transform: translateY(-2px);
}

.club-btn-ghost {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    border-radius: 9px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid var(--panel-border);
    color: var(--text);
    font-size: 1.25rem;
    font-weight: 600;
    font-family: IRANYekan, sans-serif;
    cursor: pointer;
    transition: all 0.25s ease;
}

.club-btn-ghost:hover {
    border-color: rgba(240, 180, 41, 0.5);
    color: var(--gold-light);
}

.club-count {
    font-size: 1.3rem;
    color: var(--muted);
    margin-bottom: 0;
    flex-shrink: 0;
}

.club-count b {
    color: var(--gold-light);
}

/* ---------------- Table ---------------- */

.club-list {
    background: var(--panel);
    border: none;
    border-radius: 18px;
    backdrop-filter: blur(10px);
    overflow: hidden;
}

.club-table {
    width: 100%;
    border-collapse: collapse;
}

.club-table thead th {
    padding: 15px 16px;
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--muted);
    text-align: right;
    border-bottom: 1px solid var(--panel-border);
    background: rgba(255, 255, 255, 0.03);
    white-space: nowrap;
}

.club-table thead th .fa {
    color: var(--gold);
    margin-left: 6px;
}

.club-table tbody td {
    padding: 14px 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    vertical-align: middle;
}

.club-table tbody tr:last-child td {
    border-bottom: none;
}

.club-table tbody tr {
    transition: background 0.25s ease;
}

.club-table tbody tr:hover {
    background: rgba(255, 255, 255, 0.04);
}

.club-table tbody tr.is-mine {
    background: rgba(240, 180, 41, 0.08);
    box-shadow: inset 3px 0 0 var(--gold);
}

.td-rank {
    width: 62px;
    text-align: center;
}

.club-table thead th.th-rank,
.club-table thead th.th-profile {
    text-align: center;
}

.club-rank-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 11px;
    font-size: 1.5rem;
    font-weight: 800;
    box-shadow: 0 5px 13px rgba(0, 0, 0, 0.3);
}

.rank-gold {
    background: linear-gradient(135deg, #ffe08a 0%, #f0b429 60%, #d99a16 100%);
    color: #241a04;
}

.rank-silver {
    background: linear-gradient(135deg, #f2f5fb 0%, #c3ccdb 60%, #9aa7bd 100%);
    color: #2a3342;
}

/* player cell */

.td-player {
    min-width: 320px;
}

.club-player {
    display: flex;
    align-items: center;
    gap: 18px;
}

.club-avatar-link {
    display: inline-block;
    line-height: 0;
    border-radius: 26px;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    cursor: pointer;
}
.club-avatar-link:hover {
    transform: translateY(-2px) scale(1.03);
    box-shadow: 0 10px 28px rgba(240, 180, 41, 0.4);
}

.club-avatar {
    width: 150px;
    height: 150px;
    border-radius: 26px;
    object-fit: cover;
    flex-shrink: 0;
    border: 3px solid rgba(240, 180, 41, 0.75);
    box-shadow: 0 8px 24px rgba(240, 180, 41, 0.3), 0 5px 16px rgba(0, 0, 0, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 4.4rem;
    font-weight: 900;
    color: #fff;
}

.club-avatar.init {
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
}

.club-pinfo {
    min-width: 0;
    direction: rtl;
    text-align: right;
}

.club-pname {
    font-size: 1.6rem;
    font-weight: 800;
    color: var(--gold-light);
    margin-bottom: 5px;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    text-shadow: 0 2px 6px rgba(240, 180, 41, 0.35);
}

.club-you {
    display: inline-flex;
    align-items: center;
    font-size: 1rem;
    font-weight: 800;
    color: #1a1508;
    background: linear-gradient(180deg, var(--gold-light), var(--gold));
    padding: 1px 10px;
    border-radius: 20px;
}

.club-pmeta {
    font-size: 1.2rem;
    color: var(--muted);
    margin-top: 3px;
}
.club-pmeta:first-of-type {
    margin-top: 0;
}

.club-pmeta .fa {
    color: var(--gold);
    margin-left: 4px;
}

.club-pmeta b {
    font-size: 1.3rem;
}

/* mini rank chips */

.td-ranks {
    min-width: 260px;
    text-align: right;
    vertical-align: middle;
}

.td-ranks .club-medals {
    justify-content: flex-start;
}
/* عدد امتیاز سرور در ستون امتیاز سرور (بالای مدال‌ها) */
.club-server-pts {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 1.4rem;
    font-weight: 800;
    color: var(--gold-light);
    padding: 4px 10px;
    margin-bottom: 6px;
    border-radius: 9px;
    background: rgba(240, 180, 41, 0.10);
    border: 1px solid rgba(240, 180, 41, 0.2);
}
.club-server-pts .fa {
    color: var(--gold);
    font-size: 1.3rem;
}

.club-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.11);
    color: var(--muted);
    font-size: 1.25rem;
    margin: 3px;
    white-space: nowrap;
    cursor: default;
}

.club-chip .fa {
    color: var(--gold);
    font-size: 1.7rem;
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: rgba(240, 180, 41, 0.12);
    border: 1px solid rgba(240, 180, 41, 0.24);
}

.club-chip-name {
    font-weight: 700;
    color: var(--text);
}

.club-chip b {
    font-size: 1.25rem;
    padding: 2px 9px;
    border-radius: 8px;
}

.club-chip b.rank-gold {
    background: rgba(240, 180, 41, 0.22);
    color: var(--gold-light);
}

.club-chip b.rank-silver {
    background: rgba(195, 204, 219, 0.18);
    color: #dbe2ee;
}

/* medals */

.club-medals {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}

.club-medal {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    overflow: visible;
    transition: transform 0.25s ease;
}

.club-medal img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.club-medal:hover {
    transform: translateY(-3px) scale(1.08);
}

.club-mcount {
    position: absolute;
    bottom: -3px;
    right: -3px;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    border-radius: 20px;
    background: #0d1526;
    border: 2px solid var(--gold);
    color: var(--gold-light);
    font-size: 1.05rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.club-mempty {
    display: block;
    font-size: 1.15rem;
    color: var(--muted);
    text-align: center;
    padding: 8px 0;
}

/* Ù…Ø¯Ø§Ù„â€ŒÙ‡Ø§ Ø²ÛŒØ± Ø±ØªØ¨Ù‡â€ŒØ¨Ø®Ø´â€ŒÙ‡Ø§ */

.club-medals-lg {
    gap: 10px;
    margin-top: 10px;
}

/* ردیف مدال‌ها داخل همان ردیف بازیکن (یک خط پایین‌تر، ردیف کامل، وسط‌چین) */
.td-medals {
    padding: 10px 18px 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}
.td-medals .club-medals-lg {
    justify-content: center;
    margin-top: 0;
}

.club-medals-lg .club-medal {
    width: 140px;
    height: 140px;
}

.club-medals-lg .club-mcount {
    min-width: 24px;
    height: 24px;
    font-size: 1.15rem;
    bottom: -3px;
    right: -3px;
}

/* tooltip Ø³ÙØ§Ø±Ø´ÛŒ */

.club-tip {
    position: fixed;
    z-index: 4000;
    max-width: 280px;
    padding: 8px 14px;
    border-radius: 10px;
    background: #0c1322;
    border: 1px solid rgba(240, 180, 41, 0.45);
    box-shadow: 0 12px 34px rgba(0, 0, 0, 0.55);
    color: var(--gold-light);
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.8;
    text-align: center;
    pointer-events: none;
    opacity: 0;
    transform: translateY(6px);
    transition: opacity 0.18s ease, transform 0.18s ease;
    white-space: pre-line;
}

.club-tip.show {
    opacity: 1;
    transform: translateY(0);
}

.club-profile-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 10px 18px;
    border-radius: 10px;
    background: linear-gradient(180deg, var(--gold-light), var(--gold));
    border: none;
    color: #1a1508;
    font-size: 1.3rem;
    font-weight: 800;
    font-family: IRANYekan, sans-serif;
    cursor: pointer;
    white-space: nowrap;
    text-decoration: none;
    transition: all 0.25s ease;
    box-shadow: 0 8px 20px rgba(240, 180, 41, 0.25);
}

.club-profile-btn:hover {
    filter: brightness(1.07);
    transform: translateY(-2px);
    color: #1a1508;
    text-decoration: none !important;
    text-underline-offset: 0;
}
.club-profile-btn:focus,
.club-profile-btn:active {
    text-decoration: none !important;
}

.td-profile {
    text-align: center;
    min-width: 150px;
}

.td-profile .club-profile-btn {
    margin-top: 0;
}

.club-empty {
    text-align: center;
    padding: 60px 20px;
    color: var(--muted);
    font-size: 1.5rem;
}

.club-empty .fa {
    font-size: 3rem;
    color: var(--gold);
    display: block;
    margin-bottom: 14px;
}

/* ---------------- Modal: ÙˆØ±ÙˆØ¯ ---------------- */

.club-modal {
    position: fixed;
    inset: 0;
    z-index: 2000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.club-modal.open {
    display: flex;
}

.club-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(8, 12, 24, 0.72);
    backdrop-filter: blur(5px);
}

.club-modal-panel {
    position: relative;
    width: 100%;
    max-width: 460px;
    max-height: 90vh;
    overflow-y: auto;
    background: linear-gradient(180deg, #1b2745 0%, #131d38 100%);
    border: 1px solid rgba(240, 180, 41, 0.35);
    border-radius: 20px;
    padding: 28px;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.6);
    animation: club-pop 0.3s ease;
}

.club-modal-panel.wide {
    max-width: 640px;
}

@keyframes club-pop {
    from { opacity: 0; transform: translateY(24px) scale(0.97); }
    to { opacity: 1; transform: none; }
}

.club-modal-x {
    position: absolute;
    top: 16px;
    left: 16px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid var(--panel-border);
    color: var(--text);
    font-size: 1.5rem;
    cursor: pointer;
    transition: all 0.25s ease;
}

.club-modal-x:hover {
    background: rgba(240, 180, 41, 0.2);
    border-color: rgba(240, 180, 41, 0.5);
    color: var(--gold-light);
}

.club-login-title {
    font-size: 1.9rem;
    font-weight: 800;
    color: #fff;
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.club-login-title .fa {
    color: var(--gold);
}

.club-login-sub {
    font-size: 1.3rem;
    color: var(--muted);
    margin-bottom: 22px;
    line-height: 1.9;
}

.club-login-sub b {
    color: var(--gold-light);
}

.club-field {
    margin-bottom: 14px;
}

.club-field label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--text);
    margin-bottom: 7px;
}

.club-field label .fa {
    color: var(--gold);
    width: 18px;
    text-align: center;
}

.club-field input {
    width: 100%;
    padding: 12px 16px;
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--panel-border);
    color: var(--text);
    font-family: IRANYekan, sans-serif;
    font-size: 1.35rem;
    outline: none;
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.club-field input:focus {
    border-color: rgba(240, 180, 41, 0.6);
    box-shadow: 0 0 0 3px rgba(240, 180, 41, 0.12);
}

.club-login-error {
    display: none;
    padding: 10px 14px;
    border-radius: 10px;
    background: rgba(239, 106, 106, 0.12);
    border: 1px solid rgba(239, 106, 106, 0.4);
    color: #ffb3b3;
    font-size: 1.25rem;
    margin-bottom: 14px;
}

.club-login-error .fa {
    margin-left: 6px;
}

.club-login-submit {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 13px;
    border-radius: 11px;
    background: linear-gradient(180deg, var(--gold-light), var(--gold));
    border: none;
    color: #1a1508;
    font-size: 1.4rem;
    font-weight: 800;
    font-family: IRANYekan, sans-serif;
    cursor: pointer;
    box-shadow: 0 8px 22px rgba(240, 180, 41, 0.28);
    transition: all 0.25s ease;
}

.club-login-submit:hover {
    filter: brightness(1.07);
    transform: translateY(-2px);
}

.club-login-hint {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px dashed rgba(255, 255, 255, 0.12);
    font-size: 1.15rem;
    color: var(--muted);
    line-height: 1.9;
}

.club-login-hint .fa {
    color: var(--gold);
    margin-left: 6px;
}

/* ---------------- Modal: Ù¾Ø±ÙˆÙØ§ÛŒÙ„ ---------------- */

.club-modal-head {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 18px;
}

.club-avatar-lg {
    width: 128px;
    height: 128px;
    border-radius: 26px;
    object-fit: cover;
    flex-shrink: 0;
    border: 3px solid var(--gold);
    box-shadow: 0 12px 34px rgba(240, 180, 41, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 4.6rem;
    font-weight: 900;
    color: #fff;
}

.club-avatar-lg.init {
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.45);
}

.club-modal-name {
    font-size: 2rem;
    font-weight: 800;
    color: #fff;
    margin-bottom: 7px;
}

.club-modal-user {
    font-size: 1.2rem;
    color: var(--muted);
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.club-modal-user .fa {
    color: var(--gold);
}

.club-modal-bio {
    font-size: 1.4rem;
    line-height: 2.1;
    color: var(--text);
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    padding: 15px 17px;
    margin-bottom: 18px;
}

.club-modal-opts {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 18px;
}

.club-opt {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 10px 16px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--panel-border);
    color: var(--text);
    font-size: 1.3rem;
    font-weight: 600;
    cursor: pointer;
    user-select: none;
    transition: border-color 0.25s ease;
}

.club-opt:hover {
    border-color: rgba(240, 180, 41, 0.5);
}

.club-opt .fa {
    color: var(--gold);
}

.club-opt input {
    accent-color: var(--gold);
    width: 16px;
    height: 16px;
    cursor: pointer;
}

/* Ø±Ø§ÛŒ Ø¨Ù‡ Ø¨Ø§Ø²ÛŒÚ©Ù† */

.club-vote {
    margin-bottom: 18px;
    padding: 15px 17px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.club-vote-title {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 1.35rem;
    font-weight: 800;
    color: #fff;
    margin-bottom: 12px;
}

.club-vote-title .fa {
    color: var(--gold);
}

.club-vote-btns {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.club-vote-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--panel-border);
    color: var(--text);
    font-size: 1.3rem;
    font-weight: 700;
    font-family: IRANYekan, sans-serif;
    cursor: pointer;
    transition: all 0.25s ease;
}

.club-vote-btn .fa {
    color: var(--gold);
}

.club-vote-count {
    min-width: 26px;
    height: 26px;
    padding: 0 6px;
    border-radius: 20px;
    background: rgba(240, 180, 41, 0.15);
    border: 1px solid rgba(240, 180, 41, 0.35);
    color: var(--gold-light);
    font-size: 1.15rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.club-vote-btn:hover {
    border-color: rgba(240, 180, 41, 0.55);
    transform: translateY(-1px);
}

.club-vote-btn.voted {
    background: linear-gradient(180deg, var(--gold-light), var(--gold));
    border-color: transparent;
    color: #1a1508;
}

.club-vote-btn.voted .fa {
    color: #1a1508;
}

.club-vote-btn.voted .club-vote-count {
    background: rgba(26, 21, 8, 0.15);
    border-color: rgba(26, 21, 8, 0.35);
    color: #1a1508;
}

.club-vote-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    transform: none;
}

.club-vote-msg {
    margin-top: 12px;
    font-size: 1.2rem;
    color: var(--muted);
    line-height: 1.9;
}

.club-vote-login {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-right: 6px;
    padding: 5px 14px;
    border-radius: 9px;
    background: linear-gradient(180deg, var(--gold-light), var(--gold));
    border: none;
    color: #1a1508;
    font-size: 1.15rem;
    font-weight: 800;
    font-family: IRANYekan, sans-serif;
    cursor: pointer;
}

/* Ø±ØªØ¨Ù‡ Ùˆ Ø§Ù…ØªÛŒØ§Ø² Ú©Ù„ÛŒ */

.club-overall {
    display: flex;
    gap: 12px;
    margin-bottom: 20px;
}

.club-overall-item {
    flex: 1;
    padding: 14px 16px;
    border-radius: 14px;
    background: rgba(240, 180, 41, 0.08);
    border: 1px solid rgba(240, 180, 41, 0.28);
    text-align: center;
}

.club-overall-label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    font-size: 1.2rem;
    color: var(--muted);
    margin-bottom: 7px;
    flex-wrap: wrap;
}

.club-overall-label .fa {
    color: var(--gold);
}

.club-server-tag {
    font-size: 1rem;
    font-weight: 800;
    color: #1a1508;
    background: linear-gradient(180deg, var(--gold-light), var(--gold));
    padding: 1px 9px;
    border-radius: 20px;
    white-space: nowrap;
}

.club-overall-val {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 56px;
    height: 38px;
    padding: 0 12px;
    border-radius: 10px;
    font-size: 1.6rem;
    font-weight: 900;
    color: #fff;
}

.club-overall-val.rank-gold {
    background: linear-gradient(135deg, #ffe08a 0%, #f0b429 60%, #d99a16 100%);
    color: #241a04;
}

.club-overall-val.rank-silver {
    background: linear-gradient(135deg, #f2f5fb 0%, #c3ccdb 60%, #9aa7bd 100%);
    color: #2a3342;
}

#clubOverallPts {
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: var(--gold-light);
}

.club-field textarea {
    width: 100%;
    padding: 12px 16px;
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--panel-border);
    color: var(--text);
    font-family: IRANYekan, sans-serif;
    font-size: 1.35rem;
    line-height: 1.9;
    outline: none;
    resize: vertical;
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.club-field textarea:focus {
    border-color: rgba(240, 180, 41, 0.6);
    box-shadow: 0 0 0 3px rgba(240, 180, 41, 0.12);
}

.club-file-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border-radius: 11px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid var(--panel-border);
    color: var(--text);
    font-size: 1.3rem;
    font-weight: 700;
    font-family: IRANYekan, sans-serif;
    cursor: pointer;
    transition: all 0.25s ease;
}

.club-file-btn:hover {
    border-color: rgba(240, 180, 41, 0.5);
    color: var(--gold-light);
}

.club-file-btn .fa {
    color: var(--gold);
}

.club-file-btn input[type="file"] {
    display: none;
}

.club-upload-hint {
    margin-top: 6px;
    font-size: 1.15rem;
    color: var(--gold-light);
}

.club-modal-title {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 1.35rem;
    font-weight: 800;
    color: #fff;
    margin-bottom: 12px;
}

.club-modal-title .fa {
    color: var(--gold);
}

.club-breakdown {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 20px;
}

.club-brow {
    display: grid;
    grid-template-columns: 40px 1fr auto auto;
    gap: 12px;
    align-items: center;
    padding: 10px 13px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.club-bicon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: rgba(240, 180, 41, 0.12);
    border: 1px solid rgba(240, 180, 41, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--gold);
}

.club-bname {
    font-size: 1.35rem;
    font-weight: 700;
    color: #fff;
}

.club-bpts {
    font-size: 1.3rem;
    color: var(--gold-light);
    font-weight: 700;
}

.club-brank {
    min-width: 44px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    font-weight: 800;
    font-size: 1.3rem;
}

.club-brank.rank-gold {
    background: rgba(240, 180, 41, 0.22);
    color: var(--gold-light);
}

.club-brank.rank-silver {
    background: rgba(195, 204, 219, 0.18);
    color: #dbe2ee;
}

body.club-modal-open {
    overflow: hidden;
}

/* ---------------- Responsive ---------------- */

@media (max-width: 991px) {
    .club-main {
        padding-top: 130px;
    }
    .club-table thead {
        display: none;
    }
    .club-table tbody td {
        display: block;
        width: 100%;
        padding: 8px 16px;
        border-bottom: none;
    }
    .club-table tbody tr {
        display: block;
        padding: 16px 6px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    }
    .club-table tbody tr.club-row td {
        border-bottom: none;
    }
    .club-table tbody tr.club-subrow {
        padding: 0 6px 16px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.09);
    }
    .club-table tbody tr.club-subrow td {
        padding: 0;
    }
    .club-table tbody tr.club-row td.td-medals {
        padding: 8px 12px 4px;
        background: transparent;
    }
    .td-medals .club-medals-lg {
        justify-content: center;
    }
    .td-rank {
        float: right;
        margin-left: 14px;
    }
    .td-player {
        min-width: 0;
    }
    .club-player {
        align-items: flex-start;
    }
    .td-ranks {
        min-width: 0;
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: center;
        gap: 6px;
        margin-top: 12px;
    }
    .td-ranks .club-chip {
        white-space: normal;
        max-width: 100%;
        margin: 0;
    }
    .td-ranks .club-medals {
        width: 100%;
        justify-content: flex-start;
    }
    .td-profile {
        min-width: 0;
        margin-top: 10px;
    }
    .club-profile-btn {
        width: 100%;
    }
    .club-overall {
        flex-direction: column;
    }
    .pd-medal-row {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .pd-medal-img {
        flex: 0 0 96px;
        width: 96px;
        height: 126px;
    }
    .pd-medal-img img {
        width: 96px;
        height: 126px;
    }
    .pd-honors-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 575px) {
    .pd-honors-grid {
        grid-template-columns: 1fr;
    }
    .club-main {
        padding-top: 120px;
    }
    .club-toolbar {
        flex-direction: column;
        align-items: stretch;
    }
    .club-search {
        max-width: none;
    }
    .club-auth {
        justify-content: center;
    }
}

/* ---------- Player Detail: اسلایدر سرورها + تب‌های امتیاز/افتخارات ---------- */
.pd-srv-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--muted);
    margin-bottom: 10px;
}
.pd-srv-label .fa { color: var(--gold); }
#pdMedalServers { justify-content: flex-start; }
#pdMedalServers .club-tab-server { flex: 0 0 auto; }

.pd-medal-tabs {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin: 18px 0 22px;
}
.pd-medal-tab {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 26px;
    border-radius: 12px;
    background: var(--panel);
    border: 1px solid var(--panel-border);
    color: var(--text);
    font-size: 1.35rem;
    font-weight: 700;
    font-family: IRANYekan, sans-serif;
    cursor: pointer;
    transition: all .25s ease;
}
.pd-medal-tab .fa { color: var(--gold); }
.pd-medal-tab:hover { border-color: rgba(240,180,41,0.5); }
.pd-medal-tab.active {
    background: linear-gradient(180deg, var(--gold-light), var(--gold));
    border-color: transparent;
    color: #1a1508;
    box-shadow: 0 8px 22px rgba(240,180,41,0.3);
}
.pd-medal-tab.active .fa { color: #1a1508; }

.pd-medal-pane { display: none; }
.pd-medal-pane.active { display: block; }
.pd-week-row {
    display: flex;
    align-items: center;
    gap: 18px;
    padding: 12px 18px;
    border-radius: 14px;
    background: rgba(255,255,255,0.04);
    border: 1px solid var(--panel-border);
    margin-bottom: 10px;
    transition: transform .18s ease, border-color .18s ease;
}
.pd-week-row:hover {
    transform: translateY(-2px);
    border-color: var(--gold);
}
.pd-week-row[hidden] { display: none; }
.pd-week-img {
    flex: 0 0 auto;
    min-width: 45px;
    max-width: 100px;
    min-height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
}
.pd-week-img .pd-medal-fallback { font-size: 1.9rem; color: var(--gold); }
.pd-week-img img {
    max-width: 100%;
    height: auto;
    filter: drop-shadow(0 0 1px rgba(255,255,255,0.95))
            drop-shadow(0 0 3px rgba(255,255,255,0.85))
            drop-shadow(0 0 9px rgba(255,255,255,0.7))
            drop-shadow(0 0 14px rgba(255,255,255,0.35));
}
/* ردیف مدال در پنل افتخارات: تصویر بزرگ مدال + اطلاعات روبه‌روی آن */
.pd-medal-row {
    align-items: center;
    gap: 28px;
    padding: 20px 24px;
}
.pd-medal-img {
    flex: 0 0 130px;
    width: 130px;
    height: 170px;
}
.pd-medal-img img {
    width: 130px;
    height: 170px;
    object-fit: contain;
}
.pd-medal-img .pd-medal-fallback {
    font-size: 3.4rem;
    color: var(--gold);
}
.pd-medal-row .pd-week-fields {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}
.pd-medal-row .pd-week-fld {
    font-size: 1.5rem;
}
.pd-medal-row .pd-week-fld .fld-value {
    font-size: 1.6rem;
}
.pd-medal-row .pd-week-title .fld-value {
    font-size: 1.8rem;
}
.pd-week-fields {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
    gap: 6px 24px;
    flex: 1;
    min-width: 0;
}
.pd-week-fld {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1.25rem;
}
.pd-week-fld .fld-label {
    color: var(--muted);
    font-weight: 600;
}
.pd-week-fld .fld-value {
    color: #fff;
    font-weight: 700;
    margin-bottom: 5px;
}
/* نام مدال: در یک خط، بدون برچسب */
.pd-week-title {
    grid-column: 1 / -1;
    padding-bottom: 4px;
    margin-bottom: 2px;
    border-bottom: 1px dashed rgba(255,255,255,0.12);
}
.pd-week-title .fld-value {
    font-size: 1.45rem;
    color: var(--gold-light);
    font-weight: 800;
    line-height: 1.6;
}
.pd-pane-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 46px 20px;
    color: var(--muted);
    font-size: 1.35rem;
    text-align: center;
}
.pd-pane-empty .fa { font-size: 3rem; color: var(--gold); }

/* ---------- کارت‌های تالار افتخارات (گروه‌بندی مدال) ---------- */
.pd-honors-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}
.pd-honor-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px 14px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(240, 180, 41, 0.2);
    transition: transform .18s ease, border-color .18s ease;
    overflow: hidden;
    min-width: 0;
}
.pd-honor-card:hover {
    transform: translateY(-3px);
    border-color: var(--gold);
}
.pd-honor-emble {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
}
.pd-honor-emble img {
    width: 112px;
    height: 150px;
    object-fit: contain;
}
.pd-honor-emble .pd-medal-fallback {
    font-size: 3.2rem;
    color: var(--gold);
}
.pd-honor-name {
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--gold-light);
    text-align: center;
}
.pd-honor-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 1.2rem;
    table-layout: fixed;
}
.pd-honor-table th {
    color: var(--muted);
    font-weight: 700;
    padding: 6px 8px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    text-align: center;
}
.pd-honor-table td {
    padding: 6px 8px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    color: #fff;
    text-align: center;
    word-break: break-word;
    overflow-wrap: break-word;
}
.pd-honor-table tr:last-child td {
    border-bottom: none;
}

/* ---------- تالار افتخارات: واکنش‌گرا ---------- */
@media (max-width: 1199px) {
    .pd-honors-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 14px;
    }
}

/* ---------- Ø±Ø¯ÛŒÙâ€ŒÙ‡Ø§ÛŒ ÙÛŒÙ„ØªØ± Ø¬Ø¯ÛŒØ¯ ---------- */
.club-filter-label {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--muted);
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.club-filter-label .fa {
    color: var(--gold);
}
.club-tab-count {
    background: rgba(240,180,41,0.2);
    color: var(--gold);
    font-size: 1.2rem;
    padding: 2px 8px;
    border-radius: 8px;
    margin-right: 4px;
}
.club-tab-medal .mt-gold   { color: #f0b429; }
.club-tab-medal .mt-silver { color: #a8b5d1; }
.club-tab-medal .mt-bronze { color: #c87e3a; }
.club-tab-medal.active .mt-gold,
.club-tab-medal.active .mt-silver,
.club-tab-medal.active .mt-bronze { color: #ffd48a; }
.club-medal-ic {
    width: 20px;
    height: 20px;
    flex: none;
    color: var(--gold);
    filter: drop-shadow(0 0 4px rgba(240,180,41,0.4));
}
.club-tab.active .club-medal-ic {
    color: #ffd48a;
}
.is-hidden { display: none; }
.club-medal-warn {
    margin-top: 12px;
    padding: 12px 18px;
    border-radius: 10px;
    background: rgba(240, 180, 41, 0.1);
    border: 1px solid rgba(240, 180, 41, 0.3);
    color: var(--gold-light);
    font-size: 1.25rem;
    font-weight: 600;
    text-align: center;
}
.club-tabs-sub { margin-top: 10px; }
.club-tabs-sub .club-tab { min-height: 44px; }
.club-tab-server { min-width: 140px; justify-content: center; }
.club-tab-stype  { position: relative; min-width: 160px; justify-content: center; padding: 12px 28px; }
.club-stype-icon { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); font-size: 1.7rem; color: var(--gold); }
.club-stype-text { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-width: 0; }
.club-stype-title { font-size: 1.5rem; font-weight: 600; }
.club-stype-desc { font-size: 1.15rem; font-weight: 400; color: var(--muted); opacity: 0.85; line-height: 1.4; text-align: center; }
.club-tab-stype.active .club-stype-desc { color: #ffd48a; opacity: 1; }
.club-tab-stype.active .club-stype-icon { color: #ffd48a; }
.club-tab-stype .club-tab-count { position: absolute; left: 8px; top: 50%; transform: translateY(-50%); margin: 0; }
.club-tab.active {
    background: linear-gradient(135deg, rgba(240,180,41,0.25), rgba(240,180,41,0.1));
    border-color: var(--gold);
    box-shadow: 0 0 18px rgba(240,180,41,0.25);
}
.club-tab.disabled {
    opacity: 0.35;
    pointer-events: none;
    cursor: default;
}
.club-table th, .club-table td { vertical-align: middle; }
.club-chip { display: inline-flex; align-items: center; gap: 4px;
             background: rgba(255,255,255,0.06); border-radius: 8px;
             padding: 4px 10px; margin: 3px 4px 3px 0; font-size: 1.3rem; }
.club-chip-name { opacity: 0.75; }
.club-medals-lg { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; }
.club-medals-lg .club-medal { display: inline-block; width: 140px; height: 140px;
                              position: relative; transition: transform 0.2s; }
.club-medals-lg .club-medal:hover { transform: scale(1.15); }
.club-medals-lg .club-medal img { width: 100%; height: 100%; object-fit: contain; }

/* مدال‌های هر بازیکن: ردیف افقی کامل زیر عکس/امتیاز/دکمه */
.club-table tbody tr.club-subrow td { padding: 0 18px 18px; }
.club-subrow .club-medals-lg {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 14px;
    margin-top: 0;
    padding: 12px 16px;
    overflow-x: auto;
}
.club-subrow .club-medals-lg .club-medal {
    flex: 0 0 auto;
    width: 124px;
    height: 124px;
}
.club-subrow .club-medals-lg .club-medal:hover { transform: scale(1.08); }
.club-subrow .club-medals-lg .club-mcount {
    min-width: 26px;
    height: 26px;
    font-size: 1.2rem;
    bottom: -2px;
    right: -2px;
}
.club-mcount { position: absolute; bottom: -2px; right: -2px; font-size: 1rem;
               background: #121a30; border-radius: 50%; width: 18px; height: 18px;
               display: flex; align-items: center; justify-content: center; }
.m-gold  { filter: drop-shadow(0 0 6px rgba(240,180,41,0.7)); }
.m-silver { filter: drop-shadow(0 0 6px rgba(168,181,209,0.6)); }
.m-bronze { filter: drop-shadow(0 0 6px rgba(200,126,58,0.6)); }

/* ==========================================================
   رتبه‌بندی: کارت هر بازیکن (باکس) + مدال‌ها
   ========================================================== */
.club-list { margin-top: 8px; }
.club-cardlist {
    display: flex;
    flex-direction: column;
    gap: 22px;
}
.club-card {
    background: linear-gradient(180deg, #1b2745 0%, #131d38 100%);
    border: 1px solid rgba(240, 180, 41, 0.28);
    border-radius: 22px;
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(255, 255, 255, 0.03);
    padding: 20px 22px;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.club-card:hover {
    transform: translateY(-3px);
    border-color: rgba(240, 180, 41, 0.55);
    box-shadow: 0 24px 55px rgba(0, 0, 0, 0.5), 0 0 22px rgba(240, 180, 41, 0.15);
}
.club-card.is-mine {
    border-color: var(--gold);
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.45), 0 0 0 2px rgba(240, 180, 41, 0.4), 0 0 26px rgba(240, 180, 41, 0.25);
}

/* ردیف اصلی کارت: رتبه | بازیکن | امتیاز سرور */
.club-card-main {
    display: flex;
    align-items: center;
    gap: 24px;
}
.club-card-rank {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}
.club-card-rank .club-rank-num {
    width: 64px;
    height: 64px;
    font-size: 2.4rem;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.4);
}
.club-card-player {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    gap: 20px;
    min-width: 0;
}
.club-card-player .club-avatar {
    width: 190px;
    height: 190px;
    border-radius: 24px;
}
.club-card-stats {
    margin-top: 8px;
}
.club-pname {
    font-size: 3.8rem;
    font-weight: 800;
    color: var(--gold-light);
    text-shadow: 0 2px 8px rgba(240, 180, 41, 0.35);
}
.club-pname .club-pname-link {
    color: var(--gold-light);
    text-decoration: none;
    transition: color 0.2s ease, text-shadow 0.2s ease;
}
.club-pname .club-pname-link:hover,
.club-pname .club-pname-link:focus {
    color: #fff;
    text-shadow: 0 2px 14px rgba(240, 180, 41, 0.8);
}
.club-pmeta {
    font-size: 1.45rem;
    margin-top: 4px;
}
.club-pmeta .fa {
    font-size: 1.4rem;
}
.club-pmeta b {
    font-size: 1.55rem;
}

/* امتیاز سرور: عدد بزرگ و مشخص */
.club-card-srvpts {
    flex: 0 0 auto;
    min-width: 240px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 14px 48px;
    border-radius: 16px;
    background: radial-gradient(circle at 50% 0%, rgba(240, 180, 41, 0.18), rgba(240, 180, 41, 0.03));
    border: 1px solid rgba(240, 180, 41, 0.3);
}
.club-srvpts-label {
    font-size: 1.4rem;
    color: var(--gold);
    font-weight: 700;
    white-space: nowrap;
}
.club-srvpts-label .fa {
    font-size: 1.4rem;
    margin-left: 5px;
}
.club-srvpts-num {
    font-size: 3rem;
    font-weight: 900;
    color: #fff;
    line-height: 1.2;
    text-shadow: 0 0 20px rgba(240, 180, 41, 0.5);
}

/* رتبه‌های دسته‌ای (چیپ‌ها) زیر ردیف اصلی */
.club-card-catranks {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.07);
}

/* باکس مدال‌ها: بدون کادر */
.club-card-medals {
    margin: 10px auto 0;
}
.club-medals-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    justify-items: center;
    align-items: start;
    column-gap: 18px;
    row-gap: 14px;
    width: fit-content;
    margin: 0 auto;
}
.club-medal-cell {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    width: 180px;
    padding: 10px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 10px;
    box-sizing: border-box;
    transition: background 0.25s ease, border-color 0.25s ease;
}
.club-medal-cell img {
    width: 112px;
    height: 150px;
    object-fit: contain;
    display: block;
    transition: opacity 0.3s ease, filter 0.3s ease;
}
.club-mname {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--gold-light);
    text-align: center;
    line-height: 1.4;
}
.club-mtotal {
    font-size: 1.05rem;
    color: var(--muted);
    text-align: center;
}
.club-medal-cell.is-empty .club-mname {
    color: var(--muted);
}
.club-medal-cell.is-empty img {
    opacity: 0.2;
    filter: grayscale(1);
}
.club-medal-cell.is-owned img {
    opacity: 1;
    filter: none;
}
.club-medal-cell.is-owned:hover {
    background: rgba(240, 180, 41, 0.14);
    border-color: rgba(240, 180, 41, 0.5);
}
.club-medal-cell.is-empty:hover {
    background: rgba(255, 255, 255, 0.07);
    border-color: rgba(255, 255, 255, 0.3);
}
.club-medal-cell .club-mcount {
    position: absolute;
    bottom: 2px;
    right: 2px;
    min-width: 26px;
    height: 26px;
    padding: 0 7px;
    border-radius: 26px;
    background: #0d1526;
    border: 2px solid var(--gold);
    color: var(--gold-light);
    font-size: 1.2rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}
/* ---------- کارت‌ها: واکنش‌گرا ---------- */
@media (max-width: 767px) {
    .club-card-main { flex-direction: column; align-items: stretch; gap: 16px; }
    .club-card-rank { justify-content: center; }
    .club-card-player { flex-direction: column; text-align: center; }
    .club-card-player .club-pinfo { text-align: center; }
    .club-card-player .club-avatar { width: 110px; height: 110px; }
    .club-pname { justify-content: center; }
    .club-card-srvpts { flex-direction: row; gap: 14px; justify-content: center; min-width: 0; width: 100%; padding: 12px; }
    .club-srvpts-num { font-size: 2.6rem; }
    .club-card-medals { width: 100%; }
    .club-medals-grid { grid-template-columns: repeat(3, 1fr); gap: 6px; width: 100%; margin: 0; }
    .club-medal-cell { width: 100%; padding: 8px; }
    .club-medal-cell img { width: auto; max-width: 100%; height: auto; margin: 0 auto; }
    .club-mname { font-size: 1rem; }
}
@media (max-width: 575px) {
    .club-medals-grid { grid-template-columns: repeat(2, 1fr); gap: 4px; }
    .club-medal-cell { padding: 6px; }
    .club-mtotal { font-size: 0.95rem; }
}
@media (max-width: 360px) {
    .club-medals-grid { grid-template-columns: repeat(2, 1fr); gap: 3px; }
    .club-medal-cell img { width: 72px; height: auto; }
    .club-mname { font-size: 0.9rem; }
}

/* ==========================================================
   Auth Pages — ورود / ثبتنام / بازیابی
   ========================================================== */
body.page-auth-active { background: linear-gradient(180deg, #182340 0%, #121a30 55%, #0d1526 100%) !important; }
.page-auth { min-height: calc(100vh - 130px); display: flex; align-items: center; justify-content: center; padding: 30px 16px 50px; }
.page-auth .auth-page { width: 100%; max-width: 460px; }
.page-auth .auth-card { background: linear-gradient(180deg, #1b2745 0%, #131d38 100%); border: 1px solid rgba(240, 180, 41, 0.3); border-radius: 24px; padding: 40px 32px; box-shadow: 0 40px 100px rgba(0,0,0,0.7), 0 0 0 1px rgba(255,255,255,0.03); }
.page-auth .auth-icon { font-size: 60px !important; margin-bottom: 20px; color: #f0b429; display: block; text-align: center; filter: drop-shadow(0 4px 12px rgba(240,180,41,0.3)); }
.page-auth .auth-title { font-size: 2.2rem; font-weight: 800; color: #fff; margin-bottom: 8px; text-align: center; }
.page-auth .auth-sub { font-size: 1.35rem; color: #7a8ba8; margin-bottom: 30px; text-align: center; line-height: 2; }
.page-auth .auth-alert { background: rgba(239,106,106,0.1); border: 1px solid rgba(239,106,106,0.35); border-radius: 12px; padding: 12px 16px; color: #ff8a8a; font-size: 1.3rem; margin-bottom: 22px; text-align: center; }
.page-auth .auth-link { font-size: 1.3rem; color: #7a8ba8; text-decoration: none; transition: color 0.2s; }
.page-auth .auth-link:hover { color: #f0b429; }
.page-auth button.auth-link { background: none; border: none; padding: 0; font-family: inherit; font-size: inherit; cursor: pointer; }
.page-auth .auth-footer form { display: inline; }
.page-auth .auth-footer { margin-top: 26px; text-align: center; font-size: 1.3rem; color: #7a8ba8; border-top: 1px solid rgba(255,255,255,0.06); padding-top: 20px; }
.page-auth .code-input { width: 100% !important; text-align: center !important; font-size: 30px !important; letter-spacing: 14px !important; font-weight: 800 !important; padding: 16px 16px !important; border-radius: 12px !important; }
/* وسط‌چین کردن لیبل و متن فیلدهای ورودی در صفحات احراز هویت (ورود / ثبت‌نام / بازیابی) */
body.page-auth-active .club-field label { justify-content: center; text-align: center; }
body.page-auth-active .club-field label .fa { width: auto; }
body.page-auth-active .club-field input,
body.page-auth-active .club-field textarea { text-align: center; }
body.page-auth-active .club-field input::placeholder { text-align: center; }
body.page-auth-active .captcha-row { display: flex; align-items: center; gap: 10px; justify-content: center; }
body.page-auth-active .captcha-img {
    width: 160px;
    height: 56px;
    border-radius: 11px;
    border: 1px solid rgba(240, 180, 41, 0.35);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.45), inset 0 0 0 1px rgba(255, 255, 255, 0.03);
    cursor: pointer;
    object-fit: cover;
    background: #121a30;
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
body.page-auth-active .captcha-img:hover { border-color: rgba(240, 180, 41, 0.7); box-shadow: 0 4px 18px rgba(240, 180, 41, 0.25); }
body.page-auth-active .captcha-refresh {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    border: none;
    background: linear-gradient(180deg, #f6c85c, #e3a82b);
    color: #1a1508;
    font-size: 1.6rem;
    cursor: pointer;
    box-shadow: 0 8px 22px rgba(240, 180, 41, 0.25);
    transition: filter 0.25s ease, transform 0.25s ease;
}
body.page-auth-active .captcha-refresh:hover { filter: brightness(1.08); transform: rotate(15deg); }
body.page-auth-active .captcha-input { text-align: center; }
/* ---------- فیلد رمز با دکمه نمایش/پنهان ---------- */
body.page-auth-active .pw-wrap { position: relative; }
body.page-auth-active .pw-wrap input { padding-left: 48px; }
body.page-auth-active .pw-eye {
    position: absolute;
    left: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 34px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: none;
    border-radius: 9px;
    background: transparent;
    color: #7a8ba8;
    font-size: 1.5rem;
    cursor: pointer;
    transition: color 0.2s ease, background 0.2s ease;
}
body.page-auth-active .pw-eye:hover { color: #f0b429; background: rgba(240, 180, 41, 0.12); }
@media (max-width: 576px) { .page-auth .auth-page { padding: 16px; } .page-auth .auth-card { padding: 28px 22px; } }
/* ==========================================================
   User Panel — پنل کاربری (تم تاریک مشابه باشگاه)
   ==========================================================
*/
.panel-club-page .club-main { padding-top: 130px; padding-bottom: 60px; }
.panel-club-page .section-desc { font-size: 1.4rem; color: var(--muted); margin-top: 8px; }

/* ---------- Alert ---------- */
.club-alert { display: flex; align-items: center; gap: 10px; padding: 14px 20px; border-radius: 14px; font-size: 1.35rem; font-weight: 600; margin-bottom: 28px; backdrop-filter: blur(12px); }
.club-alert i { font-size: 1.6rem; flex-shrink: 0; }
.club-alert-success { background: rgba(46, 204, 113, 0.12); border: 1px solid rgba(46, 204, 113, 0.3); color: #6ddc9e; }
.club-alert-danger { background: rgba(231, 76, 60, 0.12); border: 1px solid rgba(231, 76, 60, 0.3); color: #f1948a; }

/* ---------- Layout ---------- */
.panel-layout { display: grid; grid-template-columns: 300px 1fr; gap: 28px; align-items: start; }

/* ---------- Sidebar ---------- */
.panel-sidebar-dark { position: sticky; top: 100px; }

.panel-user-card {
    background: var(--panel);
    border: 1px solid var(--panel-border);
    border-radius: 20px;
    padding: 32px 24px;
    text-align: center;
    backdrop-filter: blur(16px);
    margin-bottom: 16px;
}
.panel-avatar-wrap { position: relative; display: inline-block; margin-bottom: 16px; }
.panel-avatar-circle {
    width: 90px; height: 90px;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--gold), #c08418);
    display: flex; align-items: center; justify-content: center;
    font-size: 36px; color: #1a1508;
    box-shadow: 0 8px 32px rgba(240, 180, 41, 0.3);
    border: 3px solid rgba(240, 180, 41, 0.4);
}
.panel-avatar-circle .panel-avatar-img,
.panel-avatar-current .panel-avatar-img {
    width: 100%; height: 100%;
    object-fit: cover;
    border-radius: inherit;
    display: block;
}
.panel-avatar-current {
    width: 90px; height: 90px;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--gold), #c08418);
    display: flex; align-items: center; justify-content: center;
    font-size: 36px; color: #1a1508;
    overflow: hidden;
    border: 3px solid rgba(240, 180, 41, 0.4);
}
.panel-avatar-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
    gap: 12px;
}
.panel-avatar-option {
    position: relative;
    cursor: pointer;
    border-radius: 12px;
    overflow: hidden;
    aspect-ratio: 1;
    border: 2px solid var(--panel-border);
    transition: border-color .2s ease, transform .2s ease;
}
.panel-avatar-option:hover { border-color: var(--gold); transform: translateY(-2px); }
.panel-avatar-option input { position: absolute; opacity: 0; width: 100%; height: 100%; cursor: pointer; margin: 0; top: 0; left: 0; }
.panel-avatar-option img { width: 100%; height: 100%; object-fit: cover; display: block; }
.panel-avatar-option .panel-avatar-check { display: none; }
.panel-avatar-option.selected {
    border-color: var(--gold);
    box-shadow: 0 0 0 3px rgba(240, 180, 41, 0.35);
}
.panel-avatar-option.selected .panel-avatar-check {
    display: block;
    position: absolute; top: 6px; right: 6px;
    width: 22px; height: 22px;
    background: var(--gold); border-radius: 50%;
    color: #1a1508;
    display: flex; align-items: center; justify-content: center;
    font-size: 13px; font-weight: 700;
}
.panel-avatar-option.selected .panel-avatar-check::after { content: '\2713'; }
.panel-avatar-option[data-title]::before {
    content: attr(data-title);
    position: absolute;
    bottom: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%) translateY(4px);
    background: #121a30;
    color: #fff;
    font-size: 1.2rem;
    font-weight: 600;
    padding: 6px 12px;
    border-radius: 8px;
    border: 1px solid rgba(240, 180, 41, 0.35);
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .2s ease, transform .2s ease;
    z-index: 5;
}
.panel-avatar-option[data-title]:hover::before {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}
.panel-online-dot {
    position: absolute; bottom: 4px; right: 4px;
    width: 16px; height: 16px;
    background: #2ecc71;
    border: 3px solid var(--bg);
    border-radius: 50%;
    box-shadow: 0 0 8px rgba(46, 204, 113, 0.6);
}
.panel-user-name { font-size: 1.7rem; font-weight: 700; color: var(--text); margin-bottom: 4px; }
.panel-user-email { font-size: 1.2rem; color: var(--muted); margin-bottom: 14px; word-break: break-all; }
.panel-user-badge {
    display: inline-flex; align-items: center; gap: 6px;
    background: rgba(46, 204, 113, 0.12);
    border: 1px solid rgba(46, 204, 113, 0.25);
    color: #6ddc9e;
    border-radius: 20px; padding: 5px 16px;
    font-size: 1.15rem; font-weight: 600;
}

/* ---------- Nav ---------- */
.panel-nav-dark {
    background: var(--panel);
    border: 1px solid var(--panel-border);
    border-radius: 16px;
    overflow: hidden;
    backdrop-filter: blur(16px);
    margin-bottom: 16px;
}
.panel-nav-link {
    display: flex; align-items: center; gap: 12px;
    padding: 16px 20px;
    color: var(--muted);
    text-decoration: none;
    font-size: 1.35rem; font-weight: 600;
    border-right: 3px solid transparent;
    transition: all .25s ease;
}
.panel-nav-link:hover { background: rgba(255,255,255,0.05); color: var(--text); }
.panel-nav-link.active { background: rgba(240, 180, 41, 0.08); color: var(--gold); border-right-color: var(--gold); }
.panel-nav-link i { font-size: 1.5rem; width: 28px; text-align: center; color: var(--gold); }
.panel-nav-link.active i { color: var(--gold); }
.panel-nav-danger { color: #e74c3c !important; }
.panel-nav-danger:hover { background: rgba(231, 76, 60, 0.08); }
.panel-nav-danger i { color: #e74c3c !important; }

/* ---------- Info Card ---------- */
.panel-info-card {
    background: var(--panel);
    border: 1px solid var(--panel-border);
    border-radius: 16px;
    padding: 20px;
    backdrop-filter: blur(16px);
}
.panel-info-row { display: flex; align-items: center; gap: 14px; padding: 10px 0; }
.panel-info-row + .panel-info-row { border-top: 1px solid var(--panel-border); }
.panel-info-row > i { font-size: 1.4rem; color: var(--gold); width: 24px; text-align: center; flex-shrink: 0; }
.panel-info-label { font-size: 1.1rem; color: var(--muted); flex-shrink: 0; }
.panel-info-value { font-size: 1.25rem; color: var(--text); font-weight: 600; margin-inline-start: auto; text-align: left; }
.panel-verified { color: #6ddc9e; }

/* ---------- Logout Card ---------- */
.panel-logout-card {
    margin-top: 18px;
    background: var(--panel);
    border: 1px solid rgba(231, 76, 60, 0.25);
    border-radius: 16px;
    padding: 10px;
    backdrop-filter: blur(16px);
}
.panel-logout-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    padding: 12px 16px;
    border-radius: 12px;
    background: rgba(231, 76, 60, 0.1);
    border: 1px solid rgba(231, 76, 60, 0.3);
    color: #f1948a;
    font-size: 1.3rem;
    font-weight: 700;
    text-decoration: none;
    transition: all .25s ease;
}
.panel-logout-btn:hover {
    background: #e74c3c;
    border-color: #e74c3c;
    color: #fff;
    text-decoration: none;
}
.panel-logout-btn .fa { font-size: 1.4rem; }

/* ---------- Main Content ---------- */
.panel-content-dark { min-width: 0; }

/* ---------- Card ---------- */
.panel-card-dark {
    background: var(--panel);
    border: 1px solid var(--panel-border);
    border-radius: 20px;
    padding: 32px;
    backdrop-filter: blur(16px);
}
.panel-card-head { display: flex; align-items: center; gap: 16px; margin-bottom: 28px; }
.panel-card-icon {
    width: 52px; height: 52px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(240, 180, 41, 0.15), rgba(240, 180, 41, 0.05));
    border: 1px solid rgba(240, 180, 41, 0.25);
    display: flex; align-items: center; justify-content: center;
    font-size: 2rem; color: var(--gold); flex-shrink: 0;
}
.panel-card-title { font-size: 1.6rem; font-weight: 700; color: var(--text); }
.panel-card-sub { font-size: 1.2rem; color: var(--muted); margin-top: 2px; }

/* ---------- Form ---------- */
.panel-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 18px; }
.panel-field { margin-bottom: 18px; }
.panel-label {
    display: block; font-size: 1.2rem; font-weight: 600; color: var(--muted);
    margin-bottom: 8px;
}
.panel-label i { color: var(--gold); margin-left: 6px; font-size: 1.1rem; }
.panel-input {
    width: 100%;
    background: rgba(255,255,255,0.04);
    border: 1.5px solid var(--panel-border);
    border-radius: 12px;
    padding: 13px 16px;
    font-size: 1.35rem;
    color: var(--text);
    transition: border-color .25s, box-shadow .25s;
    font-family: IRANYekan, sans-serif;
}
.panel-input::placeholder { color: rgba(163, 173, 196, 0.5); }
.panel-input:focus {
    border-color: var(--gold);
    box-shadow: 0 0 0 3px rgba(240, 180, 41, 0.12);
    background: rgba(255,255,255,0.06);
    outline: none;
}
.panel-textarea { resize: vertical; min-height: 90px; }

.panel-strength { font-size: 1.1rem; margin-top: 6px; }
.panel-error { font-size: 1.1rem; color: #e74c3c; display: block; margin-top: 4px; }

/* ---------- Char Hint ---------- */
.panel-char-hint {
    display: block;
    margin-top: 6px;
    font-size: 1.05rem;
    color: var(--muted);
}
.panel-char-hint.warn {
    color: #f1948a;
    font-weight: 600;
}

/* ---------- Actions ---------- */
.panel-actions { margin-top: 8px; }
.panel-btn-save {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 14px 32px;
    font-size: 1.35rem;
}

/* ---------- Section Toggle ---------- */
.panel-section { display: none; }
.panel-section.active { display: block; }

/* ---------- Panel RTL ---------- */
.panel-content-dark .panel-card-dark form,
.panel-content-dark .panel-avatar-grid,
.panel-content-dark .panel-avatar-current { direction: rtl; text-align: right; }
.panel-content-dark .panel-label,
.panel-content-dark .panel-label i { direction: rtl; text-align: right; }
.panel-content-dark .panel-label i { margin-left: 0; margin-right: 6px; }
.panel-content-dark .panel-input { text-align: right; }
.panel-content-dark .panel-actions { text-align: right; }
.panel-content-dark .panel-avatar-option .panel-avatar-check { right: auto; left: 6px; }
.panel-content-dark .panel-form-grid { direction: rtl; }

/* ---------- Reveal Animation ---------- */
.reveal { opacity: 0; transform: translateY(30px); transition: opacity .6s ease, transform .6s ease; }
.reveal.in-view { opacity: 1; transform: translateY(0); }

/* ---------- Responsive ---------- */
@media (max-width: 991px) {
    .panel-layout { grid-template-columns: 1fr; }
    .panel-sidebar-dark { position: static; }
    .panel-user-card { display: flex; align-items: center; gap: 20px; text-align: right; padding: 24px; }
    .panel-avatar-wrap { margin-bottom: 0; }
    .panel-nav-dark { display: flex; flex-wrap: wrap; }
    .panel-nav-link { flex: 1; min-width: 140px; justify-content: center; border-right: none; border-bottom: 3px solid transparent; }
    .panel-nav-link.active { border-bottom-color: var(--gold); border-right-color: transparent; }
}
@media (max-width: 767px) {
    .panel-club-page .club-main { padding-top: 110px; }
    .panel-card-dark { padding: 24px 18px; }
    .panel-form-grid { grid-template-columns: 1fr; gap: 0; }
    .panel-user-card { flex-direction: column; text-align: center; }
    .panel-info-card { padding: 16px; }
    .panel-sidebar-dark { display: flex; flex-direction: column; }
    .panel-sidebar-dark .panel-user-card { order: 1; }
    .panel-sidebar-dark .panel-info-card { order: 2; }
    .panel-sidebar-dark .panel-logout-card { order: 3; margin-top: 12px; }
    .panel-sidebar-dark .panel-nav-dark { order: 4; }
    .panel-nav-dark { flex-direction: column; }
    .panel-nav-link { min-width: auto; border-bottom: none; border-right: 3px solid transparent; justify-content: flex-start; }
    .panel-nav-link.active { border-right-color: var(--gold); border-bottom: none; }
}
@media (max-width: 575px) {
    .panel-club-page .club-main { padding-top: 100px; padding-bottom: 40px; }
    .panel-info-row { padding: 8px 0; }
    .panel-info-value { max-width: 60%; }
    .panel-logout-card { padding: 8px; }
}
@media (max-width: 425px) {
    .panel-sidebar-dark .panel-user-card { order: 1; }
    .panel-sidebar-dark .panel-nav-dark { order: 2; }
    .panel-sidebar-dark .panel-info-card { order: 3; }
    .panel-sidebar-dark .panel-logout-card { order: 4; margin-top: 12px; }
}

/* ==========================================================
   Player Detail — صفحه پروفایل بازیکن
   ========================================================== */
.pd-header {
    display: flex;
    align-items: flex-start;
    gap: 28px;
    background:
        radial-gradient(700px 240px at 15% 0%, rgba(240,180,41,0.16), transparent 60%),
        radial-gradient(600px 220px at 90% 100%, rgba(94,130,240,0.16), transparent 55%),
        linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.02));
    border: 1px solid rgba(240,180,41,0.28);
    border-radius: 26px;
    padding: 34px 40px;
    margin-bottom: 28px;
    backdrop-filter: blur(18px);
    box-shadow: 0 24px 60px rgba(0,0,0,0.4);
    position: relative;
    flex-wrap: wrap;
}
.pd-avatar-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    width: 100%;
}
/* عکس (مستطیل) وسط بالا — ۳۰٪ از کادر بالاتر */
.pd-medal-round {
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-30%);
    margin-bottom: -30px;
}
/* نام کاربری: درست زیر عکس، وسط */
.pd-user-name {
    margin: 0;
    font-size: 2.6rem;
    font-weight: 900;
    color: #fff;
    text-align: center;
    line-height: 1.3;
    letter-spacing: 0.3px;
    text-shadow: 0 2px 8px rgba(0,0,0,0.4);
}
.pd-header .club-avatar-lg {
    width: 195px;
    height: 195px;
    border-radius: 18px;
    font-size: 6.6rem;
    border: 4px solid rgba(240,180,41,0.8);
    box-shadow: 0 14px 40px rgba(240,180,41,0.4), 0 8px 24px rgba(0,0,0,0.35);
}
/* سن و شهر: گوشه بالا سمت چپ */
.pd-meta-corner {
    position: absolute;
    top: 22px;
    left: 22px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    z-index: 2;
}
.pd-you-corner {
    position: absolute;
    top: 22px;
    right: 22px;
    z-index: 2;
}
.pd-info { flex: 1; min-width: 0; }
.pd-name {
    font-size: 2.4rem;
    font-weight: 900;
    color: #fff;
    margin: 0 0 8px;
}
.pd-bio {
    font-size: 1.35rem;
    line-height: 2;
    color: var(--text);
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 12px;
    padding: 12px 16px;
    margin: 0 0 14px;
    direction: rtl;
    text-align: right;
}
.pd-bio-title {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--gold);
    margin: 10px 0 8px;
    direction: rtl;
}
.pd-bio-title .fa { color: var(--gold); }
.pd-meta {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
}
.pd-meta-item {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 1.2rem;
    color: var(--muted);
}
.pd-meta-item .fa { color: var(--gold); }
.pd-you {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(240, 180, 41, 0.12);
    border: 1px solid rgba(240, 180, 41, 0.3);
    color: var(--gold-light);
    padding: 4px 14px;
    border-radius: 20px;
    font-size: 1.15rem;
    font-weight: 700;
}
.pd-you .fa { color: var(--gold); }
.pd-back-btn {
    position: absolute;
    top: 20px;
    left: 20px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    border-radius: 12px;
    background: rgba(255,255,255,0.06);
    border: 1px solid var(--panel-border);
    color: var(--text);
    font-size: 1.2rem;
    font-weight: 600;
    text-decoration: none;
    transition: all .25s ease;
}
.pd-back-btn:hover {
    background: rgba(240, 180, 41, 0.12);
    border-color: rgba(240, 180, 41, 0.4);
    color: var(--gold-light);
}
.pd-back-btn .fa { color: var(--gold); }

/* ---------- PD Header جدید: نام بالا + چیپ‌ها و بیو ---------- */
/* نام کاربری بالا و وسط آواتار */
.club-avatar-lg {
    box-shadow: 0 14px 40px rgba(240,180,41,0.4);
}
.pd-badge-row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    flex-wrap: wrap;
}
.pd-meta-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 999px;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(240,180,41,0.24);
    color: var(--text);
    font-size: 1.25rem;
    font-weight: 600;
    box-shadow: 0 4px 14px rgba(0,0,0,0.2);
    backdrop-filter: blur(6px);
}
.pd-meta-chip .fa {
    color: var(--gold);
    width: 18px;
    text-align: center;
}
.pd-bio {
    width: 100%;
    max-width: 520px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(240,180,41,0.18);
    border-radius: 16px;
    padding: 14px 22px;
    text-align: center;
    direction: rtl;
    backdrop-filter: blur(6px);
}
.pd-bio-title {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--gold);
    margin-bottom: 6px;
}
.pd-bio-title .fa { color: var(--gold); }
.pd-bio p {
    margin: 0;
    font-size: 1.4rem;
    line-height: 2.1;
    color: var(--text);
}

/* ---------- Stats Row ---------- */
.pd-stats-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 28px;
}
.pd-stat-card {
    background: var(--panel);
    border: 1px solid var(--panel-border);
    border-radius: 18px;
    padding: 24px 16px;
    text-align: center;
    backdrop-filter: blur(16px);
    transition: transform .25s ease, border-color .25s ease;
}
.pd-stat-card:hover {
    transform: translateY(-3px);
    border-color: rgba(240, 180, 41, 0.35);
}
.pd-stat-icon {
    width: 48px;
    height: 48px;
    margin: 0 auto 12px;
    border-radius: 14px;
    background: rgba(240, 180, 41, 0.1);
    border: 1px solid rgba(240, 180, 41, 0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    color: var(--gold);
}
.pd-stat-val {
    font-size: 2.2rem;
    font-weight: 900;
    color: #fff;
    margin-bottom: 4px;
}
.pd-stat-val.rank-gold {
    background: linear-gradient(135deg, #ffe08a 0%, #f0b429 60%, #d99a16 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.pd-stat-pts { color: var(--gold-light) !important; -webkit-text-fill-color: initial; }
.pd-stat-medals { color: #6ddc9e !important; -webkit-text-fill-color: initial; }
.pd-stat-servers { color: #74b9ff !important; -webkit-text-fill-color: initial; }
.pd-stat-label {
    font-size: 1.15rem;
    color: var(--muted);
    font-weight: 600;
}

/* ---------- Grid ---------- */
.pd-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-bottom: 28px;
}

/* ---------- Section ---------- */
.pd-section {
    background: var(--panel);
    border: 1px solid var(--panel-border);
    border-radius: 20px;
    padding: 28px;
    backdrop-filter: blur(16px);
}
.pd-section.pd-full { margin-bottom: 28px; }
.pd-section-head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
}
.pd-section-head.pd-section-head-center {
    justify-content: center;
    text-align: center;
}
/* پیام خالی پنل مدال — وسط‌چین */
.pd-pane-empty {
    display: block;
    text-align: center;
    font-size: 1.2rem;
    color: var(--muted);
    padding: 24px 0;
}
.pd-section-head .fa {
    font-size: 1.6rem;
    color: var(--gold);
}
.pd-section-head h2 {
    font-size: 1.5rem;
    font-weight: 800;
    color: #fff;
    margin: 0;
}

/* ---------- Breakdown (reuse club-brow) ---------- */
.pd-breakdown {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* ---------- Medals ---------- */
.pd-medals-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

/* ---------- Player Medal Cards ---------- */
.pd-medal-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 14px;
}
.pd-medal-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px;
    border-radius: 14px;
    background: rgba(255,255,255,0.04);
    border: 1px solid var(--panel-border);
    transition: transform .18s ease, border-color .18s ease;
}
.pd-medal-card:hover {
    transform: translateY(-2px);
    border-color: var(--gold);
}
.pd-medal-img {
    width: 64px;
    height: 64px;
    flex: 0 0 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    overflow: hidden;
    background: rgba(0,0,0,0.25);
}
.pd-medal-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.pd-medal-fallback {
    font-size: 1.6rem;
    color: var(--gold);
}
.pd-medal-info {
    min-width: 0;
}
.pd-medal-name {
    font-size: 1.35rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 4px;
    line-height: 1.3;
}
.pd-medal-server {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 1.15rem;
    color: var(--muted);
}
.pd-medal-server .fa { color: var(--gold); }

/* ---------- Weekly Medals ---------- */
.pd-week-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 14px;
}
.pd-week-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px;
    border-radius: 14px;
    background: rgba(255,255,255,0.04);
    border: 1px solid var(--panel-border);
    transition: transform .18s ease, border-color .18s ease;
}
.pd-week-card:hover {
    transform: translateY(-2px);
    border-color: var(--gold);
}
.pd-week-card .pd-medal-img {
    width: 64px;
    height: 64px;
    flex: 0 0 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    overflow: hidden;
    background: rgba(0,0,0,0.25);
}
.pd-week-card .pd-medal-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.pd-week-card .pd-medal-fallback { font-size: 1.6rem; color: var(--gold); }

/* ---------- Server List ---------- */
.pd-server-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.pd-server-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    border-radius: 12px;
    background: rgba(255,255,255,0.04);
    border: 1px solid var(--panel-border);
    color: var(--text);
    font-size: 1.25rem;
    font-weight: 600;
}
.pd-server-chip .fa { color: var(--gold); }
.pd-server-count {
    font-size: 1.1rem;
    color: var(--muted);
    font-weight: 400;
}

/* ---------- Responsive ---------- */
@media (max-width: 991px) {
    .pd-header { padding: 24px 22px; }
    .pd-header .club-avatar-lg { width: 150px; height: 150px; font-size: 5rem; border-radius: 14px; }
    .pd-meta-corner { top: 16px; left: 16px; }
    .pd-you-corner { top: 16px; right: 16px; }
    .pd-stats-row { grid-template-columns: repeat(2, 1fr); }
    .pd-grid { grid-template-columns: 1fr; }
    .pd-medal-tabs { gap: 8px; margin: 14px 0 18px; }
    .pd-medal-tab { padding: 9px 20px; font-size: 1.2rem; }
    .pd-honor-emble img { width: 90px; height: 120px; }
    .pd-week-row { gap: 12px; padding: 10px 14px; }
    .pd-week-fields { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 4px 16px; }
    .pd-srv-label { font-size: 1.1rem; }
}
@media (max-width: 767px) {
    .pd-medal-tabs { gap: 6px; }
    .pd-medal-tab { padding: 8px 16px; font-size: 1.15rem; }
    .pd-honors-grid { gap: 12px; }
    .pd-honor-emble img { width: 80px; height: 108px; }
    .pd-honor-card { padding: 16px 12px; }
    .pd-week-row { gap: 10px; padding: 10px 12px; }
    .pd-week-fields { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 4px 12px; }
}
@media (max-width: 575px) {
    .pd-header .club-avatar-lg { width: 120px; height: 120px; font-size: 4rem; border-radius: 12px; }
    .pd-user-name { font-size: 1.7rem; }
    .pd-meta-corner { top: 12px; left: 12px; flex-direction: row; }
    .pd-you-corner { top: 12px; right: 12px; }
    .pd-meta-chip { font-size: 1.05rem; padding: 5px 12px; }
    .pd-stats-row { grid-template-columns: 1fr 1fr; gap: 10px; }
    .pd-stat-card { padding: 16px 10px; }
    .pd-stat-val { font-size: 1.7rem; }
    .pd-section { padding: 20px 16px; }
    .pd-medal-tabs { flex-wrap: wrap; gap: 6px; margin: 10px 0 14px; }
    .pd-medal-tab { padding: 8px 14px; font-size: 1.1rem; gap: 5px; }
    .pd-honor-card { padding: 14px 10px; }
    .pd-honor-emble img { width: 72px; height: 96px; }
    .pd-honor-emble .pd-medal-fallback { font-size: 2.4rem; }
    .pd-honor-name { font-size: 1.15rem; }
    .pd-honor-table { font-size: 1.05rem; }
    .pd-honor-table th, .pd-honor-table td { padding: 4px 6px; }
    .pd-week-row { flex-direction: column; align-items: center; text-align: center; gap: 10px; padding: 10px 12px; }
    .pd-week-img { min-width: 55px; max-width: 90px; min-height: 75px; }
    .pd-week-fields { grid-template-columns: 1fr; gap: 4px; }
    .pd-week-fld { font-size: 1.1rem; }
    .pd-week-fld .fld-value { font-size: 1.2rem; }
    .pd-week-title .fld-value { font-size: 1.25rem; }
    .pd-srv-label { font-size: 1rem; margin-bottom: 6px; }
    #pdMedalServers { padding: 8px 12px 12px; gap: 6px; }
    .pd-medal-tabs .pd-medal-tab { flex: 1 1 calc(50% - 6px); justify-content: center; }
}

/* ==========================================================
   Tickets — تیکت‌های پشتیبانی
   ========================================================== */
.ticket-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 22px;
    flex-wrap: wrap;
}
.ticket-stats { display: inline-flex; gap: 8px; flex-wrap: wrap; }
.ticket-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 14px;
    border-radius: 999px;
    font-size: 1.05rem;
    font-weight: 700;
}
.ticket-badge-open {
    background: rgba(61, 207, 142, 0.14);
    color: #3ecf8e;
    border: 1px solid rgba(61, 207, 142, 0.35);
}
.ticket-badge-closed {
    background: rgba(120, 130, 150, 0.14);
    color: #94a3b8;
    border: 1px solid rgba(120, 130, 150, 0.35);
}
.ticket-list { display: flex; flex-direction: column; gap: 14px; }
.ticket-card {
    display: block;
    background: var(--panel);
    border: 1px solid var(--panel-border);
    border-radius: 16px;
    padding: 18px 20px;
    color: var(--text);
    text-decoration: none;
    transition: border-color .2s ease, transform .2s ease;
}
.ticket-card:hover {
    border-color: rgba(240, 180, 41, 0.5);
    transform: translateY(-2px);
    text-decoration: none;
}
.ticket-card-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ticket-subject { font-size: 1.4rem; font-weight: 800; color: #fff; }
.ticket-number {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--muted);
    white-space: nowrap;
}
.ticket-number .fa { color: var(--gold); }
.ticket-snippet {
    margin-top: 8px;
    color: var(--muted);
    font-size: 1.15rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ticket-meta {
    display: flex;
    gap: 16px;
    margin-top: 10px;
    color: var(--muted);
    font-size: 1.05rem;
    flex-wrap: wrap;
}
.ticket-meta .fa { color: var(--gold); margin-left: 4px; }
.ticket-thread {
    display: flex;
    flex-direction: column;
    gap: 14px;
    max-height: 480px;
    overflow-y: auto;
}
.ticket-msg {
    border-radius: 14px;
    padding: 14px 16px;
    border: 1px solid var(--panel-border);
    background: rgba(255,255,255,0.04);
    direction: rtl;
    text-align: right;
}
.ticket-msg-user { border-right: 3px solid rgba(79, 126, 208, 0.7); }
.ticket-msg-admin { border-right: 3px solid rgba(240, 180, 41, 0.7); background: rgba(240, 180, 41, 0.05); }
.ticket-msg-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 6px;
    flex-wrap: wrap;
}
.ticket-msg-sender { font-size: 1.15rem; font-weight: 700; color: var(--gold-light); }
.ticket-msg-time { font-size: 0.95rem; color: var(--muted); }
.ticket-msg-body { font-size: 1.2rem; line-height: 2; color: var(--text); white-space: pre-wrap; }

/* ---------- Panel Ticket Widget ---------- */
.ticket-panel-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 22px;
    flex-wrap: wrap;
}
.ticket-create-box {
    display: none;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(240, 180, 41, 0.25);
    border-radius: 16px;
    padding: 20px;
    margin-bottom: 22px;
}
.ticket-create-box.open { display: block; }
.ticket-create-box form { direction: rtl; text-align: right; }

.ticket-item {
    background: var(--panel);
    border: 1px solid var(--panel-border);
    border-radius: 16px;
    padding: 0;
    overflow: hidden;
    margin-bottom: 14px;
    transition: border-color .2s ease;
}
.ticket-item[open] { border-color: rgba(240, 180, 41, 0.45); }
.ticket-item summary {
    list-style: none;
    cursor: pointer;
    padding: 18px 20px;
    display: block;
}
.ticket-item summary::-webkit-details-marker { display: none; }
.ticket-item summary:hover { background: rgba(255,255,255,0.03); }
.ticket-item > .ticket-thread,
.ticket-item > .ticket-reply-form,
.ticket-item > .club-alert {
    margin: 0 20px 18px;
}
.ticket-reply-form { direction: rtl; text-align: right; }

.ticket-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 14px;
    border-radius: 999px;
    font-size: 1.05rem;
    font-weight: 700;
    white-space: nowrap;
}
.ticket-status-new { background: rgba(116, 185, 255, 0.14); color: #74b9ff; border: 1px solid rgba(116, 185, 255, 0.4); }
.ticket-status-review { background: rgba(253, 203, 110, 0.14); color: #fdcc6f; border: 1px solid rgba(253, 203, 110, 0.4); }
.ticket-status-replied { background: rgba(61, 207, 142, 0.14); color: #3ecf8e; border: 1px solid rgba(61, 207, 142, 0.4); }
.ticket-status-closed { background: rgba(120, 130, 150, 0.14); color: #94a3b8; border: 1px solid rgba(120, 130, 150, 0.4); }
