html, body {
    height: 100%;
    margin: 0;
}

body {
    --white-color: #ffffff;
    --main-container-color: #f1eee9;
    --secondary-container-color: #faf8f6;
    --main-dark-color: #01283b;
    --main-dark-color-transparent: rgb(1, 40, 59, .75);
    --glass-border-color: color-mix(in srgb, #ffffff 60%, transparent);
    --glass-background-lighter-color: color-mix(in srgb, #ffffff 80%, transparent);
    --glass-background-color: color-mix(in srgb, #ffffff 29%, transparent);
    --glass-background-darker-color: color-mix(in srgb, #ffffff 10%, transparent);
    --glass-box-shadow:
        inset 1px 1px 1px rgba(255, 255, 255, .7),
        inset -1px -1px 1px 1px rgba(255, 255, 255, .25),
        0 6px 12px 0 rgba(0, 0, 0, .18),
        0 0 20px 0 rgba(0, 0, 0, .08);
    --link-default-color: #f5e6c8;
    --link-hover-default-color: #fff1d6;
    background-color: var(--main-dark-color);
    font-family: 'Poppins', sans-serif;
    font-size: 0.9rem;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    opacity: 0.04;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    z-index: 0;
}

a {
    color: var(--link-default-color);
    text-decoration: none;
    position: relative;
    font-weight: bold;
}

a:hover {
    color: var(--link-hover-default-color);
}

a:not(.dropdown-toggle)::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;
    height: 1px;

    background: linear-gradient(
            90deg,
            transparent,
            rgba(200, 210, 255, 0.9),
            transparent
    );

    opacity: 0;
    transition: opacity 0.2s ease;
}

a:hover::after {
    opacity: 1;
}

.root-content {
    display: flex;
    height: 100vh;
    z-index: 1;
    flex-direction: column;
    overflow: hidden;
    background-color: var(--main-dark-color);
}


.layout-container {
    padding: 0 12px;
    margin: 0;
    display: flex;
    flex: 1;
    flex-direction: column;
    min-height: 0;
}

.layout-container.container,
.layout-container.container-sm,
.layout-container.container-md,
.layout-container.container-lg,
.layout-container.container-xl,
.layout-container.container-xxl {
    margin: 0 auto;
}

.layout-content-wrapper {
    border-radius: 10px;
    margin: 0;
    min-height: 0;
    padding: 0 0 0.5rem 0;
    display: flex;
    flex-direction: row;
    flex: 1;
}

.wrapper-content {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 0;
    flex-grow: 1;
}

.layout-content-wrapper .wrapper-content {
    padding: 0;
    border-radius: 10px;
    position: relative;
    color: #e5e7eb;
    background: #0a0f1a;
    overflow: hidden;
}

/* Fond animé avec plus de contraste */
.layout-content-wrapper .wrapper-content::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 10px;
    z-index: 0;
    pointer-events: none;
    background:
        /* Accent bleu électrique haut gauche */
            radial-gradient(
                    800px 500px at 15% 10%,
                    rgba(30, 144, 255, 0.35),
                    transparent 50%
            ),

                /* Accent violet/magenta haut droit */
            radial-gradient(
                    750px 480px at 85% 15%,
                    rgba(138, 43, 226, 0.28),
                    transparent 50%
            ),

                /* Cyan vibrant milieu gauche */
            radial-gradient(
                    650px 450px at 20% 50%,
                    rgba(0, 206, 209, 0.25),
                    transparent 50%
            ),

                /* Rose/magenta milieu droit */
            radial-gradient(
                    600px 400px at 80% 55%,
                    rgba(255, 20, 147, 0.22),
                    transparent 50%
            ),

                /* Jaune/orange accent */
            radial-gradient(
                    500px 350px at 50% 20%,
                    rgba(255, 165, 0, 0.18),
                    transparent 50%
            ),

                /* Bleu profond bas gauche */
            radial-gradient(
                    900px 600px at 10% 95%,
                    rgba(25, 25, 112, 0.30),
                    transparent 55%
            ),

                /* Orange chaud bas droit */
            radial-gradient(
                    850px 550px at 90% 90%,
                    rgba(255, 140, 0, 0.15),
                    transparent 55%
            ),

                /* Gradient de base avec plus de variation */
            radial-gradient(
                    ellipse 120% 100% at 50% 50%,
                    rgba(15, 23, 42, 0.95) 0%,
                    rgba(10, 15, 35, 0.98) 50%,
                    rgba(5, 10, 25, 1) 100%
            );
}

/* Animation subtile du fond */
@keyframes backgroundShift {
    0%, 100% {
        opacity: 1;
        transform: scale(1);
    }
    50% {
        opacity: 0.95;
        transform: scale(1.02);
    }
}

.layout-content-wrapper .wrapper-content::before {
    animation: backgroundShift 20s ease-in-out infinite;
}

/*.layout-content-wrapper .wrapper-content {*/
/*    padding: 0;*/
/*    border-radius: 10px;*/
/*    background:*/
/*        !* haut gauche *!*/
/*            radial-gradient(*/
/*                    900px 600px at 12% 8%,*/
/*                    rgba(80, 130, 255, 0.18),*/
/*                    transparent 45%*/
/*            ),*/

/*                !* haut droit violet *!*/
/*            radial-gradient(*/
/*                    850px 550px at 88% 22%,*/
/*                    rgba(160, 120, 255, 0.14),*/
/*                    transparent 48%*/
/*            ),*/

/*                !* milieu gauche cyan *!*/
/*            radial-gradient(*/
/*                    700px 500px at 25% 55%,*/
/*                    rgba(90, 220, 210, 0.12),*/
/*                    transparent 52%*/
/*            ),*/

/*                !* milieu droit rose *!*/
/*            radial-gradient(*/
/*                    600px 420px at 78% 60%,*/
/*                    rgba(255, 150, 190, 0.10),*/
/*                    transparent 55%*/
/*            ),*/

/*                !* touche jaune haute *!*/
/*            radial-gradient(*/
/*                    500px 350px at 60% 12%,*/
/*                    rgba(255, 215, 120, 0.08),*/
/*                    transparent 60%*/
/*            ),*/

/*                !* bas gauche *!*/
/*            radial-gradient(*/
/*                    1100px 700px at 20% 100%,*/
/*                    rgba(80, 140, 255, 0.14),*/
/*                    transparent 65%*/
/*            ),*/

/*                !* bas droit *!*/
/*            radial-gradient(*/
/*                    1000px 650px at 85% 100%,*/
/*                    rgba(255, 200, 140, 0.07),*/
/*                    transparent 70%*/
/*            ),*/

/*                !* profondeur liée à ta base *!*/
/*            radial-gradient(*/
/*                    1400px 900px at 50% 50%,*/
/*                    rgba(1, 40, 59, 0.30),*/
/*                    transparent 70%*/
/*            ),*/

/*                !* gradient principal *!*/
/*            linear-gradient(*/
/*                    180deg,*/
/*                    #0b1020 0%,*/
/*                    #0f172a 40%,*/
/*                    #040b1c 100%*/
/*            );*/
/*    !*background:*/
/*            radial-gradient(circle at 20% 30%, rgba(13, 71, 103, 0.4) 0%, transparent 50%),*/
/*            radial-gradient(circle at 80% 70%, rgba(1, 52, 75, 0.5) 0%, transparent 50%),*/
/*            radial-gradient(circle at 40% 80%, rgba(2, 94, 135, 0.3) 0%, transparent 60%),*/
/*            linear-gradient(135deg, #01283b 0%, #012d42 50%, #01283b 100%);*!*/

/*    color: #e5e7eb;*/
/*}*/

    /* Colors */
.nav-pills .nav-link {
    padding: 10px 12px;
    margin: 2px;
}

.nav-pills .nav-link.active {
    background-color: transparent;
    border-radius: 10px;
}

/** MAIN CONTENT **/
main {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    background: var(--glass-background-color);
    backdrop-filter: blur(5px) saturate(200%);
    -webkit-backdrop-filter: blur(5px) saturate(200%);
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 10px;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
}

.classic-content {
    margin: 0 auto;
    padding: 10px 0;
}

.classic-content h1 {
    margin: 1rem 0 0.5rem 0;
    font-weight: 600;
    font-size: 1.5rem;
    text-transform: uppercase;
}

.classic-content h2 {
    padding: 10px 0;
    font-weight: 600;
    font-size: 1.5rem;
    text-transform: uppercase;
}

.classic-content h3 {
    font-weight: 600;
    font-size: 1.2rem;
    text-transform: uppercase;
}

h5 {
    color: var(--link-default-color);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.9rem;
}

h6 {
    color: var(--link-default-color);
    text-transform: uppercase;
    font-weight: 600;
    font-size: 0.85rem;
}

form label {
    font-weight: 600;
}

.col.text-end {
    display: flex;
    justify-content: right;
    align-items: center;
}