.parent-template { -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
.parent-page { color:#10263f; background:#fff; }
.parent-page * { box-sizing:border-box; }
.parent-page .parent-container { width:min(1200px,calc(100% - 64px)); margin-inline:auto; }
.parent-page h1 { font-size:42px!important; color:white!important; margin:56px 0 0!important; line-height:1.15!important; }
.parent-page h2 { font-size:30px!important; line-height:1.25!important; color:#10263f!important; margin:0 0 28px!important; }
.parent-page h3 { font-size:21px!important; line-height:1.35!important; margin:0!important; }
.parent-page p,.parent-page a,.parent-page summary { font-family:'Public Sans',sans-serif!important; }
.parent-page a { color:inherit; text-decoration:none; }
.parent-page a:hover { color:var(--senat-primary,#095aab); }
.parent-page :is(a,button,summary,[tabindex]):focus-visible { outline:3px solid var(--senat-primary,#095aab); outline-offset:4px; }
.parent-page svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; flex:none; }
.parent-banner { padding:36px 0 48px; background:linear-gradient(90deg,rgba(2,15,35,.9),rgba(2,15,35,.35)),var(--parent-photo) center 45%/cover; }
.parent-banner nav { display:flex; gap:14px; align-items:center; color:#fff; font-size:14px; }
.parent-banner a:hover { color:#fff; text-decoration:underline; }
.parent-news { padding-block:56px 24px; }
.parent-section-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:24px; }
.parent-section-heading h2 { margin:0!important; }
.parent-controls { display:flex; gap:8px; }
.parent-controls button { display:grid; place-items:center; background:white; color:var(--senat-primary,#095aab); border:1px solid #cbd8e4; border-radius:50%; width:44px; height:44px; padding:0; cursor:pointer; }
.parent-controls button:first-child svg { transform:rotate(180deg); }
.parent-controls button:disabled { opacity:.35; cursor:default; }
.parent-controls button:hover:not(:disabled) { background:#eaf2fa; }
.parent-news-track { display:flex; gap:24px; overflow:auto; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#bfd0e0 transparent; padding:4px 2px 12px; }
.parent-news-card { flex:0 0 calc((100% - 24px)/2); min-width:0; border:1px solid #cbd8e4; border-radius:12px; overflow:hidden; display:grid; grid-template-columns:40% 60%; background:white; }
.parent-news-card>img { width:100%; height:100%; min-height:260px; object-fit:cover; }
.parent-news-card>div { padding:24px; display:flex; flex-direction:column; gap:18px; min-width:0; }
.parent-news-card { scroll-snap-align:start; }
.parent-news-card h3 { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.parent-news-card h3 a { font:inherit!important; }
.parent-news-card p { color:#526575; font-size:16px!important; line-height:1.6!important; margin:0; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.parent-news-card footer { margin-top:auto; display:flex; justify-content:space-between; align-items:center; gap:8px; font-size:12px; color:#526575; }
.parent-circle { background:#eaf2fa; width:40px; height:40px; display:grid; place-items:center; border-radius:50%; flex:none; color:var(--senat-primary,#095aab)!important; }
.parent-circle svg { transition:transform .2s; }
.parent-circle:hover svg { transform:translateX(3px); }
.parent-news-status { font-size:13px!important; color:#526575; margin:8px 0 0; }
.parent-divider { display:flex; align-items:center; gap:20px; width:min(1200px,calc(100% - 64px)); margin:24px auto 0; }
.parent-divider::before,.parent-divider::after { content:''; height:1px; background:#e0e7ee; flex:1; }
.parent-divider img { width:48px; height:48px; object-fit:contain; }
.parent-intro { display:grid; grid-template-columns:42% 1fr; gap:56px; align-items:center; padding-block:64px; }
.parent-intro>img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:12px; }
.parent-intro p { font-size:18px!important; line-height:1.8!important; margin:0; max-width:65ch; }
.parent-navigation { padding-bottom:64px; }
.parent-accordion { border-top:1px solid #d4dee8; }
.parent-accordion details,.parent-direct { border-bottom:1px solid #d4dee8; }
.parent-accordion summary,.parent-direct>a { display:flex; justify-content:space-between; align-items:center; padding:23px 20px; cursor:pointer; gap:24px; font-size:18px!important; font-weight:600; list-style:none; }
.parent-accordion summary::-webkit-details-marker { display:none; }
.parent-accordion summary:hover,.parent-direct>a:hover { background:#f2f6fa; }
.parent-accordion details[open] { background:#f5f8fc; }
.parent-accordion details[open] summary { color:var(--senat-primary,#095aab); }
.parent-accordion details[open] summary svg { transform:rotate(180deg); }
.parent-children { padding:0 24px 24px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 32px; }
.parent-children a { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px 0; border-bottom:1px solid #dce5ee; font-size:16px!important; }
.parent-related { background:#eef3f8; padding:48px 0 56px; }
.parent-related .parent-container>div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.parent-related a { display:flex; align-items:center; justify-content:space-between; gap:20px; background:white; padding:24px; border-radius:8px; font-size:16px!important; }
@media(max-width:900px) { .parent-news-card { flex-basis:85%; } .parent-intro { gap:32px; } }
@media(max-width:600px) {
 .parent-page .parent-container,.parent-divider { width:calc(100% - 40px); }
 .parent-page h1 { font-size:32px!important; margin-top:40px!important; }
 .parent-page h2 { font-size:26px!important; }
 .parent-news { padding-top:36px; }
 .parent-section-heading { gap:12px; }
 .parent-controls button { width:38px; height:38px; }
 .parent-news-card { flex-basis:100%; grid-template-columns:1fr; }
 .parent-news-card>img { height:190px; min-height:0; }
 .parent-news-card>div { padding:20px; }
 .parent-intro { grid-template-columns:1fr; padding-block:40px; gap:28px; }
 .parent-children,.parent-related .parent-container>div { grid-template-columns:1fr; }
 .parent-accordion summary,.parent-direct>a { padding:20px 8px; }
}
@media(prefers-reduced-motion:reduce) { .parent-circle svg { transition:none; } }
.parent-template .capture-note { display:none; }
.parent-page :is(h2,summary) { scroll-margin-top:120px; }

/* Raffinements de lecture et d’accessibilité. */
.parent-page .parent-controls button {
 background:var(--senat-primary,#095aab)!important; color:#fff!important; border-color:var(--senat-primary,#095aab)!important;
 transition:background .18s ease,transform .18s ease;
}
.parent-page .parent-controls button:is(:hover,:focus-visible):not(:disabled) { background:#073d70!important; border-color:#073d70!important; }
.parent-page .parent-controls button:active:not(:disabled) { transform:scale(.95); }
.parent-page .parent-controls button:disabled { opacity:1; background:#e5edf5!important; border-color:#e5edf5!important; color:#6b7d8f!important; }
.parent-banner nav a { text-decoration:underline; text-underline-offset:4px; min-height:44px; display:inline-flex; align-items:center; }
.parent-banner { background-position:center 48%; }
.parent-news-card footer { font-variant-numeric:tabular-nums; }
.parent-news-card footer span { font-size:14px!important; line-height:1.5; }
.parent-news-card { min-height:286px; }
.parent-news-card h3 { min-height:2.7em; }
.parent-page .parent-intro p { max-width:60ch; line-height:1.85!important; }
.parent-page .parent-nav-help { max-width:70ch; margin:-12px 0 28px; color:#526575; font-size:16px!important; line-height:1.65!important; }
.parent-count { margin-left:auto; flex:none; font-size:13px; font-weight:400; color:#526575; }
.parent-page .parent-accordion summary { justify-content:initial; }
.parent-accordion summary svg { transition:transform .2s ease; }
.parent-accordion details[open] .parent-children { animation:parent-reveal .2s ease-out; }
.parent-related a { min-height:88px; transition:background .18s ease; }
.parent-related a:hover { background:#e1edf8; }
.parent-page ::selection { background:#d5e7fa; color:#10263f; }
@keyframes parent-reveal { from { opacity:.65; transform:translateY(-4px); } to { opacity:1; transform:none; } }
@media(max-width:600px) {
 .parent-count { font-size:12px; }
 .parent-page .parent-controls button { width:44px; height:44px; }
 .parent-accordion summary { gap:12px; }
 .parent-page .parent-intro p { font-size:17px!important; }
}
@media(prefers-reduced-motion:reduce) {
 .parent-page .parent-controls button,.parent-accordion summary svg,.parent-related a { transition:none; }
 .parent-accordion details[open] .parent-children { animation:none; }
}
.parent-related a small { display:block; margin-top:8px; font-size:14px!important; line-height:1.6; font-weight:400; color:#526575; }
/* Répartition présentée sur la page mère Les sénateurs. */
.senators-distribution{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:30px 0 0}
.senators-distribution>div{display:flex;align-items:center;gap:22px;padding:22px;background:#f1f5fa}
.senators-distribution dt{font-family:Barlow,sans-serif;font-size:44px;font-weight:700;line-height:1;color:var(--senat-primary,#095aab)}
.senators-distribution dd{margin:0;font-size:14px;line-height:1.6;color:var(--senat-navy,#102a46)}
@media(max-width:1100px){.senators-distribution{grid-template-columns:1fr}}
@media(min-width:600px) and (max-width:680px){.senators-distribution{grid-template-columns:1fr 1fr}}

/* Arborescence des pages : un même accordéon à chaque niveau. */
.page-tree-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}
.page-tree-heading h2{margin:0 0 10px}.page-tree-heading p{margin:0;color:#4d6276;font-size:15px}
.page-tree-tools{display:flex;gap:8px;flex-shrink:0}.page-tree-tools[hidden]{display:none}
.page-tree-tools button{padding:9px 14px;background:white;color:var(--senat-primary,#095aab);border:1px solid #c3d3e3;border-radius:24px;font-size:13px;min-height:44px}
.page-tree-tools button:hover{background:#eaf2fa}.page-tree-tools button:disabled{opacity:.45;cursor:default}
.page-tree-list{list-style:none;padding:0;margin:0}
.page-tree-list>li{border-bottom:1px solid #dce5ef}
.page-tree nav>.page-tree-list{border-top:1px solid #dce5ef}
.page-tree-branch{margin:0;background:#fff;border-radius:12px}
.page-tree-branch>summary{display:flex;align-items:center;gap:16px;padding:24px 20px;cursor:pointer;list-style:none;color:var(--senat-navy,#102a46);font-size:19px;font-weight:600;border-radius:12px;transition:background-color .18s,color .18s}
.page-tree-branch>summary::-webkit-details-marker{display:none}
.page-tree-branch>summary:hover,.page-tree-link:hover{background:#f1f5fa;color:var(--senat-primary,#095aab)}
.page-tree-branch[open]>summary{color:var(--senat-primary,#095aab);background:#f1f5fa}
.page-tree-title{flex:1;min-width:0;overflow-wrap:anywhere}
.page-tree-count{font-size:12px;font-weight:400;color:#4d6276;white-space:nowrap}
.page-tree-chevron{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e7eff8;flex:none}
.page-tree-chevron svg{transition:transform .26s cubic-bezier(.16,1,.3,1)}
.page-tree-branch[open]>summary .page-tree-chevron svg{transform:rotate(180deg)}
.page-tree-panel{padding:8px 20px 24px 32px}
.page-tree-overview,.page-tree-link{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:56px;padding:16px 20px;border-radius:8px;line-height:1.5;overflow-wrap:anywhere}
.page-tree-overview{font-size:14px;font-weight:600;margin-bottom:8px}
.page-tree-overview span,.page-tree-link>span:last-child{flex:none;transition:transform .18s}
.page-tree-overview:hover span,.page-tree-link:hover>span:last-child{transform:translateX(3px)}
.page-tree-panel .page-tree-branch>summary{font-size:16px;padding:18px 16px}
.page-tree-panel .page-tree-list{border-top:1px solid #dce5ef}
.page-tree-panel .page-tree-panel{padding-left:18px}
.page-tree-panel .page-tree-link{font-size:15px}
@media(max-width:680px){.page-tree-heading{align-items:flex-start;flex-direction:column;gap:18px}.page-tree-branch>summary{padding:18px 10px;gap:10px;font-size:17px;flex-wrap:wrap}.page-tree-title{flex-basis:calc(100% - 48px)}.page-tree-count{order:3;width:100%;padding-left:0}.page-tree-panel{padding:6px 4px 18px 12px}.page-tree-panel .page-tree-panel{padding-left:10px}.page-tree-link,.page-tree-overview{padding:14px 10px}}
@media(prefers-reduced-motion:reduce){.page-tree *{transition:none!important}}
