/* Clair d’Espace 0.2.6 — maquette éditoriale validée le 5 octobre 2026.
 * Couleurs canoniques uniquement. Ciel fixe, local, sans script/animation.
 */
:root { --cde-wide:1180px; --cde-radius:9px; --cde-image-fit:contain; --cde-image-position:50% 50%; }
body.cde-site { background-color:var(--cde-bg); background-image:url('../images/stars.svg'); background-repeat:repeat; background-size:1440px 1080px; }
.cde-site .wp-site-blocks { background:transparent; }
.cde-shell { width:min(var(--cde-wide),calc(100% - 64px)); }
.cde-header { background:transparent; border-color:var(--cde-line); }
.cde-header-inner { min-height:112px; gap:24px; padding-block:12px; }
.cde-brand-wrap { width:250px; }
.cde-brand-tagline { color:var(--cde-logo-baseline); font-size:10px; bottom:4%; }
.cde-nav { flex:1; justify-content:flex-end; gap:18px; font-size:14px; font-weight:500; }
.cde-nav a.cde-nav-link { position:relative; min-height:44px; padding:12px 0; border:0; border-radius:0; background:none; box-shadow:none; color:var(--cde-text); font-weight:500; gap:0; }
.cde-nav a.cde-nav-link svg { display:none; }
.cde-nav a.cde-nav-link:hover,.cde-nav a.cde-nav-link[aria-current="page"] { color:var(--cde-sky); background:none; border:0; box-shadow:none; transform:none; }
.cde-nav a.cde-nav-link[aria-current="page"]::after { content:""; position:absolute; height:2px; bottom:3px; inset-inline:0; background:var(--cde-sky); }
.cde-search > summary { width:44px; height:44px; border-color:var(--cde-line); background:var(--cde-panel); }
.cde-search > summary:hover { background:var(--cde-panel); border-color:var(--cde-sky); transform:none; }
.cde-search > summary svg { width:20px; height:20px; stroke-width:1.4; }
.cde-search-panel { background:var(--cde-panel); }
.cde-search-form input { background:var(--cde-text); color:var(--cde-ink); border-color:var(--cde-line); }
.cde-button:hover { background:var(--cde-text); }
.cde-badge { padding:6px 9px; border:0; border-radius:3px; font-size:10px; line-height:1.15; letter-spacing:.8px; font-weight:700; }
.cde-editorial-heading { display:flex; align-items:center; gap:13px; margin:0 0 22px; font-size:23px; line-height:1.25; font-weight:650; letter-spacing:-.4px; }
.cde-editorial-heading::before { content:""; width:22px; height:3px; flex:none; background:var(--cde-sky); }
.cde-home-focus { padding-block:34px 0; }
.cde-focus-card { display:grid; grid-template-columns:minmax(0,56fr) minmax(0,44fr); overflow:hidden; border-radius:10px; background:var(--cde-panel); }
.cde-focus-image { display:flex; align-items:center; justify-content:center; background:var(--cde-deep); min-width:0; }
.cde-focus-image .cde-image,.cde-focus-image .cde-placeholder { position:static; display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:var(--cde-image-fit); object-position:var(--cde-image-position); }
.cde-focus-image .cde-placeholder { display:flex; }
.cde-focus-copy { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:20px; padding:32px; border-left:1px solid var(--cde-line); min-width:0; }
.cde-focus-copy h1 { margin:0; font-size:clamp(27px,2.4vw,32px); line-height:1.23; letter-spacing:-.65px; font-weight:650; text-wrap:balance; }
.cde-focus-copy h1 a:hover { color:var(--cde-sky); }
.cde-focus-copy > p { color:var(--cde-muted); font-size:15px; line-height:1.7; }
.cde-focus-bottom { display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; width:100%; padding-top:18px; border-top:1px solid var(--cde-line); }
.cde-focus-bottom .cde-meta { max-width:220px; font-size:12px; }
.cde-read-link { display:inline-flex; align-items:center; gap:9px; min-height:44px; color:var(--cde-sky)!important; font-size:13px; font-weight:500; }
.cde-read-link svg { width:18px; height:18px; stroke-width:1.35; }
.cde-read-link:hover { text-decoration:underline!important; text-underline-offset:5px; }
.cde-home-stories { padding-block:40px; }
.cde-stories-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:22px; }
.cde-stories-heading .cde-editorial-heading { margin:0; }
.cde-stories-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:stretch; }
.cde-card--grid,.cde-card--feature { background:var(--cde-panel); border-color:var(--cde-line); border-radius:8px; }
.cde-card-visual { background:var(--cde-deep); }
.cde-card--grid .cde-card-visual { aspect-ratio:16/9; }
.cde-card-visual .cde-image,.cde-card-visual .cde-placeholder { width:100%; height:100%; aspect-ratio:16/9; object-fit:var(--cde-image-fit); object-position:var(--cde-image-position); }
.cde-card a:hover .cde-image { transform:none; }
.cde-card a:hover h3 { color:var(--cde-sky); }
.cde-stories-grid .cde-card-link { display:flex; flex-direction:column; }
.cde-stories-grid .cde-card-text { flex:1; display:flex; flex-direction:column; align-items:flex-start; padding:20px; gap:14px; }
.cde-stories-grid .cde-card h3 { margin:0; font-size:19px; font-weight:600; line-height:1.4; letter-spacing:-.25px; text-wrap:pretty; }
.cde-stories-grid .cde-card .cde-meta { width:100%; margin-top:auto; padding-top:13px; border-top:1px solid var(--cde-line); font-size:12px; }
/* Small catalogues remain deliberate: one companion is a horizontal story. */
.cde-stories-grid--single { grid-template-columns:1fr; }
.cde-stories-grid--single .cde-card-link { display:grid; grid-template-columns:minmax(200px,36%) 1fr; }
.cde-stories-grid--single .cde-card-visual { height:100%; align-self:center; }
.cde-stories-grid--single .cde-card h3 { font-size:22px; max-width:650px; }
.cde-stories-grid--two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.cde-rubrics { padding-block:28px 36px; border-top:1px solid var(--cde-line); }
.cde-rubrics .cde-editorial-heading { font-size:21px; }
.cde-rubrics-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); }
.cde-rubric { min-width:0; padding:0 18px; border-left:1px solid var(--cde-line); }
.cde-rubric:first-child { border:0; padding-left:0; }
.cde-rubric:last-child { padding-right:0; }
.cde-rubric strong { display:flex; align-items:center; justify-content:space-between; gap:6px; min-height:34px; color:var(--cde-sky); font-size:14px; font-weight:500; }
.cde-rubric strong svg { width:14px; height:14px; stroke-width:1.35; }
.cde-rubric p { margin-top:5px; color:var(--cde-muted); font-size:12px; line-height:1.7; }
a.cde-rubric:hover strong { text-decoration:underline; text-underline-offset:5px; }
.cde-footer { background:var(--cde-deep); }
.cde-footer-main { padding-block:28px; }
.cde-footer .cde-brand-wrap { width:215px; }
.cde-footer .cde-brand-tagline { font-size:8.5px; }
.cde-footer nav { font-size:12px; color:var(--cde-muted); }
.cde-footer-bottom { font-size:12px; border-color:var(--cde-line); color:var(--cde-muted); }
.cde-footer-bottom > a { display:inline-flex; align-items:center; gap:7px; }
.cde-footer-bottom > a svg { width:15px; height:15px; stroke-width:1.35; }
/* Shared reading surfaces: stars never compete with the article body. */
.cde-reading-area { background:var(--cde-bg); }
.cde-article-header h1 { font-size:clamp(29px,3.25vw,43px); line-height:1.17; font-weight:650; letter-spacing:-.8px; }
.cde-deck { font-size:18px; color:var(--cde-muted); }
.cde-article-body { color:var(--cde-text); }
.cde-article-body :where(h2,h3,h4) { color:var(--cde-text); font-weight:650; }
.cde-article-body h2 { font-size:27px; }
.cde-article-body h3 { font-size:23px; }
.cde-byline,.cde-byline .cde-meta,.cde-article-cover figcaption { color:var(--cde-muted); }
.cde-side-card,.cde-side-category,.cde-mobile-toc,.cde-sources { background:var(--cde-panel); border-color:var(--cde-line); box-shadow:none; }
.cde-sources { border-left:2px solid var(--cde-sky); }
.cde-side-kicker,.cde-sources-kicker,.cde-eyebrow { color:var(--cde-sky)!important; }
.cde-side-related-image { aspect-ratio:16/9; background:var(--cde-deep); }
.cde-side-related-image .cde-image { display:block; object-fit:cover; object-position:var(--cde-image-position); }
.cde-side-related h3 { font-weight:600; }
.cde-side-category-arrow { width:18px; height:18px; border:0; border-radius:0; background:none; color:var(--cde-sky); }
.cde-side-category-arrow svg { width:18px; height:18px; stroke-width:1.35; }
.cde-toc-card a,.cde-mobile-toc a,.cde-sources a,.cde-article-cover figcaption a { color:var(--cde-sky); }
.cde-toc-card li,.cde-side-related + .cde-side-related { border-color:var(--cde-line); }
.cde-sources-intro,.cde-side-related span { color:var(--cde-muted); }
.cde-sources li { overflow-wrap:anywhere; font-size:14px; }
.cde-reading-area--light { background:var(--cde-text); }
.cde-reading-area--light .cde-article-body,.cde-reading-area--light :where(h2,h3,h4),.cde-reading-area--light a { color:var(--cde-ink); }
.cde-reading-area--light :is(.cde-side-card,.cde-side-category,.cde-mobile-toc,.cde-sources) { background:var(--cde-text); color:var(--cde-ink); border-color:var(--cde-line); }
.cde-reading-area--light :is(.cde-side-kicker,.cde-sources-kicker,.cde-sources-intro,.cde-side-related span,.cde-side-category-arrow) { color:var(--cde-ink)!important; }
.cde-reading-area--light .cde-sources { box-shadow:none; }
@media(max-width:1040px) and (min-width:901px) {
  .cde-header-inner { flex-wrap:wrap; gap:0 24px; padding-block:12px 0; }
  .cde-header-actions { margin-left:auto; }
  .cde-nav { flex:0 0 100%; order:5; justify-content:center; gap:28px; padding-bottom:10px; }
}
@media(max-width:900px) {
  .cde-shell { width:calc(100% - 40px); }
  .cde-header-inner { min-height:96px; gap:12px; flex-wrap:wrap; }
  .cde-brand-wrap { width:240px; }
  .cde-nav { flex:0 0 100%; justify-content:flex-start; gap:4px 25px; padding-bottom:12px; }
  .cde-nav a.cde-nav-link { font-size:15px; min-height:44px; }
  .cde-menu-toggle { min-width:44px; min-height:44px; background:var(--cde-panel); }
  .cde-focus-copy { padding:25px; }
  .cde-focus-copy h1 { font-size:28px; }
  .cde-stories-grid { gap:18px; }
  .cde-rubrics-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px 0; }
  .cde-rubric:nth-child(3n+1) { border:0; padding-left:0; }
  .cde-footer-main { align-items:flex-start; }
}
@media(max-width:700px) {
  .cde-shell { width:calc(100% - 32px); }
  .cde-header-inner { gap:8px; min-height:90px; padding-block:8px; }
  .cde-brand-wrap { width:clamp(178px,55vw,235px); }
  .cde-brand-tagline { font-size:clamp(7px,2.1vw,9.5px); }
  .cde-focus-card { grid-template-columns:1fr; }
  .cde-focus-copy { border:0; padding:23px; gap:17px; }
  .cde-focus-copy h1 { font-size:26px; line-height:1.25; }
  .cde-focus-copy > p { font-size:14px; }
  .cde-home-focus { padding-top:25px; }
  .cde-editorial-heading { font-size:22px; margin-bottom:19px; }
  .cde-home-stories { padding-block:30px; }
  .cde-stories-heading { align-items:flex-start; flex-direction:column; gap:4px; }
  .cde-stories-grid,.cde-stories-grid--two { grid-template-columns:1fr; gap:18px; }
  .cde-stories-grid .cde-card-link,.cde-stories-grid--single .cde-card-link { display:grid; grid-template-columns:36% minmax(0,1fr); }
  .cde-stories-grid .cde-card-visual { height:100%; aspect-ratio:auto; }
  .cde-stories-grid .cde-card-text { padding:16px; gap:12px; }
  .cde-stories-grid .cde-card h3,.cde-stories-grid--single .cde-card h3 { font-size:18px; }
  .cde-stories-grid .cde-card .cde-meta { font-size:11px; }
  .cde-rubrics-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 0; }
  .cde-rubric,.cde-rubric:nth-child(3n+1) { padding:0 14px; border-left:1px solid var(--cde-line); }
  .cde-rubric:nth-child(2n+1) { padding-left:0; border:0; }
  .cde-rubric strong { font-size:13px; }
  .cde-article-header h1 { font-size:30px; }
  .cde-article-body h2 { font-size:25px; }
  .cde-deck { font-size:17px; }
  .cde-footer-main { gap:20px; }
  .cde-footer nav,.cde-footer-bottom { font-size:12px; }
}
@media(max-width:360px) {
  .cde-stories-grid .cde-card-link { display:flex; }
  .cde-stories-grid .cde-card-visual { aspect-ratio:16/9; }
  .cde-header-inner { gap:6px; }
  .cde-brand-wrap { width:178px; }
}
@media print { body.cde-site { background-image:none!important; } }

/* Article topics: native WordPress tags, wrapping on small screens. */
.cde-article-tags{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--cde-line)}
.cde-article-tags h2{font-size:1rem;margin:0 0 1rem;color:inherit}
.cde-article-tags ul{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;margin:0;padding:0}
.cde-article-tags li{margin:0;max-width:100%}
.cde-article-tags a{display:block;padding:.55rem .9rem;border:1px solid var(--cde-line);border-radius:999px;background:var(--cde-panel);color:var(--cde-sky);font-size:.875rem;text-decoration:none;overflow-wrap:anywhere}
.cde-article-tags a:hover{background:var(--cde-ink);text-decoration:underline}
.cde-article-tags a:focus-visible{outline:2px solid var(--cde-sky);outline-offset:3px}

/* Article 0.2.9: cover follows the reading column, with the sidebar alongside. */
.cde-article .cde-reading-area { padding-top:0; }
.cde-reading-main > .cde-article-cover { width:100%; max-width:none; margin:0 0 32px; }
.cde-side-related a { grid-template-columns:minmax(0,1fr); gap:10px; }
.cde-side-related-image { width:100%; }
.cde-side-related h3 { font-size:15px; line-height:1.4; }
.cde-side-related-list { gap:20px; }
.cde-side-related + .cde-side-related { padding-top:20px; }
@media (max-width:767px) {
  .cde-reading-main > .cde-article-cover { margin-bottom:24px; }
  .cde-side-related a { grid-template-columns:minmax(0,1fr); }
}
