/* Brin de Soi — design system (généré par brin-de-soi-setup.php) */
:root {
  --bds-green-dark: #2F4A3A;
  --bds-green: #5E7D5A;
  --bds-green-pale: #EAF0E6;
  --bds-rose: #E8B4B8;
  --bds-rose-old: #C97B84;
  --bds-rose-bg: #FBF1F0;
  --bds-text: #2F4A3A;
  --ast-global-color-3: #2F4A3A; /* couleur de texte Astra */
  --bds-radius: 18px;
}

/* Sections pleine largeur de la page d'accueil */
.bds-section { padding: 72px 24px; }
.bds-section > * { max-width: 1140px; margin-left: auto; margin-right: auto; }
.bds-section--rose { background: var(--bds-rose-bg); }
.bds-section--green { background: var(--bds-green-pale); }
.bds-section--dark { background: var(--bds-green-dark); color: #fff; }
.bds-section--dark h2, .bds-section--dark p { color: #fff; }

.bds-title { color: var(--bds-green-dark); text-align: center; font-size: clamp(1.6rem, 3vw, 2.2rem); margin-bottom: 12px; }
.bds-lead { text-align: center; max-width: 680px; margin: 0 auto 40px; color: var(--bds-text); font-size: 1.05rem; }

/* Hero */
.bds-hero {
  padding: 110px 24px 96px;
  text-align: center;
  background:
    radial-gradient(circle at 15% 20%, rgba(232, 180, 184, .45), transparent 45%),
    radial-gradient(circle at 85% 80%, rgba(94, 125, 90, .25), transparent 50%),
    var(--bds-rose-bg);
}
.bds-hero__kicker { text-transform: uppercase; letter-spacing: .18em; font-size: .8rem; color: var(--bds-rose-old); font-weight: 600; margin-bottom: 14px; }
.bds-hero__title { color: var(--bds-green-dark); font-size: clamp(2.2rem, 6vw, 3.6rem); line-height: 1.15; margin: 0 auto 18px; max-width: 820px; }
.bds-hero__text { max-width: 620px; margin: 0 auto 32px; font-size: 1.1rem; color: var(--bds-text); }

/* Boutons */
.bds-btn .wp-block-button__link, a.bds-btn-link {
  background: var(--bds-green); color: #fff; border-radius: 999px; padding: 14px 30px; font-weight: 600;
  text-decoration: none; transition: background .2s ease;
}
.bds-btn .wp-block-button__link:hover, a.bds-btn-link:hover { background: var(--bds-green-dark); color: #fff; }
.bds-btn--rose .wp-block-button__link { background: var(--bds-rose-old); }
.bds-btn--rose .wp-block-button__link:hover { background: #b06470; }
.bds-btn--light .wp-block-button__link { background: #fff; color: var(--bds-green-dark); }
.bds-btn--light .wp-block-button__link:hover { background: var(--bds-rose); color: var(--bds-green-dark); }
.bds-buttons { justify-content: center; gap: 12px; }

/* Grille des catégories */
.bds-cat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.bds-cat-card {
  display: block; background: #fff; border-radius: var(--bds-radius); padding: 28px 26px;
  text-decoration: none; color: var(--bds-text); border: 1px solid rgba(94, 125, 90, .15);
  transition: transform .2s ease, box-shadow .2s ease;
}
.bds-cat-card:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(47, 74, 58, .12); color: var(--bds-text); }
.bds-cat-card__icon { font-size: 1.8rem; display: block; margin-bottom: 10px; }
.bds-cat-card__name { display: block; font-weight: 700; font-size: 1.2rem; color: var(--bds-green-dark); margin-bottom: 6px; }
.bds-cat-card__desc { display: block; font-size: .95rem; line-height: 1.55; }
.bds-cat-card:nth-child(odd) .bds-cat-card__name { color: var(--bds-green); }
.bds-cat-card:nth-child(even) .bds-cat-card__name { color: var(--bds-rose-old); }

/* Derniers articles (bloc core/latest-posts) */
.bds-latest.wp-block-latest-posts.is-grid { gap: 24px; }
.bds-latest.wp-block-latest-posts.is-grid li { background: #fff; border-radius: var(--bds-radius); overflow: hidden; margin: 0; padding-bottom: 18px; box-shadow: 0 6px 20px rgba(47, 74, 58, .07); }
.bds-latest .wp-block-latest-posts__featured-image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.bds-latest .wp-block-latest-posts__post-title { display: block; padding: 14px 18px 6px; font-weight: 700; color: var(--bds-green-dark); text-decoration: none; line-height: 1.35; }
.bds-latest .wp-block-latest-posts__post-excerpt { padding: 0 18px; font-size: .92rem; color: var(--bds-text); }

/* Valeurs */
.bds-values { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.bds-value { background: #fff; border-radius: var(--bds-radius); padding: 30px 26px; border-top: 4px solid var(--bds-rose); }
.bds-value:nth-child(2) { border-top-color: var(--bds-green); }
.bds-value__title { display: block; font-weight: 700; color: var(--bds-green-dark); font-size: 1.15rem; margin-bottom: 8px; }
.bds-value p { margin: 0; line-height: 1.6; }

/* Bande partenariats */
.bds-partner { text-align: center; }
.bds-partner .bds-title { color: #fff; }

/* Avertissement santé */
.bds-disclaimer { font-size: .85rem; text-align: center; color: var(--bds-green); max-width: 760px; margin: 0 auto; padding: 32px 24px; }

/* Articles : touches de la charte */
.single .entry-content h2 { color: var(--bds-green-dark); }
.single .entry-content h3 { color: var(--bds-green); }
.single .entry-content blockquote { border-left-color: var(--bds-rose); background: var(--bds-rose-bg); }
::selection { background: var(--bds-rose); color: var(--bds-green-dark); }

/* En-tête : fond clair (le logo est vert profond), menu contrasté */
.site-header .ast-primary-header-bar,
.site-header .ast-mobile-header-wrap .ast-primary-header-bar {
  background: #fff;
  border-bottom: 3px solid var(--bds-rose);
}
.site-header .ast-builder-menu-1 .menu-item > .menu-link {
  color: var(--bds-green-dark);
  font-weight: 600;
  letter-spacing: .01em;
  position: relative;
}
.site-header .ast-builder-menu-1 .menu-item:hover > .menu-link,
.site-header .ast-builder-menu-1 .menu-item > .menu-link:focus-visible,
.site-header .ast-builder-menu-1 .menu-item.current-menu-item > .menu-link,
.site-header .ast-builder-menu-1 .current-menu-ancestor > .menu-link {
  color: #A84E5C;
}
.ast-desktop .site-header .ast-builder-menu-1 .main-header-menu > .menu-item > .menu-link::after {
  content: "";
  position: absolute;
  left: 1em;
  right: 1em;
  bottom: 26px;
  height: 2px;
  background: #A84E5C;
  transform: scaleX(0);
  transition: transform .2s ease;
}
.ast-desktop .site-header .ast-builder-menu-1 .main-header-menu > .menu-item:hover > .menu-link::after,
.ast-desktop .site-header .ast-builder-menu-1 .main-header-menu > .current-menu-item > .menu-link::after {
  transform: scaleX(1);
}
.site-header .ast-mobile-header-content .menu-item > .menu-link { border-bottom-color: var(--bds-rose-bg); }
.site-header .menu-toggle .ast-mobile-svg { fill: var(--bds-green-dark); }

/* Titres des pages catégories / blog / recherche (Astra les met en blanc) */
body.archive .site-content .ast-archive-description .ast-archive-title,
body.archive .site-content .ast-archive-description .ast-archive-title *,
body.blog .site-content .ast-archive-description .ast-archive-title,
body.search .site-content .ast-archive-description .ast-archive-title {
  color: var(--bds-green-dark);
}
body.archive .site-content .ast-archive-description p { color: var(--bds-green-dark); }

/* Formulaire de contact (Contact Form 7) */
.wpcf7 form > p label { color: var(--bds-green-dark); font-weight: 600; }
.wpcf7 input.wpcf7-form-control:not([type=submit]),
.wpcf7 textarea.wpcf7-form-control {
  border: 1px solid rgba(47, 74, 58, .25); border-radius: 10px; background: #fff; color: var(--bds-green-dark);
}
.wpcf7 input.wpcf7-form-control:not([type=submit]):focus,
.wpcf7 textarea.wpcf7-form-control:focus { border-color: var(--bds-rose-old); outline: 2px solid var(--bds-rose); outline-offset: 0; }
.wpcf7 .wpcf7-submit {
  background: var(--bds-green); color: #fff; border: 0; border-radius: 999px; padding: 14px 34px; font-weight: 600; cursor: pointer;
}
.wpcf7 .wpcf7-submit:hover { background: var(--bds-green-dark); }

/* Sous-menus de l'en-tête */
.site-header .main-header-menu .sub-menu { background: #fff; border-top: 2px solid var(--bds-rose); }

/* Pied de page : bande de marque + footer Astra en vert profond */
.bds-footer-brand { background: var(--bds-green-dark); color: #fff; text-align: center; padding: 56px 24px 8px; }
.bds-footer-brand__icon { width: 88px; height: 88px; display: block; margin: 0 auto 14px; }
.bds-footer-brand__name { display: block; font-size: 1.5rem; font-weight: 700; letter-spacing: .02em; }
.bds-footer-brand__slogan { display: block; color: var(--bds-rose); margin: 6px 0 0; font-style: italic; }
.site-footer .site-above-footer-wrap[data-section],
.site-footer .site-primary-footer-wrap[data-section],
.site-footer .site-below-footer-wrap[data-section] { background: var(--bds-green-dark); color: rgba(255, 255, 255, .8); border-top-color: rgba(255, 255, 255, .12); }
.site-footer .site-primary-footer-wrap[data-section] { border-top: 0; }
.site-footer #astra-footer-menu .menu-link { color: #fff; font-weight: 500; }
.site-footer #astra-footer-menu .menu-link:hover,
.site-footer #astra-footer-menu .current-menu-item > .menu-link { color: var(--bds-rose); }
.site-footer .ast-footer-copyright,
.site-footer .ast-footer-copyright p { color: rgba(255, 255, 255, .75); }
.site-footer .site-below-footer-wrap[data-section] a { color: #fff; }

@media (max-width: 921px) {
  .bds-cat-grid, .bds-values { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .bds-section { padding: 52px 16px; }
  .bds-hero { padding: 72px 16px 64px; }
  .bds-cat-grid, .bds-values { grid-template-columns: 1fr; }
}