/* EDUCATION.CSS — CSS SPÉCIFIQUE */
/* --- Blocs SEO pré-rendus --- */
.seo-chroniques,.seo-sommaire,.seo-reflexions{display:none}

/* CARDS HUB — PICTOGRAMMES */

.card-edu{position:relative;overflow:hidden}
.card-edu::after{content:'';position:absolute;right:15px;top:15px;width:64px;height:64px;opacity:0.22;background-size:contain;background-repeat:no-repeat;background-position:center;transition:opacity 0.4s;z-index:1;pointer-events:none}
.card-edu:hover::after,.card-edu:active::after{opacity:0.45}
.card-edu--posture::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='38' fill='none' stroke='%236aa8c4' stroke-width='2.5'/%3E%3Cpath d='M50 18L56 50L50 82L44 50Z' fill='none' stroke='%236aa8c4' stroke-width='2'/%3E%3Cpolygon points='50,18 56,50 44,50' fill='%236aa8c4'/%3E%3Ccircle cx='50' cy='50' r='4' fill='%236aa8c4'/%3E%3C/svg%3E")}
.card-edu--soutien::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 25C50 25 35 20 15 22V78C35 76 50 80 50 80' fill='none' stroke='%236aa8c4' stroke-width='2.5' stroke-linecap='round'/%3E%3Cpath d='M50 25C50 25 65 20 85 22V78C65 76 50 80 50 80' fill='none' stroke='%236aa8c4' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E")}
.card-edu--chroniques::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M78 12C60 25 42 48 28 82L24 92' fill='none' stroke='%236aa8c4' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M78 12C72 35 55 55 28 82' fill='none' stroke='%236aa8c4' stroke-width='2'/%3E%3C/svg%3E")}
.card-edu--ref::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cellipse cx='55' cy='40' rx='35' ry='28' fill='none' stroke='%236aa8c4' stroke-width='2.5'/%3E%3Ccircle cx='32' cy='74' r='5' fill='%236aa8c4'/%3E%3Ccircle cx='22' cy='86' r='3.5' fill='%236aa8c4'/%3E%3Ccircle cx='14' cy='94' r='2.5' fill='%236aa8c4'/%3E%3C/svg%3E")}

/* FILTRES */

.filters-sommaire{font-size:0.75rem;color:var(--color-accent);text-decoration:none;border:1px solid var(--color-accent);padding:6px 14px;transition:0.3s}
.filters-sommaire:hover{background:var(--color-accent);color:var(--color-bg)}

/* LISTE DES CONTENUS (NOTES, CHRONIQUES) */

#notes-list{display:flex;flex-direction:column;gap:0}
#chroniques-list{display:flex;flex-direction:column;gap:20px}
.note-card,.chronique-card{background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.08);padding:20px;transition:0.3s;scroll-margin-top:140px}
.note-card{display:flex;flex-direction:column;position:relative;background:var(--light-bg);border:none;border-radius:12px;margin-bottom:12px;scroll-margin-top:140px}
.chronique-card{background:var(--light-bg);border:none;border-radius:12px;display:flex;flex-direction:column}
.note-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.note-avatar{width:32px;height:32px;border-radius:50%;background:var(--color-accent);color:var(--light-bg);display:flex;align-items:center;justify-content:center;font-size:0.6rem;font-weight:600;flex-shrink:0;letter-spacing:0.5px}
.note-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.chronique-thumb{width:100%;max-height:200px;object-fit:cover;margin-bottom:16px}
.note-card:hover{background:var(--light-bg-hover)}
.chronique-card:hover{background:var(--light-bg-hover)}
.note-date{font-size:0.7rem;color:var(--color-accent);letter-spacing:1px;text-transform:uppercase}
.chronique-date{font-size:0.7rem;font-weight:600;color:var(--color-accent);letter-spacing:1px;text-transform:uppercase}
.note-meta-dot{color:var(--light-text-dim);font-size:0.5rem}
.note-theme{display:flex;gap:6px;flex-wrap:wrap}
.chronique-themes{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 8px}
.note-theme span{font-size:0.6rem;padding:2px 8px;background:var(--color-accent-dim);color:var(--color-accent);border-radius:10px;cursor:pointer;transition:opacity 0.2s}
.note-theme span:hover{opacity:0.7}
.note-theme span.active{background:var(--color-accent);color:var(--light-bg)}
.chronique-tag{font-size:0.65rem;padding:3px 8px;background:var(--color-accent-dim);color:var(--color-accent)}
.note-title{font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--light-text);margin-bottom:10px}
.note-text{font-size:0.9rem;line-height:1.7;color:var(--light-text-dim)}
.chronique-title{font-family:'Playfair Display',serif;font-size:1.1rem;line-height:1.7;color:var(--light-text)}
.note-quote{margin-top:15px;padding:12px 15px;border-left:2px solid var(--color-accent);font-style:italic;color:var(--color-accent);font-size:0.85rem}
.note-permalink{color:var(--color-accent);text-decoration:none;font-size:0.8rem;margin-top:12px;align-self:flex-end}
.note-card.highlight{outline:2px solid var(--color-accent)}
.chronique-card.highlight{outline:2px solid var(--color-accent);background:var(--light-bg-hover)}
.chronique-card > a:not(.chronique-permalink){text-decoration:none;color:inherit}
.chronique-intro{font-size:0.85rem;color:var(--light-text-dim);margin-top:8px;line-height:1.6}
.chronique-intro p{margin:0}
.chronique-toggle{background:transparent;border:1px solid var(--color-accent);color:var(--color-accent);padding:8px 20px;font-size:0.7rem;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:0.3s;margin-top:12px}
.chronique-toggle:hover{background:var(--color-accent);color:var(--light-bg)}
.chronique-toggle-bottom{margin-top:30px}
.chronique-content{max-height:0;overflow:hidden;transition:max-height 0.3s ease-out;line-height:1.8;font-size:0.92rem;color:var(--light-text-dim)}
.chronique-content-inner{margin-top:20px;padding-top:20px;border-top:1px solid var(--light-border)}
.chronique-content h3,.chronique-content h4{font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--light-text);margin:24px 0 10px}
.chronique-content h3:first-child,.chronique-content h4:first-child{margin-top:0}
.chronique-content p{margin:0 0 12px}
.chronique-content p.intro{font-size:0.95rem;color:var(--light-text);margin-bottom:20px}
.chronique-content p.conclusion{color:var(--light-text);margin-top:20px;text-indent:0}
.chronique-content p + p{text-indent:2ch}
.chronique-permalink{font-size:0.8rem;color:var(--color-accent);text-decoration:none;margin-top:12px;align-self:flex-end}
.load-more-container{text-align:center;margin-top:30px}
.load-more-btn{background:transparent;border:1px solid var(--color-accent);color:var(--color-accent);padding:12px 30px;font-size:0.75rem;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:0.3s}
.load-more-btn:hover{background:var(--color-accent);color:var(--color-bg)}

/* FAQ (SOUTIEN SCOLAIRE) */

.faq-section{width:100%;padding:60px 0;background:var(--light-bg);max-width:900px;margin-left:auto;margin-right:auto}
.faq-section h2{font-family:'Playfair Display',serif;font-size:1.6rem;color:var(--light-text);text-align:center;margin-bottom:40px}
.faq-list{width:100%;max-width:700px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--light-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(--light-text);cursor:pointer;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';font-size:1.2rem;color:var(--light-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(--light-text-dim);margin:0}
.faq-item p + p{padding-top:10px}

/* SOMMAIRE (CHRONIQUES) */

#sommaire-timeline{display:flex;flex-direction:column;gap:40px}
.sommaire-month{margin-bottom:10px}
.sommaire-month-title{font-family:'Playfair Display',serif;font-size:1.2rem;color:var(--color-accent);margin-bottom:15px;padding-bottom:8px;border-bottom:1px solid rgba(212,165,116,0.2)}
.sommaire-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.sommaire-card{display:flex;flex-direction:column;gap:6px;padding:15px;background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.08);transition:0.3s}
.sommaire-card.available{text-decoration:none;color:inherit}
.sommaire-card.available:hover{border-color:var(--color-accent);background:rgba(255,255,255,0.04)}
.sommaire-card.upcoming{opacity:0.5}
.sommaire-date{font-size:0.7rem;color:var(--color-accent);letter-spacing:1px}
.sommaire-title{font-size:0.9rem;line-height:1.4;color:var(--color-text)}
.sommaire-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.sommaire-tag{font-size:0.6rem;padding:2px 6px;background:rgba(212,165,116,0.1);color:var(--color-accent)}
.sommaire-badge{font-size:0.6rem;padding:2px 8px;background:rgba(255,255,255,0.1);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1px;margin-top:auto;align-self:flex-start}

/* PAGE LIGHT (SENS & POSTURE, SOUTIEN SCOLAIRE) */

.page-light{background:var(--color-bg)}
.page-light .hero--compact{background:var(--color-bg)}
.manifesto-section{width:100%;background:var(--light-bg);color:var(--light-text);padding:50px 0 30px;max-width:900px;margin-left:auto;margin-right:auto}
.manifesto-container{max-width:750px;margin:0 auto;padding:0 5%}
.text-item{margin-bottom:40px}
.text-item:last-child{margin-bottom:0}
.text-item h3{font-family:'Inter',sans-serif;font-size:1.1rem;font-weight:700;margin-bottom:16px;color:var(--light-text);letter-spacing:0.5px}
.text-item h3::after{content:'';display:block;width:25px;height:1px;background-color:var(--light-accent-hover);margin-top:8px}
.text-item p{font-size:0.9rem;line-height:1.7;color:var(--light-text-dim);margin:0;text-align:left;max-width:650px}
.text-item p + p{margin-top:12px;text-indent:2ch}
.quote-editorial{margin:50px auto;padding:25px 25px 25px 40px;max-width:600px;border-left:4px solid var(--light-accent-hover);background:transparent;font-family:'Playfair Display',serif;font-size:0.95rem;font-style:italic;line-height:1.5;color:var(--light-accent)}
.quote-editorial cite{display:block;margin-top:15px;font-size:0.85rem;font-style:normal;opacity:0.7}
.page-light .cta-editorial{background:var(--color-bg)}

/* CTA SECTION */

.cta-editorial{background:var(--color-bg);padding:80px 5%;text-align:center}
.cta-editorial h3{font-family:'Playfair Display',serif;font-size:2rem;color:var(--color-text);margin-bottom:20px}
.cta-editorial p{color:var(--color-text-muted);font-size:0.95rem;line-height:1.7;max-width:600px;margin:0 auto 30px}
.btn-main{display:inline-block;padding:12px 32px;border:1px solid var(--color-accent);color:var(--color-accent);text-decoration:none;font-weight:600;font-size:0.75rem;letter-spacing:2px;text-transform:uppercase;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}
.btn-main:hover{background:var(--color-accent);color:var(--color-bg)}

/* TOAST & BACK TO TOP */

#back-to-top{position:fixed;bottom:30px;right:30px;width:45px;height:45px;background:var(--color-accent);color:var(--color-bg);border:none;cursor:pointer;opacity:0;visibility:hidden;transition:0.3s;z-index:1000}
#back-to-top::before{content:'↑';font-size:1.2rem}
#back-to-top.visible{opacity:1;visibility:visible}
#back-to-top:hover{transform:translateY(-3px)}

/* ACCESSIBILITÉ — FOCUS VISIBLE */
.filters-sommaire:focus-visible{box-shadow:0 0 0 3px var(--color-accent)}
.filters-sommaire:focus{outline:none}
.chronique-toggle:focus-visible{box-shadow:0 0 0 3px var(--color-accent)}
.chronique-toggle:focus{outline:none}
.load-more-btn:focus-visible{box-shadow:0 0 0 3px var(--color-accent)}
.load-more-btn:focus{outline:none}
.faq-item summary:focus-visible{box-shadow:0 0 0 3px var(--color-accent);border-radius:var(--radius-sm)}
.faq-item summary:focus{outline:none}
.btn-main:focus-visible{box-shadow:0 0 0 3px var(--color-accent)}
.btn-main:focus{outline:none}
#back-to-top:focus-visible{box-shadow:0 0 0 3px var(--color-accent)}
#back-to-top:focus{outline:none}
.hn-cta:focus-visible{box-shadow:0 0 0 3px var(--color-accent)}
.hn-cta:focus{outline:none}
.hn-modal-close:focus-visible{box-shadow:0 0 0 3px var(--color-accent)}
.hn-modal-close:focus{outline:none}

/* EMPTY STATE & LOADING */

.empty-state{text-align:center;padding:60px 20px;color:var(--color-text-muted);font-size:0.9rem}
.loading{text-align:center;padding:60px 20px;color:var(--color-text-muted);font-size:0.8rem;letter-spacing:1px;text-transform:uppercase}

/* RESPONSIVE */

@media(max-width:900px){
.sommaire-grid{grid-template-columns:1fr}
.faq-section{padding:40px 0}
.manifesto-section{padding:40px 0 20px}
.cta-editorial{padding:60px 5%}
.cta-editorial h3{font-size:1.6rem}
}

/* ── HERO-NEWS CARTES + MODAL ── */
.hn-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.hn-card{background:var(--light-bg);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 2px 16px rgba(0,0,0,0.22);transition:transform 0.2s,box-shadow 0.2s}
.hn-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,0.3)}
.hn-card-top{height:4px;background:var(--color-accent);flex-shrink:0}
.hn-card-header{display:flex;align-items:center;gap:10px;padding:10px 16px 8px;border-bottom:1px solid rgba(30,41,59,0.1)}
.hn-avatar{width:32px;height:32px;border-radius:50%;background:var(--color-accent);color:var(--light-bg);display:flex;align-items:center;justify-content:center;font-size:0.6rem;font-weight:700;flex-shrink:0;letter-spacing:0.5px}
.hn-date{font-size:0.6rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--color-accent)}
.hn-badge{font-size:0.48rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;background:var(--color-accent);color:var(--light-bg);border-radius:20px;padding:2px 9px;line-height:2;margin-left:auto}
.hn-body{padding:12px 16px 8px;flex:1}
.hn-label{font-size:0.55rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--color-accent);margin-bottom:7px;display:flex;align-items:center;gap:6px}
.hn-label::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--color-accent);animation:heroNewsPulse 2s infinite;flex-shrink:0}
.hn-title{font-family:'Playfair Display',serif;font-size:0.95rem;color:var(--light-text);line-height:1.35;margin-bottom:4px}
.hn-meta{font-size:0.6rem;color:var(--light-text-dim)}
.hn-cta{display:flex;align-items:center;justify-content:space-between;padding:10px 16px 12px;border-top:1px solid rgba(30,41,59,0.1);text-decoration:none;background:transparent;border-left:none;border-right:none;border-bottom:none;width:100%;font-family:inherit;cursor:pointer;transition:background 0.15s}
.hn-cta:hover{background:rgba(30,41,59,0.06)}
.hn-cta-label{font-size:0.62rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--color-accent)}
.hn-cta-arrow{font-size:0.85rem;color:var(--color-accent);transition:transform 0.15s}
.hn-cta:hover .hn-cta-arrow{transform:translateX(3px)}
.hn-overlay{position:fixed;inset:0;z-index:500;background:rgba(0,0,0,0.75);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:opacity 0.25s,visibility 0.25s}
.hn-overlay.open{opacity:1;visibility:visible}
.hn-modal{background:var(--light-bg);width:100%;max-width:580px;border-radius:16px;max-height:88vh;display:flex;flex-direction:column;transform:scale(0.95) translateY(8px);transition:transform 0.3s cubic-bezier(0.16,1,0.3,1);box-shadow:0 24px 60px rgba(0,0,0,0.5);overflow:hidden}
.hn-overlay.open .hn-modal{transform:scale(1) translateY(0)}
.hn-modal-top{height:4px;background:var(--color-accent);flex-shrink:0}
.hn-modal-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px 12px;border-bottom:1px solid rgba(30,41,59,0.1);flex-shrink:0;gap:12px}
.hn-modal-hl{display:flex;align-items:center;gap:10px}
.hn-modal-avatar{width:36px;height:36px;border-radius:50%;background:var(--color-accent);color:var(--light-bg);display:flex;align-items:center;justify-content:center;font-size:0.6rem;font-weight:700;flex-shrink:0;letter-spacing:0.5px}
.hn-modal-meta{display:flex;flex-direction:column;gap:2px}
.hn-modal-date{font-size:0.6rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--color-accent)}
.hn-modal-theme{font-size:0.58rem;color:var(--light-text-dim)}
.hn-modal-permalink{color:var(--color-accent);text-decoration:none;font-size:0.8rem;margin-top:12px;align-self:flex-end}
.hn-modal-close{background:none;border:none;cursor:pointer;font-size:1.3rem;color:var(--light-text-dim);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background 0.15s,color 0.15s;flex-shrink:0;line-height:1}
.hn-modal-close:hover{background:rgba(30,41,59,0.1);color:var(--light-text)}
.hn-modal-body{overflow-y:auto;padding:20px 18px 0;flex:1;display:flex;flex-direction:column}
.hn-modal-title{font-family:'Playfair Display',serif;font-size:1.2rem;color:var(--light-text);line-height:1.35;margin-bottom:12px}
.hn-modal-content{font-size:0.9rem;color:var(--light-text);line-height:1.8;margin-bottom:14px}
.hn-modal-quote{font-style:italic;font-size:0.85rem;color:var(--light-text-dim);border-left:2px solid var(--color-accent);padding-left:14px;margin-bottom:20px;line-height:1.65}
.hn-modal-footer{display:flex;align-items:center;justify-content:flex-end;padding:10px 18px 12px;border-top:1px solid rgba(30,41,59,0.1);flex-shrink:0}
.hn-modal-link{display:inline-flex;align-items:center;gap:6px;font-size:0.62rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--color-accent);text-decoration:none;transition:opacity 0.15s}
.hn-modal-link:hover{opacity:0.75;text-decoration:underline}
@media(max-width:600px){
.hn-grid{grid-template-columns:1fr}
.hero-news.loaded{max-height:380px}
.hn-overlay{padding:12px}
.hn-modal{max-height:92vh}
}
