/* =========================================================
   Ligue 60 – style de toutes les pages (thème Enfold)
   Charte de la Ligue de l'enseignement : vert d'eau, jaune,
   gris clair, police ronde, formes arrondies.
   Chargé automatiquement par le thème enfant.
   ========================================================= */
:root {
  --vert: #4abda0;
  --vert-texte: #1f7a63;
  --vert-fonce: #1a6553;
  --jaune: #ffd772;
  --gris-fond: #f0f2f4;
  --gris-texte: #5e5e5e;
  --gris-fonce: #333;
  --police: 'Outfit', 'Helvetica Neue', Arial, sans-serif;
  --r: 28px;
}

/* ---------- Typographie ---------- */
body, #main, #header, #footer, #socket,
#main p, #main li, #main .toggler, .main_menu, .av-main-nav > li > a {
  font-family: var(--police) !important;
}
#main .avia_textblock p, #main .avia_textblock li,
#main .iconbox_content_container p, #main .entry-content p, #main .entry-content li {
  font-size: 17px; line-height: 1.7; color: var(--gris-texte);
}
#main h1:not(.ls-layer), #main h2:not(.ls-layer), #main h3, #main h4, #main h5, #main h6 {
  font-family: var(--police) !important; color: var(--gris-fonce) !important; letter-spacing: 0;
}
#main h2, #main h3 { font-weight: 400 !important; }
#main h3, #main h4 { color: var(--vert-texte) !important; }
#main a:not(.avia-button):not(.av-masonry-entry) { color: var(--vert-texte); }

/* Diaporama de l'ancien accueil : titres restent blancs */
#main .ls-layer, #main .ls-text-layer { font-family: var(--police) !important; }

/* Grands titres Enfold : fins, avec une tache jaune */
#main .av-special-heading { position: relative; z-index: 0; }
#main .av-special-heading-tag {
  font-weight: 500 !important; text-transform: none !important; color: var(--gris-fonce) !important;
  font-size: clamp(30px, 4vw, 44px) !important; line-height: 1.15 !important; display: inline-block; position: relative;
}
#main .av-special-heading-tag::after {
  content: ""; position: absolute; z-index: -1; right: -24px; top: -12px; width: 76px; height: 62px;
  background: var(--jaune); border-radius: 58% 42% 55% 45% / 52% 60% 40% 48%; transform: rotate(-12deg);
}
#main .av-special-heading .special-heading-border,
#main .hr-custom { display: none; }

/* ---------- En-tête : menu dans un onglet vert ---------- */
#header, #header_main { background: #fff !important; border: none !important; }
#header_main { box-shadow: none; }
#header .av-main-nav-wrap {
  background: var(--vert-texte); border-radius: 26px 26px 0 0; padding: 0 10px;
}
#header .av-main-nav > li > a {
  color: #fff !important; font-size: 14.5px !important; font-weight: 500 !important;
  padding: 0 9px !important; background: none !important;
}
#header .av-main-nav > li > a .avia-menu-text { border: none !important; padding: 0 !important; background: none !important; color: #fff !important; }
#header .av-main-nav > li > a .avia-menu-fx { background: var(--jaune) !important; height: 3px; bottom: 12px; }
#header .av-main-nav > li.current-menu-item > a .avia-menu-fx,
#header .av-main-nav > li:hover > a .avia-menu-fx { opacity: 1; visibility: visible; }
#header .av-main-nav ul { border-top: 3px solid var(--vert) !important; border-radius: 0 0 18px 18px; overflow: hidden; }
#header .av-main-nav ul a { font-size: 15px !important; color: var(--gris-texte) !important; }
#header .av-main-nav ul a:hover { color: var(--vert-texte) !important; background: var(--gris-fond) !important; }
#header #menu-item-search > a { color: #fff !important; }

/* Barre de titre + fil d'Ariane */
#main .title_container { background: var(--gris-fond) !important; border: none !important; }
#main .title_container .main-title, #main .title_container .main-title a { color: var(--vert-texte) !important; font-weight: 400; }
#main .title_container .breadcrumb, #main .title_container .breadcrumb a { color: var(--gris-texte) !important; }

/* ---------- Sections et blocs ---------- */
#main .avia-section.main_color, #main .avia-section.alternate_color { border: none !important; }
#main .avia-image-container img,
#main .avia_image { border-radius: var(--r); }

/* Boutons : fins, contour vert */
#main .avia-button {
  font-family: var(--police) !important; font-weight: 500 !important; font-size: 15px !important;
  border-radius: 999px !important; padding: 12px 22px !important;
  background: #fff !important; color: var(--vert-texte) !important; border: 1.5px solid var(--vert) !important;
  box-shadow: none !important; transition: background .2s, color .2s;
}
#main .avia-button:hover { background: var(--vert-texte) !important; border-color: var(--vert-texte) !important; color: #fff !important; }
#main .avia-button .avia_button_icon { display: none !important; }

/* Listes dépliantes */
#main .togglecontainer .single_toggle { border: none !important; background: var(--gris-fond); border-radius: 20px; margin-bottom: 10px; }
#main .togglecontainer .toggler {
  border: none !important; background: transparent !important; font-weight: 500;
  color: var(--gris-fonce) !important; padding: 16px 18px 16px 50px !important;
}
#main .togglecontainer .toggle_icon,
#main .togglecontainer .toggle_icon .vert_icon,
#main .togglecontainer .toggle_icon .hor_icon { border-color: var(--vert-texte) !important; }
#main .togglecontainer .toggle_content { border: none !important; }

/* Boîtes d'icône : pastille ronde jaune */
#main .iconbox_icon { color: var(--gris-fonce) !important; background: #ffe7a3 !important; border-radius: 50% !important; border: none !important; }
#main .iconbox_content_title { color: var(--vert-texte) !important; font-weight: 500 !important; }

/* Articles en cartes */
#main .avia-content-slider .slide-entry,
#main .av-magazine-entry { border-radius: var(--r); }
#main .avia-content-slider .slide-entry { background: #fff; overflow: hidden; padding-bottom: 18px; }
#main .avia-content-slider .slide-image img { border-radius: 22px; }
#main .avia-content-slider .slide-entry-title, #main .avia-content-slider .slide-entry-title a { color: var(--vert-texte) !important; font-size: 19px !important; font-weight: 500 !important; }
#main .av-magazine-time, #main .slide-meta, #main .post-meta-infos { color: var(--gris-texte) !important; }
#main .av-magazine-title a { color: var(--vert-texte) !important; }

/* Galeries de logos : alignées, sans cases vides */
#main .av-masonry .av-masonry-item-no-image, #main .av-masonry .av-inner-masonry-sizer { display: none !important; }
#main .av-masonry-gallery .av-masonry-container { display: flex !important; flex-wrap: wrap; gap: 24px 40px; height: auto !important; align-items: center; }
#main .av-masonry-gallery .av-masonry-entry { position: static !important; width: auto !important; transform: none !important; }
#main .av-masonry-gallery .av-inner-masonry { background: none !important; }
#main .av-masonry-gallery .av-masonry-outerimage-container,
#main .av-masonry-gallery .av-masonry-image-container { position: static !important; background: none !important; }
#main .av-masonry-gallery img { display: block !important; height: 60px !important; width: auto !important; max-width: 160px; object-fit: contain; }

/* Formulaires */
#main input[type=text], #main input[type=email], #main input[type=tel], #main textarea, #main select {
  border-radius: 14px !important; border: 1.5px solid #d6dadf !important; background: #fff !important; font-family: var(--police);
}
#main input[type=submit], #main button[type=submit] {
  border-radius: 999px !important; background: var(--vert-texte) !important; color: #fff !important; border: none !important; font-family: var(--police);
}

/* ---------- Pied de page ---------- */
#footer { background: var(--vert-texte) !important; border: none !important; border-radius: var(--r) var(--r) 0 0; }
#footer, #footer p, #footer li, #footer span, #footer a { color: #fff !important; }
#footer .widgettitle, #footer h3 { font-family: var(--police) !important; color: #fff !important; font-weight: 500 !important; text-transform: uppercase; }
#footer a:hover { text-decoration: underline; }
#socket { background: var(--vert-fonce) !important; border: none !important; }
#socket, #socket a, #socket span { color: #e3f3ee !important; }

#scroll-top-link { background: var(--vert-texte) !important; color: #fff !important; border-radius: 50% !important; border: none !important; }

/* ---------- Mobile ---------- */
@media (max-width: 989px) {
  #header .av-main-nav-wrap { background: none; padding: 0; }
  #header .av-main-nav > li > a, #header #menu-item-search > a { color: var(--vert-texte) !important; }
  #main .av-special-heading-tag::after { width: 56px; height: 46px; right: -10px; }
}

/* ---------- Lisibilité des titres ---------- */
/* Titres dont la couleur a été choisie dans Enfold : on la respecte */
#main .custom-color-heading .av-special-heading-tag { color: inherit !important; }
#main .custom-color-heading .av-special-heading-tag::after { display: none; }

/* Titres sur photo ou fond sombre (repérés par site.js) */
#main .l60-sur-fond .av-special-heading-tag,
#main .l60-sur-fond .main-title,
#main .l60-sur-fond .main-title a {
  color: #fff !important; font-weight: 600 !important;
  text-shadow: 0 2px 14px rgba(0,0,0,.55), 0 1px 3px rgba(0,0,0,.4);
}
#main .l60-sur-fond .av-special-heading-tag::after { display: none; }
#main .l60-sur-fond .av-subheading, #main .l60-sur-fond .av-subheading p { color: #fff !important; text-shadow: 0 1px 8px rgba(0,0,0,.5); }

/* Texte courant un peu plus soutenu */
#main .avia_textblock p, #main .avia_textblock li, #main .entry-content p, #main .entry-content li { color: #4a4a4a; }
