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

/* CARDS HUB — PICTOGRAMMES */
.card-com{position:relative;overflow:hidden}
.card-com::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-com:hover::after,.card-com:active::after{opacity:0.45}
.card-com--cx::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle cx='15' cy='80' r='6' fill='none' stroke='%23c8c8cc' stroke-width='2.5'/%3E%3Cpath d='M15 74C15 50 85 60 85 30' fill='none' stroke='%23c8c8cc' stroke-width='2.5' stroke-linecap='round'/%3E%3Ccircle cx='85' cy='30' r='6' fill='%23c8c8cc'/%3E%3C/svg%3E")}
.card-com--collab::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cline x1='50' y1='20' x2='20' y2='78' stroke='%23c8c8cc' stroke-width='2'/%3E%3Cline x1='50' y1='20' x2='80' y2='78' stroke='%23c8c8cc' stroke-width='2'/%3E%3Cline x1='20' y1='78' x2='80' y2='78' stroke='%23c8c8cc' stroke-width='2'/%3E%3Ccircle cx='50' cy='20' r='8' fill='%23c8c8cc'/%3E%3Ccircle cx='20' cy='78' r='8' fill='%23c8c8cc'/%3E%3Ccircle cx='80' cy='78' r='8' fill='%23c8c8cc'/%3E%3C/svg%3E")}
.card-com--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='%23c8c8cc' stroke-width='2.5'/%3E%3Ccircle cx='32' cy='74' r='5' fill='%23c8c8cc'/%3E%3Ccircle cx='22' cy='86' r='3.5' fill='%23c8c8cc'/%3E%3Ccircle cx='14' cy='94' r='2.5' fill='%23c8c8cc'/%3E%3C/svg%3E")}

/* LISTE DES RÉFLEXIONS */
#notes-list{display:flex;flex-direction:column;gap:0}
.note-card{display:flex;flex-direction:column;padding:20px;background:var(--light-bg);border-radius:12px;transition:background 0.2s;position:relative;margin-bottom:12px;scroll-margin-top:140px}
.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}
.note-card.highlight{outline:2px solid var(--color-accent)}
.note-card:hover{background:var(--light-bg-hover)}
.note-date{font-size:0.7rem;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}
.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)}
.note-title{font-family:'Playfair Display',serif;font-size:1.1rem;margin-bottom:10px;color:var(--light-text)}
.note-text{font-size:0.9rem;line-height:1.7;color:var(--light-text-dim)}
.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}
.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)}

/* LEVIERS */
.leviers-section{padding:40px 0 80px}
#leviers-container{max-width:800px;margin:0 auto;padding:0 5%}
.leviers-group{margin-bottom:50px}
.leviers-group:last-child{margin-bottom:0}
.leviers-group-title{font-family:'Playfair Display',serif;font-size:1.3rem;color:var(--color-accent);margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid rgba(212,165,116,0.2)}
.leviers-group-title span{font-weight:700;margin-right:8px}
.levier-card{background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.08);margin-bottom:12px;transition:0.3s;scroll-margin-top:90px}
.levier-card:hover{border-color:rgba(212,165,116,0.3)}
.levier-card.active{border-color:var(--color-accent);background:rgba(255,255,255,0.04)}
.levier-header{display:flex;align-items:center;gap:15px;padding:18px 20px;cursor:pointer}
.levier-number{font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--color-accent);min-width:30px}
.levier-title{flex:1;font-size:0.95rem;font-weight:500;color:var(--color-text)}
.levier-permalink{color:var(--color-accent);text-decoration:none;font-size:0.8rem;margin-top:12px;align-self:flex-end}
.levier-toggle{color:var(--color-accent);transition:transform 0.3s}
.levier-card.active .levier-toggle{transform:rotate(180deg)}
.levier-body{max-height:0;overflow:hidden;transition:max-height 0.4s ease}
.levier-card.active .levier-body{max-height:1000px}
.levier-content{padding:0 20px 20px;display:flex;flex-direction:column}
.levier-intro{font-size:0.95rem;font-weight:500;color:var(--color-text);margin-bottom:15px;line-height:1.6}
.levier-text{font-size:0.9rem;line-height:1.7;color:var(--color-text-muted);margin-bottom:12px}
.levier-text:last-of-type{margin-bottom:0}
.levier-keypoints{margin-top:20px;padding:15px 20px;background:rgba(212,165,116,0.05);border-left:2px solid var(--color-accent)}
.levier-keypoints-title{font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--color-accent);margin-bottom:10px}
.levier-keypoints ul{list-style:none;padding:0;margin:0}
.levier-keypoints li{font-size:0.85rem;color:var(--color-text-muted);padding-left:18px;position:relative;margin-bottom:6px;line-height:1.5}
.levier-keypoints li::before{content:'→';position:absolute;left:0;color:var(--color-accent)}
.levier-keypoints li:last-child{margin-bottom:0}

/* PAGE LIGHT */
.page-light{background:var(--color-bg)}
.page-light .hero--compact{background:var(--color-bg)}
.page-light .manifesto-section{background:var(--light-bg);color:var(--light-text);padding:50px 0 30px;max-width:900px;margin-left:auto;margin-right:auto}
.page-light .manifesto-container{max-width:800px;margin:0 auto;padding:0 5%}
.page-light .text-item{margin-bottom:40px}
.page-light .text-item:last-child{margin-bottom:0}
.page-light .text-item h3{font-family:'Inter',sans-serif;font-size:1.1rem;font-weight:700;margin-bottom:12px;color:var(--light-text)}
.page-light .text-item p{font-size:0.9rem;line-height:1.7;color:var(--light-text-dim);margin:0}
.page-light .text-item p + p{margin-top:12px}
.page-light .leviers-section{background:var(--light-bg);max-width:900px;margin-left:auto;margin-right:auto}
.page-light .leviers-group-title{color:var(--light-accent);border-bottom-color:rgba(139,105,20,0.2)}
.page-light .levier-card{background:#fff;border:1px solid var(--light-border)}
.page-light .levier-card:hover{border-color:var(--light-accent-hover)}
.page-light .levier-card.active{border-color:var(--light-accent-hover);background:#faf8f5}
.page-light .levier-number{color:var(--light-accent)}
.page-light .levier-title{color:var(--light-text)}
.page-light .levier-toggle{color:var(--light-accent)}
.page-light .levier-intro{color:var(--light-text)}
.page-light .levier-text{color:var(--light-text-dim)}
.page-light .levier-keypoints{background:rgba(139,105,20,0.05);border-left-color:var(--light-accent-hover)}
.page-light .levier-keypoints-title{color:var(--light-accent)}
.page-light .levier-keypoints li{color:var(--light-text-dim)}
.page-light .levier-keypoints li::before{color:var(--light-accent)}

/* ACCESSIBILITÉ — FOCUS VISIBLE */
.load-more-btn:focus-visible{box-shadow:0 0 0 3px var(--color-accent)}
.load-more-btn:focus{outline:none}
.levier-header:focus-visible{box-shadow:0 0 0 3px var(--color-accent)}
.levier-header: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}

/* 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)}
#back-to-top:focus-visible{box-shadow:0 0 0 3px var(--color-accent)}
#back-to-top:focus{outline:none}

/* EMPTY STATE */
.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){
.levier-header{padding:15px}
.levier-content{padding:0 15px 15px}
.page-light .manifesto-section{padding:40px 0 20px}
}

/* ── HERO-NEWS CARTE + MODAL ── */
.hn-grid{display:grid;grid-template-columns: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-overlay{padding:12px}
.hn-modal{max-height:92vh}
}
