/*
Theme Name:  ISOF-CNR
Description: Child theme for ISOF-CNR
Author:      Paolo saraceno
Template:    labtechco
Version:     0.1
Tags:        light, white, two-columns, three-columns, four-columns, right-sidebar, left-sidebar, responsive, retina
*/


/* NOTE: Main theme's style.css file is already added in head tag. /*

/* =Theme customization starts here
-------------------------------------------------------------- */

/* DESKTOP */
.themestek-box-title h4 {
  font-size: 20px !important;
  line-height: 1.4 !important;
}

/* TABLET VERTICALE (768px e sotto) */
@media (max-width: 768px) {
  .themestek-box-title h4 {
    font-size: 12px !important;
    line-height: 1.3 !important;
    margin-bottom: 8px !important;
  }
}

/* MOBILE (480px e sotto) */
@media (max-width: 480px) {
  .themestek-box-title h4 {
    font-size: 14px !important;
    line-height: 1.2 !important;
  }
}

/* ================================================
   CUSTOM CSS - migrato da LabtechCO Options
   Data: 2026-05-10
   ================================================ */

/* ===== SCROLL TO ID ===== */
html {
    scroll-behavior: smooth !important;
}
[id] {
    scroll-margin-top: 100px !important;
}

/* ===== FIX ALTEZZA IMMAGINI NEWS ===== */
.themestek-blog.ts-blogbox-style-1 .ts-featured-wrapper img,
.themestek-blogbox-style-1 .ts-featured-wrapper img,
.themestek-box-style1 .ts-featured-wrapper img {
    width: 100% !important;
    height: 180px !important;
    object-fit: cover !important;
    object-position: center top !important;
}
.themestek-blog.ts-blogbox-style-1 .ts-featured-wrapper,
.themestek-box-style1 .ts-featured-wrapper {
    overflow: hidden !important;
    height: 180px !important;
}

/* ===== TEAM MEMBER RESPONSIVE LAYOUT ===== */
@media (min-width: 1440px) {
    .themestek-box-team .themestek-post-item {
        display: flex;
        flex-wrap: wrap;
    }
    .themestek-box-team .themestek-box-img-left {
        width: 35% !important;
        float: left !important;
    }
    .themestek-box-team .themestek-box-content {
        width: 65% !important;
        float: left !important;
        padding-left: 15px !important;
    }
}
@media (max-width: 1439px) {
    .themestek-box-team .themestek-post-item {
        display: block !important;
    }
    .themestek-box-team .themestek-box-img-left {
        width: 100% !important;
        float: none !important;
        margin-bottom: 15px !important;
    }
    .themestek-box-team .themestek-box-content {
        width: 100% !important;
        float: none !important;
        padding-left: 0 !important;
    }
}
@media (max-width: 1024px) {
    .themestek-box-team .themestek-box-img-left {
        width: 100% !important;
    }
    .themestek-box-team .themestek-box-content {
        width: 100% !important;
    }
}
@media (max-width: 768px) {
    .themestek-box-team .themestek-box-img-left {
        width: 100% !important;
    }
    .themestek-box-team .themestek-box-content {
        width: 100% !important;
        padding: 15px 10px !important;
    }
}
.themestek-box-content {
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
}
.themestek-box-content a,
.themestek-box-content p {
    font-size: calc(12px + 0.3vw) !important;
    line-height: 1.5 !important;
}
.themestek-box-content a[href^="tel:"],
.themestek-box-content a[href^="mailto:"] {
    display: inline-block !important;
    white-space: normal !important;
    word-break: break-word !important;
}

/* ===== HEADER MOBILE: gestito via JS in functions.php ===== */

/* ===== ALPHA FILTER ===== */
.ts-alpha-filter button {
    background: transparent !important;
    border: 1px solid #333333 !important;
    color: #333333 !important;
    padding: 5px 13px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    border-radius: 3px !important;
    letter-spacing: 1px !important;
    transition: all 0.3s ease !important;
}
.ts-alpha-filter button:hover:not(.active) {
    background: #333333 !important;
    color: #ffffff !important;
}
.ts-alpha-filter button.active {
    background: #333333 !important;
    color: #ffffff !important;
    border-color: #333333 !important;
}
@media (max-width: 767px) {
    .ts-alpha-filter {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 5px !important;
        padding: 15px 0 20px 0 !important;
    }
    .ts-alpha-filter button {
        padding: 6px 10px !important;
        font-size: 11px !important;
        flex: 1 1 calc(50% - 3px) !important;
        min-width: 45px !important;
    }
}

/* ===== GRID FILTER ===== */
.row.multi-columns-row.themestek-boxes-row-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
}
.ts-box-col-wrapper[style="display: none;"] {
    display: none !important;
    width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
}

/* ===== TAB ACCORDION MOBILE ===== */
@media (max-width: 767px) {
    .ts-tabs-accordion .ts-acc-title {
        color: #ffffff !important;
        background-color: #3368c6 !important;
        border: none !important;
        padding: 12px 15px !important;
        font-size: 13px !important;
        margin-bottom: 8px !important;
        border-radius: 4px !important;
        font-weight: 600 !important;
    }
    .ts-tabs-accordion .ts-acc-title:hover {
        background-color: #2452a0 !important;
        color: #ffffff !important;
    }
    .ts-tabs-accordion .ts-acc-title.active {
        background-color: #ffffff !important;
        color: #3368c6 !important;
        border: 2px solid #3368c6 !important;
        font-weight: 700 !important;
    }
}

/* ===== posizione tabs ===== */
.ts-tabs.ts-tabs-top .ts-tabs-nav {
    margin-bottom: 0 !important;
}
.ts-tabs.ts-tabs-top .ts-tabs-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* ===== TEAM DETAILS ===== */
.ts-team-details-list li.ts-team-details-line .ts-team-list-title {
    background: #3368c6 !important;
    color: #ffffff !important;
    padding: 2px 10px !important;
    display: inline-block !important;
    border-radius: 3px !important;
    font-size: 11px !important;
    letter-spacing: 1px !important;
    margin-bottom: 3px !important;
}
.ts-team-details-list li.ts-team-details-line {
    margin-bottom: 20px !important;
    padding-top: 10px !important;
}
.ts-team-member-single-content-wrapper .ts-team-social-links-wrapper {
    position: relative !important;
    right: auto !important;
    top: auto !important;
    clear: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
}
.themestek-box-team .themestek-box-img-left .ts-featured-outer-wrapper img,
.themestek-box-team .themestek-box-img-left .ts-post-featured-outer-wrapper img {
    width: 100% !important;
    height: 300px !important;
    object-fit: cover !important;
    object-position: top center !important;
}

/* ===== FOOTER ICONE ===== */
.labtechco_contact_widget_wrapper li::before {
    color: #FFFFFF !important;
}

/* ================================================
   MEGA MENU - CSS Consolidato
   Migrato da Max Mega Menu Custom Styling
   Data: 2026-05-10
   ================================================ */

/* ── Z-INDEX: menu sopra allo slider (tutti i menu) ── */
#mega-menu-wrap-primary,
#mega-menu-wrap-themestek-main-menu,
#mega-menu-wrap-max_mega_menu_2,
#mega-menu-wrap-max_mega_menu_3,
#mega-menu-wrap-max_mega_menu_4 {
    position: relative;
    z-index: 9999;
}
#mega-menu-wrap-primary .mega-menu,
#mega-menu-wrap-primary .mega-sub-menu,
#mega-menu-wrap-themestek-main-menu .mega-menu,
#mega-menu-wrap-themestek-main-menu .mega-sub-menu {
    position: relative;
    z-index: 9999;
}
.rev_slider_wrapper,
.rev_slider {
    z-index: 1 !important;
}

/* ── MAIN MENU: tablet 768-1199px ── */
@media (min-width: 768px) and (max-width: 1199px) {
    #mega-menu-wrap-themestek-main-menu
    #mega-menu-themestek-main-menu > li.mega-menu-item > a.mega-menu-link {
        font-size: 10px !important;
        padding: 0 7px !important;
        letter-spacing: 0 !important;
    }
}

/* ── MAIN MENU: tablet 768-991px ── */
@media (min-width: 768px) and (max-width: 991px) {
    #mega-menu-wrap-themestek-main-menu
    #mega-menu-themestek-main-menu > li.mega-menu-item > a.mega-menu-link {
        font-size: 9px !important;
        padding: 0 4px !important;
    }
}

/* ── MAIN MENU: forza una riga sola ── */
@media (min-width: 768px) {
    #mega-menu-wrap-themestek-main-menu
    #mega-menu-themestek-main-menu {
        display: flex !important;
        flex-wrap: nowrap !important;
        white-space: nowrap !important;
    }
}
#mega-menu-wrap-themestek-main-menu
#mega-menu-themestek-main-menu > li.menu-tech-transfer > a.mega-menu-link {
    white-space: nowrap !important;
    font-size: 11px !important;
}

@media (min-width: 768px) and (max-width: 991px) {
    #mega-menu-wrap-themestek-main-menu
    #mega-menu-themestek-main-menu > li.menu-tech-transfer > a.mega-menu-link {
        font-size: 9px !important;
    }
}

/* ── MENU LATERALI: interlinea voci ── */
#mega-menu-wrap-max_mega_menu_2 #mega-menu-max_mega_menu_2 li.mega-menu-item a.mega-menu-link,
#mega-menu-wrap-max_mega_menu_3 #mega-menu-max_mega_menu_3 li.mega-menu-item a.mega-menu-link,
#mega-menu-wrap-max_mega_menu_4 #mega-menu-max_mega_menu_4 li.mega-menu-item a.mega-menu-link {
    line-height: 1.2 !important;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
}

/* ── MENU LATERALI: spaziatura voci ── */
#mega-menu-wrap-max_mega_menu_2 #mega-menu-max_mega_menu_2 li.mega-menu-item,
#mega-menu-wrap-max_mega_menu_3 #mega-menu-max_mega_menu_3 li.mega-menu-item,
#mega-menu-wrap-max_mega_menu_4 #mega-menu-max_mega_menu_4 li.mega-menu-item {
    margin-bottom: 5px !important;
}

/* ── MENU LATERALI: spaziatura uniforme mobile ── */
#mega-menu-wrap-max_mega_menu_2 #mega-menu-max_mega_menu_2 li.mega-menu-item > a.mega-menu-link,
#mega-menu-wrap-max_mega_menu_3 #mega-menu-max_mega_menu_3 li.mega-menu-item > a.mega-menu-link,
#mega-menu-wrap-max_mega_menu_4 #mega-menu-max_mega_menu_4 li.mega-menu-item > a.mega-menu-link {
    line-height: 1.4 !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    min-height: auto !important;
    height: auto !important;
    display: block !important;
    box-sizing: border-box !important;
}

/* ── FIX: testo sovrapposto menu laterali ── */
#mega-menu-wrap-max_mega_menu_2 #mega-menu-max_mega_menu_2 li.mega-menu-item > a.mega-menu-link,
#mega-menu-wrap-max_mega_menu_3 #mega-menu-max_mega_menu_3 li.mega-menu-item > a.mega-menu-link,
#mega-menu-wrap-max_mega_menu_4 #mega-menu-max_mega_menu_4 li.mega-menu-item > a.mega-menu-link {
    white-space: normal !important;
    word-wrap: break-word !important;
    overflow: visible !important;
    width: 100% !important;
}

/* ================================================
   ELEMENTOR - Pagina Staff (Widget Tabs)
   Migrato da Elementor Custom CSS inline
   Data: 2026-05-10
   ================================================ */

/* ORIGINALE - Desktop funziona perfetto */
.elementor-widget-ts_tabs_element .ts-tabs-top .ts-tabs-nav .ts-tab-title {
    color: #ffffff !important;
}
.elementor-widget-ts_tabs_element .ts-tabs-top .ts-tabs-nav .ts-tab-title:hover {
    color: #ffffff !important;
}
.elementor-widget-ts_tabs_element .ts-tabs-top .ts-tabs-nav .ts-tab-title.active {
    color: #ffffff !important;
}
.elementor-widget-ts_tabs_element .ts-tabs-top .ts-tabs-nav .ts-tab-title.active,
.elementor-widget-ts_tabs_element .ts-tabs-top .ts-tabs-nav .ts-tab-title.active a {
    background-color: #1a6fd4 !important;
    color: #ffffff !important;
    border-color: #1a6fd4 !important;
}

/* ── MOBILE: fix testo invisibile ── */
@media (max-width: 767px) {
    .elementor-widget-ts_tabs_element .ts-tab-content {
        color: #ffffff !important;
    }
    .elementor-widget-ts_tabs_element .ts-tab-content p,
    .elementor-widget-ts_tabs_element .ts-tab-content h1,
    .elementor-widget-ts_tabs_element .ts-tab-content h2,
    .elementor-widget-ts_tabs_element .ts-tab-content h3,
    .elementor-widget-ts_tabs_element .ts-tab-content h4,
    .elementor-widget-ts_tabs_element .ts-tab-content h5,
    .elementor-widget-ts_tabs_element .ts-tab-content h6 {
        color: #ffffff !important;
    }
    .elementor-widget-ts_tabs_element .ts-tab-content a {
        color: #64b5f6 !important;
    }
}

/* ── footer ── */
#first-footer .first-footer-inner {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
}
#first-footer {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
}

/* ── Logo desktop/tablet/mobile: gestito via JS in functions.php ── */