/*
Theme Name: Santana 27
Theme URI: https://santana27.com
Author: InDesWeb
Description: Tema de bloques para la web de Santana 27 (Bilbao). Columna blanca sobre fondo negro, barra de menú negra con filetes rojos. Funciona junto al plugin "Santana 27 – Eventos y Fotos".
Version: 1.5.0
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: santana27
*/

/* =========================================================================
   Base
   ========================================================================= */
html { scroll-behavior: smooth; }
img { max-width: 100%; height: auto; }

.screen-reader-text:not(:focus) {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

/* Columna blanca centrada sobre fondo negro (solo en la web, no en el editor) */
body.s27-web { background: #000; }
body.s27-web .wp-site-blocks {
	max-width: 1160px;
	margin-inline: auto;
	background: #fff;
	color: #555;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}
body.s27-web .wp-site-blocks > main { flex: 1 0 auto; }
body .wp-site-blocks > * { margin-block-start: 0; margin-block-end: 0; }

/* =========================================================================
   Cabecera: logo + redes + buscador
   ========================================================================= */
.s27-header.s27-header { background: #fff; padding: 26px 30px 24px; }
.s27-header .wp-block-site-logo { margin: 0; line-height: 0; }
.s27-header .wp-block-site-logo img { display: block; width: 265px; max-width: 100%; height: auto; }
.s27-header .wp-block-site-title { margin: 0; font-size: 1.6rem; font-weight: 800; text-transform: uppercase; }
.s27-header .wp-block-site-title a { color: #333; text-decoration: none; }
.s27-header:has(.wp-block-site-logo img) .wp-block-site-title { display: none; }

.s27-tools { display: flex; align-items: center; gap: 14px; flex-wrap: nowrap; }

/* Botones cuadrados de redes sociales */
.s27-social.s27-social { gap: 8px; margin: 0; padding: 0; }
.wp-block-social-links.s27-social .wp-social-link.wp-social-link {
	margin: 0;
	background-color: #fff;
	color: #8a8a8a;
	border: 1px solid #c9c9c9;
	border-radius: 0;
	font-size: 1rem;
}
.wp-block-social-links.s27-social .wp-social-link.wp-social-link:hover { background-color: #f80400; border-color: #f80400; color: #fff; }
.s27-social .wp-social-link a { color: inherit; padding: .5em; }
.s27-footer .wp-block-social-links.s27-social .wp-social-link.wp-social-link { background-color: #000; border-color: #444; color: #ccc; }
.s27-footer .wp-block-social-links.s27-social .wp-social-link.wp-social-link:hover { background-color: #f80400; border-color: #f80400; color: #fff; }

/* Buscador */
.s27-search.wp-block-search { margin: 0; }
.s27-search .wp-block-search__inside-wrapper { border: 1px solid #c9c9c9; padding: 0; background: #fff; }
.s27-search .wp-block-search__input { border: 0; padding: 8px 10px; font-size: .9rem; color: #555; background: transparent; min-width: 0; }
.s27-search .wp-block-search__button { border: 0; background: transparent; color: #8a8a8a; margin: 0; padding: 6px 10px; }
.s27-search .wp-block-search__button:hover { color: #f80400; background: transparent; }

/* =========================================================================
   Barra de menú
   ========================================================================= */
.s27-navbar.s27-navbar {
	background: #000;
	border-top: 3px solid #f80400;
	border-bottom: 3px solid #f80400;
	padding: 0;
}
.s27-nav { font-size: 1rem; }
.s27-nav .wp-block-navigation__container { gap: 0; }
.s27-navbar .s27-nav .wp-block-navigation-item__content {
	display: block;
	padding: 14px 15px;
	text-transform: uppercase;
	font-weight: 400;
	letter-spacing: 0;
	color: #fff;
	text-decoration: none;
}
.s27-navbar .s27-nav .wp-block-navigation-item__content:hover,
.s27-navbar .s27-nav .wp-block-navigation-item__content:focus-visible { background: #1d1d1d; color: #fff; text-decoration: none; }
.s27-navbar .s27-nav .current-menu-item > .wp-block-navigation-item__content,
.s27-navbar .s27-nav .current-menu-ancestor > .wp-block-navigation-item__content { background: #f80400; color: #fff; }
.s27-nav .wp-block-navigation__submenu-container { background: #000; border: 0; border-top: 3px solid #f80400; min-width: 200px; }
.s27-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 11px 15px; }
.s27-nav .wp-block-navigation__submenu-icon { color: #fff; }
.s27-nav .wp-block-navigation__responsive-container-open { color: #fff; padding: 10px 15px; margin-left: auto; }
.s27-nav .wp-block-navigation__responsive-container.is-menu-open { background: #000; color: #fff; padding: 24px; }
.s27-nav .wp-block-navigation__responsive-container-close { color: #fff; }

/* =========================================================================
   Portada: carrusel (2/3) + agenda (1/3)
   ========================================================================= */
.s27-main.s27-main { padding: 22px 20px 40px; }
.s27-hero.s27-hero { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 40px; align-items: start; }
.s27-hero.s27-hero > * { margin: 0; }
.s27-hero:not(:has(.s27-carrusel)) { grid-template-columns: 1fr; }
.s27-video.s27-video { margin-top: 28px; }
.s27-video .wp-block-embed { margin: 0; }
/* Vídeo apaisado, como en la web original (1120 x 350 px en escritorio) */
.s27-video .wp-block-embed__wrapper { position: static; }
.s27-video .wp-has-aspect-ratio .wp-block-embed__wrapper::before { content: none; display: none; padding: 0; }
.s27-video iframe,
.s27-video .wp-has-aspect-ratio iframe {
	display: block;
	position: static;
	width: 100%;
	height: clamp(200px, 31.25vw, 350px);
	border: 0;
}

/* Tres bloques inferiores */
.s27-trio.s27-trio {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 40px;
	margin-top: 38px;
	align-items: start;
}
.s27-trio.s27-trio > * { margin: 0; }

.s27-fever {
	background: #000;
	color: #fff;
	text-align: center;
	padding: 22px 18px 26px;
	min-height: 290px;
}
.s27-fever h2 {
	color: #f80400;
	font-family: Mulish, system-ui, sans-serif;
	font-size: 2.6rem;
	font-weight: 900;
	font-style: italic;
	letter-spacing: -.02em;
	margin: 0 0 .4rem;
	text-transform: lowercase;
}
.s27-fever p { color: #fff; font-size: 1.15rem; line-height: 1.35; margin: 0 0 1.2rem; text-transform: uppercase; }
.s27-fever .wp-block-button__link { border-radius: 50%; width: 92px; height: 92px; padding: 0; display: flex; align-items: center; justify-content: center; background: #444; color: #f80400; font-size: 2.2rem; }
.s27-fever .wp-block-button__link:hover { background: #f80400; color: #fff; }
.s27-fever .wp-block-buttons { justify-content: center; }

.s27-entradas { text-align: center; }
.s27-entradas h2 { color: #f80400; font-size: 1.9rem; text-transform: uppercase; margin: 6px 0 .6rem; font-weight: 400; }
.s27-entradas .wp-block-button__link {
	display: block;
	background: #d6291c;
	color: #fff;
	font-family: var(--wp--preset--font-family--condensada);
	font-size: 2.6rem;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.05;
	padding: .15em .25em;
	text-transform: uppercase;
}
.s27-entradas .wp-block-button__link:hover { background: #000; }

.s27-plan h3 { font-size: 1.35rem; margin: 0 0 .5rem; font-weight: 400; }
.s27-plan p { font-size: .875rem; line-height: 1.5; margin: 0 0 .5rem; }

/* =========================================================================
   Páginas interiores
   ========================================================================= */
.s27-pagina.s27-pagina { padding: 28px 20px 40px; }
.s27-entrada-titulo { text-transform: uppercase; margin: 0 0 1rem; }
.s27-titulo {
	text-transform: uppercase;
	letter-spacing: .02em;
	margin: 0 0 1rem;
	padding-bottom: .4rem;
	border-bottom: 3px solid #f80400;
	display: inline-block;
}
.s27-ficha.s27-ficha { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 36px; align-items: start; }
.s27-ficha.s27-ficha > * { margin: 0; }
.s27-ficha:not(:has(.s27-cartel)) { grid-template-columns: 1fr; }
.s27-rejilla-fotos .wp-block-post-template { gap: 16px; }
.s27-rejilla-fotos .wp-block-post-title { font-size: 1.2rem; text-transform: uppercase; margin-top: .5rem; }
.s27-rejilla-fotos .wp-block-post-featured-image img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }

/* =========================================================================
   Pie de página
   ========================================================================= */
.s27-footer.s27-footer { background: #000; color: #999; padding: 22px 30px 18px; font-size: .9rem; }
.s27-footer a { color: #aaa; text-decoration: none; }
.s27-footer a:hover { color: #f80400; text-decoration: none; }
.s27-footer__cols.s27-footer__cols { display: grid; grid-template-columns: 1fr 1.35fr 1fr 1fr; gap: 28px; align-items: start; }
.s27-footer__cols.s27-footer__cols > * { margin: 0; }
.s27-footer p { margin: 0 0 .7rem; color: #999; line-height: 1.55; }
.s27-footer .wp-block-site-logo { margin: 0 0 .8rem; line-height: 0; }
.s27-footer .wp-block-site-logo img { width: 180px; max-width: 100%; height: auto; }
.s27-footer__menu .wp-block-navigation__container { gap: 2px; align-items: flex-start; }
.s27-footer .s27-nav .wp-block-navigation-item__content {
	padding: 1px 0;
	color: #ccc;
	text-transform: none;
	letter-spacing: .12em;
	font-size: .85rem;
	background: transparent;
}
.s27-footer .s27-nav .wp-block-navigation-item__content:hover { color: #f80400; background: transparent; }
.s27-etiqueta { color: #f80400; font-weight: 400; }
.s27-footer__der { text-align: right; }
.s27-footer__der .s27-social { justify-content: flex-end; margin-bottom: 1rem; }
.s27-footer__der p { color: #777; }
.s27-footer__der a { color: #f80400; }
.s27-footer__der a:hover { color: #fff; }
.s27-footer__ventas .s27-etiqueta { color: #999; }
.s27-footer__ventas a { color: #f80400; }

/* =========================================================================
   Móvil
   ========================================================================= */
@media (max-width: 900px) {
	.s27-hero.s27-hero { grid-template-columns: 1fr; gap: 28px; }
	.s27-trio.s27-trio { grid-template-columns: 1fr; gap: 28px; }
	.s27-ficha.s27-ficha { grid-template-columns: 1fr; }
	.s27-footer__cols.s27-footer__cols { grid-template-columns: 1fr 1fr; }
	.s27-footer__der { text-align: left; }
	.s27-footer__der .s27-social { justify-content: flex-start; }
}
@media (max-width: 640px) {
	.s27-header.s27-header { padding: 18px 16px; flex-wrap: wrap; }
	.s27-header .wp-block-site-logo img { width: 200px; }
	.s27-tools { flex-wrap: wrap; }
	.s27-main.s27-main, .s27-pagina.s27-pagina { padding-inline: 14px; }
	.s27-footer.s27-footer { padding-inline: 16px; }
	.s27-footer__cols.s27-footer__cols { grid-template-columns: 1fr; }
	.s27-entradas .wp-block-button__link { font-size: 2rem; }
}

/* Ajustes de los tres bloques inferiores */
.s27-entradas .wp-block-buttons { display: block; }
.s27-entradas .wp-block-button { width: 100%; }
.s27-video:not(:has(iframe, .wp-block-embed__wrapper)) { display: none; }

/* Logotipos de financiación europea */
.s27-plan__logos { margin: 0 0 .8rem; display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.s27-plan__logos img { display: block; height: 54px; width: auto; max-width: 100%; }
.s27-meta { gap: 14px; margin: 0 0 1rem; color: #888; }
.s27-meta a { color: #f80400; text-decoration: none; }
.s27-etiquetas { margin-top: 2rem; color: #888; }
.s27-etiquetas a { color: #555; }

/* Contenido importado de Joomla: imágenes y vídeos que nunca desbordan */
.s27-pagina img { max-width: 100%; height: auto; }
.s27-pagina iframe { max-width: 100%; }
.s27-pagina .wp-block-post-content iframe[src*="youtube"],
.s27-pagina .wp-block-post-content iframe[src*="youtu.be"] { width: 100%; aspect-ratio: 16 / 9; height: auto; }

/* Página SANTANAZO (reconstruida con bloques) */
.s27-sz { text-align: center; margin: 0 0 24px; }
.s27-sz--hero, .s27-sz--vip { background-size: cover; background-position: center; padding: 56px 20px; display: flex; justify-content: center; }
.s27-sz__panel, .s27-sz__caja { background: rgba(0,0,0,.62); color: #fff; padding: 28px 34px; max-width: 520px; width: 100%; }
.s27-sz h3 { font-family: var(--wp--preset--font-family--condensada); text-transform: uppercase; font-weight: 400; color: #fff; margin: 0 0 .3rem; font-size: 2.2rem; line-height: 1.05; }
.s27-sz--horario h3 { color: #333; }
.s27-sz p { margin: 0 0 .8rem; }
.s27-sz hr { width: 60px; border: 0; border-top: 3px solid #f80400; margin: 12px auto; }
.s27-sz__btn { display: inline-block; background: #fff; color: #000; padding: .55em 1.2em; text-transform: uppercase; text-decoration: none; font-weight: 700; }
.s27-sz__btn--rojo { background: #d6291c; color: #fff; }
.s27-sz__btn:hover { background: #000; color: #fff; }
.s27-sz--horario { padding: 14px 0; }
.s27-sz--horario img { max-width: 200px; height: auto; margin: 0 auto 8px; display: block; }
.s27-sz--horario p { font-size: 1.25rem; line-height: 1.5; color: #333; }
