/* FinitoApp — styles partages des pages interieures (guides, articles, aide, ressources)
   Extrait des <style> inline dupliques (9 pages) pour beneficier du cache immutable 1 an.
   Charge APRES main.css : il en override html/body background et .bg-orb. */
/* Fond clair identique au site de base (reprend le degrade de .bg-wrap), car html/body sont fonces dans main.css */
html { background: #f8f9ff; }
body { background: #f8f9ff; }
.bg-orb { display: none; }  /* fond bleute + grille du bg-wrap, sans halos */
.legal-page { padding: 2.5rem 0 4rem; position: relative; z-index: 1; }
.legal-content { max-width: 760px; margin: 0 auto; }
.legal-content h1 { font-family:'Cormorant Garamond',serif; font-size:clamp(1.9rem,4vw,2.6rem); color:#0f2a5e; line-height:1.15; margin:0 0 0.6rem; }
.legal-content h2 { font-family:'DM Sans',sans-serif; font-size:1.3rem; color:#0f2a5e; margin:2.2rem 0 0.8rem; padding-bottom:0.4rem; border-bottom:1px solid rgba(37,99,235,0.1); }
.legal-content h3 { font-family:'DM Sans',sans-serif; font-size:1.05rem; color:#1d4ed8; margin:1.6rem 0 0.5rem; }
.legal-content p, .legal-content li { font-size:0.96rem; color:#2d5494; line-height:1.75; }
.legal-content ul { padding-left:1.4rem; margin:0.5rem 0 1rem; }
.legal-content li { margin-bottom:0.35rem; }
.legal-content a { color:#1d4ed8; text-decoration:underline; }
.legal-content strong { color:#0f2a5e; }
.legal-content em { color:#3b62a0; }
.legal-content blockquote { margin:1.2rem 0; padding:0.9rem 1.2rem; background:linear-gradient(135deg,rgba(37,99,235,0.06),rgba(124,58,237,0.05)); border-left:4px solid #2563eb; border-radius:10px; font-size:0.95rem; color:#1a2f5a; }
.legal-content table { width:100%; border-collapse:collapse; margin:1.4rem 0; font-size:0.9rem; background:rgba(255,255,255,0.55); border:1px solid rgba(37,99,235,0.14); border-radius:12px; overflow:hidden; }
.legal-content thead th { background:rgba(37,99,235,0.07); color:#0f2a5e; font-family:'DM Sans',sans-serif; font-weight:700; font-size:0.8rem; text-align:left; }
.legal-content th, .legal-content td { padding:0.6rem 0.85rem; border-bottom:1px solid rgba(37,99,235,0.1); text-align:left; vertical-align:top; }
.legal-content tbody tr:last-child td { border-bottom:none; }
.legal-content td strong, .legal-content th[scope="row"] { color:#0f2a5e; }
.guide-intro { font-size:1.08rem; color:#2d5494; line-height:1.65; margin:0 0 1.8rem; max-width:640px; }
.bubble-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.1rem; margin:0 0 2.2rem; }
.bubble { background:linear-gradient(140deg, rgba(255,255,255,0.6), rgba(219,234,254,0.32)); backdrop-filter:blur(22px) saturate(1.6); -webkit-backdrop-filter:blur(22px) saturate(1.6); border:0.5px solid rgba(255,255,255,0.7); border-radius:20px; padding:1.5rem 1.6rem; box-shadow:0 2px 0 rgba(255,255,255,0.78) inset, 0 10px 30px rgba(37,99,235,0.08); }
.bubble h3 { font-family:'DM Sans',sans-serif; font-size:1.05rem; font-weight:700; color:#0f2a5e; margin:0 0 0.4rem; border:none; padding:0; }
.bubble p { font-size:0.94rem; color:#2d5494; line-height:1.6; margin:0; }
@media(max-width:600px){ .bubble-grid{ grid-template-columns:1fr; } }
.guide-table-wrap { margin:0 0 2.2rem; }
.guide-table-wrap h2 { font-size:1.1rem; }
.guide-highlight { display:flex; gap:0.8rem; align-items:flex-start; background:linear-gradient(135deg,rgba(37,99,235,0.08),rgba(124,58,237,0.06)); border:1px solid rgba(37,99,235,0.2); border-left:4px solid #2563eb; border-radius:14px; padding:1rem 1.2rem; margin:0 0 2.2rem; }
.guide-highlight .emo { font-size:1.4rem; line-height:1; flex-shrink:0; }
.guide-highlight p { margin:0; font-size:0.95rem; color:#1a2f5a; font-weight:500; line-height:1.5; }
.guide-chapter { margin:2.8rem 0 0; }
.chapter-label { font-family:'DM Sans',sans-serif; font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:0.12em; color:#2563eb; margin:0 0 0.4rem; }
.legal-content .chapter-title { font-family:'Cormorant Garamond',serif; font-weight:600; font-size:clamp(1.75rem,3.6vw,2.6rem); color:#0f2a5e; line-height:1.18; letter-spacing:-0.01em; margin:0 0 0.5rem; border:none; padding:0; }
.legal-content .chapter-title em { color:#2563eb; font-style:italic; }
.legal-content .chapter-intro { font-size:1.02rem; color:#2d5494; line-height:1.65; margin:0 0 1.3rem; max-width:660px; }
.law-block { background:rgba(15,42,94,0.04); border:1px solid rgba(37,99,235,0.16); border-left:4px solid #2563eb; border-radius:14px; padding:1.1rem 1.4rem; margin:1.4rem 0; }
.law-ref { font-family:'DM Sans',sans-serif; font-size:0.74rem; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; color:#1d4ed8; margin:0 0 0.55rem; }
.law-text { font-size:0.92rem; color:#1a2f5a; line-height:1.7; font-style:italic; white-space:pre-line; margin:0; }
.law-src { font-size:0.72rem; color:#94a3b8; margin:0.5rem 0 0; font-style:normal; }
.guide-cta { text-align:center; background:linear-gradient(140deg, rgba(219,234,254,0.95) 0%, rgba(191,219,254,0.9) 50%, rgba(147,197,253,0.85) 100%); backdrop-filter:blur(24px) saturate(1.7); -webkit-backdrop-filter:blur(24px) saturate(1.7); border:1.5px solid rgba(96,165,250,0.5); border-radius:24px; padding:2.4rem 1.7rem; margin:2.8rem 0 1rem; box-shadow:0 1px 0 rgba(255,255,255,0.9) inset, 0 16px 44px rgba(37,99,235,0.22); }
.guide-cta h2 { color:#0f2a5e; border:none; padding:0; margin:0 0 0.5rem; font-family:'Cormorant Garamond',serif; font-weight:600; font-size:clamp(1.5rem,3vw,2.1rem); line-height:1.2; }
.guide-cta p { color:#2d5494; margin:0 auto 1.4rem; font-size:0.95rem; max-width:470px; line-height:1.6; }
.legal-content .guide-cta-btn { position:relative; overflow:hidden; display:inline-flex; align-items:center; justify-content:center; background:linear-gradient(155deg,#1e3a8a 0%,#1d4ed8 30%,#2563eb 60%,#60a5fa 82%,#93c5fd 100%); color:#fff; text-decoration:none; padding:0.95rem 2.1rem; border-radius:16px; border:1px solid rgba(255,255,255,0.3); font-family:'DM Sans',sans-serif; font-weight:600; font-size:0.98rem; box-shadow:0 8px 32px rgba(37,99,235,0.22), 0 2px 8px rgba(0,0,0,0.06), inset 0 1px 0 rgba(255,255,255,0.45); backdrop-filter:blur(20px) saturate(200%); -webkit-backdrop-filter:blur(20px) saturate(200%); text-shadow:0 1px 2px rgba(0,0,0,0.15); transition:box-shadow .2s ease, transform .2s ease; }
.guide-cta-btn::before { content:''; position:absolute; inset:0; border-radius:inherit; pointer-events:none; background:linear-gradient(160deg, rgba(255,255,255,0.38) 0%, rgba(255,255,255,0.15) 40%, rgba(255,255,255,0.05) 60%, rgba(255,255,255,0.18) 100%); }
.guide-cta-btn:hover { box-shadow:0 12px 40px rgba(37,99,235,0.3), 0 3px 10px rgba(0,0,0,0.07), inset 0 1px 0 rgba(255,255,255,0.5); transform:translateY(-1px); }
.legal-content .guide-cta-btn, .legal-content .guide-cta-btn span { color:#fff !important; }
.guide-cta-btn span { position:relative; }
.res-crumb { margin-bottom:1.5rem; }
.res-crumb a { display:inline-flex; align-items:center; gap:0.25rem; font-family:'Cormorant Garamond',serif; font-weight:600; font-size:clamp(1.2rem,2.4vw,1.5rem); letter-spacing:-0.01em; color:#2563eb; text-decoration:none; padding:0.45rem 1.2rem; border-radius:14px; background:linear-gradient(135deg, rgba(255,255,255,0.72), rgba(219,234,254,0.45)); border:1px solid rgba(255,255,255,0.7); box-shadow:0 2px 12px rgba(37,99,235,0.09), inset 0 1px 0 rgba(255,255,255,0.75); backdrop-filter:blur(14px) saturate(1.5); -webkit-backdrop-filter:blur(14px) saturate(1.5); transition:box-shadow .2s ease, transform .2s ease, color .2s ease; }
.res-crumb a:hover { color:#1d4ed8; box-shadow:0 5px 18px rgba(37,99,235,0.16), inset 0 1px 0 rgba(255,255,255,0.85); transform:translateY(-1px); }
.res-meta { font-size:0.8rem; color:#94a3b8; margin:0 0 1.6rem; }
.res-takeaways { background:rgba(37,99,235,0.05); border:1px solid rgba(37,99,235,0.15); border-radius:14px; padding:1.1rem 1.3rem; margin:0 0 2rem; }
.res-takeaways h2 { border:none; margin:0 0 0.5rem; padding:0; font-size:0.78rem; text-transform:uppercase; letter-spacing:0.08em; color:#1d4ed8; }
.res-takeaways ul { margin:0; }
.res-faq { margin-top:2.5rem; }
.res-faq .q { font-family:'DM Sans',sans-serif; font-weight:600; color:#0f2a5e; margin:1.1rem 0 0.3rem; }
.res-faq .a { font-size:0.92rem; color:#2d5494; line-height:1.7; }
.res-prevnext { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-top:2.4rem; }
.res-prevnext a { display:inline-flex; align-items:center; gap:0.3rem; font-family:'Cormorant Garamond',serif; font-weight:600; font-size:clamp(1.1rem,2.2vw,1.4rem); letter-spacing:-0.01em; color:#2563eb; text-decoration:none; padding:0.5rem 1.25rem; border-radius:14px; background:linear-gradient(135deg, rgba(255,255,255,0.72), rgba(219,234,254,0.45)); border:1px solid rgba(255,255,255,0.7); box-shadow:0 2px 12px rgba(37,99,235,0.09), inset 0 1px 0 rgba(255,255,255,0.75); backdrop-filter:blur(14px) saturate(1.5); -webkit-backdrop-filter:blur(14px) saturate(1.5); transition:box-shadow .2s ease, transform .2s ease, color .2s ease; }
.res-prevnext a:hover { color:#1d4ed8; box-shadow:0 5px 18px rgba(37,99,235,0.16); transform:translateY(-1px); }
.modeles-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(340px,1fr)); gap:1.6rem; margin:2.4rem 0 1rem; }
.legal-content > .chapter-title { margin-top:5rem; }
.doc-card { display:flex; flex-direction:column; background:linear-gradient(140deg, rgba(255,255,255,0.6), rgba(219,234,254,0.32)); backdrop-filter:blur(22px) saturate(1.6); -webkit-backdrop-filter:blur(22px) saturate(1.6); border:0.5px solid rgba(255,255,255,0.7); border-radius:20px; overflow:hidden; box-shadow:0 2px 0 rgba(255,255,255,0.78) inset, 0 12px 34px rgba(37,99,235,0.09); }
.doc-body { padding:1.2rem 1.3rem 1.4rem; display:flex; flex-direction:column; flex:1; }
.doc-format { font-family:'DM Sans',sans-serif; font-size:0.66rem; font-weight:700; text-transform:uppercase; letter-spacing:0.08em; color:#2563eb; margin-bottom:0.35rem; }
.doc-body h3 { font-family:'Cormorant Garamond',serif; font-weight:600; font-size:1.4rem; color:#0f2a5e; margin:0 0 0.35rem; line-height:1.2; border:none; padding:0; }
.doc-body p { font-size:0.9rem; color:#2d5494; line-height:1.55; margin:0 0 1rem; flex:1; }
.doc-dl { position:relative; overflow:hidden; display:inline-flex; align-items:center; justify-content:center; gap:0.4rem; background:linear-gradient(155deg,#1e3a8a 0%,#1d4ed8 30%,#2563eb 60%,#60a5fa 82%,#93c5fd 100%); color:#fff; text-decoration:none; padding:0.7rem 1.2rem; border-radius:13px; border:1px solid rgba(255,255,255,0.3); font-family:'DM Sans',sans-serif; font-weight:600; font-size:0.9rem; box-shadow:0 8px 26px rgba(37,99,235,0.22), inset 0 1px 0 rgba(255,255,255,0.45); text-shadow:0 1px 2px rgba(0,0,0,0.15); transition:box-shadow .2s ease, transform .2s ease; }
.doc-dl::before { content:''; position:absolute; inset:0; border-radius:inherit; pointer-events:none; background:linear-gradient(160deg, rgba(255,255,255,0.38) 0%, rgba(255,255,255,0.15) 40%, rgba(255,255,255,0.05) 60%, rgba(255,255,255,0.18) 100%); }
.doc-dl span { position:relative; }
.doc-dl:hover { box-shadow:0 12px 32px rgba(37,99,235,0.3), inset 0 1px 0 rgba(255,255,255,0.5); transform:translateY(-1px); }
.legal-content .doc-dl, .legal-content .doc-dl span { color:#fff !important; text-decoration:none !important; }
.doc-featured { display:flex; flex-direction:column; margin:2.8rem 0 2.2rem; position:relative; background:linear-gradient(140deg, rgba(219,234,254,0.92) 0%, rgba(199,222,255,0.78) 55%, rgba(174,204,255,0.68) 100%); border:1.5px solid rgba(96,165,250,0.55); box-shadow:0 1px 0 rgba(255,255,255,0.9) inset, 0 18px 52px rgba(37,99,235,0.24); }
.doc-featured .doc-body { padding:1.7rem 1.8rem 1.8rem; }
.doc-featured .doc-body h3 { font-size:1.75rem; }
.doc-featured .doc-body p { flex:0 0 auto; max-width:560px; }
.doc-featured .doc-dl { align-self:flex-start; font-size:0.95rem; padding:0.8rem 1.6rem; }
.doc-free-badge { position:absolute; top:16px; right:16px; background:linear-gradient(135deg,#16a34a,#22c55e); color:#fff; font-family:'DM Sans',sans-serif; font-size:0.66rem; font-weight:800; text-transform:uppercase; letter-spacing:0.1em; padding:5px 12px; border-radius:100px; box-shadow:0 4px 14px rgba(22,163,74,0.35); }
.pv-pages { display:grid; grid-template-columns:repeat(3,1fr); gap:0.9rem; margin-top:1.5rem; }
.pv-pages a { display:block; }
.pv-pages img { width:100%; height:auto; display:block; border-radius:10px; border:1px solid rgba(37,99,235,0.2); box-shadow:0 8px 22px rgba(15,42,94,0.1); background:#fff; transition:transform .2s ease, box-shadow .2s ease; }
.pv-pages a:hover img { transform:translateY(-3px) scale(1.02); box-shadow:0 14px 30px rgba(37,99,235,0.22); }
.pv-pages.two { grid-template-columns:repeat(2,1fr); max-width:640px; }
@media (max-width: 640px) {
  .doc-featured .doc-dl { align-self:stretch; }
  .pv-pages { gap:0.55rem; }
  .legal-content > .chapter-title { margin-top:3rem; }
  .legal-content .aide-faq { margin-top:3rem; }
  .doc-featured { margin-top:2rem; }
}
.modeles-note { font-size:0.85rem; color:#94a3b8; font-style:italic; text-align:center; margin:1.8rem auto 0; max-width:560px; }
.res-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:1.2rem; margin-top:2rem; }
.res-card { display:block; text-decoration:none; padding:1.4rem 1.5rem; background:rgba(255,255,255,0.6); border:1px solid rgba(37,99,235,0.14); border-radius:18px; box-shadow:0 6px 24px rgba(37,99,235,0.05); transition:transform .2s ease, box-shadow .2s ease; }
.res-card:hover { transform:translateY(-2px); box-shadow:0 12px 32px rgba(37,99,235,0.12); }
.res-card h2 { font-family:'Cormorant Garamond',serif; font-size:1.3rem; color:#0f2a5e; margin:0 0 0.5rem; border:none; padding:0; }
.res-card p { font-size:0.9rem; color:#2d5494; line-height:1.6; margin:0; }
.res-card .more { display:inline-block; margin-top:0.7rem; color:#1d4ed8; font-weight:600; font-size:0.85rem; }
.aide-faq { margin-top:5rem; }
.aide-faq > p { font-size:0.95rem; }
.aide-theme { font-family:'DM Sans',sans-serif; font-size:1.12rem; font-weight:700; color:#0f2a5e; margin:2rem 0 0.8rem; }
.aide-faq .faq-item { margin-bottom:0.85rem; }
.aide-faq .faq-q { font-family:'DM Sans',sans-serif; font-weight:700; font-size:0.95rem; }
.aide-faq .faq-item.open .faq-a { max-height:6000px; }
.aide-faq .faq-item:not(.open) .faq-a { content-visibility:hidden; }
.aide-plat { display:block; font-family:'DM Sans',sans-serif; color:#0f2a5e; margin:0.9rem 0 0.25rem; font-size:0.86rem; }
.aide-faq .faq-a ol { padding-left:1.3rem; margin:0.15rem 0 0.5rem; }
.aide-faq .faq-a li { font-size:0.87rem; color:#2d5494; line-height:1.55; margin-bottom:0.28rem; }
.aide-note { background:rgba(37,99,235,0.05); border-left:3px solid #93c5fd; border-radius:8px; padding:0.6rem 0.9rem; font-size:0.83rem; color:#3b62a0; margin-top:0.7rem; line-height:1.55; }
.aide-badge { display:inline-block; font-family:'DM Sans',sans-serif; font-size:0.6rem; font-weight:800; letter-spacing:0.08em; padding:2px 8px; border-radius:100px; vertical-align:middle; margin-left:0.45rem; }
.aide-badge.pro { background:rgba(37,99,235,0.1); color:#1d4ed8; border:1px solid rgba(37,99,235,0.25); }
.aide-badge.max { background:rgba(124,58,237,0.1); color:#6d28d9; border:1px solid rgba(124,58,237,0.25); }
.aide-badge.lite { background:rgba(22,163,74,0.08); color:#16a34a; border:1px solid rgba(22,163,74,0.22); }

/* ── Rôles & droits sur un chantier (page Aide) ── */
.roles-sub { font-family:'DM Sans',sans-serif; font-size:1.05rem; font-weight:700; color:#1d4ed8; margin:2.2rem 0 0.9rem; }
.role-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.1rem; margin:0 0 1.6rem; }
.role-card { background:linear-gradient(140deg, rgba(255,255,255,0.62), rgba(219,234,254,0.3)); backdrop-filter:blur(22px) saturate(1.6); -webkit-backdrop-filter:blur(22px) saturate(1.6); border:0.5px solid rgba(255,255,255,0.7); border-radius:20px; padding:1.4rem 1.5rem; box-shadow:0 2px 0 rgba(255,255,255,0.78) inset, 0 10px 30px rgba(37,99,235,0.08); }
.role-head { display:flex; align-items:center; gap:0.7rem; margin-bottom:0.85rem; }
.role-dot { width:38px; height:38px; border-radius:50%; flex-shrink:0; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 14px rgba(15,42,94,0.18), inset 0 1px 0 rgba(255,255,255,0.45); }
.role-dot svg { width:19px; height:19px; }
.legal-content .role-card h3 { font-family:'Cormorant Garamond',serif; font-weight:600; font-size:1.4rem; letter-spacing:0.02em; margin:0; padding:0; border:none; }
.role-card ul { list-style:none; padding:0; margin:0; }
.role-card li { position:relative; padding-left:0.95rem; font-size:0.9rem; color:#2d5494; line-height:1.5; margin-bottom:0.45rem; }
.role-card li:last-child { margin-bottom:0; }
.role-card li::before { content:''; position:absolute; left:0; top:0.52em; width:6px; height:6px; border-radius:50%; }
.role-admin .role-dot { background:linear-gradient(140deg,#fbbf24,#ea7c0c); }
.legal-content .role-admin h3 { color:#b45309; }
.role-admin li::before { background:#ea8a20; }
.role-part .role-dot { background:linear-gradient(140deg,#a78bfa,#6d28d9); }
.legal-content .role-part h3 { color:#6d28d9; }
.role-part li::before { background:#7c3aed; }
.role-inter .role-dot { background:linear-gradient(140deg,#60a5fa,#1d4ed8); }
.legal-content .role-inter h3 { color:#1d4ed8; }
.role-inter li::before { background:#2563eb; }
.role-obs .role-dot { background:linear-gradient(140deg,#94a3b8,#475569); }
.legal-content .role-obs h3 { color:#475569; }
.role-obs li::before { background:#64748b; }
@media(max-width:600px){ .role-cards{ grid-template-columns:1fr; } }
.roles-flow { background:rgba(37,99,235,0.05); border:1px solid rgba(37,99,235,0.15); border-radius:14px; padding:1rem 1.2rem; margin:0 0 1.4rem; }
.roles-flow p { font-size:0.9rem; color:#2d5494; line-height:1.6; margin:0 0 0.4rem; }
.roles-flow p:last-child { margin-bottom:0; }
.roles-flow b { color:#0f2a5e; }
.droits-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; margin:0 0 0.9rem; }
.droits-table { width:100%; min-width:580px; border-collapse:collapse; font-size:0.86rem; background:rgba(255,255,255,0.55); border:1px solid rgba(37,99,235,0.14); border-radius:12px; overflow:hidden; }
.droits-table th { background:rgba(37,99,235,0.07); font-family:'DM Sans',sans-serif; font-weight:700; font-size:0.68rem; text-transform:uppercase; letter-spacing:0.05em; color:#0f2a5e; padding:0.6rem 0.5rem; text-align:center; }
.droits-table th:first-child { text-align:left; padding-left:0.85rem; }
.droits-table td { padding:0.5rem; border-bottom:1px solid rgba(37,99,235,0.08); text-align:center; color:#2d5494; vertical-align:middle; }
.droits-table td:first-child { text-align:left; padding-left:0.85rem; }
.droits-table tbody tr:last-child td { border-bottom:none; }
.droits-table .sect td { background:rgba(37,99,235,0.05); font-family:'DM Sans',sans-serif; font-weight:700; font-size:0.72rem; text-transform:uppercase; letter-spacing:0.06em; color:#1d4ed8; }
.droits-table small { display:block; font-size:0.76rem; color:#94a3b8; font-style:italic; line-height:1.35; }
.dr { display:inline-block; width:15px; height:15px; border-radius:50%; vertical-align:middle; }
.dr-o { background:linear-gradient(140deg,#3b82f6,#1d4ed8); box-shadow:0 1px 4px rgba(37,99,235,0.3); }
.dr-l { background:linear-gradient(90deg,#1d4ed8 50%, rgba(37,99,235,0.15) 50%); border:1px solid rgba(37,99,235,0.35); }
.dr-n { background:rgba(37,99,235,0.06); border:1px solid rgba(37,99,235,0.18); }
.droits-legende { display:flex; flex-wrap:wrap; gap:1.3rem; font-size:0.82rem; color:#2d5494; margin:0 0 0.6rem; align-items:center; }
.droits-legende span { display:inline-flex; align-items:center; gap:0.4rem; }
.exemple-card { background:linear-gradient(140deg, rgba(255,255,255,0.6), rgba(219,234,254,0.32)); border:0.5px solid rgba(255,255,255,0.7); border-radius:18px; padding:1.3rem 1.5rem; box-shadow:0 2px 0 rgba(255,255,255,0.78) inset, 0 10px 30px rgba(37,99,235,0.08); margin:0 0 1.2rem; }
.exemple-line { display:flex; gap:0.75rem; align-items:baseline; margin-bottom:0.7rem; font-size:0.9rem; color:#2d5494; line-height:1.5; }
.exemple-line:last-child { margin-bottom:0; }
.exemple-tag { flex-shrink:0; width:126px; text-align:center; font-family:'DM Sans',sans-serif; font-size:0.62rem; font-weight:800; text-transform:uppercase; letter-spacing:0.07em; color:#fff; padding:4px 0; border-radius:100px; }
.tag-admin { background:linear-gradient(135deg,#fbbf24,#ea7c0c); }
.tag-part { background:linear-gradient(135deg,#a78bfa,#6d28d9); }
.tag-inter { background:linear-gradient(135deg,#60a5fa,#1d4ed8); }
.tag-obs { background:linear-gradient(135deg,#94a3b8,#475569); }
@media(max-width:600px){ .exemple-line{ flex-direction:column; gap:0.3rem; } .exemple-tag{ align-self:flex-start; } }

/* Volet roulant du chapitre Rôles — bandeau bleu bien visible, sans JS */
.volet { margin:5rem 0 0; border-radius:22px; border:1.5px solid rgba(96,165,250,0.55); background:linear-gradient(140deg, rgba(219,234,254,0.95) 0%, rgba(199,222,255,0.82) 55%, rgba(174,204,255,0.72) 100%); box-shadow:0 1px 0 rgba(255,255,255,0.9) inset, 0 16px 44px rgba(37,99,235,0.22); }
.volet-toggle { display:flex; align-items:center; gap:1.1rem; padding:1.5rem 1.7rem; cursor:pointer; list-style:none; border-radius:22px; transition:background .2s ease; }
.volet-toggle::-webkit-details-marker { display:none; }
.volet-toggle::marker { content:''; }
.volet-toggle:hover { background:rgba(255,255,255,0.28); }
.volet-txt { flex:1; min-width:0; }
.legal-content .volet-title { display:block; margin:0; padding:0; border:none; font-family:'Cormorant Garamond',serif; font-weight:600; font-size:clamp(1.5rem,3vw,2.1rem); color:#0f2a5e; line-height:1.2; letter-spacing:-0.01em; }
.volet-title em { color:#2563eb; font-style:italic; }
.volet-sub { display:block; font-family:'DM Sans',sans-serif; font-size:0.86rem; font-weight:600; color:#1d4ed8; margin-top:0.35rem; line-height:1.4; }
.volet-chevron { flex-shrink:0; width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:linear-gradient(155deg,#1e3a8a 0%,#2563eb 60%,#60a5fa 100%); box-shadow:0 6px 20px rgba(37,99,235,0.32), inset 0 1px 0 rgba(255,255,255,0.4); transition:transform .3s ease; }
.volet-chevron svg { width:20px; height:20px; }
.volet[open] .volet-chevron { transform:rotate(180deg); }
.volet[open] .v-closed, .volet:not([open]) .v-open { display:none; }
.volet-body { padding:0 1.7rem 1.8rem; }
.volet-body > .aide-faq, .volet-body > .modeles-grid { margin-top:0; }
.volet + .guide-cta { margin-top:5rem; }  /* meme respiration qu'entre deux volets */
.volet-body > .aide-faq > p:first-child { margin-top:1.2rem; }
.volet-body .roles-sub:first-of-type { margin-top:1.4rem; }
@media(max-width:600px){
  .volet { margin-top:3rem; }
  .volet + .guide-cta { margin-top:3rem; }
  .volet-toggle { padding:1.1rem 1.2rem; gap:0.8rem; }
  .volet-body { padding:0 1.2rem 1.3rem; }
}
