.elementor-kit-6{--e-global-color-primary:#2E4418;--e-global-color-secondary:#A2BB3F;--e-global-color-text:#1F2A16;--e-global-color-accent:#E9D506;--e-global-color-verdemedio:#4A6B22;--e-global-color-verdepalido:#D2DE8F;--e-global-color-marron:#996B42;--e-global-color-azul:#008BFF;--e-global-color-fondoclaro:#F6F8EF;--e-global-color-blanco:#FFFFFF;--e-global-color-grismedio:#5F6B52;--e-global-typography-primary-font-family:"Outfit";--e-global-typography-primary-font-weight:700;--e-global-typography-primary-line-height:1.15em;--e-global-typography-primary-letter-spacing:-0.5px;--e-global-typography-secondary-font-family:"Outfit";--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-line-height:1.3em;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.7em;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:600;--e-global-typography-accent-letter-spacing:0.3px;color:#1F2A16;font-family:"Inter", Sans-serif;font-size:17px;font-weight:400;line-height:1.7em;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 h1{color:#1F2A16;font-family:"Outfit", Sans-serif;font-size:52px;font-weight:700;}.elementor-kit-6 h2{color:#1F2A16;font-family:"Outfit", Sans-serif;font-size:40px;font-weight:700;}.elementor-kit-6 h3{color:#1F2A16;font-family:"Outfit", Sans-serif;font-size:28px;font-weight:700;}.elementor-kit-6 h4{color:#1F2A16;font-family:"Outfit", Sans-serif;font-size:22px;font-weight:700;}.elementor-kit-6 h5{color:#1F2A16;font-family:"Outfit", Sans-serif;font-size:19px;font-weight:700;}.elementor-kit-6 h6{color:#1F2A16;font-family:"Outfit", Sans-serif;font-size:17px;font-weight:700;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-family:"Inter", Sans-serif;font-size:16px;font-weight:600;border-radius:8px 8px 8px 8px;padding:16px 32px 16px 32px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ==================================================================
   Invernaderos Tahri — interacción
   Generado por build/06-estilo.php. No editar a mano: se sobrescribe.
   ================================================================== */

/* La curva de salida rápida es lo que separa un movimiento que se siente
   mecánico de uno que se siente físico. */
:root {
	--tahri-curva: cubic-bezier(.22,.68,.32,1);
	--tahri-verde:  #4A6B22;  /* verde medio de la familia del logotipo */
	--tahri-lima:   #A2BB3F;  /* el verde del rótulo */
	--tahri-sol:    #E9D506;  /* el amarillo del sol, color de acción */
	--tahri-oscuro: #2E4418;
}

html { scroll-behavior: smooth; }

/* ---------- Cabecera fija ---------- */
.tahri-cabecera {
	transition: padding .32s var(--tahri-curva),
	            box-shadow .32s ease,
	            background-color .32s ease;
}
.tahri-cabecera.elementor-sticky--effects {
	padding-top: 9px !important;
	padding-bottom: 9px !important;
	box-shadow: 0 8px 28px -14px rgba(46,68,24,.45);
	background-color: rgba(255,255,255,.93) !important;
	backdrop-filter: saturate(1.15) blur(8px);
	-webkit-backdrop-filter: saturate(1.15) blur(8px);
}

/* ---------- Menú: subrayado que crece desde la izquierda ---------- */
.tahri-cabecera .elementor-nav-menu .elementor-item { position: relative; }
.tahri-cabecera .elementor-nav-menu .elementor-item::before {
	content: "";
	position: absolute;
	left: 12px; right: 12px; bottom: 2px;
	height: 2px;
	background: var(--tahri-lima);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform .3s var(--tahri-curva);
}
.tahri-cabecera .elementor-nav-menu .elementor-item:hover::before,
.tahri-cabecera .elementor-nav-menu .elementor-item.elementor-item-active::before {
	transform: scaleX(1);
}

/* ---------- Botones ---------- */
.elementor-button {
	transition: transform .25s var(--tahri-curva),
	            box-shadow .25s ease,
	            background-color .25s ease,
	            border-color .25s ease;
}
.elementor-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 26px -14px rgba(46,68,24,.55);
}
.elementor-button:active { transform: translateY(0); transition-duration: .08s; }

/* El botón fantasma del hero no debe heredar la sombra roja. */
.tahri-hero .elementor-button[style*="rgba(255,255,255,0)"]:hover,
.tahri-hero .elementor-button:not([class*="rojo"]):hover {
	box-shadow: 0 14px 26px -14px rgba(0,0,0,.5);
}

/* ---------- Tarjetas: elevación ---------- */
.tahri-tarjeta {
	transition: transform .4s var(--tahri-curva),
	            box-shadow .4s ease,
	            border-color .4s ease;
}
.tahri-tarjeta:hover {
	transform: translateY(-8px);
	box-shadow: 0 28px 52px -26px rgba(46,68,24,.5);
	border-color: #C6D492 !important;
}

/* La barra de color de la tarjeta se ensancha al acercarse. */
.tahri-barra { transition: width .4s var(--tahri-curva); }
.tahri-tarjeta:hover .tahri-barra { width: 96px !important; }

/* ---------- Iconos ---------- */
.elementor-widget-icon-box .elementor-icon {
	transition: transform .35s var(--tahri-curva);
	display: inline-flex;
}
.elementor-widget-icon-box:hover .elementor-icon {
	transform: translateY(-4px) scale(1.09);
}

/* ---------- Titulares de sección con filete ---------- */
.tahri-titular .elementor-heading-title { position: relative; display: inline-block; }
.tahri-titular .elementor-heading-title::after {
	content: "";
	position: absolute;
	left: 0; bottom: -14px;
	height: 3px; width: 56px;
	border-radius: 3px;
	background: var(--tahri-lima);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform .55s var(--tahri-curva) .15s;
}
.tahri-titular:not(.elementor-invisible) .elementor-heading-title::after { transform: scaleX(1); }

/* ---------- Ficha de producto ---------- */
.tahri-ficha tr { transition: background-color .22s ease; }
.tahri-ficha tr:hover { background: #F6F8EF; }

/* ---------- Formulario ---------- */
.elementor-field-textual {
	transition: border-color .22s ease, box-shadow .22s ease, background-color .22s ease;
}
.elementor-field-textual:focus {
	border-color: var(--tahri-verde) !important;
	box-shadow: 0 0 0 3px rgba(74,107,34,.2);
	outline: none;
}

/* ---------- Hero: el velo se abre al cargar ---------- */
.tahri-hero::before { animation: tahriVelo 1.5s var(--tahri-curva) both; }
@keyframes tahriVelo {
	from { opacity: 1; }
	to   { opacity: var(--tahri-velo, .88); }
}

/* ---------- Enlaces del pie ---------- */
footer a, .elementor-location-footer a { transition: color .2s ease; }
.elementor-location-footer a:hover { color: #FFFFFF !important; }

/* ==================================================================
   Quien haya pedido menos movimiento en su sistema operativo lo ha
   pedido en serio: aquí se desactiva todo, no se suaviza.
   ================================================================== */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after {
		animation-duration: .001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .001ms !important;
	}
	.tahri-titular .elementor-heading-title::after { transform: scaleX(1); }
}/* End custom CSS */