
*{
    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 HALLOWEEN SAHARASH - EVENT WOW
   Festival citrouille en clair, nuit hantee en sombre.
   Sans element qui cree un espace vide : effets en fixed/absolute uniquement.
========================= */

:root{
    --bg-page:#24151f;
    --text:#fff3dc;
    --muted:#d7b98f;
    --primary:#ff7a18;
    --primary2:#ffc15a;
    --primary3:#8b3dff;
    --max:1180px;
    --radius:24px;
    --radius-lg:34px;
    --discord:#5865f2;
    --discord-hover:#4752c4;

    --nav-bg:rgba(255,241,216,.88);
    --nav-border:rgba(255,122,24,.24);
    --card-border:rgba(120,70,35,.24);
    --card-bg:linear-gradient(180deg, rgba(255,246,225,.90), rgba(244,214,169,.78));
    --card-hover-border:rgba(255,122,24,.54);
    --card-hover-shadow:rgba(255,122,24,.20);

    --panel:linear-gradient(180deg, rgba(255,246,225,.88), rgba(243,214,172,.76));
    --panel-soft:rgba(255,235,196,.74);
    --panel-strong:rgba(255,246,225,.88);
    --pill-bg:rgba(255,232,192,.76);
    --line-soft:rgba(120,70,35,.20);

    --hero-main-bg:
            radial-gradient(circle at 14% 12%, rgba(255,122,24,.24), transparent 34%),
            radial-gradient(circle at 86% 10%, rgba(139,61,255,.15), transparent 32%),
            radial-gradient(circle at 54% 100%, rgba(255,193,90,.14), transparent 38%),
            linear-gradient(135deg, rgba(255,245,221,.96), rgba(244,211,164,.82));

    --hero-side-bg:
            radial-gradient(circle at 50% 8%, rgba(139,61,255,.17), transparent 36%),
            linear-gradient(160deg, rgba(255,245,221,.94), rgba(238,202,154,.80));

    --logo-stage-bg:
            radial-gradient(circle at center, rgba(255,122,24,.22), transparent 58%),
            radial-gradient(circle at 50% 50%, rgba(139,61,255,.10), transparent 72%),
            linear-gradient(135deg, rgba(255,246,225,.94), rgba(238,206,164,.84));

    --logo-frame-bg:linear-gradient(145deg, rgba(255,247,226,.98), rgba(226,174,109,.88));

    --cta-bg:
            radial-gradient(circle at 18% 18%, rgba(255,122,24,.22), transparent 34%),
            radial-gradient(circle at 90% 14%, rgba(139,61,255,.14), transparent 36%),
            linear-gradient(135deg, rgba(255,245,221,.94), rgba(238,202,154,.82));

    --quote-bg:linear-gradient(145deg, rgba(255,245,221,.92), rgba(244,214,169,.72));
    --footer-bg:rgba(255,245,221,.80);

    --shadow:0 22px 54px rgba(90,45,20,.13);
    --shadow-soft:0 12px 28px rgba(90,45,20,.10);
    --step-color:rgba(255,122,24,.11);
}

html[data-theme="dark"]{
    --bg-page:#0d0713;
    --text:#fff1d8;
    --muted:#d5a6ff;
    --primary:#ff7a18;
    --primary2:#a855f7;
    --primary3:#ff3dca;

    --nav-bg:rgba(13,7,19,.82);
    --nav-border:rgba(168,85,247,.28);
    --card-border:rgba(168,85,247,.24);
    --card-bg:linear-gradient(180deg, rgba(38,18,55,.88), rgba(20,10,28,.86));
    --card-hover-border:rgba(255,122,24,.58);
    --card-hover-shadow:rgba(168,85,247,.24);

    --panel:linear-gradient(180deg, rgba(36,18,52,.88), rgba(18,9,26,.86));
    --panel-soft:rgba(248,180,80,.08);
    --panel-strong:rgba(26,12,38,.90);
    --pill-bg:rgba(168,85,247,.10);
    --line-soft:rgba(168,85,247,.20);

    --hero-main-bg:
            radial-gradient(circle at 16% 10%, rgba(255,122,24,.22), transparent 34%),
            radial-gradient(circle at 86% 12%, rgba(168,85,247,.30), transparent 34%),
            radial-gradient(circle at 50% 100%, rgba(255,61,202,.16), transparent 42%),
            linear-gradient(145deg, rgba(35,16,50,.94), rgba(13,7,19,.92));

    --hero-side-bg:
            radial-gradient(circle at 44% 5%, rgba(168,85,247,.26), transparent 40%),
            linear-gradient(160deg, rgba(34,15,48,.92), rgba(13,7,19,.90));

    --logo-stage-bg:
            radial-gradient(circle at 50% 42%, rgba(255,122,24,.20), transparent 42%),
            radial-gradient(circle at 50% 50%, rgba(168,85,247,.28), transparent 68%),
            linear-gradient(180deg, rgba(33,15,48,.90), rgba(13,7,19,.88));

    --logo-frame-bg:linear-gradient(145deg, rgba(55,24,77,.94), rgba(21,10,31,.92));

    --cta-bg:
            radial-gradient(circle at 22% 18%, rgba(255,122,24,.20), transparent 32%),
            radial-gradient(circle at 88% 12%, rgba(255,61,202,.14), transparent 36%),
            linear-gradient(135deg, rgba(40,18,56,.92), rgba(17,9,25,.90));

    --quote-bg:linear-gradient(145deg, rgba(35,16,50,.90), rgba(62,20,44,.48));
    --footer-bg:rgba(17,9,25,.86);
    --shadow:0 26px 74px rgba(0,0,0,.44);
    --shadow-soft:0 15px 36px rgba(0,0,0,.30);
    --step-color:rgba(255,122,24,.14);
}

body{
    background:
            radial-gradient(circle at 12% 0%, rgba(255,122,24,.20), transparent 32%),
            radial-gradient(circle at 88% 4%, rgba(139,61,255,.14), transparent 36%),
            radial-gradient(circle at 50% 100%, rgba(255,193,90,.12), transparent 42%),
            linear-gradient(180deg, #fff1d9, #ecd0a3 55%, #fff1d9);
}

html[data-theme="dark"] body{
    background:
            radial-gradient(circle at 12% 0%, rgba(255,122,24,.18), transparent 34%),
            radial-gradient(circle at 88% 2%, rgba(168,85,247,.26), transparent 38%),
            radial-gradient(circle at 50% 100%, rgba(255,61,202,.12), transparent 44%),
            linear-gradient(180deg, #0d0713, #1a0927 52%, #0d0713);
}

/* Brume Halloween globale : fixed = ne prend jamais de hauteur */
body::before{
    content:"";
    position:fixed;
    inset:-20%;
    pointer-events:none;
    z-index:0;
    opacity:.26;
    background:
            radial-gradient(ellipse at 20% 30%, rgba(168,85,247,.20), transparent 34%),
            radial-gradient(ellipse at 80% 18%, rgba(255,122,24,.14), transparent 32%),
            radial-gradient(ellipse at 50% 82%, rgba(255,61,202,.10), transparent 38%);
    filter:blur(26px);
    animation:halloweenMist 18s ease-in-out infinite;
}

html[data-theme="dark"] body::before{
    opacity:.42;
}

@keyframes halloweenMist{
    0%,100%{ transform:translate3d(0,0,0) scale(1); }
    50%{ transform:translate3d(28px,-18px,0) scale(1.06); }
}

main,
header,
footer{
    position:relative;
    z-index:1;
}

/* Halo lune + particules dans le hero */
.hero{
    overflow:hidden;
}

.hero::before{
    content:"";
    position:absolute;
    width:360px;
    height:360px;
    right:-80px;
    top:-90px;
    border-radius:999px;
    pointer-events:none;
    z-index:0;
    opacity:.38;
    background:
            radial-gradient(circle at 42% 38%, rgba(255,240,200,.88), rgba(255,164,74,.40) 38%, rgba(168,85,247,.16) 62%, transparent 72%);
    filter:blur(1px) drop-shadow(0 0 40px rgba(255,122,24,.25));
    animation:halloweenMoon 7s ease-in-out infinite;
}

html[data-theme="dark"] .hero::before{
    opacity:.52;
    background:
            radial-gradient(circle at 42% 38%, rgba(255,225,165,.92), rgba(255,122,24,.34) 36%, rgba(168,85,247,.28) 64%, transparent 74%);
    filter:drop-shadow(0 0 52px rgba(168,85,247,.35));
}

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

/* Lumieres Halloween */
.page-glow{
    filter:blur(78px);
    opacity:.48;
}

.glow-1,
html[data-theme="dark"] .glow-1{
    background:rgba(255,122,24,.34);
}

.glow-2,
html[data-theme="dark"] .glow-2{
    background:rgba(168,85,247,.28);
}

.glow-3,
html[data-theme="dark"] .glow-3{
    background:rgba(255,61,202,.18);
}

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

.orbs span:nth-child(2),
html[data-theme="dark"] .orbs span:nth-child(2){
    background:rgba(168,85,247,.25);
}

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

.nav-wrap{
    box-shadow:0 8px 28px rgba(70,30,20,.10);
}

html[data-theme="dark"] .nav-wrap{
    box-shadow:0 8px 34px rgba(0,0,0,.32), 0 0 22px rgba(168,85,247,.10);
}

.brand-logo,
html[data-theme="dark"] .brand-logo,
.footer-brand-col .mark,
html[data-theme="dark"] .footer-brand-col .mark{
    background:linear-gradient(135deg, rgba(255,122,24,.46), rgba(168,85,247,.26));
    box-shadow:0 12px 30px rgba(255,122,24,.22), 0 0 22px rgba(168,85,247,.12);
}

.menu a:hover,
.menu a.is-active,
.footer-links-grid a.is-active{
    background:rgba(255,122,24,.17);
    color:var(--text);
}

html[data-theme="dark"] .menu a:hover,
html[data-theme="dark"] .menu a.is-active,
html[data-theme="dark"] .footer-links-grid a.is-active{
    background:linear-gradient(135deg, rgba(255,122,24,.16), rgba(168,85,247,.16));
}

.menu-ecurie{
    background:linear-gradient(180deg,#d46b20,#74301e);
    border-color:rgba(255,193,90,.60);
    box-shadow:0 10px 24px rgba(90,35,20,.34), inset 0 1px 0 rgba(255,226,160,.34);
}

.menu-ecurie:hover{
    background:linear-gradient(180deg,#ff8a24,#9a3a21);
}

.btn-primary,
.admin-btn-primary{
    background:linear-gradient(135deg, #ff7a18, #ffc15a 54%, #8b3dff);
    color:#2b160d;
    box-shadow:0 16px 38px rgba(255,122,24,.28), 0 0 22px rgba(139,61,255,.12);
}

html[data-theme="dark"] .btn-primary,
html[data-theme="dark"] .admin-btn-primary{
    color:#fff3dc;
    background:linear-gradient(135deg, #ff7a18, #a855f7 56%, #ff3dca);
    box-shadow:0 16px 42px rgba(168,85,247,.26), 0 0 28px rgba(255,122,24,.18);
}

.btn-secondary,
.admin-btn-secondary{
    background:rgba(255,234,198,.66);
    border-color:rgba(120,70,35,.24);
}

html[data-theme="dark"] .btn-secondary,
html[data-theme="dark"] .admin-btn-secondary{
    background:rgba(168,85,247,.10);
}

/* Panneaux et cartes */
.hero-main,
.hero-side,
.card,
.panel,
.cta-banner,
.quote-box,
.footer-box-v2,
.admin-card{
    backdrop-filter:blur(13px);
    -webkit-backdrop-filter:blur(13px);
}

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

/* Decors forts : citrouille en clair, lune/fantome en sombre */
.hero-main::after{
    content:"🎃" !important;
    position:absolute;
    right:24px;
    top:14px;
    width:auto;
    height:auto;
    font-size:84px;
    line-height:1;
    opacity:.15;
    pointer-events:none;
    background:none !important;
    border:0 !important;
    box-shadow:none !important;
    clip-path:none !important;
    filter:drop-shadow(0 0 18px rgba(255,122,24,.28));
    animation:halloweenIconPulse 5s ease-in-out infinite;
}

.hero-side::after{
    content:"🌕" !important;
    position:absolute;
    right:18px;
    bottom:10px;
    width:auto;
    height:auto;
    font-size:74px;
    line-height:1;
    opacity:.12;
    pointer-events:none;
    background:none !important;
    border:0 !important;
    box-shadow:none !important;
    clip-path:none !important;
    filter:drop-shadow(0 0 22px rgba(168,85,247,.26));
    animation:halloweenIconFloat 7s ease-in-out infinite;
}

html[data-theme="dark"] .hero-main::after{
    content:"☾" !important;
    font-size:118px;
    opacity:.17;
    color:rgba(255,180,80,.72);
    text-shadow:0 0 28px rgba(255,122,24,.38), 0 0 46px rgba(168,85,247,.28);
}

html[data-theme="dark"] .hero-side::after{
    content:"✦" !important;
    font-size:112px;
    opacity:.13;
    color:rgba(220,180,255,.78);
    text-shadow:0 0 30px rgba(168,85,247,.34);
}

@keyframes halloweenIconPulse{
    0%,100%{ transform:scale(1) rotate(0deg); opacity:.12; }
    50%{ transform:scale(1.08) rotate(4deg); opacity:.22; }
}

@keyframes halloweenIconFloat{
    0%,100%{ transform:translateY(0) rotate(-4deg); }
    50%{ transform:translateY(-12px) rotate(5deg); }
}

/* Aura possedee autour du blason */
.logo-stage::before,
html[data-theme="dark"] .logo-stage::before{
    background:radial-gradient(circle, rgba(255,122,24,.38) 0%, rgba(168,85,247,.18) 42%, transparent 72%);
    animation:halloweenAura 4.6s ease-in-out infinite;
}

.logo-stage::after{
    background:conic-gradient(from 0deg, transparent 0deg, rgba(255,122,24,.16) 38deg, rgba(168,85,247,.18) 62deg, transparent 92deg, transparent 360deg);
    opacity:.28;
    animation:halloweenAuraSpin 18s linear infinite;
}

.logo-frame{
    box-shadow:
            var(--shadow-soft),
            0 0 28px rgba(255,122,24,.12),
            0 0 42px rgba(168,85,247,.10);
}

html[data-theme="dark"] .logo-frame{
    box-shadow:
            0 18px 38px rgba(0,0,0,.42),
            0 0 34px rgba(168,85,247,.22),
            0 0 58px rgba(255,122,24,.12);
}

@keyframes halloweenAura{
    0%,100%{ transform:scale(1); opacity:.52; filter:blur(20px); }
    50%{ transform:scale(1.14); opacity:.92; filter:blur(28px); }
}

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

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

.icon,
html[data-theme="dark"] .icon{
    background:linear-gradient(135deg, rgba(255,193,90,.36), rgba(255,122,24,.18), rgba(168,85,247,.16));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.30), 0 0 18px rgba(255,122,24,.10);
}

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

.card:hover,
.mini-card:hover,
.stat:hover,
.admin-kpi-card:hover,
.admin-summary-item:hover{
    transform:translateY(-5px);
    border-color:var(--card-hover-border);
    box-shadow:0 18px 42px var(--card-hover-shadow), 0 0 20px rgba(168,85,247,.10);
}

.card{
    position:relative;
    overflow:hidden;
}

.card::after{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    pointer-events:none;
    background:linear-gradient(120deg, transparent, rgba(255,193,90,.13), rgba(168,85,247,.08), transparent);
    transform:translateX(-120%);
    transition:1s ease;
}

.card:hover::after{
    transform:translateX(120%);
}

/* Petites toiles discretes sur cartes */
.card::before,
.panel::before{
    content:"";
    position:absolute;
    top:0;
    right:0;
    width:60px;
    height:60px;
    pointer-events:none;
    opacity:.10;
    background:
            linear-gradient(135deg, transparent 48%, currentColor 49%, transparent 51%),
            linear-gradient(45deg, transparent 48%, currentColor 49%, transparent 51%),
            radial-gradient(circle at 100% 0%, transparent 0 18px, currentColor 19px, transparent 20px),
            radial-gradient(circle at 100% 0%, transparent 0 36px, currentColor 37px, transparent 38px);
    color:var(--primary3);
}

.panel{
    position:relative;
    overflow:hidden;
}

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

.admin-input:focus,
.admin-textarea:focus{
    border-color:rgba(255,122,24,.46);
    box-shadow:0 0 0 4px rgba(168,85,247,.14);
}

/* Chauves-souris premium en CSS
   HTML a ajouter apres <body> :
   <div class="halloween-bats"><span></span>...12 span...</div>
*/
.halloween-bats{
    position:fixed;
    inset:0;
    pointer-events:none;
    overflow:hidden;
    z-index:0;
}

.halloween-bats span{
    position:absolute;
    left:-90px;
    top:14%;
    width:38px;
    height:18px;
    opacity:.34;
    transform:scale(.9);
    animation:halloweenBatFly linear infinite;
}

.halloween-bats span::before,
.halloween-bats span::after{
    content:"";
    position:absolute;
    top:0;
    width:22px;
    height:18px;
    background:rgba(35,18,45,.82);
    border-radius:80% 80% 18% 18%;
    transform-origin:bottom center;
    filter:drop-shadow(0 0 8px rgba(168,85,247,.28));
    animation:batWing .55s ease-in-out infinite;
}

html[data-theme="dark"] .halloween-bats span::before,
html[data-theme="dark"] .halloween-bats span::after{
    background:rgba(6,3,10,.92);
    filter:drop-shadow(0 0 10px rgba(168,85,247,.38));
}

.halloween-bats span::before{
    left:0;
    transform:rotate(-18deg) skewX(-14deg);
}

.halloween-bats span::after{
    right:0;
    transform:rotate(18deg) skewX(14deg);
}

.halloween-bats span:nth-child(1){ top:12%; animation-duration:26s; animation-delay:-3s; }
.halloween-bats span:nth-child(2){ top:22%; animation-duration:32s; animation-delay:-14s; transform:scale(.72); }
.halloween-bats span:nth-child(3){ top:34%; animation-duration:28s; animation-delay:-8s; transform:scale(.86); }
.halloween-bats span:nth-child(4){ top:48%; animation-duration:36s; animation-delay:-21s; transform:scale(.68); }
.halloween-bats span:nth-child(5){ top:18%; animation-duration:30s; animation-delay:-18s; transform:scale(1.05); }
.halloween-bats span:nth-child(6){ top:58%; animation-duration:34s; animation-delay:-9s; transform:scale(.76); }
.halloween-bats span:nth-child(7){ top:42%; animation-duration:38s; animation-delay:-26s; transform:scale(.95); }
.halloween-bats span:nth-child(8){ top:28%; animation-duration:27s; animation-delay:-19s; transform:scale(.62); }
.halloween-bats span:nth-child(9){ top:64%; animation-duration:41s; animation-delay:-29s; transform:scale(.82); }
.halloween-bats span:nth-child(10){ top:10%; animation-duration:35s; animation-delay:-23s; transform:scale(.70); }
.halloween-bats span:nth-child(11){ top:72%; animation-duration:44s; animation-delay:-31s; transform:scale(.58); }
.halloween-bats span:nth-child(12){ top:38%; animation-duration:33s; animation-delay:-4s; transform:scale(.74); }

@keyframes halloweenBatFly{
    0%{ translate:-100px 0; opacity:0; }
    10%{ opacity:.32; }
    50%{ translate:55vw -32px; opacity:.26; }
    90%{ opacity:.30; }
    100%{ translate:calc(100vw + 120px) 28px; opacity:0; }
}

@keyframes batWing{
    0%,100%{ scale:1 1; }
    50%{ scale:1 .58; }
}

/* =========================
   MODE CLAIR HALLOWEEN V2
   Plus premium, moins fade, sans toucher au sombre
========================= */

html:not([data-theme="dark"]){
    --bg-page:#fff0d2;
    --text:#2b170c;
    --muted:#6f4322;

    --nav-bg:rgba(255,238,205,.88);
    --nav-border:rgba(160,74,24,.24);

    --card-border:rgba(136,70,28,.24);
    --card-bg:
            radial-gradient(circle at 12% 0%, rgba(255,122,24,.18), transparent 34%),
            linear-gradient(180deg, rgba(255,249,232,.96), rgba(244,199,132,.82));
    --card-hover-border:rgba(255,122,24,.58);
    --card-hover-shadow:rgba(255,122,24,.22);

    --panel:
            radial-gradient(circle at 100% 0%, rgba(139,61,255,.10), transparent 34%),
            linear-gradient(180deg, rgba(255,249,232,.96), rgba(245,205,145,.84));
    --panel-soft:rgba(255,226,177,.78);
    --panel-strong:rgba(255,244,218,.92);
    --pill-bg:rgba(255,226,177,.76);
    --line-soft:rgba(136,70,28,.20);

    --hero-main-bg:
            radial-gradient(circle at 12% 10%, rgba(255,122,24,.34), transparent 34%),
            radial-gradient(circle at 86% 14%, rgba(139,61,255,.18), transparent 34%),
            radial-gradient(circle at 50% 105%, rgba(255,193,90,.28), transparent 42%),
            linear-gradient(135deg, #fff6df, #f4be71 58%, #ffe7b5);

    --hero-side-bg:
            radial-gradient(circle at 50% 8%, rgba(139,61,255,.18), transparent 38%),
            radial-gradient(circle at 80% 90%, rgba(255,122,24,.24), transparent 42%),
            linear-gradient(160deg, #fff5dd, #efb864);

    --logo-stage-bg:
            radial-gradient(circle at center, rgba(255,122,24,.34), transparent 54%),
            radial-gradient(circle at 50% 50%, rgba(139,61,255,.14), transparent 70%),
            linear-gradient(135deg, #fff5dd, #efbb72);

    --logo-frame-bg:linear-gradient(145deg, #fff7df, #d98735);

    --cta-bg:
            radial-gradient(circle at 18% 18%, rgba(255,122,24,.30), transparent 34%),
            radial-gradient(circle at 90% 14%, rgba(139,61,255,.18), transparent 36%),
            linear-gradient(135deg, #fff5dd, #edb669);

    --quote-bg:linear-gradient(145deg, #fff5dd, #f0bc73);
    --footer-bg:rgba(255,238,205,.86);

    --shadow:0 24px 58px rgba(104,50,18,.18);
    --shadow-soft:0 14px 32px rgba(104,50,18,.13);
    --step-color:rgba(255,122,24,.15);
}

html:not([data-theme="dark"]) body{
    background:
            radial-gradient(circle at 8% 0%, rgba(255,122,24,.28), transparent 30%),
            radial-gradient(circle at 92% 4%, rgba(139,61,255,.18), transparent 34%),
            radial-gradient(circle at 50% 100%, rgba(255,193,90,.26), transparent 44%),
            linear-gradient(180deg, #fff1d1 0%, #f2bd73 48%, #fff1d1 100%);
}

html:not([data-theme="dark"]) body::before{
    opacity:.34;
    background:
            radial-gradient(ellipse at 18% 28%, rgba(255,122,24,.22), transparent 34%),
            radial-gradient(ellipse at 82% 18%, rgba(139,61,255,.16), transparent 32%),
            radial-gradient(ellipse at 50% 82%, rgba(255,193,90,.16), transparent 38%);
}

html:not([data-theme="dark"]) .nav-wrap{
    background:var(--nav-bg);
    border-bottom-color:var(--nav-border);
    box-shadow:0 10px 30px rgba(104,50,18,.12);
}

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{
    border-color:rgba(126,58,18,.26);
    box-shadow:
            0 18px 42px rgba(104,50,18,.16),
            inset 0 1px 0 rgba(255,255,255,.55);
}

html:not([data-theme="dark"]) .hero-main,
html:not([data-theme="dark"]) .hero-side{
    border-color:rgba(255,122,24,.32);
}

html:not([data-theme="dark"]) .hero-main::after{
    content:"🎃" !important;
    opacity:.22;
    font-size:96px;
    filter:drop-shadow(0 0 22px rgba(255,122,24,.38));
}

html:not([data-theme="dark"]) .hero-side::after{
    content:"🦇" !important;
    opacity:.16;
    font-size:82px;
    filter:drop-shadow(0 0 18px rgba(80,35,90,.24));
}

html:not([data-theme="dark"]) .btn-primary,
html:not([data-theme="dark"]) .admin-btn-primary{
    color:#2b1308;
    background:linear-gradient(135deg, #ff8a1f, #ffd166 52%, #9b4dff);
    box-shadow:
            0 18px 42px rgba(255,122,24,.34),
            0 0 26px rgba(139,61,255,.16);
}

html:not([data-theme="dark"]) .btn-secondary,
html:not([data-theme="dark"]) .admin-btn-secondary{
    background:rgba(255,242,214,.76);
    border-color:rgba(126,58,18,.24);
}

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(255,122,24,.20);
    color:#2b170c;
}

html:not([data-theme="dark"]) .brand-logo,
html:not([data-theme="dark"]) .footer-brand-col .mark{
    background:linear-gradient(135deg, rgba(255,122,24,.54), rgba(139,61,255,.24));
    box-shadow:0 14px 32px rgba(255,122,24,.24), 0 0 22px rgba(139,61,255,.14);
}

html:not([data-theme="dark"]) .icon{
    background:
            radial-gradient(circle at 35% 25%, rgba(255,255,255,.45), transparent 34%),
            linear-gradient(135deg, rgba(255,193,90,.62), rgba(255,122,24,.28), rgba(139,61,255,.20));
    box-shadow:
            inset 0 1px 0 rgba(255,255,255,.55),
            0 0 22px rgba(255,122,24,.18);
}

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(255,122,24,.58);
    box-shadow:
            0 22px 52px rgba(255,122,24,.22),
            0 0 24px rgba(139,61,255,.12);
}

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,241,214,.82);
    border-color:rgba(126,58,18,.22);
}

html:not([data-theme="dark"]) .logo-frame{
    box-shadow:
            0 20px 44px rgba(104,50,18,.20),
            0 0 30px rgba(255,122,24,.18),
            0 0 42px rgba(139,61,255,.12);
}

html:not([data-theme="dark"]) .gradient,
html:not([data-theme="dark"]) .stat-number strong,
html:not([data-theme="dark"]) .admin-stat-box strong{
    background:linear-gradient(135deg, #9b4dff, #ff7a18 48%, #b45309);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}

html:not([data-theme="dark"]) .footer::before{
    opacity:.52;
}

html:not([data-theme="dark"]) .halloween-bats span{
    opacity:.24;
}

html:not([data-theme="dark"]) .halloween-bats span::before,
html:not([data-theme="dark"]) .halloween-bats span::after{
    background:rgba(43,23,12,.72);
}

/* Mobile */
@media (max-width:920px){
    .menu{
        top:calc(100% + 8px);
    }

    .menu a{
        padding:14px 16px;
        border-radius:16px;
        background:var(--pill-bg);
        border:1px solid var(--line-soft);
    }
}

@media (max-width:640px){
    .hero::before{
        width:240px;
        height:240px;
        right:-70px;
        top:-60px;
    }

    .hero-main::after,
    .hero-side::after{
        font-size:58px;
        opacity:.10;
    }

    html[data-theme="dark"] .hero-main::after,
    html[data-theme="dark"] .hero-side::after{
        font-size:78px;
    }

    .halloween-bats span{
        opacity:.18;
    }
}

/* Accessibilite mouvement */
@media (prefers-reduced-motion: reduce){
    body::before,
    .hero::before,
    .hero-main::after,
    .hero-side::after,
    .halloween-bats span,
    .halloween-bats span::before,
    .halloween-bats span::after,
    .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;
    }
}

/* =========================================================
   HALLOWEEN LEGENDAIRE - SAHARASH EVENT V3
   Ajouts wow sans supprimer le theme sombre existant.
   A placer a la fin du fichier CSS.
========================================================= */

/* Scene globale plus magique */
body::after{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:0;
    opacity:.28;
    background-image:
            radial-gradient(circle, rgba(255,122,24,.34) 0 1px, transparent 2px),
            radial-gradient(circle, rgba(168,85,247,.26) 0 1px, transparent 2px),
            radial-gradient(circle, rgba(255,193,90,.22) 0 1px, transparent 2px);
    background-size:120px 120px, 180px 180px, 240px 240px;
    background-position:0 0, 60px 80px, 120px 40px;
    animation:halloweenSparkleDrift 28s linear infinite;
}

html[data-theme="dark"] body::after{
    opacity:.34;
}

@keyframes halloweenSparkleDrift{
    from{ background-position:0 0, 60px 80px, 120px 40px; }
    to{ background-position:240px -240px, 300px -160px, 360px -200px; }
}

/* Light legendaire : plus riche et plus event */
html:not([data-theme="dark"]){
    --bg-page:#ffeed0;
    --text:#281306;
    --muted:#68411f;
    --primary:#ff7417;
    --primary2:#ffcf5f;
    --primary3:#8b3dff;

    --nav-bg:rgba(255,239,210,.90);
    --nav-border:rgba(255,122,24,.34);
    --card-border:rgba(128,60,18,.30);
    --card-hover-border:rgba(255,122,24,.68);
    --card-hover-shadow:rgba(255,122,24,.25);

    --panel-soft:rgba(255,224,168,.80);
    --panel-strong:rgba(255,245,221,.93);
    --pill-bg:rgba(255,235,199,.82);
    --line-soft:rgba(128,60,18,.24);

    --shadow:0 26px 62px rgba(107,48,13,.20);
    --shadow-soft:0 16px 36px rgba(107,48,13,.15);
}

html:not([data-theme="dark"]) body{
    background:
            radial-gradient(circle at 8% -4%, rgba(255,122,24,.34), transparent 32%),
            radial-gradient(circle at 92% 2%, rgba(139,61,255,.22), transparent 36%),
            radial-gradient(circle at 50% 105%, rgba(255,193,90,.30), transparent 44%),
            linear-gradient(180deg, #fff0cc 0%, #f0b560 44%, #ffe7b2 78%, #fff0cc 100%);
}

/* Navbar plus premium */
.nav-wrap{
    box-shadow:
            0 10px 32px rgba(72,31,12,.12),
            0 0 26px rgba(255,122,24,.10);
}

html[data-theme="dark"] .nav-wrap{
    box-shadow:
            0 10px 36px rgba(0,0,0,.38),
            0 0 28px rgba(168,85,247,.16),
            0 0 18px rgba(255,122,24,.08);
}

.nav-wrap::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-1px;
    height:1px;
    background:linear-gradient(90deg, transparent, var(--primary), var(--primary3), transparent);
    opacity:.45;
    pointer-events:none;
}

/* Hero legendaire */
.hero-main{
    box-shadow:
            var(--shadow),
            inset 0 1px 0 rgba(255,255,255,.40),
            0 0 34px rgba(255,122,24,.10);
}

.hero-main::before{
    content:"";
    position:absolute;
    inset:-2px;
    border-radius:inherit;
    padding:1px;
    background:linear-gradient(135deg, rgba(255,122,24,.58), rgba(255,193,90,.28), rgba(139,61,255,.42));
    -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;
    opacity:.54;
    pointer-events:none;
}

.hero-side{
    box-shadow:
            var(--shadow),
            inset 0 1px 0 rgba(255,255,255,.34),
            0 0 32px rgba(139,61,255,.10);
}

html:not([data-theme="dark"]) .hero-main{
    background:
            radial-gradient(circle at 16% 12%, rgba(255,122,24,.42), transparent 32%),
            radial-gradient(circle at 86% 12%, rgba(139,61,255,.22), transparent 34%),
            radial-gradient(circle at 52% 106%, rgba(255,210,96,.38), transparent 44%),
            linear-gradient(135deg, rgba(255,248,225,.98), rgba(238,168,82,.88));
}

html:not([data-theme="dark"]) .hero-side{
    background:
            radial-gradient(circle at 48% 0%, rgba(139,61,255,.22), transparent 38%),
            radial-gradient(circle at 90% 92%, rgba(255,122,24,.30), transparent 42%),
            linear-gradient(160deg, rgba(255,248,225,.96), rgba(233,165,80,.86));
}

/* Decors Halloween plus visibles */
html:not([data-theme="dark"]) .hero-main::after{
    content:"🎃" !important;
    right:22px;
    top:8px;
    font-size:118px;
    opacity:.24;
    filter:drop-shadow(0 0 26px rgba(255,122,24,.42));
}

html:not([data-theme="dark"]) .hero-side::after{
    content:"🦇" !important;
    right:20px;
    bottom:8px;
    font-size:96px;
    opacity:.19;
    filter:drop-shadow(0 0 24px rgba(139,61,255,.28));
}

/* Titre et texte plus lisibles */
h1{
    text-shadow:0 2px 18px rgba(0,0,0,.04);
}

html[data-theme="dark"] h1{
    text-shadow:0 0 26px rgba(168,85,247,.14);
}

.gradient,
.stat-number strong,
.admin-stat-box strong{
    background:linear-gradient(135deg, var(--primary2), var(--primary) 45%, var(--primary3));
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
    filter:drop-shadow(0 0 10px rgba(255,122,24,.10));
}

/* Blason : aura evenement legendaire */
.logo-stage{
    box-shadow:
            inset 0 1px 0 rgba(255,255,255,.28),
            0 22px 52px rgba(0,0,0,.10),
            0 0 46px rgba(255,122,24,.12);
}

.logo-stage::before{
    width:320px;
    height:320px;
    background:radial-gradient(circle, rgba(255,122,24,.48) 0%, rgba(168,85,247,.24) 44%, transparent 72%) !important;
    animation:halloweenLegendAura 4.2s ease-in-out infinite !important;
}

.logo-stage::after{
    opacity:.36;
    background:conic-gradient(
            from 0deg,
            transparent 0deg,
            rgba(255,122,24,.24) 32deg,
            rgba(255,193,90,.18) 52deg,
            rgba(168,85,247,.24) 76deg,
            transparent 104deg,
            transparent 360deg
    ) !important;
    animation:halloweenLegendSpin 13s linear infinite !important;
}

.logo-frame{
    border-color:rgba(255,122,24,.36);
    box-shadow:
            var(--shadow-soft),
            0 0 34px rgba(255,122,24,.20),
            0 0 58px rgba(168,85,247,.12);
}

.logo-frame img{
    filter:drop-shadow(0 0 14px rgba(255,122,24,.16));
}

html[data-theme="dark"] .logo-frame img{
    filter:drop-shadow(0 0 18px rgba(168,85,247,.28));
}

@keyframes halloweenLegendAura{
    0%,100%{ transform:scale(1); opacity:.58; filter:blur(20px); }
    50%{ transform:scale(1.18); opacity:.96; filter:blur(30px); }
}

@keyframes halloweenLegendSpin{
    from{ transform:rotate(0deg) scale(1); }
    to{ transform:rotate(360deg) scale(1); }
}

/* Cartes magiques */
.card,
.mini-card,
.stat,
.panel,
.cta-banner,
.quote-box,
.footer-box-v2,
.admin-card,
.admin-kpi-card,
.admin-summary-item{
    position:relative;
    overflow:hidden;
}

.card::after,
.panel::after,
.cta-banner::after,
.quote-box::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
            linear-gradient(120deg, transparent 0%, rgba(255,193,90,.16) 42%, rgba(168,85,247,.10) 54%, transparent 72%);
    transform:translateX(-130%);
    transition:transform 1.05s ease;
}

.card:hover::after,
.panel:hover::after,
.cta-banner:hover::after,
.quote-box:hover::after{
    transform:translateX(130%);
}

.card:hover,
.panel:hover,
.cta-banner:hover,
.quote-box:hover,
.mini-card:hover,
.stat:hover{
    transform:translateY(-6px);
    border-color:var(--card-hover-border);
    box-shadow:
            0 24px 56px var(--card-hover-shadow),
            0 0 28px rgba(168,85,247,.13);
}

/* Boutons plus puissants */
.btn-primary,
.admin-btn-primary{
    position:relative;
    overflow:hidden;
}

.btn-primary::after,
.admin-btn-primary::after{
    content:"";
    position:absolute;
    top:-80%;
    left:-40%;
    width:28%;
    height:260%;
    background:linear-gradient(90deg, transparent, rgba(255,255,255,.46), transparent);
    transform:rotate(22deg);
    opacity:.40;
    animation:halloweenButtonShine 5s ease-in-out infinite;
    pointer-events:none;
}

@keyframes halloweenButtonShine{
    0%,35%{ left:-55%; opacity:0; }
    48%{ opacity:.48; }
    70%,100%{ left:130%; opacity:0; }
}

/* Citrouilles lumineuses discretes dans sections */
.section-head h2{
    position:relative;
}

.section-head h2::after{
    content:"✦";
    display:inline-block;
    margin-left:10px;
    color:var(--primary);
    font-size:.55em;
    vertical-align:middle;
    filter:drop-shadow(0 0 10px rgba(255,122,24,.36));
    animation:halloweenTitleStar 2.8s ease-in-out infinite;
}

@keyframes halloweenTitleStar{
    0%,100%{ transform:scale(1) rotate(0deg); opacity:.72; }
    50%{ transform:scale(1.25) rotate(14deg); opacity:1; }
}

/* Menu mobile plus event */
@media (max-width:920px){
    .menu{
        background:
                radial-gradient(circle at 12% 0%, rgba(255,122,24,.18), transparent 32%),
                radial-gradient(circle at 90% 10%, rgba(168,85,247,.14), transparent 34%),
                var(--panel-strong);
    }
}

@media (max-width:640px){
    body::after{
        opacity:.18;
    }

    html:not([data-theme="dark"]) .hero-main::after,
    html:not([data-theme="dark"]) .hero-side::after{
        font-size:62px;
        opacity:.13;
    }

    .logo-stage::before{
        width:240px;
        height:240px;
    }

    .section-head h2::after{
        display:none;
    }
}

@media (prefers-reduced-motion: reduce){
    body::after,
    .btn-primary::after,
    .admin-btn-primary::after,
    .section-head h2::after,
    .logo-stage::before,
    .logo-stage::after{
        animation:none !important;
        transition:none !important;
    }
}

/* RAID PAGE */
.mini-card-bot{
    padding:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:180px;
}

.mini-card-bot img{
    width:min(100%, 220px);
    height:auto;
    filter:drop-shadow(0 14px 28px rgba(63,26,135,.28));
}

.card-inline-action{
    margin-top:18px;
}

.raid-hero .hero-main{
    min-height:auto;
}

.raid-stats .stat strong{
    font-size:18px;
}

.raid-calendar-summary{
    margin-bottom:18px;
}

.raid-month-panel{
    margin-bottom:22px;
}

.raid-month-head{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:18px;
    margin-bottom:18px;
}

.raid-month-head span{
    display:block;
    font-size:12px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--muted);
    font-weight:800;
}

.raid-month-head h3{
    margin:6px 0 0;
    font-size:28px;
}

.raid-month-head p{
    max-width:420px;
    text-align:right;
}

.raid-month-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    justify-content:flex-end;
}

.raid-month-nav{
    min-height:44px;
}

.raid-month-grid{
    display:grid;
    grid-template-columns:repeat(7, minmax(0,1fr));
    gap:10px;
}

.raid-month-weekdays{
    margin-bottom:10px;
}

.raid-month-weekdays span{
    padding:0 8px;
    font-size:12px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--muted);
}

.raid-day{
    min-height:118px;
    padding:12px;
    border-radius:18px;
    border:1px solid var(--line-soft);
    background:var(--pill-bg);
    display:grid;
    align-content:start;
    gap:8px;
}

.raid-day.is-outside{
    opacity:.45;
}

.raid-day.is-today{
    background:linear-gradient(180deg, rgba(138,121,255,.16), rgba(90,70,214,.10)), var(--pill-bg);
    border-color:rgba(138,121,255,.42);
    box-shadow:0 0 0 2px rgba(138,121,255,.34) inset, 0 14px 30px rgba(90,70,214,.12);
}

.raid-day.is-today .raid-day-head strong{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:32px;
    height:32px;
    padding:0 8px;
    border-radius:999px;
    background:linear-gradient(135deg, rgba(90,70,214,.95), rgba(138,121,255,.85));
    color:#fff;
    box-shadow:0 8px 18px rgba(90,70,214,.22);
}

.raid-day.has-finished-only{
    background:linear-gradient(180deg, rgba(148,163,184,.08), rgba(100,116,139,.06)), var(--pill-bg);
    border-color:rgba(148,163,184,.20);
}

.raid-day.is-today.has-finished-only{
    background:linear-gradient(180deg, rgba(148,163,184,.18), rgba(100,116,139,.12)), var(--pill-bg);
    border-color:rgba(138,121,255,.42);
    box-shadow:0 0 0 1px rgba(148,163,184,.18) inset, 0 0 0 3px rgba(138,121,255,.18), 0 12px 28px rgba(15,23,42,.12);
}

.raid-day.is-today.has-finished-only .raid-day-head strong{
    background:linear-gradient(135deg, rgba(90,70,214,.92), rgba(148,163,184,.88));
    color:#fff;
    box-shadow:0 8px 18px rgba(90,70,214,.18);
}

.raid-day-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
}

.raid-day-head strong{
    font-size:15px;
}

.raid-day-head span{
    font-size:11px;
    color:var(--muted);
}

.raid-day-chip{
    padding:8px 9px;
    border-radius:12px;
    background:rgba(90,70,214,.10);
    border:1px solid rgba(138,121,255,.16);
    display:grid;
    gap:2px;
    transition:transform .2s ease, border-color .2s ease, background .2s ease;
}

.raid-day-chip-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
}

.raid-day-chip b{
    font-size:11px;
}

.raid-day-chip-status{
    font-size:10px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:currentColor;
    opacity:.82;
    margin-left:auto;
    text-align:right;
}

.raid-day-chip span{
    font-size:12px;
    line-height:1.35;
}

.raid-day-chip.is-live{
    background:rgba(217,95,61,.14);
    border-color:rgba(255,143,90,.24);
}

.raid-day-chip.is-finished{
    background:rgba(148,163,184,.16);
    border-color:rgba(148,163,184,.30);
    color:var(--text);
}

.raid-day-chip.is-cancelled{
    background:rgba(100,116,139,.12);
    border-color:rgba(100,116,139,.24);
    color:var(--muted);
    opacity:.82;
}

.raid-day.has-many-raids .raid-day-head span{
    font-size:10px;
}

.raid-day.has-many-raids .raid-day-chip{
    padding:7px 8px;
    gap:1px;
    border-radius:10px;
}

.raid-day.has-many-raids .raid-day-chip b{
    font-size:10px;
}

.raid-day.has-many-raids .raid-day-chip span{
    font-size:11px;
    line-height:1.2;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.raid-day.has-three-raids .raid-day-chip{
    padding:6px 7px;
}

.raid-day.has-three-raids .raid-day-chip span{
    font-size:10px;
    line-height:1.15;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}


.raid-day-chip:hover{
    transform:translateY(-1px);
    border-color:rgba(138,121,255,.32);
}

.raid-calendar-group{
    display:grid;
    gap:22px;
}

.raid-calendar-grid{
    margin-top:-6px;
}

.raid-card-detailed{
    display:grid;
    gap:0;
}

.raid-card{
    position:relative;
    overflow:hidden;
}

.raid-card::after{
    content:"";
    position:absolute;
    inset:auto 0 0 0;
    height:3px;
    background:linear-gradient(90deg, rgba(90,70,214,.18), rgba(138,121,255,.5), rgba(90,70,214,.18));
}

.raid-card-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:14px;
}

.raid-status-badge{
    display:inline-flex;
    align-items:center;
    min-height:32px;
    padding:0 12px;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    border:1px solid var(--line-soft);
    background:var(--pill-bg);
}

.raid-status-badge.is-live{
    color:#fff;
    background:linear-gradient(135deg, #d95f3d, #ff8f5a);
    border-color:rgba(255,143,90,.42);
}

.raid-status-badge.is-open{
    color:#fff;
    background:linear-gradient(135deg, var(--primary), var(--primary2));
    border-color:rgba(138,121,255,.38);
}

.raid-status-badge.is-full{
    color:#fff;
    background:linear-gradient(135deg, #55657d, #7e90ab);
    border-color:rgba(126,144,171,.38);
}

.raid-status-badge.is-closed,
.raid-status-badge.is-finished,
.raid-status-badge.is-cancelled{
    color:var(--text);
    background:var(--pill-bg);
}

.raid-date{
    font-size:13px;
    color:var(--muted);
    text-align:right;
    line-height:1.5;
}

.raid-metrics{
    margin-top:18px;
    display:grid;
    gap:10px;
}

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

.raid-metrics p:last-child{
    padding-bottom:0;
    border-bottom:none;
}

.raid-progress{
    margin-top:18px;
    width:100%;
    height:10px;
    border-radius:999px;
    background:rgba(255,255,255,.08);
    overflow:hidden;
    border:1px solid var(--line-soft);
}

.raid-progress span{
    display:block;
    height:100%;
    border-radius:inherit;
    background:linear-gradient(90deg, var(--primary), var(--primary2));
}

.raid-empty-state{
    text-align:center;
}

.raid-roster{
    margin-top:20px;
    padding-top:18px;
    border-top:1px solid var(--line-soft);
}

.raid-roster h4{
    margin:0 0 14px;
    font-size:16px;
}

.raid-roster-list{
    display:grid;
    gap:10px;
}

.raid-player{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:12px 14px;
    border-radius:14px;
    background:var(--pill-bg);
    border:1px solid var(--line-soft);
}

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

.raid-player small{
    display:block;
    color:var(--muted);
    font-size:12px;
    line-height:1.4;
}

.raid-player-state{
    flex-shrink:0;
    padding:6px 10px;
    border-radius:999px;
    font-size:11px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    background:rgba(90,70,214,.12);
    border:1px solid rgba(138,121,255,.24);
}

.raid-player-state.is-confirmed{
    color:#0f3f22;
    background:rgba(88,214,141,.42);
    border-color:rgba(31,163,89,.58);
}

.raid-player-state.is-backup{
    color:#5a3200;
    background:rgba(255,191,95,.45);
    border-color:rgba(232,145,28,.60);
}

.raid-roster-empty{
    color:var(--muted);
}

@media (max-width:1000px){
    .raid-month-head{
        align-items:start;
        flex-direction:column;
    }

    .raid-month-head p{
        text-align:left;
    }
}

@media (max-width:640px){
    .raid-month-grid{
        grid-template-columns:1fr;
    }

    .raid-month-weekdays{
        display:none;
    }

    .raid-day{
        min-height:auto;
    }

    .raid-player{
        align-items:flex-start;
        flex-direction:column;
    }
}

/* RAID CARD POLISH */
.raid-headline{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    margin-bottom:14px;
}

.raid-description{
    margin-top:8px !important;
}

.raid-capacity{
    min-width:132px;
    padding:14px 16px;
    border-radius:18px;
    background:var(--pill-bg);
    border:1px solid var(--line-soft);
    text-align:center;
    box-shadow:var(--shadow-soft);
}

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

.raid-capacity span{
    display:block;
    font-size:12px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--muted);
}

.raid-metric-grid{
    margin-top:18px;
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
    gap:12px;
}

.raid-metric-card{
    padding:14px 16px;
    border-radius:18px;
    background:var(--pill-bg);
    border:1px solid var(--line-soft);
}

.raid-metric-card span{
    display:block;
    margin-bottom:8px;
    font-size:12px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--muted);
}

.raid-metric-card strong{
    display:block;
    font-size:22px;
    line-height:1.1;
}

.raid-metric-card.is-leader{
    background:linear-gradient(135deg, rgba(90,70,214,.24), rgba(138,121,255,.16));
    border-color:rgba(138,121,255,.32);
    box-shadow:0 10px 24px rgba(90,70,214,.10);
}

.raid-metric-card.is-leader strong{
    font-size:18px;
}

.raid-leader-card{
    margin-top:18px;
    padding:14px 16px;
    border-radius:18px;
    background:linear-gradient(135deg, rgba(90,70,214,.14), rgba(138,121,255,.10));
    border:1px solid rgba(138,121,255,.22);
}

.raid-leader-card span{
    display:block;
    margin-bottom:6px;
    font-size:12px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--muted);
}

.raid-leader-card strong{
    display:block;
    font-size:18px;
}

.raid-roster-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:14px;
}

.raid-roster-head h4{
    margin:0;
}

.raid-roster-head small{
    color:var(--muted);
    font-size:12px;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
}

.raid-player-main{
    min-width:0;
}

.raid-player-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    color:var(--muted);
    font-size:12px;
    line-height:1.4;
}

.raid-player-meta span{
    display:inline-flex;
    align-items:center;
    gap:4px;
}

.raid-player-role{
    padding:4px 8px;
    border-radius:999px;
    background:rgba(255,255,255,.06);
    border:1px solid var(--line-soft);
}

.raid-player-role.is-leader{
    color:#fff;
    background:linear-gradient(135deg, var(--primary), var(--primary2));
    border-color:rgba(138,121,255,.30);
}

@media (max-width:1000px){
    .raid-headline{
        flex-direction:column;
    }

    .raid-capacity{
        width:100%;
    }

    .raid-metric-grid{
        grid-template-columns:1fr;
    }
}

@media (max-width:640px){
    .raid-roster-head{
        align-items:flex-start;
        flex-direction:column;
    }
}

/* RAID COMPACT MODE */
.raid-day-more{
    font-size:11px;
    font-weight:800;
    letter-spacing:.04em;
    color:var(--muted);
    padding:2px 2px 0;
}

.raid-summary{
    list-style:none;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    cursor:pointer;
}

.raid-summary::-webkit-details-marker{
    display:none;
}

.raid-summary-main{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
}

.raid-summary-text{
    min-width:0;
}

.raid-summary-text strong{
    display:block;
    font-size:18px;
    margin-bottom:4px;
}

.raid-summary-text small{
    display:block;
    color:var(--muted);
    font-size:13px;
}

.raid-summary-side{
    display:flex;
    align-items:center;
    gap:10px;
    flex-shrink:0;
}

.raid-summary-pill{
    padding:8px 10px;
    border-radius:999px;
    background:var(--pill-bg);
    border:1px solid var(--line-soft);
    font-size:12px;
    font-weight:800;
}

.raid-summary-toggle{
    font-size:12px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--muted);
}

details[open] .raid-summary-toggle{
    color:var(--text);
}

.raid-details{
    margin-top:18px;
}

@media (max-width:1000px){
    .raid-summary{
        align-items:flex-start;
        flex-direction:column;
    }

    .raid-summary-side{
        width:100%;
        justify-content:space-between;
    }
}

@media (max-width:640px){
    .raid-summary-main{
        align-items:flex-start;
        flex-direction:column;
    }
}

/* Halloween actions shared by every public page. */
:root{
    --halloween-pumpkin:#f58228;
    --halloween-gold:#ffc95d;
    --halloween-violet:#7843bb;
    --halloween-ectoplasm:#83d66f;
    --halloween-ink:#29120d;
}

.btn-primary,
.admin-btn-primary,
.menu-cta{
    border:1px solid rgba(255,211,112,.62);
    background:linear-gradient(135deg,var(--halloween-gold) 0%,var(--halloween-pumpkin) 52%,var(--halloween-violet) 100%);
    color:var(--halloween-ink);
    box-shadow:
        0 15px 36px rgba(223,91,24,.3),
        0 0 24px rgba(120,67,187,.17),
        inset 0 1px rgba(255,255,255,.62);
}

.menu-ecurie{
    border-color:rgba(204,241,143,.6);
    background:linear-gradient(135deg,#c7ea70 0%,var(--halloween-ectoplasm) 45%,var(--halloween-pumpkin) 100%);
    color:#152516!important;
    box-shadow:
        0 15px 34px rgba(82,154,67,.25),
        0 0 22px rgba(245,130,40,.16),
        inset 0 1px rgba(255,255,255,.65);
}

.btn-secondary,
.admin-btn-secondary{
    border-color:rgba(120,67,187,.28);
    background:linear-gradient(135deg,rgba(255,248,224,.9),rgba(235,222,249,.82));
    color:#382040;
    box-shadow:inset 0 1px rgba(255,255,255,.7);
}

.btn-primary:hover,
.admin-btn-primary:hover,
.menu-cta:hover,
.menu-ecurie:hover{
    filter:saturate(1.12) brightness(1.04);
    box-shadow:
        0 20px 46px rgba(223,91,24,.36),
        0 0 30px rgba(120,67,187,.24),
        inset 0 1px rgba(255,255,255,.7);
}

.btn-secondary:hover,
.admin-btn-secondary:hover{
    border-color:rgba(245,130,40,.48);
    background:linear-gradient(135deg,#fff3ca,#ead7fb);
}

html[data-theme="dark"] .btn-primary,
html[data-theme="dark"] .admin-btn-primary,
html[data-theme="dark"] .menu-cta{
    border-color:rgba(255,183,72,.48);
    background:linear-gradient(135deg,#ff9d2f 0%,#e75b25 48%,#6f35ad 100%);
    color:#fff8e8;
    box-shadow:
        0 16px 40px rgba(235,91,31,.3),
        0 0 30px rgba(125,69,193,.25),
        inset 0 1px rgba(255,255,255,.38);
}

html[data-theme="dark"] .menu-ecurie{
    border-color:rgba(137,218,105,.42);
    background:linear-gradient(135deg,#8bd96c 0%,#438f63 46%,#793f9e 100%);
    color:#f7ffe8!important;
}

html[data-theme="dark"] .btn-secondary,
html[data-theme="dark"] .admin-btn-secondary{
    border-color:rgba(171,117,227,.3);
    background:linear-gradient(135deg,rgba(77,39,91,.68),rgba(37,22,51,.8));
    color:#fff4df;
    box-shadow:inset 0 1px rgba(255,255,255,.08);
}

html[data-theme="dark"] .btn-secondary:hover,
html[data-theme="dark"] .admin-btn-secondary:hover{
    border-color:rgba(255,145,45,.46);
    background:linear-gradient(135deg,rgba(109,48,70,.82),rgba(67,37,93,.88));
}
