/*
Theme Name: AIRCS
Theme URI: https://www.airconsulting.fr/
Description: Sous-thème AIR Consulting Services de Twenty Twenty-Five. Charte AIRCS (marine, bleu, corail), titres Fraunces, texte Inter.
Author: AIR Consulting Services
Template: twentytwentyfive
Version: 1.4.1
Requires at least: 6.5
Text Domain: aircs
*/

/* ------------------------------------------------------------------ Jetons */
:root {
	--aircs-marine: #1A2744;
	--aircs-bleu: #6284B7;
	--aircs-bleu-profond: #4A6C9F;
	--aircs-corail: #C47A7A;
	--aircs-corail-profond: #9E5656;
	--aircs-corail-clair: #E0A3A3;
	--aircs-fond: #F7F8FA;
	--aircs-bleu-clair: #EDF1F7;
	--aircs-texte: #22314D;
	--aircs-ligne: #D6DDE8;
	--aircs-ligne-douce: #E1E6EF;
	--aircs-serif: Fraunces, Georgia, serif;
	--aircs-sans: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
	--aircs-shell: min(1248px, calc(100% - 40px));
}

/* ------------------------------------------------------- Base, tout le site */
body { background: var(--aircs-fond); color: var(--aircs-texte); font-family: var(--aircs-sans); }
.wp-site-blocks { background: var(--aircs-fond); }

/* Titres : Fraunces partout (l'ancienne feuille imposait Inter 800). */
.wp-site-blocks :is(h1, h2, h3, h4) {
	font-family: var(--aircs-serif) !important;
	font-weight: 500 !important;
	letter-spacing: -0.015em !important;
	color: var(--aircs-marine);
	text-wrap: balance;
}
.wp-site-blocks :is(h1, h2, h3) em { font-style: italic; color: var(--aircs-corail); }
.air-footer h3 { font-family: var(--aircs-sans) !important; font-weight: 700 !important; letter-spacing: 0 !important; }

/* Boutons du site : pilule corail, texte blanc ≥ 19 px (contraste grand texte). */
.wp-site-blocks .wp-element-button,
.wp-site-blocks .wp-block-button__link { font-family: var(--aircs-sans); font-weight: 700; border-radius: 999px; }

/* ------------------------------------------------------------- En-tête */
.air-header-shell { background: rgba(247, 248, 250, 0.92); border-bottom: 1px solid var(--aircs-ligne-douce); }
.air-header-shell .air-header { min-height: 96px; }
.air-header-shell .air-brand img { height: 52px !important; width: auto !important; max-width: none !important; }
.air-nav-block .wp-block-navigation-item__content { color: var(--aircs-marine); font-weight: 600; font-size: 17px; }
.air-header-cta .wp-block-button__link { background: var(--aircs-corail) !important; color: #fff !important; font-size: 19px !important; padding: 12px 24px !important; }

/* ------------------------------------------------------ Pied de page (clair) */
.aircs-footer.air-footer { background: var(--aircs-fond); color: var(--aircs-texte); border-top: 1px solid var(--aircs-ligne-douce); padding: 56px 0 40px; }
.aircs-footer .air-footer__grid { display: grid; grid-template-columns: 1.4fr repeat(3, minmax(0, 1fr)); gap: 48px; }
.aircs-footer a { color: var(--aircs-texte); text-decoration: none; }
.aircs-footer a:hover, .aircs-footer a:focus-visible { color: var(--aircs-corail-profond); text-decoration: underline; }
.aircs-footer h3 { color: var(--aircs-marine); font-size: 16px; margin: 0 0 12px; }
.aircs-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; font-size: 16px; }
.aircs-footer .air-footer__logo img { height: 48px !important; width: auto !important; max-width: none !important; }
.aircs-footer .air-footer__brand p { font-size: 16px; max-width: 320px; margin-top: 14px; }
.aircs-footer .air-footer__legal { margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--aircs-ligne-douce); font-size: 15px; color: var(--aircs-texte); }
@media (max-width: 781px) {
	.aircs-footer .air-footer__grid { grid-template-columns: 1fr 1fr; gap: 32px 24px; }
	.aircs-footer .air-footer__brand { grid-column: 1 / -1; }
}

/* ------------------------------------------------------------- Composants */
.aircs-page { font-size: 18px; line-height: 1.65; }
.aircs-page p:not([class]), .aircs-page li { font-size: inherit; }
.aircs-hero__grid > *, .aircs-paths__grid > *, .aircs-approach__grid > *, .aircs-approach__items > *, .aircs-team__grid > *,
.aircs-partners__grid > *, .aircs-cards2 > *, .aircs-steps > *, .aircs-postures > *, .aircs-split > *, .aircs-strip__inner > *,
.aircs-head > *, .aircs-refs__grid > * { margin-block: 0 !important; }
.aircs-main { overflow: clip; }
.aircs-page > * { margin-block: 0 !important; }
.aircs-page p { margin: 0; }
.aircs-shell { width: var(--aircs-shell); margin-inline: auto; }
.aircs-shell > * { margin-block: 0; }

.aircs-overline {
	font-size: 15px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700;
	color: var(--aircs-bleu-profond);
}
.aircs-center { text-align: center; }
.aircs-lead { font-size: 21px; line-height: 1.6; color: var(--aircs-texte); max-width: 620px; }
.aircs-lead--side { font-size: 18px; max-width: 400px; }
.aircs-num { font-family: var(--aircs-serif); font-size: 20px; color: var(--aircs-corail-profond); }
.aircs-tags { font-size: 15px; line-height: 1.7; font-weight: 600; color: var(--aircs-bleu-profond); }
.aircs-note { font-size: 16px; color: var(--aircs-texte); }
.aircs-note a { color: var(--aircs-marine); font-weight: 600; }
.aircs-h-sm { font-size: 34px !important; line-height: 1.15; margin: 0; }

.aircs-actions { display: flex; flex-wrap: wrap; gap: 14px; margin: 0; }
.aircs-btn .wp-block-button__link { font-size: 19px; padding: 17px 30px; line-height: 1.2; transition: background-color .2s, color .2s; }
.aircs-btn--primary .wp-block-button__link { background: var(--aircs-corail); color: #fff; }
.aircs-btn--primary .wp-block-button__link:hover,
.aircs-btn--primary .wp-block-button__link:focus-visible { background: var(--aircs-corail-profond); color: #fff; }
.aircs-btn--outline .wp-block-button__link { background: transparent; color: var(--aircs-marine); border: 1.5px solid var(--aircs-marine); padding: 15.5px 28px; }
.aircs-btn--outline .wp-block-button__link:hover,
.aircs-btn--outline .wp-block-button__link:focus-visible { background: var(--aircs-marine); color: #fff; }
.aircs-actions--card .aircs-btn .wp-block-button__link { font-size: 16px; padding: 12px 22px; }

.aircs-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 64px; }
.aircs-head h2 { font-size: 54px; line-height: 1.08; max-width: 780px; margin: 0; }
.aircs-head--stack { flex-direction: column; align-items: flex-start; gap: 12px; }
.aircs-head__main { display: flex; flex-direction: column; gap: 14px; }

/* Hero */
.aircs-hero { padding: 80px 0 88px; }
.aircs-hero__grid { display: grid; grid-template-columns: 7fr 5fr; gap: 48px; align-items: center; }
.aircs-hero__copy { display: flex; flex-direction: column; gap: 28px; }
.aircs-hero__copy > * { margin: 0 !important; }
.aircs-hero__title { font-size: 80px !important; line-height: 1.03 !important; letter-spacing: -0.02em !important; margin: 0; }
.aircs-hero__title--page { font-size: 64px !important; line-height: 1.06 !important; }
.aircs-hero__media { margin: 0; height: 600px; border-radius: 300px 300px 20px 20px; overflow: hidden; background: var(--aircs-bleu-clair); }
.aircs-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: 22% center; display: block; }
.aircs-proof { display: flex; flex-wrap: wrap; gap: 8px 22px; padding-top: 20px; border-top: 1px solid var(--aircs-ligne); font-size: 16px; font-weight: 500; }
.aircs-proof span { display: inline-flex; align-items: center; gap: 10px; }
.aircs-proof span::before { content: ""; width: 6px; height: 6px; border-radius: 999px; background: var(--aircs-corail); flex-shrink: 0; }
.aircs-breadcrumb { font-size: 15px; font-weight: 600; }
.aircs-breadcrumb a { color: var(--aircs-texte); }

/* Références */
.aircs-refs { background: #fff; border-block: 1px solid var(--aircs-ligne-douce); padding: 52px 0 60px; }
.aircs-refs__grid { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 30px 46px; margin-top: 26px !important; }
.aircs-refs__grid > * { margin: 0 !important; }
.aircs-ref { flex: 0 0 auto; width: 104px; }
.aircs-ref img { display: block; width: 100%; height: 46px; object-fit: contain; filter: grayscale(1) contrast(1.1) brightness(.55); opacity: .9; transition: filter .2s, opacity .2s; }
.aircs-ref:hover img { filter: none; opacity: 1; }
.aircs-refs__toggle { display: block; margin: 26px auto 0; min-height: 48px; padding: 0 26px; border: 1.5px solid var(--aircs-marine); border-radius: 999px; background: transparent; color: var(--aircs-marine); font: 700 16px/1 var(--aircs-sans); cursor: pointer; }
.aircs-refs__toggle[hidden] { display: none; }
@media (min-width: 782px) { .aircs-refs__toggle { display: none !important; } }
@media (max-width: 781px) {
	.aircs-refs__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px 18px; }
	.aircs-ref { width: auto; }
	.aircs-ref img { height: 40px; }
	.aircs-refs__grid.is-collapsible:not(.is-open) .aircs-ref:not(.is-top) { display: none; }
}

/* Trois portes */
.aircs-paths { padding: 104px 0; }
.aircs-paths__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 2px solid var(--aircs-bleu); margin-top: 56px !important; }
.aircs-path { display: flex; flex-direction: column; gap: 18px; padding: 36px 40px 0; border-right: 1px solid var(--aircs-ligne); }
.aircs-path:first-child { padding-left: 0; }
.aircs-path:last-child { padding-right: 0; border-right: 0; }
.aircs-path > * { margin: 0 !important; }
.aircs-path h3 { font-size: 38px; }
.aircs-path p:not([class]) { font-size: 18px; }
.aircs-path .aircs-actions { margin-top: auto !important; padding-top: 8px; }

/* Approche */
.aircs-approach { background: var(--aircs-bleu-clair); padding: 64px 0; }
.aircs-approach__grid { display: grid; grid-template-columns: 4fr 7fr; gap: 64px; align-items: start; }
.aircs-approach__head { display: flex; flex-direction: column; gap: 14px; }
.aircs-approach__items { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.aircs-principle { padding-top: 18px; border-top: 2px solid var(--aircs-bleu); display: flex; flex-direction: column; gap: 8px; }
.aircs-principle > * { margin: 0 !important; }
.aircs-principle__title { font-size: 18px; color: var(--aircs-marine); }

/* Équipe */
.aircs-team { padding: 112px 0; }
.aircs-team__grid { display: grid; grid-template-columns: 5fr 6fr; gap: 80px; align-items: center; }
.aircs-portrait { margin: 0; }
.aircs-portrait img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; object-position: center 22%; border-radius: 280px 280px 20px 20px; display: block; }
.aircs-portrait figcaption { margin-top: 16px; font-size: 16px; text-align: left; color: var(--aircs-texte); }
.aircs-portrait figcaption strong { color: var(--aircs-marine); }
.aircs-team__copy { display: flex; flex-direction: column; gap: 24px; }
.aircs-team__copy > * { margin: 0 !important; }
.aircs-team__copy h2 { font-size: 50px; }
.aircs-collective { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; border-top: 1px solid var(--aircs-ligne); font-size: 16px; }
.aircs-collective li { padding: 12px 0; border-bottom: 1px solid var(--aircs-ligne); }
.aircs-collective strong { color: var(--aircs-marine); }

/* Partenaires */
.aircs-partners { padding: 0 0 96px; }
.aircs-partners__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 32px; margin-top: 36px !important; border-top: 1px solid var(--aircs-ligne); padding-top: 32px; }
.aircs-partner { display: flex; flex-direction: column; gap: 14px; }
.aircs-partner > * { margin: 0 !important; }
.aircs-partner__logo img { height: 44px; width: auto; max-width: 100%; object-fit: contain; object-position: left center; }
.aircs-partner p { font-size: 15px; line-height: 1.55; }

/* Appel à l'action */
.aircs-cta { padding: 0 0 104px; }
.aircs-cta__box { background: var(--aircs-marine); border-radius: 28px; padding: 80px 96px; display: flex; justify-content: space-between; align-items: center; gap: 64px; }
.aircs-cta__box > * { margin: 0 !important; }
.aircs-cta__copy { display: flex; flex-direction: column; gap: 16px; max-width: 760px; }
.aircs-cta__copy > * { margin: 0 !important; }
.aircs-cta__copy h2 { color: #F7F8FA !important; font-size: 54px; }
.aircs-cta__copy h2 em { color: var(--aircs-corail-clair) !important; }
.aircs-cta__copy p { color: #D5DBE7 !important; font-size: 19px; }
.aircs-cta .aircs-actions .wp-block-button__link { white-space: nowrap; }

/* ------------------------------------------------ Page d'accompagnement */
.aircs-hero--page { padding-top: 64px; }
.aircs-hero__grid--page { grid-template-columns: 8fr 4fr; }
.aircs-mediatrice-card { background: #fff; border: 1px solid var(--aircs-ligne-douce); border-radius: 24px; padding: 26px; }
.aircs-mediatrice { margin: 0; }
.aircs-mediatrice img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; object-position: center 20%; border-radius: 180px 180px 14px 14px; display: block; }
.aircs-mediatrice figcaption { margin-top: 16px; text-align: left; font-size: 16px; line-height: 1.5; }
.aircs-mediatrice figcaption strong { display: block; font-family: var(--aircs-serif); font-weight: 500; font-size: 26px; color: var(--aircs-marine); margin-bottom: 6px; }

.aircs-strip { background: #fff; border-block: 1px solid var(--aircs-ligne-douce); padding: 36px 0; }
.aircs-strip__inner { display: flex; align-items: center; gap: 40px; }
.aircs-strip__label { flex-shrink: 0; font-family: var(--aircs-serif); font-size: 26px; color: var(--aircs-marine); }
.aircs-chips { list-style: none; padding: 0; margin: 0 !important; display: flex; flex-wrap: wrap; gap: 12px; }
.aircs-chips li { padding: 10px 18px; border: 1px solid var(--aircs-ligne); border-radius: 999px; font-size: 16px; font-weight: 600; background: var(--aircs-fond); }

.aircs-kinds { padding: 96px 0; }
.aircs-cards2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.aircs-card { background: #fff; border: 1px solid var(--aircs-ligne-douce); border-radius: 24px; padding: 44px; display: flex; flex-direction: column; gap: 18px; }
.aircs-card > * { margin: 0 !important; }
.aircs-card h3 { font-size: 36px; }
.aircs-lines { list-style: none; padding: 0; border-top: 1px solid var(--aircs-ligne-douce); font-size: 16px; }
.aircs-lines li { padding: 11px 0; border-bottom: 1px solid var(--aircs-ligne-douce); }

.aircs-process { background: var(--aircs-marine); padding: 96px 0; }
.aircs-process .aircs-overline { color: #A9BDDF; }
.aircs-process h2, .aircs-process h3 { color: #F7F8FA !important; }
.aircs-process h2 { font-size: 50px; }
.aircs-process .aircs-lead { color: #D5DBE7; }
.aircs-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; margin-top: 56px !important; }
.aircs-step { border-top: 2px solid var(--aircs-corail); padding-top: 22px; display: flex; flex-direction: column; gap: 12px; }
.aircs-step > * { margin: 0 !important; }
.aircs-step .aircs-num { color: var(--aircs-corail-clair); font-size: 22px; }
.aircs-step h3 { font-family: var(--aircs-sans) !important; font-weight: 700 !important; letter-spacing: 0 !important; font-size: 20px; }
.aircs-process p:not(.aircs-num):not(.aircs-overline) { color: #D5DBE7 !important; }
.aircs-step p:not([class]) { font-size: 17px; }

.aircs-conviction, .aircs-ethics, .aircs-faq-section { padding: 104px 0 0; }
.aircs-split { display: grid; grid-template-columns: 4fr 7fr; gap: 80px; }
.aircs-split__head { display: flex; flex-direction: column; gap: 14px; }
.aircs-split__head > * { margin: 0 !important; }
.aircs-split__head h2 { font-size: 40px; line-height: 1.12; }
.aircs-split__body { display: flex; flex-direction: column; gap: 18px; }
.aircs-split__body > * { margin: 0 !important; }
.aircs-rules { gap: 0; border-top: 2px solid var(--aircs-bleu); }
.aircs-rule { display: grid; grid-template-columns: 1fr 2fr; gap: 24px; padding: 22px 0; border-bottom: 1px solid var(--aircs-ligne); }
.aircs-rule > * { margin: 0 !important; }
.aircs-rule h3 { font-family: var(--aircs-sans) !important; font-weight: 700 !important; letter-spacing: 0 !important; font-size: 19px; }
.aircs-rule p { font-size: 17px; }

.aircs-complementarity { padding: 104px 0 0; }
.aircs-postures { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin-top: 40px !important; }
.aircs-posture { border-top: 2px solid var(--aircs-bleu); padding-top: 20px; display: flex; flex-direction: column; gap: 10px; }
.aircs-posture > * { margin: 0 !important; }
.aircs-posture h3 { font-size: 30px; }
.aircs-note--wide { margin-top: 32px !important; max-width: 860px; font-size: 18px; }

.aircs-faq { gap: 0; border-top: 2px solid var(--aircs-bleu); }
.aircs-faq__item { border-bottom: 1px solid var(--aircs-ligne); margin: 0 !important; }
.aircs-faq__item summary { cursor: pointer; list-style: none; padding: 22px 40px 22px 0; position: relative; font-weight: 700; font-size: 19px; color: var(--aircs-marine); }
.aircs-faq__item summary::-webkit-details-marker { display: none; }
.aircs-faq__item summary::after { content: "+"; position: absolute; right: 4px; top: 50%; transform: translateY(-50%); font-size: 26px; font-weight: 400; color: var(--aircs-corail-profond); }
.aircs-faq__item[open] summary::after { content: "−"; }
.aircs-faq__item p { padding-bottom: 22px; font-size: 17px; max-width: 680px; }
.aircs-faq-section + .aircs-cta, .aircs-ethics + .aircs-faq-section { padding-top: 104px; }
.aircs-faq-section { padding-bottom: 104px; }

/* ------------------------------------------------------------------ Tablette */
@media (max-width: 1100px) {
	.aircs-hero__title { font-size: 60px !important; }
	.aircs-hero__title--page { font-size: 50px !important; }
	.aircs-head h2 { font-size: 44px; }
	.aircs-cta__box { padding: 56px; }
	.aircs-partners__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.aircs-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* -------------------------------------------------------------------- Mobile */
@media (max-width: 781px) {
	.aircs-hero { padding: 32px 0 40px; }
	.aircs-hero__grid, .aircs-hero__grid--page, .aircs-team__grid, .aircs-approach__grid, .aircs-split, .aircs-cards2 { grid-template-columns: 1fr; gap: 32px; }
	.aircs-hero__copy { gap: 20px; }
	.aircs-hero__title { font-size: 44px !important; }
	.aircs-hero__title--page { font-size: 38px !important; }
	.aircs-lead { font-size: 18px; }
	.aircs-overline { font-size: 13px; }
	.aircs-actions { flex-direction: column; align-items: stretch; }
	.aircs-actions .wp-block-button { width: 100%; }
	.aircs-actions .wp-block-button__link { display: block; text-align: center; }
	.aircs-hero__media { height: 280px; border-radius: 170px 170px 16px 16px; }
	.aircs-proof { font-size: 15px; }
	.aircs-refs { padding: 32px 0 28px; }
	.aircs-paths, .aircs-team, .aircs-kinds, .aircs-process { padding: 48px 0; }
	.aircs-head { flex-direction: column; align-items: flex-start; gap: 14px; }
	.aircs-head h2 { font-size: 32px; }
	.aircs-paths__grid { grid-template-columns: 1fr; border-top: 0; margin-top: 24px !important; gap: 16px; }
	.aircs-path, .aircs-path:first-child, .aircs-path:last-child { padding: 22px 20px; border: 1px solid var(--aircs-ligne); border-radius: 18px; background: #fff; gap: 10px; }
	.aircs-path .aircs-num, .aircs-path .aircs-tags { display: none; }
	.aircs-path h3 { font-size: 28px; }
	.aircs-path p:not([class]) { font-size: 16px; }
	.aircs-approach { padding: 40px 0; }
	.aircs-approach__items { grid-template-columns: 1fr; gap: 0; }
	.aircs-principle { gap: 2px; padding: 12px 0; border-top: 0; border-bottom: 1px solid var(--aircs-ligne); font-size: 16px; }
	.aircs-h-sm { font-size: 26px !important; }
	.aircs-team__copy h2 { font-size: 30px; }
	.aircs-page { font-size: 17px; }
	.aircs-portrait { display: flex; align-items: center; gap: 16px; }
	.aircs-portrait img { width: 104px; height: 104px; border-radius: 999px; flex-shrink: 0; }
	.aircs-portrait figcaption { margin: 0; font-size: 15px; }
	.aircs-collective { grid-template-columns: 1fr; }
	.aircs-partners { padding-bottom: 48px; }
	.aircs-partners__grid { grid-template-columns: 1fr 1fr; gap: 24px; }
	.aircs-cta { padding-bottom: 40px; }
	.aircs-cta__box { flex-direction: column; align-items: stretch; padding: 36px 22px; gap: 20px; border-radius: 22px; }
	.aircs-cta__copy h2 { font-size: 32px; }
	.aircs-cta__copy p { font-size: 16px; }
	.aircs-strip__inner { flex-direction: column; align-items: flex-start; gap: 14px; }
	.aircs-strip__label { font-size: 22px; }
	.aircs-chips li { font-size: 15px; padding: 8px 14px; }
	.aircs-card { padding: 24px 20px; }
	.aircs-card h3 { font-size: 26px; }
	.aircs-process h2 { font-size: 30px; }
	.aircs-steps { grid-template-columns: 1fr; gap: 20px; margin-top: 28px !important; }
	.aircs-conviction, .aircs-ethics, .aircs-complementarity, .aircs-faq-section { padding-top: 48px; }
	.aircs-faq-section { padding-bottom: 48px; }
	.aircs-split__head h2 { font-size: 28px; }
	.aircs-postures { grid-template-columns: 1fr; }
	.aircs-posture h3 { font-size: 24px; }
	.aircs-rule { grid-template-columns: 1fr; gap: 6px; }
	.aircs-mediatrice-card { display: flex; }
	.aircs-mediatrice { display: flex; gap: 14px; align-items: center; }
	.aircs-mediatrice img { width: 84px; height: 84px; border-radius: 999px; flex-shrink: 0; }
	.aircs-mediatrice figcaption { margin: 0; font-size: 15px; }
	.aircs-mediatrice figcaption strong { font-size: 21px; }
	.aircs-mediatrice-card { padding: 16px; border-radius: 18px; }
}

/* Titres de pages existantes (Coaching, Formation, Équipe…) : Fraunces est plus large qu'Inter 800. */
.wp-site-blocks h1.air-title,
.wp-site-blocks h1.air-subtitle,
.wp-site-blocks .air-subhero h1,
.wp-site-blocks .air-hero h1 { font-size: clamp(36px, 3.4vw, 50px) !important; line-height: 1.08 !important; max-width: 16ch !important; }

/* ------------------------------------------ Pages Coaching, Formation, Équipe */
.aircs-side-card { background: #fff; border: 1px solid var(--aircs-ligne-douce); border-radius: 24px; padding: 32px; display: flex; flex-direction: column; gap: 16px; }
.aircs-side-card > * { margin: 0 !important; }
.aircs-dots { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; font-size: 17px; }
.aircs-dots li { display: flex; gap: 12px; align-items: baseline; }
.aircs-dots li::before { content: ""; width: 7px; height: 7px; border-radius: 999px; background: var(--aircs-corail); flex-shrink: 0; transform: translateY(-2px); }

.aircs-network { padding: 104px 0 0; }
.aircs-quote { margin: 8px 0 0 !important; padding: 28px 32px; border: 0; border-left: 0; background: var(--aircs-bleu-clair); border-radius: 20px; }
.aircs-quote p { font-family: var(--aircs-serif); font-size: 26px; line-height: 1.35; color: var(--aircs-marine); margin: 0; }
.aircs-quote cite { display: block; margin-top: 12px; font-style: normal; font-size: 15px; font-weight: 600; color: var(--aircs-bleu-profond); }
.aircs-network + .aircs-cta, .aircs-conviction + .aircs-cta, .aircs-founder + .aircs-cta { padding-top: 104px; }

.aircs-domains { padding-bottom: 0; }
.aircs-posture .aircs-lines { margin: 0; }
.aircs-programs-section { padding-bottom: 0; }
.aircs-programs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin-top: 40px !important; }
.aircs-programs > * { margin: 0 !important; }
.aircs-program { background: #fff; border: 1px solid var(--aircs-ligne-douce); border-radius: 20px; padding: 28px; display: flex; flex-direction: column; gap: 12px; }
.aircs-program > * { margin: 0 !important; }
.aircs-program h3 { font-size: 24px; }
.aircs-program p { font-size: 16px; }

.aircs-hero__media--portrait img { object-position: center 18%; }
.aircs-founder { padding: 96px 0 0; }
.aircs-lead--wide { max-width: none; font-size: 22px; }
.aircs-collective-section { padding: 104px 0; }
.aircs-people { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 40px !important; }
.aircs-people > * { margin: 0 !important; }
.aircs-person { background: #fff; border: 1px solid var(--aircs-ligne-douce); border-radius: 20px; padding: 32px; display: flex; flex-direction: column; gap: 10px; }
.aircs-person > * { margin: 0 !important; }
.aircs-person h3 { font-size: 30px; }
.aircs-person p:not([class]) { font-size: 16px; }
.aircs-person--network { background: var(--aircs-bleu-clair); border-color: transparent; }
.aircs-person__logo img { height: 36px; width: auto; }
.aircs-person__link a { font-weight: 700; color: var(--aircs-marine); }
.aircs-approach__grid--even { grid-template-columns: 1fr 1fr; }
.aircs-statement { font-family: var(--aircs-serif); font-size: 28px; line-height: 1.3; color: var(--aircs-marine); }

@media (max-width: 1100px) {
	.aircs-programs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.aircs-people { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 781px) {
	.aircs-side-card { padding: 22px; border-radius: 18px; }
	.aircs-network, .aircs-founder { padding-top: 48px; }
	.aircs-network + .aircs-cta, .aircs-conviction + .aircs-cta, .aircs-founder + .aircs-cta { padding-top: 48px; }
	.aircs-quote { padding: 22px; }
	.aircs-quote p { font-size: 21px; }
	.aircs-programs, .aircs-people { grid-template-columns: 1fr; gap: 16px; margin-top: 24px !important; }
	.aircs-person, .aircs-program { padding: 22px; }
	.aircs-person h3 { font-size: 24px; }
	.aircs-collective-section { padding: 48px 0; }
	.aircs-lead--wide { font-size: 19px; }
	.aircs-statement { font-size: 22px; }
	.aircs-hero__media--portrait { height: 340px; }
}
.aircs-approach + .aircs-cta { padding-top: 104px; }
@media (max-width: 781px) { .aircs-approach + .aircs-cta { padding-top: 48px; } }

/* ------------------------------------ Contact, pages légales, actualités, articles */
.aircs-hero--compact { padding: 64px 0 48px; }
.aircs-hero__copy--narrow { max-width: 860px; }
.aircs-hero__title--doc { font-size: 52px !important; line-height: 1.08 !important; }

.aircs-contact { padding: 0 0 104px; }
.aircs-contact__grid { display: grid; grid-template-columns: 8fr 4fr; gap: 32px; align-items: start; }
.aircs-contact__grid > * { margin: 0 !important; }
.aircs-form-card { background: #fff; border: 1px solid var(--aircs-ligne-douce); border-radius: 24px; padding: 40px; }
.aircs-form-card > * + * { margin-top: 20px !important; }
.aircs-form-card .aircs-note { font-size: 15px; color: var(--aircs-texte); }
.aircs-form-card .wpcf7 input[type="submit"] { background: var(--aircs-corail); font-size: 19px; font-weight: 700; }
.aircs-form-card .wpcf7 input[type="submit"]:hover { background: var(--aircs-corail-profond); }
.aircs-side-card--contact p:not(.aircs-overline) { font-size: 16px; }

.aircs-doc { padding: 0 0 104px; }
.aircs-doc__inner { max-width: 860px; }
.aircs-doc__inner > * { margin-block: 0 0 16px !important; }
.aircs-doc__inner h2 { font-size: 28px; margin: 40px 0 14px !important; padding-top: 24px; border-top: 1px solid var(--aircs-ligne); }
.aircs-doc__inner h3 { font-size: 22px; margin: 28px 0 10px !important; }
.aircs-doc__inner p, .aircs-doc__inner li { font-size: 17px; line-height: 1.7; }
.aircs-doc__inner ul { padding-left: 0; list-style: none; display: grid; gap: 8px; }
.aircs-doc__inner ul li { display: flex; gap: 12px; align-items: baseline; }
.aircs-doc__inner ul li::before { content: ""; width: 6px; height: 6px; border-radius: 999px; background: var(--aircs-corail); flex-shrink: 0; transform: translateY(-2px); }
.aircs-doc__inner a { color: var(--aircs-marine); font-weight: 600; }
.aircs-doc__inner .air-legal-meta { margin-top: 40px !important; font-size: 15px; color: var(--aircs-bleu-profond); }

.aircs-feed { padding: 0 0 104px; }
.aircs-posts { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.aircs-posts > li { margin: 0 !important; }
.aircs-post-card { height: 100%; background: #fff; border: 1px solid var(--aircs-ligne-douce); border-radius: 20px; overflow: hidden; display: flex; flex-direction: column; transition: box-shadow .2s, transform .2s; }
.aircs-post-card:hover { box-shadow: 0 16px 40px rgba(26, 39, 68, 0.10); transform: translateY(-2px); }
.aircs-post-card > * { margin: 0 !important; }
.aircs-post-card__media { margin: 0 !important; }
.aircs-post-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.aircs-post-card__body { padding: 24px 26px 26px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.aircs-post-card__body > * { margin: 0 !important; }
.aircs-post-card__terms { font-size: 13px; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; }
.aircs-post-card__terms a { color: var(--aircs-bleu-profond); text-decoration: none; }
.aircs-post-card__title { font-size: 24px !important; line-height: 1.2 !important; }
.aircs-post-card__title a { color: var(--aircs-marine); text-decoration: none; }
.aircs-post-card__title a:hover { color: var(--aircs-corail-profond); }
.aircs-post-card__excerpt p { font-size: 16px; line-height: 1.6; margin: 0; }
.aircs-post-card__excerpt .wp-block-post-excerpt__more-link { font-weight: 700; color: var(--aircs-marine); }
.aircs-post-card__date { margin-top: auto !important; font-size: 14px; color: var(--aircs-bleu-profond); }
.aircs-pagination { margin-top: 48px !important; font-weight: 700; }
.aircs-pagination a { color: var(--aircs-marine); }
.aircs-pagination .page-numbers { padding: 6px 12px; border-radius: 999px; }
.aircs-pagination .page-numbers.current { background: var(--aircs-marine); color: #fff; }

.aircs-article__head { max-width: 860px; padding: 64px 0 32px; display: flex; flex-direction: column; gap: 16px; }
.aircs-article__head > * { margin: 0 !important; }
.aircs-article__title { font-size: 56px !important; line-height: 1.06 !important; letter-spacing: -0.02em !important; }
.aircs-article__date { font-size: 15px; color: var(--aircs-bleu-profond); font-weight: 600; }
.aircs-article__hero { max-width: 1100px; margin-top: 0 !important; border-radius: 24px; overflow: hidden; }
.aircs-article__hero img { border-radius: 24px; }
.aircs-article__content { max-width: 760px; padding: 48px 0 24px; }
.aircs-article__content .wp-block-post-content > * { margin-block: 0 0 20px; }
.aircs-article__content p, .aircs-article__content li { font-size: 19px; line-height: 1.75; }
.aircs-article__content h2 { font-size: 34px; margin: 48px 0 16px; }
.aircs-article__content h3 { font-size: 26px; margin: 36px 0 12px; }
.aircs-article__content a { color: var(--aircs-marine); text-decoration: underline; text-decoration-color: var(--aircs-corail); text-underline-offset: 3px; }
.aircs-article__content img { border-radius: 16px; height: auto; max-width: 100%; }
.aircs-article__content blockquote { margin: 32px 0; padding: 24px 28px; background: var(--aircs-bleu-clair); border-radius: 18px; border: 0; font-family: var(--aircs-serif); font-size: 24px; color: var(--aircs-marine); }
.aircs-article__content table { width: 100%; border-collapse: collapse; font-size: 16px; }
.aircs-article__content th, .aircs-article__content td { border-bottom: 1px solid var(--aircs-ligne); padding: 10px 12px; text-align: left; }
.aircs-article__nav { max-width: 760px; padding: 32px 0; border-top: 1px solid var(--aircs-ligne); gap: 24px; font-size: 16px; }
.aircs-article__nav a { color: var(--aircs-marine); font-weight: 700; text-decoration: none; }
.aircs-article__back { padding-bottom: 8px; font-weight: 700; }
.aircs-article__back a { color: var(--aircs-marine); text-decoration: none; }
.aircs-article .aircs-cta { padding-bottom: 72px; }

@media (max-width: 1100px) { .aircs-posts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 781px) {
	.aircs-hero--compact { padding: 28px 0 28px; }
	.aircs-hero__title--doc { font-size: 34px !important; }
	.aircs-contact__grid { grid-template-columns: 1fr; }
	.aircs-form-card { padding: 22px; border-radius: 18px; }
	.aircs-contact, .aircs-doc, .aircs-feed { padding-bottom: 48px; }
	.aircs-doc__inner h2 { font-size: 24px; }
	.aircs-posts { grid-template-columns: 1fr; gap: 18px; }
	.aircs-article__head { padding: 28px 0 20px; }
	.aircs-article__title { font-size: 34px !important; }
	.aircs-article__content { padding-top: 28px; }
	.aircs-article__content p, .aircs-article__content li { font-size: 17px; }
	.aircs-article__content h2 { font-size: 27px; }
}
.aircs-article__content .wp-block-post-content p { margin: 0 0 22px !important; }
.aircs-article__content .wp-block-post-content :is(ul, ol) { margin: 0 0 24px !important; padding-left: 1.3em; }
.aircs-article__content .wp-block-post-content li { margin-bottom: 8px; }
.aircs-article__content .wp-block-post-content figure { margin: 32px 0 !important; }
.aircs-cta .aircs-overline--light { color: #A9BDDF; }

/* Formation : catalogue (chaque formation -> programme détaillé) */
.aircs-program__link { margin-top: auto !important; font-size: 15px; font-weight: 700; }
.aircs-program__link a { color: var(--aircs-marine); text-decoration: underline; text-decoration-color: var(--aircs-corail); text-underline-offset: 3px; }
.aircs-catalogue-section { padding-bottom: 0; }
.aircs-catalogue { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; margin-top: 40px !important; }
.aircs-catalogue > * { margin: 0 !important; }
.aircs-catalogue__col { border-top: 2px solid var(--aircs-bleu); padding-top: 20px; display: flex; flex-direction: column; gap: 14px; }
.aircs-catalogue__col > * { margin: 0 !important; }
.aircs-catalogue__col h3 { font-size: 24px; }
.aircs-catalogue__list { list-style: none; padding: 0; display: grid; gap: 0; }
.aircs-catalogue__list li { padding: 12px 0; border-bottom: 1px solid var(--aircs-ligne); display: flex; flex-direction: column; gap: 4px; font-size: 16px; line-height: 1.45; }
.aircs-catalogue__list a { color: var(--aircs-marine); font-weight: 600; text-decoration: none; }
.aircs-catalogue__list a:hover, .aircs-catalogue__list a:focus-visible { color: var(--aircs-corail-profond); text-decoration: underline; }
.aircs-catalogue__meta { font-size: 14px; color: var(--aircs-bleu-profond); }
@media (max-width: 1100px) { .aircs-catalogue { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 781px) { .aircs-catalogue { grid-template-columns: 1fr; gap: 24px; margin-top: 24px !important; } }

/* Qualiopi (obligatoire) : logo lié au certificat + mention de la catégorie certifiée */
.aircs-qualiopi { display: flex; align-items: center; gap: 20px; padding: 16px 20px; background: #fff; border: 1px solid var(--aircs-ligne-douce); border-radius: 16px; }
.aircs-qualiopi > * { margin: 0 !important; }
.aircs-qualiopi__logo { flex: 0 0 260px; }
.aircs-qualiopi__logo img { width: 260px; max-width: 100%; height: auto; display: block; }
.aircs-qualiopi__text { display: flex; flex-direction: column; gap: 4px; }
.aircs-qualiopi__text > * { margin: 0 !important; }
.aircs-qualiopi__title { font-weight: 700; color: var(--aircs-marine); font-size: 16px; }
.aircs-qualiopi__mention { font-size: 14px; line-height: 1.5; }
.aircs-qualiopi__link a { font-weight: 700; color: var(--aircs-marine); font-size: 15px; }
@media (max-width: 781px) { .aircs-qualiopi { flex-direction: column; align-items: flex-start; } .aircs-qualiopi__logo { flex-basis: auto; } }

/* Prise de rendez-vous : fenêtre de vérification anti-robot */
.aircs-rdv-dialog { width: min(480px, calc(100% - 32px)); border: 0; border-radius: 22px; padding: 32px; box-shadow: 0 24px 64px rgba(26, 39, 68, 0.25); font-family: var(--aircs-sans); color: var(--aircs-texte); }
.aircs-rdv-dialog::backdrop { background: rgba(26, 39, 68, 0.55); }
.aircs-rdv-dialog h2 { margin: 0 0 10px; font-family: var(--aircs-serif); font-weight: 500; font-size: 30px; color: var(--aircs-marine); }
.aircs-rdv-dialog p { margin: 0 0 16px; font-size: 16px; line-height: 1.55; }
.aircs-rdv-widget { min-height: 70px; }
.aircs-rdv-status { font-weight: 600; color: var(--aircs-bleu-profond); }
.aircs-rdv-status.is-error { color: var(--aircs-corail-profond); }
.aircs-rdv-actions { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 8px; font-size: 15px; }
.aircs-rdv-actions a { color: var(--aircs-marine); font-weight: 600; }
.aircs-rdv-close { min-height: 44px; padding: 0 20px; border: 1.5px solid var(--aircs-marine); border-radius: 999px; background: transparent; color: var(--aircs-marine); font: 700 15px/1 var(--aircs-sans); cursor: pointer; }
/* Bouton secondaire sur fond marine (appels finaux) */
.aircs-btn--outline-light .wp-block-button__link { background: transparent; color: #fff; border: 1.5px solid rgba(255, 255, 255, 0.7); padding: 15.5px 28px; }
.aircs-btn--outline-light .wp-block-button__link:hover, .aircs-btn--outline-light .wp-block-button__link:focus-visible { background: #fff; color: var(--aircs-marine); }
.aircs-cta .aircs-actions { flex-direction: column; align-items: stretch; }
.aircs-side-card__sep { margin-top: 12px !important; }
