/*!
Theme Name: zekkei
Theme URI: http://underscores.me/
Author: MKTmedianet
Author URI: https://www.mktmedianet.com/
Description: Theme para zekkei
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: zekkei
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.

zekkei 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 
 * - 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;
	--gold: #C19E6C;
	--gold-hover: #c19e6ccc;

	--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); }

.text-balance {text-wrap: balance;}

/* COLORES */
.c-black    { color: var(--black); }
.c-bg-black { background-color: var(--black); }
.c-white    { color: var(--white)!important; }
.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); }
.c-gold     { color: var(--gold)!important; }


.bg-yellow{
	background-color: #C19E6C40;
}

.bg-dark-gold{
	background: #c19e6c40;
}
.bg-light-gold{
	background: #efe7da33;
}
/* 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 {
	background: #C19E6C;
	padding: 1rem 2rem;
	color: #161616;
	font-family: Inter;
	font-size: 0.8125rem;
	font-style: normal;
	font-weight: 600;
	line-height: 140%; /* 1.1375rem */
	letter-spacing: 0.1875rem;
	text-transform: uppercase;
	border: 1px solid #C19E6C;
}
.btn:disabled { 
	opacity: 0.5;
	cursor: not-allowed;
}
.btn:hover { 
	cursor: pointer;
	text-decoration: none;
}
.btn-default { 
	border: 2px solid #161616;
	background: #000;
	padding: 1rem 2rem;
	color: var(--white);
	font-family: Inter;
	font-size: 0.8125rem;
	font-style: normal;
	font-weight: 500;
	line-height: 140%; /* 1.1375rem */
	letter-spacing: 0.1875rem;
	text-transform: uppercase;

}
.btn-default.btn-contact-mobile {
	border: 2px solid #C19E6C;
	background: #C19E6C;
	color: var(--black);
}
.btn-default:hover,
.btn-default:focus,
.btn-default:active { 
	background-color: var(--white)!important; 
	color: var(--black); 
	border-color: var(--black);

}
.btn-transparent { 
	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{ 
	background-color: rgba(255, 255, 255, 0.25); 
	border-color: rgba(255, 255, 255, 0.60);
	color: var(--white);
}

#gform_submit_button_1:hover,
#gform_submit_button_1:active,
#gform_submit_button_2:hover,
#gform_submit_button_2:active { 
	background-color: var(--gold-hover); 
	border-color: var(--gold-hover);
	color: var(--black);
}
.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);  
}
body.no-scroll {
    overflow: hidden;
    height: 100vh;
}

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;
}

.bg-white blockquote {
    margin: 1.5rem 0;
    padding: 10px 20px;
    quotes: "\\201C" "\\201D" "\\2018" "\\2019";
    border-left: 3px solid #C19E6C;
background: rgba(239, 231, 218, 0.50);
}

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;
	margin-left: 1rem;
}
section ul:not(.alternados__listado) li:before {
    content: "";
    position: absolute;
    left: 0; 
    top: 8px;
    width: 6px; 
    height: 6px; 
    background-color: var(--black);
    border-radius: 50%;
}

iframe { width: 100%; }
.video-container iframe { max-width: 700px;}
:focus-visible { outline: var(--dark) auto 1px; }

/* HEADINGS */
h1, h2, h3, h4, h5, h6 { 
	color: var(--dark);
	font-weight: 300;
	line-height: 1.5;
}

article h1, 
article h2, 
article h3, 
article h4, 
article h5, 
article h6 {
	color: var(--dark);
}

h1 { font-size: 3rem; }   /* 56px */
h2 { font-size: 2rem; }   /* 40px */
h3 { font-size: 1.5rem; }     /* 32px */
h4 { font-size: 1.25rem; }  /* 28px */
h5 { font-size: 1.125rem; }   /* 24px */
h6 { font-size: 1rem; } /* 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 {
	color: #161616;
	font-family: Inter;
	font-size: 2rem;
	font-style: normal;
	font-weight: 300;
	line-height: 160%; /* 3.2rem */
	margin: 0;
}
.heading-3 {
	color: #161616;
	font-family: Inter;
	font-size: 1.5rem;
	font-style: normal;
	font-weight: 300;
	line-height: 160%; /* 3.2rem */
}
.heading-4 {
	color: #161616;
	font-family: Inter;
	font-size: 1.25rem;
	font-style: normal;
	font-weight: 300;
	line-height: 160%; /* 3.2rem */
}
.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, article, li { 
	color: #161616;
	font-family: Inter;
	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: Roboto;
	font-size: 0.8125rem;
	font-style: normal;
	font-weight: 300;
	line-height: 140%; /* 1.1375rem */
	letter-spacing: 0.25rem;
	text-transform: uppercase;
	margin-bottom: 0;
}

.banner__tagline {
	color: rgba(22, 22, 22, 0.75);
	font-family: var(--tipo-tagline);
	font-size: 0.8125rem;
	font-style: normal;
	font-weight: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: "Roboto Condensed";
	font-size: 1.125rem;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	letter-spacing: 0.36rem;
	text-transform: uppercase;
}

.btn-slider{
	color: #FFF;
	font-family: Inter;
	font-size: 0.8125rem;
	font-style: normal;
	font-weight: 400;
	line-height: 140%; /* 1.1375rem */
	letter-spacing: 0.1875rem;
	text-transform: uppercase;
	padding: 1rem 2rem;
	border: 2px solid #FFF;
	text-decoration: none;
	margin-top: 2.5rem;
	&:hover{
		background-color: rgba(255, 255, 255, 0.25); 
		border-color: rgba(255, 255, 255, 0.60);
		color: var(--white);
	}
}

.slider-title {
	color: var(--white, #FFF);
	text-align: center;
	text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
	font-family: Inter;
	font-size: 4rem;
	font-style: normal;
	font-weight: 300;
	line-height: normal;
	letter-spacing: 0.24rem;
	text-wrap: balance;
}

.slider__video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
}

.slider__background .slider__body {
    position: relative;
    z-index: 1;
}
.slider__overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0) 46.44%),
        linear-gradient(0deg, rgba(0,0,0,.5) 0%, rgba(0,0,0,.5) 100%);
}

.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;
}
.home .header.bg-transparent {
	background-color: transparent;
}
.header-bottom { 
	min-height: 80px;
}
.header .brand img { 
	width: auto; 
	max-height: 48px;
}
.header-scrolled {
	background-color: var(--black)!important;
	box-shadow: var(--shadow-header);
}
header:not(.home) .header{
	background-color: var(--black)!important;
}
.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);
}

/* 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;
	left: 4px;
}
.contact-active .btn-whatsapp { 
	transform:  translate(4px, -176px);
}
.contact-active .btn-phone { 
	transform:  translate(0px, -120px);
}
.contact-active .btn-email { 
	transform:  translate(0px, -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;
}

/* 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: 1.5rem;
}
footer#site-footer .btn-footer {
    border: 2px solid #C19E6C;
	padding: 1rem 2rem;
	color: #C19E6C;
	font-family: Inter;
	font-size: 0.75rem;
	font-style: normal;
	font-weight: 400;
	line-height: 140%; /* 1.1375rem */
	letter-spacing: 0.1875rem;
	text-transform: uppercase;
	transition: var(--transition);
}
footer#site-footer a:hover {
	color: var(--white);
}
footer#site-footer ul {
    padding: 0;
}
.footer__legales .footer__menu-list ul{
	display: flex;
}
footer#site-footer li {
    list-style: none;
	margin-bottom: 1rem;
}
.footer__logo {
	width: auto;
}
.footer__menu-header {
	color: #FFF;
	font-family: Roboto;
	font-size: 0.9375rem;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	letter-spacing: 0.25rem;
	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: 8rem 7.4375rem 1.75rem 7.5rem;

}
.page-header__body {
	padding-top: 3rem;
	padding-bottom: 2.5rem;
}
.page-header__title {
	color: #000;
	font-family: Inter;
	font-size: 2.5rem;
	font-style: normal;
	font-weight: 300;
	line-height: normal;
}

.page-header__text{
	& h2,h3{
		font-size: 1.5rem;

	}
}


.page-header__form{
	background: #EFE7DA;
	padding: 1.5rem 2rem;
	& .gform-footer{
		display: flex;
		justify-content: flex-end;
	}
}
.page-header {
	.contact-buttons {
	
		& p{
		color: #161616;
		font-family: "Roboto Condensed";
		font-size: 1rem;
		font-style: normal;
		font-weight: 500;
		line-height: 160%; /* 1.6rem */
		letter-spacing: 0.125rem;
		text-transform: uppercase;
		margin: 0;
		}
		& a{
			padding: 1rem 1.5rem;
			background: #C19E6C;
			color: #161616;
			font-family: "Roboto Condensed";
			font-size: 0.875rem;
			font-style: normal;
			font-weight: 600;
			line-height: 160%; /* 1.4rem */
			letter-spacing: 0.125rem;
			text-transform: uppercase;
			text-decoration: none;
			&:hover{
				background-color: var(--gold-hover);
				border-color: var(--gold-hover);
				color: var(--black);
			}
		}

	}
	.gform_wrapper input[type="text"],
	.gform_wrapper input[type="email"],
	.gform_wrapper input[type="tel"],
	.gform_wrapper textarea {
		border: none;
		border-radius: 0;
		background: #ffffff;
		background: #FFF;
		backdrop-filter: blur(2px);
	}
	textarea{
		height: 15px!important;
	}
	&.bg-dark-gold{
		& #gform_submit_button_1{
			border: 2px solid #161616;
			background: #000;
			padding: 1rem 2rem;
			color: #FFF;
			font-family: Inter;
			font-size: 0.8125rem;
			font-style: normal;
			font-weight: 500;
			line-height: 140%; /* 1.1375rem */
			letter-spacing: 0.1875rem;
			text-transform: uppercase;
			width: 100%;
		}
		& .form-title{
			color: #161616;
			font-family: "Roboto Condensed";
			text-align: center;
			font-size: 0.95rem;
			font-style: normal;
			font-weight: 500;
			line-height: 160%; /* 1.6rem */
			letter-spacing: 0.125rem;
			text-transform: uppercase;
		}
	}
}

.form-title{
	color: #161616;
	font-family: Inter;
	font-size: 1.5rem;
	font-style: normal;
	font-weight: 400;
	line-height: 140%; /* 2.1rem */
}


/* BLOQUES FLEXIBLES: TEXTO */
.block-text:not(.full-width){
	max-width: 580px;
}
.page-accesorios .block-text {
	padding: 2rem 3rem;
}

/* BLOQUES FLEXIBLES: ALTERNADOS */
.alternados{
	padding: 4rem 0;
}

.alternados__body-text {
	z-index: 2;
	position: relative;
}


.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;
}

.alternados__gallery{
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

@media (min-width: 768px) {
	.alternados .flex-row-reverse .alternados__gallery{
		margin-left: 2.66rem;
	}
	.alternados .flex-row .alternados__gallery{
		margin-right: 2.66rem;
	}
}
/* 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 #C19E6C;
	border-radius: 0;
}
.faqs .accordion-body p {
	color: var(--text-color);
	margin-bottom: 0;
	font-family: Inter;
	font-size: 0.9375rem;
	font-style: normal;
	font-weight: 400;
	line-height: 180%; /* 1.6875rem */
}
.faqs .accordion-body {
	padding-top: 0!important;
	padding-right: 5rem;
}
.faqs .accordion-button {
	color: #161616;
	font-family: Inter;
	font-size: 1.0625rem;
	font-style: normal;
	font-weight: 400;
	line-height: 140%; /* 1.4875rem */
}
.faqs .accordion-button h3 {
	font-size: 1.0625rem;
	font-weight: 400;
	line-height: 140%; /* 1.4875rem */
}

.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: var(--dark);
	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='%23967949'%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: none; /* quita el invert */
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23967949'%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: Inter;
	font-size: 1.125rem;
	font-style: normal;
	font-weight: 500;
	line-height: 180%; /* 2.025rem */
	letter-spacing: 0.125rem;
	text-transform: uppercase;
}
.proyectos .cards .card-text {
	color: #FFF;
	text-align: center;
	font-family: Inter;
	font-size:  0.9375rem;
	font-style: normal;
	font-weight: 400;
	line-height: 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{
	position: relative;
}
.banner img{
	height: 100%;
    width: inherit;
    object-fit: cover;
    position: absolute;
    left: 0;
    top: 0;
}
.banner__title-text {
	color: #161616;
	font-family:  Inter;
	font-size: 2.25rem;
	font-style: normal;
	font-weight: 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: Inter;
	font-size: 2rem;
	font-style: normal;
	font-weight: 300;
	line-height: 140%; /* 2.8rem */
	text-wrap: balance;
}
.cta-text p {
	color: #FFF;
	text-align: center;
	font-family: Inter;
	font-size: 1rem;
	font-style: normal;
	font-weight: 400;
	line-height: 180%; /* 1.8rem */
}
.cta-links {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(max-content, 1fr));
    gap: 1.5rem; 
    justify-content: center; 
    width: fit-content; 
    margin: 0 auto; 
}

.cta-links .banner__link {
    display: flex !important;
    margin-top: 1.5rem !important; 
    width: 100%;
}

/* El botón real */
.cta-links .btn-gold {
    display: block;
    width: 100%; 
    text-align: center;
    white-space: nowrap; 
    padding: 10px 20px;
}
.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: 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 {
	border: none;
	border-radius: 0;
	background: #ffffff;
	background: #FFF;
	backdrop-filter: blur(2px);
}
.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(--black);
}
.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: var(--black)!important;
}

#gform_fields_1{
	gap: 0.5rem!important;
}
.gfield_consent_label{
	color: var(--black)!important;
}


/* BLOQUES FLEXIBLES: GALERIA */
.galeria__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); 
}

.galeria__item img {
	width: 100%;
	height: auto;
	object-fit: cover;
	height: 25rem;
}

@media (max-width: 768px) {
    .galeria__grid {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        gap: 10px;
    }

    .galeria__item {
        flex: 0 0 auto; /* tamaño fijo por item */
        width: 70%;     /* ajusta al gusto */
        scroll-snap-align: start;
    }
}


.galeria{
	& .galeria__item {
		overflow: hidden;
		& img {
			transition: transform 0.3s ease;
		}
	}
	& .galeria__item:hover {
		overflow: hidden;
		cursor: pointer;
		& img {
			transform: scale(1.02);
			transition: transform 0.3s ease;
		}
	}
}
/* 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;
}

/* PAGE: PROYECTOS */
.page-proyectos .grid-proyectos,
.page-productos .grid-proyectos {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.5rem;
}

.page-proyectos-grid{
	padding: 4rem 0;
}

/* 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 {
	color: var(--dark);
    border-radius: 100%;
    height: 80px;
    width: 80px;
    font-size: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}
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(--black);
    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: 0.9375rem;
	font-style: normal;
	font-weight: 300;
	line-height: 180%; /* 1.6875rem */
  }
  .swiper-button-prev, .swiper-button-next {
	display: flex;
	width: 3rem;
	height: 3rem;
	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: 1rem;
	color: #000;
  }



.nav-toggle { display: none; }

@media (max-width: 991px) {
  .nav-toggle {
      display: block;
      position: fixed;
      top: 50px;
      right: 20px;
      width: 40px;
      height: 30px;
      background: none;
      border: none;
      z-index: 10001;
      cursor: pointer;
  }
  .nav-toggle span { position: absolute; width: 100%; height: 3px; background: #fff; left: 0; transition: 0.3s; }
  .nav-toggle span:nth-child(1){ top:0; }
  .nav-toggle span:nth-child(2){ top:50%; transform:translateY(-50%); }
  .nav-toggle span:nth-child(3){ bottom:0; }
  .nav-toggle.active span:nth-child(1){ transform: rotate(45deg); top:43%; }
  .nav-toggle.active span:nth-child(2){ opacity:0; }
  .nav-toggle.active span:nth-child(3){ transform: rotate(-45deg); bottom:50%; }

  .mobile-nav { position: fixed; inset: 0; background: #000; transform: translateX(100%); transition: 0.4s; z-index: 10000; display:flex; justify-content:center; align-items:center; }
  .mobile-nav.active { transform: translateX(0); }

  .mobile-menu { list-style:none; margin:0; display:flex; flex-direction:column; gap:20px; width: 100%; height: 80%; padding-right: 2rem;}
  .menu-item { position:relative; }
  .menu-link { color:#fff; font-size:24px; background:none; border:none; cursor:pointer; display:flex; justify-content:space-between; width:100%; padding-left: 0; text-decoration: none;}
  .menu-link:hover { color:#ffcc00; }
  .arrow { font-size:24px; }

  .submenu-panel { position: fixed; inset: 0; background:#111; transform: translateX(100%); transition:0.4s; display:flex; flex-direction:column; justify-content:flex-start; align-items:flex-start; padding:30px; z-index:9999; }
  .submenu-panel.active { transform: translateX(0); }
  .submenu-panel .menu-item { margin:15px 0; }

  .back-btn { font-size:20px; background:none; border:none; color:#fff; cursor:pointer; margin-bottom:30px; }
  .submenu-toggle{
		all: unset;
  cursor: pointer;
		& .arrow { color: var(--white);
   }
}
}
























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

  /* Ocultar nav móvil en desktop */
  .mobile-nav { display: none !important; }

  /* Desktop nav: top-level */
  .desktop-menu { display:flex; flex-direction:row; gap:30px; padding:0; margin:0; list-style:none; }
  .desktop-menu > .menu-item { position: relative; }
  .desktop-menu > .menu-item > .desktop-link {
	color: #FFF;
	text-align: center;
	font-family: "Roboto Condensed";
	font-size: 0.9375rem;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	letter-spacing: 0.225rem;
	text-transform: uppercase;
	text-decoration: none;
  }
  .desktop-menu > .menu-item > .desktop-link:hover { color:#C09A5D; }

  /* Header scrolled: links oscuros */
  .header-scrolled .desktop-menu > .menu-item > .desktop-link:hover { color:#C09A5D; }

  /* Dropdowns 2º y 3er nivel */
  .desktop-submenu {
      display:none;
      position:absolute;
      top:100%;
      left:0;
      background:#fff;
      min-width:180px;
      flex-direction:column;
      padding:10px 0;
      box-shadow:0 4px 6px rgba(0,0,0,0.1);
      z-index:100;
      list-style:none;
  }

  .desktop-menu .menu-item { position:relative; }
  .desktop-submenu .menu-item { margin:0; }
  .desktop-submenu .desktop-link { padding:8px 15px; display:block; color:#000; text-decoration:none; white-space:nowrap; }
  .desktop-submenu .desktop-link:hover { color:#C09A5D; }

  /* Flechas indicadoras */
  .desktop-menu > .menu-item.menu-item-has-children > .desktop-link::after {
      content: ' ▾';
      font-size: 12px;
      opacity: 0.7;
  }
  .desktop-submenu .menu-item.menu-item-has-children > .desktop-link::after {
      content: ' ▸';
      font-size: 12px;
      opacity: 0.7;
      float: right;
      margin-left: 8px;
  }

  /* Mostrar al hover */
  .menu-item:hover > .desktop-submenu { display:flex; }

  /* Sub-submenus hacia la derecha */
  .desktop-submenu .menu-item:hover > .desktop-submenu { left:100%; top:0; display:flex; }

}




.topbar {
	i {
		color: var(--gold);
	}
	a, span{
		color: var(--white);
		font-family: "Roboto Condensed";
		font-size: 0.875rem;
		font-style: normal;
		font-weight: 400;
		line-height: 160%; /* 1.4rem */
		letter-spacing: -0.00175rem;
	}
	a:hover span{
		text-decoration: underline!important;
	}
}

.btn-gold{
	padding: 1rem 1.5rem;
	background-color: var(--gold);
	color: var(--black);
	font-family: "Roboto Condensed";
	font-size: 0.875rem;
	font-style: normal;
	font-weight: 600;
	line-height: 160%; /* 1.4rem */
	letter-spacing: 0.125rem;
	text-transform: uppercase;
	text-decoration: none;
	transition: 0.5s ease-in-out;
	border: 1px solid var(--gold);
}
.btn-gold:hover{
	border: 1px solid var(--black);
	background-color: var(--black);
	color: var(--white);
	transition: 0.5s ease-in-out;
}

.review__link .link{
	color: #C19E6C;
	font-family: Inter;
	font-size: 0.8125rem;
	font-style: normal;
	font-weight: 600;
	line-height: 140%; /* 1.1375rem */
	letter-spacing: 0.1875rem;
	text-transform: uppercase;
	border-bottom: 2px solid #C19E6C;
}

.review__link .link:hover{
	color: var(--black);
	font-family: Inter;
	font-size: 0.8125rem;
	font-style: normal;
	font-weight: 600;
	line-height: 140%; /* 1.1375rem */
	letter-spacing: 0.1875rem;
	text-transform: uppercase;
	border-bottom: 2px solid #161616;
	transition: 0.3s ease-in-out;
}



.proyectos-slide{
background: #e7dfd2; /* color claro base */
position: relative;
overflow: hidden;
}

.proyectos-slide::after {
    content: "";
    position: absolute;
    inset: 0;
    background: url("data:image/svg+xml;utf8,\ <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 400'>\ <path fill='%23c7ae8b' d='M0,300 C400,200 1000,100 1440,0 L1440,400 L0,400 Z'/>\ </svg>");
    background-size: cover;
    background-repeat: no-repeat;
    pointer-events: none;
}

.proyectos-slide__title{
	text-wrap: balance;
}

/* Bloque destacados*/ 

.destacados{
	margin: 5rem 0;
}

.destacados-texts{
	margin: 5rem 0;

	& .heading-2{
		text-wrap: balance;
	}
}

.destacado-item{
	padding: 1.5rem 2rem;
	border-left: 3px solid #C19E6C;
	background: rgba(239, 231, 218, 0.50);
	margin-bottom: 0.25rem;
	& .destacado-item__title{
		color: #161616;
		font-family: "Roboto Condensed";
		font-size: 1rem;
		font-style: normal;
		font-weight: 500;
		line-height: 160%; /* 1.6rem */
		letter-spacing: 0.125rem;
		text-transform: uppercase;
		margin-bottom: 0.25rem;
	}
}

.servicios{
	& .servicios-link img{
		transition: 0.5s ease-in-out;
	}
	& .servicios-link:hover img{
		transform: scale(1.02);
		transition: .5s ease-in-out;
	}
}


.tarjetas{
	& .tarjetas-link img{
		transition: 0.5s ease-in-out;
	}
	& .tarjetas-link:hover img{
		transform: scale(1.02);
		transition: .5s ease-in-out;
	}
}

.page-header-proyectos{
	@media (min-width: 768px) {
		& .page-header__body {
			padding: 3rem 2.5rem 3rem 0;
		}
	}
	& .features-container{
		gap: 0.5rem;
		display: flex;
		flex-direction: column;
		& .feature{
			border: 1px solid rgba(255, 255, 255, 0.20);
			background: rgb(255, 255, 255);
			padding: 0.625rem;
			& .feature-title{
				color: #161616;
				font-family: "Roboto Condensed";
				font-size: 0.875rem;
				font-style: normal;
				font-weight: 500;
				line-height: 160%; /* 1.4rem */
				letter-spacing: 0.125rem;
				text-transform: uppercase;
			}
			& .feature-text{
				color: #555;
				font-family: Roboto;
				font-size: 0.875rem;
				font-style: normal;
				font-weight: 400;
				line-height: normal;
			}
		}
	}
}

.page-header__img-single img{
	width: 100%;
	height: 100%;
	object-fit: cover;

}
.page-header__img-multiple img{
	width: 23.875rem;
	height: 20.4375rem;
}
.page-header__img-multiple{
	height: 30rem;
	position: relative;
	& .page-header__img-2{
		position: absolute;
		bottom: 0;
		right: 1rem;
	}
	& .page-header__img-1{
		position: absolute;
		top: 0;
		left: 2.25rem;
	}
}



.columns{
	margin: 4rem 0;
	& .heading-columns{
		color: #161616;
		font-family: Inter;
		font-size: 1.5rem;
		font-style: italic;
		font-weight: 300;
		line-height: 3.21313rem; /* 214.208% */
	}
	& .column {
		border-left: 1px solid #C19E6C;
		padding: 1rem 0 1rem 2rem;
		& .column-title{
			color: #161616;
			font-family: Inter;
			font-size: 1.125rem;
			font-style: normal;
			font-weight: 500;
			line-height: 140%; /* 1.575rem */
			margin-bottom: 0.5rem;
		}
		& .column-text, & .column-text p{
			color: #595959;
			font-family: Inter;
			font-size: 0.9375rem;
			font-style: normal;
			font-weight: 400;
			line-height: 180%; /* 1.6875rem */
			text-wrap: balance;
		}
		@media (min-width: 768px) {
			& .column-text{
				padding-right: 3.5rem;
			}
			
		}
	}
}



.diccionario-container, .blog-container, .single-blog-container{
	padding-bottom: 4rem;
	& .diccionario-menu .list-group-item {
		border: 1px solid #C09A5D;
		border-radius: 0 !important;
		padding: 0;
		width: 40px;   /* ajusta tamaño */
		height: 40px;  /* mismo que width */
		display: flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;

		&:first-child{
			width: auto;
    		padding: 0 1rem;
		}
		& a{
			background: #FFF;
			color: #C09A5D;
			font-family: Inter;
			font-size: 0.75rem;
			font-style: normal;
			font-weight: 500;
			line-height: 140%; /* 1.05rem */
			letter-spacing: 0.0625rem;
			text-transform: uppercase;
		}
	}
	& .letra{
		color: #161616;
		font-family: "Roboto Condensed";
		font-size: 2.5rem;
		font-style: normal;
		font-weight: 400;
		line-height: 160%; /* 4rem */
		letter-spacing: 0.125rem;
		text-transform: uppercase; 
		border-bottom: 1px solid #c09a5d4a;
	}
	& .termino{
		color: #161616;
		font-family:  Inter;
		font-size: 1.0625rem;
		font-style: normal;
		font-weight: 500;
		line-height: 140%; /* 1.4875rem */
	}
	& .descripcion{
		color: #595959;
		font-family: Inter;
		font-size: 0.9375rem;
		font-style: normal;
		font-weight: 400;
		line-height: 180%; /* 1.6875rem */
		padding-bottom: 0.5rem;
	}
	& .link{
			color: #C09A5D;
			text-align: right;
			font-family: Inter;
			font-size: 0.9375rem;
			font-style: normal;
			font-weight: 500;
			line-height: normal;
			text-decoration-line: underline;
			text-decoration-style: solid;
			text-decoration-skip-ink: auto;
			text-decoration-thickness: auto;
			text-underline-offset: auto;
			text-underline-position: from-font;
			border-bottom: 1px solid #C09A5D;
	}
	& .form-container{
		background: #EFE7DA;
		padding: 2.5rem 1.5rem;

	}
	& .sidebar-title {
		text-align: center;
		color: #161616;
		font-family: "Roboto Condensed";
		font-size: 1rem;
		font-style: normal;
		font-weight: 500;
		line-height: 160%; /* 1.6rem */
		letter-spacing: 0.125rem;
		text-transform: uppercase;
	}
    .gform_wrapper input[type="text"], .gform_wrapper input[type="email"], .gform_wrapper input[type="tel"], .gform_wrapper textarea {
        border: none; 
        border-radius: 0;
        background: #ffffff; 
        background: #FFF; 
        backdrop-filter: blur(2px);
    }
	textarea{
		height: 15px!important;
	}
	.gform_button {
		border: 2px solid #161616!important;
		background: #000!important;
		color: #fff!important;
		width: 100%!important;
	}
}

.diccionario-container .section__content{
	padding: 0.25rem 0 !important;
}

.category-cloud{
	padding-top: 2.5rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: center;
	justify-content: center;
	.tag-cloud-link{
		padding: 0.5rem 1rem;
		border: 1px solid #C09A5D;
		background: #FFF;
		color: #C09A5D;
		text-decoration: none;
		font-family: Inter;
		font-size: 0.75rem;
		font-style: normal;
		font-weight: 500;
		line-height: 140%; /* 1.05rem */
		letter-spacing: 0.0625rem;
		text-transform: uppercase;
	}
}

.sidebar-cta{
	padding: 4rem 1.5rem;
	& .title{
		color: var(--white, #FFF);
		text-align: center;
		text-shadow: 0 2px 2px rgba(0, 0, 0, 0.25);
		font-family: Inter;
		font-size: 1.25rem;
		font-style: normal;
		font-weight: 500;
		line-height: 140%; /* 1.75rem */
	}
} 

.single-blog-container .form-container{
	position: sticky;
	top: 120px;
}

.single-blog-container img{
	max-height: 700px;
	object-fit: cover;
	height: 100%;
	width: 100%;
}


.toc ul li:before{
	display: none;
}
.ml-0{
	margin-left: 0!important;
}


@media (max-width: 768px) {
	.page-header {
		padding: 1rem;
	}
	.page-header__form {
		padding: 1rem;
	}
	.page-header__body {
    	padding-top: 7rem;
		padding-bottom: 1.5rem;
	}
	.page-header__title{
		font-size: 2rem;
		text-wrap: balance;
	}
	.page-proyectos .grid-proyectos {
		padding: 1rem;
		grid-template-columns: repeat(1, 1fr);
	}
	.page-header__img-multiple {
		& .page-header__img-1 {
			left: 0;
		}
	}
	.page-header__img-multiple {
		& .page-header__img-2 {
			right: 0;
		}
	}
	.page-header__img-multiple img {
		width: 19.875rem;
		height: 16.4375rem;
	}
	
	.columns {
    	& .col-md-6:last-child .column {
			border-left: 0;
			border-right: 1px solid #C19E6C;
        	padding: 1rem 2rem 1rem 0rem;
	
		}
	}
	.slider-title {
		font-size: 3rem;
	}
	.slider-subtitle {
		font-size: 0.95rem;
	}
	.container-caso.big {
		height: 20.8125rem;
	}
}


.breadcrumbs{
	margin-bottom: 0.5rem;
	font-family: "Roboto Condensed";
	font-size: 0.8125rem;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	letter-spacing: 0.24375rem;
	text-transform: uppercase;
	text-decoration: none;
	& a, & span{
		color: #C09A5D;
		text-align: center;
		font-family: "Roboto Condensed";
		font-size: 0.8125rem;
		font-style: normal;
		font-weight: 400;
		line-height: normal;
		letter-spacing: 0.24375rem;
		text-transform: uppercase;
		text-decoration: none;
	}
	& a:hover{
		color: #C09A5D;
		text-decoration: underline;
	}
}





/* ---- TOC ---- */
.toc {
	border-radius: 0.5rem;
	border: 1px solid #DDE3E8;
	background: #fff;
}
.toc p {
	color: var(--color-black);
	font-family: var(--font-heading);
	font-size: 1.125rem;
	font-weight: 600;
	margin: 0;
	padding-bottom: 0.75rem;
	border-bottom: 2px solid var(--color-bg-blue-pale);
}
.toc .list-unstyled { padding: 0; }
.toc-li { padding: 0 !important; margin-bottom: 0 !important; }
.toc-li::before { display: none !important; }
.toc-li a {
	display: block;
	padding: 0.5rem 0;
	color: var(--color-text) !important;
	font-size: 0.9375rem;
	font-weight: 400;
	line-height: 1.5;
	text-decoration: none !important;
	border-bottom: 1px solid #f0f0f0;
	transition: color 0.2s ease, padding-left 0.2s ease;
}
.toc-li:last-child a { border-bottom: none; }
.toc-li a:hover {
	color: var(--color-primary) !important;
	padding-left: 0.5rem;
}
.content-list { list-style: none; padding: 0; }

/* TOC Movil */
.toc-mobile {
	position: sticky;
	top: 0;
	background: #fff;
	border-bottom: 1px solid #ddd;
	z-index: 1;
}
.toc-mobile li::before { display: none !important; }

.toc-toggle {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: var(--color-bg-light);
	border: 1px solid #DDE3E8;
	border-radius: 0.5rem;
	padding: 0.75rem 1rem;
	cursor: pointer;
	color: var(--color-black);
	font-family: var(--font-heading);
	font-size: 0.9375rem;
	font-weight: 600;
}
.toc-toggle .arrow {
	display: inline-block;
	width: 8px;
	height: 8px;
	border-right: 2px solid var(--color-primary);
	border-bottom: 2px solid var(--color-primary);
	transform: rotate(45deg);
	transition: transform 0.2s ease;
}

.toc-mobile.active .arrow,
.toc-fixed-bar.active .arrow {
	transform: rotate(-135deg);
}

.toc-mobile-list,
.toc-fixed-list {
	display: none;
	margin: 0;
	padding: 0;
	list-style: none;
}
.toc-mobile-list li a,
.toc-fixed-list li a {
	display: block;
	padding: 0.5rem 1rem;
	text-decoration: none;
	border-bottom: 1px solid #f0f0f0;
	color: var(--color-text);
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.5;
	transition: color 0.2s ease, background 0.2s ease;
}
.toc-mobile-list li:last-child a,
.toc-fixed-list li:last-child a {
	border-bottom: none;
}
.toc-mobile-list li a:hover,
.toc-fixed-list li a:hover {
	color: var(--color-primary);
	background: var(--color-bg-blue-light);
}
.toc-mobile.active .toc-mobile-list,
.toc-fixed-bar.active .toc-fixed-list {
	display: block;
}

/* Barra fija desktop */
.toc-fixed-bar {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	background: #fff;
	border-bottom: 1px solid #DDE3E8;
	z-index: 1;
	display: none;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
	transition: opacity 0.2s ease, transform 0.2s ease;
	opacity: 0;
	transform: translateY(-10px);
}
.toc-fixed-bar.visible {
	display: block;
	opacity: 1;
	transform: translateY(0);
}

[id] {
	scroll-margin-top: 100px; /* ajusta segun la altura de tu header */
	scroll-behavior: smooth;
}



/*Presupeustador*/
.gform_fields{
	gap: 0.5rem!important;
}
#gform_fields_2{
	gap: 0.5rem!important;
	& .gfield_description.instruction {
		display: none;
	}
	& .gfield_label{
		color: #555!important;
		font-family: Inter!important;
		font-size: 0.9375rem!important;
		font-style: normal!important;
		font-weight: 500!important;
		line-height: normal!important;
	} 
	

}
#gform_2 .gfield_consent_label{
	color: #555!important;
	font-family: Inter!important;
	font-size:  0.9375rem!important;
	font-style: normal!important;
	font-weight: 500!important;
	line-height: normal!important;
}

.gform-body select {
	border: none!important;
	border-radius: 0!important;
}
.gf_progressbar_wrapper, .gf_progressbar_title{
	margin: 0.35rem 0!important;
}
.gform_next_button {
	background: #C19E6C!important;
	padding: 0.75rem 1.5rem!important;
	color: #161616!important;
	font-family: Inter!important;
	font-size: 0.8125rem!important;
	font-style: normal!important;
	font-weight: 600!important;
	line-height: 140%!important; /* 1.1375rem */
	letter-spacing: 0.1875rem!important;
	text-transform: uppercase!important;
	border: 1px solid #C19E6C!important;
	border-radius: 0!important;
}

.gform_previous_button {
	border-radius: 0!important;
}

html {
  scroll-behavior: smooth;
}


