/*---------------------- HEADER ------------------------*/
.link-item i{
    height: auto;
    min-height: auto;
}
.ps-shoppingcart.dropdown #blockcart-content{
    z-index: 1000;
}
#desktop_logo > a > img{
    max-width: 328px;
}
#mobile-header-sticky div.col.col-mobile-logo.text-center img{
    max-width:175px!important;
}

.header-top{
    padding-top: 20px;
}

.hos-logo{
    padding: 0px;
}

.hos-search{
    padding-right: 25px;
}

.hos-search #search_widget{
    max-width: 665px;
    margin: inherit!important;
    margin-left: auto!important;
}

.hos-user-cart{
    padding: 0px;
}

.search-widget .search-btn{
    right: auto;
    left: 0;
}

.search-widget .search-btn > i{
    font-size: 18px;
}

.search-widget .form-search-control{
    padding-right: inherit;
    padding-left: 3rem;
    border: 1px solid #B9B9B9;
    border-radius: 10px!important;
}

#header .header-btn-w{
    padding: 0 10px;
    display: flex;
    align-items: center;
}

#header .header-btn-w .header-btn .title{
    font-size: 8px;
    text-transform: uppercase;
    margin-top: 0px;
    color: #5C5C5C!important;
}

#header .header-btn-w .header-btn:hover .title{
    margin-top: 0px;
    color: #f28419!important;
}

#header .header-assis-container{
    padding-left: 10px;
    padding-right: 20px;
}

#ps-shoppingcart-wrapper{
    display: flex;
    align-items: center;
}




/*----------------------- MENU -------------------------*/
/* Bold sulle prime 4 voci (per posizione, non per id: su staging gli id menu
   iqitmegamenu sono diversi dalla live perche' reimportati). */
#iqitmegamenu-horizontal .cbp-horizontal > ul > li:nth-child(-n+4) .cbp-tab-title{
    font-weight: bold;
}

.iqit-megamenu-container{
    padding: 0px;
}

.cbp-hrmenu .cbp-links li a:before{
    display: none;
}

.cbp-hrmenu .cbp-links li a{
    padding-left: 0px;
    font-size: 16px;
    line-height: 35px;
    color: #282E33!important;
}

.cbp-hrmenu .cbp-links li a:hover{
    color: #F28419!important;
}

#iqitmegamenu-horizontal .cbp-hrmenu .cbp-hrsub-inner .cbp-column-title,
#iqitmegamenu-horizontal .cbp-hrmenu .cbp-hrsub-inner a.cbp-column-title:link{
    text-transform: none;
}

.cbp-hrmenu .cbp-links li{
    padding-left: 0px;
}

.cbp-hrmenu .cbp-tabs-names li a{
    font-size: 16px;
    line-height: 40px;
    font-weight: bold;
    padding-bottom: 0px;
    padding-top: 0px;
}

.cbp-hrmenu .cbp-hrsub-tabs-names li{
    border-bottom: 0px;
}

.iqitmegamenu-submenu-container{
    padding-top: 30px;
    padding-bottom:45px;
}

.hos-menu-content-category{
    padding-left: 29px!important;
    border-left: 1px solid #E0E0E0;
    height: 500px;
}

.cbp-hrmenu .cbp-tabs-container{
    padding-left: 15px;
    padding-right: 15px;
}

#_mobile_iqitmegamenu-mobile{
    width: 100%!important;
}

.mobile-menu li>.mobile-menu__submenu--accordion{
    padding-left: 0px;
}

.mobile-menu__link{
    font-size: 16px;
    line-height: 36px;
    color: #5C5C5C!important;
    padding-left: 15px;
    font-weight: bold;
}

.mobile-menu__arrow{
    padding-right: 15px;
}

.mobile-menu__tab--active .mobile-menu__link{
    color: #282E33!important;
}

#iqitmegamenu-mobile li > ul.mobile-menu__submenu--accordion .mobile-menu__link{
    font-size: 16px;
    line-height: 36px;
    color: #5C5C5C!important;
    font-weight: bold;
}

.mobile-menu__submenu--active > li{
    background: #F4F6F8;
}

.mobile-menu__submenu--active > li.mobile-menu__tab--active{
    background: white;
}

.mobile-menu__submenu--active > li.mobile-menu__tab--active > a{
    color: #282E33!important;
}








/*----------------------- HOME -------------------------*/
.hos-cat-home .elementor-iqit-banner-img{
    text-align: center;
}

.hos-cat-home .elementor-iqit-banner-img img{
    width: 70px;
}

.hos-cat-container-home a:hover .elementor-iqit-banner-title{
    color: #F28419!important;
}

.hos-link-banner-cat{
    color: #F28419!important;
}

.hos-link-banner-cat:hover{
    text-decoration: underline;
}








/*----------------------- FOOTER -----------------------*/
#footer-container-main {
    padding-bottom: 60px;
}
.social-footer-hos{
    margin-right: 8px;
}

.hos-footer-newsletter-title{
    font-size: 38px;
    line-height: 30px;
    font-weight: 600;
}

#footer .newsletter-input-group .input-subscription{
    height: 40px;
}

#footer .newsletter-input-group{
    border-radius: 10px;
    width: 326px;
    display: inline-flex;
}

#footer .ps-emailsubscription-block .btn-subscribe{
    display: inline-flex;
    border: 1px solid transparent;
    border-radius: 10px;
    line-height: 40px;
    background-color: #3374BC!important;
    margin-left: 9px;
}

#footer .ps-emailsubscription-block .hos-block-newsletter-conditions{
    width: 430px;
}

.block-social-links .hos-footer-social-title{
    font-size: 18px;
    line-height: 30px;
    font-weight: 600;
}

.hos-social-container{
    align-items: center;
}






/*-------------------- PRODUCT LIST --------------------*/
.swiper-container-wrapper .product-carousel{
    padding-top: 0px;
}

.swiper-container-wrapper .products.swiper-container {
    padding: 1.4285714286rem 0 0; 
}

.hos-carousel-show-all{
    position: relative;
    bottom: 35px;
    right: 80px;
}

.products-grid .product-miniature-default{
    border: 1px solid #E0E0E0;
    border-radius: 4px;
}

.product-miniature-default .product-flags{
    left: 16px;
    top: 14px;
}

.product-flags .new{
    background: #2C3339;
    color: #FFFFFF;
}

@media(max-width: 768px){
    .product-miniature-default li.product-flag.on-sale{
        display: none;
    }
}

.product-miniature-default li.product-flag.pack{
    display:none!important;
}

.product-miniature-default li.product-flag{
    border: 1px solid transparent;
    border-radius: 5px;
    text-transform: uppercase;
}

/* Nasconde il badge "Consegna: .. giorni / non disponibile" nelle card (grid +
   carosello). Pagina prodotto non toccata (non usa .products-grid). */
.products-grid .product-combination-only-unavailable{
    display: none;
}

.product-miniature-grid .product-title{
    font-family: 'Lato';
    font-weight: bold;
    font-size: 16px;
    line-height: 24px;
    min-height: 72px;
}

.product-miniature-grid .product-title > a{
    color: #212121!important;
}

.product-miniature-grid:hover .product-title > a{
    color: #F28419!important;
}

.product-miniature-grid .product-price{
    font-size: 18px;
    font-weight: bold;
    line-height: 22px;
    color: #F28419;
}

.products-grid .product-miniature-layout-2 .regular-price{
    display: inline-block;
    margin-left: 5px;
    font-size: 18px;
    line-height: 22px;
    color: #5C5C5C;
}

.products-grid .product-miniature-layout-2 .product-description{
    padding: 15px;
}

.product-miniature-layout-2 .row{
    --bs-gutter-x: 0;
    margin-left: 0;
    margin-right: 0;
}
.product-miniature-layout-2 .row > *{
    padding-left: 0;
    padding-right: 0;
}

.products-grid .product-miniature-layout-2 .product-description .product-without-taxes{
    font-size: 14px;
    line-height: 17px;
    color: #0A2438;
    font-weight: bold;
}

.btn-product-list{
    border-radius: 10px;
    font-weight: 600;
}

.btn-product-list > i{
    margin-right: 3px;
}

/* ----- BLOCKCART (anteprima carrello) - personalizzazioni live ----- */
.js-cart-line-product-quantity{
    border: solid 1px #bbb8b8;
    border-radius: 10px 0px 0px 10px !important;
}
.temp-consegna{
    color: #25a534;
    width: 100%;
    font-weight: 700;
}
.hos_tempi_consegna_preview{
    margin-top: 10px;
}
.ps-shoppingcart .cart-products-count-btn{
    line-height: 17px;
    min-width: 19px;
    height: 19px;
    font-size: 10px;
    top: -10px;
    right: -8px;
}

/* BOTTONI - radius globale come live */
.btn-primary, .btn-secondary{
    border-radius: 10px;
}

.btn-hide-mobile .products-grid .product-miniature-layout-2 .btn-product-list{
    margin-top: 15px;
}

.circle-disp{
    color:#29B474;
}

.circle-last{
    color:#F28419;
}

.circle-nd{
    color:#CB3E3E;
}







/*--------------------- CATEGORY -----------------------*/
.select-title .select-title-name{
    max-width:initial;
}

/* Barra "X prodotti trovati" + ordinamento (products-top) */
.products-selection{
    border-top: 0px;
    border-bottom: 0px;
}
.products-sort-order .form-control{
    border: 1px solid #BEBEBE;
    border-radius: 4px;
    font-size: 14px;
    line-height: 17px;
    color: #434343!important;
    width: 220px;
    padding: 0.5rem 0.8rem;
    margin-left: auto;
}
.products-sort-order .form-control > i{
    float: right;
    position: relative;
    top: 4px;
}
.products-selection .products-sort-nb-dropdown .dropdown-menu{
    width: 220px;
    min-width: 220px!important;
    margin-right: 15px;
}
.hos-showing-product{
    font-size: 14px;
    line-height: 24px;
    color: #282E33;
}
.products-selection .showing{
    margin-right: 0px;
}

/* ---- Filtri faceted (amazzingfilter / #af_form) ---- */
#amazzing_filter.block .title_block{
    font-size: 16px;
    line-height: 19px;
    color: #191919;
    font-weight: bold;
    text-transform: uppercase;
    margin-bottom: 10px;
}
.selectedFilters{
    border-bottom: 1px solid #707070;
}
.selectedFilters .clearAll{
    display: none;
}
.selectedFilters .cf{
    border: 1px solid transparent;
    background: #F5F5F5;
    border-radius: 18px;
    font-size: 14px;
    line-height: 17px;
    color: #434343;
    padding: 10px 25px 10px 15px;
    margin-bottom: 10px;
    display: inline-block;
    margin-right: 8px;
}
.selectedFilters .cf a{
    opacity: 1;
    font-size: 17px;
    color: #3575B8!important;
}
.af_filter{
    border-bottom: 1px solid #707070;
}
.af_filter:last-child{
    border-bottom: 0px;
}
.af_subtitle{
    font-size: 16px;
    line-height: 19px;
    font-weight: bold;
    color: #191919;
    text-transform: uppercase;
}
.af_subtitle.toggle-content:before{
    width: 10px;
    height: 10px;
    border-color: #191919;
}
.af_filter .name{
    font-size: 16px;
    line-height: 28px;
    color: #494948;
    padding-left: 10px;
}
.af_filter .count{
    display: none;
}
.af-checkbox-label:after{
    border-radius: 4px;
    width: 20px;
    height: 20px;
    top: 6px;
}
.active > .af-checkbox-label:before{
    background: #3575B8;
    color: white;
    display: flex;
    align-items: center;
    text-align: center;
    border: 1px solid transparent;
    border-radius: 4px;
    top: 6px;
    font-size: 17px;
    left: 2px;
    width: 20px;
    height: 20px;
}
.vertical-layout .af_filter.type-3:not(.closed){
    padding-bottom: 15px;
}
.af-slider .selected-bar{
    bottom: 2px;
    height: 50%;
    background: #3B404B;
}
.af-slider .clickable-dummy{
    height: 50%;
    bottom: 2px;
    background: #3B404B;
}
.af-slider .back-bar{
    background: transparent;
}
.af-slider .pointer{
    background-color: #A2A6AD;
    border: 0px;
}
.af-slider .pointer.to{
    background-color: #3575B8;
}

/* Header categoria: breadcrumb + titolo + descrizione raggruppati in
   .hos-header-title-breadcrumb (come online). Il blocco e' reso dal layout. */
.hos-header-title-breadcrumb{
    background-color: #F5F6F7;
}
#index .hos-header-title-breadcrumb{
    display: none;
}
#product .hos-header-title-breadcrumb{
    background: #F5F6F7;
}
#wrapper .breadcrumb{
    margin-bottom: 0px;
}
.hos-header-title-breadcrumb .breadcrumb .row > .col:not(.col-auto){
    padding-left: 15px;
    padding-right: 15px;
}
.breadcrumb ol{
    font-size: 16px;
    line-height: 24px;
}
.breadcrumb ol > li:last-child > span{
    color: #9399A3!important;
}
#category #js-product-list-header .page-title{
    font-size: 26px;
    line-height: 30px;
    color: #282E33;
    font-weight: bold;
    padding-top: 25px;
    padding-bottom: 5px;
}
.category-description{
    padding-bottom: 30px;
}
#category .category-description .rte-content{
    font-size: 14px;
    line-height: 20px;
    color: #4E4E4E;
}

/* Titolo e descrizione stanno nel box header (.hos-header-title-breadcrumb, fuori da
   #inner-wrapper). Nascondo i duplicati resi nel content da product-list/category.tpl,
   senza toccare quei template (evita di rompere le categorie Elementor). */
#inner-wrapper #js-product-list-header {
    display: none;
}
#inner-wrapper .category-description {
    display: none;
}

/* Categoria Elementor: il grigio del box breadcrumb e quello delle sezioni Elementor
   devono essere continui. L'inner-wrapper ha 40px di stacco (categorie normali); per le
   Elementor il -40px sull'.elementor lo risale a filo del breadcrumb -> niente gap bianco. */
#category #inner-wrapper {
    margin-top: 40px;
}
#category #inner-wrapper #content-wrapper .elementor {
    margin-top: -40px;
}






/*--------------------- PRODUCT ------------------------*/

/* ---- Titolo prodotto ---- */
#content-wrapper .product_header_container .page-title,
#content-wrapper .product-info-row .page-title{
    font-size: 28px;
    line-height: 34px;
    font-weight: bold;
    color: #F27519;
}

/* ---- Colonna info: brand / reference / descrizione breve ---- */
.product-info-row{
    max-width: 1070px;
    margin: auto;
}
#product #inner-wrapper.container{
    max-width: 1920px;
    padding: 0;
    margin-top: 35px;
}
#product .row.product-info-row{
    max-width: 1440px;
}
.hos-brand-reference-link{
    font-size: 14px;
    line-height: 24px;
    color: #282E33!important;
}
.hos-brand-reference-link label{
    font-weight: bold;
}
.hos-brand-reference-link a{
    color: #282E33!important;
    text-decoration: underline;
}
.costruttore{
    font-weight: bold;
    margin-right: 5px;
}
.hos-desc-short{
    font-size: 14px;
    line-height: 20px;
    color: #5C5C5C;
}

/* ---- Blocco KIT (prodotti pack) ---- */
#product #hos_product_pack{
    max-height: 160px;
    overflow-y: hidden;
    position: relative;
    padding-bottom: 42px;
}
#product #hos_shadow_product_div{
    width: 100%;
    height: 42px;
    background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 20%, rgba(255,255,255,1) 40%);
    position: absolute;
    bottom: 0;
    transition: opacity 0.5s ease-in-out;
}
#product #expand_section,
#product #reduce_section{
    position: absolute;
    bottom: 0;
    left: 40%;
    cursor: pointer;
    color: #f27519;
    font-weight: bold;
}
#product #expand_section:hover,
#product #reduce_section:hover{
    text-decoration: underline;
}
#product #reduce_section{
    display: none;
}

/* ---- Sidebar prodotto: card ---- */
#product .sidebar.product-sidebar{
    background-color: rgba(234, 234, 234, 0.4);
    border-radius: 16px;
    box-shadow:
        0 4px 12px rgba(133,133,133,0.3),
        0 -4px 12px rgba(133,133,133,0.2),
        -4px 0 12px rgba(133,133,133,0.1),
        4px 0 12px rgba(133,133,133,0.1);
    padding-left: 15px;
    padding-right: 15px;
}
.sidebar.product-sidebar .product-price{
    font-size: 24px;
    line-height: 29px;
    font-weight: bold;
    color: #F28419;
}
.sidebar.product-sidebar .product-discount{
    padding: 0;
}
.sidebar.product-sidebar .product-discount .regular-price{
    font-size: 15px;
}
.sidebar.product-sidebar .discount.discount-percentage{
    font-size: 12px;
    vertical-align: baseline;
    bottom: 1px;
    line-height: 30px;
}
.hos-vat-product-container{
    margin-top: 10px;
}
#product .hos-vat-product-container{
    padding: 0;
}
#product .hos-vat-product-title {
    margin-bottom: 0;
}

/* ---- Box accessori (multi-accessories) ---- */
.multi-accessories{
    border: 1px solid #b9b9b9;
    border-radius: 4px;
}
#product .product-additional-info.js-product-additional-info{
    padding-bottom: 10px;
}
div.accessory-heading{
    font-size: 16px;
    line-height: 24px;
    color: #282e33;
    padding: 8px 11px;
}
div.accessorycheckbox{
    height: auto;
    max-height: 180px;
    overflow-y: auto;
    overflow-x: hidden;
    float: none;
    border: 0px;
}
div.ajax_block_product{
    border: 1px solid #E0E0E0;
    border-radius: 4px;
    padding: 5px 10px;
    margin-bottom: 10px;
}
div.accessorycheckbox .price{
    color: #F28419;
    font-size: 16px;
    font-weight: bold;
}

/* ---- Blocco prezzo (product-prices.tpl) ---- */
.hos-price-container{
    margin-top: 19px;
}
#product .product-prices .product-price{
    font-size: 24px;
    line-height: 29px;
    font-weight: bold;
    color: #F28419;
}
.product-discount{
    padding: 0px 5px;
}
.product-discount .regular-price{
    font-size: 18px;
    line-height: 22px;
    color: #8D8D8D;
}
.product-prices .badge{
    background: transparent;
    font-size: 24px;
    line-height: 29px;
    font-weight: bold;
    color: #282E33;
    position: relative;
    bottom: 10px;
    padding: 0px;
}
.disp-prod{
    font-size: 16px;
    line-height: 24px;
    color: #282E33;
    display: block;
    margin-top: 15px;
}
#product .disp-prod.prod_available{
    color: #25a534;
    margin-top: 0;
}
#product .disp-prod.last_units{
    color: orange;
    margin-top: 0;
}
#product .disp-prod.not_available{
    color: red;
    margin-top: 0;
}

/* ---- Add to cart (qty + bottone + sequra/paypal) ---- */
.product-quantity .qty{
    width: 65px;
}
.product-quantity .qty .input-group{
    border-radius: 10px 0 0 10px;
    border-color: #B9B9B9;
    border-right: 0px;
}
.product-quantity .qty .input-group:focus{
    border-right: 0px;
}
.bootstrap-touchspin .input-group-btn-vertical .bootstrap-touchspin-up{
    border-radius: 0px 10px 0 0;
    border-left: 0px;
    border-bottom: 0px;
    border-color: #B9B9B9;
}
.bootstrap-touchspin .input-group-btn-vertical .bootstrap-touchspin-down{
    border-radius: 0 0 10px 0;
    border-left: 0px;
    border-color: #B9B9B9;
}
.bootstrap-touchspin .btn-touchspin:hover{
    background: transparent;
    border-left: 0px;
}
.product-quantity .qty .input-group.bootstrap-touchspin > .form-control{
    border-top-left-radius: 10px !important;
    border-bottom-left-radius: 10px !important;
}
#product .product-add-to-cart{
    padding: 0 0 15px 0;
}
#product .col-add-btn .add-to-cart{
    width: 100%;
    background: #F28419;
    border: 1px solid transparent;
    border-radius: 10px;
    box-shadow: 0px 5px 19px #00000026;
    color: white;
    font-size: 18px;
    line-height: 22px;
    font-weight: bold;
}
#product .add-to-cart:hover{
    background: #F27519;
}
#product #hos_sequra_paypal{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 35px;
    background-color: #ffffff;
    border: 1px solid #b0adb9;
}
#product #hos_sequra_paypal img{
    height: 16px;
    margin: 0 8px;
}

/* ---- Sezione descrizione / dettagli / allegati ---- */
.product-tabs{
    margin-bottom: 0px;
}
.product-tabs.product-sections{
    background: #F5F6F7;
    padding-top: 25px;
    padding-bottom: 90px;
    margin-top: 10px;
}
#product .tabs.product-tabs{
    background-color: #d3d3d321;
}
@media all and (min-width: 769px) {
    #product .tabs.product-tabs{
        padding: 0 130px;
    }
}
@media all and (max-width: 768px) {
    #product .tabs.product-tabs{
        padding: 0;
    }
    #product #product-infos-tabs{
        flex-direction: row;
        column-gap: 15px;
    }
    #product #product-infos-tabs-content{
        padding: 7px 15px;
    }
}
.product-description-section, .product-details-section{
    max-width: 1440px;
    margin: auto;
}
.product-details-section{
    margin-top: 50px;
}
.product-attachments-section{
    max-width: 1440px;
    margin: auto;
    padding-top: 20px;
    margin-top: 40px;
    border-top: 1px solid #B9B9B9;
}
.product-description-section,
.product-details-section,
.product-attachments-section{
    padding-left: 1.0714285714rem;
    padding-right: 1.0714285714rem;
}
#product #content-wrapper .section-title{
    border: 0px;
    font-size: 18px;
    line-height: 21px;
    font-weight: bold;
    color: #0D0D0D;
}
#product .rte-content table{
    border: 2px solid #595959;
}
#product .rte-content table td,
#product .rte-content table th{
    border: 1px solid #dcdcdc;
    padding: 0;
}
#product .rte-content table h4{
    font-size: 1.125rem;
}
#product .rte-content h3{
    font-size: 1.125rem;
}
#product section.crossselling-products{
    max-width: 1440px;
    margin: auto;
    padding-top: 60px;
    padding-bottom: 60px;
}
#product section.crossselling-products > h4 > span{
    font-size: 24px;
    line-height: 30px;
    color: #282E33;
    margin-bottom: 22px;
    border-bottom: 1px solid #E0E0E0;
    width: 100%;
    display: block;
    padding: 15px 0px;
    text-transform: none;
}







/*||----------------- SMALL DESKTOP -------------------||*/
@media(min-width: 991px) and (max-width: 1340px){

}






/*||------------------ TABLET VERSION --------------------||*/
@media(max-width: 990px){
    #_mobile_blockcart-content.dropdown-menu{
        transform: none!important;
    }
}
@media(min-width: 768px) and (max-width: 990px){

}




/*||------------------ MOBILE VERSION --------------------||*/
@media(max-width: 767px){
    .category-description{
        display: none;
    }

    .hos-header-title-breadcrumb > .container{
        margin-bottom: 0px;
    }

    /* Breadcrumb mobile: font ridotto (allineato online). */
    .breadcrumb ol{
        font-size: 14px;
        line-height: 17px;
    }

    .products-sort-order .form-control{
        margin: auto;
        width: 100%;
    }

    .hos-showing-product{
        margin-bottom: 10px;
        text-align: center;
    }

    .compact-toggle-text{
        bottom: 15px;
        border: 1px solid transparent;
        border-radius: 0px 5px 0px 0px;
    }

    #amazzing_filter .compact-toggle{
        background: #3374BC;
        border: 1px solid transparent;
        border-radius: 0px 0px 0px 5px;
    }

    .hos-price-container{
        margin-bottom: 5px;
    }

    .product-tabs.product-sections{
        border-top: 1px solid #B9B9B9;
        padding-top: 25px;
        padding-bottom: 0px;
        margin-top: 60px;
        background-color: #fff;
    }

    #content-wrapper .product_header_container .page-title span{
        font-size: 24px;
        line-height: 34px;
    }

    #footer .ps-emailsubscription-block .btn-subscribe{
        margin-left: 0px;
        width: 100%;
        margin-top: 10px;
    }

    #footer .ps-emailsubscription-block .hos-block-newsletter-conditions{
        width: 100%;
        margin-top: 5px;
    }

    .hos-social-container{
        margin-top: 25px;
    }

    .block-social-links .hos-footer-social-title{
        font-size: 20pt;
        line-height: 30px;
    }

    #footer .social-links._footer{
        margin-top: 18px;
        border-bottom: 1px solid #E0E0E0;
        padding-bottom: 45px;
    }

    #footer-container-first{
        padding-bottom: 45px;
    }

    .hos-footer-newsletter-title{
        font-size: 34px;
    }

    .product-miniature-default .thumbnail-container{
        margin-left: 20px;
    }

    .product-miniature-grid .product-price{
        font-size: 16px;
        line-height: 19px;
    }

    .products-grid .product-miniature-layout-2 .regular-price{
        font-size: 14px;
        line-height: 17px;
        margin-left: 0px;
    }

    .hos-container-price{
        margin-bottom: 0px;
        margin-top: 5px;
    }

    .products-grid .product-miniature-layout-2 .product-description .product-without-taxes{
        font-size: 12px;
    }
}

@media(max-width: 425px){
    .hos-container-price{
        margin-bottom: 10px;
    }

    .products-grid .product-miniature-default{
        margin-left: 5px;
        margin-right: 5px;
    }

    .hos-carousel-show-all{
        position: relative;
        bottom: 19px;
        right: 0px;
        left: 100px;
    }
}

/* ets_cfultimate - form IVA agevolata 10% */
form.ets-cfu-form > h3 {
    display: none;
}

form.ets-cfu-form .ets_cfu-html h1 {
    font-size: 35px;
    font-weight: 700;
    line-height: 42px;
    margin: 0 0 7px;
    color: rgb(92, 92, 92);
}

form.ets-cfu-form .ets_cfu-html p {
    color: rgb(92, 92, 92);
    font-size: 14px;
    font-weight: 400;
    line-height: 19.6px;
    margin: 0 0 11.2px;
}

form.ets-cfu-form .ets_cfu_span {
    color: rgb(92, 92, 92);
    font-size: 14px;
    font-weight: 400;
    line-height: 19.6px;
    margin-bottom: 7px;
}

form.ets-cfu-form .ets_cfu_span .ets_cfu_req {
    color: red;
    font-size: 14px;
    line-height: 12px;
    position: relative;
}

/* Focus prodotto nel dropdown jolisearch (tema finder): allinea allo stato
   hover (grigio) cosi' il bordo blu #007bff non si vede. Override di jolisearch-finder.css. */
.jolisearch-dropdown.jolisearch-theme-finder .jolisearch-body section[role="main"] .jolisearch-products__list .product:has(> a.product-link:focus),
.jolisearch-dropdown.jolisearch-theme-finder .jolisearch-body section[role="region"] .jolisearch-products__list .product:has(> a.product-link:focus) {
    background-color: #efefef !important;
    border-color: #efefef !important;
}

.jolisearch-dropdown.jolisearch-theme-finder .jolisearch-products__list .product > a.product-link:focus {
    outline: 1px solid #efefef !important;
    outline-offset: 0 !important;
}

/* StockAlert - bottone "Avvisami quando disponibile" (replica online).
   Online usa id^="stockalert_button_container"; staging v1.2.x usa class. */
.stockalert_button_container > * {
    background-color: #f27519 !important;
    color: white !important;
}

.stockalert_button_container > *:hover {
    background-color: rgba(242, 117, 25, 0.34) !important;
}

/* Header mobile a due barre (replica online warehousechild, variante 2) */
.col-mobile-btn-menu {
    display: flex;
    align-items: center;
    padding-right: 0px;
}

#mobile-header .m-nav-btn > i {
    font-size: 23px;
}

#search-widget-mobile .form-search-control {
    height: 34px;
}

.col-mobile-btn-search {
    padding-right: 0px;
}

.col-mobile-logo .logo {
    width: 188px;
}

/* Mobile: nasconde il testo della barra promo (.header-nav) in cima (la barra
   blu resta); il promo viene mostrato nella terza barra mobile qui sotto. */
@media (max-width: 991.98px) {
    #header .header-nav .left-nav,
    #header .header-nav .center-nav,
    #header .header-nav .right-nav {
        display: none;
    }
}

.hos-third-bar-mobile > p {
    font-size: 14px;
    line-height: 18px;
    color: #282E33;
}

#mobile-header-sticky .col-mobile-btn-cart #mobile-cart-toogle > i {
    position: relative;
}

article .product-description-short {
    font-size: 14px;
    line-height: 20px;
    color: #5C5C5C !important;
    padding-bottom: 10px;
    margin-bottom: 15px;
    overflow: hidden;
    height: 70px;
}

#product label {
    margin-bottom: 7px;
}

#product .trustpilot-widget {
    margin-top: 20px;
}

#product-availability.product-unavailable {
    display: none;
}

.hoshompage-borderleftcolumn {
    border-left: 1px solid #E0E0E0;
}

#product .hos-addtocart-btn .icon {
    display: none;
}

/* Card prodotto mobile: titolo + bottoni IVA/aggiungi impilati (non affiancati). */
@media (max-width: 767px) {
    .product-miniature-grid .product-title {
        font-weight: 700;
        font-size: 16px;
        line-height: 24px;
        min-height: 72px;
    }

    .product-miniature .product-add-cart .hos-vat-container,
    .product-miniature .product-add-cart .hos-addtocart-container {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .product-miniature .product-add-cart .hos-vat-container {
        margin-bottom: 8px;
    }
}

/* Font Awesome: su staging e' installato solo FA6 Free (solid/regular/brands).
   Le icone Pro (fa-light / fa-thin / fa-sharp / fa-duotone) non hanno font ne'
   glifo -> quadratini. Le rimappo al font Free Solid disponibile: stesso glifo
   (via --fa), peso pieno. Fix globale (footer rassicurazioni, card, header...). */
.fa-light,
.fa-thin,
.fa-sharp,
.fa-duotone {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    text-rendering: auto;
}

.fa-light:before,
.fa-thin:before,
.fa-sharp:before,
.fa-duotone:before {
    content: var(--fa);
}

/* Newsletter footer: full width su mobile (di default ha width fisso 326px). */
@media (max-width: 767px) {
    #footer .newsletter-input-group {
        width: 100%;
    }
}

/* Newsletter footer: testo consenso privacy a 12px. */
#footer .hos-block-newsletter-conditions {
    font-size: 12px;
}

/* Footer mobile: blocchi impilati (non affiancati) + dimensioni titoli/testi. */
@media (max-width: 767px) {
    #footer-container-main .row > [class*="col"] {
        flex: 0 0 100%;
        max-width: 100%;
    }

    #footer-container-main .block-title {
        font-size: 18px;
        line-height: 22px;
        font-weight: 500;
    }

    #footer-container-main .block-content {
        font-size: 16px;
        line-height: 26px;
        padding-left: 12px;
    }
    #footer-container-main .block-content a {
        font-size: 16px;
        line-height: 26px;
    }

    #footer-container-main .container {
        padding-right: 15px;
        padding-left: 15px;
        margin-right: auto;
        margin-left: auto;
    }

    #footer .block-title {
        margin-bottom: 0;
    }

    #footer .block {
        margin-bottom: 20px;
        padding-bottom: 2rem;
    }
    #footer .block-content>p {
        padding-left: 10px;
        font-size: 16px;
        line-height: 26px;
    }
}

.block-links ul > li a:before {
    display: none;
}

.block-links ul>li a {
    padding-left: 0 !important;
}

.mobile-menu {
    position: relative;
}

#iqitmegamenu-mobile .mm-panel__header {
    display: flex !important; /* il JS (iqitmegamenu 4.2) lo mette display:none inline; online resta visibile */
    position: relative;
    z-index: 2;
}

.mobile-menu__footer {
    display: flex;
}

/* Pagina prodotto: titolo desktop vs mobile (mobile sotto il breadcrumb). */
@media (max-width: 768px) {
    #product .page-title.desktop { display: none; }
    #product .page-title.mobile { display: block; }
}

@media (min-width: 769px) {
    #product .page-title.desktop { display: block; }
    #product .page-title.mobile { display: none; }
}

/* Pagina prodotto mobile: rimuove il margin-top del wrapper. */
@media (max-width: 768px) {
    #product #inner-wrapper.container {
        margin-top: 0;
    }
}

/* Avviso notifica sticky mobile (#hos_notifyme_container_mobile) - replica online. */
@media (min-width: 769px) {
    #product #hos_notifyme_container_mobile {
        display: none;
    }
}

@media (max-width: 768px) {
    #product #hos_notifyme_container_mobile {
        width: 100%;
        min-height: 130px;
        background-color: white !important;
        z-index: 999;
        position: fixed;
        bottom: -5px;
        left: 0;
        border-radius: 20px 20px 1px 1px;
        padding: 20px 20px 0;
        box-shadow: -10px -10px 10px rgba(133, 133, 133, 0.3), 10px -10px 10px rgba(133, 133, 133, 0.3);
    }

    #product #hos_notifyme_container_mobile .current-price {
        font-size: 24px;
        padding: 5px 10px;
        font-weight: bold;
    }

    #product .stockalert-disclaimer,
    #product #hos_notifyme_container_mobile strong {
        display: none;
    }

    #product #hos_notifyme_container_mobile .stockalert-add,
    #product #hos_notifyme_container_mobile .stockalert-remove {
        box-shadow: none;
        padding: 10px 0 0;
    }

    #product #hos_notifyme_container_mobile .stockalert-add form > div {
        display: flex;
        gap: 5px;
    }

    #product #hos_notifyme_container_mobile .stockalert-add form > div .form-control {
        border-radius: 10px;
    }

    /* Su mobile lo stockalert sta nella barra sticky: nascondo quello in colonna. */
    #product .stockalert-add-container {
        display: none;
    }

    #product #hos_notifyme_container_mobile .stockalert-add-container {
        display: block;
    }
    #product .product-add-to-cart {
        padding: 10px 15px;
    }
    #product .hos-vat-product-container {
        margin-bottom: 10px;
    }
    #product section.crossselling-products {
        padding: 15px 20px;
    }
}

/* Swiper: bottoni di navigazione allineati all'online (qualsiasi sezione). */
.swiper-button-next,
.swiper-button-prev {
    background: #ffffff00;
    color: #212121;
}

.hos-slider-homepage .swiper-button-next { right: 90px; }
.hos-slider-homepage .swiper-button-prev { left: 90px; }
.hos-slider-homepage .swiper-pagination-bullets { bottom: 30px; }
.hos-slider-homepage .swiper-pagination-bullet { height: 14px; width: 14px; }

/* Slider homepage: personalizzazioni testo banner (allineate live). */
.hos-slider-homepage .elementor-iqit-banner-subtitle.elementor-iqit-banner-description {
    font-size: 26px!important;
    color: #101010!important;
    line-height: 27px!important;
    letter-spacing: 0.52px!important;
    font-weight: bold!important;
    margin-left: 2px;
    margin-bottom: 10px;
}

.hos-slider-homepage .elementor-iqit-banner-title {
    margin-bottom: 10px;
}

.hos-slider-homepage .elementor-button-link {
    padding: 0px;
}

/* Checkout: loghi corrieri più piccoli + icona subito a sinistra del nome. */
.delivery-options .carrier-hasLogo img {
    max-width: 70px;
    height: auto;
}

.delivery-options .carrier-hasLogo {
    align-items: center;
    flex-wrap: nowrap;
}

.delivery-options .carrier-hasLogo .col-xs-3 {
    flex: 0 0 auto;
    width: auto;
    max-width: none;
    padding-right: 10px;
}

.delivery-options .carrier-hasLogo .carriere-name-container {
    flex: 1 1 auto;
    width: auto;
    max-width: none;
}

/* Account: icona "Cancellare account" (il modulo rende un <i class="material-icons"> vuoto).
   font-size:0 nasconde il box notdef del font Material Icons; il glifo FA va nel ::before. */
.my-account-side-links #delete-account .link-item i {
    font-size: 0;
}

.my-account-side-links #delete-account .link-item i::before {
    content: "\f1f8"; /* fa-trash */
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 1rem;
}

/* Account: nascondi il link "Le tue notifiche di stock". */
.my-account-side-links a[href*="stockalert/account"] {
    display: none;
}

/* Pagina prodotto: sezione "Contenuto del kit" (#hos_product_pack) - replica online.
   Collassa a 160px con fade + toggle Mostra tutti/Riduci (JS gia' presente in custom.js). */
.product-pack {
    border: 0px;
    padding: 0px;
    border-bottom: 1px solid #f0f0f0;
    padding-bottom: 10px;
}

.hos-container-after-desc {
    margin-top: 11px;
    padding-bottom: 11px;
    border-bottom: 1px solid #f0f0f0;
}

.hos-container-after-desc-link > a {
    font-size: 12px;
    line-height: 24px;
    font-weight: bold;
    color: #282E33 !important;
}

.product-pack > p.h4 {
    color: #F27519;
    font-size: 15.75px;
    font-weight: 700;
    line-height: 18.9px;
}

.product-pack article {
    border-bottom: 0px;
}

section.product-pack article {
    padding: 0px;
}

.product-pack .pack-product-container {
    border-radius: 4px;
    column-gap: 15px;
    padding: 0px 5px;
}

.product-pack .pack-product-container .pack-product-thumb {
    max-width: 41px;
}

.product-pack .pack-product-name {
    flex: 1 !important;
}

.product-pack .pack-product-name > a {
    color: #212121 !important;
    font-size: 14px;
    line-height: 18px;
}

.product-pack .pack-product-price {
    color: #F28419;
    font-size: 16px;
    line-height: 19px;
}

#product #hos_product_pack {
    max-height: 160px;
    overflow-y: hidden;
    position: relative;
    padding-bottom: 42px;
}

#product #hos_shadow_product_div {
    width: 100%;
    height: 42px;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 20%, rgba(255, 255, 255, 1) 40%);
    position: absolute;
    bottom: 0;
    transition: opacity 0.5s ease-in-out;
}

#product #expand_section,
#product #reduce_section {
    position: absolute;
    bottom: 0;
    left: 40%;
    cursor: pointer;
    color: #f27519;
    font-weight: bold;
}

#product #expand_section:hover,
#product #reduce_section:hover {
    text-decoration: underline;
}

#product #reduce_section {
    display: none;
}

/* Pagina prodotto desktop: padding colonna info (non tocca la colonna destra), come online. */
@media (min-width: 769px) {
    #product .col-product-info {
        padding-left: 30px;
        padding-right: 40px;
    }
}

/* Badge "Nota" / tempi di consegna (#product-availability) - replica online. */
.hos-product-availability {
    width: 100%;
    background: #F4F6F8;
    border: 1px solid transparent;
    border-radius: 4px;
    font-size: 16px;
    line-height: 20px;
    color: #282E33;
    display: flex;
    align-items: normal;
    padding: 15px;
    margin-top: 15px;
    flex-wrap: wrap;
    text-align: left;
    font-weight: 400;
}

#product #product-availability {
    white-space: normal;
}

#cart .hos-product-availability,
#checkout .hos-product-availability {
    height: auto;
    padding: 10px;
    padding-top: 5px;
}

/* Accessori: padding box checkbox. */
div.accessorycheckbox {
    border-radius: 4px;
    padding: 5px 10px;
}

/* Pagina prodotto: rimuove il separatore sotto l'header (regola del theme base). */
.product_header_container {
    padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: none;
}

#content-hook_payment_return.definition-list dl {
    display: grid;
    grid-template-columns: max-content 1fr;
    column-gap: 0;
    row-gap: 0;
}

#content-hook_payment_return.definition-list dl dt,
#content-hook_payment_return.definition-list dl dd {
    flex: none;
    width: auto;
    margin: .125rem;
    padding: .625rem;
    background: rgba(204, 204, 204, .15);
}

@media (max-width: 767px) {
    div[data-testid="widgetButtonFrame"] {
        bottom: 165px !important;
    }
}

#ps_checkout-payment-method-logo-block-container {
    margin-top: 15px;
}

#ps_checkout-payment-method-logo-block-title {
    display: flex;
    align-items: center;
    font-size: 13px;
    color: #2C3339;
    margin-bottom: 8px;
}

#ps_checkout-payment-method-logo-block-img {
    width: 16px;
    height: 16px;
    margin-right: 6px;
}

#ps_checkout-payment-method-logos-container {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
}

#ps_checkout-payment-method-logos-container .paypal-mark {
    display: inline-block;
    line-height: 0;
    padding: 5px 6.67px;
    background: #fff;
    border: 1px solid #DCDCDC;
    border-radius: 3px;
    margin: 4px;
    white-space: nowrap;
}

#ps_checkout-payment-method-logos-container .cards-logo,
#ps_checkout-payment-method-logos-container .paypal-logo {
    height: 20px;
    display: inline-block;
    vertical-align: middle;
}

#ps_checkout-payment-method-logos-container .paypal-button-space {
    display: inline-block;
    width: 4px;
}

#ps_checkout-payment-method-logos-container .paypal-button-text {
    color: rgb(102, 102, 102);
    font-size: 14px;
    font-weight: 400;
    line-height: 19.6px;
    margin-left: 4px;
    padding: 7px 0;
    vertical-align: middle;
}