/* Styles des publics : composants isolés, communs aux pages et au fragment d’accueil. */
.cdc-aud-page,
.cdc-aud-home {
  --cdc-aud-ink: #142b40;
  --cdc-aud-teal: #075f62;
  --cdc-aud-coral: #b6462d;
  --cdc-aud-yellow: #ffd15c;
  --cdc-aud-cream: #fffdf8;
  --cdc-aud-muted: #49616c;
  --cdc-aud-line: #d4ded6;
  color: var(--cdc-aud-ink);
  font: 500 1rem/1.65 'DM Sans', Arial, sans-serif;
}
.cdc-aud-page { margin: 0; background: #f8f6ef; }
.cdc-aud-page *,
.cdc-aud-home * { box-sizing: border-box; }
.cdc-aud-page .site-head nav { flex-wrap: wrap; }
.cdc-aud-page .site-head nav a,
.cdc-aud-page .head-cta,
.cdc-aud-page .foot-inner a { display: inline-flex; align-items: center; min-height: 44px; }
.cdc-aud-page .site-head nav a { padding-block: 8px; }
.cdc-aud-page .head-cta { justify-content: center; gap: 8px; }
.cdc-aud-page .foot-inner a { width: fit-content; }
.cdc-aud-page .foot-inner > div { display: flex; flex-direction: column; align-items: flex-start; }
.cdc-aud-page .site-head nav a:focus-visible,
.cdc-aud-page .head-cta:focus-visible,
.cdc-aud-page .site-foot a:focus-visible,
.cdc-aud-link:focus-visible,
.cdc-aud-button:focus-visible,
.cdc-aud-nav a:focus-visible { outline: 3px solid #b6462d; outline-offset: 4px; }
.cdc-aud-wrap { width: min(1200px, calc(100% - 48px)); margin-inline: auto; }
.cdc-aud-nav { padding-block: 20px; background: var(--cdc-aud-cream); border-bottom: 1px solid var(--cdc-aud-line); }
.cdc-aud-nav-inner { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.cdc-aud-nav-label { font-size: .85rem; font-weight: 800; margin-right: 12px; }
.cdc-aud-nav a { min-height: 44px; padding: 9px 18px; display: inline-flex; align-items: center; border: 1px solid var(--cdc-aud-line); border-radius: 999px; text-decoration: none; font-size: .9rem; font-weight: 800; }
.cdc-aud-nav a:hover { background: #e3f3ee; }
.cdc-aud-nav a[aria-current="page"] { background: var(--cdc-aud-teal); border-color: var(--cdc-aud-teal); color: #fff; }
.cdc-aud-hero { padding-block: 58px 64px; background: #fff3da; }
.cdc-aud-hero--parents { background: #e8f3ec; }
.cdc-aud-hero--grandparents { background: #fff0e6; }
.cdc-aud-hero-grid { display: grid; grid-template-columns: .95fr 1.1fr; gap: 44px; align-items: center; }
.cdc-aud-kicker { display: inline-block; margin: 0 0 14px; color: var(--cdc-aud-teal); font-size: .76rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.cdc-aud-title,
.cdc-aud-h2,
.cdc-aud-h3 { color: var(--cdc-aud-ink); font-family: 'Outfit', 'DM Sans', Arial, sans-serif; letter-spacing: -.035em; line-height: 1.13; }
.cdc-aud-title { max-width: 16ch; margin: 0 0 22px; font-size: clamp(2.6rem, 4.3vw, 4.25rem); font-weight: 800; }
.cdc-aud-accent { color: var(--cdc-aud-coral); }
.cdc-aud-h2 { margin: 0 0 20px; font-size: clamp(2rem, 3.2vw, 3rem); }
.cdc-aud-h3 { margin: 0 0 12px; font-size: 1.5rem; }
.cdc-aud-copy { margin: 0 0 18px; color: var(--cdc-aud-muted); }
.cdc-aud-lede { font-size: 1.12rem; }
.cdc-aud-motto { margin: 0 0 20px; color: var(--cdc-aud-teal); font-weight: 800; }
.cdc-aud-actions { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 14px; margin-top: 24px; }
.cdc-aud-button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-width: 44px; min-height: 48px; max-width: 100%; padding: 14px 21px; border: 2px solid transparent; border-radius: 999px; background: var(--cdc-aud-yellow); color: var(--cdc-aud-ink); font-size: .9rem; font-weight: 800; line-height: 1.35; text-align: center; text-decoration: none; box-shadow: 3px 4px 0 var(--cdc-aud-ink); transition: background-color .15s ease; }
.cdc-aud-button:hover { background: #ffe08c; }
.cdc-aud-button--secondary { border-color: var(--cdc-aud-teal); background: var(--cdc-aud-cream); color: var(--cdc-aud-teal); box-shadow: none; }
.cdc-aud-button--secondary:hover { background: #e3f3ee; }
.cdc-aud-button--teal { background: var(--cdc-aud-teal); color: #fff; box-shadow: 3px 4px 0 #98cfc3; }
.cdc-aud-button--teal:hover { background: #064c4f; }
.cdc-aud-note { margin: 18px 0 0; color: var(--cdc-aud-muted); font-size: .88rem; }
.cdc-aud-figure { min-width: 0; margin: 0; overflow: hidden; background: var(--cdc-aud-cream); border: 6px solid var(--cdc-aud-cream); border-radius: 26px; box-shadow: 8px 10px 0 #e8c872; }
.cdc-aud-hero--parents .cdc-aud-figure { box-shadow: 8px 10px 0 #9dcec0; }
.cdc-aud-hero--grandparents .cdc-aud-figure { box-shadow: 8px 10px 0 #edb4a0; }
.cdc-aud-image { display: block; width: 100%; height: auto; }
.cdc-aud-caption { margin: 0; padding: 15px 16px 10px; color: var(--cdc-aud-muted); font-size: .88rem; }
.cdc-aud-section { padding-block: 72px; }
.cdc-aud-section--compact { padding-top: 0; }
.cdc-aud-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-bottom: 30px; }
.cdc-aud-section-head .cdc-aud-h2 { margin-bottom: 0; }
.cdc-aud-section-head > .cdc-aud-copy { max-width: 340px; margin-bottom: 0; }
.cdc-aud-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.cdc-aud-card { min-width: 0; padding: 28px; background: var(--cdc-aud-cream); border: 1px solid var(--cdc-aud-line); border-radius: 24px; }
.cdc-aud-card--mint { background: #e8f3ec; }
.cdc-aud-card--sun { background: #fff3da; }
.cdc-aud-card--coral { background: #fff0e6; }
.cdc-aud-card .cdc-aud-copy:last-child { margin-bottom: 0; }
.cdc-aud-number { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-bottom: 20px; border-radius: 14px; background: var(--cdc-aud-teal); color: #fff; font: 800 1.15rem 'Outfit', Arial, sans-serif; }
.cdc-aud-tag { display: inline-flex; align-items: center; padding: 5px 11px; margin-bottom: 15px; border-radius: 999px; background: #dbeee7; color: var(--cdc-aud-teal); font-size: .76rem; font-weight: 800; }
.cdc-aud-tag--pending { background: #ffe8a7; color: #624314; }
.cdc-aud-tag--reserved { background: #f4dfd4; color: #743a27; }
.cdc-aud-lesson { padding: 38px; border: 1px solid #afcfc3; border-radius: 28px; background: #e4f2ec; display: grid; grid-template-columns: 1.2fr .9fr; gap: 44px; align-items: center; }
.cdc-aud-steps { margin: 0; padding: 26px 26px 26px 48px; border-radius: 22px; background: var(--cdc-aud-cream); }
.cdc-aud-steps li { padding: 0 0 16px 5px; color: var(--cdc-aud-muted); }
.cdc-aud-steps li:last-child { padding-bottom: 0; }
.cdc-aud-steps li::marker { color: var(--cdc-aud-teal); font-weight: 800; }
.cdc-aud-steps strong { display: block; color: var(--cdc-aud-ink); }
.cdc-aud-aside { margin-top: 22px; padding: 20px 24px; border-left: 4px solid #1b9b98; border-radius: 0 16px 16px 0; background: var(--cdc-aud-cream); }
.cdc-aud-aside .cdc-aud-copy { margin: 0; }
.cdc-aud-status { margin-top: 28px; padding: 26px 30px; border: 1px solid var(--cdc-aud-line); border-radius: 22px; background: var(--cdc-aud-cream); display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.cdc-aud-status > div { max-width: 730px; }
.cdc-aud-status .cdc-aud-copy { margin-bottom: 0; }
.cdc-aud-status .cdc-aud-button { flex-shrink: 0; }
.cdc-aud-split { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: center; }
.cdc-aud-split .cdc-aud-figure { box-shadow: none; border: 1px solid var(--cdc-aud-line); }
.cdc-aud-gallery { display: grid; gap: 22px; }
.cdc-aud-gallery .cdc-aud-figure:last-child { margin-left: 42px; }
.cdc-aud-gallery .cdc-aud-caption { padding-bottom: 15px; }
.cdc-aud-list { padding-left: 22px; margin: 0 0 20px; color: var(--cdc-aud-muted); }
.cdc-aud-list li { margin-bottom: 9px; }
.cdc-aud-contact { display: flex; align-items: center; justify-content: space-between; gap: 38px; padding: 38px; border-radius: 28px; background: #fff0e6; border: 1px solid #ebc8b7; }
.cdc-aud-contact > div { max-width: 740px; }
.cdc-aud-contact .cdc-aud-copy { margin-bottom: 0; }
.cdc-aud-contact .cdc-aud-button { flex-shrink: 0; }
.cdc-aud-link { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; min-width: 44px; padding-block: 10px; color: var(--cdc-aud-teal); font-weight: 800; text-decoration-thickness: 2px; text-underline-offset: 5px; }
.cdc-aud-link:hover { color: var(--cdc-aud-coral); }
.cdc-aud-home { padding-block: 72px; }
.cdc-aud-home-card { display: flex; flex-direction: column; padding: 0; overflow: hidden; }
.cdc-aud-home-card > .cdc-aud-image { aspect-ratio: 16 / 9; object-fit: cover; }
.cdc-aud-home-card-body { display: flex; flex-direction: column; flex: 1; padding: 25px; }
.cdc-aud-home-card .cdc-aud-link { margin-top: auto; }
.cdc-aud-home-summary { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 28px; padding: 28px; border: 1px solid #afcfc3; border-radius: 24px; background: #e4f2ec; }
.cdc-aud-home-summary > div { max-width: 740px; }
.cdc-aud-home-summary .cdc-aud-copy { margin-bottom: 0; }
.cdc-aud-home-summary .cdc-aud-button { flex-shrink: 0; }
@media (max-width: 1120px) {
  .cdc-aud-page .site-head nav { justify-content: flex-start; overflow: visible; }
  .cdc-aud-hero-grid { gap: 30px; }
  .cdc-aud-hero .cdc-aud-actions { flex-direction: column; }
  .cdc-aud-status,
  .cdc-aud-contact,
  .cdc-aud-home-summary { align-items: flex-start; flex-direction: column; gap: 22px; }
}
@media (max-width: 900px) {
  .cdc-aud-hero-grid,
  .cdc-aud-lesson,
  .cdc-aud-split { grid-template-columns: 1fr; }
  .cdc-aud-title { max-width: 21ch; }
  .cdc-aud-hero .cdc-aud-actions { flex-direction: row; }
  .cdc-aud-hero-grid { gap: 38px; }
  .cdc-aud-grid { gap: 16px; }
  .cdc-aud-card { padding: 22px; }
  .cdc-aud-home-card { padding: 0; }
  .cdc-aud-split { gap: 30px; }
  .cdc-aud-gallery { grid-template-columns: 1fr 1fr; gap: 18px; }
  .cdc-aud-gallery .cdc-aud-figure:last-child { margin-left: 0; }
  .cdc-aud-section-head { display: block; }
  .cdc-aud-section-head > .cdc-aud-copy { max-width: 640px; margin-top: 20px; }
}
@media (max-width: 650px) {
  .cdc-aud-wrap { width: calc(100% - 36px); }
  .cdc-aud-nav { padding-block: 15px; }
  .cdc-aud-nav-inner { gap: 8px; }
  .cdc-aud-nav-label { flex-basis: 100%; margin: 0 0 4px; }
  .cdc-aud-nav a { padding-inline: 12px; font-size: .84rem; }
  .cdc-aud-hero { padding-block: 38px 46px; }
  .cdc-aud-title { font-size: clamp(2.35rem, 9vw, 3.5rem); }
  .cdc-aud-lede { font-size: 1.04rem; }
  .cdc-aud-figure { border-width: 4px; border-radius: 20px; }
  .cdc-aud-caption { padding: 12px; }
  .cdc-aud-section,
  .cdc-aud-home { padding-block: 48px; }
  .cdc-aud-section--compact { padding-top: 0; }
  .cdc-aud-grid,
  .cdc-aud-gallery { grid-template-columns: 1fr; }
  .cdc-aud-lesson,
  .cdc-aud-contact { padding: 25px 22px; border-radius: 22px; }
  .cdc-aud-lesson { gap: 26px; }
  .cdc-aud-status,
  .cdc-aud-home-summary { padding: 24px 22px; }
  .cdc-aud-steps { padding: 22px 18px 22px 38px; }
  .cdc-aud-aside { padding: 18px; }
  .cdc-aud-page .site-head nav { column-gap: 14px; row-gap: 2px; }
}
@media (max-width: 420px) {
  .cdc-aud-actions,
  .cdc-aud-actions .cdc-aud-button { width: 100%; }
  .cdc-aud-hero .cdc-aud-actions { flex-direction: column; }
  .cdc-aud-nav a { font-size: .8rem; padding-inline: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .cdc-aud-page { scroll-behavior: auto; }
  .cdc-aud-page .head-cta,
  .cdc-aud-button { transition: none; }
  .cdc-aud-page .head-cta:hover { transform: none; }
}
