/*
 * EcoHub Mobility — consolidated mobile layer
 * Version 0.1.0-alpha.6.9.19
 *
 * Mobile/tablet only. Structural behavior + touch usability.
 * No generic Elementor typography/width override.
 */

@media (max-width:1024px){
    :root{
        --ecohub-mobile-header-h:72px;
        --ecohub-adminbar-offset:0px;
        --ecohub-mobile-edge:20px;
        --ecohub-mobile-radius:16px;
        --ecohub-touch:48px;
    }

    body:not(.elementor-editor-active) #content.site-main,
    body:not(.elementor-editor-active) main.site-main{
        padding-top:var(--ecohub-mobile-header-h)!important;
    }

    .ecohub-pp-hero,
    .ecohub-card-media,
    .ecohub-product-main,
    .ecohub-brand-panel{
        overflow:hidden;
    }

    .ecohub-pp-hero img{
        width:100%;
        height:auto;
        min-height:0;
        aspect-ratio:4/3;
        object-fit:cover;
        border-radius:var(--ecohub-mobile-radius);
    }

    .ecohub-brand-panel{
        min-height:0;
        height:auto;
    }

    .ecohub-brand-panel img,
    .ecohub-official-product img{
        width:100%;
        height:auto;
        max-height:280px;
        object-fit:contain;
    }

    .ecohub-card-media img,
    .ecohub-pp-card img{
        width:100%;
        height:auto;
        aspect-ratio:16/10;
        object-fit:cover;
    }

    .ecohub-contact-form .elementor-field-group,
    .ecohub-lead-form .elementor-field-group{
        width:100%;
    }

    .ecohub-contact-form .elementor-field,
    .ecohub-lead-form .elementor-field{
        min-height:var(--ecohub-touch);
    }

    .ecohub-contact-form textarea.elementor-field,
    .ecohub-lead-form textarea.elementor-field{
        min-height:132px;
    }
.ecohub-product-main .flex-control-thumbs{
        display:grid;
        grid-template-columns:repeat(4,minmax(0,1fr));
        gap:8px;
    }

    .ecohub-product-config .variations{
        border-spacing:0 8px;
    }

    .ecohub-product-config .variations tr,
    .ecohub-product-config .variations th,
    .ecohub-product-config .variations td{
        display:block;
        width:100%;
    }

    .ecohub-product-config .variations th{
        margin-bottom:6px;
        padding-right:0;
    }

    .ecohub-product-config .variations td{
        padding-right:0;
    }

    .ecohub-product-config .variations select,
    .ecohub-product-config .quantity .qty{
        min-height:var(--ecohub-touch);
    }

    .ecohub-product-tabs .woocommerce-tabs ul.tabs{
        display:flex;
        flex-wrap:nowrap;
        gap:8px;
        overflow-x:auto;
        white-space:nowrap;
        overscroll-behavior-inline:contain;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:none;
    }

    .ecohub-product-tabs .woocommerce-tabs ul.tabs::-webkit-scrollbar{
        display:none;
    }

    .ecohub-product-tabs .woocommerce-tabs ul.tabs li{
        flex:0 0 auto;
        min-height:44px;
    }

    .ecohub-meeting-compact .meetings-iframe-container,
    .ecohub-meeting-compact iframe,
    .ecohub-modal-meeting .meetings-iframe-container,
    .ecohub-modal-meeting iframe{
        width:100%!important;
        min-height:620px!important;
        max-height:none!important;
    }

    .ecohub-modal-backdrop{
        padding:10px;
        align-items:flex-end;
    }

    .ecohub-modal-panel{
        width:100%;
        max-height:94dvh;
        border-radius:20px 20px 0 0;
        overscroll-behavior:contain;
    }

    .ecohub-modal-grid{
        grid-template-columns:1fr;
        padding:24px 20px max(28px,env(safe-area-inset-bottom));
        gap:20px;
    }

    .ecohub-modal-fields.two{
        grid-template-columns:1fr;
    }

    .ecohub-modal-close{
        width:44px;
        height:44px;
    }

    .ecohub-modal-form input,
    .ecohub-modal-form textarea,
    .ecohub-modal-submit{
        min-height:48px;
    }
}

@media (max-width:767px){
    :root{
        --ecohub-mobile-header-h:64px;
        --ecohub-mobile-edge:16px;
        --ecohub-mobile-radius:15px;
        --ecohub-touch:48px;
    }

    #ecohub-mobile-header{
        overflow:visible!important;
        z-index:99990!important;
    }

    #ecohub-mobile-header .elementor-menu-toggle{
        touch-action:manipulation;
    }

    #ecohub-mobile-header .elementor-nav-menu--dropdown{
        position:fixed!important;
        top:calc(var(--ecohub-adminbar-offset) + var(--ecohub-mobile-header-h))!important;
        left:0!important;
        right:0!important;
        width:100vw!important;
        max-height:calc(100dvh - var(--ecohub-adminbar-offset) - var(--ecohub-mobile-header-h))!important;
        overflow-y:auto!important;
        overscroll-behavior:contain;
        -webkit-overflow-scrolling:touch;
        padding:
            12px max(16px,env(safe-area-inset-right))
            max(22px,env(safe-area-inset-bottom))
            max(16px,env(safe-area-inset-left))!important;
        margin:0!important;
        background:#0C5662!important;
        border:0!important;
    }
#ecohub-mobile-header .elementor-nav-menu--dropdown a{
        min-height:48px;
        display:flex;
        align-items:center;
        touch-action:manipulation;
    }

    #ecohub-mobile-header .elementor-nav-menu--dropdown .sub-menu{
        position:static!important;
    }

    #ecohub-mobile-header .elementor-nav-menu--dropdown .sub-menu a{
        min-height:44px;
    }

    /* HOME */
    .ecohub-home-master-hero{
        min-height:0!important;
        border-radius:var(--ecohub-mobile-radius)!important;
        overflow:hidden!important;
    }

    .ecohub-home-master-hero > .e-con-inner{
        display:flex!important;
        flex-direction:column!important;
        gap:16px!important;
    }

    .ecohub-home-master-hero .ecohub-home-hero-copy{
        order:1!important;
        gap:10px!important;
    }

    .ecohub-home-master-hero .ecohub-home-hero-media{
        order:2!important;
        min-height:0!important;
        overflow:hidden!important;
        border-radius:var(--ecohub-mobile-radius)!important;
    }

    .ecohub-home-hero-copy .elementor-heading-title{
        text-wrap:balance;
        overflow-wrap:break-word;
    }

    .ecohub-home-hero-media img{
        display:block!important;
        width:100%!important;
        height:auto!important;
        min-height:0!important;
        max-height:230px!important;
        aspect-ratio:16/9!important;
        object-fit:cover!important;
        border-radius:var(--ecohub-mobile-radius)!important;
    }
.ecohub-home-usp{
        display:flex!important;
        flex-direction:column!important;
        gap:0!important;
        border-radius:14px!important;
        overflow:hidden!important;
    }

    .ecohub-home-usp-item{
        min-height:62px!important;
        display:flex!important;
        flex-direction:row!important;
        align-items:center!important;
        gap:11px!important;
        padding:10px 12px!important;
    }

    .ecohub-home-usp-item:not(:last-child){
        border-right:0!important;
        border-bottom:1px solid #EDF1F1!important;
    }

    .ecohub-home-solution-card{
        min-height:0!important;
        overflow:hidden!important;
        border-radius:14px!important;
    }

    .ecohub-home-solution-card > .e-con-inner{
        display:flex!important;
        flex-direction:column!important;
        gap:0!important;
        min-height:0!important;
    }

    .ecohub-home-card-media{
        position:relative!important;
        min-height:0!important;
        overflow:visible!important;
    }

    .ecohub-home-card-media img{
        display:block!important;
        width:100%!important;
        height:auto!important;
        min-height:0!important;
        max-height:190px!important;
        aspect-ratio:16/9!important;
        object-fit:cover!important;
    }

    .ecohub-home-card-badge{
        width:44px!important;
        min-width:44px!important;
        height:44px!important;
        min-height:44px!important;
        left:16px!important;
        bottom:-22px!important;
        z-index:4!important;
    }

    .ecohub-home-solution-card > .e-con-inner > .e-con:nth-child(2){
        min-height:0!important;
        padding:30px 16px 16px!important;
        gap:7px!important;
    }

    .ecohub-home-stat-strip{
        display:grid!important;
        grid-template-columns:1fr 1fr!important;
        gap:0!important;
        padding:4px!important;
        border-radius:14px!important;
        overflow:hidden!important;
    }

    .ecohub-home-stat-item{
        min-height:92px!important;
        padding:13px 12px!important;
        display:flex!important;
        flex-direction:column!important;
        justify-content:center!important;
        align-items:flex-start!important;
    }

    .ecohub-home-stat-item:nth-child(odd){
        border-right:1px solid #E2E2DC!important;
    }

    .ecohub-home-stat-item:nth-child(-n+2){
        border-bottom:1px solid #E2E2DC!important;
    }

    .ecohub-home-value{
        display:grid!important;
        grid-template-columns:46px minmax(0,1fr)!important;
        grid-template-rows:auto auto!important;
        column-gap:12px!important;
        row-gap:4px!important;
        align-items:start!important;
        padding:12px 0!important;
    }

    .ecohub-home-value > .elementor-element:first-child{
        grid-column:1!important;
        grid-row:1 / span 2!important;
        width:46px!important;
        min-width:46px!important;
        height:46px!important;
        min-height:46px!important;
    }

    .ecohub-home-value > .elementor-widget-heading{
        grid-column:2!important;
        grid-row:1!important;
    }

    .ecohub-home-value > .elementor-widget-text-editor{
        grid-column:2!important;
        grid-row:2!important;
    }

    .ecohub-home-review-grid{
        display:flex!important;
        flex-direction:row!important;
        flex-wrap:nowrap!important;
        gap:12px!important;
        overflow-x:auto!important;
        padding:0 2px 8px!important;
        scroll-snap-type:x mandatory!important;
        overscroll-behavior-inline:contain;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:none!important;
    }

    .ecohub-home-review-grid::-webkit-scrollbar{
        display:none!important;
    }

    .ecohub-home-review-grid > .e-con{
        flex:0 0 92%!important;
        min-width:92%!important;
        scroll-snap-align:start!important;
    }

    .ecohub-home-review-card{
        min-height:0!important;
        padding:16px!important;
        border-radius:14px!important;
    }

    .ecohub-home-master-cta{
        display:flex!important;
        flex-direction:column!important;
        align-items:stretch!important;
        gap:12px!important;
        padding:18px 16px!important;
        border-radius:14px!important;
    }

    .ecohub-home-master-cta > .e-con:first-child{
        display:grid!important;
        grid-template-columns:46px minmax(0,1fr)!important;
        gap:12px!important;
        align-items:center!important;
    }

    .ecohub-home-cta-icon{
        width:46px!important;
        min-width:46px!important;
        height:46px!important;
        min-height:46px!important;
    }
/* INTERNAL PAGES */
    .ecohub-brand-panel{
        border-radius:var(--ecohub-mobile-radius)!important;
    }
.ecohub-card-media img,
    .ecohub-pp-card img{
        border-radius:14px;
    }

    /* LOOP / ARCHIVE */
    .ecohub-loop-grid .elementor-loop-container{
        row-gap:18px!important;
    }

    .ecohub-loop-card{
        min-height:0!important;
        border-radius:14px!important;
        overflow:hidden!important;
    }

    .ecohub-loop-card .elementor-widget-theme-post-featured-image img,
    .ecohub-loop-card .elementor-widget-image img{
        width:100%;
        height:auto;
        max-height:270px;
        object-fit:contain;
    }

    .ecohub-loop-magazine .elementor-widget-theme-post-featured-image img{
        aspect-ratio:16/10;
        object-fit:cover;
    }

    .ecohub-loop-grid .elementor-pagination a,
    .ecohub-loop-grid .elementor-pagination span{
        min-width:44px;
        min-height:44px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        touch-action:manipulation;
    }

    /* ARTICLE */
    .ecohub-article-main img{
        max-width:100%;
        height:auto;
    }

    .ecohub-article-main ul,
    .ecohub-article-main ol{
        padding-left:22px;
    }

    /* FORMS / FAQ */
    .ecohub-contact-form .elementor-field,
    .ecohub-lead-form .elementor-field{
        min-height:48px;
    }

    .elementor-widget-accordion .elementor-tab-title{
        min-height:48px;
        display:flex;
        align-items:center;
    }

    /* PRODUCT */
    .ecohub-product-main .woocommerce-product-gallery{
        margin-bottom:0;
    }
.ecohub-product-tabs .woocommerce-tabs .panel{
        padding-top:18px!important;
    }

    /* PARTNERS */
    .ecohub-partners-row{
        display:grid!important;
        grid-template-columns:repeat(3,minmax(0,1fr))!important;
        gap:14px 10px!important;
        align-items:center!important;
        justify-items:center!important;
    }

    .ecohub-partners-row > .e-con,
    .ecohub-partners-row > .elementor-element{
        min-height:48px!important;
        display:flex!important;
        align-items:center!important;
        justify-content:center!important;
    }

    .ecohub-partners-row img{
        width:auto!important;
        max-width:104px!important;
        max-height:42px!important;
        height:auto!important;
        object-fit:contain!important;
    }

    /* FOOTER: no width/font-size override */
    #ecohub-footer{
        overflow-x:clip;
        padding-bottom:max(14px,env(safe-area-inset-bottom));
    }

    #ecohub-footer .elementor-widget-text-editor,
    #ecohub-footer .elementor-heading-title{
        overflow-wrap:anywhere;
    }

    /* CUSTOM MODAL */
    .ecohub-modal-copy h3{
        font-size:30px;
        text-wrap:balance;
    }

    .ecohub-modal-submit{
        width:100%;
        min-height:48px;
    }
}

@media (max-width:479px){
    .ecohub-partners-row{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:14px 12px!important;
    }

    .ecohub-partners-row > :last-child:nth-child(odd){
        grid-column:1 / -1;
        justify-self:center;
        width:50%;
    }

    .ecohub-partners-row img{
        max-width:118px!important;
        max-height:44px!important;
    }

    .ecohub-product-main .flex-control-thumbs{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .ecohub-home-review-grid > .e-con{
        flex-basis:94%!important;
        min-width:94%!important;
    }
}

@media (prefers-reduced-motion:reduce){
    .ecohub-home-review-grid{
        scroll-behavior:auto!important;
    }
}


/* ======================================================================
 * alpha.6.9.16 — CHI SIAMO MOBILE REFINEMENT
 * Scoped only to About components.
 * =================================================================== */
@media (max-width:1024px){
    .ecohub-about-hero-media img,
    .ecohub-about-story-media img{
        min-height:0;
        height:auto;
    }

    .ecohub-about-photo-card:hover{
        transform:none;
    }
}

@media (max-width:767px){
    .ecohub-about-hero-card{
        border-radius:16px!important;
        box-shadow:none;
    }

    .ecohub-about-hero-media img{
        aspect-ratio:4/3;
        max-height:285px;
        object-position:center;
    }

    .ecohub-about-hero-tags{
        display:flex!important;
        flex-direction:row!important;
        flex-wrap:wrap!important;
        gap:7px!important;
    }

    .ecohub-about-hero-tags .elementor-widget-text-editor{
        flex:0 0 auto;
        padding:6px 9px;
    }

    .ecohub-about-story-media img{
        aspect-ratio:4/3;
        max-height:300px;
    }

    .ecohub-about-story-notes{
        display:flex!important;
        flex-direction:column!important;
        gap:8px!important;
    }

    .ecohub-about-story-notes .elementor-widget-text-editor{
        width:100%;
        padding:12px 13px;
    }

    .ecohub-about-photo-card{
        border-radius:14px!important;
        box-shadow:none;
    }

    .ecohub-about-photo-card-media img{
        aspect-ratio:16/10;
        max-height:225px;
    }

    .ecohub-about-card-number{
        left:14px;
        bottom:14px;
    }

    .ecohub-about-photo-card-copy{
        min-height:0!important;
    }

    .ecohub-about-value-card{
        display:grid!important;
        grid-template-columns:46px minmax(0,1fr)!important;
        grid-template-rows:auto auto!important;
        column-gap:12px!important;
        row-gap:4px!important;
        align-items:start!important;
        box-shadow:none;
    }

    .ecohub-about-value-card > .e-con-inner{
        display:contents!important;
    }

    .ecohub-about-value-card .ecohub-about-value-icon{
        grid-column:1!important;
        grid-row:1 / span 2!important;
        width:46px!important;
        min-width:46px!important;
        height:46px!important;
        min-height:46px!important;
    }

    .ecohub-about-value-card > .elementor-widget-heading,
    .ecohub-about-value-card > .e-con-inner > .elementor-widget-heading{
        grid-column:2!important;
        grid-row:1!important;
    }

    .ecohub-about-value-card > .elementor-widget-text-editor,
    .ecohub-about-value-card > .e-con-inner > .elementor-widget-text-editor{
        grid-column:2!important;
        grid-row:2!important;
    }

    .ecohub-about-network-wrap{
        border-radius:16px!important;
    }

    .ecohub-about-network-card{
        box-shadow:none;
    }

    .ecohub-about-network-card .elementor-widget-image img{
        max-width:190px;
        max-height:72px;
    }

    .ecohub-about-certs-section .ecohub-about-cert-card{
        flex-basis:calc(50% - 8px)!important;
        width:calc(50% - 8px)!important;
        max-width:calc(50% - 8px)!important;
        min-width:0!important;
        padding:10px 10px 14px!important;
        box-shadow:none;
    }

    .ecohub-about-cert-media{
        min-height:104px!important;
    }

    .ecohub-about-cert-media img{
        max-width:105px;
        max-height:78px;
    }

    .ecohub-about-certs-section .ecohub-about-cert-card .elementor-heading-title{
        overflow-wrap:anywhere;
    }

    .ecohub-about-stat-strip{
        margin-top:2px;
    }
}

@media (max-width:479px){
    .ecohub-about-certs-section .ecohub-about-cert-card{
        flex-basis:100%!important;
        width:100%!important;
        max-width:100%!important;
    }

    .ecohub-about-cert-media{
        min-height:96px!important;
    }
}


/* alpha.6.9.18 — admin bar offset for dynamically measured mobile Header. */
@media (max-width:1024px){
    body.admin-bar{
        --ecohub-adminbar-offset:32px;
    }
}
@media (max-width:782px){
    body.admin-bar{
        --ecohub-adminbar-offset:46px;
    }
}
