/* Mise en forme des contenus produits par l'extension.
   Les couleurs et les polices viennent du thème (theme.json). */

/* --- Recherche d'établissement (page d'accueil) ----------------------- */
.udsm-recherche-etab {
	background: var(--wp--preset--color--blanc, #fff);
	border-radius: 26px;
	padding: 22px;
}
.udsm-recherche-etab__titre { font-weight: 500; margin: 0 0 12px; }
.udsm-recherche-etab__ligne { display: flex; flex-wrap: wrap; gap: 10px; }
.udsm-recherche-etab__ligne input[type="search"] { flex: 1 1 200px; }
.udsm-recherche-etab input,
.udsm-recherche-etab select {
	font: inherit; padding: 12px 16px;
	border: 1px solid var(--wp--preset--color--noir, #000);
	border-radius: 999px; background: #fff;
}

/* --- Filtres ---------------------------------------------------------- */
.udsm-filtres { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-bottom: 28px; }
.udsm-filtres select,
.udsm-filtres input[type="search"] {
	font: inherit; padding: 10px 16px;
	border: 1px solid var(--wp--preset--color--noir, #000);
	border-radius: 999px; background: #fff;
}
.udsm-compte { font-size: .85rem; opacity: .75; }
.udsm-reinit { font-size: .85rem; }

/* --- Annuaire --------------------------------------------------------- */
.udsm-annuaire { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: start; }
.udsm-annuaire__liste { display: grid; gap: 14px; }
.udsm-annuaire__carte { position: sticky; top: 100px; }
@media (max-width: 900px) {
	.udsm-annuaire { grid-template-columns: 1fr; }
	.udsm-annuaire__carte { position: static; order: -1; }
}

.udsm-fiche-lien {
	display: block; text-decoration: none; color: inherit;
	background: var(--wp--preset--color--creme, #FDF7EB);
	border: 1px solid transparent; border-radius: 26px; padding: 22px;
	transition: border-color .15s;
}
.udsm-fiche-lien:hover,
.udsm-fiche-lien:focus-visible { border-color: var(--wp--preset--color--noir, #000); }
.udsm-fiche-lien h3 { margin: 10px 0 6px; font-size: 1.15rem; }
.udsm-fiche-lien p { margin: 0; }

.udsm-grille-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
@media (max-width: 980px) { .udsm-grille-3 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .udsm-grille-3 { grid-template-columns: 1fr; } }

/* --- Agenda ----------------------------------------------------------- */
.udsm-agenda { display: block; }
.udsm-evt {
	display: grid; grid-template-columns: 110px 1fr auto;
	gap: 22px; align-items: center;
	padding: 22px 0; border-top: 1px solid rgba(0, 0, 0, .15);
}
.udsm-evt:last-child { border-bottom: 1px solid rgba(0, 0, 0, .15); }
.udsm-evt__jour {
	display: block; font-size: 2.6rem; line-height: .95;
	letter-spacing: -.02em; font-family: var(--wp--preset--font-family--labil);
}
.udsm-evt__corps h3 { margin: 0 0 4px; font-size: 1.2rem; }
.udsm-evt__corps p { margin: 4px 0 0; }
@media (max-width: 700px) {
	.udsm-evt { grid-template-columns: 1fr; gap: 10px; }
	.udsm-evt__date { display: flex; align-items: baseline; gap: 8px; }
	.udsm-evt__jour { font-size: 1.7rem; }
}

/* --- Étiquettes ------------------------------------------------------- */
.udsm-etiquette {
	display: inline-block; border: 1px solid currentColor; border-radius: 999px;
	padding: 2px 12px; font-size: .78rem; line-height: 1.6; margin-right: 4px;
}

/* --- Fiche établissement ---------------------------------------------- */
.udsm-coordonnees {
	background: var(--wp--preset--color--creme, #FDF7EB);
	border-radius: 26px; padding: 26px; position: sticky; top: 100px;
}
.udsm-coordonnees h2 { font-size: 1.3rem; margin: 0 0 10px; }
.udsm-coordonnees h3 { font-size: 1rem; font-weight: 500; margin: 22px 0 6px; }
.udsm-coordonnees p { margin: 0; }
.udsm-liste-nue { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.udsm-cta-admission { margin-top: 22px; }
@media (max-width: 900px) { .udsm-coordonnees { position: static; } }

/* --- Documents -------------------------------------------------------- */
.udsm-carte-doc {
	background: var(--wp--preset--color--creme, #FDF7EB);
	border-radius: 26px; padding: 24px;
}
.udsm-carte-doc h3 { margin: 10px 0 4px; font-size: 1.15rem; }

/* --- Carte ------------------------------------------------------------ */
.udsm-carte { border-radius: 26px; overflow: hidden; }
.udsm-point span {
	display: block; width: 22px; height: 22px; border-radius: 50%;
	background: #2F7A70; border: 3px solid #fff; box-shadow: 0 1px 4px rgba(0, 0, 0, .3);
}
.leaflet-container { font: inherit; }

/* --- États vides et repères ------------------------------------------- */
.udsm-vide {
	border: 1px dashed currentColor; border-radius: 26px; padding: 26px;
}
.udsm-vide h3 { margin: 0 0 8px; font-size: 1.15rem; }
.udsm-vide p { margin: 0; }

.udsm-fil { font-size: .82rem; opacity: .8; margin-bottom: 18px; }
.udsm-petit { font-size: .9rem; }
.udsm-annotation { font-size: .8rem; opacity: .75; margin: 4px 0 0; }
.udsm-exergue { font-size: 1.15rem; line-height: 1.5; }

/* Repère de contenu à rédiger : visible seulement pour l'équipe connectée. */
.udsm-a-ecrire { display: none; }
.logged-in .udsm-a-ecrire {
	display: block; background: #FFE3D2; border-radius: 12px;
	padding: 10px 16px; font-size: .9rem;
}

/* --- Newsletter -------------------------------------------------------- */
.udsm-newsletter { display: flex; gap: 8px; flex-wrap: wrap; }
.udsm-newsletter input[type="email"] {
	flex: 1 1 180px; font: inherit; padding: 11px 16px;
	border: 1px solid var(--wp--preset--color--noir, #000);
	border-radius: 999px; background: #fff;
}

/* --- Formulaires ------------------------------------------------------- */
.udsm-form { display: grid; gap: 18px; max-width: 640px; }
.udsm-form .champ { display: grid; gap: 6px; }
.udsm-form label { font-weight: 500; font-size: .95rem; }
.udsm-form input, .udsm-form select, .udsm-form textarea {
	font: inherit; padding: 13px 15px;
	border: 1px solid var(--wp--preset--color--noir, #000);
	border-radius: 14px; background: #fff; width: 100%;
}
.udsm-form textarea { min-height: 140px; }
.udsm-form .consentement {
	display: flex; gap: 10px; align-items: flex-start;
	font-size: .9rem; font-weight: 400;
}
.udsm-form .consentement input { width: auto; margin-top: 4px; }
.udsm-form .pot-de-miel { position: absolute; left: -9999px; }
.udsm-message { border-radius: 16px; padding: 18px 22px; margin-bottom: 24px; }
.udsm-message--ok { background: var(--wp--preset--color--eau, #DDEFE0); }
.udsm-message--erreur { background: var(--wp--preset--color--peche, #FFE3D2); }
.udsm-message h2 { margin: 0 0 8px; font-size: 1.4rem; }

/* --- Utilitaire d'accessibilité ---------------------------------------- */
.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; margin: -1px; overflow: hidden; padding: 0;
	position: absolute; width: 1px; word-wrap: normal !important;
}
