*{box-sizing:border-box} html,body{min-height:100%} body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--body-bg);color:var(--text-color);font-family:var(--font);font-size:var(--font-size);font-weight:var(--font-weight);font-style:var(--font-style);line-height:1.5} a{color:var(--link);text-decoration:none} a:hover{text-decoration:underline}.container{width:min(1180px,calc(100% - 28px));margin:24px auto;flex:1 0 auto}.site-header{background:var(--header-bg);color:var(--header-text);position:relative;overflow:hidden;box-shadow:0 6px 22px rgba(0,0,0,.18)}.topline{display:flex;justify-content:space-between;align-items:center;padding:10px 18px}.lang-form select{border:0;border-radius:999px;padding:8px 12px;background:rgba(255,255,255,.92)}.header-inner{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:28px 0;display:flex;align-items:center;gap:24px}.logo-center .header-inner{justify-content:center;text-align:center}.logo-center .header-inner{flex-direction:column}.logo-right .header-inner{flex-direction:row-reverse}.header-logo{height:auto;filter:drop-shadow(0 6px 14px rgba(0,0,0,.28))}.header-text h1{margin:0 0 6px;color:var(--header-title);letter-spacing:.2px}.header-text p{margin:0 0 4px;font-size:1.1em}.header-text small{opacity:.86}.banner{background-position:center;background-size:cover;border-top:1px solid rgba(255,255,255,.25)}.main-nav{display:flex;gap:8px;justify-content:center;align-items:center;padding:11px 12px;background:var(--card-bg);box-shadow:0 3px 12px rgba(0,0,0,.08);position:sticky;top:0;z-index:3;flex-wrap:wrap}.main-nav a{display:inline-flex;padding:9px 14px;border-radius:999px;background:rgba(127,127,127,.08);font-weight:700;color:var(--text-color)}.main-nav a:hover{background:var(--accent);color:var(--accent-text);text-decoration:none}.card,.forum-list,.topic-list,.post,.admin-box{background:var(--card-bg);border-radius:var(--radius);box-shadow:0 8px 24px rgba(0,0,0,.08);border:1px solid rgba(127,127,127,.18);overflow:hidden;margin-bottom:18px}.card{padding:20px}h2,h3{font-size:var(--title-size);margin:0 0 14px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:10px 0 18px}.btn,button,input[type=submit]{border:0;border-radius:12px;background:var(--accent);color:var(--accent-text);padding:10px 14px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.secondary{background:rgba(127,127,127,.15);color:var(--text-color)}.btn.danger,button.danger{background:#b42318;color:#fff}input,textarea,select{width:100%;padding:11px 12px;border-radius:12px;border:1px solid rgba(127,127,127,.32);background:rgba(255,255,255,.76);font:inherit;color:#111}textarea{min-height:150px;resize:vertical}.field{margin-bottom:14px}.field label{font-weight:800;display:block;margin-bottom:6px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.forum-head,.topic-head{display:grid;grid-template-columns:1fr 110px 110px 220px;gap:12px;background:var(--accent);color:var(--accent-text);padding:12px 16px;font-weight:900}.forum-row,.topic-row{display:grid;grid-template-columns:1fr 110px 110px 220px;gap:12px;align-items:center;min-height:var(--forum-row-height);padding:14px 16px;border-top:1px solid rgba(127,127,127,.16)}.forum-title,.topic-title{font-size:var(--topic-title-size);font-weight:900}.desc,.meta{opacity:.78;font-size:.92em}.last{font-size:.9em}.post{padding:0}.post-head{display:flex;justify-content:space-between;gap:12px;background:rgba(127,127,127,.10);padding:12px 16px;font-weight:800}.post-body{padding:18px;white-space:pre-wrap}.attachment{padding:0 18px 18px}.attachment img,.attachment video{max-width:100%;border-radius:14px;box-shadow:0 4px 14px rgba(0,0,0,.16)}.flash{padding:12px 16px;border-radius:12px;margin:0 0 16px;font-weight:800}.flash.ok{background:#d1fadf;color:#054f31}.flash.error{background:#fee4e2;color:#912018}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.tabs a{padding:9px 12px;border-radius:10px;background:var(--card-bg);border:1px solid rgba(127,127,127,.18);font-weight:800}.admin-layout{display:grid;grid-template-columns:250px 1fr;gap:18px}.admin-menu{background:var(--card-bg);border-radius:var(--radius);padding:14px;align-self:start;box-shadow:0 8px 24px rgba(0,0,0,.08)}.admin-menu a{display:block;padding:10px 12px;border-radius:10px;font-weight:800}.admin-menu a:hover{background:rgba(127,127,127,.12);text-decoration:none}.admin-box{padding:18px}.color-row{display:grid;grid-template-columns:1fr 88px;gap:8px;align-items:center}.color-row input[type=color]{padding:3px;height:44px}.preview-box{border:1px dashed rgba(127,127,127,.4);border-radius:14px;padding:15px;min-height:90px;background:rgba(127,127,127,.06)}.site-footer{background:var(--footer-bg);color:var(--footer-text);text-align:center;padding:26px 16px;margin-top:auto;flex-shrink:0}.footer-logo{display:block;margin:0 auto 10px}.footer-content a{color:inherit;text-decoration:underline}.mini-table{width:100%;border-collapse:collapse}.mini-table th,.mini-table td{border-bottom:1px solid rgba(127,127,127,.18);padding:10px;text-align:left}.editor-tools{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.editor-tools button{padding:7px 10px;border-radius:8px}.small{font-size:.88em;opacity:.78}@media(max-width:800px){.forum-head,.topic-head{display:none}.forum-row,.topic-row{grid-template-columns:1fr;gap:4px}.admin-layout{grid-template-columns:1fr}.header-inner,.logo-right .header-inner{flex-direction:column;text-align:center}.container{width:min(100% - 18px,1180px)}.post-head{flex-direction:column}.main-nav{position:relative}}

.admin-moderation form{margin:0}.admin-moderation .toolbar{margin-bottom:0}
.hidden{display:none!important}.check{display:flex!important;align-items:center;gap:8px;margin-top:8px;font-weight:700}.check input{width:auto}.post-tools{padding:0 18px 18px}.post-tools button{padding:8px 12px}.mini-table select{min-width:150px}.mini-table form{margin:2px 0}


.mod-light-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:rgba(127,127,127,.10);margin-bottom:12px}
.mod-light{width:18px;height:18px;border-radius:50%;display:inline-block;box-shadow:0 0 0 4px rgba(127,127,127,.12)}
.mod-light.alert-red{background:#e11d48;box-shadow:0 0 0 4px rgba(225,29,72,.18),0 0 18px rgba(225,29,72,.9)}
.mod-light.alert-green{background:#16a34a;box-shadow:0 0 0 4px rgba(22,163,74,.18),0 0 14px rgba(22,163,74,.55)}
.blink{animation:blinkLight .85s infinite alternate}@keyframes blinkLight{from{opacity:.35;transform:scale(.92)}to{opacity:1;transform:scale(1.08)}}
.nav-alert-dot{width:10px;height:10px;background:#e11d48;border-radius:999px;display:inline-block;box-shadow:0 0 10px rgba(225,29,72,.9);animation:blinkLight .85s infinite alternate}
.inline-form{display:inline-flex;margin:0}.post-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.post-tools .secondary{background:rgba(127,127,127,.15);color:var(--text-color)}.soft-box{box-shadow:none;background:rgba(127,127,127,.06)}

.import-box{margin-top:12px;border:1px dashed rgba(127,127,127,.35);border-radius:14px;padding:14px;background:rgba(127,127,127,.06)}
.widget-zone{width:min(1180px,calc(100% - 28px));margin:12px auto;position:relative;z-index:2}.widget-content{max-width:100%}.widget-header,.widget-footer{width:100%;margin:0}.widget-sidebar_left,.widget-sidebar_right{position:fixed;top:190px;width:170px;max-width:18vw;z-index:1}.widget-sidebar_left{left:12px}.widget-sidebar_right{right:12px}.widget-sidebar_left .widget-content,.widget-sidebar_right .widget-content{overflow:hidden}.mini-table td form button{margin:2px}@media(max-width:1100px){.widget-sidebar_left,.widget-sidebar_right{position:static;width:min(1180px,calc(100% - 28px));max-width:none;margin:12px auto}.widget-sidebar_left .widget-content,.widget-sidebar_right .widget-content{overflow:visible}}


.side-photo{position:fixed;z-index:0;height:auto;max-height:calc(100vh - 40px);object-fit:contain;pointer-events:none;filter:drop-shadow(0 10px 24px rgba(0,0,0,.28))}
.side-photo-left{left:12px}.side-photo-right{right:12px}.site-header,.main-nav,.container,.site-footer{position:relative;z-index:2}
@media(max-width:1250px){.side-photo{display:none}}


/* V11 - bloc haut de page fixe */
.top-fixed-zone{width:100%;}
.fixed-header-enabled .top-fixed-zone{position:sticky;top:0;z-index:2000;box-shadow:0 6px 22px rgba(0,0,0,.18)}
.fixed-header-enabled .site-header{position:relative;z-index:auto;box-shadow:none}
.fixed-header-enabled .main-nav{position:relative;top:auto;z-index:auto;box-shadow:0 3px 12px rgba(0,0,0,.10)}
@media(max-width:760px){
  .fixed-header-enabled .site-header{max-height:58vh;overflow:auto}
  .fixed-header-enabled .header-inner{padding:14px 0;gap:12px}
}


/* V12 - bas de page fixe et bas de page toujours placé en bas */
.top-fixed-zone{flex-shrink:0}
.fixed-footer-enabled{padding-bottom:var(--fixed-footer-space,110px)}
.fixed-footer-enabled .site-footer{position:fixed;left:0;right:0;bottom:0;z-index:1900;margin-top:0;box-shadow:0 -6px 22px rgba(0,0,0,.18)}
.fixed-footer-enabled .container{padding-bottom:18px}
@media(max-width:760px){.fixed-footer-enabled{padding-bottom:var(--fixed-footer-space,130px)}.fixed-footer-enabled .site-footer{max-height:42vh;overflow:auto}}

/* V14 - smileys dans les messages et réglages */
.smiley-picker{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 10px;padding:8px;border:1px solid rgba(127,127,127,.18);border-radius:12px;background:rgba(127,127,127,.06)}
.smiley-btn{width:38px;height:38px;min-width:38px;padding:3px;border-radius:10px;background:rgba(127,127,127,.12);color:var(--text-color);font-size:22px;line-height:1;border:1px solid rgba(127,127,127,.12)}
.smiley-btn:hover{background:var(--accent);color:var(--accent-text)}
.smiley-btn img{max-width:28px;max-height:28px;display:block;margin:auto}
.msg-smiley-img{display:inline-block;vertical-align:-.28em;margin:0 2px;object-fit:contain}
.msg-smiley-emoji{display:inline-block;margin:0 1px;font-size:1.25em;vertical-align:-.12em}
.admin-smiley-preview{width:34px;height:34px;object-fit:contain;vertical-align:middle}
.admin-smiley-emoji{font-size:30px;line-height:1}
.translation-row{border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:12px;margin:12px 0;background:rgba(0,0,0,.025)}
.translation-row .grid{margin-top:8px}

/* V22 - voyant modération dans la barre du haut + blocs traduction */
.main-nav a .nav-mod-status{margin-left:8px}
.nav-mod-status{display:inline-flex;align-items:center;gap:6px;vertical-align:middle}
.nav-mod-status .mod-light{width:12px;height:12px;box-shadow:0 0 0 3px rgba(127,127,127,.12)}
.nav-mod-label{font-size:.82em;font-weight:800;opacity:.92}
.translation-details{margin:12px 0;padding:12px;border:1px solid rgba(127,127,127,.22);border-radius:14px;background:rgba(127,127,127,.06)}
.translation-details summary{cursor:pointer;font-weight:900;margin-bottom:10px}
.translation-row{border:1px solid rgba(127,127,127,.18);border-radius:14px;padding:12px;margin:10px 0;background:rgba(255,255,255,.28)}
@media(max-width:760px){.nav-mod-label{display:none}.main-nav a .nav-mod-status{margin-left:4px}}

/* V24 - optimisation téléphone portable */
@media (max-width: 760px){
  html{font-size:17px;-webkit-text-size-adjust:100%}
  body{font-size:max(16px,var(--font-size));line-height:1.55;overflow-x:hidden}
  .container{width:100%;margin:12px auto;padding:0 10px;flex:1 0 auto}
  .card,.forum-list,.topic-list,.post,.admin-box{border-radius:16px;margin-bottom:14px;box-shadow:0 4px 16px rgba(0,0,0,.10)}
  .card,.admin-box{padding:16px}
  .topline{padding:8px 10px;gap:8px;flex-wrap:wrap;justify-content:center}
  .lang-form{width:100%;display:flex;justify-content:center}
  .lang-form select{width:min(100%,320px);font-size:16px;padding:10px 14px}
  .header-inner,.logo-right .header-inner,.logo-center .header-inner{width:100%;padding:12px 12px;gap:10px;flex-direction:column;text-align:center}
  .header-logo{max-height:72px!important;width:auto!important;max-width:140px!important}
  .header-text h1{font-size:clamp(22px,7vw,32px)!important;line-height:1.12;margin-bottom:4px;word-break:break-word}
  .header-text p{font-size:1rem;line-height:1.35;margin-bottom:2px}
  .header-text small{display:block;font-size:.9rem;line-height:1.25}
  .banner{max-height:120px}
  .fixed-header-enabled .top-fixed-zone{position:sticky;top:0;z-index:3000}
  .fixed-header-enabled .site-header{max-height:44vh;overflow:auto}
  .main-nav{position:sticky;top:0;z-index:2900;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:9px 8px}
  .main-nav a{min-height:46px;padding:10px 8px;border-radius:12px;font-size:.96rem;text-align:center;justify-content:center;white-space:normal;line-height:1.18}
  .toolbar{display:grid;grid-template-columns:1fr;gap:10px;margin:10px 0 14px}
  .toolbar .btn,.toolbar button,.toolbar input[type=submit],.btn,button,input[type=submit]{width:100%;min-height:48px;font-size:16px;border-radius:14px;padding:12px 14px}
  input,textarea,select{font-size:16px;min-height:48px;padding:12px 13px;border-radius:14px}
  textarea{min-height:180px}
  h2,h3{font-size:clamp(21px,6vw,28px);line-height:1.2}

  .forum-head,.topic-head{display:none}
  .forum-row,.topic-row{display:block;min-height:0;padding:16px 14px;margin:10px;border:1px solid rgba(127,127,127,.18);border-radius:16px;background:rgba(127,127,127,.045)}
  .forum-row>div:first-child,.topic-row>div:first-child{margin-bottom:12px}
  .forum-title,.topic-title{display:block;font-size:clamp(20px,5.8vw,27px);line-height:1.2;margin-bottom:6px}
  .desc,.meta{font-size:1rem;opacity:.88;line-height:1.42}
  .mobile-stat{display:flex!important;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;padding:10px 12px;border-radius:12px;background:rgba(127,127,127,.10);font-weight:900;font-size:1.03rem}
  .mobile-stat:before{content:attr(data-label);font-weight:800;opacity:.82}
  .last{display:block;margin-top:10px;padding:11px 12px;border-radius:12px;background:rgba(127,127,127,.10);font-size:.98rem;line-height:1.35}
  .last:before{content:attr(data-label);display:block;margin-bottom:4px;font-weight:900;opacity:.82}
  .post-head{padding:13px 14px;font-size:1rem}
  .post-body{padding:16px;font-size:1.04rem;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
  .attachment{padding:0 14px 14px}
  .attachment img,.attachment video,.attachment audio{width:100%;max-width:100%}
  .post-tools{display:grid;grid-template-columns:1fr;gap:8px;padding:0 14px 14px}
  .smiley-picker{gap:8px;padding:10px;max-height:160px;overflow:auto}
  .smiley-btn{width:44px;height:44px;min-width:44px;font-size:25px}

  .admin-layout{grid-template-columns:1fr;gap:12px}
  .admin-menu{position:relative;top:auto;padding:10px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .admin-menu a{display:flex;min-height:44px;align-items:center;justify-content:center;text-align:center;padding:9px;border-radius:12px;font-size:.94rem}
  .grid{grid-template-columns:1fr;gap:10px}
  .mini-table,.mini-table tbody,.mini-table tr,.mini-table td,.mini-table th{display:block;width:100%}
  .mini-table tr{margin:0 0 12px;padding:10px;border:1px solid rgba(127,127,127,.16);border-radius:14px;background:rgba(127,127,127,.045)}
  .mini-table th{display:none}
  .mini-table td{border:0;padding:7px 4px;overflow-wrap:anywhere}
  .mini-table td form{display:grid;grid-template-columns:1fr;gap:8px}

  .fixed-footer-enabled{padding-bottom:var(--fixed-footer-space,96px)}
  .fixed-footer-enabled .site-footer{max-height:30vh;overflow:auto;padding:12px 10px;font-size:.92rem}
  .site-footer{padding:18px 12px}
  .footer-logo{max-height:54px!important;width:auto!important}
  .widget-zone{width:100%;padding:0 10px;margin:10px auto}
}

@media (max-width: 420px){
  .main-nav{grid-template-columns:1fr}
  .admin-menu{grid-template-columns:1fr}
  .container{padding:0 8px}
  .forum-row,.topic-row{margin:8px 6px;padding:14px 12px}
}


/* V25 : titre du site paramétrable séparément */
.site-title-main{font-family:var(--site-title-font);font-size:var(--site-title-size);font-weight:var(--site-title-weight);font-style:var(--site-title-style);line-height:1.12;margin:0;word-break:break-word;}
@media (max-width: 720px){.site-title-main{font-size:min(var(--site-title-size), 34px)!important;}}

/* V26 : première page dédiée à la connexion, forum sur une seconde page */
.login-home{min-height:45vh;display:flex;align-items:center;justify-content:center;padding:24px 0}
.login-card{width:min(560px,100%);margin:auto}
.login-card h2{text-align:center;margin-top:0}
.login-actions{margin-top:16px;text-align:center}
@media(max-width:760px){.login-home{min-height:auto;padding:12px 0}.login-card{width:100%}.login-card input[type=submit],.login-card .btn{width:100%;min-height:48px;font-size:17px}}


/* V28 - vraie séparation page de connexion / forum interne */
.auth-only-page {
  min-height: 100vh;
  background: radial-gradient(circle at top, rgba(255,255,255,.18), transparent 35%), var(--body-bg);
  display: flex;
  align-items: stretch;
  justify-content: center;
  padding: 0;
}
.auth-shell {
  width: 100%;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 28px;
}
.auth-panel {
  width: min(680px, 100%);
  background: var(--card-bg);
  color: var(--text-color);
  border-radius: calc(var(--radius) + 10px);
  box-shadow: 0 18px 55px rgba(0,0,0,.22);
  padding: 28px;
  border: 1px solid rgba(0,0,0,.08);
}
.auth-language { text-align: right; margin-bottom: 16px; }
.auth-brand {
  background: var(--header-bg);
  color: var(--header-text);
  border-radius: var(--radius);
  padding: 26px 22px;
  text-align: center;
  margin-bottom: 22px;
}
.auth-brand h1 { margin: 0 0 8px; color: var(--header-title) !important; }
.auth-brand p { margin: 0; opacity: .94; font-size: 1.05rem; }
.auth-card h2 { margin-top: 0; font-size: 1.8rem; }
.auth-note { font-size: 1.02rem; opacity: .85; }
.auth-form input[type="text"], .auth-form input[type="password"], .auth-form input:not([type]) {
  font-size: 1.08rem;
  min-height: 48px;
}
.auth-form input[type="submit"] {
  width: 100%;
  min-height: 52px;
  font-size: 1.12rem;
  margin-top: 10px;
}
.auth-links {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 18px;
}
.forum-internal-intro h2 { margin-top: 0; }
@media (max-width: 640px) {
  .auth-shell { padding: 14px; align-items: flex-start; }
  .auth-panel { padding: 18px; border-radius: 20px; }
  .auth-brand { padding: 22px 14px; }
  .auth-brand h1 { font-size: clamp(28px, 8vw, 42px) !important; }
  .auth-card h2 { font-size: 1.55rem; }
  .auth-links { flex-direction: column; align-items: stretch; }
  .auth-links a { text-align: center; width: 100%; }
}


/* V29 - page d'entrée habillée + forum interne allégé pour téléphone */
.forum-lite-page{min-height:100vh;background:var(--body-bg);color:var(--text-color);font-family:var(--forum-font);font-size:var(--forum-font-size);font-weight:var(--forum-font-weight);font-style:var(--forum-font-style);line-height:1.5;display:flex;flex-direction:column;}
.forum-lite-page .forum-lite-nav{position:sticky;top:0;z-index:5000;margin:0;border-bottom:1px solid rgba(127,127,127,.16);box-shadow:0 3px 14px rgba(0,0,0,.10)}
.forum-lite-page .forum-lite-container{width:min(1180px,calc(100% - 20px));margin:14px auto 26px;flex:1 0 auto;}
.forum-lite-page .forum-internal-intro{display:none;}
.forum-lite-lang{display:inline-flex;align-items:center;margin-left:4px;}
.forum-lite-lang .lang-form{margin:0;}
.forum-lite-lang select{max-width:190px;min-height:38px;padding:7px 10px;font-size:.95rem;}
.login-home{min-height:52vh;display:flex;align-items:center;justify-content:center;padding:24px 0;}
.login-card{width:min(620px,100%);margin:auto;}
.login-card h2{text-align:center;margin-top:0;}
.login-card .auth-note{text-align:center;}
.login-actions{margin-top:16px;text-align:center;}
@media(max-width:760px){
  .forum-lite-page .forum-lite-container{width:100%;margin:8px auto 18px;padding:0 8px;}
  .forum-lite-page .main-nav{position:sticky;top:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:8px;}
  .forum-lite-page .main-nav a{min-height:44px;font-size:.94rem;padding:9px 8px;}
  .forum-lite-lang{grid-column:1/-1;width:100%;justify-content:center;}
  .forum-lite-lang .lang-form{width:100%;}
  .forum-lite-lang select{width:100%;max-width:none;min-height:44px;font-size:16px;}
  .forum-lite-page .card,.forum-lite-page .forum-list,.forum-lite-page .topic-list,.forum-lite-page .post{margin-left:0;margin-right:0;border-radius:14px;}
  .forum-lite-page .forum-row,.forum-lite-page .topic-row{margin:8px 0;padding:15px 12px;}
  .forum-lite-page .forum-title,.forum-lite-page .topic-title{font-size:clamp(21px,6.4vw,29px);}
  .login-home{min-height:48vh;padding:14px 0;}
  .login-card{width:100%;}
  .login-card input[type=submit],.login-card .btn{width:100%;min-height:50px;font-size:17px;}
}
@media(max-width:420px){.forum-lite-page .main-nav{grid-template-columns:1fr}.forum-lite-page .forum-lite-container{padding:0 6px}}


/* V30 - Habillage indépendant de la page forum interne */
.forum-page-header{background:var(--forum-header-bg);color:var(--forum-header-text);display:flex;align-items:center;justify-content:center;gap:16px;padding:14px 18px;text-align:center;box-shadow:0 4px 16px rgba(0,0,0,.14);position:relative;z-index:20}
.forum-header-logo{height:auto;max-height:130px;object-fit:contain;filter:drop-shadow(0 4px 12px rgba(0,0,0,.28))}
.forum-page-header-text{display:flex;flex-direction:column;gap:4px;font-size:1.05em}
.forum-page-header-text strong{font-family:var(--site-title-font);font-size:clamp(22px,4vw,var(--site-title-size));font-weight:var(--site-title-weight);font-style:var(--site-title-style);line-height:1.1;color:inherit}
.forum-page-footer{background:var(--forum-footer-bg);color:var(--forum-footer-text);text-align:center;padding:18px 12px;margin-top:auto;position:relative;z-index:20;box-shadow:0 -3px 12px rgba(0,0,0,.10)}
.forum-footer-logo{display:block;margin:0 auto 8px;height:auto;object-fit:contain}
/* V34 - affichage fiable des deux grandes photos latérales sur les pages forum */
.forum-side-decorations{position:fixed;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.forum-side-photo{position:fixed;top:var(--forum-side-photo-top,90px);width:var(--forum-side-photo-width,220px);height:auto;max-height:calc(100vh - 30px);object-fit:contain;opacity:var(--forum-side-photo-opacity,1);pointer-events:none;filter:drop-shadow(0 10px 24px rgba(0,0,0,.24))}
.forum-side-photo-left{left:8px}.forum-side-photo-right{right:8px}
.forum-has-side-photos .forum-lite-nav,.forum-has-side-photos .forum-lite-container,.forum-has-side-photos .forum-page-header,.forum-has-side-photos .forum-page-footer{position:relative;z-index:5}
@media(max-width:900px){.forum-side-decorations{display:block}.forum-side-photo{top:var(--forum-side-photo-top,74px);width:min(var(--forum-side-photo-width,180px),24vw);height:calc(100vh - var(--forum-side-photo-top,74px));max-height:none;object-fit:cover;opacity:calc(var(--forum-side-photo-opacity,1) * .42);filter:none}.forum-side-photo-left{left:0}.forum-side-photo-right{right:0}.forum-has-side-photos .forum-lite-container{position:relative;z-index:5;background:rgba(255,255,255,.88)}}
@media(max-width:760px){.forum-page-header{padding:10px 8px;gap:10px;flex-direction:column}.forum-header-logo{max-height:84px}.forum-page-header-text strong{font-size:clamp(20px,7vw,32px)}.forum-page-footer{padding:12px 8px}.forum-footer-logo{max-height:70px}.forum-has-header .forum-lite-nav{position:sticky;top:0}}


/* V31 - application du thème et position du logo sur la page forum */
.forum-lite-page{background:var(--body-bg);color:var(--text-color);font-family:var(--forum-font);font-size:var(--forum-font-size);font-weight:var(--forum-font-weight);font-style:var(--forum-font-style)}
.forum-page-header.forum-logo-left{justify-content:flex-start;text-align:left}
.forum-page-header.forum-logo-center{justify-content:center;text-align:center;flex-direction:column}
.forum-page-header.forum-logo-right{justify-content:flex-end;text-align:right;flex-direction:row-reverse}
.forum-page-header.forum-logo-center .forum-header-logo{margin-left:auto;margin-right:auto;display:block}
.forum-has-side-photos .forum-lite-container{width:min(1080px,calc(100% - 28px));}
@media(min-width:901px){.forum-has-side-photos .forum-lite-container{width:min(980px,calc(100% - 360px));}}
@media(max-width:760px){.forum-page-header.forum-logo-left,.forum-page-header.forum-logo-right{justify-content:center;text-align:center;flex-direction:column}.forum-has-side-photos .forum-lite-container{width:100%;}}

/* V35 : phrase paramétrable sous le bouton Connexion */
.login-button-note{margin:12px 0 0;text-align:center;font-size:1rem;opacity:.9;}


/* V36 - Administration interne mobile : pas de retour visuel vers la page d'entrée */
.admin-internal-page .forum-lite-container{width:min(100% - 20px,1280px);padding-top:14px}
.admin-mobile-title{display:none;margin-bottom:12px;padding:12px 14px;align-items:center;justify-content:space-between;gap:10px}
.admin-mobile-title strong{font-size:1.05rem}.admin-mobile-title span{opacity:.78;font-weight:800}
.admin-internal-page .admin-layout{grid-template-columns:240px minmax(0,1fr);align-items:start}
.admin-internal-page .admin-menu{position:sticky;top:64px;z-index:1200;max-height:calc(100vh - 82px);overflow:auto}
.admin-internal-page .admin-box{overflow-x:auto}.admin-internal-page .mini-table{min-width:680px}
.admin-internal-page .forum-lite-nav{z-index:5200}
@media(max-width:760px){
  .admin-internal-page .forum-lite-container{width:100%;padding:8px 8px 72px;margin:0 auto}
  .admin-mobile-title{display:flex;border-radius:14px;margin:8px 0 10px}
  .admin-internal-page .admin-layout{display:block;width:100%}
  .admin-internal-page .admin-menu{position:sticky;top:58px;z-index:5100;display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;max-height:none;margin:0 -8px 12px;padding:8px;border-radius:0;border-top:1px solid rgba(127,127,127,.16);border-bottom:1px solid rgba(127,127,127,.16);box-shadow:0 5px 16px rgba(0,0,0,.10);scroll-snap-type:x proximity}
  .admin-internal-page .admin-menu .mod-light-card{flex:0 0 auto;margin:0;min-height:42px;padding:8px 10px;scroll-snap-align:start}
  .admin-internal-page .admin-menu a{flex:0 0 auto;display:inline-flex;min-height:42px;align-items:center;justify-content:center;padding:8px 12px;font-size:.92rem;border-radius:12px;scroll-snap-align:start;background:rgba(127,127,127,.08)}
  .admin-internal-page .admin-box{padding:12px;margin-bottom:12px;border-radius:14px}
  .admin-internal-page .grid{grid-template-columns:1fr;gap:10px}
  .admin-internal-page input,.admin-internal-page textarea,.admin-internal-page select{font-size:16px;min-height:44px}
  .admin-internal-page button,.admin-internal-page input[type=submit],.admin-internal-page .btn{min-height:44px}
  .admin-internal-page .mini-table{display:block;min-width:0;width:100%;overflow-x:auto}
  .admin-internal-page .toolbar{display:flex;flex-wrap:wrap;gap:8px}.admin-internal-page .toolbar>*{flex:1 1 auto}
}


/* V41 - Carte visiteurs réelle, locale, sans dépendance externe */
.visitor-stats-box{margin-top:18px}
.visitor-counters .preview-box{font-size:1.12rem;text-align:center}
.visitor-counters .preview-box b{display:block;margin-bottom:8px;font-size:.95rem;opacity:.86}
.visitor-map{position:relative;height:340px;border-radius:18px;overflow:hidden;background:#0b1a2b;border:1px solid rgba(127,127,127,.24);box-shadow:inset 0 0 38px rgba(0,0,0,.22),0 12px 28px rgba(0,0,0,.16);margin:12px 0}
.visitor-world-svg{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:1}
.visitor-map:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.08),transparent 52%),linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.28));z-index:2;pointer-events:none}
.visitor-pin{position:absolute;transform:translate(-50%,-50%);width:24px;height:24px;border-radius:50%;background:#17c964;border:3px solid #fff;box-shadow:0 0 0 7px rgba(23,201,100,.22),0 8px 18px rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;color:#063b1e;font-weight:900;font-size:10px;z-index:6}
.visitor-pin em{font-style:normal;line-height:1}.visitor-table{width:100%;margin-top:12px}.visitor-details{margin-top:12px}.visitor-details summary{cursor:pointer;font-weight:800;padding:10px 0}
@media(max-width:760px){.visitor-map{height:240px;border-radius:14px}.visitor-counters{grid-template-columns:1fr}.visitor-table{display:block;overflow-x:auto;white-space:nowrap}.visitor-pin{width:22px;height:22px}}
/* V42 - Carte visiteurs plus précise */
.visitor-map-precise-wrap{margin:12px 0}
.visitor-map-precise{position:relative;height:460px;border-radius:18px;overflow:hidden;background:#0b1a2b;border:1px solid rgba(127,127,127,.24);box-shadow:inset 0 0 38px rgba(0,0,0,.18),0 12px 28px rgba(0,0,0,.16)}
.visitor-map-precise .visitor-map-fallback{position:absolute;inset:0;height:100%;margin:0;border:0;border-radius:0}
.visitor-map-precise.leaflet-ready .visitor-map-fallback{display:none}
.visitor-map-actions{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 4px}
.visitor-map-actions .secondary{width:auto;padding:10px 14px;border-radius:12px}
.visitor-map-precise .leaflet-control-attribution{font-size:10px}
@media(max-width:760px){.visitor-map-precise{height:330px;border-radius:14px}.visitor-map-actions .secondary{width:100%}}

/* V43 - Historique de connexion / activité administrateur */
.visit-history-box{margin-top:18px}
.history-table{width:100%;margin-top:12px}
.history-table th{white-space:nowrap}
.history-table td{vertical-align:top}
.history-table .small{font-size:.82rem;opacity:.78;word-break:break-all}
@media(max-width:760px){.history-table{display:block;overflow-x:auto;white-space:nowrap}.visit-history-box h2{font-size:1.35rem}}
