/* =============================================================
   Footer L'Optimisme  -  loptimisme.com
   Tout est prefixe .lpf pour eviter toute collision avec Bimber.
   La police Sora est deja chargee par le CSS additionnel du site
   (@import fonts.googleapis.com/css2?family=Sora dans wp-custom-css),
   elle n'est donc PAS re-enqueue par le theme enfant.
   ============================================================= */

/* --- Reset local, strictement limite au footer --- */
.lpf,
.lpf *,
.lpf *::before,
.lpf *::after{box-sizing:border-box}
.lpf p,
.lpf h2,
.lpf h3,
.lpf ul,
.lpf li,
.lpf form,
.lpf figure{margin:0;padding:0}
.lpf ul{list-style:none}
.lpf li::before{content:none}
.lpf img{max-width:100%;height:auto;display:block}
.lpf a{color:inherit;text-decoration:none;box-shadow:none;border:0}
.lpf a:hover,
.lpf a:focus{text-decoration:none;box-shadow:none}
.lpf h2,
.lpf h3{font-family:inherit;color:inherit;text-transform:none}
.lpf svg{display:block}

/* --- Conteneur --- */
.lpf{
	--lpf-jaune:#fdee00;
	--lpf-jaune-doux:#fff085;
	--lpf-rose:#fbc5ff;
	--lpf-bleu:#b5f4ff;
	--lpf-bleu2:#7de5f5;
	--lpf-bleu-pastel:#cfdbff;
	--lpf-vert:#c1fac6;
	--lpf-ink:#1a1a2e;
	--lpf-ink-deep:#12121f;
	--lpf-soft:#c9c9e8;
	--lpf-muted:#a8a8c0;
	--lpf-line:rgba(255,255,255,.12);
	--lpf-rainbow:linear-gradient(90deg,#fdee00,#fff085,#fbc5ff,#cfdbff,#b5f4ff,#c1fac6);

	font-family:'Sora',system-ui,-apple-system,'Segoe UI',sans-serif;
	font-size:16px;
	background:var(--lpf-ink);
	color:#fff;
	line-height:1.55;
	display:block;
	width:100%;
	clear:both;
	float:none;
	margin:30px 0 0;
	padding:58px 24px 0;
	position:relative;
	overflow:hidden;
	-webkit-font-smoothing:antialiased;
}

/* halo radial jaune */
.lpf::before{
	content:'';position:absolute;inset:0;
	background:radial-gradient(760px 340px at 12% -20%,rgba(253,238,0,.14),transparent 70%);
	pointer-events:none;
}

/* bande arc-en-ciel 4px, tout premier element du footer */
.lpf-rainbow{position:absolute;top:0;left:0;right:0;height:4px;background:var(--lpf-rainbow);z-index:2}

.lpf-wrap{max-width:1500px;width:100%;margin:0 auto;position:relative}

/* Accessibilite */
.lpf-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.lpf-hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}

/* --- 1. Bande haute identite --- */
.lpf-top{display:flex;flex-wrap:wrap;align-items:flex-start;gap:24px;justify-content:space-between;padding-bottom:26px;border-bottom:1px solid var(--lpf-line)}
.lpf-identity{max-width:660px}
.lpf-logo img{width:240px;max-width:100%;height:auto}
.lpf-baseline{font-size:.94rem;color:var(--lpf-soft);margin:16px 0 0}
.lpf-baseline strong{color:#fff;font-weight:700}
.lpf-mission{
	font-size:.85rem;color:var(--lpf-muted);line-height:1.65;max-width:660px;
	margin:14px 0 0;padding-left:16px;border-left:2px solid rgba(253,238,0,.45)
}
.lpf-mission strong{color:#fff;font-weight:700}

.lpf-social{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding-top:6px}
.lpf-social a{
	display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;
	border:1px solid rgba(255,255,255,.22);border-radius:50%;color:#fff;
	transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
	background:none;
}
.lpf-social a:hover,
.lpf-social a:focus-visible{background:var(--lpf-jaune);border-color:var(--lpf-jaune);color:var(--lpf-ink);transform:translateY(-2px)}
.lpf-social svg{width:19px;height:19px;fill:currentColor;display:block}

/* --- 2. Grille cartes + colonnes --- */
.lpf-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr 1fr 1fr;gap:34px;padding:34px 0 30px}
.lpf-cards{display:flex;flex-direction:column;gap:16px}
.lpf-card{border-radius:20px;padding:24px}
.lpf-card-j{background:var(--lpf-jaune);color:var(--lpf-ink)}
.lpf-card-b{background:linear-gradient(135deg,var(--lpf-bleu),var(--lpf-bleu2));color:var(--lpf-ink)}
.lpf-card h3{font-size:1rem;font-weight:800;margin:0 0 6px;color:var(--lpf-ink);line-height:1.35}
.lpf-card p{font-size:.82rem;line-height:1.5;margin:0 0 14px;color:var(--lpf-ink);opacity:.85}
.lpf-btn{
	display:inline-flex;align-items:center;gap:9px;background:#fff;color:var(--lpf-ink);
	font-weight:700;font-size:.84rem;padding:11px 20px;border-radius:99px;
	box-shadow:0 4px 14px rgba(20,20,43,.16);transition:transform .22s ease,box-shadow .22s ease
}
.lpf-btn:hover,
.lpf-btn:focus-visible{transform:translateY(-2px);box-shadow:0 7px 20px rgba(20,20,43,.26);color:var(--lpf-ink)}
.lpf-card-meta{display:block;font-size:.72rem;font-weight:600;margin-top:10px;color:var(--lpf-ink);opacity:.72}

/* Formulaire newsletter Brevo, dans la carte jaune */
.lpf-nl-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0}
.lpf-nl-form input[type="email"]{
	flex:1 1 150px;min-width:0;width:auto;
	font-family:inherit;font-size:.84rem;line-height:1.3;color:var(--lpf-ink);
	background:#fff;border:1px solid rgba(26,26,46,.12);border-radius:99px;
	padding:11px 18px;margin:0;height:auto;box-shadow:none;
}
.lpf-nl-form input[type="email"]::placeholder{color:#8a8aa5;opacity:1}
.lpf-nl-form input[type="email"]:focus{outline:2px solid var(--lpf-ink);outline-offset:1px;border-color:var(--lpf-ink)}
.lpf-nl-btn{
	flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;
	font-family:inherit;font-weight:700;font-size:.84rem;line-height:1.3;
	background:var(--lpf-ink);color:#fff;border:0;border-radius:99px;
	padding:12px 20px;margin:0;cursor:pointer;text-transform:none;letter-spacing:normal;
	box-shadow:0 4px 14px rgba(20,20,43,.18);transition:transform .22s ease,box-shadow .22s ease,background .22s ease;
	-webkit-appearance:none;appearance:none;height:auto;
}
.lpf-nl-btn:hover,
.lpf-nl-btn:focus-visible{background:#0f0f1c;color:#fff;transform:translateY(-2px);box-shadow:0 7px 20px rgba(20,20,43,.28)}

/* Colonnes de liens */
.lpf-col h3{
	font-size:.72rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;
	margin:0 0 15px;display:flex;align-items:center;gap:9px
}
.lpf-col h3::before{content:'';width:18px;height:3px;border-radius:2px;background:currentColor;flex:0 0 18px}
.lpf .c-jaune{color:var(--lpf-jaune-doux)}
.lpf .c-rose{color:var(--lpf-rose)}
.lpf .c-bleu{color:var(--lpf-bleu)}
.lpf .c-vert{color:var(--lpf-vert)}
.lpf .c-bleu-pastel{color:var(--lpf-bleu-pastel)}
.lpf-col ul{display:flex;flex-direction:column;gap:8px}
.lpf-col a{color:var(--lpf-muted);font-size:.79rem;line-height:1.4;transition:color .2s}
.lpf-col a:hover,
.lpf-col a:focus-visible{color:#fff}

/* --- 3. Nouveau sur le site --- */
.lpf-new{border-top:1px solid var(--lpf-line);padding:26px 0 24px}
.lpf-new h2{font-size:.72rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;margin:0 0 16px}
.lpf-new-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.lpf-new-item{
	background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:14px;
	padding:14px 16px;display:flex;gap:13px;align-items:center;transition:background .2s
}
.lpf-new-item:hover,
.lpf-new-item:focus-visible{background:rgba(255,255,255,.09)}
.lpf-new-thumb{
	width:52px;height:52px;flex:0 0 52px;border-radius:50%;
	border:2px solid rgba(253,238,0,.55);
	background-image:linear-gradient(135deg,var(--lpf-bleu),var(--lpf-rose));
	background-size:cover;background-position:50% 50%;background-repeat:no-repeat;
}
.lpf-new-date{display:block;font-size:.68rem;font-weight:700;color:var(--lpf-jaune);margin-bottom:3px}
.lpf-new-title{display:block;font-size:.82rem;font-weight:600;color:#fff;line-height:1.35}

/* --- 4. Bandeau ecosysteme --- */
.lpf-univers{border-top:1px solid var(--lpf-line);padding:22px 0 20px}
.lpf-univers-lab{display:block;font-size:.68rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--lpf-muted);margin-bottom:14px}
.lpf-bulles{display:flex;flex-wrap:wrap;gap:12px}
.lpf-bulle{
	display:inline-flex;align-items:center;gap:12px;
	background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);
	border-radius:99px;padding:8px 22px 8px 8px;
	transition:transform .22s ease,border-color .22s ease,background .22s ease
}
.lpf-bulle:hover,
.lpf-bulle:focus-visible{transform:translateY(-2px);border-color:var(--lpf-jaune);background:rgba(255,255,255,.09)}
.lpf-bulle-pastille{
	width:42px;height:42px;flex:0 0 42px;border-radius:50%;
	display:inline-flex;align-items:center;justify-content:center;
	font-size:.95rem;font-weight:800;color:var(--lpf-ink);line-height:1
}
.lpf .p-bleu{background:var(--lpf-bleu)}
.lpf .p-jaune{background:var(--lpf-jaune-doux)}
.lpf .p-vert{background:var(--lpf-vert)}
.lpf .p-rose{background:var(--lpf-rose)}
.lpf-bulle-txt{display:flex;flex-direction:column;gap:1px;min-width:0}
.lpf-bulle-nom{font-size:.83rem;font-weight:700;color:#fff;line-height:1.25;white-space:nowrap}
.lpf-bulle-desc{font-size:.7rem;color:var(--lpf-muted);line-height:1.25;white-space:nowrap}

/* --- 4 bis. Bloc SEO "A propos de L'Optimisme" - ajout 18/08/2026 --- */
.lpf-seo{padding:30px 0 4px;border-top:1px solid rgba(255,255,255,.10);margin-top:26px}
.lpf-seo h3{color:#fff085;font-size:.95rem;font-weight:800;margin:0 0 14px;text-transform:uppercase;letter-spacing:1.4px}
.lpf-seo p{color:#d3d3dd;font-size:.88rem;line-height:1.75;margin:0 0 13px}
.lpf-seo p:last-child{margin-bottom:0}
.lpf-seo p strong{color:#fff;font-weight:700}
.lpf-seo a{color:#fff085;font-weight:600;border-bottom:1px dotted rgba(255,240,133,.5)}
.lpf-seo a:hover{color:#fff;border-bottom-color:#fff}

.lpf-mission-link a{font-weight:700;border-bottom:1px solid rgba(255,255,255,.35)}
.lpf-mission-link a:hover{border-bottom-color:#fff}

/* --- Retour 11 : aucun bleu de lien herite dans le footer --- */
.lpf a,
.lpf a:link,
.lpf a:visited,
.lpf a:hover,
.lpf a:active,
.lpf a:focus{color:inherit}
.lpf a h2,.lpf a h3,.lpf a h4,
.lpf a:hover h2,.lpf a:hover h3,.lpf a:hover h4,
.lpf a:focus h2,.lpf a:focus h3,.lpf a:focus h4{color:inherit}
.lpf-new-item:hover .lpf-new-title{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:2px}

/* Les liens du bloc SEO gardent leur jaune : regle posee APRES la
   neutralisation ci-dessus pour ne pas etre ecrasee. */
.lpf-seo a,
.lpf-seo a:link,
.lpf-seo a:visited{color:#fff085}
.lpf-seo a:hover,
.lpf-seo a:focus{color:#fff}

/* --- 5. Barre legale --- */
.lpf-legal-wrap{background:var(--lpf-ink-deep);margin:0 -24px;padding:18px 24px 22px;position:relative;z-index:1}
.lpf-legal{
	max-width:1500px;margin:0 auto;display:flex;flex-wrap:wrap;gap:10px 18px;
	align-items:center;justify-content:space-between;font-size:.74rem;color:var(--lpf-muted)
}
.lpf-legal-links{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
.lpf-legal-links a{color:var(--lpf-muted);transition:color .2s}
.lpf-legal-links a:hover,
.lpf-legal-links a:focus-visible{color:#fff}
.lpf-legal .sep{color:#4a4a66}

/* --- Responsive --- */
@media(max-width:1100px){
	.lpf-grid{grid-template-columns:1fr 1fr;gap:28px}
	.lpf-new-list{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
	.lpf-legal{justify-content:flex-start}
}
@media(max-width:550px){
	.lpf-grid{grid-template-columns:1fr;gap:24px}
	.lpf-new-list{grid-template-columns:1fr}
	.lpf-bulles{flex-direction:column;align-items:stretch}
	.lpf-bulle{width:100%}
	.lpf-bulle-nom,
	.lpf-bulle-desc{white-space:normal}
	.lpf-nl-form input[type="email"]{flex:1 1 100%}
	.lpf-nl-btn{width:100%;justify-content:center}
}
