/* =========================================================
   ESTER COMPANY · BODAS
   TIMELINE + IMAGEN STICKY
   ========================================================= */


/* =========================================================
   CONTENEDORES GENERALES
   ========================================================= */

.elementor-element-5f37d22a,
.elementor-element-9510f04{
    width:100% !important;
    max-width:100% !important;
}

.elementor-element-736d1f9b,
.elementor-element-3c08be3d{
    width:min(100%, 1280px) !important;
    max-width:1280px !important;
    margin-left:auto !important;
    margin-right:auto !important;

    display:grid !important;
    align-items:start !important;

    padding-left:40px !important;
    padding-right:40px !important;

    box-sizing:border-box !important;
}


/* =========================================================
   SECCIÓN 1 · COBERTURA COMPLETA
   FOTO IZQUIERDA / TIMELINE DERECHA
   ========================================================= */

.elementor-element-736d1f9b{
    grid-template-columns:minmax(340px, 42%) minmax(0, 58%) !important;
    gap:72px !important;
}


/* FOTO STICKY */

.elementor-element-66dde888{
    position:sticky !important;
    top:100px !important;

    width:100% !important;
    max-width:100% !important;

    height:calc(100vh - 140px) !important;
    min-height:620px !important;
    max-height:820px !important;

    align-self:start !important;

    overflow:hidden !important;
    border-radius:2px !important;
}

.elementor-element-66dde888 .elementor-widget-image,
.elementor-element-66dde888 .elementor-widget-container{
    width:100% !important;
    height:100% !important;
}

.elementor-element-66dde888 img{
    width:100% !important;
    height:100% !important;

    display:block !important;

    object-fit:cover !important;
    object-position:center center !important;
}


/* CONTENIDO DERECHO */

.elementor-element-6ca2bf68{
    width:100% !important;
    max-width:680px !important;

    min-width:0 !important;

    margin:0 !important;
    padding:0 !important;

    justify-self:start !important;
}


/* =========================================================
   TIMELINE 1
   ========================================================= */

.elementor-element-535355f8{
    position:relative !important;

    display:flex !important;
    flex-direction:column !important;
    flex-wrap:nowrap !important;

    width:100% !important;
    max-width:100% !important;

    gap:0 !important;

    margin-top:28px !important;
    padding:10px 0 10px 52px !important;

    box-sizing:border-box !important;
}


/* Línea vertical */

.elementor-element-535355f8::before{
    content:"";

    position:absolute;

    left:15px;
    top:20px;
    bottom:20px;

    width:1px;

    background:rgba(156,127,91,.65);

    z-index:0;
}


/* MOMENTOS */

.elementor-element-10086280,
.elementor-element-7dfe005c,
.elementor-element-28293309,
.elementor-element-63a9142e,
.elementor-element-7585022e,
.elementor-element-744e81ad,
.elementor-element-6a16eea0{
    position:relative !important;

    display:flex !important;
    flex-direction:column !important;

    width:100% !important;
    max-width:100% !important;

    min-width:0 !important;
    min-height:0 !important;

    flex:0 0 auto !important;

    margin:0 !important;
    padding:25px 0 34px 24px !important;

    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;

    text-align:left !important;

    box-sizing:border-box !important;
}


/* Elementor: hijos siempre a ancho completo */

.elementor-element-535355f8 > .e-con,
.elementor-element-535355f8 .elementor-widget,
.elementor-element-535355f8 .elementor-widget-container{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
}


/* Puntos */

.elementor-element-10086280::before,
.elementor-element-7dfe005c::before,
.elementor-element-28293309::before,
.elementor-element-63a9142e::before,
.elementor-element-7585022e::before,
.elementor-element-744e81ad::before,
.elementor-element-6a16eea0::before{
    content:"";

    position:absolute;

    left:-43px !important;
    top:32px;

    width:12px;
    height:12px;

    border-radius:50%;

    background:#9c7f5b;

    border:4px solid #fff;
    box-shadow:0 0 0 1px #9c7f5b;

    z-index:3;
}


/* Conector */

.elementor-element-10086280::after,
.elementor-element-7dfe005c::after,
.elementor-element-28293309::after,
.elementor-element-63a9142e::after,
.elementor-element-7585022e::after,
.elementor-element-744e81ad::after,
.elementor-element-6a16eea0::after{
    content:"";

    position:absolute;

    left:-30px !important;
    top:38px;

    width:22px;
    height:1px;

    background:rgba(156,127,91,.65);
}


/* =========================================================
   SECCIÓN 2 · SERVICIOS EXTRA
   TIMELINE IZQUIERDA / FOTO DERECHA
   ========================================================= */

.elementor-element-3c08be3d{
    grid-template-columns:minmax(0, 58%) minmax(340px, 42%) !important;
    gap:72px !important;
}


/* CONTENIDO IZQUIERDO */

.elementor-element-39e5c4ab{
    width:100% !important;
    max-width:680px !important;

    min-width:0 !important;

    margin:0 !important;
    padding:0 !important;

    justify-self:end !important;
}


/* FOTO DERECHA STICKY */

.elementor-element-4b8c93dd{
    position:sticky !important;
    top:100px !important;

    width:100% !important;
    max-width:100% !important;

    height:calc(100vh - 140px) !important;
    min-height:620px !important;
    max-height:820px !important;

    align-self:start !important;

    overflow:hidden !important;
    border-radius:2px !important;
}

.elementor-element-4b8c93dd .elementor-widget-image,
.elementor-element-4b8c93dd .elementor-widget-container{
    width:100% !important;
    height:100% !important;
}

.elementor-element-4b8c93dd img{
    width:100% !important;
    height:100% !important;

    display:block !important;

    object-fit:cover !important;
    object-position:center center !important;
}


/* =========================================================
   TIMELINE 2 · SERVICIOS EXTRA
   ========================================================= */

.elementor-element-1e2adac5{
    position:relative !important;

    display:flex !important;
    flex-direction:column !important;
    flex-wrap:nowrap !important;

    width:100% !important;
    max-width:100% !important;

    gap:0 !important;

    margin-top:28px !important;
    padding:10px 0 10px 52px !important;

    box-sizing:border-box !important;
}


.elementor-element-1e2adac5::before{
    content:"";

    position:absolute;

    left:15px;
    top:20px;
    bottom:20px;

    width:1px;

    background:rgba(156,127,91,.65);
}


/* Servicios */

.elementor-element-66e522ed,
.elementor-element-1d3d8bde,
.elementor-element-21a9e649,
.elementor-element-d362445,
.elementor-element-98d901c{
    position:relative !important;

    display:flex !important;
    flex-direction:column !important;

    width:100% !important;
    max-width:100% !important;

    min-width:0 !important;
    min-height:0 !important;

    flex:0 0 auto !important;

    margin:0 !important;
    padding:25px 0 34px 24px !important;

    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;

    box-sizing:border-box !important;
}


.elementor-element-1e2adac5 > .e-con,
.elementor-element-1e2adac5 .elementor-widget,
.elementor-element-1e2adac5 .elementor-widget-container{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
}


/* Puntos servicios */

.elementor-element-66e522ed::before,
.elementor-element-1d3d8bde::before,
.elementor-element-21a9e649::before,
.elementor-element-d362445::before,
.elementor-element-98d901c::before{
    content:"";

    position:absolute;

    left:-43px;
    top:32px;

    width:12px;
    height:12px;

    border-radius:50%;

    background:#9c7f5b;

    border:4px solid #fff;
    box-shadow:0 0 0 1px #9c7f5b;

    z-index:3;
}


/* Conector servicios */

.elementor-element-66e522ed::after,
.elementor-element-1d3d8bde::after,
.elementor-element-21a9e649::after,
.elementor-element-d362445::after,
.elementor-element-98d901c::after{
    content:"";

    position:absolute;

    left:-30px;
    top:38px;

    width:22px;
    height:1px;

    background:rgba(156,127,91,.65);
}


/* =========================================================
   TÍTULOS Y TEXTOS
   ========================================================= */

.elementor-element-535355f8 h2,
.elementor-element-535355f8 h3,
.elementor-element-535355f8 h4,
.elementor-element-1e2adac5 h2,
.elementor-element-1e2adac5 h3,
.elementor-element-1e2adac5 h4{
    margin-top:0 !important;
    margin-bottom:10px !important;
}

.elementor-element-535355f8 p,
.elementor-element-1e2adac5 p{
    margin-top:0 !important;
    margin-bottom:0 !important;

    max-width:560px !important;

    line-height:1.65 !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width:1024px){

    .elementor-element-736d1f9b,
    .elementor-element-3c08be3d{
        grid-template-columns:minmax(280px, 40%) minmax(0, 60%) !important;
        gap:42px !important;

        padding-left:28px !important;
        padding-right:28px !important;
    }

    .elementor-element-3c08be3d{
        grid-template-columns:minmax(0, 60%) minmax(280px, 40%) !important;
    }

    .elementor-element-66dde888,
    .elementor-element-4b8c93dd{
        height:calc(100vh - 130px) !important;
        min-height:520px !important;
    }

}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width:767px){

    .elementor-element-736d1f9b,
    .elementor-element-3c08be3d{
        display:flex !important;
        flex-direction:column !important;

        width:100% !important;

        gap:30px !important;

        padding-left:18px !important;
        padding-right:18px !important;
    }


    /* Imagen primero en ambas secciones */

    .elementor-element-66dde888,
    .elementor-element-4b8c93dd{
        position:relative !important;
        top:auto !important;

        order:0 !important;

        width:100% !important;
        height:auto !important;

        min-height:0 !important;
        max-height:none !important;

        aspect-ratio:4 / 5;

        overflow:hidden !important;
    }


    .elementor-element-6ca2bf68,
    .elementor-element-39e5c4ab{
        order:1 !important;

        width:100% !important;
        max-width:100% !important;

        justify-self:auto !important;
    }


    .elementor-element-535355f8,
    .elementor-element-1e2adac5{
        padding-left:42px !important;
        margin-top:18px !important;
    }


    .elementor-element-535355f8::before,
    .elementor-element-1e2adac5::before{
        left:12px;
    }


    .elementor-element-10086280,
    .elementor-element-7dfe005c,
    .elementor-element-28293309,
    .elementor-element-63a9142e,
    .elementor-element-7585022e,
    .elementor-element-744e81ad,
    .elementor-element-6a16eea0,
    .elementor-element-66e522ed,
    .elementor-element-1d3d8bde,
    .elementor-element-21a9e649,
    .elementor-element-d362445,
    .elementor-element-98d901c{
        padding:22px 0 30px 18px !important;
    }


    .elementor-element-10086280::before,
    .elementor-element-7dfe005c::before,
    .elementor-element-28293309::before,
    .elementor-element-63a9142e::before,
    .elementor-element-7585022e::before,
    .elementor-element-744e81ad::before,
    .elementor-element-6a16eea0::before,
    .elementor-element-66e522ed::before,
    .elementor-element-1d3d8bde::before,
    .elementor-element-21a9e649::before,
    .elementor-element-d362445::before,
    .elementor-element-98d901c::before{
        left:-35px !important;
        top:29px;
    }


    .elementor-element-10086280::after,
    .elementor-element-7dfe005c::after,
    .elementor-element-28293309::after,
    .elementor-element-63a9142e::after,
    .elementor-element-7585022e::after,
    .elementor-element-744e81ad::after,
    .elementor-element-6a16eea0::after,
    .elementor-element-66e522ed::after,
    .elementor-element-1d3d8bde::after,
    .elementor-element-21a9e649::after,
    .elementor-element-d362445::after,
    .elementor-element-98d901c::after{
        left:-23px !important;
        top:35px;
        width:18px;
    }

}

/* =========================================================
   NUMERACIÓN TIMELINE · COBERTURA COMPLETA
   ========================================================= */

.elementor-element-10086280 .elementor-heading-title::before{
    content:"01 — ";
}

.elementor-element-7dfe005c .elementor-heading-title::before{
    content:"02 — ";
}

.elementor-element-28293309 .elementor-heading-title::before{
    content:"03 — ";
}

.elementor-element-63a9142e .elementor-heading-title::before{
    content:"04 — ";
}

.elementor-element-7585022e .elementor-heading-title::before{
    content:"05 — ";
}

.elementor-element-744e81ad .elementor-heading-title::before{
    content:"06 — ";
}

.elementor-element-6a16eea0 .elementor-heading-title::before{
    content:"07 — ";
}

/* Estilo de la numeración */
.elementor-element-535355f8 .elementor-heading-title::before{
    color:#9c7f5b;
    font-weight:400;
    letter-spacing:.08em;
}


/* =========================================================
   reCAPTCHA v3 · BADGE INLINE
   ========================================================= */

.grecaptcha-badge{
    position:relative !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;
    top:auto !important;

    width:256px !important;
    height:60px !important;

    margin:14px 0 0 !important;

    box-shadow:none !important;
    overflow:hidden !important;
    visibility:visible !important;

    z-index:auto !important;
}

.elementor-form .grecaptcha-badge{
    display:block !important;
}

