.current>a {
    font-weight: bolder;
}

#catalog.search_page {
    display: block!important;
}

#catalog ul {
    list-style: none;
    padding-left: .8rem;
}

#catalog li a {
    cursor: pointer;
    font-size: .8rem;
}

#catalog li:not(.current) ul {
    margin: 0;
    height: 0;
    overflow: hidden;
    transition: .4s;
}

.catalog-header {
    grid-area: header;
    max-width: 100%;
}

.catalog-main {
    grid-area: main;
}

.catalog-footer {
    grid-area: footer;
}

#data-container {
    margin-top: 1.5rem;
}

#data-container h2 {
    text-align: center;
    margin-bottom: 2.5rem;
}

#catalog {
    display: grid;
    grid-template-columns: .7fr 2.3fr;
    grid-template-rows: minmax(0, auto);
    grid-template-areas: "header header" "main main" "footer footer";
    width: 100%;
}

#data-sector-grid {
    display: grid;
    grid-template-columns: .7fr 2.3fr;
    grid-template-rows: minmax(0, auto);
    gap: 1.5rem;
    grid-template-areas: "sidebar header" "sidebar main" "sidebar footer" "form form";
    width: 100%;
}

#data-sector-header {
    grid-area: header;
}

#data-sector-sublinks {
    grid-area: sidebar;
}

#data-sector-products {
    grid-area: main;
    display: flex;
    flex-wrap: wrap;
    height: fit-content;
}

#data-sector-products .product-element {
    width: calc(33.33% - 1rem);
}

#data-sector-footer {
    grid-area: footer;
}

#data-sector-sublinks ul li a {
    color: black!important;
}

#data-sector-sublinks ul li.current>a {
    color: #e42713!important;
}

.sector-sublinks-list {
    padding-left: 1rem;
    margin-top: .3rem;
}

.active-sector-sublink {
    color: #e42713!important;
    margin-bottom: 0;
}

.main_sectors-clean .catalog-accordion-button:after {
    display: none!important;
}

.sectors-desktop {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-template-rows: auto;
    gap: 2.5rem;
    margin: 4.5rem 0;
}

.sectors-desktop.in_active_sector {
    grid-template-columns: repeat(10, calc(10% - 2.3rem));
}

.in_active_sector .catalog-button {
    min-height: auto;
    font-size: .8rem;
}

.sectors-desktop a {
    color: black!important;
    text-transform: capitalize;
}

.sectors-desktop a:hover {
    color: #e42713!important;
}

.sectors-desktop ul {
    margin: 1.5rem 0 0;
    padding: 0!important;
}

.sectors-desktop ul.extra_values {
    margin-top: 0!important;
}

.catalog-button {
    position: relative;
    display: inline-flex;
    border-radius: 8px;
    padding: .5rem 1rem;
    width: 100%;
    text-align: center;
    font-weight: 700;
    background: linear-gradient(white, #f7f7f7);
    box-shadow: 0px 0px 4px 2px #e3e3e3;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    transition: .3s ease-out;
    min-height: 150px;
    line-height: 1.5rem;
}

.catalog-button img {
    margin-bottom: .5rem;
}

.catalog-button:hover {
    transform: scale(1.05);
    box-shadow: 0px 0px 4px 4px #d3d3d3;
}

.abipart-view-more-button {
    cursor: pointer;
    text-decoration: underline;
    font-size: .8rem;
    margin: 1.5rem 0 2.5rem;
    display: block;
}

.product-list {
    display: flex;
    flex-wrap: wrap;
    margin-left: -1rem;
    margin-right: -1rem;
}

.product-element {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin: .5rem;
    border: 1px solid #ccc;
    border-radius: 10px;
    padding: 1.5rem;
    width: calc(25% - 1rem);
}

.product-element * {
    color: black;
}

.product-element-inner {
    height: 100%;
}

.catalog-sidebar>ul {
    margin: 0;
    padding: 0;
}

.catalog-sidebar>ul>li {
    padding: .5rem 0;
    border-bottom: 1px solid #fff;
}

.catalog-sidebar>ul>li a {
    color: black!important;
}

.product-element-image {
    height: 200px;
    text-align: center;
}

#data-pagination {
    margin: 3rem 0;
    text-align: center;
}

#data-pagination a {
    cursor: pointer;
    display: inline-block;
    padding: .1rem .7rem;
    border: 1px solid #eee;
    margin: 0 .3rem;
}

#data-pagination a:first-child,
#data-pagination a:last-child {
    border: 0!important;
}

#data-pagination a.current {
    background-color: #e42713;
    color: white;
}

.product-element-code {
    height: 100%;
}

.product-element-description {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.product-element-description h4 {
    font-size: 1.1rem;
    line-height: 1.4rem !important;
    font-weight: 400;
    margin-bottom: 2rem;
}

.product-element-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

#breadcrumb_ref {
    list-style: none;
    padding-left: 0;
    margin-top: 0;
}

#breadcrumb_ref li {
    display: inline-block;
}

#breadcrumb_ref li a {
    color: black!important;
}

#abipart-widget-area {
    width: 100%;
}

#data-details h4 {
    margin-top: 0;
    color: #a4a4a6!important;
}

#data-details h4 .category-total-products {
    font-size: 1.5rem;
    margin-right: .3rem;
}

#brandFilter {
    width: 100%;
    padding: 10px;
}

.abipart-widget-content {
    display: flex;
    flex-wrap: wrap;
}

.product-display {
    grid-area: main;
    padding: 2rem;
    border: 1px solid #ccc;
    border-radius: 10px;
}

.product-image {
    grid-area: image;
}

.product-details {
    grid-area: details;
    padding-left: 1.5rem;
}

.product-details h3 {
    margin: 2.5rem 0;
}

.product-details h4 {
    margin: 0!important;
    font-weight: 400;
}

.product-contact-form {
    grid-area: form;
    margin-top: 1.5rem;
}

.product-display {
    display: grid;
    grid-template-rows: auto;
    grid-template-areas: "image image details" "form form form";
    gap: 1.5rem;
}

#catalogProducts {
    position: relative;
}

.loading-catalog:before {
    content: 'Caricamento...';
    background: rgba(255, 255, 255, .5);
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.show_more_families {
    display: block!important;
}

.before-disabled,
.after-disabled {
    opacity: .5;
    cursor: default!important;
    pointer-events: none!important;
}

.active-brand-filter {
    cursor: pointer;
}

.remove-active-brand {
    border: 1px solid;
    border-radius: 50%;
    padding: .1rem 0.4rem;
    margin-right: .5rem;
    font-weight: 700;
    font-size: .8rem;
}

.product-category-tree a {
    text-decoration: underline;
}

.product-detail-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#catalogSearchForm input[type="search"],
#catalogSearchForm input[type="submit"] {
    padding: .8rem 1rem;
    border: 1px solid #ccc;
    border-radius: 3px;
}

.accordion-content {
    padding: 0 1.5rem;
    display: none;
    overflow: hidden;
}

.catalog-accordion-display {
    display: block;
}

.sectors-mobile {
    margin: 1.5rem 0;
}

.sectors-mobile * {
    color: black;
}

.sectors-mobile>div .catalog-accordion-button {
    width: 100%;
    padding: 1rem 0;
    border-bottom: 1px solid #eee;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.sectors-mobile>div .catalog-accordion-button:after {
    content: '';
    background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='960px' height='560px' viewBox='0 0 960 560' enable-background='new 0 0 960 560' xml:space='preserve'%3E%3Cg id='Rounded_Rectangle_33_copy_4_1_'%3E%3Cpath d='M480,344.181L268.869,131.889c-15.756-15.859-41.3-15.859-57.054,0c-15.754,15.857-15.754,41.57,0,57.431l237.632,238.937 c8.395,8.451,19.562,12.254,30.553,11.698c10.993,0.556,22.159-3.247,30.555-11.698l237.631-238.937 c15.756-15.86,15.756-41.571,0-57.431s-41.299-15.859-57.051,0L480,344.181z'/%3E%3C/g%3E%3C/svg%3E");
    width: 30px;
    height: 20px;
    display: inline-block;
    background-size: contain;
    background-repeat: no-repeat;
}

@media(max-width: 1185px) {
    .sectors-desktop {
        grid-template-columns: repeat(3, 1fr);
    }
    .product-element {
        width: calc(33.33% - 1rem);
    }
    #data-sector-products .product-element {
        width: calc(50% - 1rem);
    }
}

.catalog-button.current {
    box-shadow: none!important;
    background: none;
    filter: grayscale(1);
}

#avadaOverrideHeadbar {
    padding: 2.5rem 0;
    background: #eee;
}

#avadaOverrideHeadbar .sectors-desktop {
    grid-template-columns: repeat(10, 1fr)!important;
    margin-top: 0!important;
}

#avadaOverrideHeadbar .sectors-desktop .catalog-button {
    min-height: auto!important;
}

.avada-override-subheader-intro {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#avadaOverrideHeadbar h1.entry-title {
    line-height: 2.8rem;
    font-size: 2rem;
}

@media(min-width: 768px) {
    .sectors-mobile {
        display: none;
    }
}

@media(max-width: 768px) {
    .sectors-desktop {
        display: none;
    }
    .product-element {
        position: relative;
        width: 50%!important;
        border-radius: 0;
        margin: 0;
    }
    #data-container {
        margin-left: -30px;
        margin-right: -30px;
        margin-top: 0;
    }
    .product-element-footer {
        display: block;
    }
    .product-element-footer span {
        display: block;
        margin-bottom: 1.5rem;
    }
    .product-element:after {
        content: '<';
        position: absolute;
        background-color: #e42713;
        color: white;
        padding: 1rem;
        bottom: 10px;
        right: 0;
        border-radius: 5px 0 0 5px;
    }
    #data-sector-grid {
        grid: inherit;
        display: block;
    }
    #data-sector-sublinks,
    #data-sector-header {
        padding: 0 30px;
    }
    #catalog ul {
        padding-left: 10px;
    }
    .in_active_sector {
        display: none!important;
    }
    .abipart-widget-content .product-element {
        width: 100%!important;
    }
    .product-display {
        display: block!important;
        margin: 0px 30px;
    }
    .product-details {
        padding: 0;
    }
    .product-details h3 {
        margin: 0;
    }
    .product-detail-header {
        display: inherit;
    }
    .product-detail-header>img {
        display: block;
    }
    .product-image {
        text-align: center;
    }
    .product-contact-form {
        padding: 0 30px;
    }
    #avadaOverrideHeadbar {
        padding-left: 30px;
        padding-right: 30px;
    }
    .avada-override-subheader-intro {
        display: block!important;
    }
}