/* ============================================================
   STYLES GLOBAUX — Friche Mimi 2026
   Chargé dans le <head> de index.php
   ============================================================ */

/* ─── VARIABLES GLOBALES ─────────────────────────────────── */
:root {
    --menu-btn-height : 35px;
    --menu-btn-width  : 120px;
    --content-shift   : -50px;

    /* ╔══════════════════════════════════════════════════════╗
       ║        TAILLES DE POLICE — RÉGLAGES RAPIDES         ║
       ╠══════════════════════════════════════════════════════╣
       ║  BUREAU                                              ║
       ║  Boutons principaux du menu (ex : La Saison…)       */
    --font-menu-bureau        : 13px;
    /*  Sous-boutons du menu (ex : Intro, Structures…)       */
    --font-sous-menu-bureau   : 11px;
    /* ╠══════════════════════════════════════════════════════╣
       ║  SMARTPHONE                                          ║
       ║  Boutons principaux du menu                         */
    --font-menu-mobile        : 13px;
    /*  Sous-boutons du menu                                  */
    --font-sous-menu-mobile   : 10px;
    /* ╠══════════════════════════════════════════════════════╣
       ║  CONTENU                                             ║
       ║  Lien "En savoir plus"                              */
    --font-lien-savoir-plus   : 14px;
    /* ╚══════════════════════════════════════════════════════╝ */

    /* ── cartoon-border-sketch : réglages ───────────────────
       Changer ces valeurs pour ajuster fond, bordure, opacité  */
    --sketch-color   : #a8c2f0;  /* couleur du fond intérieur ET de la bordure */
    --sketch-opacity : 1;      /* opacité globale du bloc (0 à 1)            */
    /* ─────────────────────────────────────────────────────── */

    /* ── cartoon-border-sketch2 : réglages ──────────────────
       Changer ces valeurs pour ajuster fond, bordure, opacité  */
    --sketch2-color   : #a8c2f0;  /* couleur du fond intérieur ET de la bordure */
    --sketch2-opacity : 0.8;        /* opacité globale du bloc (0 à 1)            */
    /* ─────────────────────────────────────────────────────── */

    /* ── cartoon-border-sketch3 : réglages ──────────────────
       Changer ces valeurs pour ajuster fond, bordure, opacité  */
    --sketch3-color   : #82abae;  /* couleur du fond intérieur ET de la bordure */
    --sketch3-opacity : 1;        /* opacité globale du bloc (0 à 1)            */
    /* ─────────────────────────────────────────────────────── */

    /* ── fenêtre remerciements : réglages ───────────────────
       Taille de la fenêtre (adaptable, voir max-width/height)  */
    --remerciements-largeur : 500px;
    --remerciements-hauteur : 500px;
    --remerciements-z-index : 100000;
    /* Même dégradé que le preloader (.preloader, ligne ~8)     */
    --remerciements-gradient : linear-gradient(135deg, #b3ceff 0%, #e72962 100%);
    /* ─────────────────────────────────────────────────────── */
}

/* ─── RESET DE BASE ──────────────────────────────────────── */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* ─── BODY ───────────────────────────────────────────────── */
body {
    font-family: "Noto Sans", sans-serif;
    overflow: hidden;
    position: fixed;
    width: 100%;
    height: 100%;
}

body.hide-scrollbars {
    overflow: hidden !important;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

body.hide-scrollbars::-webkit-scrollbar {
    display: none;
}

/* ─── FALLBACK (connexion lente) ─────────────────────────── */
body.fallback-active {
    background: #b3ceff !important;
}

body.fallback-active::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: repeating-linear-gradient(
        0deg,
        transparent,
        transparent 2px,
        rgba(0, 0, 0, 0.03) 2px,
        rgba(0, 0, 0, 0.03) 4px
    );
    pointer-events: none;
    opacity: 0.5;
    z-index: 9999;
}

.fallback-message {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
    padding: clamp(2rem, 5vw, 3.5rem) clamp(1.5rem, 4vw, 3rem);
    border-radius: 8px;
    box-shadow:
        0 10px 30px rgba(0, 0, 0, 0.15),
        0 0 0 1px rgba(255, 255, 255, 0.3) inset;
    text-align: center;
    max-width: 600px;
    width: 90%;
    z-index: 10000;
    display: none;
    cursor: pointer;
}

.fallback-message h2 {
    color: #ffffff;
    font-size: clamp(1.75rem, 6vw, 4rem);
    font-weight: 700;
    margin-bottom: clamp(1.5rem, 4vw, 2.5rem);
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
    letter-spacing: 0.5px;
    position: absolute;
    top: -4rem;
    left: 50%;
    transform: translateX(-50%);
    width: max-content;
    max-width: 90vw;
}

.fallback-message p {
    color: #a8c5e6;
    font-size: clamp(0.95rem, 2.5vw, 1.3rem);
    line-height: 1.7;
    margin-bottom: clamp(1.5rem, 4vw, 2.5rem);
    font-weight: 400;
}

#countdown {
    color: #e63946;
    font-size: clamp(5rem, 18vw, 9rem);
    font-weight: 900;
    line-height: 1;
}

/* ─── PRELOADER ───────────────────────────────────────────── */
.preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #b3ceff 0%, #e72962 100%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    opacity: 1;
    transition: opacity 0.5s ease-out;
}

.preloader.fade-out {
    opacity: 0;
    pointer-events: none;
}

.preloader-logo {
    width: 120px;
    height: 120px;
    margin-bottom: 30px;
    animation: pulse 2s infinite;
}

.preloader-text {
    color: white;
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 20px;
    text-align: center;
    animation: fadeInOut 2s infinite;
}

.preloader-spinner {
    width: 60px;
    height: 60px;
    border: 4px solid rgba(255, 255, 255, 0.3);
    border-top: 4px solid white;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

.preloader-progress {
    width: 300px;
    height: 4px;
    background: rgba(255, 255, 255, 0.3);
    border-radius: 2px;
    margin-top: 20px;
    overflow: hidden;
}

.preloader-progress-bar {
    height: 100%;
    background: white;
    border-radius: 2px;
    width: 0%;
    transition: width 0.3s ease;
}

@keyframes pulse {
    0%   { transform: scale(1); }
    50%  { transform: scale(1.1); }
    100% { transform: scale(1); }
}

@keyframes fadeInOut {
    0%, 100% { opacity: 0.7; }
    50%       { opacity: 1; }
}

@keyframes spin {
    0%   { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* ─── CONTENU PRINCIPAL ───────────────────────────────────── */
.main-content {
    opacity: 0;
    transition: opacity 0.5s ease-in;
}

.main-content.loaded {
    opacity: 1;
}

/* ─── BANDEAU FIXE ────────────────────────────────────────── */
.bandeau-fixe {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 153px;
    background-image: url('imgs/deg.png');
    background-repeat: repeat-x;
    background-position: center;
    z-index: 999;
    opacity: 1;
    transition: opacity 0.5s ease-in-out;
}

.bandeau-fixe.hidden {
    opacity: 0;
    pointer-events: none;
    display: none;
}

/* ─── LOGO BOUTONS ────────────────────────────────────────── */
.Logo_Friche_rose-btn {
    width: 65px;
    height: 50px;
    border: none;
    cursor: pointer;
    margin: 0 1px;
    position: relative;
    top: 0;
    background: transparent;
}

.Logo_Friche_rose-btn-mobile {
    border: none;
    cursor: pointer;
    margin: 0;
    position: relative;
    top: 0;
    background: transparent;
}

/* ─── UNITY / PAGE 3D ────────────────────────────────────── */
#unity-container {
    width: 100vw;
    height: 100vh;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    display: block !important;
    visibility: visible !important;
}

#unity-canvas {
    width: 100vw !important;
    height: 100vh !important;
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.section:first-child.unity-active #unity-canvas {
    pointer-events: auto;
}

.unity_display {
    display: block !important;
    visibility: visible !important;
    padding: 0;
    max-width: none;
    width: 100vw;
    height: 100vh;
    margin: 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    opacity: 1 !important;
}

/* ─── MENU DESKTOP ────────────────────────────────────────── */
.menu-desktop {
    position: fixed;
    top: 0;
    left: -10px;
    right: 0;
    z-index: 1000;
    background: transparent;
    display: flex;
    justify-content: center;
    padding-top: 2px;
}

.menu-btn {
    height: var(--menu-btn-height);
    width: var(--menu-btn-width);
    border: none;
    background: white;
    color: black;
    font-size: var(--font-menu-bureau);
    font-weight: bold;
    cursor: pointer;
    transition: all 0.3s ease;
    margin: 0 1px;
    position: relative;
    top: 0;
    font-family: Arial, sans-serif;
}

.menu-btn.active {
    background: #e72962;
    color: white;
    top: var(--menu-btn-height);
}

/* "Le collectif" reste toujours en haut */
.menu-item-with-submenu .menu-btn.active {
    top: 0;
}

/* ─── SOUS-MENUS DESKTOP ──────────────────────────────────── */
.menu-item-with-submenu {
    position: relative;
    display: inline-block;
}/* Note : display des sous-boutons desktop géré par updateCollectifDesktop() en JS inline */

/* ─── MENU MOBILE ─────────────────────────────────────────── */
.menu-mobile {
    position: fixed;
    top: 2px;
    left: 2px;
    z-index: 1000;
    background: transparent;
    display: none;
    flex-direction: column;
}

.menu-toggle {
    width: 50px;
    height: 50px;
    border: none;
    background: white;
    font-size: 24px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.hamburger {
    width: 25px;
    height: 20px;
    position: relative;
    cursor: pointer;
}

.hamburger span {
    display: block;
    position: absolute;
    height: 3px;
    width: 100%;
    background: #333;
    border-radius: 3px;
    opacity: 1;
    left: 0;
    transform: rotate(0deg);
    transition: .25s ease-in-out;
}

.hamburger span:nth-child(1) { top: 0; }
.hamburger span:nth-child(2) { top: 8px; }
.hamburger span:nth-child(3) { top: 16px; }

.hamburger.active span:nth-child(1) {
    top: 8px;
    transform: rotate(135deg);
}

.hamburger.active span:nth-child(2) {
    opacity: 0;
    left: -60px;
}

.hamburger.active span:nth-child(3) {
    top: 8px;
    transform: rotate(-135deg);
}

.menu-mobile-content {
    display: none;
    flex-direction: column;
    padding: 10px;
}

.menu-mobile-content.show {
    display: flex;
}

.menu-btn-mobile {
    width: 100px;
    height: 30px;
    border: none;
    background: white;
    color: black;
    font-size: var(--font-menu-mobile);
    font-weight: bold;
    cursor: pointer;
    transition: all 0.3s ease;
    margin: 1px 0;
    font-family: Arial, sans-serif;
}

.menu-btn-mobile.active {
    background: #e72962;
    color: white;
}
/* ─── NAVIGATION PAR FONDU ENCHAÎNÉ ──────────────────────── */
#sectionsContainer {
    position: relative !important;
    transform: none !important;
    display: block !important;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
}

#sectionsContainer .section {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.6s ease;
    overflow-y: auto;
    overflow-x: hidden;
}

#sectionsContainer .section.active {
    opacity: 1;
    pointer-events: auto;
}

/* ─── SECTIONS ────────────────────────────────────────────── */
.section {
    width: 100vw;
    min-height: 100vh;
    display: flex;
    align-items: start;
    justify-content: center;
    color: white;
    overflow-y: auto;
    flex-shrink: 0;
    background: #b3ceff;
}

.section:first-child {
    overflow: hidden;
    display: flex !important;
    visibility: visible !important;
}

.section-content {
    padding-top: 180px;
    padding-left: 20px;
    padding-right: 20px;
    text-align: center;
    max-height: 100%;
    max-width: 800px;
    margin: 0 auto;
}

.section:first-child .section-content {
    padding-top: 0 !important;
}

.section-content-txt {
    min-height: 100vh;
    position: relative;
}

/* ─── FOND CANVAS (cercles d'arrière-plan) ────────────────── */
.background-canvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    min-height: 100vh;
    z-index: 1;
    pointer-events: none;
}

.position-relative { position: relative; }
.overflow-hidden    { overflow: hidden; }

/* ─── DÉCALAGE GLOBAL DU CONTENU ─────────────────────────── */
/* S'applique à toutes les sections sauf Unity (première) */
#sectionsContainer .section:not(:first-child) .section-content,
#sectionsContainer .section:not(:first-child) .section-content-txt {
    position: relative;
    top: var(--content-shift);
}

/* Exclusion : section Histoire */
#sectionsContainer .section:has(.histoire-parallax-back) .section-content,
#sectionsContainer .section:has(.histoire-parallax-back) .section-content-txt {
    top: 0 !important;
}

/* Exclusion : sous-section intro du Collectif */
#subsection-intro.active {
    top: 0 !important;
}

/* Override Structures → déplacé dans structures.css */

/* ─── ANCRES ──────────────────────────────────────────────── */
.anchor-target {
    position: relative;
    top: -100px;
    visibility: hidden;
}

.anchor-section {
    padding-top: 60px;
    margin-top: -60px;
}

/* ─── MARGES MOBILES ──────────────────────────────────────── */
.marges15pxmobile {
    padding-left: 20px !important;
    padding-right: 20px !important;
}

/* ─── CLASSES DE TEXTE ────────────────────────────────────── */
.rose_friche {
    color: #e72962 !important;
    font-weight: bold !important;
    margin-top: 6rem !important;
    margin-bottom: 1rem !important;
}

.blanc_friche_bold {
    color: #ffffff !important;
    font-weight: bold !important;
    text-align: justify !important;
    margin-top: 3rem !important;
    margin-bottom: 0.8rem !important;
}

.blanc_friche_txt {
    color: #ffffff !important;
    text-align: justify !important;
    margin: 1rem !important;
}

.bleu_friche_txt {
    color: #4a90e2 !important;
    text-align: justify !important;
    margin: 1rem !important;
}

.blanc_friche_txt_bold_rose {
    color: #e72962 !important;
    text-align: justify !important;
}

.txt_size_15rem { font-size: 1.5rem !important; }
.txt_size_1rem  { font-size: 1rem !important; }
.txt_size_05rem { font-size: 0.5rem !important; }

/* ─── LIEN "EN SAVOIR PLUS" ───────────────────────────────── */
.lien-savoir-plus {
    color: #e72962;
    cursor: pointer;
    font-size: var(--font-lien-savoir-plus);
    font-weight: bold;
    display: block;
    margin-top: 10px;
    margin-bottom: 20px;
    transition: opacity 0.3s ease;
}

.lien-savoir-plus:hover {
    opacity: 0.7;
    text-decoration: underline;
}

.read-more-dots {
    color: #e72962;
    font-weight: bold;
}

.read-more-text {
    display: none;
}

/* ─── BORDURES CARTOON ────────────────────────────────────── */

/* Style 1 : Simple déchiré */
.cartoon-border {
    position: relative;
    padding: 25px;
    background: rgba(179, 206, 255, 0.05);
    border-radius: 15px;
}

.cartoon-border::before {
    content: '';
    position: absolute;
    top: -4px; left: -4px; right: -4px; bottom: -4px;
    border: 4px solid #e72962;
    border-radius: 18px;
    z-index: 0;
    pointer-events: none;
    filter: url(#torn-edge);
    animation: cartoonWobble 4s ease-in-out infinite;
}

.cartoon-border > * {
    position: relative;
    z-index: 1;
}

@keyframes cartoonWobble {
    0%, 100% { transform: translateY(0) rotate(0deg);  border-radius: 18px 15px 18px 15px; }
    25%       { transform: translateY(-1px) rotate(0.3deg); border-radius: 15px 18px 15px 18px; }
    50%       { transform: translateY(0) rotate(0deg);  border-radius: 18px 16px 18px 16px; }
    75%       { transform: translateY(1px) rotate(-0.3deg); border-radius: 16px 18px 16px 18px; }
}

/* Style 2 : Double bordure */
.cartoon-border-double {
    position: relative;
    padding: 30px;
    background: linear-gradient(135deg, rgba(231, 41, 98, 0.08), rgba(179, 206, 255, 0.08));
    border-radius: 20px;
}

.cartoon-border-double::before {
    content: '';
    position: absolute;
    top: -6px; left: -6px; right: -6px; bottom: -6px;
    border: 5px solid #e72962;
    border-radius: 22px;
    z-index: 0;
    filter: url(#torn-edge-strong);
    animation: borderPulse 3s ease-in-out infinite;
}

.cartoon-border-double::after {
    content: '';
    position: absolute;
    top: -2px; left: -2px; right: -2px; bottom: -2px;
    border: 3px solid #b3ceff;
    border-radius: 18px;
    z-index: 0;
    filter: url(#torn-edge);
    animation: borderPulse 3s ease-in-out infinite 0.5s;
}

.cartoon-border-double > * {
    position: relative;
    z-index: 1;
}

@keyframes borderPulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50%       { opacity: 0.9; transform: scale(1.003); }
}

/* Style 3 : Ombre BD */
.cartoon-border-shadow {
    position: relative;
    padding: 30px;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 20px;
}

.cartoon-border-shadow::before {
    content: '';
    position: absolute;
    inset: -5px;
    border: 6px solid #e72962;
    border-radius: 22px;
    z-index: 0;
    filter: url(#torn-edge-strong);
    animation: floatBorder 5s ease-in-out infinite;
}

.cartoon-border-shadow::after {
    content: '';
    position: absolute;
    inset: 6px;
    box-shadow: 6px 6px 0 rgba(231, 41, 98, 0.4), 10px 10px 0 rgba(179, 206, 255, 0.3);
    border-radius: 18px;
    z-index: -1;
    filter: url(#wavy-edge);
}

.cartoon-border-shadow > * {
    position: relative;
    z-index: 1;
}

@keyframes floatBorder {
    0%, 100% { transform: translate(0, 0) rotate(0deg); }
    33%       { transform: translate(-2px, -2px) rotate(0.5deg); }
    66%       { transform: translate(2px, 1px) rotate(-0.3deg); }
}

/* Style 4 : Sketch */
.cartoon-border-sketch {
    position: relative;
    padding: 20px;
    margin-top: 2rem !important;
    margin-bottom: 1.5rem !important;
    background: var(--sketch-color);
    opacity: var(--sketch-opacity);
}

.cartoon-border-sketch::before {
    content: '';
    position: absolute;
    inset: 0;
    border: 0 solid var(--sketch-color);
    border-radius: inherit;
    z-index: 0;
}

.cartoon-border-sketch::after {
    content: '';
    position: absolute;
    outline: 10px solid var(--sketch-color);
    inset: 3px;
    border: 5px var(--sketch-color);
    border-radius: 1px;
    z-index: 0;
    opacity: 1;
    filter: url(#torn-edge-strong);
}

.cartoon-border-sketch > * {
    position: relative;
    z-index: 1;
}

/* Style 4 : Sketch 2 */
.cartoon-border-sketch2 {
    position: relative;
    padding: 20px;
    margin-top: 2rem !important;
    margin-bottom: 1.5rem !important;
    background: var(--sketch2-color);
    opacity: var(--sketch2-opacity);
}

.cartoon-border-sketch2::before {
    content: '';
    position: absolute;
    inset: 0;
    border: 0 solid var(--sketch2-color);
    border-radius: inherit;
    z-index: 0;
}

.cartoon-border-sketch2::after {
    content: '';
    position: absolute;
    outline: 10px solid var(--sketch2-color);
    inset: 3px;
    border: 5px var(--sketch2-color);
    border-radius: 1px;
    z-index: 0;
    opacity: 1;
    filter: url(#torn-edge-strong);
}

.cartoon-border-sketch2 > * {
    position: relative;
    z-index: 1;
}

/* Style 4 : Sketch 3 */
.cartoon-border-sketch3 {
    position: relative;
    padding: 20px;
    margin-top: 2rem !important;
    margin-bottom: 1.5rem !important;
    background: var(--sketch3-color);
    opacity: var(--sketch3-opacity);
}

.cartoon-border-sketch3::before {
    content: '';
    position: absolute;
    inset: 0;
    border: 0 solid var(--sketch3-color);
    border-radius: inherit;
    z-index: 0;
}

.cartoon-border-sketch3::after {
    content: '';
    position: absolute;
    outline: 10px solid var(--sketch3-color);
    inset: 3px;
    border: 5px var(--sketch3-color);
    border-radius: 1px;
    z-index: 0;
    opacity: 1;
    filter: url(#torn-edge-strong);
}

.cartoon-border-sketch3 > * {
    position: relative;
    z-index: 1;
}

/* ─── RESPONSIVE ──────────────────────────────────────────── */
@media (max-width: 799px) {
    .menu-desktop { display: none; }
    .menu-mobile  { display: flex; }

    .section { touch-action: pan-y; }

    #unity-container,
    #unity-canvas,
    .unity_display {
        display: block !important;
        visibility: visible !important;
    }

    #unity-canvas {
        opacity: 1 !important;
        width: 100vw !important;
        height: 100vh !important;
    }
}

@media (max-width: 768px) {
    .marges15pxmobile {
        padding-left: 15px !important;
        padding-right: 15px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .section-content {
        padding-left: 10px !important;
        padding-right: 10px !important;
        max-width: 100% !important;
    }
}

@media (max-width: 768px) and (orientation: portrait) {
    .marges15pxmobile {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

@media (max-width: 768px) and (orientation: landscape) {
    .marges15pxmobile {
        padding-left: 30px !important;
        padding-right: 30px !important;
    }
}

@media (min-width: 769px) and (max-width: 1024px) {
    .marges15pxmobile {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

@media (max-width: 1024px) {
    .section-content-txt .marges15pxmobile {
        margin: 0 auto !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }
}

/* ─── DÉGRADÉ DEG.PNG — fixe en haut de page, sous la nav ── */
.deg-gradient {
    position   : fixed;
    top        : 0;
    left       : 0;
    width      : calc(100% - var(--scrollbar-width, 17px)); /* s'arrête avant la scrollbar verticale */
    /*height     : 153px;   /* ← hauteur réelle de l'image, pas de déformation verticale */
	height     : 120px;
    object-fit : fill;    /* étire uniquement la largeur pour remplir la page */
    z-index    : 999;     /* juste sous la nav (z-index:1000) */
    pointer-events: none; /* décoratif, ne bloque pas les clics */
}

/* Masqué sur la section Unity (première section, currentSection === 0) */
body:has(.section:first-child.unity-active) .deg-gradient {
    display : none;
}

/* Masqué sur la section Histoire (currentSection === 1) */
body:has(.section.active .histoire-section) .deg-gradient {
    display : none;
}

/* Masqué sur mobile */
@media (max-width: 799px) {
    .deg-gradient {
        display : none;
    }
}
/* ─── CRÉDIT ARTPIXEL.FR ──────────────────────────────────────
   Logo/lien fixe en bas à gauche, au-dessus de tout le contenu
   (y compris le canvas Unity 3D et le preloader, dont le z-index
   le plus élevé du site est 10000). ─────────────────────────── */
.credit-artpixel {
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 100000;
    display: block;
    line-height: 0;
}

.credit-artpixel img {
    display: block;
    width: 40px;
    height: 40px;
}

/* ─── FENÊTRE DE REMERCIEMENTS ─────────────────────────────────
   Ouverte via le crédit ci-dessus, à la place du lien direct
   vers artpixel.fr. ─────────────────────────────────────────── */
#overlay-remerciements {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    z-index: var(--remerciements-z-index);
    align-items: center;
    justify-content: center;
}

#overlay-remerciements.actif {
    display: flex;
}

#fenetre-remerciements {
    position: relative;
    width: var(--remerciements-largeur);
    height: var(--remerciements-hauteur);
    max-width: 92vw;
    max-height: 92vh;
    background: var(--remerciements-gradient);
    color: #fff;
    border-radius: 8px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

#fenetre-remerciements .remerciements-header {
    display: flex;
    justify-content: flex-end;
    padding: 8px;
}

#fenetre-remerciements .remerciements-fermer {
    background: none;
    border: none;
    color: #fff;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    padding: 4px 8px;
}

#fenetre-remerciements .remerciements-contenu {
    flex: 1;
    overflow-y: auto;
    padding: 0 50px 0;
    color: #fff;
	font-size: 11px;
	text-align: justify;
	line-height: 1.4;
	scrollbar-width: thin;
	scrollbar-color: #e72962 rgba(255, 255, 255, 0.25);
}

/* Ascenseur vertical aux couleurs du site (Chrome, Edge, Safari) */
#fenetre-remerciements .remerciements-contenu::-webkit-scrollbar {
    width: 8px;
}
#fenetre-remerciements .remerciements-contenu::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.25);
    border-radius: 4px;
}
#fenetre-remerciements .remerciements-contenu::-webkit-scrollbar-thumb {
    background: #e72962;
    border-radius: 4px;
}
#fenetre-remerciements .remerciements-contenu::-webkit-scrollbar-thumb:hover {
    background: #c71f52;
}

#fenetre-remerciements .remerciements-footer {
    padding: 8px 24px 16px 24px;
    text-align: center;
    font-size: 12px;
}

#fenetre-remerciements .remerciements-footer a {
    color: #fff;
    opacity: 0.7;
    text-decoration: none;
}

#fenetre-remerciements .remerciements-footer a:hover {
    opacity: 1;
    text-decoration: underline;
}

/* Mobile : la fenêtre s'adapte à l'écran plutôt qu'à une taille fixe */
@media (max-width: 600px) {
    :root {
        --remerciements-largeur : 90vw;
        --remerciements-hauteur : 80vh;
    }
}
