/*
 * Custom code goes here.
 * A template should always ship with an empty custom.css
 */


.our_products .elementor-button-text{
    text-align: left;
}
.banner_homepage img{
    width:100%;
}
.user_b2c .container_buttons_b2b{
    display:none
}
.user_b2b .onlyb2c{
    display:none
}

.btn-link a{
    border-radius: 10px!important;
    border: 1px solid!important;
    padding-left: 10px!important;
    padding-right: 10px!important;
    padding-top: 3px!important;
    padding-bottom: 3px!important;
}
.btn-link a:hover span{
    text-decoration: underline!important;
}
#footer .block-title, #checkout-footer .block-title{
    border:none!important
}
.block-links ul>li a:before{
    content:none
}
.block-links ul>li a{
    padding-left:0px;
}
#footer-container-main a, #checkout-footer a{
    color:#000
}
.product-variants.js-product-variants{
    display:none
}
#footer-container-main{
    padding-top:0px;
}
#footer-container-main .elementor-displayFooterBefore a{
    color:#fff!important
}
.footer_principale{
    padding-top:50px
}
.category-description.category-description-top{
    text-align: center;
}
#category .h1.page-title{
    text-align: center;
}
#content-wrapper .page-title{
    border:none
}
.subcategory-name{
    font-weight: 700;
}
#js-product-list-top{
    display: none;
}
.product-miniature .h3.product-title a{
    font-weight: 700;
}
.btn-product-list:hover{
    background: #000;
    color:#fff;
    text-decoration: underline;
}
.btn-product-list{
    border-radius: 10px;
}
#product .product-cover .expander > span{
    background: transparent!important;
}
.product-lmage-large,
.thumb-container.js-thumb-container{
    border:1px solid #e7e7e7;
    border-radius: 10px;
}
.has-matrix .product-prices.js-product-prices,
.has-matrix .js-mailalert {
    display: none !important;
}
#content-wrapper .section-title{
    border: none;
}
.image_disegno_tecnico img{
    width:100%
}
.section_anchor_buttons {
    padding: 15px 0;
}

.availability-badge {
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: inline-block;
}

.dot.green { background: #28a745; }
.dot.yellow { background: #ffc107; }
.dot.red { background: #dc3545; }

.anchor-link {
    font-weight: 600;
    text-decoration: none;
}

.anchor-link:hover {
    text-decoration: underline;
}

/* Scroll fluido */
html {
    scroll-behavior: smooth;
}

/* Se hai header sticky */
#anchor_description,
#anchor_download {
    scroll-margin-top: 120px;
}
.sec_descr{
    border-right:2px solid;
    /* border-left:2px solid */
}
.product_header_container{
    border:none;
    margin-bottom:0px;
    padding-bottom:5px
}
.product-additional-info{
    border:none
}
#content-wrapper .product_header_container .page-title{
    margin-bottom:0px
}
.js-config-anchor{
    width:100%;
    border-radius:10px;
    margin-bottom:10px;
    margin-top:12px;
    font-weight: 700;
}
.col-add-btn{
    flex:0 0 75%
}
.product-quantity .qty,
.product-quantity .add-to-cart{
    width:100%
}
.col-add-qty{
    flex:0 0 25%
}
.request_button a{
    width:100%;
    padding: .85rem 1.5rem;
    border:1px solid;
    border-radius:10px;
    display: block;
    text-align: center;
    font-weight: 700;
}
#quantity_wanted{
    border: none!important;
    text-align: center;
}
#product .qty .input-group{
    border:1px solid;
    border-radius:10px
}
#content-wrapper .section-title{
    font-size: 1.5rem;
}
.cart-buttons .btn-primary{
    background: #000;
    border-radius: 10px;
    font-size:20px;
    font-weight: 600;
    border:1px solid #000;
    color:#fff
  }
.cart-buttons .btn-secondary{
    background: #fff;
    border-radius: 10px;
    font-size:20px;
    font-weight: 600;
    border:1px solid #000;
    color:#000
  }
  .cart-buttons{
    display: flex;
    gap:5px;
    align-items: center;
  }
  .cart-buttons a{
    margin: 0 !important;
    padding: 1rem 1.5rem;
    line-height: 20px;
  }
  #blockcart-content .cart-subtotals{
    border:none
  }
  .container_blockcart{
    background: #e7e7e7;
    border-radius: 10px;
    padding:20px 15px;
  }
  #blockcart-content .cart-subtotals{
    padding-top:0px;
  }
  #blockcart-content .cart-products .block-cart-product-quantity {
    padding: 0px;
    border: none;
    text-align: center;
}
#js-cart-close{
    opacity: 1;
}
#blockcart-content .input-group{
    border:1px solid #e7e7e7
}
#blockcart-content .cart-products .bootstrap-touchspin{
    width:100px;
    border-radius:10px
}
#cart .product-line-actions .input-group-btn{
    flex:0 0 25%;
    max-width: 25%;
}
#cart .product-line-actions .js-cart-line-product-quantity{
    border:none;
    flex:0 0 50%;
    max-width: 50%;
}
.cart-item .bootstrap-touchspin{
    max-width: unset;
    border:1px solid #e7e7e7;
    border-radius:10px
}
.promo-code .btn-secondary{
    border:1px solid #e7e7e7;
    border-radius:0px 10px 10px 0px
}
.form-control{
    border-radius:10px
}
.promo-code .form-control{
    border:1px solid #e7e7e7;
    border-radius:10px 0px 0px 10px!important
}
.voucher-icon{
    display:none!important
}
.cart-detailed-actions .btn-primary{
    background: #000;
    border-radius: 10px;
    font-size:20px;
    font-weight: 600;
    border:1px solid #000;
    color:#fff
}
#product .col-add-btn .btn,
.input-group .input-group-btn>.btn{
    border-radius: 10px;
    font-weight: 600;
}
.add-to-cart .fa-shopping-bag,
#authentication .elementor-displayFooterBefore,
#registration .elementor-displayFooterBefore{
    display:none!important
}
.card,
.btn-primary, .btn-primary.disabled, .btn-primary:disabled{
    border-radius: 10px;
}
.my-account-page-content-wrapper, .page-authentication #content, .page-customer-account #content{
    border:none
}
.quot_sec a{
    color: #fff !important;
    border-radius: 10px;
    font-weight: 600;
    background: #000;
    padding: 10px 20px;
}
.quot_sec p{
    margin-bottom:25px
}
.ct_submit .fa-shopping-bag::before{
    font-size:18px;
    color:#000
}
.ct_submit{
    /* margin-left:15px; */
    background: transparent;
}
.revblu,
.revrosso {
  background: #f9f9f9;
  padding: 40px;
  border-radius: 8px;
  margin-bottom: 50px;
}
.revblu h2,
.revrosso h2 {
  margin-bottom: 10px;
  font-weight: 600;
}
.revblu h3,
.revrosso h3 {
  color: #666;
  margin-bottom: 25px;
  font-weight: 400;
}
.tabella {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  background: #fff;
  border-radius: 6px;
  overflow: hidden;
}
.tabella thead td,
.tabella thead th,
.tabella tr:first-child {
  background: #e7e7e7;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 13px;
  letter-spacing: 0.5px;
}
.tabella td {
  padding: 14px 16px;
  border-bottom: 1px solid #ececec;
}
.tabella td:first-child {
  font-weight: 600;
  background: #fafafa;
  white-space: nowrap;
}
.tabella tbody tr:nth-child(even) {
  background: #fcfcfc;
}
.tabella tbody tr:hover {
  background: #f1f1f1;
  transition: background 0.2s ease;
}

.tabella tbody tr:last-child td {
  border-bottom: none;
}

.revblu p,
.revrosso p {
  margin-top: 20px;
  font-size: 14px;
  color: #555;
}
#module-idxrquickorder-productlist .table-responsive{
    overflow: visible!important;
}
.img_tornio_controllato {
    min-height: 110px;
}

.expand_download {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.4s ease, opacity 0.3s ease;
    opacity: 0;
}

.expand_download.is-open {
    max-height: 500px; 
    opacity: 1;
}

.open_expand {
    cursor: pointer;
}
.expand_download a{
    padding-left: 10px !important;
    padding-right: 10px !important;
    padding-top: 3px !important;
    padding-bottom: 3px !important;
    font-size:12px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    text-decoration: underline;
}
.expand_download a:after{
    content:url('/img/download.svg')
}
.itemAttachments li{
    margin-top:5px;
    margin-bottom:10px;
    text-align: center;
}
.itemAttachments p{
    text-align: center;
    font-weight: 700;
}
.itemAttachments{
    padding-top:20px
}
.cbp-hrmenu .cbp-links li a{
    padding-left:0px;
}
.cbp-hrmenu .cbp-links li a::before{
    content:none
}
.cbp-hrmenu .cbp-hrsub-inner{
    background: #e7e7e7;
}
#checkout .promo-code-text {
    padding-bottom:10px
}
.product-line-desc {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 25px;
}
.product-line-desc br {
    display: none;
}
.product-line-desc .product-title {
    flex: 0 0 100%;
    font-weight: 600;
}
.product-line-desc .product-price {
    flex: 0 0 100%;
}
.product-line-desc .product-attribute {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;  
    gap: 5px;
}
.product-line-desc .label,
.product-line-desc .value{
    font-size:12px
}
#checkout .cart-container .product-line .product-line-image span.custom_badge_qty{
    color:#000!important
}
#footer-copyrights{
    background: #e7e7e7;
}
.copy_footer a{
    font-weight: 700;
}
.product-attributes {
    display: flex;
    flex-wrap: wrap;         
    gap: 5px 15px;         
}

.product-attributes .product-line-info {
    display: inline-flex;      
    align-items: center;
    white-space: nowrap;       
    gap: 5px;                  
}
.product-attributes .product-line-info .label{
    font-weight: 600;
}
.col-right-cart{
    text-align: right;
}
#blockcart-content .remove-from-cart{
    padding-left:15px
}
.product-line-grid-body .col-9 {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 25px;      
}
.product-line-grid-body .col-9 .product-line-info:first-child {
    flex: 0 0 100%;  
    white-space: normal;
    font-weight: 600;
}
.product-line-grid-body .col-9 .product-line-info:not(:first-child) {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;  
    gap: 5px;
}
.product-line-grid-body .col-9 .product-line-info:first-child a{
    line-height: 12px;
}
.menu-element-id-1 .cbp-links a{
    font-weight:400!important;
    text-decoration: underline;
    text-transform: none!important;
}

/*Inizio Desktop */
@media(min-width:768px){
    #desktop_logo img{
        max-width: 150px;
    }
    .header-custom-html p{
        display: flex;
        gap: 15px;
    }
    .header-custom-html p a,
    #header-user-btn .title_customer{
        background: #e7e7e7;
        color:#000!important;
        font-weight: 700;
        padding: 5px 20px;
        border-radius: 10px;
        font-size:12px
    }
    .header-custom-html p a{
        padding-top: 2px;
        padding-bottom:2px;
        line-height: 20px;
    }
    #language_selector{
        flex: 0 0 auto;
        width: auto;
    }

    .cbp-horizontal > ul > li a span{
        font-weight: 600!important;
    }
    .square-sections{
        aspect-ratio: 1 / 1;
    }
    #language_selector{
        background: #e7e7e7;
        border-radius: 10px;
    }
    #language_selector .expand-more{
        color:#000;
        font-weight: 600;
        text-transform: uppercase;
        font-size:12px

    }
    #language_selector .dropdown-menu a{
        font-weight: 600;
        text-transform: uppercase;
    }
    .our_products img{
        min-height:190px
    }
    .bottoni-sistema a{
        width: 100%!important;
    }
    #footer .block-title span{
        font-size:16px;
        color:#000
    }
    #footer .block-iqitcontactpage{
        flex:0 0 30%
    }
    #footer .block-links ul>li a{
        font-size:12px
    }
    .topheader-buttons{
        text-align: right;
    }
    .topheader-buttons a {
        padding: 0 12px;
        text-decoration: none;  
        font-size: 12px
    }
    
    .topheader-buttons a:not(:last-child) {
        border-right: 1px solid #ccc;
    }
    .col-left-product-thumbs .swiper-wrapper{
        gap: 15px;
        justify-content: center;
    }
    .product-description-section.block-section .section-content,
    #anchor_download .section-content{
        display: flex;
        align-items: flex-start;
    }
    #anchor_download{
        background: #f9f9f9;
        padding-top:60px;
        padding-bottom:60px;
        padding-right:15px;
        padding-left:15px
    }
    .anchor-sec,
    .quot_sec{
        flex:0 0 50%
    }
    .product-description-section.block-section .section-content .product-description,
    .anchor-sec{
        padding-right:40px;
    }
    .product-description-section.block-section .section-content .image_disegno_tecnico,
    .quot_sec{
        padding-left:40px
    }

    .product-attachments hr{
        display:none
    }
    .product-attachments .attachment{
        padding:15px;
        background: #f1f1f1;
        border-bottom:1px solid #e7e7e7
    }
    .ct_submit:hover{
        background: transparent!important;
    }
    #ct_matrix thead th {
        position: sticky;
        top: 68px;
        background: #000;
        z-index: 50;
        color:#fff;
        padding-right:5px
    }
    #ct_matrix thead th.nosort{
        background: #000!important;
        color:#fff
    }
    #ct_matrix .qty{
        margin-bottom:5px;
        margin-top:5px;
    }
    #ct_matrix .ct_matrix_head{
        text-shadow: unset;
    }
    .ct_submit{
        font-weight: 700;
    }
    #blockcart-content{
        width:40%
    }
    #login-form,
    .register-form,
    .ets-cfu-form,
    .footer_principale,
    #footer-copyrights .container{
        max-width: 1200px;
        margin:0 auto
    }
    .cbp-links.cbp-valinks.cbp-valinks-vertical{
        display:flex;
        flex-direction: column;
    }
    .cbp-links.cbp-valinks.cbp-valinks-vertical li a{
        color: #333333 !important;
        font-size: 1rem;
        font-style: normal;
        font-weight: bold;
        text-transform: uppercase;
    }
    .cbp-links.cbp-valinks.cbp-valinks-vertical li{
        padding-bottom:10px
    }
    #index.user_b2c .header-top{
        padding-bottom:0px;
    }
    .copy_footer{
        display: flex;
        justify-content: space-between;
    }
    .testata_matrix{
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        padding-bottom:20px
    }
    .testata_matrix a{
        text-decoration: underline;
        font-weight: 700;
    }
    .testata_matrix {
        position: relative;
        background: #fff;
        align-items: center;
    }
    
    .testata_matrix.is-sticky {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        width: 100%;
        max-width: 1200px;
        margin: 0 auto;
        padding-top:20px;
        padding-bottom:20px;
        padding-left:15px;
        padding-right:15px;
        z-index:100
    }
    .testata_matrix.is-sticky h4{
        margin-bottom:0px;
        padding-bottom:0px!important;
    }
    
    .testata_matrix.stop-sticky {
        position: absolute;
    }
    .testata_matrix h4{
        padding-bottom: 0px!important;
    }
    /* Thead della matrice sticky subito sotto alla .testata_matrix */
    .ct_matrix_wrapper.has-sticky-testata #ct_matrix thead th {
        position: sticky;
        top: var(--ct-testata-height, 0px);
        z-index: 90;
    }
    #cbp-hrmenu-tab-7 .cbp-menu-column{
        width:20%
    }
}
/*Fine Desktop */
/*Inizio Mobile */
@media(max-width:768px){
    .col-mobile-logo img{
        width:120px;
    }

    .bottoni-sistema a{
        width: 100%!important;
    }
    .topheader-buttons{
        text-align: center;
    }
    .col-left-product-thumbs .swiper-wrapper {
        gap: 15px;
        justify-content: center;
    }
    .section_anchor_buttons .col-md-4{
        flex:0 0 33.3%
    }
    #footer .block-toggle.block-iqitcontactpage .block-content{
        display:block!important
    }
    #footer .block-toggle.block-iqitcontactpage{
        padding-bottom:30px
    }
    .cart-buttons{
        flex-wrap: wrap;
        margin-top:20px
    }
    .cart-buttons a{
        flex:0 0 100%
    }
    #cart .product-line-grid-body{
        flex:0 0 55%;
    }
    #cart .product-line-grid-right{
        flex:0 0 45%
    }
    #cart .unit-price{
        display: none;
    }
    #cart .product-line-grid-right .col.col-auto{
        flex:0 0 15%
    }
    #cart .product-line-grid-right .col.col-auto.qty{
        flex:0 0 50%
    }
    #cart .product-line-grid-right .col.col-auto.price{
        flex:0 0 35%
    }
    .tabella {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }
    .noborder{
        border:none!important
    }
    .noborder .elementor-column-wrap{
        border-bottom:1px solid #e7e7e7
    }
    .itemAttachments li{
        margin-bottom:5px
    }
    .topheader-buttons a{
        text-decoration: underline;
        padding: 0 8px;
    }
    .topheader-buttons a:not(:last-child) {
        border-right: 1px solid #ccc;
    }
    .testata_matrix{
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }
    .testata_matrix a{
        text-decoration: underline;
        font-weight: 700;
    }
    
}
/*Fine mobile */


@media(min-width:768px) and (max-width:992px){
    .col.col-mobile-logo img{
        max-width:150px
    }
}