/*
Theme Name: Ecofine Child
Author: ThemePul
Description: This child theme is only for Ecofine Theme.
Version: 1.0.0
Template: ecofine

This is the child theme for Ecofine theme

/* HEADER ICON FIX — COLOR, SIZE, GAP */
.header-links i,
.header-links svg,
.header-links .icon {
    color: #4BAF47 ;
    fill: #4BAF47 ;
    width: 14px ;
    height: 14px ;
    font-size: 14px ;
    line-height: 14px ;
    display: inline-block ;
    margin-right: 8px ; 
    vertical-align: middle ;
}
.header-links img {
    width: 14px ;
    height: 14px ;
    object-fit: contain ;
    margin-right: 8px ; 
    vertical-align: middle ;
}
.header-links a {
    display: inline-flex ;
    align-items: center ;
    gap: 8px ;  
}
.header-social i,
.header-social svg {
    color: #ffffff ;
    fill: #ffffff ;
    width: 14px ;
    height: 14px ;
    font-size: 14px ;
    line-height: 14px ;
    display: inline-block ;
    vertical-align: middle ;
}
.header-social svg path {
    fill: #ffffff ;
}
.ft-two-top-icon svg,
.ft-two-top-icon i {
    width: 16.5px ;
    height: 22px ;
    min-width: 16.5px ;
    min-height: 22px ;
    color: #4BAF47 ;
    fill: #4BAF47 ;
    display: inline-block ;
    vertical-align: middle ;
}
.ft-two-top-info {
    display: flex ;
    align-items: center ;
}
.ft-two-top-icon {
    margin-right: 12px ;
}
.main-menu a {
    text-transform: none;
}
.page-title {
    text-transform: none !important ;
}
.eco-section-title{
    text-transform: none !important ;
}
.play-btn{
    display:none;
}






/* ============================================================
 *  CSS LISTADO DE SISTEMAS - Diseño Moderno
 * ============================================================ */

/* Contenedor principal */
.systems-list-container {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
}

/* Tabla */
.systems-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* Cabecera */
.systems-table thead th {
    background: linear-gradient(135deg, #4baf47 0%, #3d9639 100%);
    color: #fff;
    font-weight: 600;
    text-align: left;
    padding: 16px 20px;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border: none;
}

.systems-table thead th:first-child {
    border-radius: 8px 0 0 0;
}

.systems-table thead th:last-child {
    border-radius: 0 8px 0 0;
}

/* Filas */
.systems-table tbody tr {
    border-bottom: 1px solid #f0f0f0;
    transition: background-color 0.2s ease;
}

.systems-table tbody tr:last-child {
    border-bottom: none;
}

.systems-table tbody tr:hover {
    background-color: #f8fdf8;
}

/* Celdas */
.systems-table tbody td {
    padding: 16px 20px;
    font-size: 14px;
    color: #333;
}

.systems-table tbody td:first-child {
    font-weight: 600;
    color: #2c3e50;
}

/* Descripción más corta */
.systems-table tbody td:nth-child(3) {
    max-width: 300px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #666;
}

/* Precios alineados a la derecha */
.systems-table tbody td:nth-child(4),
.systems-table tbody td:nth-child(5) {
    text-align: right;
    font-weight: 500;
    color: #4baf47;
}

/* Loader del shortcode */
.loader-container-wp {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 400px;
}

.loader-container {
    width: 60px;
    height: 60px;
    position: relative;
}

.shape {
    position: absolute;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #4baf47;
}

.shape-1 {
    left: 0;
    top: 0;
    animation: shape1 1.5s infinite ease-in-out;
}

.shape-2 {
    right: 0;
    top: 0;
    animation: shape2 1.5s infinite ease-in-out;
}

.shape-3 {
    left: 0;
    bottom: 0;
    animation: shape3 1.5s infinite ease-in-out;
}

.shape-4 {
    right: 0;
    bottom: 0;
    animation: shape4 1.5s infinite ease-in-out;
}

@keyframes shape1 {
    0%, 100% { transform: translate(0, 0); }
    25% { transform: translate(22px, 0); }
    50% { transform: translate(22px, 22px); }
    75% { transform: translate(0, 22px); }
}

@keyframes shape2 {
    0%, 100% { transform: translate(0, 0); }
    25% { transform: translate(0, 22px); }
    50% { transform: translate(-22px, 22px); }
    75% { transform: translate(-22px, 0); }
}

@keyframes shape3 {
    0%, 100% { transform: translate(0, 0); }
    25% { transform: translate(0, -22px); }
    50% { transform: translate(22px, -22px); }
    75% { transform: translate(22px, 0); }
}

@keyframes shape4 {
    0%, 100% { transform: translate(0, 0); }
    25% { transform: translate(-22px, 0); }
    50% { transform: translate(-22px, -22px); }
    75% { transform: translate(0, -22px); }
}

/* Responsive */
@media (max-width: 768px) {
    .systems-table {
        font-size: 13px;
        border-radius: 0;
    }
    
    .systems-table thead th {
        padding: 12px 10px;
        font-size: 11px;
    }
    
    .systems-table tbody td {
        padding: 12px 10px;
    }
    
    /* Ocultar descripción en móvil */
    .systems-table thead th:nth-child(3),
    .systems-table tbody td:nth-child(3) {
        display: none;
    }
    
    /* Ocultar unidad e impuesto en móvil */
    .systems-table thead th:nth-child(6),
    .systems-table tbody td:nth-child(6),
    .systems-table thead th:nth-child(7),
    .systems-table tbody td:nth-child(7) {
        display: none;
    }
}

@media (max-width: 480px) {
    .systems-table {
        font-size: 12px;
    }
    
    .systems-table thead th {
        padding: 10px 8px;
        font-size: 10px;
    }
    
    .systems-table tbody td {
        padding: 10px 8px;
    }
    
    /* Mostrar solo número, nombre y precio */
    .systems-table thead th:nth-child(5),
    .systems-table tbody td:nth-child(5) {
        display: none;
    }
}



.sponsor-carousel {
  overflow: hidden;
  width: 100%;
  background: #fff;
  padding: 5rem 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.sponsor-track {
  display: flex;
  align-items: center;
  gap: 10rem;
  will-change: transform;
}

.sponsor-item {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 280px;
  height: 170px;
  flex-shrink: 0;
}

.sponsor-item img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform 0.25s ease, opacity 0.25s ease;
  opacity: 0.95;
}

.sponsor-item:hover img {
  transform: scale(1.08);
  opacity: 1;
}

@media (max-width: 1024px) {
  .sponsor-item { width: 220px; height: 130px; }
  .sponsor-track { gap: 6rem; }
}

@media (max-width: 768px) {
  .sponsor-item { width: 160px; height: 95px; }
  .sponsor-track { gap: 3.5rem; }
}

@media (max-width: 480px) {
  .sponsor-item { width: 120px; height: 70px; }
  .sponsor-track { gap: 2.5rem; }
}
.eco-portfolio-content-wrp img {
  width: 356px !important;
  height: 237px !important;
  object-fit: cover;
}

.eco-portfolio-content-wrp {
  width: 356px;
  height: 237px;
  overflow: hidden;
}
.eco-image {
  width: 100%;
  overflow: hidden;
}

.eco-image img {
  width: 100%;
  height: 510px !important;
  object-fit: cover;
}


.eco-contact-dec p {
  color: #666;
}
.eco-contact-icon svg {
  fill: #5a9e3c;
}
body {
  overflow-y: auto !important;
}



/* =========================
   MAPA – AJUSTES GENERALES
========================= */
.page-id-6436 .site-main .container {
    max-width: 100% !important;
}
.site-main .elementor-element-cd299ea {
    padding: 0 !important;
}
.page-id-6436 .site-main .col-12 {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* =========================
   CONTENEDOR DEL MAPA
========================= */
.page-content-wp.active.module-lmap {
    height: 100vh !important;
    position: relative !important;
}

/* =========================
   PANEL INFO – ANCHO Y ALTURA
========================= */
.lmap-arboretum-info-pane {
    width: 35rem !important;
    height: 100% !important;
    max-height: 100% !important;
    overflow: visible !important;
    transition: width 0.3s ease !important;
	z-index: 9999
}

/* Ancho cuando está en modo "large" */
.module-lmap[data-pane-size="large"] .lmap-arboretum-info-pane {
    width: 55rem !important;
}

/* Scroll SOLO dentro del contenido */
.lmap-arboretum-info-pane-info {
    height: 100% !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

/* =========================
   TABLA – SIN SCROLL HORIZONTAL
========================= */
.lmap-arboretum-info-pane .dataTables_wrapper {
    overflow-x: hidden !important;
}

.lmap-arboretum-info-pane table {
    width: 100% !important;
    table-layout: fixed !important;
}

.lmap-arboretum-info-pane table td,
.lmap-arboretum-info-pane table th {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
}

/* =========================
   MAPA – ALTURA COMPLETA
========================= */
.page-id-6436 .module-lmap .lmap {
    width: 100% !important;
    height: 100% !important;
}
.page-id-6436 #map_opt1 {
    width: 100% !important;
    height: 100% !important;
}

.module-lmap > div[style*="height"] {
    height: 100vh !important;
}

/* =========================
   OVERFLOWS (select, filtros)
========================= */
.lmap-arboretum-info-pane-info.active {
    overflow: visible !important;
}
.lmap-arboretum-info-pane-info-list-filter-wp {
    overflow: visible !important;
}
.form-group {
    overflow: visible !important;
}
.select2-container {
    z-index: 9999 !important;
}

/* =========================
   BOTÓN TOGGLE PANEL
========================= */
/* Panel cerrado - botón en el borde derecho */
.btn-toggle-info-pane {
    position: absolute !important;
    top: 50% !important;
    right: 0.5rem !important;
    transform: translateY(-50%) !important;
    z-index: 10000 !important;
    transition: right 0.3s ease !important;
}

/* Panel abierto - botón pegado al borde izquierdo del panel */
.btn-toggle-info-pane.panel-open {
    right: calc(35rem - 3.5rem) !important;
}

.module-lmap[data-pane-size="large"] .btn-toggle-info-pane.panel-open {
    right: calc(55rem - 3.5rem) !important;
}

/* =========================
   RESPONSIVE – MÓVIL Y TABLET
========================= */
@media (max-width: 1600px) {
    .page-content-wp.active.module-lmap {
        height: 100vh !important;
    }
    
    .lmap-arboretum-info-pane {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        width: 50% !important;
        height: 100% !important;
        max-height: 100% !important;
    }
    
    .module-lmap[data-pane-size="large"] .lmap-arboretum-info-pane {
        width: 70% !important;
    }
    
    .btn-toggle-info-pane.panel-open {
        right: calc(50% - 0rem) !important;
    }
    
    .module-lmap[data-pane-size="large"] .btn-toggle-info-pane.panel-open {
        right: calc(70% - 3.5rem) !important;
    }
}

@media (max-width: 760px) {
    .lmap-arboretum-info-pane {
        width: 25rem !important;
    }
    
    .module-lmap[data-pane-size="large"] .lmap-arboretum-info-pane {
        width: 35rem !important;
    }
    
    .lmap-arboretum-info-pane-info {
        height: calc(100% - 60px) !important;
        overflow-y: auto !important;
    }
    
    .module-lmap {
        position: relative !important;
    }
    
    .page-id-6436 .module-lmap .lmap,
    .page-id-6436 #map_opt1 {
        height: 100% !important;
    }
    
    /* Ocultar toggle en móvil */
    .lmap-arboretum-info-pane-resize-toggle {
        display: none !important;
    }
    
    /* Ocultar zoom cuando el panel está abierto */
    .module-lmap:has(.lmap-arboretum-info-pane.open) .leaflet-control-zoom {
        display: none !important;
    }
    
    .btn-toggle-info-pane.panel-open {
        right: calc(25rem - 0rem) !important;
    }
    
    .module-lmap[data-pane-size="large"] .btn-toggle-info-pane.panel-open {
        right: calc(35rem - 3.5rem) !important;
    }
}

@media (max-width: 450px) {
    .lmap-arboretum-info-pane {
        width: 90% !important;
    }
    
    .module-lmap[data-pane-size="large"] .lmap-arboretum-info-pane {
        width: 95% !important;
    }
    
    /* Forzar que la tabla no se salga */
    .lmap-arboretum-info-pane table.dataTable.dtr-inline {
        width: 100% !important;
        max-width: 100% !important;
    }
    
    .lmap-arboretum-info-pane table.dataTable.dtr-inline td,
    .lmap-arboretum-info-pane table.dataTable.dtr-inline th {
        max-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }
    
    /* Columna de acciones - iconos en columna */
    .lmap-arboretum-info-pane table.dataTable .list-actions {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.5rem !important;
        align-items: center !important;
    }
    
    .lmap-arboretum-info-pane table.dataTable .list-actions i {
        display: block !important;
        margin: 0 !important;
    }
    
    .lmap-arboretum-info-pane .dataTables_wrapper {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }
    
    .btn-toggle-info-pane.panel-open {
        right: calc(90% - 0rem) !important;
    }
    
    .module-lmap[data-pane-size="large"] .btn-toggle-info-pane.panel-open {
        right: calc(95% - 3.5rem) !important;
    }
}



/*RESPONSIVO*/
@media (max-width: 1200px) {
    .video-button {
        display: none !important;
    }
}
@media (max-width: 1024px) {
    .elementor-6252 .elementor-element.elementor-element-f2067d3 {
        padding: 0px 0px 90px 0px !important;
    }
}
.ot-menu-wrapper .mobile-logo {
    background: white !important;
    padding: 20px !important;
    height: auto !important;
}

.ot-menu-wrapper .mobile-logo a {
    display: block !important;
}

.ot-menu-wrapper .mobile-logo a img {
    width: 100% !important;
    height: auto !important;
    max-width: 125px !important;
    margin: 0 auto !important;
    display: block !important;
}



.ft-two-top-des a {
    color: #ffffff !important;
}