/*
 * Thème ideas : base, en-tête, pied et gabarits (articles, archives, pages, 404).
 * Les mesures viennent des styles calculés de Divi relevés en préprod le 10/11/2026
 * (1440, 980 et 390 px), pour un rendu à l'identique.
 */

/* ---------- Base (réglages Divi : Roboto Slab 15 px, titres Roboto Condensed #0fa1c8) ---------- */

body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
a { color: #2ea3f2; text-decoration: none; }
p { margin: 0; padding-bottom: 1em; }
p:last-of-type { padding-bottom: 0; }
strong, b { font-weight: 700; }
h1, h2, h3, h4, h5, h6 { color: #333; padding-bottom: 10px; margin: 0; line-height: 1em; font-weight: 500; font-family: 'Roboto Condensed', 'Arial Narrow', Arial, sans-serif; }
/* CSS additionnel de Divi (#22) : h1 et h3 en bleu, h1 36 px, h3 20 px */
h1 { color: #0fa1c8; font-size: 36px; }
h2 { font-size: 26px; }
h3 { color: #0fa1c8; font-size: 20px; }
h4 { font-size: 18px; }
h1, h2, h3 { margin-top: 22px; margin-bottom: 11px; }
ul { list-style: disc; padding: 0 0 23px 1em; margin: 0; line-height: 26px; }
ol { padding: 0 0 23px 1em; margin: 0; line-height: 26px; }
img { max-width: 100%; height: auto; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
/* CSS additionnel de Divi : .hide visible seulement connecté */
body:not(.logged-in) .hide { display: none !important; }

/* ---------- Boutons (module Bouton de Divi) ---------- */

.ideas-boutons { text-align: center; }
.ideas-boutons .ideas-bouton { margin: 0 2%; }
.ideas-bouton {
	display: inline-block; position: relative;
	font-size: 20px; line-height: 1.7em; font-weight: 500;
	padding: 6px 20px; border: 2px solid #2ea3f2; border-radius: 3px;
	color: #2ea3f2; background: transparent; transition: all .2s;
}
.ideas-bouton:hover { background: rgba(0, 0, 0, .05); border-color: transparent; }
.ideas-bouton--petit { font-size: 14px; padding: .3em 1em; border-color: #fff; color: #fff; }
.ideas-bouton--connexion { background: #4499bf; }
.ideas-bouton--don { background: #e02b20; border-color: #fff; color: #fff; }
.ideas-bouton--connexion:hover, .ideas-bouton--don:hover { border-color: transparent; }
.ideas-bouton--connexion:hover { background: #4499bf; }
.ideas-bouton--don:hover { background: #e02b20; }

/* ---------- En-tête (Theme Builder #9) ---------- */

.ideas-en-tete { padding: 54px 0 1px; text-align: center; }
.ideas-en-tete > div { width: 80%; max-width: 1080px; margin: 0 auto; }
.ideas-en-tete__haut { margin-top: -21px !important; padding-top: 27px; min-height: 103px; box-sizing: border-box; }
.ideas-en-tete__haut--compte { margin-top: -37px !important; padding-top: 0; min-height: 0; height: 54px; }
.ideas-en-tete__marque { margin-top: -45px !important; padding: 35px 0 27px; min-height: 346.7px; box-sizing: border-box; }
.ideas-en-tete__haut--compte + .ideas-en-tete__marque { margin-top: 0 !important; }
.ideas-en-tete__logo { display: inline-block; line-height: 0; }
.ideas-en-tete__logo img { width: 300px; height: auto; display: block; }
.ideas-en-tete__devise { color: #0fa1c8; font-size: 19px; line-height: 25.5px; margin-top: 27px; padding: 0; }
.ideas-en-tete__don { padding-top: 27px; min-height: 89px; box-sizing: border-box; margin-bottom: 43px !important; }
.ideas-en-tete__bas { margin-top: -45px !important; min-height: 186.7px; }

/* Réseaux sociaux : carrés de 32 px, arrondis de 3 px, couleurs du module Divi */
.ideas-reseaux { list-style: none; padding: 0; margin: 0 0 38px; display: flex; justify-content: center; gap: 8px; line-height: 0; }
.ideas-reseaux__lien { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 3px; color: #fff; }
.ideas-reseaux__lien svg { width: 16px; height: 16px; fill: currentColor; }
.ideas-reseaux__lien--instagram { background: #ea2c59; }
.ideas-reseaux__lien--linkedin { background: #007bb6; }
.ideas-reseaux__lien--youtube { background: #a82400; }

/* Menus (module Menu de Divi, style « centré ») */
.ideas-menu__liste { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; line-height: 1; }
.ideas-menu__liste > li { position: relative; padding: 0 11px; }
.ideas-menu__liste a { display: block; font-size: 14px; font-weight: 500; line-height: 1em; padding-bottom: 8px; color: rgba(0, 0, 0, .6); transition: opacity .4s; }
.ideas-menu__liste a:hover { opacity: .7; }
.ideas-menu__bouton { display: none; }
.ideas-menu-principal .ideas-menu__liste { padding-top: 8px; }

/* Sous-menu (Prénom Nom ▾) : panneau blanc de 240 px, filet bleu en haut, comme Divi */
.ideas-menu__liste .menu-item-has-children > a { padding-right: 20px; }
.ideas-menu__liste .menu-item-has-children > a::after {
	content: ''; position: absolute; right: 13px; top: 3px;
	border: solid currentColor; border-width: 0 1.5px 1.5px 0; padding: 2.5px; transform: rotate(45deg);
}
.ideas-menu__liste .sub-menu {
	list-style: none; position: absolute; top: 100%; left: 0; z-index: 9999; width: 240px;
	padding: 20px 0; margin: 0; background: #fff; text-align: left;
	border-top: 3px solid #2ea3f2; box-shadow: 0 2px 5px rgba(0, 0, 0, .1);
	visibility: hidden; opacity: 0; transition: opacity .2s, visibility .2s;
}
.ideas-menu__liste li:hover > .sub-menu, .ideas-menu__liste li:focus-within > .sub-menu { visibility: visible; opacity: 1; }
.ideas-menu__liste .sub-menu a { padding: 6px 20px; width: 200px; line-height: 28px; font-size: 14px; }

/* ---------- Pied (Theme Builder #92) ---------- */

.ideas-pied__blanc { height: 136px; background: #fff; }
.ideas-pied__bleu { background: #0fa1c8; padding: 54px 0; }
.ideas-pied__rangee { width: 80%; max-width: 1080px; margin: 0 auto; padding: 27px 0; text-align: center; }
.ideas-menu-pied .ideas-menu__liste a { color: #fff; }
.ideas-menu-pied { margin-bottom: 22px; }

/* ---------- Gabarits : conteneur, barre latérale, articles ---------- */

.ideas-conteneur { width: 80%; max-width: 1080px; margin: 0 auto; padding: 58px 0 0; }
.ideas-conteneur > .ideas-titre-page:first-child { margin-top: 22px; }
.ideas-titre-page { color: #0fa1c8; font-size: 36px; line-height: 1em; padding-bottom: 10px; margin: 22px 0 0; }
.ideas-contenu { padding-top: 20px; }
.ideas-contenu > * + * { margin-top: 0; }
.ideas-conteneur:not(.ideas-avec-barre) { padding-bottom: 50px; }

.ideas-avec-barre { display: flex; align-items: stretch; }
.ideas-zone { width: 79.125%; padding: 0 5.5% 23px 0; box-sizing: border-box; }
.ideas-zone > .ideas-titre-page:first-child { margin-top: 22px; }
.ideas-barre-laterale { width: 20.875%; box-sizing: border-box; padding: 22px 0 28px 30px; border-left: 1px solid #e2e2e2; margin-bottom: 0; }
.ideas-widget { margin-bottom: 9.4%; }
.ideas-widget h2, .ideas-widget__titre { color: #333; font-size: 26px; margin: 0 0 11px; padding-bottom: 10px; }
.ideas-widget ul { list-style: none; padding: 0; }
.ideas-widget li { margin-bottom: .5em; line-height: 25.5px; }
.ideas-widget a { color: #666; }
.ideas-widget a:hover { color: #82c0c7; }
.ideas-widget .wp-block-latest-comments { padding: 0; }

/* Méta d'un article : « Jan 29, 2026 | ACTUALITÉS » */
.ideas-meta { font-size: 14px; gap: 0 4px; padding-bottom: 15px; align-items: baseline; }
.ideas-meta p { padding: 0; }
.ideas-meta__sep { padding: 0 !important; }
.ideas-categories a {
	display: inline-block; background: #e5e017; color: #3f3e3c;
	font-family: Roboto, Helvetica, Arial, sans-serif; font-size: 16px; font-weight: 700;
	text-transform: uppercase; letter-spacing: .5px; padding: 2px 10px; line-height: 18px;
}
.ideas-categories .wp-block-post-terms__separator { display: none; }
.ideas-article__image { margin: 0 0 30px; }
.ideas-article__image img { width: 100%; }

/* Liste d'articles (archives) : module Blog de Divi en liste */
.ideas-liste__articles { list-style: none; padding: 0; margin: 0; }
.ideas-liste__articles > li { margin-bottom: 60px; }
.ideas-liste__image { margin: 0 0 30px; }
.ideas-liste__image img { width: 350px; max-width: 100%; aspect-ratio: 350 / 197; object-fit: cover; display: block; }
.ideas-liste__titre { margin: 0; padding-bottom: 10px; font-size: 27px; line-height: 35px; font-weight: 700; }
.ideas-liste__titre a { color: #0fa1c8; }
.ideas-liste .ideas-categories { padding-bottom: 15px; }
.ideas-liste__extrait .wp-block-post-excerpt__more-text { display: none; }
.ideas-pagination a { color: #2ea3f2; font-size: 15px; }

/* Bouton du cœur (articles écrits dans l'éditeur de blocs) : comme sous Divi */
.wp-element-button, .wp-block-button__link { background: #32373c; color: #fff; border-radius: 9999px; padding: calc(.667em + 2px) calc(1.333em + 2px); font-size: 15px; }

/* ---------- Petits écrans (Divi : menus en ☰ sous 981 px) ---------- */

@media (max-width: 980px) {
	.ideas-en-tete { padding-top: 50px; }
	.ideas-en-tete__haut { padding-top: 30px; }
	.ideas-en-tete__marque, .ideas-en-tete__don { padding-top: 30px; }
	.ideas-menu__bouton {
		display: block; margin: 0 auto; width: 32px; height: 32px; padding: 0; border: 0; cursor: pointer;
		background: center / 32px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='%232ea3f2' d='M4 8h24v3H4zm0 7h24v3H4zm0 7h24v3H4z'/%3E%3C/svg%3E");
	}
	.ideas-menu .ideas-menu__liste {
		display: none; position: absolute; left: 10%; right: 10%; z-index: 9999; padding: 5%;
		background: #fff; border-top: 3px solid #2ea3f2; box-shadow: 0 2px 5px rgba(0, 0, 0, .1); text-align: left;
	}
	.ideas-menu { position: relative; }
	.ideas-menu.est-ouvert .ideas-menu__liste { display: block; }
	.ideas-menu__liste > li { padding: 0; }
	.ideas-menu__liste a { padding: 10px 5%; border-bottom: 1px solid rgba(0, 0, 0, .03); }
	.ideas-menu__liste .sub-menu { position: static; visibility: visible; opacity: 1; width: auto; padding: 0 0 0 20px; border: 0; box-shadow: none; }
	.ideas-menu__liste .sub-menu a { width: auto; }
	.ideas-menu__liste .menu-item-has-children > a::after { display: none; }
	/* Le menu du pied reste en ligne */
	.ideas-menu-pied .ideas-menu__liste { display: flex; position: static; padding: 0; background: none; border: 0; box-shadow: none; text-align: center; }
	.ideas-menu-pied .ideas-menu__liste > li { padding: 0 11px; }
	.ideas-menu-pied .ideas-menu__liste a { padding: 0 0 8px; border: 0; }

	.ideas-avec-barre { display: block; }
	.ideas-zone { width: 100%; padding-right: 0; }
	.ideas-barre-laterale { width: 100%; padding: 0 0 28px; border-left: 0; }
}
