/*!
Theme Name: ecaf
Theme URI: http://underscores.me/
Author: Digilia Digital
Author URI: https://www.digiliadigital.com/
Description: Theme para ecaf
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: ecaf
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

ecaf is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/


/**
 * 
 * INDICE
 * =================================
 * - CUSTOM PROPERTIES
 * - GENERAL
 * - COLORES
 * - BUTONES
 * - BODY
 * - HEADINGS
 * - FONTS - TEXT
 * - LINKS
 * - IMAGENES
 * - HEADER
 * - NAVBAR
 * - BTN WHATSAPP Y CONTACTO
 * - SCROLL TO TOP
 * - FOOTER
 * - SLIDER
 * - BLOQUES FLEXIBLES: TEXTO
 * - BLOQUES FLEXIBLES: ALTERNADOS
 * - BLOQUES FLEXIBLES: PRODUCTOS
 * - BLOQUES FLEXIBLES: CARACTERÍSTICAS
 * - BLOQUES FLEXIBLES: RELATED
 * - BLOQUES FLEXIBLES: FAQS
 * - BLOQUES FLEXIBLES: BANNER
 * - BLOQUES FLEXIBLES: GALERIA
 * - BLOQUES FLEXIBLES: PROYECTOS
 * - BLOQUES FLEXIBLES: BANNER
 * - BLOQUES FLEXIBLES: GALERIA
 * - BLOQUES FLEXIBLES: VENTAJAS
 * - BLOQUES FLEXIBLES: TIPOS 
 * - BLOQUES FLEXIBLES: DESTACADO
 * - BLOQUES FLEXIBLES: MARCAS/CLIENTES
 * - PAGE: PROYECTOS
 * - PAGE: PRODUCTOS
 * - PAGE: CONTACTO
 * - PAGE 404
 * - IDIOMAS
 * =================================
 */

/* CUSTOM PROPERTIES */

:root {
	--tipo-body: 'Inter', sans-serif;
	--tipo-heading: 'Inter', sans-serif;
	--tipo-tagline: 'Roboto', sans-serif;
	--tipo-button: 'Inter', sans-serif;
	--tipo-subtitle-slider: 'Roboto Condensed', sans-serif;
	--tipo-button-slider: 'Inter', sans-serif;
	--tipo-link-navbar: 'Roboto Condensed', sans-serif;

	--black: #111111;
	--dark: #373537;
	--white: #ffffff;
	--grey: #858585;
	--grey-tagline: #2b3f46;
	--light-grey: #f4f4f4;
	--text-color: #686868;

	--shadow-header: 0px 1px 4px 0px rgba(0, 0, 0, 0.25);
	--shaddow-card: 0px 2px 16px 0px rgba(0, 0, 0, 0.08);
	--shadow-text: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
	--transition: all 0.15s ease-in-out;
}

/* GENERAL */
.relative { position: relative; }
.absolute { position: absolute; }
.rounded  { border-radius: 8px; }
.cover { 
	background-position: center!important;
	background-repeat: no-repeat!important;
	background-size: cover!important;
}
.fit { 
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.scroll { 
	background-attachment: scroll;
}
.fixed {
	background-attachment: fixed!important;
	background-position: bottom center!important;
}
.contain {
	background-repeat: no-repeat;
	background-size: contain!important;
	background-position: center center;
}
.hidden      { overflow: hidden; }
.text-shadow { filter: var(--shadow-text); }
.shadow-card { box-shadow: var(--shaddow-card); }

/* COLORES */
.c-black    { color: var(--black); }
.c-bg-black { background-color: var(--black); }
.c-white    { color: var(--white); }
.c-bg-white { background-color: var(--white); }
.c-dark     { color: var(--dark); }
.c-bg-dark  { background-color: var(--dark); }
.c-grey     { color: var(--grey); }
.c-bg-light { background-color: var(--light-grey); }
.bg-grey	 { background-color: #EAEAEA; }

/* BUTONES */
.btn,
#gform_submit_button_1,
#gform_submit_button_2 {
	font-weight: 500;
	font-family: var(--tipo-button);
	font-size: 0.8125rem;
	line-height: normal;
	text-decoration: none;
	transition: var(--transition);
	border: 1px solid;
	border-radius: 0;
}
#gform_submit_button_1,
#gform_submit_button_2 {
	font-weight: 400;
	font-family: var(--tipo-button);
	font-size: 0.8125rem;
	line-height: normal;
	text-decoration: none;
	transition: var(--transition);
	border: 1px solid;
	border-radius: 0;
	color: black!important;
	background-color: #fff!important;
	border: 1px solid #000!important;
}
.btn:disabled { 
	opacity: 0.5;
	cursor: not-allowed;
}
.btn:hover { 
	cursor: pointer;
	text-decoration: none;
}
.btn-default { 
	letter-spacing: 0.065rem;
	background-color: var(--black); 
	color: var(--white); 
	padding: 0.625rem 1.5rem;
	border-color: var(--black);
}
.btn-default:hover,
.btn-default:active { 
	background-color: var(--white); 
	color: var(--black); 
	border-color: var(--black);
}
.btn-transparent,
#gform_submit_button_1,
#gform_submit_button_2 { 
	color: #FFF;
	font-family: var(--tipo-button);
	font-size: 0.8125rem;
	font-style: normal;
	font-weight: 400;
	line-height: 140%; /* 1.1375rem */
	letter-spacing: 0.1875rem;
	text-transform: uppercase;
}
.btn-transparent:hover,
.btn-transparent:active,
#gform_submit_button_1:hover,
#gform_submit_button_1:active,
#gform_submit_button_2:hover,
#gform_submit_button_2:active { 
	background-color: rgba(255, 255, 255, 0.25); 
	border-color: rgba(255, 255, 255, 0.60);
	color: var(--white);
}

.btn-white{
	background-color: var(--white); 
	color: var(--dark); 
	padding: 0.625rem 1.5rem;
	border-color: var(--white);
}
.btn-white:hover,
.btn-white:active { 
	background-color: var(--dark); 
	color: var(--white); 
	border-color: var(--dark);
}

/* BODY */
body { 
	min-height: 100vh; 
	width: 100%;
	margin: 0;
	font-family: var(--tipo-body);
	font-weight: 300;
	font-size: 1rem; 
	line-height: normal;
	color: var(--text-color);
	background-color: var(--white);  
}

blockquote {
	background-color: var(--light-grey);
	margin: 1.5rem 0;
	padding: 10px 20px;
	quotes: "\\201C""\\201D""\\2018""\\2019";
	border-left: 2px solid var(--black);
}
blockquote p {
	color: var(--black);
	margin-bottom: 0;
}

section a {
	color: var(--black);
	transition: var(--transition);
}
section a:hover {
	color: var(--grey);
}
section ul {
    list-style-type: none;
    margin: 0 0 1rem;
    padding: 0;
}
section ul li {
    position: relative; 
    margin-bottom: 10px;
    padding-left: 20px; 
    line-height: 1.5; 
}
section ul:not(.alternados__listado) li:before {
    content: "";
    position: absolute;
    left: 0; 
    top: 8px;
    width: 6px; 
    height: 6px; 
    background-color: var(--black);
    border-radius: 0;
}

iframe { width: 100%; }
.video iframe { max-width: 700px;}
:focus-visible { outline: var(--dark) auto 1px; }

/* HEADINGS */
h1, h2, h3, h4, h5, h6 { 
	color: var(--dark);
	font-weight: 400;
	line-height: 1.5;
}

article h1, 
article h2, 
article h3, 
article h4, 
article h5, 
article h6 {
	color: var(--dark);
}

h1 { font-size: 3.5rem; }   /* 56px */
h2 { font-size: 2.5rem; }   /* 40px */
h3 { font-size: 2rem; }     /* 32px */
h4 { font-size: 1.75rem; }  /* 28px */
h5 { font-size: 1.5rem; }   /* 24px */
h6 { font-size: 1.125rem; } /* 18px */

.heading-1 {
	font-size: 2.5rem;
	font-style: normal;
	font-weight: 400;
	line-height: 3rem;
	margin-bottom: 2.5rem;
	text-transform: uppercase;
	font-family: var(--tipo-heading);
	color: #1e1e1e;
}
.heading-2 {
	font-size: 1.5rem;
	font-style: normal;
	font-weight: 400;
	line-height: 2.1rem;
	margin-bottom: 1rem;
	text-transform: uppercase;
	font-family: var(--tipo-heading);
	color: #1e1e1e;
}
.heading-3 {
	font-size: 1.25rem;
	font-style: normal;
	font-weight: 600;
	line-height: 1.75rem;
	margin-bottom: 0.875rem;
	color: #1e1e1e;
}
.heading-4 {
	font-size: 1.15rem;
	font-style: normal;
	font-weight: 600;
	line-height: 1.5rem;
	margin-bottom: 0.875rem;
	color: #1e1e1e;
}
.heading-1:not(.c-white),
.heading-2:not(.c-white),
.heading-3:not(.c-white),
.heading-4:not(.c-white) {
	color: var(--black);
}

/* FONTS - TEXT */
p { 
	color: #161616;
	font-family: var(--tipo-body);
	font-size: 0.9375rem;
	font-style: normal;
	font-weight: 400;
	line-height: 200%; /* 1.875rem */
}
big       { font-size: 1.2em; }
small     { font-size: 0.75em; }
b, strong { font-weight: 500; color: #1E1E1E; }
address   { margin: 0 0 2rem 0; }
hr {
	border-style: solid;
	border-width: 0.1rem 0 0 0;
	border-color: var(--grey);
	margin: 4rem 0;
}
.tagline {
	color: rgba(22, 22, 22, 0.75);
	font-family: var(--tipo-tagline);
	font-size: 0.8125rem;
	font-style: normal;
	font-weight: var(--font-weight-300, 300);
	line-height: 140%; /* 1.1375rem */
	letter-spacing: 0.25rem;
	text-transform: uppercase;
}
.heading, .alternados__heading, .heading-2{
	color: #161616;
	font-family: var(--tipo-heading);
	font-size: 2rem;
	font-style: normal;
	font-weight: 400;
	line-height: 140%; /* 2.8rem */
}
.banner__tagline {
	color: rgba(22, 22, 22, 0.75);
	font-family: var(--tipo-tagline);
	font-size: 0.8125rem;
	font-style: normal;
	font-weight: var(--font-weight-300, 300);
	line-height: 140%; /* 1.1375rem */
	letter-spacing: 0.25rem;
	text-transform: uppercase;
}
.slider-subtitle {
	color: #FFF;
	text-align: center;
	text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
	font-family: var(--tipo-subtitle-slider);
	font-size: 1.125rem;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	letter-spacing: 0.36rem;
	text-transform: uppercase;
}
.slider-title {
	color: var(--white, #FFF);
	text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
	font-family: var(--tipo-heading);
	font-size: 3rem;
	font-style: normal;
	font-weight: 300;
	line-height: normal;
	letter-spacing: 0.18rem;
}
.text-heading {
	font-family: var(--tipo-heading);
}

.fw300  { font-weight: 300; }
.fw400  { font-weight: 400; }
.fw500  { font-weight: 500; }
.fw600  { font-weight: 600; }
.fw700  { font-weight: 700; }
.fw800  { font-weight: 800; }

.lh100b { line-height: 100%; }
.lh110b { line-height: 110%; }
.lh120b { line-height: 120%; }
.lh130b { line-height: 130%; }
.lh150b { line-height: 150%; }
.lh160b { line-height: 160%; }
.lh170b { line-height: 170%; }
.lh180b { line-height: 180%; }

.fs72  { font-size: 4.5rem; }
.fs64  { font-size: 4rem; }
.fs60  { font-size: 3.75rem; }
.fs58  { font-size: 3.625rem; }
.fs56  { font-size: 3.5rem; }
.fs52  { font-size: 3.25rem; }
.fs48  { font-size: 3rem; }
.fs44  { font-size: 2.75rem; }
.fs42  { font-size: 2.625rem; }
.fs40  { font-size: 2.5rem; }
.fs38  { font-size: 2.375rem; }
.fs36  { font-size: 2.25; }
.fs34  { font-size: 2.125rem; }
.fs32  { font-size: 2rem; }
.fs30  { font-size: 1.875rem; }
.fs28  { font-size: 1.75rem; }
.fs26  { font-size: 1.625rem; }
.fs24  { font-size: 1.5rem; }
.fs22  { font-size: 1.375rem; }
.fs20  { font-size: 1.25rem; }
.fs18  { font-size: 1.125rem; }
.fs16  { font-size: 1rem; }
.fs15  { font-size: 15px; }
.fs14  { font-size: 14px; }
.fs13  { font-size: 13px; }

/* LINKS */
a, section a { 
	font-family: var(--tipo-body);
	font-weight: 400;
	color: var(--black);
	text-decoration: underline;
	transition: var(--transition); 
}
a:hover, section a:hover { 
	color: var(--primary-blue);
	cursor: pointer;
}
.link-arrow {
    color: var(--dark);
    font-family: var(--tipo-body);
    font-size: 0.9375rem;
    font-weight: 700;
    text-decoration: none; 
    display: inline-flex;
    align-items: center; 
    gap: 0.5rem;
	transition: color 0.3s;
}
.link-arrow .arrow-icon {
    fill: currentColor;
    width: 50px;
    height: 10px;
	margin-top: 4px;
	transition: transform 0.3s;
    transform-origin: left;
}
.link-arrow:hover,
.link-arrow:active {
    color: #505050;
}
.link-arrow:hover .arrow-icon {
    transform: scaleX(1.25);
}

/* IMAGENES */
figure { height: 100%; }
.img-responsive { width: 100%; height: 100%; object-fit: cover; }

/* HEADER */
.header { 
	position: fixed; 
	top: 0; 
	width: 100%; 
	transition: var(--transition); 
	z-index: 1500;
}
.header.bg-transparent {
	background-color: transparent;
}
.header-bottom { 
	min-height: 80px;
}
.header .brand img { 
	width: auto; 
	max-height: 48px;
}
.header-scrolled {
	background-color: var(--white)!important;
	box-shadow: var(--shadow-header);
}
.header #logo-color {
    display: none;
}
.header-scrolled #logo-color {
    display: block;
}
.header-scrolled #logo-white {
    display: none;
}
.navbar-brand .img-brand {
    transition: display 0.3s;
	width: auto; 
}

/* NAVBAR */
.main-nav li { 
	width: 100%;
}
.main-nav li a {
	font-size: 16px;
	font-weight: 500;
	text-decoration: none;
	transition: var(--transition);
}
.header.scrolled .main-nav li a {
	color: var(--black);
}
.main-nav > li:not(.menu-item-has-children) > a[aria-current="page"] {
	border-bottom:  2px solid var(--white);
}
.main-nav > li:not(.menu-item-has-children) > a:not(:last-child):hover,
.main-nav > li:not(.menu-item-has-children) > a:not(:last-child):active,
.main-nav > li:not(.menu-item-has-children) > a:not(:last-child)[aria-current="page"] {
	border-bottom: 3px solid var(--primary-blue);
}
.main-nav > li ul.sub-menu > li > a:hover { 
	color: var(--black);
}
.menu-toggle, 
.main-nav li > .sub-menu, 
.sub-menu .dropitem  { 
	display: none;
}
.main-nav li.menu-item-has-children { 
	position: relative;
}
.scroll-down header, 
.scroll-down .main-nav { 
	transform: translateY(-100%); 
	transition: var(--transition);
}

.dropitem {
	position: absolute;
	right: 0;
	color: var(--primary-blue);
}

nav a{
	text-decoration: none!important;
}

nav .current-menu-item {
	border-bottom: 1px solid #5E9B35;
}

li.menu-item{
	padding-bottom: 10px;
}
/* BTN WHATSAPP Y CONTACTO */
.buttons__contact-container {
	width: 56px;
	height: 168px;
	position: fixed;
	right: 4px;
	bottom: 106px;
	transition: all 250ms ease-in-out 0s;
	z-index: 101;
}
.btn__contact {
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	position: absolute;
	bottom: 4px;
	left: 0;
	color: var(--white);
	transition: all 250ms ease-in-out 0s;
	border-radius: 50%;
	background-color: rgba(95,211,19);
}
.btn__contact-main { 
	width: 56px; 
	height: 56px; 
	z-index: 90;
}
.btn-whatsapp, .btn-phone, .btn-email {
	width: 48px; 
	height: 48px;
}
.contact-active .btn-whatsapp { 
	transform:  translate(4px, -176px);
}
.contact-active .btn-phone { 
	transform:  translate(4px, -120px);
}
.contact-active .btn-email { 
	transform:  translate(4px, -64px);
}
.contact-active .btn__contact-main .fa-whatsapp { 
	transform: rotate(45deg) translate(-20px, -2px);
}
.buttons__contact-container .fa-whatsapp, 
.buttons__contact-container .fa-phone, 
.buttons__contact-container .fa-envelope {
	top: 50%;
	left: 50%;
	color: var(--white);
	z-index: 1;
	position: absolute;
	transform: translate(-50%, -50%);
	text-align: center;
	transition: all 0.2s ease-out 0s;
}
.btn__contact-main .fa-whatsapp { 
	font-size: 32px;
}
.btn-whatsapp .fa-whatsapp,
.btn-phone .fa-phone,
.btn-email .fa-envelope { 
	font-size: 22px;
}

.btn-primary{
	color: #fff;
	border-color: #5E9B35;
	background-color: #5E9B35;
	padding: 1rem 2rem;
	font-family: var(--tipo-button);
	font-size: 13px;
	letter-spacing: 3px;
}

.btn-transparent{
	color: #5E9B35;
	border-color: #5E9B35;
	background-color: #fff;
	padding: 1rem 2rem;
	font-family: var(--tipo-button);
	font-size: 13px;
	letter-spacing: 3px;
}

.btn-slider{
	color: var(--white);
	border: 1px solid var(--white);
	text-transform: uppercase;
}

/* SCROLL TO TOP */
.scrollToTop {
	position: fixed; 
	bottom: 56px; 
	right: 8px; 
	width: 48px; 
	height: 48px; 
	background-color: var(--dark); 
	color: var(--white); 
	border-radius: 50%; 
	cursor: pointer; 
	text-align: center;
	line-height: 48px;
	font-size: 24px;
	z-index: 130;
	transition: var(--transition);
}
.scrollToTop:hover { 
	background-color: var(--black); 
}

/* FOOTER */
footer#site-footer {
	background-color: #161616;
}
footer#site-footer a {
    color: #FFF;
	font-family: var(--tipo-subtitle-slider);
	font-size: 0.9375rem;
	font-style: normal;
	font-weight: 300;
	line-height: normal;
	text-decoration: none;
	margin-bottom: 0.25rem;
}
.sede{
	margin-bottom: 1.5rem;
}
footer#site-footer a:hover {
	color: var(--white);
}
footer#site-footer ul {
    padding: 0;
}
footer#site-footer li {
    list-style: none;
	padding: 0.25rem 0;
	margin-bottom: 0.25rem;
}
.footer__logo {
	width: auto;
}
.footer__menu-header {
	font-family: var(--tipo-heading);
	color: var(--white);
	font-size: 1rem;
	font-weight: 400;
	letter-spacing: 0.04rem;
	text-transform: uppercase;
}
.footer__copy p, .ue-footer p{
	color: var(--white);
}
.footer__bottom .container {
	border-top: 1px solid var(--white);
}
.footer_socials a {
	transition: var(--transition);
}
.footer_socials a:hover i {
	color: var(--text-color);
}
.footer .grid-sedes {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

/* SLIDER */
.slider {
    background-color: var(--dark);
}
.slider__background {
    background: linear-gradient(rgba(0, 0, 0, 1), rgba(0, 0, 0, 0));
}
.slider__container {
    opacity: 0;
    transition: opacity 1s ease-in-out;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1;
}
.slider,
.slider__background,
.slider__container {
	height: 100vh;
}
.slider__container.active {
    opacity: 1;
    z-index: 2;
}
.slider__body-heading {
	display: inline-block;
}
.slider__controls .slider__button {
    position: absolute;
    transform: translateY(-50%);
    background-color: transparent;
    border: none;
    cursor: pointer;
    padding: 10px;
    z-index: 3;
}
.slider__button-container .btn {
	margin-top: 2.5rem;
	padding: 0.9375rem 2.8125rem;
}
.slider .sociales {
    z-index: 100;
    bottom: 10%;
}
.slider .sociales a {
    color: var(--light-grey);
}
.slider .sociales a:hover {
    color: #b3b3b3;
}

/* Pageheader */
.page-header {
	padding-top: 100px;
}
.page-header__body {
	padding-top: 5rem;
	padding-bottom: 2.5rem;
}
.page-header__title {
	color: var(--white);
	text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
	font-family: var(--tipo-heading);
	font-size: 3.75rem;
	font-weight: 300;
}
.page-header::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

/* BLOQUES FLEXIBLES: TEXTO */
.block-text:not(.full-width){
	max-width: 580px;
}
.page-accesorios .block-text {
	padding: 2rem 3rem;
}

/* BLOQUES FLEXIBLES: ALTERNADOS */
.alternados{
	margin: 4rem 0;
}

.alternados__body-text {
	z-index: 2;
	position: relative;
}
.alternados__body-text p {
	color: #1E1E1E;
	margin-bottom: 16px;
}
.alternados__body-text p + p {
	color: var(--text-color);
}
.alternados__img-col {
	position: absolute;
	top: 0;
	width: 40%;
	height: 100%;
	margin-top: 0;
	z-index: 1;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}
.alternados__img {
    height: 100%;
    object-fit: cover;
}

/* BLOQUES FLEXIBLES : PRODUCTOS */
.block-productos__text p {
	color: #1E1E1E;
	margin-bottom: 16px;
}
.block-productos__text p + p {
	color: var(--text-color);
}
.block-productos__link {
	transition: var(--transition);
}
.block-productos__link:hover .card-productos {
	box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px!important;
}
.block-productos__link .block-productos__text p {
	color: var(--grey);
	font-size: 14px;
	margin-bottom: 0;
}
.block-productos__link .block-productos__title {
	color: var(--black);
	font-family: var(--tipo-heading);
	font-size: 18px;
	letter-spacing: 1.08px;
	text-transform: uppercase;
}

/* BLOQUES FLEXIBLES: CARACTERÍSTICAS */
.block-caracteristicas__title {
	border-bottom: 1px solid #000;
	padding-bottom:  0.5rem;
	color: var(--black, #111);
	font-family: var(--tipo-heading);
	font-size: 1.0625rem;
	font-weight: 400;
	letter-spacing: 0.0425rem;
	text-transform: uppercase;
}

/* BLOQUES FLEXIBLES: RELATED */
.block-related__item img {
    transition: transform 0.3s ease;
    width: 100%;
}
.block-related__item:hover img {
    transform: scale(1.1);
}
.block-related__caption {
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.5); 
    padding: 1.5rem;
    transform: translateY(100%); 
    transition: transform 0.3s ease; 
}
.block-related__caption-proyectos {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.block-related__item:hover .block-related__caption {
    transform: translateY(0); 
}
.block-related__caption-title {
	color: var(--white);
	text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
	font-family: var(--tipo-heading);
	letter-spacing: 1.6px;
}

/* BLOQUES FLEXIBLES: FAQS */

.faqs .accordion-item {
	border: none;
	border-left: 1px solid #5E9B35;
}
.faqs .accordion-body p {
	color: var(--text-color);
	margin-bottom: 0;
	font-family: var(--font-family-Font-1, Inter);
	font-size: 0.9375rem;
	font-style: normal;
	font-weight: var(--font-weight-400, 400);
	line-height: 180%; /* 1.6875rem */
}
.faqs .accordion-body {
	padding-top: 0!important;
}
.faqs .accordion-button {
	color: #161616;
	font-family: var(--tipo-heading, Inter);
	font-size: 1.125rem;
	font-style: normal;
	font-weight: 400;
	line-height: 140%; /* 1.575rem */
}
.faqs .accordion-button:not(.collapsed)	 {
	padding-bottom: 0!important;
}
.faqs .accordion-button {
    border: none; 
    background-color: transparent; 
    color: var(--dark); 
}
.accordion-item:first-of-type{
	border-radius: 0!important;
}
.faqs .accordion-button:not(.collapsed) {
	background-color: var(--white);
	color: #5E9B35;
	font-weight: 500;
	box-shadow: none;
}
.faqs .accordion-button:not(.collapsed)::after {
	color: var(--black);
	background-image: url('data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 16 16\' fill=\'%23052c65\'%3e%3cpath d=\'M2 8a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11A.5.5 0 0 1 2 8z\'/%3e%3c/svg%3e');
}
.faqs .accordion-button::after {
	filter: invert(0.5);
	background-image: url('data:image/svg+xml,%3csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 16 16\' fill=\'%23052c65\'%3e%3cpath d=\'M8 1.5a.5.5 0 0 1 .5.5v5.5H14a.5.5 0 0 1 0 1H8.5V14a.5.5 0 0 1-1 0V8.5H2a.5.5 0 0 1 0-1h5.5V2a.5.5 0 0 1 .5-.5z\'/%3e%3c/svg%3e');
}
.faqs .accordion-button:focus {
    outline: 2px solid rgba(255, 255, 255, 0.60);
    box-shadow: none; 
}

/* BLOQUES FLEXIBLES: PROYECTOS */
.proyectos{
	margin: 4rem 0;
}

.proyectos .cards {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  height: 26.25rem;
}

.proyectos .cards img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Overlay */
.proyectos .cards .card-body {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;

  padding: 2rem;
  color: #fff;

  opacity: 0;
  transition: opacity .4s ease;
  z-index: 2;
}

/* Gradient (lo ajustamos con el que mandes) */
.proyectos .cards::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(22, 22, 22, 0.60) 0%, rgba(22, 22, 22, 0.60) 100%);
  opacity: 0;
  transition: opacity .4s ease;
  z-index: 1;
}

/* Hover */
.proyectos .cards:hover::after,
.proyectos .cards:hover .card-body,
.proyectos .cards.is-active::after,
.proyectos .cards.is-active .card-body {
  opacity: 1;
}

/* Animación suave */
.proyectos .cards .card-title,
.proyectos .cards .card-text {
  transform: translateY(10px);
  transition: transform .4s ease;
}

.proyectos .cards .card-title {
	color: #FFF;
	text-align: center;
	font-family: var(--tipo-heading);
	font-size: 0.8125rem;
	font-style: normal;
	font-weight: 500;
	line-height: 180%; /* 1.4625rem */
	letter-spacing: 0.125rem;
	text-transform: uppercase;
}
.proyectos .cards .card-text {
	color: #FFF;
	text-align: center;
	font-family: var(--tipo-heading Inter);
	font-size: var(--font-size-15, 0.9375rem);
	font-style: normal;
	font-weight: var(--font-weight-300, 300);
	line-height: var(--line-height-22_4, 1.4rem); /* 149.333% */

}
.proyectos .cards:hover .card-title,
.proyectos .cards:hover .card-text,
.proyectos .cards.is-active .card-title,
.proyectos .cards.is-active .card-text {
  transform: translateY(0);
}

/* BLOQUES FLEXIBLES: BANNER */
.banner{
	background: rgba(226, 228, 229, 0.32);
	position: relative;
}
.banner img{
	height: 100%;
    width: inherit;
    object-fit: cover;
    position: absolute;
    left: 0;
    top: 0;
}
.banner__title-text {
	color: #161616;
	font-family: var(--font-family-Font-1, Inter);
	font-size: 2.25rem;
	font-style: normal;
	font-weight: var(--font-weight-300, 300);
	line-height: 120%; /* 2.7rem */
	letter-spacing: -0.045rem;
}
.cta__title-text{
	color: var(--white, #fff);
	text-align: center;
	text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
	font-family: var(--tipo-heading);
	font-size: 2.25rem;
	font-style: normal;
	font-weight: 300;
	line-height: normal;
	letter-spacing: 6%;
}
.banner .form-none .banner__text {
	max-width: 360px;
	margin: auto;
}
.banner__text p {
	color: #161616;
	font-family: var(--tipo-heading);
	font-size: 0.9375rem;
	font-style: normal;
	font-weight: var(--font-weight-400, 400);
	line-height: 180%; /* 1.6875rem */
}
.banner .gform_wrapper input[type="text"],
.banner .gform_wrapper input[type="email"],
.banner .gform_wrapper input[type="tel"],
.banner .gform_wrapper textarea {
	box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.08);
	border: none;
	border-radius: 0;
	border-bottom: 1px solid #000000;
	background: #ffffff;
}
.banner .gform_wrapper input::placeholder,
.banner .gform_wrapper textarea::placeholder {
	color:  var(--black, #FFF);
}
.gfield_consent_label,
.gfield_consent_label a {
	font-size: 14px;
	color: var(--white);
}
.gfield_consent_label a:hover {
	color: #aaa;
}
.gform_wrapper.gravity-theme .gform_fields {
	grid-row-gap: 10px!important;
	grid-column-gap: 10px!important;
}
.banner .gform_footer {
	padding-bottom: 0!important;
}
:focus-visible {
	outline-color: var(--dark);
}
.banner__container .gform_fields {
	gap: 0.5rem!important;
}
.banner__container .gform-field-label{
	color: white!important;
}

#gform_fields_1{
	gap: 0.5rem!important;
}
.gfield_consent_label{
	color: white!important;
}

.gform_confirmation_message {
	color: var(--white)!important;
}
/* BLOQUES FLEXIBLES: GALERIA */
.galeria__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); 
    gap: 10px; 
}

.galeria__item img {
    width: 100%;
    height: auto;
    object-fit: cover;
	height: 240px;
}

/* BLOQUES FLEXIBLES: VENTAJAS */
.grid-ventajas {
	display: grid;
}
.grid-ventajas .card-ventaja {
	background: var(--white);
	box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
}
.grid-ventajas .card-ventaja__title {
	color: var(--black);
	font-family: var(--tipo-heading);
	font-size: 0.9375rem;
	font-weight: 400;
	letter-spacing: 0.0375rem;
	text-transform: uppercase;
	padding-bottom: 0.5rem;
	border-bottom: 1px solid #111;
}
.grid-ventajas .card-ventaja__textp {
	margin-bottom: 0;
}

/* BLOQUES FLEXIBLES: TIPOS */
.grid-tipos {
	gap: 24px;
}
.card-tipo__title {
	font-family: var(--tipo-heading);
	line-height: normal;
	letter-spacing: 1.08px;
	text-transform: uppercase;
}

/* Flexible Blocks: Features */
.destacados__title {
  color: var(--black, #222);
  text-align: center;
  font-family: var(--title-font);
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 600;
}

.destacados__text p {
  color: var(--body, #555);
  text-align: center;
  font-family: var(--body-font);
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.005rem;
}

/* BLOQUES FLEXIBLES: DESTACADO */
.destacado__img-principal {
  width: 30.3125rem;
  height: 12.5rem;
  object-fit: cover;
}

.destacado__img {
  width: 16.75rem;
  height: 18rem;
}

.destacado__gallery {
  column-gap: 1rem;
}

.destacado__text p {
  line-height: 160%;
  /* 1.6rem */
}

.features{
	padding: 80px 0;
}

/* BLOQUES FLEXIBLES: MARCAS/CLIENTES */

.brand__img {
  width: auto;
  height: 3rem;
  filter: grayscale(1);
  margin: 1rem 0;
}

.brands__container {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.brand__title {
  padding-bottom: 4rem;
}
.owl-nav {
  position: absolute;
  top: 50%;
  left: 0px;
  margin-top: -25px;
  width: 100%;
  justify-content: space-between;
  display: flex;
}
.owl-nav span {
  font-size: xxx-large;
}
.owl-stage-outer {
  width: 98%;
  z-index: 100;
}


/* PAGE: PROYECTOS */
.page-proyectos .grid-proyectos,
.page-productos .grid-proyectos {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
	gap: 0.5rem;
}

/* PAGE: PRODUCTOS */
.page-productos .section__content {
	background-color: var(--light-grey);
}

/* PAGE: CONTACTO */
a.address-item,
.address-item-icon {
	transition: var(--transition);
}
.address-item-icon {
	background: var(--dark);
    border-radius: 100%;
    height: 40px;
    width: 40px;
    font-size: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
}
a.address-item:hover .address-item-icon {
	background: var(--white);
	color: var(--dark);
	box-shadow: var(--shaddow-card);
}
.gform_confirmation_message {
	font-size: 18px;
    font-style: italic;
    font-weight: 400;
    font-family: var(--tipo-heading);
    color: var(--white);
    max-width: 350px;
    line-height: 1.4;
    border-left: 2px solid var(--white);
    padding: 8px 0 8px 24px;
}

/* PAGE 404 */
.page-404 .site-main { height: calc(100vh - 200px); }
.error-404 { max-width: 750px; }
.error-404 .link-home { color: var(--white); }
.error-404 .link-home:hover { color: var(--grey); }

.woocommerce ul.products li.product .button{
	font-family: var(--tipo-heading);
    line-height: normal;
    letter-spacing: 1.08px;
    text-transform: uppercase;
	background-color: var(--dark);
	color: var(--white);
	margin: 0;
}

.woocommerce-loop-product__title{
	font-weight: 500;
	font-size: 1.15rem!important;
}


/*--------------------------------------------------------------
 # Woocommerce
 --------------------------------------------------------------*/
/* ------ Topbar ------ */

.woocommerce-product-search {
	display: flex;
	gap: 4px;
  }
  
  .woocommerce-product-search .search-field,
  .woocommerce-product-search button {
	border-radius: 0;
	border: 2px solid var(--color-dark);
	background: var(--color-bg-white);
	height: 35px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: var(--color-dark);
	font-size: 14px;
	font-style: normal;
	line-height: normal;
  }
  
  .woocommerce-product-search button {
	padding: 8px 10px;
	font-weight: 600;
  }
  
  .woocommerce-product-search button:hover {
	padding: 8px 10px;
	font-weight: 600;
	color: var(--color-text-card);
  }
  
  .woocommerce-product-search .search-field {
	width: 240px;
	padding: 9px 15px;
	font-weight: 400;
  }
  
  /* Catálogo de productos (página de tienda) */
  .grid-products div.product.type-product {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	transition: var(--transition-btn);
  }
  
  .woocommerce-LoopProduct-link,
  .woocommerce-LoopProduct-link ins {
	text-decoration: none !important;
  }
  
  .grid-products .product-title {
	color: var(--color-text-heading);
	font-family: var(--font-body);
	font-size: 0.875rem;
	font-weight: 500;
	line-height: normal;
	margin-top: 1.5rem;
	margin-bottom: 0.75rem;
	text-transform: uppercase;
  }
  
  .woocommerce-shop .price {
	color: var(--color-text-heading) !important;
	font-size: 1rem !important;
  }
  
  .product-link:has(.img-default),
  .product-image:has(.img-default),
  .product-image .img-default {
	height: 100% !important;
  }
  
  img.attachment-woocommerce_thumbnail.size-woocommerce_thumbnail,
  .woocommerce-LoopProduct-link.woocommerce-loop-product__link img,
  .grid-products .product-image img {
	border: 1px solid #e8e8e8 !important;
	transition: var(--transition-btn);
	width: 100%;
	height: auto;
	object-fit: contain;
  }
  
  /* .grid-products .product:hover img, */
  .related.products .product:hover img,
  .grid-products .product-image:hover img {
	box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
	border-color: transparent !important;
	transform: translatey(-6px);
	border-radius: 4px;
  }
  
  /* .grid-products .product:hover .woocommerce-loop-product__title, */
  .related.products .product:hover .woocommerce-loop-product__title,
  .grid-products .product-image:hover .card-body {
	opacity: 0.8;
  }
  
  .add_to_cart_button,
  .button.product_type_simple {
	margin-top: 1rem !important;
	border-radius: 0 !important;
	border: 2px solid var(--color-black) !important;
	background: var(--color-bg-white) !important;
	color: var(--color-black) !important;
	font-family: var(--font-nav-link) !important;
	font-size: 0.875rem !important;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: 100% !important;
	text-transform: uppercase !important;
	transition: var(--transition-btn) !important;
  }
  
  .single_add_to_cart_button, .wc-block-components-button__text{
	border-radius: 0 !important;
	border: 2px solid var(--color-black) !important;
	color: var(--color-text-white) !important;
	background-color: var(--light-grey) !important;
	font-family: var(--font-nav-link) !important;
	font-size: 1rem !important;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: 100% !important;
	text-transform: uppercase !important;
	transition: var(--transition-btn) !important;
	margin: 1rem 0!important;
  }
  .wc-block-components-button__text{
	padding: 1rem 0.75rem!important;
  }
  .add_to_cart_button:hover,
  .button.product_type_simple:hover {
	border: 2px solid var(--color-black) !important;
	color: var(--color-text-white) !important;
	background-color: var(--color-bg-dark) !important;
  }
  
  .woocommerce-shop .grid-products .product_type_simple {
	display: none;
  }
  
  .single_add_to_cart_button:hover {
	border: 2px solid var(--color-black) !important;
	background: var(--color-bg-white) !important;
	color: var(--color-black) !important;
  }
  
  .woocommerce-product-details__short-description {
	margin-bottom: 1rem;
  }
  
  .summary.entry-summary {
	margin-top: 2em !important;
  }
  
  .summary.entry-summary .product_meta a {
	text-decoration: underline;
	color: var(--color-primary-500);
  }
  
  .summary.entry-summary .product_meta a:hover {
	text-decoration: underline;
	color: var(--color-primary-400);
  }
  
  .woocommerce-shop .onsale {
	background-color: var(--color-primary-400) !important;
  }
  
  select.orderby {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-color: var(--color-bg-white);
	border: 1px solid #ccc;
	border-radius: 4px;
	padding: 6px 10px;
	font-size: 15px;
	color: var(--color-text-body);
  }
  
  .woocommerce-products-header__title {
	color: var(--color-dark);
	font-family: var(--font-title);
	font-size: 2.75rem;
	font-style: normal;
	font-weight: 300;
	line-height: normal;
  }
  .woocommerce-products-header h2 {
	font-size: 1.5rem;
	margin-top: 1rem;
  }
  .page-description p {
	color: var(--color-dark);
	font-family: var(--font-body);
	font-size: 0.9375rem;
	font-style: normal;
	font-weight: 400;
	line-height: 160%; /* 1.5rem */
  }
  .button.product_type_variable.add_to_cart_button {
	display: none;
  }
  .button.product_type_variable {
	display: none !important;
  }
  .button.product_type_simple.add_to_cart_button.ajax_add_to_cart {
	display: none;
  }
  
  .term-description h2 {
	color: var(--color-black);
	font-family: var(--font-title);
	font-size: 1.75rem;
	font-weight: 400;
  }
  
  /*  OWL Carrousel */
  .owl-carrousel {
	position: relative;
  }
  
  .owl-nav {
	position: absolute;
	top: 50%;
	width: 99%;
	display: flex;
	justify-content: space-between;
  }
  
  .owl-nav button span {
	display: flex;
	padding: 0.5rem 1rem !important;
	justify-content: center;
	align-items: center;
	gap: 0.5rem;
	align-self: stretch;
	background-color: #121212;
	color: white;
  }
  .owl-nav .owl-prev {
	margin-left: 2.5rem !important;
  }
  .owl-nav .owl-next {
	margin-right: 2.5rem !important;
  }
  .producto {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
  }
  
  /* Checkout */
  .wc-block-components-button.wc-block-cart__submit-button {
	text-decoration: none;
	color: var(--color-text-link-hover);
  }
  
  .wc-block-components-button.wc-block-cart__submit-button:hover {
	background-color: var(--color-bg-dark) !important;
	color: var(--color-text-white) !important;
  }
  

  .card-img-top{
	height: 25rem;
  }
  .card-title{
	color: #161616;
	font-family: var(--tipo-heading);
	font-size: 0.8125rem;
	font-style: normal;
	font-weight: 600;
	line-height: 180%; /* 1.4625rem */
	letter-spacing: 0.125rem;
	text-transform: uppercase;
	padding-top: 0.5rem;
  }
  .card-text{
	color: #161616;
	font-family: var(--tipo-body);
	font-size: var(--font-size-15, 0.9375rem);
	font-style: normal;
	font-weight: 300;
	line-height: 180%; /* 1.6875rem */
  }
  .swiper-button-prev, .swiper-button-next {
	display: flex;
	width: 3rem!important;
	height: 3rem!important;
	padding: 0.4375rem 0.75rem;
	gap: 0.625rem;
	border-radius: 6.25rem;
	background: rgba(255, 255, 255, 0.60);
	backdrop-filter: blur(2px);
  }
  .swiper-button-prev::after, .swiper-button-next::after {
	width: 0.6875rem;
	height: 1.25rem;
	font-size: 1.25rem!important;
	color: #000;
  }


  .servicios a{
	text-decoration: none;
  }