 
:root{
--wine:#681f36;--wine2:#8e3851;--wine-dark:#2f101b;--cream:#f3ece2;--paper:#fffdf9;
--ink:#1d2021;--muted:#6f6a65;--line:#e4dacd;--gold:#c39a50;--green:#355343;
--shadow:0 20px 55px rgba(55,32,29,.08)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}
a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}
.site-header{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding:14px clamp(18px,5vw,72px);background:rgba(243,236,226,.93);backdrop-filter:blur(14px);border-bottom:1px solid rgba(104,31,54,.08)}
.brand{display:flex;align-items:center;gap:11px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:var(--wine);color:#fff;font-family:Georgia,serif;font-size:1.35rem;font-weight:700}.brand>span:last-child{display:grid;line-height:1.05}.brand strong{font-family:Georgia,serif;font-size:1.12rem}.brand small{margin-top:4px;color:var(--muted);font-size:.62rem}
.main-nav{display:flex;justify-content:center;gap:26px;font-size:.84rem;font-weight:800}.main-nav a{padding:8px 4px;border-bottom:2px solid transparent}.main-nav a:hover,.main-nav a.active{color:var(--wine);border-color:var(--wine)}
.header-actions{display:flex;gap:8px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 15px;border:1px solid transparent;border-radius:12px;background:none;font-weight:850;cursor:pointer}.button.primary{background:var(--wine);color:#fff;box-shadow:0 8px 22px rgba(104,31,54,.14)}.button.ghost{border-color:var(--line);background:rgba(255,255,255,.55)}.button.light{background:#fff;color:var(--wine)}.button.large{min-height:50px;padding:13px 19px}.button.full{width:100%}
.flash-stack{position:fixed;top:82px;right:18px;z-index:80;display:grid;gap:8px}.flash{padding:11px 14px;border-radius:12px;background:#fff;box-shadow:var(--shadow);font-size:.78rem}.flash.error{border-left:4px solid #c44444}.flash.success{border-left:4px solid #3a8f66}
.hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);align-items:center;gap:54px;min-height:700px;padding:84px clamp(24px,7vw,110px);overflow:hidden}
.eyebrow{display:block;color:var(--wine);font-size:.66rem;font-weight:900;letter-spacing:.15em}.hero h1,.page-hero h1,.course-hero h1,.lesson-content h1,.auth-card h1,.dashboard-hero h1{margin:.55rem 0 1rem;font-family:Georgia,serif;font-weight:500;line-height:1.03}.hero h1{font-size:clamp(3.2rem,6.8vw,6.2rem);letter-spacing:-.04em}.hero h1 em{color:var(--wine);font-style:italic}.hero-copy>p{max-width:720px;color:#514b47;font-size:1.07rem}.hero-actions{display:flex;gap:10px;margin-top:25px}.hero-stats{display:flex;gap:28px;margin-top:40px;padding-top:22px;border-top:1px solid var(--line)}.hero-stats div{display:grid}.hero-stats strong{font-size:.95rem}.hero-stats span{color:var(--muted);font-size:.65rem}
.hero-map{position:relative;min-height:520px;border-radius:40px;background:radial-gradient(circle at center,#fff 0 38%,rgba(255,255,255,.45) 39% 60%,transparent 61%),linear-gradient(145deg,rgba(104,31,54,.08),rgba(195,154,80,.06));border:1px solid rgba(104,31,54,.08)}
.wine-glass{position:absolute;left:50%;top:50%;width:150px;height:285px;transform:translate(-50%,-50%)}.wine-glass:before{content:"";position:absolute;left:12px;top:0;width:126px;height:158px;border:4px solid rgba(104,31,54,.55);border-radius:18% 18% 52% 52% / 4% 4% 72% 72%}.wine-glass:after{content:"";position:absolute;left:72px;top:157px;width:5px;height:94px;background:rgba(104,31,54,.45)}.wine-glass span{position:absolute;left:36px;bottom:28px;width:80px;height:4px;background:rgba(104,31,54,.45)}.wine-glass span:after{content:"";position:absolute;left:-18px;bottom:93px;width:116px;height:62px;border-radius:0 0 50% 50%;background:linear-gradient(to top,var(--wine),rgba(142,56,81,.75))}
.floating-card{position:absolute;display:grid;gap:2px;min-width:150px;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:rgba(255,253,249,.95);box-shadow:var(--shadow)}.floating-card small{color:var(--wine);font-size:.58rem;font-weight:900;letter-spacing:.1em}.floating-card strong{font-family:Georgia,serif}.floating-card span{color:var(--muted);font-size:.65rem}.f1{left:3%;top:18%}.f2{right:2%;top:27%}.f3{left:9%;bottom:10%}
.home-section,.page-shell{padding:78px clamp(24px,7vw,110px)}.section-heading{max-width:760px;margin:0 auto 36px;text-align:center}.section-heading.left{margin:0 0 23px;text-align:left}.section-heading.spaced{margin-top:42px}.section-heading h2,.split h2{margin:.5rem 0 .8rem;font-family:Georgia,serif;font-size:clamp(2.2rem,4vw,3.6rem);font-weight:500;line-height:1.08}.section-heading p,.split>div>p{color:var(--muted)}
.universe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.universe-card{display:grid;grid-template-columns:auto 1fr;gap:14px;min-height:175px;padding:24px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.66);transition:.2s}.universe-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:rgba(104,31,54,.25)}.universe-card.featured{grid-column:span 2;background:var(--wine);color:#fff}.universe-card>span{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:rgba(195,154,80,.15);font-size:1.4rem}.featured>span{background:rgba(255,255,255,.12)}.universe-card small{opacity:.65;font-size:.6rem;font-weight:900;letter-spacing:.12em}.universe-card h3{margin:.2rem 0 .4rem;font-family:Georgia,serif;font-size:1.55rem}.universe-card p{margin:0;opacity:.74}.universe-card b{grid-column:2;margin-top:auto;font-size:.74rem}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:start}.method-list{display:grid;margin-top:28px}.method-list>div{display:grid;grid-template-columns:48px 150px 1fr;gap:12px;padding:15px 0;border-top:1px solid var(--line)}.method-list>div>span{color:var(--wine);font-size:.68rem;font-weight:900}.method-list p{margin:0;color:var(--muted);font-size:.82rem}
.knowledge-card{padding:30px;border-radius:28px;background:var(--wine-dark);color:#fff;box-shadow:var(--shadow)}.knowledge-card>small{color:#e2c47f;font-size:.64rem;font-weight:900;letter-spacing:.12em}.big-grape{display:block;margin:26px 0 8px;font-size:4rem}.knowledge-card h3{margin:0;font-family:Georgia,serif;font-size:2.5rem}.knowledge-card p{color:#e1d8d3}.knowledge-card dl{margin:22px 0}.knowledge-card dl>div{display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-top:1px solid rgba(255,255,255,.12)}.knowledge-card dt{color:#c7bab5}.knowledge-card dd{margin:0;font-weight:800}.knowledge-card a{color:#f0d293;font-weight:800;font-size:.76rem}
.cta-band{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:40px clamp(24px,7vw,110px) 80px;padding:34px 40px;border-radius:28px;background:var(--wine);color:#fff}.cta-band .eyebrow{color:#e6c478}.cta-band h2{margin:.3rem 0;font-family:Georgia,serif;font-size:2.25rem;font-weight:500}
.page-hero{max-width:860px;margin-bottom:38px}.page-hero.compact h1{font-size:clamp(2.7rem,5vw,4.8rem)}.page-hero p{color:var(--muted)}
.filter-row{display:flex;gap:7px;margin-bottom:22px}.filter-chip{padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:#fff8;cursor:pointer}.filter-chip.active{background:var(--wine);color:#fff;border-color:var(--wine)}
.path-grid,.reference-grid,.quiz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.path-card,.reference-card,.quiz-card{padding:23px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.67)}.path-top{display:flex;align-items:center;justify-content:space-between}.path-icon{font-size:2rem}.level-pill{padding:5px 8px;border-radius:999px;background:#efe4d5;color:var(--wine);font-size:.58rem;font-weight:900}.path-card>small,.reference-card>small,.quiz-card>span{color:var(--wine);font-size:.59rem;font-weight:900;letter-spacing:.1em}.path-card h2,.reference-card h2,.quiz-card h2{font-family:Georgia,serif;font-weight:500}.path-card p,.reference-card p,.quiz-card p{color:var(--muted);font-size:.84rem}.path-meta{display:flex;gap:12px;margin:18px 0 10px;color:#77716b;font-size:.64rem;font-weight:700}.progress{height:6px;overflow:hidden;border-radius:999px;background:#e8ddd0}.progress span,.progress i{display:block;height:100%;background:var(--wine);border-radius:inherit}.path-card .progress{margin-bottom:18px}
.reference-card{position:relative;min-height:220px}.reference-card dl{display:grid;gap:6px}.reference-card dl>div{display:flex;justify-content:space-between;gap:15px;font-size:.72rem}.reference-card dt{color:var(--muted)}.reference-card dd{margin:0;font-weight:800;text-align:right}.reference-card a{position:absolute;left:23px;bottom:21px;color:var(--wine);font-size:.73rem;font-weight:850}.reference-card>strong{display:block;margin:12px 0;color:var(--green);font-size:.76rem}.grape-dot{position:absolute;right:22px;top:22px;width:12px;height:12px;border-radius:50%;background:#d5c38e}.grape-dot.rouge{background:#8d314c}
.search-strip{display:flex;gap:8px;margin-bottom:20px}.search-strip input{flex:1;min-height:44px;padding:10px 13px;border:1px solid var(--line);border-radius:12px;background:#fff}
.course-hero{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:36px}.course-hero>div:first-child{max-width:760px}.course-hero h1{font-size:clamp(2.8rem,5vw,5rem)}.course-hero p{color:var(--muted)}.course-summary{display:grid;place-items:center;min-width:150px;padding:22px;border:1px solid var(--line);border-radius:20px;background:#fff8}.course-summary strong{font-family:Georgia,serif;font-size:2.2rem}.course-summary span{color:var(--muted);font-size:.65rem}.course-summary b{margin-top:8px;color:var(--wine);font-size:.68rem}
.module-block{margin:26px 0 34px}.module-block>header{display:flex;align-items:end;justify-content:space-between;margin-bottom:10px}.module-block>header span{color:var(--wine);font-size:.6rem;font-weight:900}.module-block>header h2{margin:.2rem 0;font-family:Georgia,serif;font-size:2rem;font-weight:500}.module-block>header small{color:var(--muted)}.lesson-list{display:grid;gap:8px}.lesson-row{display:grid;grid-template-columns:50px 1fr auto auto;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:#fff9}.lesson-row:hover{border-color:#c9a8b3}.lesson-number{color:var(--wine);font-weight:900}.lesson-row h3{margin:0;font-size:.98rem}.lesson-row p{margin:.2rem 0 0;color:var(--muted);font-size:.72rem}.lesson-time{color:var(--muted);font-size:.68rem}.lesson-arrow{font-size:1.2rem}
.lesson-layout{display:grid;grid-template-columns:270px minmax(0,1fr);min-height:calc(100vh - 72px)}.lesson-sidebar{position:sticky;top:72px;height:calc(100vh - 72px);padding:32px 24px;border-right:1px solid var(--line);background:#ede4d8}.lesson-sidebar h2{font-family:Georgia,serif;font-weight:500}.lesson-sidebar nav{display:grid;gap:6px;margin-top:22px}.lesson-sidebar nav a{padding:9px;border-radius:10px;color:#5e5954;font-size:.74rem}.lesson-sidebar nav a.active{background:#fff;color:var(--wine);font-weight:850}.lesson-progress{margin-top:30px}.lesson-progress>span{font-size:.7rem;font-weight:800}.lesson-content{max-width:860px;padding:54px clamp(28px,6vw,80px) 80px}.lesson-content h1{font-size:clamp(2.7rem,5vw,4.7rem)}.lesson-content>header>p{color:var(--muted);font-size:1rem}.lesson-block{padding:32px 0;border-top:1px solid var(--line)}.lesson-block h2{font-family:Georgia,serif;font-size:2rem;font-weight:500}.lesson-block p{color:#4e4a46}.block-label{color:var(--wine);font-size:.61rem;font-weight:900;letter-spacing:.13em}.concept-card{display:grid;gap:6px;margin:22px 0;padding:20px;border-left:4px solid var(--wine);border-radius:14px;background:#fff}.concept-card span{font-size:.6rem;font-weight:900;color:var(--wine)}.concept-card strong{font-family:Georgia,serif;font-size:1.35rem}.concept-card small{color:var(--muted)}.compare-grid,.sensor-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.compare-grid>div,.sensor-grid>div{display:grid;gap:5px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff8}.sensor-grid{grid-template-columns:repeat(3,1fr)}.sensor-grid span{font-size:1.5rem}.sensor-grid p{margin:0;font-size:.78rem}.practice-card{padding:28px;border:1px solid var(--line);border-radius:20px;background:#fff9}.answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.answer-grid button{padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer}.answer-grid button.correct{border-color:#56a475;background:#edf8f1}.answer-grid button.wrong{border-color:#c95c5c;background:#fff1f1}.answer-feedback{font-size:.8rem;font-weight:700}.retain-card ul{padding-left:1.2rem}.retain-card li{margin:.55rem 0}.lesson-footer-actions{display:flex;justify-content:space-between;margin-top:28px}
.explore-hub{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.explore-hub a{display:grid;gap:5px;min-height:170px;padding:23px;border:1px solid var(--line);border-radius:20px;background:#fff9}.explore-hub a>span{font-size:1.6rem}.explore-hub strong{font-family:Georgia,serif;font-size:1.5rem}.explore-hub small{color:var(--muted)}
.tasting-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:18px}.tasting-guide,.tasting-form{padding:26px;border:1px solid var(--line);border-radius:22px;background:#fff9}.tasting-guide h2,.tasting-form h2{font-family:Georgia,serif;font-size:2rem;font-weight:500}.tasting-step{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:15px 0;border-top:1px solid var(--line)}.tasting-step>span{color:var(--wine);font-size:.7rem;font-weight:900}.tasting-step p{margin:.2rem 0;color:var(--muted);font-size:.78rem}.tasting-form{display:grid;gap:12px}.tasting-form label{display:grid;gap:6px;font-size:.72rem;font-weight:800}.tasting-form input,.tasting-form textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:#fff}.form-grid.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.slider-row{display:grid;grid-template-columns:90px 1fr;gap:10px;align-items:center;font-size:.72rem;font-weight:800}
.quiz-grid .featured{grid-column:span 2;background:var(--wine-dark);color:#fff}.quiz-grid .featured p{color:#ded2cf}.quiz-card button{margin-top:12px}
.auth-shell{display:grid;place-items:center;min-height:calc(100vh - 72px);padding:40px}.auth-card{display:grid;gap:14px;width:min(480px,100%);padding:30px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow)}.auth-card h1{font-size:2.5rem}.auth-card label{display:grid;gap:6px;font-size:.72rem;font-weight:800}.auth-card input{padding:12px;border:1px solid var(--line);border-radius:11px}.auth-card p{font-size:.76rem;color:var(--muted)}.auth-card p a{color:var(--wine);font-weight:800}
.dashboard-shell{padding:50px clamp(24px,6vw,90px) 80px}.dashboard-hero{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:32px}.dashboard-hero h1{font-size:clamp(2.8rem,5vw,4.8rem)}.dashboard-hero p{color:var(--muted)}.streak-card{display:grid;place-items:center;min-width:160px;padding:18px;border-radius:20px;background:var(--wine);color:#fff}.streak-card strong{font-family:Georgia,serif;font-size:2.4rem}.streak-card span{font-size:.72rem;font-weight:800}.streak-card small{margin-top:6px;opacity:.7;font-size:.6rem}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px}.continue-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:#fff9}.continue-card h3{margin:.1rem 0 .45rem}.continue-card small{color:var(--muted);font-size:.6rem}.continue-card a{color:var(--wine);font-size:.72rem;font-weight:850}.memory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.memory-grid article{padding:17px;border:1px solid var(--line);border-radius:16px;background:#fff9}.memory-grid small{color:var(--wine);font-size:.58rem;font-weight:900}.memory-grid strong{display:block;margin:.2rem 0;font-family:Georgia,serif;font-size:1.2rem}.memory-grid p{font-size:.75rem;color:var(--muted)}.memory-grid button{border:0;background:none;color:var(--wine);font-weight:800;cursor:pointer}.dashboard-side{display:grid;align-content:start;gap:12px}.profile-progress-card,.daily-card{padding:22px;border:1px solid var(--line);border-radius:20px;background:#fff9}.big-number{display:block;margin:10px 0 0;font-family:Georgia,serif;font-size:3.2rem;color:var(--wine)}.profile-progress-card>p{color:var(--muted)}.profile-progress-card dl>div{display:flex;justify-content:space-between;padding:8px 0;border-top:1px solid var(--line)}.profile-progress-card dd{margin:0;font-weight:850}.profile-progress-card a{color:var(--wine);font-size:.72rem;font-weight:850}.daily-card h3{font-family:Georgia,serif;font-weight:500}.logout-link{padding:8px;color:#8a5b5b;font-size:.72rem;text-align:center}
.profile-hero{display:flex;align-items:center;gap:18px;margin-bottom:28px}.avatar{display:grid;place-items:center;width:80px;height:80px;border-radius:22px;background:var(--wine);font-size:2rem}.profile-hero h1{margin:.2rem 0;font-family:Georgia,serif;font-size:2.7rem;font-weight:500}.profile-hero p{margin:0;color:var(--muted)}.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.profile-grid article{padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff9}.profile-grid strong{display:block;margin:.5rem 0;font-family:Georgia,serif;font-size:1.6rem}.profile-grid p{color:var(--muted);font-size:.8rem}
.admin-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:22px}.admin-stats article{display:grid;gap:2px;padding:17px;border:1px solid var(--line);border-radius:16px;background:#fff9}.admin-stats strong{font-family:Georgia,serif;font-size:1.8rem;color:var(--wine)}.admin-stats span{font-size:.65rem;color:var(--muted)}.admin-modules{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.admin-modules a{display:grid;grid-template-columns:42px 1fr;gap:10px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff9}.admin-modules>a>span{font-size:1.4rem}.admin-modules strong{display:block}.admin-modules small{color:var(--muted);font-size:.68rem}
.site-footer{display:grid;grid-template-columns:1fr auto auto;align-items:end;gap:30px;padding:40px clamp(24px,7vw,110px);border-top:1px solid var(--line);background:#e9dfd2}.site-footer p{max-width:480px;color:var(--muted);font-size:.78rem}.brand-footer .brand-mark{width:34px;height:34px}.footer-grid{display:grid;grid-template-columns:repeat(2,auto);gap:7px 18px;font-size:.72rem;font-weight:750}.site-footer>small{color:var(--muted);font-size:.66rem}

@media(max-width:1000px){
.site-header{grid-template-columns:auto 1fr}.main-nav{display:none}.header-actions{justify-self:end}
.hero{grid-template-columns:1fr;padding-top:60px}.hero-map{min-height:430px}
.universe-grid,.path-grid,.reference-grid,.quiz-grid{grid-template-columns:repeat(2,1fr)}.universe-card.featured{grid-column:span 2}
.split,.tasting-grid,.dashboard-grid{grid-template-columns:1fr}.dashboard-side{grid-template-columns:1fr 1fr}.lesson-layout{grid-template-columns:1fr}.lesson-sidebar{display:none}
.admin-stats{grid-template-columns:repeat(3,1fr)}.admin-modules{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:680px){
.site-header{padding:11px 13px}.brand small{display:none}.brand-mark{width:38px;height:38px}.header-actions .button.ghost{display:none}.header-actions .button{padding:9px 11px;font-size:.7rem}
.hero,.home-section,.page-shell,.dashboard-shell{padding-left:16px;padding-right:16px}.hero{min-height:auto;padding-top:44px;padding-bottom:48px}.hero h1{font-size:3rem}.hero-actions{display:grid}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.hero-map{min-height:330px}.floating-card{min-width:120px;padding:9px}.f1{left:0}.f2{right:0}.f3{left:2%}
.universe-grid,.path-grid,.reference-grid,.quiz-grid,.profile-grid,.admin-modules,.admin-stats,.memory-grid{grid-template-columns:1fr}.universe-card.featured,.quiz-grid .featured{grid-column:auto}
.split{gap:26px}.method-list>div{grid-template-columns:38px 1fr}.method-list>div>p{grid-column:2}.cta-band{margin:20px 16px 50px;padding:24px;display:grid}.course-hero,.dashboard-hero{display:grid}.course-summary{justify-self:start}.lesson-row{grid-template-columns:34px 1fr auto}.lesson-time{display:none}.compare-grid,.sensor-grid,.answer-grid,.form-grid.two{grid-template-columns:1fr}.lesson-content{padding:38px 16px 60px}.lesson-content h1{font-size:2.7rem}.dashboard-side{grid-template-columns:1fr}.continue-card{grid-template-columns:auto 1fr}.continue-card>a{grid-column:2}.site-footer{grid-template-columns:1fr;align-items:start}.footer-grid{grid-template-columns:repeat(3,1fr)}
}


/* =========================================================
   AMPELORIA V0.2 — Dashboard + encyclopédie interconnectée
   ========================================================= */
.empty-state{display:grid;justify-items:start;gap:10px;max-width:650px;padding:36px;border:1px solid var(--line);border-radius:22px;background:#fff9}
.empty-state h1{margin:.2rem 0;font-family:Georgia,serif;font-size:2.4rem;font-weight:500}
.empty-state p{margin:0 0 10px;color:var(--muted)}
.empty-state.compact{padding:22px}

.knowledge-breadcrumb{display:flex;gap:8px;align-items:center;margin-bottom:22px;color:var(--muted);font-size:.72rem}
.knowledge-breadcrumb strong{color:var(--wine)}
.knowledge-hero{display:flex;align-items:start;justify-content:space-between;gap:24px;padding:34px 0;border-bottom:1px solid var(--line)}
.knowledge-hero>div{max-width:850px}
.knowledge-hero h1{margin:.35rem 0 .8rem;font-family:Georgia,serif;font-size:clamp(3rem,6vw,5.5rem);font-weight:500;line-height:1}
.knowledge-hero p{max-width:760px;color:var(--muted);font-size:1rem}
.knowledge-favorite{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border:1px solid var(--line);border-radius:50%;background:#fff9;color:var(--wine);font-size:1.5rem;cursor:pointer}
.knowledge-favorite.active{background:#fff1be;border-color:#d9b64f}
.knowledge-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0 34px}
.knowledge-facts article{display:grid;gap:3px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff8}
.knowledge-facts span{color:var(--muted);font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.knowledge-facts strong{font-family:Georgia,serif;font-size:1.15rem;font-weight:500}
.knowledge-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:30px}
.knowledge-main{display:grid;gap:18px}
.knowledge-section{padding:28px;border:1px solid var(--line);border-radius:22px;background:#fff8}
.knowledge-section h2,.knowledge-links h2{margin:.35rem 0 .8rem;font-family:Georgia,serif;font-size:2rem;font-weight:500}
.knowledge-section>p{color:var(--muted)}
.knowledge-memory{display:grid;gap:8px;margin-top:18px}
.knowledge-memory>div{display:grid;grid-template-columns:38px 120px 1fr;gap:12px;align-items:start;padding:12px 0;border-top:1px solid var(--line)}
.knowledge-memory span{color:var(--wine);font-size:.68rem;font-weight:900}
.knowledge-memory p{margin:0;color:var(--muted);font-size:.8rem}
.knowledge-callout{margin-top:20px;padding:18px;border-left:4px solid var(--wine);border-radius:14px;background:#f6eee5}
.knowledge-callout p{margin:.35rem 0 0;color:#534d49;font-size:.85rem}
.knowledge-side{display:grid;align-content:start;gap:12px}
.knowledge-links,.knowledge-review-card{padding:22px;border:1px solid var(--line);border-radius:20px;background:#fff9}
.knowledge-links a{position:relative;display:grid;gap:2px;padding:12px 28px 12px 0;border-top:1px solid var(--line)}
.knowledge-links a small{color:var(--muted);font-size:.6rem}
.knowledge-links a strong{font-size:.83rem}
.knowledge-links a>span{position:absolute;right:0;top:50%;transform:translateY(-50%);color:var(--wine)}
.knowledge-review-card h3{font-family:Georgia,serif;font-size:1.45rem;font-weight:500}
.knowledge-review-card p{color:var(--muted);font-size:.78rem}

.dashboard-v2{max-width:1500px;margin:auto}
.dashboard-hero-v2{padding:8px 0 6px}
.dashboard-hero-v2>div:first-child{max-width:850px}
.dashboard-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:28px}
.dashboard-kpis article{display:grid;gap:2px;padding:17px;border:1px solid var(--line);border-radius:17px;background:#fff9}
.dashboard-kpis span,.dashboard-kpis small{color:var(--muted);font-size:.62rem}
.dashboard-kpis strong{font-family:Georgia,serif;font-size:1.9rem;color:var(--wine);font-weight:500}
.dashboard-grid-v2{grid-template-columns:minmax(0,1fr) 340px}
.continue-stack{display:grid;gap:9px}
.continue-card-v2 p{margin:.35rem 0 0;color:var(--muted);font-size:.62rem}
.recommendation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.recommendation-grid>a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;min-height:105px;padding:15px;border:1px solid var(--line);border-radius:16px;background:#fff9}
.recommendation-grid>a>span{font-size:1.45rem}
.recommendation-grid small{color:var(--wine);font-size:.57rem;font-weight:900;letter-spacing:.08em}
.recommendation-grid strong{display:block;font-family:Georgia,serif;font-size:1.08rem;font-weight:500}
.recommendation-grid p{margin:.12rem 0 0;color:var(--muted);font-size:.63rem}
.recommendation-grid b{color:var(--wine)}
.memory-grid-v2 article{position:relative;min-height:155px}
.memory-grid-v2 a{position:absolute;left:17px;bottom:15px;color:var(--wine);font-size:.7rem;font-weight:850}
.dashboard-side-v2{grid-template-columns:1fr}
.mastery-card{padding:22px;border:1px solid var(--line);border-radius:20px;background:#fff9}
.mastery-card h2{font-family:Georgia,serif;font-size:1.7rem;font-weight:500}
.mastery-list{display:grid;gap:14px;margin-top:18px}
.mastery-list header{display:flex;justify-content:space-between;margin-bottom:5px;font-size:.68rem}
.mastery-list header strong{color:var(--wine)}
.daily-card-v2{padding:22px}
.daily-answers{display:grid;gap:6px;margin-top:14px}
.daily-answers button{padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:left;cursor:pointer}
.daily-answers button.correct{border-color:#4e9c6b;background:#edf8f0}
.daily-answers button.wrong{border-color:#bf5c5c;background:#fff0f0}
.daily-card-v2 [data-daily-feedback]{font-size:.7rem;color:var(--muted)}
.profile-progress-v2>strong{display:block;margin:.5rem 0;font-family:Georgia,serif;font-size:1.7rem;font-weight:500}
.profile-progress-v2 .progress{margin:12px 0 16px}

.admin-v2{max-width:1500px;margin:auto}
.admin-stats-v2{grid-template-columns:repeat(5,1fr)}
.admin-layout-v2{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px}
.admin-modules-v2{grid-template-columns:repeat(2,1fr)}
.admin-modules-v2 a{position:relative;align-items:center}
.admin-modules-v2 a>b{position:absolute;right:16px;color:var(--wine)}
.admin-side-v2{display:grid;align-content:start;gap:12px}
.admin-audit-card,.admin-priority-card{padding:22px;border:1px solid var(--line);border-radius:20px;background:#fff9}
.admin-audit-card h2{font-family:Georgia,serif;font-size:1.6rem;font-weight:500}
.audit-row{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-top:1px solid var(--line);font-size:.7rem}
.audit-row strong{font-size:.62rem}
.audit-row strong.success{color:#397954}.audit-row strong.warning{color:#9a6d18}.audit-row strong.neutral{color:#777}
.admin-priority-card h3{font-family:Georgia,serif;font-size:1.35rem;font-weight:500}
.admin-priority-card p{color:var(--muted);font-size:.78rem}
.admin-content-header{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}
.admin-content-header h1{margin:.35rem 0;font-family:Georgia,serif;font-size:clamp(2.4rem,5vw,4.2rem);font-weight:500}
.admin-content-header p{max-width:700px;color:var(--muted)}
.admin-table-card{padding:18px;border:1px solid var(--line);border-radius:20px;background:#fff9}
.admin-table-scroll{overflow:auto}
.admin-table{width:100%;border-collapse:collapse;font-size:.7rem}
.admin-table th,.admin-table td{padding:11px 9px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
.admin-table th{color:var(--muted);font-size:.58rem;text-transform:uppercase;letter-spacing:.06em}
.admin-table td button{padding:5px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer}

@media(max-width:1000px){
    .knowledge-layout,.admin-layout-v2{grid-template-columns:1fr}
    .knowledge-side{grid-template-columns:1fr 1fr}
    .dashboard-kpis{grid-template-columns:repeat(2,1fr)}
    .recommendation-grid{grid-template-columns:1fr}
    .admin-stats-v2{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:680px){
    .knowledge-facts{grid-template-columns:repeat(2,1fr)}
    .knowledge-layout{gap:18px}
    .knowledge-side{grid-template-columns:1fr}
    .knowledge-memory>div{grid-template-columns:32px 1fr}
    .knowledge-memory>div>p{grid-column:2}
    .dashboard-kpis{grid-template-columns:repeat(2,1fr)}
    .admin-stats-v2{grid-template-columns:repeat(2,1fr)}
    .admin-modules-v2{grid-template-columns:1fr}
    .admin-content-header{display:grid}
}


/* =========================================================
   AMPELORIA V0.3 — moteur pédagogique
   ========================================================= */
.lesson-v3 .lesson-sidebar{z-index:3}
.lesson-progress-v3 small{display:block;margin-top:6px;color:var(--muted);font-size:.62rem}
.lesson-xp-sidebar{display:grid;gap:2px;margin-top:18px;padding:13px;border:1px solid var(--line);border-radius:13px;background:#fff7}
.lesson-xp-sidebar span{color:var(--muted);font-size:.6rem}
.lesson-xp-sidebar strong{font-family:Georgia,serif;font-size:1.6rem;color:var(--wine)}

.lesson-main-header{display:flex;justify-content:space-between;align-items:start;gap:20px}
.lesson-main-header>div:first-child{max-width:760px}
.lesson-status-pill{display:grid;gap:2px;min-width:110px;padding:11px 13px;border:1px solid var(--line);border-radius:14px;background:#fff9;text-align:center}
.lesson-status-pill strong{font-size:.72rem}
.lesson-status-pill small{color:var(--muted);font-size:.62rem}
.lesson-status-pill.completed{border-color:#7bad8c;background:#edf7f0;color:#2d6540}

.lesson-stepper{position:sticky;top:72px;z-index:10;display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:22px 0;padding:8px;border:1px solid var(--line);border-radius:16px;background:rgba(243,236,226,.95);backdrop-filter:blur(12px)}
.lesson-stepper button{display:grid;place-items:center;gap:3px;min-height:54px;border:0;border-radius:10px;background:transparent;cursor:pointer}
.lesson-stepper button span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#e6d9ca;color:var(--wine);font-size:.64rem;font-weight:900}
.lesson-stepper button small{font-size:.58rem;font-weight:800}
.lesson-stepper button.active{background:#fff}
.lesson-stepper button.active span{background:var(--wine);color:#fff}

.lesson-block-v3{scroll-margin-top:155px}
.lesson-insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}
.lesson-insight-grid article{padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff9}
.lesson-insight-grid span{color:var(--wine);font-size:.56rem;font-weight:900;letter-spacing:.08em}
.lesson-insight-grid strong{display:block;margin:.25rem 0;font-family:Georgia,serif;font-size:1.1rem;font-weight:500}
.lesson-insight-grid p{margin:0;color:var(--muted);font-size:.7rem}
.sensor-grid-v3{margin-top:18px}

.practice-engine{margin-top:15px}
.practice-question{font-weight:800;color:var(--ink)!important}
.answer-grid button:disabled{cursor:default}
.answer-grid button.correct{border-color:#5aa574!important;background:#edf8f1!important}
.answer-grid button.wrong{border-color:#c95c5c!important;background:#fff1f1!important}
.memory-list-v3{display:grid;gap:7px;margin-top:16px}
.memory-list-v3 li{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff9}
.memory-actions-v3{margin-top:14px}

.lesson-score-panel{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:22px;padding:22px;border:1px solid var(--line);border-radius:20px;background:#fff9}
.lesson-score-panel h2{margin:.3rem 0;font-family:Georgia,serif;font-size:1.8rem;font-weight:500}
.lesson-score-panel p{margin:0;color:var(--muted);font-size:.78rem}
.score-ring{--score:0;display:grid;place-items:center;align-content:center;width:110px;height:110px;border-radius:50%;background:conic-gradient(var(--wine) calc(var(--score)*1%),#e6d9cc 0);position:relative}
.score-ring:before{content:"";position:absolute;inset:9px;border-radius:50%;background:var(--paper)}
.score-ring strong,.score-ring small{position:relative;z-index:1}
.score-ring strong{font-family:Georgia,serif;font-size:1.5rem}
.score-ring small{font-size:.58rem;color:var(--muted)}
.lesson-footer-v3{align-items:center}
.lesson-footer-v3 button:disabled{opacity:.45;cursor:not-allowed}
.lesson-toast{position:fixed;right:22px;bottom:22px;z-index:90;padding:12px 15px;border-radius:13px;background:var(--wine-dark);color:#fff;box-shadow:var(--shadow);font-size:.75rem;font-weight:800}

.quiz-v3{max-width:1000px;margin:auto}
.quiz-session-card{padding:26px;border:1px solid var(--line);border-radius:24px;background:#fff9}
.quiz-session-header{display:flex;justify-content:space-between;align-items:start;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.quiz-session-header h2{margin:.3rem 0;font-family:Georgia,serif;font-size:2rem;font-weight:500}
.quiz-session-progress{display:flex;align-items:baseline;gap:3px}.quiz-session-progress strong{font-family:Georgia,serif;font-size:2.2rem;color:var(--wine)}.quiz-session-progress span{color:var(--muted)}
.quiz-question-v3{display:none;padding:26px 0 4px}.quiz-question-v3.active{display:block}
.quiz-topic{color:var(--wine);font-size:.6rem;font-weight:900;letter-spacing:.1em}
.quiz-question-v3 h3{max-width:720px;margin:.45rem 0 18px;font-family:Georgia,serif;font-size:2rem;font-weight:500}
.quiz-answers-v3{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.quiz-answers-v3 button{padding:14px;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:left;cursor:pointer}
.quiz-answers-v3 button.correct{border-color:#5aa574;background:#edf8f1}
.quiz-answers-v3 button.wrong{border-color:#c95c5c;background:#fff1f1}
.quiz-explanation-v3{margin-top:14px;padding:15px;border-left:4px solid var(--wine);border-radius:12px;background:#f6eee5}
.quiz-explanation-v3 p{margin:.3rem 0 0;color:var(--muted);font-size:.78rem}
.quiz-question-actions{display:flex;justify-content:flex-end;margin-top:18px}
.quiz-question-actions button:disabled{opacity:.45;cursor:not-allowed}
.quiz-result-v3{padding:34px 0 10px;text-align:center}
.quiz-result-score{display:grid;place-items:center;width:150px;height:150px;margin:20px auto;border-radius:50%;background:var(--wine);color:#fff}
.quiz-result-score strong{font-family:Georgia,serif;font-size:2.7rem}
.quiz-result-score small{font-size:.62rem}
.quiz-result-v3 h2{font-family:Georgia,serif;font-size:2.3rem;font-weight:500}
.quiz-result-v3>p{max-width:560px;margin:0 auto 22px;color:var(--muted)}
.quiz-result-actions{display:flex;justify-content:center;gap:8px}

@media(max-width:780px){
    .lesson-main-header{display:grid}
    .lesson-status-pill{justify-self:start}
    .lesson-stepper{grid-template-columns:repeat(3,1fr);top:68px}
    .lesson-block-v3{scroll-margin-top:230px}
    .lesson-insight-grid{grid-template-columns:1fr}
    .lesson-score-panel{display:grid}
    .score-ring{width:96px;height:96px}
    .quiz-answers-v3{grid-template-columns:1fr}
}


/* =========================================================
   AMPELORIA V0.4 — mémoire, compétences, dégustation réelle
   ========================================================= */
.section-heading-action{display:flex;align-items:end;justify-content:space-between;gap:18px;max-width:none}
.section-heading-action>div h2{margin-bottom:0}
.section-heading-action>a{color:var(--wine);font-size:.72rem;font-weight:850}

.memory-page{max-width:1050px;margin:auto}
.memory-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:24px}
.memory-summary article{display:grid;gap:2px;padding:17px;border:1px solid var(--line);border-radius:16px;background:#fff9}
.memory-summary strong{font-family:Georgia,serif;font-size:1.8rem;color:var(--wine);font-weight:500}
.memory-summary span{color:var(--muted);font-size:.65rem}
.memory-session{min-height:380px}
.memory-review-card{display:none;padding:30px;border:1px solid var(--line);border-radius:24px;background:#fff9}
.memory-review-card.active{display:block}
.memory-review-card h2{font-family:Georgia,serif;font-size:2.6rem;font-weight:500}
.memory-question{margin:20px 0;padding:20px;border-radius:16px;background:#f5eee5}
.memory-question p{margin:.3rem 0 0;color:var(--muted);font-size:.72rem}
.memory-answer{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.memory-answer>p{color:var(--muted);font-size:.82rem}
.memory-quality{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px}
.memory-quality button{display:grid;gap:2px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;font-weight:800}
.memory-quality button small{color:var(--muted);font-size:.58rem;font-weight:600}
.memory-quality button:hover{border-color:var(--wine);background:#fff5f5}
.memory-session-progress{margin-top:12px;color:var(--muted);font-size:.7rem;text-align:center}
.memory-complete{display:grid;justify-items:center;gap:9px;padding:34px;border:1px solid var(--line);border-radius:24px;background:#fff9;text-align:center}
.memory-complete h2{margin:.3rem 0;font-family:Georgia,serif;font-size:2.4rem;font-weight:500}
.memory-complete p{color:var(--muted)}

.competency-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin-bottom:18px}
.competency-strip article{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid var(--line);border-radius:13px;background:#fff9}
.competency-strip article>span{font-size:1.15rem}
.competency-strip small{display:block;color:var(--muted);font-size:.55rem}
.competency-strip strong{font-family:Georgia,serif;font-size:1rem;color:var(--wine);font-weight:500}

.tasting-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}
.tasting-kpis article{display:grid;gap:2px;padding:16px;border:1px solid var(--line);border-radius:15px;background:#fff9}
.tasting-kpis strong{font-family:Georgia,serif;font-size:1.7rem;color:var(--wine);font-weight:500}
.tasting-kpis span{color:var(--muted);font-size:.62rem}
.tasting-grid-v4{align-items:start}
.tasting-form-v4{gap:15px}
.tasting-phase{display:grid;gap:6px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff8}
.tasting-phase>span{color:var(--wine);font-size:.62rem;font-weight:900;letter-spacing:.07em}
.tasting-phase textarea{border:0!important;padding:0!important;resize:vertical}
.tasting-structure-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
.structure-control{display:grid;grid-template-columns:90px 1fr 26px;align-items:center;gap:8px;padding:11px;border:1px solid var(--line);border-radius:12px;background:#fff8}
.structure-control>span{font-size:.68rem}
.structure-control output{font-weight:900;color:var(--wine);text-align:right}
.tasting-save-row{display:flex;align-items:center;gap:12px}
.tasting-save-row>[data-tasting-status]{color:var(--wine);font-size:.7rem;font-weight:800}
.recent-tastings{margin-top:28px}
.recent-tastings>article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.recent-tastings>article>div{display:grid}
.recent-tastings small{color:var(--muted);font-size:.6rem}
.recent-tastings>article>span{color:var(--wine);font-weight:900;font-size:.7rem}
.tasting-login-card{padding:26px;border:1px solid var(--line);border-radius:22px;background:#fff9}
.tasting-login-card h2{font-family:Georgia,serif;font-size:2rem;font-weight:500}
.tasting-login-card p{color:var(--muted)}

@media(max-width:900px){
    .competency-strip{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:680px){
    .memory-summary,.tasting-kpis{grid-template-columns:1fr}
    .memory-quality{grid-template-columns:repeat(2,1fr)}
    .competency-strip{grid-template-columns:repeat(2,1fr)}
    .tasting-structure-grid{grid-template-columns:1fr}
    .section-heading-action{display:grid}
}


/* =========================================================
   AMPELORIA V0.5 — favoris, mémoire liée, carnet, niveaux
   ========================================================= */
.knowledge-review-card [data-memory-add-status]{display:block;margin-top:8px;color:var(--wine);font-size:.65rem}
.memory-source-link{display:inline-block;margin:0 0 14px;color:var(--wine);font-size:.72rem;font-weight:850}

.recent-tastings>.recent-tasting-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:10px 0;
    border-top:1px solid var(--line);
}
.recent-tastings>.recent-tasting-row>div{display:grid}
.recent-tastings>.recent-tasting-row small{color:var(--muted);font-size:.6rem}
.recent-tastings>.recent-tasting-row>span{color:var(--wine);font-weight:900;font-size:.7rem}

.tasting-detail-page{max-width:1300px;margin:auto}
.tasting-detail-hero{display:flex;align-items:end;justify-content:space-between;gap:24px;padding:18px 0 26px;border-bottom:1px solid var(--line)}
.tasting-detail-hero h1{margin:.3rem 0;font-family:Georgia,serif;font-size:clamp(2.8rem,5vw,4.8rem);font-weight:500}
.tasting-detail-hero p{margin:0;color:var(--muted)}
.tasting-detail-score{display:flex;align-items:baseline;gap:3px;padding:16px 18px;border:1px solid var(--line);border-radius:18px;background:#fff9}
.tasting-detail-score strong{font-family:Georgia,serif;font-size:2.3rem;color:var(--wine);font-weight:500}
.tasting-detail-score span{color:var(--muted)}
.tasting-detail-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:18px 0}
.tasting-detail-facts article{display:grid;gap:3px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff9}
.tasting-detail-facts span{color:var(--muted);font-size:.6rem}
.tasting-detail-facts strong{font-family:Georgia,serif;font-size:1.15rem;font-weight:500}
.tasting-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:20px}
.tasting-detail-notes{display:grid;gap:10px}
.tasting-detail-notes article{padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff9}
.tasting-detail-notes p{margin:.45rem 0 0;color:#4f4a46}
.tasting-edit-card{position:sticky;top:95px;align-self:start;padding:22px;border:1px solid var(--line);border-radius:20px;background:#fff9}
.tasting-edit-card h2{font-family:Georgia,serif;font-size:1.8rem;font-weight:500}
.tasting-edit-card form{display:grid;gap:10px}
.tasting-edit-card label{display:grid;gap:5px;font-size:.68rem;font-weight:800}
.tasting-edit-card input,.tasting-edit-card textarea{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:#fff}
.tasting-structure-grid.compact{grid-template-columns:1fr}
.tasting-edit-card [data-tasting-status]{color:var(--wine);font-size:.66rem;font-weight:800}

.dashboard-badges-mini{padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff9}
.dashboard-badges-mini>div{display:flex;gap:7px;margin-top:10px}
.dashboard-badges-mini>div>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#ebe2d7;filter:grayscale(1);opacity:.45}
.dashboard-badges-mini>div>span.unlocked{background:#fff2bd;filter:none;opacity:1}

.profile-v5{max-width:1300px;margin:auto}
.profile-hero-v5{display:grid;grid-template-columns:auto 1fr auto}
.profile-level-card{display:grid;gap:2px;justify-items:end;padding:16px 18px;border:1px solid var(--line);border-radius:17px;background:#fff9}
.profile-level-card small{color:var(--wine);font-size:.58rem;font-weight:900}
.profile-level-card strong{font-family:Georgia,serif;font-size:1.4rem;font-weight:500}
.profile-level-card span{color:var(--muted);font-size:.68rem}
.profile-level-progress{margin:0 0 30px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff9}
.profile-level-progress header{display:flex;justify-content:space-between;gap:15px;margin-bottom:8px;font-size:.68rem}
.profile-level-progress header strong{color:var(--wine)}
.profile-level-progress header span{color:var(--muted)}
.profile-layout-v5{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px}
.profile-competencies{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
.profile-competencies article{padding:15px;border:1px solid var(--line);border-radius:15px;background:#fff9}
.profile-competencies article>div:first-child{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin-bottom:8px}
.profile-competencies b{color:var(--wine)}
.profile-competencies small{display:block;margin-top:7px;color:var(--muted);font-size:.6rem}
.profile-stat-card{padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff9}
.profile-stat-card dl{margin:14px 0 0}
.profile-stat-card dl>div{display:flex;justify-content:space-between;padding:9px 0;border-top:1px solid var(--line)}
.profile-stat-card dd{margin:0;font-weight:850}
.badge-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}
.badge-grid article{position:relative;display:grid;justify-items:center;gap:7px;min-height:170px;padding:18px;border:1px solid var(--line);border-radius:17px;background:#fff9;text-align:center}
.badge-grid article>span{font-size:2rem}
.badge-grid article strong{font-family:Georgia,serif;font-size:1.1rem;font-weight:500}
.badge-grid article p{margin:.2rem 0;color:var(--muted);font-size:.62rem}
.badge-grid article>b{position:absolute;right:10px;top:10px;font-size:.72rem}
.badge-grid article.locked{filter:grayscale(1);opacity:.52}
.badge-grid article.unlocked{border-color:#dec371;background:#fffaf0}

@media(max-width:1000px){
    .tasting-detail-layout,.profile-layout-v5{grid-template-columns:1fr}
    .tasting-edit-card{position:relative;top:auto}
    .badge-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:680px){
    .tasting-detail-hero{display:grid}
    .tasting-detail-score{justify-self:start}
    .tasting-detail-facts{grid-template-columns:repeat(2,1fr)}
    .profile-hero-v5{grid-template-columns:auto 1fr}
    .profile-level-card{grid-column:1/-1;justify-items:start}
    .profile-competencies{grid-template-columns:1fr}
    .badge-grid{grid-template-columns:repeat(2,1fr)}
}


/* =========================================================
   AMPELORIA V0.6 — recherche, comparaison, vins, favoris
   ========================================================= */
.header-search-link,.header-favorite-link{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border:1px solid var(--line);
    border-radius:11px;
    background:#fff8;
    color:var(--wine);
    font-weight:900
}

.search-page{max-width:1100px;margin:auto}
.global-search-form{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:18px;background:#fff}
.global-search-form>span{padding-left:8px;color:var(--wine);font-size:1.35rem}
.global-search-form input{min-height:46px;border:0;outline:0;background:transparent;font-size:1rem}
.search-suggestions{margin-top:24px}
.search-suggestions>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.search-suggestions a{padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:#fff9;font-size:.72rem}
.search-results{display:grid;gap:8px;margin-top:24px}
.search-results>header{display:flex;gap:6px;margin-bottom:4px;color:var(--muted);font-size:.72rem}
.search-results>a{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:15px;background:#fff9}
.search-results>a:hover{border-color:#c5a2ad;transform:translateY(-1px)}
.search-result-icon{font-size:1.35rem}
.search-results small{color:var(--wine);font-size:.56rem;font-weight:900;letter-spacing:.08em}
.search-results strong{display:block;font-size:.92rem}
.search-results p{margin:.1rem 0 0;color:var(--muted);font-size:.68rem}
.search-results b{color:var(--wine)}

.compare-page{max-width:1150px;margin:auto}
.compare-picker{display:grid;grid-template-columns:1fr auto 1fr auto;gap:10px;align-items:end;margin-bottom:25px;padding:16px;border:1px solid var(--line);border-radius:17px;background:#fff9}
.compare-picker label{display:grid;gap:5px;color:var(--muted);font-size:.65rem;font-weight:800}
.compare-picker select{min-height:42px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff}
.compare-picker>span{align-self:center;color:var(--wine);font-weight:900}
.compare-head{display:grid;grid-template-columns:1fr 60px 1fr;align-items:center;gap:10px;margin-bottom:10px}
.compare-head article{display:grid;justify-items:center;padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff9;text-align:center}
.compare-head article>span{font-size:2rem}
.compare-head small{color:var(--wine);font-size:.6rem;font-weight:900}
.compare-head h2{margin:.35rem 0 0;font-family:Georgia,serif;font-size:2rem;font-weight:500}
.compare-head>div{text-align:center;color:var(--wine);font-weight:900}
.compare-table{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff9}
.compare-table>div{display:grid;grid-template-columns:180px 1fr 1fr}
.compare-table>div+div{border-top:1px solid var(--line)}
.compare-table strong,.compare-table span{padding:13px 15px}
.compare-table strong{background:#f1e8dc;color:var(--wine);font-size:.68rem}
.compare-table span{border-left:1px solid var(--line);font-size:.78rem}
.compare-learning{margin-top:20px;padding:24px;border-left:4px solid var(--wine);border-radius:16px;background:#fff9}
.compare-learning h2{margin:.35rem 0;font-family:Georgia,serif;font-size:1.7rem;font-weight:500}
.compare-learning p{color:var(--muted)}

.wine-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.wine-card{display:grid;grid-template-columns:80px 1fr;gap:15px;padding:20px;border:1px solid var(--line);border-radius:20px;background:#fff9}
.wine-card:hover{border-color:#c9a4b0;box-shadow:var(--shadow)}
.wine-bottle,.wine-detail-bottle{position:relative;display:grid;place-items:end center}
.wine-bottle:before,.wine-detail-bottle:before{content:"";width:34px;height:120px;border-radius:9px 9px 12px 12px;background:linear-gradient(#314436,#1f2d24);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.wine-bottle:after,.wine-detail-bottle:after{content:"";position:absolute;top:6px;width:18px;height:34px;border-radius:4px 4px 0 0;background:#28382d}
.wine-card small{color:var(--wine);font-size:.57rem;font-weight:900}
.wine-card h2{margin:.25rem 0;font-family:Georgia,serif;font-size:1.45rem;font-weight:500}
.wine-card strong{font-size:.72rem}
.wine-card p{color:var(--muted);font-size:.7rem}
.wine-learning-label{display:block;margin-top:12px;color:var(--wine);font-size:.58rem;font-weight:900}

.wine-detail-page{max-width:1250px;margin:auto}
.wine-detail-hero{display:grid;grid-template-columns:160px 1fr;gap:34px;align-items:center;padding:24px 0 30px}
.wine-detail-bottle{min-height:230px}
.wine-detail-bottle:before{width:65px;height:220px;border-radius:16px 16px 18px 18px}
.wine-detail-bottle:after{width:32px;height:56px;top:0}
.wine-detail-hero h1{margin:.35rem 0;font-family:Georgia,serif;font-size:clamp(3rem,6vw,5rem);font-weight:500}
.wine-detail-hero>div:last-child>p:last-child{max-width:720px;color:var(--muted)}
.wine-producer{color:var(--wine);font-weight:850}
.wine-facts{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:24px}
.wine-facts article{display:grid;gap:2px;padding:13px;border:1px solid var(--line);border-radius:14px;background:#fff9}
.wine-facts span{color:var(--muted);font-size:.57rem}
.wine-facts strong{font-size:.72rem}
.wine-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px}
.wine-learning-card,.wine-related{padding:24px;border:1px solid var(--line);border-radius:20px;background:#fff9}
.wine-learning-card h2{font-family:Georgia,serif;font-size:2rem;font-weight:500}
.wine-reasoning{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:16px}
.wine-reasoning article{padding:15px;border:1px solid var(--line);border-radius:13px;background:#fff}
.wine-reasoning article>span{color:var(--wine);font-size:.58rem;font-weight:900}
.wine-reasoning p{margin:.3rem 0 0;color:var(--muted);font-size:.7rem}
.wine-related{align-self:start}
.wine-related h3{font-family:Georgia,serif;font-size:1.5rem;font-weight:500}
.wine-related a{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--line);font-size:.75rem}

.favorite-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.favorite-grid>a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:18px;border:1px solid var(--line);border-radius:17px;background:#fff9}
.favorite-grid>a>span{font-size:1.5rem}
.favorite-grid small{color:var(--wine);font-size:.56rem;font-weight:900}
.favorite-grid strong{display:block;font-family:Georgia,serif;font-size:1.2rem;font-weight:500}
.favorite-grid p{margin:.2rem 0 0;color:var(--muted);font-size:.68rem}
.favorite-grid b{color:#c49a44}

.dashboard-discovery-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:28px}
.dashboard-discovery-tools>a{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff9}
.dashboard-discovery-tools>a>span{font-size:1.35rem}
.dashboard-discovery-tools strong{display:block;font-size:.75rem}
.dashboard-discovery-tools small{color:var(--muted);font-size:.6rem}

@media(max-width:1000px){
    .wine-grid,.favorite-grid{grid-template-columns:repeat(2,1fr)}
    .wine-facts{grid-template-columns:repeat(3,1fr)}
    .wine-detail-layout{grid-template-columns:1fr}
}
@media(max-width:680px){
    .global-search-form{grid-template-columns:auto 1fr}
    .global-search-form .button{grid-column:1/-1}
    .compare-picker{grid-template-columns:1fr}
    .compare-picker>span{justify-self:center}
    .compare-head{grid-template-columns:1fr}
    .compare-head>div{padding:4px}
    .compare-table>div{grid-template-columns:1fr 1fr}
    .compare-table>div strong{grid-column:1/-1}
    .compare-table span:first-of-type{border-left:0}
    .wine-grid,.favorite-grid,.dashboard-discovery-tools{grid-template-columns:1fr}
    .wine-detail-hero{grid-template-columns:1fr}
    .wine-detail-bottle{min-height:190px}
    .wine-facts{grid-template-columns:repeat(2,1fr)}
    .wine-reasoning{grid-template-columns:1fr}
    .header-search-link,.header-favorite-link{width:34px;height:34px}
}


/* =========================================================
   AMPELORIA V0.7 — administration CRUD et contenu dynamique
   ========================================================= */
.admin-content-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-bottom:16px;
}
.admin-content-tabs a{
    padding:8px 11px;
    border:1px solid var(--line);
    border-radius:999px;
    background:#fff9;
    font-size:.68rem;
    font-weight:800;
}
.admin-content-tabs a.active{
    border-color:var(--wine);
    background:var(--wine);
    color:#fff;
}
.admin-table-v7 td:last-child{
    min-width:150px;
}
.admin-row-actions{
    display:flex;
    align-items:center;
    gap:7px;
}
.admin-row-actions a,
.admin-row-actions button{
    padding:6px 8px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
    color:var(--ink);
    font:inherit;
    font-size:.63rem;
    font-weight:800;
    cursor:pointer;
}
.admin-row-actions button{
    color:#a84a4a;
}
.admin-row-actions form{
    margin:0;
}
.admin-edit-page{
    max-width:1050px;
    margin:auto;
}
.admin-editor-form{
    padding:22px;
    border:1px solid var(--line);
    border-radius:22px;
    background:#fff9;
}
.admin-editor-fields{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:12px;
}
.admin-field{
    display:grid;
    gap:6px;
}
.admin-field.full{
    grid-column:1/-1;
}
.admin-field>span,
.admin-checkbox-field>span{
    color:#4f4a46;
    font-size:.68rem;
    font-weight:850;
}
.admin-field input,
.admin-field textarea,
.admin-field select{
    width:100%;
    min-height:42px;
    padding:10px 11px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
}
.admin-field textarea{
    min-height:100px;
    resize:vertical;
}
.admin-checkbox-field{
    display:flex;
    align-items:center;
    gap:8px;
    align-self:end;
    min-height:42px;
    padding:10px 12px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
}
.admin-editor-actions{
    display:flex;
    justify-content:flex-end;
    gap:8px;
    margin-top:18px;
    padding-top:16px;
    border-top:1px solid var(--line);
}

@media(max-width:700px){
    .admin-editor-fields{
        grid-template-columns:1fr;
    }
    .admin-field.full{
        grid-column:auto;
    }
    .admin-editor-actions{
        display:grid;
    }
}


/* =========================================================
   AMPELORIA V0.8 — constructeur pédagogique
   ========================================================= */
.dynamic-stepper{
    grid-template-columns:repeat(auto-fit,minmax(92px,1fr));
}

.module-block>header p{
    margin:.2rem 0 0;
    color:var(--muted);
    font-size:.72rem;
}

.lesson-builder-page{
    max-width:1400px;
    margin:auto;
}
.lesson-builder-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 430px;
    gap:20px;
}
.lesson-builder-list{
    display:grid;
    align-content:start;
    gap:9px;
}
.lesson-builder-list>header h2{
    margin:.25rem 0 .5rem;
    font-family:Georgia,serif;
    font-size:2rem;
    font-weight:500;
}
.lesson-builder-row{
    display:grid;
    grid-template-columns:44px 1fr auto auto;
    align-items:center;
    gap:12px;
    padding:14px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff9;
}
.lesson-builder-order{
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    border-radius:10px;
    background:#efe5d9;
    color:var(--wine);
    font-size:.68rem;
    font-weight:900;
}
.lesson-builder-row>div{
    display:grid;
}
.lesson-builder-row small{
    color:var(--wine);
    font-size:.56rem;
    font-weight:900;
    text-transform:uppercase;
}
.lesson-builder-row strong{
    font-size:.82rem;
}
.lesson-builder-row>.published,
.lesson-builder-row>.draft{
    padding:5px 7px;
    border-radius:999px;
    font-size:.56rem;
    font-weight:850;
}
.lesson-builder-row>.published{
    background:#e9f6ed;
    color:#397653;
}
.lesson-builder-row>.draft{
    background:#eee;
    color:#777;
}
.lesson-builder-row>a{
    color:var(--wine);
    font-size:.65rem;
    font-weight:850;
}
.lesson-builder-editor{
    position:sticky;
    top:92px;
    align-self:start;
}
.lesson-builder-editor form{
    display:grid;
    gap:11px;
    padding:22px;
    border:1px solid var(--line);
    border-radius:20px;
    background:#fff;
    box-shadow:var(--shadow);
}
.lesson-builder-editor h2{
    margin:.2rem 0;
    font-family:Georgia,serif;
    font-size:1.8rem;
    font-weight:500;
}
.lesson-builder-editor label{
    display:grid;
    gap:5px;
    color:#4f4a46;
    font-size:.68rem;
    font-weight:800;
}
.lesson-builder-editor input,
.lesson-builder-editor textarea,
.lesson-builder-editor select{
    width:100%;
    padding:9px 10px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
}
.lesson-builder-editor [data-practice-fields],
.lesson-builder-editor [data-memory-fields]{
    display:grid;
    gap:9px;
    padding:12px;
    border:1px solid var(--line);
    border-radius:13px;
    background:#f7f1e9;
}
.lesson-builder-editor [hidden]{
    display:none!important;
}
.lesson-builder-delete{
    padding-top:10px;
    border-top:1px solid var(--line);
}
.lesson-builder-delete button{
    border:0;
    background:none;
    color:#a34d4d;
    font-size:.68rem;
    font-weight:800;
    cursor:pointer;
}

.quiz-answer-admin{
    max-width:900px;
    margin:auto;
}
.quiz-answer-editor{
    display:grid;
    gap:11px;
    padding:22px;
    border:1px solid var(--line);
    border-radius:20px;
    background:#fff9;
}
.quiz-answer-editor label{
    display:grid;
    gap:5px;
}
.quiz-answer-editor label>span{
    font-size:.68rem;
    font-weight:850;
}
.quiz-answer-editor input,
.quiz-answer-editor select{
    min-height:42px;
    padding:9px 10px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
}

.admin-row-actions{
    flex-wrap:wrap;
}

@media(max-width:1000px){
    .lesson-builder-layout{
        grid-template-columns:1fr;
    }
    .lesson-builder-editor{
        position:relative;
        top:auto;
    }
}
@media(max-width:680px){
    .lesson-builder-row{
        grid-template-columns:36px 1fr auto;
    }
    .lesson-builder-row>a{
        grid-column:2;
    }
}


/* =========================================================
   AMPELORIA V0.9 — graphe de connaissances & mission du jour
   ========================================================= */
.relation-admin-page{max-width:1400px;margin:auto}
.relation-admin-layout{display:grid;grid-template-columns:minmax(0,1fr) 410px;gap:20px}
.relation-list{display:grid;align-content:start;gap:8px}
.relation-list>header h2{margin:.3rem 0;font-family:Georgia,serif;font-size:1.8rem;font-weight:500}
.relation-row{display:grid;grid-template-columns:1fr 24px 1fr auto auto;align-items:center;gap:10px;padding:13px;border:1px solid var(--line);border-radius:14px;background:#fff9}
.relation-row>div{display:grid}.relation-row small{color:var(--muted);font-size:.57rem}.relation-row strong{font-size:.78rem}.relation-row>span{color:var(--wine);text-align:center}.relation-row>b{color:var(--wine);font-size:.62rem}.relation-row>a{font-size:.62rem;font-weight:850;color:var(--wine)}
.relation-editor{position:sticky;top:92px;align-self:start}
.relation-editor form{display:grid;gap:11px;padding:22px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow)}
.relation-editor h2{margin:.25rem 0;font-family:Georgia,serif;font-size:1.7rem;font-weight:500}
.relation-editor label{display:grid;gap:5px;font-size:.67rem;font-weight:800}
.relation-editor input,.relation-editor select{min-height:40px;padding:8px 9px;border:1px solid var(--line);border-radius:9px;background:#fff}
.relation-delete-button{border:0;background:none;color:#a44d4d;font-size:.67rem;font-weight:800;cursor:pointer}

.lesson-link-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px}
.lesson-linked-items{display:grid;align-content:start;gap:8px}
.lesson-linked-items>article{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;padding:13px;border:1px solid var(--line);border-radius:14px;background:#fff9}
.lesson-linked-items>article>span{font-size:1.3rem}.lesson-linked-items>article>div{display:grid}.lesson-linked-items small{color:var(--muted);font-size:.56rem}.lesson-linked-items strong{font-size:.8rem}.lesson-linked-items a{color:var(--wine);font-size:.62rem;font-weight:850}.lesson-linked-items form button{border:0;background:none;color:#a44d4d;cursor:pointer}
.lesson-link-editor form{display:grid;gap:10px;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff9}
.lesson-link-editor h2{font-family:Georgia,serif;font-weight:500}.lesson-link-editor label{display:grid;gap:5px;font-size:.67rem;font-weight:800}.lesson-link-editor input,.lesson-link-editor select{min-height:40px;padding:8px;border:1px solid var(--line);border-radius:9px;background:#fff}

.lesson-linked-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:15px}
.lesson-linked-grid>a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:13px;border:1px solid var(--line);border-radius:13px;background:#fff9}
.lesson-linked-grid>a>span{font-size:1.3rem}.lesson-linked-grid small{color:var(--wine);font-size:.55rem;font-weight:900}.lesson-linked-grid strong{display:block;font-size:.76rem}.lesson-linked-grid b{color:var(--wine)}

.today-page{max-width:1050px;margin:auto}
.today-hero{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px}
.today-hero h1{margin:.35rem 0;font-family:Georgia,serif;font-size:clamp(3rem,6vw,5rem);font-weight:500}.today-hero p{color:var(--muted)}
.today-time{display:grid;justify-items:center;min-width:130px;padding:18px;border-radius:20px;background:var(--wine);color:#fff}.today-time strong{font-family:Georgia,serif;font-size:2.4rem}.today-time span{font-size:.65rem}
.today-level{padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff9;margin-bottom:18px}.today-level>div:first-child{display:flex;justify-content:space-between;margin-bottom:7px;font-size:.7rem}.today-level>div:first-child strong{color:var(--wine)}.today-level small{display:block;margin-top:6px;color:var(--muted);font-size:.6rem}
.today-mission-list{display:grid;gap:9px}
.today-mission-list>a{display:grid;grid-template-columns:42px 42px 1fr auto auto;align-items:center;gap:10px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff9}.today-mission-list>a:hover{border-color:#caa3b0;transform:translateY(-1px)}
.today-order{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eee3d7;color:var(--wine);font-size:.64rem;font-weight:900}.today-icon{font-size:1.45rem}.today-mission-list strong{display:block}.today-mission-list p{margin:.15rem 0;color:var(--muted);font-size:.7rem}.today-mission-list small{color:var(--wine);font-size:.62rem;font-weight:850}.today-mission-list b{color:var(--wine)}
.today-reflex{margin-top:22px;padding:24px;border-left:4px solid var(--wine);border-radius:17px;background:#fff9}.today-reflex h2{font-family:Georgia,serif;font-size:1.8rem;font-weight:500}.today-reflex>div{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.today-reflex>div>span{padding:11px;border-radius:11px;background:#f3eadf;text-align:center;font-weight:850}
.today-dashboard-banner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;margin-bottom:18px;padding:18px;border-radius:18px;background:linear-gradient(135deg,var(--wine),#8f3d55);color:#fff}.today-dashboard-banner>span{font-size:1.6rem}.today-dashboard-banner small{color:#f1d4dc;font-size:.56rem;font-weight:900}.today-dashboard-banner strong{display:block;font-family:Georgia,serif;font-size:1.25rem;font-weight:500}.today-dashboard-banner p{margin:.15rem 0 0;color:#ead9de;font-size:.68rem}.today-dashboard-banner b{font-size:.7rem}

@media(max-width:1000px){
 .relation-admin-layout,.lesson-link-layout{grid-template-columns:1fr}.relation-editor{position:relative;top:auto}.lesson-linked-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
 .relation-row{grid-template-columns:1fr auto 1fr}.relation-row>b,.relation-row>a{grid-column:auto}.today-hero{display:grid}.today-time{justify-self:start}.today-mission-list>a{grid-template-columns:34px 38px 1fr}.today-mission-list small,.today-mission-list b{grid-column:3}.today-reflex>div{grid-template-columns:1fr 1fr}.lesson-linked-grid{grid-template-columns:1fr}.today-dashboard-banner{grid-template-columns:auto 1fr}.today-dashboard-banner>b{grid-column:2}
}


/* =========================================================
   AMPELORIA V1.0 — onboarding, objectifs & suivi
   ========================================================= */
.onboarding-page{max-width:1100px;margin:auto}
.onboarding-hero{max-width:800px;margin-bottom:30px}
.onboarding-hero h1{margin:.35rem 0;font-family:Georgia,serif;font-size:clamp(3rem,6vw,5rem);font-weight:500}
.onboarding-hero p{color:var(--muted)}
.onboarding-form{display:grid;gap:14px}
.onboarding-step{display:grid;grid-template-columns:55px 1fr;gap:18px;padding:22px;border:1px solid var(--line);border-radius:20px;background:#fff9}
.step-number{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#efe4d8;color:var(--wine);font-weight:900}
.onboarding-step h2{margin:.25rem 0 15px;font-family:Georgia,serif;font-size:1.8rem;font-weight:500}
.choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.choice-grid.compact{grid-template-columns:repeat(5,1fr)}
.choice-grid.compact.three{grid-template-columns:repeat(3,1fr)}
.choice-card{position:relative;display:grid;align-content:start;gap:5px;min-height:130px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer}
.choice-card input{position:absolute;opacity:0;pointer-events:none}
.choice-card>span{font-size:1.4rem}.choice-card strong{font-size:.76rem}.choice-card small{color:var(--muted);font-size:.62rem}
.choice-card:has(input:checked){border-color:var(--wine);box-shadow:inset 0 0 0 1px var(--wine);background:#fff7f8}
.onboarding-submit{display:flex;justify-content:flex-end;padding-top:8px}

.onboarding-dashboard-banner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;margin-bottom:12px;padding:17px;border:1px solid #cfb8a0;border-radius:18px;background:#fff7eb}
.onboarding-dashboard-banner.personalized{background:#f8f1e7}
.onboarding-dashboard-banner>span{font-size:1.5rem}.onboarding-dashboard-banner small{color:var(--wine);font-size:.56rem;font-weight:900}.onboarding-dashboard-banner strong{display:block;font-family:Georgia,serif;font-size:1.15rem;font-weight:500}.onboarding-dashboard-banner p{margin:.12rem 0 0;color:var(--muted);font-size:.66rem}.onboarding-dashboard-banner b{color:var(--wine);font-size:.68rem}

.dashboard-weekly-goal{margin-top:25px;padding:19px;border:1px solid var(--line);border-radius:18px;background:#fff9}
.dashboard-weekly-goal>header{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:14px}.dashboard-weekly-goal h2{margin:.2rem 0 0;font-family:Georgia,serif;font-size:1.6rem;font-weight:500}.dashboard-weekly-goal>header>a{color:var(--wine);font-size:.65rem;font-weight:850}
.weekly-goal-bars{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.weekly-goal-bars article>div:first-child{display:flex;justify-content:space-between;gap:8px;margin-bottom:6px;font-size:.65rem}.weekly-goal-bars strong{color:var(--wine)}

.goals-page{max-width:1100px;margin:auto}
.goal-progress-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:20px}.goal-progress-grid article{display:grid;gap:7px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff9}.goal-progress-grid article>span{color:var(--muted);font-size:.62rem}.goal-progress-grid strong{font-family:Georgia,serif;font-size:1.5rem;font-weight:500}.goal-progress-grid small{color:var(--wine);font-size:.62rem;font-weight:850}
.goal-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px}
.weekly-calendar,.goal-editor{padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff9}.weekly-calendar h2,.goal-editor h2{font-family:Georgia,serif;font-size:1.7rem;font-weight:500}
.week-days{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin-top:18px}.week-days article{display:grid;justify-items:center;gap:5px;padding:13px 5px;border:1px solid var(--line);border-radius:12px;background:#fff}.week-days article.active{border-color:#c6a06d;background:#fff7e8}.week-days small{color:var(--muted);font-size:.55rem;text-transform:uppercase}.week-days strong{font-family:Georgia,serif;font-size:1.25rem}.week-days span{font-size:.55rem;color:var(--wine)}
.goal-editor form{display:grid;gap:10px}.goal-editor label{display:grid;gap:5px;font-size:.67rem;font-weight:800}.goal-editor input{min-height:42px;padding:9px;border:1px solid var(--line);border-radius:9px;background:#fff}

.profile-preferences-card{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:28px;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff9}.profile-preferences-card h2{margin:.2rem 0;font-family:Georgia,serif;font-size:1.6rem;font-weight:500}.profile-preferences-card p{margin:0;color:var(--muted);font-size:.72rem}.profile-preference-actions{display:flex;align-items:center;gap:8px}.profile-preference-actions>span{padding:7px 10px;border-radius:999px;background:#fff0dc;font-size:.65rem;font-weight:850}

@media(max-width:900px){
 .choice-grid,.choice-grid.compact{grid-template-columns:repeat(2,1fr)}
 .goal-layout{grid-template-columns:1fr}
 .weekly-goal-bars{grid-template-columns:1fr}
}
@media(max-width:680px){
 .onboarding-step{grid-template-columns:1fr}.choice-grid,.choice-grid.compact,.choice-grid.compact.three{grid-template-columns:1fr 1fr}.choice-card{min-height:110px}.onboarding-submit{display:grid}
 .onboarding-dashboard-banner{grid-template-columns:auto 1fr}.onboarding-dashboard-banner>b{grid-column:2}
 .goal-progress-grid{grid-template-columns:1fr}.week-days{grid-template-columns:repeat(4,1fr)}.profile-preferences-card{display:grid}.profile-preference-actions{flex-wrap:wrap}
}


/* =========================================================
   AMPELORIA V1.1 — activité & gestion bêta
   ========================================================= */
.activity-page{max-width:1200px;margin:auto}
.activity-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:18px}
.activity-kpis article{display:grid;gap:3px;padding:16px;border:1px solid var(--line);border-radius:15px;background:#fff9}
.activity-kpis span{color:var(--muted);font-size:.6rem}
.activity-kpis strong{font-family:Georgia,serif;font-size:1.7rem;font-weight:500;color:var(--wine)}

.activity-chart-card{padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff9}
.activity-chart-card>header{display:flex;justify-content:space-between;align-items:end;gap:14px}
.activity-chart-card h2{margin:.2rem 0;font-family:Georgia,serif;font-size:1.6rem;font-weight:500}
.activity-chart-card>header>a{color:var(--wine);font-size:.65rem;font-weight:850}
.activity-bars{display:grid;grid-template-columns:repeat(30,1fr);align-items:end;gap:4px;height:180px;margin-top:18px;padding-top:10px;border-bottom:1px solid var(--line)}
.activity-bar-wrap{position:relative;height:100%;display:flex;align-items:end;justify-content:center}
.activity-bar{width:100%;min-height:4px;border-radius:4px 4px 0 0;background:var(--wine)}
.activity-bar-wrap small{position:absolute;bottom:-22px;left:50%;transform:translateX(-50%);white-space:nowrap;color:var(--muted);font-size:.48rem}

.activity-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;margin-top:40px}
.activity-timeline{display:grid;align-content:start;gap:8px}
.activity-timeline>header h2{margin:.2rem 0;font-family:Georgia,serif;font-size:1.8rem;font-weight:500}
.activity-timeline>article{display:grid;grid-template-columns:42px 1fr auto auto;align-items:center;gap:10px;padding:13px;border:1px solid var(--line);border-radius:14px;background:#fff9}
.activity-event-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#f1e7dc}
.activity-timeline strong{font-size:.76rem}.activity-timeline p{margin:.1rem 0;color:var(--muted);font-size:.62rem}.activity-timeline b{color:var(--wine);font-size:.65rem}.activity-timeline time{color:var(--muted);font-size:.57rem}
.activity-summary{align-self:start;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff9}
.activity-summary h2{font-family:Georgia,serif;font-size:1.6rem;font-weight:500}.activity-summary p{color:var(--muted);font-size:.72rem;line-height:1.55}.activity-summary .button+.button{margin-top:8px}

.admin-users-page{max-width:1300px;margin:auto}
.admin-user-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:18px}
.admin-user-kpis article{display:grid;gap:3px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff9}
.admin-user-kpis span{color:var(--muted);font-size:.58rem}.admin-user-kpis strong{font-family:Georgia,serif;font-size:1.6rem;font-weight:500;color:var(--wine)}
.admin-users-table td:first-child{display:grid;min-width:200px}.admin-users-table td:first-child small{color:var(--muted);font-size:.58rem}
.role-pill{display:inline-block;padding:5px 8px;border-radius:999px;background:#ece7e0;font-size:.56rem;font-weight:850}.role-pill.admin{background:#f5e3e8;color:var(--wine)}
.admin-role-form{display:flex;gap:5px}.admin-role-form select,.admin-role-form button{min-height:32px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:.62rem}.admin-role-form button{padding:0 9px;font-weight:850;cursor:pointer}

.dashboard-discovery-tools{grid-template-columns:repeat(4,1fr)}

@media(max-width:900px){
 .activity-kpis,.admin-user-kpis{grid-template-columns:repeat(2,1fr)}
 .activity-layout{grid-template-columns:1fr}
 .dashboard-discovery-tools{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:680px){
 .activity-kpis,.admin-user-kpis,.dashboard-discovery-tools{grid-template-columns:1fr}
 .activity-bars{gap:2px;height:130px}
 .activity-timeline>article{grid-template-columns:38px 1fr auto}
 .activity-timeline time{grid-column:2}
}


/* =========================================================
   AMPELORIA V1.2 — notifications, feedback & analytics
   ========================================================= */
.header-notification-link{
    position:relative;
    display:grid;
    place-items:center;
    width:38px;height:38px;
    border:1px solid var(--line);
    border-radius:11px;
    background:#fff8;
}
.header-notification-link>span{
    position:absolute;
    right:-5px;top:-5px;
    display:grid;place-items:center;
    min-width:18px;height:18px;padding:0 4px;
    border-radius:999px;
    background:var(--wine);
    color:#fff;
    font-size:.52rem;
    font-weight:900;
}

.notifications-page{max-width:1000px;margin:auto}
.notifications-header{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:20px}
.notifications-header h1{margin:.35rem 0;font-family:Georgia,serif;font-size:clamp(2.8rem,5vw,4.5rem);font-weight:500}
.notifications-header p{color:var(--muted)}
.notification-list{display:grid;gap:8px}
.notification-list>article{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:12px;padding:15px;border:1px solid var(--line);border-radius:15px;background:#fff9}
.notification-list>article.unread{border-color:#c6a1ae;background:#fff8fa}
.notification-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#f2e8dc;font-size:1.2rem}
.notification-list small{color:var(--wine);font-size:.52rem;font-weight:900}
.notification-list strong{display:block;font-size:.82rem}
.notification-list p{margin:.15rem 0;color:var(--muted);font-size:.67rem}
.notification-list time{font-size:.54rem;color:var(--muted)}
.notification-list form button{border:0;background:none;color:var(--wine);font-weight:850;cursor:pointer}

.feedback-page{max-width:1150px;margin:auto}
.feedback-layout{display:grid;grid-template-columns:430px minmax(0,1fr);gap:20px}
.feedback-form-card{align-self:start;padding:21px;border:1px solid var(--line);border-radius:19px;background:#fff9}
.feedback-form-card form{display:grid;gap:11px}
.feedback-form-card label{display:grid;gap:5px;font-size:.68rem;font-weight:850}
.feedback-form-card input,.feedback-form-card select,.feedback-form-card textarea{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:#fff}
.my-feedback-list{display:grid;align-content:start;gap:8px}
.my-feedback-list>header h2{margin:.2rem 0;font-family:Georgia,serif;font-size:1.7rem;font-weight:500}
.my-feedback-list>article{display:flex;justify-content:space-between;gap:12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff9}
.my-feedback-list small{color:var(--wine);font-size:.54rem;font-weight:900}
.my-feedback-list strong{display:block;font-size:.78rem}
.my-feedback-list p{margin:.2rem 0;color:var(--muted);font-size:.64rem}
.feedback-status{align-self:start;padding:5px 7px;border-radius:999px;background:#eee;font-size:.54rem;font-weight:850}
.status-resolved{background:#e5f4e9;color:#397451}.status-reviewing,.status-planned{background:#fff0cf;color:#8a6720}

.dashboard-feedback-link{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:13px;border:1px solid var(--line);border-radius:14px;background:#fff9}
.dashboard-feedback-link>span{font-size:1.2rem}.dashboard-feedback-link strong{display:block;font-size:.72rem}.dashboard-feedback-link small{color:var(--muted);font-size:.58rem}.dashboard-feedback-link b{color:var(--wine)}

.admin-feedback-page{max-width:1200px;margin:auto}
.admin-feedback-list{display:grid;gap:10px}
.admin-feedback-list>article{padding:18px;border:1px solid var(--line);border-radius:17px;background:#fff9}
.admin-feedback-list>article.priority-critical{border-left:5px solid #b44343}.admin-feedback-list>article.priority-high{border-left:5px solid #d1873e}
.admin-feedback-list>article>header{display:flex;justify-content:space-between;gap:15px}.admin-feedback-list h2{margin:.2rem 0;font-family:Georgia,serif;font-size:1.35rem;font-weight:500}.admin-feedback-list header small{color:var(--wine);font-size:.54rem;font-weight:900}.admin-feedback-list>article>p{color:#4f4a46;font-size:.75rem;line-height:1.5}
.feedback-page-url{display:block;margin-bottom:12px;color:var(--muted);font-size:.56rem;word-break:break-all}
.admin-feedback-list form{display:grid;grid-template-columns:150px 150px 1fr auto;gap:8px;align-items:end;padding-top:12px;border-top:1px solid var(--line)}
.admin-feedback-list label{display:grid;gap:4px;font-size:.6rem;font-weight:800}.admin-feedback-list input,.admin-feedback-list select{min-height:38px;padding:7px;border:1px solid var(--line);border-radius:8px;background:#fff}.admin-feedback-list form button{min-height:38px;border:0;border-radius:8px;background:var(--wine);color:#fff;font-weight:850;cursor:pointer}

.admin-analytics-page{max-width:1200px;margin:auto}
.analytics-kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:18px}
.analytics-kpi-grid article{display:grid;gap:3px;padding:16px;border:1px solid var(--line);border-radius:15px;background:#fff9}.analytics-kpi-grid span{color:var(--muted);font-size:.58rem}.analytics-kpi-grid strong{font-family:Georgia,serif;font-size:1.8rem;color:var(--wine);font-weight:500}.analytics-kpi-grid small{font-size:.56rem;color:var(--muted)}
.analytics-layout{display:grid;grid-template-columns:1fr 1fr;gap:12px}.analytics-card{padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff9}.analytics-card h2{margin:.2rem 0 15px;font-family:Georgia,serif;font-size:1.7rem;font-weight:500}
.analytics-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px}.analytics-metrics article{padding:13px;border-radius:12px;background:#f5eee5}.analytics-metrics span{display:block;color:var(--muted);font-size:.57rem}.analytics-metrics strong{font-family:Georgia,serif;font-size:1.5rem;font-weight:500}
.analytics-content-list{display:grid;gap:7px}.analytics-content-list>div{display:flex;justify-content:space-between;padding:9px 0;border-top:1px solid var(--line);font-size:.7rem}.analytics-content-list strong{color:var(--wine)}
.analytics-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:14px}.analytics-actions>a{display:grid;grid-template-columns:auto 1fr;gap:5px 10px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff9}.analytics-actions>a>strong{font-size:.72rem}.analytics-actions>a>span{grid-column:2;color:var(--muted);font-size:.58rem}

@media(max-width:900px){
 .feedback-layout,.analytics-layout{grid-template-columns:1fr}
 .analytics-kpi-grid{grid-template-columns:repeat(2,1fr)}
 .analytics-actions{grid-template-columns:1fr}
 .admin-feedback-list form{grid-template-columns:1fr 1fr}
 .admin-feedback-list .wide{grid-column:1/-1}
}
@media(max-width:680px){
 .notifications-header{display:grid}
 .notification-list>article{grid-template-columns:40px 1fr}
 .notification-list form{grid-column:2}
 .analytics-kpi-grid{grid-template-columns:1fr}
 .admin-feedback-list form{grid-template-columns:1fr}
 .admin-feedback-list .wide{grid-column:auto}
}


/* =========================================================
   AMPELORIA V1.3 — glossaire, audit éditorial & sauvegarde
   ========================================================= */
.glossary-page{max-width:1100px;margin:auto}
.glossary-search{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:10px;border:1px solid var(--line);border-radius:16px;background:#fff}
.glossary-search>span{padding-left:6px;color:var(--wine);font-size:1.2rem}.glossary-search input{min-height:44px;border:0;outline:0;background:transparent}
.glossary-letters{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0}.glossary-letters a{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:#fff9;color:var(--wine);font-family:Georgia,serif}
.glossary-list{display:grid;gap:20px}.glossary-letter-group{display:grid;grid-template-columns:70px 1fr;gap:14px}.glossary-letter{position:sticky;top:90px;align-self:start;display:grid;place-items:center;width:56px;height:56px;border-radius:15px;background:var(--wine);color:#fff;font-family:Georgia,serif;font-size:1.7rem}
.glossary-entries{display:grid;gap:8px}.glossary-entries article{padding:17px;border:1px solid var(--line);border-radius:15px;background:#fff9}.glossary-entries small{color:var(--wine);font-size:.54rem;font-weight:900}.glossary-entries h2{margin:.2rem 0;font-family:Georgia,serif;font-size:1.35rem;font-weight:500}.glossary-entries p{margin:.4rem 0;color:#4f4a46;font-size:.75rem;line-height:1.55}.glossary-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.glossary-links a{color:var(--wine);font-size:.62rem;font-weight:850}

.audit-page{max-width:1150px;margin:auto}
.audit-hero{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}.audit-hero h1{margin:.3rem 0;font-family:Georgia,serif;font-size:clamp(3rem,6vw,5rem);font-weight:500}.audit-hero p{color:var(--muted)}
.audit-score{display:grid;grid-template-columns:auto auto;align-items:baseline;justify-content:center;min-width:150px;padding:18px;border-radius:22px;background:#efe8de}.audit-score strong{font-family:Georgia,serif;font-size:2.8rem;font-weight:500}.audit-score span{font-size:.8rem}.audit-score small{grid-column:1/-1;text-align:center;font-size:.58rem;font-weight:850}.audit-score.good{background:#e6f3e9;color:#326947}.audit-score.medium{background:#fff0cf;color:#8b671e}.audit-score.bad{background:#f9dddd;color:#9b3838}
.audit-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}.audit-kpis article{display:grid;gap:2px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff9}.audit-kpis strong{font-family:Georgia,serif;font-size:1.5rem;color:var(--wine);font-weight:500}.audit-kpis span{color:var(--muted);font-size:.6rem}
.audit-list{display:grid;gap:8px}.audit-list>article{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:11px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff9}.audit-list>article.critical{border-left:5px solid #b94b4b}.audit-list>article.warning{border-left:5px solid #d29245}.audit-list>article.info{border-left:5px solid #768ba6}.audit-list>article>span{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#f1e8dc;font-weight:900}.audit-list small{font-size:.52rem;color:var(--wine);font-weight:900}.audit-list strong{display:block;font-size:.78rem}.audit-list p{margin:.15rem 0;color:var(--muted);font-size:.64rem}.audit-list a{color:var(--wine);font-size:.62rem;font-weight:850}
.audit-clean{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:18px;border:1px solid #b6d3be;border-radius:15px;background:#eef8f0}.audit-clean>span{font-size:1.5rem;color:#3d7a50}.audit-clean p{margin:.2rem 0 0;color:var(--muted);font-size:.65rem}

.backup-page{max-width:1050px;margin:auto}.backup-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.backup-grid>article{display:grid;grid-template-columns:60px 1fr;gap:14px;padding:22px;border:1px solid var(--line);border-radius:19px;background:#fff9}.backup-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#efe4d8;color:var(--wine);font-size:1.5rem;font-weight:900}.backup-grid h2{margin:.3rem 0;font-family:Georgia,serif;font-size:1.7rem;font-weight:500}.backup-grid p{color:var(--muted);font-size:.72rem;line-height:1.55}.backup-grid form{display:grid;gap:9px}.backup-grid input[type=file]{padding:9px;border:1px dashed var(--line);border-radius:10px;background:#fff}.backup-warning{margin-top:14px;padding:15px;border-left:4px solid #c68c47;border-radius:12px;background:#fff4df}.backup-warning p{margin:.25rem 0 0;color:var(--muted);font-size:.68rem}

.dashboard-discovery-tools{grid-template-columns:repeat(5,1fr)}

@media(max-width:1000px){
 .dashboard-discovery-tools{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
 .backup-grid{grid-template-columns:1fr}.audit-hero{display:grid}.audit-score{justify-self:start}.audit-kpis{grid-template-columns:1fr}
 .glossary-letter-group{grid-template-columns:1fr}.glossary-letter{position:relative;top:auto}.glossary-search{grid-template-columns:auto 1fr}.glossary-search .button{grid-column:1/-1}
 .dashboard-discovery-tools{grid-template-columns:1fr}
}


/* =========================================================
   AMPELORIA V1.4 — notions & collections
   ========================================================= */
.notions-page,.collections-page{max-width:1150px;margin:auto}
.notion-grid,.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.notion-grid>a,.collection-grid>a{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:11px;padding:18px;border:1px solid var(--line);border-radius:17px;background:#fff9}
.notion-grid>a:hover,.collection-grid>a:hover{border-color:#c7a6b0;transform:translateY(-1px)}
.notion-icon,.collection-grid>a>span{font-size:1.5rem}
.notion-grid small,.collection-grid small{color:var(--wine);font-size:.54rem;font-weight:900}
.notion-grid h2,.collection-grid h2{margin:.2rem 0;font-family:Georgia,serif;font-size:1.35rem;font-weight:500}
.notion-grid p,.collection-grid p{margin:.3rem 0;color:var(--muted);font-size:.68rem;line-height:1.5}
.notion-grid b,.collection-grid b{color:var(--wine)}

.notion-detail-page,.collection-detail-page{max-width:1200px;margin:auto}
.notion-detail-hero,.collection-detail-hero{display:grid;grid-template-columns:74px 1fr;align-items:center;gap:20px;padding:22px 0}
.notion-detail-hero>span,.collection-detail-hero>span{display:grid;place-items:center;width:68px;height:68px;border-radius:18px;background:#efe4d8;font-size:2rem}
.notion-detail-hero small{color:var(--wine);font-size:.58rem;font-weight:900}
.notion-detail-hero h1,.collection-detail-hero h1{margin:.25rem 0;font-family:Georgia,serif;font-size:clamp(3rem,6vw,5rem);font-weight:500}
.notion-detail-hero p,.collection-detail-hero p{max-width:760px;color:var(--muted)}
.notion-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px}
.notion-main-card,.notion-related-card{padding:22px;border:1px solid var(--line);border-radius:19px;background:#fff9}
.notion-long-content{margin-top:12px;color:#48433f;line-height:1.7}
.notion-key-points{display:grid;gap:8px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.notion-key-points>div{display:grid;grid-template-columns:24px 1fr;gap:8px;align-items:start}.notion-key-points>div>span{color:#3f7c54;font-weight:900}.notion-key-points p{margin:0;color:#4d4945;font-size:.72rem}
.notion-related-card{align-self:start}.notion-related-card h2{font-family:Georgia,serif;font-size:1.55rem;font-weight:500}.notion-related-card>a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:10px 0;border-top:1px solid var(--line)}.notion-related-card small{color:var(--wine);font-size:.52rem;font-weight:900}.notion-related-card strong{display:block;font-size:.72rem}.notion-related-card b{color:var(--wine)}

.collection-items{display:grid;gap:8px}.collection-items>a{display:grid;grid-template-columns:42px 42px 1fr auto;align-items:center;gap:11px;padding:15px;border:1px solid var(--line);border-radius:15px;background:#fff9}.collection-order{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:#eee4d8;color:var(--wine);font-size:.62rem;font-weight:900}.collection-entity-icon{font-size:1.35rem}.collection-items small{color:var(--wine);font-size:.53rem;font-weight:900}.collection-items strong{display:block;font-size:.8rem}.collection-items p{margin:.15rem 0;color:var(--muted);font-size:.63rem}.collection-items b{color:var(--wine)}

.collection-admin-page{max-width:1200px;margin:auto}.collection-admin-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:18px}.collection-admin-list{display:grid;align-content:start;gap:8px}.collection-admin-list>article{display:grid;grid-template-columns:38px 1fr auto auto;align-items:center;gap:10px;padding:13px;border:1px solid var(--line);border-radius:13px;background:#fff9}.collection-admin-list>article>span{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#eee4d8;color:var(--wine);font-size:.58rem;font-weight:900}.collection-admin-list small{color:var(--muted);font-size:.54rem}.collection-admin-list strong{display:block;font-size:.76rem}.collection-admin-list a{color:var(--wine);font-size:.6rem;font-weight:850}.collection-admin-list form button{border:0;background:none;color:#a34a4a;cursor:pointer}
.collection-admin-editor form{display:grid;gap:9px;padding:20px;border:1px solid var(--line);border-radius:17px;background:#fff9}.collection-admin-editor h2{font-family:Georgia,serif;font-size:1.6rem;font-weight:500}.collection-admin-editor label{display:grid;gap:4px;font-size:.65rem;font-weight:800}.collection-admin-editor input,.collection-admin-editor select{min-height:40px;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff}

@media(max-width:950px){
 .notion-grid,.collection-grid{grid-template-columns:repeat(2,1fr)}
 .notion-detail-layout,.collection-admin-layout{grid-template-columns:1fr}
}
@media(max-width:680px){
 .notion-grid,.collection-grid{grid-template-columns:1fr}
 .notion-detail-hero,.collection-detail-hero{grid-template-columns:1fr}
 .collection-items>a{grid-template-columns:36px 36px 1fr}.collection-items b{grid-column:3}
}


/* =========================================================
   AMPELORIA V1.5 — arômes & accords mets-vins
   ========================================================= */
.aromas-page,.pairings-page,.pairing-detail-page{max-width:1200px;margin:auto}
.aroma-wheel-layout{display:grid;grid-template-columns:260px 1fr;gap:20px;align-items:start}
.aroma-wheel-core{position:sticky;top:100px;display:grid;place-items:center;min-height:260px;border-radius:50%;background:radial-gradient(circle at center,#fff 0 35%,#efe5d8 36% 60%,#e4d1bd 61% 100%);box-shadow:var(--shadow)}
.aroma-wheel-core>div{display:grid;justify-items:center;text-align:center}.aroma-wheel-core span{font-size:2.4rem}.aroma-wheel-core strong{font-family:Georgia,serif;font-size:1.25rem}.aroma-wheel-core small{max-width:120px;color:var(--muted);font-size:.55rem}
.aroma-family-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.aroma-family-grid article{padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff9}.aroma-family-grid header{display:flex;align-items:center;gap:8px}.aroma-family-grid header span{font-size:1.3rem}.aroma-family-grid h2{margin:0;font-family:Georgia,serif;font-size:1.25rem;font-weight:500}.aroma-family-grid article>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.aroma-chip{padding:7px 9px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#544d47;font:inherit;font-size:.62rem;cursor:pointer}.aroma-chip.active{border-color:var(--wine);background:#fff1f4;color:var(--wine)}
.aroma-training{margin-top:24px;padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff9}.aroma-training h2{font-family:Georgia,serif;font-size:1.8rem;font-weight:500}.aroma-training>div{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.aroma-training article{padding:13px;border-radius:12px;background:#f4ece3}.aroma-training article>span{color:var(--wine);font-size:.55rem;font-weight:900}.aroma-training p{margin:.25rem 0 0;color:var(--muted);font-size:.64rem}

.pairings-hero{display:flex;justify-content:space-between;align-items:end;gap:20px}.pairings-hero h1{margin:.3rem 0;font-family:Georgia,serif;font-size:clamp(3rem,6vw,5rem);font-weight:500}.pairings-hero p{max-width:760px;color:var(--muted)}.pairings-hero-icon{font-size:4rem}
.pairing-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:22px}.pairing-principles article{padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff9}.pairing-principles article>span{font-size:1.25rem}.pairing-principles strong{display:block;margin-top:5px;font-size:.73rem}.pairing-principles p{margin:.25rem 0 0;color:var(--muted);font-size:.63rem;line-height:1.45}
.food-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.food-grid>a{display:grid;grid-template-columns:auto 1fr auto;gap:10px;padding:16px;border:1px solid var(--line);border-radius:15px;background:#fff9}.food-grid>a>span{font-size:1.3rem}.food-grid small{color:var(--wine);font-size:.53rem;font-weight:900}.food-grid h3{margin:.2rem 0;font-family:Georgia,serif;font-size:1.2rem;font-weight:500}.food-grid p{margin:.25rem 0;color:var(--muted);font-size:.62rem}.food-grid b{color:var(--wine)}

.pairing-detail-hero{display:grid;grid-template-columns:80px 1fr;align-items:center;gap:18px;padding:20px 0}.pairing-detail-hero>span{display:grid;place-items:center;width:70px;height:70px;border-radius:18px;background:#efe4d8;font-size:2rem}.pairing-detail-hero small{color:var(--wine);font-size:.55rem;font-weight:900}.pairing-detail-hero h1{margin:.2rem 0;font-family:Georgia,serif;font-size:clamp(3rem,6vw,4.7rem);font-weight:500}.pairing-detail-hero p{color:var(--muted)}
.food-structure-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.food-structure-grid article{display:grid;gap:7px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff9}.food-structure-grid article>span{color:var(--muted);font-size:.55rem}.food-structure-grid strong{font-size:.62rem;color:var(--wine)}.food-meter{display:flex;gap:3px}.food-meter i{display:block;width:100%;height:6px;border-radius:4px;background:#e6ddd3}.food-meter i.active{background:var(--wine)}
.pairing-results{display:grid;gap:8px}.pairing-results>a{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:11px;padding:15px;border:1px solid var(--line);border-radius:15px;background:#fff9}.pairing-results>a>span{font-size:1.35rem}.pairing-results small{color:var(--wine);font-size:.54rem;font-weight:900}.pairing-results strong{display:block;font-size:.82rem}.pairing-results p{margin:.2rem 0;color:var(--muted);font-size:.65rem}.pairing-score{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#f1e7dc;color:var(--wine);font-weight:900}
.pairing-reflex{margin-top:22px;padding:22px;border-left:4px solid var(--wine);border-radius:16px;background:#fff9}.pairing-reflex h2{font-family:Georgia,serif;font-size:1.75rem;font-weight:500}.pairing-reflex p{color:var(--muted);line-height:1.55}

.tasting-aroma-picker{padding:14px;border:1px solid var(--line);border-radius:14px;background:#f8f1e9}.tasting-aroma-picker>p{margin:.25rem 0 10px;color:var(--muted);font-size:.62rem}.tasting-aroma-family{display:grid;grid-template-columns:120px 1fr;gap:8px;align-items:start;padding:8px 0;border-top:1px solid var(--line)}.tasting-aroma-family strong{font-size:.63rem}.tasting-aroma-family>div{display:flex;flex-wrap:wrap;gap:5px}.tasting-aroma-family button{padding:6px 8px;border:1px solid var(--line);border-radius:999px;background:#fff;font:inherit;font-size:.58rem;cursor:pointer}.tasting-aroma-family button.selected{background:var(--wine);border-color:var(--wine);color:#fff}

.pairing-admin-page{max-width:1200px;margin:auto}.pairing-admin-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px}.pairing-admin-list{display:grid;align-content:start;gap:8px}.pairing-admin-list>article{display:grid;grid-template-columns:42px 1fr auto auto;align-items:center;gap:10px;padding:13px;border:1px solid var(--line);border-radius:13px;background:#fff9}.pairing-admin-list>article>span{font-size:1.3rem}.pairing-admin-list small{color:var(--wine);font-size:.52rem;font-weight:900}.pairing-admin-list strong{display:block;font-size:.76rem}.pairing-admin-list p{margin:.15rem 0;color:var(--muted);font-size:.61rem}.pairing-admin-list>b{color:var(--wine);font-size:.62rem}.pairing-admin-list form button{border:0;background:none;color:#a34b4b;cursor:pointer}
.pairing-admin-editor form{display:grid;gap:9px;padding:20px;border:1px solid var(--line);border-radius:17px;background:#fff9}.pairing-admin-editor h2{font-family:Georgia,serif;font-size:1.6rem;font-weight:500}.pairing-admin-editor label{display:grid;gap:4px;font-size:.65rem;font-weight:800}.pairing-admin-editor input,.pairing-admin-editor select,.pairing-admin-editor textarea{width:100%;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff}

@media(max-width:950px){
 .aroma-wheel-layout{grid-template-columns:1fr}.aroma-wheel-core{position:relative;top:auto;min-height:220px;border-radius:20px}.pairing-principles,.food-grid{grid-template-columns:repeat(2,1fr)}.food-structure-grid{grid-template-columns:repeat(3,1fr)}.pairing-admin-layout{grid-template-columns:1fr}
}
@media(max-width:680px){
 .aroma-family-grid,.aroma-training>div,.pairing-principles,.food-grid{grid-template-columns:1fr}.pairings-hero{display:grid}.pairings-hero-icon{font-size:3rem}.pairing-detail-hero{grid-template-columns:1fr}.food-structure-grid{grid-template-columns:repeat(2,1fr)}.tasting-aroma-family{grid-template-columns:1fr}
}


/* =========================================================
   AMPELORIA V1.6 — cave personnelle
   ========================================================= */
.cellar-page,.cellar-item-page{max-width:1250px;margin:auto}
.cellar-hero{display:flex;justify-content:space-between;align-items:end;gap:20px}.cellar-hero h1{margin:.3rem 0;font-family:Georgia,serif;font-size:clamp(3rem,6vw,5rem);font-weight:500}.cellar-hero p{color:var(--muted)}
.cellar-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:20px 0}.cellar-kpis article{display:grid;gap:3px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff9}.cellar-kpis span{color:var(--muted);font-size:.56rem}.cellar-kpis strong{font-family:Georgia,serif;font-size:1.45rem;font-weight:500;color:var(--wine)}
.cellar-add-panel{margin-bottom:18px;padding:20px;border:1px solid var(--line);border-radius:19px;background:#fff9}.cellar-add-panel[hidden]{display:none!important}.cellar-add-panel h2{font-family:Georgia,serif;font-size:1.7rem;font-weight:500}
.cellar-form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.cellar-form-grid label{display:grid;gap:4px;font-size:.62rem;font-weight:800}.cellar-form-grid input,.cellar-form-grid select,.cellar-form-grid textarea{width:100%;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff}.cellar-form-grid .wide{grid-column:1/-1}.cellar-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
.cellar-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.cellar-tabs a{padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:#fff9;font-size:.62rem;font-weight:800}.cellar-tabs a.active{background:var(--wine);border-color:var(--wine);color:#fff}
.cellar-ready{margin-bottom:18px;padding:18px;border:1px solid #d7bd82;border-radius:17px;background:#fff8e9}.cellar-ready h2{margin:.2rem 0;font-family:Georgia,serif;font-size:1.5rem;font-weight:500}.cellar-ready>div{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:11px}.cellar-ready a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:11px;border:1px solid #e4cf9f;border-radius:11px;background:#fff}.cellar-ready a>span{font-size:1.2rem}.cellar-ready strong{display:block;font-size:.7rem}.cellar-ready small{color:var(--muted);font-size:.55rem}.cellar-ready b{color:var(--wine);font-size:.58rem}
.cellar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.cellar-card>a{display:grid;grid-template-columns:76px 1fr;gap:12px;min-height:190px;padding:17px;border:1px solid var(--line);border-radius:18px;background:#fff9}.cellar-card>a:hover{border-color:#c9a7b1;transform:translateY(-1px)}
.cellar-bottle,.cellar-detail-bottle{position:relative;display:grid;place-items:end center}.cellar-bottle:before,.cellar-detail-bottle:before{content:"";width:34px;height:118px;border-radius:8px 8px 12px 12px;background:linear-gradient(#34493b,#202d25)}.cellar-bottle:after,.cellar-detail-bottle:after{content:"";position:absolute;top:6px;width:17px;height:32px;border-radius:4px 4px 0 0;background:#293a2e}
.cellar-card-content small{color:var(--wine);font-size:.52rem;font-weight:900}.cellar-card-content h2{margin:.2rem 0;font-family:Georgia,serif;font-size:1.3rem;font-weight:500}.cellar-card-content>strong{font-size:.65rem}.cellar-card-content>p{color:var(--muted);font-size:.61rem}.cellar-card-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}.cellar-card-meta span{padding:5px 7px;border-radius:999px;background:#f1e8df;font-size:.54rem;font-weight:800}

.cellar-item-hero{display:grid;grid-template-columns:130px 1fr auto;align-items:center;gap:24px;padding:22px 0}.cellar-detail-bottle{min-height:210px}.cellar-detail-bottle:before{width:58px;height:190px;border-radius:14px}.cellar-detail-bottle:after{width:28px;height:50px;top:0}.cellar-item-hero h1{margin:.3rem 0;font-family:Georgia,serif;font-size:clamp(3rem,6vw,4.8rem);font-weight:500}.cellar-item-hero p{color:var(--muted)}.cellar-quantity{display:grid;justify-items:center;padding:16px;border:1px solid var(--line);border-radius:17px;background:#fff9}.cellar-quantity strong{font-family:Georgia,serif;font-size:2.2rem;color:var(--wine);font-weight:500}.cellar-quantity span{font-size:.58rem;color:var(--muted)}
.cellar-detail-facts{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin-bottom:20px}.cellar-detail-facts article{display:grid;gap:3px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff9}.cellar-detail-facts span{color:var(--muted);font-size:.54rem}.cellar-detail-facts strong{font-size:.66rem}
.cellar-item-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px}.cellar-edit-card,.cellar-drink-window,.cellar-history{padding:20px;border:1px solid var(--line);border-radius:17px;background:#fff9}.cellar-edit-card h2,.cellar-drink-window h2{font-family:Georgia,serif;font-size:1.65rem;font-weight:500}.cellar-delete{border:0;background:none;color:#a24a4a;font-weight:800;cursor:pointer}
.cellar-drink-window p{color:var(--muted);font-size:.68rem;line-height:1.5}.cellar-history{margin-top:10px}.cellar-history>article{display:grid;grid-template-columns:32px 1fr;gap:8px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}.cellar-history>article>span{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#f1e7dc}.cellar-history strong{display:block;font-size:.63rem}.cellar-history small{color:var(--muted);font-size:.52rem}

.wine-cellar-quick{display:grid;gap:6px;padding:10px 0;border-top:1px solid var(--line)}.wine-cellar-quick button{width:100%;padding:8px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--wine);font:inherit;font-size:.62rem;font-weight:850;cursor:pointer}

.dashboard-discovery-tools{grid-template-columns:repeat(6,1fr)}

@media(max-width:1050px){
 .cellar-kpis{grid-template-columns:repeat(3,1fr)}.cellar-grid{grid-template-columns:repeat(2,1fr)}.cellar-form-grid{grid-template-columns:repeat(2,1fr)}.cellar-detail-facts{grid-template-columns:repeat(3,1fr)}.cellar-item-layout{grid-template-columns:1fr}.cellar-ready>div{grid-template-columns:1fr 1fr}.dashboard-discovery-tools{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:680px){
 .cellar-hero{display:grid}.cellar-kpis,.cellar-grid,.cellar-ready>div{grid-template-columns:1fr}.cellar-form-grid{grid-template-columns:1fr}.cellar-form-grid .wide{grid-column:auto}.cellar-item-hero{grid-template-columns:1fr}.cellar-quantity{justify-self:start}.cellar-detail-facts{grid-template-columns:repeat(2,1fr)}.dashboard-discovery-tools{grid-template-columns:1fr}
}


/* =========================================================
   AMPELORIA V1.7 — journal de dégustation avancé
   ========================================================= */
.tasting-journal-page,.tasting-compare-page{max-width:1250px;margin:auto}
.tasting-journal-hero{display:flex;justify-content:space-between;align-items:end;gap:20px}
.tasting-journal-hero h1{margin:.3rem 0;font-family:Georgia,serif;font-size:clamp(3rem,6vw,5rem);font-weight:500}
.tasting-journal-hero p{color:var(--muted)}
.tasting-journal-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:20px 0}
.tasting-journal-kpis article{display:grid;gap:3px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff9}
.tasting-journal-kpis span{color:var(--muted);font-size:.55rem}.tasting-journal-kpis strong{font-family:Georgia,serif;font-size:1.45rem;font-weight:500;color:var(--wine)}
.tasting-profile{padding:18px;border:1px solid var(--line);border-radius:17px;background:#fff9;margin-bottom:14px}
.tasting-profile h2{margin:.2rem 0;font-family:Georgia,serif;font-size:1.5rem;font-weight:500}
.tasting-profile>div{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:12px}
.tasting-profile article>div:first-child{display:flex;justify-content:space-between;gap:8px;margin-bottom:6px;font-size:.62rem}.tasting-profile strong{color:var(--wine)}
.tasting-filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr auto;gap:7px;margin-bottom:10px}
.tasting-filters input,.tasting-filters select,.tasting-journal-actions select{min-height:40px;padding:8px;border:1px solid var(--line);border-radius:9px;background:#fff}
.tasting-journal-actions{display:flex;justify-content:flex-end;margin-bottom:14px}.tasting-journal-actions form{display:flex;align-items:center;gap:7px}.tasting-journal-actions form>span{color:var(--wine);font-weight:900}
.tasting-history-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
.tasting-history-grid>a{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:12px;padding:15px;border:1px solid var(--line);border-radius:15px;background:#fff9}
.tasting-history-grid>a:hover{border-color:#c8a6b1;transform:translateY(-1px)}
.tasting-history-score{display:grid;place-items:center;width:58px;height:58px;border-radius:15px;background:#f1e7dc;color:var(--wine)}.tasting-history-score strong{font-family:Georgia,serif;font-size:1.45rem;font-weight:500}.tasting-history-score small{font-size:.48rem;margin-top:-8px}
.tasting-history-grid small{color:var(--wine);font-size:.52rem;font-weight:900}.tasting-history-grid h2{margin:.2rem 0;font-family:Georgia,serif;font-size:1.25rem;font-weight:500}.tasting-history-grid p{margin:.15rem 0;color:var(--muted);font-size:.62rem}.tasting-tags{display:inline-block;margin-top:6px;padding:5px 7px;border-radius:999px;background:#eee5da;color:#6b5c51;font-size:.52rem}
.tasting-history-side{display:grid;justify-items:end;gap:10px}.tasting-history-side span{font-size:.52rem;color:var(--wine)}.tasting-history-side b{color:var(--wine)}

.tasting-compare-head{display:grid;grid-template-columns:1fr 60px 1fr;align-items:center;gap:10px}.tasting-compare-head article{padding:20px;border:1px solid var(--line);border-radius:17px;background:#fff9;text-align:center}.tasting-compare-head small{color:var(--wine);font-size:.55rem;font-weight:900}.tasting-compare-head h2{margin:.25rem 0;font-family:Georgia,serif;font-size:1.7rem;font-weight:500}.tasting-compare-head p{color:var(--muted);font-size:.65rem}.tasting-compare-head>span{text-align:center;color:var(--wine);font-weight:900}
.tasting-compare-table{margin-top:10px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff9}.tasting-compare-table>div{display:grid;grid-template-columns:180px 1fr 1fr}.tasting-compare-table>div+div{border-top:1px solid var(--line)}.tasting-compare-table strong,.tasting-compare-table span{padding:12px 14px}.tasting-compare-table strong{background:#f0e7dd;color:var(--wine);font-size:.65rem}.tasting-compare-table span{border-left:1px solid var(--line);text-align:center;font-size:.72rem}
.tasting-compare-notes{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.tasting-compare-notes article{padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff9}.tasting-compare-notes p{color:#4d4743;font-size:.7rem;line-height:1.55}

.tasting-extra-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#f8f1e9}.tasting-extra-fields label{display:grid;gap:5px;font-size:.64rem;font-weight:800}.tasting-extra-fields input,.tasting-extra-fields select{min-height:40px;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff}
.tasting-detail-actions{display:flex;align-items:center;gap:10px}.tasting-delete-button{border:0;background:none;color:#a34b4b;font-weight:800;cursor:pointer}

.dashboard-discovery-tools{grid-template-columns:repeat(7,1fr)}

@media(max-width:1050px){
 .tasting-journal-kpis{grid-template-columns:repeat(3,1fr)}.tasting-profile>div{grid-template-columns:repeat(2,1fr)}.tasting-filters{grid-template-columns:1fr 1fr}.tasting-filters .button{grid-column:1/-1}.dashboard-discovery-tools{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:720px){
 .tasting-journal-hero{display:grid}.tasting-journal-kpis,.tasting-history-grid{grid-template-columns:1fr}.tasting-journal-actions form{display:grid;width:100%}.tasting-compare-head{grid-template-columns:1fr}.tasting-compare-table>div{grid-template-columns:1fr 1fr}.tasting-compare-table strong{grid-column:1/-1}.tasting-compare-table span:first-of-type{border-left:0}.tasting-compare-notes,.tasting-extra-fields{grid-template-columns:1fr}.dashboard-discovery-tools{grid-template-columns:1fr}
}


/* =========================================================
   AMPELORIA V1.8 — profil gustatif & découverte personnalisée
   ========================================================= */
.discover-page{max-width:1200px;margin:auto}
.discover-hero{display:flex;justify-content:space-between;align-items:end;gap:22px}
.discover-hero h1{margin:.3rem 0;font-family:Georgia,serif;font-size:clamp(3rem,6vw,5rem);font-weight:500}
.discover-hero p{max-width:760px;color:var(--muted)}
.discover-confidence{display:grid;justify-items:center;min-width:170px;padding:19px;border-radius:21px;background:var(--wine);color:#fff}
.discover-confidence strong{font-family:Georgia,serif;font-size:2.3rem;font-weight:500}
.discover-confidence span{font-size:.6rem;font-weight:850}
.discover-confidence small{margin-top:4px;color:#e8cfd7;font-size:.52rem}

.taste-profile-card{margin-top:20px;padding:20px;border:1px solid var(--line);border-radius:19px;background:#fff9}
.taste-profile-title{display:flex;align-items:center;gap:11px}.taste-profile-title>span{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:#efe4d8;font-size:1.4rem}
.taste-profile-title small{color:var(--wine);font-size:.54rem;font-weight:900}.taste-profile-title h2{margin:.15rem 0;font-family:Georgia,serif;font-size:1.7rem;font-weight:500}
.taste-profile-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-top:18px}
.taste-profile-metrics article>div:first-child{display:flex;justify-content:space-between;gap:7px;margin-bottom:5px;font-size:.59rem}.taste-profile-metrics strong{color:var(--wine)}
.taste-profile-favorites{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}
.taste-profile-favorites>div{display:flex;flex-wrap:wrap;gap:6px}.taste-profile-favorites small{width:100%;color:var(--muted);font-size:.52rem;font-weight:900}.taste-profile-favorites span{padding:6px 8px;border-radius:999px;background:#f1e8df;font-size:.56rem;font-weight:800}

.discovery-challenge,.discovery-dashboard-banner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin-top:14px;padding:17px;border-radius:17px;background:linear-gradient(135deg,#5f1d31,#87394f);color:#fff}
.discovery-challenge>span,.discovery-dashboard-banner>span{font-size:1.55rem}
.discovery-challenge small,.discovery-dashboard-banner small{color:#f0d1db;font-size:.53rem;font-weight:900}
.discovery-challenge strong,.discovery-dashboard-banner strong{display:block;font-family:Georgia,serif;font-size:1.15rem;font-weight:500}
.discovery-challenge p,.discovery-dashboard-banner p{margin:.15rem 0 0;color:#ead9df;font-size:.64rem}
.discovery-challenge>b,.discovery-dashboard-banner>b{font-size:.65rem}

.personalized-discovery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
.personalized-discovery-grid>a{display:grid;gap:10px;padding:17px;border:1px solid var(--line);border-radius:16px;background:#fff9}
.personalized-discovery-grid>a:hover{border-color:#c7a5b0;transform:translateY(-1px)}
.personalized-discovery-grid header{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:9px}
.personalized-discovery-grid header>span{font-size:1.35rem}.personalized-discovery-grid header small{color:var(--wine);font-size:.52rem;font-weight:900}.personalized-discovery-grid header strong{display:block;font-size:.8rem}.personalized-discovery-grid header>b{display:grid;place-items:center;width:46px;height:30px;border-radius:999px;background:#f1e7dc;color:var(--wine);font-size:.62rem}
.personalized-discovery-grid>a>p{margin:0;color:var(--muted);font-size:.66rem;line-height:1.5}
.personalized-discovery-grid footer{display:flex;justify-content:space-between;gap:10px;padding-top:9px;border-top:1px solid var(--line)}.personalized-discovery-grid footer span{color:#6c5e57;font-size:.57rem}.personalized-discovery-grid footer b{color:var(--wine)}

.profile-taste-card{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:22px;padding:19px;border:1px solid var(--line);border-radius:17px;background:#fff9}
.profile-taste-card h2{margin:.2rem 0;font-family:Georgia,serif;font-size:1.55rem;font-weight:500}.profile-taste-card p{margin:0;color:var(--muted);font-size:.66rem}
.profile-taste-card>div:last-child{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.profile-taste-card>div:last-child>span{padding:7px 9px;border-radius:999px;background:#f1e8df;font-size:.58rem}.profile-taste-card>div:last-child strong{color:var(--wine)}

.dashboard-discovery-tools{grid-template-columns:repeat(8,1fr)}

@media(max-width:1050px){
 .taste-profile-metrics{grid-template-columns:repeat(3,1fr)}
 .personalized-discovery-grid{grid-template-columns:1fr}
 .dashboard-discovery-tools{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:720px){
 .discover-hero{display:grid}.discover-confidence{justify-self:start}
 .taste-profile-metrics{grid-template-columns:1fr 1fr}
 .taste-profile-favorites{grid-template-columns:1fr}
 .profile-taste-card{display:grid}
 .discovery-challenge,.discovery-dashboard-banner{grid-template-columns:auto 1fr}.discovery-challenge>b,.discovery-dashboard-banner>b{grid-column:2}
 .dashboard-discovery-tools{grid-template-columns:1fr}
}


/* =========================================================
   AMPELORIA V1.9 — dégustation à l’aveugle
   ========================================================= */
.blind-page,.blind-session-page,.blind-result-page{max-width:1200px;margin:auto}
.blind-hero{display:flex;justify-content:space-between;align-items:end;gap:20px}
.blind-hero h1{margin:.3rem 0;font-family:Georgia,serif;font-size:clamp(3rem,6vw,5rem);font-weight:500}
.blind-hero p{max-width:760px;color:var(--muted)}
.blind-mask{display:grid;place-items:center;width:110px;height:110px;border-radius:28px;background:#24171c;font-size:3.2rem}

.blind-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0}
.blind-kpis article{display:grid;gap:3px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff9}
.blind-kpis span{color:var(--muted);font-size:.56rem}
.blind-kpis strong{font-family:Georgia,serif;font-size:1.55rem;font-weight:500;color:var(--wine)}

.blind-levels{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.blind-levels a{padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:#fff9;font-size:.61rem;font-weight:850}
.blind-levels a.active{background:#28171e;border-color:#28171e;color:#fff}

.blind-case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.blind-case-grid>a{display:grid;gap:10px;padding:17px;border:1px solid var(--line);border-radius:16px;background:#fff9}
.blind-case-grid>a:hover{transform:translateY(-1px);border-color:#c8a4b0}
.blind-case-grid header{display:flex;justify-content:space-between;align-items:center}
.blind-case-grid header>span{font-size:1.4rem}
.blind-case-grid header small{color:var(--wine);font-size:.52rem;font-weight:900}
.blind-case-grid h2{margin:0;font-family:Georgia,serif;font-size:1.35rem;font-weight:500}
.blind-case-grid p{margin:0;color:var(--muted);font-size:.65rem;line-height:1.5}
.blind-case-grid footer{display:flex;justify-content:space-between;gap:10px;padding-top:9px;border-top:1px solid var(--line);font-size:.58rem}
.blind-case-grid footer b{color:var(--wine)}

.blind-history{display:grid;gap:7px}
.blind-history>a{display:grid;grid-template-columns:60px 1fr auto;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff9}
.blind-history>a>span{display:grid;place-items:center;width:52px;height:42px;border-radius:11px;background:#efe5db;color:var(--wine);font-weight:900}
.blind-history strong{display:block;font-size:.72rem}
.blind-history small{color:var(--muted);font-size:.54rem}
.blind-history b{color:var(--wine)}

.blind-session-header{display:flex;justify-content:space-between;align-items:end;gap:18px}
.blind-session-header h1{margin:.3rem 0;font-family:Georgia,serif;font-size:clamp(2.8rem,5vw,4.5rem);font-weight:500}
.blind-session-header p{color:var(--muted)}
.blind-session-header>div:last-child{display:grid;justify-items:center;padding:14px;border-radius:15px;background:#28171e;color:#fff}
.blind-session-header>div:last-child strong{font-family:Georgia,serif;font-size:1.7rem;font-weight:500}
.blind-session-header>div:last-child small{font-size:.52rem}

.blind-clues{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:20px 0}
.blind-clues article{display:grid;grid-template-columns:42px 1fr;gap:10px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff9}
.blind-clues article>span{font-size:1.35rem}
.blind-clues small{color:var(--wine);font-size:.52rem;font-weight:900}
.blind-clues p{margin:.15rem 0;color:#4c4744;font-size:.68rem;line-height:1.55}

.blind-guess-form{padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff9}
.blind-guess-form h2{margin:.2rem 0;font-family:Georgia,serif;font-size:1.7rem;font-weight:500}
.blind-text-guesses{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:15px}
.blind-text-guesses label{display:grid;gap:4px;font-size:.62rem;font-weight:850}
.blind-text-guesses input{min-height:40px;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff}

.blind-scale-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:12px}
.blind-scale-grid fieldset{padding:12px;border:1px solid var(--line);border-radius:12px}
.blind-scale-grid legend{padding:0 5px;font-size:.58rem;font-weight:850}
.blind-scale-grid fieldset>div{display:grid;grid-template-columns:repeat(5,1fr);gap:3px}
.blind-scale-grid label input{position:absolute;opacity:0}
.blind-scale-grid label span{display:grid;place-items:center;height:30px;border:1px solid var(--line);border-radius:7px;background:#fff;font-size:.6rem;cursor:pointer}
.blind-scale-grid label input:checked+span{background:var(--wine);border-color:var(--wine);color:#fff}
.blind-submit{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:17px;padding-top:14px;border-top:1px solid var(--line)}
.blind-submit p{margin:0;color:var(--muted);font-size:.62rem}

.blind-result-hero{display:flex;justify-content:space-between;align-items:end;gap:20px}
.blind-result-hero h1{margin:.3rem 0;font-family:Georgia,serif;font-size:clamp(3rem,6vw,4.7rem);font-weight:500}
.blind-result-hero p{max-width:720px;color:var(--muted)}
.blind-result-score{display:grid;justify-items:center;min-width:150px;padding:18px;border-radius:21px;background:var(--wine);color:#fff}
.blind-result-score strong{font-family:Georgia,serif;font-size:2.4rem;font-weight:500}
.blind-result-score span{font-size:.62rem}

.blind-answer-table{margin-top:20px;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#fff9}
.blind-answer-table>header,.blind-answer-table>div{display:grid;grid-template-columns:180px 1fr 1fr}
.blind-answer-table>header{background:#eee4da}
.blind-answer-table>header strong,.blind-answer-table>div>*{padding:11px 13px}
.blind-answer-table>div+div{border-top:1px solid var(--line)}
.blind-answer-table>div>strong{font-size:.62rem;color:var(--wine)}
.blind-answer-table>div>span{border-left:1px solid var(--line);font-size:.68rem}

.blind-explanation{margin-top:14px;padding:20px;border-left:4px solid var(--wine);border-radius:15px;background:#fff9}
.blind-explanation h2{font-family:Georgia,serif;font-size:1.65rem;font-weight:500}
.blind-explanation p{color:#4d4744;font-size:.7rem;line-height:1.6}
.blind-result-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}

.dashboard-discovery-tools{grid-template-columns:repeat(9,1fr)}

@media(max-width:1050px){
 .blind-case-grid{grid-template-columns:repeat(2,1fr)}
 .blind-scale-grid{grid-template-columns:repeat(3,1fr)}
 .dashboard-discovery-tools{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:720px){
 .blind-hero,.blind-session-header,.blind-result-hero{display:grid}
 .blind-kpis,.blind-case-grid,.blind-clues,.blind-text-guesses{grid-template-columns:1fr}
 .blind-scale-grid{grid-template-columns:1fr 1fr}
 .blind-submit{display:grid}
 .blind-answer-table>header,.blind-answer-table>div{grid-template-columns:1fr 1fr}
 .blind-answer-table>header strong:first-child,.blind-answer-table>div>strong{grid-column:1/-1}
 .blind-answer-table>div>span:first-of-type{border-left:0}
 .dashboard-discovery-tools{grid-template-columns:1fr}
}


/* =========================================================
   AMPELORIA V2.0 — examens & validations internes
   ========================================================= */
.exams-page,.exam-session-page,.exam-result-page,.certificates-page,.certificate-page{max-width:1200px;margin:auto}
.exams-hero{display:flex;justify-content:space-between;align-items:end;gap:20px}
.exams-hero h1{margin:.3rem 0;font-family:Georgia,serif;font-size:clamp(3rem,6vw,5rem);font-weight:500}
.exams-hero p{max-width:760px;color:var(--muted)}

.exam-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}
.exam-grid>article{display:grid;gap:10px;padding:18px;border:1px solid var(--line);border-radius:17px;background:#fff9}
.exam-grid header{display:flex;justify-content:space-between;align-items:center}.exam-grid header>span{font-size:1.5rem}.exam-grid header small{color:var(--wine);font-size:.52rem;font-weight:900}
.exam-grid h2{margin:0;font-family:Georgia,serif;font-size:1.4rem;font-weight:500}.exam-grid p{margin:0;color:var(--muted);font-size:.66rem;line-height:1.5}
.exam-meta{display:flex;flex-wrap:wrap;gap:5px}.exam-meta span{padding:5px 7px;border-radius:999px;background:#f1e7dc;font-size:.54rem;font-weight:800}

.certificate-mini-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.certificate-mini-grid>a{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;padding:13px;border:1px solid var(--line);border-radius:14px;background:#fff9}.certificate-mini-grid>a>span{font-size:1.35rem}.certificate-mini-grid strong{display:block;font-size:.72rem}.certificate-mini-grid small{color:var(--muted);font-size:.54rem}.certificate-mini-grid b{color:var(--wine)}
.exam-history{display:grid;gap:7px}.exam-history>a{display:grid;grid-template-columns:62px 1fr auto;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff9}.exam-history>a>span{display:grid;place-items:center;width:54px;height:42px;border-radius:11px;font-weight:900}.exam-history>a>span.passed{background:#e6f3e9;color:#34704a}.exam-history>a>span.failed{background:#f5e5e5;color:#9d4444}.exam-history strong{display:block;font-size:.72rem}.exam-history small{color:var(--muted);font-size:.54rem}.exam-history b{color:var(--wine);font-size:.6rem}

.exam-session-header{display:flex;justify-content:space-between;align-items:end;gap:20px}
.exam-session-header h1{margin:.3rem 0;font-family:Georgia,serif;font-size:clamp(2.7rem,5vw,4.5rem);font-weight:500}.exam-session-header p{color:var(--muted)}
.exam-timer{display:grid;justify-items:center;min-width:140px;padding:15px;border-radius:17px;background:#26181e;color:#fff}.exam-timer small{font-size:.5rem;color:#e5cbd2}.exam-timer strong{font-family:Georgia,serif;font-size:1.8rem;font-weight:500}
.exam-question-form{display:grid;gap:10px;margin-top:20px}.exam-question-card{padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff9}.exam-question-card>header{display:flex;justify-content:space-between;align-items:center}.exam-question-card>header>span{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#efe4d8;color:var(--wine);font-size:.58rem;font-weight:900}.exam-question-card>header small{color:var(--wine);font-size:.52rem;font-weight:900}.exam-question-card h2{font-family:Georgia,serif;font-size:1.3rem;font-weight:500}
.exam-answer-list{display:grid;gap:6px}.exam-answer-list label input{position:absolute;opacity:0}.exam-answer-list label span{display:block;padding:11px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:.68rem;cursor:pointer}.exam-answer-list label input:checked+span{border-color:var(--wine);background:#fff1f4;color:var(--wine);box-shadow:inset 0 0 0 1px var(--wine)}
.exam-submit-bar{position:sticky;bottom:10px;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px;border:1px solid #c9afb7;border-radius:15px;background:#fffdfbfa;box-shadow:var(--shadow)}.exam-submit-bar>div{display:grid}.exam-submit-bar strong{font-size:.7rem}.exam-submit-bar span{color:var(--muted);font-size:.56rem}

.exam-result-hero{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:20px;border-radius:19px}.exam-result-hero.passed{background:#eaf5ec}.exam-result-hero.failed{background:#f8e9e9}.exam-result-hero h1{margin:.3rem 0;font-family:Georgia,serif;font-size:clamp(2.8rem,5vw,4.6rem);font-weight:500}.exam-result-hero p{color:var(--muted)}.exam-result-hero>div:last-child{display:grid;justify-items:center}.exam-result-hero>div:last-child strong{font-family:Georgia,serif;font-size:2.5rem;font-weight:500}.exam-result-hero>div:last-child span{font-size:.62rem}
.exam-certificate-earned{display:grid;grid-template-columns:50px 1fr auto;align-items:center;gap:12px;margin-top:13px;padding:16px;border:1px solid #d1b46e;border-radius:16px;background:#fff8e6}.exam-certificate-earned>span{font-size:1.7rem}.exam-certificate-earned small{color:#8a6720;font-size:.52rem;font-weight:900}.exam-certificate-earned strong{display:block;font-family:Georgia,serif;font-size:1.2rem;font-weight:500}.exam-certificate-earned p{margin:.15rem 0;color:var(--muted);font-size:.56rem}.exam-certificate-earned b{color:#8a6720}
.exam-correction-list{display:grid;gap:8px;margin-top:15px}.exam-correction-list>article{padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff9}.exam-correction-list>article.correct{border-left:5px solid #4f8a61}.exam-correction-list>article.wrong{border-left:5px solid #b45555}.exam-correction-list header{display:flex;justify-content:space-between}.exam-correction-list header span{color:var(--muted);font-size:.54rem}.exam-correction-list header b{font-size:1rem}.exam-correction-list h2{font-family:Georgia,serif;font-size:1.2rem;font-weight:500}.exam-correction-list>article>div{margin-top:8px}.exam-correction-list small{color:var(--wine);font-size:.5rem;font-weight:900}.exam-correction-list p{margin:.2rem 0;font-size:.67rem}.exam-correction-list footer{margin-top:10px;padding-top:9px;border-top:1px solid var(--line);color:var(--muted);font-size:.63rem}
.exam-result-actions{display:flex;gap:8px;margin-top:14px}

.certificate-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.certificate-grid>a{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:11px;padding:16px;border:1px solid #d2bb81;border-radius:16px;background:#fff9}.certificate-grid>a>span{font-size:1.7rem}.certificate-grid small{color:#8a6720;font-size:.52rem;font-weight:900}.certificate-grid h2{margin:.2rem 0;font-family:Georgia,serif;font-size:1.25rem;font-weight:500}.certificate-grid p{margin:.2rem 0;color:var(--muted);font-size:.58rem}.certificate-grid b{color:#8a6720}
.certificate-sheet{max-width:900px;margin:20px auto;padding:54px;border:1px solid #c8aa65;border-radius:6px;background:#fffdf8;box-shadow:0 20px 60px #3a24131a;text-align:center}.certificate-sheet>header{display:grid;gap:6px}.certificate-logo{font-family:Georgia,serif;font-size:1.7rem;letter-spacing:.18em}.certificate-sheet>header small{color:#8b6c34;font-size:.58rem;font-weight:900;letter-spacing:.15em}.certificate-medal{margin:25px 0;font-size:3.6rem}.certificate-sheet>p{color:#6a6056}.certificate-sheet h1{font-family:Georgia,serif;font-size:2.5rem;font-weight:500}.certificate-sheet h2{font-family:Georgia,serif;font-size:1.8rem;font-weight:500;color:var(--wine)}.certificate-score{display:grid;justify-items:center;margin:25px auto;padding:15px;border-top:1px solid #d6c7a4;border-bottom:1px solid #d6c7a4}.certificate-score strong{font-family:Georgia,serif;font-size:2.2rem;font-weight:500}.certificate-score span{font-size:.62rem}.certificate-sheet>footer{display:flex;justify-content:space-between;gap:20px;margin-top:35px;text-align:left}.certificate-sheet>footer div:last-child{text-align:right}.certificate-sheet footer small{display:block;color:#8b6c34;font-size:.5rem;font-weight:900}.certificate-sheet footer strong{font-size:.68rem}.certificate-disclaimer{text-align:center;color:var(--muted);font-size:.58rem}

.exam-admin-page{max-width:1200px;margin:auto}.exam-admin-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px}.exam-admin-list{display:grid;align-content:start;gap:8px}.exam-admin-list>article{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:13px;border:1px solid var(--line);border-radius:13px;background:#fff9}.exam-admin-list>article>span{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#efe4d8;color:var(--wine);font-size:.58rem;font-weight:900}.exam-admin-list small{color:var(--muted);font-size:.52rem}.exam-admin-list strong{display:block;font-size:.68rem}.exam-admin-list form button{border:0;background:none;color:#a34b4b;cursor:pointer}.exam-admin-editor form{display:grid;gap:9px;padding:20px;border:1px solid var(--line);border-radius:17px;background:#fff9}.exam-admin-editor h2{font-family:Georgia,serif;font-size:1.6rem;font-weight:500}.exam-admin-editor label{display:grid;gap:4px;font-size:.65rem;font-weight:800}.exam-admin-editor input,.exam-admin-editor select{width:100%;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff}

.dashboard-discovery-tools{grid-template-columns:repeat(10,1fr)}

@media(max-width:1050px){
 .exam-grid{grid-template-columns:repeat(2,1fr)}.exam-admin-layout{grid-template-columns:1fr}.dashboard-discovery-tools{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:720px){
 .exams-hero,.exam-session-header,.exam-result-hero{display:grid}.exam-grid,.certificate-mini-grid,.certificate-grid{grid-template-columns:1fr}.exam-submit-bar{display:grid}.certificate-sheet{padding:25px 18px}.certificate-sheet>footer{display:grid}.certificate-sheet>footer div:last-child{text-align:left}.dashboard-discovery-tools{grid-template-columns:1fr}
}


/* =========================================================
   AMPELORIA V2.1 — carte d'apprentissage & prérequis
   ========================================================= */
.learning-map-page{max-width:1250px;margin:auto}
.learning-map-hero{display:flex;justify-content:space-between;align-items:end;gap:20px}
.learning-map-hero h1{margin:.3rem 0;font-family:Georgia,serif;font-size:clamp(3rem,6vw,5rem);font-weight:500}
.learning-map-hero p{max-width:820px;color:var(--muted)}
.next-learning-card,.learning-map-dashboard-banner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin:18px 0;padding:17px;border-radius:17px;background:linear-gradient(135deg,#6c2038,#8f4359);color:#fff}
.next-learning-card>span,.learning-map-dashboard-banner>span{font-size:1.5rem}
.next-learning-card small,.learning-map-dashboard-banner small{color:#efd3db;font-size:.52rem;font-weight:900}
.next-learning-card strong,.learning-map-dashboard-banner strong{display:block;font-family:Georgia,serif;font-size:1.15rem;font-weight:500}
.next-learning-card p,.learning-map-dashboard-banner p{margin:.15rem 0 0;color:#ead9df;font-size:.62rem}
.next-learning-card>div:last-child{display:grid;justify-items:end;gap:5px}.next-learning-card>div:last-child span{font-size:.58rem}
.next-learning-card>b,.learning-map-dashboard-banner>b{font-size:.62rem}

.learning-map-paths{display:grid;gap:16px}.learning-path-map{padding:20px;border:1px solid var(--line);border-radius:19px;background:#fff9}
.learning-path-map>header{display:flex;justify-content:space-between;align-items:end;gap:18px}.learning-path-map h2{margin:.2rem 0;font-family:Georgia,serif;font-size:1.8rem;font-weight:500}.learning-path-map>header p{margin:.25rem 0;color:var(--muted);font-size:.68rem}
.path-map-progress{display:grid;justify-items:end}.path-map-progress strong{font-family:Georgia,serif;font-size:1.8rem;color:var(--wine);font-weight:500}.path-map-progress small{color:var(--muted);font-size:.55rem}.learning-path-map>.progress{margin:12px 0 18px}
.learning-map-modules{display:grid;gap:12px}.learning-map-modules>section{padding:15px;border:1px solid var(--line);border-radius:14px;background:#faf6f1}.learning-map-modules>section>header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.learning-map-modules>section>header small{color:var(--wine);font-size:.5rem;font-weight:900}.learning-map-modules>section>header strong{display:block;font-size:.8rem}.learning-map-modules>section>header>span{font-size:.58rem;color:var(--muted)}
.learning-map-lessons{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.learning-map-lessons>a,.learning-map-lessons>article{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:8px;padding:11px;border:1px solid var(--line);border-radius:11px;background:#fff}.learning-map-lessons>a.completed{background:#eef6f0;border-color:#c5dccb}.learning-map-lessons>article.locked{opacity:.72;background:#f0ece8}
.lesson-state-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:#f0e5da;color:var(--wine);font-size:.7rem;font-weight:900}.learning-map-lessons .completed .lesson-state-icon{background:#d9eddf;color:#34704a}.learning-map-lessons small{color:var(--wine);font-size:.48rem;font-weight:900}.learning-map-lessons strong{display:block;font-size:.66rem}.learning-map-lessons p{margin:.18rem 0 0;color:var(--muted);font-size:.53rem}.learning-map-lessons b{color:var(--wine)}

.locked-lesson-page{max-width:900px;margin:auto}.locked-lesson-card{display:grid;grid-template-columns:80px 1fr;gap:20px;margin-top:50px;padding:26px;border:1px solid var(--line);border-radius:20px;background:#fff9}.locked-lesson-card>span{display:grid;place-items:center;width:72px;height:72px;border-radius:18px;background:#eee6df;font-size:2rem}.locked-lesson-card small{color:var(--wine);font-size:.55rem;font-weight:900}.locked-lesson-card h1{margin:.25rem 0;font-family:Georgia,serif;font-size:2.3rem;font-weight:500}.locked-lesson-card p{color:var(--muted)}.locked-prerequisite-list{display:grid;gap:6px;margin:12px 0}.locked-prerequisite-list a{padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--wine);font-size:.67rem;font-weight:800}

.prerequisite-admin-page{max-width:1200px;margin:auto}.prerequisite-admin-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px}.prerequisite-list{display:grid;align-content:start;gap:8px}.prerequisite-list>article{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:9px;padding:13px;border:1px solid var(--line);border-radius:13px;background:#fff9}.prerequisite-list>article>span{font-size:1rem}.prerequisite-list small{color:var(--wine);font-size:.5rem;font-weight:900}.prerequisite-list strong{display:block;font-size:.72rem}.prerequisite-list form button{border:0;background:none;color:#a34b4b;cursor:pointer}
.prerequisite-editor form{display:grid;gap:9px;padding:20px;border:1px solid var(--line);border-radius:17px;background:#fff9}.prerequisite-editor h2{font-family:Georgia,serif;font-size:1.6rem;font-weight:500}.prerequisite-editor label{display:grid;gap:4px;font-size:.64rem;font-weight:800}.prerequisite-editor input,.prerequisite-editor select{width:100%;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff}
.learn-map-shortcut{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;margin-bottom:12px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff9}.learn-map-shortcut>span{font-size:1.15rem}.learn-map-shortcut small{color:var(--wine);font-size:.5rem;font-weight:900}.learn-map-shortcut strong{display:block;font-size:.7rem}.learn-map-shortcut b{color:var(--wine)}
.dashboard-discovery-tools{grid-template-columns:repeat(11,1fr)}

@media(max-width:1050px){
 .learning-map-lessons{grid-template-columns:repeat(2,1fr)}
 .prerequisite-admin-layout{grid-template-columns:1fr}
 .dashboard-discovery-tools{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:720px){
 .learning-map-hero,.learning-path-map>header{display:grid}
 .path-map-progress{justify-items:start}
 .learning-map-lessons{grid-template-columns:1fr}
 .next-learning-card,.learning-map-dashboard-banner{grid-template-columns:auto 1fr}
 .next-learning-card>div:last-child,.next-learning-card>b,.learning-map-dashboard-banner>b{grid-column:2;justify-items:start}
 .locked-lesson-card{grid-template-columns:1fr}
 .dashboard-discovery-tools{grid-template-columns:1fr}
}


/* =========================================================
   AMPELORIA V2.2 — coach de révision adaptatif
   ========================================================= */
.coach-page{max-width:1200px;margin:auto}
.coach-hero{display:flex;justify-content:space-between;align-items:end;gap:20px}
.coach-hero h1{margin:.3rem 0;font-family:Georgia,serif;font-size:clamp(3rem,6vw,5rem);font-weight:500}
.coach-hero p{max-width:800px;color:var(--muted)}
.coach-readiness{display:grid;justify-items:center;min-width:170px;padding:19px;border-radius:21px;background:#26181e;color:#fff}
.coach-readiness strong{font-family:Georgia,serif;font-size:2.4rem;font-weight:500}
.coach-readiness span{font-size:.65rem;font-weight:850}
.coach-readiness small{margin-top:3px;color:#ddc8cf;font-size:.5rem}

.coach-priority,.coach-dashboard-banner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin:18px 0;padding:18px;border-radius:18px;background:linear-gradient(135deg,#4b2635,#7b354b);color:#fff}
.coach-priority>span,.coach-dashboard-banner>span{font-size:1.55rem}
.coach-priority small,.coach-dashboard-banner small{color:#efced8;font-size:.52rem;font-weight:900}
.coach-priority strong,.coach-dashboard-banner strong{display:block;font-family:Georgia,serif;font-size:1.15rem;font-weight:500}
.coach-priority p,.coach-dashboard-banner p{margin:.15rem 0 0;color:#eadbe0;font-size:.63rem}
.coach-priority>b,.coach-dashboard-banner>b{font-size:.62rem}

.coach-competencies{padding:19px;border:1px solid var(--line);border-radius:18px;background:#fff9}
.coach-competencies>header{display:flex;justify-content:space-between;align-items:end;gap:12px}
.coach-competencies h2{margin:.2rem 0;font-family:Georgia,serif;font-size:1.7rem;font-weight:500}
.coach-competencies>header>a{color:var(--wine);font-size:.6rem;font-weight:850}
.coach-competencies>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
.coach-competencies>div>a{display:grid;gap:8px;padding:13px;border:1px solid var(--line);border-radius:13px;background:#fbf7f2}
.coach-competencies>div>a>header{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:7px}
.coach-competencies>div>a>header>span{font-size:1.1rem}
.coach-competencies>div>a>header strong{font-size:.68rem}
.coach-competencies>div>a>header b{color:var(--wine);font-size:.62rem}
.coach-competencies footer{display:grid;gap:3px}.coach-competencies footer small{color:var(--muted);font-size:.5rem}.coach-competencies footer span{color:#5f5650;font-size:.57rem;line-height:1.4}

.coach-session{margin-top:15px;padding:19px;border:1px solid var(--line);border-radius:18px;background:#fff9}
.coach-session>header{display:flex;justify-content:space-between;align-items:end;gap:12px}.coach-session h2{margin:.2rem 0;font-family:Georgia,serif;font-size:1.7rem;font-weight:500}.coach-session nav{display:flex;gap:5px}.coach-session nav a{padding:7px 9px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:.56rem;font-weight:850}.coach-session nav a.active{background:var(--wine);border-color:var(--wine);color:#fff}
.coach-session-timeline{display:grid;gap:7px;margin-top:14px}.coach-session-timeline>a{display:grid;grid-template-columns:38px 38px 1fr auto;align-items:center;gap:9px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#faf6f1}.coach-step-number{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#eee4da;color:var(--wine);font-size:.54rem;font-weight:900}.coach-step-icon{font-size:1.15rem}.coach-session-timeline small{color:var(--wine);font-size:.49rem;font-weight:900}.coach-session-timeline strong{display:block;font-size:.7rem}.coach-session-timeline p{margin:.15rem 0;color:var(--muted);font-size:.58rem}.coach-session-timeline>b{color:var(--wine);font-size:.6rem}

.coach-insights-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:15px}
.coach-insights-grid>section{padding:16px;border:1px solid var(--line);border-radius:15px;background:#fff9}
.coach-insights-grid>section>strong{display:block;margin-top:6px;font-family:Georgia,serif;font-size:1.8rem;color:var(--wine);font-weight:500}
.coach-insights-grid p{color:var(--muted);font-size:.62rem;line-height:1.45}
.coach-insights-grid a{color:var(--wine);font-size:.6rem;font-weight:850}

.dashboard-discovery-tools{grid-template-columns:repeat(12,1fr)}

@media(max-width:1050px){
 .coach-competencies>div{grid-template-columns:repeat(2,1fr)}
 .dashboard-discovery-tools{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:720px){
 .coach-hero,.coach-session>header{display:grid}
 .coach-readiness{justify-self:start}
 .coach-priority,.coach-dashboard-banner{grid-template-columns:auto 1fr}
 .coach-priority>b,.coach-dashboard-banner>b{grid-column:2}
 .coach-competencies>div,.coach-insights-grid{grid-template-columns:1fr}
 .coach-session-timeline>a{grid-template-columns:32px 34px 1fr}
 .coach-session-timeline>a>b{grid-column:3}
 .dashboard-discovery-tools{grid-template-columns:1fr}
}


/* =========================================================
   AMPELORIA V2.3 — badges & défis hebdomadaires
   ========================================================= */
.achievements-page,.challenges-page{max-width:1200px;margin:auto}
.achievement-hero,.challenge-hero{display:flex;justify-content:space-between;align-items:end;gap:20px}
.achievement-hero h1,.challenge-hero h1{margin:.3rem 0;font-family:Georgia,serif;font-size:clamp(3rem,6vw,5rem);font-weight:500}
.achievement-hero p,.challenge-hero p{max-width:780px;color:var(--muted)}

.achievement-count,.challenge-week-score{display:grid;justify-items:center;min-width:160px;padding:18px;border-radius:20px;background:#26181e;color:#fff}
.achievement-count strong,.challenge-week-score strong{font-family:Georgia,serif;font-size:2.1rem;font-weight:500}
.achievement-count span,.challenge-week-score span{font-size:.62rem}
.achievement-count small,.challenge-week-score small{margin-top:4px;color:#dfccd2;font-size:.5rem}

.achievement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:20px}
.achievement-grid>article{display:grid;gap:9px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff9}
.achievement-grid>article.locked{opacity:.72}
.achievement-grid>article.unlocked{border-color:#d3b772;background:#fffaf0}
.achievement-grid header{display:flex;justify-content:space-between;align-items:center}
.achievement-grid header>span{font-size:1.5rem}.achievement-grid header small{color:var(--wine);font-size:.5rem;font-weight:900}
.achievement-grid h2{margin:0;font-family:Georgia,serif;font-size:1.3rem;font-weight:500}
.achievement-grid p{margin:0;color:var(--muted);font-size:.64rem;line-height:1.5}
.achievement-grid footer{display:flex;justify-content:space-between;gap:8px;font-size:.56rem}.achievement-grid footer strong{color:var(--wine)}
.achievement-unlocked{padding:7px;border-radius:9px;background:#f5ebcf;color:#80652b;text-align:center;font-size:.55rem;font-weight:850}

.challenge-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:20px}
.challenge-grid>article{display:grid;gap:10px;padding:17px;border:1px solid var(--line);border-radius:16px;background:#fff9}
.challenge-grid>article.completed{border-color:#b8d7c0;background:#f0f8f2}
.challenge-grid header{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:9px}
.challenge-grid header>span{font-size:1.35rem}.challenge-grid header small{color:var(--wine);font-size:.5rem;font-weight:900}.challenge-grid h2{margin:.15rem 0;font-family:Georgia,serif;font-size:1.2rem;font-weight:500}.challenge-grid header>b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#dcefe1;color:#36724a}
.challenge-grid>article>p{margin:0;color:var(--muted);font-size:.65rem}
.challenge-progress-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:9px}.challenge-progress-row strong{color:var(--wine);font-size:.58rem}
.challenge-grid footer{display:flex;justify-content:space-between;font-size:.57rem}.challenge-grid footer b{color:var(--wine)}

.challenge-coach-link,.coach-challenge-banner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff9}
.challenge-coach-link>span,.coach-challenge-banner>span{font-size:1.3rem}
.challenge-coach-link small,.coach-challenge-banner small{color:var(--wine);font-size:.5rem;font-weight:900}
.challenge-coach-link strong,.coach-challenge-banner strong{display:block;font-size:.72rem}
.challenge-coach-link b,.coach-challenge-banner b{color:var(--wine);font-size:.6rem}

.dashboard-discovery-tools{grid-template-columns:repeat(14,1fr)}

@media(max-width:1050px){
 .achievement-grid{grid-template-columns:repeat(2,1fr)}
 .dashboard-discovery-tools{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:720px){
 .achievement-hero,.challenge-hero{display:grid}
 .achievement-count,.challenge-week-score{justify-self:start}
 .achievement-grid,.challenge-grid{grid-template-columns:1fr}
 .challenge-coach-link,.coach-challenge-banner{grid-template-columns:auto 1fr}
 .challenge-coach-link>b,.coach-challenge-banner>b{grid-column:2}
 .dashboard-discovery-tools{grid-template-columns:1fr}
}


/* =========================================================
   AMPELORIA V2.4 — planificateur d'apprentissage
   ========================================================= */
.planner-page{max-width:1250px;margin:auto}
.planner-hero{display:flex;justify-content:space-between;align-items:end;gap:20px}
.planner-hero h1{margin:.3rem 0;font-family:Georgia,serif;font-size:clamp(3rem,6vw,5rem);font-weight:500}
.planner-hero p{max-width:800px;color:var(--muted)}
.planner-progress-ring{display:grid;justify-items:center;min-width:170px;padding:19px;border-radius:21px;background:#26181e;color:#fff}
.planner-progress-ring strong{font-family:Georgia,serif;font-size:2.3rem;font-weight:500}
.planner-progress-ring span{font-size:.58rem;color:#dfccd2}

.planner-settings{margin-top:18px;padding:15px;border:1px solid var(--line);border-radius:15px;background:#fff9}
.planner-settings form{display:grid;grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:8px}
.planner-settings label{display:grid;gap:4px;font-size:.62rem;font-weight:850}
.planner-settings select{min-height:40px;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff}

.planner-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}
.planner-summary article{display:grid;gap:3px;padding:13px;border:1px solid var(--line);border-radius:13px;background:#fff9}
.planner-summary span{color:var(--muted);font-size:.54rem}.planner-summary strong{font-family:Georgia,serif;font-size:1.25rem;color:var(--wine);font-weight:500}

.planner-days{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.planner-day{padding:15px;border:1px solid var(--line);border-radius:16px;background:#fff9}
.planner-day>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.planner-day>header small{color:var(--wine);font-size:.5rem;font-weight:900}.planner-day>header h2{margin:.1rem 0;font-family:Georgia,serif;font-size:1.45rem;font-weight:500}.planner-day>header>span{padding:5px 8px;border-radius:999px;background:#efe5db;color:var(--wine);font-size:.54rem;font-weight:850}

.planner-items{display:grid;gap:7px}
.planner-items>div{display:grid;grid-template-columns:30px 34px 1fr auto;align-items:center;gap:8px;padding:10px;border:1px solid var(--line);border-radius:11px;background:#faf6f1}
.planner-items>div.done{opacity:.65;background:#eef6f0}
.planner-items form button{display:grid;place-items:center;width:27px;height:27px;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--wine);cursor:pointer}
.planner-items>div.done form button{background:#d9eddf;color:#34704a}
.planner-item-icon{font-size:1.05rem}
.planner-items small{color:var(--wine);font-size:.48rem;font-weight:900}.planner-items strong{display:block;font-size:.67rem}.planner-items p{margin:.15rem 0;color:var(--muted);font-size:.55rem}
.planner-item-actions{display:grid;justify-items:end;gap:4px}.planner-item-actions span{font-size:.54rem;color:var(--muted)}.planner-item-actions a{font-size:.56rem;color:var(--wine);font-weight:850}

.coach-planner-banner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff9}
.coach-planner-banner>span{font-size:1.3rem}.coach-planner-banner small{color:var(--wine);font-size:.5rem;font-weight:900}.coach-planner-banner strong{display:block;font-size:.72rem}.coach-planner-banner b{color:var(--wine);font-size:.6rem}

.dashboard-discovery-tools{grid-template-columns:repeat(15,1fr)}

@media(max-width:1050px){
 .planner-settings form{grid-template-columns:1fr 1fr}
 .planner-settings .button{grid-column:1/-1}
 .planner-summary{grid-template-columns:repeat(2,1fr)}
 .dashboard-discovery-tools{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:720px){
 .planner-hero{display:grid}
 .planner-progress-ring{justify-self:start}
 .planner-settings form,.planner-summary,.planner-days{grid-template-columns:1fr}
 .planner-items>div{grid-template-columns:30px 34px 1fr}
 .planner-item-actions{grid-column:3;justify-items:start}
 .coach-planner-banner{grid-template-columns:auto 1fr}
 .coach-planner-banner>b{grid-column:2}
 .dashboard-discovery-tools{grid-template-columns:1fr}
}


/* =========================================================
   AMPELORIA V2.5 — sommelier personnel & cave intelligente
   ========================================================= */
.sommelier-page{max-width:1250px;margin:auto}
.sommelier-hero{display:flex;justify-content:space-between;align-items:end;gap:20px}
.sommelier-hero h1{margin:.3rem 0;font-family:Georgia,serif;font-size:clamp(3rem,6vw,5rem);font-weight:500}
.sommelier-hero p{max-width:800px;color:var(--muted)}
.sommelier-profile{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;min-width:240px;padding:15px;border:1px solid var(--line);border-radius:17px;background:#fff9}
.sommelier-profile>span{font-size:1.5rem}.sommelier-profile small{color:var(--wine);font-size:.5rem;font-weight:900}.sommelier-profile strong{display:block;font-family:Georgia,serif;font-size:1rem;font-weight:500}.sommelier-profile p{margin:.1rem 0;color:var(--muted);font-size:.54rem}

.sommelier-form{display:grid;grid-template-columns:repeat(5,1fr) auto;align-items:end;gap:7px;margin-top:18px;padding:15px;border:1px solid var(--line);border-radius:15px;background:#fff9}
.sommelier-form label{display:grid;gap:4px;font-size:.6rem;font-weight:850}.sommelier-form select{min-height:40px;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff}

.sommelier-results{display:grid;gap:8px}
.sommelier-results>a{display:grid;grid-template-columns:42px 46px 1fr auto;align-items:center;gap:10px;padding:15px;border:1px solid var(--line);border-radius:15px;background:#fff9}
.sommelier-results>a.top{border-color:#c79d69;background:#fffaf0}
.sommelier-rank{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:#eee5dc;color:var(--wine);font-size:.55rem;font-weight:900}
.sommelier-bottle-icon{font-size:1.35rem}
.sommelier-results small{color:var(--wine);font-size:.5rem;font-weight:900}.sommelier-results h3{margin:.12rem 0;font-family:Georgia,serif;font-size:1.2rem;font-weight:500}.sommelier-results>*>div>strong{font-size:.63rem}.sommelier-results p{margin:.15rem 0;color:var(--muted);font-size:.58rem}
.sommelier-reason{margin-top:6px;color:#67584f;font-size:.56rem}
.sommelier-results aside{display:grid;justify-items:end;gap:3px}.sommelier-results aside>strong{font-family:Georgia,serif;font-size:1.35rem;color:var(--wine);font-weight:500}.sommelier-results aside>span,.sommelier-results aside>small{font-size:.52rem;color:var(--muted)}

.opening-queue{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.opening-queue>a{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:9px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff9}
.opening-queue>a>span{font-size:1.25rem}.opening-queue strong{display:block;font-size:.69rem}.opening-queue small{color:var(--muted);font-size:.52rem}.opening-queue>a>div:last-child{display:grid;justify-items:end}.opening-queue>a>div:last-child b{color:var(--wine);font-size:.68rem}

.sommelier-how{margin-top:20px;padding:18px;border:1px solid var(--line);border-radius:17px;background:#fff9}
.sommelier-how>div{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.sommelier-how article{padding:12px;border-radius:12px;background:#f4ece3}.sommelier-how article>span{color:var(--wine);font-size:.5rem;font-weight:900}.sommelier-how strong{display:block;margin-top:4px;font-size:.67rem}.sommelier-how p{margin:.2rem 0;color:var(--muted);font-size:.58rem;line-height:1.45}

.cellar-sommelier-banner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;margin-bottom:14px;padding:15px;border-radius:15px;background:linear-gradient(135deg,#5c2236,#7d3a50);color:#fff}.cellar-sommelier-banner>span{font-size:1.4rem}.cellar-sommelier-banner small{color:#efd2da;font-size:.5rem;font-weight:900}.cellar-sommelier-banner strong{display:block;font-family:Georgia,serif;font-size:1.05rem;font-weight:500}.cellar-sommelier-banner p{margin:.15rem 0;color:#eadbe0;font-size:.58rem}.cellar-sommelier-banner b{font-size:.6rem}

.dashboard-discovery-tools{grid-template-columns:repeat(16,1fr)}

@media(max-width:1050px){
 .sommelier-form{grid-template-columns:repeat(3,1fr)}.sommelier-form .button{grid-column:1/-1}
 .sommelier-how>div{grid-template-columns:repeat(2,1fr)}
 .dashboard-discovery-tools{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:720px){
 .sommelier-hero{display:grid}
 .sommelier-profile{justify-self:start}
 .sommelier-form,.opening-queue,.sommelier-how>div{grid-template-columns:1fr}
 .sommelier-results>a{grid-template-columns:34px 38px 1fr}
 .sommelier-results aside{grid-column:3;justify-items:start}
 .cellar-sommelier-banner{grid-template-columns:auto 1fr}.cellar-sommelier-banner b{grid-column:2}
 .dashboard-discovery-tools{grid-template-columns:1fr}
}


/* =========================================================
   AMPELORIA V2.6 — passeport du vin
   ========================================================= */
.passport-page{max-width:1250px;margin:auto}
.passport-hero{display:flex;justify-content:space-between;align-items:end;gap:20px}
.passport-hero h1{margin:.3rem 0;font-family:Georgia,serif;font-size:clamp(3rem,6vw,5rem);font-weight:500}
.passport-hero p{max-width:790px;color:var(--muted)}
.passport-score{display:grid;justify-items:center;min-width:170px;padding:19px;border-radius:21px;background:#26181e;color:#fff}
.passport-score strong{font-family:Georgia,serif;font-size:2.35rem;font-weight:500}
.passport-score span{font-size:.62rem}.passport-score small{margin-top:3px;color:#ddc8cf;font-size:.5rem}

.passport-type-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:18px}
.passport-type-grid article{display:grid;gap:8px;padding:13px;border:1px solid var(--line);border-radius:13px;background:#fff9}
.passport-type-grid header{display:flex;align-items:center;gap:7px}.passport-type-grid header span{font-size:1.05rem}.passport-type-grid header strong{font-size:.65rem}
.passport-type-grid footer{display:flex;justify-content:space-between;font-size:.54rem}.passport-type-grid footer b{color:var(--wine)}

.passport-next-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.passport-next-grid>article{border:1px solid var(--line);border-radius:14px;background:#fff9;overflow:hidden}
.passport-next-grid>article>a{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:9px;padding:13px}
.passport-next-grid>article>a>span{font-size:1.2rem}.passport-next-grid small{color:var(--wine);font-size:.48rem;font-weight:900}.passport-next-grid strong{display:block;font-size:.7rem}.passport-next-grid p{margin:.15rem 0;color:var(--muted);font-size:.55rem}.passport-next-grid b{color:var(--wine);font-size:.56rem}
.passport-next-grid form{display:flex;justify-content:flex-end;gap:6px;padding:8px 12px;border-top:1px solid var(--line);background:#faf6f1}.passport-next-grid input{padding:5px;border:1px solid var(--line);border-radius:7px;background:#fff;font:inherit;font-size:.55rem}.passport-next-grid button{border:0;background:none;color:var(--wine);font:inherit;font-size:.56rem;font-weight:850;cursor:pointer}

.passport-goals{display:grid;gap:7px}.passport-goals>article{display:grid;grid-template-columns:36px 1fr auto auto;align-items:center;gap:9px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff9}.passport-goals>article.completed{background:#eef6f0;border-color:#c3dcc9}.passport-goals>article>span{font-size:1.1rem}.passport-goals small{color:var(--wine);font-size:.48rem;font-weight:900}.passport-goals strong{display:block;font-size:.69rem}.passport-goals p{margin:.15rem 0;color:var(--muted);font-size:.53rem}.passport-goals>a{color:var(--wine);font-size:.55rem;font-weight:850}.passport-goals form button{border:0;background:none;color:#a34b4b;cursor:pointer}

.passport-recent{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.passport-recent>a{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:9px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff9}.passport-recent>a>span{font-size:1.1rem}.passport-recent strong{display:block;font-size:.67rem}.passport-recent small{color:var(--muted);font-size:.5rem}.passport-recent b{color:var(--wine);font-size:.58rem}

.knowledge-passport-action{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-bottom:10px}.knowledge-passport-action>span{padding:7px 9px;border-radius:999px;background:#e9f4ec;color:#34704a;font-size:.56rem;font-weight:850}.knowledge-passport-action>a{color:var(--wine);font-size:.56rem;font-weight:850}.knowledge-passport-action form button{padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--wine);font:inherit;font-size:.56rem;font-weight:850;cursor:pointer}

.coach-passport-banner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff9}
.coach-passport-banner>span{font-size:1.3rem}.coach-passport-banner small{color:var(--wine);font-size:.5rem;font-weight:900}.coach-passport-banner strong{display:block;font-size:.72rem}.coach-passport-banner b{color:var(--wine);font-size:.6rem}

.dashboard-discovery-tools{grid-template-columns:repeat(17,1fr)}

@media(max-width:1050px){
 .passport-type-grid{grid-template-columns:repeat(3,1fr)}
 .passport-recent{grid-template-columns:repeat(2,1fr)}
 .dashboard-discovery-tools{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:720px){
 .passport-hero{display:grid}.passport-score{justify-self:start}
 .passport-type-grid,.passport-next-grid,.passport-recent{grid-template-columns:1fr}
 .passport-goals>article{grid-template-columns:34px 1fr}.passport-goals>a,.passport-goals form{grid-column:2}
 .coach-passport-banner{grid-template-columns:auto 1fr}.coach-passport-banner>b{grid-column:2}
 .knowledge-passport-action{justify-content:flex-start;flex-wrap:wrap}
 .dashboard-discovery-tools{grid-template-columns:1fr}
}


/* =========================================================
   AMPELORIA V2.7 — millésimes & potentiel de garde
   ========================================================= */
.vintages-page{max-width:1250px;margin:auto}
.vintages-hero{display:flex;justify-content:space-between;align-items:end;gap:20px}
.vintages-hero h1{margin:.3rem 0;font-family:Georgia,serif;font-size:clamp(3rem,6vw,5rem);font-weight:500}
.vintages-hero p{max-width:790px;color:var(--muted)}
.vintage-hero-icon{font-size:4rem}

.vintage-filters{display:grid;grid-template-columns:180px 1fr auto auto;gap:8px;align-items:end;margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff9}
.vintage-filters label{display:grid;gap:4px;font-size:.61rem;font-weight:850}
.vintage-filters input,.vintage-filters select{min-height:40px;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff}

.vintage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:16px}
.vintage-grid>article{display:grid;gap:11px;padding:17px;border:1px solid var(--line);border-radius:16px;background:#fff9}
.vintage-grid>article>header{display:flex;justify-content:space-between;align-items:start;gap:10px}
.vintage-grid>article>header>div:first-child>span{display:block;font-family:Georgia,serif;font-size:2.1rem;color:var(--wine)}
.vintage-grid>article>header small{color:var(--muted);font-size:.54rem}
.vintage-score{display:grid;justify-items:center;padding:9px;border-radius:13px;background:#f1e7dc}.vintage-score strong{font-family:Georgia,serif;font-size:1.35rem;color:var(--wine);font-weight:500}.vintage-score small{font-size:.48rem!important}
.vintage-readiness{display:grid;gap:5px}.vintage-readiness>span{font-size:.54rem;color:var(--muted)}.vintage-readiness>strong{font-size:.58rem;color:var(--wine)}
.vintage-grid>article>p{margin:0;color:#514a46;font-size:.66rem;line-height:1.5}
.vintage-grid dl{display:grid;gap:7px;margin:0}.vintage-grid dl>div{display:grid;grid-template-columns:80px 1fr;gap:7px}.vintage-grid dt{font-size:.53rem;color:var(--muted)}.vintage-grid dd{margin:0;font-size:.58rem}
.vintage-grid footer{padding-top:9px;border-top:1px solid var(--line);color:#6a5b53;font-size:.58rem;line-height:1.45}

.cellar-aging-card{padding:20px;border:1px solid var(--line);border-radius:17px;background:#fff9;margin-bottom:10px}
.cellar-aging-card h2{font-family:Georgia,serif;font-size:1.65rem;font-weight:500}
.cellar-aging-card p{color:var(--muted);font-size:.66rem;line-height:1.5}
.aging-window{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:11px;border-radius:12px;background:#f4ece3}.aging-window strong{font-family:Georgia,serif;font-size:1.2rem;color:var(--wine);font-weight:500}.aging-window span{font-size:.55rem;color:var(--muted)}
.aging-vintage-mini{display:grid;grid-template-columns:36px 1fr;gap:8px;align-items:center;margin:10px 0;padding:10px;border:1px solid var(--line);border-radius:11px;background:#faf6f1}.aging-vintage-mini>span{font-size:1.1rem}.aging-vintage-mini small{color:var(--wine);font-size:.48rem;font-weight:900}.aging-vintage-mini strong{display:block;font-size:.62rem}

.cellar-vintage-banner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;margin-bottom:10px;padding:14px;border:1px solid var(--line);border-radius:15px;background:#fff9}
.cellar-vintage-banner>span{font-size:1.3rem}.cellar-vintage-banner small{color:var(--wine);font-size:.5rem;font-weight:900}.cellar-vintage-banner strong{display:block;font-family:Georgia,serif;font-size:1rem;font-weight:500}.cellar-vintage-banner p{margin:.15rem 0;color:var(--muted);font-size:.57rem}.cellar-vintage-banner b{color:var(--wine);font-size:.58rem}

.dashboard-discovery-tools{grid-template-columns:repeat(18,1fr)}

@media(max-width:1050px){
 .vintage-grid{grid-template-columns:repeat(2,1fr)}
 .dashboard-discovery-tools{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:720px){
 .vintages-hero{display:grid}
 .vintage-filters,.vintage-grid{grid-template-columns:1fr}
 .cellar-vintage-banner{grid-template-columns:auto 1fr}.cellar-vintage-banner b{grid-column:2}
 .dashboard-discovery-tools{grid-template-columns:1fr}
}


/* =========================================================
   AMPELORIA V2.8 — fiches encyclopédiques premium
   ========================================================= */
.premium-knowledge-page,.premium-wine-page{max-width:1280px;margin:auto}
.premium-knowledge-topline{display:flex;justify-content:flex-end;align-items:center;gap:8px;min-height:30px}
.premium-knowledge-topline span{padding:6px 9px;border-radius:999px;background:#e9f4ec;color:#34704a;font-size:.54rem;font-weight:850}
.premium-knowledge-topline a{color:var(--wine);font-size:.55rem;font-weight:850}

.knowledge-hero.premium{display:grid;grid-template-columns:82px minmax(0,1fr) auto;align-items:center;gap:18px}
.premium-entity-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:20px;background:#efe4d8;font-size:2rem}
.knowledge-hero.premium h1{margin:.25rem 0;font-size:clamp(3rem,6vw,5.2rem)}
.knowledge-hero.premium p{max-width:850px}

.premium-facts{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.premium-facts article{min-height:82px}
.premium-facts strong{line-height:1.35}

.premium-structure-card{margin:18px 0;padding:19px;border:1px solid var(--line);border-radius:18px;background:#fff9}
.premium-structure-card h2{margin:.2rem 0;font-family:Georgia,serif;font-size:1.65rem;font-weight:500}
.premium-structure-card>div{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:13px}
.premium-structure-card article>div:first-child{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px;font-size:.62rem}
.premium-structure-card article strong{color:var(--wine)}

.premium-knowledge-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px}
.premium-knowledge-main{display:grid;gap:11px;align-content:start}
.premium-knowledge-side{display:grid;gap:10px;align-content:start;position:sticky;top:90px;align-self:start}
.premium-reference-section p{font-size:.74rem;line-height:1.7;color:#504943}
.premium-memory{background:linear-gradient(135deg,#fffdf9,#f8f0e8)}

.premium-link-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:12px}
.premium-link-grid>a,.premium-lesson-list>a,.premium-pairing-grid>a{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:9px;padding:11px;border:1px solid var(--line);border-radius:11px;background:#fff}
.premium-link-grid>a>span,.premium-lesson-list>a>span,.premium-pairing-grid>a>span{font-size:1rem}
.premium-link-grid strong,.premium-lesson-list strong,.premium-pairing-grid strong{display:block;font-size:.67rem}
.premium-link-grid small,.premium-lesson-list small,.premium-pairing-grid small{color:var(--muted);font-size:.52rem;line-height:1.35}
.premium-link-grid b,.premium-lesson-list b,.premium-pairing-grid b{color:var(--wine);font-size:.57rem}

.premium-vintage-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:7px;margin-top:12px}
.premium-vintage-strip>a{display:grid;gap:3px;padding:11px;border:1px solid var(--line);border-radius:11px;background:#fff}
.premium-vintage-strip strong{font-family:Georgia,serif;font-size:1.25rem;font-weight:500;color:var(--wine)}
.premium-vintage-strip span{font-size:.6rem;font-weight:850}.premium-vintage-strip small{color:var(--muted);font-size:.5rem}

.premium-pairing-grid,.premium-lesson-list{display:grid;gap:7px;margin-top:12px}
.premium-pairing-grid{grid-template-columns:repeat(2,1fr)}
.premium-parent-region,.premium-practice-card{padding:17px;border:1px solid var(--line);border-radius:17px;background:#fff9}
.premium-parent-region{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:8px}
.premium-parent-region>span{font-size:1.2rem}.premium-parent-region small{color:var(--wine);font-size:.49rem;font-weight:900}.premium-parent-region strong{display:block;font-size:.7rem}.premium-parent-region b{color:var(--wine)}
.premium-practice-card h3{font-family:Georgia,serif;font-size:1.25rem;font-weight:500}
.premium-practice-card a{display:flex;justify-content:space-between;padding:9px 0;border-top:1px solid var(--line);color:var(--wine);font-size:.62rem;font-weight:800}

.premium-wine-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px}
.premium-wine-main{display:grid;gap:11px}
.premium-wine-side{position:sticky;top:90px;align-self:start}
.premium-wine-section{padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff9}
.premium-wine-section h2{margin:.2rem 0;font-family:Georgia,serif;font-size:1.7rem;font-weight:500}
.wine-service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}
.wine-service-grid article{display:grid;gap:4px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff}
.wine-service-grid span{color:var(--muted);font-size:.54rem}.wine-service-grid strong{font-size:.68rem;line-height:1.4}

.vintage-wine-card{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}
.vintage-wine-card>div:last-child{display:grid;align-content:center;gap:7px}
.vintage-wine-card>div:last-child>span{color:var(--muted);font-size:.56rem}.vintage-wine-card>div:last-child>strong{color:var(--wine);font-size:.66rem}.vintage-wine-card>div:last-child>small{color:var(--muted);font-size:.57rem;line-height:1.4}
.wine-detail-hero.premium{grid-template-columns:160px 1fr auto}
.wine-detail-hero.premium .knowledge-favorite{align-self:start}

@media(max-width:1050px){
 .premium-knowledge-layout,.premium-wine-layout{grid-template-columns:1fr}
 .premium-knowledge-side,.premium-wine-side{position:static}
 .premium-link-grid,.premium-pairing-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
 .knowledge-hero.premium,.wine-detail-hero.premium{grid-template-columns:1fr}
 .premium-entity-icon{width:58px;height:58px;border-radius:16px;font-size:1.6rem}
 .premium-structure-card>div,.premium-link-grid,.premium-pairing-grid,.wine-service-grid,.vintage-wine-card{grid-template-columns:1fr}
 .premium-knowledge-topline{justify-content:flex-start;flex-wrap:wrap}
}


/* =========================================================
   AMPELORIA V2.9 — navigation & recherche globale
   ========================================================= */
.site-header-v29{grid-template-columns:auto 1fr auto;gap:18px;padding-top:11px;padding-bottom:11px}
.main-nav-v29{display:flex;align-items:center;justify-content:center;gap:18px}
.main-nav-v29>a,.header-menu>summary{padding:8px 3px;border-bottom:2px solid transparent;font-size:.78rem;font-weight:850;cursor:pointer;list-style:none}
.main-nav-v29>a.active,.main-nav-v29>a:hover{color:var(--wine);border-color:var(--wine)}
.header-menu{position:relative}.header-menu>summary::-webkit-details-marker,.account-menu>summary::-webkit-details-marker,.mobile-nav-v29>summary::-webkit-details-marker{display:none}
.header-menu>summary{display:flex;align-items:center;gap:4px}.header-menu[open]>summary{color:var(--wine)}
.header-menu-panel{position:absolute;top:calc(100% + 13px);left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(3,minmax(205px,1fr));gap:14px;width:min(720px,85vw);padding:16px;border:1px solid var(--line);border-radius:16px;background:#fffdfaf7;box-shadow:0 24px 65px #38251d20;backdrop-filter:blur(16px)}
.header-menu-panel section{display:grid;align-content:start;gap:4px}
.header-menu-panel section>small{padding:3px 7px;color:var(--wine);font-size:.48rem;font-weight:950;letter-spacing:.08em}
.header-menu-panel a{display:grid;grid-template-columns:28px 1fr;align-items:center;gap:7px;padding:8px;border-radius:9px}
.header-menu-panel a:hover{background:#f4ebe2}
.header-menu-panel a>span{font-size:.95rem}.header-menu-panel strong{display:block;font-size:.62rem}.header-menu-panel em{display:block;color:var(--muted);font-size:.49rem;font-style:normal;margin-top:1px}

.header-actions-v29{align-items:center}
.account-menu{position:relative}
.account-menu>summary{display:flex;align-items:center;gap:7px;padding:4px 8px 4px 4px;border:1px solid var(--line);border-radius:999px;background:#fff8;cursor:pointer;list-style:none}
.account-dot{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:var(--wine);color:#fff;font-family:Georgia,serif;font-size:.76rem}
.account-label{font-size:.62rem;font-weight:850}
.account-menu>div{position:absolute;right:0;top:calc(100% + 8px);display:grid;min-width:185px;padding:8px;border:1px solid var(--line);border-radius:12px;background:#fffdfb;box-shadow:0 18px 50px #3b231b1c}
.account-menu>div a{padding:8px 9px;border-radius:8px;font-size:.61rem;font-weight:750}
.account-menu>div a:hover{background:#f3ebe3}
.mobile-nav-v29{display:none;position:relative}
.mobile-nav-v29>summary{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:9px;background:#fff8;cursor:pointer;list-style:none}
.mobile-nav-v29>div{position:absolute;right:0;top:calc(100% + 8px);display:grid;min-width:210px;padding:8px;border:1px solid var(--line);border-radius:12px;background:#fffdfb;box-shadow:0 18px 50px #3b231b1c}
.mobile-nav-v29>div a{padding:9px;border-radius:8px;font-size:.64rem;font-weight:800}
.mobile-nav-v29>div a:hover{background:#f3ebe3}

/* Search V2.9 */
.search-page-v29{max-width:1180px;margin:auto}
.search-hero-v29{display:flex;justify-content:space-between;align-items:end;gap:20px}
.search-hero-v29 h1{margin:.25rem 0;font-family:Georgia,serif;font-size:clamp(3rem,6vw,5rem);font-weight:500}
.search-hero-v29 p{max-width:820px;color:var(--muted)}
.search-hero-symbol{font-family:Georgia,serif;font-size:5rem;line-height:.8;color:#c2a2ac}
.search-form-v29{margin:20px 0 14px}
.search-form-v29 input{font-size:.86rem}

.search-start-v29{margin-top:18px}.search-start-v29 h2{margin:.2rem 0;font-family:Georgia,serif;font-size:1.6rem;font-weight:500}
.search-start-v29>div{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}
.search-start-v29 a{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:8px;padding:11px;border:1px solid var(--line);border-radius:11px;background:#fff9}
.search-start-v29 a>span{font-size:1rem}.search-start-v29 strong{font-size:.65rem}.search-start-v29 b{color:var(--wine)}

.search-toolbar-v29{display:flex;justify-content:space-between;align-items:start;gap:15px;margin:14px 0}
.search-facets-v29{display:flex;flex-wrap:wrap;gap:5px}
.search-facets-v29 a{display:flex;align-items:center;gap:5px;padding:6px 8px;border:1px solid var(--line);border-radius:999px;background:#fff9;font-size:.54rem;font-weight:850}
.search-facets-v29 a span{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#eee4da;color:var(--wine);font-size:.48rem}
.search-facets-v29 a.active{background:#28171e;border-color:#28171e;color:#fff}.search-facets-v29 a.active span{background:#fff2;color:#fff}
.search-sort-v29 label{display:grid;gap:3px;color:var(--muted);font-size:.5rem}.search-sort-v29 select{min-width:140px;padding:7px;border:1px solid var(--line);border-radius:8px;background:#fff;font:inherit;font-size:.57rem}

.search-results-v29>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.search-results-v29>header>div{display:flex;gap:6px;align-items:baseline}.search-results-v29>header strong{font-family:Georgia,serif;font-size:1rem;font-weight:500}.search-results-v29>header span,.search-results-v29>header small{color:var(--muted);font-size:.56rem}
.search-results-v29>div{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}
.search-results-v29>div>a{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:9px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff9}
.search-results-v29>div>a:hover{border-color:#c5a4af;transform:translateY(-1px)}
.search-results-v29 small{color:var(--wine);font-size:.48rem;font-weight:900}.search-results-v29 strong{display:block;font-size:.67rem}.search-results-v29 p{margin:.15rem 0;color:var(--muted);font-size:.54rem;line-height:1.35}.search-results-v29 b{color:var(--wine)}

/* Explore V2.9 */
.explore-page-v29{max-width:1180px;margin:auto}
.explore-hero-v29{display:flex;justify-content:space-between;align-items:end;gap:20px}.explore-hero-v29 h1{margin:.25rem 0;font-family:Georgia,serif;font-size:clamp(3rem,6vw,5rem);font-weight:500}.explore-hero-v29 p{max-width:800px;color:var(--muted)}
.explore-section-v29{margin-top:24px}.explore-section-v29>header h2{margin:.2rem 0;font-family:Georgia,serif;font-size:1.6rem;font-weight:500}
.explore-grid-v29{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.explore-grid-v29.featured{grid-template-columns:repeat(2,1fr)}.explore-grid-v29.compact{grid-template-columns:repeat(4,1fr)}
.explore-grid-v29>a{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:9px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff9}
.explore-grid-v29>a:hover{border-color:#c5a4af;transform:translateY(-1px)}.explore-grid-v29>a>span{font-size:1.15rem}.explore-grid-v29 strong{display:block;font-size:.69rem}.explore-grid-v29 small{display:block;margin-top:2px;color:var(--muted);font-size:.54rem;line-height:1.35}.explore-grid-v29 b{color:var(--wine)}
.explore-section-v29.personal{padding:18px;border-radius:18px;background:#f1e7dd}.explore-section-v29.personal .explore-grid-v29>a{background:#fff}

@media(max-width:1100px){
 .site-header-v29{grid-template-columns:auto 1fr auto}
 .main-nav-v29{gap:11px}
 .account-label{display:none}
 .header-menu-panel{left:auto;right:-110px;transform:none}
 .search-results-v29>div{grid-template-columns:1fr}
 .explore-grid-v29.compact{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
 .main-nav-v29{display:none}
 .mobile-nav-v29{display:block}
 .header-actions-v29>.header-favorite-link{display:none}
 .header-actions-v29>.account-menu{display:none}
 .search-start-v29>div,.explore-grid-v29,.explore-grid-v29.featured{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
 .site-header-v29{padding:9px 11px;gap:8px}
 .brand small{display:none}
 .brand>span:last-child strong{font-size:.82rem}
 .header-actions-v29{gap:5px}
 .header-actions-v29>.button{display:none}
 .search-hero-v29,.explore-hero-v29{display:grid}
 .search-hero-symbol{display:none}
 .search-toolbar-v29{display:grid}
 .search-sort-v29{justify-self:start}
 .search-start-v29>div,.explore-grid-v29,.explore-grid-v29.featured,.explore-grid-v29.compact{grid-template-columns:1fr}
 .search-form-v29{grid-template-columns:auto 1fr}.search-form-v29 .button{grid-column:1/-1}
}


/* =========================================================
   AMPELORIA V3.0 — durcissement & santé technique
   ========================================================= */
.health-page{max-width:1180px;margin:auto}
.health-hero{display:flex;justify-content:space-between;align-items:end;gap:20px}
.health-hero h1{margin:.25rem 0;font-family:Georgia,serif;font-size:clamp(3rem,6vw,4.8rem);font-weight:500}
.health-hero p{max-width:760px;color:var(--muted)}
.health-score{display:grid;justify-items:center;min-width:170px;padding:18px;border-radius:20px}
.health-score.good{background:#e8f4eb;color:#34704a}.health-score.medium{background:#fff2d7;color:#8b681c}.health-score.bad{background:#f7e7e7;color:#963f3f}
.health-score strong{font-family:Georgia,serif;font-size:2rem;font-weight:500}.health-score span{font-size:.55rem}
.health-migration-callout{display:grid;grid-template-columns:40px 1fr;align-items:center;gap:9px;margin:16px 0;padding:14px;border:1px solid #d8bd78;border-radius:14px;background:#fff7df}
.health-migration-callout>span{font-size:1.25rem}.health-migration-callout strong{font-size:.7rem}.health-migration-callout p{margin:.15rem 0;color:#6e6040;font-size:.59rem}
.health-check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:18px}
.health-check-grid>article{display:grid;grid-template-columns:32px 1fr;align-items:center;gap:8px;padding:11px;border:1px solid var(--line);border-radius:11px;background:#fff9}
.health-check-grid>article>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;font-weight:900}
.health-check-grid>article.ok>span{background:#dcefe1;color:#34704a}.health-check-grid>article.fail>span{background:#f5dddd;color:#963f3f}
.health-check-grid strong{display:block;font-size:.65rem}.health-check-grid small{display:block;margin-top:2px;color:var(--muted);font-size:.51rem}
.health-actions{display:flex;gap:8px;margin-top:14px}
.tasting-journal-links select{min-height:40px;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff}
@media(max-width:720px){.health-hero{display:grid}.health-score{justify-self:start}.health-check-grid{grid-template-columns:1fr}}


/* =========================================================
   AMPELORIA V3.2 — guidage & simplicité
   ========================================================= */
.knowledge-breadcrumb.guided{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.knowledge-breadcrumb.guided>a:first-child{font-weight:900;color:var(--wine)}
.guided-why-card{margin:12px 0 16px;padding:12px 14px;border:1px solid #ddcdbf;border-radius:13px;background:#fff8f0}
.guided-why-card>span{display:block;color:var(--wine);font-size:.52rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.guided-why-card p{margin:.3rem 0 0;color:#5a504a;font-size:.64rem;line-height:1.5}

.guided-details{border:1px solid var(--line);border-radius:14px;background:#fff9;overflow:hidden}
.guided-details>summary{cursor:pointer;list-style:none;padding:12px 14px;font-size:.63rem;font-weight:900;color:var(--wine)}
.guided-details>summary::-webkit-details-marker{display:none}
.guided-details>summary:after{content:'+';float:right}
.guided-details[open]>summary:after{content:'−'}
.guided-details>article{border:0;border-top:1px solid var(--line);border-radius:0;margin:0}
.guided-details + .guided-details{margin-top:8px}

.guided-connections a{grid-template-columns:1fr auto}
.guided-connections a small{grid-column:1}
.guided-connections a strong{grid-column:1}
.guided-connections a>span{grid-column:2;grid-row:1/3}
.guided-muted{color:var(--muted);font-size:.58rem}

.premium-knowledge-side .knowledge-links h2{font-size:1.15rem}
.premium-knowledge-side .knowledge-links{padding:15px}
.premium-practice-card a{font-size:.59rem}

@media(max-width:720px){
 .guided-why-card{padding:10px 11px}
 .guided-details>summary{padding:11px}
}


/* =========================================================
   AMPELORIA V3.2.1 — leçons plus riches + navigation mobile
   ========================================================= */
.lesson-content-v3{max-width:980px}
.lesson-block-v3>p{max-width:820px;font-size:.9rem;line-height:1.72}
.lesson-block-v3 h2{max-width:820px}
.lesson-stepper.dynamic-stepper{
    display:flex;
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scrollbar-width:thin;
    gap:6px;
    padding-bottom:9px;
}
.lesson-stepper.dynamic-stepper button{
    flex:0 0 min(150px,19vw);
    padding:7px 8px;
}
.lesson-stepper.dynamic-stepper button small{
    max-width:135px;
    line-height:1.15;
}
.lesson-force-paint{transform:translateZ(0)}

.lesson-mobile-map{display:none;margin:0 0 18px;border:1px solid var(--line);border-radius:14px;background:#fff9;overflow:hidden}
.lesson-mobile-map>summary{display:flex;align-items:center;gap:7px;padding:12px 13px;cursor:pointer;list-style:none;color:var(--wine);font-size:.67rem;font-weight:900}
.lesson-mobile-map>summary::-webkit-details-marker{display:none}
.lesson-mobile-map>summary span{margin-left:auto;color:var(--muted);font-weight:700;font-size:.56rem}
.lesson-mobile-map>div{display:grid;border-top:1px solid var(--line)}
.lesson-mobile-map a{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:8px;padding:10px 12px;border-top:1px solid #eee5db;font-size:.62rem}
.lesson-mobile-map a:first-child{border-top:0}
.lesson-mobile-map a.active{background:#f5e9ed;color:var(--wine)}
.lesson-mobile-map a b{font-size:.55rem}
.lesson-mobile-map a em{font-style:normal;color:var(--muted);font-size:.52rem}

.lesson-linked-knowledge .lesson-linked-grid{grid-template-columns:repeat(3,1fr)}
.lesson-linked-knowledge>h2{max-width:680px;font-size:1.55rem}

@media(max-width:1000px){
    .lesson-mobile-map{display:block}
    .learning-map-page{padding-top:38px}
    .learning-map-paths{display:block}
    .learning-path-map{margin-bottom:14px}
}

@media(max-width:780px){
    .lesson-stepper.dynamic-stepper{
        position:sticky;
        top:62px;
        margin-left:-16px;
        margin-right:-16px;
        border-left:0;
        border-right:0;
        border-radius:0;
        padding-left:12px;
        padding-right:12px;
    }
    .lesson-stepper.dynamic-stepper button{flex-basis:126px;min-height:58px}
    .lesson-stepper.dynamic-stepper button small{font-size:.53rem}
    .lesson-block-v3{scroll-margin-top:155px}
    .lesson-linked-knowledge .lesson-linked-grid{grid-template-columns:1fr}
    .learning-map-page{padding-left:14px;padding-right:14px}
    .learning-path-map{padding:13px}
    .learning-map-modules>section{padding:11px}
    .learning-map-lessons>a,.learning-map-lessons>article{min-height:62px}
}


/* =========================================================
   AMPELORIA V3.2.2 — stepper leçon, version épurée
   ========================================================= */
.lesson-stepper-shell{
    position:sticky;
    top:72px;
    z-index:10;
    margin:24px 0 30px;
    padding:10px 12px 11px;
    border:1px solid rgba(104,31,54,.10);
    border-radius:16px;
    background:rgba(246,240,232,.96);
    backdrop-filter:blur(14px);
    box-shadow:0 10px 30px rgba(50,25,29,.035);
}
.lesson-stepper-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:0 3px 8px;
    color:var(--muted);
    font-size:.52rem;
    font-weight:750;
}
.lesson-stepper-meta>span{
    text-transform:uppercase;
    letter-spacing:.08em;
}
.lesson-stepper-meta small{
    font-size:.53rem;
}
.lesson-stepper-meta b{
    color:var(--wine);
    font-size:.65rem;
}

.lesson-stepper.dynamic-stepper{
    position:relative;
    top:auto;
    z-index:auto;
    display:grid;
    grid-template-columns:repeat(var(--lesson-step-count),minmax(0,1fr));
    gap:0;
    margin:0;
    padding:0;
    overflow:visible;
    border:0;
    border-radius:0;
    background:transparent;
    backdrop-filter:none;
    scrollbar-width:none;
}
.lesson-stepper.dynamic-stepper::-webkit-scrollbar{display:none}
.lesson-stepper.dynamic-stepper:before{
    content:"";
    position:absolute;
    left:4%;
    right:4%;
    top:14px;
    height:1px;
    background:#ddd0c4;
    z-index:0;
}
.lesson-stepper.dynamic-stepper button{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-rows:28px auto;
    align-items:start;
    justify-items:center;
    gap:5px;
    min-width:0;
    min-height:56px;
    padding:0 4px 4px;
    border:0;
    border-radius:0;
    background:transparent!important;
    box-shadow:none!important;
}
.lesson-stepper.dynamic-stepper button span{
    width:28px;
    height:28px;
    border:1px solid #dfd2c7;
    background:#f1e8de;
    color:#7b4555;
    transition:.18s ease;
}
.lesson-stepper.dynamic-stepper button small{
    max-width:92px;
    color:#5d5651;
    font-size:.49rem;
    font-weight:750;
    line-height:1.18;
    text-align:center;
    transition:.18s ease;
}
.lesson-stepper.dynamic-stepper button:hover span{
    border-color:#b88a99;
    background:#eadbe0;
}
.lesson-stepper.dynamic-stepper button.active span{
    border-color:var(--wine);
    background:var(--wine);
    color:#fff;
    transform:scale(1.04);
}
.lesson-stepper.dynamic-stepper button.active small{
    color:var(--wine);
    font-weight:950;
}
.lesson-stepper.dynamic-stepper button.active:after{
    content:"";
    position:absolute;
    left:50%;
    bottom:-11px;
    width:38px;
    height:2px;
    border-radius:999px;
    background:var(--wine);
    transform:translateX(-50%);
}

/* Les blocs "Cause" restent utiles, mais deviennent beaucoup moins lourds visuellement. */
.lesson-insight-grid{
    gap:7px;
    margin-top:16px;
}
.lesson-insight-grid article{
    min-height:96px;
    padding:13px 14px;
    border-color:#e6dbd0;
    border-radius:12px;
    background:rgba(255,255,255,.52);
}
.lesson-insight-grid span{font-size:.5rem}
.lesson-insight-grid strong{font-size:1rem}
.lesson-insight-grid p{font-size:.65rem;line-height:1.35}

@media(max-width:1000px){
    .lesson-stepper-shell{top:68px}
    .lesson-stepper.dynamic-stepper{
        display:flex;
        gap:3px;
        margin:0 -3px;
        padding:0 3px 3px;
        overflow-x:auto;
        scroll-snap-type:x proximity;
        overscroll-behavior-x:contain;
    }
    .lesson-stepper.dynamic-stepper:before{display:none}
    .lesson-stepper.dynamic-stepper button{
        flex:0 0 96px;
        scroll-snap-align:center;
    }
}

@media(max-width:680px){
    .lesson-stepper-shell{
        top:60px;
        margin:18px -16px 24px;
        padding:9px 10px 10px;
        border-left:0;
        border-right:0;
        border-radius:0;
    }
    .lesson-stepper-meta{padding-left:5px;padding-right:5px}
    .lesson-stepper.dynamic-stepper button{flex-basis:90px}
    .lesson-stepper.dynamic-stepper button small{max-width:84px;font-size:.48rem}
}


/* =========================================================
   AMPELORIA V3.2.3 — correctif étapes tactiles mobile
   ========================================================= */
.lesson-stepper.dynamic-stepper{
    -webkit-overflow-scrolling:touch;
    touch-action:pan-x;
}
.lesson-stepper.dynamic-stepper button{
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
    cursor:pointer;
    user-select:none;
    -webkit-user-select:none;
}
.lesson-stepper.dynamic-stepper button:active span{
    transform:scale(.94);
}
@media(max-width:1000px){
    .lesson-stepper.dynamic-stepper{
        scroll-behavior:smooth;
        scroll-padding-inline:42%;
    }
    .lesson-stepper.dynamic-stepper button{
        min-width:96px;
        pointer-events:auto;
    }
}


/* =========================================================
   AMPELORIA V3.2.4 — progression responsive
   ========================================================= */
.lesson-stepper-shell{
    overflow:hidden;
}
.lesson-stepper-meta{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:end;
    gap:12px;
    padding-bottom:10px;
}
.lesson-stepper-meta>div{
    min-width:0;
    display:grid;
    gap:2px;
}
.lesson-stepper-meta>div>span{
    color:var(--muted);
    font-size:.48rem;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.lesson-stepper-meta>div>strong{
    overflow:hidden;
    color:#3d3332;
    font-family:Georgia,serif;
    font-size:.86rem;
    font-weight:500;
    line-height:1.2;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.lesson-stepper.dynamic-stepper{
    position:relative;
    display:grid;
    grid-template-columns:repeat(var(--lesson-step-count),1fr);
    min-height:30px;
}
.lesson-stepper.dynamic-stepper:before{
    left:14px;
    right:14px;
    top:14px;
}
.lesson-stepper.dynamic-stepper:after{
    content:"";
    position:absolute;
    z-index:0;
    left:14px;
    top:14px;
    width:calc((100% - 28px) * var(--lesson-progress) / 100);
    height:2px;
    border-radius:999px;
    background:var(--wine);
    transition:width .18s ease;
}
.lesson-stepper.dynamic-stepper button{
    min-width:0;
    min-height:34px;
    grid-template-rows:28px;
    padding:0;
}
.lesson-stepper.dynamic-stepper button small{
    display:none;
}
.lesson-stepper.dynamic-stepper button span{
    width:27px;
    height:27px;
    font-size:.54rem;
}

/* Écrans intermédiaires : priorité au contenu, pas à la sidebar. */
@media(max-width:1250px){
    .lesson-layout{
        grid-template-columns:minmax(0,1fr);
    }
    .lesson-sidebar{
        display:none;
    }
    .lesson-content-v3{
        width:min(100%,920px);
        max-width:none;
        margin-inline:auto;
    }
    .lesson-stepper-shell{
        top:68px;
    }
}

/* Mobile : une vraie barre compacte, sans carrousel horizontal. */
@media(max-width:760px){
    .lesson-stepper-shell{
        top:58px;
        margin:16px -14px 22px;
        padding:9px 14px 11px;
        border-left:0;
        border-right:0;
        border-radius:0;
    }
    .lesson-stepper-meta{
        padding-bottom:8px;
    }
    .lesson-stepper-meta>div>strong{
        font-size:.78rem;
    }
    .lesson-stepper.dynamic-stepper{
        display:grid;
        grid-template-columns:repeat(var(--lesson-step-count),1fr);
        gap:0;
        margin:0;
        padding:0;
        overflow:visible;
        scroll-snap-type:none;
    }
    .lesson-stepper.dynamic-stepper:before{
        display:block;
    }
    .lesson-stepper.dynamic-stepper button{
        min-width:0;
        flex:none;
        scroll-snap-align:none;
        touch-action:manipulation;
    }
    .lesson-stepper.dynamic-stepper button span{
        width:24px;
        height:24px;
        font-size:.5rem;
    }
    .lesson-stepper.dynamic-stepper:before,
    .lesson-stepper.dynamic-stepper:after{
        top:12px;
    }
    .lesson-block-v3{
        scroll-margin-top:130px;
    }

    /* Oui : sur petit mobile on garde volontairement la carte masquée.
       La priorité est la lecture, la carte globale reste accessible ailleurs. */
    .lesson-mobile-map{
        display:none!important;
    }
}


/* =========================================================
   AMPELORIA V3.2.5 — contenu sans répétitions
   ========================================================= */
.concept-key-v325{
    max-width:820px;
    margin-top:14px;
    padding:14px 16px;
    border-left:3px solid var(--wine);
    border-radius:0 12px 12px 0;
    background:rgba(255,255,255,.52);
}
.concept-key-v325>span{
    display:block;
    margin-bottom:5px;
    color:var(--wine);
    font-size:.5rem;
    font-weight:950;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.concept-key-v325>p{
    margin:0;
    color:#4f4642;
    font-size:.78rem;
    line-height:1.6;
}


/* =========================================================
   AMPELORIA V3.3 — refonte visuelle générale
   Objectif : plus calme, plus premium, plus cohérent.
   ========================================================= */

:root{
    --wine:#6a1f39;
    --wine-strong:#551429;
    --wine-soft:#efe1e6;
    --cream:#f4eee6;
    --cream-deep:#ece2d7;
    --paper:#fffdf9;
    --paper-soft:#fbf7f1;
    --ink:#211c1d;
    --ink-soft:#4f4745;
    --muted:#756c67;
    --line:#e1d6ca;
    --line-strong:#d5c6b8;
    --gold:#b98e4c;
    --green:#3f5a49;
    --radius-sm:12px;
    --radius-md:18px;
    --radius-lg:26px;
    --shadow-soft:0 10px 34px rgba(54,34,29,.055);
    --shadow-card:0 18px 44px rgba(54,34,29,.075);
}

/* Global rhythm */
html{background:var(--cream)}
body{
    background:
        radial-gradient(circle at 12% 3%,rgba(255,255,255,.65),transparent 24rem),
        var(--cream);
    color:var(--ink);
    font-size:15.5px;
    line-height:1.62;
}
main{min-height:65vh}
img{max-width:100%;height:auto}
::selection{background:rgba(106,31,57,.16)}
a,button{transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
    outline:3px solid rgba(106,31,57,.18);
    outline-offset:2px;
}

/* Universal content width.
   Older pages used very wide viewport paddings and looked stretched. */
.page-shell,
.home-section{
    width:min(100%,1440px);
    margin-inline:auto;
    padding-left:clamp(20px,4.5vw,72px);
    padding-right:clamp(20px,4.5vw,72px);
}
.page-shell{padding-top:clamp(42px,5vw,72px);padding-bottom:clamp(54px,6vw,90px)}
.home-section{padding-top:clamp(64px,7vw,100px);padding-bottom:clamp(64px,7vw,100px)}

/* Typography */
.eyebrow{
    font-size:.62rem;
    letter-spacing:.135em;
}
.page-hero h1,.course-hero h1,.dashboard-hero h1{
    letter-spacing:-.035em;
}
.page-hero p,.course-hero p,.section-heading p{
    color:var(--muted);
    font-size:.94rem;
    line-height:1.65;
}
.section-heading{
    max-width:760px;
    margin-bottom:32px;
}
.section-heading h2,.split h2{
    letter-spacing:-.028em;
}

/* Header */
.site-header-v33{
    min-height:70px;
    padding:10px clamp(16px,3vw,44px);
    border-bottom:1px solid rgba(84,55,45,.09);
    background:rgba(247,241,234,.91);
    box-shadow:0 4px 22px rgba(44,28,25,.025);
}
.site-header-v33 .brand-mark{
    width:38px;
    height:38px;
    border-radius:12px;
    box-shadow:0 8px 18px rgba(106,31,57,.16);
}
.site-header-v33 .brand strong{font-size:1.06rem}
.site-header-v33 .brand small{font-size:.57rem}
.site-header-v33 .main-nav-v29{gap:22px}
.site-header-v33 .main-nav-v29>a,
.site-header-v33 .header-menu>summary{
    font-size:.72rem;
    letter-spacing:.01em;
}
.site-header-v33 .main-nav-v29>a.active{
    color:var(--wine);
    border-color:var(--wine);
}
.header-actions-v33>a:not(.button),
.header-actions-v33 .mobile-nav-v29>summary{
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    padding:0;
    border:1px solid transparent;
    border-radius:11px;
}
.header-actions-v33>a:not(.button):hover{
    border-color:var(--line);
    background:rgba(255,255,255,.6);
}
.header-menu-panel,
.account-menu>div,
.mobile-nav-v29>div{
    border-color:rgba(73,47,39,.11);
    background:rgba(255,253,249,.98);
    box-shadow:0 22px 60px rgba(44,28,25,.12);
}
.header-menu-panel a:hover,
.account-menu>div a:hover,
.mobile-nav-v29>div a:hover{
    background:#f5eee7;
}

/* Buttons */
.button{
    min-height:41px;
    padding:9px 15px;
    border-radius:11px;
    font-size:.75rem;
    font-weight:820;
}
.button.primary{
    background:linear-gradient(180deg,#74223f,var(--wine-strong));
    box-shadow:0 9px 22px rgba(106,31,57,.15);
}
.button.primary:hover{
    transform:translateY(-1px);
    box-shadow:0 13px 28px rgba(106,31,57,.2);
}
.button.ghost{
    border-color:var(--line);
    background:rgba(255,255,255,.62);
}
.button.ghost:hover{
    border-color:var(--line-strong);
    background:#fff;
}
.button.large{min-height:48px;padding:12px 18px}

/* Homepage */
.hero-v33{
    width:min(100%,1500px);
    min-height:650px;
    margin-inline:auto;
    padding:clamp(58px,7vw,96px) clamp(22px,5vw,80px);
    gap:clamp(34px,5vw,72px);
}
.hero-v33 h1{
    max-width:840px;
    font-size:clamp(3.2rem,6vw,5.9rem);
}
.hero-v33 .hero-copy>p{
    max-width:660px;
    color:var(--ink-soft);
    font-size:1rem;
}
.hero-v33 .hero-map{
    min-height:490px;
    border-radius:34px;
    border-color:rgba(106,31,57,.09);
    background:
        radial-gradient(circle at 50% 48%,rgba(255,255,255,.88) 0 36%,rgba(255,255,255,.34) 37% 58%,transparent 59%),
        linear-gradient(145deg,rgba(106,31,57,.075),rgba(185,142,76,.06));
    box-shadow:inset 0 1px rgba(255,255,255,.9);
}
.floating-card{
    border-radius:14px;
    background:rgba(255,253,249,.96);
    box-shadow:0 14px 38px rgba(47,28,25,.08);
}
.hero-stats{gap:34px}
.hero-stats strong{font-size:.9rem}
.hero-stats span{font-size:.61rem}

/* Cards system */
.universe-card,
.path-card,.reference-card,.quiz-card,
.knowledge-section,.premium-wine-section,
.tasting-phase,.tasting-detail-notes article,
.profile-competencies article,.profile-stat-card,
.dashboard-badges-mini,.course-summary,
.memory-review-card,.memory-complete,
.tasting-login-card{
    border-color:rgba(86,59,48,.12);
    background:rgba(255,253,249,.76);
    box-shadow:0 1px 0 rgba(255,255,255,.72) inset;
}
.universe-card,
.path-card,.reference-card,.quiz-card{
    border-radius:18px;
}
.universe-card{padding:22px;min-height:165px}
.universe-card:hover,
.path-card:hover,
.reference-card:hover{
    transform:translateY(-2px);
    border-color:rgba(106,31,57,.22);
    box-shadow:var(--shadow-soft);
}
.universe-card.featured{
    background:linear-gradient(145deg,#642038,#461221);
    box-shadow:0 17px 40px rgba(74,23,42,.16);
}
.universe-card h3{font-size:1.45rem}

/* Inputs/forms */
input,textarea,select{
    color:var(--ink);
}
input:not([type=checkbox]):not([type=radio]):not([type=range]),
textarea,select{
    border-color:var(--line)!important;
    border-radius:10px!important;
    background:rgba(255,255,255,.84)!important;
}
input:not([type=checkbox]):not([type=radio]):not([type=range]):focus,
textarea:focus,select:focus{
    border-color:rgba(106,31,57,.45)!important;
    box-shadow:0 0 0 3px rgba(106,31,57,.08);
}

/* Generic list/action rows */
.premium-link-grid>a,
.premium-lesson-list>a,
.premium-pairing-grid>a,
.search-results-v29>div>a,
.explore-grid-v29>a{
    border-color:rgba(86,59,48,.12);
    background:rgba(255,253,249,.78);
}
.premium-link-grid>a:hover,
.premium-lesson-list>a:hover,
.premium-pairing-grid>a:hover,
.search-results-v29>div>a:hover,
.explore-grid-v29>a:hover{
    border-color:rgba(106,31,57,.22);
    background:#fffdfa;
    box-shadow:var(--shadow-soft);
}

/* Knowledge / premium reference */
.knowledge-hero.premium,
.wine-detail-hero.premium{
    padding:10px 0 22px;
}
.knowledge-hero.premium h1,
.wine-detail-hero.premium h1{
    letter-spacing:-.035em;
}
.premium-entity-icon{
    border:1px solid rgba(106,31,57,.08);
    background:#eee2d7;
}
.premium-facts article{
    border-color:rgba(86,59,48,.11);
    background:rgba(255,253,249,.7);
}
.guided-why-card{
    border-color:rgba(106,31,57,.13);
    background:linear-gradient(90deg,rgba(106,31,57,.045),rgba(255,255,255,.5));
}
.guided-details{
    border-color:rgba(86,59,48,.12);
    background:rgba(255,253,249,.72);
}

/* Lessons */
.lesson-layout{
    gap:26px;
}
.lesson-sidebar{
    border-color:rgba(86,59,48,.11);
    background:rgba(255,253,249,.66);
}
.lesson-content-v3{
    max-width:960px;
}
.lesson-main-header{
    margin-bottom:24px;
}
.lesson-main-header h1{
    letter-spacing:-.035em;
}
.lesson-stepper-shell{
    border-color:rgba(106,31,57,.1);
    background:rgba(248,243,236,.94);
    box-shadow:0 10px 28px rgba(50,31,27,.035);
}
.lesson-block-v3{
    padding-top:34px;
    padding-bottom:38px;
    border-top-color:rgba(86,59,48,.12);
}
.lesson-block-v3 h2{
    font-size:clamp(1.85rem,3vw,2.85rem);
    line-height:1.08;
    letter-spacing:-.025em;
}
.lesson-block-v3>p,
.concept-key-v325>p{
    color:var(--ink-soft);
    font-size:.88rem;
    line-height:1.72;
}
.concept-key-v325{
    border-left-width:2px;
    background:rgba(255,255,255,.56);
}
.lesson-insight-grid article{
    background:rgba(255,253,249,.68);
}

/* Search / explorer */
.search-hero-v29 h1,
.explore-hero-v29 h1{
    max-width:900px;
    letter-spacing:-.04em;
}
.search-form-v29{
    padding:7px;
    border:1px solid rgba(86,59,48,.11);
    border-radius:14px;
    background:rgba(255,253,249,.7);
}
.explore-section-v29.personal{
    border:1px solid rgba(106,31,57,.08);
    background:#eee4da;
}

/* Footer */
.site-footer-v33{
    width:min(calc(100% - 32px),1440px);
    margin:42px auto 16px;
    padding:34px clamp(22px,4vw,54px) 18px;
    border:1px solid rgba(86,59,48,.1);
    border-radius:24px;
    background:rgba(255,253,249,.62);
}
.footer-v33-main{
    display:grid;
    grid-template-columns:minmax(260px,.9fr) minmax(420px,1.1fr);
    gap:64px;
    padding-bottom:28px;
}
.footer-v33-brand p{
    max-width:390px;
    margin:16px 0 0;
    color:var(--muted);
    font-size:.75rem;
}
.brand-footer .brand-mark{width:36px;height:36px;border-radius:11px}
.brand-footer small{display:block}
.footer-v33-nav{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
}
.footer-v33-nav section{display:grid;align-content:start;gap:8px}
.footer-v33-nav small{
    margin-bottom:3px;
    color:var(--wine);
    font-size:.52rem;
    font-weight:950;
    letter-spacing:.09em;
}
.footer-v33-nav a{
    color:var(--ink-soft);
    font-size:.69rem;
    font-weight:720;
}
.footer-v33-nav a:hover{color:var(--wine)}
.footer-v33-bottom{
    display:flex;
    justify-content:space-between;
    gap:20px;
    padding-top:15px;
    border-top:1px solid var(--line);
    color:var(--muted);
    font-size:.58rem;
}

/* Keep large grids from becoming tiny cards on medium laptops */
@media(max-width:1180px){
    .universe-grid,.path-grid,.reference-grid,.quiz-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .hero-v33{
        grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);
    }
    .hero-v33 .hero-map{min-height:430px}
    .footer-v33-main{gap:36px}
}

@media(max-width:900px){
    body{font-size:15px}
    .site-header-v33{
        grid-template-columns:auto 1fr auto;
        min-height:64px;
        padding:8px 14px;
    }
    .site-header-v33 .brand small{display:none}
    .hero-v33{
        grid-template-columns:1fr;
        min-height:auto;
        padding-top:52px;
    }
    .hero-v33 .hero-map{
        min-height:360px;
        max-width:680px;
        width:100%;
        margin-inline:auto;
    }
    .home-section,.page-shell{
        padding-left:20px;
        padding-right:20px;
    }
    .split{
        grid-template-columns:1fr;
        gap:34px;
    }
    .footer-v33-main{
        grid-template-columns:1fr;
        gap:28px;
    }
}

@media(max-width:680px){
    body{
        background:var(--cream);
        font-size:14.5px;
    }
    .page-shell{
        padding-top:34px;
        padding-bottom:54px;
        padding-left:15px;
        padding-right:15px;
    }
    .home-section{
        padding:58px 15px;
    }
    .hero-v33{
        padding:42px 15px 54px;
        gap:30px;
    }
    .hero-v33 h1{
        font-size:clamp(2.65rem,13vw,4rem);
        line-height:.99;
    }
    .hero-v33 .hero-copy>p{
        font-size:.91rem;
    }
    .hero-actions{
        display:grid;
        grid-template-columns:1fr;
    }
    .hero-stats{
        display:grid;
        grid-template-columns:repeat(3,1fr);
        gap:9px;
        margin-top:28px;
    }
    .hero-stats div{
        padding:10px 0;
    }
    .hero-stats strong{font-size:.75rem}
    .hero-stats span{font-size:.54rem}
    .hero-v33 .hero-map{min-height:310px;border-radius:24px}
    .floating-card{min-width:128px;padding:9px 10px}
    .f1{left:2%;top:11%}.f2{right:2%;top:24%}.f3{left:5%;bottom:8%}
    .wine-glass{transform:translate(-50%,-50%) scale(.82)}
    .universe-grid,.path-grid,.reference-grid,.quiz-grid{
        grid-template-columns:1fr;
    }
    .universe-card.featured{grid-column:auto}
    .universe-card{min-height:145px;padding:18px}
    .method-list>div{
        grid-template-columns:34px 1fr;
        gap:7px 10px;
    }
    .method-list>div>p{
        grid-column:2;
    }
    .cta-band{
        display:grid;
        margin:25px 15px 54px;
        padding:24px;
        border-radius:20px;
    }
    .cta-band h2{font-size:1.65rem}
    .footer-v33-nav{
        grid-template-columns:repeat(2,1fr);
        gap:24px;
    }
    .footer-v33-bottom{
        display:grid;
        gap:5px;
    }
    .site-footer-v33{
        width:calc(100% - 20px);
        margin-bottom:10px;
        padding:24px 18px 16px;
        border-radius:20px;
    }
}

/* Ultra-small phones */
@media(max-width:430px){
    .hero-stats{grid-template-columns:1fr}
    .hero-stats div{grid-template-columns:auto 1fr;align-items:baseline;gap:8px;border-top:1px solid var(--line)}
    .hero-stats span{text-align:right}
    .footer-v33-nav{grid-template-columns:1fr 1fr}
    .page-hero.compact h1{font-size:2.35rem}
}


/* =========================================================
   AMPELORIA V3.4 — direction visuelle premium
   Plus proche d'une vraie application éditoriale que d'un assemblage de cartes.
   ========================================================= */

:root{
    --wine:#681f36;
    --wine-deep:#4b1025;
    --wine-dark:#321019;
    --wine-faint:#f4e9ed;
    --cream:#f5efe7;
    --cream-2:#eee4d9;
    --paper:#fffdf9;
    --paper-2:#faf6f0;
    --ink:#1c1819;
    --ink-2:#453d3a;
    --muted:#766e68;
    --line:#e2d7ca;
    --line-soft:rgba(99,72,57,.10);
    --gold:#bd9557;
    --gold-soft:#f0e4cf;
    --shadow-xs:0 1px 2px rgba(43,27,23,.025);
    --shadow-sm:0 8px 26px rgba(43,27,23,.055);
    --shadow-md:0 18px 56px rgba(43,27,23,.085);
    --shadow-wine:0 18px 50px rgba(104,31,54,.16);
}

/* Background: calmer and more layered */
body{
    background:
        radial-gradient(900px 460px at -4% -8%,rgba(255,255,255,.82),transparent 60%),
        radial-gradient(700px 520px at 104% 8%,rgba(104,31,54,.025),transparent 65%),
        var(--cream);
}
body:before{
    content:"";
    position:fixed;
    inset:0;
    z-index:-1;
    pointer-events:none;
    opacity:.24;
    background-image:
        linear-gradient(rgba(87,60,48,.018) 1px,transparent 1px),
        linear-gradient(90deg,rgba(87,60,48,.014) 1px,transparent 1px);
    background-size:56px 56px;
}

/* Better reading container */
.page-shell{
    width:min(100%,1380px);
}
.page-shell.design-v34{
    padding-top:clamp(48px,5vw,78px);
}
.design-v34>section + section{
    margin-top:clamp(28px,4vw,52px);
}

/* Header: stronger identity and app feel */
.site-header-v34{
    top:10px;
    width:min(calc(100% - 24px),1500px);
    margin:10px auto 0;
    border:1px solid rgba(73,46,38,.08);
    border-radius:18px;
    background:rgba(255,252,247,.88);
    box-shadow:0 10px 34px rgba(43,27,23,.055);
    backdrop-filter:blur(22px) saturate(125%);
}
.site-header-v34 .brand{
    gap:10px;
}
.site-header-v34 .brand-mark{
    background:
        linear-gradient(145deg,#772745 0%,#54142c 72%);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 9px 20px rgba(104,31,54,.18);
}
.site-header-v34 .brand strong{
    letter-spacing:-.02em;
}
.site-header-v34 .main-nav-v29>a,
.site-header-v34 .header-menu>summary{
    position:relative;
    border:0;
    padding:10px 8px;
}
.site-header-v34 .main-nav-v29>a:after{
    content:"";
    position:absolute;
    left:50%;
    right:50%;
    bottom:3px;
    height:2px;
    border-radius:999px;
    background:var(--wine);
    transition:left .18s ease,right .18s ease;
}
.site-header-v34 .main-nav-v29>a:hover:after,
.site-header-v34 .main-nav-v29>a.active:after{
    left:8px;
    right:8px;
}
.site-header-v34 .main-nav-v29>a.active{
    color:var(--wine);
}

/* Hero/editorial headers */
.page-hero,
.course-hero,
.dashboard-hero,
.search-hero-v29,
.explore-hero-v29{
    position:relative;
    padding:0 0 clamp(28px,3vw,42px);
}
.page-hero:after,
.course-hero:after,
.dashboard-hero:after,
.search-hero-v29:after,
.explore-hero-v29:after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:min(120px,22vw);
    height:3px;
    border-radius:99px;
    background:linear-gradient(90deg,var(--wine),var(--gold));
}
.page-hero h1,
.course-hero h1,
.dashboard-hero h1,
.search-hero-v29 h1,
.explore-hero-v29 h1{
    max-width:960px;
    font-size:clamp(2.8rem,5vw,5.2rem);
    line-height:.98;
    letter-spacing:-.045em;
}
.page-hero p,
.course-hero p,
.dashboard-hero p{
    max-width:720px;
    margin-top:14px;
}

/* Home hero: more editorial, less decorative-dashboard */
.hero-v33{
    position:relative;
    width:min(calc(100% - 24px),1500px);
    min-height:620px;
    margin:14px auto 0;
    padding:clamp(64px,7vw,104px) clamp(28px,5vw,84px);
    border:1px solid rgba(74,48,39,.08);
    border-radius:30px;
    overflow:hidden;
    background:
        linear-gradient(120deg,rgba(255,253,249,.96),rgba(250,244,237,.92));
    box-shadow:var(--shadow-md);
}
.hero-v33:before{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    right:-90px;
    top:-120px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(104,31,54,.10),rgba(104,31,54,0) 70%);
}
.hero-v33:after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:42%;
    height:4px;
    background:linear-gradient(90deg,var(--wine),var(--gold),transparent);
}
.hero-v33 .hero-copy{position:relative;z-index:1}
.hero-v33 .eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    width:auto;
    padding:7px 10px;
    border:1px solid rgba(104,31,54,.10);
    border-radius:999px;
    background:var(--wine-faint);
}
.hero-v33 h1{
    max-width:780px;
    margin-top:18px;
    font-size:clamp(3.5rem,6vw,6.4rem);
    line-height:.93;
    letter-spacing:-.055em;
}
.hero-v33 .hero-copy>p{
    max-width:590px;
    font-size:1.03rem;
    line-height:1.7;
}
.hero-v33 .hero-map{
    min-height:450px;
    border:1px solid rgba(104,31,54,.08);
    border-radius:28px;
    background:
        radial-gradient(circle at 50% 50%,rgba(255,255,255,.92) 0 34%,rgba(255,255,255,.42) 35% 56%,transparent 57%),
        linear-gradient(145deg,rgba(104,31,54,.055),rgba(189,149,87,.055));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.hero-v33 .wine-glass{
    filter:drop-shadow(0 22px 26px rgba(104,31,54,.12));
}
.hero-v33 .floating-card{
    border:1px solid rgba(80,52,43,.09);
    background:rgba(255,253,249,.95);
    box-shadow:0 12px 34px rgba(50,31,27,.075);
}
.hero-v33 .hero-stats{
    margin-top:34px;
    padding-top:22px;
    border-top:1px solid var(--line-soft);
}

/* Cards: convert into stronger editorial tiles */
.universe-grid,
.path-grid,
.reference-grid,
.quiz-grid{
    gap:14px;
}
.universe-card,
.path-card,
.reference-card,
.quiz-card{
    position:relative;
    overflow:hidden;
    border:1px solid var(--line-soft);
    border-radius:20px;
    background:linear-gradient(180deg,rgba(255,253,249,.94),rgba(250,246,240,.92));
    box-shadow:var(--shadow-xs);
}
.universe-card:after,
.path-card:after,
.reference-card:after,
.quiz-card:after{
    content:"";
    position:absolute;
    inset:auto 18px 0;
    height:2px;
    border-radius:999px;
    background:linear-gradient(90deg,transparent,rgba(104,31,54,.24),transparent);
    opacity:0;
    transform:translateY(2px);
    transition:.2s ease;
}
.universe-card:hover:after,
.path-card:hover:after,
.reference-card:hover:after,
.quiz-card:hover:after{
    opacity:1;
    transform:none;
}
.universe-card:hover,
.path-card:hover,
.reference-card:hover,
.quiz-card:hover{
    transform:translateY(-3px);
    border-color:rgba(104,31,54,.18);
    box-shadow:var(--shadow-sm);
}
.universe-card.featured{
    background:
        radial-gradient(circle at 100% 0,rgba(255,255,255,.08),transparent 40%),
        linear-gradient(145deg,#65203a,#42101f);
    border-color:rgba(255,255,255,.08);
    box-shadow:var(--shadow-wine);
}
.universe-card.featured:after{display:none}

/* Explore / search: less boxes, clearer hierarchy */
.explore-section-v29{
    padding:22px 0 0;
    border-top:1px solid var(--line-soft);
}
.explore-section-v29:first-of-type{
    border-top:0;
}
.explore-section-v29>header{
    margin-bottom:14px;
}
.explore-grid-v29{
    gap:10px;
}
.explore-grid-v29>a,
.search-results-v29>div>a{
    border-radius:15px;
    background:rgba(255,253,249,.7);
    box-shadow:none;
}
.explore-grid-v29>a:hover,
.search-results-v29>div>a:hover{
    transform:translateY(-2px);
    background:#fffdfa;
    box-shadow:var(--shadow-sm);
}
.search-form-v29{
    box-shadow:var(--shadow-sm);
}

/* Knowledge sheets: more editorial page, fewer card stacks */
.knowledge-page,
.wine-detail-page{
    max-width:1280px;
}
.knowledge-hero.premium,
.wine-detail-hero.premium{
    padding:18px 0 28px;
}
.knowledge-hero.premium h1,
.wine-detail-hero.premium h1{
    font-size:clamp(3rem,5vw,5.2rem);
}
.premium-facts{
    gap:8px;
    padding:10px 0 26px;
    border-bottom:1px solid var(--line-soft);
}
.premium-facts article{
    border:0;
    border-right:1px solid var(--line-soft);
    border-radius:0;
    background:transparent;
}
.premium-facts article:last-child{
    border-right:0;
}
.guided-why-card{
    margin:10px 0 26px;
    padding:14px 16px;
    border:0;
    border-left:3px solid var(--wine);
    border-radius:0 12px 12px 0;
    background:rgba(104,31,54,.035);
}
.premium-knowledge-layout{
    gap:36px;
}
.premium-knowledge-main>.knowledge-section,
.premium-knowledge-main>.guided-details,
.premium-wine-main>.premium-wine-section,
.premium-wine-main>.guided-details{
    border-radius:16px;
}
.guided-details{
    background:rgba(255,253,249,.55);
}
.guided-details>summary{
    padding:14px 16px;
}
.premium-knowledge-side{
    position:sticky;
    top:104px;
    align-self:start;
}
.guided-connections{
    border:1px solid var(--line-soft);
    border-radius:18px;
    background:rgba(255,253,249,.66);
}

/* Lessons: feel like reading, not operating a dashboard */
.lesson-page-v34{
    width:min(100%,1400px);
    margin-inline:auto;
    padding:clamp(38px,4.5vw,66px) clamp(18px,4vw,60px) 80px;
}
.lesson-page-v34 .lesson-layout{
    gap:34px;
}
.lesson-page-v34 .lesson-sidebar{
    border:0;
    border-right:1px solid var(--line-soft);
    border-radius:0;
    background:transparent;
    padding-right:18px;
}
.lesson-page-v34 .lesson-content-v3{
    max-width:920px;
}
.lesson-page-v34 .lesson-main-header{
    padding-bottom:24px;
    border-bottom:1px solid var(--line-soft);
}
.lesson-page-v34 .lesson-main-header h1{
    max-width:780px;
    font-size:clamp(2.8rem,4.8vw,4.7rem);
    line-height:1;
}
.lesson-page-v34 .lesson-stepper-shell{
    top:96px;
    margin:22px 0 14px;
    padding:10px 14px 12px;
    border:1px solid rgba(104,31,54,.08);
    border-radius:14px;
    background:rgba(250,245,239,.94);
    box-shadow:0 10px 30px rgba(43,27,23,.04);
}
.lesson-page-v34 .lesson-block-v3{
    padding:44px 0 48px;
}
.lesson-page-v34 .lesson-block-v3 h2{
    max-width:760px;
    font-size:clamp(2rem,3vw,3rem);
}
.lesson-page-v34 .concept-key-v325{
    margin-top:18px;
    padding:16px 18px;
    border-left:2px solid var(--wine);
    border-radius:0 12px 12px 0;
    background:linear-gradient(90deg,rgba(104,31,54,.045),rgba(255,255,255,.38));
}
.lesson-page-v34 .lesson-insight-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}
.lesson-page-v34 .lesson-insight-grid article{
    min-height:116px;
    padding:16px;
    border:1px solid var(--line-soft);
    border-radius:14px;
    background:rgba(255,253,249,.66);
}
.lesson-page-v34 .practice-block{
    border:1px solid rgba(104,31,54,.10);
    border-radius:18px;
    background:linear-gradient(180deg,#fffdfa,#faf4ee);
}

/* Dashboard/profile: make data feel lighter */
.dashboard-grid,
.profile-grid{
    gap:14px;
}
.dashboard-grid>section,
.profile-grid>section{
    border:1px solid var(--line-soft);
    border-radius:18px;
    background:rgba(255,253,249,.68);
    box-shadow:none;
}

/* Tags/badges */
.tag,
.badge,
.chip,
.eyebrow{
    font-weight:850;
}

/* Footer more elegant */
.site-footer-v34{
    width:min(calc(100% - 24px),1500px);
    margin-top:68px;
    border:1px solid rgba(73,46,38,.08);
    background:
        linear-gradient(180deg,rgba(255,253,249,.74),rgba(248,242,235,.82));
    box-shadow:0 12px 40px rgba(43,27,23,.045);
}
.footer-v33-bottom{
    opacity:.85;
}

/* Medium screens: deliberately simplify */
@media(max-width:1180px){
    .site-header-v34{
        width:calc(100% - 16px);
        margin-top:8px;
    }
    .page-shell{
        padding-left:28px;
        padding-right:28px;
    }
    .lesson-page-v34{
        padding-left:28px;
        padding-right:28px;
    }
    .lesson-page-v34 .lesson-layout{
        grid-template-columns:1fr;
    }
    .lesson-page-v34 .lesson-sidebar{
        display:none;
    }
    .lesson-page-v34 .lesson-content-v3{
        max-width:940px;
        margin-inline:auto;
    }
    .premium-knowledge-layout,
    .premium-wine-layout{
        grid-template-columns:1fr;
    }
    .premium-knowledge-side,
    .premium-wine-side{
        position:static;
    }
}

@media(max-width:900px){
    .site-header-v34{
        border-radius:14px;
    }
    .hero-v33{
        width:calc(100% - 16px);
        border-radius:24px;
    }
    .page-shell{
        padding-left:20px;
        padding-right:20px;
    }
    .premium-facts{
        grid-template-columns:repeat(2,1fr);
    }
    .premium-facts article{
        border-right:0;
        border-bottom:1px solid var(--line-soft);
        padding-bottom:10px;
    }
    .lesson-page-v34{
        padding-left:20px;
        padding-right:20px;
    }
    .lesson-page-v34 .lesson-insight-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:680px){
    body:before{display:none}
    .site-header-v34{
        top:6px;
        width:calc(100% - 10px);
        margin-top:5px;
        border-radius:12px;
    }
    .site-header-v34 .brand-mark{
        width:34px;
        height:34px;
    }
    .hero-v33{
        width:calc(100% - 10px);
        margin-top:6px;
        padding:42px 16px 48px;
        border-radius:18px;
        box-shadow:0 10px 30px rgba(43,27,23,.055);
    }
    .hero-v33 h1{
        font-size:clamp(2.8rem,13vw,4.2rem);
    }
    .hero-v33 .hero-map{
        min-height:290px;
        border-radius:18px;
    }
    .page-shell{
        padding-left:15px;
        padding-right:15px;
    }
    .page-hero h1,
    .course-hero h1,
    .dashboard-hero h1,
    .search-hero-v29 h1,
    .explore-hero-v29 h1{
        font-size:clamp(2.55rem,11vw,3.6rem);
    }
    .premium-facts{
        grid-template-columns:1fr;
    }
    .knowledge-hero.premium h1,
    .wine-detail-hero.premium h1{
        font-size:clamp(2.6rem,11vw,3.8rem);
    }
    .lesson-page-v34{
        padding:28px 14px 56px;
    }
    .lesson-page-v34 .lesson-main-header h1{
        font-size:clamp(2.45rem,11vw,3.7rem);
    }
    .lesson-page-v34 .lesson-block-v3{
        padding:36px 0 40px;
    }
    .lesson-page-v34 .lesson-stepper-shell{
        top:66px;
        margin-left:-14px;
        margin-right:-14px;
        border-left:0;
        border-right:0;
        border-radius:0;
    }
    .site-footer-v34{
        width:calc(100% - 10px);
        margin-top:44px;
        border-radius:18px;
    }
}


/* =========================================================
   AMPELORIA V3.4.1 — états des leçons dans course.php
   ========================================================= */
.course-summary-v341{
    min-width:190px;
}
.course-progress-mini{
    width:100%;
    height:5px;
    margin:7px 0 3px;
    overflow:hidden;
    border-radius:999px;
    background:#e7ddd3;
}
.course-progress-mini i{
    display:block;
    height:100%;
    border-radius:inherit;
    background:linear-gradient(90deg,var(--wine),#9d536c);
}

.course-status-legend{
    display:flex;
    align-items:center;
    gap:18px;
    flex-wrap:wrap;
    margin:-5px 0 28px;
    padding:10px 0 16px;
    border-bottom:1px solid var(--line-soft);
    color:var(--muted);
    font-size:.6rem;
    font-weight:750;
}
.course-status-legend span{
    display:flex;
    align-items:center;
    gap:6px;
}
.course-status-legend i{
    width:8px;
    height:8px;
    border-radius:50%;
}
.course-status-legend i.available{background:#b79a6c}
.course-status-legend i.completed{background:#55785f}
.course-status-legend i.locked{background:#aaa09a}

.lesson-row-v341{
    position:relative;
    grid-template-columns:42px minmax(0,1fr) auto 26px;
    gap:14px;
    align-items:center;
}
.lesson-row-v341 .lesson-number{
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    border:1px solid var(--line);
    border-radius:11px;
    background:#f4ece4;
    color:var(--wine);
    font-size:.62rem;
    font-weight:900;
}
.lesson-row-copy{min-width:0}
.lesson-row-titleline{
    display:flex;
    align-items:center;
    gap:9px;
    flex-wrap:wrap;
}
.lesson-row-titleline h3{margin:0}
.lesson-status-badge{
    display:inline-flex;
    align-items:center;
    min-height:21px;
    padding:3px 7px;
    border-radius:999px;
    font-size:.48rem;
    font-weight:900;
    letter-spacing:.02em;
}
.lesson-status-badge.available{
    background:#f1e7d8;
    color:#765b32;
}
.lesson-status-badge.completed{
    background:#e5efe7;
    color:#3f684c;
}
.lesson-status-badge.locked{
    background:#eee9e5;
    color:#7e746f;
}
.lesson-row-v341.completed{
    border-color:rgba(65,106,76,.14);
    background:rgba(244,249,245,.72);
}
.lesson-row-v341.completed .lesson-number{
    border-color:rgba(65,106,76,.18);
    background:#e5efe7;
    color:#416a4c;
}
.lesson-row-v341.locked{
    cursor:not-allowed;
    opacity:.72;
    border-color:rgba(100,88,82,.10);
    background:rgba(240,235,231,.56);
}
.lesson-row-v341.locked:hover{
    transform:none;
    box-shadow:none;
}
.lesson-row-v341.locked .lesson-number{
    filter:grayscale(1);
    background:#ebe5df;
    color:#796f69;
}
.lesson-lock-reason{
    display:block;
    margin-top:6px;
    color:#8b5c68;
    font-size:.55rem;
    font-weight:800;
}
.lesson-row-v341.locked .lesson-arrow{
    color:#aaa09a;
}

@media(max-width:720px){
    .course-status-legend{
        gap:10px 14px;
        margin-bottom:20px;
    }
    .lesson-row-v341{
        grid-template-columns:36px minmax(0,1fr) auto;
        gap:10px;
        padding:12px 10px;
    }
    .lesson-row-v341 .lesson-number{
        width:32px;
        height:32px;
    }
    .lesson-row-v341 .lesson-time{
        grid-column:3;
        grid-row:1;
        align-self:start;
        font-size:.5rem;
    }
    .lesson-row-v341 .lesson-arrow{
        display:none;
    }
    .lesson-status-badge{
        font-size:.45rem;
    }
    .lesson-row-copy p{
        margin-top:3px;
    }
}


/* =========================================================
   AMPELORIA V3.5.3 — états de leçon visibles dans course.php
   ========================================================= */
.lesson-row-v353{
    position:relative;
    grid-template-columns:42px minmax(0,1fr) auto 30px;
    gap:14px;
    align-items:center;
}

.lesson-row-v353 .lesson-number{
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    border:1px solid var(--line);
    border-radius:11px;
    background:#f5ede5;
    color:var(--wine);
    font-size:.62rem;
    font-weight:950;
}

.lesson-row-v353 .lesson-row-copy{min-width:0}
.lesson-row-v353 .lesson-row-titleline{
    display:flex;
    align-items:center;
    gap:9px;
    flex-wrap:wrap;
}
.lesson-row-v353 .lesson-row-titleline h3{margin:0}

.lesson-row-v353 .lesson-status-badge{
    display:inline-flex;
    align-items:center;
    padding:4px 8px;
    border-radius:999px;
    font-size:.47rem;
    line-height:1;
    font-weight:950;
    letter-spacing:.02em;
}

.lesson-row-v353 .lesson-status-badge.available{
    background:#f1e7d8;
    color:#765b32;
}
.lesson-row-v353 .lesson-status-badge.completed{
    background:#e3efe6;
    color:#3f684c;
}
.lesson-row-v353 .lesson-status-badge.locked{
    background:#e8e3df;
    color:#746a65;
}

.lesson-row-v353.completed{
    border-color:rgba(63,104,76,.18);
    background:rgba(239,247,241,.78);
}
.lesson-row-v353.completed .lesson-number{
    border-color:rgba(63,104,76,.18);
    background:#e3efe6;
    color:#3f684c;
}

.lesson-row-v353.locked{
    cursor:not-allowed;
    opacity:1!important;
    border-color:rgba(106,96,90,.15)!important;
    background:
        linear-gradient(90deg,rgba(116,105,98,.09),rgba(116,105,98,.035))!important;
    box-shadow:none!important;
}
.lesson-row-v353.locked:hover{
    transform:none!important;
    box-shadow:none!important;
}
.lesson-row-v353.locked h3,
.lesson-row-v353.locked p,
.lesson-row-v353.locked .lesson-time{
    color:#8f8580!important;
}
.lesson-row-v353.locked .lesson-number{
    border-color:rgba(110,100,94,.14);
    background:#e9e3de;
    color:#776d68;
}
.lesson-row-v353.locked .lesson-arrow{
    color:#8d837e;
}
.lesson-row-v353 .lesson-lock-reason{
    display:block;
    margin-top:6px;
    color:#805765;
    font-size:.56rem;
    font-weight:850;
}

.course-summary-v353{min-width:190px}

@media(max-width:720px){
    .lesson-row-v353{
        grid-template-columns:36px minmax(0,1fr) auto;
        gap:10px;
        padding:12px 10px;
    }
    .lesson-row-v353 .lesson-number{
        width:32px;
        height:32px;
    }
    .lesson-row-v353 .lesson-arrow{display:none}
    .lesson-row-v353 .lesson-time{
        align-self:start;
        font-size:.5rem;
    }
}


/* =========================================================
   AMPELORIA V4.0-A1 — premier module régional de référence
   ========================================================= */
.module-kicker{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}
.module-kicker>b{
    display:inline-flex;
    padding:4px 8px;
    border-radius:999px;
    background:var(--wine-faint);
    color:var(--wine);
    font-size:.48rem;
    font-weight:900;
}

.lesson-prose{
    display:grid;
    gap:12px;
    max-width:820px;
}
.lesson-prose p{
    margin:0;
    color:var(--ink-soft);
    font-size:.89rem;
    line-height:1.78;
}
.concept-key-v325{
    display:grid;
    gap:9px;
}
.concept-key-v325 p{
    margin:0;
    font-size:.88rem;
    line-height:1.76;
}

.practice-engine-v4{
    margin-top:18px;
    padding:20px;
    border:1px solid rgba(104,31,54,.12);
    border-radius:18px;
    background:linear-gradient(180deg,rgba(255,253,249,.96),rgba(249,243,237,.9));
}
.practice-head-v4>span{
    color:var(--wine);
    font-size:.49rem;
    font-weight:950;
    letter-spacing:.09em;
}
.practice-head-v4 .practice-question{
    margin:7px 0 16px;
    color:var(--ink);
    font-family:var(--serif);
    font-size:1.3rem;
    line-height:1.3;
}
.multiple-answer-grid-v4 button.selected{
    border-color:var(--wine);
    background:var(--wine-faint);
}
.practice-check-v4{
    margin-top:12px;
}
.fill-exercise-v4{
    display:flex;
    align-items:end;
    gap:10px;
    flex-wrap:wrap;
}
.fill-exercise-v4 label{
    display:grid;
    gap:5px;
    min-width:min(100%,360px);
    flex:1;
}
.fill-exercise-v4 label>span{
    color:var(--muted);
    font-size:.57rem;
    font-weight:850;
}
.fill-exercise-v4 input{
    min-height:46px;
}
.association-exercise-v4{
    display:grid;
    gap:9px;
}
.association-row-v4{
    display:grid;
    grid-template-columns:minmax(140px,.7fr) minmax(180px,1fr);
    align-items:center;
    gap:12px;
    padding:10px 12px;
    border:1px solid var(--line-soft);
    border-radius:12px;
    background:rgba(255,255,255,.58);
}
.association-row-v4>span{
    font-weight:820;
}
.practice-explanation-v4{
    margin:14px 0 0;
    padding:12px 14px;
    border-left:2px solid var(--wine);
    background:rgba(104,31,54,.035);
    color:var(--ink-soft);
    font-size:.72rem;
    line-height:1.65;
}
.answer-feedback.correct{color:#416a4c}
.answer-feedback.wrong{color:#8b4759}
input.correct,select.correct{
    border-color:rgba(63,104,76,.45)!important;
    background:#edf6ef!important;
}
input.wrong,select.wrong{
    border-color:rgba(139,71,89,.4)!important;
    background:#f8ecef!important;
}

@media(max-width:680px){
    .practice-engine-v4{padding:15px}
    .association-row-v4{grid-template-columns:1fr}
    .practice-head-v4 .practice-question{font-size:1.12rem}
}


/* =========================================================
   AMPELORIA V4.0-A2 — hiérarchie Parcours > Module > Leçon
   ========================================================= */
.module-hierarchy-note{
    display:block;
    margin-top:5px;
    color:var(--muted);
    font-size:.56rem;
    font-weight:700;
}
.lesson-row-titleline{
    row-gap:5px;
}
.lesson-kind-label{
    flex:0 0 100%;
    color:var(--wine);
    font-size:.47rem!important;
    font-weight:950!important;
    letter-spacing:.09em;
}
.lesson-row-titleline h3{
    margin-top:0;
}

.lesson-hierarchy-v4{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:7px;
    margin:0 0 18px;
    padding:10px 12px;
    border:1px solid var(--line-soft);
    border-radius:12px;
    background:rgba(255,253,249,.58);
    color:var(--muted);
    font-size:.52rem;
}
.lesson-hierarchy-v4>span{
    color:var(--wine);
    font-weight:950;
    letter-spacing:.07em;
}
.lesson-hierarchy-v4>strong{
    color:var(--ink-soft);
    font-weight:800;
}
.lesson-hierarchy-v4>b{
    color:#b5aaa3;
    font-size:.72rem;
}
.lesson-stepper-meta>div>span{
    letter-spacing:.06em;
}

@media(max-width:680px){
    .lesson-hierarchy-v4{
        gap:5px;
        padding:9px 10px;
        font-size:.48rem;
    }
    .lesson-hierarchy-v4>b{
        display:none;
    }
    .lesson-hierarchy-v4>strong{
        margin-right:8px;
    }
}


/* =========================================================
   AMPELORIA V4.0-A4 — quiz de leçon + pagination pédagogique
   ========================================================= */
.lesson-quiz-v4{
    margin:46px 0 18px;
    padding:24px;
    border:1px solid rgba(104,31,54,.12);
    border-radius:22px;
    background:
        radial-gradient(circle at 100% 0,rgba(104,31,54,.045),transparent 35%),
        rgba(255,253,249,.78);
}
.lesson-quiz-v4>header{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:20px;
    align-items:start;
    padding-bottom:18px;
    border-bottom:1px solid var(--line-soft);
}
.lesson-quiz-v4>header h2{
    margin:4px 0 7px;
    font-size:clamp(1.8rem,3vw,2.6rem);
}
.lesson-quiz-v4>header p{
    max-width:720px;
    margin:0;
    color:var(--muted);
    font-size:.72rem;
    line-height:1.6;
}
.lesson-quiz-counter{
    display:grid;
    place-items:center;
    min-width:88px;
    padding:12px 16px;
    border:1px solid var(--line-soft);
    border-radius:15px;
    background:rgba(255,255,255,.62);
}
.lesson-quiz-counter strong{
    color:var(--wine);
    font-family:var(--serif);
    font-size:1.7rem;
}
.lesson-quiz-counter span{
    color:var(--muted);
    font-size:.5rem;
    font-weight:850;
}
.lesson-quiz-stack{
    display:grid;
    gap:12px;
    padding-top:18px;
}
.lesson-quiz-question{
    padding:20px;
    border:1px solid var(--line-soft);
    border-radius:16px;
    background:rgba(255,255,255,.58);
}
.lesson-quiz-question.exercise-correct{
    border-color:rgba(63,104,76,.22);
    background:rgba(238,247,240,.72);
}
.lesson-quiz-question.exercise-wrong{
    border-color:rgba(139,71,89,.20);
    background:rgba(249,239,242,.72);
}

.lesson-pagination-v4{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin:34px 0 18px;
}
.lesson-page-link{
    display:grid;
    gap:4px;
    min-height:118px;
    padding:18px 20px;
    border:1px solid var(--line-soft);
    border-radius:18px;
    background:rgba(255,253,249,.72);
}
a.lesson-page-link:hover{
    transform:translateY(-2px);
    border-color:rgba(104,31,54,.2);
    background:#fffdfa;
    box-shadow:var(--shadow-sm);
}
.lesson-page-link>span{
    color:var(--wine);
    font-size:.49rem;
    font-weight:950;
    letter-spacing:.08em;
}
.lesson-page-link>strong{
    color:var(--ink);
    font-family:var(--serif);
    font-size:1.25rem;
    line-height:1.22;
}
.lesson-page-link>small{
    align-self:end;
    color:var(--muted);
    font-size:.58rem;
}
.lesson-page-link.next{
    text-align:right;
}
.lesson-page-link.locked{
    cursor:not-allowed;
    opacity:.7;
    background:rgba(232,226,220,.52);
}
.lesson-page-link.locked>strong{
    color:#857b76;
}
.lesson-page-link.empty{
    opacity:.55;
}
.lesson-page-link.final{
    background:var(--wine-faint);
}

.lesson-exam-gate-form{
    margin:0;
}
.lesson-exam-gate-form .lesson-page-link{
    width:100%;
    height:100%;
    font:inherit;
    cursor:pointer;
    appearance:none;
    -webkit-appearance:none;
}
.lesson-exam-gate-form .lesson-page-link:hover{
    transform:translateY(-2px);
    border-color:rgba(104,31,54,.2);
    background:#fffdfa;
    box-shadow:var(--shadow-sm);
}

@media(max-width:680px){
    .lesson-quiz-v4{padding:16px}
    .lesson-quiz-v4>header{grid-template-columns:1fr}
    .lesson-quiz-counter{display:none}
    .lesson-pagination-v4{grid-template-columns:1fr}
    .lesson-page-link.next{text-align:left}
}


/* =========================================================
   AMPELORIA V4.0-A5 — associations directes façon Vulpingo
   ========================================================= */
.fill-exercise-v4,
.association-exercise-v4{
    display:none!important;
}

.association-click-v4{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}
.association-column-v4{
    display:grid;
    align-content:start;
    gap:8px;
}
.association-column-v4>small{
    margin-bottom:3px;
    color:var(--muted);
    font-size:.48rem;
    font-weight:950;
    letter-spacing:.09em;
}
.association-column-v4>button{
    width:100%;
    min-height:50px;
    padding:11px 13px;
    border:1px solid var(--line);
    border-radius:12px;
    background:rgba(255,255,255,.72);
    color:var(--ink-soft);
    font:inherit;
    font-size:.7rem;
    font-weight:780;
    line-height:1.35;
    text-align:left;
    cursor:pointer;
}
.association-column-v4>button:hover:not(:disabled){
    border-color:rgba(104,31,54,.28);
    background:#fff;
}
.association-column-v4>button.selected{
    border-color:var(--wine);
    background:var(--wine-faint);
    color:var(--wine);
    box-shadow:0 0 0 2px rgba(104,31,54,.06);
}
.association-column-v4>button.matched{
    border-color:rgba(63,104,76,.28);
    background:#e8f3ea;
    color:#365c42;
    opacity:.82;
}
.association-column-v4>button.wrong{
    border-color:rgba(139,71,89,.38);
    background:#f8e8ed;
    color:#8b4759;
    animation:assocWrongV4 .34s ease;
}
@keyframes assocWrongV4{
    0%,100%{transform:translateX(0)}
    35%{transform:translateX(-4px)}
    70%{transform:translateX(4px)}
}

@media(max-width:680px){
    .association-click-v4{
        grid-template-columns:1fr 1fr;
        gap:8px;
    }
    .association-column-v4>button{
        min-height:46px;
        padding:9px 8px;
        font-size:.62rem;
    }
}


/* =========================================================
   AMPELORIA V4.0-A6 — exercices uniquement dans le quiz final
   ========================================================= */
.lesson-block-v3 + .lesson-quiz-v4{
    margin-top:52px;
}
.lesson-quiz-v4{
    position:relative;
}
.lesson-quiz-v4:before{
    content:"";
    position:absolute;
    top:-26px;
    left:0;
    right:0;
    height:1px;
    background:var(--line-soft);
}


/* =========================================================
   AMPELORIA V4.1 — lesson experience premium
   ========================================================= */
.lesson-v5{
    width:min(100%,1460px);
    margin-inline:auto;
    padding:34px clamp(18px,3vw,44px) 84px;
    gap:34px;
}
.lesson-sidebar-v5{
    top:96px;
    padding:0 20px 0 0;
    border:0;
    border-right:1px solid var(--line-soft);
    background:transparent;
}
.lesson-sidebar-head-v5{
    margin-bottom:18px;
    padding:0 4px 16px;
    border-bottom:1px solid var(--line-soft);
}
.lesson-sidebar-head-v5>small{
    display:block;
    margin:9px 0 4px;
    color:var(--muted);
    font-size:.46rem;
    font-weight:900;
    letter-spacing:.09em;
}
.lesson-sidebar-head-v5 h2{
    margin:0;
    font-size:1.34rem;
    line-height:1.15;
}
.lesson-sidebar-head-v5 p{
    margin:7px 0 0;
    color:var(--muted);
    font-size:.59rem;
}
.lesson-sidebar-v5 nav{
    display:grid;
    gap:6px;
}
.lesson-side-item-v5{
    display:grid;
    grid-template-columns:28px minmax(0,1fr) auto;
    align-items:center;
    gap:9px;
    min-height:46px;
    padding:8px 9px;
    border:1px solid transparent;
    border-radius:12px;
    color:var(--ink-soft);
}
.lesson-side-item-v5>b{
    display:grid;
    place-items:center;
    width:26px;
    height:26px;
    border-radius:8px;
    background:#efe6de;
    color:var(--wine);
    font-size:.52rem;
}
.lesson-side-item-v5>span{
    overflow:hidden;
    font-size:.61rem;
    font-weight:760;
    line-height:1.25;
}
.lesson-side-item-v5>em{
    color:var(--muted);
    font-size:.45rem;
    font-style:normal;
    font-weight:850;
}
.lesson-side-item-v5:hover,
.lesson-side-item-v5.active{
    border-color:rgba(104,31,54,.12);
    background:rgba(255,253,249,.78);
}
.lesson-side-item-v5.active{
    box-shadow:0 8px 24px rgba(43,27,23,.045);
}
.lesson-side-item-v5.active>b{
    background:var(--wine);
    color:#fff;
}
.lesson-side-item-v5.completed>b{
    background:#e5efe7;
    color:#3f684c;
}
.lesson-side-item-v5.locked{
    opacity:.58;
    cursor:not-allowed;
}

.lesson-content-v5{
    max-width:980px;
}
.lesson-hero-v5{
    position:relative;
    overflow:hidden;
    margin-bottom:20px;
    padding:24px 26px 28px;
    border:1px solid rgba(88,59,48,.1);
    border-radius:26px;
    background:
        radial-gradient(circle at 100% 0,rgba(104,31,54,.07),transparent 34%),
        linear-gradient(145deg,rgba(255,253,249,.96),rgba(248,242,235,.94));
    box-shadow:0 18px 48px rgba(43,27,23,.06);
}
.lesson-hero-v5:after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:34%;
    height:3px;
    background:linear-gradient(90deg,var(--wine),var(--gold),transparent);
}
.lesson-hierarchy-v5{
    margin:0 0 22px;
    padding:0;
    border:0;
    background:transparent;
    font-size:.5rem;
}
.lesson-hierarchy-v5>span,
.lesson-hierarchy-v5>strong,
.lesson-hierarchy-v5>em{
    color:var(--muted);
    font-style:normal;
    font-weight:760;
}
.lesson-hierarchy-v5>span{color:var(--wine)}
.lesson-main-header-v5{
    display:grid;
    grid-template-columns:minmax(0,1fr) 190px;
    gap:30px;
    align-items:start;
    margin:0;
    padding:0;
    border:0;
}
.lesson-hero-kicker-v5{
    display:flex;
    align-items:center;
    gap:9px;
    margin-bottom:13px;
    color:var(--wine);
}
.lesson-hero-kicker-v5 span{
    font-size:.54rem;
    font-weight:950;
    letter-spacing:.1em;
}
.lesson-hero-kicker-v5 i{
    width:28px;
    height:1px;
    background:rgba(104,31,54,.28);
}
.lesson-hero-kicker-v5 small{
    color:var(--muted);
    font-size:.54rem;
    font-weight:700;
}
.lesson-main-header-v5 h1{
    max-width:780px;
    margin:0;
    font-size:clamp(2.65rem,4.5vw,4.55rem);
    line-height:.98;
    letter-spacing:-.045em;
}
.lesson-main-header-v5 .lesson-hero-copy-v5>p{
    max-width:730px;
    margin:16px 0 0;
    color:var(--ink-soft);
    font-size:.91rem;
    line-height:1.7;
}
.lesson-meta-v5{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:18px;
}
.lesson-meta-v5 span{
    display:inline-flex;
    align-items:center;
    min-height:27px;
    padding:5px 9px;
    border:1px solid var(--line-soft);
    border-radius:999px;
    background:rgba(255,255,255,.55);
    color:var(--muted);
    font-size:.52rem;
    font-weight:780;
}
.lesson-status-card-v5{
    display:grid;
    gap:5px;
    padding:15px;
    border:1px solid rgba(104,31,54,.11);
    border-radius:15px;
    background:rgba(255,255,255,.62);
}
.lesson-status-card-v5 small{
    color:var(--wine);
    font-size:.45rem;
    font-weight:950;
    letter-spacing:.09em;
}
.lesson-status-card-v5 strong{
    font-size:.8rem;
}
.lesson-status-card-v5 span{
    color:var(--muted);
    font-size:.55rem;
    line-height:1.4;
}
.lesson-status-card-v5.completed{
    border-color:rgba(63,104,76,.16);
    background:rgba(235,245,237,.72);
}
.lesson-status-card-v5.completed small,
.lesson-status-card-v5.completed strong{color:#3f684c}

.lesson-stepper-v5{
    top:92px;
    margin:18px 0 8px;
    padding:12px 14px 14px;
    border:1px solid rgba(88,59,48,.09);
    border-radius:16px;
    background:rgba(247,241,234,.94);
    box-shadow:0 12px 28px rgba(43,27,23,.035);
    backdrop-filter:blur(16px);
}
.lesson-stepper-v5 .lesson-stepper-meta{
    margin-bottom:8px;
}
.lesson-stepper-v5 .lesson-stepper-meta>div>span{
    color:var(--wine);
    font-size:.44rem;
    font-weight:950;
    letter-spacing:.1em;
}
.lesson-stepper-v5 .lesson-stepper-meta>div>strong{
    font-size:.64rem;
}

.lesson-block-v5{
    position:relative;
    margin-left:18px;
    padding:46px 0 50px 34px;
    border-top:0;
    border-left:1px solid rgba(104,31,54,.12);
}
.lesson-block-v5:before{
    content:"";
    position:absolute;
    left:-4px;
    top:55px;
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--wine);
    box-shadow:0 0 0 5px var(--cream);
}
.lesson-block-index-v5{
    position:absolute;
    left:-19px;
    top:38px;
    transform:translateX(-100%);
}
.lesson-block-index-v5 span{
    color:#a08f86;
    font-family:var(--serif);
    font-size:.78rem;
}
.lesson-block-v5 .block-label{
    margin-bottom:8px;
    color:var(--wine);
    font-size:.49rem;
    letter-spacing:.11em;
}
.lesson-block-v5 h2{
    max-width:780px;
    margin-bottom:16px;
    font-size:clamp(1.9rem,3vw,2.8rem);
    line-height:1.05;
}
.lesson-block-v5 .lesson-prose,
.lesson-block-v5 .concept-key-v325{
    max-width:800px;
}
.lesson-block-v5 .lesson-prose{
    gap:14px;
}
.lesson-block-v5 .lesson-prose p,
.lesson-block-v5 .concept-key-v325 p{
    font-size:.91rem;
    line-height:1.82;
}
.lesson-block-v5 .concept-key-v325{
    padding:17px 19px;
    border-left:2px solid var(--wine);
    border-radius:0 14px 14px 0;
    background:linear-gradient(90deg,rgba(104,31,54,.045),rgba(255,255,255,.35));
}

.lesson-quiz-v4{
    margin-top:58px;
    padding:28px;
    border-radius:24px;
    background:
        radial-gradient(circle at 96% 0,rgba(104,31,54,.07),transparent 30%),
        linear-gradient(180deg,rgba(255,253,249,.96),rgba(246,239,232,.95));
    box-shadow:0 18px 46px rgba(43,27,23,.055);
}
.lesson-quiz-v4>header h2{
    font-size:clamp(2rem,3.2vw,3rem);
    letter-spacing:-.025em;
}
.lesson-quiz-question{
    padding:22px;
    border-radius:18px;
}

.lesson-pagination-v4{
    margin-top:30px;
}
.lesson-page-link{
    min-height:126px;
    border-radius:20px;
}

@media(max-width:1180px){
    .lesson-v5{display:block;max-width:1040px}
    .lesson-sidebar-v5{display:none}
    .lesson-content-v5{max-width:940px;margin-inline:auto}
}
@media(max-width:760px){
    .lesson-v5{padding:20px 12px 60px}
    .lesson-hero-v5{padding:18px 16px 22px;border-radius:20px}
    .lesson-main-header-v5{grid-template-columns:1fr;gap:18px}
    .lesson-status-card-v5{grid-template-columns:auto 1fr;align-items:center}
    .lesson-status-card-v5 span{grid-column:2}
    .lesson-main-header-v5 h1{font-size:clamp(2.35rem,11vw,3.45rem)}
    .lesson-meta-v5{gap:5px}
    .lesson-meta-v5 span{font-size:.48rem}
    .lesson-stepper-v5{top:66px;margin-left:-12px;margin-right:-12px;border-left:0;border-right:0;border-radius:0}
    .lesson-block-v5{margin-left:8px;padding:36px 0 40px 22px}
    .lesson-block-index-v5{display:none}
    .lesson-block-v5 h2{font-size:clamp(1.75rem,8vw,2.35rem)}
    .lesson-block-v5 .lesson-prose p,
    .lesson-block-v5 .concept-key-v325 p{font-size:.88rem;line-height:1.76}
    .lesson-quiz-v4{padding:18px 14px;border-radius:20px}
}


/* =========================================================
   AMPELORIA V4.1.1 — conteneurs sur les étapes de leçon
   ========================================================= */
.lesson-block-v5{
    position:relative;
    margin:18px 0 22px;
    padding:28px 30px 30px 34px;
    border:1px solid rgba(88,59,48,.105);
    border-radius:20px;
    background:
        linear-gradient(180deg,rgba(255,253,249,.92),rgba(250,246,240,.84));
    box-shadow:
        0 1px 0 rgba(255,255,255,.75) inset,
        0 10px 30px rgba(43,27,23,.045);
}
.lesson-block-v5:before{
    content:"";
    position:absolute;
    left:0;
    top:22px;
    bottom:22px;
    width:3px;
    border-radius:0 99px 99px 0;
    background:linear-gradient(180deg,var(--wine),rgba(189,149,87,.72));
}
.lesson-block-v5:hover{
    border-color:rgba(104,31,54,.16);
    box-shadow:
        0 1px 0 rgba(255,255,255,.82) inset,
        0 14px 36px rgba(43,27,23,.06);
}
.lesson-block-index-v5{
    position:absolute;
    top:18px;
    right:20px;
}
.lesson-block-index-v5>span{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border:1px solid rgba(104,31,54,.09);
    border-radius:11px;
    background:var(--wine-faint);
    color:var(--wine);
    font-family:var(--serif);
    font-size:.72rem;
    font-weight:800;
}
.lesson-block-v5>.block-label{
    padding-right:48px;
}
.lesson-block-v5>h2{
    max-width:760px;
    padding-right:48px;
    margin-top:7px;
}
.lesson-block-v5 .lesson-prose{
    max-width:800px;
}
.lesson-block-v5 .concept-key-v325{
    margin-top:18px;
    border:1px solid rgba(104,31,54,.09);
    border-left:3px solid var(--wine);
    border-radius:12px;
    background:rgba(104,31,54,.035);
}
.lesson-block-v5 .memory-list-v3{
    margin-top:16px;
    padding:16px 18px 16px 36px;
    border:1px solid rgba(189,149,87,.15);
    border-radius:13px;
    background:rgba(189,149,87,.055);
}

/* Le stepper devient le sommaire visuel des conteneurs */
.lesson-content-v5 .lesson-stepper-shell{
    margin-bottom:22px;
}
.lesson-content-v5 .lesson-stepper.dynamic-stepper button{
    border-radius:11px;
}
.lesson-content-v5 .lesson-stepper.dynamic-stepper button.active{
    background:rgba(104,31,54,.045);
}

/* Types de blocs légèrement différenciés sans casser la charte */
.lesson-block-v5:has(.memory-list-v3):before{
    background:linear-gradient(180deg,var(--gold),rgba(189,149,87,.35));
}
.lesson-block-v5:has(.sensor-grid-v3):before{
    background:linear-gradient(180deg,#7c5261,var(--wine));
}

@media(max-width:680px){
    .lesson-block-v5{
        margin:12px 0 16px;
        padding:22px 17px 23px 20px;
        border-radius:16px;
    }
    .lesson-block-v5:before{
        top:16px;
        bottom:16px;
        width:2px;
    }
    .lesson-block-index-v5{
        top:14px;
        right:14px;
    }
    .lesson-block-index-v5>span{
        width:29px;
        height:29px;
        border-radius:9px;
        font-size:.62rem;
    }
    .lesson-block-v5>.block-label,
    .lesson-block-v5>h2{
        padding-right:38px;
    }
    .lesson-block-v5>h2{
        font-size:clamp(1.65rem,8vw,2.25rem);
    }
}


/* =========================================================
   AMPELORIA V4.1.2 — pastilles d'étapes conservées à gauche
   ========================================================= */
.lesson-content-v5{
    counter-reset: lessonStepCards;
}
.lesson-block-v5{
    counter-increment: lessonStepCards;
    margin:20px 0 24px 42px;
    padding:28px 28px 30px 34px;
    border:1px solid rgba(88,59,48,.11);
    border-radius:20px;
    background:linear-gradient(180deg,rgba(255,253,249,.94),rgba(249,244,238,.88));
    box-shadow:0 1px 0 rgba(255,255,255,.78) inset, 0 12px 32px rgba(43,27,23,.045);
}
.lesson-block-v5:before{
    left:0;
    top:18px;
    bottom:18px;
    width:3px;
    border-radius:0 99px 99px 0;
    background:linear-gradient(180deg,var(--wine),rgba(189,149,87,.72));
    box-shadow:none;
}
.lesson-block-index-v5{
    position:absolute;
    left:-42px;
    right:auto;
    top:26px;
    transform:none;
    z-index:2;
}
.lesson-block-index-v5>span{
    display:grid;
    place-items:center;
    width:32px;
    height:32px;
    border-radius:999px;
    border:1px solid rgba(104,31,54,.11);
    background:#fbf6f0;
    color:var(--wine);
    font-family:var(--serif);
    font-size:.72rem;
    font-weight:800;
    box-shadow:0 0 0 6px var(--cream), 0 6px 16px rgba(43,27,23,.04);
}
.lesson-block-v5>.block-label,
.lesson-block-v5>h2{
    padding-right:0;
}
.lesson-block-v5 .concept-key-v325{
    margin-top:20px;
    padding:16px 18px;
    border:1px solid rgba(104,31,54,.08);
    border-left:3px solid var(--wine);
    border-radius:14px;
    background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(104,31,54,.03));
}
.lesson-block-v5 .concept-key-v325 p{
    line-height:1.78;
}
.lesson-block-v5 .memory-list-v3{
    margin-top:18px;
}

@media(max-width:760px){
    .lesson-block-v5{
        margin:14px 0 18px 24px;
        padding:22px 16px 23px 22px;
        border-radius:16px;
    }
    .lesson-block-v5:before{
        top:14px;
        bottom:14px;
        width:2px;
    }
    .lesson-block-index-v5{
        display:block;
        left:-24px;
        top:18px;
    }
    .lesson-block-index-v5>span{
        width:24px;
        height:24px;
        font-size:.58rem;
        box-shadow:0 0 0 4px var(--cream), 0 4px 10px rgba(43,27,23,.035);
    }
    .lesson-block-v5 .concept-key-v325{
        padding:14px 14px 15px;
        border-radius:12px;
    }
}

/* =========================================================
   AMPELORIA V4.1.12 — examen de passage entre modules
   ========================================================= */
.module-passage-exam{
    display:grid;
    grid-template-columns:54px minmax(0,1fr) auto;
    align-items:center;
    gap:16px;
    margin:-12px 0 34px;
    padding:18px 20px;
    border:1px solid var(--line);
    border-radius:18px;
    background:#fff9;
}
.module-passage-exam.available{
    border-color:rgba(125,78,94,.24);
    background:linear-gradient(135deg,rgba(255,249,246,.98),rgba(247,238,241,.9));
}
.module-passage-exam.passed{
    border-color:rgba(63,104,76,.20);
    background:rgba(239,247,241,.78);
}
.module-passage-exam.locked{
    background:rgba(240,235,231,.56);
}
.module-passage-icon{
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#f4ece4;
    font-size:1.25rem;
}
.module-passage-exam.passed .module-passage-icon{
    background:#e3efe6;
    color:#3f684c;
}
.module-passage-copy small{
    color:var(--wine);
    font-size:.52rem;
    font-weight:950;
    letter-spacing:.06em;
}
.module-passage-copy h3{
    margin:.2rem 0 .25rem;
    font-family:Georgia,serif;
    font-size:1.25rem;
    font-weight:500;
}
.module-passage-copy p{
    margin:0;
    color:var(--muted);
    font-size:.66rem;
    line-height:1.5;
}
.module-passage-meta{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-top:9px;
}
.module-passage-meta span{
    padding:4px 8px;
    border-radius:999px;
    background:rgba(117,87,67,.07);
    color:var(--muted);
    font-size:.52rem;
    font-weight:800;
}
.module-passage-action{justify-self:end;display:flex;align-items:flex-end;gap:9px;flex-direction:column}
.module-passage-action form{margin:0}
.module-exam-retake-form .button{white-space:nowrap}
.exam-access-note{
    padding:10px 12px;
    border-radius:10px;
    font-size:.6rem;
    font-weight:850;
}
.exam-access-note.locked{background:#eee9e5;color:#746a65}
.exam-access-note.passed{background:#e3efe6;color:#3f684c}
.exam-grid>article.locked{opacity:.78;background:rgba(240,235,231,.56)}
.exam-grid>article.passed{border-color:rgba(63,104,76,.18);background:rgba(239,247,241,.78)}

@media(max-width:720px){
    .module-passage-exam{
        grid-template-columns:44px minmax(0,1fr);
        padding:14px;
    }
    .module-passage-icon{width:40px;height:40px}
    .module-passage-action{grid-column:1/-1;justify-self:stretch}
    .module-passage-action .button{width:100%}
}

/* V4.1.14 — associations dans les examens */
.exam-association-list{display:grid;gap:10px;margin-top:12px}
.exam-association-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,1fr);gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}
.exam-association-row strong{font-size:.72rem;color:var(--ink)}
.exam-association-row select{width:100%;min-width:0;padding:11px 38px 11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font:inherit;font-size:.68rem}
.exam-association-row select:focus{outline:none;border-color:var(--wine);box-shadow:0 0 0 2px color-mix(in srgb,var(--wine) 14%,transparent)}
.exam-retake-form{margin:0}
@media (max-width:700px){.exam-association-row{grid-template-columns:1fr}.exam-result-actions{flex-wrap:wrap}}

/* ==========================================================
   AMPELORIA V4.1.15 — états examens réussis sans fond vert
   (conservé dans la version consolidée)
   ========================================================== */
.module-passage-exam.passed{
    border-color:rgba(125,78,94,.18);
    background:rgba(250,244,246,.88);
}
.module-passage-exam.passed .module-passage-icon{
    background:#f3e7eb;
    color:var(--wine);
}
.exam-access-note.passed{
    background:#f3e7eb;
    color:var(--wine);
}
.exam-grid>article.passed{
    border-color:rgba(125,78,94,.16);
    background:rgba(250,244,246,.82);
}
.exam-history>a>span.passed{
    background:#f3e7eb;
    color:var(--wine);
}
.exam-result-hero.passed{
    background:#f7eef1;
}

/* ==========================================================
   AMPELORIA V4.1.17 — états leçons réussis sans fond vert
   ========================================================== */
.lesson-status-pill.completed,
.lesson-status-badge.completed,
.lesson-row-v353 .lesson-status-badge.completed{
    border-color:rgba(125,78,94,.18);
    background:#f3e7eb;
    color:var(--wine);
}

.lesson-row-v341.completed,
.lesson-row-v353.completed,
.learning-map-lessons>a.completed{
    border-color:rgba(125,78,94,.16);
    background:rgba(250,244,246,.82);
}

.lesson-row-v341.completed .lesson-number,
.lesson-row-v353.completed .lesson-number,
.learning-map-lessons .completed .lesson-state-icon,
.lesson-side-item-v5.completed>b{
    border-color:rgba(125,78,94,.18);
    background:#f3e7eb;
    color:var(--wine);
}

.lesson-status-card-v5.completed{
    border-color:rgba(125,78,94,.16);
    background:rgba(250,244,246,.82);
}
.lesson-status-card-v5.completed small,
.lesson-status-card-v5.completed strong{
    color:var(--wine);
}

/* Réponses correctes dans les exercices / quiz de leçon */
.answer-grid button.correct,
.quiz-answers-v3 button.correct,
.daily-answers button.correct{
    border-color:rgba(125,78,94,.28)!important;
    background:#f7eef1!important;
}
.answer-feedback.correct{
    color:var(--wine);
}
input.correct,
select.correct{
    border-color:rgba(125,78,94,.32)!important;
    background:#f7eef1!important;
}
.lesson-quiz-question.exercise-correct{
    border-color:rgba(125,78,94,.20);
    background:rgba(250,244,246,.82);
}

/* ==========================================================
   AMPELORIA V4.1.20 — réussite leçons : beige doré, erreur rouge
   Le bordeaux reste une couleur de marque, pas un code de succès.
   ========================================================== */
:root{
    --lesson-success-bg:#f8f2e8;
    --lesson-success-bg-strong:#f2e6d4;
    --lesson-success-border:#d8bea0;
    --lesson-success-text:#5f4a35;
    --lesson-success-accent:#9a7246;
}

/* Statuts de leçon terminée */
.lesson-status-pill.completed,
.lesson-status-badge.completed,
.lesson-row-v353 .lesson-status-badge.completed{
    border-color:var(--lesson-success-border);
    background:var(--lesson-success-bg-strong);
    color:var(--lesson-success-text);
}

.lesson-row-v341.completed,
.lesson-row-v353.completed,
.learning-map-lessons>a.completed,
.lesson-status-card-v5.completed{
    border-color:rgba(154,114,70,.24);
    background:var(--lesson-success-bg);
}

.lesson-row-v341.completed .lesson-number,
.lesson-row-v353.completed .lesson-number,
.learning-map-lessons .completed .lesson-state-icon,
.lesson-side-item-v5.completed>b{
    border-color:var(--lesson-success-border);
    background:var(--lesson-success-bg-strong);
    color:var(--lesson-success-text);
}

.lesson-status-card-v5.completed small,
.lesson-status-card-v5.completed strong{
    color:var(--lesson-success-text);
}

/* Bonnes réponses : chaud et positif, jamais rouge/bordeaux */
.answer-grid button.correct,
.multiple-answer-grid-v4 button.correct,
.quiz-answers-v3 button.correct,
.daily-answers button.correct{
    border-color:var(--lesson-success-border)!important;
    background:var(--lesson-success-bg-strong)!important;
    color:var(--lesson-success-text)!important;
    box-shadow:none!important;
}

/* Sur un choix multiple validé, la classe selected ne doit plus
   conserver le fond bordeaux lorsque la réponse est correcte. */
.multiple-answer-grid-v4 button.selected.correct{
    border-color:var(--lesson-success-border)!important;
    background:var(--lesson-success-bg-strong)!important;
    color:var(--lesson-success-text)!important;
}

.answer-feedback.correct{
    color:var(--lesson-success-text)!important;
}

input.correct,
select.correct{
    border-color:var(--lesson-success-border)!important;
    background:var(--lesson-success-bg)!important;
    color:var(--lesson-success-text)!important;
}

.lesson-quiz-question.exercise-correct{
    border-color:rgba(154,114,70,.25)!important;
    background:var(--lesson-success-bg)!important;
}

/* Associations correctement réalisées */
.association-column-v4>button.matched{
    border-color:var(--lesson-success-border)!important;
    background:var(--lesson-success-bg-strong)!important;
    color:var(--lesson-success-text)!important;
    opacity:1;
}

/* Les erreurs restent volontairement rouges pour conserver
   une lecture immédiate correct / incorrect. */


/* AMPELORIA V4.1.21 — module cliquable dans le fil d’Ariane */
.lesson-hierarchy-v5>.lesson-module-breadcrumb-link{
    color:var(--muted);
    font-style:normal;
    font-weight:760;
    text-decoration:none;
    transition:color .18s ease,text-decoration-color .18s ease;
}
.lesson-hierarchy-v5>.lesson-module-breadcrumb-link:hover,
.lesson-hierarchy-v5>.lesson-module-breadcrumb-link:focus-visible{
    color:var(--wine);
    text-decoration:underline;
    text-underline-offset:3px;
}


/* AMPELORIA V4.1.33 — reprise de la dernière leçon en cours */
.learning-map-dashboard-banner.is-resume{
    border:1px solid #d6bb8d;
    background:linear-gradient(135deg,#fbf3df,#f1e1bd);
    color:#3f2c22;
    box-shadow:0 10px 28px rgba(94,62,34,.08);
}
.learning-map-dashboard-banner.is-resume small{color:var(--wine)}
.learning-map-dashboard-banner.is-resume p{color:#735f4f}
.learning-map-dashboard-banner.is-resume b{color:var(--wine)}
.learning-map-dashboard-banner.is-resume:hover{
    transform:translateY(-1px);
    box-shadow:0 13px 32px rgba(94,62,34,.12);
}


/* AMPELORIA V4.1.35 — reprise de la leçon directement sur l'accueil */
.home-resume-lesson{
    margin-top:14px;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:6px 10px;
    max-width:680px;
    color:var(--muted);
}
.home-resume-lesson small{
    width:100%;
    color:var(--wine);
    font-size:.72rem;
    font-weight:850;
    letter-spacing:.08em;
}
.home-resume-lesson strong{
    color:var(--ink);
}
.home-resume-lesson span{
    font-size:.92rem;
}


/* AMPELORIA V4.1.36 — dashboard recentré sur la reprise */
.home-resume-exam-form{display:inline-flex;margin:0}
.home-resume-exam-form .button{font:inherit}
.dashboard-clean{max-width:1180px;margin:0 auto;padding:32px 22px 64px}
.dashboard-clean-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}
.dashboard-clean-hero h1{margin:6px 0 8px}
.dashboard-clean-hero p{margin:0;color:var(--muted);max-width:650px}
.dashboard-resume-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;padding:24px;border:1px solid var(--line);border-radius:24px;background:var(--surface);box-shadow:var(--shadow);margin-bottom:22px}
.dashboard-resume-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:var(--soft);font-size:1.35rem}
.dashboard-resume-copy small{display:block;margin-bottom:5px;color:var(--wine);font-size:.72rem;font-weight:850;letter-spacing:.08em}
.dashboard-resume-copy h2{margin:0 0 6px;font-size:1.22rem}
.dashboard-resume-copy p{margin:0;color:var(--muted)}
.dashboard-resume-action form{margin:0}
.dashboard-clean-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:38px}
.dashboard-clean-stats article{display:flex;align-items:center;gap:12px;padding:17px 18px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}
.dashboard-clean-stats article>span{font-size:1.25rem}.dashboard-clean-stats strong{display:block;font-size:1.15rem}.dashboard-clean-stats small{color:var(--muted)}
.dashboard-clean-section{margin-top:34px}.dashboard-clean-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:17px}.dashboard-clean-heading h2{margin-bottom:0}.dashboard-clean-heading>a{font-weight:800;color:var(--wine)}
.dashboard-clean-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dashboard-clean-paths article{padding:20px;border:1px solid var(--line);border-radius:20px;background:var(--surface)}
.dashboard-clean-path-top{display:flex;align-items:center;justify-content:space-between}.dashboard-clean-path-top>span{font-size:1.35rem}.dashboard-clean-path-top small{color:var(--muted)}.dashboard-clean-paths h3{margin:12px 0 14px}.dashboard-clean-paths footer{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.dashboard-clean-paths footer small{color:var(--muted)}.dashboard-clean-paths footer a{font-weight:800;color:var(--wine)}
.dashboard-clean-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dashboard-clean-tools a{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:start;padding:17px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.dashboard-clean-tools a>span{grid-row:1/3;font-size:1.25rem}.dashboard-clean-tools strong{color:var(--ink)}.dashboard-clean-tools small{color:var(--muted);margin-top:3px}
.dashboard-clean-week{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:34px;padding:21px 22px;border-radius:20px;background:var(--soft)}.dashboard-clean-week h2{margin:5px 0 0;font-size:1.12rem}.dashboard-clean-week a{font-weight:800;color:var(--wine)}
@media(max-width:800px){.dashboard-clean{padding:22px 14px 48px}.dashboard-clean-hero{align-items:flex-start;flex-direction:column}.dashboard-resume-card{grid-template-columns:auto 1fr}.dashboard-resume-action{grid-column:1/-1}.dashboard-resume-action .button,.dashboard-resume-action form{width:100%}.dashboard-resume-action button{width:100%}.dashboard-clean-stats{grid-template-columns:1fr 1fr}.dashboard-clean-paths{grid-template-columns:1fr}.dashboard-clean-tools{grid-template-columns:1fr 1fr}.dashboard-clean-week{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.dashboard-clean-stats,.dashboard-clean-tools{grid-template-columns:1fr}.dashboard-resume-card{grid-template-columns:1fr}.dashboard-resume-icon{width:46px;height:46px}}

/* =========================================================
   AMPELORIA V4.2.0 — REFONTE VISUELLE GLOBALE
   Direction : éditoriale, premium, chaleureuse, immersive
   ========================================================= */
:root{
    --wine:#6f213b;
    --wine2:#93445d;
    --wine-dark:#261118;
    --wine-deep:#190b10;
    --cream:#f4eee5;
    --cream-2:#ece2d5;
    --paper:#fffdf9;
    --paper-soft:#fbf6ef;
    --ink:#201a1c;
    --muted:#746c68;
    --line:#dfd2c2;
    --line-soft:rgba(66,42,34,.10);
    --gold:#b88d46;
    --gold-soft:#e5c990;
    --green:#405c4d;
    --success:#436d52;
    --danger:#a34d51;
    --radius-sm:12px;
    --radius-md:18px;
    --radius-lg:28px;
    --radius-xl:38px;
    --shadow-soft:0 14px 36px rgba(43,25,23,.07);
    --shadow:0 26px 70px rgba(43,25,23,.11);
    --shadow-strong:0 34px 90px rgba(38,17,24,.17);
    --serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
    --sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
html{background:var(--cream)}
body{
    min-height:100vh;
    background:
        radial-gradient(circle at 8% -5%,rgba(184,141,70,.10),transparent 31rem),
        radial-gradient(circle at 94% 2%,rgba(111,33,59,.08),transparent 34rem),
        linear-gradient(180deg,#f7f2eb 0,var(--cream) 34rem,var(--cream) 100%);
    color:var(--ink);
    font-family:var(--sans);
    letter-spacing:-.006em;
}
body::selection{background:#dcc1ca;color:var(--wine-dark)}
main{position:relative}
h1,h2,h3,.brand strong,.course-summary strong,.big-number,.knowledge-card h3{font-family:var(--serif)}
p{line-height:1.72}

/* Structure générale */
.page-shell,.home-section,.dashboard-shell{max-width:1540px;margin-inline:auto}
.page-shell{padding-top:64px;padding-bottom:86px}
.home-section{padding-top:94px;padding-bottom:94px}
.section-heading{margin-bottom:42px}
.section-heading h2,.split h2{letter-spacing:-.025em}
.section-heading p{font-size:1rem}
.eyebrow{
    color:var(--wine);
    font-size:.65rem;
    font-weight:900;
    letter-spacing:.17em;
    text-transform:uppercase;
}

/* Header premium */
.site-header-v42{
    min-height:74px;
    padding:10px clamp(18px,4.5vw,68px);
    background:rgba(249,245,239,.86);
    border-bottom:1px solid rgba(88,53,47,.09);
    box-shadow:0 8px 32px rgba(50,28,25,.035);
    backdrop-filter:blur(20px) saturate(135%);
}
.site-header-v42 .brand{gap:12px}
.site-header-v42 .brand-mark{
    width:44px;height:44px;border-radius:15px;
    background:linear-gradient(145deg,#7d2945,var(--wine-dark));
    box-shadow:0 9px 24px rgba(78,25,43,.20),inset 0 1px rgba(255,255,255,.22);
    font-family:var(--serif);font-weight:600
}
.site-header-v42 .brand strong{font-size:1.18rem;letter-spacing:-.025em}
.site-header-v42 .brand small{font-size:.59rem;letter-spacing:.025em}
.site-header-v42 .main-nav{gap:7px}
.site-header-v42 .main-nav>a,.site-header-v42 .header-menu>summary{
    min-height:39px;padding:10px 13px;border:0;border-radius:12px;
    color:#574e4b;font-size:.78rem;font-weight:760;transition:.18s ease
}
.site-header-v42 .main-nav>a:hover,.site-header-v42 .main-nav>a.active,.site-header-v42 .header-menu>summary:hover{
    background:rgba(111,33,59,.075);color:var(--wine)
}
.site-header-v42 .main-nav>a.active{box-shadow:inset 0 0 0 1px rgba(111,33,59,.07)}
.site-header-v42 .header-actions>a:not(.button),.site-header-v42 .account-menu>summary{
    border-color:rgba(88,53,47,.12);background:rgba(255,255,255,.58);box-shadow:none
}
.site-header-v42 .header-menu-panel,.site-header-v42 .account-menu>div{
    border:1px solid rgba(81,47,42,.11);background:rgba(255,253,249,.98);box-shadow:var(--shadow)
}

/* Boutons */
.button{
    min-height:44px;border-radius:13px;padding:10px 17px;
    font-size:.79rem;font-weight:820;letter-spacing:-.005em;
    transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease
}
.button:hover{transform:translateY(-1px)}
.button.primary{
    background:linear-gradient(135deg,#792943 0,var(--wine) 55%,#54172d 100%);
    box-shadow:0 10px 24px rgba(111,33,59,.18)
}
.button.primary:hover{box-shadow:0 14px 32px rgba(111,33,59,.25)}
.button.ghost{background:rgba(255,253,249,.72);border-color:rgba(91,58,50,.15)}
.button.ghost:hover{background:#fff;border-color:rgba(111,33,59,.25)}
.button.large{min-height:53px;padding:13px 21px;border-radius:15px}

/* Accueil */
.hero-v42{
    max-width:1640px;margin:0 auto;min-height:720px;
    padding-top:78px;padding-bottom:82px;gap:70px
}
.hero-v42 .hero-copy{position:relative;z-index:2}
.hero-v42 .hero-copy::before{
    content:"";display:block;width:64px;height:2px;margin-bottom:24px;
    background:linear-gradient(90deg,var(--gold),transparent)
}
.hero-v42 h1{
    max-width:900px;margin-top:.7rem;
    font-family:var(--serif);font-size:clamp(3.7rem,6.5vw,6.6rem);
    font-weight:500;line-height:.96;letter-spacing:-.055em
}
.hero-v42 h1 em{color:var(--wine);font-weight:500}
.hero-v42 .hero-copy>p{max-width:680px;font-size:1.09rem;color:#5d5551}
.hero-v42 .hero-stats{gap:42px;margin-top:46px;padding-top:25px;border-color:rgba(91,58,50,.12)}
.hero-v42 .hero-stats strong{font-family:var(--serif);font-size:1.08rem;font-weight:600}
.hero-v42 .hero-stats span{margin-top:2px;font-size:.63rem}
.hero-v42 .hero-map{
    min-height:540px;border-radius:48px;
    border:1px solid rgba(111,33,59,.10);
    background:
        radial-gradient(circle at 50% 44%,rgba(255,255,255,.94) 0 21%,rgba(255,255,255,.56) 22% 43%,transparent 44%),
        radial-gradient(circle at 30% 25%,rgba(184,141,70,.18),transparent 36%),
        linear-gradient(150deg,rgba(111,33,59,.13),rgba(255,253,249,.38) 52%,rgba(64,92,77,.09));
    box-shadow:var(--shadow-strong);overflow:hidden
}
.hero-v42 .hero-map::before,.hero-v42 .hero-map::after{
    content:"";position:absolute;border:1px solid rgba(111,33,59,.11);border-radius:50%;pointer-events:none
}
.hero-v42 .hero-map::before{width:430px;height:430px;left:50%;top:50%;transform:translate(-50%,-50%)}
.hero-v42 .hero-map::after{width:330px;height:330px;left:50%;top:50%;transform:translate(-50%,-50%)}
.hero-v42 .floating-card{
    border-color:rgba(82,48,42,.12);background:rgba(255,253,249,.92);
    backdrop-filter:blur(14px);box-shadow:0 15px 45px rgba(50,28,25,.11);border-radius:18px
}
.hero-v42 .wine-glass{filter:drop-shadow(0 24px 28px rgba(88,27,49,.12))}
.home-resume-lesson{
    position:relative;margin-top:18px;padding:15px 18px 15px 20px;
    border:1px solid rgba(111,33,59,.13);border-radius:17px;background:rgba(255,253,249,.66);
    box-shadow:var(--shadow-soft);backdrop-filter:blur(10px)
}
.home-resume-lesson::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:5px;background:var(--gold)}
.home-resume-lesson small{font-size:.59rem}.home-resume-lesson strong{font-family:var(--serif);font-size:1.02rem}

.home-section-v42 .universe-grid{gap:18px}
.home-section-v42 .universe-card{
    min-height:190px;padding:27px;border-color:rgba(84,52,45,.11);border-radius:26px;
    background:rgba(255,253,249,.72);box-shadow:0 1px 0 rgba(255,255,255,.8) inset
}
.home-section-v42 .universe-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:rgba(111,33,59,.18)}
.home-section-v42 .universe-card.featured{
    background:linear-gradient(145deg,#6e203a,#37121f);box-shadow:0 24px 60px rgba(67,19,36,.18)
}
.home-section-v42 .universe-card>span{width:52px;height:52px;border-radius:17px;background:#f4eadc}
.home-section-v42 .featured>span{background:rgba(255,255,255,.11)}
.home-section-v42 .universe-card h3{font-size:1.72rem;letter-spacing:-.02em}
.home-section-v42 .method-list>div{grid-template-columns:52px 165px 1fr;padding:18px 0}
.home-section-v42 .method-list>div>span{font-family:var(--serif);font-size:.9rem;color:var(--gold)}
.home-section-v42 .knowledge-card{border-radius:32px;background:linear-gradient(155deg,#2a1119,#401522 60%,#551c2e);box-shadow:var(--shadow-strong)}
.cta-band-v42{border-radius:32px;background:linear-gradient(125deg,#6f213b,#37131f);box-shadow:var(--shadow-strong)}

/* Héros intérieurs */
.page-hero-v42,.course-hero-v42{
    position:relative;padding:32px 0 34px;border-bottom:1px solid rgba(82,49,43,.10)
}
.page-hero-v42::before,.course-hero-v42::before{
    content:"";position:absolute;left:0;top:0;width:52px;height:2px;background:var(--gold)
}
.page-hero-v42 h1,.course-hero-v42 h1{font-family:var(--serif);letter-spacing:-.045em}
.page-hero-v42 p,.course-hero-v42 p{max-width:760px;font-size:1rem}

/* Parcours */
.learn-v42 .learn-map-shortcut{
    border-radius:18px;border-color:rgba(111,33,59,.12);background:linear-gradient(100deg,rgba(255,253,249,.78),rgba(244,234,220,.72));box-shadow:var(--shadow-soft)
}
.learn-v42 .filter-row{gap:9px;margin:28px 0}
.learn-v42 .filter-chip{padding:9px 14px;background:rgba(255,253,249,.7);border-color:rgba(82,49,43,.12);font-weight:760}
.learn-v42 .filter-chip.active{background:var(--wine);box-shadow:0 8px 18px rgba(111,33,59,.15)}
.path-grid-v42{gap:18px}
.path-grid-v42 .path-card{
    position:relative;display:flex;flex-direction:column;min-height:330px;padding:26px;
    border-color:rgba(82,49,43,.11);border-radius:26px;background:rgba(255,253,249,.78);
    box-shadow:0 1px 0 rgba(255,255,255,.8) inset;overflow:hidden;transition:.22s ease
}
.path-grid-v42 .path-card::after{
    content:"";position:absolute;right:-42px;top:-46px;width:145px;height:145px;border-radius:50%;
    border:1px solid rgba(111,33,59,.07);box-shadow:0 0 0 22px rgba(111,33,59,.025)
}
.path-grid-v42 .path-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:rgba(111,33,59,.19)}
.path-grid-v42 .path-top{position:relative;z-index:1}
.path-grid-v42 .path-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:17px;background:#f4e9dc;font-size:1.6rem}
.path-grid-v42 .level-pill{background:#f1e6d8;padding:6px 10px}
.path-grid-v42 .path-card>small{margin-top:22px}
.path-grid-v42 .path-card h2{margin:.45rem 0 .7rem;font-size:1.85rem;line-height:1.06;letter-spacing:-.025em}
.path-grid-v42 .path-card p{font-size:.82rem;line-height:1.65}
.path-grid-v42 .path-meta{margin-top:auto;padding-top:18px}
.path-grid-v42 .progress{height:5px;background:#eadfd2}
.path-grid-v42 .path-card .button{margin-top:4px}

/* Page parcours / modules */
.course-v42 .course-summary-v353{
    min-width:185px;padding:24px;border-radius:24px;background:rgba(255,253,249,.76);box-shadow:var(--shadow-soft)
}
.course-v42 .course-summary strong{font-size:2.45rem;color:var(--wine)}
.course-v42 .course-status-legend{
    padding:11px 14px;border:1px solid rgba(82,49,43,.10);border-radius:14px;background:rgba(255,253,249,.52)
}
.module-block-v42{
    position:relative;margin:34px 0 44px;padding:28px 28px 24px;
    border:1px solid rgba(82,49,43,.10);border-radius:30px;background:rgba(255,253,249,.54);box-shadow:var(--shadow-soft)
}
.module-block-v42>header{padding-bottom:21px;margin-bottom:9px;border-bottom:1px solid rgba(82,49,43,.09)}
.module-block-v42>header h2{font-size:2.15rem;letter-spacing:-.025em}
.module-block-v42>header p{max-width:760px;color:var(--muted);font-size:.83rem}
.module-block-v42 .module-kicker span{color:var(--wine)}
.module-block-v42 .lesson-list{gap:9px;margin-top:13px}
.module-block-v42 .lesson-row{
    min-height:92px;padding:16px 18px;border-color:rgba(82,49,43,.10);border-radius:17px;background:rgba(255,255,255,.66);transition:.18s ease
}
.module-block-v42 a.lesson-row:hover{transform:translateX(3px);background:#fff;border-color:rgba(111,33,59,.20);box-shadow:0 10px 25px rgba(50,28,25,.06)}
.module-block-v42 .lesson-number{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#f0e5d8}
.module-block-v42 .lesson-row.completed .lesson-number{background:#e2eee5;color:var(--success)}
.module-block-v42 .lesson-row.locked{opacity:.72;background:rgba(239,233,226,.55)}
.module-passage-exam{border-radius:24px!important;box-shadow:var(--shadow-soft)}

/* Dashboard */
.dashboard-v42{max-width:1450px;padding-top:54px;padding-bottom:88px}
.dashboard-clean-hero-v42{
    position:relative;overflow:hidden;padding:34px 36px;border:1px solid rgba(82,49,43,.10);border-radius:30px;
    background:linear-gradient(135deg,rgba(255,253,249,.90),rgba(244,234,220,.72));box-shadow:var(--shadow-soft)
}
.dashboard-clean-hero-v42::after{
    content:"A";position:absolute;right:34px;bottom:-55px;color:rgba(111,33,59,.045);
    font-family:var(--serif);font-size:12rem;line-height:1;pointer-events:none
}
.dashboard-clean-hero-v42 h1{font-family:var(--serif);font-size:clamp(2.6rem,4.2vw,4.4rem);letter-spacing:-.04em}
.dashboard-clean-hero-v42 p{max-width:660px;color:var(--muted)}
.dashboard-v42 .dashboard-resume-card{
    grid-template-columns:72px minmax(0,1fr) auto;gap:22px;margin-top:20px;padding:25px 27px;
    border:0;border-radius:26px;background:linear-gradient(135deg,#70213b,#3a1320);color:#fff;box-shadow:var(--shadow-strong)
}
.dashboard-v42 .dashboard-resume-icon{width:58px;height:58px;border-radius:18px;background:rgba(255,255,255,.11);font-size:1.35rem}
.dashboard-v42 .dashboard-resume-copy small{color:#e5c990}.dashboard-v42 .dashboard-resume-copy h2{font-family:var(--serif);font-size:1.9rem;letter-spacing:-.02em}
.dashboard-v42 .dashboard-resume-copy p{color:rgba(255,255,255,.72)}
.dashboard-v42 .dashboard-resume-card .button.primary{background:#fff;color:var(--wine);box-shadow:none}
.dashboard-v42 .dashboard-clean-stats{gap:12px;margin-top:18px}
.dashboard-v42 .dashboard-clean-stats article{
    padding:19px 20px;border-color:rgba(82,49,43,.10);border-radius:19px;background:rgba(255,253,249,.68);box-shadow:var(--shadow-soft)
}
.dashboard-v42 .dashboard-clean-stats article>span{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:#f1e6d8}
.dashboard-v42 .dashboard-clean-stats strong{font-family:var(--serif);font-size:1.6rem}
.dashboard-v42 .dashboard-clean-section{margin-top:47px}
.dashboard-v42 .dashboard-clean-heading{align-items:end}
.dashboard-v42 .dashboard-clean-heading h2{font-size:2.25rem}
.dashboard-v42 .dashboard-clean-paths{gap:14px}
.dashboard-v42 .dashboard-clean-paths>article{
    min-height:215px;padding:22px;border-color:rgba(82,49,43,.10);border-radius:22px;background:rgba(255,253,249,.72);transition:.18s ease
}
.dashboard-v42 .dashboard-clean-paths>article:hover{transform:translateY(-3px);box-shadow:var(--shadow-soft)}
.dashboard-v42 .dashboard-clean-tools{gap:11px}
.dashboard-v42 .dashboard-clean-tools>a{
    min-height:105px;padding:19px;border-color:rgba(82,49,43,.10);border-radius:19px;background:rgba(255,253,249,.64);transition:.18s ease
}
.dashboard-v42 .dashboard-clean-tools>a:hover{background:#fff;transform:translateY(-2px);box-shadow:var(--shadow-soft)}
.dashboard-v42 .dashboard-clean-week{margin-top:35px;border-radius:22px;background:linear-gradient(100deg,#eee2d5,#f8f2ea)}

/* Leçons : lisibilité et immersion */
.lesson-v5{background:transparent}
.lesson-sidebar-v5{
    background:linear-gradient(180deg,#eee4d8,#e9ddcf);border-right-color:rgba(82,49,43,.10)
}
.lesson-sidebar-v5 .lesson-sidebar-head-v5{padding-bottom:16px;border-bottom:1px solid rgba(82,49,43,.10)}
.lesson-side-item-v5{border-radius:12px!important}
.lesson-side-item-v5.active{background:#fff!important;box-shadow:0 8px 18px rgba(50,28,25,.06)}
.lesson-content-v5{max-width:1040px}
.lesson-hero-v5{
    margin-bottom:20px;padding:9px 0 34px;border-bottom:1px solid rgba(82,49,43,.10)
}
.lesson-main-header-v5 h1{font-family:var(--serif)!important;letter-spacing:-.04em}
.lesson-status-card-v5{border-radius:18px!important;background:rgba(255,253,249,.72)!important;box-shadow:var(--shadow-soft)}
.lesson-block-v5{
    position:relative;margin:0;padding:38px 0;border-top-color:rgba(82,49,43,.09)
}
.lesson-block-v5 h2{font-family:var(--serif);letter-spacing:-.025em}
.lesson-block-index-v5 span{background:#efe3d6!important;color:var(--wine)!important}
.lesson-prose{font-size:.96rem;line-height:1.78}
.practice-card,.lesson-practice-v5,.retain-card,.lesson-summary-v5,.lesson-memory-v5{
    border-color:rgba(82,49,43,.11)!important;border-radius:22px!important;background:rgba(255,253,249,.76)!important;box-shadow:var(--shadow-soft)
}
.answer-grid button{min-height:52px;border-color:rgba(82,49,43,.12);border-radius:14px;background:rgba(255,255,255,.78);transition:.16s ease}
.answer-grid button:hover{border-color:rgba(111,33,59,.24);background:#fff;transform:translateY(-1px)}
.lesson-score-panel{border-radius:24px;background:rgba(255,253,249,.72);box-shadow:var(--shadow-soft)}

/* Pages de référence / outils : cohérence par défaut */
.reference-card,.quiz-card,.knowledge-section,.knowledge-facts article,.profile-stat-card,.profile-taste-card,.profile-preferences-card,
.tasting-card,.tasting-history-list>a,.empty-state,.locked-lesson-card,
.card{
    border-color:rgba(82,49,43,.10)!important;
    background:rgba(255,253,249,.70)!important;
    box-shadow:0 1px 0 rgba(255,255,255,.72) inset
}
.reference-card,.quiz-card,.knowledge-section,.profile-stat-card,.profile-taste-card,.profile-preferences-card,.empty-state,.locked-lesson-card{border-radius:24px!important}
.reference-card:hover,.quiz-card:hover{box-shadow:var(--shadow-soft)}

/* Formulaires */
input,textarea,select{
    border-color:rgba(82,49,43,.14)!important;background:rgba(255,255,255,.82)!important;color:var(--ink);
    border-radius:12px!important;outline:none;transition:border-color .16s ease,box-shadow .16s ease
}
input:focus,textarea:focus,select:focus{border-color:rgba(111,33,59,.42)!important;box-shadow:0 0 0 4px rgba(111,33,59,.07)}
.auth-shell{min-height:calc(100vh - 150px);padding-top:70px;padding-bottom:90px}
.auth-card{border:1px solid rgba(82,49,43,.10)!important;border-radius:30px!important;background:rgba(255,253,249,.82)!important;box-shadow:var(--shadow)}
.auth-card h1{font-family:var(--serif);letter-spacing:-.035em}

/* Footer */
.site-footer-v42{
    margin-top:20px;padding-top:54px;padding-bottom:30px;
    border-top:1px solid rgba(82,49,43,.10);
    background:linear-gradient(180deg,#ebe0d3,#e5d8ca)
}
.site-footer-v42 .brand-mark{background:linear-gradient(145deg,#792943,#35121e)}
.site-footer-v42 .footer-v33-nav a{color:#5f5551;transition:.15s ease}.site-footer-v42 .footer-v33-nav a:hover{color:var(--wine)}

/* Micro-interactions respectueuses */
@media (prefers-reduced-motion:no-preference){
    .hero-v42 .floating-card{animation:ampeloriaFloat 7s ease-in-out infinite}
    .hero-v42 .f2{animation-delay:-2.1s}.hero-v42 .f3{animation-delay:-4.2s}
    @keyframes ampeloriaFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
}

/* Responsive */
@media(max-width:1100px){
    .hero-v42{gap:42px}.hero-v42 .hero-map{min-height:470px}
    .dashboard-v42 .dashboard-clean-paths{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1000px){
    .site-header-v42{grid-template-columns:auto 1fr}
    .hero-v42{grid-template-columns:1fr;min-height:auto}
    .hero-v42 .hero-copy{max-width:850px}
    .hero-v42 .hero-map{max-width:760px;width:100%;margin-inline:auto}
    .module-block-v42{padding:24px 20px}
}
@media(max-width:680px){
    .site-header-v42{min-height:64px;padding:9px 12px}
    .site-header-v42 .brand-mark{width:39px;height:39px;border-radius:13px}
    .hero-v42{padding-top:42px;padding-bottom:46px}
    .hero-v42 h1{font-size:clamp(3rem,14vw,4.25rem)}
    .hero-v42 .hero-copy>p{font-size:.98rem}
    .hero-v42 .hero-stats{grid-template-columns:1fr;gap:11px}
    .hero-v42 .hero-stats div{padding:10px 0;border-bottom:1px solid rgba(82,49,43,.08)}
    .hero-v42 .hero-map{min-height:350px;border-radius:28px}
    .home-section{padding-top:65px;padding-bottom:65px}
    .home-section-v42 .universe-card{min-height:150px;padding:21px}
    .home-section-v42 .method-list>div{grid-template-columns:38px 1fr}
    .home-section-v42 .method-list>div>p{grid-column:2}
    .path-grid-v42 .path-card{min-height:auto}
    .course-hero-v42{align-items:start}
    .module-block-v42{margin-inline:-3px;padding:20px 14px;border-radius:22px}
    .module-block-v42 .lesson-row{grid-template-columns:40px 1fr auto!important;padding:14px 12px}
    .dashboard-clean-hero-v42{padding:26px 22px;border-radius:24px}
    .dashboard-v42 .dashboard-resume-card{grid-template-columns:52px 1fr;padding:21px 19px;border-radius:22px}
    .dashboard-v42 .dashboard-resume-action{grid-column:2}
    .dashboard-v42 .dashboard-clean-stats,.dashboard-v42 .dashboard-clean-paths,.dashboard-v42 .dashboard-clean-tools{grid-template-columns:1fr!important}
    .lesson-content-v5{padding-left:17px!important;padding-right:17px!important}
    .lesson-block-v5{padding:31px 0}
    .site-footer-v42{padding-left:18px;padding-right:18px}
}

/* AMPELORIA V4.2.1 — correction du niveau de vin dans le verre du hero */
.hero-v42 .wine-glass span:after{
    left:-16px;
    bottom:93px;
    width:112px;
    height:62px;
    border-radius:2px 2px 52% 52% / 2px 2px 78% 78%;
    clip-path:polygon(
        3% 0,
        97% 0,
        96% 18%,
        92% 39%,
        84% 61%,
        72% 80%,
        61% 92%,
        50% 97%,
        39% 92%,
        28% 80%,
        16% 61%,
        8% 39%,
        4% 18%
    );
    background:linear-gradient(to top,#681f36 0%,#7d2943 62%,rgba(142,56,81,.82) 100%);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
}
.hero-v42 .wine-glass:before{
    z-index:2;
}
.hero-v42 .wine-glass:after,
.hero-v42 .wine-glass span{
    z-index:1;
}


/* AMPELORIA V4.2.2 — verre vectoriel : le liquide est réellement contenu dans le calice */
.hero-v42 .wine-glass{
    width:180px;
    height:300px;
    filter:drop-shadow(0 22px 26px rgba(104,31,54,.12));
}
.hero-v42 .wine-glass:before,
.hero-v42 .wine-glass:after,
.hero-v42 .wine-glass>span{
    display:none!important;
    content:none!important;
}
.hero-v42 .wine-glass-svg{
    display:block;
    width:100%;
    height:100%;
    overflow:visible;
}
.hero-v42 .wine-glass-bowl{
    fill:rgba(255,255,255,.10);
    stroke:url(#ampeloria-glass-stroke);
    stroke-width:4;
    stroke-linejoin:round;
}
.hero-v42 .wine-glass-liquid{
    opacity:.94;
}
.hero-v42 .wine-glass-surface{
    fill:rgba(157,82,107,.92);
}
.hero-v42 .wine-glass-stem,
.hero-v42 .wine-glass-foot{
    fill:none;
    stroke:rgba(111,51,73,.56);
    stroke-width:4;
    stroke-linecap:round;
}
.hero-v42 .wine-glass-highlight{
    fill:none;
    stroke:rgba(255,255,255,.38);
    stroke-width:2.2;
    stroke-linecap:round;
    opacity:.72;
}
@media(max-width:680px){
    .hero-v42 .wine-glass{
        width:148px;
        height:246px;
        transform:translate(-50%,-50%);
    }
}



/* ==========================================================================
   AMPELORIA V4.3.0 — DESIGN SYSTEM GLOBAL
   Refonte cohérente : éditoriale, premium, lisible, vivante
   ========================================================================== */

.ampeloria-v43{
    --v43-bg:#f6f0e8;
    --v43-paper:#fffdf9;
    --v43-paper-soft:#fbf7f1;
    --v43-ink:#261d1b;
    --v43-muted:#766863;
    --v43-wine:#6d2038;
    --v43-wine-deep:#3b1320;
    --v43-wine-soft:#efe0e4;
    --v43-gold:#b48b53;
    --v43-gold-soft:#f0e2cb;
    --v43-green:#476655;
    --v43-line:rgba(57,35,30,.10);
    --v43-line-strong:rgba(57,35,30,.16);
    --v43-shadow-xs:0 1px 2px rgba(53,31,27,.04);
    --v43-shadow-sm:0 8px 24px rgba(53,31,27,.065);
    --v43-shadow-md:0 18px 48px rgba(53,31,27,.09);
    --v43-shadow-lg:0 34px 80px rgba(53,31,27,.13);
    --v43-radius-sm:14px;
    --v43-radius:22px;
    --v43-radius-lg:32px;
    --v43-serif:Georgia,"Times New Roman",serif;
    color:var(--v43-ink);
    background:
        radial-gradient(circle at 5% -5%,rgba(180,139,83,.12),transparent 24rem),
        radial-gradient(circle at 93% 4%,rgba(109,32,56,.07),transparent 25rem),
        linear-gradient(180deg,#f8f3ec 0,#f5eee6 52%,#f7f1ea 100%);
}

/* subtle paper grain without image assets */
.ampeloria-v43::before{
    content:"";
    position:fixed;inset:0;z-index:-1;pointer-events:none;
    opacity:.19;
    background-image:
        repeating-linear-gradient(0deg,rgba(70,42,35,.018) 0 1px,transparent 1px 4px),
        repeating-linear-gradient(90deg,rgba(255,255,255,.18) 0 1px,transparent 1px 5px);
}

/* ---------- Typography ---------- */
.ampeloria-v43 h1,
.ampeloria-v43 h2,
.ampeloria-v43 h3{color:var(--v43-ink)}
.ampeloria-v43 h1,
.ampeloria-v43 .page-hero h1,
.ampeloria-v43 .course-hero h1,
.ampeloria-v43 .dashboard-clean-hero h1,
.ampeloria-v43 .tasting-journal-hero h1,
.ampeloria-v43 .explore-hero-v29 h1,
.ampeloria-v43 .profile-hero h1,
.ampeloria-v43 .knowledge-hero h1{
    font-family:var(--v43-serif);
    font-weight:500;
    letter-spacing:-.045em;
    text-wrap:balance;
}
.ampeloria-v43 h2{letter-spacing:-.025em;text-wrap:balance}
.ampeloria-v43 p{color:var(--v43-muted)}
.ampeloria-v43 .eyebrow{
    color:var(--v43-wine);
    font-size:.70rem;
    line-height:1;
    font-weight:850;
    letter-spacing:.13em;
}
.ampeloria-v43 a{transition:color .16s ease,background .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease}

/* ---------- Header ---------- */
.ampeloria-v43 .site-header-v42{
    position:sticky;top:0;z-index:100;
    max-width:1440px;
    min-height:76px;
    margin:12px auto 0;
    padding:10px 14px 10px 16px;
    border:1px solid rgba(74,44,38,.09);
    border-radius:20px;
    background:rgba(255,253,249,.86);
    box-shadow:0 12px 38px rgba(52,30,26,.07);
    backdrop-filter:blur(18px) saturate(1.2);
}
.ampeloria-v43 .site-header-v42 .brand{gap:11px}
.ampeloria-v43 .site-header-v42 .brand-mark{
    width:43px;height:43px;border-radius:14px;
    background:linear-gradient(145deg,#7b2945,#39121f);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 8px 20px rgba(92,27,49,.17);
    font-family:var(--v43-serif);font-size:1.42rem
}
.ampeloria-v43 .site-header-v42 .brand strong{
    font-family:var(--v43-serif);font-size:1.13rem;letter-spacing:-.02em
}
.ampeloria-v43 .site-header-v42 .brand small{margin-top:1px;font-size:.66rem;color:#8b7770}
.ampeloria-v43 .main-nav-v29{gap:3px}
.ampeloria-v43 .main-nav-v29>a,
.ampeloria-v43 .header-menu>summary{
    min-height:42px;padding:0 13px;border-radius:12px;
    color:#62524e;font-size:.82rem;font-weight:750
}
.ampeloria-v43 .main-nav-v29>a:hover,
.ampeloria-v43 .header-menu>summary:hover{background:#f5ede4;color:var(--v43-wine)}
.ampeloria-v43 .main-nav-v29>a.active{
    color:var(--v43-wine);background:var(--v43-wine-soft);
    box-shadow:inset 0 0 0 1px rgba(109,32,56,.07)
}
.ampeloria-v43 .header-menu-panel,
.ampeloria-v43 .account-menu>div{
    border:1px solid var(--v43-line);
    border-radius:20px;
    background:rgba(255,253,249,.97);
    box-shadow:var(--v43-shadow-lg);
    backdrop-filter:blur(16px)
}
.ampeloria-v43 .header-menu-panel section>a{
    border-radius:13px
}
.ampeloria-v43 .header-menu-panel section>a:hover{background:#f7f0e7}
.ampeloria-v43 .header-search-link,
.ampeloria-v43 .header-favorite-link,
.ampeloria-v43 .header-notification-link{
    display:grid;place-items:center;
    width:39px;height:39px;padding:0;
    border:1px solid var(--v43-line);
    border-radius:12px;
    background:#fffaf5;color:#6d5b56
}
.ampeloria-v43 .header-search-link:hover,
.ampeloria-v43 .header-favorite-link:hover,
.ampeloria-v43 .header-notification-link:hover{
    color:var(--v43-wine);background:#fff;border-color:rgba(109,32,56,.18);transform:translateY(-1px)
}
.ampeloria-v43 .account-menu>summary{
    min-height:42px;padding:4px 8px 4px 5px;border:1px solid var(--v43-line);
    border-radius:13px;background:#fffaf5
}
.ampeloria-v43 .account-dot{background:linear-gradient(145deg,#7b2945,#431726);color:#fff}

/* ---------- Core layout ---------- */
.ampeloria-v43 .page-shell{
    width:min(1380px,calc(100% - 44px));
    margin-inline:auto;
    padding-top:54px;
    padding-bottom:90px
}
.ampeloria-v43 .page-hero,
.ampeloria-v43 .course-hero,
.ampeloria-v43 .tasting-journal-hero,
.ampeloria-v43 .explore-hero-v29,
.ampeloria-v43 .learning-map-hero,
.ampeloria-v43 .profile-hero,
.ampeloria-v43 .exams-hero,
.ampeloria-v43 .planner-hero,
.ampeloria-v43 .passport-hero,
.ampeloria-v43 .challenge-hero,
.ampeloria-v43 .coach-hero,
.ampeloria-v43 .cellar-hero,
.ampeloria-v43 .sommelier-hero,
.ampeloria-v43 .vintages-hero,
.ampeloria-v43 .pairings-hero,
.ampeloria-v43 .blind-hero{
    position:relative;overflow:hidden;
    padding:36px 38px;
    border:1px solid var(--v43-line);
    border-radius:var(--v43-radius-lg);
    background:
        radial-gradient(circle at 92% 0,rgba(109,32,56,.09),transparent 20rem),
        linear-gradient(135deg,rgba(255,253,249,.93),rgba(244,234,220,.73));
    box-shadow:var(--v43-shadow-sm)
}
.ampeloria-v43 .page-hero::after,
.ampeloria-v43 .course-hero::after,
.ampeloria-v43 .explore-hero-v29::after,
.ampeloria-v43 .tasting-journal-hero::after{
    content:"";
    position:absolute;right:-70px;bottom:-90px;
    width:240px;height:240px;border:1px solid rgba(109,32,56,.07);border-radius:50%;
    box-shadow:0 0 0 34px rgba(109,32,56,.025),0 0 0 72px rgba(109,32,56,.018);
    pointer-events:none
}
.ampeloria-v43 .page-hero h1,
.ampeloria-v43 .explore-hero-v29 h1,
.ampeloria-v43 .tasting-journal-hero h1{
    max-width:900px;margin:.55rem 0 .7rem;
    font-size:clamp(2.35rem,4vw,4.35rem);line-height:.98
}
.ampeloria-v43 .page-hero p,
.ampeloria-v43 .explore-hero-v29 p,
.ampeloria-v43 .tasting-journal-hero p{max-width:760px;font-size:.98rem;line-height:1.7}

/* ---------- Buttons ---------- */
.ampeloria-v43 .button{
    min-height:44px;padding:0 17px;
    border-radius:13px;
    font-size:.79rem;font-weight:800;letter-spacing:.005em;
    box-shadow:none
}
.ampeloria-v43 .button.primary{
    border-color:transparent;
    background:linear-gradient(135deg,#74243e,#51172a);
    color:#fff;
    box-shadow:0 9px 22px rgba(99,27,50,.16)
}
.ampeloria-v43 .button.primary:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(99,27,50,.22)}
.ampeloria-v43 .button.ghost{
    border:1px solid var(--v43-line-strong);
    background:rgba(255,253,249,.66);color:#5e4d48
}
.ampeloria-v43 .button.ghost:hover{background:#fff;color:var(--v43-wine);border-color:rgba(109,32,56,.20);transform:translateY(-1px)}
.ampeloria-v43 .button.large{min-height:50px;padding-inline:21px;border-radius:15px}

/* ---------- Cards / panels systemic ---------- */
.ampeloria-v43 :where(
    .reference-card,.knowledge-section,.profile-stat-card,.profile-taste-card,.profile-preferences-card,
    .empty-state,.auth-card,.quiz-session-card,.exam-question-card,.memory-review-card,.activity-chart-card,
    .today-mission-list,.today-reflex,.tasting-profile,.tasting-filters,.tasting-history-grid,
    .cellar-card,.cellar-add-panel,.cellar-sommelier-banner,.planner-settings,.planner-summary,
    .coach-priority,.coach-competencies,.coach-session,.knowledge-review-card,.premium-practice-card,
    .notion-main-card,.notion-related-card,.tasting-edit-card,.tasting-detail-notes,.tasting-detail-facts
){
    border:1px solid var(--v43-line)!important;
    border-radius:var(--v43-radius)!important;
    background:rgba(255,253,249,.78)!important;
    box-shadow:var(--v43-shadow-xs)!important;
}
.ampeloria-v43 :where(
    .reference-card,.cellar-card,.notion-related-card,.favorite-grid>a,.collection-items>a,
    .premium-link-grid>a,.premium-pairing-grid>a,.premium-lesson-list>a
):hover{
    transform:translateY(-3px);
    border-color:rgba(109,32,56,.17)!important;
    background:#fff!important;
    box-shadow:var(--v43-shadow-sm)!important
}

/* ---------- Section headings ---------- */
.ampeloria-v43 .section-heading{margin-bottom:22px}
.ampeloria-v43 .section-heading h2,
.ampeloria-v43 .explore-section-v29>header h2,
.ampeloria-v43 .tasting-profile h2{
    margin:.42rem 0 0;
    font-family:var(--v43-serif);
    font-weight:500;
    font-size:clamp(1.85rem,2.6vw,2.75rem);
    letter-spacing:-.035em
}
.ampeloria-v43 .section-heading.spaced{margin-top:58px}

/* ---------- Homepage ---------- */
.ampeloria-v43 .hero-v42{
    width:min(1440px,calc(100% - 44px));
    margin:26px auto 0;
    min-height:690px;
    padding:64px clamp(28px,4.5vw,72px);
    border:1px solid var(--v43-line);
    border-radius:40px;
    background:
        radial-gradient(circle at 78% 35%,rgba(180,139,83,.12),transparent 19rem),
        radial-gradient(circle at 90% 8%,rgba(109,32,56,.08),transparent 18rem),
        linear-gradient(135deg,rgba(255,253,249,.92),rgba(241,229,215,.72));
    box-shadow:var(--v43-shadow-md)
}
.ampeloria-v43 .hero-v42 .hero-copy{max-width:720px}
.ampeloria-v43 .hero-v42 h1{font-size:clamp(3.85rem,6.8vw,7.4rem);line-height:.86}
.ampeloria-v43 .hero-v42 h1 em{color:var(--v43-wine);font-weight:400}
.ampeloria-v43 .hero-v42 .hero-copy>p{max-width:650px;font-size:1.04rem;line-height:1.8}
.ampeloria-v43 .home-resume-lesson{
    margin-top:21px;padding:14px 16px 15px;
    border:1px solid rgba(109,32,56,.10);border-radius:16px;
    background:rgba(255,255,255,.52)
}
.ampeloria-v43 .home-resume-lesson small{color:var(--v43-gold);font-size:.64rem}
.ampeloria-v43 .home-resume-lesson strong{font-family:var(--v43-serif);font-size:1.05rem}
.ampeloria-v43 .hero-v42 .hero-stats{margin-top:34px}
.ampeloria-v43 .hero-v42 .hero-stats strong{font-family:var(--v43-serif);font-size:1.12rem}
.ampeloria-v43 .hero-v42 .hero-map{
    min-height:520px;border-radius:38px;
    background:
        radial-gradient(circle,rgba(255,255,255,.82) 0 23%,transparent 24%),
        repeating-radial-gradient(circle at 50% 50%,transparent 0 74px,rgba(109,32,56,.07) 75px 76px),
        linear-gradient(145deg,#eee2d4,#fbf6f0);
    box-shadow:inset 0 0 0 1px rgba(78,47,40,.08),0 24px 55px rgba(62,37,31,.07)
}
.ampeloria-v43 .home-section-v42 .universe-card{
    border:1px solid var(--v43-line);
    border-radius:25px;background:rgba(255,253,249,.72);
    box-shadow:var(--v43-shadow-xs)
}
.ampeloria-v43 .home-section-v42 .universe-card:hover{transform:translateY(-4px);background:#fff;box-shadow:var(--v43-shadow-sm)}
.ampeloria-v43 .cta-band-v42{
    border-radius:34px;
    background:linear-gradient(135deg,#6c2139,#35121e);
    box-shadow:var(--v43-shadow-lg)
}

/* ---------- Dashboard ---------- */
.ampeloria-v43 .dashboard-v42{max-width:1420px}
.ampeloria-v43 .dashboard-clean-hero-v42{
    padding:42px;
    background:
      radial-gradient(circle at 90% 0,rgba(180,139,83,.14),transparent 20rem),
      linear-gradient(135deg,#fffdf9,#f2e7da)
}
.ampeloria-v43 .dashboard-clean-hero-v42 h1{font-size:clamp(2.7rem,4.6vw,5rem)}
.ampeloria-v43 .dashboard-v42 .dashboard-resume-card{
    padding:28px 30px;border-radius:28px;
    background:
        radial-gradient(circle at 92% 10%,rgba(211,179,128,.18),transparent 15rem),
        linear-gradient(135deg,#74233e,#3a121f);
    box-shadow:0 25px 60px rgba(83,25,43,.20)
}
.ampeloria-v43 .dashboard-v42 .dashboard-clean-stats article{
    min-height:106px;border-radius:21px;background:rgba(255,253,249,.74)
}
.ampeloria-v43 .dashboard-v42 .dashboard-clean-paths>article{
    position:relative;overflow:hidden;
    min-height:245px;padding:25px;
    border-radius:25px;background:rgba(255,253,249,.76)
}
.ampeloria-v43 .dashboard-v42 .dashboard-clean-paths>article::after{
    content:"";position:absolute;right:-35px;bottom:-50px;width:130px;height:130px;
    border-radius:50%;border:1px solid rgba(109,32,56,.07)
}
.ampeloria-v43 .dashboard-v42 .dashboard-clean-tools>a{
    min-height:120px;border-radius:21px;background:rgba(255,253,249,.70)
}
.ampeloria-v43 .dashboard-v42 .dashboard-clean-tools>a>span:first-child{
    display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#f1e5d7
}

/* ---------- Learn / Paths ---------- */
.ampeloria-v43 .learn-v42 .page-hero{padding:42px}
.ampeloria-v43 .filter-row{
    gap:8px;margin:24px 0 30px;padding:7px;
    border:1px solid var(--v43-line);border-radius:16px;background:rgba(255,253,249,.62);
    width:max-content;max-width:100%
}
.ampeloria-v43 .filter-chip{
    border:0!important;border-radius:11px!important;background:transparent!important;
    color:#6f5d58!important
}
.ampeloria-v43 .filter-chip.active{background:#fff!important;color:var(--v43-wine)!important;box-shadow:var(--v43-shadow-xs)}
.ampeloria-v43 .path-grid-v42{gap:18px}
.ampeloria-v43 .path-grid-v42 .path-card{
    min-height:330px;padding:27px;
    border:1px solid var(--v43-line);
    border-radius:28px;background:rgba(255,253,249,.76);
    box-shadow:var(--v43-shadow-xs)
}
.ampeloria-v43 .path-grid-v42 .path-card:hover{transform:translateY(-5px);background:#fff;box-shadow:var(--v43-shadow-md)}
.ampeloria-v43 .path-grid-v42 .path-icon{
    width:52px;height:52px;border-radius:16px;
    background:linear-gradient(145deg,#f3e6d7,#e9d7c4)
}
.ampeloria-v43 .path-grid-v42 .path-card h2{font-family:var(--v43-serif);font-weight:500;font-size:2rem}
.ampeloria-v43 .level-pill{border-color:rgba(109,32,56,.11);background:#f4e7e9;color:var(--v43-wine)}

/* ---------- Course / modules ---------- */
.ampeloria-v43 .course-hero-v42{padding:42px}
.ampeloria-v43 .course-hero-v42 h1{font-size:clamp(2.8rem,5vw,5.2rem);line-height:.92}
.ampeloria-v43 .course-v42 .course-summary-v353{
    min-width:205px;border:1px solid var(--v43-line);background:rgba(255,253,249,.72)
}
.ampeloria-v43 .module-block-v42{
    margin:38px 0 48px;padding:31px;
    border-radius:30px;background:rgba(255,253,249,.66);
    box-shadow:var(--v43-shadow-xs)
}
.ampeloria-v43 .module-block-v42>header h2{font-family:var(--v43-serif);font-weight:500;font-size:2.35rem}
.ampeloria-v43 .module-block-v42 .lesson-row{
    min-height:96px;border-radius:18px;background:rgba(255,255,255,.66)
}
.ampeloria-v43 .module-block-v42 a.lesson-row:hover{transform:translateX(5px);box-shadow:var(--v43-shadow-sm)}
.ampeloria-v43 .module-passage-exam{
    margin-top:-22px;margin-bottom:50px;padding:27px 29px!important;
    border:1px solid rgba(109,32,56,.12)!important;
    background:linear-gradient(135deg,#fffaf4,#f2e3e4)!important
}

/* ---------- Lesson ---------- */
.ampeloria-v43.page-lesson{background:linear-gradient(90deg,#eee4d8 0 286px,#f8f3ec 286px)}
.ampeloria-v43 .lesson-sidebar-v5{
    width:286px;padding:24px 16px;
    background:rgba(238,228,216,.93);backdrop-filter:blur(14px)
}
.ampeloria-v43 .lesson-content-v5{max-width:1080px;padding-top:42px}
.ampeloria-v43 .lesson-hero-v5{padding-bottom:35px}
.ampeloria-v43 .lesson-main-header-v5 h1{font-size:clamp(2.7rem,4.7vw,5rem)!important;line-height:.95}
.ampeloria-v43 .lesson-block-v5{padding:43px 0}
.ampeloria-v43 .lesson-block-v5 h2{font-size:clamp(1.65rem,2.3vw,2.25rem);font-weight:500}
.ampeloria-v43 .lesson-prose{max-width:780px;font-size:1rem;line-height:1.86}
.ampeloria-v43 .practice-card,
.ampeloria-v43 .lesson-practice-v5,
.ampeloria-v43 .retain-card,
.ampeloria-v43 .lesson-summary-v5,
.ampeloria-v43 .lesson-memory-v5{
    padding:24px!important;border-radius:24px!important;background:#fffdf9!important;
    box-shadow:var(--v43-shadow-sm)!important
}
.ampeloria-v43 .answer-grid button{border-radius:15px;background:#fffdf9}
.ampeloria-v43 .answer-grid button:hover{transform:translateY(-2px);box-shadow:var(--v43-shadow-sm)}

/* ---------- Explorer ---------- */
.ampeloria-v43 .explore-page-v29{max-width:1380px}
.ampeloria-v43 .explore-section-v29{margin-top:52px}
.ampeloria-v43 .explore-grid-v29{gap:14px}
.ampeloria-v43 .explore-grid-v29>a{
    min-height:130px;padding:22px;
    border:1px solid var(--v43-line);border-radius:22px;
    background:rgba(255,253,249,.70);
    box-shadow:var(--v43-shadow-xs)
}
.ampeloria-v43 .explore-grid-v29>a:hover{transform:translateY(-4px);background:#fff;box-shadow:var(--v43-shadow-sm)}
.ampeloria-v43 .explore-grid-v29>a>span{
    display:grid;place-items:center;width:45px;height:45px;border-radius:14px;background:#f2e6d8
}

/* ---------- Knowledge / encyclopedia ---------- */
.ampeloria-v43 .premium-knowledge-page,
.ampeloria-v43 .premium-wine-page,
.ampeloria-v43 .notion-detail-page{max-width:1400px}
.ampeloria-v43 .knowledge-breadcrumb{
    display:inline-flex;padding:8px 11px;border:1px solid var(--v43-line);
    border-radius:11px;background:rgba(255,253,249,.55);color:#74625c
}
.ampeloria-v43 .knowledge-hero,
.ampeloria-v43 .wine-detail-hero,
.ampeloria-v43 .notion-detail-hero{
    padding:36px;border:1px solid var(--v43-line);border-radius:30px;
    background:linear-gradient(135deg,#fffdf9,#f3e7da);box-shadow:var(--v43-shadow-sm)
}
.ampeloria-v43 .premium-knowledge-layout,
.ampeloria-v43 .premium-wine-layout,
.ampeloria-v43 .notion-detail-layout{gap:20px}
.ampeloria-v43 .knowledge-section{padding:27px!important}
.ampeloria-v43 .guided-details>summary{
    padding:15px 18px;border:1px solid var(--v43-line);border-radius:15px;background:rgba(255,253,249,.62)
}
.ampeloria-v43 .guided-details[open]>summary{background:#f2e7dc;color:var(--v43-wine)}
.ampeloria-v43 .premium-knowledge-side{position:sticky;top:104px;align-self:start}

/* ---------- Tasting ---------- */
.ampeloria-v43 .tasting-journal-kpis,
.ampeloria-v43 .tasting-kpis,
.ampeloria-v43 .activity-kpis,
.ampeloria-v43 .cellar-kpis{
    gap:12px;margin:18px 0
}
.ampeloria-v43 .tasting-journal-kpis article,
.ampeloria-v43 .tasting-kpis article,
.ampeloria-v43 .activity-kpis article,
.ampeloria-v43 .cellar-kpis article{
    padding:20px;border:1px solid var(--v43-line);border-radius:19px;background:rgba(255,253,249,.72)
}
.ampeloria-v43 .tasting-journal-kpis strong,
.ampeloria-v43 .tasting-kpis strong,
.ampeloria-v43 .activity-kpis strong,
.ampeloria-v43 .cellar-kpis strong{font-family:var(--v43-serif);font-size:1.7rem}
.ampeloria-v43 .tasting-profile{padding:25px!important;margin:22px 0}
.ampeloria-v43 .tasting-filters{padding:14px!important;display:flex;gap:8px;align-items:center}
.ampeloria-v43 .tasting-history-grid>article,
.ampeloria-v43 .tasting-history-grid>a{
    border:1px solid var(--v43-line);border-radius:22px;background:rgba(255,253,249,.74)
}

/* ---------- Profile ---------- */
.ampeloria-v43 .profile-hero-v5{gap:21px}
.ampeloria-v43 .profile-hero-v5 .avatar{
    display:grid;place-items:center;width:76px;height:76px;border-radius:24px;
    background:linear-gradient(145deg,#f0dfcf,#e7d1bd);font-size:2rem
}
.ampeloria-v43 .profile-level-card{
    border:1px solid rgba(109,32,56,.11);border-radius:20px;background:#fffaf5
}
.ampeloria-v43 .profile-level-progress{margin:14px 0 30px;padding:16px 18px;border:1px solid var(--v43-line);border-radius:17px;background:rgba(255,253,249,.64)}
.ampeloria-v43 .profile-competencies article{border:1px solid var(--v43-line);border-radius:19px;background:rgba(255,253,249,.70)}
.ampeloria-v43 .profile-taste-card,
.ampeloria-v43 .profile-preferences-card{padding:28px!important}
.ampeloria-v43 .profile-preference-actions{gap:7px}

/* ---------- Exams / quiz / memory ---------- */
.ampeloria-v43 .exam-grid>article,
.ampeloria-v43 .certificate-mini-grid>article,
.ampeloria-v43 .quiz-session-card,
.ampeloria-v43 .memory-review-card{
    border:1px solid var(--v43-line)!important;border-radius:23px!important;background:rgba(255,253,249,.76)!important
}
.ampeloria-v43 .exam-question-card{padding:28px!important}
.ampeloria-v43 .exam-answer-list label,
.ampeloria-v43 .exam-association-row,
.ampeloria-v43 .quiz-answers-v3 label{
    border:1px solid var(--v43-line);border-radius:15px;background:#fffdf9
}

/* ---------- Tables ---------- */
.ampeloria-v43 table{
    width:100%;border-collapse:separate;border-spacing:0;
    overflow:hidden;border:1px solid var(--v43-line);border-radius:18px;background:rgba(255,253,249,.72)
}
.ampeloria-v43 th{
    padding:13px 14px;background:#f1e7dc;color:#5c4944;
    font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;text-align:left
}
.ampeloria-v43 td{padding:13px 14px;border-top:1px solid var(--v43-line)}
.ampeloria-v43 tbody tr:hover td{background:rgba(255,255,255,.65)}

/* ---------- Forms ---------- */
.ampeloria-v43 input,
.ampeloria-v43 textarea,
.ampeloria-v43 select{
    min-height:45px;padding:10px 13px;
    border:1px solid var(--v43-line-strong)!important;
    border-radius:13px!important;
    background:#fffdf9!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
    font:inherit
}
.ampeloria-v43 textarea{min-height:120px}
.ampeloria-v43 input:focus,
.ampeloria-v43 textarea:focus,
.ampeloria-v43 select:focus{
    border-color:rgba(109,32,56,.38)!important;
    box-shadow:0 0 0 4px rgba(109,32,56,.075)!important
}
.ampeloria-v43 .auth-card{
    max-width:520px;padding:34px!important;background:#fffdf9!important;box-shadow:var(--v43-shadow-lg)!important
}

/* ---------- Progress ---------- */
.ampeloria-v43 .progress,
.ampeloria-v43 .progress-track,
.ampeloria-v43 .course-progress-mini{
    height:7px;border-radius:99px;background:#e9ddd1;overflow:hidden
}
.ampeloria-v43 .progress>span,
.ampeloria-v43 .progress-track>span,
.ampeloria-v43 .course-progress-mini>i{
    display:block;height:100%;border-radius:inherit;
    background:linear-gradient(90deg,#7c2946,#b48b53)
}

/* ---------- Footer ---------- */
.ampeloria-v43 .site-footer-v42{
    margin:30px 16px 16px;
    padding:52px clamp(22px,4vw,56px) 26px;
    border:1px solid rgba(70,43,36,.08);
    border-radius:30px;
    background:
       radial-gradient(circle at 6% 0,rgba(109,32,56,.07),transparent 18rem),
       linear-gradient(180deg,#eadfd2,#e3d5c7)
}
.ampeloria-v43 .site-footer-v42 .footer-v33-main{max-width:1320px;margin-inline:auto}
.ampeloria-v43 .site-footer-v42 .footer-v33-bottom{max-width:1320px;margin-inline:auto}
.ampeloria-v43 .site-footer-v42 .footer-v33-brand>p{max-width:390px;line-height:1.7}
.ampeloria-v43 .site-footer-v42 .footer-v33-nav a{padding:3px 0}

/* ---------- Motion ---------- */
@media (prefers-reduced-motion:no-preference){
    .ampeloria-v43 .button,
    .ampeloria-v43 .path-card,
    .ampeloria-v43 .explore-grid-v29>a,
    .ampeloria-v43 .reference-card,
    .ampeloria-v43 .dashboard-clean-tools>a{transition-duration:.20s}
}

/* ---------- Responsive ---------- */
@media(max-width:1120px){
    .ampeloria-v43 .site-header-v42{margin-inline:12px}
    .ampeloria-v43 .page-shell{width:min(100% - 28px,1380px)}
    .ampeloria-v43 .hero-v42{width:calc(100% - 28px)}
}
@media(max-width:900px){
    .ampeloria-v43 .page-hero,
    .ampeloria-v43 .course-hero,
    .ampeloria-v43 .explore-hero-v29,
    .ampeloria-v43 .tasting-journal-hero{padding:29px}
    .ampeloria-v43 .premium-knowledge-side{position:static}
}
@media(max-width:680px){
    .ampeloria-v43 .site-header-v42{
        margin:7px 7px 0;padding:8px 10px;border-radius:17px;min-height:62px
    }
    .ampeloria-v43 .site-header-v42 .brand small{display:none}
    .ampeloria-v43 .page-shell{width:calc(100% - 20px);padding-top:28px;padding-bottom:62px}
    .ampeloria-v43 .hero-v42{width:calc(100% - 14px);margin-top:8px;padding:39px 20px;border-radius:28px}
    .ampeloria-v43 .hero-v42 h1{font-size:clamp(3.15rem,15.5vw,4.65rem)}
    .ampeloria-v43 .hero-v42 .hero-map{min-height:350px;border-radius:24px}
    .ampeloria-v43 .page-hero,
    .ampeloria-v43 .course-hero,
    .ampeloria-v43 .explore-hero-v29,
    .ampeloria-v43 .tasting-journal-hero,
    .ampeloria-v43 .profile-hero{padding:23px 20px;border-radius:23px}
    .ampeloria-v43 .page-hero h1,
    .ampeloria-v43 .explore-hero-v29 h1,
    .ampeloria-v43 .tasting-journal-hero h1{font-size:2.65rem}
    .ampeloria-v43 .module-block-v42{padding:19px 13px;border-radius:21px}
    .ampeloria-v43 .module-block-v42>header h2{font-size:1.85rem}
    .ampeloria-v43 .dashboard-clean-hero-v42{padding:25px 20px}
    .ampeloria-v43 .tasting-filters{flex-direction:column;align-items:stretch}
    .ampeloria-v43.page-lesson{background:#f8f3ec}
    .ampeloria-v43 .lesson-content-v5{padding-top:25px}
    .ampeloria-v43 .site-footer-v42{margin:14px 7px 7px;padding:37px 19px 22px;border-radius:23px}
}



/* ==========================================================================
   AMPELORIA V4.3.1 — FINITIONS VISUELLES
   Corrige les dérives vues sur desktop/mobile après le nouveau design system.
   ========================================================================== */

/* 1. Les ornements d'un hero ne doivent JAMAIS recouvrir son contenu. */
.ampeloria-v43 .page-hero,
.ampeloria-v43 .explore-hero-v29,
.ampeloria-v43 .learning-map-hero,
.ampeloria-v43 .tasting-journal-hero{
    isolation:isolate;
}
.ampeloria-v43 .page-hero::before,
.ampeloria-v43 .explore-hero-v29::before,
.ampeloria-v43 .learning-map-hero::before,
.ampeloria-v43 .tasting-journal-hero::before{
    content:none!important;
    display:none!important;
}
.ampeloria-v43 .page-hero::after,
.ampeloria-v43 .explore-hero-v29::after,
.ampeloria-v43 .learning-map-hero::after,
.ampeloria-v43 .tasting-journal-hero::after{
    content:""!important;
    display:block!important;
    z-index:-1!important;
    right:-38px!important;
    left:auto!important;
    bottom:-54px!important;
    width:175px!important;
    height:175px!important;
    border:1px solid rgba(109,32,56,.065)!important;
    border-radius:50%!important;
    background:transparent!important;
    box-shadow:
        0 0 0 28px rgba(109,32,56,.018),
        0 0 0 58px rgba(180,139,83,.014)!important;
    pointer-events:none!important;
}
.ampeloria-v43 .page-hero>*,
.ampeloria-v43 .explore-hero-v29>*,
.ampeloria-v43 .learning-map-hero>*,
.ampeloria-v43 .tasting-journal-hero>*{
    position:relative;
    z-index:1;
}

/* 2. Le hero Explorer garde sa présence mais laisse respirer la recherche. */
.ampeloria-v43 .explore-hero-v29{
    min-height:300px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:40px 42px 38px;
}
.ampeloria-v43 .explore-hero-v29 h1{
    max-width:760px;
    font-size:clamp(2.8rem,4.4vw,4.9rem);
    line-height:.94;
}
.ampeloria-v43 .explore-hero-v29 p{
    max-width:700px;
    margin-bottom:22px;
}
.ampeloria-v43 .explore-hero-v29 .button,
.ampeloria-v43 .explore-hero-v29 form,
.ampeloria-v43 .explore-hero-v29 .explore-search{
    position:relative;
    z-index:2;
}

/* 3. Apprendre / carte : même principe, zéro élément décoratif sur le titre. */
.ampeloria-v43 .learn-v42 .page-hero{
    min-height:255px;
    padding:38px 41px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.ampeloria-v43 .learn-v42 .page-hero h1{
    max-width:760px;
    font-size:clamp(2.75rem,4.7vw,5rem);
    line-height:.95;
}
.ampeloria-v43 .learn-v42 .learn-map-shortcut{
    margin-bottom:16px;
}

/* 4. Dégustation : l'état vide occupe proprement la largeur disponible. */
.ampeloria-v43 .tasting-history-grid{
    width:100%;
}
.ampeloria-v43 .tasting-history-grid>.empty-state{
    grid-column:1 / -1;
    width:100%;
    min-height:245px;
    padding:42px 38px!important;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    border-radius:26px!important;
    background:
        radial-gradient(circle at 93% 12%,rgba(109,32,56,.055),transparent 19rem),
        linear-gradient(135deg,#fffdf9,#f6ede3)!important;
}
.ampeloria-v43 .tasting-history-grid>.empty-state h1{
    max-width:720px;
    margin:0 0 12px;
    font-family:var(--v43-serif);
    font-weight:500;
    font-size:clamp(2rem,3.3vw,3.45rem);
    letter-spacing:-.04em;
}
.ampeloria-v43 .tasting-history-grid>.empty-state p{
    max-width:600px;
    margin:0;
    font-size:.92rem;
}

/* 5. Le bandeau d'appel de l'accueil avait hérité de couleurs de texte sombres. */
.ampeloria-v43 .cta-band{
    position:relative;
    overflow:hidden;
    padding:38px 42px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:30px;
    background:
        radial-gradient(circle at 88% 10%,rgba(211,179,128,.14),transparent 17rem),
        linear-gradient(125deg,#77233f,#36121f);
    box-shadow:var(--v43-shadow-lg);
    color:#fff;
}
.ampeloria-v43 .cta-band::after{
    content:"";
    position:absolute;
    width:180px;
    height:180px;
    right:-60px;
    bottom:-100px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:50%;
}
.ampeloria-v43 .cta-band>div,
.ampeloria-v43 .cta-band>a{
    position:relative;
    z-index:1;
}
.ampeloria-v43 .cta-band .eyebrow{
    color:#e6c88f!important;
}
.ampeloria-v43 .cta-band h2{
    margin:.42rem 0 0;
    color:#fff!important;
    font-family:var(--v43-serif);
    font-size:clamp(1.7rem,2.5vw,2.8rem);
    line-height:1.08;
    letter-spacing:-.035em;
}
.ampeloria-v43 .cta-band .button.light{
    min-width:168px;
    background:#fffdf9!important;
    color:var(--v43-wine)!important;
    border-color:transparent!important;
    box-shadow:0 10px 28px rgba(22,8,13,.17);
}
.ampeloria-v43 .cta-band .button.light:hover{
    transform:translateY(-2px);
    background:#fff!important;
}

/* 6. Desktop : le header ne doit pas sembler minuscule au milieu d'un grand écran. */
@media(min-width:1180px){
    .ampeloria-v43 .site-header-v42{
        width:min(1480px,calc(100% - 64px));
        min-height:82px;
        padding:11px 16px 11px 18px;
    }
    .ampeloria-v43 .site-header-v42 .brand-mark{
        width:46px;
        height:46px;
    }
    .ampeloria-v43 .site-header-v42 .brand strong{
        font-size:1.2rem;
    }
    .ampeloria-v43 .site-header-v42 .brand small{
        font-size:.68rem;
    }
    .ampeloria-v43 .main-nav-v29>a,
    .ampeloria-v43 .header-menu>summary{
        min-height:44px;
        padding-inline:14px;
        font-size:.84rem;
    }
    .ampeloria-v43 .header-search-link,
    .ampeloria-v43 .header-favorite-link,
    .ampeloria-v43 .header-notification-link{
        width:41px;
        height:41px;
    }
}

/* 7. Mobile : conserver ce qui fonctionne déjà et réduire encore les ornements. */
@media(max-width:680px){
    .ampeloria-v43 .page-hero::after,
    .ampeloria-v43 .explore-hero-v29::after,
    .ampeloria-v43 .learning-map-hero::after,
    .ampeloria-v43 .tasting-journal-hero::after{
        right:-42px!important;
        bottom:-48px!important;
        width:125px!important;
        height:125px!important;
        box-shadow:0 0 0 20px rgba(109,32,56,.014)!important;
    }
    .ampeloria-v43 .explore-hero-v29,
    .ampeloria-v43 .learn-v42 .page-hero{
        min-height:auto;
        padding:25px 21px 27px;
    }
    .ampeloria-v43 .explore-hero-v29 h1,
    .ampeloria-v43 .learn-v42 .page-hero h1{
        font-size:clamp(2.55rem,12vw,3.35rem);
        line-height:.94;
    }
    .ampeloria-v43 .tasting-history-grid>.empty-state{
        min-height:205px;
        padding:28px 22px!important;
    }
    .ampeloria-v43 .cta-band{
        margin-inline:10px;
        padding:27px 23px;
        border-radius:24px;
    }
}

/* ==========================================================================
   AMPELORIA V4.3.2 — HEADER TABLETTE / PETIT DESKTOP CENTRÉ
   ========================================================================== */
@media (min-width:821px) and (max-width:1000px){
    .ampeloria-v43 .site-header-v42{
        width:calc(100% - 24px)!important;
        max-width:none!important;
        margin:12px auto 0!important;
        box-sizing:border-box;
        grid-template-columns:auto minmax(0,1fr)!important;
        grid-template-rows:auto auto;
        column-gap:18px;
        row-gap:8px;
        padding:10px 14px 11px!important;
    }

    .ampeloria-v43 .site-header-v42 .brand{
        grid-column:1;
        grid-row:1;
        align-self:center;
    }

    .ampeloria-v43 .site-header-v42 .main-nav-v29{
        grid-column:2;
        grid-row:1;
        width:100%;
        justify-self:center;
        justify-content:center!important;
        gap:5px;
    }

    .ampeloria-v43 .site-header-v42 .main-nav-v29>a,
    .ampeloria-v43 .site-header-v42 .header-menu>summary{
        min-height:40px;
        padding-inline:11px;
        text-align:center;
        justify-content:center!important;
    }

    .ampeloria-v43 .site-header-v42 .header-menu{
        display:flex;
        justify-content:center;
        align-items:center;
    }

    .ampeloria-v43 .site-header-v42 .header-menu>summary{
        width:100%;
        gap:5px;
    }

    .ampeloria-v43 .site-header-v42 .header-actions-v29{
        grid-column:1 / -1;
        grid-row:2;
        justify-self:center!important;
        justify-content:center!important;
        width:max-content;
        max-width:100%;
        margin:0 auto;
    }

    /* Les anciennes règles plaçaient le menu vers la droite à cette largeur. */
    .ampeloria-v43 .site-header-v42 .header-menu-panel{
        left:50%!important;
        right:auto!important;
        transform:translateX(-50%)!important;
    }
}

@media (max-width:820px){
    .ampeloria-v43 .site-header-v42{
        width:calc(100% - 14px)!important;
        margin:7px auto 0!important;
        box-sizing:border-box;
    }
}



/* ==========================================================================
   AMPELORIA V4.4.0 — NOUVELLE EXPERIENCE LEÇON
   Couche dédiée pour sortir définitivement des empilements V4.1.x.
   ========================================================================== */

/* -------- GLOBAL LESSON CANVAS -------- */
.ampeloria-v43.page-lesson{
    background:
        radial-gradient(circle at 86% 4%,rgba(109,32,56,.055),transparent 28rem),
        linear-gradient(180deg,#f7f1e9 0,#f5eee6 100%)!important;
}

.ampeloria-v43 .lesson-v44{
    width:min(1540px,calc(100% - 42px))!important;
    max-width:none!important;
    margin:30px auto 90px!important;
    padding:0!important;
    display:grid!important;
    grid-template-columns:290px minmax(0,1fr)!important;
    gap:34px!important;
    align-items:start!important;
}

/* -------- DESKTOP SIDEBAR -------- */
.ampeloria-v43 .lesson-sidebar-v44{
    display:block!important;
    position:sticky!important;
    top:106px!important;
    width:auto!important;
    max-height:calc(100vh - 128px)!important;
    overflow:auto!important;
    padding:22px!important;
    border:1px solid var(--v43-line)!important;
    border-radius:25px!important;
    background:rgba(255,253,249,.78)!important;
    box-shadow:var(--v43-shadow-sm)!important;
    backdrop-filter:blur(15px)!important;
}

.ampeloria-v43 .lesson-sidebar-v44 .lesson-sidebar-head-v5{
    margin:0 0 18px!important;
    padding:0 0 17px!important;
}
.ampeloria-v43 .lesson-sidebar-v44 .lesson-sidebar-head-v5 h2{
    margin-top:7px!important;
    font-family:var(--v43-serif)!important;
    font-weight:500!important;
    font-size:1.55rem!important;
    letter-spacing:-.035em!important;
}
.ampeloria-v43 .lesson-sidebar-v44 .lesson-sidebar-head-v5 p{
    font-size:.68rem!important;
    line-height:1.55!important;
}
.ampeloria-v43 .lesson-sidebar-v44 nav{
    gap:7px!important;
}
.ampeloria-v43 .lesson-sidebar-v44 .lesson-side-item-v5{
    min-height:57px!important;
    grid-template-columns:31px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    gap:2px 10px!important;
    padding:9px 10px!important;
    border-radius:14px!important;
}
.ampeloria-v43 .lesson-sidebar-v44 .lesson-side-item-v5>b{
    grid-row:1 / span 2!important;
    width:31px!important;
    height:31px!important;
    border-radius:10px!important;
    font-size:.59rem!important;
}
.ampeloria-v43 .lesson-sidebar-v44 .lesson-side-item-v5>span{
    grid-column:2!important;
    font-size:.69rem!important;
    line-height:1.32!important;
}
.ampeloria-v43 .lesson-sidebar-v44 .lesson-side-item-v5>em{
    grid-column:2!important;
    font-size:.49rem!important;
}
.ampeloria-v43 .lesson-sidebar-v44 .lesson-side-item-v5.active{
    background:linear-gradient(135deg,#f4e6e9,#fff9f5)!important;
    border-color:rgba(109,32,56,.14)!important;
}

/* -------- CONTENT -------- */
.ampeloria-v43 .lesson-content-v44{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
}

/* mobile map hidden on real desktop */
.ampeloria-v43 .lesson-mobile-map-v44{
    display:none!important;
}

/* -------- HERO -------- */
.ampeloria-v43 .lesson-hero-v44{
    position:relative!important;
    overflow:hidden!important;
    margin:0 0 24px!important;
    padding:36px 39px 38px!important;
    border:1px solid var(--v43-line)!important;
    border-radius:31px!important;
    background:
        radial-gradient(circle at 90% 15%,rgba(180,139,83,.11),transparent 21rem),
        radial-gradient(circle at 100% 100%,rgba(109,32,56,.065),transparent 22rem),
        linear-gradient(135deg,#fffdfa,#f3e7dc)!important;
    box-shadow:var(--v43-shadow-md)!important;
}
.ampeloria-v43 .lesson-hero-v44:before{
    content:""!important;
    position:absolute!important;
    width:225px!important;
    height:225px!important;
    right:-95px!important;
    bottom:-125px!important;
    border:1px solid rgba(109,32,56,.07)!important;
    border-radius:50%!important;
    box-shadow:0 0 0 34px rgba(109,32,56,.018)!important;
}
.ampeloria-v43 .lesson-hero-v44:after{
    left:39px!important;
    right:auto!important;
    width:130px!important;
    height:3px!important;
    background:linear-gradient(90deg,var(--v43-wine),var(--v43-gold))!important;
}

.ampeloria-v43 .lesson-hero-v44 .lesson-hierarchy-v5{
    position:relative!important;
    z-index:1!important;
    margin-bottom:27px!important;
    font-size:.58rem!important;
}
.ampeloria-v43 .lesson-main-header-v44{
    position:relative!important;
    z-index:1!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 220px!important;
    gap:44px!important;
    align-items:end!important;
}
.ampeloria-v43 .lesson-main-header-v44 h1{
    max-width:900px!important;
    margin:0!important;
    font-family:var(--v43-serif)!important;
    font-size:clamp(3.3rem,5vw,6rem)!important;
    font-weight:500!important;
    line-height:.88!important;
    letter-spacing:-.055em!important;
}
.ampeloria-v43 .lesson-main-header-v44 .lesson-hero-copy-v5>p{
    max-width:780px!important;
    margin:20px 0 0!important;
    font-size:1rem!important;
    line-height:1.72!important;
}
.ampeloria-v43 .lesson-main-header-v44 .lesson-status-card-v5{
    align-self:end!important;
    padding:20px!important;
    border-radius:20px!important;
    background:rgba(255,253,249,.72)!important;
    box-shadow:0 12px 30px rgba(53,31,27,.055)!important;
}
.ampeloria-v43 .lesson-main-header-v44 .lesson-status-card-v5 strong{
    font-family:var(--v43-serif)!important;
    font-size:1.08rem!important;
    font-weight:600!important;
}
.ampeloria-v43 .lesson-main-header-v44 .lesson-status-card-v5 span{
    font-size:.64rem!important;
}
.ampeloria-v43 .lesson-hero-v44 .lesson-meta-v5{
    margin-top:23px!important;
    gap:8px!important;
}
.ampeloria-v43 .lesson-hero-v44 .lesson-meta-v5 span{
    min-height:31px!important;
    padding:6px 11px!important;
    font-size:.57rem!important;
    background:rgba(255,253,249,.66)!important;
}

/* -------- LESSON SECTIONS: visually different from the old cards -------- */
.ampeloria-v43 .lesson-block-v44{
    position:relative!important;
    margin:18px 0!important;
    padding:38px 42px 40px!important;
    border:1px solid var(--v43-line)!important;
    border-radius:26px!important;
    background:rgba(255,253,249,.76)!important;
    box-shadow:var(--v43-shadow-xs)!important;
    counter-increment:none!important;
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important;
}
.ampeloria-v43 .lesson-block-v44:hover{
    transform:translateY(-2px)!important;
    border-color:rgba(109,32,56,.15)!important;
    box-shadow:var(--v43-shadow-sm)!important;
}
.ampeloria-v43 .lesson-block-v44:before{
    content:""!important;
    position:absolute!important;
    top:0!important;
    left:42px!important;
    right:auto!important;
    bottom:auto!important;
    width:72px!important;
    height:3px!important;
    border-radius:0 0 99px 99px!important;
    background:linear-gradient(90deg,var(--v43-wine),var(--v43-gold))!important;
    box-shadow:none!important;
}
.ampeloria-v43 .lesson-block-v44 .lesson-block-index-v5{
    position:absolute!important;
    top:29px!important;
    right:31px!important;
    left:auto!important;
    transform:none!important;
    display:block!important;
}
.ampeloria-v43 .lesson-block-v44 .lesson-block-index-v5>span{
    display:grid!important;
    place-items:center!important;
    width:38px!important;
    height:38px!important;
    border:1px solid rgba(109,32,56,.09)!important;
    border-radius:13px!important;
    background:#f4e8df!important;
    color:var(--v43-wine)!important;
    box-shadow:none!important;
    font-size:.72rem!important;
}
.ampeloria-v43 .lesson-block-v44>.block-label{
    margin:0 0 9px!important;
    padding:0 55px 0 0!important;
    font-size:.52rem!important;
    font-weight:900!important;
    letter-spacing:.12em!important;
}
.ampeloria-v43 .lesson-block-v44>h2{
    max-width:820px!important;
    margin:0 0 20px!important;
    padding:0 55px 0 0!important;
    font-family:var(--v43-serif)!important;
    font-size:clamp(2rem,2.6vw,3.05rem)!important;
    font-weight:500!important;
    line-height:1.02!important;
    letter-spacing:-.035em!important;
}
.ampeloria-v43 .lesson-block-v44 .lesson-prose,
.ampeloria-v43 .lesson-block-v44 .concept-key-v325{
    max-width:850px!important;
}
.ampeloria-v43 .lesson-block-v44 .lesson-prose p,
.ampeloria-v43 .lesson-block-v44 .concept-key-v325 p{
    font-size:.97rem!important;
    line-height:1.88!important;
}
.ampeloria-v43 .lesson-block-v44 .concept-key-v325{
    margin-top:24px!important;
    padding:19px 21px!important;
    border:0!important;
    border-left:3px solid var(--v43-wine)!important;
    border-radius:0 16px 16px 0!important;
    background:linear-gradient(90deg,rgba(109,32,56,.055),rgba(109,32,56,.012))!important;
}

/* -------- QUIZ -------- */
.ampeloria-v43 .lesson-quiz-v44{
    margin-top:28px!important;
    padding:36px!important;
    border:1px solid rgba(109,32,56,.12)!important;
    border-radius:29px!important;
    background:
        radial-gradient(circle at 94% 0,rgba(180,139,83,.10),transparent 17rem),
        linear-gradient(145deg,#fffaf5,#f3e4e7)!important;
    box-shadow:var(--v43-shadow-md)!important;
}
.ampeloria-v43 .lesson-quiz-v44>header h2{
    font-family:var(--v43-serif)!important;
    font-weight:500!important;
    font-size:clamp(2.4rem,3.2vw,3.7rem)!important;
}
.ampeloria-v43 .lesson-quiz-v44 .lesson-quiz-question{
    padding:25px!important;
    border-radius:20px!important;
    background:rgba(255,253,249,.86)!important;
}

/* ==========================================================================
   TABLET
   ========================================================================== */
@media(max-width:1180px){
    .ampeloria-v43 .lesson-v44{
        width:min(100% - 28px,1000px)!important;
        display:block!important;
        margin:22px auto 70px!important;
    }
    .ampeloria-v43 .lesson-sidebar-v44{
        display:none!important;
    }
    .ampeloria-v43 .lesson-mobile-map-v44{
        display:block!important;
        margin:0 0 16px!important;
        border:1px solid var(--v43-line)!important;
        border-radius:18px!important;
        background:rgba(255,253,249,.76)!important;
        box-shadow:var(--v43-shadow-xs)!important;
        overflow:hidden!important;
    }
    .ampeloria-v43 .lesson-mobile-map-v44>summary{
        min-height:58px!important;
        padding:14px 18px!important;
        align-items:center!important;
    }
    .ampeloria-v43 .lesson-hero-v44{
        padding:31px 31px 34px!important;
        border-radius:27px!important;
    }
    .ampeloria-v43 .lesson-main-header-v44{
        grid-template-columns:minmax(0,1fr) 190px!important;
        gap:28px!important;
    }
    .ampeloria-v43 .lesson-main-header-v44 h1{
        font-size:clamp(3.1rem,7vw,5.3rem)!important;
    }
    .ampeloria-v43 .lesson-block-v44{
        padding:32px 33px 35px!important;
    }
}

/* ==========================================================================
   SMALL TABLET
   ========================================================================== */
@media(max-width:820px){
    .ampeloria-v43 .lesson-v44{
        width:calc(100% - 22px)!important;
        margin-top:16px!important;
    }
    .ampeloria-v43 .lesson-main-header-v44{
        grid-template-columns:1fr!important;
        gap:22px!important;
    }
    .ampeloria-v43 .lesson-main-header-v44 .lesson-status-card-v5{
        display:grid!important;
        grid-template-columns:auto minmax(0,1fr)!important;
        column-gap:14px!important;
        width:100%!important;
    }
    .ampeloria-v43 .lesson-main-header-v44 .lesson-status-card-v5 small{
        grid-row:1 / span 2!important;
        align-self:center!important;
    }
    .ampeloria-v43 .lesson-main-header-v44 .lesson-status-card-v5 strong,
    .ampeloria-v43 .lesson-main-header-v44 .lesson-status-card-v5 span{
        grid-column:2!important;
    }
    .ampeloria-v43 .lesson-main-header-v44 h1{
        font-size:clamp(2.9rem,9.2vw,4.6rem)!important;
    }
}

/* ==========================================================================
   MOBILE
   Clearly different layout: no floating dots, full-width readable cards.
   ========================================================================== */
@media(max-width:600px){
    .ampeloria-v43 .lesson-v44{
        width:100%!important;
        margin:8px 0 56px!important;
        padding:0 9px!important;
    }
    .ampeloria-v43 .lesson-mobile-map-v44{
        margin:0 0 10px!important;
        border-radius:15px!important;
    }
    .ampeloria-v43 .lesson-mobile-map-v44>summary{
        min-height:52px!important;
        padding:12px 14px!important;
        font-size:.73rem!important;
    }
    .ampeloria-v43 .lesson-mobile-map-v44>summary span{
        max-width:52%!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
        white-space:nowrap!important;
    }

    .ampeloria-v43 .lesson-hero-v44{
        margin-bottom:12px!important;
        padding:22px 18px 25px!important;
        border-radius:20px!important;
        box-shadow:var(--v43-shadow-sm)!important;
    }
    .ampeloria-v43 .lesson-hero-v44:before{
        width:120px!important;
        height:120px!important;
        right:-55px!important;
        bottom:-70px!important;
    }
    .ampeloria-v43 .lesson-hero-v44:after{
        left:18px!important;
        width:76px!important;
    }
    .ampeloria-v43 .lesson-hero-v44 .lesson-hierarchy-v5{
        display:flex!important;
        overflow:auto!important;
        white-space:nowrap!important;
        gap:6px!important;
        margin-bottom:19px!important;
        padding-bottom:4px!important;
        font-size:.52rem!important;
    }
    .ampeloria-v43 .lesson-main-header-v44 h1{
        font-size:clamp(2.55rem,13vw,3.75rem)!important;
        line-height:.91!important;
    }
    .ampeloria-v43 .lesson-main-header-v44 .lesson-hero-copy-v5>p{
        margin-top:15px!important;
        font-size:.89rem!important;
        line-height:1.68!important;
    }
    .ampeloria-v43 .lesson-hero-v44 .lesson-meta-v5{
        margin-top:17px!important;
    }
    .ampeloria-v43 .lesson-hero-v44 .lesson-meta-v5 span{
        min-height:28px!important;
        padding:5px 8px!important;
        font-size:.49rem!important;
    }
    .ampeloria-v43 .lesson-main-header-v44 .lesson-status-card-v5{
        padding:13px 14px!important;
        border-radius:15px!important;
    }

    .ampeloria-v43 .lesson-block-v44{
        margin:10px 0!important;
        padding:24px 18px 25px!important;
        border-radius:18px!important;
    }
    .ampeloria-v43 .lesson-block-v44:before{
        left:18px!important;
        width:52px!important;
    }
    .ampeloria-v43 .lesson-block-v44 .lesson-block-index-v5{
        top:15px!important;
        right:14px!important;
    }
    .ampeloria-v43 .lesson-block-v44 .lesson-block-index-v5>span{
        width:29px!important;
        height:29px!important;
        border-radius:10px!important;
        font-size:.61rem!important;
    }
    .ampeloria-v43 .lesson-block-v44>.block-label{
        padding-right:40px!important;
        font-size:.46rem!important;
    }
    .ampeloria-v43 .lesson-block-v44>h2{
        padding-right:38px!important;
        margin-bottom:14px!important;
        font-size:clamp(1.75rem,8vw,2.3rem)!important;
    }
    .ampeloria-v43 .lesson-block-v44 .lesson-prose p,
    .ampeloria-v43 .lesson-block-v44 .concept-key-v325 p{
        font-size:.89rem!important;
        line-height:1.75!important;
    }
    .ampeloria-v43 .lesson-quiz-v44{
        margin-top:14px!important;
        padding:21px 14px!important;
        border-radius:20px!important;
    }
    .ampeloria-v43 .lesson-quiz-v44>header h2{
        font-size:2.25rem!important;
    }
}



/* ==========================================================================
   AMPELORIA V4.4.1 — HEADER : CENTRAGE VERTICAL PC + TABLETTE
   ========================================================================== */

/* Barre principale : tous les groupes partagent le même axe vertical. */
@media (min-width:761px){
    .ampeloria-v43 .site-header-v42{
        align-items:center!important;
    }

    .ampeloria-v43 .site-header-v42 .brand,
    .ampeloria-v43 .site-header-v42 .main-nav-v29,
    .ampeloria-v43 .site-header-v42 .header-actions-v29{
        align-self:center!important;
        margin-top:0!important;
        margin-bottom:0!important;
    }

    .ampeloria-v43 .site-header-v42 .main-nav-v29{
        min-height:46px!important;
        align-items:center!important;
    }

    /* Tous les liens de navigation ont exactement la même boîte. */
    .ampeloria-v43 .site-header-v42 .main-nav-v29>a,
    .ampeloria-v43 .site-header-v42 .header-menu,
    .ampeloria-v43 .site-header-v42 .header-menu>summary{
        height:46px!important;
        min-height:46px!important;
        box-sizing:border-box!important;
    }

    .ampeloria-v43 .site-header-v42 .main-nav-v29>a{
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        padding-top:0!important;
        padding-bottom:0!important;
        line-height:1!important;
    }

    /* Découvrir : summary et chevron sur le même centre optique. */
    .ampeloria-v43 .site-header-v42 .header-menu{
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
    }

    .ampeloria-v43 .site-header-v42 .header-menu>summary{
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
        gap:5px!important;
        padding-top:0!important;
        padding-bottom:0!important;
        line-height:1!important;
    }

    .ampeloria-v43 .site-header-v42 .header-menu>summary>span{
        display:inline-flex!important;
        align-items:center!important;
        justify-content:center!important;
        height:1em!important;
        line-height:1!important;
        transform:none!important;
        margin:0!important;
    }

    /* Actions droites : même axe vertical que la navigation. */
    .ampeloria-v43 .site-header-v42 .header-actions-v29{
        min-height:46px!important;
        align-items:center!important;
    }

    .ampeloria-v43 .site-header-v42 .header-search-link,
    .ampeloria-v43 .site-header-v42 .header-favorite-link,
    .ampeloria-v43 .site-header-v42 .header-notification-link{
        align-self:center!important;
        margin-top:0!important;
        margin-bottom:0!important;
    }

    .ampeloria-v43 .site-header-v42 .account-menu{
        display:flex!important;
        align-items:center!important;
        align-self:center!important;
        min-height:46px!important;
    }

    .ampeloria-v43 .site-header-v42 .account-menu>summary{
        display:flex!important;
        align-items:center!important;
        min-height:46px!important;
        height:46px!important;
        box-sizing:border-box!important;
        margin:0!important;
    }

    .ampeloria-v43 .site-header-v42 .account-label{
        display:flex!important;
        align-items:center!important;
        line-height:1.1!important;
    }
}

/* Tablette : même logique même si le header passe sur deux rangées. */
@media (min-width:761px) and (max-width:1000px){
    .ampeloria-v43 .site-header-v42{
        align-items:center!important;
    }

    .ampeloria-v43 .site-header-v42 .brand,
    .ampeloria-v43 .site-header-v42 .main-nav-v29{
        align-self:center!important;
    }

    .ampeloria-v43 .site-header-v42 .header-actions-v29{
        display:flex!important;
        align-items:center!important;
        min-height:46px!important;
        padding-top:0!important;
        padding-bottom:0!important;
    }
}



/* ==========================================================================
   AMPELORIA V4.4.2 — QUIZ DE LEÇON
   Une vraie séquence de validation, pas un formulaire empilé.
   ========================================================================== */

.ampeloria-v43 .lesson-quiz-v442{
    position:relative!important;
    overflow:hidden!important;
    margin:34px 0 22px!important;
    padding:0!important;
    border:1px solid rgba(82,49,43,.11)!important;
    border-radius:30px!important;
    background:#fffaf5!important;
    box-shadow:0 22px 58px rgba(53,31,27,.085)!important;
}

/* Bandeau d'introduction */
.ampeloria-v43 .lesson-quiz-v442>header{
    position:relative!important;
    z-index:1!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:26px!important;
    align-items:center!important;
    padding:34px 38px 30px!important;
    border-bottom:1px solid rgba(82,49,43,.09)!important;
    background:
        radial-gradient(circle at 92% 5%,rgba(180,139,83,.14),transparent 18rem),
        linear-gradient(135deg,#f7e9e6 0,#fffaf5 67%)!important;
}
.ampeloria-v43 .lesson-quiz-v442>header:before{
    content:"VALIDATION FINALE";
    display:inline-flex;
    align-items:center;
    min-height:27px;
    margin-bottom:11px;
    padding:0 10px;
    border:1px solid rgba(109,32,56,.09);
    border-radius:999px;
    background:rgba(255,255,255,.58);
    color:var(--v43-wine);
    font-size:.54rem;
    font-weight:900;
    letter-spacing:.11em;
}
.ampeloria-v43 .lesson-quiz-v442>header>div:first-child{
    max-width:790px;
}
.ampeloria-v43 .lesson-quiz-v442>header .eyebrow{
    display:none!important;
}
.ampeloria-v43 .lesson-quiz-v442>header h2{
    margin:0 0 10px!important;
    max-width:720px!important;
    color:var(--v43-ink)!important;
    font-family:var(--v43-serif)!important;
    font-size:clamp(2.45rem,3.65vw,4.2rem)!important;
    font-weight:500!important;
    line-height:.98!important;
    letter-spacing:-.045em!important;
}
.ampeloria-v43 .lesson-quiz-v442>header p{
    max-width:680px!important;
    margin:0!important;
    color:var(--v43-muted)!important;
    font-size:.82rem!important;
    line-height:1.65!important;
}
.ampeloria-v43 .lesson-quiz-v442 .lesson-quiz-counter{
    display:grid!important;
    place-items:center!important;
    width:104px!important;
    min-width:104px!important;
    height:104px!important;
    padding:0!important;
    border:1px solid rgba(109,32,56,.12)!important;
    border-radius:28px!important;
    background:rgba(255,253,249,.78)!important;
    box-shadow:0 12px 30px rgba(53,31,27,.06)!important;
}
.ampeloria-v43 .lesson-quiz-v442 .lesson-quiz-counter strong{
    margin-top:6px!important;
    color:var(--v43-wine)!important;
    font-family:var(--v43-serif)!important;
    font-size:2.25rem!important;
    font-weight:500!important;
    line-height:.8!important;
}
.ampeloria-v43 .lesson-quiz-v442 .lesson-quiz-counter span{
    color:#8a746c!important;
    font-size:.56rem!important;
    font-weight:850!important;
    letter-spacing:.05em!important;
    text-transform:uppercase!important;
}

/* Condition de réussite */
.ampeloria-v43 .lesson-quiz-requirement-v442{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    gap:4px 15px!important;
    align-items:center!important;
    margin:0!important;
    padding:16px 38px!important;
    border:0!important;
    border-bottom:1px solid rgba(82,49,43,.08)!important;
    border-radius:0!important;
    background:#f4ebdf!important;
}
.ampeloria-v43 .lesson-quiz-requirement-v442:before{
    content:"✓";
    grid-row:1 / span 2;
    display:grid;
    place-items:center;
    width:35px;
    height:35px;
    border-radius:12px;
    background:#fffaf5;
    color:var(--v43-wine);
    font-weight:900;
}
.ampeloria-v43 .lesson-quiz-requirement-v442 strong{
    color:var(--v43-ink)!important;
    font-family:var(--v43-serif)!important;
    font-size:.93rem!important;
    font-weight:600!important;
}
.ampeloria-v43 .lesson-quiz-requirement-v442 span{
    color:#786762!important;
    font-size:.67rem!important;
    line-height:1.5!important;
}

/* Pile de questions */
.ampeloria-v43 .lesson-quiz-stack-v442{
    display:grid!important;
    gap:16px!important;
    padding:24px!important;
    counter-reset:quiz-question!important;
    background:
        linear-gradient(180deg,rgba(255,253,249,.72),rgba(248,241,233,.78))!important;
}

/* Carte question */
.ampeloria-v43 .lesson-quiz-question-v442{
    counter-increment:quiz-question!important;
    position:relative!important;
    overflow:hidden!important;
    padding:27px 28px 29px!important;
    border:1px solid rgba(82,49,43,.105)!important;
    border-radius:22px!important;
    background:#fffdf9!important;
    box-shadow:0 5px 18px rgba(53,31,27,.035)!important;
    transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
.ampeloria-v43 .lesson-quiz-question-v442:before{
    content:counter(quiz-question,decimal-leading-zero);
    position:absolute;
    top:22px;
    right:22px;
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border-radius:13px;
    background:#f1e5da;
    color:var(--v43-wine);
    font-family:var(--v43-serif);
    font-size:.79rem;
    font-weight:700;
}
.ampeloria-v43 .lesson-quiz-question-v442:hover{
    border-color:rgba(109,32,56,.16)!important;
    box-shadow:0 12px 28px rgba(53,31,27,.055)!important;
}
.ampeloria-v43 .lesson-quiz-question-v442.exercise-correct{
    border-color:rgba(71,102,85,.24)!important;
    background:linear-gradient(135deg,#fbfdfa,#f1f7f2)!important;
}
.ampeloria-v43 .lesson-quiz-question-v442.exercise-wrong{
    border-color:rgba(139,71,89,.24)!important;
    background:linear-gradient(135deg,#fffafa,#f9eef1)!important;
}
.ampeloria-v43 .lesson-quiz-question-v442.exercise-correct:before{
    content:"✓";
    color:#476655;
    background:#e6f0e8;
}
.ampeloria-v43 .lesson-quiz-question-v442.exercise-wrong:before{
    content:"×";
    color:#8b4759;
    background:#f6e4e9;
    font-size:1.15rem;
}

/* Tête de question */
.ampeloria-v43 .lesson-quiz-question-v442 .practice-head-v442{
    padding-right:56px!important;
}
.ampeloria-v43 .lesson-quiz-question-v442 .practice-head-v442>span{
    display:inline-flex!important;
    align-items:center!important;
    min-height:26px!important;
    padding:0 9px!important;
    border:1px solid rgba(109,32,56,.085)!important;
    border-radius:999px!important;
    background:#f7eee7!important;
    color:var(--v43-wine)!important;
    font-size:.49rem!important;
    font-weight:900!important;
    letter-spacing:.075em!important;
}
.ampeloria-v43 .lesson-quiz-question-v442 .practice-question{
    max-width:850px!important;
    margin:13px 0 20px!important;
    color:var(--v43-ink)!important;
    font-family:var(--v43-serif)!important;
    font-size:clamp(1.45rem,2vw,2.05rem)!important;
    font-weight:500!important;
    line-height:1.22!important;
    letter-spacing:-.024em!important;
}

/* Réponses simple / multiple */
.ampeloria-v43 .lesson-quiz-question-v442 .answer-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    margin-top:0!important;
    counter-reset:quiz-answer!important;
}
.ampeloria-v43 .lesson-quiz-question-v442 .answer-grid button{
    counter-increment:quiz-answer!important;
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    min-height:67px!important;
    padding:13px 16px 13px 51px!important;
    border:1px solid rgba(82,49,43,.12)!important;
    border-radius:16px!important;
    background:#fff!important;
    color:#4b403c!important;
    font:inherit!important;
    font-size:.75rem!important;
    font-weight:730!important;
    line-height:1.42!important;
    text-align:left!important;
    box-shadow:none!important;
}
.ampeloria-v43 .lesson-quiz-question-v442 .answer-grid button:before{
    content:counter(quiz-answer,upper-alpha);
    position:absolute;
    left:13px;
    top:50%;
    transform:translateY(-50%);
    display:grid;
    place-items:center;
    width:27px;
    height:27px;
    border-radius:9px;
    background:#f3e9df;
    color:#765d55;
    font-size:.63rem;
    font-weight:900;
}
.ampeloria-v43 .lesson-quiz-question-v442 .answer-grid button:hover:not(:disabled){
    transform:translateY(-2px)!important;
    border-color:rgba(109,32,56,.23)!important;
    background:#fffaf7!important;
    box-shadow:0 8px 20px rgba(53,31,27,.055)!important;
}
.ampeloria-v43 .lesson-quiz-question-v442 .answer-grid button.selected{
    border-color:rgba(109,32,56,.45)!important;
    background:#f5e7eb!important;
    color:var(--v43-wine)!important;
    box-shadow:inset 0 0 0 1px rgba(109,32,56,.08)!important;
}
.ampeloria-v43 .lesson-quiz-question-v442 .answer-grid button.selected:before{
    background:var(--v43-wine)!important;
    color:#fff!important;
}
.ampeloria-v43 .lesson-quiz-question-v442 .answer-grid button.correct{
    border-color:rgba(71,102,85,.34)!important;
    background:#eef6f0!important;
    color:#355341!important;
}
.ampeloria-v43 .lesson-quiz-question-v442 .answer-grid button.correct:before{
    content:"✓"!important;
    background:#476655!important;
    color:#fff!important;
}
.ampeloria-v43 .lesson-quiz-question-v442 .answer-grid button.wrong{
    border-color:rgba(139,71,89,.34)!important;
    background:#f9ecef!important;
    color:#7a3f50!important;
}
.ampeloria-v43 .lesson-quiz-question-v442 .answer-grid button.wrong:before{
    content:"×"!important;
    background:#8b4759!important;
    color:#fff!important;
    font-size:.8rem!important;
}

/* Association */
.ampeloria-v43 .lesson-quiz-question-v442 .association-click-v4{
    gap:13px!important;
}
.ampeloria-v43 .lesson-quiz-question-v442 .association-column-v4{
    gap:8px!important;
    padding:14px!important;
    border:1px solid rgba(82,49,43,.08)!important;
    border-radius:17px!important;
    background:#fbf6f0!important;
}
.ampeloria-v43 .lesson-quiz-question-v442 .association-column-v4>small{
    margin:0 0 3px!important;
    color:#8b756d!important;
    font-size:.49rem!important;
    letter-spacing:.09em!important;
}
.ampeloria-v43 .lesson-quiz-question-v442 .association-column-v4>button{
    min-height:54px!important;
    padding:11px 13px!important;
    border:1px solid rgba(82,49,43,.11)!important;
    border-radius:13px!important;
    background:#fff!important;
    font-size:.71rem!important;
    box-shadow:none!important;
}
.ampeloria-v43 .lesson-quiz-question-v442 .association-column-v4>button:hover:not(:disabled){
    transform:translateY(-1px)!important;
    border-color:rgba(109,32,56,.24)!important;
}
.ampeloria-v43 .lesson-quiz-question-v442 .association-column-v4>button.selected{
    border-color:rgba(109,32,56,.42)!important;
    background:#f5e7eb!important;
    color:var(--v43-wine)!important;
}
.ampeloria-v43 .lesson-quiz-question-v442 .association-column-v4>button.matched{
    border-color:rgba(71,102,85,.28)!important;
    background:#edf5ef!important;
    color:#365443!important;
}

/* Explication + feedback */
.ampeloria-v43 .lesson-quiz-question-v442 .practice-explanation-v4{
    margin:17px 0 0!important;
    padding:15px 17px!important;
    border:0!important;
    border-left:3px solid var(--v43-gold)!important;
    border-radius:0 14px 14px 0!important;
    background:#f7efe4!important;
    color:#62524d!important;
    font-size:.71rem!important;
    line-height:1.67!important;
}
.ampeloria-v43 .lesson-quiz-question-v442 .answer-feedback{
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    margin:14px 0 0!important;
    font-size:.72rem!important;
    font-weight:820!important;
}
.ampeloria-v43 .lesson-quiz-question-v442 .answer-feedback[hidden]{
    display:none!important;
}
.ampeloria-v43 .lesson-quiz-question-v442 .answer-feedback.correct:before{
    content:"✓";
}
.ampeloria-v43 .lesson-quiz-question-v442 .answer-feedback.wrong:before{
    content:"×";
}

/* Bouton de validation multiple */
.ampeloria-v43 .lesson-quiz-question-v442 .practice-check-v4{
    margin-top:13px!important;
    min-height:43px!important;
}

/* -------- Tablet -------- */
@media(max-width:900px){
    .ampeloria-v43 .lesson-quiz-v442>header{
        padding:29px 28px 26px!important;
    }
    .ampeloria-v43 .lesson-quiz-requirement-v442{
        padding:15px 28px!important;
    }
    .ampeloria-v43 .lesson-quiz-stack-v442{
        padding:19px!important;
    }
    .ampeloria-v43 .lesson-quiz-question-v442{
        padding:23px 22px 25px!important;
    }
    .ampeloria-v43 .lesson-quiz-question-v442 .answer-grid{
        grid-template-columns:1fr!important;
    }
}

/* -------- Mobile -------- */
@media(max-width:600px){
    .ampeloria-v43 .lesson-quiz-v442{
        margin:14px 0 16px!important;
        border-radius:20px!important;
    }
    .ampeloria-v43 .lesson-quiz-v442>header{
        grid-template-columns:1fr auto!important;
        gap:12px!important;
        padding:23px 18px 20px!important;
    }
    .ampeloria-v43 .lesson-quiz-v442>header:before{
        grid-column:1 / -1;
        justify-self:start;
        margin-bottom:1px;
        min-height:24px;
        font-size:.48rem;
    }
    .ampeloria-v43 .lesson-quiz-v442>header h2{
        font-size:clamp(2rem,10vw,2.75rem)!important;
    }
    .ampeloria-v43 .lesson-quiz-v442>header p{
        grid-column:1 / -1;
        font-size:.72rem!important;
    }
    .ampeloria-v43 .lesson-quiz-v442 .lesson-quiz-counter{
        width:74px!important;
        min-width:74px!important;
        height:74px!important;
        border-radius:20px!important;
    }
    .ampeloria-v43 .lesson-quiz-v442 .lesson-quiz-counter strong{
        font-size:1.7rem!important;
    }
    .ampeloria-v43 .lesson-quiz-requirement-v442{
        grid-template-columns:auto 1fr!important;
        padding:14px 18px!important;
    }
    .ampeloria-v43 .lesson-quiz-requirement-v442:before{
        width:31px;
        height:31px;
    }
    .ampeloria-v43 .lesson-quiz-stack-v442{
        gap:11px!important;
        padding:11px!important;
    }
    .ampeloria-v43 .lesson-quiz-question-v442{
        padding:20px 15px 21px!important;
        border-radius:16px!important;
    }
    .ampeloria-v43 .lesson-quiz-question-v442:before{
        top:14px;
        right:13px;
        width:30px;
        height:30px;
        border-radius:10px;
        font-size:.63rem;
    }
    .ampeloria-v43 .lesson-quiz-question-v442 .practice-head-v442{
        padding-right:38px!important;
    }
    .ampeloria-v43 .lesson-quiz-question-v442 .practice-head-v442>span{
        min-height:23px!important;
        padding-inline:7px!important;
        font-size:.43rem!important;
    }
    .ampeloria-v43 .lesson-quiz-question-v442 .practice-question{
        margin:10px 0 14px!important;
        font-size:1.35rem!important;
        line-height:1.2!important;
    }
    .ampeloria-v43 .lesson-quiz-question-v442 .answer-grid{
        gap:8px!important;
    }
    .ampeloria-v43 .lesson-quiz-question-v442 .answer-grid button{
        min-height:59px!important;
        padding:11px 12px 11px 46px!important;
        border-radius:14px!important;
        font-size:.7rem!important;
    }
    .ampeloria-v43 .lesson-quiz-question-v442 .answer-grid button:before{
        left:11px;
        width:25px;
        height:25px;
    }
    .ampeloria-v43 .lesson-quiz-question-v442 .association-click-v4{
        grid-template-columns:1fr!important;
    }
    .ampeloria-v43 .lesson-quiz-question-v442 .association-column-v4{
        padding:11px!important;
    }
}


/* ==========================================================================
   AMPELORIA V4.4.4 — RENDU COMPLET DES BLOCS DE LEÇON
   Supporte content / paragraphs / items pour tous les types de blocs.
   ========================================================================== */

.ampeloria-v43 .lesson-concept-content-v444{
    max-width:850px;
    margin-top:6px;
    padding:20px 22px;
    border-left:3px solid var(--v43-wine);
    border-radius:0 16px 16px 0;
    background:linear-gradient(90deg,rgba(109,32,56,.055),rgba(109,32,56,.012));
}
.ampeloria-v43 .lesson-concept-content-v444 p{
    margin:0;
    color:#665650;
    font-size:.97rem;
    line-height:1.86;
}

/* Comparaison : les informations deviennent des repères visuels,
   particulièrement adapté à Haut / Milieu / Bas. */
.ampeloria-v43 .lesson-comparison-grid-v444{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:11px;
    max-width:1000px;
    margin-top:6px;
}
.ampeloria-v43 .lesson-comparison-grid-v444 article{
    position:relative;
    min-height:170px;
    padding:21px 19px 20px;
    border:1px solid rgba(82,49,43,.105);
    border-radius:18px;
    background:
        radial-gradient(circle at 100% 0,rgba(180,139,83,.08),transparent 9rem),
        #fffaf5;
}
.ampeloria-v43 .lesson-comparison-grid-v444 article>span{
    display:grid;
    place-items:center;
    width:29px;
    height:29px;
    margin-bottom:17px;
    border-radius:10px;
    background:#f1e4d7;
    color:var(--v43-wine);
    font-family:var(--v43-serif);
    font-size:.65rem;
    font-weight:700;
}
.ampeloria-v43 .lesson-comparison-grid-v444 article>strong{
    display:block;
    margin-bottom:9px;
    color:var(--v43-ink);
    font-family:var(--v43-serif);
    font-size:1.14rem;
    font-weight:600;
    line-height:1.15;
}
.ampeloria-v43 .lesson-comparison-grid-v444 article>p{
    margin:0;
    color:#74645f;
    font-size:.76rem;
    line-height:1.63;
}

/* Fallback pour tous les autres blocs basés sur items[]. */
.ampeloria-v43 .lesson-item-list-v444{
    display:grid;
    gap:9px;
    max-width:850px;
    margin:8px 0 0;
    padding:0;
    list-style:none;
}
.ampeloria-v43 .lesson-item-list-v444 li{
    position:relative;
    padding:14px 16px 14px 43px;
    border:1px solid rgba(82,49,43,.09);
    border-radius:14px;
    background:#fffaf5;
    color:#665650;
    font-size:.82rem;
    line-height:1.62;
}
.ampeloria-v43 .lesson-item-list-v444 li:before{
    content:"";
    position:absolute;
    left:17px;
    top:50%;
    width:7px;
    height:7px;
    border-radius:50%;
    background:linear-gradient(135deg,var(--v43-wine),var(--v43-gold));
    transform:translateY(-50%);
}

@media(max-width:900px){
    .ampeloria-v43 .lesson-comparison-grid-v444{
        grid-template-columns:1fr;
    }
    .ampeloria-v43 .lesson-comparison-grid-v444 article{
        min-height:0;
        display:grid;
        grid-template-columns:34px minmax(0,1fr);
        column-gap:12px;
        padding:16px;
    }
    .ampeloria-v43 .lesson-comparison-grid-v444 article>span{
        grid-row:1 / span 2;
        margin:0;
    }
    .ampeloria-v43 .lesson-comparison-grid-v444 article>strong{
        grid-column:2;
        margin:1px 0 5px;
    }
    .ampeloria-v43 .lesson-comparison-grid-v444 article>p{
        grid-column:2;
    }
}

@media(max-width:600px){
    .ampeloria-v43 .lesson-concept-content-v444{
        padding:16px 17px;
    }
    .ampeloria-v43 .lesson-concept-content-v444 p{
        font-size:.89rem;
        line-height:1.75;
    }
    .ampeloria-v43 .lesson-comparison-grid-v444{
        gap:8px;
    }
    .ampeloria-v43 .lesson-comparison-grid-v444 article{
        grid-template-columns:30px minmax(0,1fr);
        column-gap:10px;
        padding:14px;
        border-radius:14px;
    }
    .ampeloria-v43 .lesson-comparison-grid-v444 article>span{
        width:27px;
        height:27px;
    }
    .ampeloria-v43 .lesson-comparison-grid-v444 article>strong{
        font-size:1.03rem;
    }
    .ampeloria-v43 .lesson-comparison-grid-v444 article>p{
        font-size:.72rem;
    }
}


/* ========================================================================== 
   AMPELORIA V4.4.5 — EXAM SESSION
   Plus solennel, plus lisible, associations identiques à l'esprit Lesson.
   ========================================================================== */
.ampeloria-v43 .exam-session-v445{
    width:min(1180px,calc(100% - 38px));
    max-width:1180px;
    padding-top:38px;
}
.ampeloria-v43 .exam-session-header-v445{
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:minmax(0,1fr) 160px;
    align-items:end;
    gap:34px;
    padding:36px 38px;
    border:1px solid var(--v43-line);
    border-radius:30px;
    background:
        radial-gradient(circle at 91% 3%,rgba(180,139,83,.13),transparent 18rem),
        linear-gradient(135deg,#fffdf9,#f2e5da);
    box-shadow:var(--v43-shadow-md);
}
.ampeloria-v43 .exam-session-header-v445:after{
    content:"";
    position:absolute;
    right:-72px;bottom:-105px;
    width:230px;height:230px;
    border:1px solid rgba(109,32,56,.06);
    border-radius:50%;
    box-shadow:0 0 0 34px rgba(109,32,56,.018);
}
.ampeloria-v43 .exam-session-header-v445>div{position:relative;z-index:1}
.ampeloria-v43 .exam-session-header-v445 h1{
    max-width:820px;
    margin:.45rem 0 .65rem;
    font-family:var(--v43-serif);
    font-size:clamp(3rem,5vw,5.25rem);
    line-height:.92;
    letter-spacing:-.05em;
}
.ampeloria-v43 .exam-session-header-v445 p{
    max-width:650px;margin:0;font-size:.82rem;line-height:1.65
}
.ampeloria-v43 .exam-session-header-v445 .exam-timer{
    min-width:0;
    padding:21px 18px;
    border-radius:22px;
    background:linear-gradient(145deg,#441522,#291017);
    box-shadow:0 18px 38px rgba(57,17,31,.18);
}
.ampeloria-v43 .exam-session-header-v445 .exam-timer small{font-size:.52rem;letter-spacing:.09em}
.ampeloria-v43 .exam-session-header-v445 .exam-timer strong{font-size:2.25rem}

.ampeloria-v43 .exam-question-form-v445{
    display:grid;
    gap:15px;
    margin-top:22px;
    counter-reset:exam-card;
}
.ampeloria-v43 .exam-question-card-v445{
    counter-increment:exam-card;
    position:relative;
    padding:29px 31px 31px!important;
    border:1px solid var(--v43-line)!important;
    border-radius:24px!important;
    background:rgba(255,253,249,.82)!important;
    box-shadow:var(--v43-shadow-xs)!important;
}
.ampeloria-v43 .exam-question-card-v445>header{margin-bottom:16px}
.ampeloria-v43 .exam-question-card-v445>header>span{
    width:40px;height:40px;border-radius:13px;
    background:#f0e3d7;font-family:var(--v43-serif);font-size:.75rem
}
.ampeloria-v43 .exam-question-card-v445>header small{
    padding:6px 9px;border-radius:999px;background:#f5e9eb;color:var(--v43-wine);
    font-size:.48rem;letter-spacing:.07em;text-transform:uppercase
}
.ampeloria-v43 .exam-question-card-v445 h2{
    max-width:880px;
    margin:0 0 21px;
    font-family:var(--v43-serif);
    font-size:clamp(1.6rem,2.35vw,2.45rem);
    line-height:1.15;
    letter-spacing:-.025em;
}

/* Choix simple */
.ampeloria-v43 .exam-answer-list-v445{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.ampeloria-v43 .exam-answer-list-v445 label span{
    display:grid!important;
    grid-template-columns:31px minmax(0,1fr);
    align-items:center;
    gap:11px;
    min-height:64px;
    padding:10px 14px!important;
    border:1px solid rgba(82,49,43,.11)!important;
    border-radius:15px!important;
    background:#fff!important;
    color:#554743;
    box-shadow:none!important;
}
.ampeloria-v43 .exam-answer-list-v445 label span b{
    display:grid;place-items:center;width:29px;height:29px;border-radius:9px;
    background:#f2e8de;color:#745e56;font-size:.62rem
}
.ampeloria-v43 .exam-answer-list-v445 label span em{font-style:normal;font-size:.74rem;line-height:1.45}
.ampeloria-v43 .exam-answer-list-v445 label:hover span{
    border-color:rgba(109,32,56,.22)!important;background:#fffaf7!important;transform:translateY(-1px)
}
.ampeloria-v43 .exam-answer-list-v445 label input:checked+span{
    border-color:rgba(109,32,56,.42)!important;
    background:#f5e7eb!important;
    color:var(--v43-wine)!important;
    box-shadow:inset 0 0 0 1px rgba(109,32,56,.08)!important;
}
.ampeloria-v43 .exam-answer-list-v445 label input:checked+span b{background:var(--v43-wine);color:#fff}

/* Associations interactives */
.ampeloria-v43 .exam-association-game-v445{
    margin-top:4px;
    border:1px solid rgba(82,49,43,.09);
    border-radius:19px;
    background:#fbf6f0;
    overflow:hidden;
    transition:border-color .2s,box-shadow .2s;
}
.ampeloria-v43 .exam-association-game-v445.needs-attention{
    border-color:rgba(139,71,89,.52);
    box-shadow:0 0 0 4px rgba(139,71,89,.08);
}
.ampeloria-v43 .exam-association-help-v445{
    display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;
    padding:14px 16px;border-bottom:1px solid rgba(82,49,43,.08);background:#f4e9df
}
.ampeloria-v43 .exam-association-help-v445>span{
    padding:6px 8px;border-radius:999px;background:#fffaf5;color:var(--v43-wine);
    font-size:.47rem;font-weight:900;letter-spacing:.08em
}
.ampeloria-v43 .exam-association-help-v445 p{margin:0;font-size:.65rem;line-height:1.5}
.ampeloria-v43 .exam-association-columns-v445{
    display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:15px
}
.ampeloria-v43 .exam-association-column-v445{display:grid;align-content:start;gap:8px}
.ampeloria-v43 .exam-association-column-v445>small{
    padding:0 3px 3px;color:#8a746c;font-size:.49rem;font-weight:900;letter-spacing:.09em
}
.ampeloria-v43 .exam-association-column-v445>button{
    display:grid;grid-template-columns:minmax(0,1fr) 24px;align-items:center;gap:8px;
    min-height:57px;padding:11px 12px 11px 14px;
    border:1px solid rgba(82,49,43,.11);border-radius:14px;
    background:#fff;color:#554743;font:inherit;font-size:.71rem;font-weight:730;line-height:1.4;text-align:left;
    cursor:pointer;transition:.16s ease
}
.ampeloria-v43 .exam-association-column-v445>button i{
    display:grid;place-items:center;width:23px;height:23px;border-radius:8px;
    background:#f2e8de;color:#8c746b;font-style:normal;font-size:.62rem
}
.ampeloria-v43 .exam-association-column-v445>button:hover{
    transform:translateY(-1px);border-color:rgba(109,32,56,.22);background:#fffaf7
}
.ampeloria-v43 .exam-association-column-v445>button.selected{
    border-color:rgba(109,32,56,.43);background:#f5e7eb;color:var(--v43-wine);
    box-shadow:inset 0 0 0 1px rgba(109,32,56,.07)
}
.ampeloria-v43 .exam-association-column-v445>button.selected i{background:var(--v43-wine);color:#fff}
.ampeloria-v43 .exam-association-column-v445>button.paired{
    border-color:rgba(71,102,85,.25);background:#edf5ef;color:#385746
}
.ampeloria-v43 .exam-association-column-v445>button.paired i{background:#476655;color:#fff}
.ampeloria-v43 .exam-association-status-v445{
    display:flex;justify-content:space-between;align-items:center;gap:12px;
    padding:12px 16px;border-top:1px solid rgba(82,49,43,.08);background:#fffaf5
}
.ampeloria-v43 .exam-association-status-v445 strong{font-size:.63rem;color:var(--v43-ink)}
.ampeloria-v43 .exam-association-status-v445 span{font-size:.55rem;color:var(--v43-muted)}

/* Barre de rendu */
.ampeloria-v43 .exam-submit-bar-v445{
    bottom:14px;
    padding:15px 17px;
    border-color:rgba(109,32,56,.16);
    border-radius:18px;
    background:rgba(255,253,249,.92);
    backdrop-filter:blur(16px);
    box-shadow:0 16px 42px rgba(53,31,27,.12)
}
.ampeloria-v43 .exam-submit-bar-v445 strong{font-family:var(--v43-serif);font-size:.88rem}
.ampeloria-v43 .exam-submit-bar-v445 span{font-size:.58rem;margin-top:2px}
.ampeloria-v43 .exam-submit-bar-v445 .button{min-width:210px}

@media(max-width:900px){
    .ampeloria-v43 .exam-session-v445{width:min(100% - 26px,900px);padding-top:26px}
    .ampeloria-v43 .exam-session-header-v445{grid-template-columns:minmax(0,1fr) 135px;padding:29px 28px;border-radius:25px}
    .ampeloria-v43 .exam-session-header-v445 .exam-timer{padding:17px 13px;border-radius:19px}
    .ampeloria-v43 .exam-answer-list-v445{grid-template-columns:1fr}
    .ampeloria-v43 .exam-question-card-v445{padding:24px!important}
}
@media(max-width:650px){
    .ampeloria-v43 .exam-session-v445{width:100%;padding:12px 9px 58px}
    .ampeloria-v43 .exam-session-header-v445{grid-template-columns:1fr auto;gap:14px;padding:23px 18px;border-radius:20px}
    .ampeloria-v43 .exam-session-header-v445 h1{font-size:clamp(2.5rem,12vw,3.6rem)}
    .ampeloria-v43 .exam-session-header-v445 p{grid-column:1 / -1;font-size:.72rem}
    .ampeloria-v43 .exam-session-header-v445 .exam-timer{min-width:93px;padding:14px 11px}
    .ampeloria-v43 .exam-session-header-v445 .exam-timer strong{font-size:1.65rem}
    .ampeloria-v43 .exam-question-form-v445{gap:10px;margin-top:11px}
    .ampeloria-v43 .exam-question-card-v445{padding:20px 15px 22px!important;border-radius:18px!important}
    .ampeloria-v43 .exam-question-card-v445 h2{font-size:1.45rem;margin-bottom:16px}
    .ampeloria-v43 .exam-association-help-v445{grid-template-columns:1fr;gap:6px;padding:12px}
    .ampeloria-v43 .exam-association-help-v445>span{justify-self:start}
    .ampeloria-v43 .exam-association-columns-v445{grid-template-columns:1fr;gap:15px;padding:11px}
    .ampeloria-v43 .exam-association-status-v445{display:grid;gap:3px;padding:11px 12px}
    .ampeloria-v43 .exam-submit-bar-v445{display:grid;gap:11px;bottom:8px;padding:12px}
    .ampeloria-v43 .exam-submit-bar-v445 .button{width:100%;min-width:0}
}



/* ==========================================================================
   AMPELORIA V4.4.6 — COURSE / PARCOURS
   Hero épuré, progression mieux intégrée, zéro décoration intrusive.
   ========================================================================== */

/* On annule explicitement TOUTES les anciennes décorations du hero Course. */
.ampeloria-v43 .course-v42 .course-hero-v42::before,
.ampeloria-v43 .course-v42 .course-hero-v42::after{
    content:none!important;
    display:none!important;
}

/* Hero principal */
.ampeloria-v43 .course-v42 .course-hero-v42{
    position:relative!important;
    isolation:isolate!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 210px!important;
    gap:clamp(28px,4vw,62px)!important;
    align-items:center!important;
    min-height:300px!important;
    margin:0 0 22px!important;
    padding:42px 46px!important;
    overflow:hidden!important;
    border:1px solid rgba(82,49,43,.10)!important;
    border-radius:31px!important;
    background:
        radial-gradient(circle at 92% 12%,rgba(180,139,83,.10),transparent 16rem),
        linear-gradient(135deg,#fffdf9 0%,#f7eee5 72%,#f1e4d8 100%)!important;
    box-shadow:0 18px 48px rgba(53,31,27,.07)!important;
}

/* Petit accent éditorial, indépendant des pseudo-éléments hérités. */
.ampeloria-v43 .course-v42 .course-hero-v42>div:first-child{
    position:relative!important;
    z-index:1!important;
    max-width:830px!important;
    padding-top:13px!important;
}
.ampeloria-v43 .course-v42 .course-hero-v42>div:first-child::before{
    content:""!important;
    position:absolute!important;
    left:0!important;
    top:0!important;
    width:58px!important;
    height:3px!important;
    border-radius:99px!important;
    background:linear-gradient(90deg,var(--v43-wine),var(--v43-gold))!important;
}

.ampeloria-v43 .course-v42 .course-hero-v42 .eyebrow{
    margin:0 0 9px!important;
    font-size:.62rem!important;
    letter-spacing:.13em!important;
}

.ampeloria-v43 .course-v42 .course-hero-v42 h1{
    max-width:780px!important;
    margin:0 0 17px!important;
    font-family:var(--v43-serif)!important;
    font-size:clamp(3rem,5.2vw,5.6rem)!important;
    font-weight:500!important;
    line-height:.91!important;
    letter-spacing:-.052em!important;
}

.ampeloria-v43 .course-v42 .course-hero-v42 p{
    max-width:720px!important;
    margin:0!important;
    color:#73645f!important;
    font-size:.96rem!important;
    line-height:1.72!important;
}

/* Progression : plus compacte et plus éditoriale. */
.ampeloria-v43 .course-v42 .course-summary-v353{
    position:relative!important;
    z-index:1!important;
    justify-self:end!important;
    width:210px!important;
    min-width:0!important;
    min-height:190px!important;
    padding:25px 22px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    border:1px solid rgba(82,49,43,.095)!important;
    border-radius:25px!important;
    background:rgba(255,253,249,.78)!important;
    box-shadow:0 14px 35px rgba(53,31,27,.055)!important;
    backdrop-filter:blur(8px)!important;
}

.ampeloria-v43 .course-v42 .course-summary-v353 strong{
    margin:0!important;
    color:var(--v43-wine)!important;
    font-family:var(--v43-serif)!important;
    font-size:2.65rem!important;
    font-weight:500!important;
    line-height:1!important;
    letter-spacing:-.04em!important;
}

.ampeloria-v43 .course-v42 .course-summary-v353>span{
    margin-top:8px!important;
    color:#89756e!important;
    font-size:.60rem!important;
    letter-spacing:.015em!important;
}

.ampeloria-v43 .course-v42 .course-summary-v353 .course-progress-mini{
    width:100%!important;
    height:6px!important;
    margin:17px 0 12px!important;
    border-radius:99px!important;
    background:#e8ddd1!important;
    overflow:hidden!important;
}

.ampeloria-v43 .course-v42 .course-summary-v353 .course-progress-mini>i{
    display:block!important;
    height:100%!important;
    border-radius:inherit!important;
    background:linear-gradient(90deg,var(--v43-wine),var(--v43-gold))!important;
}

.ampeloria-v43 .course-v42 .course-summary-v353>b{
    margin:0!important;
    color:#7a2944!important;
    font-size:.59rem!important;
    font-weight:850!important;
}

/* Légende : discrète, elle ne rivalise plus avec le hero. */
.ampeloria-v43 .course-v42 .course-status-legend{
    width:max-content!important;
    max-width:100%!important;
    margin:0 0 34px!important;
    padding:9px 12px!important;
    gap:14px!important;
    border-color:rgba(82,49,43,.08)!important;
    border-radius:13px!important;
    background:rgba(255,253,249,.48)!important;
    box-shadow:none!important;
}

/* Modules : on rapproche légèrement le premier module du hero. */
.ampeloria-v43 .course-v42 .module-block-v42:first-of-type{
    margin-top:0!important;
}

/* ==========================================================================
   TABLETTE
   ========================================================================== */
@media(max-width:1000px){
    .ampeloria-v43 .course-v42 .course-hero-v42{
        grid-template-columns:minmax(0,1fr) 175px!important;
        gap:26px!important;
        min-height:265px!important;
        padding:34px 34px!important;
    }
    .ampeloria-v43 .course-v42 .course-hero-v42 h1{
        font-size:clamp(2.8rem,6.8vw,4.7rem)!important;
    }
    .ampeloria-v43 .course-v42 .course-summary-v353{
        width:175px!important;
        min-height:165px!important;
        padding:21px 18px!important;
        border-radius:22px!important;
    }
    .ampeloria-v43 .course-v42 .course-summary-v353 strong{
        font-size:2.25rem!important;
    }
}

/* ==========================================================================
   PETITE TABLETTE / MOBILE
   ========================================================================== */
@media(max-width:720px){
    .ampeloria-v43 .course-v42 .course-hero-v42{
        grid-template-columns:1fr!important;
        gap:23px!important;
        min-height:0!important;
        padding:28px 22px!important;
        border-radius:23px!important;
    }
    .ampeloria-v43 .course-v42 .course-hero-v42>div:first-child{
        padding-top:11px!important;
    }
    .ampeloria-v43 .course-v42 .course-hero-v42>div:first-child::before{
        width:46px!important;
    }
    .ampeloria-v43 .course-v42 .course-hero-v42 h1{
        font-size:clamp(2.75rem,12vw,4rem)!important;
        line-height:.92!important;
    }
    .ampeloria-v43 .course-v42 .course-hero-v42 p{
        font-size:.88rem!important;
        line-height:1.65!important;
    }

    /* Sur mobile la progression devient une bande horizontale compacte. */
    .ampeloria-v43 .course-v42 .course-summary-v353{
        justify-self:stretch!important;
        width:100%!important;
        min-height:0!important;
        display:grid!important;
        grid-template-columns:auto minmax(0,1fr)!important;
        grid-template-rows:auto auto!important;
        column-gap:16px!important;
        row-gap:6px!important;
        align-items:center!important;
        padding:17px 18px!important;
        border-radius:18px!important;
    }
    .ampeloria-v43 .course-v42 .course-summary-v353 strong{
        grid-row:1 / span 2!important;
        font-size:2rem!important;
    }
    .ampeloria-v43 .course-v42 .course-summary-v353>span{
        grid-column:2!important;
        grid-row:1!important;
        margin:0!important;
        align-self:end!important;
    }
    .ampeloria-v43 .course-v42 .course-summary-v353 .course-progress-mini{
        grid-column:2!important;
        grid-row:2!important;
        margin:0!important;
    }
    .ampeloria-v43 .course-v42 .course-summary-v353>b{
        display:none!important;
    }

    .ampeloria-v43 .course-v42 .course-status-legend{
        margin-bottom:22px!important;
        font-size:.62rem!important;
    }
}



/* ==========================================================================
   AMPELORIA V4.4.7 — COURSE / CORPS DU PARCOURS
   Modules, leçons et examens deviennent de vrais chapitres pédagogiques.
   ========================================================================== */

/* Conteneur général */
.ampeloria-v43 .course-v42{
    max-width:1420px!important;
}

/* Légende */
.ampeloria-v43 .course-v42 .course-status-legend{
    display:flex!important;
    align-items:center!important;
    flex-wrap:wrap!important;
    gap:8px 17px!important;
    width:max-content!important;
    margin:0 0 25px!important;
    padding:9px 13px!important;
    border:1px solid rgba(82,49,43,.08)!important;
    border-radius:14px!important;
    background:rgba(255,253,249,.54)!important;
    color:#796861!important;
    font-size:.62rem!important;
}
.ampeloria-v43 .course-v42 .course-status-legend span{
    display:inline-flex!important;
    align-items:center!important;
    gap:6px!important;
}
.ampeloria-v43 .course-v42 .course-status-legend i{
    width:8px!important;
    height:8px!important;
    border-radius:50%!important;
}
.ampeloria-v43 .course-v42 .course-status-legend i.available{
    background:var(--v43-wine)!important;
}
.ampeloria-v43 .course-v42 .course-status-legend i.completed{
    background:var(--v43-green)!important;
}
.ampeloria-v43 .course-v42 .course-status-legend i.locked{
    background:#c9bbb1!important;
}

/* --------------------------------------------------------------------------
   MODULE
   -------------------------------------------------------------------------- */
.ampeloria-v43 .course-v42 .module-block-v42{
    position:relative!important;
    overflow:hidden!important;
    margin:0 0 28px!important;
    padding:0!important;
    border:1px solid rgba(82,49,43,.095)!important;
    border-radius:28px!important;
    background:rgba(255,253,249,.69)!important;
    box-shadow:0 8px 28px rgba(53,31,27,.045)!important;
}

/* fine barre de chapitre */
.ampeloria-v43 .course-v42 .module-block-v42::before{
    content:""!important;
    position:absolute!important;
    z-index:1!important;
    top:0!important;
    left:0!important;
    width:100%!important;
    height:3px!important;
    background:linear-gradient(90deg,var(--v43-wine) 0 7%,var(--v43-gold) 7% 12%,transparent 12%)!important;
}

/* Entête module */
.ampeloria-v43 .course-v42 .module-block-v42>header{
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:25px!important;
    align-items:start!important;
    min-height:180px!important;
    margin:0!important;
    padding:31px 34px 27px!important;
    border-bottom:1px solid rgba(82,49,43,.075)!important;
    background:
        radial-gradient(circle at 96% 0,rgba(180,139,83,.075),transparent 16rem),
        linear-gradient(135deg,rgba(255,253,249,.96),rgba(247,240,231,.76))!important;
}
.ampeloria-v43 .course-v42 .module-block-v42>header>div{
    max-width:880px!important;
}
.ampeloria-v43 .course-v42 .module-kicker{
    display:flex!important;
    align-items:center!important;
    flex-wrap:wrap!important;
    gap:7px!important;
    margin-bottom:11px!important;
}
.ampeloria-v43 .course-v42 .module-kicker>span{
    display:inline-flex!important;
    align-items:center!important;
    min-height:26px!important;
    padding:0 9px!important;
    border-radius:999px!important;
    background:#f0e3d7!important;
    color:var(--v43-wine)!important;
    font-size:.52rem!important;
    font-weight:900!important;
    letter-spacing:.1em!important;
}
.ampeloria-v43 .course-v42 .module-kicker>b{
    display:inline-flex!important;
    align-items:center!important;
    min-height:26px!important;
    padding:0 9px!important;
    border:1px solid rgba(109,32,56,.09)!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.55)!important;
    color:#806c65!important;
    font-size:.49rem!important;
    font-weight:800!important;
}
.ampeloria-v43 .course-v42 .module-hierarchy-note{
    display:none!important;
}
.ampeloria-v43 .course-v42 .module-block-v42>header h2{
    max-width:860px!important;
    margin:0 0 11px!important;
    font-family:var(--v43-serif)!important;
    font-size:clamp(2rem,3vw,3.25rem)!important;
    font-weight:500!important;
    line-height:1!important;
    letter-spacing:-.04em!important;
}
.ampeloria-v43 .course-v42 .module-block-v42>header p{
    max-width:790px!important;
    margin:0!important;
    color:#776761!important;
    font-size:.83rem!important;
    line-height:1.68!important;
}
.ampeloria-v43 .course-v42 .module-block-v42>header>small:last-child{
    display:grid!important;
    place-items:center!important;
    min-width:84px!important;
    min-height:42px!important;
    padding:0 13px!important;
    border:1px solid rgba(82,49,43,.09)!important;
    border-radius:13px!important;
    background:rgba(255,253,249,.68)!important;
    color:#745f58!important;
    font-size:.56rem!important;
    font-weight:800!important;
}

/* --------------------------------------------------------------------------
   LISTE DES LEÇONS
   -------------------------------------------------------------------------- */
.ampeloria-v43 .course-v42 .lesson-list{
    display:grid!important;
    gap:0!important;
    padding:7px 13px 13px!important;
    background:rgba(249,244,238,.42)!important;
}

.ampeloria-v43 .course-v42 .lesson-row-v353{
    position:relative!important;
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr) auto 33px!important;
    gap:15px!important;
    align-items:center!important;
    min-height:96px!important;
    margin:0!important;
    padding:14px 14px 14px 12px!important;
    border:0!important;
    border-bottom:1px solid rgba(82,49,43,.065)!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:inherit!important;
}
.ampeloria-v43 .course-v42 .lesson-row-v353:last-child{
    border-bottom:0!important;
}
.ampeloria-v43 .course-v42 a.lesson-row-v353:hover{
    z-index:2!important;
    transform:none!important;
    border-bottom-color:transparent!important;
    border-radius:17px!important;
    background:#fffdf9!important;
    box-shadow:0 9px 25px rgba(53,31,27,.055)!important;
}
.ampeloria-v43 .course-v42 .lesson-row-v353.locked{
    opacity:.58!important;
}

/* Numéro */
.ampeloria-v43 .course-v42 .lesson-number{
    display:grid!important;
    place-items:center!important;
    width:39px!important;
    height:39px!important;
    margin:0!important;
    border:1px solid rgba(82,49,43,.095)!important;
    border-radius:13px!important;
    background:#f5eae0!important;
    color:var(--v43-wine)!important;
    font-family:var(--v43-serif)!important;
    font-size:.69rem!important;
    font-weight:700!important;
}
.ampeloria-v43 .course-v42 .lesson-row-v353.completed .lesson-number{
    border-color:rgba(71,102,85,.14)!important;
    background:#eaf2ec!important;
    color:var(--v43-green)!important;
}
.ampeloria-v43 .course-v42 .lesson-row-v353.locked .lesson-number{
    background:#eee7e1!important;
    color:#8d7e78!important;
}

/* Copie */
.ampeloria-v43 .course-v42 .lesson-row-copy{
    min-width:0!important;
}
.ampeloria-v43 .course-v42 .lesson-row-titleline{
    display:flex!important;
    align-items:center!important;
    flex-wrap:wrap!important;
    gap:7px 10px!important;
    margin-bottom:5px!important;
}
.ampeloria-v43 .course-v42 .lesson-kind-label{
    color:var(--v43-wine)!important;
    font-size:.48rem!important;
    font-weight:900!important;
    letter-spacing:.1em!important;
}
.ampeloria-v43 .course-v42 .lesson-row-titleline h3{
    flex:1 1 340px!important;
    margin:0!important;
    color:var(--v43-ink)!important;
    font-family:var(--v43-serif)!important;
    font-size:1.22rem!important;
    font-weight:600!important;
    line-height:1.18!important;
    letter-spacing:-.022em!important;
}
.ampeloria-v43 .course-v42 .lesson-row-copy>p{
    max-width:760px!important;
    margin:0!important;
    color:#85736c!important;
    font-size:.68rem!important;
    line-height:1.52!important;
}
.ampeloria-v43 .course-v42 .lesson-lock-reason{
    display:block!important;
    margin-top:6px!important;
    color:#927e77!important;
    font-size:.56rem!important;
}

/* Badges */
.ampeloria-v43 .course-v42 .lesson-status-badge{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:25px!important;
    padding:0 8px!important;
    border-radius:999px!important;
    font-size:.48rem!important;
    font-weight:850!important;
    line-height:1!important;
}
.ampeloria-v43 .course-v42 .lesson-status-badge.available{
    background:#f4e6e9!important;
    color:var(--v43-wine)!important;
}
.ampeloria-v43 .course-v42 .lesson-status-badge.completed{
    background:#e8f1ea!important;
    color:#456352!important;
}
.ampeloria-v43 .course-v42 .lesson-status-badge.locked{
    background:#ece6e1!important;
    color:#80736e!important;
}

/* Temps + flèche */
.ampeloria-v43 .course-v42 .lesson-time{
    min-width:49px!important;
    color:#8a7972!important;
    font-size:.56rem!important;
    font-weight:750!important;
    text-align:right!important;
}
.ampeloria-v43 .course-v42 .lesson-arrow{
    display:grid!important;
    place-items:center!important;
    width:31px!important;
    height:31px!important;
    border-radius:10px!important;
    background:transparent!important;
    color:var(--v43-wine)!important;
    font-size:.77rem!important;
    transition:transform .16s ease,background .16s ease!important;
}
.ampeloria-v43 .course-v42 a.lesson-row-v353:hover .lesson-arrow{
    transform:translateX(3px)!important;
    background:#f3e6e9!important;
}

/* --------------------------------------------------------------------------
   EXAMEN DE PASSAGE
   -------------------------------------------------------------------------- */
.ampeloria-v43 .course-v42 .module-passage-exam{
    position:relative!important;
    display:grid!important;
    grid-template-columns:56px minmax(0,1fr) auto!important;
    gap:20px!important;
    align-items:center!important;
    margin:-1px 0 34px!important;
    padding:24px 27px!important;
    overflow:hidden!important;
    border:1px solid rgba(82,49,43,.10)!important;
    border-radius:0 0 25px 25px!important;
    background:
        radial-gradient(circle at 95% 0,rgba(180,139,83,.075),transparent 14rem),
        linear-gradient(135deg,#f3e7df,#fffaf4)!important;
    box-shadow:0 13px 34px rgba(53,31,27,.055)!important;
}
.ampeloria-v43 .course-v42 .module-passage-exam::before{
    content:""!important;
    position:absolute!important;
    left:27px!important;
    top:0!important;
    width:58px!important;
    height:3px!important;
    background:linear-gradient(90deg,var(--v43-wine),var(--v43-gold))!important;
}
.ampeloria-v43 .course-v42 .module-passage-icon{
    display:grid!important;
    place-items:center!important;
    width:51px!important;
    height:51px!important;
    border:1px solid rgba(109,32,56,.10)!important;
    border-radius:16px!important;
    background:#fffaf5!important;
    color:var(--v43-wine)!important;
    font-size:1.15rem!important;
}
.ampeloria-v43 .course-v42 .module-passage-copy>small{
    color:var(--v43-wine)!important;
    font-size:.49rem!important;
    font-weight:900!important;
    letter-spacing:.1em!important;
}
.ampeloria-v43 .course-v42 .module-passage-copy h3{
    margin:5px 0 6px!important;
    font-family:var(--v43-serif)!important;
    font-size:1.5rem!important;
    font-weight:600!important;
    letter-spacing:-.025em!important;
}
.ampeloria-v43 .course-v42 .module-passage-copy p{
    max-width:730px!important;
    margin:0!important;
    color:#7d6b65!important;
    font-size:.69rem!important;
    line-height:1.52!important;
}
.ampeloria-v43 .course-v42 .module-passage-meta{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:6px!important;
    margin-top:10px!important;
}
.ampeloria-v43 .course-v42 .module-passage-meta span{
    display:inline-flex!important;
    align-items:center!important;
    min-height:25px!important;
    padding:0 8px!important;
    border:1px solid rgba(82,49,43,.08)!important;
    border-radius:999px!important;
    background:rgba(255,253,249,.65)!important;
    color:#806e68!important;
    font-size:.50rem!important;
    font-weight:750!important;
}

/* États de l'examen */
.ampeloria-v43 .course-v42 .module-passage-exam.passed{
    background:linear-gradient(135deg,#edf4ee,#fbfdfb)!important;
}
.ampeloria-v43 .course-v42 .module-passage-exam.passed::before{
    background:var(--v43-green)!important;
}
.ampeloria-v43 .course-v42 .module-passage-exam.passed .module-passage-icon{
    color:var(--v43-green)!important;
    background:#fff!important;
}
.ampeloria-v43 .course-v42 .module-passage-exam.locked{
    background:linear-gradient(135deg,#eee9e4,#f8f4ef)!important;
    opacity:.74!important;
}
.ampeloria-v43 .course-v42 .module-passage-exam.locked::before{
    background:#b8aaa1!important;
}

/* Action */
.ampeloria-v43 .course-v42 .module-passage-action{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-end!important;
    gap:8px!important;
    min-width:155px!important;
}
.ampeloria-v43 .course-v42 .module-passage-action form{
    margin:0!important;
}

/* ==========================================================================
   TABLETTE
   ========================================================================== */
@media(max-width:1000px){
    .ampeloria-v43 .course-v42 .module-block-v42>header{
        min-height:155px!important;
        padding:27px 27px 24px!important;
    }
    .ampeloria-v43 .course-v42 .lesson-row-v353{
        grid-template-columns:42px minmax(0,1fr) auto!important;
        gap:12px!important;
        min-height:91px!important;
    }
    .ampeloria-v43 .course-v42 .lesson-arrow{
        display:none!important;
    }
    .ampeloria-v43 .course-v42 .module-passage-exam{
        grid-template-columns:50px minmax(0,1fr)!important;
    }
    .ampeloria-v43 .course-v42 .module-passage-action{
        grid-column:2!important;
        align-items:flex-start!important;
        min-width:0!important;
        flex-direction:row!important;
        flex-wrap:wrap!important;
    }
}

/* ==========================================================================
   MOBILE
   ========================================================================== */
@media(max-width:650px){
    .ampeloria-v43 .course-v42 .course-status-legend{
        width:100%!important;
        justify-content:center!important;
        margin-bottom:17px!important;
    }

    .ampeloria-v43 .course-v42 .module-block-v42{
        margin-bottom:18px!important;
        border-radius:21px!important;
    }
    .ampeloria-v43 .course-v42 .module-block-v42>header{
        grid-template-columns:1fr!important;
        min-height:0!important;
        gap:12px!important;
        padding:23px 19px 20px!important;
    }
    .ampeloria-v43 .course-v42 .module-block-v42>header h2{
        font-size:clamp(1.85rem,9vw,2.55rem)!important;
    }
    .ampeloria-v43 .course-v42 .module-block-v42>header p{
        font-size:.76rem!important;
    }
    .ampeloria-v43 .course-v42 .module-block-v42>header>small:last-child{
        justify-self:start!important;
        min-width:0!important;
        min-height:30px!important;
    }

    .ampeloria-v43 .course-v42 .lesson-list{
        padding:5px 8px 9px!important;
    }
    .ampeloria-v43 .course-v42 .lesson-row-v353{
        grid-template-columns:37px minmax(0,1fr)!important;
        gap:10px!important;
        min-height:84px!important;
        padding:12px 10px!important;
    }
    .ampeloria-v43 .course-v42 .lesson-number{
        width:34px!important;
        height:34px!important;
        border-radius:11px!important;
        font-size:.62rem!important;
    }
    .ampeloria-v43 .course-v42 .lesson-row-titleline{
        gap:5px 7px!important;
        margin-bottom:4px!important;
    }
    .ampeloria-v43 .course-v42 .lesson-row-titleline h3{
        flex-basis:100%!important;
        font-size:1.06rem!important;
    }
    .ampeloria-v43 .course-v42 .lesson-kind-label{
        font-size:.43rem!important;
    }
    .ampeloria-v43 .course-v42 .lesson-row-copy>p{
        display:-webkit-box!important;
        -webkit-line-clamp:2!important;
        -webkit-box-orient:vertical!important;
        overflow:hidden!important;
        font-size:.63rem!important;
    }
    .ampeloria-v43 .course-v42 .lesson-time{
        display:none!important;
    }

    .ampeloria-v43 .course-v42 .module-passage-exam{
        grid-template-columns:40px minmax(0,1fr)!important;
        gap:12px!important;
        margin-bottom:24px!important;
        padding:20px 16px!important;
        border-radius:0 0 20px 20px!important;
    }
    .ampeloria-v43 .course-v42 .module-passage-exam::before{
        left:16px!important;
        width:45px!important;
    }
    .ampeloria-v43 .course-v42 .module-passage-icon{
        width:38px!important;
        height:38px!important;
        border-radius:12px!important;
        font-size:.9rem!important;
    }
    .ampeloria-v43 .course-v42 .module-passage-copy h3{
        font-size:1.28rem!important;
    }
    .ampeloria-v43 .course-v42 .module-passage-copy p{
        font-size:.63rem!important;
    }
    .ampeloria-v43 .course-v42 .module-passage-action{
        grid-column:1 / -1!important;
        padding-left:52px!important;
    }
}


/* ==========================================================================
   AMPELORIA V4.5.1 — MODE ADMIN DE TEST PEDAGOGIQUE
   ========================================================================== */
.ampeloria-v43 .admin-test-banner{
    display:flex;
    align-items:center;
    gap:8px;
    margin:0 0 20px;
    padding:12px 15px;
    border:1px solid rgba(109,32,56,.12);
    border-radius:14px;
    background:linear-gradient(135deg,#f3e6e9,#fffaf5);
    color:#6f4d57;
    font-size:.72rem;
    line-height:1.5;
}
.ampeloria-v43 .admin-test-banner strong{
    color:var(--v43-wine);
}
.ampeloria-v43 .admin-test-pill,
.ampeloria-v43 .admin-draft-pill{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:24px!important;
    padding:0 8px!important;
    border:1px solid rgba(109,32,56,.11)!important;
    border-radius:999px!important;
    background:#f3e6e9!important;
    color:var(--v43-wine)!important;
    font-size:.47rem!important;
    font-weight:900!important;
    letter-spacing:.055em!important;
    line-height:1!important;
    text-transform:uppercase!important;
}
.ampeloria-v43 .course-status-legend .admin-test-pill{
    margin-right:3px!important;
}
.ampeloria-v43 .admin-draft-pill{
    background:#f2e6d7!important;
    color:#805b2d!important;
    border-color:rgba(128,91,45,.12)!important;
}
@media(max-width:650px){
    .ampeloria-v43 .admin-test-banner{
        align-items:flex-start;
        font-size:.67rem;
    }
}


/* Ampeloria V4.8.0 — choix multiples dans les examens */
.ampeloria-v43 .exam-multiple-help-v480{
    display:flex;align-items:center;gap:10px;margin:-5px 0 13px;padding:10px 12px;
    border:1px solid rgba(109,32,56,.10);border-radius:13px;background:#faf1f3;color:#6d2038
}
.ampeloria-v43 .exam-multiple-help-v480 span{
    flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#6d2038;color:#fff;
    font-size:.47rem;font-weight:900;letter-spacing:.07em
}
.ampeloria-v43 .exam-multiple-help-v480 p{margin:0;font-size:.65rem;line-height:1.45;color:#66514f}
.ampeloria-v43 .exam-answer-list-multiple-v480 label span b{border-radius:8px}
.ampeloria-v43 .exam-answer-list-multiple-v480 label input:checked+span b::after{content:'✓';font-size:.65rem}
.ampeloria-v43 .exam-answer-list-multiple-v480 label input:checked+span b{font-size:0}
@media (max-width:700px){
    .ampeloria-v43 .exam-multiple-help-v480{align-items:flex-start;flex-direction:column;gap:6px}
}


/* V5.6.9 · Bêta QA phase 5 */
.admin-user-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:280px}
.button.tiny{padding:7px 10px;font-size:.62rem}
.admin-user-detail{max-width:1320px;margin:auto}
.admin-user-detail-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.admin-user-kpis-six{grid-template-columns:repeat(6,1fr)}
.admin-user-detail-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:18px;margin-bottom:18px}
.admin-user-side{display:grid;gap:18px;align-content:start}
.admin-path-progress-list{display:grid;gap:14px}
.admin-path-progress-list article{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,.8fr) 48px;gap:12px;align-items:center}
.admin-path-progress-list article>div:first-child{display:grid;gap:3px}
.admin-path-progress-list article span,.admin-path-progress-list article small{font-size:.64rem;color:var(--muted)}
.admin-progress-track{height:8px;border-radius:999px;background:#ece7df;overflow:hidden}
.admin-progress-track i{display:block;height:100%;background:var(--wine);border-radius:inherit}
.admin-user-alert{display:grid;gap:6px;padding:13px;border-radius:13px;margin:12px 0}
.admin-user-alert.ok{background:#edf5ee}
.admin-user-alert.warning{background:#fff4df}
.admin-user-alert span,.admin-user-last span,.admin-user-last small{font-size:.66rem;color:var(--muted)}
.admin-user-last{display:grid;gap:5px;padding-top:12px;border-top:1px solid var(--line)}
.admin-danger-card{border-color:#deb9b9;background:#fffafa}
.admin-reset-form{display:grid;gap:10px;margin-top:12px}
.admin-reset-form label{display:grid;gap:6px;font-size:.72rem}
.admin-reset-form input{max-width:180px}
.button.danger{background:#8d2f37;color:white;border-color:#8d2f37}
.health-error-log{margin-top:18px}
.health-log-lines{max-height:360px;overflow:auto;white-space:pre-wrap;word-break:break-word;padding:14px;border-radius:12px;background:#1d1a19;color:#f3eee8;font-size:.68rem;line-height:1.55}

@media (max-width:1100px){
  .admin-user-kpis-six{grid-template-columns:repeat(3,1fr)}
  .admin-user-detail-grid{grid-template-columns:1fr}
}
@media (max-width:700px){
  .admin-user-detail-hero{align-items:flex-start;flex-direction:column}
  .admin-user-kpis-six{grid-template-columns:repeat(2,1fr)}
  .admin-path-progress-list article{grid-template-columns:1fr 42px}
  .admin-path-progress-list article>div:first-child{grid-column:1/-1}
  .admin-user-actions{min-width:220px}
}

/* Ampeloria V4.1.12 — Passeport vivant */
.passport-footprint{margin-top:20px;padding:20px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,#fffaf5,#f8f0e8)}
.passport-footprint-head{display:flex;justify-content:space-between;align-items:end;gap:18px}.passport-footprint-head h2{margin:.25rem 0;font-family:Georgia,serif;font-size:clamp(1.55rem,3vw,2.35rem);font-weight:500}.passport-footprint-head p{max-width:760px;margin:.2rem 0;color:var(--muted);font-size:.66rem}.passport-footprint-head>a{white-space:nowrap;color:var(--wine);font-size:.62rem;font-weight:850}
.passport-footprint-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:15px}.passport-footprint-stats article{display:grid;gap:3px;padding:13px;border:1px solid var(--line);border-radius:14px;background:#fff9}.passport-footprint-stats strong{font-family:Georgia,serif;font-size:1.5rem;font-weight:500;color:var(--wine)}.passport-footprint-stats span{color:var(--muted);font-size:.54rem;font-weight:750}
.passport-footprint-map{display:grid;gap:11px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.passport-footprint-map>div{display:grid;grid-template-columns:95px 1fr;gap:10px;align-items:start}.passport-footprint-map small{padding-top:6px;color:var(--muted);font-size:.5rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.passport-chip-row{display:flex;gap:6px;flex-wrap:wrap}.passport-chip-row a{padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:.53rem;font-weight:750}.passport-chip-row a:hover{border-color:var(--wine);color:var(--wine)}
.passport-tasting-recent{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:15px}.passport-tasting-recent>a{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:9px;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fff9}.passport-tasting-recent>a>span{font-size:1.1rem}.passport-tasting-recent strong{display:block;font-size:.68rem}.passport-tasting-recent small,.passport-tasting-recent p{display:block;margin:.12rem 0;color:var(--muted);font-size:.5rem}.passport-tasting-recent p{color:var(--wine)}.passport-tasting-recent b{color:var(--wine);font-size:.54rem}
.passport-footprint-empty{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin-top:14px;padding:14px;border:1px dashed var(--line);border-radius:14px;background:#fff8}.passport-footprint-empty>span{font-size:1.35rem}.passport-footprint-empty strong{font-size:.7rem}.passport-footprint-empty p{margin:.15rem 0;color:var(--muted);font-size:.55rem}.passport-footprint-empty>a{color:var(--wine);font-size:.56rem;font-weight:850}
@media(max-width:850px){.passport-footprint-stats{grid-template-columns:repeat(2,1fr)}.passport-tasting-recent{grid-template-columns:1fr}.passport-footprint-head{display:grid}.passport-footprint-map>div{grid-template-columns:1fr}.passport-footprint-map small{padding-top:0}.passport-footprint-empty{grid-template-columns:auto 1fr}.passport-footprint-empty>a{grid-column:2}}


/* ==========================================================================
   AMPELORIA V4.1.14 — CONSOLIDATION UX / NAVIGATION
   ========================================================================== */
.ampeloria-v43 .header-menu.is-active>summary{
    color:var(--v43-wine);background:var(--v43-wine-soft);
    box-shadow:inset 0 0 0 1px rgba(109,32,56,.07)
}
.ampeloria-v43 .mobile-nav-v29>div{
    max-height:min(76vh,620px);overflow:auto;overscroll-behavior:contain
}
.ampeloria-v43 .mobile-nav-v29 .mobile-nav-section{
    display:block;padding:10px 9px 4px;margin-top:2px;
    color:var(--v43-wine);font-size:.49rem;font-weight:950;letter-spacing:.1em
}
.ampeloria-v43 .mobile-nav-v29 .mobile-nav-section:first-child{padding-top:4px}

.progress-subnav{
    display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px;
    padding:6px;border:1px solid var(--v43-line);border-radius:16px;
    background:rgba(255,253,249,.76);box-shadow:var(--v43-shadow-sm)
}
.progress-subnav a{
    display:flex;align-items:center;justify-content:center;gap:6px;
    min-height:38px;padding:8px 13px;border-radius:11px;
    color:#705f59;font-size:.72rem;font-weight:820
}
.progress-subnav a:hover{background:#f7efe7;color:var(--v43-wine)}
.progress-subnav a.active{
    background:var(--v43-wine-soft);color:var(--v43-wine);
    box-shadow:inset 0 0 0 1px rgba(109,32,56,.08)
}
@media(max-width:620px){
    .progress-subnav{display:grid;grid-template-columns:1fr}
    .progress-subnav a{justify-content:flex-start}
}


/* =========================================================
   AMPELORIA V4.1.15 — flux degustation & navigation contextuelle
   ========================================================= */
.taste-subnav-v415{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 18px;padding:7px;border:1px solid var(--line);border-radius:16px;background:#fff8}
.taste-subnav-v415 a{padding:9px 12px;border-radius:11px;color:var(--muted);font-size:.68rem;font-weight:850;text-decoration:none}
.taste-subnav-v415 a:hover,.taste-subnav-v415 a.active{background:#fff;color:var(--wine);box-shadow:0 5px 16px #4c1b2a10}
.tasting-next-v415{margin:20px 0;padding:22px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(135deg,#fffaf5,#fff)}
.tasting-next-v415 header h2{margin:.35rem 0 0;font-family:Georgia,serif;font-size:clamp(1.45rem,2.5vw,2.2rem);font-weight:500}
.tasting-next-v415>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:16px}
.tasting-next-v415>div>a{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;color:inherit;text-decoration:none}
.tasting-next-v415>div>a>span{grid-row:1/3;font-size:1.25rem}.tasting-next-v415>div>a>strong{font-size:.75rem}.tasting-next-v415>div>a>small{color:var(--muted);font-size:.6rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tasting-next-v415>div>a>b{grid-column:3;grid-row:1/3;color:var(--wine)}
.tasting-edit-details-v415{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
.tasting-edit-details-v415>summary{cursor:pointer;list-style:none;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--wine);font-size:.7rem;font-weight:900}
.tasting-edit-details-v415>summary::-webkit-details-marker{display:none}.tasting-edit-details-v415[open]>summary{margin-bottom:12px}
.tasting-edit-card>.linked-cellar-v411{margin:10px 0 0}
@media(max-width:1000px){.tasting-next-v415>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.taste-subnav-v415{display:grid;grid-template-columns:1fr 1fr}.taste-subnav-v415 a{text-align:center}.tasting-next-v415>div{grid-template-columns:1fr}}

/* =========================================================
   AMPELORIA V4.1.16 — Ma semaine : objectifs + planning + défis
   ========================================================= */
.week-subnav-v416{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 18px;padding:7px;border:1px solid var(--line);border-radius:16px;background:#fff8}
.week-subnav-v416 a{padding:9px 12px;border-radius:11px;color:var(--muted);font-size:.68rem;font-weight:850;text-decoration:none}.week-subnav-v416 a:hover,.week-subnav-v416 a.active{background:#fff;color:var(--wine);box-shadow:0 5px 16px #4c1b2a10}
.week-page-v416{max-width:1200px;margin:auto}.week-hero-v416{display:grid;grid-template-columns:1fr auto;gap:22px;align-items:end;padding:25px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(135deg,#fffaf5,#f8eee7)}.week-hero-v416 h1{max-width:760px;margin:.35rem 0;font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.5rem);font-weight:500}.week-hero-v416 p{max-width:760px;color:var(--muted)}
.week-score-v416{display:grid;justify-items:end;min-width:190px}.week-score-v416 strong{font-family:Georgia,serif;font-size:3rem;font-weight:500;color:var(--wine)}.week-score-v416 span{font-size:.7rem;font-weight:850}.week-score-v416 small{max-width:220px;margin-top:4px;color:var(--muted);font-size:.56rem;text-align:right}
.week-now-v416{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;margin-top:16px;padding:20px;border:1px solid var(--line);border-radius:18px;background:#fff}.week-now-copy-v416 h2{margin:.28rem 0;font-family:Georgia,serif;font-size:1.65rem;font-weight:500}.week-now-copy-v416 p{margin:.25rem 0;color:var(--muted);font-size:.7rem}.week-now-copy-v416>div{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.week-now-copy-v416>div span{padding:5px 8px;border-radius:999px;background:#f4ece3;color:var(--wine);font-size:.52rem;font-weight:850}.week-now-actions-v416{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.week-section-v416{margin-top:22px}.week-section-v416>header,.week-card-v416>header{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:10px}.week-section-v416>header h2,.week-card-v416>header h2{margin:.2rem 0;font-family:Georgia,serif;font-size:1.45rem;font-weight:500}.week-section-v416>header>a,.week-card-v416>header>a{color:var(--wine);font-size:.6rem;font-weight:850}
.week-goals-v416{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.week-goals-v416 article{padding:15px;border:1px solid var(--line);border-radius:15px;background:#fff}.week-goals-v416 article>div:first-child{display:flex;justify-content:space-between;gap:10px}.week-goals-v416 span{font-size:.65rem;font-weight:850}.week-goals-v416 strong{font-family:Georgia,serif;font-size:1.15rem;font-weight:500}.week-goals-v416 strong small{color:var(--muted);font-family:inherit;font-size:.7rem}.week-goals-v416 .progress{margin-top:10px}.week-goals-v416 p{margin:.35rem 0 0;color:var(--muted);font-size:.55rem;text-align:right}
.week-grid-v416{display:grid;grid-template-columns:1.3fr .7fr;gap:10px;margin-top:22px}.week-card-v416{padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff}.week-days-v416{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.week-days-v416>div{display:grid;justify-items:center;gap:4px;padding:10px 4px;border:1px solid var(--line);border-radius:11px;background:#faf7f3}.week-days-v416>div.active{background:#f7ede8;border-color:#dec7bb}.week-days-v416>div.today{box-shadow:inset 0 0 0 1px var(--wine)}.week-days-v416 small{font-size:.48rem;color:var(--muted);text-transform:uppercase}.week-days-v416 strong{font-family:Georgia,serif;font-size:1rem}.week-days-v416 span{font-size:.48rem;color:var(--wine);font-weight:850}.week-plan-meter-v416{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;margin-top:18px}.week-plan-meter-v416 strong{font-family:Georgia,serif;font-size:1.3rem;color:var(--wine);font-weight:500}.week-card-v416>p{color:var(--muted);font-size:.62rem;line-height:1.5}
.week-challenges-v416{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.week-challenges-v416>a{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:14px;background:#fff;color:inherit;text-decoration:none}.week-challenges-v416>a>span{font-size:1.25rem}.week-challenges-v416 small{display:block;color:var(--wine);font-size:.46rem;font-weight:900}.week-challenges-v416 strong{display:block;margin:2px 0 7px;font-size:.65rem}.week-challenges-v416>a>b{font-size:.58rem;color:var(--muted)}.week-challenges-v416>a.done{background:#f8f4ee;opacity:.82}.week-challenge-summary-v416{margin:.55rem 0 0;color:var(--muted);font-size:.56rem}.challenge-related-v416{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.challenge-related-v416 a{padding:8px 11px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--wine);font-size:.58rem;font-weight:850}
@media(max-width:900px){.week-hero-v416{grid-template-columns:1fr}.week-score-v416{justify-items:start}.week-score-v416 small{text-align:left}.week-now-v416{grid-template-columns:1fr}.week-now-actions-v416{justify-content:flex-start}.week-grid-v416{grid-template-columns:1fr}.week-challenges-v416{grid-template-columns:1fr}}
@media(max-width:680px){.week-subnav-v416{display:grid;grid-template-columns:1fr 1fr}.week-subnav-v416 a{text-align:center}.week-goals-v416{grid-template-columns:1fr}.week-days-v416{grid-template-columns:repeat(7,minmax(38px,1fr));overflow-x:auto}.week-hero-v416,.week-now-v416,.week-card-v416{padding:15px}}

/* =========================================================
   AMPELORIA V4.1.18 — apprentissage unifié
   ========================================================= */
.learning-subnav{display:flex;gap:6px;align-items:center;margin:0 0 18px;padding:6px;border:1px solid var(--line);border-radius:16px;background:#fff9;overflow-x:auto;scrollbar-width:none}
.learning-subnav::-webkit-scrollbar{display:none}
.learning-subnav a{display:flex;align-items:center;gap:7px;flex:0 0 auto;padding:9px 12px;border-radius:11px;color:var(--muted);font-size:.63rem;text-decoration:none}
.learning-subnav a span{font-size:.9rem}.learning-subnav a strong{font-weight:850}
.learning-subnav a:hover{background:#f6eee8;color:var(--ink)}
.learning-subnav a.active{background:#681f36;color:#fff;box-shadow:0 6px 16px #681f3620}
.learning-command{display:grid;grid-template-columns:minmax(0,1fr) 150px 150px;gap:9px;margin:18px 0 22px}
.learning-command-main,.learning-command-stat{border:1px solid var(--line);border-radius:18px;background:#fff9}
.learning-command-main{padding:20px}.learning-command-main h2{margin:.25rem 0 .35rem;font-family:Georgia,serif;font-size:clamp(1.55rem,3vw,2.25rem);font-weight:500}.learning-command-main p{margin:0 0 13px;color:var(--muted);font-size:.7rem}
.learning-command-stat{display:grid;align-content:center;justify-items:center;gap:3px;padding:16px;text-align:center;text-decoration:none;color:inherit}
.learning-command-stat strong{font-family:Georgia,serif;font-size:2rem;font-weight:500;color:var(--wine)}.learning-command-stat span{font-size:.62rem;font-weight:800}.learning-command-stat small{margin-top:5px;color:var(--wine);font-size:.56rem;font-weight:900}
.learning-command-stat:hover{border-color:#c7a4af;background:#fff6f8}
@media(max-width:760px){.learning-subnav{margin-left:-2px;margin-right:-2px}.learning-command{grid-template-columns:1fr 1fr}.learning-command-main{grid-column:1/-1}.learning-command-stat{min-height:112px}}

/* ============================================================
   V4.1.19 — Tunnel d'apprentissage : parcours → leçon → examen
   ============================================================ */
.ampeloria-v43 .learning-flow-strip{
    display:flex;align-items:center;gap:8px;flex-wrap:wrap;
    margin:0 0 18px;padding:9px 11px;border:1px solid rgba(77,47,57,.12);
    border-radius:14px;background:rgba(255,255,255,.56)
}
.ampeloria-v43 .learning-flow-strip span{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:.67rem;font-weight:700;letter-spacing:.04em}
.ampeloria-v43 .learning-flow-strip span:not(:last-child)::after{content:'›';margin-left:4px;color:rgba(77,47,57,.28)}
.ampeloria-v43 .learning-flow-strip b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid rgba(77,47,57,.18);font-size:.61rem;background:#fff}
.ampeloria-v43 .learning-flow-strip .done{color:#5f655c}
.ampeloria-v43 .learning-flow-strip .done b{background:#eef2e9;border-color:#d6dfcc}
.ampeloria-v43 .learning-flow-strip .active{color:var(--ink)}
.ampeloria-v43 .learning-flow-strip .active b{background:var(--ink);border-color:var(--ink);color:#fff}
.ampeloria-v43 .exam-flow-strip{margin-bottom:14px}

.ampeloria-v43 .course-resume-card{
    display:flex;justify-content:space-between;align-items:center;gap:24px;
    margin:18px 0 22px;padding:18px 20px;border:1px solid rgba(77,47,57,.14);
    border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(247,240,235,.75));
    box-shadow:0 12px 35px rgba(44,27,34,.06)
}
.ampeloria-v43 .course-resume-card h2{margin:4px 0 3px;font-size:1.12rem}
.ampeloria-v43 .course-resume-card p{margin:0;color:var(--muted);font-size:.78rem}
.ampeloria-v43 .course-resume-card form{margin:0}
.ampeloria-v43 .course-resume-card.completed{background:rgba(240,244,236,.75)}

.ampeloria-v43 .lesson-completed-inline{display:inline-flex;align-items:center;min-height:42px;padding:0 12px;border-radius:12px;background:#edf3e8;color:#53614d;font-size:.72rem;font-weight:800}
.ampeloria-v43 .lesson-footer-actions form{margin:0}

.ampeloria-v43 .exam-answer-progress{width:min(330px,100%);height:5px;margin-top:7px;overflow:hidden;border-radius:999px;background:rgba(77,47,57,.1)}
.ampeloria-v43 .exam-answer-progress i{display:block;height:100%;border-radius:inherit;background:var(--ink);transition:width .22s ease}
.ampeloria-v43 .exam-question-card-v445.answered{border-color:rgba(93,116,75,.24)}
.ampeloria-v43 .exam-question-card-v445.answered>header>span{background:#eef3e9;color:#54614e}
.ampeloria-v43 .exam-question-card-v445.needs-attention{outline:3px solid rgba(153,88,68,.16);border-color:rgba(153,88,68,.5)}

.ampeloria-v43 .exam-result-next-step{
    display:flex;align-items:center;justify-content:space-between;gap:22px;
    margin:18px 0;padding:18px 20px;border:1px solid rgba(77,47,57,.13);border-radius:18px;background:#fffdfb
}
.ampeloria-v43 .exam-result-next-step h2{margin:4px 0 5px;font-size:1.1rem}
.ampeloria-v43 .exam-result-next-step p{margin:0;max-width:720px;color:var(--muted);font-size:.76rem;line-height:1.55}
.ampeloria-v43 .exam-result-next-step.passed{background:rgba(239,244,235,.72)}
.ampeloria-v43 .exam-result-next-step.failed{background:rgba(250,242,238,.72)}

@media(max-width:760px){
    .ampeloria-v43 .learning-flow-strip{gap:5px;padding:8px}
    .ampeloria-v43 .learning-flow-strip span{font-size:.58rem;letter-spacing:0}
    .ampeloria-v43 .learning-flow-strip b{width:20px;height:20px}
    .ampeloria-v43 .course-resume-card,.ampeloria-v43 .exam-result-next-step{display:grid;gap:14px;padding:15px}
    .ampeloria-v43 .course-resume-card .button,.ampeloria-v43 .course-resume-card form,.ampeloria-v43 .course-resume-card form .button,.ampeloria-v43 .exam-result-next-step .button{width:100%}
    .ampeloria-v43 .lesson-completed-inline{width:100%;justify-content:center}
}

/* =========================================================
   AMPELORIA V4.1.20 — polish final / cohérence visuelle
   ========================================================= */

/* Base : lecture, interaction et accessibilité */
html{overflow-x:hidden}
body{min-width:320px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:rgba(104,31,54,.16);color:var(--ink)}
a,button,.button,input,select,textarea,summary{outline:none}
a:focus-visible,button:focus-visible,.button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{
    outline:3px solid rgba(104,31,54,.24)!important;outline-offset:3px!important
}
button:disabled,.button[aria-disabled="true"],input:disabled,select:disabled,textarea:disabled{opacity:.5;cursor:not-allowed!important}

/* Une même sensation pour tous les contrôles de saisie */
input:not([type="checkbox"]):not([type="radio"]),select,textarea{
    min-height:44px;border-color:var(--line);border-radius:12px;background:#fff;color:var(--ink);
    transition:border-color .16s ease,box-shadow .16s ease,background .16s ease
}
textarea{min-height:110px;resize:vertical}
input:not([type="checkbox"]):not([type="radio"]):hover,select:hover,textarea:hover{border-color:#d3c4b5}
input:not([type="checkbox"]):not([type="radio"]):focus,select:focus,textarea:focus{
    border-color:rgba(104,31,54,.55);box-shadow:0 0 0 4px rgba(104,31,54,.07);background:#fff
}
input::placeholder,textarea::placeholder{color:#9a918a;opacity:1}
label{line-height:1.35}

/* Boutons : dimensions et retours homogènes */
.button{gap:7px;line-height:1.15;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}
.button:hover{transform:translateY(-1px)}
.button:active{transform:translateY(0)}
.button.primary:hover{box-shadow:0 10px 26px rgba(104,31,54,.2)}
.button.ghost:hover{border-color:#d4c5b7;background:#fff}

/* Titres et sections : rythme plus régulier */
.page-shell{max-width:1500px;margin-inline:auto}
.page-hero{margin-bottom:30px}
.page-hero p{max-width:760px;font-size:.92rem;line-height:1.7}
.section-heading.left{max-width:none}
.section-heading.left h2{margin-bottom:.45rem}
.section-heading.left p{max-width:760px;margin-top:.2rem}

/* États vides : même composant partout, moins brutal qu'un grand H1 */
.empty-state{
    width:100%;max-width:760px;min-height:160px;align-content:center;gap:7px;padding:28px!important;
    border-style:dashed!important;background:rgba(255,253,249,.72)!important
}
.empty-state h1,.empty-state h2{margin:.1rem 0!important;font-family:Georgia,serif;font-size:clamp(1.45rem,3vw,2rem)!important;font-weight:500!important;line-height:1.15}
.empty-state strong{font-size:.82rem}
.empty-state p{max-width:580px;margin:.15rem 0 0!important;color:var(--muted);font-size:.74rem;line-height:1.55}
.empty-state.compact{min-height:0;padding:18px!important;border-radius:16px!important}

/* Cartes cliquables : retour discret, sans faire bouger les blocs statiques */
a.reference-card,a.path-card,a.quiz-card,.dashboard-focus-card,.dashboard-clean-tools>a,.dashboard-clean-paths>article a,
.week-challenges-v416>a,.tasting-next-v415>div>a{
    transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease
}
a.reference-card:hover,a.path-card:hover,a.quiz-card:hover,.dashboard-focus-card:hover,.dashboard-clean-tools>a:hover,
.week-challenges-v416>a:hover,.tasting-next-v415>div>a:hover{
    transform:translateY(-2px);border-color:rgba(104,31,54,.2);box-shadow:0 12px 28px rgba(55,32,29,.07)
}

/* Les sous-navigations des différents univers parlent enfin le même langage */
.taste-subnav-v415,.week-subnav-v416,.learning-subnav,.progress-subnav,.discover-subnav-v417{
    min-height:52px;border-radius:15px!important;background:rgba(255,253,249,.74)!important;backdrop-filter:blur(8px)
}
.taste-subnav-v415 a,.week-subnav-v416 a,.learning-subnav a,.progress-subnav a,.discover-subnav-v417 a{
    min-height:38px;display:flex;align-items:center;justify-content:center
}

/* Header : zones tactiles stables + menus au-dessus du contenu */
.site-header-v42{isolation:isolate}
.site-header-v42 .main-nav-v29>a,.site-header-v42 .header-menu>summary{min-height:40px;display:flex;align-items:center}
.site-header-v42 .header-search-link,.site-header-v42 .header-favorite-link,.site-header-v42 .header-notification-link{
    min-width:40px;min-height:40px;display:grid;place-items:center
}
.site-header-v42 .header-menu-panel,.site-header-v42 .account-menu>div,.site-header-v42 .mobile-nav-v29>div{box-shadow:0 20px 55px rgba(55,32,29,.15)}

/* Dashboard : moins de densité, textes secondaires mieux lisibles */
.dashboard-clean-section{scroll-margin-top:92px}
.dashboard-focus-card p,.dashboard-life-card p,.dashboard-goal-card p,.dashboard-clean-tools small{line-height:1.5}
.dashboard-focus-card b,.dashboard-life-card>a,.dashboard-clean-heading>a{white-space:nowrap}
.dashboard-clean-tools>a{min-height:112px}
.dashboard-clean-tools>a strong{font-size:.72rem}
.dashboard-clean-tools>a small{font-size:.58rem}

/* Formulaires et tableaux admin : respirent mieux sans toucher à la logique */
.admin-table th{position:sticky;top:0;z-index:1;background:#fffaf6}
.admin-table tbody tr:hover td{background:rgba(104,31,54,.025)}
.admin-table td,.admin-table th{vertical-align:middle}

/* Petits écrans : priorité à la lisibilité et aux zones tactiles */
@media(max-width:760px){
    .page-shell,.home-section{padding-left:16px!important;padding-right:16px!important}
    .page-hero{margin-bottom:22px}
    .page-hero.compact h1{font-size:clamp(2rem,10vw,3rem);line-height:1.02}
    .page-hero p{font-size:.82rem}
    .button{min-height:44px}
    .flash-stack{left:12px;right:12px;top:70px}.flash{width:100%}
    .empty-state{padding:20px!important;min-height:140px}
    .dashboard-clean-heading{align-items:flex-start!important}
    .dashboard-clean-heading>a{white-space:normal}
    .dashboard-clean-tools>a{min-height:96px}
    .taste-subnav-v415,.week-subnav-v416{gap:5px;padding:5px}
    .taste-subnav-v415 a,.week-subnav-v416 a{min-height:42px;padding:8px}
    .learning-subnav{scroll-snap-type:x proximity}
    .learning-subnav a{scroll-snap-align:start;min-height:42px}
    .admin-table-card{padding:12px}
}

@media(max-width:480px){
    .page-shell,.home-section{padding-left:13px!important;padding-right:13px!important}
    .site-header-v42{padding-left:10px!important;padding-right:10px!important}
    .brand-mark{border-radius:12px}
    .empty-state{border-radius:18px!important}
    .dashboard-clean-heading{display:grid!important;gap:5px!important}
}

/* Respecte le réglage système : pas d'animations forcées */
@media(prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}


/* V4.1.23 — Bêta privée / User Zero */
.beta-first-run{margin:1.35rem 0 1.6rem;padding:1.35rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;border:1px solid var(--line,#ddd);border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.015))}
.beta-first-run-copy{max-width:760px}.beta-first-run-copy h2{margin:.3rem 0 .55rem}.beta-first-run-copy p{margin:0 0 .55rem}.beta-first-run-copy small{display:block;opacity:.76}
.beta-first-run-actions{display:flex;flex-direction:column;gap:.65rem;min-width:260px}.beta-first-run-actions .button{justify-content:center;text-align:center}
@media(max-width:760px){.beta-first-run{align-items:stretch;flex-direction:column}.beta-first-run-actions{min-width:0;width:100%}.beta-first-run-actions .button{width:100%}}


/* V4.1.25 — états vides guidés / bêta privée */
.empty-state-guided{position:relative;align-content:start;overflow:hidden}
.empty-state-guided .empty-state-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:var(--soft,#f5efe5);font-size:1.35rem;margin-bottom:2px}
.empty-state-guided .eyebrow{margin:0}
.empty-state-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.empty-state-actions .button{margin:0}
.passport-zero-state{max-width:none;margin:18px 0 24px}
@media(max-width:680px){.empty-state-actions{width:100%;display:grid}.empty-state-actions .button,.empty-state-actions button{width:100%;justify-content:center}.empty-state-guided .empty-state-icon{width:42px;height:42px}}

/* =========================================================
   AMPELORIA V4.1.26 — MOBILE BÊTA / PETITS ÉCRANS
   ========================================================= */

/* Les contenus longs ne doivent jamais élargir la page. */
.ampeloria-v43 :where(.page-shell,.lesson-content-v5,.tasting-detail-page,.cellar-page,.cellar-item-page,.admin-shell,.admin-table-card){min-width:0}
.ampeloria-v43 :where(h1,h2,h3,p,strong,small,a,td,th,label){overflow-wrap:anywhere}
.ampeloria-v43 img,.ampeloria-v43 svg,.ampeloria-v43 video,.ampeloria-v43 canvas{max-width:100%}

/* Tableaux : défilement horizontal explicite plutôt qu'un débordement de page. */
.ampeloria-v43 :where(.admin-table-card,.table-card,.table-wrap){overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
.ampeloria-v43 .admin-table{width:100%;min-width:720px}

/* Barre d'action d'examen : tient compte de la zone sûre iPhone. */
.ampeloria-v43 .exam-submit-bar-v445{bottom:max(8px,env(safe-area-inset-bottom));z-index:35}

@media(max-width:820px){
    /* Le menu mobile devient un panneau stable, indépendant de la largeur du header. */
    .ampeloria-v43 .mobile-nav-v29{position:static}
    .ampeloria-v43 .mobile-nav-v29>summary{width:44px!important;height:44px!important;min-width:44px;border-radius:13px;font-size:1.05rem}
    .ampeloria-v43 .mobile-nav-v29>div{
        position:fixed!important;
        left:10px!important;right:10px!important;
        top:calc(76px + env(safe-area-inset-top))!important;
        width:auto!important;min-width:0!important;
        max-height:calc(100dvh - 92px - env(safe-area-inset-bottom))!important;
        padding:10px 10px calc(12px + env(safe-area-inset-bottom))!important;
        border-radius:18px!important;
        overflow-y:auto!important;
        overscroll-behavior:contain;
        z-index:140;
        box-shadow:0 24px 70px rgba(38,20,22,.22)!important
    }
    .ampeloria-v43 .mobile-nav-v29>div a{min-height:44px;display:flex;align-items:center;padding:10px 12px!important;font-size:.72rem!important}
    .ampeloria-v43 .mobile-nav-v29 .mobile-nav-section{padding:13px 11px 5px;font-size:.54rem}
    body.mobile-menu-open{overflow:hidden;touch-action:none}

    /* Les sous-navigations horizontales restent utilisables au pouce. */
    .ampeloria-v43 :where(.learning-subnav,.progress-subnav,.discover-subnav-v417,.taste-subnav-v415,.week-subnav-v416){
        flex-wrap:nowrap!important;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain;scrollbar-width:none
    }
    .ampeloria-v43 :where(.learning-subnav,.progress-subnav,.discover-subnav-v417,.taste-subnav-v415,.week-subnav-v416)::-webkit-scrollbar{display:none}
    .ampeloria-v43 :where(.learning-subnav,.progress-subnav,.discover-subnav-v417,.taste-subnav-v415,.week-subnav-v416) a{flex:0 0 auto;white-space:nowrap}
}

@media(max-width:680px){
    /* iOS : 16px minimum sur les champs pour empêcher le zoom automatique au focus. */
    .ampeloria-v43 input:not([type="checkbox"]):not([type="radio"]),
    .ampeloria-v43 select,
    .ampeloria-v43 textarea{font-size:16px!important}

    /* Formulaires longs : une seule colonne, actions pleine largeur. */
    .ampeloria-v43 .cellar-form-grid{grid-template-columns:1fr!important}
    .ampeloria-v43 .cellar-form-grid .wide{grid-column:auto!important}
    .ampeloria-v43 .cellar-form-actions{display:grid;grid-template-columns:1fr;gap:8px}
    .ampeloria-v43 .cellar-form-actions .button,.ampeloria-v43 .cellar-form-actions button{width:100%;justify-content:center}
    .ampeloria-v43 :where(.tasting-structure-grid,.form-grid,.profile-form-grid){grid-template-columns:1fr!important}

    /* Cave et dégustation : les KPI restent lisibles sans cinq mini-colonnes. */
    .ampeloria-v43 :where(.cellar-kpis,.tasting-journal-kpis,.tasting-kpis){grid-template-columns:repeat(2,minmax(0,1fr))!important}
    .ampeloria-v43 .cellar-ready>div{grid-template-columns:1fr!important}
    .ampeloria-v43 .cellar-grid{grid-template-columns:1fr!important}
    .ampeloria-v43 .cellar-card>a{grid-template-columns:60px minmax(0,1fr);min-height:0;padding:14px}
    .ampeloria-v43 .tasting-detail-facts{grid-template-columns:1fr 1fr!important}

    /* Examens : barre de validation compacte, bouton toujours accessible. */
    .ampeloria-v43 .exam-submit-bar-v445{bottom:max(6px,env(safe-area-inset-bottom));padding:10px!important;border-radius:14px!important}
    .ampeloria-v43 .exam-submit-bar-v445>div{min-width:0}
    .ampeloria-v43 .exam-submit-bar-v445 .button{min-height:48px!important}
    .ampeloria-v43 .exam-question-card-v445{scroll-margin-top:84px}

    /* Boutons côte à côte qui deviennent trop serrés. */
    .ampeloria-v43 :where(.exam-result-actions,.lesson-footer-actions,.tasting-detail-hero-actions,.page-actions){flex-wrap:wrap}
    .ampeloria-v43 :where(.exam-result-actions,.lesson-footer-actions)>.button{flex:1 1 100%;justify-content:center}

    /* Tableaux admin : minimum raisonnable et indice de défilement par le conteneur. */
    .ampeloria-v43 .admin-table-card{margin-inline:-3px;padding:8px!important;overflow-x:auto}
    .ampeloria-v43 .admin-table{min-width:640px;font-size:.72rem}
    .ampeloria-v43 .admin-table th,.ampeloria-v43 .admin-table td{padding:9px 8px;white-space:normal}

    /* En-têtes/filtres : aucune commande ne sort de l'écran. */
    .ampeloria-v43 :where(.tasting-filters,.reference-filter-v419,.search-toolbar-v29){width:100%}
    .ampeloria-v43 :where(.tasting-filters select,.tasting-filters input,.reference-filter-v419 select,.search-sort-v29 select){width:100%;max-width:none!important}

    /* Marges sûres pour les appareils avec encoche / barre Home. */
    .ampeloria-v43 .site-footer-v42{padding-bottom:calc(22px + env(safe-area-inset-bottom))}
}

@media(max-width:430px){
    .ampeloria-v43 .page-shell{width:calc(100% - 16px)!important}
    .ampeloria-v43 .site-header-v42{width:calc(100% - 10px)!important;margin-top:5px!important}
    .ampeloria-v43 .site-header-v42 .brand-mark{width:38px;height:38px}
    .ampeloria-v43 .site-header-v42 .brand strong{font-size:1rem}
    .ampeloria-v43 .header-actions-v29{gap:4px}
    .ampeloria-v43 .header-search-link,.ampeloria-v43 .header-notification-link{width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important}
    .ampeloria-v43 .mobile-nav-v29>div{left:5px!important;right:5px!important;top:70px!important;max-height:calc(100dvh - 78px - env(safe-area-inset-bottom))!important;border-radius:16px!important}
    .ampeloria-v43 :where(.cellar-kpis,.tasting-journal-kpis,.tasting-kpis){grid-template-columns:1fr!important}
    .ampeloria-v43 .tasting-detail-facts{grid-template-columns:1fr!important}
    .ampeloria-v43 .knowledge-hub-stats-v410{grid-template-columns:1fr!important}
}

/* V4.1.27 — profils bêta adaptatifs */
.beta-profile-strip{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;margin:18px 0 26px;padding:16px 18px;border:1px solid var(--line,#e6ded8);border-radius:18px;background:var(--surface,#fff)}
.beta-profile-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:24px;background:rgba(112,36,61,.08)}
.beta-profile-copy{min-width:0}.beta-profile-copy small{display:block;font-size:11px;font-weight:800;letter-spacing:.09em;opacity:.62;margin-bottom:3px}.beta-profile-copy strong{display:block;font-size:18px}.beta-profile-copy p{margin:4px 0 0;opacity:.74;line-height:1.45}
.beta-profile-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.beta-profile-actions .button{white-space:nowrap}
@media(max-width:780px){.beta-profile-strip{grid-template-columns:auto 1fr}.beta-profile-actions{grid-column:1/-1;justify-content:stretch}.beta-profile-actions .button{flex:1 1 180px;text-align:center}}
@media(max-width:480px){.beta-profile-strip{padding:14px;gap:12px}.beta-profile-actions{display:grid;grid-template-columns:1fr}.beta-profile-actions .button{width:100%}}

/* =========================================================
   AMPELORIA V4.1.28 — FEEDBACK BÊTA INTÉGRÉ
   ========================================================= */
.beta-feedback-fab{
    position:fixed;right:18px;bottom:max(18px,calc(12px + env(safe-area-inset-bottom)));z-index:90;
    display:flex;align-items:center;gap:8px;min-height:44px;padding:10px 14px;border-radius:999px;
    background:#681f36;color:#fff;text-decoration:none;box-shadow:0 16px 38px rgba(55,20,33,.24);
    font-size:.72rem;font-weight:800;letter-spacing:.02em
}
.beta-feedback-fab:hover{transform:translateY(-1px);box-shadow:0 20px 44px rgba(55,20,33,.30)}
.beta-feedback-fab span{font-size:1rem}.beta-feedback-fab strong{font:inherit;color:inherit}
.feedback-layout-v428{align-items:start}
.feedback-context-preview{margin-bottom:14px;padding:11px 13px;border-radius:13px;background:rgba(104,31,54,.06);display:grid;gap:5px}
.feedback-context-preview span{font-size:.65rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.72}
.feedback-context-preview code{font-size:.7rem;overflow-wrap:anywhere;white-space:normal}
.feedback-form-help{display:flex;gap:10px;align-items:flex-start;margin:12px 0 16px;padding:11px 13px;border:1px solid var(--line,#e5ddd6);border-radius:14px;background:var(--soft,#faf6f1)}
.feedback-form-help p{margin:0;font-size:.72rem;line-height:1.5;opacity:.76}
.feedback-form-actions{display:flex;gap:9px;flex-wrap:wrap}
.feedback-admin-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 16px}
.feedback-admin-kpis a{display:grid;gap:3px;padding:14px;border:1px solid var(--line,#e5ddd6);border-radius:16px;background:var(--surface,#fff);text-decoration:none;color:inherit}
.feedback-admin-kpis strong{font-size:1.45rem}.feedback-admin-kpis span{font-size:.65rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;opacity:.62}
.feedback-admin-filters{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr)) minmax(210px,2fr) auto auto;gap:10px;align-items:end;margin:0 0 18px;padding:14px;border:1px solid var(--line,#e5ddd6);border-radius:18px;background:var(--surface,#fff)}
.feedback-admin-filters label{margin:0}.feedback-admin-filters .button{min-height:42px}
.feedback-tech-context{display:grid;gap:6px;margin:12px 0 15px;padding:11px 13px;border-radius:14px;background:rgba(0,0,0,.025);font-size:.7rem}
.feedback-tech-context>div{display:grid;grid-template-columns:70px minmax(0,1fr);gap:8px;align-items:start}
.feedback-tech-context span{font-weight:800;opacity:.62}.feedback-tech-context a,.feedback-tech-context code{overflow-wrap:anywhere;white-space:normal}
.feedback-tech-context details summary{cursor:pointer;font-weight:800;opacity:.72}.feedback-tech-context details code{display:block;margin-top:7px}
@media(max-width:900px){
    .feedback-admin-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
    .feedback-admin-filters{grid-template-columns:1fr 1fr}.feedback-admin-filters .wide{grid-column:1/-1}
}
@media(max-width:620px){
    .beta-feedback-fab{right:10px;bottom:max(10px,calc(8px + env(safe-area-inset-bottom)));padding:10px 12px}
    .beta-feedback-fab strong{display:none}
    .feedback-form-actions{display:grid}.feedback-form-actions .button{width:100%;justify-content:center}
    .feedback-admin-kpis{grid-template-columns:1fr 1fr}.feedback-admin-kpis a:last-child{grid-column:1/-1}
    .feedback-admin-filters{grid-template-columns:1fr}.feedback-admin-filters .wide{grid-column:auto}.feedback-admin-filters .button{width:100%;justify-content:center}
    .feedback-tech-context>div{grid-template-columns:1fr;gap:2px}
}


/* V4.1.29 — SEO / partage */
.knowledge-share-button{border:1px solid rgba(104,31,54,.18);background:rgba(255,255,255,.72);color:#681f36;border-radius:999px;padding:7px 12px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.knowledge-share-button:hover{background:#fff;border-color:rgba(104,31,54,.34)}
@media(max-width:640px){.premium-knowledge-topline{gap:8px;flex-wrap:wrap}.knowledge-share-button{min-height:38px}}
/* V4.1.30 — Pilotage bêta */
.beta-analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0}.beta-analytics-grid .analytics-card{margin:0}.funnel-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(120px,2fr) 52px;gap:12px;align-items:center;padding:10px 0}.funnel-row>div:first-child{display:flex;flex-direction:column}.funnel-row span,.analytics-table-list small,.beta-testers td small{display:block;color:var(--muted);font-size:.82rem}.funnel-track{height:9px;border-radius:999px;background:rgba(104,31,54,.1);overflow:hidden}.funnel-track i{display:block;height:100%;background:currentColor;border-radius:inherit;color:var(--wine,#681f36)}.funnel-row>b{text-align:right}.analytics-table-list>div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid rgba(0,0,0,.07)}.analytics-table-list>div:last-child{border-bottom:0}.beta-testers{margin-top:18px}.beta-testers table{width:100%;border-collapse:collapse}.beta-testers th,.beta-testers td{text-align:left;padding:12px;border-bottom:1px solid rgba(0,0,0,.07)}@media(max-width:820px){.beta-analytics-grid{grid-template-columns:1fr}.funnel-row{grid-template-columns:1fr 56px}.funnel-track{grid-column:1/-1;grid-row:2}.beta-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.beta-kpis{grid-template-columns:1fr}.funnel-row{gap:7px}.analytics-table-list>div{align-items:flex-start}}

/* V4.1.31 — architecture multilingue */
.profile-language-card{align-items:flex-start}
.profile-language-form{display:flex;gap:.75rem;align-items:flex-end;flex-wrap:wrap;min-width:min(100%,360px)}
.profile-language-form label{display:grid;gap:.35rem;flex:1;min-width:220px}
.profile-language-form label>span{font-size:.78rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted,#766b6f)}
.profile-language-form select{width:100%}
.profile-language-form small{width:100%;line-height:1.5;color:var(--muted,#766b6f)}
@media(max-width:640px){.profile-language-form,.profile-language-form label,.profile-language-form .button{width:100%;min-width:0}}


/* V4.1.32 — référentiel Monde */
.explore-world-banner-v432{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:24px 0;padding:24px;border:1px solid var(--line,#d9d5cc);border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(244,239,225,.72))}
.explore-world-banner-v432 h2{margin:.25rem 0 .35rem}.explore-world-banner-v432 p{margin:0;max-width:760px}.reference-grid-v432 .reference-card small{letter-spacing:.02em}
@media(max-width:760px){.explore-world-banner-v432{align-items:flex-start;flex-direction:column}.reference-filter-v419 select,.search-strip select{width:100%}}


/* V4.1.33 — Maîtrise & progression du monde */
.mastery-page{display:grid;gap:28px}.mastery-hero{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);gap:24px;align-items:stretch}.mastery-hero>div:first-child,.mastery-level-card,.mastery-country-card,.mastery-region-card,.mastery-collection-card,.passport-mastery-bridge,.mastery-next{background:var(--surface);border:1px solid var(--line);border-radius:24px}.mastery-hero>div:first-child{padding:30px}.mastery-hero h1{margin:7px 0 10px;max-width:760px}.mastery-hero p{max-width:760px}.mastery-proof-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.mastery-proof-legend span{display:inline-flex;gap:6px;align-items:center;padding:7px 10px;border:1px solid var(--line);border-radius:999px;font-size:.85rem;background:var(--surface-2)}.mastery-proof-legend b{font-size:.75rem;opacity:.65}.mastery-level-card{padding:26px;display:flex;flex-direction:column;justify-content:center;gap:9px}.mastery-level-card>strong{font-size:1.45rem}.mastery-level-card>span{font-weight:800}.mastery-level-card p{margin:0;font-size:.86rem;opacity:.72}.mastery-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.mastery-kpis article{display:flex;gap:13px;align-items:center;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:18px}.mastery-kpis article>span{font-size:1.45rem}.mastery-kpis strong,.mastery-kpis small{display:block}.mastery-kpis strong{font-size:1.2rem}.mastery-kpis small{opacity:.7;margin-top:2px}.mastery-country-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.mastery-country-card{padding:18px}.mastery-country-card.is-unstarted{opacity:.62}.mastery-country-card header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.mastery-country-card header strong,.mastery-country-card header small{display:block}.mastery-country-card header small{margin-top:3px;opacity:.68}.mastery-country-card header>b{font-size:1.2rem}.mastery-meter{height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden;margin:13px 0}.mastery-meter>span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:inherit}.mastery-country-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:.78rem;opacity:.8}.mastery-country-meta span:first-child{margin-right:auto}.mastery-region-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.mastery-region-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;padding:18px;color:inherit;text-decoration:none}.mastery-region-card:hover{transform:translateY(-2px);border-color:var(--accent)}.mastery-region-card small,.mastery-region-card strong{display:block}.mastery-region-card>div small{opacity:.65;margin-bottom:2px}.mastery-region-card>b{font-size:1.15rem}.mastery-region-card .mastery-meter{grid-column:1/-1;margin:2px 0 4px}.mastery-region-card footer{grid-column:1/-1;display:flex;gap:7px;align-items:center}.mastery-region-card footer small{margin-left:auto;opacity:.65}.mastery-collection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.mastery-collection-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:18px}.mastery-collection-card>span{font-size:1.6rem}.mastery-collection-card strong,.mastery-collection-card small{display:block}.mastery-collection-card small{opacity:.68;margin:3px 0 9px}.mastery-collection-card.completed{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 45%,transparent)}.mastery-next,.passport-mastery-bridge{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 22px}.mastery-next>div:first-child,.passport-mastery-bridge>div{display:flex;gap:14px;align-items:flex-start}.mastery-next>div:first-child>span,.passport-mastery-bridge>div>span{font-size:1.6rem}.mastery-next strong,.passport-mastery-bridge strong{display:block}.mastery-next p,.passport-mastery-bridge p{margin:4px 0 0;opacity:.72}.mastery-next>div:last-child{display:flex;gap:8px;flex-wrap:wrap}.dashboard-mastery-mini{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.dashboard-mastery-mini span{padding:6px 9px;border:1px solid var(--line);border-radius:999px;font-size:.78rem}.dashboard-life-links{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.mastery-loop{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){.mastery-hero{grid-template-columns:1fr}.mastery-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.mastery-country-grid,.mastery-region-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mastery-loop{display:flex;overflow-x:auto;scroll-snap-type:x proximity}.mastery-loop a{min-width:190px;scroll-snap-align:start}}
@media(max-width:620px){.mastery-hero>div:first-child,.mastery-level-card{padding:22px}.mastery-country-grid,.mastery-region-grid,.mastery-collection-grid{grid-template-columns:1fr}.mastery-kpis{grid-template-columns:1fr 1fr}.mastery-next,.passport-mastery-bridge{align-items:flex-start;flex-direction:column}.mastery-next>div:last-child{width:100%}.mastery-next .button,.passport-mastery-bridge .button{width:100%;justify-content:center}.mastery-region-card footer small{max-width:52%;text-align:right}}


/* V4.1.35 — paramètres légaux administrables */
.admin-legal-settings{max-width:1120px}.legal-admin-status{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:18px 0 22px;padding:18px 20px;border:1px solid var(--line);border-radius:20px;background:var(--surface)}.legal-admin-status>div:first-child{display:flex;gap:13px;align-items:flex-start}.legal-admin-status>div:first-child>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font-weight:900}.legal-admin-status.is-ready>div:first-child>span{background:#e8f6ed;color:#1f7a43}.legal-admin-status.is-warning>div:first-child>span{background:#fff1da;color:#9a5b00}.legal-admin-status strong,.legal-admin-status p{display:block}.legal-admin-status p{margin:3px 0 0;color:var(--muted);font-size:.82rem}.legal-admin-preview{display:flex;gap:8px;flex-wrap:wrap}.legal-admin-form{display:grid;gap:16px}.legal-admin-section{padding:22px}.legal-admin-section>header{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}.legal-admin-section>header>span{display:grid;place-items:center;min-width:34px;height:34px;border-radius:10px;background:rgba(104,31,54,.08);color:var(--wine);font-size:.72rem;font-weight:900}.legal-admin-section h2{margin:0;font-size:1.25rem}.legal-admin-section header p{margin:4px 0 0;color:var(--muted);font-size:.78rem}.legal-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.legal-form-grid.one{grid-template-columns:minmax(0,520px)}.legal-form-grid label{display:grid;gap:7px;font-size:.75rem;font-weight:800}.legal-form-grid label.wide{grid-column:1/-1}.legal-form-grid input,.legal-form-grid select{width:100%}.publisher-fields.is-optional{opacity:.7}.publisher-fields.is-optional header:after{content:'Optionnel dans ce mode';margin-left:auto;padding:5px 9px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:.66rem;font-weight:800}.legal-admin-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;padding:4px 0 20px}@media(max-width:700px){.legal-admin-status{align-items:flex-start;flex-direction:column}.legal-admin-preview,.legal-admin-preview .button,.legal-form-grid,.legal-form-grid.one{width:100%;grid-template-columns:1fr}.legal-form-grid label.wide{grid-column:auto}.legal-admin-actions,.legal-admin-actions .button{width:100%}.legal-admin-actions .button{justify-content:center}.publisher-fields.is-optional header:after{display:none}}


/* V4.1.36 — bêta publique */
.site-beta-badge{display:inline-flex;align-items:center;justify-content:center;margin-left:2px;padding:4px 7px;border:1px solid rgba(111,33,59,.18);border-radius:999px;background:rgba(111,33,59,.07);color:var(--wine,#681f36);font-size:.57rem;font-weight:900;line-height:1;letter-spacing:.07em;text-transform:uppercase}
.public-beta-notice{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1180px;margin:18px auto 0;padding:14px 18px;border:1px solid rgba(104,31,54,.13);border-radius:17px;background:linear-gradient(135deg,rgba(104,31,54,.045),rgba(255,253,249,.9))}
.public-beta-notice>div{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.public-beta-notice strong{font-size:.82rem}.public-beta-notice span{color:var(--muted);font-size:.72rem}.public-beta-notice>a{flex:none;color:var(--wine);font-size:.7rem;font-weight:900;white-space:nowrap}
@media(max-width:760px){.site-beta-badge{padding:3px 6px;font-size:.52rem}.public-beta-notice{margin:12px 12px 0;align-items:flex-start;flex-direction:column;gap:9px}.public-beta-notice>a{white-space:normal}}

/* V4.1.37 — PWA / installation */
.pwa-install-button{appearance:none;border:0;background:transparent;color:inherit;font:inherit;padding:0;margin:0 10px 0 0;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.pwa-install-button:hover{opacity:.78}
.pwa-install-button[hidden]{display:none!important}
.is-pwa-standalone body{padding-top:env(safe-area-inset-top,0)}
.is-pwa-standalone .site-header{padding-top:max(0px,env(safe-area-inset-top,0))}
@media(max-width:720px){.footer-legal-links{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.pwa-install-button{margin:0}}

/* =========================================================
   AMPELORIA V4.1.39 — POLISH UI CIBLÉ
   Discovery loop + App install landing
   ========================================================= */

/* --- Explorer / Aujourd’hui / Passeport / Maîtrise --- */
.exploration-loop-v417{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
    margin:0 0 26px;
    padding:7px;
    border:1px solid rgba(82,49,43,.10);
    border-radius:20px;
    background:rgba(255,253,249,.82);
    box-shadow:var(--shadow-soft,0 12px 30px rgba(55,32,29,.05));
}
.exploration-loop-v417>a{
    display:grid;
    grid-template-columns:38px minmax(0,1fr);
    grid-template-rows:auto auto;
    column-gap:10px;
    row-gap:2px;
    align-items:center;
    min-width:0;
    min-height:66px;
    padding:10px 12px;
    border:1px solid transparent;
    border-radius:14px;
    color:inherit;
    text-decoration:none;
    transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.exploration-loop-v417>a>span{
    grid-row:1/3;
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    border-radius:11px;
    background:rgba(104,31,54,.065);
    color:var(--wine,#681f36);
    font-size:1rem;
}
.exploration-loop-v417>a strong{
    display:block;
    min-width:0;
    color:var(--ink,#1d2021);
    font-size:.72rem;
    line-height:1.15;
    font-weight:900;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.exploration-loop-v417>a small{
    display:block;
    min-width:0;
    color:var(--muted,#6f6a65);
    font-size:.56rem;
    line-height:1.3;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.exploration-loop-v417>a:hover{
    background:#fff;
    border-color:rgba(104,31,54,.10);
    transform:translateY(-1px);
}
.exploration-loop-v417>a.active{
    background:linear-gradient(135deg,#f5e9df,#fffaf5);
    border-color:rgba(104,31,54,.14);
    box-shadow:0 7px 18px rgba(104,31,54,.07);
}
.exploration-loop-v417>a.active>span{
    background:var(--wine,#681f36);
    color:#fff;
}
.exploration-loop-v417>a.active strong{color:var(--wine,#681f36)}
.mastery-loop{grid-template-columns:repeat(4,minmax(0,1fr))}

@media(max-width:920px){
    .exploration-loop-v417,.mastery-loop{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
    .exploration-loop-v417,.mastery-loop{
        display:flex;
        gap:7px;
        margin-left:-2px;
        margin-right:-2px;
        padding:6px;
        overflow-x:auto;
        overscroll-behavior-inline:contain;
        scroll-snap-type:x proximity;
        scrollbar-width:none;
    }
    .exploration-loop-v417::-webkit-scrollbar{display:none}
    .exploration-loop-v417>a{
        flex:0 0 176px;
        min-height:58px;
        padding:8px 10px;
        grid-template-columns:32px minmax(0,1fr);
        scroll-snap-align:start;
    }
    .exploration-loop-v417>a>span{width:30px;height:30px;font-size:.9rem;border-radius:9px}
    .exploration-loop-v417>a strong{font-size:.68rem}
    .exploration-loop-v417>a small{font-size:.53rem}
}

/* --- Landing d’installation PWA --- */
.amp-app-page-v439{display:grid;gap:18px;padding-bottom:26px}
.amp-app-hero-v439{
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:28px;
    align-items:center;
    padding:clamp(24px,4vw,42px);
    border:1px solid rgba(104,31,54,.09);
    border-radius:28px;
    background:
        radial-gradient(circle at 92% 20%,rgba(104,31,54,.10),transparent 27%),
        linear-gradient(135deg,rgba(255,253,249,.98),rgba(246,237,229,.92));
    box-shadow:var(--shadow-soft,0 18px 48px rgba(55,32,29,.07));
}
.amp-app-hero-v439 h1{margin:.38rem 0 .65rem;font-size:clamp(2rem,5vw,3.45rem);line-height:.98}
.amp-app-hero-v439 p{max-width:720px;margin:0;color:var(--muted,#6f6a65);font-size:.86rem;line-height:1.7}
.amp-app-hero-v439 .amp-app-icon{
    display:grid;
    place-items:center;
    width:118px;
    height:118px;
    border:12px solid rgba(104,31,54,.055);
    border-radius:30px;
    background:rgba(255,253,249,.72);
    box-shadow:inset 0 0 0 1px rgba(104,31,54,.08);
}
.amp-app-hero-v439 .amp-app-icon img{width:82px;height:82px;object-fit:contain}

.amp-app-grid-v439{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.amp-app-install-card-v439{
    display:flex;
    flex-direction:column;
    min-height:100%;
    padding:24px;
    border:1px solid var(--line,#e4dacd);
    border-radius:22px;
    background:rgba(255,253,249,.92);
    box-shadow:0 10px 28px rgba(55,32,29,.045);
}
.amp-app-install-card-v439 header{display:flex;gap:13px;align-items:flex-start;margin-bottom:14px}
.amp-app-platform-icon-v439{
    flex:0 0 auto;
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    border-radius:13px;
    background:rgba(104,31,54,.07);
    font-size:1.25rem;
}
.amp-app-install-card-v439 h2{margin:.18rem 0 .2rem;font-size:1.45rem}
.amp-app-install-card-v439 header p{margin:0;color:var(--muted,#6f6a65);font-size:.72rem;line-height:1.45}
.amp-app-install-card-v439>.amp-app-copy-v439{margin:0 0 15px;color:var(--muted,#6f6a65);font-size:.78rem;line-height:1.6}
.amp-app-install-card-v439 .pwa-install-button{width:100%;margin-top:auto;min-height:48px;justify-content:center}
.amp-app-install-card-v439 .pwa-install-button[hidden]{display:none!important}
.amp-app-fallback-v439{
    margin:12px 0 0;
    padding:11px 12px;
    border-radius:12px;
    background:rgba(104,31,54,.045);
    color:var(--muted,#6f6a65);
    font-size:.68rem;
    line-height:1.5;
}
.amp-app-steps-v439{display:grid;gap:8px;margin:4px 0 0;padding:0;list-style:none;counter-reset:appsteps}
.amp-app-steps-v439 li{
    counter-increment:appsteps;
    display:grid;
    grid-template-columns:28px minmax(0,1fr);
    gap:9px;
    align-items:center;
    min-height:34px;
    color:var(--ink,#1d2021);
    font-size:.74rem;
    line-height:1.4;
}
.amp-app-steps-v439 li:before{
    content:counter(appsteps);
    display:grid;
    place-items:center;
    width:26px;
    height:26px;
    border-radius:50%;
    background:rgba(104,31,54,.07);
    color:var(--wine,#681f36);
    font-size:.64rem;
    font-weight:900;
}
.amp-app-benefits-v439{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    padding:14px;
    border:1px solid var(--line,#e4dacd);
    border-radius:20px;
    background:rgba(255,253,249,.74);
}
.amp-app-benefits-v439 article{display:grid;grid-template-columns:32px minmax(0,1fr);gap:9px;align-items:center;padding:9px 10px;border-radius:13px}
.amp-app-benefits-v439 article>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:rgba(104,31,54,.06)}
.amp-app-benefits-v439 strong{display:block;font-size:.68rem}
.amp-app-benefits-v439 small{display:block;margin-top:2px;color:var(--muted,#6f6a65);font-size:.56rem;line-height:1.3}
.amp-app-note-v439{display:flex;align-items:center;gap:12px;padding:13px 16px;border:1px solid rgba(104,31,54,.09);border-radius:16px;background:rgba(104,31,54,.035)}
.amp-app-note-v439>span{font-size:1.1rem}.amp-app-note-v439 p{margin:0;color:var(--muted,#6f6a65);font-size:.7rem;line-height:1.5}.amp-app-note-v439 b{color:var(--wine,#681f36)}

@media(max-width:820px){
    .amp-app-grid-v439{grid-template-columns:1fr}
    .amp-app-benefits-v439{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
    .amp-app-page-v439{gap:12px}
    .amp-app-hero-v439{grid-template-columns:1fr;padding:22px 18px;border-radius:22px}
    .amp-app-hero-v439 .amp-app-icon{position:absolute;right:14px;top:14px;width:58px;height:58px;border-width:6px;border-radius:17px;opacity:.9}
    .amp-app-hero-v439 .amp-app-icon img{width:38px;height:38px}
    .amp-app-hero-v439 h1{padding-right:54px}
    .amp-app-install-card-v439{padding:18px;border-radius:18px}
    .amp-app-benefits-v439{grid-template-columns:1fr;padding:8px}
    .amp-app-note-v439{align-items:flex-start}
}

/* V4.1.39b — accueil mobile : hiérarchie et densité corrigées */
@media (max-width:680px){
  .ampeloria-v43 .hero-v42{
    width:calc(100% - 20px);
    margin:12px auto 0;
    padding:26px 18px 28px;
    border-radius:26px;
    gap:26px;
  }
  .ampeloria-v43 .hero-v42 .hero-copy{max-width:none}
  .ampeloria-v43 .hero-v42 .eyebrow{font-size:.58rem;letter-spacing:.12em}
  .ampeloria-v43 .hero-v42 h1{
    margin:.45rem 0 .8rem;
    font-size:clamp(2.55rem,11.2vw,3rem);
    line-height:.92;
    letter-spacing:-.045em;
  }
  .ampeloria-v43 .hero-v42 h1 br{display:none}
  .ampeloria-v43 .hero-v42 h1 em{display:block;margin-top:.08em}
  .ampeloria-v43 .hero-v42 .hero-copy>p{
    margin:.85rem 0 0;
    font-size:.92rem;
    line-height:1.58;
  }
  .ampeloria-v43 .hero-v42 .hero-actions{
    display:grid;
    gap:8px;
    margin-top:18px;
  }
  .ampeloria-v43 .hero-v42 .hero-actions .button,
  .ampeloria-v43 .hero-v42 .hero-actions form,
  .ampeloria-v43 .hero-v42 .hero-actions form .button{
    width:100%;
  }
  .ampeloria-v43 .hero-v42 .hero-actions .button.large{
    min-height:48px;
    padding:12px 16px;
  }
  .ampeloria-v43 .home-resume-lesson{
    margin-top:16px;
    padding:12px 14px 13px;
    border-radius:14px;
  }
  .ampeloria-v43 .home-resume-lesson::before{top:10px;bottom:10px}
  .ampeloria-v43 .home-resume-lesson small{font-size:.56rem}
  .ampeloria-v43 .home-resume-lesson strong{font-size:.96rem;line-height:1.25}
  .ampeloria-v43 .home-resume-lesson span{font-size:.68rem;line-height:1.45}
  .ampeloria-v43 .hero-v42 .hero-stats{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:7px;
    margin-top:18px;
    padding-top:0;
    border-top:0;
  }
  .ampeloria-v43 .hero-v42 .hero-stats div{
    min-width:0;
    padding:11px 8px;
    border:1px solid rgba(82,49,43,.09);
    border-radius:13px;
    background:rgba(255,255,255,.48);
    text-align:center;
  }
  .ampeloria-v43 .hero-v42 .hero-stats strong{
    font-size:.94rem;
    line-height:1.05;
  }
  .ampeloria-v43 .hero-v42 .hero-stats span{
    margin-top:4px;
    font-size:.52rem;
    line-height:1.25;
  }
  .ampeloria-v43 .hero-v42 .hero-map{
    min-height:300px;
    border-radius:24px;
  }
}
@media (max-width:390px){
  .ampeloria-v43 .hero-v42{padding-inline:15px}
  .ampeloria-v43 .hero-v42 h1{font-size:2.5rem}
  .ampeloria-v43 .hero-v42 .hero-stats{gap:5px}
  .ampeloria-v43 .hero-v42 .hero-stats div{padding:10px 5px}
  .ampeloria-v43 .hero-v42 .hero-stats strong{font-size:.86rem}
  .ampeloria-v43 .hero-v42 .hero-stats span{font-size:.48rem}
}

/* =========================================================
   AMPELORIA V4.1.40 — CONSOLIDATION RESPONSIVE FINALE
   Une couche commune pour harmoniser les écrans historiques
   avec les hubs récents sans modifier leur logique métier.
   ========================================================= */
@media (max-width:760px){
  /* Conteneurs / respiration cohérente */
  .page-shell,
  .dashboard-shell,
  .coach-page,
  .achievements-page,
  .challenges-page,
  .planner-page,
  .sommelier-page,
  .passport-page,
  .vintages-page,
  .exams-page,
  .learning-map-page,
  .cellar-page,
  .tasting-journal-page,
  .blind-page,
  .discover-page,
  .mastery-page{
    min-width:0;
  }

  /* Les anciens gros héros rejoignent l'échelle mobile actuelle. */
  .coach-hero h1,
  .achievement-hero h1,
  .challenge-hero h1,
  .planner-hero h1,
  .sommelier-hero h1,
  .passport-hero h1,
  .vintages-hero h1,
  .exams-hero h1,
  .learning-map-hero h1,
  .cellar-hero h1,
  .tasting-journal-hero h1,
  .discover-hero h1,
  .blind-hero h1,
  .today-hero h1,
  .search-hero-v29 h1,
  .explore-hero-v29 h1,
  .knowledge-hero h1,
  .knowledge-hero.premium h1,
  .notion-detail-hero h1,
  .collection-detail-hero h1,
  .pairings-hero h1{
    font-size:clamp(2.15rem,10.5vw,3rem)!important;
    line-height:.98;
    letter-spacing:-.035em;
  }

  .pairing-detail-hero h1,
  .cellar-item-hero h1,
  .wine-detail-hero h1,
  .wine-detail-hero.premium h1,
  .tasting-detail-hero h1,
  .blind-result-hero h1,
  .exam-result-hero h1{
    font-size:clamp(2rem,9.5vw,2.8rem)!important;
    line-height:1;
  }

  /* Cartes de score : plus de mini-colonne desktop isolée. */
  .coach-readiness,
  .achievement-count,
  .challenge-week-score,
  .planner-progress-ring,
  .passport-score,
  .course-summary,
  .streak-card{
    width:100%;
    min-width:0;
    grid-template-columns:auto 1fr;
    justify-items:start;
    column-gap:12px;
    padding:14px 16px;
    border-radius:16px;
  }
  .coach-readiness strong,
  .achievement-count strong,
  .challenge-week-score strong,
  .planner-progress-ring strong,
  .passport-score strong,
  .course-summary strong,
  .streak-card strong{
    grid-row:1/3;
    align-self:center;
    font-size:1.8rem;
  }
  .coach-readiness small,
  .achievement-count small,
  .challenge-week-score small,
  .passport-score small,
  .streak-card small{margin-top:0}

  /* En-têtes secondaires et actions : wrap au lieu de compression. */
  .coach-competencies>header,
  .coach-session>header,
  .knowledge-section-heading-v410,
  .tasting-journal-head,
  .cellar-toolbar,
  .reference-filter-v419,
  .search-strip,
  .exam-result-actions,
  .dashboard-life-links{
    align-items:flex-start;
    flex-wrap:wrap;
  }

  .coach-session nav,
  .learning-subnav,
  .tasting-subnav,
  .week-subnav,
  .beta-subnav,
  .exploration-loop-v417,
  .mastery-loop{
    max-width:100%;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .coach-session nav::-webkit-scrollbar,
  .learning-subnav::-webkit-scrollbar,
  .tasting-subnav::-webkit-scrollbar,
  .week-subnav::-webkit-scrollbar,
  .beta-subnav::-webkit-scrollbar{display:none}

  /* Les formulaires importants doivent rester manipulables au clavier mobile. */
  .sommelier-form,
  .planner-settings form,
  .tasting-form,
  .cellar-form,
  .auth-card form,
  .profile-language-form{
    min-width:0;
  }
  .sommelier-form input,
  .sommelier-form select,
  .planner-settings input,
  .planner-settings select,
  .tasting-form input,
  .tasting-form select,
  .tasting-form textarea,
  .cellar-form input,
  .cellar-form select,
  .cellar-form textarea{
    max-width:100%;
  }

  /* Cartes de listes : évite les métadonnées qui sortent de l'écran. */
  .coach-session-timeline>a,
  .sommelier-results>a,
  .opening-queue>a,
  .passport-next-grid>article>a,
  .passport-recent>a,
  .exam-history>a,
  .certificate-mini-grid>a,
  .certificate-grid>a{
    min-width:0;
  }
  .coach-session-timeline>a>*,
  .sommelier-results>a>*,
  .opening-queue>a>*,
  .passport-next-grid>article>a>*,
  .passport-recent>a>*,
  .exam-history>a>*,
  .certificate-mini-grid>a>*,
  .certificate-grid>a>*{
    min-width:0;
  }

  /* Détails très denses : empilement plus naturel. */
  .pairing-detail-hero,
  .cellar-item-hero{
    grid-template-columns:72px minmax(0,1fr);
    gap:14px;
  }
  .cellar-item-hero .cellar-quantity{
    grid-column:1/-1;
    width:100%;
  }
  .pairing-detail-hero>span{width:62px;height:62px}

  /* Tableaux et blocs préformatés : scroll local, jamais toute la page. */
  .table-wrap,
  .admin-table-wrap,
  .comparison-table,
  .exam-answer-table,
  .blind-answer-table{
    max-width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  pre,code{max-width:100%}
  pre{overflow-x:auto}

  /* Boutons d'action en bas : tactiles, mais pas gigantesques. */
  .exam-submit-bar .button,
  .legal-admin-actions .button,
  .dashboard-v413 .dashboard-hero-actions .button{
    min-height:44px;
  }
}

@media (max-width:430px){
  .coach-priority,
  .coach-dashboard-banner,
  .challenge-coach-link,
  .coach-challenge-banner,
  .coach-passport-banner,
  .cellar-sommelier-banner{
    grid-template-columns:1fr;
  }
  .coach-priority>span,
  .coach-dashboard-banner>span,
  .challenge-coach-link>span,
  .coach-challenge-banner>span,
  .coach-passport-banner>span,
  .cellar-sommelier-banner>span{display:none}
  .coach-priority>b,
  .coach-dashboard-banner>b,
  .challenge-coach-link>b,
  .coach-challenge-banner>b,
  .coach-passport-banner>b,
  .cellar-sommelier-banner>b{grid-column:auto}

  .mastery-kpis{grid-template-columns:1fr!important}
  .mastery-proof-legend{gap:5px}
  .mastery-proof-legend span{padding:6px 8px;font-size:.72rem}

  .pairing-detail-hero,
  .cellar-item-hero{grid-template-columns:1fr}
  .pairing-detail-hero>span{width:54px;height:54px}
}

/* V4.1.41 — consolidation production */
.pwa-update-banner,.pwa-network-banner{position:fixed;z-index:9999;left:50%;transform:translateX(-50%);bottom:max(18px,env(safe-area-inset-bottom));width:min(680px,calc(100% - 28px));padding:12px 14px;border-radius:16px;background:#17231d;color:#fff;box-shadow:0 16px 50px rgba(0,0,0,.24);display:flex;align-items:center;justify-content:space-between;gap:14px}.pwa-update-banner span{display:grid;gap:2px}.pwa-update-banner small{opacity:.78}.pwa-update-banner button{border:0;border-radius:999px;padding:10px 14px;font-weight:800;cursor:pointer}.pwa-network-banner{justify-content:center;background:#5d3b21;font-size:.9rem}.admin-inline-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.admin-inline-form label{min-width:min(340px,100%);display:grid;gap:6px}.admin-bulk-toolbar{display:flex;justify-content:flex-end;gap:10px;align-items:center;padding:14px 0 0}.admin-bulk-toolbar select{min-width:180px}.reference-health-page .admin-user-kpis{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}@media(max-width:640px){.pwa-update-banner{align-items:flex-start;flex-direction:column}.pwa-update-banner button{width:100%}.admin-bulk-toolbar{align-items:stretch;flex-direction:column}.admin-bulk-toolbar select,.admin-bulk-toolbar .button{width:100%}}

/* V4.2.0 — profils de vins pédagogiques */
.wine-reference-badge{
  display:inline-flex;
  width:max-content;
  padding:.28rem .55rem;
  border:1px solid rgba(180,137,75,.32);
  border-radius:999px;
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.03em;
  color:var(--accent,#b4894b);
  background:rgba(180,137,75,.08);
}

/* V4.2.1 — Millésimes */
.vintage-method-note{max-width:78ch;margin-top:14px;font-size:.88rem;line-height:1.55;opacity:.78}
.vintage-source{margin-top:12px;font-size:.82rem;opacity:.78}
.vintage-source summary{cursor:pointer;font-weight:700}
.vintage-source p{margin:7px 0 0;line-height:1.5}

/* V4.2.2 — bibliothèque aromatique & dégustation structurée */
.aroma-focus-v422,.aroma-memory-v422{margin-top:18px;padding:22px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(135deg,#fff,#fbf7f2);display:grid;grid-template-columns:minmax(0,1.5fr) minmax(220px,.7fr);gap:18px;align-items:start}
.aroma-focus-v422 h2,.aroma-memory-v422 h2{margin:.25rem 0 .45rem;font-family:Georgia,serif;font-size:1.55rem;font-weight:500}
.aroma-focus-v422 p,.aroma-memory-v422 p{margin:0;color:var(--muted);line-height:1.55}
.aroma-focus-v422 aside{padding:15px;border-radius:16px;background:#fff;border:1px solid var(--line);display:grid;gap:4px}
.aroma-focus-v422 aside small{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-top:5px}
.aroma-focus-v422 aside strong{font-size:.95rem}.aroma-focus-v422 aside p{font-size:.78rem;color:var(--ink)}
.aroma-memory-card-v422{padding:16px;border-radius:18px;background:#fff;border:1px solid var(--line);min-height:145px;display:flex;flex-direction:column;justify-content:center;gap:10px}
.aroma-memory-card-v422>strong{font-family:Georgia,serif;font-size:1.35rem}.aroma-memory-card-v422>div{display:flex;gap:8px;flex-wrap:wrap}
.tasting-aroma-picker-v422{margin-top:12px;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:#fffaf8}
.tasting-aroma-picker-v422 summary{cursor:pointer;font-weight:700;font-size:.78rem;color:var(--ink)}
.tasting-aroma-picker-v422>p{margin:8px 0 0;color:var(--muted);font-size:.72rem}
.tasting-aroma-families-v422{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;max-height:390px;overflow:auto;padding-right:4px}
.tasting-aroma-families-v422 section{padding:10px;border:1px solid var(--line);border-radius:14px;background:#fff}
.tasting-aroma-families-v422 section>strong{display:block;margin-bottom:8px;font-size:.7rem}
.tasting-aroma-families-v422 section>div{display:flex;flex-wrap:wrap;gap:5px}
.tasting-aroma-chip-v422{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 8px;font:inherit;font-size:.63rem;color:#514a45;cursor:pointer;transition:.15s ease}
.tasting-aroma-chip-v422:hover{border-color:#c8aba9}.tasting-aroma-chip-v422.selected{background:#fff0f3;border-color:var(--wine);color:var(--wine);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--wine) 18%,transparent)}
.tasting-aroma-summary-v422{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.tasting-aroma-summary-v422 span{padding:5px 8px;border-radius:999px;background:#fff0f3;border:1px solid #edd4d9;color:var(--wine);font-size:.66rem;font-weight:700}
@media(max-width:760px){.aroma-focus-v422,.aroma-memory-v422{grid-template-columns:1fr;padding:17px}.tasting-aroma-families-v422{grid-template-columns:1fr;max-height:330px}.aroma-memory-card-v422{min-height:0}}

/* Ampeloria V4.2.3 — référentiel accords */
.pairings-v423 .pairing-principles{grid-template-columns:repeat(4,minmax(0,1fr))}
.pairing-toolbar-v423{display:grid;grid-template-columns:minmax(240px,1fr) minmax(0,2fr) auto;gap:12px;align-items:end;margin:20px 0 16px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff9}
.pairing-toolbar-v423 label{display:grid;gap:5px;font-size:.62rem;font-weight:850}
.pairing-toolbar-v423 input{width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit}
.pairing-category-row-v423{display:flex;gap:6px;overflow:auto;padding-bottom:2px;scrollbar-width:thin}
.pairing-category-row-v423 button{flex:0 0 auto;min-height:38px;padding:7px 11px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font:inherit;font-size:.61rem;font-weight:800;cursor:pointer}
.pairing-category-row-v423 button.active{background:var(--wine);border-color:var(--wine);color:#fff}
.pairing-toolbar-v423>small{white-space:nowrap;color:var(--muted);font-size:.6rem;padding-bottom:11px}.pairing-toolbar-v423>small strong{color:var(--wine)}
.pairings-v423 .food-grid>a[hidden]{display:none!important}.pairing-empty-v423{margin-top:12px}
@media(max-width:980px){.pairings-v423 .pairing-principles{grid-template-columns:repeat(2,minmax(0,1fr))}.pairing-toolbar-v423{grid-template-columns:1fr}.pairing-toolbar-v423>small{padding:0}}
@media(max-width:620px){.pairings-v423 .pairing-principles{grid-template-columns:1fr}.pairing-toolbar-v423{padding:11px}.pairing-category-row-v423{margin-right:-11px;padding-right:11px}.pairings-v423 .food-grid>a{grid-template-columns:38px 1fr auto}.pairings-v423 .food-grid h3{font-size:.88rem}}

/* Ampeloria V4.2.5 — Collections éditoriales */
.collections-hero-v425{position:relative;overflow:hidden}
.collections-hero-v425:after{content:'🗂️';position:absolute;right:2.5%;bottom:-24px;font-size:8rem;opacity:.045;pointer-events:none}
.collections-kpis-v425{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.collections-kpis-v425 span{display:inline-flex;align-items:baseline;gap:5px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:.74rem;color:var(--muted)}
.collections-kpis-v425 strong{color:var(--text);font-size:.88rem}
.collections-toolbar-v425{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:4px 0 18px;padding:14px 16px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}
.collections-toolbar-v425 label{display:grid;gap:6px;flex:1;max-width:560px}.collections-toolbar-v425 label>span{font-size:.66rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.collections-toolbar-v425 input{width:100%;min-height:42px;padding:10px 13px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--text)}
.collections-toolbar-v425 p{margin:0;white-space:nowrap;font-size:.76rem;color:var(--muted)}
.collection-grid-v425>a{min-height:190px;position:relative;overflow:hidden;grid-template-columns:auto minmax(0,1fr) auto}
.collection-grid-v425>a:after{content:'';position:absolute;inset:auto -25px -35px auto;width:110px;height:110px;border-radius:50%;background:color-mix(in srgb,var(--wine) 8%,transparent);pointer-events:none}
.collection-card-icon-v425{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--surface-2);font-size:1.45rem!important}
.collection-grid-v425 h2{font-size:1.28rem;line-height:1.05}.collection-grid-v425 p{font-size:.72rem;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.collection-card-meta-v425{display:inline-block;margin-top:7px;font-size:.61rem;font-weight:750;color:var(--muted)}
.collections-no-result-v425{margin-top:0}
.collection-detail-meta-v425{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.collection-detail-meta-v425 span{padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:.68rem;color:var(--muted)}
.collection-detail-meta-v425 strong{color:var(--text)}
@media(max-width:760px){.collections-toolbar-v425{align-items:stretch;flex-direction:column}.collections-toolbar-v425 label{max-width:none}.collections-toolbar-v425 p{align-self:flex-end}.collection-grid-v425>a{min-height:0}.collections-hero-v425:after{font-size:6rem}}
@media(max-width:480px){.collections-kpis-v425{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.collections-kpis-v425 span{display:grid;place-items:center;text-align:center;padding:7px 5px;border-radius:13px;font-size:.61rem}.collections-kpis-v425 strong{display:block}.collection-detail-meta-v425 span{font-size:.62rem}}

/* Ampeloria V4.2.8 — profils aromatiques des styles Monde */
.wine-aroma-profile-v428{overflow:hidden}
.wine-aroma-note-v428{margin:.35rem 0 1rem;color:var(--muted,#7f786f);max-width:760px}
.wine-aroma-chips-v428{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:.65rem}
.wine-aroma-chip-v428{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"icon title" "icon meta";column-gap:.55rem;align-items:center;padding:.72rem .78rem;border:1px solid rgba(137,109,67,.18);border-radius:14px;background:rgba(255,255,255,.035);text-decoration:none;color:inherit;transition:transform .16s ease,border-color .16s ease,background .16s ease}
.wine-aroma-chip-v428:hover{transform:translateY(-1px);border-color:rgba(176,137,76,.42);background:rgba(176,137,76,.07)}
.wine-aroma-chip-v428>span{grid-area:icon;font-size:1.25rem}
.wine-aroma-chip-v428>strong{grid-area:title;font-size:.9rem;line-height:1.15}
.wine-aroma-chip-v428>small{grid-area:meta;color:var(--muted,#7f786f);font-size:.72rem;margin-top:.12rem}
@media(max-width:520px){.wine-aroma-chips-v428{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.wine-aroma-chip-v428{padding:.62rem}.wine-aroma-chip-v428>strong{font-size:.82rem}}

/* V4.3.0 — Régions complètes */
.region-parent-link-v430,.knowledge-source-v430{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--border,rgba(255,255,255,.09));border-radius:18px;background:var(--surface-2,rgba(255,255,255,.035));}
.region-parent-link-v430{color:inherit;text-decoration:none;transition:.18s ease}.region-parent-link-v430:hover{transform:translateY(-1px);border-color:rgba(194,159,93,.35)}
.region-parent-link-v430>span{font-size:1.35rem}.region-parent-link-v430>div{display:grid;gap:3px;min-width:0;flex:1}.region-parent-link-v430 small{opacity:.65}.region-parent-link-v430 b{font-size:1.1rem}
.knowledge-source-v430{margin-top:18px;display:grid;align-items:start;gap:7px}.knowledge-source-v430 strong{font-size:1rem}.knowledge-source-v430 a{font-size:.9rem;text-decoration:none}.region-children-v430 .premium-link-grid a small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width:640px){.region-parent-link-v430,.knowledge-source-v430{padding:14px;border-radius:15px}}


/* V4.3.1 — Appellations complètes */
.appellation-wines-v431 .premium-link-grid a{background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(248,244,236,.9));}
.appellation-wines-v431 .premium-link-grid a>span{font-size:1.25rem;}
.appellation-neighbours-v431{margin-top:18px;}
.appellation-neighbours-v431 summary{cursor:pointer;}
@media(max-width:680px){
  .appellation-wines-v431 .premium-link-grid{grid-template-columns:1fr;}
}


/* Ampeloria V4.3.2 — Cépages complets */
.grape-aroma-grid-v432{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}
.grape-aroma-grid-v432>span{display:flex;flex-direction:column;gap:5px;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft)}
.grape-aroma-grid-v432 b{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;opacity:.62}.grape-aroma-grid-v432 strong{font-size:1rem}.grape-aroma-grid-v432 small{line-height:1.45;opacity:.78}
@media(max-width:760px){.grape-aroma-grid-v432{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.grape-aroma-grid-v432{grid-template-columns:1fr}}

/* V4.3.3 — Vins & styles complets */
.wine-catalog-tools-v433{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(150px,.7fr) minmax(150px,.7fr) auto;gap:12px;align-items:end;margin:0 0 24px;padding:16px;border:1px solid var(--line,#ddd);border-radius:18px;background:var(--surface,#fff)}
.wine-catalog-tools-v433 label{display:grid;gap:6px;font-size:.78rem;font-weight:700}.wine-catalog-tools-v433 input,.wine-catalog-tools-v433 select{width:100%;min-height:44px;border:1px solid var(--line,#ddd);border-radius:12px;padding:0 12px;background:var(--surface,#fff);color:inherit}.wine-catalog-tools-v433>strong{padding:12px 4px;white-space:nowrap}
.wine-facts.premium-facts{grid-template-columns:repeat(4,minmax(0,1fr))}.wine-making-grid-v433{display:grid;grid-template-columns:1fr 1fr;gap:18px}.wine-making-grid-v433>div,.wine-compare-note-v433{padding:16px;border-radius:15px;background:var(--surface-soft,#f7f5f1)}.wine-making-grid-v433 strong,.wine-compare-note-v433 strong{display:block;margin-bottom:7px}.wine-making-grid-v433 p,.wine-compare-note-v433 p{margin:0;line-height:1.65}.wine-blind-v433{border-left:4px solid currentColor}.wine-similar-grid-v433{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.wine-similar-grid-v433 a{display:grid;gap:3px;padding:13px 14px;border:1px solid var(--line,#ddd);border-radius:13px;text-decoration:none;color:inherit}.wine-similar-grid-v433 a:hover{transform:translateY(-1px)}.wine-similar-grid-v433 small{opacity:.72}.wine-source-v433{font-size:.82rem;opacity:.75;margin:18px 2px}.wine-empty-v433{text-align:center}
@media(max-width:760px){.wine-catalog-tools-v433{grid-template-columns:1fr 1fr}.wine-catalog-tools-v433 label:first-child{grid-column:1/-1}.wine-facts.premium-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.wine-making-grid-v433,.wine-similar-grid-v433{grid-template-columns:1fr}.wine-catalog-tools-v433>strong{align-self:center}}
@media(max-width:430px){.wine-catalog-tools-v433{grid-template-columns:1fr}.wine-catalog-tools-v433 label:first-child{grid-column:auto}.wine-facts.premium-facts{grid-template-columns:1fr 1fr}}


/* V4.3.4 — Millésimes complets */
.vintage-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0 6px}
.vintage-kpis article{padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fff9;display:grid;gap:2px}
.vintage-kpis strong{font-family:Georgia,serif;font-size:1.35rem;color:var(--wine);font-weight:500}.vintage-kpis span{font-size:.58rem;color:var(--muted);font-weight:750}
.vintage-compare-panel{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff9}.vintage-compare-panel .section-heading{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:12px}.vintage-compare-panel h2{margin:.15rem 0 0;font-family:Georgia,serif;font-weight:500}.vintage-compare-panel .section-heading>p{max-width:48ch;margin:0;color:var(--muted);font-size:.67rem}
.vintage-compare-scroll{overflow:auto;border:1px solid var(--line);border-radius:12px}.vintage-compare-scroll table{width:100%;min-width:760px;border-collapse:collapse;background:#fff}.vintage-compare-scroll th,.vintage-compare-scroll td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;font-size:.58rem;vertical-align:top}.vintage-compare-scroll th{font-size:.5rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:#faf6f1}.vintage-compare-scroll tr:last-child td{border-bottom:0}
.vintage-readiness>div:first-child{display:flex;justify-content:space-between;gap:8px;align-items:center}.vintage-readiness>div:first-child span{font-size:.54rem;color:var(--muted)}.vintage-readiness>div:first-child strong{font-size:.57rem;color:var(--wine)}
.vintage-window{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:9px 11px;border-radius:11px;background:#faf6f1;border:1px solid var(--line)}.vintage-window>span{font-size:.5rem;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.04em}.vintage-window>strong{font-size:.62rem;color:var(--wine)}.vintage-window>small{grid-column:1/-1;font-size:.51rem;color:var(--muted)}
.vintage-general-style{font-weight:620}.vintage-colors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.vintage-colors>div{padding:10px;border:1px solid var(--line);border-radius:11px;background:#fff}.vintage-colors span{display:block;margin-bottom:4px;font-size:.5rem;font-weight:900;color:var(--wine)}.vintage-colors p{margin:0!important;font-size:.56rem!important;line-height:1.45!important}
.vintage-strengths{display:grid;gap:6px}.vintage-strengths p{display:grid;gap:3px;margin:0!important;padding:9px 10px;border-radius:10px;background:#faf6f1;font-size:.55rem!important}.vintage-strengths strong{font-size:.49rem;color:var(--wine);text-transform:uppercase;letter-spacing:.04em}
.vintage-source a{color:var(--wine);font-weight:800;text-decoration:none}.vintage-source a:hover{text-decoration:underline}
@media(max-width:760px){.vintage-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.vintage-kpis article{padding:11px}.vintage-kpis strong{font-size:1.1rem}.vintage-kpis span{font-size:.5rem}.vintage-compare-panel .section-heading{display:grid;gap:5px}.vintage-colors{grid-template-columns:1fr}}
@media(max-width:430px){.vintage-kpis{grid-template-columns:1fr}.vintage-kpis article{grid-template-columns:auto 1fr;align-items:baseline;gap:8px}.vintage-grid>article{padding:14px}.vintage-grid>article>header>div:first-child>span{font-size:1.8rem}}

/* V4.3.5 — Arômes complets */
.aroma-kpis-v435{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.aroma-kpis-v435 article{display:grid;grid-template-columns:auto 1fr;gap:2px 9px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.aroma-kpis-v435 article>span{grid-row:1/3;font-size:1.35rem}.aroma-kpis-v435 strong{font-size:1.4rem;line-height:1}.aroma-kpis-v435 small{color:var(--muted);font-size:.68rem}
.aroma-toolbar-v435{display:flex;gap:12px;align-items:end;margin:16px 0 20px;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.aroma-toolbar-v435 label{display:grid;gap:6px;min-width:210px;flex:1}.aroma-toolbar-v435 label>span{font-size:.64rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.aroma-toolbar-v435 input,.aroma-toolbar-v435 select{min-height:42px;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--text)}.aroma-toolbar-v435 p{margin:0 4px 10px auto;color:var(--muted);font-size:.74rem;white-space:nowrap}
.aroma-family-grid article>header small{margin-left:auto;color:var(--muted);font-size:.62rem}.aroma-chip.is-fault{border-color:color-mix(in srgb,#b44 35%,var(--line));background:color-mix(in srgb,#b44 7%,var(--surface-2))}.aroma-chip[hidden],[data-aroma-family-card][hidden]{display:none!important}.aroma-focus-v435 .button{margin-top:12px;width:max-content}
.breadcrumb-v435{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0 18px;color:var(--muted);font-size:.72rem}.breadcrumb-v435 a{color:inherit}.aroma-detail-hero-v435{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;align-items:start;padding:26px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(135deg,var(--surface),var(--surface-2));overflow:hidden}.aroma-detail-hero-v435.is-fault{border-color:color-mix(in srgb,#b44 30%,var(--line))}.aroma-detail-icon-v435{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:var(--surface-2);font-size:2rem}.aroma-detail-hero-v435 h1{margin:4px 0 8px;font-size:clamp(2.2rem,5vw,4.4rem);line-height:.94}.aroma-detail-hero-v435 p{max-width:760px;margin:0;color:var(--muted);line-height:1.65}.aroma-detail-tags-v435{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.aroma-detail-tags-v435 span{padding:7px 10px;border-radius:999px;background:var(--surface-2);font-size:.68rem;font-weight:750}.aroma-detail-tags-v435 .danger{background:color-mix(in srgb,#b44 12%,var(--surface-2));color:#a33}
.aroma-detail-grid-v435{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.aroma-detail-grid-v435 article{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.aroma-detail-grid-v435 article>span{font-size:1.35rem}.aroma-detail-grid-v435 small{font-size:.6rem;font-weight:850;letter-spacing:.08em;color:var(--muted)}.aroma-detail-grid-v435 p{margin:6px 0 0;line-height:1.6}
.aroma-learning-pair-v435{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.aroma-learning-pair-v435 article{padding:22px;border-radius:20px;background:var(--ink);color:#fff}.aroma-learning-pair-v435 article:nth-child(2){background:var(--wine)}.aroma-learning-pair-v435 h2{margin:5px 0 8px;font-size:1.45rem}.aroma-learning-pair-v435 p{margin:0;opacity:.84;line-height:1.65}
.aroma-entities-v435,.aroma-related-v435{margin-top:24px}.aroma-entity-columns-v435{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.aroma-entity-columns-v435 article{padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.aroma-entity-columns-v435 article>strong{display:block;margin-bottom:8px}.aroma-entity-columns-v435 a{display:grid;gap:2px;padding:10px 0;border-top:1px solid var(--line)}.aroma-entity-columns-v435 a span{font-weight:750}.aroma-entity-columns-v435 a small{color:var(--muted);font-size:.68rem}.aroma-related-v435>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.aroma-related-v435 a{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;padding:15px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.aroma-related-v435 a>span{grid-row:1/3;font-size:1.3rem}.aroma-related-v435 small{color:var(--muted);font-size:.68rem}.source-card-v435{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:20px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);font-size:.72rem}.source-card-v435 span{color:var(--muted);font-weight:750}.aroma-detail-actions-v435{display:flex;gap:10px;justify-content:space-between;margin-top:24px}
@media(max-width:760px){.aroma-kpis-v435{grid-template-columns:repeat(2,minmax(0,1fr))}.aroma-toolbar-v435{align-items:stretch;flex-direction:column}.aroma-toolbar-v435 label{min-width:0;width:100%}.aroma-toolbar-v435 p{margin:0}.aroma-detail-hero-v435{grid-template-columns:1fr;padding:20px}.aroma-detail-icon-v435{width:52px;height:52px;border-radius:16px}.aroma-detail-hero-v435 h1{font-size:clamp(2.1rem,13vw,3.4rem)}.aroma-detail-grid-v435,.aroma-learning-pair-v435{grid-template-columns:1fr}.source-card-v435,.aroma-detail-actions-v435{align-items:stretch;flex-direction:column}.aroma-detail-actions-v435 .button{width:100%}}


/* V4.3.6 — Accords mets-vins complets */
.pairing-method-v436{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0 30px}.pairing-method-v436>div{display:grid;grid-template-columns:38px 1fr;column-gap:10px;align-items:start;padding:16px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}.pairing-method-v436 span{grid-row:1/3;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--accent-soft);font-weight:800}.pairing-method-v436 strong{font-size:.95rem}.pairing-method-v436 p{margin:4px 0 0;color:var(--muted);font-size:.86rem;line-height:1.45}.pairing-tags-v436{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.pairing-tags-v436 i{font-style:normal;font-size:.72rem;padding:4px 7px;border-radius:999px;background:var(--accent-soft);color:var(--text)}.food-grid-v436>a{align-items:flex-start}.food-grid-v436>a>div{min-width:0}.food-structure-v436{grid-template-columns:repeat(4,minmax(0,1fr))}.pairing-context-grid-v436{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0}.pairing-context-grid-v436 article,.pairing-two-col-v436 article{display:flex;gap:12px;padding:16px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}.pairing-context-grid-v436 article>span,.pairing-two-col-v436 article>span{font-size:1.35rem}.pairing-context-grid-v436 small,.pairing-two-col-v436 small{font-weight:800;letter-spacing:.06em;font-size:.7rem;color:var(--muted)}.pairing-context-grid-v436 p,.pairing-two-col-v436 p{margin:6px 0 0;line-height:1.55}.pairing-logic-v436{margin:24px 0;padding:22px;border-radius:20px;background:linear-gradient(135deg,var(--surface),var(--surface-2));border:1px solid var(--border)}.pairing-logic-v436 h2{margin:5px 0 8px}.pairing-logic-v436 p{margin:0;line-height:1.65}.pairing-two-col-v436{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:26px 0}.pairing-two-col-v436 .warning{border-color:color-mix(in srgb,#b85c38 35%,var(--border));background:color-mix(in srgb,#b85c38 7%,var(--surface))}.pairing-source-v436{font-size:.82rem;color:var(--muted);margin-top:20px}.pairing-source-v436 a{color:inherit;text-decoration:underline}.pairing-admin-editor small{display:block;margin-top:5px;color:var(--muted);font-size:.76rem}
@media(max-width:900px){.pairing-method-v436,.pairing-context-grid-v436{grid-template-columns:1fr}.food-structure-v436{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.pairing-method-v436{gap:10px}.pairing-method-v436>div{padding:13px}.food-structure-v436{grid-template-columns:1fr 1fr}.pairing-two-col-v436{grid-template-columns:1fr}.pairing-detail-v436 .pairing-detail-hero{padding:18px}.pairing-detail-v436 .pairing-detail-hero>span{font-size:2rem}}

/* V4.3.7 — Notions encyclopédiques complètes */
.notion-library-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.notion-library-kpis article{padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:var(--surface);display:grid;gap:2px}.notion-library-kpis span{font-size:.6rem;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.05em}.notion-library-kpis strong{font-family:Georgia,serif;font-size:1.6rem;font-weight:500;color:var(--wine)}
.notion-filter-bar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:16px 0 22px;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.notion-filter-bar label{display:grid;gap:5px;min-width:180px;flex:1}.notion-filter-bar label:first-child{flex:1.6}.notion-filter-bar label>span{font-size:.58rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.notion-filter-bar input,.notion-filter-bar select{min-height:42px;padding:9px 11px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);color:var(--text)}
.notion-card-meta{display:flex;justify-content:space-between;gap:8px;align-items:center}.notion-card-meta em{font-style:normal;font-size:.51rem;font-weight:800;color:var(--muted);padding:4px 7px;border-radius:999px;background:var(--surface-2)}
.notion-hero-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.notion-hero-meta b{font-size:.54rem;color:var(--muted);padding:5px 8px;border-radius:999px;background:var(--surface-2)}
.notion-why-card{margin:0 0 18px;padding:18px 20px;border-radius:18px;background:linear-gradient(135deg,var(--wine),#51303b);color:#fff}.notion-why-card .eyebrow{color:#f2dfe5}.notion-why-card p{margin:7px 0 0;max-width:930px;line-height:1.65;font-size:.82rem}
.notion-practical-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:22px}.notion-practical-grid article{display:grid;grid-template-columns:auto 1fr;gap:10px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface-2)}.notion-practical-grid article>span{font-size:1.2rem}.notion-practical-grid small{display:block;font-size:.54rem;font-weight:900;color:var(--wine);letter-spacing:.05em}.notion-practical-grid p{margin:5px 0 0;font-size:.7rem;line-height:1.6;color:var(--text)}
.notion-neighbours,.notion-learning-links{margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.notion-neighbour-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.notion-neighbour-grid>a{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.notion-neighbour-grid>a>span{font-size:1.15rem}.notion-neighbour-grid small{display:block;font-size:.5rem;font-weight:850;color:var(--wine)}.notion-neighbour-grid strong{display:block;margin-top:2px;font-size:.72rem}.notion-neighbour-grid p{margin:4px 0 0;font-size:.59rem;line-height:1.45;color:var(--muted)}.notion-neighbour-grid b{color:var(--wine)}
.notion-side-v437{position:sticky;top:88px}.notion-source-card{display:grid;gap:5px;margin-top:18px;padding:14px;border-top:1px solid var(--line);background:var(--surface-2);border-radius:12px}.notion-source-card small{font-size:.5rem!important}.notion-source-card strong{font-size:.7rem}.notion-source-card a{display:block!important;padding:4px 0 0!important;border:0!important;color:var(--wine);font-size:.63rem;font-weight:800}
@media(max-width:900px){.notion-side-v437{position:static}.notion-practical-grid,.notion-neighbour-grid{grid-template-columns:1fr}.notion-filter-bar label{min-width:150px}}
@media(max-width:600px){.notion-library-kpis{grid-template-columns:1fr 1fr 1fr}.notion-library-kpis article{padding:11px}.notion-library-kpis strong{font-size:1.25rem}.notion-filter-bar{display:grid;grid-template-columns:1fr}.notion-filter-bar label{min-width:0}.notion-filter-bar .button{width:100%}.notion-why-card{padding:16px}.notion-practical-grid article{padding:13px}}


/* V4.3.8 — Collections éditoriales complètes */
.collections-filter-v438{display:grid;grid-template-columns:minmax(240px,1.6fr) minmax(170px,.55fr) auto auto;gap:10px;align-items:end;margin:18px 0 24px;padding:15px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.collections-filter-v438 label{display:grid;gap:5px}.collections-filter-v438 label>span{font-size:.58rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.collections-filter-v438 input,.collections-filter-v438 select{min-height:43px;padding:9px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);color:var(--text)}
.collection-grid-v438>a{min-height:205px}.collection-grid-v438>a small{color:var(--wine);font-weight:800}.collection-hero-v438{align-items:start}.collection-brief-v438{display:grid;grid-template-columns:1.6fr .8fr;gap:14px;margin:20px 0}.collection-brief-v438 article,.collection-brief-v438 aside{padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.collection-brief-v438 article small,.collection-brief-v438 aside small,.collection-finish-v438 small{font-size:.58rem;font-weight:900;letter-spacing:.07em;color:var(--wine)}.collection-brief-v438 h2{margin:6px 0 8px}.collection-brief-v438 p{margin:0;line-height:1.65}.collection-brief-v438 aside{display:grid;gap:14px}.collection-brief-v438 aside div+div{padding-top:14px;border-top:1px solid var(--line)}
.collection-outcomes-v438{margin:20px 0;padding:20px;border-radius:20px;background:linear-gradient(135deg,var(--wine),#4d3039);color:#fff}.collection-outcomes-v438 .eyebrow{color:#f4dce3}.collection-outcomes-v438 h2{margin:5px 0 13px}.collection-outcomes-v438>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.collection-outcomes-v438 p{display:flex;gap:8px;margin:0;padding:9px 11px;border-radius:12px;background:#ffffff12;line-height:1.45;font-size:.78rem}.collection-outcomes-v438 p span{font-weight:900}.collection-intro-v438{margin:18px 0;padding:18px 20px;border-left:4px solid var(--wine);background:var(--surface-2);border-radius:0 16px 16px 0}.collection-intro-v438 p{margin:0;line-height:1.7}
.collection-items-v438 a{align-items:start}.collection-items-v438 a em{display:inline-block;margin-top:7px;font-style:normal;font-size:.62rem;font-weight:800;color:var(--muted)}.collection-finish-v438{display:grid;grid-template-columns:auto 1fr;gap:15px;margin:26px 0;padding:22px;border:1px solid color-mix(in srgb,var(--wine) 25%,var(--line));border-radius:20px;background:color-mix(in srgb,var(--wine) 5%,var(--surface))}.collection-finish-v438>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--wine);color:#fff;font-weight:900}.collection-finish-v438 h2{margin:4px 0 7px}.collection-finish-v438 p{margin:0;line-height:1.65}.collection-source-v438{margin-top:18px;font-size:.75rem;color:var(--muted)}.collection-source-v438 a{color:inherit;text-decoration:underline}.collection-admin-list article p{margin:4px 0 0;font-size:.7rem;color:var(--muted);line-height:1.45}
@media(max-width:850px){.collections-filter-v438{grid-template-columns:1fr 1fr}.collection-brief-v438{grid-template-columns:1fr}.collection-outcomes-v438>div{grid-template-columns:1fr}}@media(max-width:560px){.collections-filter-v438{grid-template-columns:1fr}.collections-filter-v438 .button{width:100%}.collection-brief-v438 article,.collection-brief-v438 aside{padding:16px}.collection-outcomes-v438{padding:17px}.collection-finish-v438{padding:17px}}


/* V4.3.9 — dégustation complète */
.tasting-guided-fields-v439{margin-top:10px}.tasting-guided-fields-v439 label{font-size:.68rem}
.tasting-assessment-v439{margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#fff,#fffaf8)}.tasting-assessment-v439 header{margin-bottom:12px}.tasting-assessment-v439 h3{margin:.2rem 0 0}
.tasting-sensory-progress-v439{margin:20px 0;padding:20px;border:1px solid var(--line);border-radius:22px;background:#fff}.tasting-sensory-progress-v439>header{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px}.tasting-sensory-progress-v439 h2{margin:.2rem 0 0}.tasting-sensory-progress-v439>header>a{font-size:.72rem;font-weight:800;color:var(--wine)}
.tasting-sensory-kpis-v439{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.tasting-sensory-kpis-v439 article{padding:14px;border:1px solid var(--line);border-radius:16px;background:#fffaf8}.tasting-sensory-kpis-v439 span,.tasting-sensory-kpis-v439 small{display:block;color:var(--muted);font-size:.66rem}.tasting-sensory-kpis-v439 strong{display:block;margin:4px 0;font-size:1.45rem;color:var(--ink)}
.tasting-top-aromas-v439{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:12px}.tasting-top-aromas-v439>span{margin-right:5px;font-size:.68rem;color:var(--muted)}.tasting-top-aromas-v439 b,.tasting-compare-aromas-v439 b{padding:5px 8px;border-radius:999px;background:#fff0f3;border:1px solid #edd4d9;color:var(--wine);font-size:.65rem}.tasting-top-aromas-v439 b small{font-weight:500}
.tasting-detail-notes article>small{display:block;margin-top:8px;color:var(--muted);font-size:.68rem}.tasting-aroma-summary-v422 a{padding:5px 8px;border-radius:999px;background:#fff0f3;border:1px solid #edd4d9;color:var(--wine);font-size:.66rem;font-weight:700;text-decoration:none}
.tasting-assessment-summary-v439{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.tasting-assessment-summary-v439 span{display:flex;justify-content:space-between;gap:10px;padding:9px;border-radius:12px;background:#fffaf8;font-size:.7rem}.tasting-learning-note-v439{border-color:#e8d9bb!important;background:#fffbf0!important}
.tasting-compare-aromas-v439{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.tasting-compare-aromas-v439 article{padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff}.tasting-compare-aromas-v439 article>div{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
@media(max-width:760px){.tasting-sensory-progress-v439>header{align-items:start;flex-direction:column}.tasting-sensory-kpis-v439,.tasting-compare-aromas-v439{grid-template-columns:1fr}.tasting-assessment-summary-v439{grid-template-columns:1fr}}

/* Ampeloria V4.4.0 — Cave complète */
.cellar-v440 .cellar-attention-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 18px}.cellar-v440 .cellar-attention-grid>a{display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff9}.cellar-opening-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.cellar-maturity-badge{display:inline-flex;width:max-content;padding:4px 7px;border-radius:999px;background:#eee;font-size:.48rem;font-weight:900}.cellar-maturity-badge.good{background:#e5f2e8;color:#2f6b3c}.cellar-maturity-badge.warning{background:#fff0c7;color:#7b5b0d}.cellar-maturity-badge.danger{background:#f8dddd;color:#8b2e2e}.cellar-maturity-badge.cool{background:#e5edf8;color:#355b83}.cellar-toolbar{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(130px,1fr)) auto;gap:8px;align-items:end}.cellar-card-actions{display:grid;grid-template-columns:1fr 60px;gap:6px}.cellar-stock-actions{display:grid;gap:6px}@media(max-width:640px){.cellar-v440 .cellar-attention-grid,.cellar-opening-grid,.cellar-toolbar{grid-template-columns:1fr}}


/* Ampeloria V4.4.1 — Passeport / Atlas */
.passport-proof-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.passport-proof-grid article,.atlas-type-summary article{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid var(--border,#e6e0d7);border-radius:16px;background:var(--surface,#fff)}.passport-proof-grid article>span,.atlas-type-summary article>span{font-size:1.45rem}.passport-proof-grid strong,.atlas-type-summary strong{display:block;font-size:1.2rem}.passport-proof-grid small,.atlas-type-summary small{display:block;opacity:.72}.passport-world-bridge{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px;margin:22px 0;border-radius:20px;background:linear-gradient(135deg,rgba(114,84,53,.08),rgba(108,128,88,.08));border:1px solid var(--border,#e6e0d7)}.passport-world-bridge h2{margin:5px 0 4px}.passport-world-bridge p{margin:0;max-width:760px}.mastery-country-grid-v441 a{text-decoration:none;color:inherit}.atlas-country-types{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.atlas-country-types span{font-size:.76rem;padding:5px 8px;border-radius:999px;background:rgba(127,127,127,.08)}.atlas-country-detail{margin-top:24px}.atlas-country-detail>header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding:24px;border:1px solid var(--border,#e6e0d7);border-radius:22px;background:var(--surface,#fff)}.atlas-country-detail>header h2{font-size:2rem;margin:.25rem 0}.atlas-country-detail>header p{margin:0;opacity:.72}.atlas-country-detail>header a{font-size:.86rem;text-decoration:none}.atlas-country-score{text-align:center;min-width:110px}.atlas-country-score strong{display:block;font-size:2.2rem}.atlas-country-score small{opacity:.65}.atlas-type-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0 26px}.atlas-entity-section{margin:28px 0}.atlas-entity-section h3{display:flex;align-items:center;gap:8px;margin-bottom:12px}.atlas-entity-section h3 small{font-size:.75rem;opacity:.55}.atlas-entity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.atlas-entity-card{display:block;padding:15px;border:1px solid var(--border,#e6e0d7);border-radius:16px;background:var(--surface,#fff);text-decoration:none;color:inherit;position:relative}.atlas-entity-card>div:first-child{padding-right:48px}.atlas-entity-card strong{display:block}.atlas-entity-card small{opacity:.65}.atlas-entity-card>b{position:absolute;top:15px;right:15px}.atlas-entity-card .mastery-meter{margin:12px 0 8px}.atlas-entity-card footer{display:flex;gap:6px;min-height:20px}.atlas-entity-card footer small{font-size:.75rem}
@media(max-width:850px){.passport-proof-grid,.atlas-type-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.atlas-entity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.passport-world-bridge{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.passport-proof-grid,.atlas-type-summary,.atlas-entity-grid{grid-template-columns:1fr}.atlas-country-detail>header{padding:18px}.atlas-country-detail>header h2{font-size:1.6rem}.atlas-country-score{min-width:78px}.mastery-country-meta{gap:6px;flex-wrap:wrap}}

/* Ampeloria V4.4.2 — Apprentissage complet */
.learning-overview-v442{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 24px}.learning-overview-v442 article{padding:15px;border:1px solid var(--line);border-radius:16px;background:#fff}.learning-overview-v442 article.attention{background:#fff9ec;border-color:#ead7a3}.learning-overview-v442 small,.learning-overview-v442 span{display:block;color:var(--muted)}.learning-overview-v442 small{font-size:.62rem;font-weight:900;letter-spacing:.08em}.learning-overview-v442 strong{display:block;margin:5px 0 2px;font-size:1.35rem;color:var(--ink)}.learning-overview-v442 span{font-size:.7rem}.coach-zero-state-v442{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;margin:0 0 16px;border:1px solid #d9e4d4;border-radius:18px;background:#f7fbf5}.coach-zero-state-v442>span{font-size:1.7rem}.coach-zero-state-v442 small,.coach-zero-state-v442 strong{display:block}.coach-zero-state-v442 small{font-size:.62rem;font-weight:900;letter-spacing:.08em;color:var(--muted)}.coach-zero-state-v442 strong{margin:3px 0}.coach-zero-state-v442 p{margin:0;color:var(--muted);font-size:.76rem}.memory-summary-v442{grid-template-columns:repeat(4,minmax(0,1fr))}.exam-memory-note-v442{margin-top:9px!important;padding:9px 11px;border-radius:12px;background:rgba(112,133,92,.08);font-size:.72rem!important}
@media(max-width:760px){.learning-overview-v442,.memory-summary-v442{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:460px){.learning-overview-v442,.memory-summary-v442{grid-template-columns:1fr}}

/* Ampeloria V4.4.3 — gamification utile */
.gamification-note{margin:0 0 1.2rem;padding:.85rem 1rem;border:1px solid var(--border-color,#ddd);border-radius:14px;font-size:.92rem;opacity:.9}.gamification-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1.25rem 0}.gamification-kpis article,.gamification-panel,.gamification-principles article{padding:1.15rem;border:1px solid var(--border-color,#ddd);border-radius:18px;background:var(--surface,#fff)}.gamification-kpis small,.gamification-panel .eyebrow{display:block;font-size:.72rem;letter-spacing:.08em;opacity:.68}.gamification-kpis strong{display:block;font-size:1.35rem;margin:.35rem 0}.gamification-kpis span,.gamification-kpis a{font-size:.88rem}.gamification-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:1rem;margin:1rem 0}.gamification-panel header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.xp-breakdown{display:grid;gap:.55rem}.xp-breakdown>div{display:grid;grid-template-columns:1fr auto auto;gap:.7rem;align-items:center;padding:.6rem 0;border-bottom:1px solid var(--border-color,#eee)}.gamification-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem}.gamification-principles article>span{font-size:1.5rem}.gamification-principles h3{margin:.45rem 0}.gamification-principles p{margin:0;opacity:.8}@media(max-width:800px){.gamification-kpis,.gamification-principles,.gamification-layout{grid-template-columns:1fr 1fr}.gamification-layout{grid-template-columns:1fr}}@media(max-width:560px){.gamification-kpis,.gamification-principles{grid-template-columns:1fr}.xp-breakdown>div{grid-template-columns:1fr auto}.xp-breakdown small{grid-column:1/-1}}

/* Ampeloria V4.4.4 — Recherche / Explorer complet */
.search-alias-note-v444{display:flex;align-items:center;gap:10px;margin:12px 0;padding:11px 14px;border:1px solid var(--line);border-radius:14px;background:#fffaf3}.search-alias-note-v444>span{font-size:1.1rem}.search-alias-note-v444 p{margin:0;font-size:.76rem;color:var(--muted)}
.search-alternatives-v444{margin-top:22px}.search-alternatives-v444 header{margin-bottom:10px}.search-alternatives-v444 h2{margin:.2rem 0 0}.search-alternatives-v444>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.search-alternatives-v444 a{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:14px 15px;border:1px solid var(--line);border-radius:16px;background:var(--surface);text-decoration:none;color:inherit}.search-alternatives-v444 a>span{font-size:1.35rem}.search-alternatives-v444 small{display:block;font-size:.58rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.search-alternatives-v444 strong{display:block;margin-top:2px}.search-empty-v444{margin-bottom:10px}
.explore-country-v444,.explore-crossroads-v444{margin:28px 0}.explore-country-v444>header,.explore-crossroads-v444>header{margin-bottom:13px}.explore-country-v444 h2,.explore-crossroads-v444 h2{margin:.2rem 0 4px}.explore-country-v444 header p,.explore-crossroads-v444 header p{margin:0;color:var(--muted)}.explore-country-chips-v444{display:flex;flex-wrap:wrap;gap:8px}.explore-country-chips-v444 a{display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface);text-decoration:none;color:inherit}.explore-country-chips-v444 a span{font-size:.62rem;color:var(--muted)}
.explore-crossroads-v444>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.explore-crossroads-v444 a{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:inherit;text-decoration:none}.explore-crossroads-v444 a>span{grid-row:1/3;font-size:1.4rem}.explore-crossroads-v444 strong{font-size:.86rem}.explore-crossroads-v444 small{font-size:.66rem;color:var(--muted);line-height:1.35}.explore-page-v29 .explore-stats-v419{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:900px){.explore-crossroads-v444>div{grid-template-columns:repeat(2,minmax(0,1fr))}.explore-page-v29 .explore-stats-v419{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:620px){.search-alternatives-v444>div,.explore-crossroads-v444>div{grid-template-columns:1fr}.explore-page-v29 .explore-stats-v419{grid-template-columns:repeat(2,minmax(0,1fr))}.explore-country-chips-v444 a{width:100%;justify-content:space-between}}


/* V4.4.5 — Admin contenu complet */
.admin-header-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.admin-mini-kpis,.admin-quality-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:0 0 18px}.admin-mini-kpis article,.admin-quality-kpis article{padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:#fff9;display:grid;gap:3px}.admin-mini-kpis strong,.admin-quality-kpis strong{font-size:1.55rem}.admin-mini-kpis span,.admin-quality-kpis span{font-size:.72rem;color:var(--muted)}.admin-mini-kpis article.warning,.admin-quality-kpis article.warning{background:rgba(181,120,32,.08)}.admin-quality-kpis article.success{background:rgba(43,116,74,.08)}
.admin-content-filters{display:grid;grid-template-columns:minmax(240px,2fr) repeat(2,minmax(150px,1fr)) auto auto;gap:10px;align-items:end;margin:0 0 16px;padding:14px;border:1px solid var(--line);border-radius:18px;background:#fff9}.admin-content-filters label{display:grid;gap:6px}.admin-content-filters label>span{font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.admin-content-filters input,.admin-content-filters select{width:100%;min-height:42px;border:1px solid var(--line);border-radius:11px;background:#fff;padding:8px 10px;color:inherit}
.admin-quality-table tbody tr.has-quality-issue td{background:rgba(181,120,32,.025)}.admin-quality-badges{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.quality-badge{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;font-size:.61rem;font-weight:800;white-space:nowrap;background:rgba(71,75,78,.08);color:var(--muted)}.quality-badge.warning{background:rgba(181,120,32,.12);color:#76500e}.quality-badge.danger{background:rgba(166,54,54,.11);color:#8b2525}.quality-badge.success{background:rgba(43,116,74,.11);color:#23643e}.quality-badge.neutral{background:rgba(63,93,80,.07);color:#52655c}
.admin-quality-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,330px);gap:18px;align-items:start}.admin-quality-side{display:grid;gap:14px;position:sticky;top:90px}.admin-quality-summary-table td:first-child{min-width:190px}.quality-quick-links{display:grid;gap:7px;margin-top:12px}.quality-quick-links a{display:flex;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff8}.button.full{width:100%;justify-content:center;margin-top:12px}
@media(max-width:900px){.admin-content-filters{grid-template-columns:1fr 1fr}.admin-content-filters label:first-of-type{grid-column:1/-1}.admin-quality-layout{grid-template-columns:1fr}.admin-quality-side{position:static}}@media(max-width:580px){.admin-content-filters{grid-template-columns:1fr}.admin-content-filters label:first-of-type{grid-column:auto}.admin-content-filters .button{width:100%}.admin-header-actions{width:100%}.admin-header-actions .button{flex:1}.admin-quality-kpis{grid-template-columns:repeat(2,1fr)}}

/* V4.4.9 — internationalisation */
.header-locale-switcher{display:flex;align-items:center;margin-right:.25rem}.header-locale-switcher select{min-height:38px;border:1px solid var(--border,#ddd);border-radius:999px;background:var(--surface,#fff);color:inherit;padding:.35rem .7rem;font:inherit}.i18n-locale-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.i18n-locale-card{border:1px solid var(--border,#ddd);border-radius:16px;padding:1rem;background:var(--surface,#fff)}.i18n-locale-card progress{width:100%;height:10px}.i18n-status{display:inline-flex;padding:.18rem .55rem;border-radius:999px;font-size:.78rem;background:rgba(0,0,0,.06)}.i18n-status.live{background:rgba(48,130,80,.12)}@media(max-width:760px){.header-locale-switcher{display:none}}


/* Ampeloria — cartes de parcours en préparation */
.path-grid-v42 .path-card-building{
    position:relative;
    opacity:.9;
}
.path-grid-v42 .path-building-badge{
    display:inline-flex;
    align-items:center;
    gap:6px;
    width:max-content;
    margin-top:18px;
    padding:7px 10px;
    border:1px solid rgba(153,103,20,.18);
    border-radius:999px;
    background:#fff4d8;
    color:#76510d;
    font-size:.62rem;
    font-weight:900;
    letter-spacing:.035em;
    text-transform:uppercase;
}
.path-grid-v42 .path-card-building>small{
    display:block;
    margin-top:14px;
}
.path-grid-v42 .path-building-progress span{
    width:18%;
    opacity:.38;
}
.path-grid-v42 .path-building-button{
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:default;
    pointer-events:none;
    opacity:.62;
}
.path-grid-v42 .path-card-building:hover{
    transform:none;
}
@media (max-width:700px){
    .path-grid-v42 .path-building-badge{
        font-size:.58rem;
    }
}


/* Ampeloria — navigation pays > parcours */
.learn-path-section,.learn-country-section{margin-top:34px}
.learn-section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:0 0 18px}
.learn-section-heading h2,.country-detail-hero h2{margin:4px 0 0}
.learn-section-heading p,.country-detail-hero p{margin:8px 0 0;max-width:760px;color:var(--muted)}
.country-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.country-card{
    display:flex;flex-direction:column;min-height:260px;padding:24px;border:1px solid var(--line);
    border-radius:24px;background:var(--card);color:inherit;text-decoration:none;box-shadow:var(--shadow-soft);
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease
}
.country-card:hover{transform:translateY(-3px);border-color:rgba(130,90,45,.28);box-shadow:var(--shadow)}
.country-card-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}
.country-icon{font-size:2rem}
.country-count{padding:6px 9px;border-radius:999px;background:var(--surface-soft);font-size:.72rem;font-weight:800;color:var(--muted)}
.country-card small{font-weight:900;letter-spacing:.13em;color:var(--muted)}
.country-card h3{font-size:1.45rem;margin:7px 0 9px}
.country-card p{color:var(--muted);line-height:1.55;flex:1}
.country-card-meta{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.country-card-meta span{font-size:.72rem;padding:6px 9px;border-radius:999px;background:var(--surface-soft);font-weight:800}
.country-card>strong{margin-top:4px}
.country-detail{margin-top:28px}
.country-back{display:inline-flex;margin-bottom:18px;color:inherit;text-decoration:none;font-weight:800}
.country-detail-hero{display:flex;gap:20px;align-items:flex-start;padding:24px;border:1px solid var(--line);border-radius:24px;background:var(--card);margin-bottom:20px}
.country-detail-icon{font-size:2.6rem;line-height:1}
@media(max-width:760px){
    .country-grid{grid-template-columns:1fr}
    .country-card{min-height:230px;padding:20px}
    .country-detail-hero{padding:20px}
    .learn-section-heading{align-items:flex-start}
}


/* Ampeloria — structure Pays, cartes strictement identiques aux parcours */
.learn-path-section,.learn-country-section{margin-top:34px}
.learn-section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:0 0 18px}
.learn-section-heading h2,.country-detail-hero h2{margin:4px 0 0}
.learn-section-heading p,.country-detail-hero p{margin:8px 0 0;max-width:760px;color:var(--muted)}
.country-detail{margin-top:28px}
.country-back{display:inline-flex;margin-bottom:18px;color:inherit;text-decoration:none;font-weight:800}
.country-detail-hero{display:flex;gap:20px;align-items:flex-start;padding:24px;border:1px solid var(--line);border-radius:24px;background:var(--card);margin-bottom:20px}
.country-detail-icon{font-size:2.6rem;line-height:1}
.country-overview-group{margin:24px 0 38px}
.country-nested-heading{margin:24px 0 14px}
.country-nested-heading h3{margin:4px 0 0;font-size:1.25rem}
.country-nested-grid{margin-top:0}
@media(max-width:760px){
    .country-detail-hero{padding:20px}
    .learn-section-heading{align-items:flex-start}
    .country-overview-group{margin-bottom:30px}
}



/* Ampeloria V4.4.10 — Dashboard + Explorer polish */

/* ============================================================
   DASHBOARD — remettre de vraies cartes et supprimer les grands vides
   ============================================================ */
.dashboard-v413{
    width:min(1360px,calc(100% - 48px));
    margin:0 auto;
    padding:22px 0 64px;
}
.dashboard-v413 .dashboard-clean-hero{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:28px;
    padding:34px 36px;
    margin-bottom:20px;
    border:1px solid var(--line);
    border-radius:28px;
    background:
        radial-gradient(circle at 92% 18%,rgba(125,64,73,.09),transparent 30%),
        linear-gradient(135deg,#fffdfa,#faf2e8);
    box-shadow:var(--shadow-soft);
}
.dashboard-v413 .dashboard-clean-hero h1{
    margin:5px 0 8px;
    font-family:var(--serif);
    font-size:clamp(2.3rem,4.4vw,4.35rem);
    line-height:.98;
    letter-spacing:-.045em;
}
.dashboard-v413 .dashboard-clean-hero p{
    max-width:760px;
    margin:0;
    color:var(--muted);
    line-height:1.6;
}
.dashboard-v413 .dashboard-hero-actions{
    display:flex;
    gap:9px;
    flex-wrap:wrap;
    justify-content:flex-end;
}

.dashboard-v413 .dashboard-resume-card{
    margin:0 0 18px;
    padding:20px 22px;
    border:1px solid var(--line);
    border-radius:22px;
    background:var(--surface);
    box-shadow:var(--shadow-soft);
}

.dashboard-v413 .dashboard-clean-stats{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:12px;
    margin:0 0 26px;
}
.dashboard-v413 .dashboard-clean-stats article{
    min-width:0;
    padding:16px;
    border:1px solid var(--line);
    border-radius:18px;
    background:var(--surface);
    box-shadow:var(--shadow-soft);
}
.dashboard-v413 .dashboard-clean-stats strong{
    font-size:1.45rem;
}
.dashboard-v413 .dashboard-clean-stats small{
    font-size:.72rem;
}

.dashboard-v413 .beta-profile-strip,
.dashboard-v413 .beta-first-run{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:18px;
    align-items:center;
    padding:20px 22px;
    margin:0 0 24px;
    border:1px solid var(--line);
    border-radius:22px;
    background:var(--surface);
    box-shadow:var(--shadow-soft);
}
.dashboard-v413 .beta-profile-icon{
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    border-radius:15px;
    background:#f2e5d5;
    font-size:1.35rem;
}
.dashboard-v413 .beta-profile-copy small,
.dashboard-v413 .beta-first-run .eyebrow{
    display:block;
    color:var(--wine);
    font-size:.66rem;
    font-weight:900;
    letter-spacing:.1em;
}
.dashboard-v413 .beta-profile-copy strong{
    display:block;
    margin:3px 0;
}
.dashboard-v413 .beta-profile-copy p,
.dashboard-v413 .beta-first-run p{
    margin:4px 0 0;
    color:var(--muted);
    line-height:1.5;
}
.dashboard-v413 .beta-profile-actions,
.dashboard-v413 .beta-first-run-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}

.dashboard-v413 .dashboard-clean-section{
    margin-top:28px;
}
.dashboard-v413 .dashboard-clean-heading{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:20px;
    margin:0 0 14px;
}
.dashboard-v413 .dashboard-clean-heading h2{
    margin:4px 0 0;
    font-family:var(--serif);
    font-size:clamp(1.7rem,2.8vw,2.7rem);
    line-height:1.06;
}
.dashboard-v413 .dashboard-clean-heading>a{
    color:var(--wine);
    text-decoration:none;
    font-weight:850;
}

.dashboard-v413 .dashboard-focus-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}
.dashboard-v413 .dashboard-focus-card{
    min-width:0;
    min-height:190px;
    display:grid;
    grid-template-columns:50px minmax(0,1fr);
    grid-template-rows:1fr auto;
    gap:14px 15px;
    padding:22px;
    border:1px solid var(--line);
    border-radius:22px;
    background:var(--surface);
    color:inherit;
    text-decoration:none;
    box-shadow:var(--shadow-soft);
}
.dashboard-v413 .dashboard-focus-card.is-primary{
    background:
        radial-gradient(circle at 90% 10%,rgba(125,64,73,.08),transparent 32%),
        var(--surface);
    border-color:rgba(125,64,73,.22);
}
.dashboard-v413 .dashboard-focus-icon{
    display:grid;
    place-items:center;
    width:50px;
    height:50px;
    border-radius:16px;
    background:#f2e5d5;
    font-size:1.25rem;
}
.dashboard-v413 .dashboard-focus-card>div{
    min-width:0;
}
.dashboard-v413 .dashboard-focus-card small{
    display:block;
    margin-bottom:7px;
    color:var(--wine);
    font-size:.64rem;
    font-weight:900;
    letter-spacing:.08em;
}
.dashboard-v413 .dashboard-focus-card h3{
    margin:0 0 7px;
    font-family:var(--serif);
    font-size:1.25rem;
    line-height:1.15;
}
.dashboard-v413 .dashboard-focus-card p{
    margin:0;
    color:var(--muted);
    line-height:1.5;
}
.dashboard-v413 .dashboard-focus-card b{
    grid-column:2;
    align-self:end;
    color:var(--wine);
    font-size:.83rem;
}

.dashboard-v413 .dashboard-goal-layout{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}
.dashboard-v413 .dashboard-goal-card{
    padding:20px;
    border:1px solid var(--line);
    border-radius:20px;
    background:var(--surface);
    box-shadow:var(--shadow-soft);
}
.dashboard-v413 .dashboard-goal-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-bottom:13px;
}
.dashboard-v413 .dashboard-goal-top span{
    font-size:.72rem;
    font-weight:900;
    color:var(--wine);
}
.dashboard-v413 .dashboard-goal-top strong{
    font-family:var(--serif);
    font-size:1.45rem;
}
.dashboard-v413 .dashboard-goal-top strong small{
    font-family:var(--sans);
    color:var(--muted);
    font-size:.72rem;
}
.dashboard-v413 .dashboard-goal-card p{
    margin:10px 0 0;
    color:var(--muted);
    font-size:.76rem;
}

.dashboard-v413 .dashboard-life-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}
.dashboard-v413 .dashboard-life-card{
    min-width:0;
    min-height:245px;
    display:flex;
    flex-direction:column;
    padding:22px;
    border:1px solid var(--line);
    border-radius:22px;
    background:var(--surface);
    box-shadow:var(--shadow-soft);
}
.dashboard-v413 .dashboard-life-head{
    display:grid;
    grid-template-columns:42px minmax(0,1fr) auto;
    gap:11px;
    align-items:center;
    margin-bottom:16px;
}
.dashboard-v413 .dashboard-life-head>span{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:14px;
    background:#f2e5d5;
}
.dashboard-v413 .dashboard-life-head small{
    display:block;
    margin-bottom:3px;
    color:var(--wine);
    font-size:.61rem;
    font-weight:900;
    letter-spacing:.09em;
}
.dashboard-v413 .dashboard-life-head h3{
    margin:0;
    font-family:var(--serif);
    font-size:1.2rem;
}
.dashboard-v413 .dashboard-life-head>strong{
    font-family:var(--serif);
    font-size:1.45rem;
}
.dashboard-v413 .dashboard-life-card>p{
    color:var(--muted);
    line-height:1.52;
}
.dashboard-v413 .dashboard-life-card>a{
    margin-top:auto;
    color:var(--wine);
    text-decoration:none;
    font-weight:850;
}
.dashboard-v413 .dashboard-mastery-mini{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin:12px 0;
}
.dashboard-v413 .dashboard-mastery-mini span{
    padding:6px 9px;
    border:1px solid var(--line);
    border-radius:999px;
    background:#fffaf5;
    font-size:.68rem;
}
.dashboard-v413 .dashboard-life-links{
    display:flex;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
    margin-top:auto;
}
.dashboard-v413 .dashboard-life-links a{
    color:var(--wine);
    text-decoration:none;
    font-weight:850;
    font-size:.79rem;
}

.dashboard-v413 .dashboard-clean-paths{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}
.dashboard-v413 .dashboard-clean-paths>article{
    display:flex;
    flex-direction:column;
    min-height:210px;
    padding:18px;
    border:1px solid var(--line);
    border-radius:19px;
    background:var(--surface);
    box-shadow:var(--shadow-soft);
}
.dashboard-v413 .dashboard-clean-path-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
}
.dashboard-v413 .dashboard-clean-paths h3{
    margin:15px 0 auto;
    font-family:var(--serif);
    font-size:1.15rem;
}
.dashboard-v413 .dashboard-clean-paths footer{
    display:flex;
    justify-content:space-between;
    gap:10px;
    margin-top:12px;
}
.dashboard-v413 .dashboard-clean-paths footer a{
    color:var(--wine);
    font-weight:850;
    text-decoration:none;
}

.dashboard-v413 .dashboard-clean-tools{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}
.dashboard-v413 .dashboard-clean-tools>a{
    min-width:0;
    display:grid;
    grid-template-columns:42px 1fr;
    grid-template-rows:auto auto;
    gap:2px 11px;
    padding:17px;
    border:1px solid var(--line);
    border-radius:18px;
    background:var(--surface);
    color:inherit;
    text-decoration:none;
    box-shadow:var(--shadow-soft);
}
.dashboard-v413 .dashboard-clean-tools>a>span{
    grid-row:1/3;
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:13px;
    background:#f2e5d5;
}
.dashboard-v413 .dashboard-clean-tools strong{
    align-self:end;
}
.dashboard-v413 .dashboard-clean-tools small{
    color:var(--muted);
    line-height:1.35;
}

.dashboard-v413 .dashboard-clean-week{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-top:28px;
    padding:22px;
    border:1px solid var(--line);
    border-radius:20px;
    background:var(--surface);
}
.dashboard-v413 .dashboard-clean-week h2{
    margin:4px 0 0;
    font-size:1rem;
}
.dashboard-v413 .dashboard-clean-week>a{
    color:var(--wine);
    text-decoration:none;
    font-weight:850;
    white-space:nowrap;
}

/* ============================================================
   EXPLORER — hero moins vide, recherche intégrée et stats lisibles
   ============================================================ */
.explore-page-v419{
    width:min(1320px,calc(100% - 48px));
    margin:0 auto;
    padding-bottom:64px;
}
.explore-page-v419 .explore-hero-v419{
    min-height:0;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:end;
    gap:28px;
    padding:40px 46px 34px;
    margin:28px 0 14px;
    border:1px solid var(--line);
    border-radius:28px;
    background:
        radial-gradient(circle at 91% 72%,rgba(125,64,73,.07),transparent 24%),
        linear-gradient(135deg,#fffdfa,#faf2e8);
    box-shadow:var(--shadow-soft);
}
.explore-page-v419 .explore-hero-v419 h1{
    max-width:850px;
    margin:6px 0 12px;
    font-family:var(--serif);
    font-size:clamp(3rem,5.7vw,5.4rem);
    line-height:.92;
    letter-spacing:-.055em;
}
.explore-page-v419 .explore-hero-v419 p{
    max-width:780px;
    margin:0;
    color:var(--muted);
    line-height:1.62;
}
.explore-page-v419 .explore-hero-actions-v419{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    flex-wrap:wrap;
}
.explore-page-v419 .explore-search-v419{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:9px;
    width:min(760px,100%);
    margin:0 0 20px;
}
.explore-page-v419 .explore-search-v419>span{
    position:absolute;
    z-index:2;
    left:16px;
    top:50%;
    transform:translateY(-50%);
    display:grid;
    place-items:center;
    width:18px;
    height:18px;
    color:var(--muted);
    pointer-events:none;
}
.explore-page-v419 .explore-search-v419 input{
    width:100%;
    min-width:0;
    height:50px;
    padding:0 16px 0 44px;
    border:1px solid var(--line);
    border-radius:14px;
    background:var(--surface);
    color:var(--text);
    font:inherit;
    outline:none;
}
.explore-page-v419 .explore-search-v419 input:focus{
    border-color:rgba(125,64,73,.45);
    box-shadow:0 0 0 3px rgba(125,64,73,.08);
}
.explore-page-v419 .explore-search-v419 .button{
    min-height:50px;
    padding-inline:20px;
}

.explore-page-v419 .explore-world-banner-v432{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
    padding:22px 24px;
    margin:0 0 20px;
    border:1px solid var(--line);
    border-radius:20px;
    background:var(--surface);
}
.explore-page-v419 .explore-world-banner-v432 h2{
    margin:4px 0 7px;
    font-family:var(--serif);
    font-size:1.45rem;
}
.explore-page-v419 .explore-world-banner-v432 p{
    margin:0;
    color:var(--muted);
    line-height:1.5;
}

.explore-page-v419 .explore-stats-v419{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:9px;
    margin:0 0 30px;
}
.explore-page-v419 .explore-stats-v419>a{
    min-width:0;
    display:flex;
    align-items:baseline;
    gap:6px;
    padding:12px 14px;
    border:1px solid var(--line);
    border-radius:14px;
    background:var(--surface);
    color:inherit;
    text-decoration:none;
}
.explore-page-v419 .explore-stats-v419 strong{
    font-family:var(--serif);
    font-size:1.25rem;
    line-height:1;
}
.explore-page-v419 .explore-stats-v419 span{
    color:var(--muted);
    font-size:.72rem;
}

.explore-page-v419 .explore-country-v444,
.explore-page-v419 .explore-crossroads-v444,
.explore-page-v419 .explore-section-v29{
    margin-top:34px;
}
.explore-page-v419 .explore-country-v444>header,
.explore-page-v419 .explore-crossroads-v444>header,
.explore-page-v419 .explore-section-v29>header{
    margin-bottom:14px;
}

/* ============================================================
   Responsive
   ============================================================ */
@media(max-width:1050px){
    .dashboard-v413 .dashboard-clean-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
    .dashboard-v413 .dashboard-clean-paths{grid-template-columns:repeat(2,minmax(0,1fr))}
    .explore-page-v419 .explore-stats-v419{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:820px){
    .dashboard-v413,
    .explore-page-v419{
        width:min(100% - 28px,1360px);
    }
    .dashboard-v413 .dashboard-clean-hero,
    .explore-page-v419 .explore-hero-v419{
        grid-template-columns:1fr;
        display:grid;
        padding:28px 24px;
    }
    .dashboard-v413 .dashboard-clean-hero{
        align-items:start;
    }
    .dashboard-v413 .dashboard-hero-actions,
    .explore-page-v419 .explore-hero-actions-v419{
        justify-content:flex-start;
    }
    .dashboard-v413 .beta-profile-strip,
    .dashboard-v413 .beta-first-run{
        grid-template-columns:auto 1fr;
    }
    .dashboard-v413 .beta-profile-actions,
    .dashboard-v413 .beta-first-run-actions{
        grid-column:1/-1;
    }
    .dashboard-v413 .dashboard-focus-grid,
    .dashboard-v413 .dashboard-life-grid{
        grid-template-columns:1fr;
    }
    .dashboard-v413 .dashboard-goal-layout{
        grid-template-columns:1fr;
    }
    .dashboard-v413 .dashboard-clean-tools{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .explore-page-v419 .explore-world-banner-v432{
        align-items:flex-start;
        flex-direction:column;
    }
}

@media(max-width:560px){
    .dashboard-v413,
    .explore-page-v419{
        width:calc(100% - 20px);
    }
    .dashboard-v413 .dashboard-clean-hero,
    .explore-page-v419 .explore-hero-v419{
        padding:22px 18px;
        border-radius:22px;
    }
    .dashboard-v413 .dashboard-clean-stats{
        grid-template-columns:1fr 1fr;
    }
    .dashboard-v413 .dashboard-clean-heading{
        align-items:flex-start;
        flex-direction:column;
        gap:8px;
    }
    .dashboard-v413 .dashboard-clean-paths,
    .dashboard-v413 .dashboard-clean-tools{
        grid-template-columns:1fr;
    }
    .dashboard-v413 .dashboard-clean-week{
        align-items:flex-start;
        flex-direction:column;
    }
    .explore-page-v419 .explore-search-v419{
        grid-template-columns:1fr;
    }
    .explore-page-v419 .explore-search-v419 .button{
        width:100%;
    }
    .explore-page-v419 .explore-search-v419>span{
        top:25px;
    }
    .explore-page-v419 .explore-stats-v419{
        grid-template-columns:1fr 1fr;
    }
}



/* Ampeloria V4.4.11 — Header + Grapes + Wine refinement */

/* ============================================================
   HEADER — petit desktop / laptop : éviter le retour à la ligne
   ============================================================ */
@media (min-width:821px) and (max-width:1180px){
    .ampeloria-v43 .site-header-v42{
        width:calc(100% - 24px)!important;
        max-width:none!important;
        margin:12px auto 0!important;
        box-sizing:border-box;
        grid-template-columns:auto minmax(0,1fr)!important;
        grid-template-rows:auto auto;
        column-gap:18px;
        row-gap:8px;
        padding:10px 14px 11px!important;
    }

    .ampeloria-v43 .site-header-v42 .brand{
        grid-column:1;
        grid-row:1;
        align-self:center;
        min-width:0;
    }

    .ampeloria-v43 .site-header-v42 .main-nav-v29{
        grid-column:2;
        grid-row:1;
        width:100%;
        justify-self:center;
        justify-content:center!important;
        gap:6px;
        min-width:0;
    }

    .ampeloria-v43 .site-header-v42 .main-nav-v29>a,
    .ampeloria-v43 .site-header-v42 .header-menu>summary{
        min-height:40px;
        padding-inline:11px;
        text-align:center;
        justify-content:center!important;
        white-space:nowrap;
    }

    .ampeloria-v43 .site-header-v42 .header-menu{
        display:flex;
        justify-content:center;
        align-items:center;
    }

    .ampeloria-v43 .site-header-v42 .header-menu>summary{
        width:100%;
        gap:5px;
    }

    .ampeloria-v43 .site-header-v42 .header-actions-v29{
        grid-column:1 / -1;
        grid-row:2;
        justify-self:center!important;
        justify-content:center!important;
        width:max-content;
        max-width:100%;
        margin:0 auto;
        flex-wrap:wrap;
    }

    .ampeloria-v43 .site-header-v42 .header-menu-panel{
        left:50%!important;
        right:auto!important;
        transform:translateX(-50%)!important;
    }
}

/* ============================================================
   GRAPES — cépages plus propres et mieux cadrés
   ============================================================ */
.page-grapes .reference-page-v419{
    width:min(1320px,calc(100% - 48px));
    margin:0 auto;
    padding:26px 0 64px;
}
.page-grapes .reference-page-v419 .page-hero.compact{
    padding:38px 38px 34px;
    margin:28px 0 16px;
    border:1px solid var(--line);
    border-radius:28px;
    background:
        radial-gradient(circle at 90% 82%,rgba(125,64,73,.07),transparent 24%),
        linear-gradient(135deg,#fffdfa,#faf2e8);
    box-shadow:var(--shadow-soft);
}
.page-grapes .reference-page-v419 .page-hero.compact h1{
    max-width:820px;
    margin:8px 0 12px;
    font-family:var(--serif);
    font-size:clamp(2.55rem,5vw,4.6rem);
    line-height:.95;
    letter-spacing:-.045em;
}
.page-grapes .reference-page-v419 .page-hero.compact p{
    max-width:760px;
    margin:0;
    color:var(--muted);
    line-height:1.62;
}

.page-grapes .reference-filter-v419{
    display:grid;
    grid-template-columns:minmax(0,1fr) 180px auto auto;
    gap:10px;
    align-items:center;
    margin:0 0 14px;
}
.page-grapes .reference-filter-v419 input,
.page-grapes .reference-filter-v419 select{
    min-width:0;
    min-height:48px;
    padding:0 14px;
    border:1px solid var(--line);
    border-radius:14px;
    background:var(--surface);
    font:inherit;
}
.page-grapes .reference-filter-v419 .button{
    min-height:48px;
    padding-inline:18px;
}
.page-grapes .reference-result-count-v419{
    margin:0 0 12px;
    color:var(--text);
    font-size:1.25rem;
    font-weight:900;
}
.page-grapes .reference-grid-v419{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
}
.page-grapes .grape-card{
    min-height:260px;
    padding:24px 24px 54px;
    border-radius:24px!important;
}
.page-grapes .reference-card-top-v419{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:18px;
}
.page-grapes .reference-card-top-v419 small{
    color:var(--text);
    font-size:.82rem;
    font-weight:700;
    letter-spacing:0;
}
.page-grapes .grape-dot{
    position:static;
    flex:0 0 12px;
    width:12px;
    height:12px;
}
.page-grapes .grape-card h2{
    margin:0 0 18px;
    font-size:1.25rem;
    line-height:1.15;
}
.page-grapes .grape-card dl{
    gap:8px;
    margin:0 0 16px;
}
.page-grapes .grape-card dl>div{
    padding-bottom:0;
    font-size:.8rem;
}
.page-grapes .grape-card p{
    max-width:94%;
    margin:0;
    line-height:1.58;
}
.page-grapes .reference-link-v419{
    left:24px;
    bottom:21px;
}

/* ============================================================
   WINE — top line plus lisible et page mieux équilibrée
   ============================================================ */
.page-wine .premium-wine-page{
    width:min(1360px,calc(100% - 48px));
    margin:0 auto;
    padding:26px 0 68px;
}
.page-wine .knowledge-breadcrumb.guided{
    margin:8px 0 14px;
}
.page-wine .premium-knowledge-topline{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px 12px;
    margin:0 0 14px;
    flex-wrap:wrap;
}
.page-wine .premium-knowledge-topline .knowledge-share-button{
    order:1;
}
.page-wine .premium-knowledge-topline span{
    order:2;
    padding:7px 10px;
    border-radius:999px;
    background:#e9f4ec;
    color:#34704a;
    font-size:.66rem;
    font-weight:850;
}
.page-wine .premium-knowledge-topline a{
    order:3;
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:8px 11px;
    border:1px solid var(--line);
    border-radius:999px;
    background:var(--surface);
    color:var(--wine);
    text-decoration:none;
    font-size:.72rem;
    font-weight:850;
}
.page-wine .wine-detail-hero.premium{
    grid-template-columns:130px minmax(0,1fr) auto;
    gap:28px;
    align-items:center;
    padding:34px;
    border-radius:30px;
}
.page-wine .wine-detail-bottle{
    display:flex;
    align-items:center;
    justify-content:center;
}
.page-wine .wine-detail-bottle span{
    width:64px;
    height:220px;
}
.page-wine .wine-detail-hero.premium h1{
    margin:.25rem 0 .45rem;
    font-family:var(--serif);
    font-size:clamp(2.8rem,5vw,4.9rem);
    line-height:.94;
    letter-spacing:-.04em;
}
.page-wine .wine-producer{
    margin:0 0 14px;
    color:#75665d;
    font-size:1rem;
    font-weight:800;
}
.page-wine .wine-detail-hero.premium > div:last-child > p:last-child{
    max-width:760px;
    font-size:1rem;
    line-height:1.62;
}
.page-wine .guided-why-card{
    margin:14px 0 18px;
    padding:14px 16px;
    border-radius:16px;
    background:#fff8f0;
}
.page-wine .guided-why-card p{
    margin:.45rem 0 0;
    font-size:.82rem;
    line-height:1.58;
}
.page-wine .wine-facts.premium-facts{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin-bottom:18px;
}
.page-wine .wine-facts.premium-facts article{
    padding:16px;
    border-radius:16px;
}
.page-wine .wine-facts.premium-facts span{
    font-size:.68rem;
    color:#7d6f67;
}
.page-wine .wine-facts.premium-facts strong{
    font-size:.92rem;
    line-height:1.45;
}
.page-wine .premium-wine-layout{
    grid-template-columns:minmax(0,1fr) 330px;
    gap:18px;
}
.page-wine .premium-wine-side{
    position:sticky;
    top:104px;
    align-self:start;
}

@media (max-width:980px){
    .page-grapes .reference-filter-v419{
        grid-template-columns:minmax(0,1fr) 180px auto;
    }
    .page-grapes .reference-filter-v419 a.button{
        grid-column:1/-1;
        width:max-content;
    }
    .page-wine .wine-facts.premium-facts{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

@media (max-width:760px){
    .page-grapes .reference-page-v419,
    .page-wine .premium-wine-page{
        width:calc(100% - 24px);
    }
    .page-grapes .reference-page-v419 .page-hero.compact,
    .page-wine .wine-detail-hero.premium{
        padding:24px 20px;
        border-radius:24px;
    }
    .page-grapes .reference-page-v419 .page-hero.compact h1,
    .page-wine .wine-detail-hero.premium h1{
        font-size:clamp(2.2rem,8vw,3.4rem);
    }
    .page-grapes .reference-filter-v419{
        grid-template-columns:1fr;
    }
    .page-grapes .reference-grid-v419{
        grid-template-columns:1fr;
    }
    .page-wine .premium-knowledge-topline{
        justify-content:flex-start;
    }
    .page-wine .wine-detail-hero.premium{
        grid-template-columns:1fr;
        gap:18px;
    }
    .page-wine .wine-detail-bottle{
        justify-content:flex-start;
    }
    .page-wine .wine-detail-bottle span{
        width:58px;
        height:185px;
    }
    .page-wine .wine-facts.premium-facts{
        grid-template-columns:1fr 1fr;
    }
}

@media (max-width:480px){
    .page-grapes .reference-page-v419,
    .page-wine .premium-wine-page{
        width:calc(100% - 18px);
    }
    .page-grapes .reference-page-v419 .page-hero.compact,
    .page-wine .wine-detail-hero.premium{
        padding:20px 16px;
        border-radius:22px;
    }
    .page-grapes .reference-result-count-v419{
        font-size:1.05rem;
    }
    .page-wine .wine-facts.premium-facts{
        grid-template-columns:1fr;
    }
}


/* Ampeloria V4.4.12 — Header consolidation (desktop medium) */

/* ============================================================
   HEADER — consolidation desktop intermédiaire / petits laptops
   Objectif : éviter les retours à la ligne dans la nav et garder
   un rendu propre sur dashboard / index / mastery / discover / knowledge.
   ============================================================ */
@media (min-width:821px) and (max-width:1400px){
    .ampeloria-v43 .site-header-v42{
        width:calc(100% - 22px)!important;
        max-width:1480px!important;
        margin:10px auto 0!important;
        box-sizing:border-box;
        display:grid;
        grid-template-columns:auto minmax(0,1fr)!important;
        grid-template-rows:auto auto;
        align-items:center;
        column-gap:16px;
        row-gap:8px;
        padding:10px 14px 12px!important;
    }

    .ampeloria-v43 .site-header-v42 .brand{
        grid-column:1;
        grid-row:1;
        min-width:0;
        align-self:center;
    }

    .ampeloria-v43 .site-header-v42 .brand > span:nth-child(2),
    .ampeloria-v43 .site-header-v42 .brand strong,
    .ampeloria-v43 .site-header-v42 .brand small,
    .ampeloria-v43 .site-header-v42 .site-beta-badge{
        white-space:nowrap;
    }

    .ampeloria-v43 .site-header-v42 .main-nav-v29{
        grid-column:2;
        grid-row:1;
        width:100%;
        min-width:0;
        display:flex;
        align-items:center;
        justify-content:center!important;
        flex-wrap:nowrap;
        gap:4px;
    }

    .ampeloria-v43 .site-header-v42 .main-nav-v29>a,
    .ampeloria-v43 .site-header-v42 .header-menu>summary{
        min-height:40px;
        padding:8px 10px;
        white-space:nowrap;
        text-align:center;
        justify-content:center!important;
        font-size:.75rem;
        line-height:1.1;
        letter-spacing:0;
    }

    .ampeloria-v43 .site-header-v42 .header-menu{
        display:flex;
        align-items:center;
        justify-content:center;
        min-width:0;
    }

    .ampeloria-v43 .site-header-v42 .header-menu>summary{
        gap:4px;
    }

    .ampeloria-v43 .site-header-v42 .header-actions-v29{
        grid-column:1 / -1;
        grid-row:2;
        display:flex;
        align-items:center;
        justify-content:center!important;
        width:max-content;
        max-width:100%;
        margin:0 auto;
        gap:8px;
        flex-wrap:wrap;
    }

    .ampeloria-v43 .site-header-v42 .account-menu>summary{
        min-height:40px;
    }

    .ampeloria-v43 .site-header-v42 .account-label{
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
        max-width:118px;
        font-size:.72rem;
    }

    .ampeloria-v43 .site-header-v42 .header-menu-panel{
        left:50%!important;
        right:auto!important;
        transform:translateX(-50%)!important;
    }
}

@media (min-width:821px) and (max-width:1280px){
    .ampeloria-v43 .site-header-v42 .brand small{
        display:none;
    }

    .ampeloria-v43 .site-header-v42 .main-nav-v29>a,
    .ampeloria-v43 .site-header-v42 .header-menu>summary{
        padding-inline:9px;
        font-size:.72rem;
    }

    .ampeloria-v43 .site-header-v42 .account-label{
        display:none;
    }
}

@media (min-width:821px) and (max-width:1040px){
    .ampeloria-v43 .site-header-v42 .site-beta-badge{
        display:none;
    }

    .ampeloria-v43 .site-header-v42 .brand{
        gap:9px;
    }

    .ampeloria-v43 .site-header-v42 .main-nav-v29>a,
    .ampeloria-v43 .site-header-v42 .header-menu>summary{
        padding-inline:8px;
        font-size:.7rem;
    }
}


/* =========================================================
   V4.4.13 — Auth connexion + reprise de leçon
   ========================================================= */
.auth-card .auth-login-link{
    margin:2px 0 -2px;
    text-align:center;
    color:#786d67;
    font-size:.74rem;
}
.auth-card .auth-login-link a{
    color:var(--wine);
    font-weight:900;
    text-decoration:none;
}
.auth-card .auth-login-link a:hover{
    text-decoration:underline;
    text-underline-offset:3px;
}

/* Le sélecteur est volontairement plus spécifique que les anciens thèmes V42/V43. */
.ampeloria-v43 .dashboard-v42.dashboard-v413 .dashboard-resume-card{
    border:1px solid rgba(111,33,59,.16);
    background:
        radial-gradient(circle at 88% 5%,rgba(224,190,137,.22),transparent 26%),
        linear-gradient(135deg,#7b2947 0%,#69213b 52%,#54182d 100%);
    box-shadow:0 22px 48px rgba(83,25,43,.18);
    color:#fffaf6;
}
.ampeloria-v43 .dashboard-v42.dashboard-v413 .dashboard-resume-icon{
    background:rgba(255,248,241,.14);
    color:#fffaf6;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
}
.ampeloria-v43 .dashboard-v42.dashboard-v413 .dashboard-resume-copy small{
    color:#f3d89e;
}
.ampeloria-v43 .dashboard-v42.dashboard-v413 .dashboard-resume-copy h2{
    color:#fffaf6;
    text-shadow:0 1px 0 rgba(42,12,23,.16);
}
.ampeloria-v43 .dashboard-v42.dashboard-v413 .dashboard-resume-copy p{
    color:rgba(255,250,246,.82);
}
.ampeloria-v43 .dashboard-v42.dashboard-v413 .dashboard-resume-card .button.primary{
    border:1px solid rgba(255,255,255,.62);
    background:#fff8f1;
    color:#6f213b;
    box-shadow:0 8px 22px rgba(54,14,29,.12);
}
.ampeloria-v43 .dashboard-v42.dashboard-v413 .dashboard-resume-card .button.primary:hover{
    background:#fff;
    color:#58172e;
    transform:translateY(-1px);
}

@media(max-width:520px){
    .auth-card .auth-login-link{font-size:.78rem}
    .ampeloria-v43 .dashboard-v42.dashboard-v413 .dashboard-resume-card{
        padding:22px 20px;
    }
    .ampeloria-v43 .dashboard-v42.dashboard-v413 .dashboard-resume-copy h2{
        font-size:1.82rem;
        line-height:1.07;
    }
}

/* === Ampeloria · Leads partenaires sélectifs V1 === */
.amp-lead-card{margin:28px 0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;padding:22px 24px;border:1px solid rgba(104,31,54,.14);border-radius:24px;background:linear-gradient(135deg,#fffaf7,#fff);box-shadow:0 16px 42px rgba(53,31,29,.06)}
.amp-lead-card-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#f4e8df;font-size:1.55rem}.amp-lead-card-copy h2{margin:2px 0 4px;font-size:1.16rem}.amp-lead-card-copy>strong{display:block;margin-bottom:6px;color:#765c53;font-size:.82rem}.amp-lead-card-copy p{margin:0 0 5px;color:#695955;line-height:1.55}.amp-lead-card-copy small{color:#8b7d78;font-size:.68rem}
.amp-lead-page{max-width:1080px}.amp-lead-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px;align-items:start}.amp-lead-form-card,.amp-lead-side section,.amp-lead-success,.amp-lead-admin-card,.amp-lead-admin-item{border:1px solid rgba(104,31,54,.12);border-radius:22px;background:#fff;box-shadow:0 14px 38px rgba(53,31,29,.055)}.amp-lead-form-card{padding:24px}.amp-lead-form{display:grid;gap:14px}.amp-lead-form label,.amp-lead-admin-form label{display:grid;gap:7px;font-size:.76rem;font-weight:800;color:#574847}.amp-lead-form input,.amp-lead-form textarea,.amp-lead-admin-form input,.amp-lead-admin-form textarea,.amp-lead-admin-form select,.amp-lead-admin-item select,.amp-lead-transmission-form input,.amp-lead-transmission-form select{width:100%;padding:11px 12px;border:1px solid rgba(104,31,54,.16);border-radius:12px;background:#fff;color:#3f3333;font:inherit}.amp-lead-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.amp-lead-consent{grid-template-columns:auto 1fr!important;align-items:start;font-weight:500!important;line-height:1.5}.amp-lead-consent input{width:auto;margin-top:3px}.amp-lead-honeypot{position:absolute!important;left:-9999px!important}.amp-lead-footnote{margin:0;color:#8b7d78;font-size:.7rem}.amp-lead-errors{padding:13px 15px;margin-bottom:14px;border-radius:14px;background:#fff1f1;color:#8b2635}.amp-lead-errors ul{margin:6px 0 0;padding-left:18px}.amp-lead-side{display:grid;gap:12px}.amp-lead-side section{display:flex;gap:12px;padding:18px}.amp-lead-side section>span{font-size:1.4rem}.amp-lead-side p{margin:4px 0 0;color:#746562;font-size:.78rem;line-height:1.5}.amp-lead-success{display:flex;gap:16px;padding:25px}.amp-lead-success>span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#edf7ef;color:#2f7b44;font-weight:900}
.amp-lead-admin-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.amp-lead-kpis{margin:18px 0}.amp-lead-admin-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:18px}.amp-lead-admin-card{padding:20px}.amp-lead-admin-form{display:grid;gap:12px}.amp-lead-toggle{grid-template-columns:auto 1fr!important;align-items:center}.amp-lead-toggle input{width:auto}.amp-lead-campaign-list{display:grid;gap:9px}.amp-lead-campaign-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:11px;border-radius:14px;background:#fbf8f6}.amp-lead-campaign-list small{display:block;margin-top:3px;color:#8b7d78}.amp-lead-state{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#f1ece9;font-size:.62rem;font-weight:900;letter-spacing:.04em}.amp-lead-state.on{background:#e9f5ec;color:#2f7b44}.amp-lead-state.off{background:#f3eeee;color:#8c6f6f}.amp-lead-admin-list{display:grid;gap:13px}.amp-lead-admin-item{padding:18px}.amp-lead-admin-item header{display:flex;justify-content:space-between;gap:14px;align-items:start}.amp-lead-admin-item header>div{display:grid;gap:4px}.amp-lead-admin-item header small{color:#8b7d78}.amp-lead-contact{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.amp-lead-contact span{padding:6px 9px;border-radius:10px;background:#f7f3f1;font-size:.72rem}.amp-lead-admin-item-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:start;margin-top:13px}.amp-lead-admin-item-actions>form{display:flex;gap:8px}.amp-lead-admin-item details{position:relative}.amp-lead-admin-item details summary{cursor:pointer;list-style:none}.amp-lead-transmission-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;padding:12px;border-radius:14px;background:#fbf8f6;min-width:min(620px,80vw)}
@media(max-width:820px){.amp-lead-card{grid-template-columns:auto 1fr}.amp-lead-card>a{grid-column:1/-1;width:100%;justify-content:center}.amp-lead-layout,.amp-lead-admin-grid{grid-template-columns:1fr}.amp-lead-two{grid-template-columns:1fr}.amp-lead-transmission-form{grid-template-columns:1fr;min-width:min(88vw,520px)}}
@media(max-width:560px){.amp-lead-card{grid-template-columns:1fr;padding:18px}.amp-lead-card-icon{width:48px;height:48px}.amp-lead-form-card,.amp-lead-admin-card,.amp-lead-admin-item{padding:16px}.amp-lead-campaign-list>div{grid-template-columns:1fr auto}.amp-lead-campaign-list>div form{grid-column:2}.amp-lead-admin-item header{display:grid}.amp-lead-admin-item-actions>form{display:grid;width:100%}}


/* HOTFIX dashboard — toute la carte de parcours est cliquable */
.dashboard-clean-paths>.dashboard-clean-path-card{position:relative;cursor:pointer}
.dashboard-clean-path-hitbox{position:absolute;inset:0;z-index:3;border-radius:inherit;text-decoration:none}
.dashboard-clean-path-hitbox:focus-visible{outline:3px solid rgba(111,33,59,.42);outline-offset:3px}
.dashboard-clean-paths>.dashboard-clean-path-card:hover{transform:translateY(-2px);border-color:rgba(104,31,54,.2);box-shadow:0 12px 28px rgba(55,32,29,.07)}
.dashboard-clean-path-cta{color:var(--wine);font-weight:850;text-decoration:none}

/* =========================================================
   HOTFIX V4.4.14 — Feuille de route PLUS sur course.php
   La structure HTML existait mais n'avait aucun style associé.
   ========================================================= */
.ampeloria-v43 .course-v42 .premium-full-path-overview{
    position:relative;
    margin:0 0 30px;
    padding:28px;
    overflow:hidden;
    border:1px solid rgba(104,31,54,.14);
    border-radius:26px;
    background:
        radial-gradient(circle at 96% 0%,rgba(181,132,75,.13),transparent 31%),
        linear-gradient(145deg,rgba(255,252,249,.98),rgba(249,242,236,.95));
    box-shadow:0 18px 42px rgba(61,36,31,.055);
}
.ampeloria-v43 .course-v42 .premium-full-path-overview::before{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:4px;
    background:linear-gradient(180deg,var(--wine),#b9854d);
}
.ampeloria-v43 .course-v42 .premium-full-path-overview>header{
    position:relative;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
    margin-bottom:22px;
}
.ampeloria-v43 .course-v42 .premium-full-path-overview>header>div{
    min-width:0;
    max-width:760px;
}
.ampeloria-v43 .course-v42 .premium-full-path-overview>header h2{
    margin:.45rem 0 .7rem;
    font-family:var(--serif,Georgia,serif);
    font-size:clamp(1.65rem,2.7vw,2.35rem);
    line-height:1.08;
    letter-spacing:-.025em;
    color:#342824;
}
.ampeloria-v43 .course-v42 .premium-full-path-overview>header p{
    margin:0;
    max-width:690px;
    color:var(--muted);
    line-height:1.6;
}
.ampeloria-v43 .course-v42 .premium-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    min-width:58px;
    padding:8px 12px;
    border:1px solid rgba(104,31,54,.14);
    border-radius:999px;
    background:#fff8f2;
    color:var(--wine);
    font-size:.67rem;
    font-weight:900;
    letter-spacing:.09em;
    box-shadow:0 7px 18px rgba(83,25,43,.055);
}
.ampeloria-v43 .course-v42 .premium-full-path-kpis{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    margin-bottom:18px;
}
.ampeloria-v43 .course-v42 .premium-full-path-kpis article{
    display:grid;
    gap:3px;
    min-width:0;
    padding:16px 18px;
    border:1px solid rgba(104,31,54,.1);
    border-radius:17px;
    background:rgba(255,255,255,.72);
}
.ampeloria-v43 .course-v42 .premium-full-path-kpis strong{
    color:#382a27;
    font-family:var(--serif,Georgia,serif);
    font-size:1.35rem;
    line-height:1.1;
}
.ampeloria-v43 .course-v42 .premium-full-path-kpis span{
    color:var(--muted);
    font-size:.72rem;
}
.ampeloria-v43 .course-v42 .premium-full-path-modules{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:11px;
}
.ampeloria-v43 .course-v42 .premium-full-path-modules>a{
    display:grid;
    grid-template-rows:1fr auto;
    gap:13px;
    min-width:0;
    min-height:128px;
    padding:16px;
    border:1px solid rgba(104,31,54,.095);
    border-radius:17px;
    background:rgba(255,255,255,.66);
    color:inherit;
    text-decoration:none;
    transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.ampeloria-v43 .course-v42 .premium-full-path-modules>a:hover{
    transform:translateY(-2px);
    border-color:rgba(104,31,54,.23);
    background:#fff;
    box-shadow:0 11px 24px rgba(64,34,31,.07);
}
.ampeloria-v43 .course-v42 .premium-full-path-modules>a:focus-visible{
    outline:3px solid rgba(104,31,54,.28);
    outline-offset:2px;
}
.ampeloria-v43 .course-v42 .premium-full-path-modules>a>span{
    display:grid;
    align-content:start;
    gap:4px;
    min-width:0;
}
.ampeloria-v43 .course-v42 .premium-full-path-modules b{
    color:var(--wine);
    font-size:.63rem;
    line-height:1.1;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.ampeloria-v43 .course-v42 .premium-full-path-modules strong{
    min-width:0;
    color:#382a27;
    font-size:.87rem;
    line-height:1.3;
    overflow-wrap:anywhere;
}
.ampeloria-v43 .course-v42 .premium-full-path-modules small{
    color:var(--muted);
    font-size:.66rem;
    line-height:1.4;
}
.ampeloria-v43 .course-v42 .premium-full-path-modules>a>i{
    display:block;
    height:6px;
    overflow:hidden;
    border-radius:999px;
    background:#eadfd6;
}
.ampeloria-v43 .course-v42 .premium-full-path-modules>a>i>em{
    display:block;
    height:100%;
    max-width:100%;
    border-radius:inherit;
    background:linear-gradient(90deg,var(--wine),#bd8b4e);
}

@media(max-width:980px){
    .ampeloria-v43 .course-v42 .premium-full-path-modules{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:700px){
    .ampeloria-v43 .course-v42 .premium-full-path-overview{
        padding:21px 18px;
        border-radius:21px;
    }
    .ampeloria-v43 .course-v42 .premium-full-path-overview>header{
        display:grid;
        gap:12px;
    }
    .ampeloria-v43 .course-v42 .premium-badge{
        justify-self:start;
    }
    .ampeloria-v43 .course-v42 .premium-full-path-kpis{
        grid-template-columns:1fr;
        gap:8px;
    }
    .ampeloria-v43 .course-v42 .premium-full-path-kpis article{
        grid-template-columns:auto 1fr;
        align-items:baseline;
        gap:10px;
        padding:12px 14px;
    }
    .ampeloria-v43 .course-v42 .premium-full-path-modules{
        grid-template-columns:1fr;
    }
    .ampeloria-v43 .course-v42 .premium-full-path-modules>a{
        min-height:0;
    }
}

/* =========================================================
   HOTFIX V4.4.15 — polish Maîtrise / Passeport / Cave
   Complète les composants récents dont le HTML existait sans
   habillage final. Aucun changement de logique applicative.
   ========================================================= */

/* ---------- Maîtrise : cartes pays/régions plus denses ---------- */
.ampeloria-v43 .mastery-page-v441 .mastery-country-grid,
.ampeloria-v43 .mastery-page-v441 .mastery-region-grid{
    gap:16px;
}
.ampeloria-v43 .mastery-page-v441 .mastery-country-card,
.ampeloria-v43 .mastery-page-v441 .mastery-region-card{
    position:relative;
    min-height:0;
    padding:20px;
    overflow:hidden;
    border-color:rgba(104,31,54,.12);
    background:linear-gradient(145deg,rgba(255,253,250,.98),rgba(249,243,236,.92));
    box-shadow:0 9px 25px rgba(59,36,31,.035);
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.ampeloria-v43 .mastery-page-v441 .mastery-country-card::after,
.ampeloria-v43 .mastery-page-v441 .mastery-region-card::after{
    content:"";
    position:absolute;
    right:-34px;
    bottom:-50px;
    width:120px;
    height:120px;
    border:1px solid rgba(104,31,54,.055);
    border-radius:50%;
    pointer-events:none;
}
.ampeloria-v43 .mastery-page-v441 .mastery-country-card:hover,
.ampeloria-v43 .mastery-page-v441 .mastery-region-card:hover{
    transform:translateY(-3px);
    border-color:rgba(104,31,54,.24);
    box-shadow:0 14px 32px rgba(59,36,31,.07);
}
.ampeloria-v43 .mastery-page-v441 .mastery-country-card header,
.ampeloria-v43 .mastery-page-v441 .mastery-region-card{
    align-items:start;
}
.ampeloria-v43 .mastery-page-v441 .mastery-country-card header strong,
.ampeloria-v43 .mastery-page-v441 .mastery-region-card strong{
    color:#342925;
    font-size:1rem;
    line-height:1.25;
}
.ampeloria-v43 .mastery-page-v441 .mastery-country-card header>b,
.ampeloria-v43 .mastery-page-v441 .mastery-region-card>b{
    color:var(--v43-wine,var(--wine));
    font-family:var(--v43-serif,Georgia,serif);
    font-size:1.25rem;
}
.ampeloria-v43 .mastery-page-v441 .mastery-meter{
    height:7px;
    margin:15px 0 12px;
    background:#eadfd3;
}
.ampeloria-v43 .mastery-page-v441 .mastery-country-meta,
.ampeloria-v43 .mastery-page-v441 .mastery-region-card footer{
    position:relative;
    z-index:1;
    min-height:22px;
    color:#73645f;
}
.ampeloria-v43 .mastery-page-v441 .mastery-region-card footer{
    padding-top:2px;
}
.ampeloria-v43 .mastery-page-v441 .mastery-region-card footer span,
.ampeloria-v43 .mastery-page-v441 .mastery-country-meta span:not(:first-child){
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:25px;
    min-height:25px;
    padding:3px 7px;
    border:1px solid rgba(104,31,54,.075);
    border-radius:999px;
    background:rgba(255,255,255,.68);
}

/* ---------- Passeport : bloc "Aujourd'hui" enfin habillé ---------- */
.ampeloria-v43 .passport-page-v417 .passport-next-step-v417{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin:24px 0 34px;
    padding:24px 26px;
    overflow:hidden;
    border:1px solid rgba(104,31,54,.13);
    border-radius:22px;
    background:
        radial-gradient(circle at 94% 12%,rgba(181,132,75,.14),transparent 13rem),
        linear-gradient(135deg,rgba(255,252,248,.98),rgba(246,237,229,.92));
    box-shadow:0 12px 34px rgba(57,35,30,.045);
}
.ampeloria-v43 .passport-page-v417 .passport-next-step-v417>div{
    display:flex;
    align-items:flex-start;
    gap:14px;
    min-width:0;
}
.ampeloria-v43 .passport-page-v417 .passport-next-step-v417>div>span{
    display:grid;
    place-items:center;
    flex:0 0 44px;
    width:44px;
    height:44px;
    border-radius:15px;
    background:#fff;
    box-shadow:0 7px 20px rgba(72,43,35,.07);
    font-size:1.25rem;
}
.ampeloria-v43 .passport-page-v417 .passport-next-step-v417 small{
    display:block;
    margin-bottom:4px;
    color:var(--v43-wine,var(--wine));
    font-size:.64rem;
    font-weight:900;
    letter-spacing:.09em;
}
.ampeloria-v43 .passport-page-v417 .passport-next-step-v417 strong{
    display:block;
    color:#342925;
    font-family:var(--v43-serif,Georgia,serif);
    font-size:1.1rem;
    line-height:1.3;
}
.ampeloria-v43 .passport-page-v417 .passport-next-step-v417 p{
    margin:6px 0 0;
    color:var(--muted);
    line-height:1.55;
}
.ampeloria-v43 .passport-page-v417 .passport-next-step-v417>.button{
    flex:0 0 auto;
    white-space:nowrap;
}
.ampeloria-v43 .passport-page-v417 .passport-footprint{
    box-shadow:0 10px 30px rgba(58,36,31,.035);
}
.ampeloria-v43 .passport-page-v417 .passport-footprint-stats article{
    min-height:86px;
    align-content:center;
}
.ampeloria-v43 .passport-page-v417 .passport-footprint-empty{
    padding:17px 18px;
}
.ampeloria-v43 .passport-page-v417 .passport-next-grid>article{
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.ampeloria-v43 .passport-page-v417 .passport-next-grid>article:hover{
    transform:translateY(-2px);
    border-color:rgba(104,31,54,.2);
    box-shadow:0 10px 26px rgba(59,36,31,.05);
}

/* ---------- Cave : composants qui n'avaient jamais été finis ---------- */
.ampeloria-v43 .cellar-v440 .cellar-opening-queue{
    margin:24px 0 26px;
    padding:24px;
    border:1px solid rgba(104,31,54,.12);
    border-radius:24px;
    background:linear-gradient(145deg,rgba(255,253,250,.96),rgba(248,240,232,.88));
    box-shadow:0 12px 34px rgba(60,37,31,.04);
}
.ampeloria-v43 .cellar-v440 .cellar-opening-queue>header{
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:18px;
    margin-bottom:16px;
}
.ampeloria-v43 .cellar-v440 .cellar-opening-queue>header h2{
    margin:.35rem 0 .45rem;
    font-family:var(--v43-serif,Georgia,serif);
    font-size:clamp(1.5rem,2.5vw,2rem);
    color:#342925;
}
.ampeloria-v43 .cellar-v440 .cellar-opening-queue>header p{
    margin:0;
    color:var(--muted);
}
.ampeloria-v43 .cellar-v440 .cellar-opening-grid{
    gap:12px;
}
.ampeloria-v43 .cellar-v440 .cellar-opening-grid>article{
    display:grid;
    grid-template-rows:1fr auto;
    min-width:0;
    overflow:hidden;
    border:1px solid rgba(104,31,54,.11);
    border-radius:18px;
    background:rgba(255,255,255,.72);
    box-shadow:0 7px 20px rgba(59,36,31,.03);
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.ampeloria-v43 .cellar-v440 .cellar-opening-grid>article:hover{
    transform:translateY(-2px);
    border-color:rgba(104,31,54,.22);
    box-shadow:0 12px 28px rgba(59,36,31,.06);
}
.ampeloria-v43 .cellar-v440 .cellar-opening-grid>article>a{
    display:grid;
    align-content:start;
    gap:8px;
    min-height:160px;
    padding:18px;
    color:inherit;
    text-decoration:none;
}
.ampeloria-v43 .cellar-v440 .cellar-opening-grid h3{
    margin:3px 0 0;
    font-family:var(--v43-serif,Georgia,serif);
    font-size:1.18rem;
    line-height:1.22;
    color:#342925;
}
.ampeloria-v43 .cellar-v440 .cellar-opening-grid p{
    margin:0;
    color:var(--muted);
    line-height:1.45;
}
.ampeloria-v43 .cellar-v440 .cellar-opening-grid small{
    margin-top:auto;
    color:#756661;
    font-size:.72rem;
}
.ampeloria-v43 .cellar-v440 .cellar-opening-grid>article>form{
    padding:10px 12px 12px;
    border-top:1px solid rgba(104,31,54,.08);
    background:rgba(248,242,236,.72);
}
.ampeloria-v43 .cellar-v440 .cellar-opening-grid>article>form button{
    width:100%;
    min-height:38px;
    border:1px solid rgba(104,31,54,.12);
    border-radius:11px;
    background:#fff;
    color:var(--v43-wine,var(--wine));
    font:inherit;
    font-size:.72rem;
    font-weight:850;
    cursor:pointer;
}
.ampeloria-v43 .cellar-v440 .cellar-opening-grid>article>form button:hover{
    border-color:rgba(104,31,54,.25);
    background:#fffaf7;
}
.ampeloria-v43 .cellar-v440 .cellar-toolbar{
    margin:24px 0 18px;
    padding:14px;
    border:1px solid rgba(104,31,54,.1);
    border-radius:18px;
    background:rgba(255,253,250,.7);
}
.ampeloria-v43 .cellar-v440 .cellar-toolbar label{
    display:grid;
    gap:6px;
    min-width:0;
}
.ampeloria-v43 .cellar-v440 .cellar-toolbar label>span{
    color:#766762;
    font-size:.66rem;
    font-weight:800;
}
.ampeloria-v43 .cellar-v440 .cellar-toolbar :is(input,select){
    width:100%;
    min-width:0;
    min-height:44px;
    padding:0 12px;
    border:1px solid rgba(104,31,54,.12);
    border-radius:12px;
    background:#fff;
    color:inherit;
    font:inherit;
}
.ampeloria-v43 .cellar-v440 .cellar-card-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    min-height:26px;
}
.ampeloria-v43 .cellar-v440 .cellar-card-top>b{
    color:#b2803f;
    font-size:1rem;
}
.ampeloria-v43 .cellar-v440 .cellar-check{
    display:flex!important;
    grid-template-columns:none!important;
    align-items:center;
    gap:9px;
    min-height:44px;
}
.ampeloria-v43 .cellar-v440 .cellar-check input{
    width:auto;
    min-height:0;
}

@media(max-width:900px){
    .ampeloria-v43 .passport-page-v417 .passport-next-step-v417{
        align-items:flex-start;
        flex-direction:column;
    }
    .ampeloria-v43 .passport-page-v417 .passport-next-step-v417>.button{
        width:100%;
        justify-content:center;
    }
    .ampeloria-v43 .cellar-v440 .cellar-opening-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media(max-width:640px){
    .ampeloria-v43 .mastery-page-v441 .mastery-country-card,
    .ampeloria-v43 .mastery-page-v441 .mastery-region-card{
        padding:17px;
    }
    .ampeloria-v43 .passport-page-v417 .passport-next-step-v417{
        padding:19px;
    }
    .ampeloria-v43 .passport-page-v417 .passport-next-step-v417>div>span{
        flex-basis:38px;
        width:38px;
        height:38px;
    }
    .ampeloria-v43 .cellar-v440 .cellar-opening-queue{
        padding:18px;
    }
    .ampeloria-v43 .cellar-v440 .cellar-opening-grid{
        grid-template-columns:1fr;
    }
    .ampeloria-v43 .cellar-v440 .cellar-opening-grid>article>a{
        min-height:0;
    }
}


/* ==========================================================================
   AMPELORIA V6.1 — Accueil / Carte du jour uniquement
   ========================================================================== */
.ampeloria-v43 .home-daily-card-v7{
    position:relative;
    overflow:hidden;
    padding:30px 32px 28px!important;
    border:1px solid rgba(109,32,56,.13)!important;
    border-radius:26px!important;
    background:
        radial-gradient(circle at 92% 5%,rgba(109,32,56,.07),transparent 16rem),
        linear-gradient(145deg,#fffdf9 0%,#fbf6ef 100%)!important;
    box-shadow:0 18px 48px rgba(57,28,36,.09)!important;
    color:#29191e!important;
}
.ampeloria-v43 .home-daily-card-v7::before{
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:5px;
    background:linear-gradient(180deg,var(--daily-accent-deep,#7a2944),var(--daily-accent,#b38a50));
}
.ampeloria-v43 .home-daily-card-v7::after{
    content:"";
    position:absolute;
    width:190px;
    height:190px;
    right:-105px;
    bottom:-115px;
    border:1px solid rgba(109,32,56,.07);
    border-radius:50%;
    pointer-events:none;
}
.ampeloria-v43 .home-daily-card-v7__top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:20px;
}
.ampeloria-v43 .home-daily-card-v7__top>div{
    display:grid;
    gap:6px;
}
.ampeloria-v43 .home-daily-card-v7__top small{
    color:var(--daily-accent-deep,#7a2944)!important;
    font-size:.58rem!important;
    font-weight:950!important;
    letter-spacing:.14em!important;
}
.ampeloria-v43 .home-daily-card-v7__top>div>span{
    width:max-content;
    padding:5px 9px;
    border:1px solid rgba(109,32,56,.11);
    border-radius:999px;
    background:var(--daily-accent-soft,#f5e9e6);
    color:var(--daily-accent-deep,#794057);
    font-size:.57rem;
    font-weight:850;
}
.ampeloria-v43 .home-daily-card-v7__icon{
    display:grid!important;
    place-items:center;
    width:64px;
    height:64px;
    margin:0!important;
    border:1px solid color-mix(in srgb,var(--daily-accent,#6d2038) 22%,transparent);
    border-radius:20px;
    background:linear-gradient(145deg,#fff,var(--daily-accent-soft,#f7efe8));
    box-shadow:0 10px 30px rgba(74,35,48,.08);
    font-size:2.15rem!important;
}
.ampeloria-v43 .home-daily-card-v7 h3{
    margin:0 0 10px!important;
    color:var(--daily-accent-deep,#4f172b)!important;
    font-size:clamp(2.15rem,3.3vw,3.35rem)!important;
    font-weight:500!important;
    line-height:.98!important;
    letter-spacing:-.045em!important;
}
.ampeloria-v43 .home-daily-card-v7>p{
    max-width:620px;
    margin:0!important;
    color:#6d5a60!important;
    font-size:.88rem!important;
    line-height:1.65!important;
}
.ampeloria-v43 .home-daily-card-v7 dl{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px 12px;
    margin:24px 0 22px!important;
}
.ampeloria-v43 .home-daily-card-v7 dl>div{
    min-width:0;
    display:grid!important;
    gap:6px!important;
    align-content:start;
    padding:12px 14px!important;
    border:1px solid rgba(109,32,56,.09)!important;
    border-radius:14px;
    background:rgba(255,255,255,.72);
}
.ampeloria-v43 .home-daily-card-v7 dt{
    color:#8d777e!important;
    font-size:.58rem!important;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
}
.ampeloria-v43 .home-daily-card-v7 dd{
    margin:0!important;
    color:#342329!important;
    font-size:.76rem!important;
    font-weight:850!important;
    line-height:1.35;
    overflow-wrap:anywhere;
}
.ampeloria-v43 .home-daily-card-v7>a{
    position:relative;
    z-index:1;
    display:inline-flex;
    align-items:center;
    gap:8px;
    width:max-content;
    min-height:42px;
    padding:0 15px;
    border:1px solid rgba(109,32,56,.12);
    border-radius:12px;
    background:var(--daily-accent-deep,#6d2038);
    color:#fff!important;
    font-size:.68rem!important;
    font-weight:900!important;
    text-decoration:none;
    transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.ampeloria-v43 .home-daily-card-v7>a:hover{
    transform:translateY(-2px);
    background:var(--daily-accent,#57172c);
    box-shadow:0 10px 24px color-mix(in srgb,var(--daily-accent-deep,#57172c) 20%,transparent);
}
.ampeloria-v43 .home-daily-card-v7>a b{font-size:.95rem}


.ampeloria-v43 .home-daily-card-v7__color{
    border-color:color-mix(in srgb,var(--daily-accent,#6d2038) 24%,transparent)!important;
    background:var(--daily-accent-soft,#f5e9e6)!important;
    color:var(--daily-accent-deep,#6d2038)!important;
}
.ampeloria-v43 .home-daily-card-v7__color-fact dd span{
    display:inline-flex;
    align-items:center;
    min-height:26px;
    padding:0 9px;
    border:1px solid color-mix(in srgb,var(--daily-accent,#6d2038) 25%,transparent);
    border-radius:999px;
    background:var(--daily-accent-soft,#f5e9e6);
    color:var(--daily-accent-deep,#6d2038);
    font-weight:950;
}
.ampeloria-v43 .home-daily-card-v7__color-fact dd span::before{
    content:"";
    width:8px;
    height:8px;
    margin-right:7px;
    border-radius:50%;
    background:var(--daily-accent,#6d2038);
    box-shadow:0 0 0 3px color-mix(in srgb,var(--daily-accent,#6d2038) 14%,transparent);
}

@media(max-width:680px){
    .ampeloria-v43 .home-daily-card-v7{padding:23px 20px 21px!important;border-radius:21px!important}
    .ampeloria-v43 .home-daily-card-v7__top{margin-bottom:16px}
    .ampeloria-v43 .home-daily-card-v7__icon{width:54px;height:54px;border-radius:17px;font-size:1.8rem!important}
    .ampeloria-v43 .home-daily-card-v7 h3{font-size:2.25rem!important}
    .ampeloria-v43 .home-daily-card-v7>p{font-size:.8rem!important}
    .ampeloria-v43 .home-daily-card-v7 dl{grid-template-columns:1fr;margin:19px 0!important;gap:8px}
    .ampeloria-v43 .home-daily-card-v7 dl>div{grid-template-columns:88px minmax(0,1fr);align-items:center;gap:10px!important;padding:10px 12px!important}
    .ampeloria-v43 .home-daily-card-v7 dd{text-align:right}
    .ampeloria-v43 .home-daily-card-v7>a{width:100%;justify-content:center}
}


/* ===== Ampeloria V4.8 — Guides vin éditoriaux ===== */
.wine-guides{--wg-wine:#681f36;--wg-ink:#1d1820;--wg-muted:#6c6670;--wg-paper:#fbf8f4;--wg-line:rgba(104,31,54,.13);background:#fff;color:var(--wg-ink)}
.wine-guides-shell{width:min(1180px,calc(100% - 40px));margin:0 auto}
.wine-guides-hero{padding:72px 0 58px;background:radial-gradient(circle at 78% 18%,rgba(163,94,112,.17),transparent 28%),linear-gradient(145deg,#fbf8f4 0%,#fff 55%,#f8f1f2 100%);border-bottom:1px solid var(--wg-line)}
.wine-guides-hero .wine-guides-shell{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.75fr);gap:42px;align-items:center}
.wine-guides-kicker{display:inline-block;font-size:.73rem;line-height:1.2;letter-spacing:.15em;font-weight:900;color:var(--wg-wine);margin-bottom:10px}
.wine-guides-hero h1{font-size:clamp(2.45rem,5vw,4.9rem);line-height:.98;letter-spacing:-.055em;max-width:760px;margin:0 0 20px}
.wine-guides-hero-copy>p{font-size:1.08rem;line-height:1.75;color:var(--wg-muted);max-width:720px;margin:0}
.wine-guides-stats{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.wine-guides-stats span{display:inline-flex;align-items:baseline;gap:7px;padding:9px 13px;border:1px solid var(--wg-line);border-radius:999px;background:rgba(255,255,255,.72);font-size:.86rem;color:var(--wg-muted)}
.wine-guides-stats strong{font-size:1.05rem;color:var(--wg-ink)}
.wine-guides-hero-card{padding:28px;border:1px solid var(--wg-line);border-radius:26px;background:rgba(255,255,255,.86);box-shadow:0 22px 60px rgba(48,27,35,.09)}
.wine-guides-hero-card>span{display:block;font-size:2.25rem;margin-bottom:14px}
.wine-guides-hero-card>strong{display:block;font-size:1.3rem;margin-bottom:8px}
.wine-guides-hero-card p{color:var(--wg-muted);line-height:1.65;margin:0 0 20px}
.wine-guides-body{padding:34px 0 80px}
.wine-guides-tabs{display:flex;gap:10px;overflow-x:auto;padding:4px 0 16px;margin-bottom:22px;scrollbar-width:thin;position:sticky;top:72px;z-index:5;background:rgba(255,255,255,.94);backdrop-filter:blur(12px)}
.wine-guides-tabs a{white-space:nowrap;text-decoration:none;color:var(--wg-ink);border:1px solid var(--wg-line);border-radius:999px;padding:10px 13px;font-weight:800;font-size:.86rem;background:#fff}
.wine-guides-tabs a:hover{border-color:rgba(104,31,54,.34);color:var(--wg-wine)}
.wine-guides-tabs span{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#f3e8eb;color:var(--wg-wine);font-size:.75rem;margin-left:5px}
.wine-guides-section{padding:34px 0 24px;scroll-margin-top:135px}
.wine-guides-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:20px}
.wine-guides-heading h2{font-size:clamp(1.75rem,3vw,2.55rem);letter-spacing:-.035em;margin:0}
.wine-guides-heading p,.wine-guides-heading>a{color:var(--wg-muted);margin:0;text-decoration:none}
.wine-guides-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.wine-guide-card{display:flex;flex-direction:column;min-height:285px;padding:22px;text-decoration:none;color:inherit;border:1px solid var(--wg-line);border-radius:22px;background:linear-gradient(180deg,#fff,#fdfaf8);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.wine-guide-card:hover{transform:translateY(-3px);border-color:rgba(104,31,54,.28);box-shadow:0 18px 38px rgba(45,27,34,.08)}
.wine-guide-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}
.wine-guide-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#f5eaed;font-size:1.3rem}
.wine-guide-time{font-size:.78rem;font-weight:800;color:var(--wg-muted)}
.wine-guide-card h3{font-size:1.25rem;line-height:1.2;letter-spacing:-.025em;margin:0 0 11px}
.wine-guide-card p{font-size:.92rem;line-height:1.65;color:var(--wg-muted);margin:0 0 18px}
.wine-guide-card>strong{margin-top:auto;color:var(--wg-wine);font-size:.86rem}
.wine-guide-card>strong span{transition:transform .18s ease;display:inline-block}.wine-guide-card:hover>strong span{transform:translateX(3px)}
.wine-guides-bridge{padding:62px 0;background:#241c21;color:#fff}
.wine-guides-bridge-inner{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.4fr);gap:34px;align-items:center}
.wine-guides-bridge .wine-guides-kicker{color:#e3b5c1}.wine-guides-bridge h2{font-size:clamp(1.8rem,3vw,3rem);line-height:1.05;margin:0}
.wine-guides-bridge-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.wine-guides-bridge-links a{display:grid;grid-template-columns:auto 1fr;column-gap:11px;padding:15px;border:1px solid rgba(255,255,255,.12);border-radius:16px;color:#fff;text-decoration:none;background:rgba(255,255,255,.04)}
.wine-guides-bridge-links a>span{grid-row:1/3;font-size:1.35rem}.wine-guides-bridge-links strong{font-size:.92rem}.wine-guides-bridge-links small{color:rgba(255,255,255,.64);margin-top:2px}

/* Article */
.wine-guide-article{padding:38px 0 86px;background:linear-gradient(180deg,#fcfaf8 0,white 310px)}
.wine-guide-reading{width:min(820px,calc(100% - 40px));margin:0 auto}
.wine-guide-breadcrumb{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:.78rem;color:var(--wg-muted);margin-bottom:36px}
.wine-guide-breadcrumb a{color:inherit;text-decoration:none}.wine-guide-breadcrumb a:hover{color:var(--wg-wine)}
.wine-guide-header{padding-bottom:28px;border-bottom:1px solid var(--wg-line)}
.wine-guide-meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:15px}
.wine-guide-meta span{font-size:.78rem;font-weight:850;color:var(--wg-wine);background:#f5eaed;padding:7px 10px;border-radius:999px}
.wine-guide-header h1{font-size:clamp(2.15rem,5vw,4rem);line-height:1.03;letter-spacing:-.052em;margin:0 0 18px}
.wine-guide-lead{font-size:1.08rem;line-height:1.72;color:var(--wg-muted);margin:0}
.wine-guide-answer{margin:28px 0;padding:22px 24px;border:1px solid rgba(104,31,54,.18);border-left:4px solid var(--wg-wine);border-radius:16px;background:#fbf4f6}
.wine-guide-answer>span,.wine-guide-checklist>span{font-size:.7rem;letter-spacing:.13em;font-weight:900;color:var(--wg-wine)}
.wine-guide-answer p{font-size:1rem;line-height:1.75;margin:8px 0 0}
.wine-guide-toc{display:flex;flex-direction:column;gap:7px;padding:20px 0 26px;border-bottom:1px solid var(--wg-line)}
.wine-guide-toc strong{font-size:.85rem;margin-bottom:4px}.wine-guide-toc a{color:var(--wg-muted);text-decoration:none;font-size:.9rem}.wine-guide-toc a:hover{color:var(--wg-wine)}
.wine-guide-content{padding:18px 0}
.wine-guide-content section{padding:24px 0;scroll-margin-top:110px}
.wine-guide-content h2{font-size:clamp(1.5rem,3vw,2rem);line-height:1.18;letter-spacing:-.03em;margin:0 0 14px}
.wine-guide-content p{font-size:1rem;line-height:1.82;color:#49434b;margin:0 0 12px}
.wine-guide-checklist{margin:24px 0 38px;padding:25px;border-radius:20px;background:#f8f4ee;border:1px solid #eadfd2}
.wine-guide-checklist h2{margin:7px 0 16px;font-size:1.5rem}
.wine-guide-checklist ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 16px;list-style:none;padding:0;margin:0}
.wine-guide-checklist li{display:flex;gap:8px;align-items:flex-start;font-size:.9rem;line-height:1.45}.wine-guide-checklist li span{color:var(--wg-wine);font-weight:900}
.wine-guide-cta{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:28px;border-radius:22px;background:#241c21;color:#fff;margin:38px 0}
.wine-guide-cta .wine-guides-kicker{color:#e3b5c1}.wine-guide-cta h2{font-size:1.75rem;margin:0 0 7px}.wine-guide-cta p{color:rgba(255,255,255,.68);line-height:1.6;margin:0}
.wine-guide-faq{padding:32px 0}.wine-guide-faq h2{font-size:2rem;margin:0 0 14px}.wine-guide-faq details{border-top:1px solid var(--wg-line);padding:15px 0}.wine-guide-faq details:last-child{border-bottom:1px solid var(--wg-line)}
.wine-guide-faq summary{cursor:pointer;font-weight:850;line-height:1.45}.wine-guide-faq details p{color:var(--wg-muted);line-height:1.7;margin:10px 0 0}
.wine-guide-related{padding-top:34px}.wine-guide-related .wine-guides-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.wine-guide-related .wine-guide-card{min-height:245px;padding:18px}.wine-guide-related .wine-guide-card-top{margin-bottom:18px}.wine-guide-related .wine-guide-card h3{font-size:1.05rem}

@media (max-width:900px){
  .wine-guides-hero .wine-guides-shell,.wine-guides-bridge-inner{grid-template-columns:1fr}
  .wine-guides-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wine-guides-tabs{top:62px}
}
@media (max-width:620px){
  .wine-guides-shell,.wine-guide-reading{width:min(100% - 28px,1180px)}
  .wine-guides-hero{padding:48px 0 38px}.wine-guides-hero h1{font-size:2.65rem}
  .wine-guides-grid,.wine-guide-related .wine-guides-grid,.wine-guides-bridge-links{grid-template-columns:1fr}
  .wine-guide-card{min-height:0}
  .wine-guides-heading{align-items:flex-start;flex-direction:column;gap:5px}
  .wine-guide-checklist ul{grid-template-columns:1fr}
  .wine-guide-cta{grid-template-columns:1fr}
  .wine-guides-tabs{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}
}


/* =========================================================
   AMPELORIA — SIMPLIFICATION PRODUIT 2026-09-10
   Deux portes d'entrée visibles : Apprendre / Explorer.
   Les fonctions secondaires restent accessibles sans être
   présentées comme des destinations de même niveau.
   ========================================================= */

.main-nav-simplified{
    gap:4px;
}
.main-nav-simplified > a{
    padding-inline:14px;
}
.main-nav-simplified .header-menu-panel-simplified{
    width:min(720px,calc(100vw - 32px));
    grid-template-columns:repeat(3,minmax(0,1fr));
}
.header-menu-panel-simplified section{
    min-width:0;
}
.footer-nav-simplified{
    grid-template-columns:repeat(2,minmax(150px,1fr));
}

.home-core-entry .section-heading{
    max-width:780px;
}
.home-core-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
}
.home-core-grid .home-core-card{
    min-height:250px;
    padding:28px;
}
.home-core-grid .home-core-card > span{
    font-size:2rem;
}
.home-core-grid .home-core-card h3{
    font-size:clamp(1.8rem,3vw,2.7rem);
}
.cta-band-simplified{
    gap:24px;
}
.cta-band-actions{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}
.cta-band-simplified .button.ghost{
    border-color:rgba(255,255,255,.35);
    color:#fff;
    background:transparent;
}

.learning-command{
    grid-template-columns:minmax(0,1fr) auto;
}
.learning-command-links{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:6px;
    flex-wrap:wrap;
    max-width:330px;
}
.learning-command-links a{
    display:inline-flex;
    align-items:center;
    min-height:36px;
    padding:7px 10px;
    border:1px solid var(--line);
    border-radius:999px;
    background:#fff9;
    color:var(--wine);
    font-size:.64rem;
    font-weight:800;
    text-decoration:none;
}
.learning-command-links a:hover{
    background:#fff;
    border-color:rgba(104,31,54,.25);
}

.explore-page-v419 .explore-hero-v419{
    grid-template-columns:1fr;
}
.explore-page-v419 .explore-hero-v419 > div:first-child{
    max-width:860px;
}
.explore-page-v419 .explore-search-v419{
    margin-top:18px;
}
.explore-page-v419 .explore-stats-v419{
    margin-top:4px;
}

@media(max-width:900px){
    .main-nav-simplified .header-menu-panel-simplified{
        grid-template-columns:1fr 1fr;
    }
    .home-core-grid{
        grid-template-columns:1fr;
    }
    .learning-command{
        grid-template-columns:1fr;
    }
    .learning-command-links{
        justify-content:flex-start;
        max-width:none;
    }
}
@media(max-width:680px){
    .footer-nav-simplified{
        grid-template-columns:1fr;
    }
    .home-core-grid .home-core-card{
        min-height:0;
        padding:22px;
    }
    .cta-band-actions,
    .cta-band-actions .button{
        width:100%;
    }
}


.dashboard-secondary-panel{
    margin:20px 0 34px;
    border:1px solid var(--line);
    border-radius:18px;
    background:#fff8;
    overflow:hidden;
}
.dashboard-secondary-panel > summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    min-height:58px;
    padding:14px 18px;
    cursor:pointer;
    list-style:none;
    color:var(--wine);
    font-weight:800;
}
.dashboard-secondary-panel > summary::-webkit-details-marker{display:none}
.dashboard-secondary-panel > summary::after{
    content:"+";
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    border:1px solid var(--line);
    border-radius:50%;
    background:#fff;
    font-size:1rem;
}
.dashboard-secondary-panel[open] > summary::after{content:"−"}
.dashboard-secondary-panel > summary small{
    margin-left:auto;
    color:var(--muted);
    font-size:.62rem;
    font-weight:700;
}
.dashboard-secondary-content{
    padding:0 18px 18px;
    border-top:1px solid var(--line);
}
.dashboard-secondary-content > section:first-child{
    margin-top:18px;
}
