/* Échelle et rythme partagés par tous les gabarits intérieurs. */
body:not(.home){--page-title:clamp(1.75rem,2.5vw,2.125rem);--section-title:clamp(1.375rem,1.8vw,1.625rem);--subsection-title:1.25rem;--header-content-width:min(1200px,calc(100% - 64px))}
body:not(.home) #content :is(.wrap,.internal-container,.parent-container){width:min(1200px,calc(100% - 64px));margin-inline:auto}
body:not(.home) #content h1{font-size:var(--page-title)!important;line-height:1.25!important;letter-spacing:-.02em;text-wrap:balance;overflow-wrap:break-word}
body:not(.home) #content h2{font-size:var(--section-title)!important;line-height:1.35!important;text-wrap:balance}
body:not(.home) #content h3{font-size:var(--subsection-title)!important;line-height:1.45!important;text-wrap:pretty}
body:not(.home) #content :is(.directory-card h2,.parent-news-card h3,.conference-card h3){font-size:1.125rem!important;line-height:1.45!important}
body:not(.home) #content #presidence h3{font-size:var(--section-title)!important}
body:not(.home) #content :is(.internal-banner,.parent-banner,.senator-hero){padding-block:24px 36px}
body:not(.home) #content :is(.internal-banner,.parent-banner) h1{margin:24px 0 0!important;max-width:920px}
body:not(.home) #content .breadcrumbs{align-items:baseline;gap:8px 12px;font-size:.8125rem;line-height:1.7;overflow-wrap:anywhere}
body:not(.home) #content :is(.internal-layout,.conference-content,.directory-content,.archive-content,.senator-details){padding-block:40px 64px}
body:not(.home) #content .internal-layout{gap:48px;grid-template-columns:220px minmax(0,1fr)}
body:not(.home) #content .internal-prose{max-width:74ch;font-size:1rem;line-height:1.85;min-width:0}
body:not(.home) #content .entry-content :is(h2,h3,h4){margin:2em 0 .75em!important;scroll-margin-top:140px}
body:not(.home) #content .entry-content>:first-child{margin-top:0!important}
body:not(.home) #content .entry-content section>:first-child{margin-top:0!important}
body:not(.home) #content .entry-content h4{font-size:1.0625rem;line-height:1.5}
body:not(.home) #content .entry-content p{margin:0 0 1.25em}
body:not(.home) #content .internal-related{padding-block:36px 44px}
body:not(.home) #content .internal-related a{border-left:0;border-top:1px solid #cbd8e4;padding:20px;line-height:1.6}
body:not(.home) #content .internal-source{border-left:1px solid var(--blue)}
body:not(.home) #content .internal-toc-title{font-size:.9375rem}
body:not(.home) #content .senator-role :is(h2,h3,h4,h5,p){font-size:1.0625rem!important}
@media(max-width:900px){body:not(.home) #content .internal-layout{grid-template-columns:190px minmax(0,1fr);gap:28px}}
@media(max-width:680px){
 body:not(.home){--header-content-width:calc(100% - 36px)}
 body:not(.home) #content :is(.wrap,.internal-container,.parent-container){width:calc(100% - 36px)}
 body:not(.home) #content .internal-layout{display:block}
 body:not(.home) #content :is(.internal-layout,.conference-content,.directory-content,.archive-content,.senator-details){padding-block:28px 44px}
 body:not(.home) #content :is(.internal-banner,.parent-banner,.senator-hero){padding-block:20px 28px}
 body:not(.home) #content .internal-layout aside{margin-bottom:32px}
}
@media print{body:not(.home) #content .internal-layout{display:block;padding-block:16px}body:not(.home) #content .internal-prose{max-width:none;font-size:11pt}}

.transition-nav{margin-bottom:32px;gap:8px 24px}
.transition-nav a{font-size:15px;min-height:44px;text-decoration:none}
.transition-nav a[aria-current]{color:#102a43;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}
.transition-nav a:hover{text-decoration:underline}

/* Navigation de la présidence : destinations explicites et état courant persistant. */
.president-navigation{display:flex;flex-wrap:wrap;gap:8px 28px;border-bottom:1px solid #d9e3ee;padding-bottom:16px}
.president-navigation a{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:10px 0;color:#405b73;font-weight:500;font-size:15px}
.president-navigation a[aria-current]{color:var(--senat-primary,#095aab);font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:8px}
.president-navigation svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.president-biography>img:first-child{display:block;width:240px;max-height:300px;object-fit:contain;object-position:left bottom;margin-bottom:24px}
.president-speeches{padding-block:40px 64px;min-height:280px}
.president-speeches>p{max-width:70ch}
.president-speech-list{list-style:none;padding:0;margin:28px 0}
.president-speech-list li{padding:20px 0;border-bottom:1px solid #d9e3ee}
.president-speech-list time{font-size:14px;color:#405b73}
.president-speech-list h3{margin:8px 0 0}
@media(max-width:680px){.president-navigation{display:grid;gap:4px}.president-navigation a{padding:12px 0}.president-speeches{padding-block:28px 44px}}

/* Groupes parlementaires : présentation et composition des bureaux. */
.parliamentary-group{padding-block:32px;border-top:1px solid #d9e3ee;scroll-margin-top:120px}
.parliamentary-group-heading{display:grid;grid-template-columns:100px minmax(0,1fr);gap:24px;align-items:center;margin-bottom:24px}
.entry-content .parliamentary-group-heading img{width:100%;height:100px;object-fit:contain;margin:0}
.entry-content .parliamentary-group-heading h2{margin:0 0 12px;font-size:clamp(22px,2.2vw,28px);line-height:1.2;text-wrap:balance}
.entry-content .parliamentary-group-heading p{margin:0;font-size:16px;line-height:1.65}
.parliamentary-group table{width:100%;border-collapse:collapse}
.parliamentary-group caption{text-align:left;font-weight:600;padding:0 0 12px;color:#405b73}
.parliamentary-group th{text-align:left;font-size:12px;letter-spacing:.025em;background:#eef3f8;color:#263e55}
.parliamentary-group th,.parliamentary-group td{padding:14px;border-bottom:1px solid #d9e3ee}
.parliamentary-group td{font-size:14px;line-height:1.6}
.parliamentary-group td a{text-decoration:underline;text-underline-offset:3px}
.parliamentary-group .senators-table:focus-visible{outline:2px solid var(--senat-primary,#095aab);outline-offset:4px}
@media(max-width:680px){.parliamentary-group-heading{grid-template-columns:64px minmax(0,1fr);gap:16px}.entry-content .parliamentary-group-heading img{height:72px}.parliamentary-group th,.parliamentary-group td{padding:10px}.parliamentary-group table{min-width:480px}}
.parliamentary-group-heading>p:empty{display:none}

/* Accès à l’annuaire depuis la rubrique Les sénateurs. */
@layer senat-system {body #content .parent-intro a.senators-directory-link{display:inline-flex;margin-top:20px!important;color:#fff!important}body #content .parent-intro a.senators-directory-link:is(:hover,:focus-visible,:visited){color:#fff!important}}
/* Cartes des rubriques : format horizontal plus compact. */
body:not(.home) .news-parent .page-news-card{min-height:230px}
body:not(.home) .news-parent .page-news-card>img{min-height:230px}
body:not(.home) .news-parent .page-news-card>.news-card-content{padding:18px 20px;gap:12px}
@media(max-width:600px){body:not(.home) .news-parent .page-news-card{min-height:0}body:not(.home) .news-parent .page-news-card>img{height:160px;min-height:0}body:not(.home) .news-parent .page-news-card>.news-card-content{padding:18px}}
