/* ============================================================
   22-PAGE-COMMON — Style unifié pour toutes les pages
   Dark Academia Arcanique × MMORPG Cinématique
   Calqué sur histoire.php — variables from 01-tokens.css
   ============================================================ */

/* ═══════════════════════════════════════════════════════════════
   LAYOUT WRAPPERS
   ═══════════════════════════════════════════════════════════════ */

/* Wrapper 2 colonnes (nav latérale + contenu) */
.pg-wrap{
  display:flex;flex-direction:column;gap:.3rem;max-width:100%;margin:0 auto;
  height:auto;overflow:visible;padding:.2rem;
}

/* Contenu pleine largeur (sans nav latérale) */
.pg-full{
  max-width:100%;margin:0 .1rem;
  height:auto;min-height:auto;overflow:visible;
  scrollbar-width:thin;scrollbar-color:rgba(212,168,40,.15) transparent;
  padding:.3rem;
  background:linear-gradient(180deg,rgba(14,12,34,.95) 0%,rgba(10,8,26,.98) 100%);
  border:1px solid rgba(30,26,53,.8);
  border-radius:6px;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  box-shadow:0 8px 40px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.03);
}
.pg-full::-webkit-scrollbar{width:6px;}
.pg-full::-webkit-scrollbar-track{background:transparent;}
.pg-full::-webkit-scrollbar-thumb{background:rgba(212,168,40,.15);border-radius:3px;}
.pg-full::-webkit-scrollbar-thumb:hover{background:rgba(212,168,40,.3);}

/* Contenu principal (dans pg-wrap) */
.pg-content{
  flex:1;min-height:0;height:auto;overflow:visible;
  scrollbar-width:thin;scrollbar-color:rgba(212,168,40,.15) transparent;
  padding:.4rem;position:relative;
  background:linear-gradient(180deg,rgba(14,12,34,.95) 0%,rgba(10,8,26,.98) 100%);
  border:1px solid rgba(30,26,53,.8);border-radius:12px;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  box-shadow:0 8px 40px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.03);
}
.pg-content::-webkit-scrollbar{width:6px;}
.pg-content::-webkit-scrollbar-track{background:transparent;}
.pg-content::-webkit-scrollbar-thumb{background:rgba(212,168,40,.15);border-radius:3px;}

/* ═══════════════════════════════════════════════════════════════
   NAV LATÉRALE
   ═══════════════════════════════════════════════════════════════ */

.pg-nav{
  display:flex;flex-direction:row;gap:.25rem;
  min-width:0;max-width:none;padding:.3rem;
  overflow-x:auto;scrollbar-width:thin;scrollbar-color:rgba(212,168,40,.1) transparent;
  -webkit-overflow-scrolling:touch;
  background:linear-gradient(180deg,rgba(14,12,34,.95) 0%,rgba(10,8,26,.98) 100%);
  border:1px solid rgba(30,26,53,.8);border-radius:12px;flex-shrink:0;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  box-shadow:0 8px 40px rgba(0,0,0,.3);
}
.pg-nav-label{
  font-family:'Cinzel',serif;font-size:.58rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.1em;color:rgba(212,168,40,.35);
  padding:.6rem .4rem .2rem;border-bottom:1px solid rgba(212,168,40,.06);
  margin-top:.2rem;
  display:none;
}
.pg-nav-item{
  display:flex;align-items:center;gap:.45rem;
  padding:.5rem .65rem;border-radius:8px;
  background:transparent;border:1px solid transparent;
  color:rgba(200,184,156,.5);font-size:.76rem;
  font-family:'Cinzel',serif;font-weight:700;
  cursor:pointer;transition:all .25s ease;
  text-decoration:none;white-space:nowrap;
  position:relative;overflow:hidden;
}
.pg-nav-item i{font-size:.85rem;opacity:.7;transition:opacity .25s;}
.pg-nav-item:hover{
  background:rgba(212,168,40,.06);color:#d4a828;
  border-color:rgba(212,168,40,.30);
}
.pg-nav-item:hover i{opacity:1;}
.pg-nav-item.active{
  background:linear-gradient(135deg,rgba(212,168,40,.12) 0%,rgba(212,168,40,.06) 100%);
  color:#d4a828;border-color:rgba(212,168,40,.2);
  box-shadow:0 0 12px rgba(212,168,40,.06);
}
.pg-nav-item.active::before{
  content:'';position:absolute;left:0;top:20%;bottom:20%;width:2px;
  background:linear-gradient(180deg,transparent,#d4a828,transparent);border-radius:1px;
}

/* ═══════════════════════════════════════════════════════════════
   TITRES
   ═══════════════════════════════════════════════════════════════ */

.pg-title{
  font-family:'Cinzel',serif;font-size:.75rem;font-weight:700;
  color:#d4a828;padding:.5rem .7rem;
  border-bottom:2px solid rgba(212,168,40,.1);margin-bottom:.6rem;
  display:flex;align-items:center;gap:.45rem;
  text-shadow:0 0 20px rgba(212,168,40,.15);
  position:relative;
}
.pg-title::after{
  content:'';position:absolute;bottom:-2px;left:0;width:60px;height:2px;
  background:linear-gradient(90deg,#d4a828,transparent);
}
.pg-title i{opacity:.6;font-size:.8rem;}

.pg-subtitle{
  font-family:'Cinzel',serif;font-size:.72rem;font-weight:700;
  color:rgba(212,168,40,.7);padding:.35rem 0;margin:.4rem 0 .3rem;
  display:flex;align-items:center;gap:.35rem;
  letter-spacing:.03em;
}
.pg-subtitle i{opacity:.5;font-size:.65rem;}

/* ═══════════════════════════════════════════════════════════════
   CARDS
   ═══════════════════════════════════════════════════════════════ */

.pg-card{
  background:linear-gradient(135deg,rgba(20,18,42,.9) 0%,rgba(16,14,36,.95) 100%);
  border:1px solid rgba(30,26,53,.8);border-radius:8px;
  padding:.4rem .5rem;margin-bottom:.5rem;
  transition:all .25s ease;position:relative;overflow:hidden;
}
.pg-card::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(212,168,40,.03) 0%,transparent 50%);
  pointer-events:none;opacity:0;transition:opacity .25s;
}
.pg-card:hover{border-color:rgba(212,168,40,.18);}
.pg-card:hover::before{opacity:1;}

/* Card clickable */
a.pg-card,a.pg-card:visited{text-decoration:none;color:inherit;display:block;}
a.pg-card:hover{
  border-color:rgba(212,168,40,.3);
  box-shadow:0 6px 24px rgba(0,0,0,.35),0 0 12px rgba(212,168,40,.04);
  transform:translateY(-1px);
}

/* Card avec bordure colorée gauche */
.pg-card-accent{border-left:3px solid rgba(212,168,40,.3);}

/* Card highlight (sélectionnée / en cours) */
.pg-card-active{
  border-color:rgba(212,168,40,.3) !important;
  background:linear-gradient(135deg,rgba(20,18,42,.95) 0%,rgba(212,168,40,.04) 100%) !important;
  box-shadow:0 0 20px rgba(212,168,40,.06);
}

/* ═══════════════════════════════════════════════════════════════
   ROW CARD (icône + contenu + action droite)
   ═══════════════════════════════════════════════════════════════ */

.pg-row{
  background:linear-gradient(135deg,rgba(20,18,42,.9) 0%,rgba(16,14,36,.95) 100%);
  border:1px solid rgba(30,26,53,.8);border-radius:8px;
  padding:.45rem .5rem;margin-bottom:.4rem;
  display:flex;align-items:center;gap:.4rem;
  transition:all .25s ease;
}
.pg-row:hover{border-color:rgba(212,168,40,.2);transform:translateX(2px);}
a.pg-row,a.pg-row:visited{text-decoration:none;color:inherit;}
.pg-row-icon{
  width:32px;height:32px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  font-size:.9rem;flex-shrink:0;color:#fff;
  position:relative;overflow:hidden;
}
.pg-row-icon::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.1) 0%,transparent 60%);
  border-radius:inherit;
}
.pg-row-body{flex:1;min-width:0;}
.pg-row-title{font-family:'Cinzel',serif;font-size:.8rem;font-weight:700;color:#e8dcc8;line-height:1.3;}
.pg-row-sub{font-size:.62rem;color:rgba(200,184,156,.45);margin-top:.1rem;}
.pg-row-right{flex-shrink:0;text-align:right;}

/* ═══════════════════════════════════════════════════════════════
   STATS
   ═══════════════════════════════════════════════════════════════ */

.pg-stats{display:flex;gap:.5rem;margin-bottom:.7rem;flex-wrap:wrap;flex-direction:column;}
.pg-stat{
  background:linear-gradient(180deg,rgba(20,18,42,.9) 0%,rgba(14,12,34,.95) 100%);
  border:1px solid rgba(30,26,53,.8);border-radius:8px;
  padding:.3rem .4rem;text-align:center;flex:1;min-width:55px;
  transition:border-color .25s;
}
.pg-stat:hover{border-color:rgba(212,168,40,.2);}
.pg-stat-n{
  font-family:'Cinzel',serif;font-size:.9rem;font-weight:700;
  color:#d4a828;line-height:1.2;
  text-shadow:0 0 15px rgba(212,168,40,.15);
}
.pg-stat-l{font-size:.58rem;color:rgba(138,122,96,.7);text-transform:uppercase;letter-spacing:.05em;margin-top:.1rem;}

/* ═══════════════════════════════════════════════════════════════
   BARRES DE PROGRESSION
   ═══════════════════════════════════════════════════════════════ */

.pg-bar{
  height:6px;background:rgba(255,255,255,.04);border-radius:4px;
  overflow:hidden;margin:.3rem 0;position:relative;
}
.pg-bar::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.02),transparent);
}
.pg-bar-fill{
  height:100%;border-radius:4px;transition:width .8s cubic-bezier(.23,1,.32,1);
  position:relative;
}
.pg-bar-fill::after{
  content:'';position:absolute;right:0;top:0;bottom:0;width:20px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.15));
  border-radius:0 4px 4px 0;
}

/* ═══════════════════════════════════════════════════════════════
   BADGES
   ═══════════════════════════════════════════════════════════════ */

.pg-badge{
  font-size:.52rem;font-weight:800;text-transform:uppercase;
  padding:2px 9px;border-radius:50px;display:inline-block;
  letter-spacing:.03em;border:1px solid transparent;
}
.pg-badge-gold{background:rgba(212,168,40,.1);color:#d4a828;border-color:rgba(212,168,40,.2);}
.pg-badge-red{background:rgba(231,76,60,.1);color:#ff6b6b;border-color:rgba(231,76,60,.2);}
.pg-badge-green{background:rgba(46,204,113,.1);color:var(--color-success);border-color:rgba(46,204,113,.2);}
.pg-badge-blue{background:rgba(74,144,217,.1);color:#4a90d9;border-color:rgba(74,144,217,.2);}
.pg-badge-purple{background:rgba(168,85,247,.1);color:#a855f7;border-color:rgba(168,85,247,.2);}

/* ═══════════════════════════════════════════════════════════════
   BOUTONS
   ═══════════════════════════════════════════════════════════════ */

.pg-btn{
  display:inline-flex;align-items:center;gap:.35rem;
  padding:.3rem .6rem;font-family:'Cinzel',serif;font-size:.6rem;font-weight:700;
  border-radius:8px;cursor:pointer;transition:all .3s ease;
  text-decoration:none;
  border:1px solid rgba(212,168,40,.3);
  background:linear-gradient(135deg,rgba(212,168,40,.1) 0%,rgba(212,168,40,.04) 100%);
  color:#f0d878;text-transform:uppercase;letter-spacing:.04em;
  position:relative;overflow:hidden;
}
.pg-btn::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(212,168,40,.30) 0%,transparent 50%);
  opacity:0;transition:opacity .3s;
}
.pg-btn:hover{
  background:linear-gradient(135deg,rgba(212,168,40,.18) 0%,rgba(212,168,40,.30) 100%);
  border-color:rgba(212,168,40,.55);color:#f0d878;
  box-shadow:0 4px 16px rgba(212,168,40,.12),0 0 8px rgba(212,168,40,.06);
  transform:translateY(-1px);
}
.pg-btn:hover::before{opacity:1;}
.pg-btn:active{transform:translateY(0);box-shadow:none;}

.pg-btn-red{border-color:rgba(231,76,60,.3);background:linear-gradient(135deg,rgba(231,76,60,.1) 0%,rgba(231,76,60,.04) 100%);color:#ff6b6b;}
.pg-btn-red:hover{background:linear-gradient(135deg,rgba(231,76,60,.18) 0%,rgba(231,76,60,.08) 100%);border-color:rgba(231,76,60,.55);box-shadow:0 4px 16px rgba(231,76,60,.12);}

.pg-btn-green{border-color:rgba(46,204,113,.3);background:linear-gradient(135deg,rgba(46,204,113,.1) 0%,rgba(46,204,113,.04) 100%);color:var(--color-success);}
.pg-btn-green:hover{background:linear-gradient(135deg,rgba(46,204,113,.18) 0%,rgba(46,204,113,.08) 100%);border-color:rgba(46,204,113,.55);box-shadow:0 4px 16px rgba(46,204,113,.12);}

.pg-btn-blue{border-color:rgba(74,144,217,.3);background:linear-gradient(135deg,rgba(74,144,217,.1) 0%,rgba(74,144,217,.04) 100%);color:#4a90d9;}
.pg-btn-blue:hover{background:linear-gradient(135deg,rgba(74,144,217,.18) 0%,rgba(74,144,217,.08) 100%);border-color:rgba(74,144,217,.55);box-shadow:0 4px 16px rgba(74,144,217,.12);}

.pg-btn-lg{padding:.6rem 1.2rem;font-size:.78rem;border-radius:10px;}
.pg-btn-sm{padding:.3rem .6rem;font-size:.58rem;border-radius:6px;}

/* Bouton plein gold (CTA principal) */
.pg-btn-gold{
  background:linear-gradient(135deg,#d4a828 0%,#e8c84c 40%,#dbb540 60%,#d4a828 100%);
  background-size:300% 100%;color:#0a0820;border:none;
  box-shadow:0 4px 20px rgba(212,168,40,.25);
}
.pg-btn-gold:hover{
  background-position:100% 0;color:#0a0820;
  box-shadow:0 6px 30px rgba(212,168,40,.4);
}

/* ═══════════════════════════════════════════════════════════════
   ZONE VIDE
   ═══════════════════════════════════════════════════════════════ */

.pg-empty{
  text-align:center;padding:2.5rem 1.5rem;
  color:rgba(74,61,32,.6);font-size:.82rem;
  background:linear-gradient(135deg,rgba(20,18,42,.6) 0%,rgba(14,12,34,.7) 100%);
  border-radius:10px;border:1px dashed rgba(30,26,53,.6);
}
.pg-empty i{font-size:2.8rem;color:rgba(212,168,40,.1);display:block;margin-bottom:.6rem;}
.pg-empty a{color:#d4a828;font-size:.7rem;text-decoration:none;transition:color .2s;}
.pg-empty a:hover{color:#f0d878;}

/* ═══════════════════════════════════════════════════════════════
   TABS (ONGLETS)
   ═══════════════════════════════════════════════════════════════ */

.pg-tabs{display:flex;gap:.15rem;margin-bottom:.6rem;flex-wrap:wrap;padding-bottom:.4rem;border-bottom:1px solid rgba(30,26,53,.5);}
.pg-tab{
  display:flex;align-items:center;gap:.3rem;
  padding:.25rem .4rem;border-radius:8px;
  background:transparent;border:1px solid transparent;
  color:rgba(200,184,156,.45);font-size:.58rem;
  font-family:'Cinzel',serif;font-weight:700;
  cursor:pointer;transition:all .25s ease;text-decoration:none;
  position:relative;
}
.pg-tab i{font-size:.7rem;opacity:.6;transition:opacity .25s;}
.pg-tab:hover{background:rgba(212,168,40,.06);color:#d4a828;}
.pg-tab:hover i{opacity:1;}
.pg-tab.active{
  background:linear-gradient(135deg,rgba(212,168,40,.12) 0%,rgba(212,168,40,.06) 100%);
  color:#d4a828;border-color:rgba(212,168,40,.2);
  box-shadow:0 0 8px rgba(212,168,40,.05);
}
.pg-tab.active i{opacity:1;}

/* ═══════════════════════════════════════════════════════════════
   TABLEAUX
   ═══════════════════════════════════════════════════════════════ */

.pg-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.72rem;}
.pg-table th{
  font-family:'Cinzel',serif;font-size:.58rem;font-weight:700;
  color:rgba(212,168,40,.6);text-transform:uppercase;letter-spacing:.06em;
  padding:.5rem .6rem;border-bottom:2px solid rgba(212,168,40,.1);text-align:left;
  background:rgba(14,12,34,.5);
}
.pg-table th:first-child{border-radius:8px 0 0 0;}
.pg-table th:last-child{border-radius:0 8px 0 0;}
.pg-table td{padding:.45rem .6rem;border-bottom:1px solid rgba(30,26,53,.6);color:#c8b89c;transition:background .2s;}
.pg-table tr:hover td{background:rgba(212,168,40,.03);}
.pg-table tr:last-child td{border-bottom:none;}

/* ═══════════════════════════════════════════════════════════════
   GRILLES
   ═══════════════════════════════════════════════════════════════ */

.pg-grid{display:grid;grid-template-columns:1fr;gap:.5rem;}
.pg-grid-sm{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;}
.pg-grid-lg{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.5rem;}

/* ═══════════════════════════════════════════════════════════════
   SÉPARATEURS & LABELS
   ═══════════════════════════════════════════════════════════════ */

.pg-sep{height:1px;background:linear-gradient(90deg,transparent,rgba(212,168,40,.1),transparent);margin:.6rem 0;}

.pg-label{
  font-family:'Cinzel',serif;font-size:.58rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.1em;
  color:rgba(212,168,40,.35);
}
.pg-text{font-size:.8rem;color:#c8b89c;line-height:1.7;}
.pg-text-gold{color:#d4a828;}
.pg-text-muted{color:rgba(138,122,96,.6);font-size:.72rem;}

/* ═══════════════════════════════════════════════════════════════
   PANELS & MODALS
   ═══════════════════════════════════════════════════════════════ */

.pg-panel{display:none;animation:pgFadeIn .3s ease;}
.pg-panel.active{display:block;}
@keyframes pgFadeIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}

/* ═══════════════════════════════════════════════════════════════
   QUICK ACTIONS
   ═══════════════════════════════════════════════════════════════ */

.pg-action{
  background:linear-gradient(135deg,rgba(20,18,42,.9) 0%,rgba(16,14,36,.95) 100%);
  border:1px solid rgba(30,26,53,.8);border-radius:10px;
  padding:.55rem .8rem;margin-bottom:.4rem;
  display:flex;align-items:center;gap:.6rem;
  text-decoration:none;transition:all .25s ease;
  color:#c8b89c;font-size:.82rem;
}
.pg-action:hover{
  border-color:rgba(212,168,40,.25);color:#d4a828;
  transform:translateX(3px);
  box-shadow:0 4px 16px rgba(0,0,0,.2);
}
.pg-action-icon{
  width:38px;height:38px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  font-size:1rem;flex-shrink:0;color:#fff;
  position:relative;overflow:hidden;
}
.pg-action-icon::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.12) 0%,transparent 60%);
  border-radius:inherit;
}

/* ═══════════════════════════════════════════════════════════════
   ALERTES / FLASH MESSAGES
   ═══════════════════════════════════════════════════════════════ */

.pg-alert{
  background:linear-gradient(135deg,rgba(212,168,40,.30) 0%,rgba(212,168,40,.03) 100%);
  border:1px solid rgba(212,168,40,.2);border-radius:10px;
  padding:.55rem .9rem;margin-bottom:.6rem;font-size:.76rem;color:#d4a828;
  display:flex;align-items:center;gap:.45rem;
  box-shadow:0 2px 12px rgba(0,0,0,.15);
}
.pg-alert i{font-size:.85rem;opacity:.7;}
.pg-alert-error{
  background:linear-gradient(135deg,rgba(231,76,60,.1) 0%,rgba(231,76,60,.03) 100%);
  border-color:rgba(231,76,60,.25);color:#ff6b6b;
}
.pg-alert-success{
  background:linear-gradient(135deg,rgba(46,204,113,.1) 0%,rgba(46,204,113,.03) 100%);
  border-color:rgba(46,204,113,.25);color:var(--color-success);
}

/* ═══════════════════════════════════════════════════════════════
   INPUTS & FORMS (dans le contexte pg-*)
   ═══════════════════════════════════════════════════════════════ */

.pg-input{
  width:100%;padding:.55rem .85rem;font-size:.82rem;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(30,26,53,.8);color:#e8dcc0;
  border-radius:8px;transition:all .25s ease;
  font-family:'EB Garamond',Georgia,serif;
}
.pg-input:focus{
  background:rgba(255,255,255,.06);
  border-color:rgba(212,168,40,.4);
  box-shadow:0 0 0 3px rgba(212,168,40,.30);outline:none;
}
.pg-input::placeholder{color:rgba(212,168,40,.25);font-style:italic;}

.pg-select{
  width:100%;padding:.55rem .85rem;font-size:.82rem;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(30,26,53,.8);color:#e8dcc0;
  border-radius:8px;cursor:pointer;transition:all .25s;
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23c9a84c' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .8rem center;background-size:10px;
}
.pg-select:focus{border-color:rgba(212,168,40,.4);box-shadow:0 0 0 3px rgba(212,168,40,.30);outline:none;}

.pg-label-form{
  color:rgba(212,168,40,.75);font-family:'Cinzel',serif;
  font-size:.72rem;font-weight:600;margin-bottom:.2rem;display:block;
}

/* ═══════════════════════════════════════════════════════════════
   TOOLTIPS
   ═══════════════════════════════════════════════════════════════ */

.pg-tooltip{
  position:absolute;z-index:100;
  background:linear-gradient(135deg,rgba(10,8,24,.97) 0%,rgba(14,12,34,.98) 100%);
  border:1px solid rgba(212,168,40,.15);border-radius:10px;
  padding:.5rem .7rem;min-width:140px;
  box-shadow:0 8px 32px rgba(0,0,0,.6),0 0 1px rgba(212,168,40,.2);
  pointer-events:none;text-align:left;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}

/* ═══════════════════════════════════════════════════════════════
   UTILITAIRES
   ═══════════════════════════════════════════════════════════════ */

.pg-flex{display:flex;align-items:center;}
.pg-flex-between{display:flex;align-items:center;justify-content:space-between;}
.pg-flex-col{display:flex;flex-direction:column;}
.pg-gap-xs{gap:.2rem;}
.pg-gap-sm{gap:.4rem;}
.pg-gap-md{gap:.6rem;}
.pg-gap-lg{gap:1rem;}
.pg-mt-sm{margin-top:.3rem;}
.pg-mt-md{margin-top:.6rem;}
.pg-mb-sm{margin-bottom:.3rem;}
.pg-mb-md{margin-bottom:.6rem;}

/* Texte tronqué */
.pg-truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* Scrollbar custom pour tout élément */
.pg-scroll{overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(212,168,40,.15) transparent;}
.pg-scroll::-webkit-scrollbar{width:5px;}
.pg-scroll::-webkit-scrollbar-thumb{background:rgba(212,168,40,.15);border-radius:3px;}

/* ═══════════════════════════════════════════════════════════════
   ANIMATIONS
   ═══════════════════════════════════════════════════════════════ */

@keyframes pgPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(212,168,40,.3);}
  50%{box-shadow:0 0 0 6px rgba(212,168,40,0);}
}
@keyframes pgShimmer{
  0%{background-position:-200% 0;}
  100%{background-position:200% 0;}
}
@keyframes pgSlideUp{
  from{opacity:0;transform:translateY(12px);}
  to{opacity:1;transform:translateY(0);}
}
.pg-pulse{animation:pgPulse 2s infinite;}
.pg-animate-in{animation:pgSlideUp .4s ease both;}

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════════════ */

/* ── Responsive — Mobile-first ── */

/* Small tablet (>= 501px) */
@media(min-width:501px){
  .pg-full{padding:.4rem;border-radius:8px;margin:0 .1rem;}
  .pg-grid{grid-template-columns:1fr 1fr;}
  .pg-grid-sm{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));}
  .pg-card{padding:.45rem .55rem;}
  .pg-btn{padding:.45rem .9rem;font-size:.68rem;}
  .pg-stat{min-width:75px;padding:.5rem .8rem;}
  .pg-stat-n{font-size:1.15rem;}
  .pg-tabs{gap:.3rem;}
  .pg-tab{padding:.4rem .75rem;font-size:.7rem;}
}

/* Tablet (>= 768px) */
@media(min-width:768px){
  .pg-wrap{padding:.3rem;}
  .pg-full{padding:.5rem;border-radius:10px;margin:0 .2rem;}
  .pg-content{padding:.5rem;}
  .pg-stats{flex-direction:row;}
  .pg-title{font-size:.82rem;padding:.4rem .5rem;}
  .pg-card{padding:.7rem .9rem;border-radius:10px;}
  .pg-row{padding:.5rem .6rem;gap:.5rem;border-radius:10px;}
  .pg-row-icon{width:36px;height:36px;font-size:1rem;}
  .pg-grid-lg{grid-template-columns:1fr;}
}

/* Desktop (>= 992px) */
@media(min-width:992px){
  .pg-wrap{flex-direction:row;gap:1rem;max-width:1100px;height:calc(100vh - 120px);overflow:hidden;padding:.3rem 0;}
  .pg-nav{flex-direction:column;min-width:200px;max-width:220px;padding:.6rem;overflow-y:auto;overflow-x:visible;-webkit-overflow-scrolling:auto;}
  .pg-nav-label{display:block;}
  .pg-full{max-width:1100px;height:calc(100vh - 120px);overflow-y:auto;padding:.8rem;border-radius:12px;margin:0 auto;}
  .pg-content{height:auto;overflow-y:auto;padding:.8rem;}
  .pg-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));}
  .pg-grid-lg{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));}
  .pg-title{font-size:.88rem;padding:.5rem .7rem;}
  .pg-row{padding:.65rem .8rem;gap:.7rem;border-radius:10px;}
  .pg-row-icon{width:44px;height:44px;font-size:1.15rem;}
}

/* ── Composants HP unifies (alias) ── */
.hp-input { /* Alias unifie — utiliser a la place de .input-dark / .pg-input */
  width:100%;padding:.55rem .85rem;font-size:.88rem;
  background:var(--bg-glass);
  border:1px solid var(--border-subtle);color:var(--text-parchment);
  border-radius:var(--r-sm);transition:all var(--dur-base) ease;
  font-family:var(--font-body);
}
.hp-input:focus{
  background:var(--bg-glass-hover);
  border-color:var(--border-mid);
  box-shadow:0 0 0 3px var(--gold-glow-sm);outline:none;
}
.hp-input::placeholder{color:var(--text-faint);font-style:italic;}

.hp-select { /* Alias pour selects */
  width:100%;padding:.55rem .85rem;font-size:.88rem;
  background:var(--bg-glass);
  border:1px solid var(--border-subtle);color:var(--text-parchment);
  border-radius:var(--r-sm);cursor:pointer;transition:all var(--dur-base);
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23c9a84c' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .8rem center;background-size:10px;
  font-family:var(--font-body);
}
.hp-select:focus{border-color:var(--border-mid);box-shadow:0 0 0 3px var(--gold-glow-sm);outline:none;}

.hp-btn { /* Bouton magique gold */
  display:inline-flex;align-items:center;justify-content:center;gap:.3rem;
  padding:.5rem 1.2rem;border-radius:var(--r-sm);border:1px solid var(--border-mid);
  font-family:var(--font-title);font-size:.82rem;font-weight:700;cursor:pointer;
  transition:all var(--dur-base) var(--ease-smooth);text-decoration:none;letter-spacing:.03em;
  background:linear-gradient(135deg,var(--gold-true),var(--gold-dark));color:var(--bg-void);
}
.hp-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--gold-pale),var(--gold-true));transform:translateY(-2px);box-shadow:var(--shadow-glow-gold);}
.hp-btn:disabled{opacity:.35;cursor:not-allowed;transform:none !important;}
.hp-btn--outline{background:transparent;border-color:var(--border-mid);color:var(--text-gold);}
.hp-btn--outline:hover:not(:disabled){background:var(--bg-glass-hover);border-color:var(--gold-true);}
.hp-btn--danger{background:linear-gradient(135deg,var(--color-error),#c0392b);border-color:var(--color-error);color:#fff;}

.hp-card { /* Carte standard */
  background:var(--bg-glass);border:1px solid var(--border-subtle);
  border-radius:var(--r-md);padding:var(--sp-md);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  transition:all var(--dur-base);
}
.hp-card:hover{border-color:var(--border-mid);}

.hp-badge { /* Badge rareté/statut */
  display:inline-block;padding:2px 8px;border-radius:var(--r-pill);
  font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
}

.hp-bar { /* Barre de progression */
  height:6px;background:rgba(0,0,0,.3);border-radius:var(--r-xs);overflow:hidden;
}
.hp-bar-fill{height:100%;border-radius:var(--r-xs);transition:width .6s var(--ease-smooth);}

/* ── Accessibilite : respect prefers-reduced-motion ── */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* ═══════════════════════════════════════════════════════════════
   BADGE GALLIONS — Affiché dans les blocs RP PNJ
   ═══════════════════════════════════════════════════════════════ */
.rp-gallions-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 12px;
    background: linear-gradient(135deg, rgba(212,168,40,.12), rgba(139,90,30,.08));
    border: 1px solid rgba(212,168,40,.25);
    border-radius: 20px;
    font-family: 'Cinzel', serif;
    font-size: .78rem;
    font-weight: 800;
    color: #8b6a1e;
    white-space: nowrap;
    flex-shrink: 0;
    transition: all .25s;
    box-shadow: 0 1px 4px rgba(212,168,40,.1);
}
.rp-gallions-badge i {
    color: #d4a828;
    font-size: .72rem;
    filter: drop-shadow(0 0 2px rgba(212,168,40,.4));
}
.rp-gallions-badge:hover {
    background: linear-gradient(135deg, rgba(212,168,40,.18), rgba(139,90,30,.12));
    border-color: rgba(212,168,40,.4);
    box-shadow: 0 2px 8px rgba(212,168,40,.15);
}
