/* Allarga il container desktop come nel child_classic per dare piu spazio ai layout interni. */
@media (min-width: 1200px) {
    .container {
        max-width: 100%;
        width: 90%;
    }

    /* Mantiene nel footer la larghezza container base del tema parent. */
    #footer .container {
        width: 1140px;
    }
}

/* Imposta la pagina categoria in modo che a inizio pagina ci sia l'immagine a sinistra e il testo a destra, sulla stessa riga */
#category .block-category .im-category-header-layout {
    align-items: flex-start;
    display: flex;
    gap: 32px;
}

#category .block-category .im-category-cover {
    flex: 0 0 260px;
    margin: 0;
    max-width: 260px;
}

#category .block-category .im-category-cover img {
    display: block;
    height: auto;
    margin: 0;
    max-width: 100%;
    width: 100%;
}

#category .block-category .im-category-description {
    flex: 1 1 auto;
    margin: 0;
    min-width: 0;
    padding: 0;
}

#category .block-category .im-category-description > p:last-child {
    margin-bottom: 0;
}

@media (min-width: 768px) and (max-width: 991px) {
    #category .block-category .im-category-header-layout {
        align-items: center;
        flex-direction: column;
        gap: 20px;
    }

    #category .block-category .im-category-cover {
        flex-basis: auto;
        max-width: 220px;
        width: 220px;
    }
}

/* Imposta la griglia delle pagine categoria e ricerca a 4 elementi per riga */
@media (min-width: 992px) {
    #search #products .products-grid .products .product-item:not(.list-view),
    #category #products .products-grid .products .product-item:not(.list-view) {
        width: 25%;
    }
}

/* Override miniature rivenditore: il modificatore replica l'estetica della home anche nella conferma ordine.
   I clienti loggati vedono azioni e codici, gli ospiti solo il nome prodotto. */
#search .product-miniature .im-bizkick-product-actions,
#category .product-miniature .im-bizkick-product-actions,
.featured-products .product-miniature.im-bizkick-reseller-miniature .im-bizkick-product-actions,
#product .product-accessories .product-miniature .im-bizkick-product-actions {
    align-items: center;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 8px;
    justify-content: center;
    margin: 12px 0 10px;
    padding: 0;
}

#search .product-miniature .im-bizkick-product-actions form,
#search .product-miniature .im-aliquote-miniature-action,
#category .product-miniature .im-bizkick-product-actions form,
#category .product-miniature .im-aliquote-miniature-action,
.featured-products .product-miniature.im-bizkick-reseller-miniature .im-bizkick-product-actions form,
.featured-products .product-miniature.im-bizkick-reseller-miniature .im-aliquote-miniature-action,
#product .product-accessories .product-miniature .im-bizkick-product-actions form,
#product .product-accessories .product-miniature .im-aliquote-miniature-action {
    margin: 0;
}

/* Miniature: i bottoni carrello/preventivo restano affiancati e icon-only per evitare disallineamenti. */
#search .product-miniature .im-bizkick-miniature-cart-button,
#search .product-miniature .im-aliquote-miniature-action .quick-add-to-quote,
#category .product-miniature .im-bizkick-miniature-cart-button,
#category .product-miniature .im-aliquote-miniature-action .quick-add-to-quote,
.featured-products .product-miniature.im-bizkick-reseller-miniature .im-bizkick-miniature-cart-button,
.featured-products .product-miniature.im-bizkick-reseller-miniature .im-aliquote-miniature-action .quick-add-to-quote,
#product .product-accessories .product-miniature .im-bizkick-miniature-cart-button,
#product .product-accessories .product-miniature .im-aliquote-miniature-action .quick-add-to-quote {
    align-items: center;
    background: #333333;
    border: 1px solid transparent;
    color: #ffffff;
    display: inline-flex;
    flex: 0 0 46px;
    font-size: 0;
    height: 46px;
    justify-content: center;
    line-height: 1;
    margin: 0;
    min-width: 0;
    padding: 0;
    text-align: center;
    text-decoration: none;
    width: 46px;
}

#search .product-miniature .im-bizkick-miniature-cart-button:hover,
#search .product-miniature .im-bizkick-miniature-cart-button:focus,
#search .product-miniature .im-aliquote-miniature-action .quick-add-to-quote:hover,
#search .product-miniature .im-aliquote-miniature-action .quick-add-to-quote:focus,
#category .product-miniature .im-bizkick-miniature-cart-button:hover,
#category .product-miniature .im-bizkick-miniature-cart-button:focus,
#category .product-miniature .im-aliquote-miniature-action .quick-add-to-quote:hover,
#category .product-miniature .im-aliquote-miniature-action .quick-add-to-quote:focus,
.featured-products .product-miniature.im-bizkick-reseller-miniature .im-bizkick-miniature-cart-button:hover,
.featured-products .product-miniature.im-bizkick-reseller-miniature .im-bizkick-miniature-cart-button:focus,
.featured-products .product-miniature.im-bizkick-reseller-miniature .im-aliquote-miniature-action .quick-add-to-quote:hover,
.featured-products .product-miniature.im-bizkick-reseller-miniature .im-aliquote-miniature-action .quick-add-to-quote:focus,
#product .product-accessories .product-miniature .im-bizkick-miniature-cart-button:hover,
#product .product-accessories .product-miniature .im-bizkick-miniature-cart-button:focus,
#product .product-accessories .product-miniature .im-aliquote-miniature-action .quick-add-to-quote:hover,
#product .product-accessories .product-miniature .im-aliquote-miniature-action .quick-add-to-quote:focus {
    background: #c30000;
    border-color: transparent;
    color: #ffffff;
    text-decoration: none;
}

#search .product-miniature .im-bizkick-miniature-cart-button .material-icons,
#search .product-miniature .im-aliquote-miniature-action .quick-add-to-quote .material-icons,
#category .product-miniature .im-bizkick-miniature-cart-button .material-icons,
#category .product-miniature .im-aliquote-miniature-action .quick-add-to-quote .material-icons,
.featured-products .product-miniature.im-bizkick-reseller-miniature .im-bizkick-miniature-cart-button .material-icons,
.featured-products .product-miniature.im-bizkick-reseller-miniature .im-aliquote-miniature-action .quick-add-to-quote .material-icons,
#product .product-accessories .product-miniature .im-bizkick-miniature-cart-button .material-icons,
#product .product-accessories .product-miniature .im-aliquote-miniature-action .quick-add-to-quote .material-icons {
    display: block;
    font-size: 24px;
    line-height: 1;
    margin: 0;
}

#search .product-miniature .im-bizkick-miniature-cart-button .im-bizkick-button-text,
#search .product-miniature .im-aliquote-miniature-action .quick-add-to-quote .icon-title,
#category .product-miniature .im-bizkick-miniature-cart-button .im-bizkick-button-text,
#category .product-miniature .im-aliquote-miniature-action .quick-add-to-quote .icon-title,
.featured-products .product-miniature.im-bizkick-reseller-miniature .im-bizkick-miniature-cart-button .im-bizkick-button-text,
.featured-products .product-miniature.im-bizkick-reseller-miniature .im-aliquote-miniature-action .quick-add-to-quote .icon-title,
#product .product-accessories .product-miniature .im-bizkick-miniature-cart-button .im-bizkick-button-text,
#product .product-accessories .product-miniature .im-aliquote-miniature-action .quick-add-to-quote .icon-title {
    display: none;
}

/* Uniforma le immagini prodotto nella griglia delle pagine categoria e ricerca:
questa modifica si e' resa necessaria per via di un'immagine che non rispettava le proporzioni. */
#search #products .products-grid .products .product-item:not(.list-view) .product-image-block,
#category #products .products-grid .products .product-item:not(.list-view) .product-image-block {
    align-items: center;
    aspect-ratio: 1 / 1;
    display: flex;
    justify-content: center;
}

#search #products .products-grid .products .product-item:not(.list-view) .product-thumbnail,
#category #products .products-grid .products .product-item:not(.list-view) .product-thumbnail {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    width: 100%;
}

#search #products .products-grid .products .product-item:not(.list-view) .product-thumbnail img,
#category #products .products-grid .products .product-item:not(.list-view) .product-thumbnail img {
    height: 100%;
    object-fit: contain;
    width: 100%;
}

/* Tronca il nome prodotto via CSS su massimo 2 righe, mantenendo allineate le miniature. */
#search #products .products-grid .products .product-item:not(.list-view) .product-title,
#category #products .products-grid .products .product-item:not(.list-view) .product-title,
.featured-products .products-grid .products .product-item .product-miniature.im-bizkick-reseller-miniature .product-title,
#product .product-accessories .products-grid .products .product-item .product-title {
    height: 40px;
    min-height: 40px;
    overflow: hidden;
}

#search #products .products-grid .products .product-item:not(.list-view) .product-title a,
#category #products .products-grid .products .product-item:not(.list-view) .product-title a,
.featured-products .products-grid .products .product-item .product-miniature.im-bizkick-reseller-miniature .product-title a,
#product .product-accessories .products-grid .products .product-item .product-title a {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    display: -webkit-box;
    line-height: 20px;
    max-height: 40px;
    overflow: hidden;
    overflow-wrap: anywhere;
    text-overflow: ellipsis;
    width: 100%;
}

#search .product-miniature .im-bizkick-product-meta,
#category .product-miniature .im-bizkick-product-meta,
.featured-products .product-miniature.im-bizkick-reseller-miniature .im-bizkick-product-meta,
#product .product-accessories .product-miniature .im-bizkick-product-meta {
    color: #666666;
    font-size: 12px;
    line-height: 16px;
    margin-top: 10px;
    min-height: 64px;
    text-align: center;
}

/* Modello e codice riservano due righe ciascuno per tenere allineate le schede prodotto. */
#search .product-miniature .im-bizkick-product-model,
#search .product-miniature .im-bizkick-product-reference,
#category .product-miniature .im-bizkick-product-model,
#category .product-miniature .im-bizkick-product-reference,
.featured-products .product-miniature.im-bizkick-reseller-miniature .im-bizkick-product-model,
.featured-products .product-miniature.im-bizkick-reseller-miniature .im-bizkick-product-reference,
#product .product-accessories .product-miniature .im-bizkick-product-model,
#product .product-accessories .product-miniature .im-bizkick-product-reference {
    min-height: 32px;
}

#search .product-miniature .im-bizkick-product-meta + .product-price-and-shipping,
#category .product-miniature .im-bizkick-product-meta + .product-price-and-shipping,
.featured-products .product-miniature.im-bizkick-reseller-miniature .im-bizkick-product-meta + .product-price-and-shipping,
#product .product-accessories .product-miniature .im-bizkick-product-meta + .product-price-and-shipping {
    margin-top: 4px;
}

/* Ricerca, vista lista: override del parent per un layout compatto ispirato al dettaglio prodotto. */
#search #products .products-grid .products .product-item.list-view .thumbnail-container {
    align-items: flex-start;
    display: flex;
}

#search #products .products-grid .products .product-item.list-view .product-image-block {
    align-items: center;
    display: flex;
    flex: 0 0 300px;
    float: none;
    height: 300px;
    justify-content: center;
    width: 300px;
}

#search #products .products-grid .products .product-item.list-view .product-thumbnail {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    width: 100%;
}

#search #products .products-grid .products .product-item.list-view .product-thumbnail img {
    height: 100%;
    object-fit: contain;
    width: 100%;
}

#search #products .products-grid .products .product-item.list-view .product-description {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    float: none;
    min-width: 0;
    padding: 0 0 0 30px;
    text-align: left;
    width: auto;
}

#search #products .products-grid .products .product-item.list-view .product-title {
    margin: 0 0 12px;
    order: 1;
    text-align: left;
}

#search #products .products-grid .products .product-item.list-view .product-title > a {
    font-size: 18px;
    line-height: 24px;
}

#search #products .products-grid .products .product-item.list-view .product-price-and-shipping {
    margin: 0 0 10px;
    order: 2;
    text-align: left;
}

#search #products .products-grid .products .product-item.list-view .product-price-and-shipping .price {
    color: #c30000;
    font-size: 18px;
}

#search #products .products-grid .products .product-item.list-view .im-bizkick-product-meta {
    margin: 0 0 14px;
    min-height: 0;
    order: 3;
    text-align: left;
}

#search #products .products-grid .products .product-item.list-view .im-bizkick-product-model,
#search #products .products-grid .products .product-item.list-view .im-bizkick-product-reference {
    min-height: 0;
}

#search #products .products-grid .products .product-item.list-view .product-short-desc {
    border-top: 1px solid #e1e1e1;
    font-size: 14px;
    line-height: 21px;
    margin: 0 0 18px;
    order: 4;
    padding-top: 14px;
}

#search #products .products-grid .products .product-item.list-view .product-short-desc > :last-child {
    margin-bottom: 0;
}

#search #products .products-grid .products .product-item.list-view .im-bizkick-product-actions {
    justify-content: flex-start;
    margin: 0;
    order: 5;
}

#search #products .products-grid .products .product-item.list-view .im-bizkick-miniature-cart-button,
#search #products .products-grid .products .product-item.list-view .im-aliquote-miniature-action .quick-add-to-quote {
    flex: 0 1 auto;
    font-size: 12px;
    gap: 6px;
    height: 42px;
    padding: 0 14px;
    width: auto;
}

#search #products .products-grid .products .product-item.list-view .im-bizkick-miniature-cart-button .im-bizkick-button-text,
#search #products .products-grid .products .product-item.list-view .im-aliquote-miniature-action .quick-add-to-quote .icon-title {
    display: inline;
}

@media (max-width: 767px) {
    /* Ricerca mobile: override del parent che nasconde il selettore della vista. */
    #search #products .row.products-selection .display-and-count {
        align-items: center;
        display: flex !important;
    }

    #search #products .products-grid .products .product-item.list-view .thumbnail-container {
        display: block;
    }

    #search #products .products-grid .products .product-item.list-view .product-image-block {
        aspect-ratio: 1 / 1;
        height: auto;
        width: 100%;
    }

    #search #products .products-grid .products .product-item.list-view .product-description {
        padding: 20px 0 0;
        width: 100%;
    }
}

/* Dettaglio prodotto: mostra il bottone dei preventivi ai rivenditori, i download restano in colonna, la condivisione social viene rimossa. */
#product #downloads_description_wrapper {
    display: block;
}

#product .social-sharing {
    display: none !important;
}

/* Nasconde il submit tecnico di PrestaShop che altrimenti sarebbe visibile nel dettaglio prodotto in caso di refresh della pagina. */
#product .product-refresh {
    display: none !important;
}

/* Dettaglio prodotto: override del layout float/altezza fissa del parent .box_plus.
   Le card restano allineate in altezza in base alla card piu' alta della stessa riga. */
#product .tabs .tab-pane .product-description > .row {
    align-items: stretch;
    display: flex;
    flex-wrap: wrap;
}

#product .tabs .tab-pane .product-description > .row::after {
    content: none;
}

#product .tabs .tab-pane .product-description .box_plus {
    display: flex;
    flex-direction: column;
    float: none;
    height: auto;
}

#product .tabs .tab-pane .product-description .box_plus > img {
    display: block;
    height: 250px;
    object-fit: cover;
    object-position: center;
    width: 100%;
}

#product .tabs .tab-pane .product-description .box_plus > br {
    display: none;
}

#product .tabs .tab-pane .product-description .box_plus > p {
    margin: 0;
    padding: 24px 24px 24px;
}

/* Dettaglio prodotto: affianca le select delle combinazioni visibili ai rivenditori. */
#product .product-variants {
    align-items: flex-end;
    display: flex;
    flex-wrap: wrap;
    gap: 12px 24px;
}

#product .product-variants > .product-variants-item {
    flex: 0 1 170px;
    margin: 0;
}

#product .product-variants > .product-variants-item select {
    max-width: 100%;
    width: 100%;
}

#product .im-bizkick-product-identifiers {
    color: #666666;
    font-size: 13px;
    line-height: 18px;
    margin-top: 12px;
}

#product .im-bizkick-product-identifiers strong {
    color: #333333;
}

/* Dettaglio prodotto: tiene quantita', carrello e preventivo nello stesso gruppo con ritorno a capo se manca spazio. */
#product .product-add-to-cart .product-quantity {
    align-items: stretch;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

#product .product-add-to-cart .product-quantity::after {
    content: none;
}

#product .product-add-to-cart .product-quantity .qty {
    margin: 0;
}

#product .product-add-to-cart .product-quantity .add,
#product .product-add-to-cart .im-bizkick-product-quote-action,
#product .product-add-to-cart .im-bizkick-product-quote-action .addquote {
    display: flex;
    margin: 0;
}

#product .product-add-to-cart .product-quantity .add-to-cart,
#product .product-add-to-cart .im-bizkick-product-quote-action .add_to_aliquote_button {
    align-items: center;
    display: inline-flex;
    gap: 6px;
    justify-content: center;
    min-height: 54px;
    padding-left: 10px;
    padding-right: 10px;
}

#product .product-add-to-cart .im-bizkick-product-quote-action .add_to_aliquote_button {
    align-items: center;
    background-color: #333333;
    border-color: transparent;
    color: #ffffff;
    justify-content: center;
    max-width: 100%;
    text-align: center;
    text-decoration: none;
}

#product .product-add-to-cart .im-bizkick-product-quote-action .add_to_aliquote_button:hover,
#product .product-add-to-cart .im-bizkick-product-quote-action .add_to_aliquote_button:focus {
    background-color: #c30000;
    border-color: transparent;
    color: #ffffff;
    text-decoration: none;
}

/* Header - allinea utente e contatti al testo del bottone preventivo. */
#header .header-nav #_desktop_user_info .user-info,
#header .header-nav #_desktop_contact_link #contact-link,
#header .header-nav .right-nav .user-info,
#header .header-nav .right-nav #contact-link {
    margin: .75rem 0 0 !important;
}

/* Header - allinea il selettore lingua alle voci testuali del menu superiore. */
#header .header-nav #_desktop_language_selector .language-selector {
    margin-top: .75rem;
}

/* Header - neutralizza gli stili della classe .header nel carrello e centra testo e icona. Modifica fatta per allineare il bottone carrello con il resto del menu */
#header .header-nav #_desktop_cart .blockcart .header {
    align-items: center;
    display: block;
    height: 100%;
    line-height: normal;
    margin-top: 0;
}

/* Header mobile: rende visibile il bottone preventivo corrente spostato nello slot mobile del child theme. */
@media (max-width: 767px) {
    #_mobile_quotation_cart {
        padding: 20px 10px;
    }

    #header .header-nav #_mobile_quotation_cart .quotation-cart {
        background: transparent;
        height: auto;
        margin-left: 0 !important;
        padding: 0;
    }

    #header .header-nav #_mobile_quotation_cart .quotation-cart a,
    #header .header-nav #_mobile_quotation_cart .quotation-cart.quote-with-products a {
        align-items: center;
        color: #333333;
        display: inline-flex;
        height: 35px;
        justify-content: center;
        line-height: 35px;
        min-width: 35px;
        text-decoration: none;
    }

    #header .header-nav #_mobile_quotation_cart .quotation-cart .header {
        align-items: center;
        display: inline-flex;
        height: 35px;
        line-height: 1;
    }

    /* Header mobile: centra l'icona Material del preventivo rispetto a utente e carrello. */
    #header .header-nav #_mobile_quotation_cart .quotation-cart .material-icons,
    #header .header-nav #_mobile_quotation_cart .quotation-cart .quotation-cart-products-count {
        line-height: 1;
    }

    #header .header-nav #_mobile_quotation_cart .quotation-cart a:hover,
    #header .header-nav #_mobile_quotation_cart .quotation-cart a:hover .material-icons,
    #header .header-nav #_mobile_quotation_cart .quotation-cart a:hover .quotation-cart-products-count {
        color: #c30000;
    }

    /* Header mobile: compatta il selettore lingua spostato nella barra icone. */
    #_mobile_language_selector {
        padding: 20px 0;
    }

    #header .header-nav #_mobile_language_selector .language-selector-wrapper {
        align-items: center;
        display: flex;
        height: 35px;
    }

    #header .header-nav #_mobile_language_selector #language-selector-label {
        display: none;
    }

    #header .header-nav #_mobile_language_selector .language-selector {
        margin: 0;
        padding-right: 6px;
    }

    #header .header-nav #_mobile_language_selector .language-selector select.link {
        background: transparent;
        border: 0;
        color: #333333;
        cursor: pointer;
        font-size: 13px;
        height: 35px;
        max-width: 80px;
        padding: 0;
    }
}

/* Header mobile: override del margine destro account ereditato dal parent. */
@media (max-width: 767px) {
    #header .header-nav #_mobile_user_info .user-info .account {
        margin-right: 0;
    }
}

/* ETS Megamenu: estende il background nero anche ai margini esterni del container. */
#header .ets_mm_megamenu,
#header .ets_mm_megamenu .ets_mm_megamenu_content {
    background: #000000;
}

.ets_mm_megamenu_content .ets_mm_block_content ul li a::before {
    display: none;
}

.ets_mm_block_content {
    color: rgba(255, 255, 255, .25);
    font-size: 18px !important;
}

.ets_mm_categories a {
    font-size: 18px;
    line-height: 2;
}

li.mm_columns_li {
    min-height: 200px;
}

#header .ets_mm_megamenu .ets_mm_megamenu_content .mm_tabs_li .mm_tab_toggle_title .ets_mm_url {
    color: #333333;
}

.ets_mm_megamenu .mm_blocks_ul {
    padding: 2rem;
}

@media screen and (max-width: 767px) {
    /* ETS Megamenu mobile: mantiene nera anche la barra "Menu" aperta dal modulo. */
    #header .ets_mm_megamenu .ybc-menu-toggle {
        background: #000000;
        color: #ffffff;
    }

    #header .ets_mm_megamenu .ybc-menu-toggle .icon-bar {
        background-color: #ffffff;
    }

    .ets_mm_megamenu .mm_columns_ul {
        pointer-events: all;
    }

    #header .ets_mm_block_content a,
    .ets_mm_url,
    .ets_mm_url:focus {
        color: #333333 !important;
    }

    .mm_blocks_ul {
        border-bottom: 1px solid #333333;
        margin-bottom: 10px !important;
        padding: 0;
    }

    .ets_mm_block_content {
        color: #333333 !important;
        font-size: 18px !important;
    }

    .ets_mm_categories a {
        font-size: 18px;
        line-height: 2;
    }

    li.mm_columns_li {
        min-height: 150px;
    }
}

@media (max-width: 991px) {
    .ets_mm_megamenu .mm_columns_ul {
        pointer-events: all;
    }

    #header .ets_mm_block_content a,
    .ets_mm_url,
    .ets_mm_url:focus {
        color: #333333 !important;
    }

    .mm_blocks_ul {
        border-bottom: 1px solid #333333;
        margin-bottom: 10px !important;
        padding: 0;
    }

    .ets_mm_block_content {
        color: #333333 !important;
        font-size: 18px !important;
    }

    .ets_mm_categories a {
        font-size: 18px;
        line-height: 2;
    }

    li.mm_columns_li {
        min-height: 150px;
    }
}

/* Footer: sostituisce display: flex della classe globale .links evitando di rompere l'allineamento della colonna 'Il tuo account' */
#footer .footer-container .links {
    display: block;
}

/* Footer: mantiene il form HubSpot sopra la newsletter senza interferire con gli altri blocchi agganciati al footer. */
#footer .im-bizkick-hubspot-footer-form {
    margin-bottom: 24px;
    width: 100%;
}
