/**
 * EurêCard — Account pages unified design overlay
 *
 * Couche d'unification visuelle de toutes les pages compte
 * (/mes-collections-cartes-pokemon, /mes-cartes-suivies, /recherches-proches,
 *  /ma-progression, /mes-statistiques, /messagerie, /notifications,
 *  /mes-rendez-vous, /mes-preferences, /mon-profil-collectionneur).
 *
 * Stratégie :
 *  - Référence : /mon-profil-collectionneur/ (classes .ec-mp__*)
 *  - Cette feuille intervient APRES toutes les CSS page-specific (priorité dépendance)
 *  - Aucun selector page-specific n'est modifié : on cible la zone .pkb-dash-main
 *    et on harmonise les composants génériques (titres, cartes, boutons, inputs)
 *
 * Mobile-first par défaut. Breakpoints : 600 / 900 / 1100.
 *
 * @package Pokeboard
 */

/* ═══════════════════════════════════════════════════════════════════════════
   0. Tokens — TOUS dérivés du design system central (mu-plugins/idd-design)
   Single source of truth : changer le brand dans /wp-admin/admin.php?page=idd-design
   propage automatiquement sur tous les selectors qui utilisent --ec-*.
   Scopé en :root pour fonctionner aussi HORS .pkb-account-page (card-collectionneur
   apparaît sur /collectionneurs/, /recherches-proches/, etc. — pages sans wrapper).
   ═══════════════════════════════════════════════════════════════════════════ */
:root {
    /* Marque — hérite du panel admin idd-design */
    --ec-brand:        var(--idd-color-primary, #ff5a3c);
    --ec-brand-dark:   var(--idd-color-primary-hover, #d63615);
    --ec-gold:         var(--idd-color-secondary, #ffc94c);
    --ec-accent:       var(--idd-color-accent, #6a5cff);

    /* Texte */
    --ec-ink:          var(--idd-color-text, #1a1a2e);
    --ec-ink-soft:     var(--idd-color-text-muted, #3a3a52);
    --ec-mute:         var(--idd-color-text-secondary, #6a6a85);

    /* Surfaces */
    --ec-bg:           var(--idd-color-bg-alt, #f6f4ff);
    --ec-bg-card:      var(--idd-color-bg, #ffffff);
    --ec-bg-subtle:    var(--idd-color-bg-alt, #fafaff);

    /* Bordures */
    --ec-border:       var(--idd-color-border, rgba(0, 0, 0, 0.07));
    --ec-border-soft:  var(--idd-color-border, rgba(0, 0, 0, 0.05));

    /* Ombres */
    --ec-shadow-sm:    var(--idd-shadow-sm, 0 2px 8px rgba(40, 20, 70, 0.05));
    --ec-shadow-md:    var(--idd-shadow-md, 0 4px 14px rgba(40, 20, 70, 0.06));
    --ec-shadow-lg:    var(--idd-shadow-lg, 0 12px 32px rgba(40, 20, 70, 0.08));

    /* Radius */
    --ec-radius-sm:    var(--idd-radius-sm, 10px);
    --ec-radius-md:    var(--idd-radius-md, 14px);
    --ec-radius-lg:    var(--idd-radius-lg, 18px);
    --ec-radius-xl:    var(--idd-radius-lg, 22px);

    /* États sémantiques */
    --ec-success:      var(--idd-color-success, #22c55e);
    --ec-warning:      var(--idd-color-warning, #f59e0b);
    --ec-danger:       var(--idd-color-danger, #d40000);
    --ec-info:         var(--idd-color-info, #0ea5e9);
}

/* ═══════════════════════════════════════════════════════════════════════════
   1. Fond global page compte
   ═══════════════════════════════════════════════════════════════════════════ */
body.is-logged-in .pkb-account-page,
.pkb-account-page {
    background: var(--ec-bg);
    min-height: 100vh;
}

/* Zone main : padding latéral cohérent partout */
.pkb-account-page .pkb-dash-main {
    padding-inline: 16px;
    padding-block: 20px 40px;
}
@media (min-width: 600px) {
    .pkb-account-page .pkb-dash-main {
        padding-inline: 22px;
        padding-block: 28px 48px;
    }
}
@media (min-width: 900px) {
    .pkb-account-page .pkb-dash-main {
        padding-inline: 28px;
        padding-block: 32px 56px;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   2. Hiérarchie typographique unifiée dans .pkb-dash-main
   On ne casse pas les selectors existants — on harmonise via specificity douce
   ═══════════════════════════════════════════════════════════════════════════ */
.pkb-account-page .pkb-dash-main h1,
.pkb-account-page .pkb-dash-main .page-title,
.pkb-account-page .pkb-dash-main > section > h1:first-child {
    font-size: clamp(22px, 5vw, 28px);
    font-weight: 800;
    color: var(--ec-ink);
    letter-spacing: -0.4px;
    line-height: 1.15;
    margin: 0 0 8px;
}

.pkb-account-page .pkb-dash-main h2,
.pkb-account-page .pkb-dash-main .section-title {
    font-size: clamp(18px, 4vw, 22px);
    font-weight: 800;
    color: var(--ec-ink);
    letter-spacing: -0.3px;
    line-height: 1.2;
    margin: 0 0 12px;
}

.pkb-account-page .pkb-dash-main h3 {
    font-size: 16px;
    font-weight: 800;
    color: var(--ec-ink);
    letter-spacing: -0.2px;
    line-height: 1.25;
}

.pkb-account-page .pkb-dash-main h4 {
    font-size: 14px;
    font-weight: 700;
    color: var(--ec-ink-soft);
    margin: 0 0 8px;
}

.pkb-account-page .pkb-dash-main p {
    color: var(--ec-ink-soft);
    line-height: 1.55;
}

/* ═══════════════════════════════════════════════════════════════════════════
   3. En-tête de page unifié — bandeau titre + sous-titre
   Pattern réutilisable : <div class="ec-page-head"><h1>…</h1><p>…</p></div>
   ═══════════════════════════════════════════════════════════════════════════ */
.pkb-account-page .pkb-dash-main .ec-page-head,
.pkb-account-page .pkb-dash-main .pkb-page-head,
.pkb-account-page .pkb-dash-main .pkb-section-title-row {
    margin-bottom: 20px;
}

.pkb-account-page .pkb-dash-main .ec-page-head__sub,
.pkb-account-page .pkb-dash-main .page-subtitle {
    color: var(--ec-mute);
    font-size: 14px;
    line-height: 1.5;
    max-width: 60ch;
    margin: 0;
}

/* ═══════════════════════════════════════════════════════════════════════════
   4. Cartes (cards) — tout bloc qui ressemble à une carte se conforme
   ═══════════════════════════════════════════════════════════════════════════ */
.pkb-account-page .pkb-dash-main .pkb-card,
.pkb-account-page .pkb-dash-main .pkb-section,
.pkb-account-page .pkb-dash-main .pkb-block,
.pkb-account-page .pkb-dash-main .pkb-panel,
.pkb-account-page .pkb-dash-main .pkb-collection__card,
.pkb-account-page .pkb-dash-main .pkb-favoris__card,
.pkb-account-page .pkb-dash-main .pkb-progression__section,
.pkb-account-page .pkb-dash-main .pkb-stats__card {
    background: var(--ec-bg-card);
    border: 1px solid var(--ec-border);
    border-radius: var(--ec-radius-lg);
    box-shadow: var(--ec-shadow-md);
}

/* Subtle hover pour cartes cliquables */
.pkb-account-page .pkb-dash-main a.pkb-card:hover,
.pkb-account-page .pkb-dash-main button.pkb-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--ec-shadow-lg);
    border-color: rgba(255, 90, 60, 0.22);
    transition: transform .16s ease, box-shadow .2s ease, border-color .2s ease;
}

/* ═══════════════════════════════════════════════════════════════════════════
   5. Boutons unifiés — formes courantes des pages compte
   Sans casser .pkb-btn / .ec-btn-primary / etc, on les aligne sur la charte
   ═══════════════════════════════════════════════════════════════════════════ */
.pkb-account-page .pkb-dash-main .ec-btn-primary,
.pkb-account-page .pkb-dash-main .pkb-btn-primary,
.pkb-account-page .pkb-dash-main button.is-primary,
.pkb-account-page .pkb-dash-main a.is-primary,
.pkb-account-page .pkb-dash-main .button-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 18px;
    border-radius: 12px;
    border: 1px solid var(--ec-brand-dark);
    background: linear-gradient(135deg, var(--ec-brand) 0%, var(--ec-brand-dark) 100%);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    transition: transform .14s ease, box-shadow .18s ease;
    min-height: 44px;
    box-shadow: 0 8px 18px rgba(255, 90, 60, 0.28);
}

.pkb-account-page .pkb-dash-main .ec-btn-primary:hover,
.pkb-account-page .pkb-dash-main .pkb-btn-primary:hover,
.pkb-account-page .pkb-dash-main button.is-primary:hover,
.pkb-account-page .pkb-dash-main a.is-primary:hover,
.pkb-account-page .pkb-dash-main .button-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(255, 90, 60, 0.36);
    color: #fff;
}

.pkb-account-page .pkb-dash-main .ec-btn-ghost,
.pkb-account-page .pkb-dash-main .pkb-btn-ghost,
.pkb-account-page .pkb-dash-main button.is-ghost,
.pkb-account-page .pkb-dash-main a.is-ghost,
.pkb-account-page .pkb-dash-main .button-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 18px;
    border-radius: 12px;
    border: 1px solid rgba(0, 0, 0, 0.12);
    background: #fff;
    color: var(--ec-ink);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
    transition: transform .14s ease, box-shadow .18s ease, border-color .18s ease;
    min-height: 44px;
    box-shadow: var(--ec-shadow-sm);
}

.pkb-account-page .pkb-dash-main .ec-btn-ghost:hover,
.pkb-account-page .pkb-dash-main .pkb-btn-ghost:hover,
.pkb-account-page .pkb-dash-main button.is-ghost:hover,
.pkb-account-page .pkb-dash-main a.is-ghost:hover,
.pkb-account-page .pkb-dash-main .button-secondary:hover {
    transform: translateY(-2px);
    border-color: var(--ec-brand);
    color: var(--ec-brand);
    box-shadow: 0 8px 18px rgba(255, 90, 60, 0.16);
}

/* SVG dans les boutons */
.pkb-account-page .pkb-dash-main .ec-btn-primary svg,
.pkb-account-page .pkb-dash-main .ec-btn-ghost svg,
.pkb-account-page .pkb-dash-main .pkb-btn-primary svg,
.pkb-account-page .pkb-dash-main .pkb-btn-ghost svg,
.pkb-account-page .pkb-dash-main button svg.icon,
.pkb-account-page .pkb-dash-main a svg.icon {
    display: block;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

/* Focus visible sur tous les composants interactifs */
.pkb-account-page .pkb-dash-main button:focus-visible,
.pkb-account-page .pkb-dash-main a:focus-visible,
.pkb-account-page .pkb-dash-main [role="button"]:focus-visible {
    outline: 2px solid var(--ec-brand);
    outline-offset: 2px;
    border-radius: 8px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   6. Inputs / selects / textareas — harmonisation
   ═══════════════════════════════════════════════════════════════════════════ */
.pkb-account-page .pkb-dash-main input[type="text"],
.pkb-account-page .pkb-dash-main input[type="email"],
.pkb-account-page .pkb-dash-main input[type="search"],
.pkb-account-page .pkb-dash-main input[type="number"],
.pkb-account-page .pkb-dash-main input[type="tel"],
.pkb-account-page .pkb-dash-main input[type="url"],
.pkb-account-page .pkb-dash-main input[type="date"],
.pkb-account-page .pkb-dash-main input[type="password"],
.pkb-account-page .pkb-dash-main select,
.pkb-account-page .pkb-dash-main textarea {
    width: 100%;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 12px;
    padding: 11px 14px;
    font-size: 14px;
    color: var(--ec-ink);
    line-height: 1.4;
    transition: border-color .15s ease, box-shadow .15s ease;
    font-family: inherit;
    min-height: 44px;
}

.pkb-account-page .pkb-dash-main input:focus,
.pkb-account-page .pkb-dash-main select:focus,
.pkb-account-page .pkb-dash-main textarea:focus {
    outline: none;
    border-color: var(--ec-brand);
    box-shadow: 0 0 0 3px rgba(255, 90, 60, 0.18);
}

.pkb-account-page .pkb-dash-main input::placeholder,
.pkb-account-page .pkb-dash-main textarea::placeholder {
    color: var(--ec-mute);
}

.pkb-account-page .pkb-dash-main label {
    display: block;
    font-size: 12px;
    font-weight: 700;
    color: var(--ec-ink-soft);
    margin-bottom: 6px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   7. Badges / pills
   ═══════════════════════════════════════════════════════════════════════════ */
.pkb-account-page .pkb-dash-main .pkb-badge,
.pkb-account-page .pkb-dash-main .pkb-pill,
.pkb-account-page .pkb-dash-main .badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    background: rgba(255, 90, 60, 0.12);
    color: var(--ec-brand-dark);
    border: 1px solid rgba(255, 90, 60, 0.25);
}

.pkb-account-page .pkb-dash-main .pkb-badge.is-success,
.pkb-account-page .pkb-dash-main .badge.is-success {
    background: rgba(34, 197, 94, 0.14);
    color: #15803d;
    border-color: rgba(34, 197, 94, 0.35);
}

.pkb-account-page .pkb-dash-main .pkb-badge.is-warning {
    background: rgba(245, 158, 11, 0.14);
    color: #b45309;
    border-color: rgba(245, 158, 11, 0.35);
}

.pkb-account-page .pkb-dash-main .pkb-badge.is-info {
    background: rgba(14, 165, 233, 0.14);
    color: #0369a1;
    border-color: rgba(14, 165, 233, 0.35);
}

/* ═══════════════════════════════════════════════════════════════════════════
   8. Empty states / placeholders unifiés
   ═══════════════════════════════════════════════════════════════════════════ */
.pkb-account-page .pkb-dash-main .pkb-empty,
.pkb-account-page .pkb-dash-main .empty-state,
.pkb-account-page .pkb-dash-main .pkb-no-results {
    text-align: center;
    padding: 32px 20px;
    background: var(--ec-bg-card);
    border: 1px dashed rgba(0, 0, 0, 0.12);
    border-radius: var(--ec-radius-lg);
    color: var(--ec-mute);
}

.pkb-account-page .pkb-dash-main .pkb-empty h3,
.pkb-account-page .pkb-dash-main .empty-state h3 {
    color: var(--ec-ink);
    margin-bottom: 6px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   9. Toolbar / barre d'actions (filtre, recherche…)
   ═══════════════════════════════════════════════════════════════════════════ */
.pkb-account-page .pkb-dash-main .pkb-toolbar,
.pkb-account-page .pkb-dash-main .pkb-filters,
.pkb-account-page .pkb-dash-main .pkb-actions-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    padding: 14px 16px;
    background: var(--ec-bg-card);
    border: 1px solid var(--ec-border);
    border-radius: var(--ec-radius-md);
    box-shadow: var(--ec-shadow-sm);
    margin-bottom: 20px;
}

@media (min-width: 600px) {
    .pkb-account-page .pkb-dash-main .pkb-toolbar,
    .pkb-account-page .pkb-dash-main .pkb-filters,
    .pkb-account-page .pkb-dash-main .pkb-actions-bar {
        padding: 16px 22px;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   10. SVG icons — toujours en bloc avec currentColor (jamais d'emoji)
   ═══════════════════════════════════════════════════════════════════════════ */
.pkb-account-page .pkb-dash-main svg {
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
}

/* ═══════════════════════════════════════════════════════════════════════════
   11. Liens internes — couleur brand, soulignement subtil
   ═══════════════════════════════════════════════════════════════════════════ */
.pkb-account-page .pkb-dash-main p a,
.pkb-account-page .pkb-dash-main li a:not([class]),
.pkb-account-page .pkb-dash-main .pkb-link {
    color: var(--ec-brand);
    text-decoration: underline;
    text-decoration-color: rgba(255, 90, 60, 0.35);
    text-underline-offset: 3px;
    font-weight: 600;
}

.pkb-account-page .pkb-dash-main p a:hover,
.pkb-account-page .pkb-dash-main li a:not([class]):hover,
.pkb-account-page .pkb-dash-main .pkb-link:hover {
    text-decoration-color: var(--ec-brand);
}

/* ═══════════════════════════════════════════════════════════════════════════
   12. Tables — listing data
   ═══════════════════════════════════════════════════════════════════════════ */
.pkb-account-page .pkb-dash-main table {
    width: 100%;
    border-collapse: collapse;
    background: var(--ec-bg-card);
    border-radius: var(--ec-radius-md);
    overflow: hidden;
    box-shadow: var(--ec-shadow-sm);
    border: 1px solid var(--ec-border);
}

.pkb-account-page .pkb-dash-main table th {
    background: var(--ec-bg-subtle);
    color: var(--ec-ink-soft);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 12px 14px;
    text-align: left;
    border-bottom: 1px solid var(--ec-border);
}

.pkb-account-page .pkb-dash-main table td {
    padding: 12px 14px;
    border-bottom: 1px solid var(--ec-border-soft);
    color: var(--ec-ink-soft);
    font-size: 14px;
}

.pkb-account-page .pkb-dash-main table tr:last-child td {
    border-bottom: none;
}

/* ═══════════════════════════════════════════════════════════════════════════
   13. Mobile — petits écrans
   ═══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 600px) {
    .pkb-account-page .pkb-dash-main .pkb-toolbar,
    .pkb-account-page .pkb-dash-main .pkb-filters,
    .pkb-account-page .pkb-dash-main .pkb-actions-bar {
        padding: 12px 14px;
        gap: 8px;
    }

    .pkb-account-page .pkb-dash-main .pkb-toolbar > *,
    .pkb-account-page .pkb-dash-main .pkb-filters > *,
    .pkb-account-page .pkb-dash-main .pkb-actions-bar > * {
        flex: 1 1 auto;
    }

    /* Inputs / selects pleine largeur sur mobile dans les toolbars */
    .pkb-account-page .pkb-dash-main .pkb-toolbar input[type="search"],
    .pkb-account-page .pkb-dash-main .pkb-toolbar select {
        flex: 1 1 100%;
    }

    /* Padding interne carte réduit */
    .pkb-account-page .pkb-dash-main .pkb-card,
    .pkb-account-page .pkb-dash-main .pkb-section,
    .pkb-account-page .pkb-dash-main .pkb-block,
    .pkb-account-page .pkb-dash-main .pkb-panel {
        border-radius: var(--ec-radius-md);
    }
}

@media (max-width: 360px) {
    .pkb-account-page .pkb-dash-main {
        padding-inline: 12px;
        padding-block: 16px 32px;
    }

    .pkb-account-page .pkb-dash-main .ec-btn-primary,
    .pkb-account-page .pkb-dash-main .ec-btn-ghost,
    .pkb-account-page .pkb-dash-main .pkb-btn-primary,
    .pkb-account-page .pkb-dash-main .pkb-btn-ghost {
        padding: 10px 14px;
        font-size: 13px;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   14. Sidebar — harmonisation des items + badges
   On respecte la structure existante .pkb-dash-menu*, on aligne les couleurs.
   ═══════════════════════════════════════════════════════════════════════════ */
.pkb-account-page .pkb-dash-menu__link {
    transition: background .15s ease, color .15s ease;
}

.pkb-account-page .pkb-dash-menu__link.is-active {
    color: var(--ec-brand);
}

.pkb-account-page .pkb-dash-menu__badge.is-count {
    background: var(--ec-brand);
    color: #fff;
    font-weight: 800;
}

.pkb-account-page .pkb-dash-menu__badge.is-msg {
    background: var(--ec-info);
}

.pkb-account-page .pkb-dash-menu__icon svg {
    display: block;
}

/* ═══════════════════════════════════════════════════════════════════════════
   15. Page-specific harmonisation — ajustements ponctuels
   Pas de réécriture, juste les divergences les plus criantes vs référence.
   ═══════════════════════════════════════════════════════════════════════════ */

/* Préférences — onglets : aligner sur la charte */
body.page-mes-preferences .pkb-dash-main .ec-prefs__tabs button,
body.page-mes-preferences .pkb-dash-main [class*="prefs__tab"] {
    border-radius: 999px;
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 700;
    transition: background .15s ease, color .15s ease;
}

body.page-mes-preferences .pkb-dash-main .ec-prefs__tabs button.is-active,
body.page-mes-preferences .pkb-dash-main [class*="prefs__tab"].is-active {
    background: var(--ec-brand);
    color: #fff;
}

/* Messagerie — bandeau toolbar + filtres */
body.page-messagerie .pkb-dash-main .pkbe-toolbar,
body.page-messagerie .pkb-dash-main .idd-msg-toolbar {
    background: var(--ec-bg-card);
    border: 1px solid var(--ec-border);
    border-radius: var(--ec-radius-md);
    box-shadow: var(--ec-shadow-sm);
    padding: 14px 16px;
}

/* Notifications — items dans la liste */
body.page-notifications .pkb-dash-main .ec-notif-item,
body.page-notifications .pkb-dash-main .pb-notif-item {
    background: var(--ec-bg-card);
    border: 1px solid var(--ec-border);
    border-radius: var(--ec-radius-md);
    margin-bottom: 10px;
    padding: 14px 16px;
    transition: border-color .15s ease, box-shadow .15s ease;
}

body.page-notifications .pkb-dash-main .ec-notif-item:hover,
body.page-notifications .pkb-dash-main .pb-notif-item:hover {
    border-color: rgba(255, 90, 60, 0.22);
    box-shadow: var(--ec-shadow-sm);
}

/* Collection / Wishlist — grilles de cards */
body.page-mes-collections-cartes-pokemon .pkb-dash-main .pkb-collection__grid,
body.page-mes-cartes-suivies .pkb-dash-main .pkb-favoris__grid {
    gap: 14px;
}

@media (min-width: 600px) {
    body.page-mes-collections-cartes-pokemon .pkb-dash-main .pkb-collection__grid,
    body.page-mes-cartes-suivies .pkb-dash-main .pkb-favoris__grid {
        gap: 18px;
    }
}

/* Recherches proches — carte intégrée */
body.page-recherches-proches .pkb-dash-main #map,
body.page-recherches-proches .pkb-dash-main .leaflet-container {
    border-radius: var(--ec-radius-md);
    border: 1px solid var(--ec-border);
    box-shadow: var(--ec-shadow-sm);
}

/* Progression — barre XP */
body.page-ma-progression .pkb-dash-main .pkb-progression__xp-bar,
body.page-ma-progression .pkb-dash-main [class*="xp-bar"] {
    background: var(--ec-bg-subtle);
    border-radius: 999px;
    height: 12px;
    overflow: hidden;
}

body.page-ma-progression .pkb-dash-main .pkb-progression__xp-bar > *,
body.page-ma-progression .pkb-dash-main [class*="xp-fill"] {
    background: linear-gradient(90deg, var(--ec-brand) 0%, var(--ec-gold) 100%);
}

/* Stats — cartes chiffrées */
body.page-mes-statistiques .pkb-dash-main .pkb-stats__value,
body.page-mes-statistiques .pkb-dash-main [class*="stat-value"] {
    font-size: clamp(26px, 6vw, 36px);
    font-weight: 800;
    color: var(--ec-ink);
    line-height: 1;
    letter-spacing: -0.6px;
}

/* Rendez-vous — items liste */
body.page-mes-rendez-vous .pkb-dash-main .pkb-rdv__item,
body.page-mes-rendez-vous .pkb-dash-main [class*="rdv-card"] {
    background: var(--ec-bg-card);
    border: 1px solid var(--ec-border);
    border-radius: var(--ec-radius-md);
    padding: 14px 16px;
    box-shadow: var(--ec-shadow-sm);
}

/* ═══════════════════════════════════════════════════════════════════════════
   NOTE — Consolidation 2026-05-21
   Les sections 16 (Card Collectionneur) et 17 (État LOCKED) ont été
   déplacées dans assets/css/card-collectionneur.css (sections 12 et 13).
   Source de vérité unique pour le composant `.pkb-card--collectionneur`.
   ═══════════════════════════════════════════════════════════════════════════ */

