/*
 * DR1.FR Child — Components CSS
 * Composants et classes utilitaires réutilisables dans Divi.
 */

/*
 * .dr1-cta-primary
 * Bouton principal pour appels à l'action forts.
 */
.dr1-cta-primary,
.et_pb_button.dr1-cta-primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.95rem 1.4rem;
	border: 1px solid var(--dr1-color-primary);
	border-radius: var(--dr1-radius-pill);
	background: var(--dr1-color-primary);
	color: var(--dr1-color-white);
	font-family: var(--dr1-font-body);
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	box-shadow: var(--dr1-shadow-soft);
	transition: transform var(--dr1-transition), background var(--dr1-transition), border-color var(--dr1-transition), box-shadow var(--dr1-transition);
}

.dr1-cta-primary:hover,
.dr1-cta-primary:focus,
.et_pb_button.dr1-cta-primary:hover,
.et_pb_button.dr1-cta-primary:focus {
	background: var(--dr1-color-secondary);
	border-color: var(--dr1-color-secondary);
	color: var(--dr1-color-white);
	transform: translateY(-2px);
	box-shadow: var(--dr1-shadow-hover);
}

/*
 * .dr1-cta-secondary
 * Bouton secondaire plus discret.
 */
.dr1-cta-secondary,
.et_pb_button.dr1-cta-secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.95rem 1.4rem;
	border: 1px solid rgba(26, 26, 46, 0.14);
	border-radius: var(--dr1-radius-pill);
	background: rgba(255, 255, 255, 0.78);
	color: var(--dr1-color-text);
	font-weight: 700;
	text-align: center;
	transition: transform var(--dr1-transition), border-color var(--dr1-transition), color var(--dr1-transition), background var(--dr1-transition);
}

.dr1-cta-secondary:hover,
.dr1-cta-secondary:focus,
.et_pb_button.dr1-cta-secondary:hover,
.et_pb_button.dr1-cta-secondary:focus {
	background: rgba(249, 136, 102, 0.12);
	border-color: var(--dr1-color-secondary);
	color: var(--dr1-color-primary);
	transform: translateY(-2px);
}

/*
 * .dr1-badge-platform
 * Badge plateforme réutilisable pour réseaux sociaux.
 */
.dr1-badge-platform {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.45rem 0.85rem;
	border-radius: var(--dr1-radius-pill);
	background: rgba(128, 189, 158, 0.18);
	color: var(--dr1-color-text);
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1;
}

/*
 * .dr1-hero-premium
 * Bloc hero premium pour les têtes de page.
 */
.dr1-hero-premium {
	position: relative;
	overflow: hidden;
	padding: clamp(3.5rem, 7vw, 7rem);
	border-radius: var(--dr1-radius-lg);
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(249, 246, 242, 0.96));
	border: 1px solid var(--dr1-color-border);
	box-shadow: var(--dr1-shadow-soft);
}

.dr1-hero-premium > * {
	position: relative;
	z-index: 1;
}

/*
 * .dr1-section-benefits
 * Section de bénéfices ou arguments de vente.
 */
.dr1-section-benefits {
	padding: clamp(2rem, 5vw, 4rem);
	border-radius: var(--dr1-radius-lg);
	background: var(--dr1-color-white);
	border: 1px solid var(--dr1-color-border);
	box-shadow: var(--dr1-shadow-soft);
}

/*
 * .dr1-grid-influencers
 * Grille responsive pour profils influenceurs.
 */
.dr1-grid-influencers {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--dr1-space-lg);
}

.dr1-card-influencer {
	display: flex;
	flex-direction: column;
	gap: var(--dr1-space-sm);
	padding: var(--dr1-space-lg);
	border-radius: var(--dr1-radius-lg);
	background: var(--dr1-color-white);
	border: 1px solid var(--dr1-color-border);
	box-shadow: var(--dr1-shadow-soft);
}

/*
 * .dr1-card-case-study
 * Carte d'étude de cas avec rendu premium.
 */
.dr1-card-case-study {
	display: flex;
	flex-direction: column;
	gap: var(--dr1-space-md);
	padding: var(--dr1-space-xl);
	border-radius: var(--dr1-radius-lg);
	background: linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(249, 246, 242, 1));
	border: 1px solid var(--dr1-color-border);
	box-shadow: var(--dr1-shadow-soft);
}

/*
 * .dr1-block-audit
 * Bloc d'appel à audit ou prise de contact.
 */
.dr1-block-audit {
	padding: clamp(2rem, 4vw, 3rem);
	border-radius: var(--dr1-radius-lg);
	background: var(--dr1-color-text);
	color: var(--dr1-color-white);
	box-shadow: var(--dr1-shadow-soft);
}

.dr1-block-audit h1,
.dr1-block-audit h2,
.dr1-block-audit h3,
.dr1-block-audit p {
	color: inherit;
}

/*
 * .dr1-block-ethics
 * Bloc mettant en avant l'éthique et la transparence.
 */
.dr1-block-ethics {
	padding: clamp(2rem, 4vw, 3rem);
	border-left: 6px solid var(--dr1-color-accent);
	border-radius: var(--dr1-radius-md);
	background: rgba(128, 189, 158, 0.12);
}

/*
 * Classes utilitaires complémentaires pour le shortcode publications.
 */
.dr1-list-publications {
	display: grid;
	gap: var(--dr1-space-md);
}

.dr1-item-publication {
	padding: var(--dr1-space-lg);
	border-radius: var(--dr1-radius-md);
	background: var(--dr1-color-white);
	border: 1px solid var(--dr1-color-border);
}
