/* JEROMELABBE.FR - MAIN STYLESHEET */
/* === VARIABLES & THEMES === */
:root{--bg:#0a0514;--bg-card:#0d091a;--bg-card-hover:#110c1f;--bg-light:#f4f7f9;--white:#ffffff;--text-dim:#999;--text-muted:#64748b;--border-subtle:rgba(255,255,255,0.06);--border-light:rgba(255,255,255,0.1);--border-hover:rgba(255,255,255,0.15);--transition:0.6s cubic-bezier(0.19,1,0.22,1);--accent:#d4af37;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--shadow-sm:0 2px 8px rgba(0,0,0,0.04);--shadow-md:0 4px 16px rgba(0,0,0,0.08);--shadow-lg:0 6px 20px rgba(0,0,0,0.3);--card-bg:#f8fafc;--card-border:#e2e8f0;--card-border-hover:#cbd5e1;--card-text:#1e293b;--card-text-dark:#0f172a;--card-text-dim:#475569;--gradient-placeholder:linear-gradient(135deg,#1a1a2e 0%,#0f0f1a 100%);}
body.theme-index{--accent:#d4af37;}
body.theme-musique{--accent:#9b59b6;}
body.theme-education{--accent:#3498db;}
body.theme-com{--accent:#e0e0e0;}
/* === RESET & BASE === */
*{margin:0;padding:0;box-sizing:border-box;}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth;}}
body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--white);line-height:1.5;overflow-x:hidden;}
/* === CONTAINERS === */
.container{max-width:1100px;margin:0 auto;padding:0 5%;}
.container-wide{max-width:1600px;margin:0 auto;padding:0 5%;}
.container-blog{max-width:800px;}
/* === HEADER & NAVIGATION === */
.site-header{position:fixed;top:0;width:100%;height:70px;display:flex;justify-content:center;z-index:5000;background:rgba(10,5,20,0.85);backdrop-filter:blur(15px);}
.header-inner{width:100%;max-width:1100px;height:100%;display:flex;justify-content:space-between;align-items:center;padding:0 5%;}
.logo-jl{font-family:'Playfair Display',serif;font-weight:700;color:var(--accent);text-decoration:none;border:1px solid rgba(155,89,182,0.4);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);padding:6px 14px;letter-spacing:2px;font-size:1rem;transition:0.4s;}
.logo-jl:hover{background:var(--accent);color:var(--bg);border-color:var(--accent);}
.header-title{font-size:1.4rem;letter-spacing:2px;text-transform:uppercase;color:var(--accent);opacity:0;transition:opacity 0.3s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:50%;position:absolute;left:50%;transform:translateX(-50%);}
.header-title.visible{opacity:1;}
.burger-trigger{background:none;border:none;cursor:pointer;width:44px;height:44px;position:relative;z-index:6000;display:flex;align-items:center;justify-content:center;}
.burger-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px;}
.burger-trigger span{display:block;width:24px;height:2px;background:var(--accent);position:absolute;transition:var(--transition);}
.burger-trigger span:nth-child(1){top:14px;}
.burger-trigger span:nth-child(2){top:21px;}
.burger-trigger span:nth-child(3){top:28px;}
.burger-trigger.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.burger-trigger.active span:nth-child(2){opacity:0;}
.burger-trigger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.overlay-menu{position:fixed;top:0;left:0;width:100%;height:100dvh;background:rgba(0,0,0,0.5);z-index:4000;display:flex;align-items:center;justify-content:flex-end;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 0.6s,visibility 0.6s;}
.overlay-menu.open{opacity:1;visibility:visible;pointer-events:auto;}
.menu-inner{max-width:320px;width:100%;height:auto;padding:80px 40px 40px;display:flex;flex-direction:column;gap:0;background:rgba(10,5,20,0.98);border-left:1px solid rgba(255,255,255,0.05);transform:translateX(100%);transition:transform 0.6s cubic-bezier(0.19,1,0.22,1);align-self:flex-start;}
.overlay-menu.open .menu-inner{transform:translateX(0);}
.menu-nav{list-style:none;padding:0;margin:0;}
.menu-item{opacity:0;transform:translateX(20px);transition:opacity 0.4s,transform 0.4s;}
.overlay-menu.open .menu-item{opacity:1;transform:translateX(0);}
.menu-item:nth-child(1){transition-delay:0.1s;}
.menu-item:nth-child(2){transition-delay:0.18s;}
.menu-item:nth-child(3){transition-delay:0.26s;}
.menu-item:nth-child(4){transition-delay:0.34s;}
.menu-item:nth-child(5){transition-delay:0.42s;}
.menu-item--pro{padding-left:14px;border-left:3px solid rgba(255,255,255,0.15);margin-bottom:8px;}
.menu-item--pro.active{border-left-color:var(--accent);}
.menu-item--passion{padding-left:14px;margin-top:22px;margin-bottom:8px;}
.menu-item--utility{margin-top:22px;margin-bottom:8px;}
.menu-item a.menu-link{font-family:'Playfair Display',serif;font-size:1.4rem;color:var(--white);text-decoration:none;font-weight:700;display:inline-block;position:relative;transition:transform 0.3s,color 0.3s;}
.menu-item a.menu-link::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--accent);transition:width 0.3s;}
.menu-item a.menu-link:hover{transform:translateX(8px);}
.menu-item a.menu-link:hover::after{width:100%;}
.menu-item a.menu-link[aria-current="page"]{color:var(--accent);}
.menu-item--utility a.menu-link{font-family:'Inter',sans-serif;font-size:0.9rem;font-weight:400;opacity:0.6;letter-spacing:0.5px;}
.menu-item--utility a.menu-link::before{content:'·';margin-right:8px;color:var(--accent);}
.menu-item--utility a.menu-link:hover{opacity:1;}
.menu-sub{list-style:none;padding:6px 0 0 16px;margin:0;overflow:hidden;max-height:0;transition:max-height 0.4s ease;}
.menu-sub.active{max-height:200px;}
.menu-sub li{margin:3px 0;}
.menu-sub a{color:rgba(255,255,255,0.6);text-decoration:none;font-size:0.85rem;transition:color 0.3s,transform 0.3s;display:inline-block;}
.menu-sub a:hover{color:var(--white);transform:translateX(4px);}
.menu-sub a[aria-current="page"]{color:var(--accent);font-weight:600;}
.menu-cta{margin-top:28px;opacity:0;transform:translateX(20px);transition:opacity 0.4s 0.5s,transform 0.4s 0.5s;}
.overlay-menu.open .menu-cta{opacity:1;transform:translateX(0);}
.menu-cta a{display:inline-block;padding:10px 24px;border:1px solid var(--accent);color:var(--accent);text-decoration:none;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;transition:background 0.3s,color 0.3s;}
.menu-cta a:hover{background:var(--accent);color:var(--bg);}
@media(prefers-reduced-motion:reduce){.burger-trigger span,.overlay-menu,.menu-inner,.menu-item,.menu-cta,.menu-sub{transition:none;}.menu-item{opacity:1;transform:none;}.menu-cta{opacity:1;transform:none;}}
/* === HERO === */
.hero{padding:120px 0 30px;text-align:center;}
.tagline{color:var(--accent);letter-spacing:5px;font-size:0.65rem;margin-bottom:12px;font-weight:600;text-transform:uppercase;}
.tagline a{color:inherit;text-decoration:none;transition:0.3s;}
.tagline a:hover{opacity:0.7;}
h1{font-family:'Playfair Display',serif;font-size:clamp(2.2rem,8vw,3.5rem);margin-bottom:15px;line-height:1.1;}
.hero-text{max-width:600px;margin:0 auto 30px;color:var(--text-dim);font-size:0.95rem;line-height:1.7;font-weight:300;}
.hero-link{color:var(--accent);text-decoration:none;opacity:0.8;transition:0.2s;}
.hero-link:hover{opacity:1;text-decoration:underline;}
.btn-main{display:inline-block;padding:10px 30px;border:1px solid var(--accent);color:var(--accent);text-decoration:none;font-weight:600;font-size:0.75rem;letter-spacing:2px;text-transform:uppercase;transition:0.3s;}
.btn-main:hover{background:var(--accent);color:var(--bg);}
.stats-badge{font-size:0.7rem;color:var(--accent);text-transform:uppercase;letter-spacing:2px;}
/* === BIO PORTRAIT === */
.bio-portrait{float:left;width:150px;height:150px;object-fit:cover;object-position:center 15%;border-radius:50%;margin:5px 25px 15px 0;box-shadow:0 4px 20px rgba(0,0,0,0.2);}
@media(max-width:600px){.bio-portrait{width:100px;height:100px;margin:5px 15px 10px 0;}}
.vision-section{padding-bottom:40px;}
.vision-content{width:100%;max-width:1000px;border-left:1px solid var(--accent);padding-left:35px;margin-bottom:40px;font-size:1.05rem;line-height:1.6;color:var(--text-dim);font-weight:300;}
.vision-content p{max-width:850px;}
.vision-content a{color:var(--accent);text-decoration:none;border-bottom:1px solid var(--accent);transition:opacity .2s;}
.vision-content a:hover{opacity:.7;}
/* === JARDIN (FIL D'ACTIVITÉ) === */
.jardin{padding:30px 0 60px;background:var(--white);color:var(--card-text);}
.jardin .section-title{color:var(--card-text-dark);margin-bottom:40px;}
.jardin-label{color:var(--accent);font-size:0.65rem;font-weight:600;text-transform:uppercase;letter-spacing:3px;margin-bottom:20px;}
.jardin-grid{display:grid;grid-template-columns:65% 35%;gap:0;}
.jardin-flux{background:var(--card-bg);border:1px solid var(--card-border);padding:18px;position:relative;min-height:190px;display:flex;flex-direction:column;transition:border-color 0.3s, box-shadow 0.3s;}
.flux-slides{position:relative;flex:1;height:200px;}
.flux-slide{display:none;opacity:0;transition:opacity 0.5s ease;position:relative;grid-template-columns:auto 1fr;grid-template-areas:"icon content" "cover content";grid-template-rows:auto 1fr;gap:8px 20px;align-items:start;}
.flux-slide.active{display:grid;opacity:1;height:100%;}
.flux-icon{width:40px;height:40px;flex-shrink:0;border:1px solid var(--card-border);display:flex;align-items:center;justify-content:center;grid-area:icon;}
.flux-icon svg{width:20px;height:20px;color:var(--accent);}
.flux-content{min-width:0;grid-area:content;display:flex;flex-direction:column;align-self:stretch;overflow:hidden;}
.flux-type{font-size:0.55rem;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--accent);display:block;margin-bottom:6px;}
.flux-title{font-family:'Playfair Display',serif;font-size:1rem;color:var(--card-text-dark);margin:0 0 3px 0;line-height:1.3;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;}
.flux-meta{font-size:0.7rem;color:var(--card-text-dim);margin:0 0 8px 0;}
.flux-excerpt{font-size:0.75rem;color:var(--card-text-dim);line-height:1.5;margin:0 0 10px 0;flex:1;overflow:hidden;}
.flux-quote{display:block;margin-top:6px;padding-left:10px;border-left:2px solid var(--accent);font-style:italic;opacity:0.85;}
.flux-link{font-size:0.55rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--accent);text-decoration:none;opacity:0.7;transition:0.3s;display:block;margin-top:auto;}
.flux-link:hover{opacity:1;}
.flux-cover{width:40px;height:40px;flex-shrink:0;overflow:hidden;grid-area:cover;border-radius:var(--radius-sm);background-size:cover;background-position:center;background-color:var(--card-border);display:none;}
.flux-cover img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-sm);}
.flux-slide:has(.flux-cover:not(:empty)) .flux-cover{display:block;}
.flux-dots{display:flex;justify-content:center;gap:6px;margin-top:auto;padding-top:10px;}
.flux-dot{width:6px;height:6px;border-radius:50%;background:rgba(0,0,0,0.15);border:none;cursor:pointer;padding:0;transition:0.3s;}
.flux-dot.active,.flux-dot:hover{background:var(--accent);}
.jardin-stats{background:var(--card-bg);border:1px solid var(--card-border);border-left:none;padding:15px;display:flex;flex-direction:column;transition:border-color 0.3s, box-shadow 0.3s;}
.jardin-flux:hover,.jardin-stats:hover{border-color:var(--accent);box-shadow:0 4px 16px rgba(0,0,0,0.1);}
.stats-title{font-size:0.6rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--accent);margin:0 0 12px 0;text-align:center;}
.stats-row{display:flex;justify-content:space-around;align-items:flex-start;flex:1;}
.stat-col{text-align:center;flex:1;padding:0 6px;}
.stat-col:not(:last-child){border-right:1px solid var(--card-border);}
.stat-col-soon{opacity:0.35;}
.stat-icon{margin:0 auto 8px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;}
.stat-icon svg{width:18px;height:18px;color:var(--accent);}
.stat-number{font-family:'Playfair Display',serif;font-size:1.3rem;color:var(--card-text-dark);margin:0;line-height:1;}
.stat-label{font-size:0.5rem;color:var(--card-text-dim);text-transform:uppercase;letter-spacing:0.5px;margin-top:4px;}
.stat-group{position:relative;display:flex;flex:2;padding-bottom:10px;border-right:1px solid var(--card-border);}
.stat-group::after{content:'';position:absolute;bottom:0;left:10px;right:10px;height:5px;border-bottom:1px solid var(--card-border);border-left:1px solid var(--card-border);border-right:1px solid var(--card-border);border-radius:0 0 2px 2px;}
.stat-group .stat-col{flex:1;}
.stat-group .stat-col:first-of-type{border-right:1px solid var(--card-border);}
.stat-double{display:flex;justify-content:center;gap:12px;}
.stat-double .stat-number{font-size:1.2rem;}
.stat-double-label{display:flex;justify-content:center;gap:12px;margin-top:4px;}
.stat-double-label span{font-size:0.5rem;color:var(--card-text-dim);text-transform:uppercase;letter-spacing:0.5px;}
/* === PARCOURS === */
.parcours{background:var(--bg);color:var(--white);padding:50px 0;}
.section-title{font-family:'Playfair Display',serif;font-size:1.8rem;margin-bottom:30px;}
.timeline{border-left:1px solid rgba(255,255,255,0.15);padding-left:30px;position:relative;}
.timeline-item{position:relative;margin-bottom:30px;}
.time-mark{position:absolute;left:-34.5px;top:8px;width:8px;height:8px;background:var(--accent);border-radius:50%;border:2px solid var(--bg);}
.date{font-size:0.75rem;color:var(--text-dim);font-weight:600;}
.company-header{display:flex;align-items:center;gap:12px;margin-bottom:8px;}
.company-logo{height:40px;width:auto;opacity:0.8;filter:grayscale(20%);transition:all 0.3s ease;}
.company-logo:hover{opacity:1;filter:grayscale(0%);}
.company-header h3{margin:0;}
.company{font-weight:700;font-size:1.1rem;margin:5px 0;color:var(--white);}
.desc{font-size:0.9rem;color:var(--text-dim);line-height:1.6;}
/* === EXPERTISES === */
.expertises{padding:50px 0;border-top:1px solid rgba(184,134,11,0.15);}
.expertise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch;}
.expertise-grid:has(.exp-card:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr));}
.exp-card{background:#141418;padding:30px;border:1px solid rgba(255,255,255,0.15);display:flex;flex-direction:column;transition:border-color 0.3s, box-shadow 0.3s, background 0.3s;position:relative;}
.exp-card:hover{border-color:var(--accent);background:#1a1a20;box-shadow:0 4px 20px rgba(0,0,0,0.4);}
.monogram{font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--accent);width:40px;height:40px;border:1px solid var(--border-light);display:flex;align-items:center;justify-content:center;margin-bottom:25px;background:radial-gradient(circle at center,rgba(255,255,255,0.03) 0%,transparent 70%);}
.exp-card h3{font-family:'Playfair Display',serif;font-size:1.4rem;margin-bottom:12px;}
.expertise-grid:has(.exp-card:nth-child(4)) .exp-card h3{word-spacing:100vw;}
.exp-card p{color:var(--text-dim);font-size:0.85rem;line-height:1.6;margin-bottom:20px;flex-grow:1;}
.exp-link{color:var(--accent);text-decoration:none;font-size:0.6rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;opacity:0.5;transition:0.3s;margin-top:auto;margin-left:auto;}
.exp-card:hover .exp-link{opacity:1;}
.exp-link::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;z-index:1;}
.coming-soon{margin-top:auto;margin-left:auto;font-size:0.55rem;letter-spacing:1px;text-transform:uppercase;color:var(--accent);opacity:0.8;}
/* === MANIFESTO & TEXT === */
.manifesto-section{background-color:var(--bg-light);color:var(--bg);padding:70px 0 30px;}
.manifesto-container{max-width:750px;margin:0 auto;padding:0 5%;}
.text-item{margin-bottom:60px;}
.text-item:last-child{margin-bottom:0;}
.text-item h3{font-family:'Inter',sans-serif;font-size:1.2rem;font-weight:700;margin-bottom:16px;color:var(--bg);letter-spacing:0.5px;}
.text-item h3::after{content:'';display:block;width:25px;height:1px;background-color:var(--accent);margin-top:8px;}
.text-item p{font-size:0.95rem;line-height:1.7;color:var(--card-text);margin:0;text-align:left;max-width:650px;}
.text-item p+p{margin-top:12px;text-indent:2ch;}
.text-item ul{list-style:none;padding:0;margin:15px 0 0 0;}
.text-item ul li{position:relative;padding-left:20px;margin-bottom:8px;font-size:0.85rem;color:var(--card-text-dim);line-height:1.55;}
.text-item ul li::before{content:'–';position:absolute;left:0;color:var(--accent);opacity:0.8;}
/* Manifesto Compact Variant */
.manifesto-compact{padding:50px 0 30px;}
.manifesto-compact .manifesto-container{display:grid;grid-template-columns:1fr;gap:0;}
.manifesto-compact .text-item{margin-bottom:25px;padding-bottom:25px;border-bottom:1px solid #ddd;}
.manifesto-compact .text-item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none;}
.manifesto-compact .text-item h3{font-size:1rem;margin-bottom:10px;}
.manifesto-compact .text-item h3::after{display:none;}
.manifesto-compact .text-item p{font-size:0.9rem;}
@media(min-width:900px){.manifesto-compact .manifesto-container{grid-template-columns:1fr 1fr;gap:30px 50px;}.manifesto-compact .text-item{margin-bottom:0;padding-bottom:0;border-bottom:none;}.manifesto-compact .text-item.full-width{grid-column:1/-1;text-align:center;max-width:550px;margin:10px auto 0;}}
.quote-editorial{margin:50px auto;padding:25px 25px 25px 40px;max-width:600px;border-left:4px solid var(--accent);background:transparent;font-family:'Playfair Display',serif;font-size:0.95rem;font-style:italic;line-height:1.5;color:var(--accent);}
.quote-editorial cite{display:block;margin-top:15px;font-size:0.85rem;font-style:normal;opacity:0.7;}
.cta-editorial{background:var(--bg);padding:80px 5%;text-align:center;}
.cta-editorial h3{font-family:'Playfair Display',serif;font-size:2rem;color:var(--white);margin-bottom:20px;}
.cta-editorial p{color:var(--text-dim);font-size:0.95rem;line-height:1.7;max-width:600px;margin:0 auto 30px;}
.editorial-image{max-width:100%;height:auto;margin:40px auto;display:block;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);}
/* === FAQ === */
.faq-section{background:var(--card-bg);padding:60px 0;border-top:1px solid var(--card-border);}
.faq-section h2{font-family:'Playfair Display',serif;font-size:1.6rem;color:var(--card-text-dark);text-align:center;margin-bottom:40px;}
.faq-list{max-width:700px;margin:0 auto;}
.faq-item{border-bottom:1px solid var(--card-border);overflow:hidden;}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;padding:18px 0;font-size:0.95rem;font-weight:600;color:var(--card-text-dark);cursor:pointer;list-style:none;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+';font-size:1.2rem;color:var(--accent);transition:transform 0.2s;}
.faq-item[open] summary::after{content:'−';}
.faq-item p{padding:0 0 20px;font-size:0.9rem;line-height:1.7;color:var(--card-text-dim);margin:0;}
.faq-teaser{padding:30px 0;text-align:center;background:var(--card-bg);border-top:1px solid var(--card-border);}
.faq-teaser p{font-size:0.9rem;color:var(--card-text-dim);margin:0;}
.faq-teaser a{color:var(--accent);text-decoration:underline;}
/* === SOMMAIRE === */
.sommaire{padding:50px 0;}
.sommaire-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.sommaire-card{padding:25px;border:1px solid var(--border-subtle);background:var(--bg-card);}
.sommaire-card h3{font-family:'Playfair Display',serif;font-size:1.2rem;margin-bottom:10px;}
.sommaire-card p{font-size:0.85rem;color:var(--text-dim);line-height:1.6;margin-bottom:15px;}
.sommaire-section{padding:80px 20px;background:var(--bg)}.sommaire-container{max-width:1000px;margin:0 auto}
.sommaire-intro{text-align:center;margin-bottom:50px;font-size:1rem;color:var(--text-dim);max-width:700px;margin-left:auto;margin-right:auto;line-height:1.7}
.sommaire-block{background:var(--bg-card);border-radius:var(--radius-lg);padding:30px;border:1px solid var(--border-subtle)}
.sommaire-block h4{font-family:'Playfair Display',serif;font-size:1rem;color:var(--accent);margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid var(--border-subtle);font-weight:600}
.sommaire-block ol{list-style:none;padding:0;margin:0}
.sommaire-block li{margin-bottom:10px}
.sommaire-block li:last-child{margin-bottom:0}
.sommaire-block a{color:var(--white);text-decoration:none;font-size:0.85rem;display:flex;align-items:center;padding:10px 12px;border-radius:var(--radius-md);transition:all 0.2s ease;line-height:1.4;gap:10px}
.sommaire-block a:hover{background:rgba(255,255,255,0.05);color:var(--accent)}
.sommaire-block a span{color:var(--accent);font-weight:600;font-size:0.75rem;min-width:24px;opacity:0.7}
/* === PAGES EDITORIALES === */
.edito-page{background:var(--bg-light);min-height:50vh;}
.edito-article{max-width:900px;margin:0 auto;padding:60px 5% 80px;}
.edito-number{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border:2px solid var(--accent);border-radius:50%;font-family:'Playfair Display',serif;font-size:1.3rem;color:var(--accent);margin-bottom:15px;}
.edito-tag{font-size:0.65rem;letter-spacing:3px;text-transform:uppercase;color:#64748b;margin-bottom:10px;display:block;}
.edito-title{font-family:'Playfair Display',serif;font-size:2rem;color:var(--card-text-dark);margin-bottom:30px;line-height:1.3;}
.edito-intro{font-size:1.15rem;line-height:1.8;color:var(--card-text);font-weight:500;margin-bottom:40px;padding-bottom:40px;border-bottom:1px solid var(--card-border);}
.edito-content p{font-size:1rem;line-height:1.9;color:var(--card-text-dim);margin-bottom:24px;}
.edito-content p:last-child{margin-bottom:0;}
.edito-keypoints{background:#fff;border-radius:12px;padding:30px 35px;margin:50px 0;box-shadow:0 4px 20px rgba(0,0,0,0.06);}
.edito-keypoints-title{font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--card-text-dark);margin-bottom:20px;display:flex;align-items:center;gap:10px;}
.edito-keypoints-title::before{content:"";width:4px;height:20px;background:var(--accent);border-radius:2px;}
.edito-keypoints ul{list-style:none;padding:0;margin:0;display:grid;gap:12px;}
.edito-keypoints li{display:flex;align-items:flex-start;gap:12px;font-size:0.95rem;color:var(--card-text-dim);line-height:1.6;}
.edito-keypoints li::before{content:"→";color:var(--accent);font-weight:600;flex-shrink:0;}
.edito-nav{display:flex;justify-content:space-between;align-items:center;padding:40px 0;margin-top:50px;border-top:1px solid var(--card-border);gap:20px;}
.edito-nav-arrow{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--card-text-dark);font-size:0.85rem;padding:12px 20px;border-radius:8px;transition:0.2s;flex:1;max-width:200px;border:1px solid var(--card-border-hover);}
.edito-nav-arrow:hover{background:#0f172a;color:#fff;border-color:var(--card-text-dark);}
.edito-nav-arrow.prev{justify-content:flex-start;}
.edito-nav-arrow.next{justify-content:flex-end;text-align:right;}
.edito-nav-arrow.disabled{opacity:0.3;pointer-events:none;}
.edito-nav-arrow span{font-size:1.2rem;}
.edito-nav-center{text-align:center;}
.edito-nav-center a{display:inline-block;padding:12px 28px;background:#0f172a;color:#fff;text-decoration:none;font-size:0.75rem;letter-spacing:2px;text-transform:uppercase;border-radius:6px;transition:0.2s;}
.edito-nav-center a:hover{background:var(--accent);}
@media(max-width:768px){.edito-title{font-size:1.6rem;}.edito-intro{font-size:1rem;}.edito-nav{flex-wrap:wrap;}.edito-nav-arrow{max-width:none;flex:1 1 100%;justify-content:center;}.edito-nav-center{flex:1 1 100%;order:-1;margin-bottom:20px;}}
/* === TABS === */
.tabs-nav{display:flex;gap:10px;margin-bottom:30px;}
.tab-btn{padding:10px 20px;background:rgba(255,255,255,0.05);border:1px solid var(--border-light);color:var(--white);cursor:pointer;font-size:0.75rem;text-transform:uppercase;letter-spacing:1px;transition:0.3s;}
.tab-btn.active,.tab-btn:hover{background:var(--accent);border-color:var(--accent);color:var(--bg);}
.tab-content{display:none;}
.tab-content.active{display:block;}
/* === ESSENTIELS & MUSIQUE === */
.essentiels-layout{display:grid;grid-template-columns:280px 1fr;gap:40px;padding:40px 0;}
.decades-nav{position:sticky;top:90px;height:fit-content;}
.decades-nav h3{font-size:0.6rem;letter-spacing:2px;color:var(--accent);margin-bottom:15px;text-transform:uppercase;}
.column-title{font-family:'Playfair Display',serif;font-size:1.4rem;color:var(--accent);margin:0 0 20px 0;}
.list-vertical{display:flex;flex-direction:column;gap:8px;}
.list-vertical .btn-filter{background:transparent;border:none;color:rgba(255,255,255,0.4);padding:6px 0;text-align:left;font-size:0.8rem;cursor:pointer;transition:0.2s;}
.list-vertical .btn-filter:hover{color:var(--white);}
.list-vertical .btn-filter.active{color:var(--accent);font-weight:600;}
.list-card{display:grid;grid-template-columns:50px auto 1fr;gap:12px;align-items:center;padding:10px;background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.04);border-radius:var(--radius-sm);cursor:pointer;transition:0.3s;}
.list-card:hover{border-color:var(--accent);background:rgba(155,89,182,0.08);background:color-mix(in srgb,var(--accent) 8%,transparent);}
.cover-thumb{width:50px;height:50px;border-radius:3px;overflow:hidden;background:#111;}
.cover-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.cover-thumb .no-img-placeholder{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:0.4rem;background:var(--gradient-placeholder);}
.list-card .rank{font-size:0.7rem;color:var(--accent);font-weight:600;}
.list-card .info{min-width:0;}
.list-card .album-title{font-size:0.75rem;font-weight:600;color:var(--white);margin:0 0 2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.list-card .album-artist{font-size:0.65rem;color:rgba(255,255,255,0.4);font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;}
.essentiels-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:10px;align-items:stretch;}
.essential-card{background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.04);padding:8px;border-radius:3px;display:flex;flex-direction:column;transition:0.3s;cursor:pointer;height:100%;min-width:0;}
.essential-card:hover{border-color:var(--accent);background:rgba(155,89,182,0.08);background:color-mix(in srgb,var(--accent) 8%,transparent);transform:translateY(-3px);}
.essential-card.to-listen{border-color:rgba(155,89,182,0.2);border-color:color-mix(in srgb,var(--accent) 20%,transparent);background:rgba(155,89,182,0.03);background:color-mix(in srgb,var(--accent) 3%,transparent);cursor:default;position:relative;}
.essential-card.to-listen:hover{border-color:rgba(155,89,182,0.3);border-color:color-mix(in srgb,var(--accent) 30%,transparent);background:rgba(155,89,182,0.05);background:color-mix(in srgb,var(--accent) 5%,transparent);transform:none;}
.essential-card.to-listen::before{content:"BIENTÔT";position:absolute;top:4px;right:4px;background:var(--accent);color:var(--white);font-size:0.4rem;padding:2px 4px;border-radius:2px;font-weight:700;letter-spacing:0.5px;z-index:2;}
.cover-container{position:relative;width:100%;aspect-ratio:1;margin-bottom:6px;border-radius:2px;overflow:hidden;background:var(--gradient-placeholder);}
.cover-container img,.essential-card .album-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;display:block;}
.essential-card.to-listen .cover-container::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.4);}
.no-img-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:8px;background:var(--gradient-placeholder);}
.no-img-placeholder span{font-family:'Playfair Display',serif;font-style:italic;color:var(--white);font-size:0.5rem;text-align:center;opacity:0.6;line-height:1.2;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.album-rank{font-size:0.5rem;color:var(--accent);letter-spacing:1px;margin-bottom:4px;font-weight:600;}
.album-title{font-size:0.65rem;font-weight:600;color:var(--white);margin:0 0 2px 0;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.album-artist{font-family:'Playfair Display',serif;font-style:italic;color:rgba(255,255,255,0.4);font-size:0.55rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.year-block{margin-bottom:50px;}
.year-block .column-title{font-size:1.8rem;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid rgba(155,89,182,0.2);border-bottom:1px solid color-mix(in srgb,var(--accent) 20%,transparent);}
.decade-section{margin-bottom:80px;}
.decade-header{display:flex;align-items:center;gap:20px;margin-bottom:30px;}
.decade-title{font-family:'Playfair Display',serif;font-size:2.2rem;color:var(--accent);margin:0;}
.decade-header::after{content:"";flex:1;height:1px;background:rgba(155,89,182,0.15);background:color-mix(in srgb,var(--accent) 15%,transparent);min-width:50px;}
.decade-link{text-decoration:none;color:var(--accent);font-size:0.65rem;font-weight:600;letter-spacing:1px;border:1px solid rgba(155,89,182,0.3);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);padding:6px 12px;transition:0.3s;white-space:nowrap;border-radius:2px;}
.decade-link:hover{background:var(--accent);color:var(--white);}
.page-layout{display:grid;grid-template-columns:220px 1fr;gap:50px;margin:0 auto;max-width:1100px;padding:0 5%;}
.sidebar-filters{position:sticky;top:90px;height:fit-content;display:flex;flex-direction:column;gap:8px;padding-right:20px;}
.sidebar-all{padding:10px 16px;border-radius:var(--radius-lg);font-size:0.75rem;color:rgba(255,255,255,0.5);cursor:pointer;transition:0.2s;border-bottom:1px solid var(--border-subtle);margin-bottom:8px;}
.sidebar-all:hover{color:var(--white);}
.sidebar-all.active{background:rgba(155,89,182,0.15);background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);}
.sidebar-accordion{display:flex;flex-direction:column;gap:4px;}
.sidebar-category{border:none;background:none;}
.sidebar-category summary{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;font-size:0.65rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,0.4);cursor:pointer;list-style:none;border-radius:var(--radius-md);transition:0.2s;}
.sidebar-category summary:hover{background:rgba(255,255,255,0.03);color:rgba(255,255,255,0.6);}
.sidebar-category summary::-webkit-details-marker{display:none;}
.sidebar-category-count{font-size:0.6rem;opacity:0.5;font-weight:400;}
.sidebar-themes{display:flex;flex-direction:column;gap:2px;padding:4px 0 8px 12px;}
.sidebar-theme{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;font-size:0.75rem;color:rgba(255,255,255,0.5);background:none;border:none;cursor:pointer;text-align:left;border-radius:var(--radius-md);transition:0.2s;width:100%;}
.sidebar-theme:hover{background:rgba(255,255,255,0.05);color:rgba(255,255,255,0.8);}
.sidebar-theme.active{background:rgba(155,89,182,0.15);background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);font-weight:500;}
.sidebar-theme-count{font-size:0.65rem;opacity:0.5;}
#theme-select-mobile{display:none;width:100%;padding:12px 16px;background:rgba(255,255,255,0.05);border:1px solid var(--border-hover);border-radius:var(--radius-lg);color:var(--white);font-size:0.8rem;font-family:'Inter',sans-serif;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%233498db' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;}
#theme-select-mobile:focus{outline:none;border-color:var(--accent);}
#theme-select-mobile optgroup{font-weight:600;color:var(--accent);background:#1a1a2e;}
#theme-select-mobile option{font-weight:400;color:var(--white);background:#1a1a2e;padding:8px;}
/* === NOTES PÉDAGOGIQUES === */
.month-divider{font-size:0.6rem;font-weight:600;color:var(--accent);margin:28px 0 12px;padding:0;border:none;letter-spacing:2px;text-transform:uppercase;opacity:0.7;}
.thought-card{background:var(--card-bg);color:var(--card-text);padding:20px 24px 28px;margin-bottom:12px;border:1px solid var(--card-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:0.2s;opacity:0;animation:fadeIn 0.3s ease-out forwards;position:relative;scroll-margin-top:90px;}
.thought-card:hover{background:var(--white);border-color:var(--card-border-hover);box-shadow:var(--shadow-md);transform:translateY(-2px);}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
.note-layout{display:flex;gap:16px;align-items:flex-start;}
.note-thumb{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0;}
.note-content{flex:1;min-width:0;}
.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
.card-header time{font-size:0.6rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;}
.card-header .theme-link,.theme-link{font-size:0.6rem;color:var(--accent);text-decoration:none;cursor:pointer;text-transform:uppercase;letter-spacing:1px;font-weight:600;transition:0.2s;background:rgba(155,89,182,0.1);background:color-mix(in srgb,var(--accent) 10%,transparent);padding:4px 10px;border-radius:var(--radius-lg);}
.card-header .theme-link:hover,.theme-link:hover{background:rgba(155,89,182,0.2);background:color-mix(in srgb,var(--accent) 20%,transparent);}
.note-permalink{position:absolute;bottom:14px;right:18px;font-size:0.7rem;color:#94a3b8;opacity:0;transition:0.2s;text-decoration:none;cursor:pointer;}
.thought-card:hover .note-permalink{opacity:0.5;}
.note-permalink:hover{opacity:1;color:var(--accent);}
.thought-card h2{font-family:'Playfair Display',serif;font-size:1.15rem;margin-bottom:10px;line-height:1.3;color:var(--card-text-dark);}
.thought-card p{font-size:0.88rem;line-height:1.7;color:var(--card-text-dim);margin:0;}
.thought-quote{font-family:'Playfair Display',serif;font-style:italic;font-size:0.85rem;color:#1e40af;border-left:3px solid var(--accent);padding:12px 16px;margin:16px 0 0;background:rgba(52,152,219,0.06);border-radius:0 var(--radius-lg) var(--radius-lg) 0;}
.empty-state{text-align:center;color:var(--text-muted);font-size:0.9rem;padding:40px 20px;background:rgba(255,255,255,0.03);border-radius:var(--radius-xl);margin:20px 0;}
.notes-counter{position:sticky;top:70px;z-index:100;background:var(--bg);padding:12px 0;text-align:left;font-size:0.7rem;color:#555;margin:15px 0;letter-spacing:0.5px;border-bottom:none;}
/* === FILTRES ÉDUCATION === */
.filters-bar{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:50px;padding:0 20px;}
.filters-row{display:flex;align-items:center;gap:15px;margin-bottom:30px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,0.08);position:sticky;top:70px;background:var(--bg);z-index:100;}
.filters-years{display:flex;gap:8px;flex-shrink:0;align-items:center;}
.filters-years .btn-filter{padding:6px 14px;font-size:0.7rem;margin:0;height:28px;display:inline-flex;align-items:center;}
.filters-sommaire{font-size:0.7rem;color:var(--accent);text-decoration:none;opacity:0.7;transition:0.2s;flex-shrink:0;}
.filters-sommaire:hover{opacity:1;text-decoration:underline;}
.filters-count{font-size:0.75rem;color:var(--accent);white-space:nowrap;flex-shrink:0;margin-left:auto;}
.filters-row .search-wrapper{position:relative;flex:0 1 180px;min-width:120px;max-width:none;margin:0;}
.filters-row .search-wrapper #search-input{width:100%;height:28px;padding:0 32px 0 12px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.1);border-radius:4px;color:#fff;font-size:0.7rem;font-family:'Inter',sans-serif;-webkit-appearance:none;appearance:none;box-sizing:border-box;}
.filters-row .search-wrapper #search-input::placeholder{color:rgba(255,255,255,0.3);}
.filters-row .search-wrapper #search-input:focus{outline:none;border-color:var(--accent);}
.filters-row .search-wrapper #clear-search{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:rgba(255,255,255,0.4);font-size:1.2rem;cursor:pointer;display:none;line-height:1;}
.filters-row .search-wrapper #clear-search:hover{color:var(--accent);}
.filters-row .theme-select{height:28px;padding:0 28px 0 10px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.1);border-radius:4px;color:#fff;font-size:0.7rem;font-family:'Inter',sans-serif;cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%233498db' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;min-width:140px;}
.filters-row .theme-select:focus{outline:none;border-color:var(--accent);}
.filters-row .theme-select option,.filters-row .theme-select optgroup{background:#1a1a2e;color:#fff;}
.filters-row .theme-select optgroup{font-weight:600;color:var(--accent);}
/* === CHRONIQUES BLOG === */
.chronique-blog{display:grid;grid-template-columns:150px 1fr;gap:20px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-xl);padding:20px;margin-bottom:20px;transition:0.3s;color:var(--card-text);scroll-margin-top:90px;opacity:0;animation:fadeIn 0.3s ease-out forwards;}
.chronique-blog:hover{background:var(--white);border-color:var(--card-border-hover);box-shadow:var(--shadow-md);transform:translateY(-2px);}
.chronique-blog.highlight{animation:highlightPulse 1s ease-out;}
@keyframes highlightPulse{0%{box-shadow:0 0 0 4px var(--accent);}100%{box-shadow:none;}}
.chronique-thumb{width:150px;height:150px;border-radius:var(--radius-lg);overflow:hidden;background:var(--card-border);flex-shrink:0;}
.chronique-thumb img{width:100%;height:100%;object-fit:cover;}
.chronique-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--accent);color:var(--white);font-family:'Playfair Display',serif;font-size:2rem;font-weight:700;}
.chronique-body{display:flex;flex-direction:column;min-width:0;}
.chronique-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px;font-size:0.7rem;color:var(--text-muted);}
.chronique-meta time{text-transform:uppercase;letter-spacing:1px;}
.chronique-meta .reading-time{opacity:0.7;}
.chronique-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px;}
.chronique-tag{font-size:0.6rem;padding:3px 10px;background:rgba(52,152,219,0.1);color:var(--accent);border-radius:var(--radius-lg);cursor:pointer;transition:0.2s;}
.chronique-tag:hover,.chronique-tag.active{background:var(--accent);color:var(--white);}
.chronique-blog h2{font-family:'Playfair Display',serif;font-size:1.3rem;line-height:1.3;margin-bottom:10px;color:var(--card-text-dark);}
.chronique-blog .chronique-excerpt{font-size:0.9rem;line-height:1.6;color:var(--card-text-dim);margin-bottom:12px;padding:0;background:none;border-radius:0;}
.chronique-blog .chronique-excerpt p{margin:0;font-weight:400;}
.chronique-actions{display:flex;align-items:center;gap:15px;margin-top:auto;}
.chronique-toggle{background:none;border:none;color:var(--accent);font-size:0.7rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;cursor:pointer;padding:0;transition:0.2s;}
.chronique-toggle:hover{opacity:0.7;}
.chronique-toggle[aria-expanded="true"]::before{content:'Réduire ↑';}
.chronique-toggle[aria-expanded="false"]::before{content:'Lire la suite ↓';}
.chronique-permalink{color:#94a3b8;font-size:0.8rem;text-decoration:none;opacity:0;transition:0.2s;}
.chronique-blog:hover .chronique-permalink{opacity:0.5;}
.chronique-permalink:hover{opacity:1;color:var(--accent);}
.chronique-blog .chronique-full{display:none;grid-column:1/-1;padding:25px 0 0;margin-top:20px;border-top:1px solid var(--card-border);font-size:0.95rem;line-height:1.8;color:var(--card-text-dim);}
.chronique-blog .chronique-full.open{display:block;animation:fadeIn 0.3s ease-out;}
.chronique-blog .chronique-full h4{font-family:'Playfair Display',serif;font-size:1.1rem;margin:25px 0 12px;color:var(--card-text-dark);}
.chronique-blog .chronique-full h4:first-child{margin-top:0;}
.chronique-blog .chronique-full p{margin-bottom:15px;}
.chronique-blog .chronique-full .intro{font-weight:500;color:var(--card-text);}
.chronique-blog .chronique-full .conclusion{font-weight:500;color:var(--card-text);margin-top:25px;}
.chronique-blog .chronique-full blockquote{border-left:3px solid var(--accent);padding-left:20px;margin:20px 0;font-style:italic;color:var(--text-muted);}
.chronique-blog .chronique-full ul,.chronique-blog .chronique-full ol{margin:15px 0 15px 20px;}
.chronique-blog .chronique-full li{margin-bottom:8px;}
.chronique-blog .chronique-full::after{display:none;}
/* === FILTRES GLOBAUX === */
.btn-filter{background:rgba(255,255,255,0.03);border:1px solid var(--border-light);color:var(--white);padding:6px 14px;border-radius:var(--radius-sm);cursor:pointer;font-size:0.65rem;transition:0.2s;margin-right:8px;margin-bottom:8px;}
.btn-filter.active{background:var(--accent);border-color:var(--accent);}
.btn-filter:hover{background:rgba(255,255,255,0.06);}
.tag-btn{background:rgba(255,255,255,0.03);border:1px solid var(--border-light);color:var(--white);padding:6px 14px;border-radius:var(--radius-sm);cursor:pointer;font-size:0.65rem;transition:0.2s;margin-bottom:8px;display:block;text-align:left;}
.tag-btn.active{background:var(--accent);border-color:var(--accent);}
.load-more-btn{display:block;margin:0 auto 40px;padding:12px 35px;background:none;border:1px solid var(--accent);color:var(--accent);font-size:0.7rem;font-weight:600;text-transform:uppercase;letter-spacing:2px;cursor:pointer;transition:0.3s;border-radius:var(--radius-md);}
.load-more-btn:hover{background:var(--accent);color:var(--bg);}
.load-more-btn:disabled{opacity:0.3;cursor:not-allowed;}
.loading-spinner{text-align:center;padding:20px;color:var(--accent);font-size:0.8rem;}
.load-more-container{text-align:center;margin:30px 0 50px;}
/* === SOMMAIRE CHRONIQUES === */
.sommaire-month{margin-bottom:35px;}
.sommaire-month-title{font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--accent);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,0.08);text-transform:uppercase;letter-spacing:1px;}
.sommaire-list{list-style:none;padding:0;margin:0;}
.sommaire-item{margin-bottom:2px;}
.sommaire-item .sommaire-link{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius-md);transition:0.2s;text-decoration:none;color:var(--white);}
.sommaire-item.available .sommaire-link{cursor:pointer;}
.sommaire-item.available .sommaire-link:hover{background:rgba(52,152,219,0.08);transform:translateX(4px);}
.sommaire-item.upcoming .sommaire-link{opacity:0.4;cursor:default;}
.sommaire-date{font-size:0.75rem;font-weight:600;color:var(--accent);min-width:40px;flex-shrink:0;letter-spacing:0.5px;}
.sommaire-title{font-size:0.9rem;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sommaire-item.available .sommaire-title{color:var(--white);}
.sommaire-themes{font-size:0.7rem;color:var(--text-muted);flex-shrink:0;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sommaire-badge{font-size:0.6rem;padding:2px 8px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);border-radius:var(--radius-sm);color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;flex-shrink:0;}
@media(max-width:600px){
.sommaire-themes{display:none;}
.sommaire-title{white-space:normal;}
}
/* === SEARCH === */
.search-wrapper{position:relative;max-width:300px;margin-bottom:30px;}
#search-input{width:100%;padding:12px 40px 12px 16px;background:rgba(255,255,255,0.03);border:1px solid var(--border-light);border-radius:var(--radius-md);color:var(--white);font-size:0.85rem;}
#search-input::placeholder{color:#666;}
#search-input:focus{outline:none;border-color:var(--accent);}
#clear-search{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:#666;font-size:1.2rem;cursor:pointer;display:none;}
/* === MUSIQUE CHRONIQUES === */
.chronique-entry{display:grid;grid-template-columns:auto 1fr;gap:20px;padding:20px;background:var(--bg-card);border:1px solid var(--border-subtle);margin-bottom:12px;cursor:pointer;transition:0.3s;align-items:start;min-height:180px;border-radius:var(--radius-lg);}
.chronique-entry:hover{border-color:var(--accent);background:var(--bg-card-hover);}
.album-aside{display:flex;flex-direction:column;align-items:center;gap:12px;}
.cover-box{width:100px;height:100px;background:#000;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--radius-md);}
.cover-box img{width:100%;height:100%;object-fit:cover;}
.cover-box span{color:#333;font-size:2rem;font-family:'Playfair Display',serif;}
.listen-date{text-align:center;font-size:0.65rem;color:rgba(255,255,255,0.5);line-height:1.3;text-transform:uppercase;}
.listen-date strong{font-size:0.75rem;display:inline;color:rgba(255,255,255,0.6);font-weight:600;}
.album-info{display:flex;flex-direction:column;justify-content:flex-start;min-width:0;}
.album-info h3{font-size:0.9rem;margin:0;color:var(--white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.meta{font-family:'Playfair Display',serif;font-style:italic;color:var(--accent);font-size:0.8rem;}
.album-text{font-size:0.7rem;color:rgba(255,255,255,0.4);line-height:1.5;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;margin-top:8px;text-align:justify;}
/* === TOAST === */
.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(100px);background:var(--accent);color:var(--white);padding:12px 24px;border-radius:var(--radius-md);font-size:0.8rem;font-weight:500;opacity:0;transition:transform 0.3s,opacity 0.3s;z-index:9000;pointer-events:none;}
.toast.show{transform:translateX(-50%) translateY(0);opacity:1;}
/* === MODAL === */
.modal{display:none;position:fixed;z-index:10000;left:0;top:0;width:100%;height:100%;background:rgba(10,10,12,0.98);backdrop-filter:blur(10px);align-items:center;justify-content:center;}
.modal.open{display:flex;}
.modal-content{background:#16161a;width:90%;max-width:900px;display:grid;grid-template-columns:300px 1fr;align-items:start;gap:30px;padding:40px;border:1px solid rgba(255,255,255,0.05);position:relative;border-radius:var(--radius-xl);}
.close-modal{position:absolute;top:15px;right:15px;font-size:26px;color:var(--white);cursor:pointer;opacity:0.5;transition:0.3s;background:none;border:none;line-height:1;z-index:1;}
.close-modal:hover{opacity:1;}
.modal-left{background:#000;display:flex;align-items:center;justify-content:center;width:300px;height:300px;border-radius:var(--radius-lg);overflow:hidden;}
.modal-left img{width:100%;height:100%;object-fit:cover;display:block;}
.modal-left .no-img-placeholder{position:relative;width:100%;height:100%;border:none;}
.modal-left .no-img-placeholder span{font-size:1.1rem;}
.modal-right{display:flex;flex-direction:column;justify-content:flex-start;}
#modal-title{font-family:'Playfair Display',serif;font-size:2.2rem;margin:0;color:var(--white);line-height:1.1;}
#modal-artist{font-family:'Playfair Display',serif;font-style:italic;font-size:0.95rem;color:rgba(255,255,255,0.4);margin:10px 0 30px 0;}
#modal-text{color:rgba(255,255,255,0.7);line-height:1.8;font-size:0.95rem;}
/* === FOOTER === */
.site-footer{padding:50px 0 30px;text-align:center;border-top:1px solid #141020;}
.footer-label{font-size:0.7rem;text-transform:uppercase;color:#444;letter-spacing:3px;margin-bottom:15px;}
.mail-link{font-family:'Playfair Display',serif;font-size:1.6rem;color:var(--accent);text-decoration:none;}
.copyright{margin-top:40px;font-size:0.6rem;color:#222;text-transform:uppercase;}
.footer-minimal{padding:30px 0;text-align:center;background:var(--bg);border-top:1px solid rgba(255,255,255,0.05);}
.footer-minimal p{font-size:0.7rem;color:rgba(255,255,255,0.3);text-transform:uppercase;}
.footer-links{font-size:0.7rem;color:rgba(255,255,255,0.3);text-transform:uppercase;letter-spacing:1px;}
.footer-links a{color:rgba(255,255,255,0.3);text-decoration:none;transition:color 0.3s;}
.footer-links a:hover{color:rgba(255,255,255,0.5);}
.footer-alt{padding:80px 0 60px;border-top:1px solid rgba(255,255,255,0.05);}
.footer-label-alt{font-size:0.7rem;letter-spacing:2px;text-transform:uppercase;color:var(--text-dim);margin-bottom:15px;}
.mail-link-lg{font-size:2.2rem;color:var(--white);display:block;margin-bottom:40px;}
.copyright-alt{font-size:0.8rem;opacity:0.3;}
/* === BACK TO TOP === */
#back-to-top{position:fixed;bottom:30px;right:30px;width:45px;height:45px;background:var(--accent);color:var(--bg);border:none;border-radius:50%;cursor:pointer;display:none;z-index:1000;font-size:1.2rem;font-weight:700;transition:0.3s;box-shadow:0 4px 12px rgba(0,0,0,0.2);}
#back-to-top::before{content:'↑';}
#back-to-top:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);}
/* === MEDIA QUERIES === */
@media(min-width:900px){.header-inner{padding:0;}.logo-jl{font-size:1.3rem;padding:10px 20px;}.burger-trigger{width:48px;height:48px;}.burger-trigger span{width:28px;}.burger-trigger span:nth-child(1){top:15px;}.burger-trigger span:nth-child(2){top:23px;}.burger-trigger span:nth-child(3){top:31px;}.burger-trigger.active span:nth-child(1){transform:translateY(8px) rotate(45deg);}.burger-trigger.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}}
@media(max-width:1400px){.essentiels-grid{grid-template-columns:repeat(8,1fr);}}
@media(max-width:1200px){.expertise-grid{grid-template-columns:repeat(3,1fr);gap:10px;}.expertise-grid:has(.exp-card:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr));}.exp-card{padding:15px;}.exp-card h3{font-size:1rem;}.exp-card p{font-size:0.7rem;line-height:1.5;}.monogram{width:32px;height:32px;font-size:0.9rem;margin-bottom:15px;}}
@media(max-width:1100px){.essentiels-grid{grid-template-columns:repeat(6,1fr);}.essentiels-layout{grid-template-columns:1fr;}}
@media(max-width:900px){.expertise-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}.exp-card{padding:20px;}.jardin-grid{grid-template-columns:1fr;}.jardin-stats{border-left:none;border-top:1px solid var(--card-border);}.essentiels-grid{grid-template-columns:repeat(5,1fr);}.sommaire-grid{grid-template-columns:1fr;gap:20px;}.sommaire-block{padding:25px}.modal-content{grid-template-columns:1fr;padding:25px;}.modal-left{width:100%;height:auto;aspect-ratio:1/1;max-height:280px;}.chronique-entry{height:auto;min-height:170px;}.essentiels-layout{grid-template-columns:1fr;gap:40px;}.list-vertical{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;}.page-layout{grid-template-columns:1fr;gap:30px;}.sidebar-filters{position:relative;top:0;flex-direction:column;gap:12px;padding-right:0;}.sidebar-all{width:100%;border-bottom:none;margin-bottom:0;padding:10px 16px;background:rgba(255,255,255,0.05);border-radius:var(--radius-lg);}.sidebar-accordion{display:none;}#theme-select-mobile{display:block;}#back-to-top{bottom:20px;right:20px;width:40px;height:40px;font-size:1rem;}.chronique-blog h2{font-size:1.35rem;}.chronique-blog .chronique-excerpt{font-size:0.92rem;}.chronique-blog .chronique-full{font-size:0.9rem;}.filter-months{justify-content:flex-start;}}
@media(max-width:768px){.tabs-nav{flex-direction:column;gap:10px;}.tab-btn{width:100%;text-align:left;}.manifesto-container,.sommaire-container{padding:0 25px;}.text-item h3{font-size:1.1rem;}.text-item p{font-size:0.9rem;line-height:1.75;}.quote-editorial{font-size:0.9rem;padding:30px 20px;}.cta-editorial{padding:60px 5%;}.cta-editorial h3{font-size:1.6rem;}.company-logo{height:32px;}.company-header{gap:10px;}.flux-cover{width:35px;height:35px;}.flux-slide{gap:0 12px;}.filters-row{flex-wrap:wrap;gap:10px;}.filters-years{flex:1 1 auto;}.filters-row .search-wrapper{flex:0 1 140px;min-width:100px;}}
@media(max-width:700px){.essentiels-grid{grid-template-columns:repeat(4,1fr);gap:8px;}.essential-card{padding:6px;}.album-title{font-size:0.6rem;}.album-artist{font-size:0.5rem;}#modal-title{font-size:1.6rem;}}
@media(min-width:1200px){.stat-label{font-size:0.55rem;}}
@media(max-width:600px){.expertise-grid{grid-template-columns:1fr;}.header-title{font-size:0.65rem;max-width:45%;}.list-vertical{grid-template-columns:1fr;}#modal-title{font-size:1.5rem;}#modal-artist{font-size:0.75rem;margin:8px 0 20px 0;}.flux-cover{width:35px;height:35px;}.stats-row{flex-wrap:wrap;}.stat-col{min-width:70px;padding:8px 4px;}.stat-number{font-size:1rem;}.stat-label{font-size:0.45rem;}.thought-card{padding:16px 18px 24px;margin-bottom:8px;}.thought-card h2{font-size:1.05rem;}.thought-card p{font-size:0.85rem;}.month-divider{margin:22px 0 8px;font-size:0.55rem;}.note-permalink{opacity:0.4;}.month-pill{padding:4px 10px;font-size:0.6rem;}.filters-row{flex-wrap:wrap;padding:12px 0;}.filters-years{order:1;flex:1 1 100%;}.filters-row .search-wrapper{order:2;flex:1 1 45%;max-width:none;min-width:0;}.filters-count{order:3;flex:0 0 auto;}.chronique-blog{grid-template-columns:1fr;}.chronique-thumb{width:100%;height:200px;}.chronique-blog h2{font-size:1.15rem;}.chronique-permalink{opacity:0.4;}}
@media(max-width:500px){.essentiels-grid{grid-template-columns:repeat(3,1fr);gap:6px;}.list-vertical{grid-template-columns:1fr;}}
/* === THEME-COM SPECIFIC === */
body.theme-com .btn-filter.active,body.theme-com .tag-btn.active{background:#333;border-color:#333;color:#fff;}
body.theme-com .theme-link{color:#555;background:rgba(0,0,0,0.06);}
body.theme-com .theme-link:hover{background:rgba(0,0,0,0.1);}
body.theme-com .thought-quote{color:#333;border-left-color:#555;background:rgba(0,0,0,0.04);}
body.theme-com .filters-count{color:#555;}
/* === WISHLIST === */
.wishlist-tabs{display:flex;justify-content:center;gap:10px;margin-bottom:40px;flex-wrap:wrap;}
.wish-tab{padding:10px 24px;background:rgba(255,255,255,0.03);border:1px solid var(--border-light);color:var(--white);cursor:pointer;font-size:0.7rem;text-transform:uppercase;letter-spacing:2px;transition:0.3s;border-radius:4px;}
.wish-tab:hover{background:rgba(255,255,255,0.06);}
.wish-tab.active{background:var(--accent);border-color:var(--accent);color:var(--bg);}
.wish-tab .tab-icon{margin-right:8px;}
.wishlist-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;}
.wish-card{position:relative;aspect-ratio:1;overflow:hidden;cursor:pointer;background:var(--gradient-placeholder);}
.wish-card img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s ease;}
.wish-card:hover img{transform:scale(1.05);}
.wish-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.85) 0%,rgba(0,0,0,0.4) 50%,transparent 100%);opacity:0;transition:0.3s;display:flex;flex-direction:column;justify-content:flex-end;padding:15px;}
.wish-card:hover .wish-card-overlay{opacity:1;}
.wish-card-title{font-family:'Playfair Display',serif;font-size:1rem;color:#fff;margin:0 0 4px 0;}
.wish-card-meta{font-size:0.7rem;color:rgba(255,255,255,0.7);margin-bottom:6px;}
.wish-card-desc{font-size:0.65rem;color:rgba(255,255,255,0.5);line-height:1.4;margin-top:8px;}
.wish-card-category{position:absolute;top:10px;left:10px;font-size:0.5rem;text-transform:uppercase;letter-spacing:1px;padding:4px 8px;border-radius:2px;font-weight:600;}
.wish-card-category.voyages{background:linear-gradient(135deg,#e8d5b7,#c9a87c);color:#5a4a3a;}
.wish-card-category.equipements{background:linear-gradient(135deg,#d4e5f7,#a8c5e0);color:#3a5a7a;}
.wish-card-category.idees{background:linear-gradient(135deg,#e5d4f7,#c5a8e0);color:#5a3a7a;}
.wish-card-category.experiences{background:linear-gradient(135deg,#f7e5d4,#e0c5a8);color:#7a5a3a;}
.wish-card-priority{position:absolute;top:10px;right:10px;font-size:0.45rem;text-transform:uppercase;letter-spacing:1px;padding:3px 6px;border-radius:2px;font-weight:600;}
.wish-card-priority.bientot{background:var(--accent);color:var(--bg);}
.wish-card-priority.unjour{background:rgba(255,255,255,0.15);color:var(--white);}
.wish-card-priority.peutetre{background:rgba(255,255,255,0.08);color:rgba(255,255,255,0.6);}
.wish-card-link{position:absolute;bottom:10px;right:10px;width:28px;height:28px;background:rgba(255,255,255,0.1);border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transition:0.3s;text-decoration:none;}
.wish-card:hover .wish-card-link{opacity:1;}
.wish-card-link:hover{background:var(--accent);}
.wish-card-link svg{width:14px;height:14px;color:#fff;}
.wish-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;text-align:center;}
.wish-placeholder-icon{font-size:2rem;margin-bottom:10px;opacity:0.3;}
.wish-placeholder-text{font-family:'Playfair Display',serif;font-size:0.9rem;color:rgba(255,255,255,0.4);font-style:italic;}
.empty-state-full{grid-column:1/-1;text-align:center;padding:80px 20px;color:rgba(255,255,255,0.4);}
.empty-state-full p{font-size:0.9rem;margin-bottom:10px;}
.empty-state-full span{font-size:0.7rem;opacity:0.6;}
@media(max-width:900px){.wishlist-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:500px){.wishlist-grid{grid-template-columns:1fr;}.wishlist-tabs{gap:6px;}.wish-tab{padding:8px 16px;font-size:0.6rem;}}
/* === LEVIERS ACCORDÉON === */
.leviers-section{padding:60px 20px;background:var(--bg);max-width:900px;margin:0 auto;}
.leviers-group{margin-bottom:40px;}
.leviers-group-title{font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--accent);margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;gap:12px;}
.leviers-group-title span{font-size:0.7rem;font-weight:600;letter-spacing:1px;opacity:0.7;}
.levier-card{border:1px solid var(--border-subtle);background:var(--bg-card);margin-bottom:8px;border-radius:var(--radius-md);overflow:hidden;transition:border-color 0.3s;}
.levier-card:hover,.levier-card.active{border-color:var(--border-hover);}
.levier-header{display:flex;align-items:center;padding:16px 20px;cursor:pointer;gap:16px;transition:background 0.3s;}
.levier-header:hover{background:rgba(255,255,255,0.02);}
.levier-number{font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--accent);min-width:32px;opacity:0.7;}
.levier-title{flex:1;font-size:0.95rem;color:var(--white);font-weight:400;line-height:1.4;}
.levier-toggle{width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--accent);opacity:0.5;transition:transform 0.3s,opacity 0.3s;}
.levier-card.active .levier-toggle{transform:rotate(180deg);opacity:1;}
.levier-body{max-height:0;overflow:hidden;transition:max-height 0.4s ease-out;}
.levier-card.active .levier-body{max-height:2000px;transition:max-height 0.6s ease-in;}
.levier-content{padding:24px 30px 30px;margin:0;background:#f8f9fa;border-radius:0 0 var(--radius-md) var(--radius-md);}
.levier-intro{font-size:0.95rem;color:#1a1a2e;line-height:1.7;margin:0 0 20px;font-weight:500;}
.levier-text{font-size:0.88rem;color:#374151;line-height:1.85;margin-bottom:14px;}
.levier-keypoints{margin-top:24px;padding:20px;background:#fff;border-radius:var(--radius-md);border:1px solid #e5e7eb;}
.levier-keypoints-title{font-size:0.7rem;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:#6b7280;margin-bottom:12px;}
.levier-keypoints ul{list-style:none;padding:0;margin:0;}
.levier-keypoints li{font-size:0.8rem;color:#4b5563;padding:6px 0 6px 20px;position:relative;line-height:1.5;}
.levier-keypoints li::before{content:'→';position:absolute;left:0;color:#9ca3af;}
@media(max-width:768px){.levier-content{padding:0 16px 20px 16px;}.levier-header{padding:14px 16px;}.levier-number{min-width:28px;font-size:1rem;}}
/* === LEVIERS CARROUSEL === */
.carousel-section{padding:60px 20px;background:var(--bg);max-width:900px;margin:0 auto;}
.carousel-nav-sections{display:flex;justify-content:center;gap:8px;margin-bottom:30px;flex-wrap:wrap;}
.carousel-section-btn{padding:10px 20px;background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-dim);font-size:0.75rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:all 0.3s;border-radius:var(--radius-md);}
.carousel-section-btn:hover{border-color:var(--border-hover);color:var(--white);}
.carousel-section-btn.active{background:var(--accent);border-color:var(--accent);color:var(--bg);}
.carousel-container{position:relative;overflow:hidden;}
.carousel-slide{display:none;animation:fadeIn 0.4s ease;}
.carousel-slide.active{display:block;}
.carousel-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:40px;min-height:400px;}
.carousel-header{display:flex;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border-subtle);}
.carousel-number{font-family:'Playfair Display',serif;font-size:2rem;color:var(--accent);opacity:0.5;}
.carousel-title{font-family:'Playfair Display',serif;font-size:1.4rem;color:var(--white);line-height:1.3;}
.carousel-intro{font-size:1rem;color:var(--white);line-height:1.7;margin-bottom:24px;font-weight:400;}
.carousel-text{font-size:0.9rem;color:var(--text-dim);line-height:1.8;margin-bottom:16px;}
.carousel-keypoints{margin-top:30px;padding:24px;background:rgba(255,255,255,0.02);border-radius:var(--radius-md);}
.carousel-keypoints-title{font-size:0.7rem;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--accent);margin-bottom:16px;}
.carousel-keypoints ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;}
.carousel-keypoints li{font-size:0.8rem;color:var(--text-dim);padding:6px 0 6px 20px;position:relative;line-height:1.5;}
.carousel-keypoints li::before{content:'→';position:absolute;left:0;color:var(--accent);opacity:0.6;}
.carousel-controls{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:20px;border-top:1px solid var(--border-subtle);}
.carousel-arrow{width:48px;height:48px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.3s;color:var(--accent);}
.carousel-arrow:hover:not(.disabled){background:var(--accent);border-color:var(--accent);color:var(--bg);}
.carousel-arrow.disabled{opacity:0.3;cursor:not-allowed;}
.carousel-arrow svg{width:20px;height:20px;}
.carousel-counter{font-size:0.85rem;color:var(--text-dim);}
.carousel-counter strong{color:var(--white);font-weight:600;}
@media(max-width:768px){.carousel-card{padding:24px;}.carousel-keypoints ul{grid-template-columns:1fr;}.carousel-title{font-size:1.2rem;}.carousel-number{font-size:1.5rem;}}
