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

LmasM 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/
*/

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

/* CUSTOM PROPERTIES */

:root {
	--tipo-body: 'Montserrat', sans-serif;
	--tipo-heading: 'Montserrat', sans-serif;
	--tipo-tagline: 'Inter', sans-serif;
	--inter: 'Inter', sans-serif;

	--black: #111111;
	--dark: #1D2026;
	--white: #ffffff;
	--grey: #c5c5c5;
	--dark-grey: #a5a5a5;
	--light-grey: #f5f5f5;
	--text-color: #474A4F;
	--primary-green: #687660;
	--secondary-green: #535e4d;
	--blue-elefeme: #0079c2;

	--shadow-header: 0px 1px 4px 0px rgba(0, 0, 0, 0.25);
	--shadow-card: 0px 4px 16px 0px rgba(0, 0, 0, 0.10);
	--shadow-container: 0px 4px 12px -2px rgba(0, 0, 0, 0.20);
	--shadow-text: drop-shadow(0px 4px 2px 0px rgba(0, 0, 0, 0.35));
	--transition: all 0.2s ease-in-out;
}




/* GENERIC */
.relative    { position: relative; }
.absolute    { position: absolute; }
.rounded     { border-radius: 8px; }
.cover       { background-position: center; background-repeat: no-repeat; 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)}

/* COLORS */
.c-green	   { color: var(--primary-green); }	
.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-grey         { background-color: var(--light-grey); }
.c-blue            { color: var(--primary-green); }
.c-bg-blue         { background-color: var(--primary-green); }
.c-bg-green         { background-color: var(--primary-green); }
.c-blue-2          { color: var(--secondary-green); }
.c-bg-blue-2       { background-color: var(--secondary-green); }
.c-bg-green-2       { background-color: var(--secondary-green); }
.c-blue-elefeme    { color: var(--primary-green); }
.c-bg-blue-elefeme { background-color: var(--primary-green); }
.c-bg-green-elefeme { background-color: var(--primary-green); }

html, body {
  overflow: auto;
}

/* BUTTONS */
.btn,
#gform_submit_button_1,
#gform_submit_button_2 {
	font-weight: 500;
	text-decoration: none;
	transition: var(--transition);
	border: none;
	border-radius: 0;
	font-family: var(--inter);
}
.btn-s,
#gform_submit_button_1,
#gform_submit_button_2 { 
	font-size: 15px;
	padding: 0.625rem 1.875rem;
}
.btn-m { 
	font-size: 18px;
	padding: 1rem 3rem;
}
 
.btn:disabled,
.btn-s:disabled { 
	opacity: 0.5;
	cursor: not-allowed;
}
.btn:hover { 
	cursor: pointer;
	text-decoration: none!important;
}
.btn-default,
#gform_submit_button_2 { 
	background-color: var(--primary-green); 
	color: var(--white); 
}
.btn-default:hover,
.btn-default:active,
#gform_submit_button_2:hover,
#gform_submit_button_2:active { 
	background-color: var(--secondary-green); 
	color: var(--white); 
}
.btn-primary,
#gform_submit_button_1 { 
	background-color:  var(--primary-green);
	color: var(--light-grey); 
}
.btn-primary:hover,
.btn-primary:active { 
	background-color: var(--primary-green); 
	color: var(--white); 
}
.btn-transparent { 
	background-color: rgba(255, 255, 255, 0.25); 
	color: var(--white);
}
.btn-transparent:hover,
.btn-transparent:active  { 
	background-color: rgba(255, 255, 255, 0.45); 
	color: var(--white);
}

/* BODY */
body { 
	min-height: 100vh; 
	width: 100%;
	margin: 0;
	font-family: var(--tipo-body);
	font-weight: 400;
	font-size: 1rem; 
	line-height: 1.5;
	color: var(--text-color);
	background: rgba(245, 245, 245, 0.96);
 
}

/* 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 */

/* FONTS - TEXT */
p        { line-height: 1.4; color: var(--text-color); }
big      { font-size: 1.2em; }
small    { font-size: 0.75em; }
b,strong { font-weight: 700; }
address  { margin: 0 0 2rem 0; }
hr {
	border-style: solid;
	border-width: 0.1rem 0 0 0;
	border-color: var(--grey);
	margin: 4rem 0;
}

.serif { font-family: var(--tipo-heading); }
.sans { font-family: var(--tipo-body); } 

.tagline {
	color: var(--secondary-green);
	font-family: var(--tipo-tagline);
	font-size: 24px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
}
.line-blue {
	width: 80px;
	height: 3px;
	background-color: var(--primary-green);
	margin-bottom: 10px;
}
.line-white {
	width: 64px;
	height: 1px;
	background-color: var(--white);
	margin-bottom: 10px;
}

.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; }
.fs19  { font-size: 19px; }
.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-green);
	cursor: pointer;
}

/* 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: 101;
	background-color: transparent;
}
.header-bottom { 
	min-height: 70px;
}
.header .brand img { 
	width: auto; 
	max-height: 80px;
}
.header .brand-color {
	display: none;
}
.header.scrolled {
	background-color: var(--white);
	box-shadow: var(--shadow-header);
}
.header.scrolled .header-bottom {
	min-height: 60px;
}
.header.scrolled .brand-color {
	display: block;
}
.header.scrolled .brand-white {
	display: none;
}

/* TOPBAR */
.topbar { padding-top: 1rem;}
.topbar i { color: var(--white); }
.topbar a span { color: var(--white); }
.topbar a:hover span,
.topbar a:hover i { color: var(--secondary-green); }
.topbar .icons-contact { 
	padding-right: 16px;
	border-right: 1px solid var(--white);
}

.header.scrolled .topbar {
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
	background-color: var(--bg-grey);
}
.header.scrolled .topbar a span,
.header.scrolled .topbar i { 
	color: var(--secondary-green);
}
.header.scrolled .topbar a:hover span,
.header.scrolled .topbar a:hover i { 
	color: var(--primary-green);
}
.header.scrolled .topbar .icons-contact { 
	border-right: 1px solid var(--secondary-green);
}

/* 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"] {
	color: var(--primary-green);
}
.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-green);
}
.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-green);
}

/* BTN MOBILE */
.btns-contact {
	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, -64px); }
.contact-active .btn-phone { transform:  translate(4px, -120px); }
.contact-active .btn-email { transform:  translate(4px, -176px); }
.contact-active .btn-contact-main .fa-whatsapp { transform: rotate(45deg) translate(-20px, -2px); }
.btns-contact .fa-whatsapp, .btns-contact .fa-phone, .btns-contact .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; }

/* SLIDER */
.slider .arrow-icon {
	bottom: 24px;
	right: 50%;
	font-size: 40px;
	color: var(--white);
	z-index: 5;
}
.slider .container-slider {
  width: 100%;
  height: 100%;
  left: 0;
  right: 0;
  top: 0;
  padding: 100px 0;
  position: absolute;
  z-index: 2;
  background: linear-gradient(to right, rgba(0, 0, 0, 0.35) 20%, transparent 80%);
}
.slider .container-slider::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.2);
  z-index: -1;
}
.circle-background {
  width: 1400px;
  height: 1400px;
  flex-shrink: 0;
  border-radius: 923px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(3px);
  position: absolute;
  left: 50%;
  top: -25%;
}
.slider .container-slider > .container {
	height: 100%;
}
.slider .container-slider .slider-title {
	filter: var(--shadow-text);
}
.slider .container-slider p:not(.slider-title) {
	color: var(--white);
	filter: var(--shadow-text);
}
.slider__items-right {
	filter: drop-shadow(0px 3px 1px rgba(0, 0, 0, 0.35));
}
.slider .img-grass-1 { 
	left: 0;
	bottom: -1px;
	z-index: 3;
}
.slider .img-grass-2 { 
	right: 0;
	bottom: -1px;
	z-index: 3;
}

/* PAGEHEADER */
.pageheader .body {
	z-index: 5;
}
.pageheader::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.50) 0%, rgba(0, 0, 0, 0.00) 100%), linear-gradient(0deg, rgba(0, 0, 0, 0.20) 0%, rgba(0, 0, 0, 0.20) 100%);
	background-size: cover;
	background-repeat: no-repeat;
	z-index: 1;
}
.pageheader .breadcrumbs a:hover {
	color: var(--primary-green);
}
.pageheader .breadcrumbs,
.pageheader .title { 
	text-shadow: 0px 2px 2px rgba(0, 0, 0, 0.20);
}
.pageheader .img-grass {
	bottom: -4px;
	z-index: 3;
}
.pageheader .img-grass-1 { left: 0; }
.pageheader .img-grass-2 { right: 0; }

/* SIDEBAR */
.aside {
	right: 0;
	z-index: 100;
}
.asideform {
	background-color: rgba(246, 246, 246, 0.85);
	border-radius: 4px;
	border: 1px solid var(--bg-grey);
}
.aside .title-sidebar { color: var(--secondary-green); }

/* Form Gravity Forms */

.gform_fields{
	gap: 1rem!important;
}

.contacto-form .gform_wrapper {
	padding: 2rem 1.5rem 1rem;
	margin-top: 2rem;
	background: var(--light-grey);
}
.gform_body input[type="text"],
.gform_body input[type="tel"],
.gform_body input[type="email"],
.gform_body textarea {
	width: 100%;
	padding: 10px;
	margin-bottom: 10px;
	border-radius: 0;
	color: var(--text-color);
	border: 1px solid var(--bs-border-color);
	background: var(--white);
}
.gform_body .gform-field-label {
	font-weight: bold;
	color: var(--dark);
}
.gfield_consent_label a {
	color: var(--primary-green);
}
.ginput_container_consent {
	display: flex;
	gap: 6px;
	align-items: flex-start;
}
.ginput_container_consent input[type="checkbox"] {
	margin-right: 5px; 
	margin-top: 5px; 
	vertical-align: middle; 
}
.gform_footer {
	padding: 0;
} 

/* RELATED */
.container-related .post-img {
	height: 290px;
	transition: var(--transition);
}
.container-related .link-post:hover .post-img {
	transform: scale(1.2);
}
.container-related .link-post:hover .post-heading {
	background: rgba(29, 32, 38, 0.80);
}
.related_productos .post-heading p {
	color: var(--white);
}
.related .post-link {
	bottom: 0;
	right: 0;
}
.related_productos article.post > img {
	opacity: 0.6;
	min-height: 400px;
}

.block-related .post {
	min-height: 400px;
}

/* DESTACADOS HOME */
section.destacados-home .destacado {
	box-shadow: var(--shadow-card);
}
section.destacados-home .destacado .body {
	background: rgba(29, 32, 38, 0.60);
	min-height: 300px;
}
section.destacados-home .destacado__body-text p {
	color: var(--white);
}
.section-items-destacados {
	margin-bottom: 6rem;
}
.section-items-destacados::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(0deg, rgba(0, 20, 44, 0.10) 0%, rgba(0, 20, 44, 0.10) 100%), linear-gradient(0deg, rgba(0, 0, 0, 0.60) 0%, rgba(0, 0, 0, 0.60) 100%);
	z-index: 1;
}
.section-items-destacados .container {
	z-index: 2;
}
.section-items-destacados .body-text p {
	color: var(--white);
}
.section-items-destacados .icono {
	width: 60px;
	height: 60px;
}
.section-items-destacados .img-grass {
	bottom: -4px;
	z-index: 3;
}
.section-items-destacados .img-grass-1 { left: 0; }
.section-items-destacados .img-grass-2 { right: 0; }

/* ALTERNADOS */
.alternados .body-text.c-white p {
	color: var(--white);
}
.bg-textura {
	bottom: 0;
	right: 0;
	height: 85%;
	width: 40%;
	opacity: 0.7;
}

/* MODELOS CESPED */
.section-modelos-cesped .big-title {
	color: rgba(242, 242, 242, 0.50);
	font-size: 6.25rem;
}
.cesped-image {
	object-fit: cover;
	border: 1px solid #ccc;
}
.container-info-cesped {
	max-width: 330px;
	gap: 0.5rem;
	padding: 1.5rem;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
	bottom: 0;
	left: 250px;
}
.modelo-cesped {
	cursor: pointer;
	border-radius: 0.25rem;
	box-shadow: 0px 4px 12px -2px rgba(0, 0, 0, 0.20);
	transition: background-color 0.3s ease;
}
.modelo-cesped__img {
	width: 150px;
	height: 100%;
	object-fit: cover;
	border-radius: 0 0.25rem 0.25rem 0;
}
.modelo-cesped:hover {
	background-color: var(--primary-green);
}
.modelo-cesped:hover p,
.modelo-cesped:hover a {
	color: var(--white);
}
.modelos-cesped .selected {
	background-color: var(--primary-green);
}
.modelos-cesped .selected .body-text p.name-modelo,
.modelos-cesped .selected .body-text a.link-model {
	color: var(--white);
}
.modelo-cesped .body-text {
	padding: 0 24px;
}
.modelo-cesped .body-text .name-modelo {
	color: var(--dark);
}
  
/* BANNER */
.banner .container-banner {
  width: 100%;
  height: 100%;
  left: 0;
  right: 0;
  top: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.40) 0%, rgba(0, 0, 0, 0.00) 100%), linear-gradient(0deg, rgba(0, 0, 0, 0.50) 0%, rgba(0, 0, 0, 0.50) 100%);
  z-index: 2;
  background-attachment: scroll;
}
.banner .container-banner > .container {
  height: 100%;
  max-width: 850px;
}
.banner .container-banner p:not(.banner-title) {
  color: var(--white);
  font-size: 17px;
}

.banner .img-top-banner { 
	max-height: 80px; 
	width: 100%;
	height: 100%;
	object-fit: contain;
	margin-bottom: 16px;
}
/* FAQS */
section.faqs .heading {
	max-width: 850px;
}
section.faqs .accordion { 
    box-shadow: var(--shadow-card);
}
section.faqs .accordion .card:not(.last-child) { 
    border-bottom: 1px solid var(--light-grey)!important;
}
section.faqs .accordion .card-header { 
	background-color: var(--white);
    border: none;
	border-radius: unset;
}
section.faqs .card,
section.faqs .accordion .collapse,
section.faqs .accordion .card-body { 
	border-radius: unset;
}
section.faqs .accordion i { 
	width: 24px;
	height: 24px;
	font-size: 24px;
	color: var(--grey);
}
section.faqs .accordion i:hover {
	color: var(--grey);
}
section.faqs a[aria-expanded="true"] .card-header { 
	background: #F4F9EA;
	border-left: 3px solid var(--primary-green);
}
section.faqs a[aria-expanded="true"] .title-faq { 
	color: var(--primary-green); 
	font-weight: 500;
}
section.faqs a[aria-expanded="true"] i {
	color: var(--primary-green);
}
section.faqs .show {
	background: #EDF3FA;	
	border-left: 3px solid var(--secondary-green);
}


/* ----------------
------ PAGES ------
------------------- */

/* PAGE-INSTALACION */
.instalacion .destacado {
	box-shadow: var(--shadow-card);	
}
.instalacion .destacado .icon {
	width: 64px;
	height: 64px;
}
.instalacion .destacado .post-title {
	padding: 0 8px 8px;
	border-bottom: 2px solid var(--primary-green);
}
.instalacion .destacado .text p {
	color: var(--white);
	margin-bottom: 0;
}

/* ----------------
------- CPT -------
------------------- */

/* PRODUCTOS */

body.productos .tabla-intro {
	box-shadow: 0px 4px 12px -2px rgba(0, 0, 0, 0.20);
}
body.productos .tabla-intro .value {
	color: var(--text-color);
}
section.product-tecnhical-sheet > table {
	border-radius: 4px;
	border: 1px solid #e6e6e6;
}
section.product-tecnhical-sheet > table td.col-characteristic {
	background-color: rgba(0, 0, 0, 0.02)!important;
}
section.product-tecnhical-sheet > table td.col-description {
	color: var(--text-color);
}
body.productos .gallery .img-gallery {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 8px;
	box-shadow: 0px 2px 4px -2px rgba(0, 0, 0, 0.20);
}
.block-gallery .img-cabecera {
	height: 342px;
}
.block-gallery .gallery {
	box-shadow: 0px 4px 12px -2px rgba(0, 0, 0, 0.20);
}
.block-gallery .img-gallery {
	min-height: 380px;
}


/* FOOTER */
.footer__top-brand .logo-footer {
	max-width:125px;
	height: auto;
}
.footer__top-brand .sociales a {
	display: flex;
	width: 36px;
	height: 36px;
	justify-content: center;
	align-items: center;
	border-radius: 50px;
	background-color: var(--primary-green);
	color: var(--white);
}
.footer__top-brand .sociales a i {
	font-size: 20px;
	flex-shrink: 0;
	fill: var(--white);
}
.footer__top-brand .sociales a:hover {
	background-color: var(--primary-green);
}
.footer__menu li {
	color: var(--text-color);
}
.footer__menu li a {
	text-decoration: none;
	transition: var(--transition);
	font-size: 14px;
	font-weight: 500;
}
.footer__menu li:hover a {
	text-decoration: underline;
	color: var(--secondary-green);
}
.footer__bottom {
	border-top: 1px solid var(--primary-green);
}

/* GOOGLEMAP */
.acf-map, .acf-map2 { display: block; width: 100%; height:400px; }

/* SCROLL TO TOP */
.scrollToTop {
	position: fixed; 
	bottom: 56px; 
	right: 8px; 
	width: 48px; 
	height: 48px; 
	background-color: var(--secondary-green); 
	color: var(--white); 
	border-radius: 2px; 
	cursor: pointer; 
	text-align: center;
	line-height: 48px;
	font-size: 24px;
	z-index: 130;
	transition: var(--transition);
}
.scrollToTop:hover { 
	background-color: var(--primary-green); 
}

/* ERROR 404 */
.page-404 .site-main {
	padding-top: 80px;
}
.page-404 .grass {
	width: 100%;
	height: 104px;
	text-align: center;
	margin: 0 auto;
	border-bottom: 1.7rem solid #5b4836;
	bottom: 0;
}
.page-404 .grass svg {
	fill: #5d9345;
	animation: skew 3s infinite;
	transform: skew;
	animation-direction: alternate;
}
@keyframes skew {
	0% {
		transform: skewX(13deg) translate(-7px);
	}
	100% {
		transform: skewX(-13deg) translate(7px);
	}
}

/* Bloque Flexible: carrousel */

.carousel-item{
	max-height: 500px;
}

.carrousel-tagline{
	color: #fff;
	text-align: center;
	font-family: var(--inter);
	font-size: 1.25rem;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
}
.carrousel-title{
	color: #FFF;
	text-align: center;
	font-family: var(--tipo-heading);
	font-size: 2.25rem;
	font-style: normal;
	font-weight: 800;
	line-height: normal;
}
.carrousel-text p{
	color: #FFF;
	font-family: var(--tipo-body);
	font-size: 1rem;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
}

.carousel-indicators [data-bs-target] {
	width: 15px;
	height: 15px;
	border-radius: 50%;
}


/* Bloque Flexible: tabs */


.tab-item {
    position: relative;
    overflow: hidden;
    transition: all 1.5s cubic-bezier(0.25, 1, 0.5, 1);
    display: flex;
    align-items: flex-end;
    justify-content: center;
    cursor: pointer;
	flex-direction: column;
	width: 80px;
}

.tab-title {
    position: absolute;
    bottom: 0;
    left: 5px;
    writing-mode: vertical-rl; /* texto vertical */
    transform: rotate(180deg); /* hace que vaya de abajo hacia arriba */
	color: #F2F2F2;
	font-family: var(--tipo-heading);
	font-size: 1.5rem;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
}

/* Ocultamos texto y botón inicialmente */
.tab-text,
.tab-item .btn {
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.4s ease;
    color: #fff;
}

/* Hover → se expande, cambia título, muestra contenido */


.tab-item:hover, .tab-item.active {
    width: 300px;
    align-items: start;
    justify-content: center;
	padding-left: 1.5rem;

}

/* Título pasa a horizontal */
.tab-item:hover .tab-title, .tab-item.active .tab-title  {
    writing-mode: horizontal-tb;
    transform: rotate(0);
    position: static;
    margin-bottom: 10px;
	text-align: start;
}

/* Texto y botón aparecen */
.tab-item:hover .tab-text,
.tab-item:hover .btn, .tab-item.active .tab-text,
.tab-item.active .btn {
    opacity: 1;
    transform: translateY(0);
}

/* Suaviza la animación */
.tab-text {
    transition-delay: 0.1s;
    max-width: 500px;
	padding-right: 1.5rem;	
}
.tab-text p{
	font-size: 13px;
	color: #ffffff;
	text-align: start;
}

.tabs-tagline{
	color: #153B00;
	font-family: var(--tipo-tagline);
	font-size: 1.125rem;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
}

.tabs-title{
	color: var(--color-primary, #687660);
	font-family: var(--tipo-heading);
	font-size: 1.75rem;
	font-style: normal;
	font-weight: 800;
	line-height: normal;
}

.tabs-text p{
	color: var(--text-color, #474A4F);
	font-family: var(--tipo-heading);
	font-size: 0.9375rem;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
}

/* === SCROLL HORIZONTAL SUAVE Y FUNCIONAL EN MÓVIL === */
@media (max-width: 767.98px) {

    .tabs .col-md-9 {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch;      /* suaviza en iOS */
        scroll-behavior: smooth;                /* suaviza en todos los navegadores modernos */
        scroll-snap-type: x mandatory;
        gap: 1rem;
        width: 100% !important;
        padding: 0 1rem 1rem 1rem;
        box-sizing: border-box;
        scrollbar-width: thin;
        scrollbar-color: rgba(150,150,150,0.4) transparent;
    }

    /* Scrollbar opcional */
    .tabs .col-md-9::-webkit-scrollbar { height: 6px; }
    .tabs .col-md-9::-webkit-scrollbar-thumb {
        background: rgba(150,150,150,0.35);
        border-radius: 4px;
    }

    /* Cada tab */
    .tabs .col-md-9 > .tab-item {
        display: inline-flex !important;
        flex: 0 0 85% !important;
        min-width: 85% !important;
        max-width: 85% !important;
        height: 400px !important;
        box-sizing: border-box !important;
        scroll-snap-align: center;              /* se centra al parar el scroll */
        border-radius: 10px;
        overflow: hidden;
        padding: 1rem !important;
        align-items: flex-end !important;
        justify-content: flex-end !important;
        transition: all 0.5s ease !important;
    }

    .tab-title {
        writing-mode: horizontal-tb !important;
        transform: none !important;
        position: static !important;
        margin-bottom: 0.5rem !important;
        text-align: left !important;
    }

    .tab-text,
    .tab-item .btn {
        opacity: 1 !important;
        transform: none !important;
    }

    .tab-text p { font-size: 14px !important; }

    .tabs .container,
    .tabs .row {
        overflow: visible;
    }
}






/* Bloque Flexible: tipes */

.cards-title{
	color: #001324;
	font-family: var(--tipo-heading);
	font-size: 1.5rem;
	font-style: normal;
	font-weight: 500;
	line-height: 140%; /* 2.1rem */
	letter-spacing: -0.03rem;
}

.card-text p{
	color: #4C565E;
	font-family: var(--tipo-body);
	font-size: 1rem;
	font-style: normal;
	font-weight: 400;
	line-height: 160%; /* 1.6rem */
}
.tipes-card{
	padding: 3rem 2rem 2rem 2rem;
}
.tipos-marco{
	background-color: #fff;
	padding: 3rem 0;
}

/* Bloque Flexible: marcas */

.tipos{
	margin: 5rem 0;;
}

.carousel-wrapper {
    overflow: hidden;
    position: relative;
    margin: 20px 0;
}

.carousel-track {
    display: flex;
    width: max-content;
    animation: scroll 40s linear infinite;
}

.marcas .carousel-item {
    flex: 0 0 auto;
    width: 150px;
    margin: 0 20px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.marcas .carousel-item img {
    max-width: 100%;
    height: auto;
}

@keyframes scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); } /* -50% porque duplicamos items */
}
.brand__img {
	max-width: 120px;
	height: auto;
}

.reviews{
	padding: 4rem 0;
}

@media (max-width: 768px) {
	.reviews{
	padding: 2rem 0;
	}
	.pageheader .body .title {font-size: 2rem!important;}
	#menu-menu-principal .sub-menu a {background-color: var(--white);}
	.woocommerce-tabs h2, .related.products > h2{
		font-size: 1.75rem!important;
	}

}

/* Tienda */

.woocommerce-loop-product__title{
	font-weight: 600;
	font-size: 1rem;
	line-height: 1.5rem;
	padding-bottom: 0!important;
}

.woocommerce ul.products li.product a img {
	margin-bottom: 0!important;

}
.woocommerce ul.products li.product a img:hover {
	transform: scale(1.01);
	transition: .3s ease-in-out;

}

a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart{
	display: none!important;
}

.price{
	color: #687660;
	font-family: var(--tipo-heading);
	font-size: 1rem;
	font-style: normal;
	font-weight: 700;
	line-height: 1.5rem;
}
a.product.relative.enlarge{
	display: none!important;
}
button.single_add_to_cart_button.button.alt{
	border-radius: 2px!important;
	border: 1px solid #687660!important;
	background: #687660!important;
	border-radius: none!important;
}

.trabajos-imagen{
	height: 250px;
}
.trabajos-card:hover img{
	transform: scale(1.01);
	transition: .3s ease-in-out;
}
.trabajos-card img{
	transition: .3s ease-in-out;
}
[id] {
  scroll-margin-top: 100px; /* ajusta según la altura de tu header */
  scroll-behavior: smooth;
}

.fa-angle-down:before{ 
	color: var(--white);
}



#menu-menu-principal .sub-menu{
	background-color: var(--white);
}

@media (max-width: 767px) {
	#menu-menu-principal .sub-menu{
		padding-left: 2rem;
	}

}

#menu-menu-principal .sub-menu a{
	color: var(--text-color, #474A4F);
	font-family: var(--tipo-heading);
	font-size: 15px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
	padding: 0 1rem;
}
@media (min-width: 768px) {	
	#menu-menu-principal .sub-menu li:hover{
		background: rgba(104, 118, 96, 0.66);
	}
	#menu-menu-principal .sub-menu li:hover > a{
		color: var(--white);
	}
	#menu-menu-principal > li:last-child{
		font-family: var(--tipo-heading);
		font-size: 15px;
		font-style: normal;
		font-weight: 700;
		line-height: normal;
		background-color: var(--primary-green);
	}
	#menu-menu-principal > li:last-child:hover{
		color: var(--white, #FFF)!important;
		background-color: #687660d8;	
	}
	#menu-menu-principal > li:last-child a{
		color: var(--white, #FFF)!important;
	}

}


/* ===== Desktop base ===== */
.main-navigation{ position:relative; }
.main-navigation .menu{ list-style:none; margin:0; padding:0; display:flex; }
.main-navigation .menu > li{ position:relative; padding:15px 20px; }
.main-navigation .menu a{
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    text-decoration: none;
}
@media (min-width: 769px) {
    .header:not(.scrolled) .main-navigation .menu a {
        color: #ffffff;
    }
}

/* Dropdown (2º nivel) */
.main-navigation .dropdown-menu{
  display:none; position:absolute; top:100%; left:0; margin:0; padding:0; list-style:none;
  background:#fff; box-shadow:0 2px 10px rgba(0,0,0,.1); min-width:200px; z-index:1000;
    width: max-content;
    border-radius: 0px;
}
.main-navigation .dropdown-menu > li, .main-navigation .lateral-menu > li{
    padding: 0.5rem 0;
}
.main-navigation .has-dropdown:hover > .dropdown-menu{ display:block; }

/* Lateral (3º nivel) */
.main-navigation .lateral-menu{
  display:none; position:absolute; top:0; left:100%; margin:0; padding:0; list-style:none;
  background:#fff; box-shadow:2px 2px 10px rgba(0,0,0,.1); min-width:200px; z-index:1001;
}
.main-navigation .has-lateral:hover > .lateral-menu{ display:block; }

.main-navigation .dropdown-arrow,
.main-navigation .lateral-arrow{ font-size:.8em; margin-left:5px; }

/* Botón hamburguesa */
.menu-toggle{
  display:none; background:#333; color:#fff; border:none; padding:12px 15px; border-radius:4px;
  cursor:pointer; font-size:18px; position:relative; z-index:1002;
}
.hamburger-icon{ display:flex; flex-direction:column; gap:4px; width:25px; }
.hamburger-icon span{ display:block; width:25px; height:3px; background:#fff; transition:all .3s; }
.menu-toggle.active .hamburger-icon span:nth-child(1){ transform:rotate(45deg) translate(5px,5px); }
.menu-toggle.active .hamburger-icon span:nth-child(2){ opacity:0; }
.menu-toggle.active .hamburger-icon span:nth-child(3){ transform:rotate(-45deg) translate(5px,-5px); }

/* Botón para submenús */
.submenu-toggle{
  display:none; background:none; border:none; padding:10px; cursor:pointer; font-size:16px; color:#333;
}
.submenu-toggle .toggle-icon{ display:inline-block; transition:transform .3s; }
.submenu-toggle[aria-expanded="true"] .toggle-icon{ transform:rotate(180deg); }
.lateral-toggle[aria-expanded="true"] .toggle-icon{ transform:rotate(90deg); }

/* ===== MÓVIL: overlay y despliegues por tap ===== */
@media (max-width:768px){
  .menu-toggle{ display:block !important; }
  .menu-toggle.active{ position:fixed; top:8px; right:8px; z-index:100003; }

  .main-navigation .menu{
    display:none !important; flex-direction:column;
    position:fixed !important; top:0; left:0; right:0; bottom:0;
    width:100vw; height:100vh; background:#fff; z-index:100002;
    overflow-y:auto; padding-top:56px;
  }
  .main-navigation .menu.mobile-active{ display:flex !important; }

  /* Admin bar */
  body.admin-bar .main-navigation .menu{ top:46px; height:calc(100vh - 46px); }
  @media (min-width:782px){ body.admin-bar .main-navigation .menu{ top:32px; height:calc(100vh - 32px); } }

  .main-navigation .menu > li{ padding:0; border-bottom:1px solid #eee; }
  .main-navigation .menu > li > a{ display:block; padding:15px 20px; }

  .main-navigation .dropdown-arrow,
  .main-navigation .lateral-arrow{ display:none; }

  /* Mostrar botón toggle en cualquier item con hijos */
  .main-navigation .has-submenu{ position:relative; }
  .main-navigation .submenu-toggle{
    display:block !important; width:44px; height:44px; line-height:44px; text-align:center;
    position:absolute; right:6px; top:50%; transform:translateY(-50%); z-index:5;
  }

  /* Los submenús en flujo normal */
  .main-navigation .sub-menu,
  .main-navigation .dropdown-menu,
  .main-navigation .lateral-menu{
    position:static !important; display:none !important; width:100%; box-shadow:none !important; background:#f9f9f9;
  }
  .main-navigation .sub-menu.mobile-open{ display:block !important; }

  .main-navigation .sub-menu > li > a{ padding:12px 20px 12px 40px; }
  .main-navigation .lateral-menu > li > a{ padding-left:60px; background:#f0f0f0; }
  #menu-menu-principal a:active{
	color: #48aa81;
	text-decoration: underline;
}
  #menu-menu-principal a:active,
  #menu-menu-principal .current-menu-item > a{
	color: #48aa81;

}
}

/* Bloqueo de scroll cuando el menú está abierto */
html.nav-open, body.nav-open{ overflow:hidden; }
i.ph.ph-caret-down{
    font-size: 1rem;
    font-weight: 700;
}

.product_meta {
    display: flex;
    flex-direction: column;
}

.wc-block-cart__submit-button{
	background-color: var(--primary-green);
    color: var(--white);
	text-decoration: none;
}


