/*
Theme Name: CRA Bourgogne
Author: Propulseo
Description: Thème bloc simple aux couleurs du CRA Bourgogne (palette et polices dans theme.json).
Version: 2.0.0
Requires at least: 6.6
Requires PHP: 8.1
License: GPL-2.0-or-later
Text Domain: cra-bourgogne
*/

/* Logo (symbole SVG + nom) */
.cra-logo { display: inline-flex; align-items: center; gap: 0.7rem; text-decoration: none; color: var(--wp--preset--color--marine); }
.cra-logo svg { width: 48px; height: 55px; flex-shrink: 0; }
.cra-logo__texte { display: flex; flex-direction: column; text-transform: uppercase; font-size: 0.85rem; line-height: 1.15; letter-spacing: 0.06em; }
.cra-logo__texte strong { font-weight: 900; }
.cra-logo__filiere { font-size: 0.58rem; font-weight: 600; letter-spacing: 0.14em; }
.cra-pied .cra-logo { color: #fff; }

/* En-tête */
.cra-entete { border-bottom: 1px solid #e3e9f0; }
.cra-entete .wp-block-navigation { font-weight: 600; }

/* Sous-menus (ordinateur) : carte arrondie et ombrée, apparition douce, survol turquoise, page en cours marquée. */
.cra-entete .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container {
	min-width: 17rem !important;
	/* WordPress replie la carte à hauteur 0 dès la sortie du survol : on garde sa hauteur pendant le fondu (sinon carte vide). */
	height: auto !important;
	overflow: visible !important;
	padding: 0.5rem;
	margin-top: 0.6rem;
	border: 0 !important;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 0 0 1px #e3e9f0, 0 22px 44px -18px rgba(20, 45, 90, 0.35);
	transform: translateY(-6px);
	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s linear 0.18s;
}
/* Pont invisible au-dessus de la carte : le survol ne se perd pas dans l'espace entre le menu et la carte. */
.cra-entete .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container::before {
	content: ""; position: absolute; left: 0; right: 0; top: -0.75rem; height: 0.75rem;
}
.cra-entete .wp-block-navigation .has-child:hover > .wp-block-navigation__submenu-container,
.cra-entete .wp-block-navigation .has-child:focus-within > .wp-block-navigation__submenu-container,
.cra-entete .wp-block-navigation .has-child > [aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
	transform: none;
	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s;
}
.cra-entete .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: block;
	padding: 0.65rem 0.95rem !important;
	border-radius: 11px;
	color: var(--wp--preset--color--marine);
	font-size: 0.98rem;
	text-decoration: none;
	transition: background-color 0.15s ease, color 0.15s ease;
}
.cra-entete .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.cra-entete .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
	background: var(--wp--preset--color--turquoise-clair);
	color: var(--wp--preset--color--turquoise-fonce);
}
.cra-entete .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content[aria-current="page"] {
	background: var(--wp--preset--color--fond);
	box-shadow: inset 3px 0 0 var(--wp--preset--color--turquoise);
}
/* Plus de filet sous la première ligne : toutes les entrées d'un sous-menu sont au même niveau (mail du CRA du 03/11, point 1). */
.cra-entete .wp-block-navigation .wp-block-navigation__submenu-icon svg { transition: transform 0.18s ease; }
@media (prefers-reduced-motion: reduce) {
	.cra-entete .wp-block-navigation .wp-block-navigation__submenu-container,
	.cra-entete .wp-block-navigation .wp-block-navigation-item__content { transition: none !important; transform: none !important; }
}
/* Menu mobile ouvert : tout aligné à gauche, rubrique en titre, ses pages en dessous, légèrement en retrait. */
.cra-entete .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.cra-entete .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.cra-entete .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,
.cra-entete .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	align-items: flex-start !important;
	text-align: left;
}
.cra-entete .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 1.4rem; width: 100%; }
.cra-entete .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	font-size: 1.15rem; font-weight: 800; color: var(--wp--preset--color--marine);
}
.cra-entete .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	padding: 0.5rem 0 0 0.9rem !important; gap: 0.7rem; border-left: 3px solid var(--wp--preset--color--turquoise) !important;
	margin-top: 0.5rem;
}
.cra-entete .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	font-weight: 500; color: var(--wp--preset--color--marine);
}

/* Formulaires : Gravity Forms, habillé par css/gravity-forms.css (décision du 05/11). */

/* Liste « prochains rendez-vous » de l'accueil : pastille de date + titre + lieu */
.cra-agenda { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.75rem; }
.cra-agenda li { display: flex; gap: 1rem; align-items: center; padding: 1rem 1.25rem; background: #fff; border: 1px solid #e3e9f0; border-radius: 16px; }
.cra-agenda__pastille { flex: 0 0 3.6rem; text-align: center; padding: 0.45rem 0; border-radius: 12px; background: var(--wp--preset--color--turquoise-clair); color: var(--wp--preset--color--turquoise-fonce); font-size: 0.72rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.06em; line-height: 1.1; }
.cra-agenda__pastille strong { display: block; font-size: 1.45rem; color: var(--wp--preset--color--marine); letter-spacing: 0; }
.cra-agenda__texte { display: flex; flex-direction: column; gap: 0.2rem; }
.cra-agenda a { font-weight: 700; font-size: 1.05rem; text-decoration: none; color: var(--wp--preset--color--marine); }
.cra-agenda a:hover { text-decoration: underline; }
.cra-agenda__lieu { color: var(--wp--preset--color--encre-2); font-size: 0.9rem; }

/* Mention de démonstration */
.cra-mention-demo { opacity: 0.7; }

/* Éléments secondaires masqués sur petit écran */
@media (max-width: 600px) { .cra-masque-mobile { display: none !important; } }

/* Bouton de recherche rond, comme les autres pastilles */
.cra-entete .wp-block-search__button { border-radius: 999px; padding: 0.7rem; }

/* The Events Calendar : couleur d'accent du CRA (réglage « couleur d'accent » de l'extension) */
.tribe-common, .tribe-events {
	--tec-color-accent-primary: #24407f;
	--tec-color-accent-primary-hover: #11194a;
	--tec-color-button-primary: #24407f;
	--tec-color-link-accent: #24407f;
	--tec-color-background-events-bar-submit-button: #24407f;
	--tec-font-family-sans-serif: Figtree, system-ui, sans-serif;
	--tec-font-family-base: Figtree, system-ui, sans-serif;
}

/* Barre du haut : liens espacés */
.cra-liens-haut { display: flex; gap: 1.25rem; }

/* Accueil · « Vous êtes… » : cartes cliquables avec chevron */
.cra-profil a { display: flex; justify-content: space-between; align-items: center; gap: 0.5rem; padding: 0.95rem 1.1rem; border-radius: 14px; background: var(--wp--preset--color--fond); color: var(--wp--preset--color--marine); font-weight: 700; text-decoration: none; }
.cra-profil a:hover { background: var(--wp--preset--color--turquoise-clair); }
.cra-profil a span { color: var(--wp--preset--color--turquoise-fonce); font-size: 1.3rem; }

/* Listes de liens avec chevron (cartes missions, etc.) */
.cra-liens-fleches { list-style: none; padding: 0.75rem 0 0; margin: 0; border-top: 1px solid #e3e9f0; }
.cra-liens-fleches li { padding: 0.2rem 0; }
.cra-liens-fleches li::before { content: '›'; color: var(--wp--preset--color--turquoise); font-weight: 800; margin-right: 0.5rem; }
.cra-liens-fleches a { text-decoration: none; font-weight: 600; font-size: 0.92rem; }

/* Accueil · bloc annuaire (fond marine) */
.cra-bloc-annuaire .cra-recherche-annuaire { display: flex; gap: 0.5rem; background: #fff; border-radius: 999px; padding: 0.35rem; max-width: 34rem; }
.cra-recherche-annuaire input { flex: 1; min-width: 0; border: 0; padding: 0.6rem 1rem; font: inherit; border-radius: 999px; }
.cra-recherche-annuaire button { border: 0; border-radius: 999px; padding: 0.6rem 1.2rem; font: inherit; font-weight: 700; background: var(--wp--preset--color--turquoise); color: var(--wp--preset--color--marine); cursor: pointer; }
.cra-pilules { gap: 0.5rem !important; }
.cra-pilules p { margin: 0; }
.cra-pilules a { display: inline-block; padding: 0.4rem 0.9rem; border: 1px solid rgba(255,255,255,0.35); border-radius: 999px; font-size: 0.85rem; font-weight: 600; text-decoration: none; }
.cra-besoins { gap: 0.75rem !important; }
.cra-besoins p { margin: 0; }
.cra-besoins a { display: flex; justify-content: space-between; align-items: center; min-height: 3.6rem; padding: 0.8rem 1rem; border-radius: 14px; background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.14); font-weight: 700; text-decoration: none; }
.cra-besoins a:hover { background: rgba(255,255,255,0.16); }
@media (max-width: 600px) { .cra-besoins { grid-template-columns: 1fr 1fr !important; } .cra-besoins a { font-size: 0.88rem; } }

/* Accueil · « Notre approche » : liste à coches */
.cra-image-approche img { width: 100%; max-height: 460px; object-fit: cover; }
.cra-coches { list-style: none; padding: 0; display: grid; gap: 0.8rem; }
.cra-coches li { position: relative; padding-left: 2.1rem; color: var(--wp--preset--color--encre-2); font-size: 0.95rem; }
.cra-coches li strong { color: var(--wp--preset--color--marine); }
.cra-coches li::before { content: '✓'; position: absolute; left: 0; top: 0.1rem; width: 1.45rem; height: 1.45rem; border-radius: 6px; background: var(--wp--preset--color--turquoise); color: #fff; font-weight: 800; font-size: 0.85rem; display: grid; place-items: center; }

/* Cartes d'actualité : étiquette de catégorie + date + « Lire l'article » */
.cra-meta-actu { gap: 0.6rem !important; align-items: center; margin-top: 0.9rem; }
.cra-etiquette a { display: inline-block; padding: 0.15rem 0.6rem; border-radius: 999px; background: var(--wp--preset--color--turquoise-clair); color: var(--wp--preset--color--turquoise-fonce); font-weight: 700; font-size: 0.75rem; text-decoration: none; }
.cra-lire { font-weight: 700; font-size: 0.9rem; text-decoration: none; }

/* Fil d'Ariane */
.cra-ariane a { text-decoration: none; }

/* Pied de page : partenaires */
.cra-partenaires { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; opacity: 0.85; }
.cra-partenaires span { padding: 0.3rem 0.75rem; border: 1px solid rgba(255,255,255,0.25); border-radius: 999px; }

/* Mobile : chiffres et profils de l'accueil en grille 2 × 2 (au lieu de l'empilement par défaut des colonnes) */
@media (max-width: 781px) {
	.cra-chiffres.wp-block-columns, .cra-profils.wp-block-columns { display: grid !important; grid-template-columns: 1fr 1fr; gap: 0.75rem 1rem; }
	.cra-profils > .wp-block-column:first-child { grid-column: 1 / -1; }
	.cra-profil a { font-size: 0.88rem; padding: 0.8rem 0.9rem; height: 100%; box-sizing: border-box; }
	.cra-chiffres .wp-block-heading { margin: 0; }
}

/* Pas d'espace entre l'en-tête et le premier bandeau, ni entre deux sections pleine largeur */
main.wp-block-group { margin-block-start: 0; }
.wp-block-post-content > .alignfull + .alignfull, .wp-block-post-content > .alignfull:first-child { margin-block-start: 0; }

