/*
Theme Name: CERAA
Theme URI: https://ceraa.fr
Author: CERAA — Club d'Entreprises des Rives de l'Aa
Description: Thème WordPress (blocs) du CERAA, reproduisant la maquette Figma du site : accueil, le club, nos membres, nos événements. Basé sur theme.json, sans classic style.css additionnel.
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ceraa
*/

/* Encart vidéo accueil : caché tant qu'aucune vidéo n'est ajoutée dans le bloc */
.ceraa-video-teaser {
	display: none;
}
.ceraa-video-teaser:has(video) {
	display: block;
}

/* Logo header : garde une hauteur cohérente sur toutes les tailles d'écran */
.ceraa-logo img {
	height: 90px;
	width: auto;
}
@media (max-width: 600px) {
	.ceraa-logo img {
		height: 60px;
	}
}


/* Menu mobile (overlay du bloc Navigation) : lisible sur fond blanc, zones
   cliquables plus grandes, boutons ouvrir/fermer plus visibles. */
.wp-block-navigation__responsive-container.is-menu-open {
	background-color: #ffffff !important;
}
.wp-block-navigation__responsive-container.is-menu-open a {
	color: #1e2f53 !important;
}
.wp-block-navigation__responsive-container-open {
	padding: 0.5rem !important;
	margin-bottom: 0.75rem;
	border-radius: 6px;
	color: #1e2f53;
}
.wp-block-navigation__responsive-container-open:hover,
.wp-block-navigation__responsive-container-open:focus {
	background: #f0f1f3;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
	padding: 0.5rem !important;
	margin: 0.75rem;
	border-radius: 6px;
	color: #1e2f53;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close:hover,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close:focus {
	background: #f0f1f3;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
	display: flex;
	flex-direction: column;
	height: 100%;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0.75rem;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	width: 100%;
	text-align: center;
	padding: 0 1.5rem;
	box-sizing: border-box;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	display: block;
	padding: 1rem;
	font-size: 1.2rem;
	font-weight: 600;
	border-radius: 10px;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover {
	background: #f0f1f3;
}

/* Page active : distincte du simple survol, sur desktop comme en overlay mobile */
/* Desktop : indicateur discret (couleur + soulignement), pas de pastille pleine */
@media (min-width: 782px) {
	.ceraa-nav .wp-block-navigation-item__content:hover {
		color: #2ba8dc;
	}
	.wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
	body.home .ceraa-nav a.wp-block-navigation-item__content[href="/"] {
		color: #2ba8dc !important;
		box-shadow: 0 2px 0 #2ba8dc;
	}
}
@media (max-width: 781px) {
	.wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
	body.home .ceraa-nav a.wp-block-navigation-item__content[href="/"] {
		background: #2ba8dc;
		color: #ffffff !important;
		padding: 0.35rem 0.75rem;
		border-radius: 6px;
	}
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
body.home .wp-block-navigation__responsive-container.is-menu-open a.wp-block-navigation-item__content[href="/"] {
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding: 1.2rem 1rem;
	font-size: 1.4rem;
	border-radius: 10px;
	box-shadow: 0 4px 14px rgba(43, 168, 220, 0.35);
}
/* Carte icônes (Convivialité / Développement / Échanges) : centrage du contenu */
.ceraa-icon-card {
	text-align: center;
}
.ceraa-icon-card img {
	margin: 0 auto;
}

/* Logos partenaires (accueil) : taille fixe, logos aux proportions variées bien contenus */
.ceraa-partner-logo img {
	width: 162px;
	height: 102px;
	object-fit: contain;
}

/* Bandeau héros : garantit la lisibilité du titre sur toutes les photos */
.ceraa-hero.wp-block-cover .wp-block-cover__background {
	opacity: 1;
}
.ceraa-hero h1 {
	font-family: var(--wp--preset--font-family--roboto), sans-serif;
	font-weight: 900;
	font-size: 80px;
	line-height: 1;
	letter-spacing: 0;
	text-align: center;
	text-shadow: 0 0 20px #000000;
}

/* Marges latérales : évite que le contenu touche les bords de l'écran, sur
   toutes les tailles d'écran (pas seulement mobile) — appliqué en permanence
   aux enfants directs de .wp-site-blocks (header, footer, sections
   "alignwide") pour ne pas empiler les paddings sur les blocs imbriqués, et
   pour laisser les bandeaux hero (alignfull) en plein bord volontairement.
   Sans effet visuel une fois le contenu déjà centré par contentSize/wideSize
   (le padding s'ajoute alors simplement à l'intérieur de cette zone). */
.wp-site-blocks > header > .wp-block-group,
.wp-site-blocks > footer > .wp-block-group,
.wp-site-blocks > .wp-block-group.alignwide {
	padding-left: 1.5rem;
	padding-right: 1.5rem;
	box-sizing: border-box;
}
@media (max-width: 480px) {
	.wp-site-blocks > header > .wp-block-group,
	.wp-site-blocks > footer > .wp-block-group,
	.wp-site-blocks > .wp-block-group.alignwide {
		padding-left: 1rem;
		padding-right: 1rem;
	}
}

/* Formulaire de contact (pied de page) */
.ceraa-contact-form {
	display: flex;
	flex-direction: column;
	gap: 0.9rem;
	margin-top: 0.75rem;
}
.ceraa-form-row {
	display: flex;
	gap: 1rem;
}
.ceraa-form-row .ceraa-form-field {
	flex: 1;
}
.ceraa-form-field,
.ceraa-form-consent {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
}
.ceraa-contact-form label {
	font-family: var(--wp--preset--font-family--body);
	font-weight: 700;
	font-size: 0.9rem;
	color: #1e2f53;
}
.ceraa-contact-form input[type="text"],
.ceraa-contact-form input[type="email"],
.ceraa-contact-form textarea {
	border: none;
	border-radius: 10px;
	padding: 0.75rem 1rem;
	font-family: inherit;
	font-size: 1rem;
	background: #ffffff;
	width: 100%;
	box-sizing: border-box;
	box-shadow: 0 2px 6px rgba(30, 47, 83, 0.12);
}
.ceraa-form-footer {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.9rem;
}
.ceraa-form-consent,
.ceraa-form-footer > p {
	margin: 0;
}
.ceraa-form-consent {
	flex-direction: row;
	align-items: flex-start;
	gap: 0.6rem;
}
.ceraa-form-consent label {
	font-weight: 400;
	font-size: 0.8rem;
	color: #1e2f53;
}
.ceraa-form-consent input {
	margin-top: 0.2rem;
	width: 18px;
	height: 18px;
	flex-shrink: 0;
}
.ceraa-form-submit {
	flex-shrink: 0;
	background: #ffffff;
	color: #2ba8dc;
	border: none;
	border-radius: 10px;
	padding: 0.75rem 2.5rem;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	cursor: pointer;
	box-shadow: 0 2px 6px rgba(30, 47, 83, 0.12);
	transition: background 0.2s ease, color 0.2s ease;
}
.ceraa-form-submit:hover {
	background: #2ba8dc;
	color: #ffffff;
}
@media (max-width: 600px) {
	.ceraa-form-row {
		flex-direction: column;
	}
	.ceraa-form-footer {
		flex-direction: column;
		align-items: stretch;
	}
	.ceraa-form-submit {
		width: 100%;
	}
}

/* Formulaire Contact Form 7 (footer) : mêmes styles visuels que la maquette */
.wpcf7-form .ceraa-form-row,
.wpcf7-form .ceraa-form-footer {
	margin: 0 0 0.9rem;
}
.wpcf7-form > p,
.wpcf7-form-row > p {
	margin: 0 0 0.9rem;
}
.wpcf7-form label {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	width: 100%;
	font-family: var(--wp--preset--font-family--body);
	font-weight: 700;
	font-size: 0.9rem;
	color: #1e2f53;
}
.ceraa-form-row > p {
	flex: 1;
	margin: 0;
}
.wpcf7-form-control.ceraa-cf-input {
	border: none;
	border-radius: 10px;
	padding: 0.75rem 1rem;
	font-family: inherit;
	font-size: 1rem;
	background: #ffffff;
	width: 100%;
	box-sizing: border-box;
	box-shadow: 0 2px 6px rgba(30, 47, 83, 0.12);
}
textarea.wpcf7-form-control.ceraa-cf-input {
	min-height: 140px;
	resize: vertical;
}
.ceraa-form-consent p {
	margin: 0;
	width: 100%;
}
.ceraa-form-consent .wpcf7-form-control-wrap,
.ceraa-form-consent .wpcf7-form-control.wpcf7-acceptance,
.ceraa-form-consent .wpcf7-list-item {
	display: block;
	width: 100%;
	margin: 0;
}
.ceraa-form-consent label {
	flex-direction: row;
	align-items: flex-start;
	font-weight: 400;
	font-size: 0.8rem;
	gap: 0.5rem;
	width: 100%;
}
.ceraa-form-consent .wpcf7-list-item-label {
	flex: 1;
}
.ceraa-cf-consent {
	margin-top: 0.2rem;
	width: 18px;
	height: 18px;
	flex-shrink: 0;
}
input.wpcf7-form-control.ceraa-form-submit {
	width: 100%;
	background: #ffffff;
	color: #2ba8dc;
	border: none;
	border-radius: 10px;
	padding: 0.75rem 2.5rem;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	cursor: pointer;
	box-shadow: 0 2px 6px rgba(30, 47, 83, 0.12);
	transition: background 0.2s ease, color 0.2s ease;
}
input.wpcf7-form-control.ceraa-form-submit:hover {
	background: #2ba8dc;
	color: #ffffff;
}
.ceraa-form-notice {
	border-radius: 6px;
	padding: 0.75rem 1rem;
	font-weight: 600;
	margin-bottom: 1rem;
}
.ceraa-form-notice--success {
	background: #ffffff;
	color: #2e7d32;
}
.ceraa-form-notice--error {
	background: #ffffff;
	color: #c62828;
}

/* Annuaire + carte : la carte s'étire sur toute la hauteur des vignettes à côté */
/* Grille CSS plutôt que flex : align-items:stretch y est fiable à 100% */
.ceraa-membres-row.wp-block-columns {
	display: grid !important;
	grid-template-columns: 66% 34%;
	align-items: stretch !important;
}
.ceraa-membres-row > .wp-block-column {
	width: auto !important;
	flex-basis: auto !important;
	min-width: 0;
}
.ceraa-membres-row > .wp-block-column:last-child {
	align-self: start !important;
}
.ceraa-map-embed {
	overflow: hidden;
	height: 720px !important;
	min-height: 420px;
	max-height: 720px;
	margin-top: 1.5rem;
	position: sticky;
	top: 1.5rem;
}
.ceraa-map-embed iframe,
.ceraa-map-embed #ceraa-members-map {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 420px;
}
@media (max-width: 781px) {
	.ceraa-membres-row.wp-block-columns {
		display: block !important;
	}
	.ceraa-membres-row > .wp-block-column:last-child {
		padding-top: 2rem;
		box-sizing: border-box;
	}
	.ceraa-map-embed {
		position: static;
		top: auto;
		margin-top: 0;
	}
	.ceraa-map-embed,
	.ceraa-map-embed iframe,
	.ceraa-map-embed #ceraa-members-map {
		min-height: 380px !important;
		height: 380px !important;
	}
}

/* Marqueur logo entreprise sur la carte des membres */
.ceraa-map-marker {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #ffffff;
	border: 2px solid #2ba8dc;
	box-shadow: 0 2px 6px rgba(30, 47, 83, 0.35);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.ceraa-map-marker img {
	width: 80%;
	height: 80%;
	object-fit: contain;
}
.ceraa-map-zone-label {
	background: #ffffff;
	border: 1px solid #2ba8dc;
	color: #1e2f53;
	font-size: 0.8rem;
	font-weight: 600;
	padding: 2px 8px;
	box-shadow: 0 1px 4px rgba(30, 47, 83, 0.25);
}
.ceraa-map-popup {
	text-align: center;
	display: block;
	color: inherit;
	text-decoration: none;
}
.ceraa-map-popup h4 {
	margin: 0 0 0.5rem;
	color: #1e2f53;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.05rem;
}
.ceraa-map-popup__logo {
	display: block;
	width: 90px;
	height: 90px;
	object-fit: contain;
	margin: 0 auto 0.5rem;
}
.ceraa-map-popup p {
	margin: 0;
	font-size: 0.85rem;
}

/* Annuaire des membres : barre de filtre */
.ceraa-directory-filters {
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
}
.ceraa-directory-filters input {
	flex: 1;
	min-width: 180px;
	border: 1px solid #9a9a9a;
	border-radius: 6px;
	padding: 0.75rem 1rem;
	font-size: 1rem;
	font-family: inherit;
	box-shadow: 0 1px 3px rgba(30, 47, 83, 0.12);
}

.ceraa-member-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	box-sizing: border-box;
	border: 1px solid #e2e2e2;
	border-radius: 10px;
	padding: 1rem;
	box-shadow: 0 2px 10px rgba(30, 47, 83, 0.08);
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.ceraa-member-card:hover {
	box-shadow: 0 4px 16px rgba(30, 47, 83, 0.14);
	transform: translateY(-2px);
}
.ceraa-member-card--empty {
	min-height: 160px;
	box-shadow: none;
	border: 1px dashed #d7dbe0;
}
.ceraa-member-card a {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	flex-grow: 1;
	text-align: center;
	color: inherit;
	text-decoration: none;
}

/* Page détail membre (ex. Atout Prêt, et fiche dynamique /entreprise-detail/) */
.ceraa-member-header {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 1.5rem;
	margin-bottom: 1.5rem;
}
.ceraa-member-header__logo {
	margin: 0 !important;
	border-radius: 8px;
	border: 1px solid #e2e2e2;
}
.ceraa-member-header__logo--placeholder {
	width: 100px;
	height: 100px;
	border-radius: 8px;
	background: #e9ebee;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2rem;
	flex-shrink: 0;
}
.ceraa-member-header__info {
	min-width: 0;
}
.ceraa-member-contact-row {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	margin-bottom: 0.5rem;
	color: #1e2f53;
}
.ceraa-member-contact-row .dashicons {
	color: #1e2f53;
	width: 20px;
	height: 20px;
	font-size: 20px;
	flex-shrink: 0;
}
.ceraa-member-contact-row--name h1 {
	margin: 0;
	font-size: 1.5rem;
}
.ceraa-member-contact-row a {
	color: #1e2f53;
}
.ceraa-member-social {
	display: flex;
	gap: 0.5rem;
	margin-top: 0.75rem;
}
.ceraa-member-social__icon {
	width: 28px;
	height: 28px;
	border-radius: 6px;
	background: #1e2f53;
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
}
.ceraa-member-social__icon .dashicons {
	font-size: 16px;
	width: 16px;
	height: 16px;
}
.ceraa-member-gallery {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin: 1.5rem 0;
}
.ceraa-member-gallery__placeholder,
.ceraa-member-gallery__photo {
	flex: 1 1 0;
	min-width: 140px;
	height: 140px;
	border-radius: 8px;
	background: #e9ebee;
	object-fit: cover;
}
.ceraa-member-referent {
	display: flex;
	gap: 1.25rem;
	align-items: flex-start;
}
.ceraa-member-referent-photo {
	width: 100px;
	height: 100px;
	border-radius: 8px;
	flex-shrink: 0;
	object-fit: cover;
}
.ceraa-member-referent-photo--placeholder {
	background: #e9ebee;
}
.ceraa-member-referent__info {
	min-width: 0;
}
.ceraa-member-referent__info p:first-child {
	margin-top: 0;
}
.ceraa-member-facts {
	margin: 0 0 1.5rem;
	line-height: 1.7;
}
.ceraa-member-referent-block {
	margin-top: 1.5rem;
}
.ceraa-member-referent-block h3 {
	margin-top: 0;
}
.ceraa-member-card__logo-placeholder {
	width: 80px;
	height: 80px;
	border-radius: 8px;
	background: #e9ebee;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.75rem;
	margin: 0 auto 0.75rem;
}
.ceraa-member-card__logo {
	width: 90px;
	height: 60px;
	object-fit: contain;
	display: block;
	margin: 0 auto 0.75rem;
}

/* Cartes "Les formats de rencontres" (Le Club) */
.ceraa-format-card {
	box-shadow: 0 2px 10px rgba(30, 47, 83, 0.08);
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.ceraa-format-card:hover {
	box-shadow: 0 4px 16px rgba(30, 47, 83, 0.14);
	transform: translateY(-2px);
}

.ceraa-event-row > * {
	align-items: center;
}

/* Cartes événements (Nos Événements) — image à gauche, une ligne par événement (comme la maquette) */
.ceraa-event-grid {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}
.ceraa-event-card {
	background: #ffffff;
	border-radius: 14px;
	box-shadow: 0 2px 10px rgba(30, 47, 83, 0.08);
	overflow: hidden;
	display: flex;
	align-items: stretch;
	padding: 1rem;
	gap: 1.25rem;
}
.ceraa-event-card__image {
	flex: 0 0 170px;
	width: 170px;
	height: 170px;
	border-radius: 10px;
	overflow: hidden;
}
.ceraa-event-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.ceraa-event-card__image--placeholder {
	background: linear-gradient(135deg, #2ba8dc, #1e2f53);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 2.5rem;
}
.ceraa-event-card__content {
	flex: 1 1 300px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 0.25rem 0;
}
.ceraa-event-card__title {
	margin: 0 0 0.4rem;
	color: #1e2f53;
	font-weight: 700;
	font-size: 1.1rem;
}
.ceraa-event-card__description {
	margin: 0 0 0.75rem;
	font-size: 0.9rem;
	color: #333333;
}
.ceraa-event-card__meta {
	background: #f7f7f7;
	border-radius: 8px;
	padding: 0.55rem 0.85rem;
	display: inline-flex;
	gap: 1rem;
	font-size: 0.85rem;
	color: #2ba8dc;
	font-weight: 600;
	align-self: flex-start;
}
.ceraa-event-card__side {
	flex: 0 0 200px;
	border-left: 1px solid #e2e2e2;
	padding: 0.25rem 0 0.25rem 1.5rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0.75rem;
}
.ceraa-event-card__lieu {
	margin: 0;
	font-size: 0.85rem;
	color: #333333;
}
.ceraa-event-card__button {
	display: block;
	text-align: center;
	background: #2ba8dc;
	color: #ffffff;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	border-radius: 6px;
	padding: 0.6rem 1rem;
	text-decoration: none;
	transition: background 0.2s ease;
}
.ceraa-event-card__button:hover {
	background: #1e2f53;
	color: #ffffff;
}
.ceraa-event-card__button--disabled {
	background: #e2e2e2;
	color: #888888;
	cursor: default;
}
@media (max-width: 700px) {
	.ceraa-event-card {
		flex-direction: column;
	}
	.ceraa-event-card__image {
		width: 100%;
		height: 180px;
	}
	.ceraa-event-card__side {
		border-left: none;
		border-top: 1px solid #e2e2e2;
		padding: 0.75rem 0 0;
	}
}

/* Bandeau héros : hauteur réduite sur mobile pour laisser plus de place au contenu */
@media (max-width: 782px) {
	.ceraa-hero {
		min-height: 280px !important;
	}
	.ceraa-hero h1 {
		font-size: 1.85rem !important;
	}
}

/* Grille des membres (annuaire dynamique) */
.ceraa-member-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	align-items: stretch;
	gap: 1rem;
}
@media (max-width: 600px) {
	.ceraa-member-grid {
		grid-template-columns: 1fr !important;
	}
}

/* Liens du pied de page (colonne "Découvrez le Club...") : pas de puce, pas de style de lien */
.ceraa-footer-links {
	list-style: none;
	padding-left: 0;
	margin-top: 0.5rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
.ceraa-footer-links li {
	padding-left: 0;
}
.ceraa-footer-links a {
	color: inherit;
	text-decoration: none;
}

/* Icônes réseaux sociaux (footer) : pas de bulle de fond, icônes plates en carré */
.wp-block-social-links .wp-social-link {
	width: 60px;
	height: 60px;
	background-color: transparent !important;
	border-radius: 0 !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
}
.wp-block-social-links .wp-social-link svg {
	width: 52px;
	height: 52px;
	margin: 0 !important;
}

/* Logo Facebook personnalisé (fourni par la maquette), remplace l'icône par défaut de WordPress */
.wp-block-social-links .wp-social-link-facebook svg {
	display: none;
}
.wp-block-social-links .wp-social-link-facebook {
	background-image: url('assets/images/icon-facebook.png');
	background-size: 40px 40px;
	background-repeat: no-repeat;
	background-position: center;
}

/* Barre de navigation : liens répartis dans la largeur du contenu (pas jusqu'aux bords de l'écran) */
.ceraa-nav.wp-block-navigation {
	width: 100%;
}
.ceraa-nav .wp-block-navigation__container {
	width: 100%;
}
.wp-site-blocks > header .wp-block-group {
	border-bottom: none !important;
}
@media (min-width: 782px) {
	.wp-site-blocks > header {
		margin-bottom: 1rem;
	}
}

/* Lisibilité mobile : les longs paragraphes centrés deviennent illisibles sur petit écran */
@media (max-width: 600px) {
	p.has-text-align-center {
		text-align: left;
	}
}

/* Modale fiche entreprise (annuaire) */
.ceraa-modal-open {
	overflow: hidden;
}
.ceraa-modal {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 5vh 1rem;
	overflow-y: auto;
}
.ceraa-modal[hidden] {
	display: none;
}
.ceraa-modal__overlay {
	position: fixed;
	inset: 0;
	background: rgba(30, 47, 83, 0.55);
}
.ceraa-modal__panel {
	position: relative;
	background: #ffffff;
	border-radius: 12px;
	max-width: 800px;
	width: 100%;
	padding: 2.5rem;
	box-sizing: border-box;
	box-shadow: 0 10px 40px rgba(30, 47, 83, 0.25);
}
.ceraa-modal__close {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	width: 36px;
	height: 36px;
	border: none;
	border-radius: 50%;
	background: #f0f1f3;
	color: #1e2f53;
	font-size: 1.5rem;
	line-height: 1;
	cursor: pointer;
}
.ceraa-modal__close:hover {
	background: #e2e2e2;
}
@media (max-width: 600px) {
	.ceraa-modal {
		padding: 0;
	}
	.ceraa-modal__panel {
		border-radius: 0;
		min-height: 100vh;
		padding: 2rem 1.25rem;
	}
}