/*!
Theme Name: XC Theme - Erripagaña
Theme URI: https://vecinoserripagaina.com/
Author: xabicolas
Author URI: https://xabicolas.es/
Description: Tema WordPress XC para Erripagaña.
Version: 1.1.0
Release: Abril 2026
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: xc
Tags: custom-background, custom-logo, custom-menu, featured-images, translation-ready
*/

/* -------------------------------------------------------------
   Base
------------------------------------------------------------- */

html {
	box-sizing: border-box;
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

*,
*::before,
*::after {
	box-sizing: inherit;
}

:root {
	--xc-bg: #eeeeee;
	--xc-link: #00B3CF;
	--xc-link-hover: #111111;
	--xc-text: #111111;
	--xc-text-soft: #aaaaaa;
	--xc-border: #cccccc;
	--xc-white: #ffffff;
	--xc-max: 1080px;
	--xc-gap: 1.5rem;
	--xc-radius: 0;
	--xc-transition: 0.3s ease;
}

@font-face {
	font-family: 'Hlight';
	src: url('fonts/hlight.woff2') format('woff2'),
		url('fonts/hlight.woff') format('woff'),
		url('fonts/hlight.ttf') format('truetype');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Hnormal';
	src: url('fonts/hnormal.woff2') format('woff2'),
		url('fonts/hnormal.woff') format('woff'),
		url('fonts/hnormal.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Hbold';
	src: url('fonts/hbold.woff2') format('woff2'),
		url('fonts/hbold.woff') format('woff'),
		url('fonts/hbold.ttf') format('truetype');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Dlight';
	src: url('fonts/dlight.woff2') format('woff2'),
		url('fonts/dlight.woff') format('woff'),
		url('fonts/dlight.ttf') format('truetype');
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Dnormal';
	src: url('fonts/dnormal.woff2') format('woff2'),
		url('fonts/dnormal.woff') format('woff'),
		url('fonts/dnormal.ttf') format('truetype');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Dbold';
	src: url('fonts/dbold.woff2') format('woff2'),
		url('fonts/dbold.woff') format('woff'),
		url('fonts/dbold.ttf') format('truetype');
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

body {
	margin: 0;
	width: 100%;
	min-width: 320px;
	background: var(--xc-bg);
	color: var(--xc-text);
	font-family: 'Hnormal', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 14px;
	line-height: 1.6;
}

main {
	display: block;
}

img,
svg,
iframe,
embed,
object {
	max-width: 100%;
	height: auto;
}

figure {
	margin: 0 0 1.5rem;
}

table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 1.5rem;
}

ul,
ol {
	margin: 0 0 1.5rem 1.5rem;
	padding: 0;
}

li > ul,
li > ol {
	margin-bottom: 0;
}

a,
a:visited {
	color: var(--xc-link);
	text-decoration: none;
	transition: color var(--xc-transition), opacity var(--xc-transition);
}

a:hover,
a:focus,
a:active {
	color: var(--xc-link-hover);
}

p {
	margin: 0 0 1.5rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
	margin: 0 0 1rem;
	padding: 0 0 0.5rem;
	font-family: 'Dbold', sans-serif;
	line-height: 1.1;
}

h1 { font-size: clamp(2.4rem, 5vw, 4rem); }
h2 { font-size: clamp(2rem, 4.5vw, 3.5rem); }
h3 { font-size: clamp(1.75rem, 4vw, 3rem); }
h4 { font-size: clamp(1.5rem, 3vw, 2.5rem); }
h5 { font-size: clamp(1.25rem, 2.5vw, 2rem); }
h6 { font-size: clamp(1.1rem, 2vw, 1.5rem); }

hr {
	height: 1px;
	margin: 1.5rem 0;
	border: 0;
	background: var(--xc-border);
}

blockquote {
	margin: 0 0 1.5rem;
	padding-left: 1rem;
	border-left: 3px solid var(--xc-text);
}

pre,
code,
kbd,
tt,
var {
	font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

pre {
	overflow: auto;
	padding: 1rem;
	background: #e3e3e3;
}

button,
input,
optgroup,
select,
textarea {
	font: inherit;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.wp-block-button__link,
.button {
	display: inline-block;
	border: 0;
	border-radius: var(--xc-radius);
	background: var(--xc-text);
	color: var(--xc-bg);
	padding: 0.85em 1.4em;
	line-height: 1.2;
	cursor: pointer;
	transition: background var(--xc-transition), color var(--xc-transition), opacity var(--xc-transition);
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover,
.button:hover,
button:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
.wp-block-button__link:focus,
.button:focus {
	background: #222;
	color: var(--xc-bg);
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea,
select {
	width: 100%;
	border: 1px solid var(--xc-border);
	border-radius: var(--xc-radius);
	background: var(--xc-white);
	color: var(--xc-text);
	padding: 0.75rem 1rem;
}

textarea {
	min-height: 140px;
	resize: vertical;
}

/* -------------------------------------------------------------
   Layout
------------------------------------------------------------- */

.site {
	position: relative;
	min-height: 100vh;
}

.site-main {
	width: 100%;
	max-width: var(--xc-max);
	margin: 0 auto;
	padding: 13rem 1.5rem 3rem;
}

.page-template-page-inicio .site-main{
	padding-left: 0;
	padding-right: 0;
	padding-top: 0;
}
.page-template-page-video .site-main {
	max-width: 100%;
	padding-left: 0;
	padding-right: 0;
	padding-top: 0;
}
@media (min-width: 576px) {
	.site-main {
		padding-left: 1.25rem;
		padding-right: 1.25rem;
	}
}

@media (max-width: 991px) {
	.site-main {
		padding-top: 9.5rem;
	}
}

@media (max-width: 767px) {
	.site-main {
		padding-top: 8rem;
	}
}

/* -------------------------------------------------------------
   Header
------------------------------------------------------------- */

#masthead {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	padding: 1rem 1.25rem;
	background: transparent;
	backdrop-filter: none;
	transition: padding var(--xc-transition), box-shadow var(--xc-transition);
}

body.admin-bar #masthead {
	top: 32px;
}

@media (max-width: 782px) {
	body.admin-bar #masthead {
		top: 46px;
	}
}

#masthead.is-sticky {
	box-shadow: none;
}

.site-branding {
	display: flex;
	align-items: center;
	gap: 0rem;
	flex: 0 0 auto;
	min-width: 0;
	width: fit-content;
	background: transparent;
	padding: 0rem 0rem;
}

#masthead.is-sticky .site-branding {
}

.header-logo {
	flex: 0 0 auto;
}

.header-logo .custom-logo-link {
	display: inline-block;
}

.header-logo .custom-logo {
	display: block;
	width: auto;
	height: 180px;
	max-width: 180px;
	transition: height var(--xc-transition), max-width var(--xc-transition);
}

.header-logo .logo {
	display: block;
	width: 180px;
	height: 180px;
	background: url(img/logo.svg) no-repeat center center / contain;
}

.site-identity {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	padding: 0rem 1.2rem;
}
#masthead.is-sticky .site-identity {
	display: none;
}
.site-title,
.site-description {
	display: block;
	margin: 0;
	padding: 0;
}

.site-title {
	font-family: 'Hbold', sans-serif;
	font-size: clamp(1.75rem, 2.5vw, 2.5rem);
	line-height: 1.1;
}

.site-title a,
.site-title a:visited {
	color: var(--xc-text);
	text-decoration: none;
}

.site-description {
	margin-top: 0rem;
	font-size: 1rem;
	line-height: 1.2;
}

#masthead.is-sticky .header-logo .custom-logo {
	height: 120px;
	max-width: 120px;
}

#masthead.is-sticky .header-logo .logo {
	width: 120px;
	height: 120px;
	background-image: url(img/icon.svg);
}

#masthead.is-sticky .site-title {
	font-size: clamp(1.05rem, 1.7vw, 1.5rem);
}

#masthead.is-sticky .site-description {
	font-size: 0.85rem;
}


/* -------------------------------------------------------------
   Navigation
------------------------------------------------------------- */

.header-navigation {
	position: relative;
	margin-left: auto;
	flex: 0 0 auto;
	border-radius: 2em;
  	background: #eee;
}

.header-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.header-navigation .nav-menu {
	display: flex;
	align-items: center;
	gap: 0.25rem;
}

.header-navigation li {
	position: relative;
	margin: 0;
	padding: 0;
}

.header-navigation li.lang-item-first {
	border-right: 1px solid var(--xc-text);
}

.header-navigation > div > ul > li > a,
.header-navigation .nav-menu > li > a {
	display: block;
	padding: 0.5rem 1rem;
	font-family: 'Dnormal', sans-serif;
	font-size: 1.1rem;
	line-height: 1.2;
	font-weight: 600;
	text-transform: uppercase;
}
.header-navigation li.lang-item a {
	font-size: 1rem;
	font-weight: 300;
	padding: 0.3em 0.6em;
	color: var(--xc-link-hover);
}
.header-navigation li.lang-item a:hover {
	color: var(--xc-link);
}

.header-navigation li.menu-item-has-children > a,
.header-navigation li.page_item_has_children > a {
	padding-right: 1.5rem;
}

.header-navigation ul ul {
	position: absolute;
	top: 100%;
	left: -999em;
	min-width: 220px;
	padding: 0.75rem 0;
	background: #f5f5f5;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
	z-index: 1000;
}

.header-navigation ul ul li {
	display: block;
	width: 100%;
}

.header-navigation ul ul a {
	display: block;
	width: 100%;
	padding: 0.6rem 1rem;
	font-size: 1rem;
}

.header-navigation ul li:hover > ul,
.header-navigation ul li.focus > ul {
	left: 0;
}

.header-navigation ul ul li:hover > ul,
.header-navigation ul ul li.focus > ul {
	top: 0;
	left: 100%;
}

.menu-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 46px;
	padding: 0;
	border: 0;
	background: #eeeeee;
	color: var(--xc-text);
	box-shadow: none;
}

.menu-toggle:hover,
.menu-toggle:focus,
.menu-toggle:active {
	background: #eeeeee;
	color: var(--xc-text);
	box-shadow: none;
}

.menu-icon,
.menu-icon::before,
.menu-icon::after {
	display: block;
	width: 40px;
	height: 6px;
	background: var(--xc-text);
	transition: transform var(--xc-transition), opacity var(--xc-transition), background var(--xc-transition);
	content: "";
}

.menu-icon {
	position: relative;
}

.menu-icon::before {
	position: absolute;
	top: -12px;
	left: 0;
}

.menu-icon::after {
	position: absolute;
	top: 12px;
	left: 0;
}

.menu-toggle:hover .menu-icon::before,
.menu-toggle:hover .menu-icon::after,
.menu-toggle:focus .menu-icon::before,
.menu-toggle:focus .menu-icon::after {
	background: var(--xc-text-soft);
}

.menu-toggle[aria-expanded="true"] .menu-icon {
	background: transparent;
}

.menu-toggle[aria-expanded="true"] .menu-icon::before {
	transform: translateY(12px) rotate(45deg);
}

.menu-toggle[aria-expanded="true"] .menu-icon::after {
	transform: translateY(-12px) rotate(-45deg);
}

.menu-toggle[aria-expanded="true"]:hover .menu-icon::before,
.menu-toggle[aria-expanded="true"]:hover .menu-icon::after,
.menu-toggle[aria-expanded="true"]:focus .menu-icon::before,
.menu-toggle[aria-expanded="true"]:focus .menu-icon::after {
	background: var(--xc-text);
}

.menu-hamburger .menu-toggle {
	display: inline-flex;
}

.menu-hamburger .header-navigation .nav-menu {
	display: none;
}

.menu-hamburger .header-navigation.toggled .nav-menu {
	display: flex;
}

.menu-hamburger .header-navigation .nav-menu {
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
	position: absolute;
	top: calc(100% + 0.5rem);
	right: 0;
	width: min(360px, calc(100vw - 2rem));
	padding: 1rem;
	background: #eeeeee;
}

.menu-hamburger .header-navigation .nav-menu > li {
	width: 100%;
}

.menu-hamburger .header-navigation .nav-menu > li > a {
	width: 100%;
	padding: 0.8rem 0;
	border-bottom: 1px solid var(--xc-border);
}

.menu-hamburger .header-navigation ul ul {
	position: static;
	left: auto;
	display: block;
	min-width: 100%;
	padding: 0.25rem 0 0.75rem 1rem;
	box-shadow: none;
	background: transparent;
}

.menu-hamburger .header-navigation ul li:hover > ul,
.menu-hamburger .header-navigation ul li.focus > ul {
	left: auto;
}

@media (max-width: 900px) {
	#masthead {
		align-items: flex-start;
	}

	.site-branding {
		gap: 0.75rem;
		padding-right: 0.5rem;
	}

	.header-logo .custom-logo {
		height: 160px;
		max-width: 160px;
	}

	.header-logo .logo {
		width: 160px;
		height: 160px;
	}

	.site-title {
		font-size: 1.15rem;
	}

	.site-description {
		font-size: 0.85rem;
	}

	.menu-normal .menu-toggle {
		display: inline-flex;
	}

	.menu-normal .header-navigation .nav-menu {
		display: none;
		flex-direction: column;
		align-items: flex-start;
		gap: 0;
		position: absolute;
		top: calc(100% + 0.5rem);
		right: 0;
		width: min(360px, calc(100vw - 2rem));
		padding: 1rem;
		background: rgba(238, 238, 238, 0.98);
		box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
	}

	.menu-normal .header-navigation.toggled .nav-menu {
		display: flex;
	}

	.menu-normal .header-navigation .nav-menu > li {
		width: 100%;
	}

	.menu-normal .header-navigation .nav-menu > li > a {
		width: 100%;
		padding: 0.8rem 0;
		border-bottom: 1px solid var(--xc-border);
	}

	.menu-normal .header-navigation ul ul {
		position: static;
		left: auto;
		display: block;
		min-width: 100%;
		padding: 0.25rem 0 0.75rem 1rem;
		box-shadow: none;
		background: transparent;
	}

	.menu-normal .header-navigation ul li:hover > ul,
	.menu-normal .header-navigation ul li.focus > ul {
		left: auto;
	}
}

@media (max-width: 576px) {
	#masthead {
		padding: 0.75rem 1rem;
		gap: 0.75rem;
	}

	.site-branding {
		align-items: center;
	}

	.site-identity {
		display: none;
	}

	#masthead.is-sticky .header-logo .custom-logo {
		height: 100px;
		max-width: 100px;
	}

	#masthead.is-sticky .header-logo .logo {
		width: 100px;
		height: 100px;
	}
}

/* -------------------------------------------------------------
   Breadcrumbs
------------------------------------------------------------- */

.breadcrumbs {
	display: block;
	margin: 0 0 2rem;
	padding: 0 0 0.75rem;
	border-bottom: 1px solid var(--xc-text-soft);
	font-size: 0.95rem;
}

.breadcrumbs nav,
.breadcrumbs ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

.breadcrumbs li {
	display: inline-block;
	vertical-align: middle;
}

.breadcrumbs li + li::before {
	content: "/";
	margin: 0 0.5rem;
	color: #666;
}

/* -------------------------------------------------------------
   Posts / pages / archives
------------------------------------------------------------- */

.post,
.page {
	margin: 0 0 2rem;
}

.page-header {
	margin: 0 0 2rem;
}

.archive .page-header {
	padding: 1rem 0;
}

.archive .page-title,
.search .page-title {
	margin: 0;
	padding: 0;
	font-size: 1.2rem;
	line-height: 1.2;
}

.archive-description {
	margin-top: 1rem;
}

.entry-title {
	margin: 0 0 1rem;
}

.archive .entry-title {
	font-size: 1.7rem;
	padding: 0.5rem 0;
	margin: 0.5rem 0 1rem;
	border-top: 1px solid var(--xc-white);
	border-bottom: 1px solid var(--xc-white);
}

.page-content,
.entry-content,
.entry-summary {
	margin-top: 0rem;
}

.entry-meta,
.entry-footer {
	font-size: 0.95rem;
}

.post-thumbnail {
	display: block;
	width: 100%;
	overflow: hidden;
}

.post-thumbnail img {
	display: block;
	width: 100%;
	transition: transform var(--xc-transition), opacity var(--xc-transition);
}

.post-thumbnail:hover img {
	transform: scale(1.02);
}

.all-post {
	display: inline-block;
	vertical-align: top;
	width: calc(33.333% - 2rem);
	margin: 1rem;
	text-align: left;
}

@media (max-width: 991px) {
	.all-post {
		width: calc(50% - 2rem);
	}
}

@media (max-width: 576px) {
	.all-post {
		display: block;
		width: 100%;
		margin: 0 0 2rem;
		padding: 0;
	}
}

.page-links {
	clear: both;
	margin: 0 0 1.5rem;
}

/* -------------------------------------------------------------
   404 / search
------------------------------------------------------------- */

.error-404 {
	text-align: center;
}

.error-404 .page-header {
	margin: 0;
	padding: 0;
}

.error-404 .titulo,
.error-404 .page-title {
	font-size: clamp(3rem, 8vw, 6rem);
}

.error-404 .numero {
	margin: 0;
	font-size: clamp(4rem, 12vw, 10rem);
	line-height: 1;
}

.error-404 .page-content {
	margin: 1rem auto 3rem;
}

.search-form {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
}

.search-form label {
	flex: 1 1 240px;
	margin: 0;
}

.search-form .search-field {
	width: 100%;
}

/* -------------------------------------------------------------
   Navigation between posts / pagination
------------------------------------------------------------- */

.posts-navigation,
.post-navigation,
.comment-navigation,
.navigation.pagination {
	margin: 2rem 0;
}

.posts-navigation .nav-links,
.post-navigation .nav-links,
.comment-navigation .nav-links,
.navigation.pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1rem;
}

.post-navigation .nav-previous,
.post-navigation .nav-next,
.posts-navigation .nav-previous,
.posts-navigation .nav-next,
.comment-navigation .nav-previous,
.comment-navigation .nav-next {
	flex: 1 1 45%;
}

.post-navigation .nav-next,
.posts-navigation .nav-next,
.comment-navigation .nav-next {
	text-align: right;
}

.page-numbers {
	display: inline-block;
	padding: 0.4rem 0.7rem;
}

.page-numbers.current {
	font-family: 'Hbold', sans-serif;
}

/* -------------------------------------------------------------
   Comments
------------------------------------------------------------- */

.comments-area {
	margin-top: 3rem;
}

.comment-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.comment-list li {
	margin-bottom: 1.5rem;
}

.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

.comment-form input,
.comment-form textarea {
	margin-bottom: 1rem;
}

/* -------------------------------------------------------------
   Widgets / sidebar
------------------------------------------------------------- */

.widget-area {
	margin-top: 2rem;
}

.widget {
	margin: 0 0 1.5rem;
}

.widget-title {
	margin-bottom: 0.75rem;
	font-size: 1.2rem;
}

.widget select {
	max-width: 100%;
}

/* -------------------------------------------------------------
   Media / captions / galleries
------------------------------------------------------------- */

.wp-smiley {
	border: 0;
	margin: 0;
	padding: 0;
}

.custom-logo-link {
	display: inline-block;
}

.wp-caption {
	max-width: 100%;
	margin-bottom: 1.5rem;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption-text {
	margin-top: 0.75rem;
	text-align: center;
}

.gallery {
	display: grid;
	grid-gap: 1.5rem;
	margin-bottom: 1.5rem;
}

.gallery-item {
	display: inline-block;
	width: 100%;
	text-align: center;
}

.gallery-columns-2 { grid-template-columns: repeat(2, 1fr); }
.gallery-columns-3 { grid-template-columns: repeat(3, 1fr); }
.gallery-columns-4 { grid-template-columns: repeat(4, 1fr); }
.gallery-columns-5 { grid-template-columns: repeat(5, 1fr); }
.gallery-columns-6 { grid-template-columns: repeat(6, 1fr); }
.gallery-columns-7 { grid-template-columns: repeat(7, 1fr); }
.gallery-columns-8 { grid-template-columns: repeat(8, 1fr); }
.gallery-columns-9 { grid-template-columns: repeat(9, 1fr); }

.gallery-caption {
	display: block;
}

/* -------------------------------------------------------------
   Footer
------------------------------------------------------------- */

.site-footer {
	margin-top: 3rem;
	padding: 3rem 1rem 2rem;
	text-align: center;
	background: transparent;
}

.footer-navigation {
	margin: 0 0 2rem;
}

.footer-navigation ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem 1.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer-navigation a {
	font-size: 1rem;
}

.contacto {
	max-width: 900px;
	margin: 0 auto 2rem;
	font-style: normal;
	line-height: 1.2;
}

.contacto > div {
	margin-bottom: 0.25rem;
}

.contacto a,
.contacto div,
.contacto p {
	line-height: 1.2;
	word-break: break-word;
}

.social {
	padding: 0.5rem 0 2rem;
}

.social a {
	display: inline-block;
	vertical-align: middle;
	margin: 0 0.2rem;
}

.socialicon {
	display: inline-block;
	width: 50px;
	height: 50px;
	background: url(img/socialicons.svg) no-repeat;
	background-size: 250px 100px;
	background-repeat: no-repeat;
	transition: transform var(--xc-transition), opacity var(--xc-transition), background-position var(--xc-transition);
}

.social a:hover .socialicon {
	transform: translateY(-2px);
}

.iconlinkedin { background-position: 0 0; }
.iconlinkedin:hover { background-position: 0 -50px; }

.iconinstagram { background-position: -50px 0; }
.iconinstagram:hover { background-position: -50px -50px; }

.iconx { background-position: -100px 0; }
.iconx:hover { background-position: -100px -50px; }

.iconfacebook { background-position: -150px 0; }
.iconfacebook:hover { background-position: -150px -50px; }

.iconyoutube { background-position: -200px 0; }
.iconyoutube:hover { background-position: -200px -50px; }

.footer-logo-container {
	max-width: 980px;
	margin: 0 auto 2rem;
}

.footer-logo {
	display: inline-block;
	vertical-align: middle;
	margin-bottom: 1rem;
}

.footer-logo .logo {
	display: block;
	width: 200px;
	height: 100px;
	background: url(img/logo.svg) no-repeat center center / contain;
}

.footer-logos {
	display: block;
	margin: 0 auto;
}

.footer-logos a {
	display: inline-block;
	vertical-align: middle;
	margin: 0;
	padding: 0;
}

.footer-logos img {
	width: auto;
	height: auto;
	max-width: 180px;
	max-height: 90px;
	margin: 0.5rem;
	filter: grayscale(100%);
	transition: filter var(--xc-transition), opacity var(--xc-transition), transform var(--xc-transition);
}

.footer-logos img:hover {
	filter: grayscale(0);
	transform: translateY(-2px);
}

.ayudas {
	width: 100%;
	max-width: 1080px;
	margin: 0 auto 1rem;
	padding: 1rem 0;
}

.ayudas .logo-pie,
.ayudas .texto-pie {
	display: inline-flex;
	vertical-align: middle;
	padding: 1rem;
}

.ayudas .logo-pie {
	width: 30%;
}

.ayudas .texto-pie {
	width: 60%;
	text-align: left;
}

@media (max-width: 767px) {
	.ayudas .logo-pie,
	.ayudas .texto-pie {
		display: block;
		width: 100%;
		text-align: center;
		padding: 0.75rem 0;
	}
}

/* -------------------------------------------------------------
   Utilities
------------------------------------------------------------- */

.white {
	color: var(--xc-bg);
}

.shadow {
	text-shadow: 0 0 0.2em var(--xc-text);
}

.sticky {
	display: block;
}

.updated:not(.published) {
	display: none;
}

.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

.infinity-end.neverending .site-footer {
	display: block;
}

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

.screen-reader-text:focus {
	top: 5px;
	left: 5px;
	z-index: 100000;
	display: block;
	width: auto;
	height: auto;
	padding: 15px 23px 14px;
	margin: 0;
	clip: auto !important;
	clip-path: none;
	background-color: #f1f1f1;
	color: #21759b;
	text-decoration: none;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: normal;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
}

#primary[tabindex="-1"]:focus {
	outline: 0;
}

.alignleft {
	float: left;
	margin-right: 1.5rem;
	margin-bottom: 1.5rem;
}

.alignright {
	float: right;
	margin-left: 1.5rem;
	margin-bottom: 1.5rem;
}

.aligncenter {
	clear: both;
	display: block;
	margin-right: auto;
	margin-bottom: 1.5rem;
	margin-left: auto;
}

/* Related posts */

.xc-related-posts {
	margin-top: 3rem;
}

.xc-related-title {
	margin-bottom: 1.5rem;
}

.xc-related-grid {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	gap: 1.5rem;
}

@media (min-width: 768px) {
	.xc-related-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

.xc-related-thumb img {
	width: 100%;
	display: block;
}

.xc-related-post-title {
	margin-top: 0.75rem;
	font-size: 1.1rem;
	line-height: 1.3;
}

/* -------------------------------------------------------------
   Blog / Archive GRID (Customizer)
------------------------------------------------------------- */

/* Desktop */
@media (min-width: 992px) {

	.xc-blog-grid .site-main {
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap: 2rem;
	}

	.xc-blog-grid.xc-blog-cols-2 .site-main {
		grid-template-columns: repeat(2, 1fr);
	}

	.xc-blog-grid.xc-blog-cols-3 .site-main {
		grid-template-columns: repeat(3, 1fr);
	}

	.xc-blog-grid.xc-blog-cols-4 .site-main {
		grid-template-columns: repeat(4, 1fr);
	}

	.xc-blog-grid .post,
	.xc-blog-grid .page {
		margin: 0;
	}

	.xc-blog-grid .page-header,
	.xc-blog-grid .xc-breadcrumbs-wrap,
	.xc-blog-grid .navigation.pagination,
	.xc-blog-grid .posts-navigation {
		grid-column: 1 / -1;
	}
}

/* Tablet */
@media (min-width: 576px) and (max-width: 991px) {

	.xc-blog-grid .site-main {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 2rem;
	}

	.xc-blog-grid .page-header,
	.xc-blog-grid .xc-breadcrumbs-wrap,
	.xc-blog-grid .navigation.pagination,
	.xc-blog-grid .posts-navigation {
		grid-column: 1 / -1;
	}
}

/* Mobile */
@media (max-width: 575px) {

	.xc-blog-grid .site-main {
		display: block;
	}
}

/* Fix antiguo sistema de columnas */
.xc-blog-grid .all-post {
	width: 100% !important;
	margin: 0;
}

/* Mejora visual */
.xc-blog-grid .post {
	display: flex;
	flex-direction: column;
}

/* -------------------------------------------------------------
   Blog / Archive GRID Cards
------------------------------------------------------------- */

.xc-blog-grid .post,
.xc-blog-grid .page {
	background: transparent;
	border: 0;
	padding: 0;
	transition: none;
}

.xc-blog-grid .post:hover,
.xc-blog-grid .page:hover {
	transform: none;
	box-shadow: none;
	border-color: transparent;
}

.xc-blog-grid .post-content {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.xc-blog-grid .post-thumbnail,
.xc-blog-grid .post-thumbnail a {
	display: block;
	margin: 0 0 1rem;
}

.xc-blog-grid .post-thumbnail {
	overflow: hidden;
}

.xc-blog-grid .post-thumbnail img {
	display: block;
	width: 100%;
	transition: transform 0.45s ease;
}

.xc-blog-grid .post:hover .post-thumbnail img,
.xc-blog-grid .page:hover .post-thumbnail img {
	transform: scale(1.04);
}

.xc-blog-grid .entry-header {
	margin: 0;
}

.xc-blog-grid .entry-title {
	margin: 0 0 0.75rem;
	font-size: 2.5rem;
	line-height: 1;
	padding: 0;
	border: 0;
}

.xc-blog-grid .entry-meta {
	margin-bottom: 0.75rem;
	font-size: 0.9rem;
	line-height: 1.4;
}

.xc-blog-grid .entry-content,
.xc-blog-grid .entry-summary {
	margin-top: 0;
	flex: 1 1 auto;
}

.xc-blog-grid .entry-content p:last-child,
.xc-blog-grid .entry-summary p:last-child {
	margin-bottom: 0;
}

.xc-blog-grid .entry-footer {
	margin-top: 1rem;
	padding-top: 0.75rem;
	border-top: 1px solid var(--xc-border);
	font-size: 0.9rem;
}

.xc-blog-grid .entry-footer span {
	display: inline-block;
	margin-right: 0.75rem;
	margin-bottom: 0.35rem;
	font-weight: 600;
}

.xc-blog-grid .page-header {
	margin-bottom: 0.5rem;
}

.xc-blog-grid .page-header + .post,
.xc-blog-grid .page-header + .page {
	margin-top: 0;
}

/* -------------------------------------------------------------
   GLightbox controls
------------------------------------------------------------- */

.glightbox-container button {
	all: unset;
}

.glightbox-clean .gclose,
.glightbox-clean .gnext,
.glightbox-clean .gprev {
	position: absolute;
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	opacity: 1 !important;
	background: rgba(0, 0, 0, 0.35);
	border: 0;
	box-shadow: none;
	color: #ffffff;
	cursor: pointer;
	z-index: 99999;
}

.glightbox-clean .gclose {
	top: 1rem;
	right: 1rem;
}

.glightbox-clean .gnext,
.glightbox-clean .gprev {
	top: 50%;
	transform: translateY(-50%);
}

.glightbox-clean .gprev {
	left: 1rem;
}

.glightbox-clean .gnext {
	right: 1rem;
}

.glightbox-clean .gclose svg,
.glightbox-clean .gnext svg,
.glightbox-clean .gprev svg {
	display: block;
	width: 22px;
	height: 22px;
	fill: #ffffff;
	stroke: #ffffff;
}

.glightbox-clean .gclose:hover,
.glightbox-clean .gnext:hover,
.glightbox-clean .gprev:hover {
	background: rgba(0, 0, 0, 0.55);
	color: #ffffff;
}

.glightbox-container .gslider,
.glightbox-container .gslide-media,
.glightbox-container .gslide-image {
	overflow: visible;
}

@media (max-width: 767px) {
	.glightbox-clean .gclose,
	.glightbox-clean .gnext,
	.glightbox-clean .gprev {
		width: 42px;
		height: 42px;
	}
}

/* Flechas navegación (global) */

.post-navigation a {
	position: relative;
	display: inline-block;
}

.post-navigation .nav-previous a::before,
.post-navigation .nav-next a::after {
	content: "";
	position: absolute;
	top: 50%;
	width: 10px;
	height: 10px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
}

.post-navigation .nav-previous a::before {
	left: -18px;
	transform: translateY(-50%) rotate(-135deg);
}

.post-navigation .nav-next a::after {
	right: -18px;
	transform: translateY(-50%) rotate(45deg);
}

/* -------------------------------------------------------------
   Post navigation
------------------------------------------------------------- */

.post-navigation {
	margin-top: 3rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--xc-border);
}

.post-navigation .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	justify-content: space-between;
}

.post-navigation .nav-previous,
.post-navigation .nav-next {
	flex: 1 1 45%;
}

.post-navigation .nav-next {
	text-align: right;
}

.post-navigation .nav-title {
	display: block;
	font-family: 'Hbold', sans-serif;
	font-size: 1rem;
	line-height: 1.3;
	color: var(--xc-text);
}

/* Hover */
.post-navigation a:hover .nav-title,
.post-navigation a:focus .nav-title {
	color: var(--xc-text-soft);
}
@media (max-width: 767px) {

	.post-navigation .nav-links {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	.post-navigation .nav-previous,
	.post-navigation .nav-next {
		flex: 0 0 auto;
	}

	/* Ocultar texto */
	.post-navigation .nav-title,
	.post-navigation .screen-reader-text {
		display: none;
	}

	/* Botones */
	.post-navigation a {
		display: block;
		width: 48px;
		height: 48px;
	}

	/* Flechas centradas */
	.post-navigation .nav-previous a::before,
	.post-navigation .nav-next a::after {
		left: 50%;
		right: auto;
		transform: translate(-50%, -50%) rotate(-135deg);
	}

	.post-navigation .nav-next a::after {
		transform: translate(-50%, -50%) rotate(45deg);
	}
}