/**
 * Theme Name: BuddyX Child Gemma
 * Description: Thème enfant de BuddyX pour HommeFleur.
 * Author: wbcomdesigns, vapvarun
 * Template: buddyx
 * Version: 4.5.8
 *
 * ==========================================================================
 * SOMMAIRE DE LA FEUILLE DE STYLE :
 * ==========================================================================
 * 01. CONTENU RESTREINT & APPEL À L'ACTION (Paywall SEO & Inscription)
 *     - Extrait flouté (.entry-excerpt-restricted, .excerpt-fade-overlay)
 *     - Boîte Call-To-Action (.registration-cta-box)
 *     - Badges, Titres et Descriptions
 *     - Liste des avantages (.cta-benefits)
 *     - Boutons d'action (.cta-btn, .cta-btn-primary, .cta-btn-secondary)
 *     - Responsive mobile (<= 640px)
 *
 * 02. COMMENTAIRES RESTREINTS & CTA DISCUSSION
 *     - Aperçu masqué des commentaires (.restricted-comments-wrapper)
 *     - Dégradé de fondu (.comments-fade-overlay)
 *     - Boîte CTA d'incitation (.comments-cta-box)
 *     - Typographie et boutons d'action
 *
 * 03. COMPTEURS ET STATISTIQUES DU FORUM BBPRESS (.bbp-stats)
 *     - Grille principale desktop (4 colonnes)
 *     - Cartes statistiques (DT = libellé, DD = chiffre)
 *     - Effets d'élévation au survol
 *     - Masquage des métriques secondaires / techniques
 *
 * 04. RESPONSIVE DES STATISTIQUES DU FORUM
 *     - Format tablette (<= 900px, 2 colonnes)
 *     - Format mobile (<= 600px, 1 colonne)
 * ==========================================================================
 */


/* ==========================================================================
   01. CONTENU RESTREINT & APPEL À L'ACTION (PAYWALL SEO & INSCRIPTION)
   Affiche un extrait partiel de l'article avec dégradé et boîte d'inscription
   pour les visiteurs non connectés.
   ========================================================================== */

/* Conteneur de l'extrait masqué avec hauteur relative */
.entry-excerpt-restricted {
	position: relative;
	overflow: hidden;
	font-size: 1.05rem;
	line-height: 1.7;
	color: #4a5568;
}

.entry-excerpt-restricted p {
	margin-bottom: 0;
}

/* Fondu blanc en bas de l'extrait masqué */
.excerpt-fade-overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 70px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 100%);
	pointer-events: none;
}

/* Boîte principale d'incitation à l'inscription */
.registration-cta-box {
	margin: 2rem 0 1.5rem 0;
	padding: 2.5rem 2rem;
	background: linear-gradient(135deg, #f8fafc 0%, #edf2f7 100%);
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05), 0 8px 10px -6px rgba(0, 0, 0, 0.01);
	text-align: center;
	position: relative;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.registration-cta-box:hover {
	box-shadow: 0 14px 30px -5px rgba(0, 0, 0, 0.08);
}

/* Badge distinctif au-dessus du titre CTA */
.cta-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background-color: #ebf8ff;
	color: #2b6cb0;
	font-size: 0.85rem;
	font-weight: 600;
	padding: 6px 14px;
	border-radius: 50px;
	margin-bottom: 1.25rem;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	border: 1px solid #bee3f8;
}

/* Titre principal du bloc CTA */
.cta-title {
	font-size: 1.5rem;
	font-weight: 700;
	color: #1a202c;
	margin: 0 0 0.75rem 0;
	line-height: 1.3;
}

/* Descriptif d'accompagnement */
.cta-description {
	font-size: 1rem;
	color: #4a5568;
	max-width: 580px;
	margin: 0 auto 1.5rem auto;
	line-height: 1.6;
}

/* Liste des bénéfices réservés aux membres */
.cta-benefits {
	list-style: none;
	padding: 0;
	margin: 0 auto 2rem auto;
	display: inline-flex;
	flex-direction: column;
	gap: 0.6rem;
	text-align: left;
	max-width: 480px;
}

.cta-benefits li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 0.95rem;
	color: #2d3748;
	font-weight: 500;
}

/* Puce circulaire verte avec coche */
.cta-check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	background-color: #38a169;
	color: #ffffff;
	border-radius: 50%;
	font-size: 0.75rem;
	font-weight: bold;
	flex-shrink: 0;
}

/* Conteneur des boutons d'actions */
.cta-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1rem;
}

/* Style de base des boutons CTA */
.cta-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.85rem 1.75rem;
	font-size: 1rem;
	font-weight: 600;
	border-radius: 10px;
	text-decoration: none;
	transition: all 0.2s ease-in-out;
	cursor: pointer;
}

/* Bouton principal : Inscription (Bleu avec dégradé et ombre) */
.cta-btn-primary {
	background: linear-gradient(135deg, #3182ce 0%, #2b6cb0 100%);
	color: #ffffff !important;
	box-shadow: 0 4px 12px rgba(49, 130, 206, 0.35);
	border: none;
}

.cta-btn-primary:hover {
	background: linear-gradient(135deg, #2b6cb0 0%, #2c5282 100%);
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(49, 130, 206, 0.45);
	color: #ffffff !important;
}

/* Bouton secondaire : Connexion (Fond blanc avec bordure) */
.cta-btn-secondary {
	background-color: #ffffff;
	color: #4a5568 !important;
	border: 1px solid #cbd5e0;
}

.cta-btn-secondary:hover {
	background-color: #f7fafc;
	color: #1a202c !important;
	border-color: #a0aec0;
	transform: translateY(-2px);
}

/* Adaptation responsive mobile du bloc CTA */
@media (max-width: 640px) {
	.registration-cta-box {
		padding: 1.75rem 1.25rem;
	}

	.cta-title {
		font-size: 1.25rem;
	}

	.cta-actions {
		flex-direction: column;
		width: 100%;
	}

	.cta-btn {
		width: 100%;
	}
}


/* ==========================================================================
   02. COMMENTAIRES RESTREINTS & CTA DISCUSSION
   Encadre l'aperçu limité des commentaires pour les non-connectés
   avec un appel à l'action pour participer au débat.
   ========================================================================== */

/* Conteneur avec hauteur limitée et débordement masqué */
.restricted-comments-wrapper {
	position: relative;
	max-height: 280px;
	overflow: hidden;
	margin-bottom: 1.5rem;
}

/* Dégradé de fondu sur la liste tronquée des commentaires */
.comments-fade-overlay {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.98) 100%);
	pointer-events: none;
}

/* Boîte incitative à la discussion (bordure en pointillés) */
.comments-cta-box {
	margin: 1.5rem 0 2rem 0;
	padding: 2.25rem 1.75rem;
	background: #ffffff;
	border: 2px dashed #cbd5e0;
	border-radius: 14px;
	text-align: center;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
}

/* Émoticône ou icône d'illustration */
.comments-cta-icon {
	font-size: 2.2rem;
	margin-bottom: 0.5rem;
	line-height: 1;
}

/* Titre d'incitation aux commentaires */
.comments-cta-title {
	font-size: 1.35rem;
	font-weight: 700;
	color: #2d3748;
	margin: 0 0 0.5rem 0;
}

/* Texte explicatif invitant à l'inscription */
.comments-cta-text {
	font-size: 0.98rem;
	color: #718096;
	max-width: 500px;
	margin: 0 auto 1.5rem auto;
	line-height: 1.5;
}

/* Groupe des boutons d'actions */
.comments-cta-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.85rem;
}


/* ==========================================================================
   03. COMPTEURS ET STATISTIQUES DU FORUM BBPRESS (.bbp-stats)
   Mise en page moderne en cartes pour le bloc de statistiques bbPress
   ========================================================================== */

/* Grille principale en 4 colonnes pour grands écrans */
.bbp-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
	width: 100%;
	margin: 35px 0;
	padding: 0;
	border: 0;
}

/* Normalisation du modèle de boîte pour les éléments de définition */
.bbp-stats dt,
.bbp-stats dd {
	box-sizing: border-box;
}

/* En-tête de la carte statistique : Libellé textuel */
.bbp-stats dt {
	margin: 0;
	padding: 20px 20px 5px;
	background: #ffffff;
	border: 1px solid #eee8f2;
	border-bottom: 0;
	border-radius: 16px 16px 0 0;

	color: #6d6472;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	text-transform: uppercase;
	letter-spacing: 0.04em;

	box-shadow: 0 5px 18px rgba(87, 70, 96, 0.06);
}

/* Corps de la carte statistique : Compteur numérique */
.bbp-stats dd {
	margin: 0;
	padding: 0 20px 20px;

	background: #ffffff;
	border: 1px solid #eee8f2;
	border-top: 0;
	border-radius: 0 0 16px 16px;

	box-shadow: 0 5px 18px rgba(87, 70, 96, 0.06);
}

/* Chiffre clé mis en valeur (couleur mauve signature) */
.bbp-stats dd strong {
	display: block;

	color: #8b63a8;
	font-size: 34px;
	font-weight: 700;
	line-height: 1.1;
}

/* Animation douce lors du survol de la carte */
.bbp-stats dt,
.bbp-stats dd {
	transition:
		transform 0.25s ease,
		box-shadow 0.25s ease,
		border-color 0.25s ease;
}

.bbp-stats dt:hover,
.bbp-stats dt:hover + dd {
	border-color: #dfcfea;
}

.bbp-stats dt:hover {
	transform: translateY(-2px);
}

.bbp-stats dt:hover + dd {
	transform: translateY(2px);
	box-shadow: 0 10px 28px rgba(87, 70, 96, 0.10);
}

/* Masquage des statistiques techniques non pertinentes pour les membres */
.bbp-stats dt:nth-of-type(2),
.bbp-stats dt:nth-of-type(5),
.bbp-stats dt:nth-of-type(6),
.bbp-stats dt:nth-of-type(2) + dd,
.bbp-stats dt:nth-of-type(5) + dd,
.bbp-stats dt:nth-of-type(6) + dd {
	display: none;
}


/* ==========================================================================
   04. RESPONSIVE DES STATISTIQUES DU FORUM
   ========================================================================== */

/* Version tablette : passage en 2 colonnes */
@media (max-width: 900px) {
	.bbp-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 15px;
	}
}

/* Version smartphone : affichage pleine largeur en 1 colonne */
@media (max-width: 600px) {
	.bbp-stats {
		grid-template-columns: 1fr;
		gap: 12px;
		margin: 25px 0;
	}

	.bbp-stats dt {
		padding: 16px 18px 4px;
		font-size: 12px;
	}

	.bbp-stats dd {
		padding: 0 18px 16px;
	}

	.bbp-stats dd strong {
		font-size: 30px;
	}
}


/* ==========================================================================
   05. APERÇU PUBLIC DU FORUM BBPRESS (.bbp-preview-*)
   Harmonisation visuelle des extraits de sujets et de réponses
   ========================================================================== */

/* Conteneur global de l'aperçu */
.bbp-topic-preview-container {
	margin-top: 1.25rem;
}

/* Carte du premier message (sujet principal) */
.bbp-lead-preview-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	padding: 1.5rem 1.75rem;
	margin-bottom: 1.75rem;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
	position: relative;
}

.bbp-lead-preview-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-bottom: 1rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid #edf2f7;
}

.bbp-lead-author {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-weight: 600;
	color: #2d3748;
}

.bbp-lead-author img.avatar {
	border-radius: 50%;
	vertical-align: middle;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

.bbp-lead-meta {
	font-size: 0.85rem;
	color: #718096;
}

/* Carte de teaser de réponse */
.bbp-replies-teaser-wrapper {
	margin: 2rem 0;
	padding: 1.5rem;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
}

.bbp-teaser-heading {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 1rem;
	color: #2d3748;
}

.bbp-teaser-heading h4 {
	margin: 0;
	font-size: 1.1rem;
	font-weight: 600;
	color: #2d3748;
}

.bbp-teaser-heading .dashicons {
	color: #3182ce;
	font-size: 1.3rem;
	width: 1.3rem;
	height: 1.3rem;
}

.bbp-reply-teaser-card {
	background: #f8fafc;
	border: 1px solid #edf2f7;
	border-radius: 10px;
	padding: 1.25rem 1.5rem;
	margin-bottom: 1rem;
}

.bbp-reply-teaser-author {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 0.75rem;
}

.bbp-reply-teaser-author a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 600;
	font-size: 0.95rem;
	color: #2d3748;
}

.bbp-reply-teaser-author img.avatar {
	border-radius: 50%;
}

.bbp-reply-teaser-date {
	font-size: 0.8rem;
	color: #a0aec0;
}

.bbp-teaser-lock-note {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-size: 0.92rem;
	color: #718096;
	padding-top: 0.5rem;
	text-align: center;
}

.bbp-teaser-lock-note .dashicons {
	color: #e53e3e;
	font-size: 1.1rem;
	width: 1.1rem;
	height: 1.1rem;
}

/* Compatibilité Mode Sombre (Dark Mode) BuddyX */
[data-bx-mode="dark"] .bbp-lead-preview-card,
[data-bx-mode="dark"] .bbp-replies-teaser-wrapper {
	background: #1a202c;
	border-color: #2d3748;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.25);
}

[data-bx-mode="dark"] .bbp-lead-preview-header {
	border-bottom-color: #2d3748;
}

[data-bx-mode="dark"] .bbp-lead-author,
[data-bx-mode="dark"] .bbp-teaser-heading h4,
[data-bx-mode="dark"] .bbp-reply-teaser-author a {
	color: #e2e8f0;
}

[data-bx-mode="dark"] .bbp-lead-meta,
[data-bx-mode="dark"] .bbp-teaser-lock-note {
	color: #a0aec0;
}

[data-bx-mode="dark"] .bbp-reply-teaser-card {
	background: #2d3748;
	border-color: #4a5568;
}

[data-bx-mode="dark"] .entry-excerpt-restricted {
	color: #cbd5e0;
}

[data-bx-mode="dark"] .excerpt-fade-overlay {
	background: linear-gradient(180deg, rgba(26, 32, 44, 0) 0%, rgba(26, 32, 44, 0.98) 100%);
}

[data-bx-mode="dark"] .registration-cta-box {
	background: linear-gradient(135deg, #1a202c 0%, #2d3748 100%);
	border-color: #4a5568;
}

[data-bx-mode="dark"] .cta-title {
	color: #f7fafc;
}

[data-bx-mode="dark"] .cta-description,
[data-bx-mode="dark"] .cta-benefits li {
	color: #e2e8f0;
}

[data-bx-mode="dark"] .cta-btn-secondary {
	background-color: #2d3748;
	color: #e2e8f0 !important;
	border-color: #4a5568;
}

[data-bx-mode="dark"] .cta-btn-secondary:hover {
	background-color: #4a5568;
	color: #ffffff !important;
}


/* ==========================================================================
   06. MAILLAGE INTERNE SEO (Sujets Connexes & Récents)
   ========================================================================== */
.bbp-related-topics-section {
	margin: 2.5rem 0 1.5rem 0;
	padding-top: 1.5rem;
	border-top: 1px solid #e2e8f0;
}

.bbp-related-topics-header {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 1.25rem;
}

.bbp-related-topics-header .dashicons {
	color: #3182ce;
	font-size: 1.3rem;
	width: 1.3rem;
	height: 1.3rem;
}

.bbp-related-topics-title {
	margin: 0;
	font-size: 1.25rem;
	font-weight: 700;
	color: #2d3748;
}

.bbp-related-topics-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.bbp-related-topic-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 1.15rem 1.25rem;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.bbp-related-topic-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05);
	border-color: #cbd5e0;
}

.bbp-related-topic-heading {
	margin: 0 0 0.6rem 0;
	font-size: 0.98rem;
	font-weight: 600;
	line-height: 1.4;
}

.bbp-related-topic-heading a {
	color: #2d3748;
	text-decoration: none;
}

.bbp-related-topic-heading a:hover {
	color: #3182ce;
}

.bbp-related-topic-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 0.8rem;
	color: #718096;
}

.bbp-meta-replies {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	color: #4a5568;
}

.bbp-meta-replies .dashicons {
	font-size: 0.95rem;
	width: 0.95rem;
	height: 0.95rem;
	color: #a0aec0;
}

@media (max-width: 640px) {
	.bbp-related-topics-grid {
		grid-template-columns: 1fr;
	}
}

/* Mode sombre */
[data-bx-mode="dark"] .bbp-related-topics-section {
	border-top-color: #2d3748;
}

[data-bx-mode="dark"] .bbp-related-topics-title,
[data-bx-mode="dark"] .bbp-related-topic-heading a {
	color: #e2e8f0;
}

[data-bx-mode="dark"] .bbp-related-topic-heading a:hover {
	color: #63b3ed;
}

[data-bx-mode="dark"] .bbp-related-topic-card {
	background: #1a202c;
	border-color: #2d3748;
}

[data-bx-mode="dark"] .bbp-related-topic-meta,
[data-bx-mode="dark"] .bbp-meta-replies {
	color: #a0aec0;
}


