/* FMF Cursos — estilos acotados a .fmf para no interferir con el tema.
   Para adaptar colores, redefine las variables en Apariencia > Personalizar > CSS adicional. */
.fmf {
	--fmf-acento: #f2a900;        /* amarillo seguridad */
	--fmf-acento-texto: #1b1b1b;
	--fmf-texto: #1f2933;
	--fmf-suave: #5f6b7a;
	--fmf-borde: #e3e6ea;
	--fmf-fondo: #ffffff;
	--fmf-fondo-alt: #f6f7f9;
	--fmf-ok: #1f7a4d;
	--fmf-aviso: #b45309;
	--fmf-error: #b42318;
	--fmf-radio: 10px;
	color: var(--fmf-texto);
	font: inherit;
	line-height: 1.5;
	margin: 2rem 0;
}
.fmf *, .fmf *::before, .fmf *::after { box-sizing: border-box; }

.fmf-titulo { font-size: 1.5rem; margin: 0 0 1rem; line-height: 1.25; }
.fmf-subtitulo { font-size: 1.1rem; margin: 1.5rem 0 .5rem; }

/* Ficha (páginas creadas por el plugin) */
.fmf-ficha { display: grid; gap: .25rem 2rem; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); margin-bottom: 1.5rem; }
.fmf-ficha .fmf-dato { grid-column: 1 / -1; margin: 0; }
.fmf-bloque-lista ul { margin: 0; padding-left: 1.2rem; }

/* Tarjetas de edición */
.fmf-ediciones { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
.fmf-edicion {
	background: var(--fmf-fondo);
	border: 1px solid var(--fmf-borde);
	border-top: 4px solid var(--fmf-acento);
	border-radius: var(--fmf-radio);
	padding: 1rem 1.1rem 1.1rem;
	display: flex; flex-direction: column; gap: .35rem;
}
.fmf-edicion p { margin: 0; }
.fmf-edicion-fecha { font-weight: 700; font-size: 1.1rem; }
.fmf-edicion-fecha::first-letter { text-transform: uppercase; }
.fmf-edicion-horario, .fmf-edicion-lugar { color: var(--fmf-suave); font-size: .95rem; }
.fmf-edicion-lugar a { color: inherit; text-decoration: underline; }
.fmf-edicion-precio { font-size: 1.4rem; font-weight: 700; margin-top: .25rem !important; }

.fmf-plazas { display: inline-block; align-self: flex-start; font-size: .85rem; font-weight: 600; color: var(--fmf-ok); }
.fmf-plazas-ultimas { color: var(--fmf-aviso); }
.fmf-plazas-completo { color: var(--fmf-error); }

/* Botones */
.fmf-boton {
	display: inline-block; text-align: center; cursor: pointer;
	background: var(--fmf-acento); color: var(--fmf-acento-texto) !important;
	border: 0; border-radius: 999px; padding: .7rem 1.4rem;
	font-weight: 700; font-size: 1rem; text-decoration: none !important;
	margin-top: .5rem; transition: filter .15s ease;
}
.fmf-boton:hover, .fmf-boton:focus-visible { filter: brightness(.92); }
.fmf-boton:focus-visible { outline: 3px solid var(--fmf-texto); outline-offset: 2px; }
.fmf-boton-secundario { background: var(--fmf-fondo-alt); border: 1px solid var(--fmf-borde); }
.fmf-boton-desactivado { background: var(--fmf-fondo-alt); color: var(--fmf-suave) !important; cursor: not-allowed; }
.fmf-boton[disabled] { opacity: .6; cursor: wait; }

/* Avísame */
.fmf-vacio { color: var(--fmf-suave); }
.fmf-otra-fecha { margin-top: 1rem; }
.fmf-otra-fecha summary { cursor: pointer; font-weight: 600; }
.fmf-avisame { margin-top: .75rem; }
.fmf-avisame-destacado { background: var(--fmf-fondo-alt); border: 1px solid var(--fmf-borde); border-radius: var(--fmf-radio); padding: 1.1rem; }
.fmf-avisame-titulo { font-weight: 700; font-size: 1.15rem; margin: 0 0 .75rem; }
.fmf-campos { display: grid; gap: .75rem; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.fmf-campos label { display: flex; flex-direction: column; gap: .25rem; font-size: .9rem; font-weight: 600; }
.fmf-campos input, .fmf-campos select {
	font: inherit; font-weight: 400; width: 100%;
	padding: .55rem .7rem; border: 1px solid #c5cbd3; border-radius: 6px; background: #fff; color: var(--fmf-texto);
}
.fmf-consentimiento { display: flex; gap: .5rem; align-items: flex-start; margin: .9rem 0 .25rem; font-size: .85rem; color: var(--fmf-suave); }
.fmf-consentimiento input { margin-top: .2rem; }
.fmf-mensaje { margin: .5rem 0 0; font-weight: 600; min-height: 1.2em; }
.fmf-mensaje.ok { color: var(--fmf-ok); }
.fmf-mensaje.error { color: var(--fmf-error); }
.fmf-trampa { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* Las dos opciones: más información / inscribirme ya */
.fmf-opciones { margin: 1.5rem 0; scroll-margin-top: 90px; }
.fmf-opciones-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.fmf-opcion {
	background: var(--fmf-fondo-alt); border: 1px solid var(--fmf-borde); border-radius: var(--fmf-radio);
	padding: 1.2rem 1.25rem; display: flex; flex-direction: column; gap: .5rem;
}
.fmf-opcion-principal { background: #fff8e6; border: 2px solid var(--fmf-acento); }
.fmf-opcion-titulo { font-weight: 800; font-size: 1.2rem; line-height: 1.3; margin: 0; }
.fmf-opcion-texto { margin: 0; color: var(--fmf-suave); flex: 1; }
.fmf-opcion .fmf-boton { align-self: flex-start; }
.fmf-opcion .fmf-boton-secundario { background: #fff; border: 2px solid var(--fmf-texto); }
.fmf-opciones-form { margin-top: 1rem; scroll-margin-top: 90px; }
.fmf-campo-ancho { display: flex; flex-direction: column; gap: .25rem; font-size: .9rem; font-weight: 600; margin-top: .75rem; }
.fmf-campo-ancho textarea { font: inherit; font-weight: 400; width: 100%; padding: .55rem .7rem; border: 1px solid #c5cbd3; border-radius: 6px; background: #fff; color: var(--fmf-texto); }
#fechas { scroll-margin-top: 90px; }
p.fmf-otra-fecha { margin-top: 1rem; }

/* Galería */
.fmf-galeria { display: grid; gap: .5rem; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
.fmf-galeria img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 8px; display: block; }

/* Próximas ediciones (portada) */
.fmf-lista { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--fmf-borde); }
.fmf-lista-item {
	display: grid; gap: .25rem 1rem; align-items: center;
	grid-template-columns: minmax(140px, auto) 1fr auto auto;
	padding: .75rem 0; border-bottom: 1px solid var(--fmf-borde);
}
.fmf-lista-fecha { font-weight: 700; }
.fmf-lista-fecha::first-letter { text-transform: uppercase; }
.fmf-lista-curso { font-weight: 600; color: inherit; }
.fmf-lista-lugar { color: var(--fmf-suave); }

@media (max-width: 600px) {
	.fmf-lista-item { grid-template-columns: 1fr auto; }
	.fmf-lista-curso { grid-column: 1 / -1; grid-row: 1; }
	.fmf-boton, .fmf-opcion .fmf-boton { width: 100%; align-self: stretch; }
}
