/**
 * Valderia — Liaison BuddyPress (BP Nouveau) × Divi 5
 * ---------------------------------------------------
 * Chargée uniquement sur les écrans BuddyPress, après bp-nouveau et après
 * la feuille du thème enfant (voir inc/buddypress-divi.php).
 *
 * Principe : on ne désactive pas BP Nouveau, on l'aligne sur Divi.
 * BP Nouveau garde la structure et le comportement responsive ;
 * cette feuille reprend la typographie, les couleurs, les boutons et les
 * champs de formulaire du thème.
 *
 * Tous les réglages passent par les variables de la section 1.
 * En principe, il ne devrait pas être nécessaire de modifier autre chose.
 *
 * @package Divi_Child_by_Divi_Extended
 * @since   1.1.0
 */

/* =========================================================================
   1. Variables — le seul bloc à ajuster
   ========================================================================= */

body.valderia-bp {
	/* Couleurs — reprises des couleurs globales Divi quand elles existent,
	   avec la palette Valderia en repli. Modifier une couleur globale dans
	   Divi met donc BuddyPress à jour automatiquement. */
	--vald-accent: var(--gcid-primary-color, #c9922a);   /* Or Valderia */
	--vald-accent-contrast: #ffffff;                     /* Texte sur fond accent */
	--vald-link: var(--gcid-link-color, #6500d1);
	--vald-text: var(--gcid-body-color, #555555);
	--vald-heading: var(--gcid-heading-color, #1b2a4a);  /* Bleu nuit Valderia */
	--vald-muted: #8b8b8b;
	--vald-border: #e0e0e0;
	--vald-surface: #ffffff;
	--vald-surface-alt: #f7f8f9;

	/* Rythme et formes. */
	--vald-radius: 4px;
	--vald-gap: 20px;
	--vald-gap-sm: 10px;

	/* Focus clavier — accessibilité, ne pas supprimer. */
	--vald-focus: 2px solid var(--vald-accent);
	--vald-focus-offset: 2px;
}

/* =========================================================================
   2. Mise en page — pleine largeur dans le gabarit Divi
   ========================================================================= */

body.valderia-bp #left-area {
	width: 100%;
	padding-right: 0;
	padding-bottom: 0;
}

body.valderia-bp #main-content .container::before {
	display: none; /* Supprime la ligne verticale de sidebar Divi. */
}

body.valderia-bp .valderia-bp-article {
	margin-bottom: 0;
}

body.valderia-bp .entry-content > #buddypress {
	margin-top: 0;
}

/* =========================================================================
   3. Typographie — hériter du thème plutôt que de BP Nouveau
   ========================================================================= */

/* Filet de sécurité : si le CSS du Personnalisateur Divi venait à manquer
   (cf. inc/buddypress-divi.php), BuddyPress garderait quand même la
   typographie du site au lieu de retomber sur Open Sans / #666. */
body.valderia-bp #buddypress,
body.valderia-bp .buddypress-wrap,
body.valderia-bp #buddypress input,
body.valderia-bp #buddypress select,
body.valderia-bp #buddypress textarea,
body.valderia-bp #buddypress button {
	font-family: var(--et_global_body_font, "IBM Plex Sans"), Helvetica, Arial, Lucida, sans-serif;
	font-weight: var(--et_global_body_font_weight, 300);
	color: var(--vald-text);
}

body.valderia-bp #buddypress,
body.valderia-bp .buddypress-wrap {
	font-size: inherit;
	line-height: inherit;
}

body.valderia-bp #buddypress h1,
body.valderia-bp #buddypress h2,
body.valderia-bp #buddypress h3,
body.valderia-bp #buddypress h4,
body.valderia-bp #buddypress h5,
body.valderia-bp #buddypress h6 {
	font-family: var(--et_global_heading_font, "IBM Plex Sans"), Helvetica, Arial, Lucida, sans-serif;
	font-weight: var(--et_global_heading_font_weight, 700);
	color: var(--vald-heading);
	line-height: 1.3;
}

body.valderia-bp #buddypress a {
	color: var(--vald-link);
	text-decoration: none;
}

body.valderia-bp #buddypress a:hover,
body.valderia-bp #buddypress a:focus-visible {
	text-decoration: underline;
}

/* Focus clavier visible partout — exigence WCAG 2.1 AA (2.4.7). */
body.valderia-bp #buddypress a:focus-visible,
body.valderia-bp #buddypress button:focus-visible,
body.valderia-bp #buddypress input:focus-visible,
body.valderia-bp #buddypress select:focus-visible,
body.valderia-bp #buddypress textarea:focus-visible {
	outline: var(--vald-focus);
	outline-offset: var(--vald-focus-offset);
}

/* =========================================================================
   4. En-tête d'élément (profil membre, groupe)
   ========================================================================= */

body.valderia-bp #buddypress #item-header {
	padding: var(--vald-gap);
	margin-bottom: var(--vald-gap);
	background: var(--vald-surface-alt);
	border: 1px solid var(--vald-border);
	border-radius: var(--vald-radius);
}

body.valderia-bp #buddypress #item-header-avatar img.avatar {
	border-radius: 50%;
	border: 3px solid var(--vald-surface);
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
}

body.valderia-bp #buddypress #item-header-content .user-nicename,
body.valderia-bp #buddypress #item-header-content h2 {
	margin: 0 0 var(--vald-gap-sm);
	color: var(--vald-heading);
}

body.valderia-bp #buddypress #item-header-content .activity,
body.valderia-bp #buddypress #item-header-content .group-item-meta {
	color: var(--vald-muted);
	font-size: 0.875em;
}

/* =========================================================================
   5. Navigations à onglets (.bp-navs)
   ========================================================================= */

body.valderia-bp #buddypress .bp-navs {
	background: transparent;
	border-bottom: 1px solid var(--vald-border);
	margin-bottom: var(--vald-gap);
}

body.valderia-bp #buddypress .bp-navs ul li a {
	font-family: inherit;
	color: var(--vald-text);
	padding: 12px 16px;
	border-radius: var(--vald-radius) var(--vald-radius) 0 0;
	transition: background-color 0.2s ease, color 0.2s ease;
}

body.valderia-bp #buddypress .bp-navs ul li a:hover {
	background: var(--vald-surface-alt);
	color: var(--vald-heading);
	text-decoration: none;
}

body.valderia-bp #buddypress .bp-navs ul li.current > a,
body.valderia-bp #buddypress .bp-navs ul li.selected > a {
	background: transparent;
	color: var(--vald-accent);
	box-shadow: inset 0 -3px 0 var(--vald-accent);
	font-weight: 600;
}

/* Compteurs (nombre de membres, de messages…). */
body.valderia-bp #buddypress .bp-navs ul li a span {
	background: var(--vald-accent);
	color: var(--vald-accent-contrast);
	border-radius: 999px;
	padding: 1px 8px;
	font-size: 0.75em;
	vertical-align: middle;
}

/* Sous-navigation. */
body.valderia-bp #buddypress .bp-navs.bp-subnavs {
	border-bottom: 0;
	margin-bottom: var(--vald-gap-sm);
}

/* =========================================================================
   6. Boutons — apparence des boutons Divi
   ========================================================================= */

body.valderia-bp #buddypress .generic-button a,
body.valderia-bp #buddypress .bp-list .action a,
body.valderia-bp #buddypress button,
body.valderia-bp #buddypress input[type="button"],
body.valderia-bp #buddypress input[type="reset"],
body.valderia-bp #buddypress input[type="submit"],
body.valderia-bp #buddypress a.button {
	display: inline-block;
	font-family: inherit;
	font-size: 0.9375em;
	font-weight: 500;
	line-height: 1.4;
	padding: 9px 18px;
	color: var(--vald-accent);
	background: transparent;
	border: 2px solid var(--vald-accent);
	border-radius: var(--vald-radius);
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}

body.valderia-bp #buddypress .generic-button a:hover,
body.valderia-bp #buddypress button:hover,
body.valderia-bp #buddypress input[type="submit"]:hover,
body.valderia-bp #buddypress a.button:hover {
	background: var(--vald-accent);
	color: var(--vald-accent-contrast);
	text-decoration: none;
}

/* Action principale : plein par défaut. */
body.valderia-bp #buddypress input[type="submit"],
body.valderia-bp #buddypress #aw-whats-new-submit {
	background: var(--vald-accent);
	color: var(--vald-accent-contrast);
}

body.valderia-bp #buddypress input[type="submit"]:hover,
body.valderia-bp #buddypress #aw-whats-new-submit:hover {
	filter: brightness(0.92);
}

body.valderia-bp #buddypress button[disabled],
body.valderia-bp #buddypress input[type="submit"][disabled] {
	opacity: 0.5;
	cursor: not-allowed;
}

/* =========================================================================
   7. Formulaires
   ========================================================================= */

body.valderia-bp #buddypress input[type="text"],
body.valderia-bp #buddypress input[type="email"],
body.valderia-bp #buddypress input[type="password"],
body.valderia-bp #buddypress input[type="search"],
body.valderia-bp #buddypress input[type="tel"],
body.valderia-bp #buddypress input[type="url"],
body.valderia-bp #buddypress select,
body.valderia-bp #buddypress textarea {
	font-family: inherit;
	font-size: 1em;
	color: var(--vald-heading);
	background: var(--vald-surface);
	border: 1px solid var(--vald-border);
	border-radius: var(--vald-radius);
	padding: 10px 12px;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

body.valderia-bp #buddypress label,
body.valderia-bp #buddypress .standard-form label {
	font-weight: 600;
	color: var(--vald-heading);
	margin-bottom: 4px;
	display: inline-block;
}

body.valderia-bp #buddypress .standard-form .field-visibility-settings,
body.valderia-bp #buddypress .standard-form p.description {
	color: var(--vald-muted);
	font-size: 0.875em;
}

/* Champ « Quoi de neuf ». */
body.valderia-bp #buddypress #whats-new-form {
	background: var(--vald-surface-alt);
	border: 1px solid var(--vald-border);
	border-radius: var(--vald-radius);
	padding: var(--vald-gap);
	margin-bottom: var(--vald-gap);
}

/* =========================================================================
   8. Listes (membres, groupes, activité)
   ========================================================================= */

body.valderia-bp #buddypress .bp-list,
body.valderia-bp #buddypress ul.item-list {
	border: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.valderia-bp #buddypress .bp-list > li,
body.valderia-bp #buddypress ul.item-list > li {
	border: 1px solid var(--vald-border);
	border-radius: var(--vald-radius);
	background: var(--vald-surface);
	padding: var(--vald-gap);
	margin-bottom: var(--vald-gap-sm);
}

body.valderia-bp #buddypress .activity-list .activity-item {
	border: 1px solid var(--vald-border);
	border-radius: var(--vald-radius);
	background: var(--vald-surface);
	padding: var(--vald-gap);
	margin-bottom: var(--vald-gap-sm);
}

body.valderia-bp #buddypress .activity-header,
body.valderia-bp #buddypress .item-meta {
	color: var(--vald-muted);
	font-size: 0.875em;
}

body.valderia-bp #buddypress .activity-content .activity-inner {
	margin-top: var(--vald-gap-sm);
}

/* =========================================================================
   9. Messages système et pagination
   ========================================================================= */

body.valderia-bp #buddypress .bp-feedback {
	border: 1px solid var(--vald-border);
	border-left-width: 4px;
	border-radius: var(--vald-radius);
	background: var(--vald-surface-alt);
	padding: 12px 16px;
	margin-bottom: var(--vald-gap);
}

body.valderia-bp #buddypress .bp-feedback.success { border-left-color: #2e7d32; }
body.valderia-bp #buddypress .bp-feedback.error   { border-left-color: #c62828; }
body.valderia-bp #buddypress .bp-feedback.info    { border-left-color: var(--vald-accent); }

body.valderia-bp #buddypress .bp-pagination {
	background: transparent;
	border: 0;
	padding: var(--vald-gap) 0;
}

body.valderia-bp #buddypress .bp-pagination-links a,
body.valderia-bp #buddypress .bp-pagination-links span {
	display: inline-block;
	padding: 6px 12px;
	border: 1px solid var(--vald-border);
	border-radius: var(--vald-radius);
	margin-right: 4px;
}

body.valderia-bp #buddypress .bp-pagination-links span.current {
	background: var(--vald-accent);
	border-color: var(--vald-accent);
	color: var(--vald-accent-contrast);
}

/* =========================================================================
   10. Responsive
   ========================================================================= */

@media only screen and (max-width: 980px) {

	body.valderia-bp #buddypress #item-header {
		text-align: center;
	}

	body.valderia-bp #buddypress #item-header-avatar {
		float: none;
		margin: 0 auto var(--vald-gap-sm);
	}
}

@media only screen and (max-width: 767px) {

	body.valderia-bp #buddypress .bp-navs ul li a {
		padding: 10px 12px;
	}

	body.valderia-bp #buddypress .bp-list > li,
	body.valderia-bp #buddypress .activity-list .activity-item {
		padding: var(--vald-gap-sm);
	}
}

/* =========================================================================
   11. Préférences système
   ========================================================================= */

@media (prefers-reduced-motion: reduce) {

	body.valderia-bp #buddypress * {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
	}
}
