
*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    color:var(--text);
    background:var(--bg-page);
    overflow-x:hidden;
    transition:
            background .35s ease,
            color .35s ease,
            border-color .35s ease,
            box-shadow .35s ease;
}

a{
    text-decoration:none;
    color:inherit;
}

img{
    max-width:100%;
    display:block;
}

.container{
    width:min(var(--max), calc(100% - 32px));
    margin:auto;
}

/* Effets de fond */

.page-glow{
    position:fixed;
    border-radius:999px;
    filter:blur(70px);
    pointer-events:none;
    z-index:0;
    opacity:.55;
}

.glow-1{
    width:300px;
    height:300px;
    left:-100px;
    top:80px;
    background:rgba(90,70,214,.18);
}

.glow-2{
    width:280px;
    height:280px;
    right:-80px;
    top:220px;
    background:rgba(138,121,255,.16);
}

.glow-3{
    width:340px;
    height:340px;
    left:38%;
    bottom:-120px;
    background:rgba(90,70,214,.12);
}

html[data-theme="dark"] .glow-1{
    background:rgba(143,124,255,.18);
}

html[data-theme="dark"] .glow-2{
    background:rgba(111,92,220,.16);
}

html[data-theme="dark"] .glow-3{
    background:rgba(143,124,255,.10);
}

.orbs span{
    position:absolute;
    border-radius:999px;
    pointer-events:none;
    filter:blur(18px);
    opacity:.55;
}

.orbs span:nth-child(1){
    width:160px;
    height:160px;
    top:30px;
    left:-20px;
    background:rgba(90,70,214,.18);
}

.orbs span:nth-child(2){
    width:130px;
    height:130px;
    top:160px;
    right:10%;
    background:rgba(138,121,255,.14);
}

.orbs span:nth-child(3){
    width:180px;
    height:180px;
    bottom:40px;
    left:42%;
    background:rgba(90,70,214,.10);
}

html[data-theme="dark"] .orbs span:nth-child(1){
    background:rgba(143,124,255,.16);
}

html[data-theme="dark"] .orbs span:nth-child(2){
    background:rgba(111,92,220,.14);
}

html[data-theme="dark"] .orbs span:nth-child(3){
    background:rgba(143,124,255,.08);
}

/* Navbar */

.nav-wrap{
    position:sticky;
    top:0;
    z-index:100;
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    background:var(--nav-bg);
    border-bottom:1px solid var(--nav-border);
}

.nav{
    min-height:82px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
}

.brand{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
    flex-shrink:0;
}

.brand-logo{
    width:52px;
    height:52px;
    border-radius:16px;
    padding:6px;
    background:linear-gradient(135deg, rgba(90,70,214,.34), rgba(138,121,255,.22));
    border:1px solid var(--card-border);
    box-shadow:0 10px 26px rgba(90,70,214,.18);
    flex-shrink:0;
}

html[data-theme="dark"] .brand-logo{
    background:linear-gradient(135deg, rgba(143,124,255,.34), rgba(179,167,255,.16));
    box-shadow:0 10px 26px rgba(143,124,255,.18);
}

html[data-theme="dark"] .logo-frame::after{
    background: linear-gradient( 90deg, transparent, rgba(255, 255, 255, 0.08), transparent );
    filter:blur(3px);
}

.brand-logo img{
    width:100%;
    height:100%;
    object-fit:contain;
}

.brand-text{
    font-weight:800;
    font-size:18px;
    line-height:1.05;
    white-space:nowrap;
}

.brand-text small{
    display:block;
    font-size:10px;
    letter-spacing:.08em;
    color:var(--muted);
    text-transform:uppercase;
    margin-top:4px;
    white-space:nowrap;
}

.nav-right{
    display:flex;
    align-items:center;
    gap:18px;
    margin-left:auto;
    min-width:0;
}

.menu{
    display:flex;
    align-items:center;
    gap:6px;
    flex-wrap:nowrap;
}

.menu a{
    padding:10px 14px;
    border-radius:999px;
    font-weight:600;
    font-size:15px;
    color:var(--muted);
    white-space:nowrap;
    transition:all .25s ease;
}

.menu a:hover,
.menu a.is-active,
.footer-links-grid a.is-active{
    background:rgba(122,104,242,.12);
    color:var(--text);
}

.nav-actions{
    display:flex;
    align-items:center;
    gap:10px;
    flex-shrink:0;
}

.menu-cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 18px;
    border-radius:999px;
    font-weight:700;
    white-space:nowrap;
    color:#fff !important;
    background:var(--discord);
    box-shadow:0 10px 24px rgba(88,101,242,.30);
    transition:all .25s ease;
}

.menu-cta:hover{
    background:var(--discord-hover) !important;
    color:#fff !important;
    transform:translateY(-2px);
    box-shadow:0 16px 34px rgba(88,101,242,.42);
}

.menu-ecurie{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:0 18px;
    border-radius:999px;
    font-weight:700;
    white-space:nowrap;
    color:#fff !important;
    background:linear-gradient(180deg,#9b6b3d,#7a4f29);
    border:1px solid rgba(210,170,90,.45);
    box-shadow:
            0 10px 22px rgba(90,60,30,.35),
            inset 0 1px 0 rgba(255,230,170,.25);
    transition:all .25s ease;
}

.menu-ecurie:hover{
    background:linear-gradient(180deg,#b8844d,#8c5a30);
    transform:translateY(-2px);
    color:#fff !important;
    box-shadow:
            0 16px 34px rgba(90,60,30,.45),
            inset 0 1px 0 rgba(255,230,170,.35);
}

.menu-toggle{
    display:none;
    width:46px;
    height:46px;
    border:1px solid var(--card-border);
    background:var(--panel-soft);
    border-radius:14px;
    padding:0;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:5px;
    cursor:pointer;
}

.menu-toggle span{
    width:18px;
    height:2px;
    background:var(--text);
    border-radius:999px;
    transition:.25s ease;
}

.menu-toggle.is-open span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
}

.menu-toggle.is-open span:nth-child(2){
    opacity:0;
}

.menu-toggle.is-open span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
}

/* Hero */

.hero{
    position:relative;
    padding:70px 0 40px;
}

.hero-shell{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:22px;
    position:relative;
    z-index:1;
}

.hero-main,
.hero-side,
.card,
.panel,
.cta-banner,
.quote-box{
    border-radius:var(--radius-lg);
    border:1px solid var(--card-border);
    box-shadow:var(--shadow);
}

.hero-main{
    padding:34px;
    min-height:560px;
    background:var(--hero-main-bg);
}

.hero-side{
    padding:18px;
    min-height:560px;
    display:grid;
    grid-template-rows:1fr auto;
    gap:16px;
    background:var(--hero-side-bg);
}

.eyebrow{
    display:inline-block;
    font-size:12px;
    letter-spacing:.12em;
    font-weight:700;
    color:var(--muted);
    text-transform:uppercase;
    margin-bottom:16px;
}

h1{
    margin:0;
    font-size:clamp(40px, 5.2vw, 72px);
    line-height:.95;
    letter-spacing:-.04em;
    max-width:640px;
}

.gradient{
    background:linear-gradient(135deg, var(--primary), var(--primary2) 55%, var(--primary3) 100%);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}

.hero-copy{
    margin-top:20px;
    max-width:640px;
    color:var(--muted);
    font-size:17px;
    line-height:1.7;
}

.hero-actions,
.cta-row{
    margin-top:24px;
    display:flex;
    gap:14px;
    flex-wrap:wrap;
}

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    padding:0 22px;
    border-radius:16px;
    font-weight:700;
    transition:.2s;
}

.btn:hover{
    transform:translateY(-2px);
}

.btn-primary{
    background:linear-gradient(135deg, var(--primary), var(--primary2));
    color:#fff;
    box-shadow:0 16px 36px rgba(90,70,214,.28);
}

html[data-theme="dark"] .btn-primary{
    box-shadow:0 16px 36px rgba(143,124,255,.24);
}

.btn-secondary{
    background:var(--pill-bg);
    border:1px solid var(--line-soft);
    color:var(--text);
}

.hero-stats{
    margin-top:24px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
}

.stat{
    padding:16px;
    border-radius:20px;
    background:var(--panel-soft);
    border:1px solid var(--card-border);
    box-shadow:var(--shadow-soft);
}

.stat strong{
    display:block;
    font-size:20px;
    margin-bottom:4px;
}

.stat span{
    font-size:13px;
    color:var(--muted);
    line-height:1.55;
}

.stat-number{
    text-align:center;
    padding:20px 16px;
}

.stat-number strong{
    display:block;
    font-size:34px;
    line-height:1;
    letter-spacing:-0.04em;
    margin-bottom:8px;
    background:linear-gradient(135deg, var(--primary), var(--primary2));
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}

.stat-number span{
    display:block;
    font-size:14px;
    font-weight:700;
    color:var(--muted);
    line-height:1.4;
}

/* Grand bouclier */

.logo-stage{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:30px;
    background:var(--logo-stage-bg);
    border:1px solid var(--card-border);
    padding:24px;
    min-height:360px;
    overflow:hidden;
    isolation:isolate;
}

.logo-stage::before{
    content:"";
    position:absolute;
    width:260px;
    height:260px;
    border-radius:999px;
    background:radial-gradient(circle, rgba(122,104,242,.26) 0%, rgba(122,104,242,.10) 42%, transparent 72%);
    filter:blur(20px);
    z-index:0;
    animation:shieldPulse 4.5s ease-in-out infinite;
}

.logo-stage::after{
    content:"";
    position:absolute;
    inset:-20%;
    background:
            conic-gradient(
                    from 0deg,
                    transparent 0deg,
                    rgba(255,255,255,.16) 40deg,
                    transparent 80deg,
                    transparent 360deg
            );
    opacity:.45;
    filter:blur(18px);
    z-index:0;
    animation:shieldAuraSpin 14s linear infinite;
}

.logo-frame{
    position:relative;
    width:280px;
    height:280px;
    border-radius:26px;
    background:var(--logo-frame-bg);
    border:1px solid var(--card-border);
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:var(--shadow-soft);
    z-index:1;
    animation:shieldFloat 5s ease-in-out infinite;
}

.logo-frame::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    background:
            linear-gradient(135deg, rgba(255,255,255,.28), transparent 34%),
            linear-gradient(315deg, rgba(255,255,255,.10), transparent 40%);
    pointer-events:none;
}

.logo-frame::after{
    content:"";
    position:absolute;
    top:-30%;
    left:-60%;
    width:30%;
    height:200%;
    transform:rotate(20deg);
    background:linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.25),
            transparent
    );
    opacity:.28;
    pointer-events:none;
    filter:blur(2px);
    animation:shieldShine 6s ease-in-out infinite;
}

.logo-frame img{
    width:75%;
    height:75%;
    object-fit:contain;
    filter:none;
    position:relative;
    z-index:1;
    animation:shieldBreath 5s ease-in-out infinite;
}

html[data-theme="dark"] .logo-stage::before{
    background:radial-gradient(circle, rgba(143,124,255,.34) 0%, rgba(143,124,255,.12) 42%, transparent 72%);
}

html[data-theme="dark"] .logo-stage::after{
    opacity:.38;
}

html[data-theme="dark"] .logo-frame{
    box-shadow:
            0 18px 34px rgba(0,0,0,.35),
            0 0 28px rgba(143,124,255,.10);
}

/* Mini cards */

.hero-side-cards{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

.mini-card{
    padding:16px;
    border-radius:20px;
    background:var(--panel-soft);
    border:1px solid var(--card-border);
    box-shadow:var(--shadow-soft);
}

.mini-card strong{
    display:block;
    margin-bottom:6px;
    font-size:12px;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--muted);
}

.mini-card p{
    margin:0;
    font-size:13px;
    color:var(--muted);
    line-height:1.55;
}

/* Sections */

section{
    padding:40px 0;
}

.section-head{
    margin-bottom:20px;
}

.section-head span{
    font-size:12px;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:var(--muted);
    font-weight:700;
}

.section-head h2{
    margin:6px 0;
    font-size:38px;
    line-height:1.08;
}

.section-head p{
    max-width:680px;
    color:var(--muted);
    line-height:1.7;
}

/* Cards */

.grid-3{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}

.grid-4 {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.recruitment-steps .card {
    position: relative;
    padding: 40px 30px;
    border-radius: 14px;
    background: var(--card-bg);
    border: 1px solid var(--card-border);
    transition: all 0.3s ease;
    overflow: hidden;
}

.step {
    position: absolute;
    top: -20px;
    right: 10px;
    font-size: 120px;
    font-weight: 800;
    color: var(--step-color);
    pointer-events: none;
}

.icon {
    font-size: 28px;
    margin-bottom: 15px;
}

.recruitment-steps .card:hover {
    transform: translateY(-6px);
    border-color: var(--card-hover-border);
    box-shadow: 0 0 25px var(--card-hover-shadow);
}

@media (max-width: 1100px) {
    .grid-4 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .grid-4 {
        grid-template-columns: 1fr;
    }
}

.card{
    padding:24px;
    border-radius:var(--radius);
    background:var(--panel);
}

.icon{
    width:50px;
    height:50px;
    border-radius:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    background:linear-gradient(135deg, rgba(90,70,214,.24), rgba(138,121,255,.18));
    margin-bottom:14px;
}

html[data-theme="dark"] .icon{
    background:linear-gradient(135deg, rgba(143,124,255,.24), rgba(179,167,255,.12));
}

.card h3{
    margin:0 0 8px;
}

.card p{
    margin:0;
    color:var(--muted);
    line-height:1.7;
}

/* Panels */

.showcase{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}

.panel{
    padding:28px;
    border-radius:32px;
    background:var(--panel-strong);
}

.panel h3{
    margin:0 0 10px;
}

.panel p{
    color:var(--muted);
    line-height:1.7;
}

.list{
    list-style:none;
    padding:0;
    margin:20px 0 0;
    display:grid;
    gap:10px;
}

.list li{
    padding:12px 14px;
    border-radius:14px;
    background:var(--pill-bg);
    border:1px solid var(--line-soft);
}

/* CTA */

.wide-cta{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:18px;
}

.cta-banner{
    padding:30px;
    border-radius:32px;
    background:var(--cta-bg);
}

.quote-box{
    padding:30px;
    border-radius:32px;
    background:var(--quote-bg);
}

.quote-box blockquote{
    font-size:20px;
    margin:0;
    line-height:1.6;
}

.quote-box small{
    display:block;
    margin-top:18px;
    color:var(--muted);
    font-size:12px;
    letter-spacing:.08em;
    text-transform:uppercase;
    font-weight:700;
}

.join-note{
    margin:18px 0 0;
    text-align:center;
    color:var(--muted);
    font-size:14px;
    line-height:1.6;
}

.final-cta{
    padding-top:0;
}

.quote-box{
    padding: 30px 28px;
    border-radius: 32px;
    border: 1px solid var(--card-border);
    background: var(--cta-bg);
    transition: all .25s ease;

}

.quote-box h4{
    margin: 0 0 16px;
    font-size: 18px;
    font-weight: 700;
}

.quote-box p{
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin: 0;
    padding: 10px 0;
    font-size: 14px;
    border-bottom: 1px solid rgba(255,255,255,0.06);
}

.quote-box p:last-child{
    border-bottom: none;
    padding-bottom: 0;
}

.quote-box strong{
    opacity: .85;
}

.quote-box:hover{
    transform: translateY(-4px);
    border-color: var(--card-hover-border);
    box-shadow: 0 8px 20px var(--card-hover-shadow);
}

/* =========================
   FOOTER V2
========================= */

.footer{
    margin-top:60px;
    padding:40px 0 24px;
    position:relative;
}

.footer::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:1px;
    background:linear-gradient(90deg, transparent, var(--primary), transparent);
    opacity:.22;
}

.footer-container{
    position:relative;
}

.footer-box-v2{
    display:grid;
    grid-template-columns:1.2fr 1fr .9fr;
    gap:32px;
    align-items:start;
    padding:28px;
    border-radius:28px;
    background:var(--footer-bg);
    border:1px solid var(--card-border);
    box-shadow:var(--shadow-soft);
}

.footer-col{
    min-width:0;
}

.footer-brand{
    display:flex;
    align-items:flex-start;
    gap:14px;
}

.footer-brand-col .mark{
    width:58px;
    height:58px;
    flex-shrink:0;
    border-radius:18px;
    padding:6px;
    background:linear-gradient(135deg, rgba(90,70,214,.18), rgba(138,121,255,.12));
    border:1px solid var(--card-border);
}

html[data-theme="dark"] .footer-brand-col .mark{
    background:linear-gradient(135deg, rgba(143,124,255,.18), rgba(179,167,255,.10));
}

.footer-brand-col strong{
    display:block;
    font-size:24px;
    line-height:1.05;
    margin-bottom:8px;
}

.footer-desc{
    margin:0 0 10px;
    color:var(--muted);
    font-size:14px;
    line-height:1.65;
    max-width:320px;
}

.footer-note{
    display:block;
    margin-top:0;
    color:var(--muted);
    font-size:12px;
    letter-spacing:.08em;
    text-transform:uppercase;
    font-weight:700;
}

.footer-title{
    margin:0 0 14px;
    font-size:13px;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--muted);
}

.footer-links-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px 14px;
}

.footer-links-grid a{
    color:var(--muted);
    font-weight:600;
    transition:color .2s ease, transform .2s ease;
}

.footer-links-grid a:hover,
.footer-links-grid a.is-active{
    color:var(--text);
    transform:translateX(2px);
}

.footer-actions{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.footer-actions .btn{
    width:100%;
}

.footer-legal{
    margin:10px 0 0;
    color:var(--muted);
    font-size:12px;
    line-height:1.6;
    opacity:.92;
    max-width:420px;
}

.footer-legal-links{
    margin-top:14px;
    display:flex;
    gap:14px;
    flex-wrap:wrap;
    font-size:13px;
}

.footer-legal-links a{
    color:var(--muted);
    transition:.2s;
}

.footer-legal-links a:hover{
    color:var(--text);
}

.admin-access{
    position:absolute;
    right: 5px;
    bottom: 6px;
    width:38px;
    height:38px;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    text-decoration:none;
    color:#fff;
    background:rgba(0,0,0,.38);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    box-shadow:0 8px 20px rgba(0,0,0,.18);
    opacity:0;
    transform:translateY(6px) scale(.85);
    pointer-events:none;
    transition:
            opacity .25s ease,
            transform .25s ease,
            background .25s ease;
}

.footer-container:hover .admin-access{
    opacity:.85;
    transform:translateY(0) scale(1);
    pointer-events:auto;
}

.admin-access:hover{
    opacity:1 !important;
    transform:translateY(0) scale(1.08) !important;
    background:rgba(0,0,0,.52);
}

/* Reveal */

.reveal{
    opacity:0;
    transform:translateY(18px);
    transition:opacity .6s ease, transform .6s ease;
}

.reveal.is-visible{
    opacity:1;
    transform:none;
}

.delay-1{
    transition-delay:.08s;
}

.delay-2{
    transition-delay:.16s;
}

.floating,
.shine{
    animation:none;
}

.count-up.is-done{
    animation:countPop .28s ease;
}

/* Animations */

@keyframes countPop{
    0%{ transform:scale(1); }
    50%{ transform:scale(1.08); }
    100%{ transform:scale(1); }
}

@keyframes shieldFloat{
    0%,100%{
        transform:translateY(0px);
    }
    50%{
        transform:translateY(-10px);
    }
}

@keyframes shieldPulse{
    0%,100%{
        transform:scale(1);
        opacity:.55;
    }
    50%{
        transform:scale(1.12);
        opacity:.9;
    }
}

@keyframes shieldAuraSpin{
    from{
        transform:rotate(0deg);
    }
    to{
        transform:rotate(360deg);
    }
}

@keyframes shieldShine{
    0%{
        left:-70%;
        opacity:0;
    }
    20%{
        opacity:.4;
    }
    50%{
        left:130%;
        opacity:0;
    }
    100%{
        left:130%;
        opacity:0;
    }
}

@keyframes shieldBreath{
    0%,100%{
        transform:scale(1);
    }
    50%{
        transform:scale(1.025);
    }
}

.page-glow{
    position:fixed;
    border-radius:999px;
    filter:blur(70px);
    pointer-events:none;
    z-index:0;
    opacity:.62;
    animation: floatGlow 8s ease-in-out infinite;
    will-change: transform;
}

.glow-1{
    animation-delay:0s;
}

.glow-2{
    animation-delay:-2s;
}

.glow-3{
    animation-delay:-4s;
}

@keyframes floatGlow{
    0%,100%{
        transform:translate3d(0,0,0) scale(1);
    }
    50%{
        transform:translate3d(40px,-50px,0) scale(1.08);
    }
}

.orbs span{
    animation: floatOrb 7s ease-in-out infinite;
    will-change: transform;
}

.orbs span:nth-child(2){
    animation-delay:-2s;
}

.orbs span:nth-child(3){
    animation-delay:-4s;
}

@keyframes floatOrb{
    0%,100%{
        transform:translate3d(0,0,0);
    }
    50%{
        transform:translate3d(18px,-24px,0);
    }
}

@media (prefers-reduced-motion: reduce){
    .page-glow,
    .orbs span,
    .logo-stage::before,
    .logo-stage::after,
    .logo-frame,
    .logo-frame img,
    .logo-frame::after,
    .reveal{
        animation:none !important;
        transition:none !important;
    }
}

/* Responsive */

@media (max-width:1100px){
    .brand-text small{
        display:none;
    }

    .menu a{
        padding:10px 12px;
        font-size:14px;
    }

    .nav-right{
        gap:12px;
    }
}

@media (max-width:1000px){
    .hero-shell,
    .showcase,
    .grid-3,
    .wide-cta{
        grid-template-columns:1fr;
    }

    .hero-stats{
        grid-template-columns:1fr 1fr;
    }

    .hero-side-cards{
        grid-template-columns:1fr;
    }

    .footer-box-v2{
        grid-template-columns:1fr;
        gap:24px;
    }

    .footer-links-grid{
        grid-template-columns:1fr 1fr;
    }

    .footer-actions{
        flex-direction:row;
        flex-wrap:wrap;
    }

    .footer-actions .btn{
        width:auto;
    }
}

@media (max-width:920px){
    .menu-toggle{
        display:inline-flex;
        margin-left:auto;
    }

    .nav-right{
        position:static;
        margin-left:0;
    }

    .menu{
        position:absolute;
        top:calc(100% + 10px);
        right:16px;
        left:16px;
        display:none;
        flex-direction:column;
        align-items:stretch;
        gap:10px;
        padding:12px;
        border-radius:20px;
        background:var(--panel-strong);
        border:1px solid var(--card-border);
        box-shadow:var(--shadow);
        z-index:120;
        backdrop-filter:blur(16px);
        -webkit-backdrop-filter:blur(16px);
    }

    .menu.is-open{
        display:flex;
    }

    .menu a{
        width:100%;
        justify-content:center;
        text-align:center;
    }

    .nav-actions{
        display:none;
    }

    .nav{
        position:relative;
    }
}

@media (max-width:640px){
    .nav{
        min-height:auto;
        padding:12px 0;
        align-items:center;
    }

    .brand{
        min-width:0;
        max-width:calc(100% - 64px);
    }

    .brand-logo{
        width:46px;
        height:46px;
    }

    .brand-text{
        font-size:15px;
    }

    .brand-text small{
        display:none;
    }

    .hero-actions,
    .cta-row{
        flex-direction:column;
        align-items:stretch;
    }

    .hero-stats{
        grid-template-columns:1fr;
    }

    .section-head h2{
        font-size:30px;
    }

    .logo-stage::after{
        animation-duration:8s;
        opacity:.22;
    }

    .logo-frame{
        animation-duration:6s;
    }

    .footer-box-v2{
        padding:22px;
    }

    .footer-brand{
        align-items:center;
    }

    .footer-brand-col strong{
        font-size:20px;
    }

    .footer-links-grid{
        grid-template-columns:1fr;
    }

    .footer-actions{
        flex-direction:column;
    }

    .footer-actions .btn{
        width:100%;
    }
}

@media (max-width:480px){
    h1{
        font-size:36px;
    }

    .logo-frame{
        width:220px;
        height:220px;
    }

    .hero-main{
        padding:24px;
    }

    .hero-side{
        padding:14px;
    }

    .card,
    .panel,
    .cta-banner,
    .quote-box{
        padding:22px;
    }
}

@media (prefers-reduced-motion: reduce){
    .logo-stage::before,
    .logo-stage::after,
    .logo-frame,
    .logo-frame img,
    .logo-frame::after,
    .reveal{
        animation:none !important;
        transition:none !important;
    }
}

/* =========================
   ADMIN
========================= */

.admin-page{
    min-height:100vh;
    padding:48px 0;
}

.admin-wrap{
    width:min(1100px, calc(100% - 32px));
    margin:0 auto;
}

.admin-auth-wrap{
    width:min(520px, calc(100% - 32px));
    margin:0 auto;
    padding-top:6vh;
}

.admin-login-card{
    text-align:center;
}

.admin-login-form-block{
    padding:24px;
    border-radius:24px;
    background:var(--panel-soft);
    border:1px solid var(--card-border);
    box-shadow:var(--shadow-soft);
}

.admin-login-form-block-compact{
    text-align:left;
}

.admin-login-badge{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:0 12px;
    border-radius:999px;
    margin-bottom:16px;
    background:var(--pill-bg);
    border:1px solid var(--line-soft);
    color:var(--muted);
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.12em;
    font-weight:700;
}

.admin-card{
    background:var(--panel-strong);
    border:1px solid var(--card-border);
    border-radius:28px;
    box-shadow:var(--shadow);
    padding:28px;
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
}

.admin-title{
    margin:0 0 8px;
    font-size:32px;
    line-height:1.05;
    letter-spacing:-0.03em;
}

.admin-subtitle{
    margin:0 0 22px;
    color:var(--muted);
    line-height:1.6;
}

.admin-topbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:22px;
}

.admin-topbar-left h1{
    margin:0 0 6px;
    font-size:32px;
    line-height:1.05;
}

.admin-topbar-left p{
    margin:0;
    color:var(--muted);
}

.admin-brand{
    display:flex;
    align-items:center;
    gap:14px;
}

.admin-brand-center{
    justify-content:center;
    margin-bottom:18px;
}

.admin-brand h1{
    margin:0 0 4px;
    font-size:30px;
    line-height:1.05;
}

.admin-brand p{
    margin:0;
    color:var(--muted);
}

.admin-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
}

.admin-field{
    margin-bottom:16px;
}

.admin-field label{
    display:block;
    margin-bottom:8px;
    font-weight:700;
    color:var(--text);
}

.admin-input,
.admin-textarea{
    width:100%;
    border-radius:16px;
    border:1px solid var(--line-soft);
    background:var(--pill-bg);
    color:var(--text);
    padding:14px 16px;
    font:inherit;
    outline:none;
    transition:border-color .2s ease, box-shadow .2s ease;
}

.admin-input:focus,
.admin-textarea:focus{
    border-color:rgba(122,104,242,.45);
    box-shadow:0 0 0 4px rgba(122,104,242,.12);
}

.admin-password-row{
    display:grid;
    grid-template-columns:1fr auto;
    gap:10px;
    align-items:center;
}

.admin-password-toggle{
    min-width:110px;
}

.admin-textarea{
    min-height:130px;
    resize:vertical;
}

.admin-actions{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top:10px;
}

.admin-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 18px;
    border:none;
    border-radius:16px;
    font-weight:700;
    font:inherit;
    cursor:pointer;
    text-decoration:none;
    transition:transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}

.admin-btn:hover{
    transform:translateY(-2px);
}

.admin-btn-primary{
    background:linear-gradient(135deg, var(--primary), var(--primary2));
    color:#fff;
    box-shadow:0 16px 36px rgba(90,70,214,.28);
}

.admin-btn-secondary{
    background:var(--pill-bg);
    color:var(--text);
    border:1px solid var(--line-soft);
}

.admin-alert{
    margin-bottom:16px;
    padding:14px 16px;
    border-radius:16px;
    background:var(--panel-soft);
    border:1px solid var(--card-border);
    color:var(--text);
}

.admin-alert-success{
    border-color:rgba(34,197,94,.25);
}

.admin-alert-error{
    border-color:rgba(239,68,68,.25);
}

.admin-save-status{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:18px;
    padding:14px 16px;
    border-radius:16px;
    background:var(--panel-soft);
    border:1px solid var(--card-border);
    color:var(--muted);
    transition:border-color .2s ease, color .2s ease, box-shadow .2s ease;
}

.admin-save-status.is-hidden{
    opacity:0;
    transform:translateY(-6px);
    margin:0;
    padding-top:0;
    padding-bottom:0;
    max-height:0;
    overflow:hidden;
    border-width:0;
    pointer-events:none;
}

.admin-save-dot{
    width:10px;
    height:10px;
    border-radius:999px;
    background:currentColor;
    opacity:.9;
    flex-shrink:0;
}

.admin-save-status.is-dirty{
    color:#d97706;
    border-color:rgba(217,119,6,.28);
}

.admin-save-status.is-saving{
    color:#2563eb;
    border-color:rgba(37,99,235,.28);
}

.admin-save-status.is-saving .admin-save-dot{
    animation:adminPulse 1s ease-in-out infinite;
}

.admin-save-status.is-success{
    color:#16a34a;
    border-color:rgba(22,163,74,.28);
}

.admin-save-status.is-error{
    color:#dc2626;
    border-color:rgba(220,38,38,.28);
}

.admin-stats-bar{
    display:grid;
    grid-template-columns:repeat(5, 1fr);
    gap:14px;
    margin-bottom:20px;
}

.admin-stat-box{
    padding:16px;
    border-radius:18px;
    background:var(--panel-soft);
    border:1px solid var(--card-border);
    box-shadow:var(--shadow-soft);
    text-align:center;
}

.admin-stat-box span{
    display:block;
    font-size:12px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--muted);
    margin-bottom:6px;
}

.admin-stat-box strong{
    display:block;
    font-size:28px;
    line-height:1;
    letter-spacing:-0.04em;
    background:linear-gradient(135deg, var(--primary), var(--primary2));
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}

.admin-footer-link{
    margin-top:16px;
    text-align:center;
}

.admin-footer-link a{
    color:var(--muted);
}

.menu-ecurie{
    display:inline-flex;
    align-items:center;
    gap:8px;
}

.menu-ecurie img{
    width:22px;
    height:22px;
    object-fit:contain;
    filter: drop-shadow(0 1px 2px rgba(0,0,0,.3));
}

.admin-overview-grid{
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:18px;
    margin-bottom:18px;
}

.admin-panel-card{
    margin-bottom:18px;
}

.admin-card-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin-bottom:18px;
}

.admin-kicker{
    display:block;
    margin-bottom:6px;
    font-size:12px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--muted);
    font-weight:700;
}

.admin-section-title{
    margin:0;
    font-size:24px;
    line-height:1.1;
}

.admin-alert-grid{
    display:grid;
    gap:12px;
    margin-bottom:18px;
}

.admin-inline-alert{
    padding:16px 18px;
    border-radius:18px;
    border:1px solid var(--card-border);
    background:var(--panel-soft);
    box-shadow:var(--shadow-soft);
}

.admin-inline-alert strong{
    display:block;
    margin-bottom:4px;
}

.admin-inline-alert p{
    margin:0;
    color:var(--muted);
    line-height:1.6;
}

.admin-inline-alert.tone-warning{
    border-color:rgba(217,119,6,.24);
}

.admin-inline-alert.tone-neutral{
    border-color:rgba(148,163,184,.24);
}

.admin-summary-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:14px;
}

.admin-summary-item{
    padding:16px;
    border-radius:18px;
    background:var(--panel-soft);
    border:1px solid var(--card-border);
}

.admin-summary-item span{
    display:block;
    margin-bottom:8px;
    color:var(--muted);
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-weight:700;
}

.admin-summary-item strong{
    display:block;
    font-size:18px;
    line-height:1.4;
}

.admin-performance-list{
    display:grid;
    gap:12px;
}

.admin-performance-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px 16px;
    border-radius:18px;
    background:var(--panel-soft);
    border:1px solid var(--card-border);
}

.admin-performance-row span{
    color:var(--muted);
}

.admin-performance-row strong{
    font-size:22px;
    line-height:1;
}

.admin-performance-row small{
    display:block;
    margin-top:6px;
    color:var(--muted);
    font-size:12px;
    font-weight:600;
    text-align:right;
}

.admin-chip-row{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}

.admin-chip{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:0 12px;
    border-radius:999px;
    background:var(--pill-bg);
    border:1px solid var(--line-soft);
    color:var(--muted);
    font-size:13px;
    font-weight:700;
}

.admin-chip.is-active{
    color:var(--text);
    border-color:rgba(122,104,242,.32);
}

.admin-kpi-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:14px;
}

.admin-kpi-card{
    padding:18px;
    border-radius:20px;
    background:var(--panel-soft);
    border:1px solid var(--card-border);
    box-shadow:var(--shadow-soft);
}

.admin-kpi-card span{
    display:block;
    margin-bottom:10px;
    color:var(--muted);
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.1em;
    font-weight:700;
}

.admin-kpi-card strong{
    display:block;
    margin-bottom:6px;
    font-size:34px;
    line-height:1;
    letter-spacing:-0.04em;
}

.admin-kpi-card small{
    color:var(--muted);
    line-height:1.5;
}

.admin-filters{
    display:grid;
    grid-template-columns:180px 180px minmax(220px, 1fr) auto;
    gap:14px;
    margin-bottom:18px;
}

.admin-filter-group label{
    display:block;
    margin-bottom:8px;
    font-weight:700;
}

.admin-filter-group-search{
    min-width:0;
}

.admin-filter-actions{
    display:flex;
    align-items:flex-end;
    gap:10px;
}

.admin-table-wrap{
    overflow-x:auto;
    border-radius:20px;
    border:1px solid var(--card-border);
    background:var(--panel-soft);
}

.admin-table{
    width:100%;
    border-collapse:collapse;
}

.admin-table th,
.admin-table td{
    padding:14px 16px;
    text-align:left;
    vertical-align:top;
}

.admin-table th{
    color:var(--muted);
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.1em;
}

.admin-table tbody tr + tr td{
    border-top:1px solid var(--line-soft);
}

.admin-agent strong{
    display:block;
    margin-bottom:4px;
    font-size:14px;
}

.admin-agent span{
    display:block;
    color:var(--muted);
    font-size:12px;
    line-height:1.5;
}

.admin-badge{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:0 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
}

.admin-badge.is-human{
    background:rgba(34,197,94,.12);
    color:#16a34a;
}

.admin-badge.is-bot{
    background:rgba(245,158,11,.12);
    color:#d97706;
}

.admin-table-empty{
    color:var(--muted);
    text-align:center !important;
}

.admin-pagination{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-top:18px;
}

.admin-pagination-label{
    color:var(--muted);
    font-weight:700;
}

@keyframes adminPulse{
    0%, 100%{
        transform:scale(1);
        opacity:.55;
    }
    50%{
        transform:scale(1.35);
        opacity:1;
    }
}

@media (max-width:820px){
    .admin-grid{
        grid-template-columns:1fr;
    }

    .admin-overview-grid,
    .admin-kpi-grid,
    .admin-summary-grid,
    .admin-filters{
        grid-template-columns:1fr;
    }

    .admin-topbar{
        flex-direction:column;
        align-items:flex-start;
    }

    .admin-stats-bar{
        grid-template-columns:1fr;
    }

    .admin-card-head,
    .admin-pagination{
        flex-direction:column;
        align-items:flex-start;
    }

    .admin-filter-actions{
        align-items:stretch;
        flex-wrap:wrap;
    }
}

/* =========================
   THEME ETE SAHARASH
   Ambiance soleil, sable, oasis et Dofus lumineux
   A coller en fin de fichier pour remplacer le style violet par une version ete.
========================= */

:root{
    --bg-page:#f4e8c8;
    --text:#332817;
    --muted:#79694f;
    --primary:#e6a21a;
    --primary2:#d97816;
    --primary3:#2a9bb0;
    --max:1180px;
    --radius:24px;
    --radius-lg:34px;
    --discord:#5865f2;
    --discord-hover:#4752c4;
    --nav-bg:rgba(244,232,200,.86);
    --nav-border:rgba(184,128,31,.22);
    --card-border:rgba(151,112,52,.24);
    --card-bg:linear-gradient(180deg, rgba(252,244,220,.82), rgba(235,215,168,.56));
    --card-hover-border:rgba(217,120,22,.42);
    --card-hover-shadow:rgba(151,96,28,.16);
    --panel:linear-gradient(180deg, rgba(251,243,218,.84), rgba(235,216,170,.58));
    --panel-soft:rgba(248,238,209,.70);
    --panel-strong:rgba(244,232,200,.88);
    --pill-bg:rgba(250,240,212,.72);
    --line-soft:rgba(151,112,52,.22);
    --hero-main-bg:
            radial-gradient(circle at 15% 12%, rgba(230,162,26,.20), transparent 32%),
            radial-gradient(circle at 90% 10%, rgba(42,155,176,.09), transparent 30%),
            linear-gradient(145deg, rgba(251,243,218,.86), rgba(235,211,154,.60));
    --hero-side-bg:
            radial-gradient(circle at 50% 5%, rgba(42,155,176,.11), transparent 34%),
            linear-gradient(160deg, rgba(251,243,218,.82), rgba(232,203,139,.48));
    --logo-stage-bg:
            radial-gradient(circle at 50% 42%, rgba(230,162,26,.18), transparent 42%),
            linear-gradient(180deg, rgba(251,243,218,.76), rgba(235,214,164,.52));
    --logo-frame-bg:linear-gradient(145deg, rgba(252,244,220,.90), rgba(232,202,137,.62));
    --cta-bg:
            radial-gradient(circle at 20% 20%, rgba(230,162,26,.20), transparent 30%),
            linear-gradient(135deg, rgba(251,243,218,.84), rgba(232,203,139,.58));
    --quote-bg:linear-gradient(145deg, rgba(251,243,218,.82), rgba(208,230,224,.42));
    --footer-bg:rgba(244,232,200,.84);
    --shadow:0 22px 58px rgba(111,82,39,.14);
    --shadow-soft:0 12px 28px rgba(111,82,39,.10);
    --step-color:rgba(230,162,26,.11);
}

html[data-theme="dark"]{
    --bg-page:#171307;
    --text:#fff7d6;
    --muted:#d8bd7a;
    --primary:#ffd166;
    --primary2:#ff9f1c;
    --primary3:#4cc9f0;
    --nav-bg:rgba(23,19,7,.78);
    --nav-border:rgba(255,209,102,.24);
    --card-border:rgba(255,209,102,.22);
    --card-bg:linear-gradient(180deg, rgba(54,39,11,.82), rgba(34,27,13,.78));
    --card-hover-border:rgba(255,159,28,.50);
    --card-hover-shadow:rgba(255,159,28,.20);
    --panel:linear-gradient(180deg, rgba(43,32,10,.84), rgba(25,21,11,.82));
    --panel-soft:rgba(255,244,190,.08);
    --panel-strong:rgba(33,27,12,.86);
    --pill-bg:rgba(255,244,190,.09);
    --line-soft:rgba(255,209,102,.18);
    --hero-main-bg:
            radial-gradient(circle at 18% 10%, rgba(255,209,102,.18), transparent 34%),
            radial-gradient(circle at 88% 12%, rgba(76,201,240,.12), transparent 30%),
            linear-gradient(145deg, rgba(43,32,10,.90), rgba(23,19,7,.88));
    --hero-side-bg:
            radial-gradient(circle at 45% 5%, rgba(76,201,240,.14), transparent 36%),
            linear-gradient(160deg, rgba(43,32,10,.88), rgba(23,19,7,.86));
    --logo-stage-bg:
            radial-gradient(circle at 50% 42%, rgba(255,209,102,.17), transparent 44%),
            linear-gradient(180deg, rgba(43,32,10,.86), rgba(23,19,7,.84));
    --logo-frame-bg:linear-gradient(145deg, rgba(65,46,14,.92), rgba(36,28,12,.90));
    --cta-bg:
            radial-gradient(circle at 22% 18%, rgba(255,209,102,.17), transparent 32%),
            linear-gradient(135deg, rgba(49,37,12,.90), rgba(30,24,11,.88));
    --quote-bg:linear-gradient(145deg, rgba(43,32,10,.88), rgba(11,42,52,.38));
    --footer-bg:rgba(30,24,11,.82);
    --shadow:0 24px 70px rgba(0,0,0,.34);
    --shadow-soft:0 14px 34px rgba(0,0,0,.24);
    --step-color:rgba(255,209,102,.13);
}

body{
    background:
            radial-gradient(circle at top left, rgba(230,162,26,.14), transparent 34%),
            radial-gradient(circle at top right, rgba(42,155,176,.09), transparent 30%),
            linear-gradient(180deg, var(--bg-page), #ead8aa 52%, var(--bg-page));
}

html[data-theme="dark"] body{
    background:
            radial-gradient(circle at top left, rgba(255,209,102,.13), transparent 34%),
            radial-gradient(circle at top right, rgba(76,201,240,.10), transparent 30%),
            linear-gradient(180deg, var(--bg-page), #211805 52%, var(--bg-page));
}

.page-glow{
    filter:blur(76px);
    opacity:.42;
}

.glow-1,
html[data-theme="dark"] .glow-1{
    background:rgba(255,214,10,.32);
}

.glow-2,
html[data-theme="dark"] .glow-2{
    background:rgba(0,180,216,.22);
}

.glow-3,
html[data-theme="dark"] .glow-3{
    background:rgba(251,133,0,.20);
}

.orbs span:nth-child(1),
html[data-theme="dark"] .orbs span:nth-child(1){
    background:rgba(255,214,10,.30);
}

.orbs span:nth-child(2),
html[data-theme="dark"] .orbs span:nth-child(2){
    background:rgba(0,180,216,.20);
}

.orbs span:nth-child(3),
html[data-theme="dark"] .orbs span:nth-child(3){
    background:rgba(255,159,28,.18);
}

.nav-wrap{
    box-shadow:0 8px 26px rgba(174,113,16,.08);
}

.brand-logo,
html[data-theme="dark"] .brand-logo{
    background:linear-gradient(135deg, rgba(255,214,10,.42), rgba(0,180,216,.20));
    box-shadow:0 12px 28px rgba(251,133,0,.20);
}

.menu a:hover,
.menu a.is-active,
.footer-links-grid a.is-active{
    background:rgba(255,183,3,.18);
    color:var(--text);
}

.menu-ecurie{
    background:linear-gradient(180deg,#f4b95b,#b76d28);
    border-color:rgba(255,231,143,.58);
    box-shadow:0 10px 22px rgba(183,109,40,.28), inset 0 1px 0 rgba(255,250,210,.38);
}

.menu-ecurie:hover{
    background:linear-gradient(180deg,#ffd166,#d97706);
}

.btn-primary,
.admin-btn-primary{
    background:linear-gradient(135deg, var(--primary), var(--primary2));
    color:#2f2515;
    box-shadow:0 16px 36px rgba(251,133,0,.26);
}

.btn-secondary,
.admin-btn-secondary{
    background:rgba(255,255,255,.56);
    border-color:rgba(216,153,27,.24);
}

.hero-main,
.hero-side,
.card,
.panel,
.cta-banner,
.quote-box,
.footer-box-v2,
.admin-card{
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
}

.hero-main,
.hero-side{
    position:relative;
    overflow:hidden;
}

.hero-main::after{
    content:"☀️";
    position:absolute;
    right:24px;
    top:18px;
    font-size:82px;
    opacity:.13;
    pointer-events:none;
    transform:rotate(12deg);
}

.hero-side::after{
    content:"🌴";
    position:absolute;
    right:18px;
    bottom:12px;
    font-size:70px;
    opacity:.14;
    pointer-events:none;
}

.gradient,
.stat-number strong,
.admin-stat-box strong{
    background:linear-gradient(135deg, var(--primary2), var(--primary) 48%, var(--primary3));
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}

.icon,
html[data-theme="dark"] .icon{
    background:linear-gradient(135deg, rgba(255,214,10,.35), rgba(42,155,176,.09));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.30);
}

.logo-stage::before,
html[data-theme="dark"] .logo-stage::before{
    background:radial-gradient(circle, rgba(255,214,10,.42) 0%, rgba(255,183,3,.18) 44%, transparent 72%);
}

.logo-stage::after{
    background:conic-gradient(from 0deg, transparent 0deg, rgba(255,255,255,.34) 38deg, rgba(255,214,10,.18) 58deg, transparent 88deg, transparent 360deg);
}

.logo-frame::after{
    background:linear-gradient(90deg, transparent, rgba(255,255,255,.48), transparent);
}

.card:hover,
.mini-card:hover,
.stat:hover,
.admin-kpi-card:hover,
.admin-summary-item:hover{
    transform:translateY(-4px);
    border-color:var(--card-hover-border);
    box-shadow:0 18px 38px var(--card-hover-shadow);
}

.card,
.mini-card,
.stat,
.admin-kpi-card,
.admin-summary-item{
    transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.footer::before{
    background:linear-gradient(90deg, transparent, var(--primary2), var(--primary), var(--primary3), transparent);
    opacity:.35;
}

.admin-input:focus,
.admin-textarea:focus{
    border-color:rgba(251,133,0,.46);
    box-shadow:0 0 0 4px rgba(255,183,3,.14);
}

@media (max-width:640px){
    .hero-main::after,
    .hero-side::after{
        font-size:54px;
        opacity:.10;
    }
}

/* Correction theme clair : version ete plus douce, moins agressive pour les yeux */
html:not([data-theme="dark"]) .hero-main,
html:not([data-theme="dark"]) .hero-side,
html:not([data-theme="dark"]) .card,
html:not([data-theme="dark"]) .panel,
html:not([data-theme="dark"]) .cta-banner,
html:not([data-theme="dark"]) .quote-box,
html:not([data-theme="dark"]) .footer-box-v2,
html:not([data-theme="dark"]) .admin-card{
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
}

html:not([data-theme="dark"]) .btn-primary,
html:not([data-theme="dark"]) .admin-btn-primary{
    box-shadow:0 14px 30px rgba(151,96,28,.18);
}

html:not([data-theme="dark"]) .menu a:hover,
html:not([data-theme="dark"]) .menu a.is-active,
html:not([data-theme="dark"]) .footer-links-grid a.is-active{
    background:rgba(217,120,22,.10);
}

html:not([data-theme="dark"]) .glow-1{ background:rgba(230,162,26,.20); }
html:not([data-theme="dark"]) .glow-2{ background:rgba(42,155,176,.11); }
html:not([data-theme="dark"]) .glow-3{ background:rgba(230,162,26,.12); }

html:not([data-theme="dark"]) .orbs span:nth-child(1){ background:rgba(230,162,26,.16); }
html:not([data-theme="dark"]) .orbs span:nth-child(2){ background:rgba(42,155,176,.10); }
html:not([data-theme="dark"]) .orbs span:nth-child(3){ background:rgba(230,162,26,.09); }

/* On remet l'intensite originale du theme sombre */
html[data-theme="dark"] .page-glow{
    opacity:.66;
}


/* =========================================================
   THEME CLAIR V2 - OASIS PREMIUM
   Ajout uniquement pour le mode clair.
   Le theme sombre n'est pas modifie.
========================================================= */

:root{
    --bg-page:#f5efe2;
    --text:#2e2418;
    --muted:#746554;
    --primary:#e69a2e;
    --primary2:#f5c35b;
    --primary3:#45c2c5;

    --nav-bg:rgba(245,239,226,.88);
    --nav-border:rgba(180,120,42,.18);
    --card-border:rgba(184,128,48,.18);
    --card-bg:linear-gradient(180deg, rgba(255,250,240,.88), rgba(248,241,229,.76));
    --card-hover-border:rgba(230,154,46,.38);
    --card-hover-shadow:rgba(140,92,28,.16);

    --panel:rgba(255,250,240,.86);
    --panel-soft:rgba(248,241,229,.78);
    --panel-strong:rgba(255,253,247,.88);
    --pill-bg:rgba(255,248,232,.74);
    --line-soft:rgba(160,112,54,.16);

    --hero-main-bg:
            radial-gradient(circle at 18% 12%, rgba(245,195,91,.24), transparent 34%),
            radial-gradient(circle at 88% 10%, rgba(69,194,197,.14), transparent 32%),
            linear-gradient(135deg, rgba(255,248,220,.95), rgba(255,255,255,.74));
    --hero-side-bg:
            radial-gradient(circle at 50% 8%, rgba(69,194,197,.16), transparent 36%),
            linear-gradient(160deg, rgba(255,250,240,.92), rgba(248,235,205,.72));
    --logo-stage-bg:
            radial-gradient(circle at center, rgba(245,195,91,.18), transparent 60%),
            linear-gradient(135deg, rgba(255,250,240,.95), rgba(250,240,220,.85));
    --logo-frame-bg:linear-gradient(145deg, rgba(255,252,244,.94), rgba(248,227,184,.80));
    --cta-bg:
            radial-gradient(circle at 20% 20%, rgba(245,195,91,.22), transparent 34%),
            radial-gradient(circle at 92% 15%, rgba(69,194,197,.12), transparent 36%),
            linear-gradient(135deg, rgba(255,250,240,.92), rgba(248,231,194,.78));
    --quote-bg:linear-gradient(145deg, rgba(255,250,240,.90), rgba(224,244,239,.64));
    --footer-bg:rgba(255,250,240,.84);

    --shadow:0 18px 46px rgba(120,90,30,.10), 0 3px 10px rgba(120,90,30,.05);
    --shadow-soft:0 10px 26px rgba(120,90,30,.08), 0 2px 6px rgba(120,90,30,.04);
    --step-color:rgba(230,154,46,.10);
}

html:not([data-theme="dark"]) body{
    background:
            radial-gradient(circle at top left, rgba(245,195,91,.25), transparent 35%),
            radial-gradient(circle at top right, rgba(69,194,197,.15), transparent 40%),
            radial-gradient(circle at 50% 100%, rgba(230,154,46,.12), transparent 42%),
            linear-gradient(180deg, #f8f2e7 0%, #f1e7d5 100%);
}

html:not([data-theme="dark"]) .nav-wrap{
    background:rgba(245,239,226,.84);
    border-bottom:1px solid rgba(184,128,48,.16);
    box-shadow:0 10px 30px rgba(120,90,30,.08);
}

html:not([data-theme="dark"]) .hero-main,
html:not([data-theme="dark"]) .hero-side,
html:not([data-theme="dark"]) .card,
html:not([data-theme="dark"]) .panel,
html:not([data-theme="dark"]) .cta-banner,
html:not([data-theme="dark"]) .quote-box,
html:not([data-theme="dark"]) .footer-box-v2,
html:not([data-theme="dark"]) .admin-card,
html:not([data-theme="dark"]) .mini-card,
html:not([data-theme="dark"]) .stat,
html:not([data-theme="dark"]) .admin-kpi-card,
html:not([data-theme="dark"]) .admin-summary-item,
html:not([data-theme="dark"]) .admin-stat-box{
    background:rgba(255,250,240,.85);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    border:1px solid rgba(230,154,46,.15);
    box-shadow:
            0 10px 30px rgba(120,90,30,.08),
            0 2px 6px rgba(120,90,30,.04);
}

html:not([data-theme="dark"]) .hero-main{
    background:
            radial-gradient(circle at 16% 14%, rgba(245,195,91,.24), transparent 34%),
            radial-gradient(circle at 86% 10%, rgba(69,194,197,.13), transparent 32%),
            linear-gradient(135deg, rgba(255,248,220,.95), rgba(255,255,255,.75));
}

html:not([data-theme="dark"]) .hero-side{
    background:
            radial-gradient(circle at 50% 8%, rgba(69,194,197,.15), transparent 36%),
            linear-gradient(160deg, rgba(255,250,240,.92), rgba(248,232,198,.76));
}

html:not([data-theme="dark"]) .logo-stage{
    background:
            radial-gradient(circle at center, rgba(245,195,91,.18), transparent 60%),
            linear-gradient(135deg, rgba(255,250,240,.95), rgba(250,240,220,.85));
}

html:not([data-theme="dark"]) .btn-primary,
html:not([data-theme="dark"]) .admin-btn-primary{
    background:linear-gradient(135deg, #e69a2e, #f5c35b);
    color:#2e2418;
    box-shadow:0 10px 25px rgba(230,154,46,.35);
}

html:not([data-theme="dark"]) .btn-primary:hover,
html:not([data-theme="dark"]) .admin-btn-primary:hover{
    box-shadow:0 16px 34px rgba(230,154,46,.42);
}

html:not([data-theme="dark"]) .btn-secondary,
html:not([data-theme="dark"]) .admin-btn-secondary,
html:not([data-theme="dark"]) .list li,
html:not([data-theme="dark"]) .admin-input,
html:not([data-theme="dark"]) .admin-textarea,
html:not([data-theme="dark"]) .admin-chip{
    background:rgba(255,248,232,.74);
    border-color:rgba(160,112,54,.16);
}

html:not([data-theme="dark"]) .glow-1{ background:rgba(245,195,91,.22); }
html:not([data-theme="dark"]) .glow-2{ background:rgba(69,194,197,.18); }
html:not([data-theme="dark"]) .glow-3{ background:rgba(255,170,70,.15); }

html:not([data-theme="dark"]) .orbs span:nth-child(1){ background:rgba(245,195,91,.20); }
html:not([data-theme="dark"]) .orbs span:nth-child(2){ background:rgba(69,194,197,.14); }
html:not([data-theme="dark"]) .orbs span:nth-child(3){ background:rgba(255,170,70,.12); }

html:not([data-theme="dark"]) .logo-stage::before{
    background:radial-gradient(circle, rgba(245,195,91,.32) 0%, rgba(245,195,91,.13) 42%, transparent 72%);
}

html:not([data-theme="dark"]) .logo-frame{
    background:linear-gradient(145deg, rgba(255,252,244,.94), rgba(248,227,184,.80));
    box-shadow:
            0 16px 36px rgba(120,90,30,.10),
            inset 0 1px 0 rgba(255,255,255,.55);
}

html:not([data-theme="dark"]) .menu a:hover,
html:not([data-theme="dark"]) .menu a.is-active,
html:not([data-theme="dark"]) .footer-links-grid a.is-active{
    background:rgba(230,154,46,.13);
}

html:not([data-theme="dark"]) .icon{
    background:linear-gradient(135deg, rgba(245,195,91,.32), rgba(69,194,197,.13));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
}

html:not([data-theme="dark"]) .card:hover,
html:not([data-theme="dark"]) .mini-card:hover,
html:not([data-theme="dark"]) .stat:hover,
html:not([data-theme="dark"]) .admin-kpi-card:hover,
html:not([data-theme="dark"]) .admin-summary-item:hover{
    border-color:rgba(230,154,46,.32);
    box-shadow:
            0 16px 40px rgba(120,90,30,.12),
            0 4px 12px rgba(120,90,30,.06);
}
