/* Eloqu'App 2 — noir, blanc, or. Aucun framework requis. */
:root{
  --black:#080808;--black-2:#101010;--black-3:#171717;--paper:#f7f5ef;--white:#fff;
  --gold:#d7ad4b;--gold-2:#f1d27d;--gold-deep:#9b7622;--line:rgba(255,255,255,.11);
  --ink:#161616;--muted:#aaa59a;--success:#6fd39b;--danger:#ff7f7f;--warning:#f5c86b;
  --shadow:0 28px 80px rgba(0,0,0,.26);--radius:26px;--radius-sm:16px;--max:1200px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.6;min-height:100vh}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}
::selection{background:var(--gold);color:#000}
.ambient{position:fixed;pointer-events:none;filter:blur(110px);opacity:.14;border-radius:50%;z-index:-2}.ambient-one{width:420px;height:420px;background:var(--gold);left:-170px;top:130px}.ambient-two{width:360px;height:360px;background:#fff;right:-220px;top:55vh;opacity:.05}
.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:calc(var(--max) + 80px);margin:auto;padding:18px 40px;background:rgba(8,8,8,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.06)}
.brand{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:750;letter-spacing:-.02em}.brand img{width:38px;height:38px;border-radius:50%;object-fit:cover;border:1px solid rgba(215,173,75,.4)}.brand b{color:var(--gold)}
.main-nav{display:flex;align-items:center;gap:20px;font-size:14px;color:#d9d6cd}.main-nav>a:not(.btn){padding:8px 2px;position:relative}.main-nav>a:not(.btn):after{content:"";position:absolute;height:1px;background:var(--gold);left:0;right:100%;bottom:2px;transition:.25s}.main-nav>a:not(.btn):hover:after{right:0}.nav-user{color:var(--gold-2)!important}.admin-link{color:var(--gold)!important}.nav-toggle{display:none;border:1px solid var(--line);color:#fff;background:#141414;border-radius:10px;padding:7px 10px}
.page-wrap{min-height:calc(100vh - 180px)}
.container{width:min(var(--max),calc(100% - 40px));margin:0 auto}.container.narrow{max-width:840px}
.hero{position:relative;overflow:hidden;min-height:680px;display:grid;align-items:center;border-bottom:1px solid var(--line)}
.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 30%,rgba(215,173,75,.17),transparent 34%),linear-gradient(115deg,#080808 20%,#111 100%);z-index:-1}
.hero-grid{width:min(var(--max),calc(100% - 40px));margin:auto;display:grid;grid-template-columns:1.12fr .88fr;gap:70px;align-items:center;padding:70px 0}
.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(54px,7vw,92px);line-height:.96;letter-spacing:-.055em;margin:14px 0 24px;max-width:780px;font-weight:500}.hero h1 em{font-style:normal;color:var(--gold-2)}
.hero p.lead{font-size:19px;color:#c9c5bb;max-width:660px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:800;color:var(--gold);display:flex;align-items:center;gap:9px}.eyebrow:before{content:"";width:25px;height:1px;background:currentColor}.eyebrow.danger{color:var(--danger)}
.hero-actions,.row-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.btn{appearance:none;border:1px solid transparent;border-radius:999px;min-height:46px;padding:11px 20px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:750;font-size:14px;cursor:pointer;transition:transform .2s,border-color .2s,background .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px)}.btn-gold{background:linear-gradient(135deg,var(--gold-2),var(--gold));color:#12100a;box-shadow:0 12px 28px rgba(215,173,75,.18)}.btn-gold:hover{box-shadow:0 15px 38px rgba(215,173,75,.28)}.btn-ghost{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.035);color:#fff}.btn-danger{background:#2b1111;border-color:#673232;color:#ffb0b0}.btn-small{min-height:38px;padding:8px 14px;font-size:13px}.btn-block{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.hero-stage{position:relative;aspect-ratio:4/5;max-height:520px;border:1px solid rgba(215,173,75,.3);border-radius:220px 220px 30px 30px;background:linear-gradient(170deg,#221d13,#0f0f0f 62%);box-shadow:var(--shadow);overflow:hidden;padding:36px;display:flex;align-items:flex-end}.hero-stage:before{content:"“";position:absolute;left:25px;top:-65px;font-family:Georgia,serif;font-size:320px;color:rgba(215,173,75,.10);line-height:1}.hero-stage .stage-content{position:relative;z-index:2}.hero-stage strong{font-family:Georgia,serif;font-size:34px;line-height:1.1;font-weight:500}.hero-stage p{color:#bdb8ac}.stage-ring{position:absolute;width:72%;aspect-ratio:1;border:1px solid rgba(215,173,75,.28);border-radius:50%;right:-18%;top:9%}.stage-ring:after{content:"";position:absolute;inset:12%;border:1px solid rgba(255,255,255,.09);border-radius:50%}
.section{padding:95px 0}.section.light{background:var(--paper);color:var(--ink)}.section-title{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:40px}.section-title h2{font-family:Georgia,serif;font-weight:500;font-size:clamp(38px,5vw,58px);line-height:1;margin:8px 0}.section-title p{max-width:520px;color:var(--muted)}.light .section-title p{color:#6c685f}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature-card{border:1px solid var(--line);border-radius:var(--radius);padding:28px;background:linear-gradient(160deg,rgba(255,255,255,.055),rgba(255,255,255,.018));min-height:230px}.feature-card .number{font-family:Georgia,serif;color:var(--gold);font-size:30px}.feature-card h3{font-size:20px;margin:34px 0 8px}.feature-card p{color:#aaa59a;margin:0}
.level-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.level-card{position:relative;border:1px solid #ded9cd;border-radius:22px;padding:23px;background:#fff;display:flex;flex-direction:column;min-height:265px;transition:.22s}.level-card:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(27,24,18,.1);border-color:#c9ad66}.level-card .level-no{font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.12em;color:#8c6e25}.level-card h3{font-family:Georgia,serif;font-size:24px;line-height:1.13;margin:15px 0 12px}.level-card p{color:#777166;font-size:14px;flex:1}.level-price{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ebe7dd;padding-top:15px;margin-top:18px;font-weight:800}.level-price .free{color:#3b7c5c}.mini-arrow{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:#151515;color:#fff}
.marquee{overflow:hidden;border-block:1px solid var(--line);padding:16px 0;color:#beb8ab}.marquee-track{white-space:nowrap;display:flex;gap:36px;justify-content:center;text-transform:uppercase;letter-spacing:.15em;font-size:11px}.marquee b{color:var(--gold)}
.auth-page{background:radial-gradient(circle at 50% 15%,#211b0e 0,#080808 38%)}.auth-card{width:min(520px,calc(100% - 32px));margin:70px auto 100px;padding:36px;border:1px solid rgba(255,255,255,.11);border-radius:30px;background:rgba(17,17,17,.86);backdrop-filter:blur(20px);box-shadow:var(--shadow)}.auth-card.wide{max-width:780px}.auth-card h1{font-family:Georgia,serif;font-size:42px;font-weight:500;line-height:1.05;margin:10px 0 12px}.auth-card>p{color:#b9b4aa}.stack-form{display:grid;gap:15px;margin-top:25px}.stack-form .split{display:grid;grid-template-columns:1fr 1fr;gap:12px}
label{font-size:13px;font-weight:700;color:#c6c1b7;display:grid;gap:7px}input,select,textarea{width:100%;border:1px solid rgba(255,255,255,.14);background:#0c0c0c;color:#fff;border-radius:13px;padding:13px 14px;outline:none;transition:.2s}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(215,173,75,.11)}textarea{min-height:110px;resize:vertical}.form-help{font-size:12px;color:#8f8b83}.auth-switch{text-align:center;color:#99948b;font-size:13px;margin-top:20px}.auth-switch a{color:var(--gold)}
.dashboard-shell{width:min(1280px,calc(100% - 40px));margin:42px auto 90px}.dashboard-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.dashboard-head h1{font-family:Georgia,serif;font-size:48px;font-weight:500;margin:4px 0}.dashboard-head p{color:#aaa59a;margin:0}.progress-orbit{width:110px;height:110px;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(var(--gold) var(--progress,0%),#262626 0)}.progress-orbit:before{content:"";position:absolute;inset:8px;background:#0b0b0b;border-radius:50%}.progress-orbit strong,.progress-orbit span{position:relative;z-index:1}.progress-orbit strong{font-size:24px}.progress-orbit span{font-size:10px;color:#aaa;display:block;text-align:center}
.dashboard-grid{display:grid;grid-template-columns:1fr 340px;gap:20px}.panel{border:1px solid var(--line);border-radius:var(--radius);background:#101010;padding:24px}.panel h2,.panel h3{margin-top:0}.course-path{display:grid;gap:12px}.path-card{display:grid;grid-template-columns:56px 1fr auto;gap:16px;align-items:center;border:1px solid rgba(255,255,255,.09);border-radius:18px;padding:16px;background:#0b0b0b;transition:.2s}.path-card:hover{border-color:rgba(215,173,75,.35)}.path-index{width:50px;height:50px;border-radius:15px;background:#181818;display:grid;place-items:center;color:var(--gold);font-family:Georgia,serif;font-size:22px}.path-info h3{font-size:15px;margin:0 0 4px}.path-info p{margin:0;color:#858178;font-size:12px}.status-pill{font-size:11px;font-weight:850;padding:6px 9px;border-radius:999px;background:#202020;color:#beb9af;white-space:nowrap}.status-pill.completed{background:rgba(79,160,112,.13);color:#82d7a6}.status-pill.available,.status-pill.in_progress{background:rgba(215,173,75,.13);color:#f3d98d}.status-pill.payment{background:rgba(239,180,76,.12);color:#f3c66d}.status-pill.prerequisite{color:#777}.side-stat{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line)}.side-stat:last-child{border-bottom:0}.side-stat span{color:#aaa59a}.side-stat strong{font-size:18px}.gold-card{background:linear-gradient(145deg,#2a2211,#15120c);border-color:rgba(215,173,75,.28)}
.ad-shell{margin:22px 0;border:1px dashed rgba(255,255,255,.14);border-radius:16px;padding:10px;background:#0c0c0c;min-height:90px}.ad-shell>span{display:block;text-align:center;color:#625f59;font-size:10px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:4px}
.level-hero{width:min(1200px,calc(100% - 40px));margin:38px auto 20px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end}.level-hero h1{font-family:Georgia,serif;font-size:clamp(40px,6vw,65px);font-weight:500;line-height:1.02;margin:8px 0}.level-hero p{color:#aaa59a;max-width:760px}.price-badge{border:1px solid rgba(215,173,75,.35);border-radius:18px;padding:16px 19px;text-align:center;background:#15120b}.price-badge span{display:block;font-size:11px;color:#aaa}.price-badge strong{font-size:24px;color:var(--gold-2)}
.lesson-layout{width:min(1200px,calc(100% - 40px));margin:20px auto 90px;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px}.video-shell{border-radius:24px;overflow:hidden;background:#000;border:1px solid var(--line);box-shadow:var(--shadow)}.video-shell video{width:100%;display:block;aspect-ratio:16/9}.video-meta{padding:17px 20px;display:flex;justify-content:space-between;gap:20px;align-items:center;background:#111}.video-meta p{margin:0;color:#aaa;font-size:13px}.lesson-actions{display:grid;gap:12px}.lesson-action{border:1px solid var(--line);border-radius:18px;padding:18px;background:#101010}.lesson-action h3{font-size:16px;margin:0 0 6px}.lesson-action p{color:#8d8981;font-size:12px;margin:0 0 14px}.locked-box{text-align:center;padding:55px 25px;border:1px solid var(--line);border-radius:var(--radius);background:#101010}.locked-icon{width:64px;height:64px;border-radius:50%;background:#191919;display:grid;place-items:center;margin:0 auto 18px;font-size:25px;color:var(--gold)}
.quiz-wrap{width:min(850px,calc(100% - 32px));margin:42px auto 90px}.quiz-head{margin-bottom:28px}.quiz-head h1{font-family:Georgia,serif;font-size:48px;font-weight:500;margin:8px 0}.quiz-head p{color:#aaa}.question-card{border:1px solid var(--line);background:#101010;border-radius:22px;padding:23px;margin-bottom:15px}.question-card h3{font-size:16px;line-height:1.5;margin:0 0 17px}.question-card h3 p{margin:0}.question-number{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--gold);margin-bottom:8px;font-weight:800}.answers{display:grid;gap:8px}.answer-choice{display:flex;gap:10px;align-items:flex-start;border:1px solid #272727;border-radius:13px;padding:11px 13px;cursor:pointer;color:#d1cdc5;font-weight:500}.answer-choice:hover{border-color:#655526}.answer-choice input{width:auto;margin:5px 0 0}.answer-choice p{margin:0}.score-card{text-align:center;border:1px solid var(--line);border-radius:30px;padding:45px 25px;background:#101010}.score-ring{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;margin:0 auto 24px;background:conic-gradient(var(--gold) var(--score),#242424 0);position:relative}.score-ring:before{content:"";position:absolute;inset:11px;border-radius:50%;background:#101010}.score-ring strong{position:relative;font-size:35px}.success-mark{width:60px;height:60px;border-radius:50%;display:grid;place-items:center;margin:0 auto 16px;background:rgba(111,211,155,.14);color:var(--success);font-size:28px}
.table-shell{overflow:auto;border:1px solid var(--line);border-radius:20px}.data-table{width:100%;border-collapse:collapse;min-width:760px;background:#0e0e0e}.data-table th,.data-table td{padding:14px 15px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}.data-table th{font-size:10px;text-transform:uppercase;letter-spacing:.11em;color:#77736c;background:#121212}.data-table tr:last-child td{border-bottom:0}.data-table td strong{font-size:14px}.table-link{color:var(--gold)}.empty-state{text-align:center;color:#8f8b83;padding:45px}
.payment-card{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;border:1px solid var(--line);border-radius:22px;padding:22px;background:#101010;margin-bottom:12px}.payment-card p{margin:4px 0;color:#8e8a82;font-size:13px}
.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.profile-grid .full{grid-column:1/-1}
.flash{width:min(1200px,calc(100% - 40px));margin:18px auto;padding:13px 16px;border-radius:13px;border:1px solid var(--line);font-size:13px}.flash-success{background:rgba(67,149,98,.12);color:#a0dfba;border-color:rgba(67,149,98,.25)}.flash-warning{background:rgba(219,165,59,.1);color:#ebcc86;border-color:rgba(219,165,59,.25)}.flash-error,.flash-danger{background:rgba(201,75,75,.11);color:#ffadad;border-color:rgba(201,75,75,.24)}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metric-grid.compact{margin:24px 0}.metric-card{border:1px solid var(--line);background:#101010;border-radius:20px;padding:20px}.metric-card strong{display:block;font-family:Georgia,serif;font-size:34px;color:#fff}.metric-card span{font-size:11px;color:#88847b}.metric-card.gold strong{color:var(--gold)}
.admin-shell{width:min(1360px,calc(100% - 30px));margin:30px auto 90px;display:grid;grid-template-columns:230px minmax(0,1fr);gap:22px}.admin-sidebar{position:sticky;top:92px;align-self:start;border:1px solid var(--line);border-radius:22px;padding:17px;background:#0e0e0e}.admin-sidebar h3{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);margin:3px 10px 12px}.admin-sidebar a{display:block;padding:10px 11px;border-radius:10px;color:#aaa69d;font-size:13px}.admin-sidebar a:hover,.admin-sidebar a.active{background:#191919;color:#fff}.admin-content h1{font-family:Georgia,serif;font-size:45px;font-weight:500;margin:0 0 8px}.admin-content>.muted{margin-top:0}.admin-toolbar{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:22px 0}.search-box{max-width:360px}.inline-form{display:flex;align-items:center;gap:8px}.inline-form select,.inline-form input{min-width:110px;padding:8px 10px}.admin-form{display:grid;gap:15px}.settings-section{border:1px solid var(--line);border-radius:22px;padding:22px;background:#101010;margin-bottom:18px}.settings-section h2{font-size:19px;margin:0 0 6px}.settings-section>p{color:#8e8a81;margin:0 0 20px;font-size:13px}
.callout{border-left:3px solid var(--gold);background:#15130e;padding:14px 16px;border-radius:0 12px 12px 0;color:#c8c3b8;font-size:13px;margin:18px 0}.muted{color:#8f8b83}.tiny{font-size:11px}.text-gold{color:var(--gold)}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.right{text-align:right}
.certificate-page{background:#1b1b1b}.certificate-wrap{width:min(1180px,calc(100% - 30px));margin:30px auto 80px}.certificate-tools{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px}.certificate{position:relative;aspect-ratio:3508/2480;background:#fff url("../../uploads/certificates/brevet-background.jpg") center/contain no-repeat;box-shadow:0 25px 80px rgba(0,0,0,.5);overflow:hidden}.certificate-name{position:absolute;left:25%;right:25%;top:43.2%;text-align:center;color:#050505;font-family:Georgia,"Times New Roman",serif;font-size:clamp(18px,3.1vw,49px);font-weight:700}.certificate-date{position:absolute;left:57%;top:65%;color:#101010;font-family:Georgia,serif;font-size:clamp(8px,1.4vw,22px)}.certificate-code{position:absolute;left:7.5%;bottom:5.5%;color:#494949;font-size:clamp(5px,.75vw,12px);letter-spacing:.08em}
.site-footer{border-top:1px solid var(--line);width:min(var(--max),calc(100% - 40px));margin:auto;padding:32px 0 42px;display:grid;grid-template-columns:1fr auto auto;gap:35px;align-items:center;color:#8c887f;font-size:12px}.site-footer strong{color:#fff;font-size:16px}.site-footer p{margin:3px 0}.footer-links{display:flex;gap:16px}.footer-copy{white-space:nowrap}
@media(max-width:980px){.hero-grid{grid-template-columns:1fr;gap:25px}.hero-stage{max-width:520px;width:100%;margin:auto;aspect-ratio:16/8;border-radius:30px}.feature-grid,.level-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid,.lesson-layout{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,1fr)}.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:static;display:flex;overflow:auto;gap:4px}.admin-sidebar h3{display:none}.admin-sidebar a{white-space:nowrap}.level-hero{grid-template-columns:1fr}.price-badge{justify-self:start}}
@media(max-width:760px){.site-header{padding:14px 20px}.nav-toggle{display:block}.main-nav{display:none;position:absolute;top:68px;left:15px;right:15px;flex-direction:column;align-items:stretch;background:#111;border:1px solid var(--line);border-radius:18px;padding:15px;box-shadow:var(--shadow)}.main-nav.open{display:flex}.hero{min-height:auto}.hero-grid{padding:60px 0}.hero h1{font-size:52px}.hero-stage{aspect-ratio:1.2}.section{padding:65px 0}.section-title{display:block}.feature-grid,.level-grid{grid-template-columns:1fr}.dashboard-head{align-items:flex-start}.progress-orbit{width:88px;height:88px}.path-card{grid-template-columns:46px 1fr}.path-card .status-pill{grid-column:2}.path-index{width:44px;height:44px}.auth-card{margin-top:35px;padding:27px}.stack-form .split,.profile-grid{grid-template-columns:1fr}.profile-grid .full{grid-column:auto}.payment-card{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr 1fr}.site-footer{grid-template-columns:1fr}.footer-links{flex-wrap:wrap}.certificate-tools{flex-direction:column}}
@media print{.site-header,.site-footer,.certificate-tools,.ambient{display:none!important}.page-wrap{min-height:0}.certificate-wrap{width:100%;margin:0}.certificate{box-shadow:none;width:100vw;height:auto;break-inside:avoid}.certificate-page{background:#fff}@page{size:landscape;margin:0}}
