.elementor-3313 .elementor-element.elementor-element-448b48a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-3313 .elementor-element.elementor-element-cfb1865 > .elementor-widget-container{padding:0px 0px 50px 0px;}.elementor-3313 .elementor-element.elementor-element-cfb1865{text-align:center;}.elementor-3313 .elementor-element.elementor-element-cfb1865 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-weight:600;text-transform:uppercase;color:#000000;}.elementor-3313 .elementor-element.elementor-element-421bb01{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-3313 .elementor-element.elementor-element-4d6332e{text-align:center;font-family:"Montserrat", Sans-serif;font-size:23px;font-weight:700;color:#000000;}.elementor-3313 .elementor-element.elementor-element-ed296f7{text-align:justify;font-family:"Montserrat", Sans-serif;font-weight:400;color:#000000;}.elementor-3313 .elementor-element.elementor-element-96e9d2f{--display:flex;}.elementor-3313 .elementor-element.elementor-element-d8dbbd4{font-family:"Montserrat", Sans-serif;font-weight:400;color:#000000;}.elementor-3313 .elementor-element.elementor-element-b49b2ae{--display:flex;}.elementor-3313 .elementor-element.elementor-element-4679dea{font-family:"Montserrat", Sans-serif;font-weight:400;color:#000000;}.elementor-3313 .elementor-element.elementor-element-a01b282{--display:flex;}.elementor-3313 .elementor-element.elementor-element-26711f7{font-family:"Montserrat", Sans-serif;font-weight:400;color:#000000;}.elementor-3313 .elementor-element.elementor-element-aca4f58{--display:flex;}.elementor-3313 .elementor-element.elementor-element-2e867dc{font-family:"Montserrat", Sans-serif;font-weight:400;color:#000000;}.elementor-3313 .elementor-element.elementor-element-b94aa8c{--display:flex;}.elementor-3313 .elementor-element.elementor-element-7465adc{font-family:"Montserrat", Sans-serif;font-weight:400;color:#000000;}.elementor-3313 .elementor-element.elementor-element-8dff040{--display:flex;}.elementor-3313 .elementor-element.elementor-element-268c9c8{font-family:"Montserrat", Sans-serif;font-weight:400;color:#000000;}.elementor-3313 .elementor-element.elementor-element-d13a3c1{--display:flex;}.elementor-3313 .elementor-element.elementor-element-b96399f{font-family:"Montserrat", Sans-serif;font-weight:400;color:#000000;}.elementor-3313 .elementor-element.elementor-element-80ee5c1{--display:flex;}.elementor-3313 .elementor-element.elementor-element-27e12ec{font-family:"Montserrat", Sans-serif;font-weight:400;color:#000000;}.elementor-3313 .elementor-element.elementor-element-8576158{--n-accordion-title-font-size:1rem;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-icon-size:15px;}:root{--page-title-display:none;}/* Start custom CSS */body #page .proyecto {}
body #page .inside-article .textoinfo .texto {background: #edfaca;
  padding: 20px;}
body #page .inside-article {padding-top:0}
body #page .titular h2 {color:#16aa74;font-size:40px}
body #page .proyecto {margin-top:50px; border:solid 1px #000; border-top:solid 20px #16aa74 !important; border-bottom:solid 20px #16aa74 !important;padding:80px; max-width:900px; margin:30px auto;box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px; border-radius:10px;}
.proyecto h3 {font-weight:600;}
.proyecto h3::before {
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-left: 8px solid #16aa74;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	margin-right: 10px;
	vertical-align: middle;color:#edfaca;
}
.proyecto h5 {background:#edfaca; padding:10px}
.proyecto .maintext {text-align:justify}
.piefoto {font-size:12px}
@media (max-width: 1024px) {
  body #page .proyecto {padding:20px}  
}
@media (max-width: 500px) {
  body #page .proyecto {padding:15px}  
  body #page .titular h2 {font-size:33px}
}
/** CSS acordeón **/
/* ==========================================
   SEBOT - ACORDEÓN DE SECCIONES
   ========================================== */

/* Separación entre secciones */
.secciones .elementor-accordion,
.secciones .e-n-accordion {
    display: flex;
    flex-direction: column;
    gap: 14px;
}


/* ==========================================
   1. TARJETAS DEL ACORDEÓN
   ========================================== */

.secciones .elementor-accordion-item,
.secciones .e-n-accordion-item {
    border: 1px solid #e1e9e2 !important;
    border-radius: 12px !important;
    overflow: hidden;

    background: #ffffff;

    box-shadow: 0 4px 15px rgba(0, 90, 50, 0.06);

    transition:
        box-shadow 0.3s ease,
        border-color 0.3s ease;
}

/* Hover de la tarjeta */
.secciones .elementor-accordion-item:hover,
.secciones .e-n-accordion-item:hover {
    border-color: #9ac52a !important;

    box-shadow: 0 7px 22px rgba(0, 100, 55, 0.12);
}


/* ==========================================
   2. CABECERAS
   ========================================== */

.secciones .elementor-tab-title,
.secciones .e-n-accordion-item-title {
    background: linear-gradient(
        110deg,
        #159b67 0%,
        #19a568 70%,
        #61b443 100%
    ) !important;

    color: #ffffff !important;

    padding: 23px 28px !important;

    font-size: 20px !important;
    font-weight: 600 !important;
    line-height: 1.4;

    border: none !important;

    transition: background 0.3s ease;
}

/* Textos y enlaces de cabecera */
.secciones .elementor-tab-title a,
.secciones .e-n-accordion-item-title-text {
    color: #ffffff !important;
    text-decoration: none !important;
    font-weight: 600;
}

/* Iconos */
.secciones .elementor-accordion-icon,
.secciones .e-n-accordion-item-title-icon {
    color: #ffffff !important;
}

.secciones .elementor-accordion-icon svg,
.secciones .e-n-accordion-item-title-icon svg {
    fill: currentColor;
}


/* ==========================================
   3. ESTADO ABIERTO
   ========================================== */

/* Acordeón clásico */
.secciones .elementor-tab-title.elementor-active {

    background: linear-gradient(
        110deg,
        #087b50 0%,
        #139761 100%
    ) !important;

    border-bottom: 4px solid #94bf23 !important;
}

/* Acordeón anidado */
.secciones .e-n-accordion-item[open] > 
.e-n-accordion-item-title {

    background: linear-gradient(
        110deg,
        #087b50 0%,
        #139761 100%
    ) !important;

    border-bottom: 4px solid #94bf23 !important;
}


/* ==========================================
   4. CONTENIDO INTERIOR
   ========================================== */

/* Acordeón clásico */
.secciones .elementor-tab-content {
    background: #ffffff !important;

    padding: 30px !important;

    border: none !important;

    color: #444f4a;

    font-size: 16px;
    line-height: 1.75;

    overflow-x: auto;
}

/* Acordeón anidado */
.secciones .e-n-accordion-item > .e-con {
    background: #ffffff;

    padding: 30px !important;

    color: #444f4a;

    line-height: 1.75;

    overflow-x: auto;
}


/* ==========================================
   5. TÍTULOS INTERIORES
   ========================================== */

.secciones .elementor-tab-content h3,
.secciones .elementor-tab-content h4,
.secciones .e-n-accordion-item > .e-con h3,
.secciones .e-n-accordion-item > .e-con h4 {

    color: #168b59;

    font-weight: 600;

    margin-top: 26px;
    margin-bottom: 15px;

    padding-left: 14px;

    border-left: 4px solid #95bf24;
}


/* ==========================================
   6. LISTADOS
   ========================================== */

.secciones .elementor-tab-content ul,
.secciones .elementor-tab-content ol,
.secciones .e-n-accordion-item > .e-con ul,
.secciones .e-n-accordion-item > .e-con ol {

    margin: 15px 0 22px;

    padding-left: 25px;

    list-style-position: outside;
}

/* Separación entre elementos */
.secciones .elementor-tab-content li,
.secciones .e-n-accordion-item > .e-con li {

    padding-left: 5px;
    margin-bottom: 10px;

    line-height: 1.65;
}

/* Viñetas verdes */
.secciones .elementor-tab-content li::marker,
.secciones .e-n-accordion-item > .e-con li::marker {

    color: #8dbb23;
    font-weight: 700;
}


/* ==========================================
   7. TABLAS
   ========================================== */

.secciones .elementor-tab-content table,
.secciones .e-n-accordion-item > .e-con table {

    width: 100%;

    border-collapse: separate;
    border-spacing: 0;

    margin: 20px 0 25px;

    font-size: 15px;
    line-height: 1.5;

    border: 1px solid #e0e9e1;
    border-radius: 8px;

    overflow: hidden;
}

/* Encabezados */
.secciones table thead th {

    background: #148e5d !important;

    color: #ffffff !important;

    padding: 15px 18px !important;

    border: none !important;

    font-weight: 600;
    text-align: left;
}

/* Celdas */
.secciones table td {

    padding: 13px 18px !important;

    border: none !important;
    border-bottom: 1px solid #e8eee8 !important;

    color: #435149;

    vertical-align: top;
}

/* Filas alternas */
.secciones table tbody tr:nth-child(even) td {

    background: #f4f9f2 !important;
}

.secciones table tbody tr:nth-child(odd) td {

    background: #ffffff !important;
}

/* Hover de filas */
.secciones table tbody tr:hover td {

    background: #eaf4e6 !important;

    transition: background 0.2s ease;
}

/* Última fila */
.secciones table tbody tr:last-child td {

    border-bottom: none !important;
}


/* ==========================================
   8. ENLACES INTERIORES
   ========================================== */

.secciones .elementor-tab-content a,
.secciones .e-n-accordion-item > .e-con a {

    color: #138b59;

    font-weight: 500;

    text-decoration: underline;
    text-decoration-color: #a4c76d;

    text-underline-offset: 3px;

    transition: color 0.2s ease;
}

.secciones .elementor-tab-content a:hover,
.secciones .e-n-accordion-item > .e-con a:hover {

    color: #075b39;

    text-decoration-color: #075b39;
}


/* ==========================================
   9. ACCESIBILIDAD
   ========================================== */

.secciones .elementor-tab-title:focus-visible,
.secciones .e-n-accordion-item-title:focus-visible {

    outline: 3px solid #94bf23;
    outline-offset: -3px;
}


/* ==========================================
   10. ADAPTACIÓN A MÓVILES
   ========================================== */

@media (max-width: 767px) {

    .secciones .elementor-accordion,
    .secciones .e-n-accordion {
        gap: 12px;
    }

    /* Cabeceras */
    .secciones .elementor-tab-title,
    .secciones .e-n-accordion-item-title {

        padding: 18px 20px !important;

        font-size: 17px !important;
    }

    /* Contenido */
    .secciones .elementor-tab-content,
    .secciones .e-n-accordion-item > .e-con {

        padding: 20px !important;

        font-size: 15px;

        overflow-x: auto;
    }

    /* Tablas */
    .secciones table {

        font-size: 13px !important;
    }

    .secciones table th,
    .secciones table td {

        padding: 10px 12px !important;
    }

}/* End custom CSS */