/* Proposition autonome « Journal citoyen ». Socle, composants et contenus conservés. */
:root { --bg:#f8f6f0; --surface:#fdfcf8; --text:#213d40; --muted:#586963; --line:#d0d6cb; --accent:#28685f; --brand-blue:#2f6079; --brand-blue-soft:#dce6e9; --font-serif:Georgia,"Times New Roman",serif; }
body { background:var(--bg); }
.site-shell { width:min(calc(100% - 4rem),1160px); }
.site-header { background:var(--bg); border-top:5px solid var(--brand-blue); box-shadow:none; }
.site-header .site-header__inner { display:flex; flex-wrap:wrap; align-items:center; gap:1rem 2rem; min-height:0; padding:1.2rem 0 0; border:0; }
.cabs-brand {
  display:flex;
  align-items:center;
  min-width:0;
  text-decoration:none;
}
.cabs-brand__logo-image {
  display:block;
  width:260px;
  max-width:100%;
  height:auto;
  object-fit:contain;
  object-position:left center;
}
.cabs-header-actions { margin-left:auto; }
.cabs-header-cta { color:var(--text); background:transparent; box-shadow:none; border:1px solid var(--line); border-radius:0; }
.site-header .site-nav { flex:0 0 100%; order:3; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.site-header .site-nav__row { justify-content:flex-start; flex-wrap:wrap; gap:0 2.15rem!important; padding:0; }
.site-header .site-nav a { min-height:2.7rem; padding:.62rem 0; font-size:.82rem; font-weight:600; letter-spacing:.025em; color:var(--text); }
.site-header .site-nav a:hover { color:var(--brand-blue); }
.site-nav a[aria-current="page"] { color:var(--brand-blue); }
.journal { padding-top:0; padding-bottom:3.5rem; }
.journal a { text-underline-offset:.25em; }
.journal-intro { display:grid; grid-template-columns:minmax(0,1fr) 230px; gap:4rem; align-items:center; padding:2.8rem 0 2rem; }
.journal-kicker { font-size:.68rem; text-transform:uppercase; font-weight:650; letter-spacing:.16em; color:var(--brand-blue); }
.journal-intro h1 { max-width:22ch; margin:.75rem 0 1rem; font-family:var(--font-serif); font-weight:400; font-size:clamp(2.4rem,4vw,3.5rem); line-height:1.06; letter-spacing:-.045em; }
.journal-intro h1 span { color:#ad784b; }
.journal-intro__lead { max-width:60ch; font-size:1rem; line-height:1.65; color:var(--muted); }
.journal-territory { border-left:1px solid var(--line); padding:0 0 .5rem 2rem; }
.journal-territory strong { display:block; font:400 5.4rem/.9 var(--font-serif); letter-spacing:-.06em; color:#28685f; }
.journal-territory p { margin:.55rem 0 1rem; font:1.1rem/1.4 var(--font-serif); }
.journal-territory a { font-size:.75rem; color:var(--text); }
.journal-principles { display:flex; justify-content:space-between; gap:1rem; padding:.8rem 0; border-block:1px solid var(--line); font-size:.73rem; color:var(--muted); }
.journal-principles a { color:var(--text); }
.journal-section-heading { display:flex; align-items:baseline; justify-content:space-between; gap:1rem; margin-bottom:1.2rem; }
.journal-section-heading h2 { font:400 1.55rem/1.25 var(--font-serif); letter-spacing:-.035em; }
.journal-section-heading a,.journal-section-heading p { color:var(--muted); font-size:.75rem; }
.journal-news { padding:1.9rem 0 2.4rem; }
.journal-news .journal-section-heading h2::after { content:""; display:inline-block; width:1.8rem; height:2px; margin-left:.65rem; vertical-align:.28em; background:var(--brand-blue); opacity:.48; }
.journal-news__grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:2.4rem; }
.journal-feature { background:#e8ede3; border-top:3px solid var(--brand-blue); padding:1.65rem 1.9rem; }
.journal .article-card,.journal .article-card:hover { background:transparent; border:0; border-radius:0; box-shadow:none; transform:none; }
.journal .article-card__body { padding:0; }
.journal .article-card .categories { font-size:.62rem; line-height:1.5; letter-spacing:.075em; color:#49695f; }
.journal-feature .article-card { margin-top:1.8rem; }
.journal-feature .article-card h3 { margin:.65rem 0 1rem; font:400 clamp(1.8rem,3vw,2.8rem)/1.08 var(--font-serif); letter-spacing:-.045em; }
.journal-feature .article-card__summary { font-size:1rem; line-height:1.7; max-width:48ch; }
.journal .article-card__date { font-size:.72rem; color:var(--muted); }
.journal-read { display:inline-flex; align-items:center; gap:2rem; margin-top:1.4rem; color:var(--text); font-size:.85rem; font-weight:600; }
.journal-recent .article-card { padding:1rem 0; border-bottom:1px solid var(--line); }
.journal-recent .article-card:last-child { border-bottom:0; padding-bottom:0; }
.journal-recent .article-card h3 { font:400 1.45rem/1.18 var(--font-serif); letter-spacing:-.025em; margin:.4rem 0; }
.journal-recent .article-card__summary { display:none; }
.journal-recent .article-card__date { margin-top:.5rem; }
.journal-sections { padding:1.7rem 0 2rem; border-top:1px solid var(--line); }
.journal-sections__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.5rem; }
.journal-sections__grid > a { color:var(--text); text-decoration:none; padding-top:.6rem; border-top:2px solid #b5c4b7; }
.journal-section-number { display:flex; justify-content:space-between; color:#63766a; font-size:.72rem; }
.journal-sections h3 { margin:.8rem 0 .65rem; font:400 1.35rem/1.15 var(--font-serif); }
.journal-sections__grid p { font-size:.78rem; line-height:1.65; color:var(--muted); }
.journal-sections__grid > a:hover h3 { text-decoration:underline; }
.journal-archive { border-top:1px solid var(--line); padding-top:1.5rem; }
.journal-archive__row { display:grid; grid-template-columns:10rem 1fr 1rem; gap:1rem; padding:.85rem 0; border-top:1px solid var(--line); align-items:baseline; color:var(--text); text-decoration:none; }
.journal-archive__row time { font-size:.73rem; color:var(--muted); }
.journal-archive__row h3 { font:400 1.05rem/1.4 var(--font-serif); }
.journal-archive__row:hover h3 { text-decoration:underline; }

/* Rubriques et articles — prolongement typographique de l’accueil, sans photo décorative. */
.category-journal { padding-bottom:3.5rem; }
.category-journal .breadcrumb,
.article-page .breadcrumb { margin:1rem 0 0; font-size:.72rem; color:var(--muted); }
.category-journal .breadcrumb a,
.article-page .breadcrumb a { color:var(--muted); }
.category-journal__intro { padding:2.5rem 0 2rem; border-bottom:1px solid var(--line); }
.category-journal__intro h1 { max-width:18ch; margin:.7rem 0 .85rem; font:400 clamp(2.35rem,4vw,3.45rem)/1.04 var(--font-serif); letter-spacing:-.045em; color:var(--text); }
.category-journal__lead { max-width:62ch; margin:0; font-size:1rem; line-height:1.65; color:var(--muted); }
.category-journal__feature { display:grid; grid-template-columns:11rem minmax(0,1fr); gap:2.4rem; margin-top:2rem; padding:1.7rem 1.9rem 1.9rem; background:#e8ede3; border-top:3px solid var(--brand-blue); }
.category-journal__feature-meta { padding-right:1.4rem; border-right:1px solid #c7d2cf; }
.category-journal__feature-meta time { display:block; margin-top:1.3rem; font-size:.74rem; line-height:1.45; color:var(--muted); }
.category-journal .categories { margin:0 0 .65rem; font-size:.62rem; line-height:1.5; letter-spacing:.075em; text-transform:uppercase; color:#49695f; }
.category-journal__feature h2 { max-width:20ch; margin:0; font:400 clamp(2rem,3.5vw,3rem)/1.06 var(--font-serif); letter-spacing:-.045em; }
.category-journal__feature h2 a,
.category-journal__item h3 a { color:var(--text); text-decoration:none; }
.category-journal__feature h2 a:hover,
.category-journal__item h3 a:hover { text-decoration:underline; text-underline-offset:.18em; }
.category-journal__summary { max-width:56ch; margin:1rem 0 0; font-size:1rem; line-height:1.7; color:var(--muted); }
.category-journal__feed { margin-top:2.5rem; padding-top:1.7rem; border-top:1px solid var(--line); }
.category-journal__feed .journal-section-heading h2::after { content:""; display:inline-block; width:1.8rem; height:2px; margin-left:.65rem; vertical-align:.28em; background:var(--brand-blue); opacity:.48; }
.category-journal__list { border-bottom:1px solid var(--line); }
.category-journal__item { display:grid; grid-template-columns:9.5rem minmax(0,1fr) 1.5rem; gap:1.4rem; align-items:start; padding:1.15rem 0; border-top:1px solid var(--line); }
.category-journal__item > time { padding-top:.18rem; font-size:.72rem; line-height:1.4; color:var(--muted); }
.category-journal__item h3 { margin:.25rem 0 .3rem; font:400 1.38rem/1.18 var(--font-serif); letter-spacing:-.025em; }
.category-journal__item-body > p:last-child { max-width:64ch; margin:.35rem 0 0; font-size:.8rem; line-height:1.55; color:var(--muted); }
.category-journal__arrow { padding-top:.2rem; color:var(--brand-blue); text-decoration:none; font-size:1rem; }

.article-page .reading-width { max-width:780px; }
.article-page .article-header { padding:2.4rem 0 1.6rem; border-bottom:1px solid var(--line); }
.article-page .article-header .categories { margin-bottom:.8rem; font-size:.64rem; letter-spacing:.085em; text-transform:uppercase; color:var(--brand-blue); }
.article-page .article-header h1 { margin:0; font:400 clamp(2.4rem,4.7vw,3.8rem)/1.04 var(--font-serif); letter-spacing:-.05em; color:var(--text); }
.article-page .article-summary { max-width:58ch; margin:1.2rem 0 0; font-size:1.08rem; line-height:1.65; color:var(--muted); }
.article-page .article-meta { margin-top:1.25rem; padding-top:.9rem; border-top:1px solid var(--line); font-size:.73rem; color:var(--muted); }
.article-page .article-body { padding-top:1.8rem; font-size:1.04rem; line-height:1.78; }
.article-page .article-body h2,
.article-page .article-body h3 { font-family:var(--font-serif); font-weight:400; letter-spacing:-.025em; color:var(--text); }
.article-page .article-body h2 { margin-top:2.1rem; font-size:1.8rem; line-height:1.2; }
.article-page .article-body h3 { margin-top:1.7rem; font-size:1.35rem; line-height:1.25; }
.article-page .article-body blockquote { margin:1.8rem 0; padding:.3rem 0 .3rem 1.2rem; border-left:3px solid var(--brand-blue); color:var(--muted); }
.article-page .article-body img { margin:1.7rem 0; }
.article-page .article-footer { margin-top:2.5rem; padding-top:1rem; border-top:1px solid var(--line); }

.site-footer { background:#e8ede3; padding-block:1.5rem; }
.site-footer .site-shell { border:0; padding-top:0; }
a:focus-visible,button:focus-visible { outline:2px solid var(--brand-blue); outline-offset:4px; }
@media(max-width:760px) {
 .site-shell { width:calc(100% - 2rem); }
 .site-header .site-header__inner { gap:.8rem; }
 .cabs-brand__logo-image {
   width:190px;
   max-width:72vw;
 }
 .cabs-header-actions { display:none; }
 .site-header .site-nav__row { gap:0 1.25rem!important; }
 .site-header .site-nav a { font-size:.76rem; min-height:2.5rem; padding:.5rem 0; letter-spacing:.015em; }
 .journal-intro { grid-template-columns:1fr; gap:1.4rem; padding:1.8rem 0; }
 .journal-intro h1 { font-size:2.35rem; }
 .journal-territory { display:grid; grid-template-columns:auto 1fr; gap:0 1rem; align-items:center; border-left:0; border-top:1px solid var(--line); padding:1rem 0 0; }
 .journal-territory strong { font-size:3.2rem; grid-row:1/3; }
 .journal-territory p { margin:0; font-size:1rem; }
 .journal-territory p br { display:none; }
 .journal-territory a { margin-top:.4rem; }
 .journal-principles { flex-wrap:wrap; font-size:.68rem; }
 .journal-news__grid { grid-template-columns:1fr; gap:1.7rem; }
 .journal-feature { padding:1.35rem; }
 .journal-feature .article-card { margin-top:1.2rem; }
 .journal-section-heading { flex-wrap:wrap; gap:.4rem; }
 .journal-sections__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem 1rem; }
 .journal-archive__row { grid-template-columns:1fr auto; gap:.2rem 1rem; }
 .journal-archive__row time { grid-column:1/-1; }
 .category-journal__intro { padding:1.8rem 0 1.4rem; }
 .category-journal__intro h1 { font-size:2.35rem; }
 .category-journal__feature { grid-template-columns:1fr; gap:1.1rem; padding:1.35rem; }
 .category-journal__feature-meta { display:flex; justify-content:space-between; gap:1rem; align-items:baseline; padding:0 0 .8rem; border-right:0; border-bottom:1px solid #c7d2cf; }
 .category-journal__feature-meta time { margin:0; white-space:nowrap; }
 .category-journal__feature h2 { font-size:2rem; }
 .category-journal__item { grid-template-columns:1fr auto; gap:.3rem 1rem; }
 .category-journal__item > time { grid-column:1/-1; padding:0; }
 .category-journal__item-body { grid-column:1; }
 .category-journal__arrow { grid-column:2; grid-row:2; align-self:start; }
 .article-page .article-header { padding-top:1.8rem; }
 .article-page .article-header h1 { font-size:2.35rem; }
 .article-page .article-summary { font-size:1rem; }
 .article-page .article-body { font-size:1rem; line-height:1.72; }
}
@media(prefers-reduced-motion:reduce) { main { animation:none; } }
