/*
Theme Name: Pemsa
Author: Bisiesto
Author URI: https://bisiesto.es/
Description: Plantilla de WordPress para Pemsa
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bisiesto
*/
/* Fuentes */

/* exo-2-regular - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Exo 2';
	font-style: normal;
	font-weight: 500;
	src: url('./recursos/fuentes/exo-2-v24-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

@font-face {
	font-family: "Inter";
	src: url("./recursos/fuentes/Inter_28pt-SemiBold.ttf") format("truetype");
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Inter";
	src: url("./recursos/fuentes/Inter_28pt-SemiBoldItalic.ttf") format("truetype");
	font-weight: 600;
	font-style: italic;
	font-display: swap;
}
@font-face {
	font-family: "Inter";
	src: url("./recursos/fuentes/Inter_28pt-Light.ttf") format("truetype");
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Inter";
	src: url("./recursos/fuentes/Inter_28pt-LightItalic.ttf") format("truetype");
	font-weight: 300;
	font-style: italic;
	font-display: swap;
}
/* Colores estilo claro */
::backdrop,
:root {
	--sans-font: -apple-system,BlinkMacSystemFont,"Avenir Next",Avenir,"Nimbus Sans L",Roboto,"Noto Sans","Segoe UI",Arial,Helvetica,"Helvetica Neue",sans-serif;
	--mono-font: Consolas,Menlo,Monaco,"Andale Mono","Ubuntu Mono",monospace;
	--standard-border-radius: 5px;
	--bg: #fff;
	--accent-bg: #E8E8E8;
	--text: #0B0B0B;
	--text-light: #585858;
	--border: #898EA4;
	--accent: #0d47a1;
	--code: #d81b60;
	--preformatted: #444;
	--marked: #ffdd33;
	--disabled: #efefef;
	--red: #FF0000;
	--black: #0B0B0B;
	--white: #FFFFFF;
	--grey-med: #E8E8E8;
	--grey-type-menu: #D1D1D1;
	--grey: #6E6E6E;
	--grey-dark: #312C2C;
	--grey-bg-menu: #222222;
	--font-encabezado: "Exo 2";
	--font-texto: "Inter";

}

/* Colores estilo oscuro */
@media (prefers-color-scheme: dark){
	::backdrop, :root {
		color-scheme: dark;
		--bg: #fff;
		--accent-bg: #FF0000;
		--text: #0B0B0B;
		--text-light: #585858;
	}
}

/* Medidas */
::backdrop,
:root {
	--acotado-pequeño: 1280px;
	--acotado-grande: 1720px;
}
/* --wp--style--global--content-size: 840px; */
/* --wp--style--global--wide-size: 1100px; */
body {
	min-height: 100vh;
	scroll-behavior: smooth;
	text-rendering: optimizeSpeed;
	display: block;
	overflow-x: hidden;
}
/* General */
html{
	background: var(--white);
	font-family: "Inter";
	font-size: 18px;
	line-height: 24px;
}
.alignright {
	float:right;
}
.alignleft {
	float: left;
}
.alignfull{
	width: 100%;
}
.acotado-peque { width: var(--acotado-pequeño); margin: 0 auto;}
.acotado-grande { width: var(--acotado-grande); margin: 0 auto;}
section, p {
	margin:0;
	padding: 0;
}
h1,h2,h3,h4,h5,h6{
	padding: 0;
}
.main-general section h2:first-child {
	margin-top: 0;
}
h1, .h1{
	font-family: "Exo 2";
	font-size: 72px;
	line-height: 76px;
	font-weight: 500;
	margin: 0 0 12px 0;
}
h2, .h2{
	font-family: "Exo 2";
	font-size: 56px;
	line-height: 60px;
	font-weight: 500;
	margin: 0;
}
h3, .h3{
	font-family: "Exo 2";
	font-size: 32px;
	line-height: 38px;
	margin: 0;
}
h4, .h4{
	font-family: "Exo 2";
	font-size: 24px;
	line-height: 30px;
	font-weight: 500;
	margin: 0;
}
h5, .h5{
	font-family: "Exo 2";
	font-size: 18px;
	line-height: 24px;
	margin: 0;
}
h6, .h6{
	font-family: "Exo 2";
	font-size: 14px;
	line-height: 21px;
	margin: 0 0 16px 0;
}
.texto{
	font-size: 18px;
	line-height: 24px;
	font-weight: 400;
	margin: 0;
}
.caption{
	font-size: 14px;
	line-height: 18px;
	margin: 0 0 12px 0;
}
.btn{
	text-decoration: none;
	font-family: var(--font-encabezado);
	font-size: 18px;
	display: flex;
	gap: 4px;
	padding: 16px 24px;
	color: var(--black);
	background-color: var(--white);
	border-radius: 40px;
	width: fit-content;
	align-items: center;
}
.cabecera-cta .btn-pemsapro{
	display: flex;
	padding: 16px 24px;
	align-items: center;
	color: var(--white);
	border-radius: 40px;
	background: rgba(255, 255, 255, 0.30);
	backdrop-filter: blur(15px);
	font-family: var(--font-encabezado);
	font-size: 18px;
	line-height: 24px;
	width: fit-content;
	column-gap: 4px;
}
.btn::after, .link:not(.navbar-nav a)::after, .link-white::after{
	content: url("recursos/img/arrow-up-right-red.svg");
	width: 24px;
	height: 24px;
	position: relative;
}
.btn-pemsapro::after{
	content: url("recursos/img/arrow-up-right-white.svg");
	width: 24px;
	height: 24px;
	position: relative;
}

.btn-primary{
	border-color: 1px solid var(--white);
}
.btn-primary:hover{
	color: var(--white);
	background-color: var(--red);
}
.btn:hover::after, .btn-pemsapro:hover::after {
	content: url("recursos/img/arrow-right-white.svg");
}
.btn-secondary{
	border: 1px solid var(--red);
}
.btn-secondary:hover::after{
	content: url("recursos/img/arrow-right-red.svg") !important;
}
.btn:disabled{
	opacity: 0.4;
	background: var(--white);
}
.link {
	font-family: var(--font-encabezado);
	font-size: 18px;
	line-height: 24px;
	font-weight: 500;
	text-decoration: none;
	color: var(--black);
	position: relative;
	display: flex;
	align-items: center;
	gap: 4px;
}
.link::before, .link-white::before, .sub-menu a::before {
	content: '';
	position: absolute;
	bottom: -9px;
	left: 0;
	height: 2px;
	background-color: var(--red);
	z-index: 4;
	transition: width .6s ease-in-out;
	width: 13px;
}
.link:hover::before,  .link-white:hover::before, .sub-menu a:hover::before {
	width: 100%;
}
.link:hover::after:not(.navbar-nav a),  .link-white:hover::after {
	content: url("recursos/img/arrow-right-red.svg");
	width: 24px;
	height: 24px;
	position: relative;
}
.link-white {
	font-family: var(--font-encabezado);
	font-size: 18px;
	line-height: 24px;
	font-weight: 500;
	text-decoration: none;
	color: var(--white);
	position: relative;
}
a,
a:link,
a:hover,
a:visited,
a:active{
	text-decoration: none;
	color: var(--text);
}
img {
	border-radius: 0;
}
/* Fin General */
section{
	border: 0;
	margin: 0;
	padding: 0;
}
.has-text-align-center{
	text-align: center;
}
/*Cabecera*/
.cabecera-general{
	background-color: transparent;
	z-index: 2;
	position: absolute;
	width: 100%;
	border-bottom: none;
}
.cabecera-logo a {
	display: flex;
	align-items: center;
}
.cabecera-logo a img{
	max-width: 145px;
}
.single-post .cabecera-general, .single-proyectos .cabecera-general {
	background-color: var(--black);
	height: 56px;
}
.single .cabecera-general {
	background-color: var(--black);
	height: 79px;
}
.interior-cabecera-general{
	display: flex;
	max-width: var(--acotado-grande);
	margin: 0 auto;
	justify-content: space-between;
	align-items: center;
	column-gap: 40px;
	height: 80px;
	padding-left: 20px;
	padding-right: 20px;
}
.cabecera-menu{
	width: 100%;
}
.cabecera-menu a {
	color: var(--white);
}
ul.nav.navbar-nav {
	display: flex;
	align-items: center;
	gap: 12px;
	list-style-type: none;
	justify-content: flex-end;
	position: relative;
}
.navbar-nav li {
	font-family: var(--font-encabezado);
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: 24px;
	display: flex;
	padding: 10px 12px;
	align-items: center;
	/*gap: 4px;*/
	position: relative;
	text-align: left;
	color: var(--grey-type-menu);
}
.main-general {
	padding-top: 0;
}
.sin-cabecera-foto {
	position: relative;
	background-color: var(--black);
	padding-bottom: 0;
}
.page-template-page-sin-cabecera{
	background-color: var(--black);
}
.contenido-page {
	background-color: var(--white);
}
/*Gravity*/
.form-contacto_wrapper .gform_title {
	display: none;
}
.gform-theme--foundation form .gform_fields, .wpcf7-form {
	row-gap: 12px;
	display: flex;
	flex-direction: column;
	color: var(--black);
	font-size: 16px;
}
.gform-theme--foundation form .gform-field-label, .form-label {
	color: var(--grey);
	font-family: var(--font-encabezado);
	font-size: 18px;
	font-weight: 500;
	line-height: 24px;
	display: flex;
	flex-direction: column;
	row-gap: 12px;
}
.gform-theme--foundation form .gfield_consent_label, .span-condiciones {
	color: var(--black);
	font-family: var(--font-texto);
	font-size: 18px;
	font-weight: 400;
	line-height: 24px;
	border-radius: 0;
	text-align: left;
}
.wpcf7-form input, .wpcf7-form select, .wpcf7-form textarea, form select option {
	font-weight: 400 !important;
	color: var(--grey);
	border-radius: 0;
	border-color: var(--grey);
}
.wpcf7-form .form-label input,.wpcf7-form select, .wpcf7-form textarea{
	width: 100%;
}
.gform-theme--foundation form .gfield_consent_label a, .span-condiciones a {
	color: var(--black);
	font-family: var(--font-texto);
	font-size: 18px;
	font-weight: 700;
	line-height: 24px;
}
.gform-theme--foundation form .gfield input, .gform-theme--foundation form .gfield textarea {
	color: var(--grey);
	font-family: var(--font-texto);
	font-size: 18px;
	font-weight: 400;
	line-height: 24px;
	border-radius: 0;
	border: 1px solid var(--grey);
}
.wpcf7-form form select {
	color: var(--grey);
	font-family: var(--font-texto);
	font-size: 18px;
	font-weight: 400;
	border-radius: 0;
	border: 1px solid var(--grey);
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-image: none;
}
.wpcf7-form select::after{
	content: '';
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	width: 16px;
	height: 16px;
	background-image: url("./recursos/img/select.svg");
	background-size: contain;
	background-repeat: no-repeat;
}
.wpcf7-form select:focus {
	outline: none;
	border-color: var(--black); /* Cambia el color del borde al enfocar */
}
.wpcf7 form input[type="file"] {
	font-size: 14px;
	line-height: 18px;
	font-weight: 500;
	color: var(--Grey, #6E6E6E);
	text-align: center;
}
input[type="file"]::file-selector-button {
	font-size: 18px;
	line-height: 24px;
	font-weight: 400;
	padding: 0.2em 0.4em;
	background-color: var(--grey-med);
	border:none;
}

.gform-theme--foundation form input[type=submit],.wpcf7 form input[type=submit]{
	text-decoration: none;
	font-family: var(--font-encabezado);
	font-size: 18px;
	display: flex;
	gap: 4px;
	padding: 16px 24px;
	color: var(--black);
	background-color: var(--white);
	border-radius: 40px;
	width: fit-content;
	align-items: center;
	border: 1px solid var(--red) ;
	filter: none;
}
.wpcf7 form input[type=submit]:hover,.wpcf7 input[type=submit]:enabled:hover{
	border: 1px solid var(--black);
	filter: none;
}
.wpcf7-list-item {
	margin-left: 0;
}
input:focus {
	outline: none;
	border: 1px solid var(--grey-dark);
}
.wpcf7 .wpcf7-spinner {
	display: none;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
	border-color: var(--red);
}
.fa-eye-slash {
	display: none !important;
}
.link-registrate{
	display: inline-block;
}
/*Card-proyecto*/
.main-general .grid-proyectos{
	padding: 48px 20px;
	color: var(--white);
	background-color: var(--black);
}
.contenedor-grid-proyectos{
	display: flex;
	flex-direction: column;
	gap: 24px;
	max-width: var(--acotado-grande);
	margin: 0 auto;
}

.grid-proyectos-grid{
	display: grid;
	grid-template-columns: repeat(3, minmax(auto, 1fr));
	gap: 20px;
	align-self: stretch;
	max-width: var(--acotado-grande);
}
.card-proyecto, .grid-noticias article{
	max-width: 560px;
	margin: 0;
	padding: 0;
	border-radius: 0;
	border: 1px solid var(--grey-med);
}
.info-proyecto {
	font-family: var(--font-encabezado);
	display: flex;
	padding: 20px;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	color: var(--white);
	z-index: 3;
	position: relative;
}
.info-proyecto a {
	color: var(--white);
	display: flex;
	column-gap:4px;
}
.imagen-proyecto img {
	height: 300px;
	object-fit: cover;
}
.contenedor-proyecto {
	max-width: 950px;
	margin: 0 auto;
	padding-bottom: 60px;
}
.contenedor-proyecto .wp-block-column {
	display: flex;
	flex-direction: column;
	row-gap: 24px;
}
.single-proyecto h2 {
	max-width: 950px;
	margin: 0 auto;
	padding-bottom: 24px;
}
.main-general .single-proyecto {
	padding: 116px 0 0 0;
}

/*Archive proyectos*/
.post-type-archive-proyectos {
	background-color: var(--black);
}
.post-type-archive-proyectos h2{
	color: var(--white);
}
/*Noticias*/
.grid-noticias{
	display: grid;
	grid-template-columns: repeat(3, minmax(auto, 1fr));
	align-items: center;
	max-width: var(--acotado-grande);
	column-gap: 20px;
	row-gap: 24px;
}
.grid-noticias article{
	min-height: 520px;
}
.card-proyecto, .grid-noticias article {
	max-width: 540px;
	margin: 0;
	padding: 0;
	border-radius: 0;
	/* border: 1px solid var(--grey-med); */
}
.noticias-info {
	display: flex;
	padding: 20px;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}
.info-post{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 260px;
	padding: 20px;
	align-items: flex-start;
}

.info-tit-fec{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	align-self: stretch;
}
a.titulo.h4:hover {
	text-decoration: underline;
}
.card-post img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.blog .imagen-post {
	aspect-ratio: 2;
}
.contenido-blog .cuerpo-page {
	margin: 0 auto;
	display: flex;
	max-width: var(--acotado-grande);
	padding: 60px 20px;
	flex-direction: column;
	gap: 24px;
}
.paginacion {
	min-width: 340px;
	display: flex;
	column-gap: 5px;
	justify-content: center;
	align-items: center;
}
.paginacion .page-numbers {
	display: flex;
	width: 40px;
	height: 40px;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 10px;
}
.paginacion .current {
	background-color: var(--red);
	color: var(--white);
}
.paginacion .prev, .paginacion .next {
	background-repeat: no-repeat;
	background-position: center;
	width: 24px;
	height: 24px;
	text-align: center;
	font-family: var(--font-encabezado);
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: 24px;
}
.paginacion .prev {
	background-image: url('./recursos/img/arrow-prev.svg');
}
.paginacion .next {
	background-image: url('./recursos/img/arrow-next.svg');
}
/*Entrada*/
.single-page .cuerpo-page{
	display: flex;
	align-items: flex-start;
	gap: 60px;
	max-width: 1407px;
	margin: 0 auto;
	padding: 116px 20px;
}
.contenedor-post{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
}
.single h2 {
	font-size: 40px;
}
.contenedor-sidebar {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
	min-width: 397px;
}
.post-tags,.recent-posts{
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.contenedor-tags{
	display: flex;
	align-items: flex-start;
	align-content: flex-start;
	gap: 10px;
	align-self: stretch;
	flex-wrap: wrap;
}
.contenedor-tags span {
	display: flex;
	padding: 10px 20px;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 10px;
	border: 1px solid var(--grey);
	background: var(--white);
	font-size: 20px;
	line-height: 26px;
}
article.item-card.card-post.recent-post-card {
	padding: 0;
	border: 1px solid var(--grey-med);
}
.post-content > * {
	padding-bottom: 24px;
}
/*Banner*/
body .banner{
	min-height: 452px;
	display: flex;
	justify-content: center;
	flex-direction: column;
	align-items: center;
	width: 100%;
	padding: 48px 20px;
	color: var(--white);
	position: relative;
}
.contenedor-banner-cta{
	text-align: center;
	background-position: center;
	background-repeat: no-repeat;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 356px;
	width: 100%;
	background-size: cover;
	max-width: var(--acotado-grande);
	margin: 0 auto;
	padding: 60px 20px;
	position: relative;
}
.contenedor-banner-cta:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--black);
	opacity: 40%;
}
.banner-cta-texto {
	max-width: 844px;
	display: flex;
	flex-direction: column;
	row-gap: 24px;
	align-items: center;
	z-index: 1;
	color: var(--white);
}
/*Footer*/
.footer-general{
	background-color: var(--black);
	color: var(--white);
	padding:0;
	margin: 0;
	border: none;
}
.footer-interior{
	display: flex;
	max-width: var(--acotado-grande);
	padding: 50px 20px 40px 20px;
	flex-direction: column;
	align-items: center;
	gap: 40px;
	margin: 0 auto;
}
.footer-arriba {
	display: flex;
	max-width: var(--acotado-grande);
	align-items: flex-start;
	align-self: stretch;
	justify-content: space-between;
	width: 100%;
}
.footer-arriba > div:not(.footer-logo):not(.footer-cta) {
	width: 20%;
}
.footer-logo, .footer-menu-pemsa, .footer-menu-post, .footer-menu-informacion {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.footer-logo{
	width: 20%;
	row-gap: 40px;
}
.footer-cta {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	width: 12%;
}
.listado-rrss {
	display: flex;
	align-items: flex-start;
	gap: 30px;
	padding: 0;
}
.listado-rrss img {
	max-width: 24px;
}
.footer-sec-tit, .footer-menu-post li {
	text-align: left;
}
.footer-menu-pemsa ul.nav.nav-menu,  .footer-menu-post ul.nav.nav-post, .footer-sec-tit{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	padding: 0;
}
.footer-general ul {
	list-style-type: none;
}
.footer-general ul a {
	color: var(--white);
}
.footer-arriba li a, .footer-sec-tit .texto, .footer-copy {
	font-family: var(--font-texto);
	font-size: 18px;
	font-weight: 400;
	line-height: 24px;
}
.footer-copy{
	display: flex;
	gap: 40px;
	width: 100%;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
}
.nav-legal {
	display: flex;
	justify-content: flex-end;
	align-items: flex-start;
	gap: 40px;
}
/*404 pÃ¡gina*/
.main-general .error404  {
	background-color: var(--black);
	display: flex;
	padding: 60px 0px;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 10px;
}
.contenido-404{
	text-align: center;
	display: flex;
	flex-direction: column;
	row-gap: 24px;
	max-width: 564px;
}
.titulo-404 {
	font-family: var(--font-encabezado);
	font-size: 140px;
	font-weight: 500;
	line-height: 225px;
	text-align: center;
	color: var(--red)
}
.texto-404{
	color: var(--white);
}
.error404 .contenedor-cta{
	justify-content: center;
	display: flex;
}
.contenido-page-legales{
	max-width: 750px;
	margin: 0 auto;
	padding: 60px 0;
}
.contenido-page-legales h2, .contenido-page-legales h3, .contenido-page-legales h4 {
	padding: 24px 0;
}
/*Menú*/
ul.sub-menu {
	display: none;
}
.menu-item-has-children:hover ul.sub-menu{
	display: flex;
	flex-direction: column;
	row-gap: 26px;
}
.navbar-nav li {
	align-items: flex-start;
	flex-direction: column;
}
.cabecera-cta{
	min-width: 165px;
}
.cabecera-menu-m {
	display: none;
}
.cabecera-general.fixed {
	background-color: var(--black);
	position: fixed;
	z-index: 10;
	top: 0;
	width: 100%;
	border-bottom: 0;
	text-align: center;
	padding: 0;
	transition: 0.6s ease-out
}

/*Card-video y videoblog*/

.card-proyecto .icono-abrir-video{
	position: absolute;
	width: 100%;
	bottom: 50%;
	left: 0;
	right: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 2;
}
.post-type-archive-videos .contenido-proyecto {
	position: relative;
}
.filtro-categorias {
	display: flex;
	align-items: flex-start;
	gap: 24px;
	align-self: stretch;
}
.filtro-categorias .categoria-btn{
	display: flex;
	padding: 20px;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	border: 1px solid var(--grey);
	background: var(--grey-dark);
	border-radius: 0;
	color: var(--white);
	align-self: stretch;
	justify-content: center;

}
.filtro-categorias .active, .filtro-categorias .categoria-btn:hover{
	border: 2px solid var(--red);
	background: rgba(255, 0, 0, 0.30);
}
.contenido-videoblog {
	background-color: var(--black);
}

.contenido-videoblog .cuerpo-page {
	margin: 0 auto;
	display: flex;
	max-width: var(--acotado-grande);
	padding: 60px 20px;
	flex-direction: column;
	gap: 24px;
}
.contenido-videoblog h2, .contenido-videoblog .paginacion .page-numbers, .categoria .h5 {
	color: var(--white);
	z-index: 1;
	position: relative;
}
.grid-videoblog-grid{
	display: grid;
	grid-template-columns: repeat(3, minmax(auto, 1fr));
	gap: 20px;
	align-self: stretch;
	max-width: var(--acotado-grande);
}
.card-video{
	border: none;
}
.contenido-video {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	min-height: 540px;
	display: flex;
	padding: 32px;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-start;
	flex: 1 0 0;
}
.titulo-video{
	color: var(--white);
	z-index: 1;
}
.post-type-archive-videos .contenido-proyecto:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--black);
	opacity: 30%;
	z-index: 1;
}
.post-type-archive .cabecera {
	background-repeat: no-repeat;
	background-size: cover;
	background-position-x: center;
	background-position-y: center;
	position: relative;
	padding: 0 20px 60px 20px;
	color: var(--white);
}
/* Modal */
.modal {
	position: fixed;
	z-index: 20;
	width: 100vw;
	height: 100vh;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.modal.open {
	visibility: visible;
	opacity: 1;
	transition-delay: 0s;
}
.modal-bg {
	position: absolute;
	z-index: 9;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.7);
}
.modal-container {
	position: relative;
	z-index: 10;
	background: var(--bg);
	padding: 64px;
	border-radius: 20px;
}
.modal-close {
	position: absolute;
	right: 24px;
	top: 24px;
	outline: none;
	appearance: none;
	color: var(--text);
	background: none;
	border: 0px;
	font-weight: bold;
	cursor: pointer;
}

/*Megamenú*/
.contenido-submenu.oculto, nav.oculto {
	display: none;
}
.interior-submenu, .sub-menu {
	position: absolute;
	top: 40px;
	right: -80%;
	width: auto;
	background-color: var(--black);
	color: #ffffff;
	display: flex;
	justify-content: center;
	margin-top: 5px;
	border: 1px solid var(--grey-dark);
	z-index: 1000;
	padding: 25px;
	align-items: flex-start;
	column-gap: 28px;
}
.megamenu-col-contenido{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 26px;
	text-align: left;
	min-width: 188px;
}
.interior-submenu span {
	color: var(--grey);
	font-family: var(--font-encabezado);
	font-size: 14px;
	font-style: normal;
	font-weight: 500;
	line-height: 18px;
}
.navbar-nav .sub-menu li {
	padding: 0;
}
.navbar-nav .item-megamenu, .navbar-nav .menu-item-has-children {
	display: flex;
	flex-direction: row;
}
.contenedor-idiomas-cta{
	display: flex;
	align-items: baseline;
	column-gap: 12px;
}

/* Flecha normal (cerrado) */
.item-megamenu::after,
.menu-item-has-children::after {
	content: url("recursos/img/arrow-down.svg");
	width: 24px;
	height: 24px;
	position: relative;
}
/* En escritorio, sigue funcionando con hover */
.item-megamenu:hover::after,
.menu-item-has-children:hover::after {
	content: url("recursos/img/arrow-up.svg");
}
/* switcher idioma */
.contenedor-switcher {
	position: relative;
	display: inline-block;
}
/* Estilo del select */
.contenedor-switcher select {
	appearance: none; /* Oculta el diseño por defecto */
	-webkit-appearance: none;
	-moz-appearance: none;

	background-color: transparent;
	background-image: none;
	color: var(--white);
	border: 1px solid var(--white); /* Borde blanco */
	padding: 4px 7px;
	font-size: 18px;
	font-weight: 400;
	line-height: 24px;
	cursor: pointer;
	outline: none;
	width: 64px;
	border-radius: 0;

}

/* Agregar una flecha personalizada */
.contenedor-switcher::after {
	content: url('recursos/img/arrow-down.svg');
	font-size: 14px;
	color: var(--white);
	position: absolute;
	right: 7px;
	top: 53%;
	transform: translateY(-50%);
	pointer-events: none; /* Para que no interfiera con el select */
}

/*Tablet*/ /*footer*/
@media only screen and (min-width: 769px)  and  (max-width: 990px) {
	.footer-arriba {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: repeat(3, 1fr);
		gap: 24px;
	}
	.footer-logo {
		grid-column: 1 / 3;
	}
	.footer-menu-pemsa, .footer-menu-post {
		grid-row: span 2 / span 2;
		grid-row-start: 2;
	}
	.footer-menu-informacion{
		grid-row: span 2 / span 2;
		grid-row-start: 4;
	}
	.footer-cta {
		grid-row: span 2 / span 2;
		grid-row-start: 4;
		align-items: flex-start;
	}
	.footer-general .footer-interior .footer-arriba > div, .footer-menu-pemsa nav, .footer-menu-post nav {
		width: 100%;
	}
	.footer-general .footer-arriba .footer-menu-pemsa  , .footer-general .footer-arriba .footer-menu-post {
		display: flex;
		flex-direction: column;
		row-gap: 16px;
	}
	.footer-general .footer-arriba .footer-menu-pemsa .nav-menu , .footer-general .footer-arriba .footer-menu-post .nav-post{
		display: grid;
		grid-template-columns: 1fr 1fr;
		justify-content: space-between;
		gap: 16px;
		margin: 0;
		text-align: left;
	}

}
/* Responsive */
@media only screen and (max-width: 768px) {
	h1, .h1{
		font-size: 36px;
		line-height: 42px;
		margin: 0;
	}
	h2, .h2{
		font-size: 28px;
		line-height: 34px;
		font-weight: 500;
		margin: 0;
	}
	h3, .h3{
		font-size: 24px;
		line-height: 30px;
	}
	h4, .h4{
		font-size: 20px;
		line-height: 26px;
		margin: 0;
	}
	h5, .h5{
		font-size: 18px;
		line-height: 24px;
	}
	h6, .h6{
		font-size: 14px;
		line-height: 21px;
	}
	body>footer {
		margin-top: 0;
	}
	.alignfull-mvl {
		width: 100%;
	}
	/*Card-proyecto*/
	.main-general .grid-proyectos{
		padding: 24px 16px;
	}
	.grid-proyectos-grid, .grid-videoblog-grid{
		grid-template-columns: repeat(1, minmax(auto, 1fr));
		gap: 20px;
	}
	.card-proyecto{
		max-width: 100%;
	}
	/*Noticias*/
	.grid-noticias {
		grid-template-columns: repeat(1, minmax(auto, 1fr));
		gap: 20px;
	}
	.grid-noticias article {
		max-width: 100%;
		min-height: 422px;
	}
	.contenido-blog .cuerpo-page {
		padding: 24px 16px;
		gap: 16px;
	}
	.info-post {
		justify-content: flex-start;
		min-height: 0;
		padding: 16px;
		align-items: flex-start;
		row-gap: 16px;
	}
	/*Entrada*/
	.single-page .cuerpo-page {
		flex-direction: column;
		max-width: 100%;
		padding: 80px 16px 24px 16px;
	}
	.contenedor-sidebar {
		min-width: 0;
	}
	/*Banner*/
	.cuerpo-page .banner{
		padding: 24px 16px;
	}
	/*Footer*/
	.footer-arriba{
		flex-direction: column;
		row-gap: 24px;
	}
	.footer-interior {
		padding: 24px 16px;
	}
	.footer-general .footer-interior .footer-arriba > div, .footer-menu-pemsa nav, .footer-menu-post nav {
		width: 100%;
	}
	.footer-cta {
		align-items: flex-start;
	}
	.footer-general .footer-arriba .footer-menu-pemsa .nav-menu , .footer-general .footer-arriba .footer-menu-post .nav-post{
		display: grid;
		grid-template-columns: 1fr 1fr;
		justify-content: space-between;
		gap: 16px;
		margin: 0;
		text-align: left;
	}
	.footer-general .footer-arriba .footer-menu-pemsa  , .footer-general .footer-arriba .footer-menu-post {
		display: flex;
		flex-direction: column;
		row-gap: 16px;
	}
	.footer-arriba .nav-menu li {
		display: flex;
	}
	.footer-copy {
		display: flex;
		gap: 16px;
		flex-direction: column-reverse;
		align-items: flex-start;
	}
	.nav-legal {
		gap: 16px;
		flex-direction: column;
		margin: 0;
		padding: 0;
	}
	/*404 pÃ¡gina*/
	.main-general .error404 {
		padding: 24px 16px;
	}
	.titulo-404{
		font-size: 140px;
	}
	.contenido-page-legales{
		padding: 24px 16px;
	}

	/*Videoblog*/
	.contenido-videoblog .cuerpo-page {
		padding: 24px 16px;
	}
	.filtro-categorias {
		display: flex;
		overflow-x: auto;
		white-space: nowrap;
		gap: 10px;
		padding-bottom: 10px;
		-webkit-overflow-scrolling: touch;
	}
	.contenido-video {
		min-height: 420px;
	}
	.post-type-archive .cabecera {
		padding: 0 16px 48px 16px;
	}

	/* Ocultar la barra de desplazamiento en algunos navegadores */
	.filtro-categorias::-webkit-scrollbar {
		display: none;
	}

	/* Asegurar que los botones tengan un tamaño mínimo */
	.categoria-btn {
		flex-shrink: 0;
		padding: 10px 15px;
	}
	.modal-container, .modal-container iframe {
		width: 100%;
	}
	.modal-container {
		padding: 44px;
	}

}

/*Menú móvil + tablet*/

@media only screen and (max-width: 1196px) {
	/*Megamenú*/
	.cabecera-menu {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 1;
		padding-left: 0;
		padding-top: 56px;
		transition: opacity 1s ease-out;
		background-color: var(--black);
	}

	.cabecera-menu.is-open {
		display: block;
		-webkit-animation: fadeIn 0.3s;
		animation: fadeIn 0.3s;
		height: 100vh;
		overflow-y: scroll;
	}

	.is-open .cabecera-general {
		height: 100vh;
	}

	.cabecera-menu.is-open .navbar-nav {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		padding-left: 16px;
		padding-right: 16px;
		background-color: var(--black);
		row-gap: 12px;
	}

	.navbar-nav li {
		padding: 16px 12px;
	}

	.navbar-nav .interior-submenu, .navbar-nav .sub-menu {
		top: 50px;
	}

	.cabecera-menu .menu-principal a, .menu-principal a:visited {
		color: var(--white);
	}

	.interior-cabecera-general {
		align-items: center;
		padding: 12px 16px;
		margin: 0;
		width: 100%;
	}

	.cabecera-general {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	.cabecera-logo {
		position: relative;
		z-index: 2;
	}
	.cabecera-menu.is-open .contenedor-switcher{
		position: relative;
		display: flex;
		padding-left: 16px;
		padding-right: 16px;
		margin-top: 24px;
	}
	.cabecera-menu.is-open .contenedor-switcher select {
		width: 64px;
	}
	.cabecera-menu.is-open .contenedor-switcher::after {
		right: auto;
		top: 53%;
		left: 61px;
	}
	/* Flecha cuando el submenú está abierto en móvil */
	.submenu-abierto::after {
		content: url("recursos/img/arrow-up.svg") !important;
	}

	.submenu-cerrado::after {
		content: url("recursos/img/arrow-down.svg") !important;
	}

	/*Harmburguesa*/
	.hamburger {
		position: relative;
		top: 0;
		left: 0;
		display: block;
		width: 24px;
		height: 24px;
		z-index: 2;
	}

	.hamburger .hamburger-item:nth-child(2) {
		width: 16px;
		margin: 0;
	}

	.hamburger.is-open .hamburger-item:nth-child(1) {
		transform: translateY(6px) rotate(45deg);
	}

	.hamburger.is-open .hamburger-item:nth-child(2) {
		transform: translateX(6px);
		opacity: 0;
		margin-top: 0;
	}

	.hamburger.is-open .hamburger-item:nth-child(3) {
		transform: translateY(6px) rotate(-45deg);
		margin-top: 0;
	}

	.hamburger .hamburger-item:nth-child(2), .hamburger .hamburger-item:nth-child(3) {
		margin-top: 1px;
	}

	.hamburger .hamburger-item {
		display: block;
		width: 24px;
		height: 2px;
		left: 0;
		right: 0;
		margin: auto;
		transition: 0.2s ease-out;
		background-color: var(--white);
	}

	.hamburger.is-open .hamburger-item {
		position: absolute;
		height: 2px;
	}

	.hamburger-item:nth-child(2) {
		transform: translateY(4px);
	}

	.hamburger-item:nth-child(3) {
		transform: translateY(8px);
	}

	.navbar-nav .interior-submenu, .navbar-nav .sub-menu {
		background-color: #222222;
		border: none;
		width: 100%;
	}

	.navbar-nav .item-megamenu, .navbar-nav .menu-item-has-children {
		width: 100%;
	}

	.navbar-nav .interior-submenu, .navbar-nav .sub-menu {
		flex-direction: column;
		row-gap: 44px;
		padding: 12px 24px 24px 24px;
	}

	.is-open .cabecera-cta {
		display: block;
		width: 202px;
		padding-left: 16px;
		padding-right: 16px;
	}

	.cabecera-cta {
		display: none;
	}

	.cabecera-menu-m {
		display: block;
	}
	.interior-submenu, .sub-menu {
		right: 0;
		left: 0;
	}
}

/*Switcher idiomas*/
.contenedor-switcher {
	position: relative;
	display: inline-block;
}

#language-switcher {
	list-style: none;
	padding: 0;
	margin: 0;
}

#language-switcher > .active {
	position: relative;
}

#language-switcher > .active > a {
	text-decoration: none;
	color: var(--white);
	padding: 5px 10px;
	border: 1px solid var(--white);
	background-color: transparent;
	display: block;
	width: 80px;
	text-align: left;
}

#language-switcher .dropdown {
	display: none; /* Ocultamos las opciones por defecto */
	position: absolute;
	left: 0;
	top: 100%;
	background: transparent;
	border: 1px solid var(--white);
	min-width: 80px;
	list-style: none;
	padding: 0;
	margin: 0;
	z-index: 4;
}

#language-switcher .dropdown li {
	display: block;
}

#language-switcher .dropdown a {
	text-decoration: none;
	color: var(--white);
	display: block;
	padding: 5px 10px;
	background: transparent;
	border-bottom: 1px solid var(--white);
}

#language-switcher .dropdown a:hover {
	background: var(--white);
	color: var(--black);
}

/* Mostrar el desplegable al pasar el ratón */
#language-switcher > .active:hover .dropdown {
	display: block;
}
