
*{
    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;
}

.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));
}

/* 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;
}

.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:hover{
    transform:translateY(-1px);
    border-color:rgba(138,121,255,.32);
}

.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-calendar-group{
    display:grid;
    gap:22px;
}

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

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

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

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

.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;
}

.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-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-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-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-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-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 h4{
    margin:0 0 14px;
    font-size:16px;
}

.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-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-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);
}

.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);
}

/* 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;
    }

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

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

    .raid-month-actions{
        justify-content:flex-start;
    }

    .raid-headline{
        flex-direction:column;
    }

    .raid-capacity{
        width:100%;
    }

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

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

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

@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%;
    }

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

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

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

    .raid-day-chip{
        padding:10px 11px;
    }

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

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

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

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

@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;
    }
}

/* =========================

/* =========================================================
   SAHARASH - THEME ETE V3 EVENT DOFUS
   Objectif : changer vraiment le rendu, pas juste les couleurs.
   Ambiance : ciel bleu, lagon, soleil, sable chaud, oasis, effet event estival.
   A placer en fin de fichier ou a utiliser comme CSS complet.
========================================================= */

:root{
    --bg-page:#dff8ff;
    --text:#24301f;
    --muted:#5f765f;
    --primary:#ffb703;
    --primary2:#ff7a2f;
    --primary3:#00b4d8;
    --summer-green:#58b368;
    --summer-coral:#ff6f61;
    --summer-sand:#fff1c8;
    --summer-sky:#70d6ff;
    --summer-water:#00c2c7;

    --max:1180px;
    --radius:26px;
    --radius-lg:38px;
    --discord:#5865f2;
    --discord-hover:#4752c4;

    --nav-bg:rgba(224,248,255,.78);
    --nav-border:rgba(0,180,216,.20);
    --card-border:rgba(0,154,180,.18);
    --card-bg:linear-gradient(180deg, rgba(255,249,226,.96), rgba(255,236,180,.82));
    --card-hover-border:rgba(255,122,47,.46);
    --card-hover-shadow:rgba(0,180,216,.18);

    --panel:linear-gradient(180deg, rgba(255,249,226,.96), rgba(255,240,199,.84));
    --panel-soft:rgba(255,248,221,.82);
    --panel-strong:rgba(255,250,233,.92);
    --pill-bg:rgba(255,255,255,.58);
    --line-soft:rgba(0,151,178,.16);

    --hero-main-bg:
            radial-gradient(circle at 12% 14%, rgba(255,183,3,.30), transparent 28%),
            radial-gradient(circle at 88% 16%, rgba(0,180,216,.24), transparent 32%),
            linear-gradient(135deg, rgba(255,249,226,.96), rgba(224,248,255,.76) 52%, rgba(255,235,179,.78));
    --hero-side-bg:
            radial-gradient(circle at 48% 0%, rgba(0,194,199,.26), transparent 38%),
            linear-gradient(160deg, rgba(255,252,236,.92), rgba(208,245,247,.78));
    --logo-stage-bg:
            radial-gradient(circle at 50% 38%, rgba(255,215,0,.36), transparent 39%),
            radial-gradient(circle at 50% 68%, rgba(0,194,199,.18), transparent 45%),
            linear-gradient(180deg, rgba(255,250,226,.88), rgba(204,244,247,.75));
    --logo-frame-bg:linear-gradient(145deg, rgba(255,252,235,.96), rgba(255,221,129,.82));
    --cta-bg:
            radial-gradient(circle at 18% 18%, rgba(255,183,3,.34), transparent 30%),
            radial-gradient(circle at 90% 20%, rgba(0,180,216,.28), transparent 32%),
            linear-gradient(135deg, rgba(255,248,223,.96), rgba(205,244,247,.80));
    --quote-bg:linear-gradient(145deg, rgba(255,250,235,.94), rgba(204,246,238,.78));
    --footer-bg:rgba(255,248,226,.82);

    --shadow:0 24px 60px rgba(0,111,135,.13), 0 8px 18px rgba(255,122,47,.08);
    --shadow-soft:0 14px 34px rgba(0,111,135,.10), 0 4px 10px rgba(255,122,47,.06);
    --step-color:rgba(255,122,47,.12);
}

html[data-theme="dark"]{
    --bg-page:#071721;
    --text:#fff6d8;
    --muted:#b9d6cc;
    --primary:#ffd166;
    --primary2:#ff8c42;
    --primary3:#4cc9f0;
    --summer-green:#73d685;
    --summer-coral:#ff8f70;
    --summer-sand:#ffe8a3;
    --summer-sky:#4cc9f0;
    --summer-water:#00d4c7;

    --nav-bg:rgba(7,23,33,.78);
    --nav-border:rgba(76,201,240,.18);
    --card-border:rgba(255,209,102,.20);
    --card-bg:linear-gradient(180deg, rgba(30,48,38,.88), rgba(14,31,40,.86));
    --card-hover-border:rgba(255,140,66,.52);
    --card-hover-shadow:rgba(76,201,240,.18);
    --panel:linear-gradient(180deg, rgba(24,43,38,.88), rgba(10,27,36,.88));
    --panel-soft:rgba(255,236,160,.08);
    --panel-strong:rgba(12,31,41,.90);
    --pill-bg:rgba(255,236,160,.08);
    --line-soft:rgba(255,209,102,.16);

    --hero-main-bg:
            radial-gradient(circle at 14% 14%, rgba(255,209,102,.23), transparent 30%),
            radial-gradient(circle at 88% 16%, rgba(76,201,240,.18), transparent 34%),
            linear-gradient(135deg, rgba(33,48,31,.92), rgba(7,23,33,.90));
    --hero-side-bg:
            radial-gradient(circle at 50% 0%, rgba(76,201,240,.20), transparent 40%),
            linear-gradient(160deg, rgba(22,42,38,.90), rgba(7,23,33,.90));
    --logo-stage-bg:
            radial-gradient(circle at 50% 38%, rgba(255,209,102,.22), transparent 40%),
            radial-gradient(circle at 50% 72%, rgba(76,201,240,.14), transparent 44%),
            linear-gradient(180deg, rgba(21,43,38,.90), rgba(7,23,33,.88));
    --logo-frame-bg:linear-gradient(145deg, rgba(52,54,29,.94), rgba(16,36,42,.90));
    --cta-bg:
            radial-gradient(circle at 18% 18%, rgba(255,209,102,.22), transparent 32%),
            radial-gradient(circle at 90% 20%, rgba(76,201,240,.18), transparent 34%),
            linear-gradient(135deg, rgba(28,45,35,.92), rgba(7,23,33,.90));
    --quote-bg:linear-gradient(145deg, rgba(25,44,38,.92), rgba(9,41,55,.68));
    --footer-bg:rgba(9,26,36,.84);
    --shadow:0 26px 70px rgba(0,0,0,.38);
    --shadow-soft:0 14px 36px rgba(0,0,0,.25);
    --step-color:rgba(255,209,102,.13);
}

body{
    min-height:100vh;
    background:
            radial-gradient(circle at 9% 8%, rgba(255,230,111,.70), transparent 14%),
            radial-gradient(circle at 13% 12%, rgba(255,183,3,.18), transparent 22%),
            radial-gradient(circle at 88% 8%, rgba(0,180,216,.22), transparent 27%),
            linear-gradient(180deg, #cdf4ff 0%, #e9fbff 30%, #fff2ca 64%, #ffe4a5 100%);
}

html[data-theme="dark"] body{
    background:
            radial-gradient(circle at 10% 9%, rgba(255,209,102,.32), transparent 16%),
            radial-gradient(circle at 88% 10%, rgba(76,201,240,.18), transparent 28%),
            linear-gradient(180deg, #071721 0%, #0b2632 43%, #2a250e 100%);
}

body::before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:0;
    background:
            radial-gradient(ellipse at 20% 78%, rgba(0,194,199,.22), transparent 28%),
            radial-gradient(ellipse at 78% 78%, rgba(88,179,104,.16), transparent 24%),
            linear-gradient(180deg, transparent 0 54%, rgba(255,255,255,.22) 54% 55%, transparent 56%);
    opacity:.75;
}

body::after{
    content:"";
    position:fixed;
    left:-10%;
    right:-10%;
    bottom:-2px;
    height:170px;
    pointer-events:none;
    z-index:0;
    background:
            radial-gradient(60px 22px at 10% 30%, rgba(255,255,255,.48), transparent 70%),
            radial-gradient(90px 28px at 35% 38%, rgba(255,255,255,.40), transparent 70%),
            radial-gradient(70px 22px at 70% 34%, rgba(255,255,255,.44), transparent 70%),
            linear-gradient(180deg, rgba(0,180,216,.22), rgba(255,224,147,.34));
    mask-image:linear-gradient(to top, #000 0%, #000 62%, transparent 100%);
}

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

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

.page-glow{
    filter:blur(82px);
    opacity:.58;
    mix-blend-mode:multiply;
}

html[data-theme="dark"] .page-glow{
    mix-blend-mode:screen;
    opacity:.48;
}

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

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

.glow-3,
html[data-theme="dark"] .glow-3{
    background:rgba(255,111,97,.30);
}

.orbs span{
    filter:blur(14px);
    opacity:.62;
}

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

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

.orbs span:nth-child(3),
html[data-theme="dark"] .orbs span:nth-child(3){
    background:rgba(88,179,104,.30);
}

.nav-wrap{
    background:var(--nav-bg);
    border-bottom:1px solid var(--nav-border);
    box-shadow:0 12px 36px rgba(0,111,135,.10);
}

.nav-wrap::before{
    content:"";
    position:absolute;
    inset:auto 0 -1px 0;
    height:3px;
    background:linear-gradient(90deg, transparent, var(--primary3), var(--primary), var(--primary2), transparent);
    opacity:.70;
}

.brand-logo,
html[data-theme="dark"] .brand-logo,
.footer-brand-col .mark,
html[data-theme="dark"] .footer-brand-col .mark{
    background:
            radial-gradient(circle at 30% 25%, rgba(255,255,255,.65), transparent 25%),
            linear-gradient(135deg, #ffd166, #00b4d8 78%);
    border:1px solid rgba(255,255,255,.45);
    box-shadow:0 14px 28px rgba(0,180,216,.18), 0 8px 18px rgba(255,122,47,.12);
    overflow:hidden;
}

.menu a{
    position:relative;
    overflow:hidden;
}

.menu a:hover,
.menu a.is-active,
.footer-links-grid a.is-active{
    background:linear-gradient(135deg, rgba(255,209,102,.28), rgba(0,180,216,.14));
    color:var(--text);
}

.menu-cta{
    background:linear-gradient(135deg, #5865f2, #00b4d8);
    box-shadow:0 14px 30px rgba(88,101,242,.24), 0 6px 16px rgba(0,180,216,.18);
}

.menu-ecurie{
    background:linear-gradient(135deg, #ffb703, #ff7a2f);
    color:#2b2114 !important;
    border:1px solid rgba(255,255,255,.45);
    box-shadow:0 14px 26px rgba(255,122,47,.24), inset 0 1px 0 rgba(255,255,255,.42);
}

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

.hero{
    padding:86px 0 54px;
}

.hero-shell{
    gap:26px;
}

.hero-main,
.hero-side,
.card,
.panel,
.cta-banner,
.quote-box,
.footer-box-v2,
.admin-card,
.mini-card,
.stat,
.admin-kpi-card,
.admin-summary-item,
.admin-stat-box{
    border:1px solid var(--card-border);
    box-shadow:var(--shadow);
    backdrop-filter:blur(18px) saturate(1.12);
    -webkit-backdrop-filter:blur(18px) saturate(1.12);
}

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

.hero-main::before{
    content:"";
    position:absolute;
    left:-120px;
    top:-120px;
    width:330px;
    height:330px;
    border-radius:999px;
    background:
            radial-gradient(circle, rgba(255,255,255,.82) 0 12%, rgba(255,214,10,.75) 13% 36%, rgba(255,183,3,.26) 37% 60%, transparent 61%);
    filter:blur(.2px);
    opacity:.9;
    z-index:-1;
}

.hero-main::after{
    content:"🏖️";
    position:absolute;
    right:28px;
    top:24px;
    font-size:86px;
    opacity:.20;
    transform:rotate(10deg);
    pointer-events:none;
    z-index:-1;
}

.hero-side::before{
    content:"";
    position:absolute;
    inset:auto -10% -40px -10%;
    height:150px;
    background:
            radial-gradient(60px 22px at 15% 38%, rgba(255,255,255,.56), transparent 70%),
            radial-gradient(90px 28px at 46% 45%, rgba(255,255,255,.42), transparent 70%),
            radial-gradient(70px 22px at 78% 36%, rgba(255,255,255,.50), transparent 70%),
            linear-gradient(180deg, rgba(0,180,216,.18), rgba(0,194,199,.28));
    opacity:.72;
    z-index:-1;
}

.hero-side::after{
    content:"🌴";
    position:absolute;
    right:20px;
    bottom:20px;
    font-size:82px;
    opacity:.22;
    transform:rotate(-6deg);
    pointer-events:none;
    z-index:-1;
}

.eyebrow{
    color:#a55b12;
    background:rgba(255,255,255,.50);
    border:1px solid rgba(255,183,3,.25);
    border-radius:999px;
    padding:9px 13px;
    box-shadow:0 8px 20px rgba(255,183,3,.10);
}

html[data-theme="dark"] .eyebrow{
    color:#ffd166;
    background:rgba(255,209,102,.08);
}

h1{
    text-shadow:0 8px 22px rgba(0,111,135,.08);
}

.gradient,
.stat-number strong,
.admin-stat-box strong,
.admin-kpi-card strong{
    background:linear-gradient(135deg, #ff7a2f 0%, #ffb703 36%, #00b4d8 72%, #58b368 100%);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}

.hero-copy,
.card p,
.panel p,
.mini-card p,
.stat span,
.section-head p{
    color:var(--muted);
}

.btn{
    border-radius:18px;
    position:relative;
    overflow:hidden;
}

.btn::after,
.menu-cta::after,
.menu-ecurie::after{
    content:"";
    position:absolute;
    top:-40%;
    left:-80%;
    width:35%;
    height:180%;
    transform:rotate(22deg);
    background:linear-gradient(90deg, transparent, rgba(255,255,255,.42), transparent);
    transition:left .55s ease;
    pointer-events:none;
}

.btn:hover::after,
.menu-cta:hover::after,
.menu-ecurie:hover::after{
    left:130%;
}

.btn-primary,
.admin-btn-primary{
    background:linear-gradient(135deg, #ffb703, #ff7a2f 58%, #ff6f61);
    color:#2d2214;
    border:1px solid rgba(255,255,255,.50);
    box-shadow:0 18px 38px rgba(255,122,47,.24), 0 8px 18px rgba(255,183,3,.18);
}

.btn-secondary,
.admin-btn-secondary{
    background:linear-gradient(135deg, rgba(255,255,255,.66), rgba(210,246,248,.54));
    border:1px solid rgba(0,180,216,.20);
    color:var(--text);
}

.hero-stats,
.hero-side-cards{
    gap:14px;
}

.stat,
.mini-card{
    background:linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,241,200,.70));
}

html[data-theme="dark"] .stat,
html[data-theme="dark"] .mini-card{
    background:rgba(255,236,160,.07);
}

.logo-stage{
    position:relative;
    overflow:hidden;
}

.logo-stage::before,
html[data-theme="dark"] .logo-stage::before{
    width:330px;
    height:330px;
    background:radial-gradient(circle, rgba(255,255,255,.75) 0 10%, rgba(255,214,10,.58) 11% 42%, rgba(255,183,3,.22) 43% 62%, transparent 72%);
    filter:blur(4px);
    animation:summerSunPulse 5s ease-in-out infinite;
}

.logo-stage::after{
    background:
            conic-gradient(from 0deg, transparent 0deg, rgba(255,255,255,.38) 36deg, rgba(255,209,102,.28) 58deg, transparent 82deg, transparent 360deg);
    opacity:.65;
}

.logo-frame{
    border:1px solid rgba(255,255,255,.45);
    box-shadow:0 22px 44px rgba(0,111,135,.13), 0 0 0 10px rgba(255,255,255,.12);
}

.icon,
html[data-theme="dark"] .icon{
    background:
            radial-gradient(circle at 28% 22%, rgba(255,255,255,.70), transparent 26%),
            linear-gradient(135deg, rgba(255,183,3,.62), rgba(0,180,216,.22));
    border:1px solid rgba(255,255,255,.35);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.44), 0 12px 24px rgba(0,180,216,.10);
}

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

.card::before{
    content:"";
    position:absolute;
    inset:0;
    background:
            radial-gradient(circle at 14% 12%, rgba(255,183,3,.14), transparent 28%),
            radial-gradient(circle at 94% 10%, rgba(0,180,216,.11), transparent 30%);
    opacity:.9;
    pointer-events:none;
}

.card > *{
    position:relative;
}

.card:hover,
.mini-card:hover,
.stat:hover,
.admin-kpi-card:hover,
.admin-summary-item:hover,
.quote-box:hover{
    transform:translateY(-7px) scale(1.01);
    border-color:var(--card-hover-border);
    box-shadow:0 22px 48px var(--card-hover-shadow), 0 8px 18px rgba(255,122,47,.12);
}

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

.section-head span{
    display:inline-flex;
    align-items:center;
    min-height:32px;
    padding:0 12px;
    border-radius:999px;
    background:rgba(255,255,255,.46);
    border:1px solid rgba(0,180,216,.16);
    color:#a55b12;
}

html[data-theme="dark"] .section-head span{
    color:#ffd166;
    background:rgba(255,209,102,.08);
}

.panel,
.cta-banner,
.quote-box{
    position:relative;
    overflow:hidden;
}

.panel::after,
.cta-banner::after,
.quote-box::after{
    content:"";
    position:absolute;
    right:-50px;
    bottom:-60px;
    width:180px;
    height:180px;
    border-radius:999px;
    background:radial-gradient(circle, rgba(0,180,216,.16), transparent 65%);
    pointer-events:none;
}

.list li{
    background:linear-gradient(135deg, rgba(255,255,255,.62), rgba(209,246,248,.44));
    border:1px solid rgba(0,180,216,.15);
}

.wide-cta .cta-banner{
    background:var(--cta-bg);
}

.cta-banner h2,
.cta-banner h3,
.quote-box h4{
    text-shadow:0 8px 20px rgba(0,111,135,.08);
}

.footer::before{
    height:3px;
    background:linear-gradient(90deg, transparent, #00b4d8, #ffb703, #ff7a2f, #58b368, transparent);
    opacity:.70;
}

.footer-box-v2{
    background:
            radial-gradient(circle at 18% 18%, rgba(255,183,3,.14), transparent 28%),
            radial-gradient(circle at 94% 14%, rgba(0,180,216,.12), transparent 32%),
            var(--footer-bg);
}

.admin-input:focus,
.admin-textarea:focus{
    border-color:rgba(0,180,216,.42);
    box-shadow:0 0 0 4px rgba(0,180,216,.13);
}

.admin-badge.is-human{
    background:rgba(88,179,104,.16);
    color:#208342;
}

.admin-badge.is-bot{
    background:rgba(255,183,3,.18);
    color:#b35b00;
}

/* Petits nuages decoratifs dans le hero */
.hero-main .eyebrow::after{
    content:"  ☀️";
}

.hero-side .mini-card:nth-child(1)::after,
.hero-side .mini-card:nth-child(2)::after{
    content:"";
    position:absolute;
}

@keyframes summerSunPulse{
    0%,100%{ transform:scale(1); opacity:.72; }
    50%{ transform:scale(1.10); opacity:1; }
}

@media (max-width:1100px){
    .hero{
        padding-top:62px;
    }
}

@media (max-width:920px){
    .menu{
        background:rgba(255,250,232,.94);
        border:1px solid rgba(0,180,216,.18);
    }

    html[data-theme="dark"] .menu{
        background:rgba(9,26,36,.94);
    }

    .menu a{
        background:linear-gradient(135deg, rgba(255,255,255,.72), rgba(224,248,255,.55));
        border:1px solid rgba(0,180,216,.14);
    }

    html[data-theme="dark"] .menu a{
        background:rgba(255,236,160,.08);
    }
}

@media (max-width:640px){
    .hero-main::before{
        width:230px;
        height:230px;
        left:-100px;
        top:-90px;
    }

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

    .btn,
    .hero-actions .btn,
    .cta-row .btn{
        width:100%;
    }
}

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