/* ===========================================================================
 * Page Contact : coordonnées (bloc eb/coordonnees), carte d'accès, formulaire (bloc eb/contact-form)
 * ========================================================================= */

/* ---- Mise en page : coordonnées + carte à gauche, formulaire à droite ---- */
.eb-contact__cols { gap: var(--wp--preset--spacing--60) !important; align-items: flex-start; }
.eb-contact__cols > .wp-block-column > * + * { margin-block-start: var(--wp--preset--spacing--40); }
.eb-contact__titre { font-size: var(--wp--preset--font-size--x-large); }
.eb-contact__titre::before { font-size: 1.15em; }
.eb-contact__note { font-size: var(--wp--preset--font-size--small); color: var(--eb-muted); }

/* ---- Coordonnées (variante « liste ») ---- */
.eb-coord { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--wp--preset--spacing--40); }
.eb-coord__item { display: flex; align-items: flex-start; gap: 1rem; }
.eb-coord__item .eb-icon { flex: none; width: 1.5rem; height: 1.5rem; margin-top: 1.35rem; fill: var(--eb-accent); }
.eb-coord__texte { display: grid; gap: 0.2rem; min-width: 0; }
.eb-coord__label { font-size: var(--wp--preset--font-size--x-small); font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--eb-muted); }
.eb-coord__valeur {
	font-family: var(--wp--preset--font-family--goldman); font-weight: 700;
	font-size: var(--wp--preset--font-size--large); line-height: 1.3;
	text-decoration: none; overflow-wrap: anywhere;
}
.eb-coord__valeur--adresse { font-family: var(--wp--preset--font-family--montserrat); font-weight: 500; font-size: var(--wp--preset--font-size--medium); line-height: 1.55; }
a.eb-coord__valeur:hover { color: var(--eb-accent); }

/* ---- Carte d'accès (variante « carte ») : carte en points de la home, centrée sur l'atelier ---- */
.eb-cmap {
	margin: var(--wp--preset--spacing--50) 0 0;
	overflow: hidden;
	border-radius: var(--wp--custom--radius--large);
	background: var(--wp--preset--color--anthracite) url("../../textures/beton-sombre.jpg") 0 0 / 512px;
	color: var(--eb-ink-on-dark);
}
.eb-cmap__svg { aspect-ratio: 150 / 104; height: auto; }
.eb-cmap .eb-map__land path { fill: url(#eb-cdots); stroke: color-mix(in srgb, var(--eb-ink-on-dark) 38%, transparent); }
.eb-cmap .eb-map__dot { fill: color-mix(in srgb, var(--eb-ink-on-dark) 30%, transparent); }
.eb-cmap__repere-pt { fill: var(--eb-ink-on-dark); }
.eb-cmap__repere { font-size: 3.8px; font-weight: 500; fill: var(--eb-muted-on-dark); }
.eb-cmap .eb-map__city { stroke-width: 1.2px; paint-order: stroke; }
.eb-cmap__nom { font-size: 5px; }
.eb-cmap__ville { font-size: 3.6px; font-weight: 400; fill: var(--eb-muted-on-dark); }
.eb-cmap__legende {
	display: flex; align-items: center; justify-content: space-between; gap: var(--wp--preset--spacing--30);
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
	border-top: 1px solid var(--eb-line-on-dark);
	font-size: var(--wp--preset--font-size--small); line-height: 1.5; color: var(--eb-muted-on-dark);
}
.eb-cmap__lien {
	flex: none; display: inline-flex; align-items: center; gap: 0.5em;
	padding: 0.6em 1.1em; border-radius: var(--wp--custom--radius--small);
	box-shadow: inset 0 0 0 1px var(--eb-accent); color: var(--eb-accent);
	font-weight: 600; text-decoration: none; transition: background-color 0.2s, color 0.2s;
}
.eb-cmap__lien::after { content: "→"; }
.eb-cmap__lien:hover { background: var(--eb-accent); color: var(--wp--preset--color--blanc); }

/* ---- Formulaire ---- */
.eb-cform {
	background: var(--wp--preset--color--blanc);
	color: var(--wp--preset--color--anthracite);
	border-radius: var(--wp--custom--radius--large);
	padding: var(--wp--preset--spacing--50);
	box-shadow: 0 18px 40px rgba(50, 50, 50, 0.08);
	scroll-margin-top: calc(var(--eb-header-h) + 1.5rem);
	--eb-muted: var(--eb-muted-on-light);
	--eb-line: var(--eb-line-on-light);
}
.eb-cform__grille { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40); }
.eb-cform__champ { display: grid; gap: 0.4rem; align-content: start; margin: 0; }
.eb-cform__champ--large { grid-column: 1 / -1; }
.eb-cform__champ label { font-size: var(--wp--preset--font-size--small); font-weight: 600; }
.eb-cform__champ label span, .eb-cform__mention > span { color: var(--eb-accent); }
.eb-cform input[type="text"], .eb-cform input[type="email"], .eb-cform input[type="tel"], .eb-cform select, .eb-cform textarea {
	width: 100%; margin: 0;
	font: inherit; font-size: 1rem; color: inherit;
	padding: 0.8em 1em;
	background: #F6F6F4;
	border: 1px solid var(--eb-line-on-light); border-radius: var(--wp--custom--radius--small);
	transition: border-color 0.2s, background-color 0.2s, box-shadow 0.2s;
}
.eb-cform textarea { min-height: 9.5rem; resize: vertical; line-height: 1.5; }
.eb-cform select {
	appearance: none; -webkit-appearance: none; padding-right: 2.6em; cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23323232' stroke-width='1.6'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 1em center; background-size: 12px 8px;
}
.eb-cform input:hover, .eb-cform select:hover, .eb-cform textarea:hover { border-color: color-mix(in srgb, var(--wp--preset--color--anthracite) 35%, transparent); }
.eb-cform input:focus, .eb-cform select:focus, .eb-cform textarea:focus {
	outline: none; background-color: var(--wp--preset--color--blanc);
	border-color: var(--eb-accent); box-shadow: 0 0 0 3px var(--eb-accent-soft);
}
.eb-cform [aria-invalid="true"] { border-color: var(--eb-accent); background-color: color-mix(in srgb, var(--eb-accent) 6%, var(--wp--preset--color--blanc)); }
.eb-cform__erreur { font-size: var(--wp--preset--font-size--small); font-weight: 600; color: var(--eb-accent-deep); }
.eb-cform__alerte {
	margin-bottom: var(--wp--preset--spacing--40); padding: 0.9rem 1.1rem;
	border-left: 4px solid var(--eb-accent); border-radius: var(--wp--custom--radius--small);
	background: var(--eb-accent-soft); font-weight: 600;
}
.eb-cform__piege { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.eb-cform__pied { display: flex; align-items: center; justify-content: space-between; gap: var(--wp--preset--spacing--40); margin-top: var(--wp--preset--spacing--40); }
.eb-cform__mention { font-size: var(--wp--preset--font-size--x-small); line-height: 1.5; color: var(--eb-muted); max-width: 46ch; }
.eb-cform__mention a { color: inherit; text-underline-offset: 3px; }
.eb-cform__envoyer { flex: none; }
.eb-cform__envoyer .wp-block-button__link { border: 0; cursor: pointer; padding: 0.95em 2.2em; font-family: inherit; }

/* Message envoyé */
.eb-cform__succes { display: grid; justify-items: center; gap: 0.6rem; text-align: center; padding: var(--wp--preset--spacing--50) 0; outline: none; }
.eb-cform__succes .eb-icon { width: 2.6rem; height: 2.6rem; fill: var(--eb-accent); margin-bottom: 0.4rem; }
.eb-cform__succes-titre { font-family: var(--wp--preset--font-family--goldman); font-weight: 700; font-size: var(--wp--preset--font-size--x-large); }
.eb-cform__succes p:not(.eb-cform__succes-titre) { max-width: 40ch; color: var(--eb-muted); }
.eb-cform__autre { font-weight: 600; color: var(--eb-accent) !important; text-underline-offset: 4px; }

@media (max-width: 781px) {
	.eb-contact__cols { gap: var(--wp--preset--spacing--50) !important; }
	.eb-cform { padding: var(--wp--preset--spacing--40); }
	.eb-cform__grille { grid-template-columns: 1fr; }
	.eb-cform__pied { flex-direction: column; align-items: stretch; }
	.eb-cform__envoyer .wp-block-button__link { width: 100%; }
	.eb-cmap__legende { flex-direction: column; align-items: flex-start; }
}
