/**
 * Styles pour le formulaire d'abonnement front-end
 *
 * Styles du formulaire généré par le shortcode [newsletter_checkbox].
 *
 * @package     Company\NewsletterDiva\Features\UserSubscriptions
 * @since       2.0.0
 */

/* ============================================
   Wrapper et Formulaire
   ============================================ */

.newsletter-subscription-form-wrapper {
	max-width: 800px;
	margin: 0 auto;
	padding: 20px 0;
}

.newsletter-subscription-form {
	background: #fff;
}

/* ============================================
   Sections
   ============================================ */

.primary-list-section {
	margin-bottom: 20px;
}

.primary-list-section strong {
	display: block;
	margin-bottom: 10px;
	font-size: 16px;
	color: #1d2327;
}

.secondary-lists-section {
	margin-bottom: 20px;
}

.secondary-lists-section strong {
	font-size: 16px;
	color: #1d2327;
}

/* ============================================
   Select2 - Prévention du flash
   ============================================ */

/* Cache le select natif avant que Select2 ne s'initialise
   pour éviter le flash du chevron natif */
select#newsletter_subscriptions:not(.select2-hidden-accessible) {
	opacity: 0;
	height: 38px; /* Hauteur approximative du Select2 pour éviter le saut de layout */
}

/* ============================================
   Champs de formulaire
   ============================================ */

.checkbox-field {
	margin-bottom: 10px;
}

.checkbox-field input[type="checkbox"] {
	margin-right: 8px;
}

.checkbox-field label {
	display: inline;
	font-weight: normal;
}

.checkbox-field .description {
	margin-top: 5px;
	font-size: 13px;
	color: #646970;
	font-style: italic;
}

.checkbox-field .required {
	color: #d63638;
}

/* ============================================
   Consentement RGPD
   ============================================ */

#consent-container {
	margin-top: 20px;
}

#consent-container strong {
	display: block;
	margin-bottom: 8px;
	margin-top: 15px;
	font-size: 16px;
	color: #1d2327;
}

/* ============================================
   Messages de limite
   ============================================ */

#limit-error {
	font-size: 14px;
	margin-top: 10px;
	padding: 12px 15px;
	border-radius: 4px;
	font-weight: 500;
	display: none;
}

#limit-error.warning {
	display: block;
	color: #d63638;
	background: #fcf0f1;
	border-left: 4px solid #d63638;
	animation: shake 0.4s ease;
}

@keyframes shake {
	0%, 100% { transform: translateX(0); }
	25% { transform: translateX(-5px); }
	75% { transform: translateX(5px); }
}
