/*
Theme Name: VibGroup Theme
Theme URI: https://und3fined.it/
Template: generatepress
Author: Gabriele Visconti
Author URI: https://und3fined.it/
Description: Questo tema è stato realizzato dal developer team di Vib. G.V
Tags: two-columns,three-columns,one-column,right-sidebar,left-sidebar,footer-widgets,blog,e-commerce,flexible-header,full-width-template,buddypress,custom-header,custom-background,custom-menu,custom-colors,sticky-post,threaded-comments,translation-ready,rtl-language-support,featured-images,theme-options
Version: 1.60
Updated: 2025-04-30 16:41:41

*/



/* --------------------------------------------
   Typografy
-------------------------------------------- */
body{
    font-size: clamp(14px, 0.937vw, 18px);
    line-height: clamp(28px, 1.666vw, 32px);
    }
.block--title__30{
   font-size: clamp(22px, 1.562vw, 30px);
   line-height: clamp(27px, 1.822vw, 35px);
}
.block--title__40{
   font-size: clamp(24px, 2.082vw, 35px);
   line-height: clamp(29px, 2.082vw, 40px);
}
.block--title__50{
   font-size: clamp(28px, 2.603vw, 50px);
   line-height: clamp(33px, 2.864vw, 55px);
}
.block--title__60{
   font-size: clamp(30px, 3.124vw, 60px);
   line-height: clamp(42px, 4.166vw, 80px);
}
.block--title__70{
   font-size: clamp(32px, 3.645vw, 70px);
   line-height: clamp(32px, 3.645vw, 70px);
}
.block--title__80{
   font-size: clamp(32px, 4.169vw, 80px);
   line-height: clamp(32px, 5.20vw, 100px);
}
.block--subtitle{
   color: #008C54;
   font-size: clamp(18px, 1.353vw, 26px);
}
/* --------------------------------------------
   Global
-------------------------------------------- */
#to-the-top {
    display: flex;
    background-color: #11111173;
    width: 50px;
    height: 50px;
    border-radius: 25px 0 0 25px;
    position: fixed;
    bottom: 30px;
    right: 0;
    transition: background-color .3s, opacity .5s, visibility .5s;
    opacity: 0;
    visibility: hidden;
    z-index: 1000;
    justify-content: center;
    align-items: center;
}
a#to-the-top svg {
    width: 20px;
    height: 20px;
    fill: #fff;
    transition: 300ms;
}

#to-the-top:hover {
	cursor: pointer;
	background-color: #333;
}

#to-the-top:active {
	background-color: #555;
}

#to-the-top.show {
	opacity: 1;
	visibility: visible;
}
html,body{
    scroll-behavior: smooth;
}
.grecaptcha-badge{visibility:hidden!important}
/* --------------------------------------------
   General
-------------------------------------------- */
.cms-template .block-content {
    margin-top: 30px;
}
/* shortcode social */
.social-link-wrapper{
   display: flex;
   align-items: center;
   gap: 8px;
}
.social-link-wrapper a{
   display: flex;
   transition: 300ms;
}
.social-link-wrapper svg{
   width: 20px;
   height: 20px;
   transition: 300ms;
}
/* shortcode contact */
.company-contacts-main-wrapper,.company-contact {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.company-contacts-main-wrapper .company-contact svg {
    width: 20px;
    height: 20px;
}
.company-contacts-main-wrapper .company-contact a {
    display: flex;
    gap: 8px;
    align-items: center;
}
/* --------------------------------------------
   Page intro
-------------------------------------------- */

.page-intro-text .block--title h1,
.page-intro-text .block--title h2, 
.page-intro-text .block--title h3 {
    font-weight: bold;
    text-wrap: balance;
}
@media(max-width: 1025px){
   .page-intro-text.page-intro-max-width .row {
      gap: 30px;
   }
   
}
@media(min-width: 1025px){
   .page-intro-text.page-intro-max-width .page-intro-paragraph {
      max-width: clamp(600px, 39.99vw, 768px);
      margin: 0 0 0 auto;
   }
}
/* --------------------------------------------
   FAQ List
-------------------------------------------- */
.faq-title {
    padding: clamp(19px, 2.03vw, 39px) 10px;
    border-top: 1px solid #ccc;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    font-size: clamp(20px, 1.666vw, 32px);
    font-weight: 400;
    cursor: pointer;
    align-items: center;
}
.faq-icon {
    transition: 300ms;
    cursor: pointer;
}
.faq-icon svg{
    width: clamp(25px, 1.562vw, 30px);
    height: clamp(25px, 1.562vw, 30px);
    fill: #048C54;
}

.faq-content {
    transition: 500ms;
    transform: translateY(-10px);
    opacity: 0;
    height: 0;
    visibility: hidden;
    overflow: hidden;
}
.faq-wrapper.is-active .faq-icon{
    transition: 300ms;
    transform: rotate(180deg);
}

.faq-wrapper.is-active .faq-content {
    transition: 500ms;
    padding: 0 10px 39px;
    transform: translateY(0px);
    opacity: 1;
    height: auto;
    visibility: visible;
    overflow: visible;
    color: #6F6F6E;
}
.faq-icon {
    display: flex;
    height: max-content;
    width: max-content;
}
@media(min-width: 1181px){
    .faq-content {
        max-width: 80%;
    }
}
.faqs-main-wrapper {
    margin-top: clamp(60px, 6.24vw, 120px);
}

/* --------------------------------------------
   Contact icon carousel
-------------------------------------------- */
.icon-section .block--icon {
    display: flex;
    flex-direction: column;
    /*justify-content: center;*/
    align-items: center;
    height: 100%;
}
.icon-section .block--icon .block--image {
    margin: 0 auto;
    width: 100%;
    height: 100vw;
    max-width: clamp(60px, 4.947vw, 95px);
    max-height: clamp(60px, 4.947vw, 95px);
    justify-content: center;
}
.block--icon .block--text.block--title--center {
    color: #008C54;
    font-size: clamp(22px, 1.353vw, 26px);
    font-weight: bold;
    text-wrap: balance;
    text-transform: uppercase;
    margin-top: 20px;
    max-width: clamp(280px, 15.624vw, 300px);
}
.block--icon .block--image img {
    width: 100%;
    height: 100%;
}
.icon-section-desktop .block--icon:after {
    content: '';
    display: flex;
    background: #008C54;
    width: 1px;
    height: clamp(60px, 5.207vw, 100px);
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(0, -50%);
}
.icon-section-desktop .row .column:last-child .block--icon:after {
   display: none;
}
.column.column-overflow {
    overflow: hidden;
}

.icon-section-desktop{
    display: none;
}
.icon-section-mobile{
    display: block;
}
.icon-section-mobile ul.splide__pagination.splide__pagination--ltr {
    margin: 0px;
    padding: 40px 0 0;
    position: unset;
}
.icon-section-mobile ul.splide__pagination.splide__pagination--ltr button{
    border: 1px solid #008C54;
    width: 15px;
    height: 15px;
    background: transparent;
}
.icon-section-mobile ul.splide__pagination.splide__pagination--ltr button.splide__pagination__page.is-active{
    background: #008C54;
}
.icon-section .block--icon .block--paragraph a {
    color: #161C20;
    text-decoration: none;
    font-size: 20px;
    line-height: 32px;
    margin-top: 10px;
    max-width: 300px;
    text-wrap: balance;
}
.map-embed iframe {
    width: 100%;
}
.map-embed {
    margin-top: clamp(60px, 10.416vw, 200px);
}
@media(min-width: 1025px){
    .icon-section-desktop{
        display: block;
    }
    .icon-section-mobile{
        display: none;
    }
}

/* --------------------------------------------
   Contact form
-------------------------------------------- */
.contact_form_radio_wrapper .contact_form_input p, .contact_form_radio_wrapper .contact_form_input span {
    margin: 0px!important;
}
.contact_form_radio_wrapper label {
    display: flex;
    gap: 10px;
}
.contact_form_radio_wrapper span.wpcf7-form-control.wpcf7-radio {
    display: flex;
    gap: 30px;
}
.contact_form_radio_wrapper input[type="radio"] {
    width: unset!important;
    height: unset!important;
}

.contact_form_optin.custom-margin {
    margin-top: 30px;
}
.contact_form_radio {
    margin-bottom: 30px;
}
.contact_form_radio {
    text-wrap: balance;
}
.section-classic-form h3.block--title__60{
   font-weight: bold;
}
.section-classic-form .block--title {
    max-width: clamp(680px, 40.103vw, 770px);
}
input[type='radio'] {
    accent-color: #008C54;
}

/* --------------------------------------------
   Two column
-------------------------------------------- */
.two-column-section.absolute_image .block--title h1,
.two-column-section.absolute_image .block--title h2,
.two-column-section.absolute_image .block--title h3{
   font-weight: bold;
}

.absolute_image .block-text-wrapper {
    padding-top: clamp(80px, 9.374vw, 180px);
}
.section.two-column-section.absolute_image{
   position: relative;
}
.section.two-column-section.absolute_image .block--media-content {
    position: relative;
    right: 0;
}
.section.two-column-section.absolute_image .block--media-content {
    position: relative;
    right: 0;
    transform: translate(100px, 0%);
    opacity: 0;
    transition: transform 0.9s ease, opacity 0.9s ease;
    will-change: transform, opacity;
}

.section.two-column-section.absolute_image.image-entered .block--media-content {
    transform: translate(0, 0%);
    opacity: 1;
}
.two-column-section.absolute_image.image-entered .block--paragraph {
    max-width: clamp(680px, 39.843vw, 765px);
}
@media(min-width: 1025px){
   .absolute_image .block-text-wrapper {
      padding-top: clamp(80px, 9.374vw, 180px);
      padding-bottom: clamp(80px, 13.02vw, 250px);
   }
   .section.two-column-section.absolute_image .block--media-content {
      position: absolute;
      top: 50%;
      right: 0;
      max-width: 45%;
      transform: translate(100px, -50%);
      opacity: 0;
      transition: transform 1.2s ease, opacity 0.9s ease;
      will-change: transform, opacity;
   }

   .section.two-column-section.absolute_image.image-entered .block--media-content {
      transform: translate(0, -50%);
      opacity: 1;
   }
}

/* --------------------------------------------
   Icon grid
-------------------------------------------- */
.section.icon-grid-section {
    background: #161c20;
}
.icon-grid-section .block--title {
    color: #fff;
    font-size: clamp(22px, 1.562vw, 30px);
}
.icon-item-text .block--paragraph {
    color: #fff;
    opacity: 0.7;
}
.icon-item-wrapper .block--title {
    margin: 15px 0px;
}
.icon-item-wrapper .icon-item-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.icon-item-wrapper .icon-item-image {
    max-width: 80px;
    max-height: 80px;
    overflow: hidden;
    width: 100%;
    height: 100%;
}

@media(min-width: 1025px){
   .icon-item-text .block--paragraph {
      max-width: 378px;
   }
}
.icon-grid-section ul.splide__pagination.splide__pagination--ltr {
   margin-top: 60px;
   position: unset;
}
.icon-grid-section ul.splide__pagination.splide__pagination--ltr button{
   width: 15px;
   height: 15px;
   background: transparent;
   border:1px solid #fff;
}
.icon-grid-section ul.splide__pagination.splide__pagination--ltr button.is-active{
   background: #fff;
}
.icon-grid-section .column{
   overflow: hidden;
}
.custom-padding-bottom {
    padding-bottom: clamp(80px, 5.20vw, 100px);
}

/* --------------------------------------------
   background section
-------------------------------------------- */
.section.background-section.custom-height .background-section-content.center {
      max-height: clamp(160px, 29.687vw, 570px);
      height: 100vh;
   }
@media(min-width: 1025px){
   .section.background-section.custom-height .background-section-content.center {
      max-height: clamp(340px, 29.687vw, 570px);
      height: 100vh;
   }
}


/* --------------------------------------------
   Moving images
-------------------------------------------- */
.moving-images-wrapper {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
}
.moving-images-wrapper .block--image {
    overflow: hidden;
    border-radius: 30px;
    height: unset;
}
.moving-images-wrapper .block--image img{
    width: 100%;
}
.block--arrow {
    display: flex;
    justify-content: center;
}
.block--moving-image-01, .block--moving-image-02 {
    display: none;
}
.block--texts .block--text-wrapper:after {
    content: '';
    display: flex;
    background: #008C54;
    width: 2px;
    height: 55px;
    margin: clamp(30px, 3.12vw, 60px) auto;
}
.block--texts .block--text-wrapper:last-child:after {
    display: none;
}
.moving-images .block--text-wrapper {
    max-width: clamp(400px, 23.95vw, 460px);
    margin: 0 auto;
}
.block--text-wrapper .block--paragraph{
    margin-top: 10px;
    font-size: clamp(16px, 1.03vw, 20px);
    opacity: 0.7;
}
.block--moving-image-01 .block--image {
    position: absolute;
    bottom: 0;
}
.block--moving-image-02 .block--image {
    position: absolute;
    top: 0;
}
.block--moving-image-01 .block--image,
.block--moving-image-02 .block--image {
    left: 0;
    width: 100%;
    will-change: transform;
}
@media(min-width: 1025px){
    .moving-images-wrapper {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 30px;
    }
    .block--moving-image-01, .block--moving-image-02 {
        display: flex;
        flex-direction: column;
        gap: clamp(80px, 7.8vw, 150px);
        height: 100%;
        position: relative;
    }
}

/* --------------------------------------------
   two column - fluid version
-------------------------------------------- */
.section.two-column-section.custom-bg {
    background: #161C20;
    color: #fff;
}
.section.two-column-section.custom-btn .block--button.block--button--primary a,
.custom-btn .background-section-content  a.block--button__link{
    background: transparent;
    border-radius: 50px;
    border: 1px solid #fff;
    display: flex;
    align-items: center;
    gap: 20px;
    color: #fff;
}
.section.two-column-section.custom-btn .block--button.block--button--primary a:hover,
.custom-btn .background-section-content  a.block--button__link:hover{
    gap: 30px;
    transition: 300ms;
}
.section.two-column-section.custom-btn .block--button.block--button--primary a:after,
.custom-btn .background-section-content  a.block--button__link:after {
    content: '';
    display: flex;
    background-image: url(/wp-content/uploads/2026/06/right-arrow-white.svg);
    width: 40px;
    height: 7px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.two-column-section.custom--fluid .row {
    width: 100%;
    max-width: 100%;
    align-items: stretch;
    gap: 0px;
}

.custom--fluid .block-text-wrapper {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: clamp(80px, 7.80vw, 150px);
    padding-bottom: clamp(80px, 7.80vw, 150px);
    max-width: clamp(680px, 40.62vw, 780px);
    margin: 0 auto;
    padding-left: 5%;
    padding-right: 5%;
}
.two-column-section.custom--fluid .block--media-content {
    height: 100%;
}
.two-column-section.custom--fluid .block--media-content img{
    object-fit: cover;
}

.two-column-section h1,
.two-column-section h2,
.two-column-section h3,
.two-column-section-for-map h1,
.two-column-section-for-map h2,
.two-column-section-for-map h3{
    font-weight: 500;
}
.two-column-section-for-map .block-map-embed {
    display: flex;
}
.two-column-section-for-map .block-map-embed iframe{
    width: 100%;
}

.two-column-section-for-map svg {
    background: #008C54;
    padding: 20px;
    width: 60px!important;
    height: 60px!important;
    border-radius: 50%;
    fill: #fff;
}
.two-column-section-for-map .company-contacts-main-wrapper {
    gap: 25px;
    margin-top: 35px;
}
.block-map-embed iframe {
    height: clamp(320px, 28.12vw, 540px);
}
.two-column-section-for-map a {
    text-decoration: none;
    color: #161C20;
    font-size: clamp(20px, 1.149vw, 22px);
    text-wrap: balance;
}
@media(min-width: 1025px){
    .two-column-section-for-map svg {
        background: #008C54;
        padding: 25px;
        width: 80px!important;
        height: 80px!important;
        border-radius: 50%;
        fill: #fff;
    }
}


/* --------------------------------------------
   Home hero
-------------------------------------------- */
.block-hero-search form {
    position: relative;
    z-index: 20;
}
.section.hero-block {
    height: 100vh;
    position: relative;
    overflow: hidden;
}
.home-slider-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.home-heroslider {
    position: absolute;
    width: 100%;
    top: 0;
    z-index: 8;
}

.home-hero-text {
    position: absolute;
    z-index: 10;
    height: 100%;
    background: #0000003b;
    width: 100%;
    top: 0;
    display: flex;
    align-items: flex-end;
    padding-bottom: clamp(80px, 7.80vw, 150px);
}
.section.hero-block .row--fluid,
.section.hero-block .column{
    height: 100%
}


.home-hero-count button {
    background: transparent;
    font-size: clamp(20px, 1.349vw, 26px);
    padding: 0 0 10px 0;
    border-bottom: 1px solid #fff;
}

button.home-hero-count__item.is-active {
    font-weight: bold;
    color: #008C54;
}
.home-hero-text-row {
    width: 90%;
    max-width: 1720px;
    margin: 0 auto;
}
.block-hero-search:before {
    z-index: 12;
    background: #ffffff69;
    display: flex;
    content: '';
    width: 100%;
    height: 100%;
    filter: blur(7px);
    position: absolute;
    top: 0;
    left: 0;
    transition: 300ms;
}
.block-hero-search {
    position: relative;
    overflow: hidden;
    padding: clamp(25px, 2.082vw, 40px);
    border-radius: 20px;
}

.home-hero-text-content .block--subtitle, .home-hero-text-content .block--title > * {
    color: #fff;
}
.home-hero-text-content .block--title > * {
    font-weight: bold;
}
.home-heroslider, .home-heroslider .splide__track {
    height: 100%;
}

.block--image.disable-on-mobile{
    display: none;
}
.block--image.disable-on-desktop{
    display: flex;
}
.home-hero-count {
    position: absolute;
    right: 50%;
    bottom: 30px;
    display: flex;
    flex-direction: row;
    z-index: 11;
    gap: 20px;
    transform: translate(50%);
}
.home-hero-text-content {
    margin-bottom: 30px;
}
.home-hero-text-content .block--title {
    max-width: clamp(340px, 37.23vw, 715px);
    margin-bottom: 20px;
}
@media(min-width: 1025px){
    .home-hero-text-content .block--title {
        max-width: clamp(680px, 37.23vw, 715px);
        margin-bottom: 20px;
        text-wrap: unset;
    }
    .home-hero-text-content {
        margin-bottom: 0px;
    }
    .home-hero-count button {
        background: transparent;
        font-size: clamp(20px, 1.349vw, 26px);
        padding: 0 0 19px 0;
        border-bottom: 1px solid #fff;
    }
    .home-hero-count button:last-child {
        padding: 0;
        border-bottom: unset;
    }
    .block--image.disable-on-mobile{
        display: flex;
    }
    .block--image.disable-on-desktop{
        display: none;
    }
    .home-hero-text-content {
        max-width: 50%;
    }
    .home-hero-count {
        position: absolute;
        right: 6%;
        bottom: clamp(80px, 7.80vw, 150px);
        display: flex;
        flex-direction: column;
        z-index: 11;
        gap: 20px;
    }
}


.block-hero-search .wpf_item {
    padding: 0;
    margin: 0;
    width: 100%;
}

.block-hero-search .wpf_item_name {
    color: #fff;
    font-weight: 300 !important;
    font-size: clamp(16px, 0.937vw, 18px) !important;
    padding: 0 !important;
    border: 0 !important;
    margin-bottom: 10px !important;
    line-height: 1;
}

.block-hero-search .wpf_layout_vertical .wpf_item + .wpf_item .wpf_item_name {
    margin-top: 0 !important;
}

.block-hero-search form.wpf_form.wpf_form_home_hero_filter {
    margin: 0 !important;
}

.block-hero-search select.wpf_dropdown {
    margin-bottom: 0 !important;
    border-radius: 5px;
}

/* Select2 corretto */
.block-hero-search span.select2-container.select2-container--default.select2-container--open{
    /*margin-top: 20px !important;*/
}
.block-hero-search .wpf_form .select2-container {
    width: 100% !important;
    max-width: 100%;
    line-height: normal;
}

.block-hero-search .select2-container--default .select2-selection--single {
    min-height: 52px;
    height: auto !important;
    border-radius: 5px !important;
    border: none !important;
    background: #fff;
    display: flex;
    align-items: center;
    padding: 0px 40px 0px 15px !important;
}

.block-hero-search .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #444;
    line-height: 50px !important;
    padding: 0 !important;
    height: auto !important;
}

.block-hero-search .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100% !important;
    top: 0;
    right: 10px;
}

.block-hero-search .wpf_items_wrapper.wpf_layout_vertical {
    display: flex;
    align-items: flex-end;
    flex-direction: column;
    justify-content: space-between;
    gap: 20px;
}

.block-hero-search .wpf_item.wpf_item_submit {
    width: 100%;
}

.block-hero-search .wpf_item.wpf_item_submit button {
    display: flex;
    background: #008C54;
    border-radius: 50px;
    min-width: clamp(180px, 11.978vw, 230px);
    justify-content: center;
    align-items: center;
    gap: 10px;
    transition: 300ms;
    width: 100%;
}

.block-hero-search .wpf_item.wpf_item_submit button:hover {
    background: #151515;
    gap: 15px;
    transition: 300ms;
}

.block-hero-search .wpf_item.wpf_item_submit button:after {
    content: '';
    display: flex;
    background-image: url(/wp-content/uploads/2026/06/right-arrow-white.svg);
    width: 40px;
    height: 7px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

@media (min-width: 1281px) {
    .block-hero-search .wpf_item.wpf_item_submit {
        width: max-content;
    }

    .block-hero-search .wpf_item.wpf_item_submit button {
        width: auto;
    }

    .block-hero-search .wpf_items_wrapper.wpf_layout_vertical {
        flex-direction: row;
        align-items: flex-end;
        justify-content: space-between;
        gap: 20px;
    }
}
/* --------------------------------------------
   Home logos carousel
-------------------------------------------- */
.section.logos-block{
    background: #2A2A2A;
    padding: clamp(40px, 3.12vw, 60px);
}
.logos-carousel-wrapper .block--title > *{
    color: #fff;
}

.section.logos-block {
    background: #2A2A2A;
    padding: clamp(40px, 4.16vw, 80px);
    overflow: hidden;
    position: relative;
}


.section.logos-block .column {
    overflow: hidden;
}
.logos-carousel-wrapper .block--title > *{
    text-align: center;
}
.logos-carousel-wrapper .block--title{
    margin-bottom: 20px;
}
@media(min-width: 1025px){
    .logos-carousel-wrapper .block--title{
        margin-bottom: 0px;
    }
    .logos-carousel-wrapper .block--title > *{
        text-align: left;
    }
    .logos-carousel-wrapper img {
        max-width: clamp(200px, 14.05vw, 270px);
        margin: 0 auto;
    }
    .logos-carousel-wrapper .logos-title {
        position: absolute;
        background: #2a2a2a;
        z-index: 10;
        padding-right: 20px;
        max-width: clamp(380px, 23.43vw, 455px);
        width: 100%;
        top: 50%;
        transform: translate(0%, -50%);
    }
    .logos-carousel-wrapper .logos-title:after {
        content: '';
        display: flex;
        width: 200px;
        height: 100%;
        position: absolute;
        left: 99%;
        top: 0;
        background: #2A2A2A;
        background: linear-gradient(90deg,rgba(42, 42, 42, 1) 29%, rgba(42, 42, 42, 0.16) 66%, rgba(42, 42, 42, 0) 100%);
    }
}
/* --------------------------------------------
  Home car absolute 2
-------------------------------------------- */

.custom-bg2{
    background: #2a2a2a;
}
.custom-bg2 .block--title > *,
.custom-bg2{
    color: #fff;
}

.section.two-column-section.absolute_image2{
   position: relative;
}
.section.two-column-section.absolute_image2 .block--media-content {
    position: relative;
    right: 0;
}
.section.two-column-section.absolute_image2 .block--media-content {
    position: relative;
    right: 0;
    transform: translate(100px, 0%);
    opacity: 0;
    transition: transform 0.9s ease, opacity 0.9s ease;
    will-change: transform, opacity;
}
.section.two-column-section.absolute_image2.image-entered .block--media-content {
    transform: translate(0, 0%);
    opacity: 1;
}
.absolute_image2 .block-text-wrapper {
    padding-top: clamp(80px, 9.374vw, 180px);
}
@media(min-width: 1025px){
   .absolute_image2 .block-text-wrapper {
      padding-top: clamp(80px, 9.374vw, 180px);
      padding-bottom: clamp(80px, 13.02vw, 250px);
   }
   .section.two-column-section.absolute_image2 .block--media-content {
      position: absolute;
      top: 50%;
      right: 0;
      max-width: 60%;
      transform: translate(50%, -50%);
      opacity: 0;
      transition: transform 1.2s ease, opacity 0.9s ease;
      will-change: transform, opacity;
   }

   .section.two-column-section.absolute_image2.image-entered .block--media-content {
      transform: translate(20%, -50%);
      opacity: 1;
   }
}

/* --------------------------------------------
  category cards
-------------------------------------------- */

.category-cards .block--text-wrapper {
    max-width: clamp(500px, 33.06vw, 635px);
    margin: 0 auto;
}
.category-cards .block--text-wrapper .block--title > *{
    font-weight: bold;
}
.section.background-section.custom-btn.custom-bg-position .block--subtitle{
    color: #008C54;
}
.section.background-section.custom-btn.custom-bg-position .block--title > *{
    font-weight: bold;
}
.section.background-section.custom-btn.custom-bg-position .block-background.no img {
    object-position: 25%;
}
.category-cards--desktop {
    display: none;
}
.card-category-link a {
    display: flex;
    align-items: center;
    gap: 20px;
    text-transform: uppercase;
    text-decoration: none;
    transition: 300ms;
}
.card-category-link a:hover {
    gap: 30px;
    transition: 300ms;
}
.card-category-link{
    margin-top: 20px;
}
.card-category-image a {
    overflow: hidden;
    border-bottom: 20px;
    transition: 300ms;
    display: flex;
    border-radius: 30px;
}
.card-category-wrapper {
    width: 100%;
    transition: 300ms;
}
.card-category-image{
    width: 100%;
    transition: 300ms;
}
.card-category-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.category-cards--desktop {
    margin-top: clamp(60px, 5.2vw, 100px);
}
.card-category-image a {
    height: clamp(300px, 26.03vw, 500px);
}
.card-category-wrapper:hover {
    transition: 500ms;
    width: 130%;
}
.category-cards .column {
    overflow: hidden;
}
.category-cards--mobile{
    display: block;
    margin-top: clamp(60px, 5.2vw, 100px);
}
.category-cards ul.splide__pagination.splide__pagination--ltr{
    margin-top: 40px;
    position: unset;
}
.category-cards ul.splide__pagination.splide__pagination--ltr button{
    width: 15px;
    height: 15px;
    border: 1px solid #008C54;
    background: transparent;
}
.category-cards ul.splide__pagination.splide__pagination--ltr button.is-active{
    background: #008C54 !important;
}
@media(min-width: 1025px){
    .category-cards--mobile{
        display: none;
    }
    .category-cards--desktop {
        display: flex;
        gap: 40px;
    }
    .section.background-section.custom-btn.custom-bg-position .block-background.no img {
        object-position: center;
    }
    .section.background-section.custom-btn.custom-bg-position .block-text.section--padding-md.left {
        margin:0 5% 0 auto;
    }
}







/* --------------------------------------------
   Archive products
-------------------------------------------- */
.archive-filter-content .wpf_item {
    color: #151515;
}
.wpf_slider.ui-slider .ui-widget-header {
    background: #ccc !important;
    border: none;
}
.products-list {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
    row-gap: 60px;
}

.archive-products-order form.woocommerce-ordering {
    margin: 0 !important;
}
.archive-products-order {
    display: flex;
    align-items: center;
    gap: 20px;
    justify-content: flex-start;
}
.archive-filter-head {
    font-size: clamp(20px, 1.24vw, 24px);
    text-transform: uppercase;
    font-weight: bold;
    padding-bottom: 0;
    border-bottom: 0;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
    color: #151515;
}
span.filter-icon svg {
    width: 14px;
    height: 15px;
    transition: 300ms;
}
span.filter-icon{
    display: flex;
    transition: 300ms;
}
.archive-filter-content {
    display: none;
}
.archive-filter-head.active span.filter-icon {
    transition: 500ms;
    transform: rotate(180deg);
}
.archive-filter-content form.wpf_form.wpf_submit_on_change.wpf_form_ajax {
    width: 100%;
    margin-top: 40px;
}
.wpf_reset_btn {
    margin-top: 20px;
}
.wpf_reset_btn input{
    color: #BFBFBF !important;
    font-weight: bold!important;
    font-size: clamp(14px, 0.937vw, 18px) !important;
    font-family: 'Lora';
}
.archive-filter-content .wpf_item_name {
    font-size: clamp(20px, 1.24vw, 24px)!important;
}
.archive-products-order form.woocommerce-ordering, .archive-products-order select.orderby {
    width: 100%;
    background: #fff;
}
.archive-products-order span.shop-order-label {
    display: flex;
    min-width: 95px;
    text-transform: uppercase;
}
.archive-products-list ul.page-numbers {
    display: flex;
    border: none !important;
    margin: 60px 0 0!important;
}
.archive-products-list ul.page-numbers li {
    border: none!important;
}
.archive-products-list ul.page-numbers a {
    color: unset;
    transition: 300ms;
}
.section-archive-products.white span.page-numbers.current{
    color: #fff !important;
}
.section-archive-products.black span.page-numbers.current{
    color: #333 !important;
}
.archive-filter-content .wpf_item .wpf_item_name {
    border-bottom: 0;
    padding-bottom: 0;
}
.wpf_reset_btn {
    font-size: 18px;
    line-height: 1;
    font-weight: bold;
}
.archive-filter-content .wpf_layout_vertical .wpf_item+.wpf_item .wpf_item_name{
    margin-top: 40px;
    margin-bottom: 30px;
}
.archive-filter-content .wpf_item {
    padding: 0 0 39px;
    border-bottom: 1px solid #ccc;
}
.archive-filter-content .wpf_item.wpf_item_onsale {
    padding: 0 0 39px;
}
.archive-filter-content .wpf_item.wpf_item_price {
    border-bottom: 0px;
    padding: 0 0 10px;
}
/*.archive-filter-content .wpf_item.wpf_item_wpf_cat{
    padding:0px;
    border: none;
}*/
.section.section-archive-page-header {
    background: #F9F9F9;
    padding-top: 40px;
    padding-bottom: 40px;
}
.section.section-archive-page-header h1{
    font-weight: bold;
}
.block-breadcrumbs {
    text-decoration: none;
    text-transform: uppercase;
    margin-top: 8px;
}
nav.breadcrumbs a {
    text-decoration: none;
    transition: 400ms;
}
nav.breadcrumbs a:hover {
    text-decoration: underline;
    transition: 400ms;
}
nav.breadcrumbs {
    font-size: 11px;
}
@media(min-width: 1025px){
    nav.breadcrumbs {
        font-size: unset;
    }
}
.woo-user-message-wrapper svg {
    width: 25px;
    height: 25px;
}
.woo-user-message-wrapper {
    display: flex;
    padding: 20px;
    border-radius: 20px;
    gap: 20px;
    align-items: center;
    text-wrap: balance;
    justify-content: center;
    background: #e5bf7b61;
    color: #151515;
}
.section-woo-user-message.white .woo-user-message-wrapper svg, .section-woo-user-message.white .woo-user-message-wrapper {
    color: #fff;
    fill: #fff;
}
.section-woo-user-message.black .woo-user-message-wrapper svg, .section-woo-user-message.black .woo-user-message-wrapper {
    color: #333;
    fill: #333;
}
.section-woo-user-message {
    padding-bottom: 40px;
}
.woocommerce.archive .loader::before{
    display: none;
}
@media(min-width: 1025px){
    .woo-user-message-wrapper {
        border-radius: 50px;
    }
    .section-woo-user-message {
        padding-bottom: 60px;
    }
    .section.section-archive-page-header {
        background: #F9F9F9;
        padding-top: clamp(60px,4vw, 80px);
        padding-bottom: clamp(60px,4vw, 80px);
    }
    .archive-products-order form.woocommerce-ordering, .archive-products-order select.orderby {
        width: unset;
    }
    .archive-products-filters {
        margin-top: 45px;
    }
    .archive-filter-content {
        display: flex;
        width: 100%;
    }
        span.filter-icon{
        display: none;
    }
   .archive-products-order {
      display: flex;
      align-items: center;
      gap: 20px;
      justify-content: flex-end;
   }
}
nav.woocommerce-pagination{
    display: none;
}
.woocommerce-pagination- {
    display: none;
}
@media(min-width: 981px) and (max-width: 1440px){
   .products-list {
      grid-template-columns: 1fr 1fr;
   }
}

@media(min-width: 1441px){
   .products-list {
      grid-template-columns: 1fr 1fr 1fr;
      row-gap: clamp(40px, 4.166vw, 80px);
   }
}

.jello-horizontal {
	-webkit-animation: jello-horizontal 0.9s infinite both;
	        animation: jello-horizontal 0.9s infinite both;
}

@-webkit-keyframes jello-horizontal {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
  }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
            transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
            transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
            transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
            transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
            transform: scale3d(1.05, 0.95, 1);
  }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
  }
}
@keyframes jello-horizontal {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
  }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
            transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
            transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
            transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
            transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
            transform: scale3d(1.05, 0.95, 1);
  }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
  }
}


.infinite-scroll-request.loader {
    max-width: 100px;
    margin: 30px auto 0;
    display: none;
    justify-content: center;
    align-items: center;
    text-align: center;
    animation: pulseLoader 1.2s ease-in-out infinite;
}
.infinite-scroll-request.loader span {
    font-size: 12px;
    letter-spacing: 1px;
    opacity: 0.5;
}
.infinite-scroll-last,.infinite-scroll-error {
    text-align: center;
    margin-top: 60px;
}
@keyframes pulseLoader {
    0% {
        transform: scale(1);
        opacity: 1;
    }
    50% {
        transform: scale(1.1);
        opacity: 0.6;
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}


.infinite-scroll-request.loader img{
    max-width: 60px;
    margin: 0 auto;
}

.wpf_slider.ui-slider .ui-slider-handle {
    background: #E5BF7B;
}

.wpf-slider-label {
    display: flex;
    justify-content: space-between;
    color: transparent;
}
.wpf-slider-label span.woocommerce-Price-amount.amount {
    color: #151515;
}
.archive-products-order {
    margin-bottom: 30px;
}

@media(min-width: 1280px){
    .wpf_reset_btn {
        position: absolute !important;
        top: 0;
        right: 0;
        margin: 0;
    }
}
.wpf_item.wpf_item_wpf_cat ul.wpf_links.wpf_column_vertical a {
    text-decoration: none;
    color: #151515;
    transition: 300ms;
}
.wpf_item.wpf_item_wpf_cat ul.wpf_links.wpf_column_vertical a:hover {
    text-decoration: none;
    color: #000;
    transition: 300ms;
}
.wpf_item li .wpf_selected {
    color: #E5BF7B;
    cursor: default;
}
.page-load-status{
    display: none;
}
.section-breadcrumbs {
    background: #F9F7F1;
    padding-top: 40px;
    padding-bottom: clamp(40px, 4.166vw, 80px);
}
.breadcrumb-shop-wrapper a,.breadcrumb-shop-wrapper {
    transition: 300ms;
    color: #A7A7A7;
    text-decoration: none;
    font-size: clamp(12px, 0.937vw, 18px);
}
.breadcrumb-shop-wrapper a:hover {
    transition: 300ms;
    color: #000;
}



/* --------------------------------------------
   Footer
-------------------------------------------- */
.footer-main-wrapper {
    background: #2A2A2A;
    padding-top: clamp(80px, 6.24vw, 120px);
    padding-bottom: clamp(30px, 6.24vw, 120px);
}
.footer-label {
    color: #008C54;
    text-transform: uppercase;
    margin-bottom: 20px;
}
.footer-menu .footer-link-item a,
.footer-menu .footer-link-item {
    color: #FFFFFF;
    text-decoration: none;
    font-size: clamp(14px, 0.832vw, 16px);
    transition: 300ms;
}
.footer-menu .footer-link-item a:hover{
    transition: 300ms;
    color: #008C54;
    text-decoration: underline;
}

.footer-menu {
    display: grid;
    gap: 20px;
}
.footer-menu.two {
    grid-template-columns: 1fr;
}
.footer-menu.one {
    grid-template-columns: 1fr;
}
.footer-sitemap-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 30px;
}
.footer-link-item, .footer-link-item a {
    line-height: 1;
}
.footer-link-item, .footer-link-item {
    line-height: 20px;
}
.footer-column {
    padding-top: 30px;
    border-top: 1px solid #ffffff59;
}
.footer-link-item .company-contacts-main-wrapper {
    gap: 20px;
    color: #fff;
}


.footer-logos-wrapper {
    display: flex;
    justify-content: space-between;
    margin-top: clamp(60px, 6.24vw, 120px);
    flex-direction: column-reverse;
    gap: 60px;
}
.footer-logo{
    position: relative;
}



.footer-logo {
  position: relative;
  transform: translateY(80px);
  opacity: 0;
  transition: transform 0.8s ease, opacity 0.8s ease;
}

.footer-logo.logo-visible {
  transform: translateY(0);
  opacity: 1;
}
.footer-logo svg, .footer-logo a {
    width: 100%;
    height: auto;
}
.footer-logo:hover g{
    transition: 300ms;
    opacity: 1;
}
.footer-logo:hover path#Unione_4 {
    fill: #fff;
    transition: 500ms;
}
path#Unione_4,.footer-logo g {
    transition: 500ms;
}
@media(min-width: 769px){
    .footer-column {
        padding-top: 0px;
        border-top: 0;
        padding-left: 30px;
        border-left: 1px solid #ffffff59;
        min-width: clamp(280px, 16.666vw, 320px);
    }
    .footer-menu.two {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(4, auto);
        grid-auto-flow: column;
    }
}
@media (min-width: 769px) and (max-width: 1333px){
    .footer-sitemap-wrapper {
        display: grid;
        grid-template-columns: 1fr 1fr;
        row-gap: 60px !important;
        gap: 20px;
    }
    
}
@media(min-width: 1334px){
    .footer-logo {
        max-width: clamp(300px, 62.49vw,1200px);
    }
    .footer-sitemap-wrapper {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        gap: 20px;
    }
    .footer-logos-wrapper {
        display: flex;
        justify-content: space-between;
        margin-top: clamp(60px, 6.24vw, 120px);
        flex-direction: row;
        gap: 20px;
    }
}



/* --------------------------------------------
   product card
-------------------------------------------- */

.product-button-wrapper a {
    display: flex;
    align-items: center;
    gap: 10px;
    justify-content: space-between;
    background: #008C54;
    padding: 16px 20px;
    color: #fff;
    text-decoration: none;
    line-height: 1;
    text-transform: uppercase;
    transition: 300ms;
}
.product-button-wrapper a:hover {
    background: #151515;
    transition: 500ms;
}
.product-card-term,.product-price-label,.product-rent-option-item div {
    color: #008C54;
    font-size: clamp(14px, 0.832vw, 16px);
}
.product-rent-option-item span{
    font-size: clamp(14px, 0.832vw, 16px);
}

.product-card-title a,.product-card-body span.woocommerce-Price-amount.amount {
    font-weight: bold;
    text-decoration: none;
    color: #161C20;
    text-transform: uppercase;
    font-size: clamp(18px, 1.197vw, 23px);
}
.procut-card-content {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: flex-start;
}
.product-rent-option-item {
    display: flex;
    gap: 5px;
}
.product-rent-option {
    padding: 10px 0 20px;
}
.product-card-body {
    padding: 0 clamp(16px, 1.301vw, 25px) 0;
    border: 3px solid #E4E4E4;
    border-radius: 0;
    border-bottom: 0px;
    border-top: 0px;
    position: relative;
    z-index: 5;
}
.product-card-thumbnail img{
    position: relative;
    z-index: 6;
}
.product-card-thumbnail, .product-card-thumbnail a {
    display: flex;
    position: relative;
}
.product-card-thumbnail a:after {
    content: '';
    display: flex;
    border: 3px solid #E4E4E4;
    width: 100%;
    height: 45%;
    position: absolute;
    bottom: 0;
    border-bottom: 0;
    border-radius: 30px 30px 0 0;
    transition: 500ms;
    z-index: 5;
}
/*.product.product-card-wrapper:hover .product-card-thumbnail a::after {
    height: 100%;
    transition: 500ms;
}*/
.product-card-title a {
    width: 100%;
    max-width: 180px;
    display: flex;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}
.product.product-card-wrapper {
    transition: 400ms;
}
.product.product-card-wrapper:hover {
    transition: 800ms;
    transform: translateY(-15px);
}


/*--------------------------------------------
    home card carousel
-------------------------------------*/
.block--car-carousel{
    max-width: clamp(680px, 44.791vw, 860px);
}
.block--car-carousel .block--title >*{
    font-weight: bold;
    text-wrap: balance;
}
.block--button--item {
    cursor: pointer;
    min-width: clamp(140px, 10.416vw, 200px);
    text-align: center;
    border: 1px solid #008C54;
    border-radius: 50px;
    padding: 17px 20px;
    transition: 300ms;
    color: #161C20;
    font-size: clamp(16px, 1.145vw, 22px);
}
.block--button--item:hover {
    background: #008C54;
    border: 1px solid #008C54;
    transition: 300ms;
    color: #fff;
}
.block--button--item.active {
    transition: 300ms;
    background: #008C54;
    font-weight: bold;
    color: #fff;
}
.block--car-category--filter.desktop {
    display: flex;
    gap: 20px;
}



.home-car-carousel-wrapper {
    position: relative;
}

.car-carousel-loader {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.65);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.25s ease, visibility 0.25s ease;
}

.car-carousel-spinner {
    width: 42px;
    height: 42px;
    border: 3px solid rgba(0, 0, 0, 0.15);
    border-top-color: #000;
    border-radius: 50%;
    animation: carCarouselSpin 0.8s linear infinite;
}

.car-carousel.is-loading .car-carousel-loader {
    opacity: 1;
    visibility: visible;
}

.car-carousel.is-loading .home-car-carousel {
    pointer-events: none;
}

@keyframes carCarouselSpin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.car-carousel-controls {
    display: flex;
    gap: clamp(30px, 2.603vw, 50px);
}
.car-carousel-controls img{
    cursor: pointer;
}

.block--car--desktop--controls {
    display: none;
}
.block--car-category--filter.mobile{
    display: block;
}
.car-carousel .column{
    overflow: hidden;
}
.block--car-filter-label {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding: 14px 0 14px;
    border-bottom: 1px solid #f5f5f5;
    margin: 30px 0 0;
}
.filter-icon span{
    width: 15px;
    height: 1px;
    background: #008C54;
    display: flex;
    transition: 300ms;
}
.filter-icon span:last-child{
    transform: rotate(90deg);
    transition: 300ms;
}
.block--car-filter-wrapper.active .filter-icon span:last-child{
    transform: rotate(0deg);
    transition: 300ms;
}
.filter-content-wrapper {
    transition: 300ms;
    height: 0;
    overflow: hidden;
    width: 100%;
    opacity: 0;
}
.filter-content-wrapper.active {
    transition: 500ms;
    height: auto;
    overflow: visible;
    opacity: 1;
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.block--car-filter-wrapper .block--button--item {
    border-radius: 10px;
}
@media(min-width: 1025px){
    .block--car-category--filter.mobile{
        display: none;
    }

    .block--car--desktop--controls {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 20px;
        margin-top: clamp(40px, 2.603vw, 50px);
        margin-bottom: clamp(60px, 4.166vw, 80px);
    }
}

.home-car-carousel-wrapper ul.splide__pagination.splide__pagination--ltr{
    position: unset;
    margin-top: 60px;
}
.home-car-carousel-wrapper ul.splide__pagination.splide__pagination--ltr button{
    background: transparent;
    border: 1px solid #008C54;
    width: 15px;
    height: 15px;
}
.home-car-carousel-wrapper ul.splide__pagination.splide__pagination--ltr button.is-active{
    background: #008C54;
}
.car-carousel{
    overflow: hidden;
}
@media(max-width: 1024px){
    .car-carousel,
    .car-carousel .row,
    .car-carousel .column,
    .home-car-carousel,
    .home-car-carousel .splide__track,
    .home-car-carousel .splide__list {
        /*overflow: visible;*/
    }
}



/* Filter shop */
.archive-filter-content .wpf_item .wpf_item_name:before {
    content: '';
    display: flex;
    width: 25px;
    height: 25px;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
.archive-filter-content .wpf_item_name{
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-weight: 400 !important;
}
.archive-filter-content .wpf_item.wpf_item_pa_tipologia-veicolo .wpf_item_name:before {
    background-image: url(/wp-content/uploads/2026/06/Tipologia-veicolo.svg);
}
.archive-filter-content .wpf_item.wpf_item_pa_tipologia-cambio .wpf_item_name:before {
    background-image: url(/wp-content/uploads/2026/06/Tipologia-Cambio.svg);
}
.archive-filter-content .wpf_item.wpf_item_pa_tipologia-alimentazione .wpf_item_name:before {
    background-image: url(/wp-content/uploads/2026/06/Tipologia-alimentazione.svg);
}
.archive-filter-content .wpf_item.wpf_item_pa_brand-veicolo .wpf_item_name:before{
    background-image: url(/wp-content/uploads/2026/06/BrandVeicolo.svg);
}
.archive-filter-content .wpf_item.wpf_item_price .wpf_item_name:before{
    background-image: url(/wp-content/uploads/2026/06/FasciaPrezzo.svg);
}
.archive-filter-toggle {
    background: #F5F5F5;
    padding: clamp(20px, 1.822vw, 35px) clamp(20px, 1.562vw, 30px);
    border-radius: 10px;
}
.archive-filter-content .wpf_item.wpf_item_wpf_cat {
    display: none;
    padding: 0px!important;
}
.archive-filter-content .wpf_item.wpf_item_pa_tipologia-veicolo .wpf_item_name{
    margin-top: 0px !important;
}
.archive-filter-content .wpf_slider.ui-slider .ui-slider-handle {
    background: #008C54 !important;
}
.archive-filter-content .wpf_item_count {
    color: #008C54 !important;
}

.section-archive-product-title .block--title > * {
    font-weight: bold;
}
.section-archive-product-title .block--title > * {
    font-weight: bold;
}
.section-archive-product-title .block--text {
    max-width: clamp(680px, 44.791vw, 860px);
    text-wrap: balance;
}
.section-archive-product-title {
    padding-bottom: clamp(30px, 3.124vw, 60px) !important;
}

.places-carousel-wrapper-grid {
    display: none;
}
.places-information-wrapper .block--title {
    font-size: clamp(20px,1.353vw, 26px);
    font-weight: 500;
    margin: 10px 0;
    opacity: 1;
}
.marker-item-wrapper {
    display: flex;
}
.places-information-wrapper, .places-information-wrapper a {
    font-size: 16px;

}
.places-information-wrapper .block--button a {
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
    opacity: 1;
    color: #048C54;
    text-transform: uppercase;
    font-size: 18px;
    transition: 300ms;
}
.places-information-wrapper .block--button a:hover {
    transition: 300ms;
    gap: 15px;
}
.places-information-wrapper .block--button {
    margin-top: 15px;
    display: flex;
    width: unset;
    max-width: 250px;
}
.places-carousel-wrapper-grid {
    margin-top: clamp(60px, 6.24vw, 120px);
}
.section.two-column-section-for-map.section--padding-lg .block-text-wrapper .block--title > * {
    font-weight: bold;
}
.section.two-column-section-for-map.section--padding-lg .block-text-wrapper .block--title {
    max-width: clamp(580px, 32.291vw, 620px);
}
.places-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 20px;
}
.places-carousel-wrapper {
    margin-top: clamp(60px, 6.249vw, 120px);
}
.section.two-column-section-for-map.section--padding-lg .column {
    overflow: hidden;
}
.places-mobile-carousel-wrapper{
    display: block;
}
.section.two-column-section-for-map.custom-places {
    background: #F5F5F5;
}
.section.two-column-section-for-map.custom-places .places-head {
    margin: 0 auto;
    text-align: center;
    display: flex;
    justify-content: center;
}
.places-mobile-carousel-wrapper {
    margin-top: 60px;
}
@media(min-width: 769px) and (max-width: 1333px){
    .places-mobile-carousel-wrapper{
        display: none;
    }

    .places-carousel-wrapper-grid {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 30px;
        row-gap: 60px;
    }
}
@media(min-width: 1334px){
    .places-mobile-carousel-wrapper{
        display: none;
    }
    .places-carousel-wrapper-grid {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr;
        gap: 30px;
        row-gap: 60px;
    }
}
@media(max-width: 1024px){
    .section.two-column-section-for-map.section--padding-lg .places-controls{
        display: none;
    }
}
.section.two-column-section-for-map.section--padding-lg ul.splide__pagination.splide__pagination--ltr {
    position: unset;
    margin-top: 60px;
}
.section.two-column-section-for-map.section--padding-lg ul.splide__pagination.splide__pagination--ltr button{
    background: transparent;
    width: 15px;
    height: 15px;
    border: 1px solid #008C54;
}
.section.two-column-section-for-map.section--padding-lg ul.splide__pagination.splide__pagination--ltr button.is-active{
    background: #008C54;
}


/*-----------------
single product 
-----*/
.single-product-text-info .block--title > * {
    font-weight: bold;
}
.block--icons-wrapper {
    display: flex;
    flex-direction: column;
    gap: 20px;
    justify-content: space-between;
    padding-bottom: clamp(25px, 2.082vw, 40px);
    border-bottom: 1px solid #ccc;
    margin-bottom: clamp(25px, 2.082vw, 40px);
}
.attribute-block .block--image {
    width: 30px;
    height: 30px;
    object-fit: contain;
    display: flex;
}
.attribute-block {
    display: flex;
    gap: 10px;
}
.block--product-description > .block--paragraph {
    margin-bottom: 30px;
}
.additionalnote-label {
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 8px;
}
.price-label {
    font-size: clamp(14px, 0.832vw, 16px);
    color: #048C54;
    line-height: 20px;
}
.product-price {
    font-size: clamp(32px, 2.082vw, 40px);
    line-height:  clamp(32px, 2.082vw, 40px);
    display: flex;
    flex-direction: column;
    margin-bottom: 50px;
    margin-top: 20px;
    gap: 10px;
}
.price-value span.woocommerce-Price-amount.amount {
    font-weight: bold;
}
.block--single-prodcut-actions .block--button.custom-btn a {
    background: #008C54;
    border-radius: 50px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 20px;
    min-width: 200px;
    color: #fff;
    transition: 300ms;
}
.block--single-prodcut-actions .block--button.custom-btn a:hover {
    background: #151515;
    gap: 15px;
    transition: 300ms;
}
.block--single-prodcut-actions {
    margin-top: clamp(40px, 3.124vw, 60px);
}

@media(max-width: 600px){
    .block--single-prodcut-actions .block--button.custom-btn a {
        width: 100%;
        transition: 300ms;
    }    
    .block--single-prodcut-actions, .block--button.custom-btn {
        width: 100%;
    }
    .block--single-prodcut-actions .block--button.custom-btn a{
        display: flex;
        justify-content: center;
    }    
}
@media(min-width: 1281px){
    .single-product-text-info{
        max-width: 90%;
        margin: 0 auto;
    }
}
@media(min-width: 1025px){
    .block--icons-wrapper {
        flex-direction: row;
    }
    /* sticky */
    .single-product-text-info{
        position: -webkit-sticky;
        position: sticky;
        top: 5%;
        overflow: visible !important;
    }
    body.single-product {
        overflow: visible;
    }
}
@media(max-width: 1024px){
    .single-product-details .column {
        overflow: hidden;
    }
}


/* single gallery */
.block--products-images-mobile {
    display: none;
}

.block--products-images {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.block--primary--image img,
.block--primary--images img,
.block--gallery-item img,
.block--mobile-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.block--gallery {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.block--gallery-item:nth-child(3n) {
    grid-column: span 2;
}

@media screen and (max-width: 1024px) {
    .block--primary--image,
    .block--products-images {
        display: none;
    }

    .block--products-images-mobile {
        display: block;
    }
}


.additonal-service-item .block--image {
    width: 50px;
    height: 50px;
}
.additonal-service-item .block--title {
    text-transform: uppercase;
    margin: 10px 0 5px;
}
.additionl-services-desktop {
    display: none;
}
.additional-service-items {
    background: #F5F5F5;
    padding: clamp(30px, 3.124vw, 60px) clamp(20px,5.207vw, 100px);
    border-radius: 10px;
    margin-top: 40px;
}

.additional-services-title .block--title > * {
    font-weight: bold;
}
.single-product .section.section-classic-form .block--title > * {
    font-weight: bold;
}
.additonal-service-item .block--paragraph {
    font-size: clamp(14px, 0.832vw, 16px);
    max-width: 300px;
}
.additional-services-mobile{
    display: block;
}
@media(min-width: 1025px){
    .additional-services-mobile{
        display: none;
    }
}

@media(min-width: 1025px) and (max-width: 1333px){
    .additionl-services-desktop {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 20px;
        row-gap: 40px;
    }
}
@media(min-width: 1334px){
    .additionl-services-desktop {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr;
        gap: 20px;
        row-gap: 60px;
    }
}
.additional-services-wrapper.section--padding-md.no-padding-top .column {
    overflow: hidden;
}
.block--products-images-mobile ul.splide__pagination.splide__pagination--ltr,
.additional-service-items ul.splide__pagination.splide__pagination--ltr {
    position: unset;
    margin-top: 40px;
}
.block--products-images-mobile ul.splide__pagination.splide__pagination--ltr button,
.additional-service-items ul.splide__pagination.splide__pagination--ltr button{
    background: transparent;
    width: 15px;
    height: 15px;
    border: 1px solid #008C54;
}
.block--products-images-mobile ul.splide__pagination.splide__pagination--ltr button.is-active,
.additional-service-items ul.splide__pagination.splide__pagination--ltr button.is-active{
    background: #008C54;
}
@media(max-width: 1024px){
    div#car-carousel--001 .column {
        overflow: hidden;
    }
}








/* Header */
.small-header-wrapper {
    
}
.small-header-contact-item span.small-header-separator:last-child {
    display: none;
}
.small-header-contact-item {
    display: flex;
    gap: 15px;
    align-items: center;
}
.small-header-contact-item svg, .header-submenu-footer-contacts svg {
    width: 20px;
    height: 20px;
    fill: #008C54;
}
.small-header-contact-item a, .small-header-contact-item p,.header-submenu-footer-contacts a,.header-submenu-footer-contacts p{
    display: flex;
    gap: 6px;
    align-items: center;
    text-decoration: none;
    color: #333;
    font-size: clamp(12px, 0.72vw, 14px);
}
.small-header-contact {
    display: flex;
    gap: clamp(10px, 0.77vw, 15px);
    align-items: center;
}

span.small-header-separator,.header-separator span {
    height: 16px;
    width: 1px;
    display: flex;
    background: #008C54;
}

.small-header-social .footer-socials a {
    width: 20px;
    background: transparent;
    padding: 0;
    border-radius: unset;
    transition: 300ms;
    display: flex;
    align-items: center;
    justify-content: center;
}
.small-header-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}
.small-header-wrapper .small-header-row {
    padding: 10px 0;
    border-bottom: 1px solid #161C20;
}

.header-main-row {
    display: grid;
    grid-template-columns: 1fr 3fr 1fr;
    gap: 20px;
    align-items: center;
}
.header-logo-wrapper a {
    display: flex;
}
.header-logo-wrapper img {
    width: clamp(200px, 13.79vw, 265px);
}
.header-menu-item.area-mega-menu {
    cursor: pointer;
}
.header-menu-item > a,.header-menu-item.area-mega-menu > div > a {
    text-decoration: none;
    /*text-transform: uppercase;*/
    transition: 300ms;
    color: #151515;
    font-size: clamp(13px,0.829vw, 16px);
    line-height: 1;
    display: block;
    line-height: clamp(70px, 4.68vw, 90px);
}

.header-menu-item > a:hover,.header-menu-item.area-mega-menu > div > a:hover {
    transition: 300ms;
    color: #333;
}

.header-main-menu-pages {
    display: flex;
    justify-content: center;
    gap: clamp(18px, 1.55vw, 30px);
    transition: 300ms;
}

.area-megamenu-wrapper-main{
    position: absolute;
    z-index: 10;
    background: #fff;
    width: 100%;
    left: 0;
    height: 0;
    overflow: hidden;
    visibility: hidden;
    opacity: 0;
    transition: 500ms;
    box-shadow: 0 5px 10px #00000013;
    border-radius: 40px;
}
.area-mega-menu-wrapper { 
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 0px;
    border-radius: 0 0 0 30px;
}
.header-menu-item.area-mega-menu > div:hover .area-megamenu-wrapper-main {
    height: auto;
    overflow: visible;
    visibility: visible;
    opacity: 1;
    transition: 500ms;
    
}

.submenu-area-item a {
    display: flex;
    gap: 20px;
    text-wrap: balance;
    text-decoration: none;
    color: unset;
}
.submenu-area-item .area-submenu-title {
    font-size: 1.04vw;
    line-height: 1;
    margin-bottom: 8px;
}
.area-submenu-description {
    font-size: clamp(12px, 0.72vw, 14px);
    line-height: 1.4;
}
.area-submenu-icon {
    display: flex;
}
.area-submenu-icon img {
    width: clamp(40px, 3.64vw, 70px);
    height: auto;
    transition: 300ms;
}

.submenu-area-item:hover a {
    transition: 300ms;
    padding: 10px;
    background: #fff;
    border-radius: 15px;
}
.submenu-area-item a {
    transition: 300ms;
    padding: 10px 0;
}
.header-search-icon svg {
    fill: #008C54;
    transition: 300ms;
    width: 25px;
    cursor: pointer;
}
.header-search-icon {
    display: flex;
}
.header-search-wrapper {
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: flex-end;
}
.header-menu-item.area-mega-menu > div {
    overflow: hidden;
}
.header-actions-wrapper a.block--button__link {
    font-size: clamp(12px, 0.82vw, 16px);
    min-width: clamp(140px, 9.37vw, 180px);
    border-radius: 50px;
    background: #008C54;
    gap: 10px;
    align-items: center;
    display: flex;
    transition: 300ms;
}
.header-actions-wrapper a.block--button__link:hover {
    background: #151515;
    gap: 15px;
    transition: 300ms;
}

.desktop-reasearch-header-wrapper {
    transition: 400ms;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.desktop-reasearch-header-wrapper form.search-form, .desktop-reasearch-header-wrapper label {
    width: 100%;
    display: flex;
    position: relative;
}
.desktop-reasearch-header-wrapper form.search-form input {
    width: 100%;
    border: 1px solid #ccc;
    border-radius: 30px;
}
.desktop-reasearch-header-wrapper button.search-submit {
    position: absolute;
    right: 0;
    border-radius: 0 30px 30px 0;
    background: #484381;
    transition: 300ms;
}
.desktop-reasearch-header-wrapper button.search-submit:hover {
    background: #333;
    transition: 300ms;
}

.header-main-menu-wrapper.search-active .header-main-menu-pages {
    height: 0;
    transition: 1s;
    overflow: hidden;
    opacity: 0;
}
.desktop-reasearch-header-wrapper {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    transition: opacity 0.35s ease, visibility 0s linear 0.35s;
    height: 0;
}
.header-main-menu-wrapper.search-active .desktop-reasearch-header-wrapper {
    width: 100%;
    padding: 15px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 1;
    visibility: visible;
    overflow: visible;
    height: 100%;
    transition: opacity 0.35s ease, visibility 0s;
}

.desktop-search-close {
    position: relative;
    transition: 300ms;
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    cursor: pointer;
    width: 25px;
    height: 0;
}
.desktop-search-close span {
    width: 20px;
    height: 1px;
    background: #008C54;
    display: flex;
    transition: 300ms;
    position: absolute;
    top: 50%;
}
.desktop-search-close span:first-child {
    transform: rotate(-45deg);
}
.desktop-search-close span:last-child {
    transform: rotate(45deg);
}
.header-search-icon.search-active svg{
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    height: 0;
    width: 0;
    transition: 300ms;
}
.header-search-icon.search-active .desktop-search-close {
    transition: 300ms;
    opacity: 1;
    visibility: visible;
    overflow: visible;
    height: 25px;
}



.header-burger-menu {
    cursor: pointer;
    position: relative;
    width: 30px;
    height: 30px;
    display: flex;
    gap: 6px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.header-burger-menu span{
    transition: 300ms;
    background: #484381;
    height: 1px;
    width: 30px;
    display: flex;
}
.header-burger-menu.active span:first-child{
    transition: 300ms;
    opacity: 0;
}
.header-burger-menu.active span:last-child{
    transition: 300ms;
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
}
.header-burger-menu.active span:nth-child(2){
    transition: 300ms;
    transform: rotate(-45deg);
    position: absolute;
    top: 50%;
}

@media(max-width: 1440px){
    .small-header-wrapper,.header-main-menu-wrapper,.header-search-icon,.header-separator,.header-booking-button{
        display: none;
    }
    .header-main-row {
        display: flex;
        justify-content: space-between;
        gap: 20px;
        align-items: center;
        padding: 20px 0;
    }
}
@media(min-width: 1441px){
    .header-burger-menu{
        display: none;
    }
}

.header-main-wrapper{
    background: #fff;
}
.header-mobile-menu{
    height: 0;
    overflow: hidden;
    transition: 300ms;
}
.header-mobile-menu.active {
    height: 100vh;
    background: #F7F9FC;
    padding: 60px 0;
    transition: 300ms;
    z-index: 9999999999999999999;
    position: relative;
}
.header-submenu-footer {
    display: flex;
    flex-direction: column;
    gap: 30px;
    padding-top: 39px;
    border-top: 1px solid #ccc;
}

.mobile-reasearch-header-wrapper form.search-form,.mobile-reasearch-header-wrapper label{
    width: 100%;
    position: relative;
}

.mobile-reasearch-header-wrapper input.search-field {
    width: 100%;
    border-radius: 30px;
    border: 1px solid #ccc;
    background: #fff;
}
.mobile-reasearch-header-wrapper button.search-submit {
    position: absolute;
    right: 0;
    border-radius: 0 30px 30px 0;
    transition: 300ms;
    background: #484381;
}
.header-submenu-footer-contacts {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.toggle-menu-icon {
    width: 20px;
    height: 20px;
    transition: 300ms;
    cursor: pointer;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}
.toggle-menu-icon span{
    width: 15px;
    height: 1px;
    display: flex;
    background: #484381;
    transition: 300ms;
}
.toggle-menu-icon span:first-child {
    transform: rotate(90deg);
    position: absolute;
    top: 50%;
}
a.toggle-menu--head.toggle-menu-content.active .toggle-menu-icon span:first-child {
    transform: rotate(0deg);
    position: absolute;
    top: 50%;
    transition: 300ms;
}
.no-scroll{
    overflow: hidden;
}
@media(max-width: 1440px){
    .header-mobile-menu.active .row,
    .header-mobile-menu.active .column{
        height: 100%;
    }
    a.toggle-menu--head.toggle-menu-content {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
    }
    .area-mega-menu-wrapper-mobile.active {
        display: flex;
        gap: 10px;
        flex-direction: column;
        height: 100%;
        transform: translateY(0px);
        overflow: visible;
        opacity: 1;
        visibility: visible;
        transition: 400ms;
        padding: 24px 0;
    }
    .area-mega-menu-wrapper-mobile {
        height: 0;
        transform: translateY(-100px);
        overflow: hidden;
        opacity: 0;
        visibility: hidden;
        transition: 400ms;
    }
    .header-submenu-body .header-menu-item > a, .header-submenu-body .header-menu-item > div > a {
        line-height: unset;
    }
    .header-submenu-body {
        display: flex;
        flex-direction: column;
        transition: 300ms;
        gap: 10px;
    }
    .header-submenu-mobile-wrapper {
        display: flex;
        flex-direction: column;
        height: 100%;
        gap: 50px;
    }
    .area-mega-menu-wrapper-mobile.active .area-submenu-title {
        font-size: 14px;
        margin: 0px;
    }
    .submenu-area-item a {
        display: flex;
        align-items: center;
    }
    .header-mobile-menu.active .column {
        padding-bottom: 250px;
        overflow-y: auto;
    }
}

.header-wrapper.is-home {
    position: absolute;
    width: 100%;
    z-index: 999;
    top: 0;
}
.header-wrapper.is-home .small-header-wrapper,
.header-wrapper.is-home .header-main-wrapper{
    background: transparent;
}
.header-wrapper.is-home,
.header-wrapper.is-home .header-main-menu-pages .header-menu-item a{
    color: #fff;
}
.header-wrapper.is-home:not(.is-open) .header-logo-wrapper svg,
.header-wrapper.is-home:not(.is-open) .header-logo-wrapper g,
.header-wrapper.is-home:not(.is-open) .header-logo-wrapper path:not(path#Unione_5) {
    fill: #fff !important;
    transition: 300ms;
}
.header-wrapper.is-home.is-open{
    transition: 300ms;
    background: #fff;
}
.header-wrapper.is-home:not(.is-open) .header-burger-menu span{
    background: #fff;
    transition: 300ms;
}

.header-wrapper.is-home:not(.is-open) .small-header-contact-item a,
.header-wrapper.is-home:not(.is-open) .small-header-contact-item p,
.header-wrapper.is-home:not(.is-open) .header-submenu-footer-contacts a,
.header-wrapper.is-home:not(.is-open) .header-submenu-footer-contacts p{
    color: #fff;
}
.header-wrapper.is-home:not(.is-open) span.small-header-separator,
.header-wrapper.is-home:not(.is-open) .header-separator span{
    background: #fff;
}
.header-wrapper.is-home:not(.is-open) .small-header-wrapper .small-header-row{
    border-bottom: 1px solid #fff;
}
.header-wrapper.is-home:not(.is-open) .social-link-wrapper svg{
    fill: #fff;
}

.header-submenu-mobile-wrapper .block--button.block--button--primary.custom-btn a {
    border-radius: 50px;
    background: #008C54;
    gap: 10px;
    display: flex;
    justify-content: center;
}
.header-submenu-mobile-wrapper .block--button.block--button--primary.custom-btn img{
    max-width: 35px;
}
@media(max-width: 600px){
    .header-submenu-mobile-wrapper .block--button.block--button--primary.custom-btn{
        width: 100%;
        display: flex;
        justify-content: center;
    }
    .header-submenu-mobile-wrapper .block--button.block--button--primary.custom-btn a{
        width: 100%;
    }
}
.page-intro-text .block--title > *{
    font-weight: bold;
}

@media(max-width: 1025px){
    .block-background:before {
        content: '';
        display: flex;
        width: 100%;
        height: 100%;
        background: #0000009c;
        z-index: 4;
        position: absolute;
        top: 0;
        left: 0;
    }
    .footer-sitemap-wrapper .footer-column:first-child {
        border–top: unset!important;
        border: unset;
        padding-top: 0px;
    }
}
.section.two-column-section.absolute_image2.custom-bg2.custom-btn.image-entered {
    overflow: hidden;
}
.page-intro-text .column {
    overflow: hidden;
}
.page-intro-text .block--title > * {
    font-weight: bold;
}
@media(min-width: 1025px){
	.single-product .site-content,
	.single-product .site.grid-container,
	html{
		overflow: visible !important;
	}
}
.contact_form_input .wpcf7-list-item {
    display: flex;
}