/**
 * Pied de page Studio Goodies — d'après la maquette Figma.
 * Préfixe « pp- ».
 */

/* --------------------------------------------------------- Partie claire */
.pp-haut { position: relative; }
.pp-marque .pp-logo img { max-width: 210px; height: auto; }
.pp-marque p { max-width: 30ch; }
.pp-social .elementor-social-icon {
	background-color: #16161D; color: #fff; width: 42px; height: 42px;
	transition: background-color .18s ease, transform .18s ease;
}
.pp-social .elementor-social-icon:hover { background-color: #D60B52; transform: translateY(-2px); }
.pp-social .elementor-grid { gap: 12px; }

/* En-tête de colonne : pastille d'icône et intitulé alignés. */
.pp-col__tete > .elementor-container { align-items: center; flex-wrap: nowrap; }
.pp-col__tete .elementor-column > .elementor-element-populated { padding: 0; }
.pp-col__icone { flex: 0 0 auto; width: auto !important; padding-right: 10px !important; }
.pp-col__nom { flex: 1 1 auto; }
.pp-col__nom .elementor-heading-title { letter-spacing: .12em; }
.pp-souligne .elementor-divider { padding-block: 0; }

/* Listes de liens : chevron rose, texte encre, survol rose. */
.pp-liens ul.elementor-icon-list-items { list-style: none; margin: 0; padding: 0; }
.pp-liens .elementor-icon-list-item { margin-bottom: 0; }
.pp-liens .elementor-icon-list-item a,
.pp-liens .elementor-icon-list-text { color: #4A4A52; text-decoration: none; transition: color .15s ease; }
.pp-liens .elementor-icon-list-item:hover .elementor-icon-list-text { color: #D60B52; }
.pp-liens .elementor-icon-list-icon { min-width: 16px; }
.pp-liens--contact .elementor-icon-list-item { align-items: flex-start; }
.pp-liens--contact .elementor-icon-list-icon { padding-top: 4px; }

/* --------------------------------------------------------- Partie sombre */
.pp-atouts { position: relative; }
.pp-atout + .pp-atout > .elementor-element-populated { border-left: 1px solid rgba(255,255,255,.14); }
.pp-atout > .elementor-element-populated { padding: 4px 24px; }
.pp-atout__ligne > .elementor-container { align-items: flex-start; flex-wrap: nowrap; }
.pp-atout__ligne .elementor-column > .elementor-element-populated { padding: 0; }
.pp-atout__icone { flex: 0 0 auto; width: auto !important; padding-right: 16px !important; }
.pp-atout__texte { flex: 1 1 auto; }
/* Le cercle pointillé rose de la maquette. */
.pp-atout__icone .elementor-icon {
	width: 62px; height: 62px; border-radius: 50%;
	border: 2px dashed rgba(214,11,82,.55);
	display: inline-flex; align-items: center; justify-content: center;
}
.pp-atout__texte .elementor-widget:not(:last-child) { margin-bottom: 4px; }

.pp-legal { border-top: 1px solid rgba(255,255,255,.12); }
.pp-legal a { color: rgba(255,255,255,.8); text-decoration: none; }
.pp-legal a:hover { color: #fff; text-decoration: underline; }
.pp-legal p { margin: 0; }

/* Le focus clavier reste visible sur fond sombre comme sur fond clair. */
.pp a:focus-visible, .pp .elementor-social-icon:focus-visible { outline: 3px solid #D60B52; outline-offset: 3px; }
.pp-atouts a:focus-visible, .pp-legal a:focus-visible { outline-color: #fff; }

@media (max-width: 1024px) {
	.pp-atout + .pp-atout > .elementor-element-populated { border-left: 0; }
	.pp-atout > .elementor-element-populated { padding: 14px 0; }
}
@media (max-width: 767px) {
	.pp-marque p { max-width: none; }
	.pp-legal p, .pp-legal p[style] { text-align: left !important; }
	.pp-legal .elementor-column + .elementor-column { margin-top: 10px; }
}

/* Boutons sociaux : la grille Elementor ne pose pas d'écart par défaut ici. */
.pp-social .elementor-grid { display: flex; flex-wrap: wrap; gap: 12px; }
.pp-social .elementor-grid-item { width: auto; }
.pp-social .elementor-social-icon {
	width: 44px; height: 44px; border-radius: 50%; font-size: 17px;
	display: inline-flex; align-items: center; justify-content: center;
}
.pp-social .elementor-social-icon i,
.pp-social .elementor-social-icon svg { color: #fff; fill: #fff; }
.pp-social .elementor-social-icon:hover i { color: #fff; }
