/*
 * EcoHub Clean Layout — targeted visual refinement
 * Version 0.1.0-alpha.6.9.35
 * Scope: Noleggio Medio Termine, Lavora con Noi, single job posts.
 */

/* Shared approved-layout language */
.ecohub-clean-hero{
    min-height:500px;
}
.ecohub-clean-hero-media,
.ecohub-clean-hero-media .elementor-widget-image,
.ecohub-clean-hero-media .elementor-widget-container{
    height:100%;
}
.ecohub-clean-hero-media img{
    width:100%!important;
    height:100%!important;
    min-height:500px!important;
    object-fit:cover!important;
    object-position:center center!important;
}
.ecohub-clean-hero-copy .elementor-widget-text-editor{
    max-width:640px;
}

.ecohub-clean-feature-card,
.ecohub-clean-job-card,
.ecohub-clean-split,
.ecohub-clean-form-card{
    box-shadow:0 10px 30px rgba(18,63,72,.045);
}
.ecohub-clean-feature-card,
.ecohub-clean-job-card{
    transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.ecohub-clean-feature-card:hover,
.ecohub-clean-job-card:hover{
    transform:translateY(-4px);
    border-color:#D4E1E1!important;
    box-shadow:0 18px 42px rgba(18,63,72,.085);
}
.ecohub-clean-feature-icon{
    margin-bottom:3px;
}

.ecohub-clean-split-media,
.ecohub-clean-split-media .elementor-widget-image,
.ecohub-clean-split-media .elementor-widget-container{
    min-height:440px;
    height:100%;
}
.ecohub-clean-split-media img{
    width:100%!important;
    height:100%!important;
    min-height:440px!important;
    object-fit:cover!important;
    object-position:center center!important;
}
.ecohub-clean-split-copy .elementor-widget-text-editor strong{
    color:#123F48;
    font-weight:600;
}

.ecohub-clean-form-panel{
    box-shadow:0 14px 42px rgba(18,63,72,.05);
}
.ecohub-clean-form-card .elementor-field-group{
    margin-bottom:12px!important;
}
.ecohub-clean-form-card input.elementor-field,
.ecohub-clean-form-card select.elementor-field,
.ecohub-clean-form-card textarea.elementor-field{
    min-height:46px;
    border:1px solid #D9E5E5!important;
    border-radius:10px!important;
    background:#FFFFFF!important;
    padding:10px 12px!important;
    color:#123F48!important;
}
.ecohub-clean-form-card textarea.elementor-field{
    min-height:120px;
}
.ecohub-clean-form-card .elementor-field-label{
    margin-bottom:5px!important;
    color:#34565C!important;
    font-size:12px!important;
    font-weight:500!important;
}
.ecohub-clean-form-card .elementor-field-type-submit{
    justify-content:flex-start!important;
    margin-top:4px!important;
}
.ecohub-clean-form-card .elementor-field-type-submit .elementor-button{
    width:auto!important;
    min-width:180px;
    border-radius:10px!important;
    padding:12px 20px!important;
}

/* Medium term */
.ecohub-medium-duration > .e-con-inner > .elementor-widget-text-editor,
.ecohub-medium-electric > .e-con-inner > .elementor-widget-text-editor,
.ecohub-jobs-values > .e-con-inner > .elementor-widget-text-editor,
.ecohub-jobs-positions > .e-con-inner > .elementor-widget-text-editor{
    max-width:780px;
}
.ecohub-medium-business .ecohub-clean-split-media img{
    object-position:center 48%!important;
}

/* Careers listing */
.ecohub-clean-job-media,
.ecohub-clean-job-media .elementor-widget-image,
.ecohub-clean-job-media .elementor-widget-container{
    height:220px;
}
.ecohub-clean-job-media img{
    width:100%!important;
    height:220px!important;
    object-fit:cover!important;
    object-position:center top!important;
}
.ecohub-clean-job-copy .elementor-widget-text-editor:first-child{
    margin-bottom:0!important;
}
.ecohub-clean-job-copy .elementor-widget-button{
    margin-top:auto;
}

/* Single career post: keep the saved Theme Builder document intact and
 * only refine it when the current post belongs to Lavora con noi. */
body.ecohub-job-single .elementor-widget-woocommerce-breadcrumb,
body.ecohub-job-single .elementor-widget-post-info,
body.ecohub-job-single .elementor-widget-author-box,
body.ecohub-job-single .elementor-widget-share-buttons{
    display:none!important;
}

body.ecohub-job-single .elementor[data-elementor-type="single-post"] > .e-con:first-child{
    padding-top:40px!important;
    padding-bottom:34px!important;
}

body.ecohub-job-single .elementor[data-elementor-type="single-post"] > .e-con:first-child .e-con:has(> .elementor-widget-post-info){
    width:100%!important;
    max-width:100%!important;
}
body.ecohub-job-single .elementor[data-elementor-type="single-post"] > .e-con:first-child .e-con:has(> .elementor-widget-share-buttons):not(:has(> .ecohub-article-main)){
    display:none!important;
}
body.ecohub-job-single .elementor[data-elementor-type="single-post"] > .e-con:first-child .elementor-widget-heading .elementor-heading-title{
    max-width:980px;
    font-size:clamp(36px,4vw,54px)!important;
    line-height:1.08!important;
}
body.ecohub-job-single .elementor[data-elementor-type="single-post"] > .e-con:first-child .elementor-widget-heading .elementor-heading-title::before{
    content:"LAVORA CON NOI";
    display:block;
    margin-bottom:14px;
    color:#145761;
    font-family:var(--ecohub-font-text)!important;
    font-size:12px;
    font-weight:700;
    line-height:1.2;
    letter-spacing:1.1px;
}
body.ecohub-job-single .elementor[data-elementor-type="single-post"] > .e-con:first-child .elementor-widget-text-editor{
    max-width:860px;
}

body.ecohub-job-single .ecohub-article-hero{
    border-radius:24px!important;
    overflow:hidden!important;
    box-shadow:0 18px 55px -18px rgba(18,63,72,.13);
}
body.ecohub-job-single .ecohub-article-hero .elementor-widget-image,
body.ecohub-job-single .ecohub-article-hero .elementor-widget-container{
    width:100%;
}
body.ecohub-job-single .ecohub-article-hero img{
    width:100%!important;
    height:clamp(360px,38vw,540px)!important;
    object-fit:cover!important;
    object-position:center center!important;
}

body.ecohub-job-single .e-con:has(> .ecohub-article-main){
    width:100%!important;
    max-width:100%!important;
    padding:0!important;
}
body.ecohub-job-single .e-con:has(> .ecohub-article-main) ~ .e-con{
    display:none!important;
}
body.ecohub-job-single .ecohub-article-main{
    max-width:1120px;
    margin:0 auto;
    padding:38px 42px!important;
    background:#FFFFFF;
    border:1px solid #E5ECEC;
    border-radius:20px;
    box-shadow:0 12px 36px rgba(18,63,72,.04);
}
body.ecohub-job-single .ecohub-article-main .elementor-widget-container > p:first-child:has(img){
    display:none!important;
}
body.ecohub-job-single .ecohub-article-main h2{
    margin:34px 0 12px!important;
    color:#123F48!important;
    font-size:26px!important;
    line-height:1.18!important;
}
body.ecohub-job-single .ecohub-article-main h2:first-of-type{
    margin-top:0!important;
}
body.ecohub-job-single .ecohub-article-main p{
    color:#62777B;
    font-size:14px;
    line-height:1.75;
}
body.ecohub-job-single .ecohub-article-main ul{
    margin:12px 0 22px!important;
    padding:20px 22px 20px 42px!important;
    background:#FBFAF6;
    border:1px solid #E8ECE9;
    border-radius:16px;
}
body.ecohub-job-single .ecohub-article-main li{
    margin:0 0 8px;
    color:#536B70;
    line-height:1.65;
}
body.ecohub-job-single .ecohub-article-main li:last-child{
    margin-bottom:0;
}
body.ecohub-job-single .ecohub-article-main p:last-child{
    margin-top:24px!important;
}
body.ecohub-job-single .ecohub-article-main p:last-child a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:11px 18px;
    color:#FFFFFF!important;
    background:#145761;
    border:1px solid #145761;
    border-radius:10px;
    font-weight:600;
    text-decoration:none!important;
}


/* ======================================================================
 * alpha.6.9.34 — Job details: full-width editorial body + shared form.
 * No Elementor template data is altered: this layer is scoped to
 * body.ecohub-job-single only.
 * =================================================================== */
body.ecohub-job-single .elementor[data-elementor-type="single-post"]{
    width:calc(100% - var(--ecohub-sidebar-width))!important;
    max-width:none!important;
}

/* Let the two editorial sections use the same broad canvas as the other
 * approved pages, while keeping a controlled page gutter. */
body.ecohub-job-single .elementor[data-elementor-type="single-post"] > .e-con:first-child,
body.ecohub-job-single .elementor[data-elementor-type="single-post"] > .e-con:nth-child(2){
    width:100%!important;
    max-width:none!important;
}
body.ecohub-job-single .elementor[data-elementor-type="single-post"] > .e-con:first-child > .e-con-inner,
body.ecohub-job-single .elementor[data-elementor-type="single-post"] > .e-con:nth-child(2) > .e-con-inner{
    width:100%!important;
    max-width:1520px!important;
}

/* The first column of the article row becomes 100%; the magazine-related
 * column remains hidden on job posts. The descendant selector is deliberate
 * because Elementor can add one wrapper around the Post Content widget. */
body.ecohub-job-single .e-con:has(.ecohub-article-main){
    width:100%!important;
    max-width:100%!important;
    flex-basis:100%!important;
}
body.ecohub-job-single .e-con:has(> .ecohub-article-main) ~ .e-con{
    display:none!important;
}
body.ecohub-job-single .ecohub-article-main{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:42px 48px!important;
}

/* Reusable application module rendered from one Elementor library template. */
body.ecohub-job-single .ecohub-job-application-slot{
    width:100%;
    margin:42px 0 0;
    padding:0;
}
body.ecohub-job-single .ecohub-job-application-template{
    width:100%!important;
    max-width:none!important;
    box-shadow:0 14px 42px rgba(18,63,72,.045);
}
body.ecohub-job-single .ecohub-job-application-template .elementor-widget-heading,
body.ecohub-job-single .ecohub-job-application-template .elementor-widget-text-editor{
    max-width:860px;
}
body.ecohub-job-single .ecohub-job-detail-form{
    width:100%;
    margin-top:4px;
}
body.ecohub-job-single .ecohub-job-detail-form .elementor-form-fields-wrapper{
    display:flex;
    flex-wrap:wrap;
}
body.ecohub-job-single .ecohub-job-detail-form .elementor-field-type-submit .elementor-button{
    min-width:210px;
}

@media (max-width:1024px){
    .ecohub-clean-hero{ min-height:0; }
    .ecohub-clean-hero-media img{ min-height:380px!important; }
    .ecohub-clean-split-media,
    .ecohub-clean-split-media .elementor-widget-image,
    .ecohub-clean-split-media .elementor-widget-container,
    .ecohub-clean-split-media img{
        min-height:360px!important;
    }
}

@media (max-width:767px){
    .ecohub-clean-hero > .e-con-inner{
        display:flex!important;
        flex-direction:column!important;
        gap:16px!important;
    }
    .ecohub-clean-hero-copy{ order:1!important; }
    .ecohub-clean-hero-media{
        order:2!important;
        min-height:0!important;
        border-radius:15px!important;
        overflow:hidden!important;
    }
    .ecohub-clean-hero-media img{
        min-height:0!important;
        height:auto!important;
        max-height:250px!important;
        aspect-ratio:16/9!important;
        border-radius:15px!important;
    }
    .ecohub-clean-feature-card,
    .ecohub-clean-job-card{
        width:100%!important;
        max-width:100%!important;
    }
    .ecohub-clean-split-media,
    .ecohub-clean-split-media .elementor-widget-image,
    .ecohub-clean-split-media .elementor-widget-container{
        min-height:0!important;
        height:auto!important;
    }
    .ecohub-clean-split-media img{
        min-height:0!important;
        height:auto!important;
        max-height:260px!important;
        aspect-ratio:16/9!important;
    }
    .ecohub-clean-job-media,
    .ecohub-clean-job-media .elementor-widget-image,
    .ecohub-clean-job-media .elementor-widget-container,
    .ecohub-clean-job-media img{
        height:200px!important;
    }
    .ecohub-clean-form-card .elementor-field-type-submit .elementor-button{
        width:100%!important;
    }
    body.ecohub-job-single .elementor[data-elementor-type="single-post"] > .e-con:first-child{
        padding-top:26px!important;
        padding-bottom:22px!important;
    }
    body.ecohub-job-single .ecohub-article-hero{
        border-radius:16px!important;
    }
    body.ecohub-job-single .ecohub-article-hero img{
        height:240px!important;
    }
    body.ecohub-job-single .ecohub-article-main{
        padding:24px 18px!important;
        border-radius:16px;
    }
    body.ecohub-job-single .ecohub-article-main h2{
        font-size:23px!important;
    }
}


@media (max-width:767px){
    body.ecohub-job-single .ecohub-article-main{
        width:100%!important;
        padding:26px 18px!important;
    }
    body.ecohub-job-single .ecohub-job-application-slot{
        margin-top:30px;
    }
    body.ecohub-job-single .ecohub-job-application-template{
        border-radius:16px!important;
    }
    body.ecohub-job-single .ecohub-job-detail-form .elementor-field-type-submit .elementor-button{
        width:100%!important;
        min-width:0;
    }
}

@media (prefers-reduced-motion:reduce){
    .ecohub-clean-feature-card,
    .ecohub-clean-job-card{ transition:none!important; }
    .ecohub-clean-feature-card:hover,
    .ecohub-clean-job-card:hover{ transform:none!important; }
}


/* ======================================================================
 * alpha.6.9.35 — Approved-layout alignment for career + Magazine details.
 * Runtime/scoped only: no Elementor document, post content, Theme Builder
 * condition, menu, Kit or WooCommerce data is changed.
 * =================================================================== */

/* --- Career detail: actually use the full desktop canvas next to sidebar. --- */
@media (min-width:1025px){
    body.ecohub-job-single .elementor[data-elementor-type="single-post"]{
        margin-left:var(--ecohub-sidebar-width,292px)!important;
        width:calc(100% - var(--ecohub-sidebar-width,292px))!important;
        max-width:none!important;
    }
    body.ecohub-job-single .elementor[data-elementor-type="single-post"] > .e-con:first-child,
    body.ecohub-job-single .elementor[data-elementor-type="single-post"] > .e-con:nth-child(2){
        --content-width:100%!important;
        --width:100%!important;
        width:calc(100% - 64px)!important;
        max-width:none!important;
        margin-left:32px!important;
        margin-right:32px!important;
    }
    body.ecohub-job-single .elementor[data-elementor-type="single-post"] > .e-con:first-child{
        margin-top:28px!important;
        padding:46px 48px 44px!important;
        background:#FBFAF6!important;
        border:1px solid #ECEDE9!important;
        border-radius:22px!important;
        box-shadow:0 12px 34px rgba(18,63,72,.035)!important;
    }
    body.ecohub-job-single .elementor[data-elementor-type="single-post"] > .e-con:nth-child(2){
        margin-top:28px!important;
        padding:0!important;
    }
    body.ecohub-job-single .elementor[data-elementor-type="single-post"] > .e-con:first-child > *,
    body.ecohub-job-single .elementor[data-elementor-type="single-post"] > .e-con:nth-child(2) > *{
        max-width:none!important;
    }
}

body.ecohub-job-single .ecohub-article-main{
    width:100%!important;
    max-width:none!important;
    padding:46px 48px!important;
    border-radius:22px!important;
}

/* Shared candidature module: force the reusable Elementor library document,
 * its root container and the Form widget to occupy the whole article width. */
body.ecohub-job-single .ecohub-job-application-slot,
body.ecohub-job-single .ecohub-job-application-slot > .elementor,
body.ecohub-job-single .ecohub-job-application-slot .elementor[data-elementor-type],
body.ecohub-job-single .ecohub-job-application-slot .elementor > .e-con,
body.ecohub-job-single .ecohub-job-application-template,
body.ecohub-job-single .ecohub-job-detail-form,
body.ecohub-job-single .ecohub-job-detail-form > .elementor-widget-container,
body.ecohub-job-single .ecohub-job-detail-form form{
    width:100%!important;
    max-width:none!important;
    flex:0 0 100%!important;
}
body.ecohub-job-single .ecohub-job-application-template{
    --content-width:100%!important;
    --width:100%!important;
    padding:38px 40px!important;
    margin:0!important;
    background:#FBFAF6!important;
}
body.ecohub-job-single .ecohub-job-application-template .elementor-widget-heading,
body.ecohub-job-single .ecohub-job-application-template .elementor-widget-text-editor{
    width:100%!important;
    max-width:none!important;
}
body.ecohub-job-single .ecohub-job-detail-form .elementor-form-fields-wrapper{
    width:100%!important;
    max-width:none!important;
}
body.ecohub-job-single .ecohub-job-detail-form .elementor-field-group{
    padding-left:6px!important;
    padding-right:6px!important;
}
body.ecohub-job-single .ecohub-job-detail-form .elementor-field-type-submit{
    width:100%!important;
}
body.ecohub-job-single .ecohub-job-detail-form .elementor-field-type-submit .elementor-button{
    width:100%!important;
    min-width:0!important;
}

/* alpha.6.9.37 — Magazine Single Post is intentionally style-neutral here.
 * The Elementor Theme Builder template is authoritative on frontend and editor. */
