/*
Theme Name:   Sentido Animal (GeneratePress child)
Theme URI:    https://www.sentidoanimal.es/
Description:  Tema hijo de GeneratePress para www.sentidoanimal.es. Sustituye a
              GP Premium y aloja el CSS y las plantillas propias de la Escuela.
              Ver docs/plans/independencia-elementor/PLAN.md
Author:       Sentido Animal SL
Author URI:   https://www.sentidoanimal.es/
Template:     generatepress
Version:      1.0.0
Text Domain:  generatepress-child
*/

/* -------------------------------------------------------------------------
 * Sustituto del módulo `disable_elements` de GP Premium.
 *
 * GP Premium inyectaba estas reglas en línea cuando una entrada tenía la clave
 * `_generate-disable-post-image`. Aquí van al fichero, y `functions.php` sólo
 * añade la clase `sna-sin-imagen-destacada` al body cuando toca.
 *
 * Afecta hoy a 17 páginas (13 publicadas + 4 borradores). NO cambiar el nombre
 * de la clave de metadatos: se conserva para no tocar la base de datos.
 * ---------------------------------------------------------------------- */
.sna-sin-imagen-destacada .generate-page-header,
.sna-sin-imagen-destacada .page-header-image,
.sna-sin-imagen-destacada .page-header-image-single {
	display: none;
}

/* -------------------------------------------------------------------------
 * CSS propio de la Escuela.
 *
 * Hasta ahora no había dónde ponerlo: el sitio corría sobre `generatepress`
 * pelado. A partir de aquí, todo lo que se escriba a mano vive en este fichero
 * en lugar de en el Personalizador o en Code Snippets.
 *
 * Paleta de marca: #222223 · #008080 · #4b4f54 · #f2b42a · #ffffff
 * Tipografías: Ubuntu y Lato (las carga GeneratePress, no hace falta hacer nada)
 * ---------------------------------------------------------------------- */

/* -------------------------------------------------------------------------
 * CSS heredado del Personalizador (entrada 20382 de `custom_css`).
 *
 * Al cambiar de tema, WordPress NO arrastra el CSS adicional: `theme_mods` es
 * por tema. En vez de duplicarlo, se trae aquí, que es su sitio natural ahora
 * que hay tema hijo. El `custom_css_post_id` del hijo se deja en -1 para que no
 * se cargue dos veces.
 *
 * Traído tal cual el 2026-08-07, sin retocar, para que el cambio de tema no
 * altere nada visual. Cualquier limpieza va aparte y se verifica sola.
 * ---------------------------------------------------------------------- */

/* Contenedor principal del evento */
.tribe-events-single {
	max-width: 100% !important;
	padding: 10px !important;
	box-sizing: border-box;
}

/* Imágenes y contenido */
.tribe-events-single .tribe-events-event-meta,
.tribe-events-single .tribe-events-event-description {
	width: 100% !important;
}

/* Fechas y botones */
.tribe-events-single .tribe-events-event-meta li {
	display: block !important;
	margin-bottom: 8px;
}

body, p, span {
	font-family: 'Lato', sans-serif !important;
}

/* -------------------------------------------------------------------------
 * Página de error 404 (sustituye a la plantilla 16296 de Elementor Pro).
 * Dos columnas en escritorio, apiladas en móvil.
 * ---------------------------------------------------------------------- */
.sna-404 {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 40px;
	/* El margen lateral lo pone esta sección: sin plantilla de Elementor no hay
	   contenedor que lo aporte, y en móvil el texto quedaba pegado al borde. */
	padding: 60px 30px 80px;
}

.sna-404__texto {
	flex: 1 1 420px;
	min-width: 0;
}

.sna-404__imagen {
	flex: 0 1 300px;
	text-align: center;
}

.sna-404__imagen img {
	/* La imagen original es mucho mayor: se acota para que no domine la página. */
	max-width: 260px;
	width: 100%;
	height: auto;
}

.sna-404__codigo {
	font-family: 'Ubuntu', sans-serif;
	font-weight: 700;
	margin: 0 0 .2em;
}

.sna-404__titulo {
	font-family: 'Ubuntu', sans-serif;
	font-size: 1.9em;
	line-height: 1.2;
	color: #4b4f54;
	margin: 0 0 .8em;
}

.sna-404__buscador {
	margin: 1.6em 0;
	max-width: 420px;
}

/* El formulario de búsqueda de GeneratePress apila campo y botón.
   Aquí van en línea, que ocupa menos y se lee mejor. */
.sna-404__buscador form.search-form {
	display: flex;
	gap: 8px;
	align-items: stretch;
}

.sna-404__buscador .search-field {
	flex: 1 1 auto;
	min-width: 0;
}

.sna-404__buscador button,
.sna-404__buscador .search-submit {
	flex: 0 0 auto;
	background: #008080;
	color: #fff;
	border: 0;
	padding: 0 18px;
	cursor: pointer;
}

.sna-404__buscador button:hover,
.sna-404__buscador .search-submit:hover {
	background: #222223;
}

/* En móvil, la imagen va primero y más pequeña. */
@media (max-width: 768px) {
	.sna-404 {
		gap: 24px;
		padding: 32px 20px 48px;
	}

	.sna-404__imagen {
		order: -1;
		flex-basis: 100%;
	}

	.sna-404__imagen img {
		max-width: 220px;
	}

	.sna-404__titulo {
		font-size: 1.5em;
	}
}

/* -------------------------------------------------------------------------
 * Resultados de búsqueda (sustituye a la plantilla 20591 de Elementor Pro).
 * ---------------------------------------------------------------------- */
.sna-busqueda-hero {
	background-size: cover;
	background-position: center;
	position: relative;
	padding: 70px 30px;
	color: #fff;
	/* Ocupa todo el ancho porque se pinta fuera del contenedor de 1200 px,
	   desde el hook `generate_after_header` (ver functions.php). Sin 100vw. */
}

/* Velo oscuro para que el texto se lea sobre cualquier foto. */
.sna-busqueda-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(34, 34, 35, .45);
}

.sna-busqueda-hero__interior {
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
}

.sna-busqueda-hero__titulo {
	font-family: 'Ubuntu', sans-serif;
	color: #fff;
	margin: 0;
}

.sna-busqueda-hero__linea {
	display: block;
	width: 80px;
	height: 2px;
	background: #f2b42a;
	margin: 18px 0;
}

.sna-busqueda-hero__termino {
	margin: 0;
	font-size: 1.1em;
	color: #fff;
}

.sna-busqueda {
	max-width: 1200px;
	margin: 0 auto;
	padding: 50px 30px 70px;
}

.sna-busqueda__titulo {
	font-family: 'Ubuntu', sans-serif;
	margin: 0 0 1.2em;
}

.sna-busqueda__rejilla {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
}

.sna-busqueda__vacio {
	font-size: 1.1em;
}

.sna-busqueda__buscador {
	max-width: 420px;
	margin-top: 1.4em;
}

/* --- Tarjeta de entrada. Reutilizable en otros listados. --- */
.sna-tarjeta {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid #e6e6e6;
}

.sna-tarjeta__imagen {
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: #f2f2f2;
}

.sna-tarjeta__imagen img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.sna-tarjeta__cuerpo {
	padding: 18px 20px 20px;
	flex: 1 1 auto;
}

.sna-tarjeta__titulo {
	font-family: 'Ubuntu', sans-serif;
	font-size: 1.05em;
	line-height: 1.35;
	margin: 0 0 .6em;
}

.sna-tarjeta__titulo a {
	color: #008080;
	text-decoration: none;
}

.sna-tarjeta__titulo a:hover {
	text-decoration: underline;
}

.sna-tarjeta__extracto {
	font-size: .9em;
	color: #4b4f54;
	margin: 0 0 1em;
}

.sna-tarjeta__enlace {
	font-size: .8em;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #008080;
	text-decoration: none;
}

.sna-tarjeta__enlace:hover {
	text-decoration: underline;
}

.sna-tarjeta__pie {
	padding: 10px 20px;
	border-top: 1px solid #e6e6e6;
	font-size: .78em;
	color: #4b4f54;
}

@media (max-width: 1024px) {
	.sna-busqueda__rejilla {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	.sna-busqueda-hero {
		padding: 44px 20px;
	}

	.sna-busqueda {
		padding: 32px 20px 48px;
	}

	.sna-busqueda__rejilla {
		grid-template-columns: 1fr;
		gap: 22px;
	}
}
