:root {
  --dk: #0d1117; --panel: #161b24; --card: #1c2333; --card2: #1e2840; --card3: #202737;
  --border: rgba(255,255,255,0.07); --border2: rgba(255,255,255,0.13); --border3: rgba(255,255,255,0);
  --accent: #c8922a; --accent2: #e0a83a; --accent3: #e00202;
  --green: #3fb950; --green2: #80b93f; --blue: #58a6ff;
  --red: #f85149; --orange: rgb(255,174,0); --purple: #8957e5;
  --muted: #7d8590; --sub: #8b949e; --text: #e6edf3; --text2: #cdd9e5;
  --font: 'Barlow', sans-serif; --font-cond: 'Barlow Condensed', sans-serif;
  --topbar-h: 54px; --max-w: 1700px;
}

dd {
  margin-inline-start: 10px;
  margin-inline-end: 10px;
}

/* ==========================================================================
   BARRE DE DÉFILEMENT (SCROLLBAR) SUR-MESURE & ZÉRO DÉCALAGE DE PAGE
   ========================================================================== */
html {
  overflow-y: scroll;
  scrollbar-gutter: stable;
  scrollbar-color: rgba(255, 255, 255, 0.2) var(--dk);
  scrollbar-width: thin;
  height: 100%;
}

::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

::-webkit-scrollbar-track {
  background: var(--dk);
  border-left: 1px solid var(--border);
}

::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.16);
  border-radius: 5px;
  border: 2px solid var(--dk);
  transition: background 0.2s ease;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--accent) !important;
}

::-webkit-scrollbar-thumb:active {
  background: var(--accent2) !important;
}

::-webkit-scrollbar-corner {
  background: var(--dk);
}

body {
  font-family: var(--font);
  background: var(--dk);
  color: var(--text);
  font-size: 14px;
  line-height: 1.6;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  margin: 0;
}

#wrap {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 0 auto !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
  border: none !important;
  box-sizing: border-box !important;
}

#page-body {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 0 auto !important;
  width: 100% !important;
}

/* ─── RESET GLOBAL DES LIENS ─── */
a {
  color: inherit;
  text-decoration: none;
  transition: color 0.15s, background 0.15s;
}

.post-text a,
.agreement a {
  color: var(--blue) !important;
  text-decoration: underline;
}
.post-text a:hover,
.agreement a:hover {
  color: var(--accent2) !important;
}
.post-text a:visited,
.agreement a:visited {
  color: #4182c4 !important;
}

/* ─── TOPBAR ─── */
.topbar {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(13, 17, 23, 0.55);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border);
  height: var(--topbar-h);
  display: flex;
  align-items: center;
  padding: 0 2rem;
  gap: 2rem;
}
.logo { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.logo-link { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.logo-badge { background: var(--accent); color: #000; font-family: var(--font-cond); font-size: 13px; font-weight: 700; padding: 3px 9px; border-radius: 5px; letter-spacing: 0.04em; }
.logo-name { font-family: var(--font-cond); font-size: 18px; font-weight: 700; color: var(--text); letter-spacing: 0.02em; }
.logo-motto { font-size: 11px; color: var(--muted); font-style: italic; }

.top-nav { 
  display: flex !important; 
  align-items: center !important; 
  gap: 2px !important; 
  flex: 1 !important; 
  list-style: none !important; 
  padding: 0 !important; 
  margin: 0 !important; 
}

.top-nav li {
  list-style: none !important;
  list-style-type: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
}

.top-nav a,
.top-nav li a { 
  color: var(--sub) !important; 
  font-size: 16px !important; 
  font-weight: 600 !important; 
  padding: 6px 12px !important; 
  border-radius: 6px !important; 
  text-decoration: none !important; 
  cursor: pointer !important; 
  transition: background 0.15s, color 0.15s !important; 
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  line-height: 1.2 !important;
}

.top-nav a:hover,
.top-nav li a:hover { 
  background: rgba(255, 255, 255, 0.06) !important; 
  color: var(--text) !important; 
}

.top-nav a.active,
.top-nav li.active a,
.top-nav li.responsive-tab.active a { 
  color: var(--accent2) !important; 
}

.top-nav i,
.top-nav li a i {
  font-size: 16px !important;
}

.top-right { display: flex; gap: 8px; align-items: center; flex-shrink: 0; }
.dropdown-arrow-icon { font-size: 10px !important; }
.btn-acp, .btn-mcp { color: var(--orange) !important; }

/* ─── STYLE DES BOUTONS ─── */
.btn, .act-btn, .qbtn, .react {
  font-size: 13px;
  padding: 6px 14px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s;
  border: 1px solid var(--border2);
  background: transparent;
  color: var(--sub) !important;
  font-family: var(--font);
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  line-height: 1.2;
}
.btn:hover, .act-btn:hover, .qbtn:hover, .react:hover {
  background: rgba(255,255,255,0.06);
  color: var(--text) !important;
}

.btn-primary, .act-btn.btn-primary, a.btn-primary, a.act-btn.btn-primary, button.btn-primary {
  background: var(--accent) !important;
  color: #000 !important;
  border-color: var(--accent) !important;
  font-weight: 700 !important;
}
.btn-primary:hover, .act-btn.btn-primary:hover, a.btn-primary:hover, a.act-btn.btn-primary:hover, button.btn-primary:hover {
  background: var(--accent2) !important;
  border-color: var(--accent2) !important;
  color: #000 !important;
}

.btn-primary-search, .act-btn.btn-primary-search, a.btn-primary-search, a.act-btn.btn-primary-search, button.btn-primary-search {
  background: var(--accent) !important;
  color: #000 !important;
  border-color: var(--accent) !important;
  font-weight: 700 !important;
}
.btn-primary-search:hover, .act-btn.btn-primary-search:hover, a.btn-primary-search:hover, a.act-btn.btn-primary-search:hover, button.btn-primary-search:hover {
  background: var(--accent2) !important;
  border-color: var(--accent2) !important;
  color: #000 !important;
}

.btn.side-btn { width: 100%; justify-content: center; font-size: 11px; padding: 6px 8px; white-space: normal; text-align: center; line-height: 1.3; box-sizing: border-box; }
.badge { background: var(--accent3); color: #fff; font-size: 10px; padding: 1px 6px; border-radius: 10px; font-weight: 700; }
.btn-sm { font-size: 11px !important; padding: 4px 10px !important; }
.btn-xs { font-size: 10px !important; padding: 2px 6px !important; }
.btn-xs-blue { font-size: 10px !important; padding: 2px 6px !important; color: var(--blue) !important; }
.btn-xs-red { font-size: 10px !important; padding: 2px 6px !important; color: var(--red) !important; }
.btn-xs-lookup { font-size: 10px !important; padding: 2px 6px !important; margin-left: 6px !important; }
.btn-action-danger { color: var(--red) !important; }
.btn-full-center { /*MOG width: 100% !important;*/ justify-content: center !important; }
.btn-large-action { padding: 10px 24px !important; font-size: 14px !important; }
.btn-submit-post { padding: 9px 20px !important; }
.btn-settings-submit { padding: 8px 20px !important; }
.btn-approve-mod { font-size: 11px !important; padding: 2px 8px !important; margin-left: auto !important; }

/* ── BOUTONS COMPACTS FILTRE A-Z LISTE DES MEMBRES ── */
.btn-filter-char {
  font-size: 11px !important;
  padding: 2px 7px !important;
  min-width: 24px !important;
  text-align: center !important;
  line-height: 1.2 !important;
  box-sizing: border-box !important;
}

/* ─── MENU DÉROULANT TOPBAR ─── */
.dropdown-container { position: relative; }
.dropdown-container:hover .dropdown { display: block; }
.dropdown { display: none; position: absolute; right: 0; top: 100%; z-index: 1000; padding-top: 6px; }
.dropdown-contents { background: var(--panel); border: 1px solid var(--border2); border-radius: 8px; padding: 6px 0; min-width: 200px; box-shadow: 0 10px 25px rgba(0,0,0,0.5); list-style: none; }
.dropdown-contents li a { display: flex; align-items: center; gap: 8px; padding: 7px 14px; color: var(--sub); font-size: 12px; text-decoration: none; transition: all 0.15s; }
.dropdown-contents li a:hover { background: rgba(255,255,255,0.06); color: var(--text); }
.dropdown-contents li.separator { height: 1px; background: var(--border); margin: 4px 0; }

/* ─── QUICKBAR ─── */
.quickbar { background: var(--panel); border-bottom: 1px solid var(--border); padding: 8px 2rem; }
.quickbar-inner { max-width: var(--max-w); margin: 0 auto; width: 100%; display: flex; align-items: center; gap: 1.2rem; }
.quick-links { display: flex; gap: 4px; flex: 1; }
.quick-links a { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; color: var(--sub); text-decoration: none; padding: 5px 10px; border-radius: 6px; transition: all 0.15s; }
.quick-links a:hover { background: rgba(255,255,255,0.06); color: var(--text); }
.search-box { display: flex; align-items: center; gap: 6px; background: rgba(255,255,255,0.04); border: 1px solid var(--border2); border-radius: 20px; padding: 5px 8px 5px 14px; width: 240px; }
.search-box.compact-search { width: 220px !important; padding: 3px 8px 3px 12px !important; }
.search-box input { background: none; border: none; outline: none; color: var(--text); font-size: 12px; font-family: var(--font); flex: 1; }
.search-box button { background: var(--accent); border: none; color: #000; width: 24px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; flex-shrink: 0; }
.search-icon-input { color: var(--muted); font-size: 13px; }
.search-btn-icon { font-size: 13px; }
.social-links { display: flex; gap: 8px; justify-content: center;}
.social-links a { color: var(--muted); font-size: 24px; text-decoration: none; transition: color 0.15s; }
.social-links a:hover { color: var(--accent2); }

.theme-color-switcher { display: flex; gap: 8px;}
.theme-color-switcher a { color: var(--muted); font-size: 24px; text-decoration: none; transition: color 0.15s; }
.theme-color-switcher a:hover { color: var(--accent2); }

/* ─── LAYOUT GLOBAL ─── */
.page-wrap {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 1.5rem 2rem 3rem;
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 1.5rem;
  flex: 1;
  width: 100%;
  box-sizing: border-box;
}
.page-wrap-single {
  grid-template-columns: 1fr !important;
}
.page-wrap-narrow {
  max-width: 600px !important;
  margin: 3rem auto !important;
}
.page-wrap-medium {
  max-width: 760px !important;
  margin: 2rem auto !important;
}
.page-wrap-standard {
  max-width: 1400px !important;
  width: 85% !important;
  margin: 2rem auto !important;
}
.page-wrap-wide {
  max-width: 1400px !important;
  width: 90% !important;
  margin: 2rem auto !important;
}
.main { min-width: 0; }
.side { min-width: 0; display: flex; flex-direction: column; gap: 1.2rem; }

@media (max-width: 1000px) {
  .page-wrap { grid-template-columns: 1fr; }
}

/* ─── BREADCRUMB ─── */
.breadcrumb { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--muted); flex-wrap: wrap; margin-bottom: 12px; }
.breadcrumb a { color: var(--blue) !important; text-decoration: none; }
.breadcrumb a:hover { color: var(--orange) !important; }
.breadcrumb i { font-size: 10px; color: var(--muted); }

/* ─── CATÉGORIES & LISTE DES FORUMS ─── */
.category-block { margin-bottom: 1.4rem; background: #161b2482; padding: 10px; border-radius: 20px; }
.category-header { display: flex; align-items: center; gap: 9px; padding: 9px 4px; margin-bottom: 8px; }
.category-header-between { justify-content: space-between !important; }
.category-icon { color: var(--accent2); font-size: 16px; }
.category-icon-danger { color: var(--red) !important; font-size: 16px; }
.category-title { font-family: var(--font-cond); font-size: 17px; font-weight: 700; color: var(--text); text-transform: uppercase; letter-spacing: 0.04em; }
.category-title a { color: inherit; text-decoration: none; }

.forum-list { background: var(--panel); border: 1px solid var(--border); border-radius: 12px; overflow: hidden; }
.forum-row { display: flex; align-items: center; gap: 14px; padding: 13px 16px; border-bottom: 1px solid var(--border); transition: background 0.15s; }
.forum-row:last-child { border-bottom: none; }
.forum-row:hover { background: rgba(255,255,255,0.025); }
.forum-row-empty { padding: 20px !important; justify-content: center !important; color: var(--muted) !important; font-style: italic !important; }

.forum-icon-wrap { width: 40px; height: 40px; border-radius: 10px; background: rgba(200,146,42,0.1); border: 1px solid rgba(200,146,42,0.2); display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: var(--accent2); font-size: 19px; overflow: hidden !important; }
.forum-icon-wrap.empty { background: rgba(255,255,255,0.03); border-color: var(--border2); color: var(--muted); }
.forum-row.has-unread .forum-icon-wrap { background: rgba(224,168,58,0.25); border-color: var(--accent2); color: #fff; box-shadow: 0 0 10px rgba(224,168,58,0.2); border-radius: 20% !important; }

.forum-icon-wrap img,
.forum-icon-wrap .avatar,
.forum-icon-wrap .avatar img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: cover !important;
  border-radius: 20% !important;
  display: block !important;
  margin: 0 !important;
}

.forum-main { flex: 1; min-width: 0; }
.forum-name { font-family: var(--font-cond); font-size: 16px; font-weight: 700; color: var(--text) !important; text-decoration: none; letter-spacing: 0.05em; }
.forum-name:hover { color: var(--accent2) !important; }
.forum-desc {
  font-size: 12px;
  color: var(--sub);
  margin-top: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  line-clamp: 1;
  -webkit-box-orient: vertical;
}

.forum-subforums { font-size: 11px; color: var(--muted); margin-top: 4px; font-style: italic; }
.forum-subforums a { color: var(--blue) !important; text-decoration: none; font-style: normal; }
.forum-subforums a:hover { text-decoration: underline; }
.subforum-icon { font-size: 11px; }

.forum-stats { display: flex; gap: 20px; flex-shrink: 0; }
.forum-stat { text-align: center; min-width: 56px; }
.forum-stat-num { font-family: var(--font-cond); font-size: 15px; font-weight: 700; color: var(--text2); }
.forum-stat-lbl { font-size: 10px; color: var(--muted); text-transform: uppercase; letter-spacing: 0.04em; }

.forum-lastpost { width: 285px; flex-shrink: 0; display: flex; align-items: center; gap: 8px; }
.lastpost-empty { font-size: 12px; color: var(--muted); font-style: italic; }
.lastpost-av { width: 30px; height: 30px; border-radius: 50%; overflow: hidden; flex-shrink: 0; background: var(--card2); display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; color: var(--text2); border: 1px solid var(--border2); }
.lastpost-info { min-width: 0; }
.lastpost-title { font-size: 12px; color: var(--text2) !important; text-decoration: none; display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lastpost-title:hover { color: var(--accent2) !important; }
.lastpost-meta { font-size: 11px; color: var(--muted); margin-top: 1px; }

@media (max-width: 1200px) { .forum-stats { display: none; } }
@media (max-width: 900px)  { .forum-lastpost { display: none; } }

/* ─── TOPIC HEADER ─── */
.topic-hdr { background: var(--panel); border: 1px solid var(--border); border-radius: 12px; padding: 1.4rem 1.6rem; margin-bottom: 1.2rem; position: relative; overflow: hidden; }
.topic-hdr::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--accent), var(--accent2), transparent); }
.topic-tag { display: inline-flex; align-items: center; gap: 6px; background: rgba(88,166,255,0.1); color: var(--blue); border: 1px solid rgba(88,166,255,0.2); font-size: 11px; font-weight: 700; font-family: var(--font-cond); padding: 3px 11px; border-radius: 20px; margin-bottom: 10px; text-transform: uppercase; letter-spacing: 0.06em; }
.topic-tag .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--blue); }
.topic-title { font-family: var(--font-cond); font-size: 26px; font-weight: 700; color: var(--text); line-height: 1.2; letter-spacing: 0.01em; }
.topic-subtitle { font-size: 15px; color: var(--accent2); font-style: italic; margin-top: 4px; }
.topic-meta { display: flex; gap: 1.5rem; margin-top: 12px; flex-wrap: wrap; }
.tm { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--muted); }
.topic-acts { display: flex; gap: 6px; margin-top: 14px; flex-wrap: wrap; align-items: center; }

.topic-hdr.compact-hdr { padding: 1.1rem 1.4rem; margin-bottom: 1.2rem; }
.topic-hdr.compact-hdr .topic-title { font-size: 22px; }
.topic-hdr.compact-hdr .topic-subtitle { font-size: 13px; margin-top: 2px; }
.topic-hdr.compact-hdr .topic-acts { margin-top: 10px; }
.topic-hdr-flex { display: flex !important; justify-content: space-between !important; align-items: flex-start !important; flex-wrap: wrap !important; gap: 10px !important; }
.topic-hdr-spaced { margin-top: 1rem !important; }

/* ─── POSTS ─── */
.post { background: var(--card); border: 1px solid var(--border); border-radius: 12px; margin-bottom: 10px; display: flex; overflow: hidden; transition: border-color 0.2s; }
.post.first-post { border-color: rgba(200,146,42,0.8); }
.post-profile { width: 200px; flex-shrink: 0; background: rgba(255,255,255,0.02); border-right: 1px solid var(--border); padding: 0.5em; display: flex; flex-direction: column; align-items: center; gap: 8px; }

.av-lg { width: 150px; height: 150px; border-radius:15%; overflow: hidden; display: flex; align-items: center; justify-content: center; font-family: var(--font-cond); font-size: 24px; font-weight: 700; color: #fff; flex-shrink: 0; margin-top: 10px;}
.av-lg img { width: 100%; height: 100%; object-fit: cover; }
.av-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-family: var(--font-cond); font-size: 28px; font-weight: 700; color: #fff; background: var(--accent); }

.pname { font-size: 13px; font-weight: 600; color: var(--text2); text-align: center; line-height: 1.3; }
.prole { display: flex; flex-direction: row; flex-wrap: wrap; gap: 3px; justify-content: center; }
.prank { font-size: 10px; padding: 2px 9px; border-radius: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; font-family: var(--font-cond); }
.rk-adm { background: rgba(200,42,42,0.14); color: var(--accent3); border: 1px solid rgba(200,42,42,0.22); }
.rk-mod { background: rgba(255,188,88,0.11); color: var(--orange); border: 1px solid rgba(255,197,88,0.2); }
.rk-off { background: rgba(88,166,255,0.11); color: var(--blue); border: 1px solid rgba(88,166,255,0.2); }
.rk-mbr { background: rgba(63,185,80,0.1); color: var(--green); border: 1px solid rgba(63,185,80,0.18); }
.rk-mbr-p { background: rgba(132,185,63,0.1); color: var(--green2); border: 1px solid rgba(128,185,63,0.18); }
.rk-rec { background: rgba(255,255,255,0.05); color: var(--sub); border: 1px solid var(--border2); }

.pstats { width: 100%; margin-top: 2px; }
.pst { display: flex; justify-content: center; align-items: center; padding: 3px 0; border-bottom: 1px solid var(--border); font-size: 11px; }
.pst:last-child { border-bottom: none; }
.pst-l { color: var(--muted); padding: 10px 10px 10px 0; }
.pst-v { color: var(--text2); font-weight: 600; }

.post-body { flex: 1; min-width: 0; padding: 1.1rem 1.4rem; display: flex; flex-direction: column; gap: 10px; }
.post-hdr { display: flex; align-items: center; justify-content: space-between; }
.post-date { font-size: 12px; color: var(--muted); display: flex; align-items: center; gap: 5px; }
.post-num { font-size: 11px; color: var(--muted); background: rgba(255,255,255,0.04); border: 1px solid var(--border); border-radius: 5px; padding: 2px 8px; font-family: var(--font-cond); text-decoration: none; }

.post-text { font-size: 15px; color: var(--text2); line-height: 1.75; flex: 1; overflow-x: auto; border-radius: 12px; border: 1px solid var(--border3); padding: 10px; background: linear-gradient(0deg, var(--card), var(--card3)) padding-box, linear-gradient(180deg, #808892, #80889200, #80889200) border-box;}
.post-text p { margin-bottom: 10px; } .post-text p:last-child { margin-bottom: 0; }
.post-text strong { color: var(--text); font-weight: 600; } .post-text em { color: var(--sub); }

.post-text img,
.postbody img,
.post-body img,
img.postimage,
.attach-image img,
.file img {
  max-width: 100% !important;
  height: auto !important;
  box-sizing: border-box;
  border-radius: 6px;
}

.post-signature { border-top: 1px dashed var(--border); padding-top: 8px; margin-top: 10px; font-size: 12px; color: var(--muted); font-style: italic; border-radius: 12px; border: 1px solid transparent; background: linear-gradient(0deg, var(--card3), var(--card)) padding-box, linear-gradient(180deg, #80889200, #80889200, #808892) border-box;}

.post-footer { display: flex; align-items: center; justify-content: space-between; padding-top: 9px; border-top: 1px solid var(--border); margin-top: auto; }
.pf-left { display: flex; gap: 8px; align-items: center; }
.pf-right { display: flex; gap: 6px; }
.react { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; color: var(--muted); background: rgba(255,255,255,0.03); border: 1px solid var(--border); border-radius: 6px; padding: 4px 10px; cursor: pointer; transition: all 0.15s; font-family: var(--font); }
.react:hover { color: var(--text); background: rgba(255,255,255,0.06); }
.react.on { color: var(--accent2); border-color: rgba(200,146,42,0.3); background: rgba(200,146,42,0.08); }
.qbtn { font-size: 12px; color: var(--muted); background: none; border: none; cursor: pointer; padding: 4px 9px; border-radius: 6px; font-family: var(--font); display: inline-flex; align-items: center; gap: 5px; transition: all 0.15s; text-decoration: none; }
.qbtn:hover { color: var(--text); background: rgba(255,255,255,0.05); }

/* ─── RÈGLES ET NOTICES DE FORUM / FORMULAIRES ─── */
.rules-box {
  background: rgba(200,146,42,0.08);
  border: 1px solid rgba(200,146,42,0.3);
  border-radius: 10px;
  padding: 12px 16px;
  margin-bottom: 1.2rem;
}
.rules-box-title {
  font-family: var(--font-cond);
  font-weight: 700;
  color: var(--accent2);
  text-transform: uppercase;
  margin-bottom: 4px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.rules-box-content {
  font-size: 13px;
  color: var(--text2);
}
.rules-box-heading {
  margin: 0 0 5px 0 !important;
  font-family: var(--font-cond) !important;
}
.rules-box-success {
  background: rgba(63,185,80,0.1) !important;
  border-color: rgba(63,185,80,0.3) !important;
  color: var(--green) !important;
}
.rules-box-danger {
  background: rgba(248,81,73,0.1) !important;
  border-color: rgba(248,81,73,0.3) !important;
  color: var(--red) !important;
}
.rules-box-warning {
  background: rgba(255,174,0,0.1) !important;
  border-color: rgba(255,174,0,0.3) !important;
  color: var(--orange) !important;
}
.rules-box-info {
  background: rgba(88,166,255,0.1) !important;
  border-color: rgba(88,166,255,0.3) !important;
  color: var(--blue) !important;
}

/* ─── STYLES D'HABILLAGE DES FORMULAIRES ─── */
.panel { background: var(--panel) !important; border: 1px solid var(--border) !important; border-radius: 12px !important; color: var(--text) !important; padding: 1.2rem !important; margin-bottom: 1rem !important; }
.panel h2, .panel h3 { font-family: var(--font-cond); font-weight: 700; color: var(--text); text-transform: uppercase; }

.inputbox, 
input[type="text"], 
input[type="password"], 
input[type="email"], 
input[type="search"], 
input[type="date"], 
input[type="time"], 
input[type="number"], 
select, 
textarea {
  background-color: var(--dk, #0d1117) !important;
  background: var(--dk, #0d1117) !important;
  color: var(--text, #e6edf3) !important;
  border: 1px solid var(--border2, rgba(255,255,255,0.13)) !important;
  border-radius: 6px !important;
  font-family: var(--font) !important;
  font-size: 13px !important;
  padding: 7px 10px !important;
  outline: none;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

input[type="radio"], 
input[type="checkbox"] {
  width: auto !important;
  max-width: none !important;
  cursor: pointer;
}

.inputbox:focus, 
input[type="text"]:focus, 
input[type="password"]:focus, 
input[type="email"]:focus, 
select:focus, 
textarea:focus { 
  border-color: rgba(200,146,42,0.4) !important; 
  background-color: var(--dk, #0d1117) !important;
  background: var(--dk, #0d1117) !important;
  color: var(--text, #e6edf3) !important;
}

table.table1 { width: 100%; border-collapse: separate; border-spacing: 0; background: var(--panel); border: 1px solid var(--border); border-radius: 10px; overflow: hidden; }
table.table1 thead th { background: rgba(255,255,255,0.03); color: var(--sub); font-family: var(--font-cond); font-size: 12px; font-weight: 700; text-transform: uppercase; padding: 10px 12px; border-bottom: 1px solid var(--border); }
table.table1 tbody td { padding: 10px 12px; border-bottom: 1px solid var(--border); color: var(--text2); font-size: 13px; }
table.table1 tbody tr:last-child td { border-bottom: none; }
table.table1 tbody tr:hover td { background: rgba(255,255,255,0.02); }

/* ─── ONGLETS GLOBAUX RÉTABLIS EN LIGNE (FLEX) ─── */
.tabs, .minitabs {
  display: flex !important;
  gap: 4px !important;
  margin-bottom: 1rem !important;
  list-style: none !important;
  padding: 0 !important;
}

.tabs ul, .minitabs ul {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

.tabs li.tab, .minitabs li.tab {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
}

/* ─── SÉCURITÉ ONGLETS VIDES ─── */
.tabs li:empty,
.tabs li.tab:empty,
.tabs li.tab a:empty,
.tabs a:empty {
  display: none !important;
}

/* ─── NEUTRALISATION DE L'ONGLET RESPONSIVE INJECTÉ PAR LE JS DE PHPBB ─── */
.tabs li.responsive-tab,
.tabs .responsive-tab,
.tabs .responsive-tab-link,
.tabs .dropdown-toggle,
.responsive-tab-link {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  font-size: 0 !important;
  line-height: 0 !important;
  pointer-events: none !important;
}

.tabs a, .minitabs a {
  display: inline-flex !important;
  align-items: center !important;
  padding: 8px 16px !important;
  border-radius: 8px !important;
  background: var(--panel) !important;
  border: 1px solid var(--border2) !important;
  color: var(--sub) !important;
  font-family: var(--font-cond) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  text-decoration: none !important;
  transition: all 0.15s ease !important;
}

.tabs a:hover, .minitabs a:hover {
  background: rgba(255, 255, 255, 0.06) !important;
  color: var(--text) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
}

.tabs .activetab a, .minitabs .activetab a {
  background: var(--accent) !important;
  color: #000000 !important;
  border-color: var(--accent) !important;
  font-weight: 700 !important;
}

.tabs-posting-margin {
  margin-top: 1.5rem !important;
  margin-bottom: 0.8rem !important;
}

/* ─── SIDEBAR WIDGETS & CARDS ─── */
.side-widget { background: var(--panel); border: 1px solid var(--border); border-radius: 12px; padding: 1.1rem 1.3rem; }
.side-widget-title { font-family: var(--font-cond); font-size: 12px; font-weight: 700; color: var(--blue); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 12px; display: flex; align-items: center; gap: 7px; }
.side-widget-compact { padding: 10px 14px !important; margin-bottom: 1.2rem !important; }
.side-widget-empty { padding: 2rem !important; text-align: center !important; color: var(--muted) !important; font-style: italic !important; }

.side-card { background: var(--card); border: 1px solid var(--border); border-radius: 10px; padding: 14px 16px; margin-bottom: 1rem; }
.side-card-title { font-family: var(--font-cond); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted); margin-bottom: 11px; display: flex; align-items: center; gap: 7px; }
.side-card-title-danger { color: var(--red) !important; }
.side-card-actions { display: flex; flex-direction: column; gap: 6px; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--border); }
.side-moderators { margin-top: 10px; font-size: 11px; color: var(--muted); }
.side-moderators strong { color: var(--text2); }
.side-links-stack { display: flex; flex-direction: column; gap: 7px; }
.side-link-item { font-size: 12px; color: var(--blue) !important; text-decoration: none; display: flex; align-items: center; gap: 7px; }

.stat-row { display: flex; align-items: center; justify-content: space-between; padding: 6px 0; border-bottom: 1px solid var(--border); font-size: 12px; color: var(--sub); }
.stat-row:last-child { border-bottom: none; }
.stat-row strong { color: var(--text2); font-family: var(--font-cond); font-weight: 700; }
.stat-row-spaced { margin-top: 6px !important; }

#scroll-side-card {
  height: 120px;
  overflow-y: auto;
  scrollbar-width: none;
}

.login-field { display: flex; flex-direction: column; gap: 4px; margin-bottom: 10px; }
.login-field label { font-size: 11px; color: var(--sub); font-weight: 600; }
.login-field input { background: rgba(255,255,255,0.04); border: 1px solid var(--border2); border-radius: 6px; color: var(--text); font-size: 13px; padding: 7px 10px; font-family: var(--font); outline: none; }
.login-remember { display: flex; align-items: center; gap: 6px; font-size: 11px; color: var(--muted); margin-bottom: 12px; margin-top: 12px; }
.login-forgot { display: block; text-align: center; font-size: 11px; color: var(--blue); text-decoration: none; margin-top: 10px; }
.login-actions { margin-top: 1.4rem; }
.login-footer-links { display: flex; justify-content: space-between; align-items: center; margin-top: 1.2rem; padding-top: 1.2rem; border-top: 1px solid var(--border); font-size: 12px; }
.register-link-highlight { color: var(--accent2) !important; text-decoration: none !important; font-weight: 600 !important; }
.contact-us-link { color: var(--sub) !important; text-decoration: none !important; }
.readonly-input { opacity: 0.75 !important; cursor: not-allowed !important; }
.field-spaced { margin-top: 1rem !important; }
.field-spaced-lg { margin-top: 1.2rem !important; }
.required-star { color: var(--accent) !important; }
.field-explain-block { font-size: 11px; color: var(--muted); margin-top: 3px; display: block; }
.field-error-block { font-size: 11px; color: var(--red); margin-top: 3px; display: block; }

.online-count { font-size: 13px; color: var(--text2); margin-bottom: 6px; }
.online-count strong { color: var(--accent2); font-family: var(--font-cond); font-size: 16px; }
.online-detail { font-size: 11px; color: var(--muted); line-height: 1.5; }
.online-record { font-size: 11px; color: var(--muted); margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--border); }

.other-mission { padding: 7px 0; border-bottom: 1px solid var(--border); cursor: pointer; }
.other-mission:last-child { border-bottom: none; }
.om-title { font-size: 12px; color: var(--blue) !important; font-weight: 500; }
.other-mission:hover .om-title { color: var(--accent2) !important; }
.om-date { font-size: 10px; color: var(--muted); margin-top: 1px; }

.stats-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.stat-box { background: rgba(255,255,255,0.03); border: 1px solid var(--border2); border-radius: 8px; padding: 10px 4px; text-align: center; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 56px; }
.stat-box-num { font-family: var(--font-cond); font-size: 22px; font-weight: 700; color: var(--accent2); line-height: 1.1; }
.stat-box-lbl { font-size: 10px; color: var(--muted); text-transform: uppercase; letter-spacing: 0.04em; margin-top: 3px; font-weight: 600; }
.stats-newmember { font-size: 12px; color: var(--sub); margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--border); }
.stats-newmember a { color: var(--blue); text-decoration: none; font-weight: 600; }

/* ─── TOAST NOTIFICATIONS ─── */
#vf_toast_notification {
  position: fixed;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10000;
  background: var(--panel, #161b24);
  color: var(--text, #e6edf3);
  border: 1px solid var(--accent, #c8922a);
  padding: 10px 22px;
  border-radius: 30px;
  font-size: 13px;
  font-weight: 600;
  box-shadow: 0 10px 30px rgba(0,0,0,0.7);
  display: flex;
  align-items: center;
  gap: 8px;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

.icon-green { color: var(--green, #3fb950) !important; font-size: 18px !important; }
.icon-red { color: var(--red, #f85149) !important; font-size: 18px !important; }
.icon-orange { color: var(--orange, rgb(255,174,0)) !important; }
.icon-accent { color: var(--accent2) !important; }
.icon-muted { color: var(--muted) !important; font-size: 12px !important; }
.muted-icon { color: var(--muted) !important; font-size: 13px !important; }
.sticky-icon { color: var(--accent2) !important; }
.locked-icon { color: var(--red) !important; }
.unread-icon { color: var(--accent2) !important; }
.text-danger { color: var(--red) !important; }
.warning-text { color: var(--red) !important; }
.align-right { text-align: right !important; }

/* ─── COMPOSANTS MCP & UCP SUPPLÉMENTAIRES ─── */
.header-left-wrap { display: flex; align-items: center; gap: 9px; }
.topic-title-container { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.mod-badge { background: rgba(200,146,42,0.2) !important; color: var(--orange) !important; font-size: 9px !important; padding: 1px 6px !important; }
.del-badge { background: rgba(248,81,73,0.15) !important; color: var(--red) !important; font-size: 9px !important; padding: 1px 6px !important; }
.topic-icon-img { vertical-align: middle; margin-right: 6px; display: inline-flex; align-items: center; }
.topic-icon-img img { max-height: 22px; width: auto; }
.bar-bottom-flex { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-top: 1.5rem !important; flex-wrap: wrap !important; gap: 10px !important; }
.bar-bottom-right-only { display: flex !important; justify-content: flex-end !important; margin-top: 1rem !important; }
.bar-bottom-pagination { display: flex !important; align-items: center !important; gap: 10px !important; }
.mcp-bar-bottom { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-top: 1rem !important; flex-wrap: wrap !important; gap: 10px !important; }
.mcp-actions-card { padding: 1.2rem !important; margin-top: 1.5rem !important; display: flex !important; justify-content: space-between !important; align-items: center !important; flex-wrap: wrap !important; gap: 12px !important; }
.mcp-actions-left { display: flex !important; align-items: center !important; gap: 10px !important; flex-wrap: wrap !important; }
.mcp-action-label { font-size: 12px !important; color: var(--sub) !important; font-weight: 700 !important; }
.mcp-action-select { font-size: 12px !important; min-width: 220px !important; }
.mcp-btn-submit { font-size: 12px !important; padding: 6px 16px !important; }
.mcp-mark-buttons { display: flex !important; align-items: center !important; gap: 8px !important; }
.mcp-search-widget { padding: 1.2rem !important; margin-bottom: 1.2rem !important; display: flex !important; justify-content: space-between !important; align-items: center !important; flex-wrap: wrap !important; gap: 10px !important; }
.mcp-search-left { display: flex !important; align-items: center !important; gap: 8px !important; flex: 1 !important; max-width: 400px !important; }
.btn-search-submit { font-size: 12px !important; padding: 6px 14px !important; }
.total-topics-count { font-size: 12px !important; color: var(--muted) !important; }
.col-center { text-align: center !important; }
.col-ip { font-family: monospace !important; font-size: 11px !important; color: var(--sub) !important; }
.col-date { font-size: 12px !important; color: var(--muted) !important; }
.col-action-desc { font-size: 13px !important; color: var(--text2) !important; }
.col-mark-head { width: 5% !important; text-align: center !important; }
.log-username { color: var(--text) !important; }
.log-action { color: var(--text) !important; }
.log-data { font-size: 11px !important; color: var(--muted) !important; }
.table-empty-row { text-align: center !important; padding: 2rem !important; color: var(--muted) !important; font-style: italic !important; }
.btn-delete-all { color: var(--red) !important; }
.report-details-widget { padding: 1.4rem !important; margin-bottom: 1.2rem !important; background: rgba(248,81,73,0.06) !important; border-color: rgba(248,81,73,0.3) !important; }
.report-title { font-family: var(--font-cond) !important; font-size: 18px !important; font-weight: 700 !important; color: var(--red) !important; text-transform: uppercase !important; margin-bottom: 6px !important; display: flex !important; align-items: center !important; gap: 8px !important; }
.report-meta { font-size: 13px !important; color: var(--text2) !important; }
.report-time { font-size: 11px !important; color: var(--muted) !important; }
.report-closed-tag { color: var(--red) !important; font-weight: 600 !important; font-size: 12px !important; margin-top: 6px !important; }
.report-text-box { margin-top: 10px !important; padding: 10px !important; background: var(--dk) !important; border: 1px solid var(--border2) !important; border-radius: 8px !important; font-size: 13px !important; color: var(--text2) !important; }
.report-top-actions { display: flex !important; justify-content: flex-end !important; gap: 10px !important; margin-bottom: 1.5rem !important; }
.post-details-widget { padding: 1.5rem !important; margin-bottom: 1.2rem !important; }
.post-details-header-title { font-size: 14px !important; margin-bottom: 12px !important; }
.post-details-header { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 10px !important; flex-wrap: wrap !important; gap: 8px !important; }
.post-details-subject { font-family: var(--font-cond) !important; font-size: 18px !important; font-weight: 700 !important; color: var(--text) !important; margin: 0 !important; }
.post-details-subject a { color: var(--text) !important; }
.post-details-meta { font-size: 12px !important; color: var(--muted) !important; margin-bottom: 1rem !important; }
.mcp-approve-form { margin-bottom: 1rem !important; }
.mcp-approve-box { background: rgba(200,146,42,0.1) !important; border: 1px solid rgba(200,146,42,0.3) !important; padding: 10px !important; border-radius: 8px !important; display: flex !important; justify-content: space-between !important; align-items: center !important; flex-wrap: wrap !important; gap: 10px !important; }
.mcp-deleted-box { background: rgba(248,81,73,0.1) !important; border: 1px solid rgba(248,81,73,0.3) !important; padding: 10px !important; border-radius: 8px !important; display: flex !important; justify-content: space-between !important; align-items: center !important; flex-wrap: wrap !important; gap: 10px !important; }
.approve-action-label { font-size: 13px !important; color: var(--orange) !important; }
.deleted-action-label { font-size: 13px !important; color: var(--red) !important; }
.approve-action-buttons { display: flex !important; gap: 6px !important; }
.reported-notice-box { background: rgba(248,81,73,0.1) !important; border: 1px solid rgba(248,81,73,0.3) !important; padding: 10px !important; border-radius: 8px !important; margin-bottom: 1rem !important; font-size: 13px !important; color: var(--red) !important; }
.reported-link { color: var(--red) !important; font-weight: 700 !important; }
.postbody-full { width: 100% !important; float: none !important; }
.post-details-content { padding: 1.2rem !important; background: var(--dk) !important; border: 1px solid var(--border2) !important; border-radius: 10px !important; font-size: 15px !important; color: var(--text2) !important; line-height: 1.75 !important; }
.post-attachments-box { margin-top: 1rem !important; padding-top: 10px !important; border-top: 1px dashed var(--border) !important; }
.attachments-label { font-size: 12px !important; font-weight: 700 !important; color: var(--muted) !important; text-transform: uppercase !important; margin-bottom: 6px !important; }
.attachment-item { margin-bottom: 6px !important; }
.post-delete-reason-box { margin-top: 10px !important; padding: 10px !important; background: rgba(248,81,73,0.08) !important; border: 1px solid rgba(248,81,73,0.2) !important; border-radius: 8px !important; font-size: 12px !important; color: var(--red) !important; }
.signature-margin { margin-top: 1rem !important; }
.ip-info-box { margin-top: 1.2rem !important; padding-top: 10px !important; border-top: 1px solid var(--border) !important; font-size: 12px !important; color: var(--sub) !important; }
.mod-options-widget { padding: 1.5rem !important; margin-bottom: 1.2rem !important; }
.mod-options-title { font-size: 14px !important; margin-bottom: 14px !important; }
.chgposter-form { margin-bottom: 1.2rem !important; }
.chgposter-controls { display: flex !important; gap: 10px !important; align-items: center !important; flex-wrap: wrap !important; }
.input-chgposter { flex: 1 !important; min-width: 180px !important; }
.lock-post-controls { display: flex !important; gap: 10px !important; align-items: center !important; flex-wrap: wrap !important; }
.lock-post-select { flex: 1 !important; min-width: 220px !important; }
.mcp-return-links { padding: 1rem !important; margin-bottom: 1.2rem !important; font-size: 12px !important; color: var(--blue) !important; }
.mcp-return-links a { color: var(--blue) !important; }
.usernotes-widget { padding: 1.5rem !important; margin-bottom: 1.2rem !important; }
.usernotes-header { font-size: 14px !important; margin-bottom: 12px !important; }
.usernotes-list-item { padding: 8px 10px !important; background: rgba(255,255,255,0.02) !important; border: 1px solid var(--border) !important; border-radius: 6px !important; margin-bottom: 8px !important; }
.usernotes-meta { display: flex !important; justify-content: space-between !important; font-size: 11px !important; color: var(--muted) !important; margin-bottom: 4px !important; }
.usernotes-action-text { font-size: 13px !important; color: var(--text2) !important; }
.usernotes-delete-actions { display: flex !important; justify-content: flex-end !important; gap: 8px !important; margin-bottom: 1.2rem !important; }
.add-feedback-title { font-size: 14px !important; margin-bottom: 8px !important; }
.add-feedback-explain { font-size: 11px !important; color: var(--muted) !important; margin-bottom: 8px !important; }
.add-feedback-buttons { display: flex !important; justify-content: flex-end !important; gap: 8px !important; margin-top: 10px !important; }
.reports-widget { padding: 1.5rem !important; margin-bottom: 1.2rem !important; }
.reports-header { font-size: 14px !important; margin-bottom: 12px !important; }
.report-entry-box { padding: 10px !important; background: rgba(248,81,73,0.06) !important; border: 1px solid rgba(248,81,73,0.2) !important; border-radius: 8px !important; margin-bottom: 8px !important; font-size: 12px !important; }
.report-entry-meta { color: var(--muted) !important; margin-bottom: 4px !important; }
.report-entry-reason { color: var(--text2) !important; }
.report-entry-text { margin-top: 4px !important; color: var(--text) !important; }
.ip-category-block { margin-top: 1.5rem !important; }
.ip-hostname-link { color: var(--blue) !important; font-weight: 600 !important; }
.ip-address-text { color: var(--muted) !important; }
.ip-row-main { font-size: 13px !important; color: var(--text2) !important; }
.whois-link { color: inherit !important; }
.mcp-forum-filter-widget { padding: 1rem 1.4rem !important; margin-bottom: 1.2rem !important; display: flex !important; align-items: center !important; gap: 10px !important; flex-wrap: wrap !important; }
.filter-forum-select { font-size: 12px !important; width: auto !important; }
.btn-filter-submit { font-size: 11px !important; padding: 4px 12px !important; }
.postrow-deleted-notice { padding: 12px !important; color: var(--red) !important; font-style: italic !important; }
.forum-subforums-spaced { margin-top: 4px !important; }
.forum-row-select-col { display: flex !important; align-items: center !important; padding-left: 10px !important; }
.mcp-queue-actions-card { padding: 1.2rem !important; margin-top: 1.5rem !important; display: flex !important; justify-content: space-between !important; align-items: center !important; flex-wrap: wrap !important; gap: 10px !important; }
.queue-actions-left { display: flex !important; gap: 8px !important; }
.mcp-reports-actions-card { padding: 1.2rem !important; margin-top: 1.5rem !important; display: flex !important; justify-content: space-between !important; align-items: center !important; flex-wrap: wrap !important; gap: 10px !important; }
.report-icon-wrap { background: rgba(248,81,73,0.12) !important; border-color: rgba(248,81,73,0.3) !important; color: var(--red) !important; }
.report-subject-link { color: var(--red) !important; }
.report-reporter-col { width: auto !important; min-width: 200px !important; }
.report-reporter-name { color: var(--sub) !important; }
.contact-info-widget { padding: 1.2rem !important; margin-bottom: 1.2rem !important; background: rgba(88,166,255,0.06) !important; border-color: rgba(88,166,255,0.2) !important; color: var(--text2) !important; }
.contact-form-widget { padding: 2rem !important; }
.contact-recipient-name { font-size: 15px !important; font-weight: 700 !important; color: var(--accent2) !important; }
.cc-sender-wrap { margin-top: 1rem !important; }
.cc-sender-label { font-size: 12px !important; color: var(--sub) !important; display: inline-flex !important; align-items: center !important; gap: 6px !important; cursor: pointer !important; }
.btn-send-email-large { padding: 10px 24px !important; font-size: 14px !important; }
.send-email-actions { margin-top: 1.8rem !important; display: flex !important; justify-content: flex-end !important; }

/* ── AVATARS DES MEMBRES ET ÉQUIPE (STRICT CONFINEMENT CIRCULAIRE) ── */
.memberlist-avatar-box,
.team-avatar-box,
.av-xs {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  max-width: 40px !important;
  max-height: 40px !important;
  border-radius: 50% !important;
  background: var(--card2) !important;
  border: 1px solid var(--border2) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 700 !important;
  color: var(--text2) !important;
  font-size: 15px !important;
  flex-shrink: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.memberlist-avatar-box img,
.memberlist-avatar-box .avatar,
.memberlist-avatar-box a img,
.team-avatar-box img,
.team-avatar-box .avatar,
.team-avatar-box a img,
.av-xs img,
.av-xs .avatar,
.av-xs a img,
.av-xs span img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  display: block !important;
  margin: 0 !important;
}

.team-member-name { display: flex !important; align-items: center !important; gap: 8px !important; flex-wrap: wrap !important; font-family: var(--font-cond) !important; font-size: 17px !important; font-weight: 700 !important; }
.team-mod-forums { margin-top: 3px !important; color: var(--sub) !important; }
.team-primary-group { margin-top: 3px !important; color: var(--muted) !important; font-style: italic !important; }
.team-actions-col { width: auto !important; justify-content: flex-end !important; gap: 8px !important; }
.inactive-badge { font-size: 10px !important; color: var(--red) !important; font-weight: normal !important; margin-left: 4px !important; }

/* ==========================================================================
   STYLE DÉDIÉ : PANNEAU DE CONTRÔLE UTILISATEUR (UCP) & MCP
   ========================================================================== */
.ucp-panel {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}
.ucp-panel > .inner {
  padding: 0 !important;
}

.ucp-flex-container {
  display: flex !important;
  gap: 1.5rem !important;
  width: 100% !important;
  align-items: flex-start !important;
}
@media (max-width: 900px) {
  .ucp-flex-container {
    flex-direction: column !important;
  }
}

#cp-menu {
  width: 240px !important;
  flex-shrink: 0 !important;
  background: var(--panel) !important;
  border: 1px solid var(--border) !important;
  border-radius: 12px !important;
  padding: 1.1rem !important;
  box-sizing: border-box !important;
}
#cp-menu .navigation-title {
  font-family: var(--font-cond) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--blue) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  margin-bottom: 12px !important;
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
}
#cp-menu ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}
#cp-menu li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
#cp-menu li a {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 8px 12px !important;
  border-radius: 7px !important;
  background: rgba(255, 255, 255, 0.02) !important;
  border: 1px solid var(--border) !important;
  color: var(--sub) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: all 0.15s ease !important;
}
#cp-menu li a:hover {
  background: rgba(255, 255, 255, 0.06) !important;
  color: var(--text) !important;
  border-color: var(--border2) !important;
}
#cp-menu li.active-subsection a,
#cp-menu li#active-subsection a {
  background: var(--accent) !important;
  color: #000000 !important;
  border-color: var(--accent) !important;
  font-weight: 700 !important;
}
#cp-menu hr.ucp-sep {
  border: none !important;
  border-top: 1px solid var(--border) !important;
  margin: 10px 0 !important;
}

#cp-main {
  flex: 1 !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 1.2rem !important;
}
#cp-main .panel {
  background: var(--panel) !important;
  border: 1px solid var(--border) !important;
  border-radius: 12px !important;
  padding: 1.4rem !important;
  margin: 0 !important;
}
#cp-main h2, #cp-main h3 {
  font-family: var(--font-cond) !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: var(--text) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  margin-top: 0 !important;
  margin-bottom: 1rem !important;
  padding-bottom: 8px !important;
  border-bottom: 1px solid var(--border) !important;
}

#cp-main fieldset,
#cp-main .fields1,
#cp-main .panel,
#cp-main #message-box {
  background-color: #20252E !important;
  border: 1px solid var(--border) !important;
  border-radius: 10px !important;
  padding: 1.2rem !important;
  margin-bottom: 1.2rem !important;
  box-sizing: border-box !important;
}

#cp-main .submit-buttons,
#cp-main fieldset.submit-buttons {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 10px !important;
  background-color: #20252E !important;
  border: 1px solid var(--border) !important;
  border-radius: 10px !important;
  padding: 1rem 1.2rem !important;
  margin-top: 1.2rem !important;
}

#cp-main textarea {
  background-color: var(--dk) !important;
  border: 1px solid var(--border2) !important;
  color: var(--text) !important;
  border-radius: 8px !important;
  padding: 12px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  outline: none !important;
}

.cp-mini-section { margin-top: 1rem !important; padding-top: 1rem !important; border-top: 1px solid var(--border) !important; }
.cp-mini-heading { font-size: 11px !important; color: var(--muted) !important; text-transform: uppercase !important; font-weight: 700 !important; margin-bottom: 6px !important; }
.friend-online { font-size: 12px !important; color: var(--green) !important; margin: 3px 0 !important; }
.friend-offline { font-size: 12px !important; color: var(--muted) !important; margin: 3px 0 !important; }
.pm-legend { font-size: 11px !important; color: var(--sub) !important; margin: 2px 0 !important; }
.ucp-error-box { background: rgba(255, 174, 0, 0.12) !important; border: 1px solid rgba(255, 174, 0, 0.4) !important; color: var(--orange) !important; border-radius: 10px !important; padding: 12px 16px !important; margin-bottom: 1.2rem !important; font-size: 13px !important; display: flex !important; align-items: flex-start !important; gap: 10px !important; box-shadow: 0 4px 15px rgba(255, 174, 0, 0.15) !important; }
.ucp-error-icon { font-size: 20px !important; flex-shrink: 0 !important; margin-top: 2px !important; }
.ucp-error-title { font-family: var(--font-cond) !important; font-size: 14px !important; text-transform: uppercase !important; letter-spacing: 0.04em !important; display: block !important; margin-bottom: 2px !important; }

/* ─── UCP FORMULAIRES & PROFIL DÉDIÉS ─── */
.form-settings-widget { padding: 1.8rem !important; margin-bottom: 1.2rem !important; }
.settings-fields-stack { display: flex !important; flex-direction: column !important; gap: 1rem !important; }
.settings-radio-row { font-size: 12px !important; margin-top: 3px !important; }
.settings-radio-flex { font-size: 12px !important; margin-top: 3px !important; display: flex !important; gap: 12px !important; flex-wrap: wrap !important; }
.radio-label-spaced { margin-left: 12px !important; }
.settings-select { font-size: 12px !important; }
.custom-date-container { display: none; margin-top: 6px !important; }
.settings-submit-row { display: flex !important; justify-content: flex-end !important; margin-top: 1.5rem !important; padding-top: 1.2rem !important; border-top: 1px solid var(--border) !important; }
.settings-hr-divider { border: none !important; border-top: 1px solid var(--border) !important; margin: 10px 0 !important; }
.settings-subselect-wrap { font-size: 12px !important; }
.birthday-selects-row { display: flex !important; gap: 8px !important; }
.user-display-name { font-size: 15px !important; font-weight: 700 !important; color: var(--text) !important; }
.settings-separator-block { margin-top: 1.5rem !important; padding-top: 1.2rem !important; border-top: 1px solid var(--border) !important; }
.signature-preview-widget { padding: 1.4rem !important; margin-bottom: 1.2rem !important; background: rgba(255,255,255,0.02) !important; }
.signature-clean { border: none !important; padding: 0 !important; margin: 0 !important; }
.signature-options-block { margin-top: 1.2rem !important; padding-top: 1rem !important; border-top: 1px solid var(--border) !important; }
.options-subtitle { font-size: 13px !important; margin-bottom: 8px !important; }
.options-checkboxes-stack { display: flex !important; flex-direction: column !important; gap: 6px !important; font-size: 12px !important; color: var(--text2) !important; }
.signature-submit-row { display: flex !important; justify-content: flex-end !important; gap: 10px !important; margin-top: 1.5rem !important; padding-top: 1.2rem !important; border-top: 1px solid var(--border) !important; }
.register-widget-box { padding: 2rem !important; }
.required-fields-separator { margin-top: 1.8rem !important; padding-top: 1.2rem !important; border-top: 1px solid var(--border) !important; }
.required-fields-title { font-family: var(--font-cond) !important; font-weight: 700 !important; color: var(--accent2) !important; text-transform: uppercase !important; margin-bottom: 10px !important; font-size: 13px !important; }
.register-submit-wrap { margin-top: 2rem !important; }
.btn-register-submit { width: 100% !important; justify-content: center !important; padding: 12px !important; font-size: 14px !important; }
.resend-submit-wrap { margin-top: 1.6rem !important; }
.btn-submit-action { width: 100% !important; justify-content: center !important; padding: 10px 18px !important; font-size: 14px !important; }

/* ─── CAPTCHA & SÉCURITÉ ─── */
.captcha-widget-box { padding: 1.4rem !important; margin-bottom: 1.2rem !important; }
.captcha-widget-title { font-size: 14px !important; margin-bottom: 10px !important; }
.captcha-explain-text { font-size: 12px !important; color: var(--sub) !important; margin-bottom: 1rem !important; }
.captcha-img-box { background: var(--dk) !important; border: 1px solid var(--border2) !important; border-radius: 8px !important; padding: 6px !important; display: inline-block !important; margin-bottom: 8px !important; }
.captcha-img { border-radius: 4px !important; display: block !important; max-width: 100% !important; height: auto !important; }
.captcha-input-row { display: flex !important; gap: 10px !important; align-items: center !important; flex-wrap: wrap !important; }
.captcha-input-code { width: 140px !important; }
.captcha-btn-refresh { font-size: 12px !important; padding: 7px 12px !important; }
.captcha-field-explain { font-size: 11px !important; color: var(--muted) !important; margin-top: 4px !important; display: block !important; }
.qa-label { font-weight: 700 !important; color: var(--accent2) !important; }
.qa-input { margin-top: 4px !important; }

/* ─── MODALE CONFIRMATION ─── */
.confirm-ajax-form { padding: 0.5rem !important; }
.confirm-title { font-family: var(--font-cond) !important; font-size: 20px !important; font-weight: 700 !important; color: var(--accent2) !important; text-transform: uppercase !important; margin-top: 0 !important; margin-bottom: 10px !important; }
.confirm-text { font-size: 14px !important; color: var(--text2) !important; line-height: 1.6 !important; margin-bottom: 1.5rem !important; }
.confirm-actions-row { display: flex !important; justify-content: flex-end !important; gap: 10px !important; padding-top: 1rem !important; border-top: 1px solid var(--border) !important; }
.confirm-widget-box { padding: 2rem !important; }

/* ─── BROUILLONS ─── */
.drafts-box-widget { padding: 1.4rem !important; margin-bottom: 1.2rem !important; }
.drafts-title-box { font-size: 14px !important; margin-bottom: 6px !important; }
.drafts-explain-text { font-size: 12px !important; color: var(--sub) !important; margin-bottom: 1rem !important; }
.draft-stats-col { min-width: 140px !important; text-align: right !important; }
.draft-date-text { font-size: 11px !important; color: var(--muted) !important; }
.draft-action-col { margin-left: 10px !important; }
.btn-load-draft { font-size: 11px !important; padding: 4px 10px !important; }
.draft-edit-widget { padding: 1.8rem !important; margin-bottom: 1.2rem !important; }
.draft-edit-submit-row { display: flex !important; justify-content: flex-end !important; gap: 10px !important; margin-top: 1.5rem !important; padding-top: 1.2rem !important; border-top: 1px solid var(--border) !important; }
.draft-lastpost-col { width: auto !important; min-width: 180px !important; justify-content: flex-end !important; }
.draft-action-buttons { margin-top: 2px !important; }

/* ─── FAQ ─── */
.faq-index-widget { padding: 1.5rem !important; margin-bottom: 1.5rem !important; }
.faq-title-large { font-size: 14px !important; margin-bottom: 14px !important; }
.faq-sections-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important; gap: 1.5rem !important; }
.faq-block-heading { font-family: var(--font-cond) !important; font-size: 16px !important; font-weight: 700 !important; color: var(--accent2) !important; text-transform: uppercase !important; margin-bottom: 8px !important; display: flex !important; align-items: center !important; gap: 6px !important; }
.faq-questions-list { list-style: none !important; padding: 0 !important; margin: 0 !important; display: flex !important; flex-direction: column !important; gap: 6px !important; }
.faq-question-link { color: var(--blue) !important; font-size: 13px !important; text-decoration: none !important; display: inline-flex !important; align-items: center !important; gap: 6px !important; }
.faq-question-link i { font-size: 11px !important; color: var(--muted) !important; }
.faq-category-block { margin-bottom: 1.5rem !important; }
.faq-answers-list { padding: 1.5rem !important; display: flex !important; flex-direction: column !important; gap: 1.5rem !important; }
.faq-item-card { background: rgba(255,255,255,0.02) !important; border: 1px solid var(--border) !important; border-radius: 10px !important; padding: 1.2rem !important; }
.faq-item-question { font-family: var(--font-cond) !important; font-size: 18px !important; font-weight: 700 !important; color: var(--text) !important; margin: 0 0 10px 0 !important; display: flex !important; align-items: center !important; gap: 8px !important; }
.faq-item-question i { color: var(--accent2) !important; }
.faq-item-answer { font-size: 14px !important; color: var(--text2) !important; line-height: 1.7 !important; }
.faq-item-footer { text-align: right !important; margin-top: 12px !important; padding-top: 8px !important; border-top: 1px dashed var(--border) !important; }
.faq-back-btn { font-size: 11px !important; padding: 3px 10px !important; }

/* ─── INDEX ─── */
.index-actions-bar { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 1rem !important; font-size: 12px !important; color: var(--muted) !important; }

/* ─── LISTE DES MEMBRES ─── */
.filter-char-widget { display: flex !important; align-items: center !important; justify-content: center !important; flex-wrap: wrap !important; gap: 4px !important; font-size: 11px !important; font-family: var(--font-cond) !important; font-weight: 700 !important; }
.filter-char-label { color: var(--muted) !important; margin-right: 6px !important; }
.memberlist-sort-links { display: flex !important; gap: 12px !important; font-size: 11px !important; color: var(--muted) !important; }
.memberlist-sort-links a { color: var(--sub) !important; }
.member-row-gap { gap: 16px !important; }
.member-main-wrap { display: flex !important; align-items: center !important; gap: 16px !important; flex-wrap: wrap !important; flex: 1 !important; }
.member-name-wrap { min-width: 140px !important; max-width: 260px !important; font-family: var(--font-cond) !important; font-size: 17px !important; font-weight: 700 !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
.member-location-wrap { min-width: 160px !important; font-size: 12px !important; color: var(--sub) !important; display: flex !important; align-items: center !important; gap: 5px !important; }
.member-location-wrap i { color: var(--accent2) !important; font-size: 14px !important; }
.member-contacts-wrap { display: flex !important; align-items: center !important; gap: 5px !important; flex-shrink: 0 !important; }
.member-stats-flex { display: flex !important; gap: 16px !important; align-items: center !important; flex-shrink: 0 !important; }
.member-stat-col { min-width: 65px !important; text-align: center !important; }
.member-stat-date { min-width: 140px !important; text-align: center !important; white-space: nowrap !important; }
.stat-date-text { font-size: 12px !important; font-weight: 600 !important; color: var(--text2) !important; }
.sort-mode-form { display: flex !important; align-items: center !important; gap: 8px !important; flex-wrap: nowrap !important; white-space: nowrap !important; }
.sort-mode-label { font-size: 12px !important; color: var(--muted) !important; white-space: nowrap !important; flex-shrink: 0 !important; }
.sort-select { font-size: 12px !important; }
.pagination-right-wrap { display: flex !important; align-items: center !important; gap: 10px !important; }
.total-users-label { font-size: 12px !important; color: var(--muted) !important; }

/* ─── PROFIL MEMBRE ─── */
.profile-activity-card { margin-bottom: 1.2rem !important; padding: 1.4rem !important; }
.search-user-posts-wrap { margin-top: 8px !important; }
.btn-search-user { font-size: 11px !important; }
.side-signature-card { margin-top: 1.2rem !important; }
.zebra-actions-row { margin-top: 1rem !important; display: flex !important; gap: 8px !important; }
.profile-aside-box { width: 100% !important; border-radius: 12px !important; border: 1px solid var(--border) !important; background: var(--card) !important; }
.prank-img-box { margin-top: 4px !important; }
.pstats-spaced { margin-top: 10px !important; }
.profile-contacts-stack { width: 100% !important; margin-top: 12px !important; padding-top: 10px !important; border-top: 1px solid var(--border) !important; display: flex !important; flex-direction: column !important; gap: 6px !important; }
.profile-admin-shortcuts { width: 100% !important; margin-top: 10px !important; padding-top: 10px !important; border-top: 1px solid var(--border) !important; display: flex !important; flex-direction: column !important; gap: 4px !important; font-size: 11px !important; }
.link-orange { color: var(--orange) !important; }
.link-red { color: var(--red) !important; }
.link-blue { color: var(--blue) !important; }

/* ─── MESSAGE BODY ─── */
.message-widget-box { padding: 2rem !important; }
.message-text-body { font-size: 14px !important; color: var(--text2) !important; line-height: 1.6 !important; margin-bottom: 1.2rem !important; }
.message-return-wrap { margin-top: 1.2rem !important; padding-top: 1rem !important; border-top: 1px solid var(--border) !important; }

/* ─── ATTACHMENTS & UPLOAD ─── */
.attach-panel-box { display: none; padding: 1.2rem !important; background: var(--panel) !important; border: 1px solid var(--border) !important; border-radius: 12px !important; margin-bottom: 1rem !important; }
.attach-explain-text { font-size: 12px !important; color: var(--sub) !important; margin-bottom: 12px !important; }
.attach-size-text { font-size: 11px !important; color: var(--muted) !important; }
.attach-basic-fieldset { display: flex !important; flex-direction: column !important; gap: 10px !important; background: transparent !important; border: none !important; padding: 0 !important; }
.attach-upload-row { display: flex !important; gap: 10px !important; align-items: center !important; }
.attach-file-input { flex: 1 !important; }
.attach-panel-multi { margin-top: 10px !important; }
.attach-file-list-table { margin-top: 1.2rem !important; padding: 0 !important; background: transparent !important; border: none !important; }
.attach-controls-block { margin-top: 4px !important; display: block !important; }
.attachments-sort-links { display: flex !important; gap: 12px !important; font-size: 11px !important; color: var(--sub) !important; }
.attachment-size-muted { font-size: 12px !important; font-weight: normal !important; color: var(--muted) !important; }
.attachments-stats-col { min-width: 140px !important; text-align: right !important; }
.attachments-date-col { width: auto !important; min-width: 140px !important; justify-content: flex-end !important; }

/* ─── POSTING & FORMAT BUTTONS ─── */
.colour-palette-box { display: none; background: var(--panel); border: 1px solid var(--border2); border-radius: 8px; padding: 10px; margin-bottom: 10px; }
.colour-palette-dl { clear: left; margin: 0; }
.font-color-label { font-size: 11px; color: var(--muted); font-weight: 700; text-transform: uppercase; }
.format-buttons-row { display: flex !important; flex-wrap: wrap !important; gap: 4px !important; margin-bottom: 8px !important; }
.bbcode-size-select { font-size: 12px !important; padding: 4px 8px !important; margin: 0 !important; }
select.bbcode-size.bbcode-size-select { width: max-content !important; } /*MOG Ajout pour corriger le bug de largeur du select taille*/
.topic-icons-wrap { margin-bottom: 1.2rem !important; }
.vf-icon-dropdown-container { position: relative !important; display: inline-block !important; margin-top: 4px !important; }
.vf-icon-dropdown-btn { width: auto !important; justify-content: space-between !important; gap: 12px !important; padding: 6px 14px !important; font-size: 13px !important; text-align: left !important; background: var(--dk) !important; border-color: var(--border2) !important; }
.vf-icon-dropdown-label-box { display: inline-flex !important; align-items: center !important; gap: 8px !important; }
.vf-icon-dropdown-menu { display: none; position: absolute !important; top: 100% !important; left: 0 !important; z-index: 1000 !important; background: var(--panel, #161b24) !important; border: 1px solid var(--border2) !important; border-radius: 8px !important; padding: 4px 0 !important; margin-top: 4px !important; max-height: 240px !important; overflow-y: auto !important; box-shadow: 0 10px 25px rgba(0,0,0,0.6) !important; min-width: 220px !important; }
.vf-icon-option { display: flex !important; align-items: center !important; gap: 10px !important; padding: 8px 14px !important; cursor: pointer !important; font-size: 13px !important; color: var(--text2) !important; transition: background 0.15s !important; }
.icon-label-muted { font-size: 12px !important; color: var(--muted) !important; }
.hidden-radios { display: none !important; }
.editor-boxes-row { display: flex !important; gap: 1.2rem !important; flex-wrap: wrap !important; margin-top: 1rem !important; }
.message-box-flex { flex: 1 !important; min-width: 280px !important; }
.inputbox-signature { height: 10em !important; }
.inputbox-message { height: 18em !important; }
.smiley-box-panel { width: 200px !important; padding: 12px !important; flex-shrink: 0 !important; }
.smiley-title { font-family: var(--font-cond); font-size: 12px; font-weight: 700; color: var(--accent2); text-transform: uppercase; margin-bottom: 8px; }
.smiley-grid { display: flex !important; flex-wrap: wrap !important; gap: 6px !important; }
.smiley-item { display: inline-block !important; padding: 2px !important; }
.more-smilies-link { margin-top: 8px !important; padding-top: 6px !important; border-top: 1px solid var(--border) !important; font-size: 11px !important; }
.more-smilies-link a { color: var(--blue) !important; }
.vf-post-tab-submit-btn { background: none !important; border: none !important; padding: 0 !important; font: inherit !important; color: inherit !important; cursor: pointer !important; }
.preview-btn-inner { display: inline-flex !important; align-items: center !important; padding: 8px 16px !important; border-radius: 8px !important; background: var(--panel) !important; border: 1px solid var(--border2) !important; color: var(--sub) !important; font-family: var(--font-cond) !important; font-size: 13px !important; font-weight: 700 !important; text-transform: uppercase !important; }
.preview-btn-inner i { margin-right: 6px !important; }
.panels-container { margin-top: 10px !important; }
.panel-hidden { display: none !important; }
.options-fieldset { display: flex !important; flex-direction: column !important; gap: 8px !important; font-size: 12px !important; color: var(--text2) !important; background: transparent !important; border: none !important; padding: 0 !important; }
.topic-type-toggle-row { margin-top: 8px !important; padding-top: 8px !important; border-top: 1px solid var(--border) !important; display: flex !important; align-items: center !important; gap: 12px !important; }
.radio-topic-type { margin-right: 10px !important; }
.reason-field-margin { margin-top: 8px !important; }
.preview-panel-box { padding: 1.2rem !important; background: var(--panel) !important; border-radius: 12px !important; margin-bottom: 1rem !important; }
.review-panel-box { padding: 1.2rem !important; background: var(--panel) !important; border: 1px solid var(--border) !important; border-radius: 12px !important; margin-bottom: 1rem !important; }
.postingbox-widget { padding: 1.8rem !important; margin-bottom: 1.2rem !important; }
.postingbox-title { font-size: 14px !important; margin-bottom: 14px !important; }
.postingbox-submit-row { display: flex !important; justify-content: flex-end !important; gap: 10px !important; margin-top: 1.5rem !important; padding-top: 1.2rem !important; border-top: 1px solid var(--border) !important; flex-wrap: wrap !important; }

/* ─── SONDAGES ─── */
.poll-panel-box { display: none; padding: 1.2rem !important; background: var(--panel) !important; border: 1px solid var(--border) !important; border-radius: 12px !important; margin-bottom: 1rem !important; }
.poll-explain-text { font-size: 12px !important; color: var(--sub) !important; margin-bottom: 12px !important; }
.poll-fields { display: flex !important; flex-direction: column !important; gap: 12px !important; background: transparent !important; border: none !important; padding: 0 !important; }
.poll-delete-label { color: var(--red) !important; font-weight: 600 !important; }
.poll-sub-explain { font-size: 11px !important; color: var(--muted) !important; margin-top: 2px !important; }
.poll-options-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important; gap: 1rem !important; margin-top: 8px !important; padding-top: 10px !important; border-top: 1px solid var(--border) !important; }
.poll-vote-change-row { margin-top: 8px !important; padding-top: 8px !important; border-top: 1px solid var(--border) !important; font-size: 12px !important; }

/* ─── PRÉVISUALISATION & RELECTURE DU SUJET ─── */
.preview-card-clean { padding: 0 !important; }
.preview-header-row { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 1rem !important; padding-bottom: 8px !important; border-bottom: 1px solid var(--border) !important; }
.preview-header-title { font-family: var(--font-cond) !important; font-size: 18px !important; font-weight: 700 !important; color: var(--accent2) !important; text-transform: uppercase !important; display: flex !important; align-items: center !important; gap: 8px !important; }
.btn-preview-refresh { font-size: 11px !important; padding: 4px 12px !important; }
.preview-poll-widget { padding: 1.2rem !important; margin-bottom: 1.2rem !important; background: rgba(255,255,255,0.02) !important; }
.preview-poll-question { font-family: var(--font-cond) !important; font-size: 16px !important; font-weight: 700 !important; color: var(--text) !important; margin: 0 0 10px 0 !important; }
.preview-poll-meta { font-size: 11px !important; color: var(--muted) !important; margin-bottom: 10px !important; }
.preview-poll-fieldset { display: flex !important; flex-direction: column !important; gap: 8px !important; background: transparent !important; border: none !important; padding: 0 !important; }
.preview-poll-option-row { display: flex !important; align-items: center !important; justify-content: space-between !important; font-size: 13px !important; padding: 6px 12px !important; background: rgba(255,255,255,0.03) !important; border: 1px solid var(--border) !important; border-radius: 6px !important; }
.preview-attachments-box { margin-top: 1rem !important; padding-top: 10px !important; border-top: 1px dashed var(--border) !important; }
.preview-attachments-label { font-family: var(--font-cond) !important; font-size: 12px !important; font-weight: 700 !important; color: var(--muted) !important; text-transform: uppercase !important; margin-bottom: 6px !important; }
.post-review-widget { padding: 1.4rem !important; margin-bottom: 1.5rem !important; background: rgba(248,81,73,0.06) !important; border-color: rgba(248,81,73,0.3) !important; }
.post-review-title { font-family: var(--font-cond) !important; font-size: 18px !important; font-weight: 700 !important; color: var(--red) !important; text-transform: uppercase !important; margin-bottom: 6px !important; display: flex !important; align-items: center !important; gap: 8px !important; }
.post-review-explain { font-size: 13px !important; color: var(--text2) !important; margin-bottom: 1rem !important; }
.post-review-card { margin-bottom: 1rem !important; background: var(--card) !important; border: 1px solid var(--border) !important; border-radius: 10px !important; padding: 1.2rem !important; }
.post-review-author-row { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 8px !important; flex-wrap: wrap !important; gap: 8px !important; }
.post-review-author-info { font-size: 13px !important; color: var(--sub) !important; }
.author-name { color: var(--text) !important; }
.post-date-meta { font-size: 11px !important; color: var(--muted) !important; margin-left: 6px !important; }
.post-review-subject { font-family: var(--font-cond) !important; font-size: 16px !important; font-weight: 700 !important; color: var(--text) !important; margin-bottom: 8px !important; }
.post-review-subject a { color: var(--text) !important; }
.post-review-content { padding: 12px !important; background: var(--dk) !important; border: 1px solid var(--border2) !important; border-radius: 8px !important; font-size: 14px !important; color: var(--text2) !important; line-height: 1.65 !important; }
.topic-review-widget { padding: 0.5rem !important; background: transparent !important; border: none !important; }
.topic-review-header { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 1.2rem !important; padding-bottom: 10px !important; border-bottom: 1px solid var(--border) !important; }
.topic-review-title { font-family: var(--font-cond) !important; font-size: 18px !important; font-weight: 700 !important; color: var(--accent2) !important; text-transform: uppercase !important; display: flex !important; align-items: center !important; gap: 8px !important; }
.topicreview-container { overflow-y: auto !important; padding-right: 8px !important; display: flex !important; flex-direction: column !important; gap: 12px !important; }
.post-ignore { padding: 1rem !important; color: var(--muted) !important; font-style: italic !important; }
.post-deleted-notice { color: var(--red) !important; }
.topicreview-post { margin-bottom: 0 !important; background: var(--card) !important; border: 1px solid var(--border) !important; border-radius: 10px !important; padding: 1.2rem !important; }
.topicreview-author-row { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 10px !important; flex-wrap: wrap !important; gap: 8px !important; }
.topicreview-actions { display: flex !important; gap: 6px !important; }
.topicreview-content-box { padding: 12px !important; background: var(--dk) !important; border: 1px solid var(--border2) !important; border-radius: 8px !important; font-size: 14px !important; color: var(--text2) !important; line-height: 1.65 !important; max-height: 380px !important; overflow-y: auto !important; }
.hidden-decoded-quote { display: none !important; }

/* ─── RECHERCHE ─── */
.search-query-widget, .search-options-widget { padding: 1.8rem !important; margin-bottom: 1.2rem !important; }
.search-section-title { font-size: 14px !important; margin-bottom: 14px !important; }
.search-terms-radio-row { display: flex !important; gap: 15px !important; margin-top: 8px !important; font-size: 12px !important; color: var(--sub) !important; }
.search-author-explain { font-size: 11px !important; color: var(--muted) !important; margin-top: 2px !important; }
.search-options-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important; gap: 1.4rem !important; }
.search-forum-select { height: 130px !important; }
.search-radios-col { display: flex !important; flex-direction: column !important; gap: 12px !important; }
.search-sort-row { display: flex !important; gap: 8px !important; }
.search-submit-row { display: flex !important; justify-content: flex-end !important; gap: 10px !important; margin-top: 1.5rem !important; }
.btn-search-submit-large { padding: 10px 24px !important; }
.search-post-subject-wrap { font-family: var(--font-cond) !important; font-size: 16px !important; font-weight: 700 !important; color: var(--text) !important; margin-bottom: 8px !important; }
.search-post-subject-wrap a { color: var(--text) !important; }
.search-forum-origin { font-size: 12px !important; font-weight: normal !important; color: var(--muted) !important; }
.search-results-bar-bottom { margin-top: 1.5rem !important; }

/* ─── UCP DIVERS & NAVIGATION ─── */
.template-name-text { font-size: 16px !important; color: var(--text) !important; }
.template-game-tag { margin-top: 3px !important; color: var(--blue) !important; }
.template-lastpost-col { width: auto !important; min-width: 200px !important; justify-content: flex-end !important; }
.template-actions-wrap { margin-top: 4px !important; }
.ucp-actions-row { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-top: 1.5rem !important; flex-wrap: wrap !important; gap: 10px !important; }
.notification-options-widget { padding: 1.4rem !important; }
.notification-group-title { font-weight: 700 !important; color: var(--accent2) !important; background: rgba(255,255,255,0.03) !important; }
.notification-explain { font-size: 11px !important; color: var(--muted) !important; }
.notification-title-wrap { font-size: 14px !important; font-weight: 500 !important; }
.notification-reference { color: var(--muted) !important; }
.notification-select-col { width: auto !important; }
.export-csv-widget { padding: 1.8rem !important; margin-bottom: 1rem !important; }
.export-submit-row { display: flex !important; gap: 10px !important; }
.pm-deleted-link { color: var(--red) !important; }
.pm-author-deleted { color: var(--muted) !important; font-style: italic !important; }
.pm-reported-link { color: var(--red) !important; font-weight: bold !important; font-size: 11px !important; }
.pm-meta-desc { margin-top: 2px !important; }
.pm-actions-col { width: auto !important; gap: 10px !important; }
.mark-options-select { font-size: 12px !important; }
.pm-history-nav-row { display: flex !important; justify-content: space-between !important; margin-bottom: 1rem !important; }
.pm-history-next { margin-left: auto !important; }
.pm-subject-heading { font-family: var(--font-cond) !important; font-size: 20px !important; font-weight: 700 !important; color: var(--text) !important; margin-bottom: 8px !important; }
.pm-recipients-meta { font-size: 12px !important; color: var(--sub) !important; margin-bottom: 1rem !important; padding-bottom: 8px !important; border-bottom: 1px solid var(--border) !important; }
.pm-move-options-row { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-top: 1.2rem !important; flex-wrap: wrap !important; gap: 10px !important; }
.dest-folder-label { font-size: 12px !important; color: var(--sub) !important; }
.category-block-front { margin-bottom: 1.5rem !important; }
.front-stats-widget { padding: 1.8rem !important; }
.front-stats-title { font-size: 14px !important; margin-bottom: 14px !important; }
.front-stats-stack { display: flex !important; flex-direction: column !important; gap: 4px !important; }
.front-stat-row { padding: 10px 0 !important; }
.front-stat-label { display: flex !important; align-items: center !important; gap: 8px !important; color: var(--sub) !important; }
.front-stat-value { color: var(--text) !important; }
.stat-sub-detail { font-size: 11px !important; color: var(--muted) !important; display: block !important; }
.stat-search-btn { font-size: 10px !important; padding: 2px 8px !important; margin-top: 4px !important; }
.stat-row-danger { color: var(--red) !important; }
.subscribed-empty-box { padding: 1.2rem !important; margin-bottom: 1.5rem !important; }
.agreement-widget-box { padding: 2rem !important; }
.agreement-text-box { font-size: 13px !important; color: var(--text2) !important; line-height: 1.75 !important; margin-bottom: 1.5rem !important; background: rgba(255,255,255,0.02) !important; border: 1px solid var(--border) !important; border-radius: 10px !important; padding: 1.5rem !important; max-height: 450px !important; overflow-y: auto !important; }
.agreement-buttons-row { display: flex !important; justify-content: center !important; align-items: center !important; gap: 14px !important; margin-top: 1.8rem !important; flex-wrap: wrap !important; }
.lang-selector-label { font-size: 12px !important; color: var(--sub) !important; }
.lang-selector { font-size: 12px !important; padding: 4px 8px !important; }
.sort-icon-accent { color: var(--accent2) !important; }
.sort-icon-muted { font-size: 10px !important; color: var(--muted) !important; }
.sr-hidden-input { position: fixed !important; opacity: 0 !important; pointer-events: none !important; }
.topic-image-field-row { clear: left !important; margin-top: 10px !important; }

/* ==========================================================================
   FOOTER DU SITE & BOUTON RETOUR EN HAUT (BLINDAGE ET VERROUILLAGE)
   ========================================================================== */
.site-footer {
  border-top: 1px solid var(--border) !important;
  padding: 1.5rem 2rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  font-size: 11px !important;
  color: var(--muted) !important;
  flex-wrap: wrap !important;
  gap: 15px !important;
  max-width: var(--max-w) !important;
  margin: auto auto 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.footer-links {
  display: flex !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
  align-items: center !important;
}

.footer-links a {
  color: var(--muted) !important;
  text-decoration: none !important;
  transition: color 0.15s ease !important;
}

.footer-links a:hover {
  color: var(--blue) !important;
}

.footer-links span {
  color: var(--muted) !important;
}

.footer-right {
  display: flex !important;
  gap: 12px !important;
  align-items: center !important;
}

.footer-right a {
  color: var(--muted) !important;
  font-size: 24px !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: color 0.15s ease, transform 0.15s ease !important;
}

.footer-right a:hover {
  color: var(--accent2) !important;
  transform: translateY(-2px) !important;
}

/* ─── BOUTON FLOTTANT DE RETOUR EN HAUT (BACK TO TOP) ─── */
.vf-back-to-top,
#vf_back_to_top {
  position: fixed !important;
  bottom: 24px !important;
  right: 24px !important;
  left: auto !important;
  top: auto !important;
  z-index: 99999 !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  border-radius: 50% !important;
  background: var(--panel, #161b24) !important;
  border: 2px solid var(--accent, #c8922a) !important;
  color: var(--accent2, #e0a83a) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 20px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.6), 0 0 10px rgba(200, 146, 42, 0.2) !important;
  cursor: pointer !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.15s ease !important;
  backdrop-filter: blur(8px) !important;
  text-decoration: none !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.vf-back-to-top.visible,
#vf_back_to_top.visible {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) !important;
}

.vf-back-to-top:hover,
#vf_back_to_top:hover {
  background: var(--accent, #c8922a) !important;
  color: #000000 !important;
  border-color: var(--accent2, #e0a83a) !important;
  box-shadow: 0 6px 20px rgba(200, 146, 42, 0.5) !important;
  transform: translateY(-4px) !important;
}

.vf-back-to-top i,
#vf_back_to_top i {
  font-size: 20px !important;
  line-height: 1 !important;
  color: inherit !important;
}

/* ─── MODALES AJAX & ANCRE DE BAS DE PAGE SANS ESPACE PARASITE ─── */
.darkenwrapper,
#darkenwrapper,
.phpbb_alert,
#phpbb_alert,
#phpbb_confirm {
  display: none;
  position: fixed !important;
  margin: 0 !important;
  z-index: 10 !important;
}

.darkenwrapper {
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  background: rgba(0, 0, 0, 0.75) !important;
  backdrop-filter: blur(4px) !important;
}

.phpbb_alert {
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  background: var(--panel, #161b24) !important;
  border: 1px solid var(--border2, rgba(255, 255, 255, 0.15)) !important;
  border-radius: 12px !important;
  padding: 1.5rem !important;
  max-width: 520px !important;
  width: 90% !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.8) !important;
  color: var(--text, #e6edf3) !important;
}

.phpbb-bottom-anchor-wrap,
a.anchor {
  display: block !important;
  height: 0 !important;
  max-height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  font-size: 0 !important;
  line-height: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
}


/* ─── HABILLAGE UNIVERSEL DES BOUTONS NATIFS UCP / FORMULAIRES ─── */
#cp-main input[type="submit"],
#cp-main input[type="button"],
#cp-main button:not(.btn) {
  background: var(--accent) !important;
  color: #000000 !important;
  border: 1px solid var(--accent) !important;
  font-family: var(--font) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  border-radius: 6px !important;
  padding: 7px 16px !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

#cp-main input[type="submit"]:hover,
#cp-main input[type="button"]:hover,
#cp-main button:not(.btn):hover {
  background: var(--accent2) !important;
  border-color: var(--accent2) !important;
  color: #000000 !important;
}

#cp-main input[type="reset"] {
  background: rgba(255, 255, 255, 0.06) !important;
  color: var(--text2) !important;
  border: 1px solid var(--border2) !important;
  font-family: var(--font) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  border-radius: 6px !important;
  padding: 7px 16px !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
}

#cp-main input[type="reset"]:hover {
  background: rgba(255, 255, 255, 0.12) !important;
  color: var(--text) !important;
}


/* ─── FENÊTRES POPUPS (RECHERCHE DE MEMBRES, SMILEYS) ─── */
body.popup-body {
  background: var(--dk, #0d1117) !important;
  color: var(--text, #e6edf3) !important;
  min-height: 100vh !important;
  padding: 15px !important;
  box-sizing: border-box !important;
}

.popup-wrap {
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.popup-search-wrap {
  width: 100% !important;
  max-width: 800px !important;
  margin: 0 auto !important;
}

.pm-folder-content-wrap {
  width: 100% !important;
}


/* ─── SUPPRESSION STRICTE DU CADRE BLANC ET DES SOUS-BORDURES DE RÉDACTION ─── */
#postingbox fieldset,
#postingbox fieldset.fields1,
#postform fieldset.fields1,
.postingbox-widget fieldset,
.postingbox-widget fieldset.fields1,
fieldset.fields1 {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}

#postingbox .message-box,
#postform .message-box,
.message-box.message-box-flex {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}


/* Cibler tous les inputs et textareas */
::placeholder {
  opacity: 0.4; /* Valeur entre 0 (transparent) et 1 (opaque) */
}


/* Rendu Whois et textes préformatés */
.whois-pre-box {
  margin: 0 !important;
  font-family: monospace !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
  white-space: pre-wrap !important;
  word-break: break-word !important;
  color: var(--text2) !important;
}


/* ─── EN-TÊTE DE CITATION AVEC DATE ET LIEN VERS LE MESSAGE ─── */
.quote-author-name {
  color: var(--accent2, #e0a83a) !important;
  font-weight: 700 !important;
}

.quote-post-link {
  color: var(--blue, #58a6ff) !important;
  font-size: 11px !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
  background: rgba(88, 166, 255, 0.1) !important;
  padding: 1px 6px !important;
  border-radius: 4px !important;
  border: 1px solid rgba(88, 166, 255, 0.2) !important;
  margin-left: 6px !important;
  vertical-align: middle !important;
  transition: all 0.15s ease !important;
}

.quote-post-link:hover {
  background: var(--blue, #58a6ff) !important;
  color: #000000 !important;
}



/* ==========================================================================
   PAGES SPÉCIALES : MAINTENANCE & ERREUR 404
   ========================================================================== */
body.is-maintenance {
  background-color: var(--dk, #0d1117) !important;
  background-image: var(--vf-maintenance-bg, url("../../../../ext/virtualforce/portal/styles/all/theme/images/maintenance/maintenance.png")) !important;
  background-position: center bottom !important;
  background-repeat: no-repeat !important;
  background-size: auto calc(100vh - 80px) !important;
  background-attachment: fixed !important;
}

body.is-error404 {
  background-color: var(--dk, #0d1117) !important;
  background-image: var(--vf-404-bg, url("../../../../ext/virtualforce/portal/styles/all/theme/images/maintenance/404.png")) !important;
  background-position: center bottom !important;
  background-repeat: no-repeat !important;
  background-size: auto calc(100vh - 80px) !important;
  background-attachment: fixed !important;
}

@media (max-width: 900px), (max-height: 750px) {
  body.is-maintenance,
  body.is-error404 {
    background-size: contain !important;
    background-position: center center !important;
  }
}


/* --- Classes pour Overall_Header --- */
.board-disabled-notice { max-width: var(--max-w); width: 100%; margin: 1rem auto 0; padding: 0 2rem; box-sizing: border-box; }
.board-disabled-inner { 
    background: rgba(255, 174, 0, 0.12); border: 1px solid rgba(255, 174, 0, 0.35); border-radius: 10px; 
    padding: 10px 16px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3); 
}
.board-disabled-content { display: flex; align-items: center; gap: 10px; font-size: 13px; }
.board-disabled-content i { color: var(--orange); font-size: 18px; flex-shrink: 0; }
.board-disabled-content strong { color: var(--orange); font-family: var(--font-cond); text-transform: uppercase; letter-spacing: 0.04em; }
.btn-reactivate-forum { font-size: 11px !important; padding: 4px 10px !important; color: var(--orange) !important; border-color: rgba(255, 174, 0, 0.4) !important; background: rgba(255, 174, 0, 0.08) !important; }

/* --- Classes pour Message_Body --- */
.message-widget-maintenance, .message-widget-404 {
    padding: 1.4rem 1.8rem !important;
    background: rgba(22, 27, 36, 0.82) !important;
    backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.7);
}

.message-widget-maintenance { border: 1px solid rgba(255, 174, 0, 0.35) !important; }
.message-widget-404 { 
    border: 1px solid var(--border2) !important; 
    rotate: -5deg; position: relative; right: 30%; top: 25%; 
}

@media (max-width: 900px) { .message-widget-404 { rotate: 0deg; right: 0; top: 0; } }



/* ==========================================================================
   STYLISATION DES PAGES SYSTÈME (MAINTENANCE & 404)
   ========================================================================== */

@media (max-width: 900px) {
    body.section-message:has(.message-widget-maintenance),
    body.section-message:has(.message-widget-404) {
        background-size: contain !important;
        background-position: center center !important;
    }
}

/* Container principal système */
.vf-system-page {
    max-width: 780px !important; 
    margin: 1rem auto 0 !important; 
    position: relative; 
    z-index: 5;
}

/* Widgets Scopes */
.message-widget-maintenance, .message-widget-404 {
    padding: 1.4rem 1.8rem !important;
    background: rgba(22, 27, 36, 0.82) !important;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.7);
}

/* Spécificités Maintenance */
.message-widget-maintenance { border: 1px solid rgba(255, 174, 0, 0.35) !important; }
.message-header-top { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 6px; }
.tag-maintenance { background: rgba(255, 174, 0, 0.15); color: var(--orange); border-color: rgba(255, 174, 0, 0.3); margin-bottom: 0; }
.tag-maintenance .dot { background: var(--orange); }
.message-user-status { font-size: 11px; color: var(--muted); font-style: italic; }
.title-maintenance { font-size: 20px; color: var(--orange); margin: 4px 0 6px 0; display: flex; align-items: center; gap: 8px; border-bottom: none !important;}
.body-maintenance { font-size: 13px; color: var(--text2); line-height: 1.55; margin-bottom: 1rem; }
.footer-maintenance { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; padding-top: 8px; border-top: 1px solid rgba(255, 255, 255, 0.08); }
.btn-staff-login { font-size: 12px; padding: 5px 14px; }
.message-nav-links { display: flex; gap: 8px; }
.message-nav-links .btn { font-size: 12px; padding: 5px 12px; }

/* Spécificités 404 */
.message-widget-404 { 
    border: 1px solid var(--border2) !important; 
    rotate: -5deg; position: relative; right: 15%; top: 15vh; /* Ajusté pour éviter de sortir de l'écran */
}
.tag-system { margin-bottom: 6px; }
.title-404 { font-size: 22px; margin: 4px 0 8px 0; display: flex; align-items: center; gap: 8px; border-bottom: none !important;}
.title-404 i { color: var(--accent2); }
.body-404 { font-size: 14px; color: var(--text2); line-height: 1.65; margin-bottom: 1.2rem; }
.footer-404 { display: flex; justify-content: flex-end; align-items: center; flex-wrap: wrap; gap: 10px; padding-top: 10px; border-top: 1px solid var(--border); }

@media (max-width: 900px) {
    .message-widget-404 { rotate: 0deg; right: 0; top: 0; margin-top: 2rem !important;}
}




/* ==========================================================================
   STYLISATION DES MODALES & FENÊTRES DE CONNEXION (AJAX)
   ========================================================================== */

/* Le conteneur de la modale phpBB */
.phpbb_alert {
    background-color: var(--panel, #161b24) !important;
    border: 1px solid var(--border2, rgba(255, 255, 255, 0.15)) !important;
    border-radius: 12px !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.8) !important;
    padding: 25px !important;
    font-family: var(--font, 'Barlow', sans-serif) !important;
}

/* Le titre de la modale (ex: CONNEXION / INSCRIPTION) */
.phpbb_alert .alert_title {
    font-family: var(--font-cond, 'Barlow Condensed', sans-serif) !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--accent2, #e0a83a) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    border-bottom: 1px solid var(--border, rgba(255, 255, 255, 0.07)) !important;
    padding-bottom: 10px !important;
    margin-bottom: 15px !important;
}

/* Ajustement des champs dans la modale */
.phpbb_alert label {
    color: var(--sub, #8b949e) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    display: block !important;
    margin-bottom: 5px !important;
}

.phpbb_alert input[type="text"], 
.phpbb_alert input[type="password"] {
    background: var(--dk, #0d1117) !important;
    border: 1px solid var(--border2, rgba(255, 255, 255, 0.13)) !important;
    color: var(--text, #e6edf3) !important;
    border-radius: 6px !important;
    padding: 8px 12px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin-bottom: 12px !important;
}

/* Liens (J'ai oublié mon mot de passe) */
.phpbb_alert a {
    color: var(--blue, #58a6ff) !important;
    font-size: 12px !important;
}

/* Case à cocher et texte "Se souvenir de moi" */
.phpbb_alert fieldset dl dt {
    width: auto !important;
}
.phpbb_alert fieldset dl dd {
    margin: 0 !important;
}

/* Boutons dans la modale */
.phpbb_alert input[type="submit"], 
.phpbb_alert .button1, 
.phpbb_alert .button2 {
    background: var(--accent, #c8922a) !important;
    color: #000000 !important;
    border: none !important;
    font-weight: 700 !important;
    font-family: var(--font-cond) !important;
    text-transform: uppercase !important;
    padding: 8px 20px !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    margin-top: 10px !important;
}

.phpbb_alert input[type="submit"]:hover {
    background: var(--accent2, #e0a83a) !important;
}

/* Bouton fermer (X) de la modale */
.alert_close {
    color: var(--muted) !important;
    text-decoration: none !important;
}
.alert_close:hover {
    color: var(--red) !important;
}

/* On retire les bordures blanches par défaut de prosilver */
.phpbb_alert fieldset {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}