/*
Theme Name:        CECACERT Child
Theme URI:         https://cecacert.bj
Author:            BAMBOO GROUPE
Author URI:        https://bamboo-groupe.com
Description:       Thème enfant de CECACERT. Toutes les personnalisations doivent être réalisées ici pour préserver les mises à jour du thème parent.
Template:          cecacert
Version:           1.0.5
Requires at least: 6.8
Requires PHP:      8.3
License:           Proprietary
Text Domain:       cecacert-child
*/

/* ── Newsletter NovaForms — carte bordeaux foncé (.news-letter / .nl-card) ──
 * Couvre l'article (surcharge single-newsletter, .nl-card--block dans .news-letter)
 * ET la page Actualités (formulaire injecté dans la carte native .news-letter).
 * Texte clair + bouton or, mise en page 2 colonnes via la grille native du thème.
 */

/* Titre du bloc synchronisé (h2 non couvert par le thème, qui ne stylise que h3). */
.news-letter h2 { color: #fff; margin-top: 0; }

/* Colonne formulaire (la grille 1fr/auto native produit : texte | formulaire). */
.news-letter .novaform-wrap { margin: 0; width: 420px; max-width: 100%; }

/* Disposition newsletter : prénom pleine largeur, puis email + bouton côte à
 * côte, consentement sous les deux. display:contents remonte les champs au
 * niveau de la grille de l'étape. */
.news-letter .novaform-step {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-areas:
		"prenom  prenom"
		"email   submit"
		"consent consent";
	gap: 10px;
	align-items: start;
}
.news-letter .novaform-fields { display: contents; }
.news-letter .novaform-field--firstname { grid-area: prenom;  margin: 0; }
.news-letter .novaform-field--email    { grid-area: email;   margin: 0; }
.news-letter .novaform-field--consent  { grid-area: consent; margin: 0; }
.news-letter .novaform-nav             { grid-area: submit;  margin: 0; }
.news-letter .novaform-input { width: 100%; }

/* Libellés email + prénom masqués visuellement (placeholder suffit), accessibles aux lecteurs d'écran. */
.news-letter .novaform-field--email .novaform-label,
.news-letter .novaform-field--firstname .novaform-label {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect( 0, 0, 0, 0 ); white-space: nowrap; border: 0;
}

/* Libellés / descriptions / consentement en clair sur fond foncé. */
.news-letter .novaform-label,
.news-letter .novaform-sublabel,
.news-letter .novaform-desc,
.news-letter .novaform-consent,
.news-letter .novaform-consent span,
.news-letter .novaform-choice { color: #fff; }
.news-letter .novaform-consent a { color: #fff; text-decoration: underline; }
.news-letter .novaform-req { color: #ffd9d9; }

/* Champs : fond blanc, bords nets. */
.news-letter .novaform-input,
.news-letter .novaform-textarea,
.news-letter .novaform-select { background: #fff; border: none; }

/* Bouton « S'abonner / Je m'inscris » : or, comme le bouton natif .nl-form. */
.news-letter .novaform-submit {
	background: var( --color-gold ); color: #fff; border: none;
	padding: 14px 26px; border-radius: var( --radius-md );
	font-weight: 600; font-size: 15px; cursor: pointer; transition: .15s;
}
.news-letter .novaform-submit:hover { background: #b3760a; }

/* Message de succès lisible sur fond foncé (neutralise le fond vert pâle natif). */
.news-letter .novaform-message--success {
	background: rgba(255,255,255,.12);
	color: #fff;
	border-color: rgba(255,255,255,.35);
}

/* Mobile : le thème passe déjà .news-letter / .nl-card en 1 colonne ; le
 * formulaire prend toute la largeur. */
@media ( max-width: 640px ) {
	.news-letter .novaform-wrap { width: 100%; }
	.news-letter .novaform-step {
		grid-template-columns: 1fr;
		grid-template-areas: "email" "submit" "consent";
	}
	.news-letter .novaform-submit { width: 100%; }
}

/* Section claire (.newsletter-section, archives) : texte par défaut (lisible sur
 * fond clair), simple aération. */
.newsletter-inner--block .novaform-wrap { margin: 8px 0 0; width: 100%; max-width: 520px; }
.newsletter-inner--block h2 { margin-top: 0; }

/* ── NovaForms dans .form-card (page Contact) ───────────────────────────────
 * Reprend la mise en page native du thème parent : 2 colonnes « half » côte à
 * côte (Prénom|Nom, Email|Téléphone), champs full-width en dessous.
 */
.form-card .novaform-wrap { margin: 0; }

/* Supprime le titre et la description du formulaire (redondants avec le gabarit parent). */
.form-card .novaform-title,
.form-card .novaform-subtitle { display: none; }

/* Bouton « Envoyer le message » — style identique au .btn-submit natif. */
.form-card .novaform-submit {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var( --color-primary );
	color: #fff;
	border: none;
	border-radius: var( --radius-md );
	padding: 14px 28px;
	font-weight: 600;
	font-size: 15px;
	cursor: pointer;
	transition: background .15s;
}
.form-card .novaform-submit:hover { background: #500614; }

@media ( max-width: 640px ) {
	.form-card .novaform-submit { width: 100%; justify-content: center; }
}
