/* Cap Cession France V5, couleurs des pages 16–17. */
:root {
  --ink: #1D2362;
  --accent: #EC6608;
  --blue: #6F9DD3;
  --orange-clair: #F29554;
  --porcelaine: #F8F9FB;
  --brume: #E9ECF2;
  --bleu-sombre: #131944;
  --pale: var(--porcelaine);
  --line: #D5D8E1;
  --champ: #858BA1;
  --bouton-fond: var(--ink);
  --bouton-texte: white;
  --bouton-survol: var(--bleu-sombre);
  --fleche: url('assets/fleche-bouton.svg');
}
body :is(h1,h2,h3) { overflow-wrap: break-word; }
body .footer-logo { filter: none; width: min(100%,285px); height: auto; max-height: none; object-fit: contain; border-radius: 0; }
body .nav .logo { max-height: none; object-fit: contain; border-radius: 0; }

.home .header { color: var(--ink); }
.home .header:not(.compact) .logo { filter: none; }
.header .nav, .home .header:not(.compact) .nav {
  background: white;
  box-shadow: inset 0 0 0 1px var(--line);
}

/* Fonds clairs et bleu de la charte. L’orange souligne les détails et les flèches. */
body .hero, body .inner-hero, body .directory-banner {
  color: var(--ink);
  background: linear-gradient(110deg, #FFFFFF 8%, var(--brume) 92%);
}
body .hero-copy h1 strong { color: var(--ink); }
body .hero-copy > p:not(.eyebrow):not(.hero-note), body .hero .text-link.light,
body .inner-lead p { color: var(--ink); }
body .hero .text-link.light:hover { color: var(--bleu-sombre); }
body.editorial .inner-lead > img { background-color: var(--porcelaine); }

body .network, body .step.reverse { background: var(--brume); color: var(--ink); }
body .step.reverse p:not(.eyebrow) { color: var(--ink); }
body .result-head { color: white; }
body .result-head button { background: white; color: var(--ink); }
body .principles > div:first-child, body .guides > a:nth-child(2) { background: var(--porcelaine); color: var(--ink); }
body .principles > div:nth-child(2) { background: color-mix(in srgb, var(--blue) 14%, white); }
body .principles > div:nth-child(3), body .guides > a:nth-child(3) { background: var(--brume); color: var(--ink); }
body .guides > a:nth-child(n+2) :is(span,b) { color: var(--ink); }
body .convictions { background: white; }
body :is(.directory-card,.opportunity,.cabinet-tiles > *,.guides > a:nth-child(2)) { box-shadow: inset 0 0 0 1px var(--line); }
body .reading :is(.w-dyn-item,.feature33_item,.ent_main-1_card,.kn-box,.timeline_item-wrap,blockquote),
body .entries .entry > .offer-mount, body .opportunity > .offer-mount { background: var(--porcelaine); }
body :is(.filter input,.demo-form input:not([type=radio]),.demo-form textarea,.cabinet-form input,.cabinet-form textarea) { border-color: var(--champ); }
body .reading :is(td,th) { border-color: var(--line); }

body :is(.project-panel,.step:not(.reverse),.valuation,.cabinet-edito,.directory-panel,footer) {
  background: var(--ink);
  color: white;
  --bouton-fond: white;
  --bouton-texte: var(--ink);
  --bouton-survol: var(--brume);
  --fleche: url('assets/fleche-cap.svg');
}
body :is(.project-panel,.step:not(.reverse),.valuation) p:not(.eyebrow),
body .guides > a:first-child span, body footer .footer-grid small { color: var(--porcelaine); }
body .valuation-mark strong, body .guides > a:first-child b { color: var(--orange-clair); }

body .tabs button[aria-selected=true], body .guides > a:first-child, body .news-list .entry {
  background-color: var(--ink);
}
body .principles > div:nth-child(3), body .guides > a:nth-child(3) { background-color: var(--brume); }
body .reading th { background-color: var(--ink); }

/* Mêmes rôles chromatiques pour la navigation, les formulaires et les cabinets. */
:root body :is(a.button,button.button,a.bouton), :root body .hero-actions a.button,
body .cabinet-directory .directory-search, body .nav .menu-toggle {
  background: var(--bouton-fond);
  color: var(--bouton-texte);
}
:root body :is(a.button,button.button,a.bouton):is(:hover,:focus-visible),
:root body .cabinet-page .hero-actions a.button:is(:hover,:focus-visible),
body .cabinet-directory .directory-search:is(:hover,:focus-visible),
body .nav .menu-toggle:is(:hover,:focus-visible) { background: var(--bouton-survol); }
body :is(.button,.bouton) .action-arrow { background-image: var(--fleche); }
body .hero-actions .button .action-arrow, body .directory-search span {
  background-color: var(--accent);
  background-image: url('assets/fleche-cap.svg');
}
body .cabinet-edito .hero-actions .button .action-arrow { background-color: var(--accent); }
body .directory-card { color: var(--ink); }
body .directory-controls .pin { background: var(--ink); }
body .news-list .entry span { background-color: var(--bleu-sombre); }
body :is(a,button,input,textarea,select,summary):focus-visible {
  outline: 2px solid var(--ink);
  outline-offset: 2px;
  box-shadow: 0 0 0 5px white;
}

/* Le symbole repris du logotype remplace les carrés décoratifs de la maquette du groupe. */
.hero-visual .pixel-two, .banner-photo::before, .cabinet-hero figure::before, .directory-banner figure::before { display: none; }
body .hero-visual .pixel-one, body .network-photo .pixel, body .banner-photo::after, body .cabinet-hero figure::after, body .directory-banner figure::after {
  width: clamp(38px,5vw,88px); height: auto; aspect-ratio: 1;
  left: 10px; right: auto; bottom: 10px; border-radius: 50%;
  background: white url('assets/cap-logo-symbole.svg') center/62% no-repeat;
}
@media (max-width: 992px) {
  body .header .logo { max-height: 48px; }
}
.cabinet-badge::before { background-image: url('assets/picto-cap-bureaux.png'); }
