/* Targeted accessibility corrections; preserve the site's layout and identity. */
html { scroll-padding-top: 12rem; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, summary:focus-visible {
  outline: 3px solid #123b66 !important;
  outline-offset: 3px;
  box-shadow: 0 0 0 3px #fff !important;
}
.skip-link:focus { position: fixed !important; top: 12px !important; left: 12px !important; z-index: 10000; background: #fff !important; color: #123b66 !important; padding: 16px !important; }
#be-main:focus, #be-collection-results:focus { outline: none; }
#be-main:focus h1, #be-collection-results:focus > h2 { outline: 2px solid #123b66; outline-offset: 4px; }
.be-faq-heading { margin: 0; font: inherit; }
button.be-faq-q { width: 100%; border: 0; border-radius: 0; background: #fff; color: #142033; font: inherit; font-weight: 700; text-align: left; white-space: normal; gap: 16px; }
button.be-faq-q:hover, button.be-faq-q:focus { background: #f4f7fb; color: #142033; }
.be-faq-a { display: block; }
.be-faq-a[hidden] { display: none !important; }
.be-faq-q[aria-expanded="true"] .be-faq-icon { transform: rotate(45deg); }
.be-step__num { color: #1769aa; -webkit-text-stroke: 0; }
.be-accept-col--no h3 { color: #b9302d !important; }
.be-custom-footer .be-footer-title { font-family: "Baloo 2", Nunito, Arial, sans-serif; line-height: 1.3; }
.be-form-error { color: #a4211f; font-weight: 700; margin: .5rem 0; }
.be-form-feedback { padding: 18px; margin-bottom: 20px; background: #f4f7fb; border: 2px solid #1769aa; border-radius: 8px; }
.be-form-feedback:focus { outline: 3px solid #123b66; outline-offset: 3px; }
.be-form-feedback[hidden] { display: none; }
.be-form-group [aria-invalid="true"] { border: 2px solid #a4211f; }
.be-form-group input, .be-form-group textarea { border-color: #687789; }
.be-collection-search { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 24px 0; }
.be-collection-search label { flex-basis: 100%; font-weight: 800; }
.be-collection-search input { flex: 1 1 300px; width: 100%; min-width: 0; padding: 12px; border: 1px solid #687789; border-radius: 8px; }
.be-collection-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 16px; margin-bottom: 28px; }
.be-collection-point { padding: 18px; border: 1px solid #dfe7f0; border-radius: 8px; background: #f4f7fb; overflow-wrap: anywhere; }
.be-collection-point h5 { margin: 0 0 12px; font: inherit; font-weight: 900; color: #123b66; }
.be-collection-point p:last-child { margin-bottom: 0; }
.be-collection-source { font-size: .9rem; }
.be-collection-frame { display: block; width: 100%; height: 1000px; border: 1px solid #687789; }
.page-id-6 .entry-content blockquote, .page-id-6 .entry-content p.wp-block-heading { color: #5c697a; }
.be-benevole-img-container { overflow: hidden; }
@media (max-width: 768px) {
  html { scroll-padding-top: 8rem; }
  .be-story-grid { min-width: 0; }
  .be-collection-search .be-btn { width: 100%; }
  .be-step { grid-template-columns: 48px minmax(0, 1fr); gap: 12px; }
  .be-step__num { font-size: 2.5rem; }
}
@media (prefers-reduced-motion: reduce) {
  .be-hero__content, .be-hero__visual { animation: none; }
  .be-btn, .be-card, .be-faq-icon, .be-benevole-img-container img { transition: none; }
}

/* Portraits : agrandissement au survol de la souris uniquement. */
.be-team-section .be-person-card:hover { transform: none; }
.be-team-section .be-benevole-img-container { transform: none; transition: transform .2s ease; }
.be-team-section .be-benevole-img-container::before,
.be-team-section .be-benevole-img-container::after { display: none; }
.be-team-section .be-benevole-img-container img,
.be-team-section .be-benevole-img-container:hover img { transform: none; filter: none; }
@media (hover: hover) and (pointer: fine) {
  .be-team-section .be-person-card:has(.be-benevole-img-container:hover) { position: relative; z-index: 10; }
  .be-team-section .be-benevole-img-container:hover { overflow: visible; z-index: 2; }
  .be-team-section .be-benevole-img-container:hover img {
    position: absolute;
    left: -12px;
    top: -60px;
    width: 200px;
    max-width: none;
    height: 240px;
    object-fit: contain;
    border-radius: 12px;
    padding: 4px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(18, 59, 102, .25);
  }
}
@media (prefers-reduced-motion: reduce) {
  .be-team-section .be-benevole-img-container { transition: none; }
}

/* Fil Facebook : styles limités aux actualités de l'accueil. */
.be-facebook-section { padding-top: 48px; padding-bottom: 48px; }
.be-facebook-section .be-network-heading { margin-bottom: 24px; }
.be-facebook-mobile-hint { display: none; margin: 12px 0 0; color: #526479; font-size: 14px; }
.be-facebook-feed { min-width: 0; }
.be-facebook-feed #cff { width: 100%; }
.be-facebook-feed #cff .cff-posts-wrap { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.be-facebook-feed #cff .cff-item { box-sizing: border-box; width: auto !important; min-width: 0; float: none; margin: 0 !important; padding: 20px !important; border: 1px solid var(--bf-border, #dfe7f0) !important; border-radius: 12px; background: #fff; box-shadow: 0 6px 24px rgba(18,59,102,.06); }
.be-facebook-feed #cff .cff-post-text { font-size: 16px; line-height: 1.65; overflow-wrap: anywhere; }
.be-facebook-feed #cff .cff-author a { color: #123b66; }
.be-facebook-feed #cff .cff-author { padding-left: 0 !important; }
.be-facebook-feed #cff .cff-author-img { display: none !important; }
.be-facebook-feed #cff .cff-author-text { margin: 0 !important; padding: 0 !important; float: none !important; }
.be-facebook-feed #cff .cff-page-name a { font-size: 16px !important; line-height: 1.4; }
.be-facebook-feed #cff .cff-date { color: #526479; font-size: 14px !important; }
.be-facebook-feed #cff .cff-post-links a { font-size: 14px !important; line-height: 1.6; }
.be-facebook-feed #cff .cff-readmore { font-size: 16px !important; min-height: 32px; text-decoration: underline; text-underline-offset: 3px; }
.be-facebook-feed #cff a { text-underline-offset: 3px; }
.be-facebook-follow { margin: 28px 0 0; text-align: center; }
.be-facebook-follow .be-btn { white-space: normal; text-align: center; }
@media (max-width: 1000px) {
  .be-facebook-mobile-hint { display: block; }
  .be-facebook-feed #cff .cff-posts-wrap { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: min(86%, 360px); overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; gap: 16px; padding-bottom: 14px; }
  .be-facebook-feed #cff .cff-item { scroll-snap-align: start; }
}
@media (max-width: 480px) {
  .be-facebook-feed #cff .cff-item { padding: 18px !important; }
}

/* Easy Social Feed : photos locales et mise en page compacte de l'accueil. */
.be-facebook-feed--photos .esf-gdpr-admin-notice { display: none; }
.be-facebook-feed--photos .esf-facebook-feed { --esf-facebook-primary: #1769a5; min-width: 0; }
.be-facebook-feed--photos .esf-facebook-feed__thumbnail-inner { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.be-facebook-feed--photos .esf-facebook-feed__split-cell { min-width: 0; }
.be-facebook-feed--photos .esf-facebook-feed__split-card { display: flex; flex-direction: column; height: 100%; border: 1px solid #dfe7f0; border-radius: 12px; background: #fff; }
.be-facebook-feed--photos .esf-facebook-feed__split-main { flex: 1; grid-template-columns: 112px minmax(0, 1fr); }
.be-facebook-feed--photos .esf-facebook-feed__split-media { align-self: start; min-width: 0; }
.be-facebook-feed--photos .esf-facebook-feed__split-content { min-width: 0; padding: 16px; }
.be-facebook-feed--photos .esf-facebook-feed__split-avatar-link { display: none; }
.be-facebook-feed--photos .esf-facebook-feed__split-name { font-size: 15px; color: #123b66; }
.be-facebook-feed--photos .esf-facebook-feed__split-time { font-size: 14px; color: #526479; }
.be-facebook-feed--photos .esf-facebook-feed__caption { font-size: 16px; line-height: 1.5; }
.be-facebook-feed--photos .esf-facebook-feed__caption-toggle { font-size: 15px; color: #1769a5; min-height: 32px; }
.be-facebook-feed--photos .esf-facebook-feed__caption-toggle,
.be-facebook-feed--photos .esf-facebook-feed__caption-toggle:hover,
.be-facebook-feed--photos .esf-facebook-feed__caption-toggle:focus { background: transparent !important; color: #1769a5 !important; }
.be-facebook-feed--photos .esf-facebook-feed__split-footer-metrics,
.be-facebook-feed--photos .esf-facebook-feed__share-menu,
.be-facebook-feed--photos .esf-facebook-feed__tile-overlay { display: none; }
.be-facebook-feed--photos .esf-facebook-feed__split-footer { justify-content: flex-end; padding: 10px 14px; }
.be-facebook-section .be-facebook-feed--photos a.esf-facebook-feed__view-on-fb { font-size: 14px; color: #123b66; white-space: normal; min-height: 36px; }
@media (max-width: 1000px) {
  .be-facebook-feed--photos .esf-facebook-feed__thumbnail-inner { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: min(90%, 420px); overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; gap: 16px; padding-bottom: 14px; }
  .be-facebook-feed--photos .esf-facebook-feed__split-cell { scroll-snap-align: start; }
}
@media (max-width: 480px) {
  .be-facebook-feed--photos .esf-facebook-feed__split-main { grid-template-columns: 88px minmax(0, 1fr); }
  .be-facebook-feed--photos .esf-facebook-feed__split-content { padding: 12px; }
}
