/*
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.52
Updated: 2025-04-30 16:41:41

*/



/* --------------------------------------------
   Typografy
-------------------------------------------- */
body{
      font-size: clamp(14px, 0.83vw, 16px);
      line-height: clamp(30px, 1.66vw, 32px);
    }
   .block--title__40 {
      font-size: clamp(28px, 2.07vw, 40px);
      line-height: clamp(42px, 2.85vw, 55px);
   }
   .block--title__50 {
      font-size: clamp(28px, 2.59vw, 50px);
      line-height: clamp(38px, 3.64vw, 70px);
   }
   .block--title__60 {
      font-size: clamp(32px, 3.12vw, 60px);
      line-height: clamp(54px, 4.16vw, 80px);
   }
   .block--title__70 {
      font-size: clamp(32px, 3.64vw, 70px);
      line-height: clamp(44px, 4.16vw, 80px);
   }
   .block--title__80 {
      font-size: clamp(36px, 4.16vw, 80px);
      line-height: clamp(46px, 4.68vw, 90px);
   }
   .block--title__90 {
      font-size: clamp(36px, 4.68vw, 90px);
      line-height: clamp(46px, 5.2vw, 100px);
   }
   h1,h2,h3,h4,h5,h6{
      color: #484381;
   }
/* --------------------------------------------
   Global
-------------------------------------------- */
#to-the-top {
    display: flex;
    background-color: #11111173;
    width: 50px;
    height: 50px;
    border-radius: 25px 0 0 25px;
    position: fixed;
    bottom: 55px;
    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;
}

/* --------------------------------------------
   Header
-------------------------------------------- */


/* --------------------------------------------
   Footer
-------------------------------------------- */
.prefooter.faq-list-section {
    background: #F1F1F1;
}
.prefooter-faq-text h3.block--title__50 {
    text-transform: uppercase;
    text-wrap: balance;
}
.faq-item-wrapper {
    padding: 14px 14px;
    border: 1px solid #707070;
    border-radius: 20px;
    background: #fff;
    transition: 300ms;
}
.faq-item-answer {
    border-top: 1px solid #EBEBEB;
    padding-top: 0px;
    line-height: 24px;
    font-size: 14px;
    transition: 500ms;
    height: 0;
    overflow: hidden;
    visibility: hidden;
    opacity: 0;
}
.faq-item-wrapper.active .faq-item-answer {
    padding-top: 10px;
    transition: 500ms;
    height: auto;
    overflow: visible;
    visibility: visible;
    opacity: 1;
}
.faq-item-head {
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: space-between;
    font-weight: 600;
    color: #484381;
    transition: 300ms;
    cursor: pointer;
    line-height: 1.6;
    text-wrap: balance;
}
.faq-item-wrapper.active .faq-item-head {
    padding-bottom: 5px;
    transition: 300ms;
}

.faq-icon {
    cursor: pointer;
    transition: 300ms;
    width: 15px;
    height: 15px;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

.faq-icon span {
    background: #484381;
    width: 15px;
    height: 2px;
    display: flex;
    transition: 300ms;
}
.faq-icon span:last-child {
    transform: rotate(90deg);
    position: absolute;
    top: 50%;
}
.faq-item-wrapper.active .faq-icon span:last-child {
    transform: rotate(0deg);
    transition: 200ms;
}
.faq-list-loop {
    display: flex;
    flex-direction: column;
    gap: 15px;
    max-width: clamp(600px, 44.26vw, 850px);
    margin: 0 auto;
    position: relative;
    z-index: 10;
}
.prefooter-faq-text .block--paragraph {
    margin: 30px 0 40px;
}
.prefooter-faq-text {
    max-width: clamp(400px, 28.64vw, 550px);
    margin: 0 auto;
}
.block--subtitle {
    text-transform: uppercase;
    line-height: 1;
}
.prefooter-faq-wrapper-block .block--button {
    margin: clamp(40px, 3.38vw, 65px) auto 0;
}
@media(min-width: 1025px){
   .faq-item-wrapper {
      padding: 20px 30px;
      border: 1px solid #707070;
      border-radius: 20px;
      background: #fff;
      transition: 300ms;
   }
   .prefooter.faq-list-section:after {
      content: '';
      background-image: url(/wp-content/uploads/2025/11/woman-outline.svg);
      width: clamp(300px, 26.03vw, 900px);
      display: flex;
      position: absolute;
      height: clamp(100px, 31.24vw, 1200px);
      bottom: 0;
      left: 0;
      background-blend-mode: multiply;
      background-color: #F1F1F1;
      background-repeat: no-repeat;
      background-size: contain;
   }
}

 .contact_form_grid {
     display: grid;
     grid-template-columns: 1fr;
     gap: 20px;
     margin-bottom: 20px;
}
 .contact_form_input input, .contact_form_input select, .contact_form_message textarea {
     width: 100%;
     padding: 20px 20px 19px;
     border: none;
     border-bottom: 1px solid #B2B1CB;
     background: transparent;
     height: 100%;
}
 .contact_form_message textarea {
     max-height: 100px;
}
 .contact_form_optin {
     margin: 20px 0;
     display: flex;
     flex-direction: column;
     gap: 5px;
}
 .contact_form_action {
     margin-top: 40px;
     position: relative;
     display: flex;
     flex-direction: column;
     gap: 20px;
}
 .contact_form_optin span.wpcf7-list-item {
     margin: 0;
}
 .contact_form_optin a {
     color: unset;
     text-decoration: underline;
}
 span.required_span{
     font-weight: bold;
     color: #484381;
}
 .contact_form_action input {
     background: #484381;
     padding: 12px 20px;
     border: none;
     font-weight: 500;
     color: #fff;
     text-transform: uppercase;
     max-width: max-content;
     transition: 300ms;
     cursor: pointer;
     border-radius: 50px;
     min-width: 200px;
}
 .contact_form_action input:hover {
     background: #333;
     color: #fff;
     transition: 300ms;
}
 .contact-form-wrapper-shortcode {
     margin-top: 40px;
}
 .block-contact-form-text-wrapper .block--title__60 h3 {
     text-wrap: balance;
}
 .block-contact-form-text-wrapper .block--title__60 {
     text-wrap: balance;
}
 .block-contact-form-text-wrapper a {
     text-decoration: none;
     transition: 300ms;
}
 .block-contact-form-text-wrapper a span{
     transition: 300ms;
}
 .block-contact-form-text-wrapper a:hover span{
     color: #0B0F19;
     transition: 300ms;
}
.prefooter .classic-form-vib{
   background: #fff;
}
 @media(min-width: 1025px){
     .block-contact-form-text-wrapper .block--title__60 {
         text-wrap: balance;
    }
     .contact_form_grid {
         grid-template-columns: 1fr 1fr;
    }
}

.footer-main-wrapper {
    background: #484381;
    color: #fff;
}

.prefooter.last-news h3.block--title__50 {
    text-transform: uppercase;
    text-wrap: balance;
}

.prefooter.last-news {
    background: #fff;
}

.prefooter.last-news .block--paragraph {
    text-wrap: balance;
}

.last-post-loop-wrapper {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    margin-top: clamp(60px, 5.2vw, 100px);
}
.blog-post-item-wrapper > a {
    overflow: hidden;
    transition: 300ms;
    display: flex;
}
.blog-post-item-wrapper > a:hover img {
    transition: 300ms;
    transform:scale(1.02);
}
.blog-post-item-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 300ms;
}
.blog-post-text-wrapper {
    margin-top: 20px;
}
.blog-post-category > a {
    color: #484381;
    text-decoration: none;
    text-transform: uppercase;
    transition: 300ms;
}
.blog-post-category > a:hover,.blog-post-title a:hover {
    color: #333;
    transition: 300ms;
}
.blog-post-title a {
    font-size: clamp(22px, 1.55vw, 30px);
    text-decoration: none;
    font-family: 'Cormorant';
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: #707070;
}
.blog-post-date {
    opacity: 0.4;
    margin-top: 5px;
    text-transform: uppercase;
}


@media(min-width: 1025px){
    .last-post-loop-wrapper {
        grid-template-columns: 1fr 1fr 1fr;
    }
    .last-post-loop-wrapper .blog-post-item-wrapper:nth-child(2) > a {
        height: clamp(330px, 26.03vw, 500px);
    }
}
@media(min-width: 1280px){
    .prefooter.last-news .block--paragraph {
        max-width: clamp(400px, 33.32vw, 640px);
        text-wrap: balance;
    }
}

.footer-contact-label h5 {
    color: #fff;
    text-transform: uppercase;
    font-size: clamp(18px, 1.039vw, 20px);
    line-height: 1;
}
.footer-socials a {
    width: 40px;
    background: #fff;
    padding: 6px;
    border-radius: 50%;
    transition: 300ms;
    display: flex;
    align-items: center;
    justify-content: center;
}
.footer-socials {
    display: flex;
    gap: 10px;
}
.footer-socials svg {
    transition: 300ms;
    fill: #484381;
}
.footer-socials a:hover {
    transition: 300ms;
    background: #B2B1CB;
}
.footer-socials a:hover svg{
    transition: 300ms;
}
.footer-contact-label {
    margin-bottom: 20px;
}
.footer-contact-item > a {
    text-decoration: none;
    transition: 300ms;
    color: #B2B1CB;
}
.footer-contact-item > a:hover {
    transition: 500ms;
    color: #fff;
}
.footer-contact-item {
    text-wrap: balance;
    color: #B2B1CB;
    line-height: 1.4;
}
.footer-contacts-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
    row-gap: 40px;
}
.contact-loop-wrapper span {
    color: #484381;
}
.footer-contact-item span {
    color: #fff;
}
.footer-contact-item.phone {
    display: flex;
    flex-direction: column;
    gap: 5px;
}
@media(min-width: 375px){
  .footer-contacts-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 30px;
        row-gap: 40px;
    }  
}

.footer-logo {
    display: flex;
    justify-content: center;
    align-items: center;
}

.footer-opening-hours-grid {
    display: grid;
    grid-template-columns: 1.2fr 2fr 2fr;
    gap: 30px;
    line-height: 1;
    row-gap: 20px;
}
.day {
    text-transform: uppercase;
}
.step-time-day, .step-time-evening {
    color: #B2B1CB;
}
.footer-opening-hours {
    max-width: clamp(400px, 23.43vw, 450px);
    margin: 0 0 0 auto;
}
.footer-main-wrapper{
    font-size: 14px;
}
@media(min-width: 801px) and (max-width: 1280px){
    .footer-custom-row {
        display: flex;
        flex-wrap: wrap;
        transition: 500ms;
        justify-content: space-between;
    }
    .footer-custom-row .column:first-child {
        display: flex;
        order: 2;
        flex: 0 1 45vw;
    }
    .footer-custom-row .column:nth-child(2) {
        display: flex;
        order: 1;
        flex: 0 1 100vw;
        justify-content: center;
        align-items: center;
        margin-bottom: 30px;
    }
    .footer-custom-row .column:nth-child(3) {
        display: flex;
        order: 3;
        flex: 0 1 40vw;
    }
    .footer-opening-hours {
        max-width: 100%;
        margin: 0 0 0 auto;
    }
}
@media(max-width: 800px){
    .footer-custom-row {
        display: flex;
        flex-direction: column;
        transition: 500ms;
    }
    .footer-custom-row .column:first-child {
        display: flex;
        order: 2;
        flex: 0 1 100%;
        margin-bottom: 30px;
    }
    .footer-custom-row .column:nth-child(2) {
        display: flex;
        order: 1;
        flex: 0 1 100%;
        margin-bottom: 30px;
    }
    .footer-custom-row .column:nth-child(3) {
        display: flex;
        order: 3;
        flex: 0 1 100%;
    }
    .footer-opening-hours {
        max-width: 100%;
        margin: 0;
    }
}
@media(min-width: 1281px){
    .footer-custom-row{
        align-items: center;
    }
}
.footer-menu-row {
    padding: 40px 0;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
}
.footer-menu-wrapper ul {
    list-style: none;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
    line-height: 1;
}
.footer-menu-wrapper a {
    display: flex;
    transition: 300ms;
    color: #B2B1CB;
    text-decoration: none;
}
.footer-menu-wrapper a:hover {
    transition: 400ms;
    color: #fff;
}
.footer-menu-column .block--paragraph {
    margin-top: 20px;
    line-height: 1.4;
    text-wrap: balance;
    color: #B2B1CB;
}
.footer-external-link a {
    display: flex;
    line-height: 1;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    transition: 300ms;
    text-transform: uppercase;
    border: 1px solid #fff;
    border-radius: 50px;
    padding: 12px 20px;
    color: #fff;
    max-width: clamp(300px, 18.74vw, 360px);
    background: transparent;
}

.footer-external-link a:hover {
    transition: 400ms;
    background: #fff;
    color: #333;
    border: 1px solid #484381;
}

@media(min-width: 1025px) and (max-width: 1280px){
   .footer-menu-row {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 60px;
   } 
}
@media(min-width: 801px) and (max-width: 1279px){
   .footer-menu-row {
    grid-template-columns: 1fr 1fr;
    gap: 60px;
   } 
}
@media(max-width: 800px){
    .footer-menu-row .column{
        margin-bottom: 30px;
    }
    .footer-menu-row .column:last-child{
        margin: 0px;
    }
}
@media(max-width: 374px){
    .footer-opening-hours-grid {
        display: grid;
        grid-template-columns: 1fr 2fr 2fr;
        gap: 30px;
        line-height: 1;
        row-gap: 15px;
        font-size: 12px;
    }
}
.footer-bototm-row{
    padding: 20px 0;
    color: #B2B1CB;
}
.footer-bototm-row a{
    text-decoration: none;
    transition: 300ms;
    color: #B2B1CB;
}
.footer-bototm-row a:hover{
    transition: 400ms;
    color: #fff;
}
@media(min-width: 1025px){
    .footer-bototm-row .column:last-child {
        display: flex;
        justify-content: flex-end;
        gap: 5px;
    }
    .row.row--4col-equal.footer-menu-row.row--gap-md .column:last-child .footer-menu-column{
        max-width: clamp(400px, 23.43vw, 450px);
        width: 100%;
        margin: 0 0 0 auto;
    }
}
@media(min-width: 1281px){
    .row.row--4col-equal.footer-menu-row.row--gap-md{
        grid-template-columns: 1fr 1fr 1fr 2fr;
    }
}

/* Contact */
.iframe-map-wrapper iframe {
    width: 100%;
}
.contact-loop-wrapper a {
    display: flex;
    gap: 10px;
    align-items: center;
}
.contact-loop-wrapper svg {
    width: 20px;
    height: 20px;
    fill: #484381;
}
.contact-loop-wrapper a {
    color: #B2B1CB;
    text-decoration: none;
    transition: 30ms;
    line-height: 1;
}
.contact-loop-wrapper a:hover {
    color: #333;
    transition: 400ms;
}
.contact-loop-wrapper {
    display: flex;
    gap: 14px;
    flex-direction: column;
}
.contact-block-text .block--title h3 {
    text-transform: uppercase;
}
.contact-info-label h5 {
    text-transform: uppercase;
    font-size: clamp(22px, 1.34vw, 26px);
}
.contact-information-wrapper {
    display: flex;
    flex-direction: column;
    gap: 15px;
}
.contact-loop-wrapper p {
    color: #B2B1CB;
    display: flex;
    gap: 10px;
    text-wrap: balance;
}
.contact-item-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 60px;
    max-width: 95%;
}
.contact-item-grid .footer-opening-hours-grid .day {
    color: #484381;
}
.contact-item-grid .footer-opening-hours-grid{
    color: #B2B1CB;
}
.contact-column {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.contact-block-text .block--paragraph {
    margin-bottom: 60px;
    max-width: clamp(400px, 36.45vw, 700px);
    margin-top: 5px;
}

@media(min-width: 1441px){
   .contact-item-grid {
        display: grid;
        grid-template-columns: 3fr 3fr;
        gap: 40px;
        max-width: 95%;
    } 
}
@media(min-width: 1025px){
    .contact-block-text {
        padding: 60px 0;
    }
    .iframe-map-wrapper iframe {
        height: 100%;
    }
    .iframe-map-wrapper {
        display: flex;
        height: 100%;
    }
    .block-contact .column{
        height: 100%;
    }
}

.prefooter.classic-form-vib{
    background: #fff;
}
.no-padding-bottom{
    padding-bottom: 0;
}

/*----------- breadcrumbs */
.page-header-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    align-items: center;
    color: #fff;
    transition: 300ms;
}
.page-header-content h1,.page-header-content h2{
    color: #fff;
    text-transform: uppercase;
    transition: 300ms;
}
.page-header-content a{
    transition: 300ms;
    color: #fff;
    text-decoration: none;
}
.page-header-content a:hover{
    transition: 300ms;
    color: #fff;
    text-decoration: underline;
}
.block-breadcrums {
    text-transform: uppercase;
}

@media(max-width: 1024px){
    .block-breadcrums{
        font-size: 12px;
    }
}



/* Single post */
.single-post-meta {
    display: flex;
    justify-content: center;
    gap: 5px;
    text-transform: uppercase;
}

@media(min-width: 1025px){
    .section.section-content-post {
        max-width: clamp(800px, 62.49vw, 1200px);
        margin: 0 auto;
    }
}
.post-content-footer {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-top: 80px;
    padding-bottom: 19px;
    border-bottom: 1px solid #484381;
    margin-bottom: 20px;
}
.post-navigator {
    display: flex;
    gap: 20px;
    align-items: flex-end;
}
.post-content-footer a{
    text-decoration: none;
    transition: 300ms;
    color: #002C57;
}
.post-content-footer a,
.post-sharing-links a{
    text-decoration: none;
    transition: 300ms;
    color: #002C57;
}
.post-content-footer a:hover,
.post-sharing-links a:hover{
    text-decoration: underline;
    transition: 300ms;
    color: #333;
}
.post-content-tags > span:first-child {
    font-family: 'Cormorant Garamond';
    text-transform: uppercase;
}
.post-sharing-links {
    display: flex;
    gap: 10px;
}
.post-content {
}
.post-content h1,
.post-content h2,
.post-content h3,
.post-content h4,
.post-content h5,
.post-content h6{
    margin-bottom: 20px;
    text-transform: uppercase;
}
.post-content {
    margin-top: 30px;
}
.single-header-content .block--title {
    text-wrap: balance;
    max-width: clamp(700px, 52.07vw, 1000px);
    margin: 0 auto;
}

.related-post-row {
    margin-top: clamp(40px, 4.16vw, 80px);
}

.section.lastpost-block .block-text-wrapper {
    max-width: 50%;
    max-width: clamp(500px, 36.45vw, 700px);
}

.blog-pagination ul.page-numbers {
    display: flex;
    gap: 10px;
    justify-content: center;
    list-style: none;
    margin: 0;
}

.blog-pagination ul.page-numbers a{
    transition: 300ms;
    text-decoration: none;
}

.blog-pagination ul.page-numbers a:hover{
    transition: 300ms;
    color: #B79E80;
}

.section-single-header .single-header-content .block--title h1 {
    text-transform: uppercase;
}

.blog-loop-items .last-post-loop-wrapper .blog-post-item-wrapper:nth-child(2) > a{
    height: auto;
}
.blog-loop-text {
    max-width: clamp(600px, 43.74vw, 840px);
    margin: 0 auto;
}
.blog-post-paginations {
    margin-top: 60px;
    display: flex;
    justify-content: center;
    gap: 10px;
    align-items: center;
}



.centered-text-block .block--title h3 {
    text-transform: uppercase;
    text-wrap: balance;
}
.centered-text-block .block--paragraph {
    margin-top: 15px;
}

.faq-loop-icon {
    width: 20px;
    height: 20px;
    display: flex;
    transition: 200ms;
}

.faq-loop-icon svg {
    fill: #484381;
    transition: 300ms;
}
.faq-loop-item-head {
    display: flex;
    gap: 20px;
    justify-content: space-between;
    align-items: center;
    font-size: clamp(18px, 1.87vw, 36px);
    font-family: 'Cormorant';
    color: #484381;
    line-height: 1.3;
}

.faq-loop-item-answer {
    opacity: 0;
    visibility: hidden;
    height: 0;
    overflow: hidden;
    transition: 500ms;
    max-width: 85%;
}
.faq-loop-item-wrapper.active .faq-loop-item-answer {
    opacity: 1;
    visibility: visible;
    height: auto;
    overflow: visible;
    transition: 500ms;
    padding: 30px 0;
}
.faq-loop-item-wrapper {
    border-top: 1px solid #B2B1CB;
    padding: 20px;
    cursor: pointer;
}
.faq-loop-item-wrapper.active .faq-loop-icon {
    transition: 300ms;
    transform: rotate(180deg);
}
.faq-list-archive{
    background: #fff;
}
.no-padding-top{
    padding-top: 0;
}
@media(min-width: 1025px){
    .faq-loop-icon {
        width: 30px;
        height: 30px;
        display: flex;
        transition: 200ms;
    }
    .faq-loop-item-wrapper {
        border-top: 1px solid #B2B1CB;
        padding: 35px 20px;
        cursor: pointer;
        transition: 500ms;
    } 
    .faq-loop-item-wrapper:hover {
        background: #dedee940;
        transition: 300ms;
    }
    .faq-item-wrapper:hover {
        background: #dedee940;
        transition: 500ms;
    }
    .faq-item-wrapper.active:hover,.faq-loop-item-wrapper.active:hover{
        background: #fff;
    }
}
@media(min-width: 1181px){
    .centered-text-block {
        max-width: clamp(600px, 48.95vw, 940px);
        margin: 0 auto;
    }
}
.row-fluid-content-text h3.block--title__50 {
    text-transform: uppercase;
    text-wrap: balance;
}
.row-fluid-content-text {
    max-width: 90%;
    margin: 0 auto;
}
.section.section-promo-gallery {
    background: #F1F1F1;
}
@media(min-width: 1025px){
    .row-fluid-content-text {
        max-width: clamp(400px, 37.49vw, 720px);
        margin: 0;
    }
    /*.row--2col-equal .block--image {
        max-width: 90%;
    }*/
}
.machine-carousel-text .block--title h3 {
    text-transform: uppercase;
}
.machine-carousel-text .block--paragraph {
    margin: 10px 0 30px;
}
.block--button.block--button--outline .block--button__link {
    border: 1px solid #707070;
    color: #707070;
}
.block--button.block--button--outline .block--button__link:hover {
    border: 1px solid #B2B1CB;
    color: #fff;
    background: #B2B1CB;
}



.home-columns-inverted {
    background: #F1F1F1;
}
.home-columns-inverted h3.block--title__50 {
    text-transform: uppercase;
    text-wrap: balance;
}
.inverted-column-text-wrapper .block--title {
    margin-bottom: 20px;
}
.home-inverted-column-wrapper {
    display: flex;
    flex-direction: column;
    gap: clamp(60px, 5.2vw, 100px);
}
.row-fluid-content .block--title{
    margin-bottom: 10px;
}
@media (min-width: 1025px) {
    .home-columns-inverted, .home-columns-inverted .row, .home-columns-inverted .column {
        height: 100%;
    }
        .home-inverted-column-wrapper {
        display: flex;
        flex-direction: column;
        gap: clamp(40px, 5.2vw, 100px);
        max-width: 90%;
        height: 100%;
        justify-content: space-between;
        margin: 0 auto;
    }
    .home-columns-inverted .column:last-child .home-inverted-column-wrapper {
        display: flex;
        flex-direction: column-reverse;
        margin-left: auto;
    }
    .row-fluid-content .block--image {
        max-width: 90%;
    }
}

.icon-item-wrapper {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    align-items: center;
    padding-top: clamp(40px, 3.12vw, 60px);
    border-top: 1px solid #B2B1CB;
    padding-bottom: clamp(40px, 3.12vw, 60px);
}

.icon-text-wrapper h4 {
    text-transform: uppercase;
    text-wrap: balance;
    color: #B2B1CB;
    font-size: clamp(24px, 1.87vw, 36px);
}
.icon-image-wrapper {
    display: flex;
    max-width: clamp(40px, 4.68vw, 90px);
    height: auto;
    align-items: center;
    justify-content: center;
}
.block--icons-loop-list .icon-item-wrapper:last-child {
    border-bottom: 1px solid #B2B1CB;
}
.icons-listloop-text h3.block--title__50 {
    text-transform: uppercase;
}
.block--icons-loop-list {
    margin-top: 20px;
}
@media(min-width: 1025px){
    .icon-item-wrapper {
        display: grid;
        grid-template-columns: 2fr 3fr 3fr;
        gap: clamp(40px, 3.12vw, 60px);
        align-items: center;
        padding-top: clamp(40px, 3.12vw, 60px);
        border-top: 1px solid #B2B1CB;
        padding-bottom: clamp(40px, 3.12vw, 60px);
    }
    .icon-text-wrapper {
        max-width: clamp(380px, 21.87vw, 420px);
    }
}

.simple-bg-text-block {
    background: #484381d4;
    border-radius: 10px;
    max-width: 100%;
    margin: 0 0 0 auto;
    padding: 40px;
    color: #fff;
}
.simple-bg-text-block h3 {
    color: #fff;
    text-transform: uppercase;
}
.simple-bg-text-block .block--paragraph {
    margin: 15px 0 40px;
}

@media(min-width: 1180px){
    .simple-bg-text-block {
        background: #484381d4;
        border-radius: 10px;
        max-width: clamp(400px, 30.72vw, 590px);
        margin: 0 0 0 auto;
        padding: 40px;
        color: #fff;
    }
}
@media(min-width: 1025px){
    .machine-carousel-text {
        position: relative;
        z-index: 10;
    }
    .machines-carousel-slider .row .column:first-child:after {
        content: '';
        background: #fff;
        width: 100vw;
        top: 0;
        right: 0;
        position: absolute;
        z-index: 9;
        height: 100%;
    }
    .machines-carousel-slider .row .column:first-child {
        position: relative;
        height: 100%;
        display: flex;
        align-items: center;
    }
    .machines-carousel-splider .splide__track {
        overflow: visible;
    }
}


.my-slider-progress {
    background: #70707059;
    height: 2px;
    width: 100%;
    overflow: hidden;
    margin-top: 40px;
}

.my-slider-progress-bar {
    background: #484381;
    height: 2px;
    transition: width 400ms ease;
    width: 0;
}
.column-machine-carousel{
    position: relative;
    overflow: visible;
}
.machines-carousel-splider .block--image {
    height: 100vh;
    max-height: clamp(350px, 26.03vw, 500px);
    width: 100%;
    text-align: center;
    justify-content: center;
}
.machines-carousel-slider .splide__slide{
    opacity: 0.4;
    transition: 300ms;
}

.machines-carousel-slider .is-prev{
    opacity: 0.4;
    transition: 300ms;
}
.machines-carousel-slider .is-visible,.machines-carousel-slider .is-active{
    transition: 300ms;
    opacity: 1;
}
.machines-carousel-slider .splide__slide img:hover{
    transition: 500ms;
    transform: scale(1.02);
}
.machines-carousel-slider .splide__slide a{
    overflow: hidden;
}
.machines-carousel-slider .splide__slide img{
    transition: 500ms;
}

.inverted-column-text-wrapper .block--button {
    margin-top: 50px;
}
@media(min-width: 1025px){
    .home-reverted-custom .home-inverted-column-wrapper {
        flex-direction: column !important;
    }
    .machines-carousel-splider .block--image {
        height: auto;
        max-height: clamp(350px, 26.03vw, 500px);
        width: 100%;
        text-align: center;
        justify-content: center;
    }
}

.machines-text-content h1.block--title__50 {
    text-transform: uppercase;
}
.machines-text-content .block--title {
    margin-bottom: 5px;
}
.machines-video-wrapper {
    background: #F1F1F1;
}
.video-text-wrapper h3.block--title__50 {
    text-transform: uppercase;
    text-wrap: balance;
}
.video-text-wrapper .block--title {
    margin: 0 auto;
    max-width: clamp(400px, 43.74vw, 840px);
}
.video-wrapper {
    display: flex;
    margin: 30px auto 0;
}

@media(min-width: 1025px){
    .video-wrapper {
        display: flex;
        max-width: 80%;
        margin: 30px auto 0;
    }
}



div#machinesSplide img {
    width: 100%;
}
div#machinesSplideThumbs .splide__slide {
    border: 1px solid #B2B1CB;
    overflow: hidden;
}
div#machinesSplideThumbs .splide__slide.is-active {
    border: 2px solid #484381;
    transition: 300ms;
}
div#machinesSplideThumbs .splide__slide {
    padding: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
}
div#machinesSplideThumbs img{
    object-fit: contain;
}
div#machinesSplideThumbs{
    margin-top: 20px;
}

div#machinesSplideThumbs button.splide__arrow.splide__arrow--prev,
div#machinesSplideThumbs button.splide__arrow.splide__arrow--next {
    background: transparent;
    padding: 0px;
}
.column.column--media {
    overflow: hidden;
}
.block--pathologies {
    margin-top: 40px;
}
.pathologies-label {
    text-transform: uppercase;
    margin-bottom: 30px;
}
.pathologies-label h5{
    text-transform: uppercase;
}
.pathologies-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    align-items: center;
}
.pathology-item a {
    color: #484381;
    text-transform: uppercase;
    text-decoration: none;
    transition: 300ms;
    display: flex;
    gap: 9px;
    align-items: center;
    line-height: 1;
}
.pathology-item a:hover {
    transition: 300ms;
    gap: 15px;
}
.pathology-item a:hover:before {
    transition: 300ms;
    background: #484381;
}
.pathology-item a:before {
    content: '';
    display: flex;
    width: 20px;
    height: 20px;
    border: 1px solid #484381;
    border-radius: 50%;
    transition: 300ms;
}
@media(min-width: 1025px){
    .pathologies-list {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 20px;
        align-items: center;
    }
    .machines-text-content {
        max-width: clamp(400px, 35.67vw, 685px);
    }
    div#machinesSplideThumbs{
        margin-top: 0px;
    }

    .column.column--media {
        overflow: visible;
    }
    div#machinesSplideThumbs button.splide__arrow.splide__arrow--prev {
        top: 0px;
        left: 50%;
        /*transform: translate(-50%,-50%) rotate(90deg);*/
    }
    div#machinesSplideThumbs button.splide__arrow.splide__arrow--next {
        bottom: -20px;
        left: 50%;
        /*transform: translate(-50%, -100%) rotate(90deg) !important;*/
        top: unset;
    }
    ul#machinesSplideThumbs-list {
        display: flex;
        flex-direction: column;
        /*
         * gap: 10px;*/
    }
	.machines-single-thumbnail {
		margin: 0 auto;
		max-width: 80%;
	}
    .single-machines-media-wrapper {
        display: flex;
        flex-direction: row-reverse;
        gap: 20px;
        align-items: center;
    }
    div#machinesSplideThumbs {
        display: flex;
        justify-content: center;
        align-items: center;
        /*height: max-content;*/
        padding: 33px 0;
    }
}


.machine-category-item a {
    text-decoration: none;
    transition: 300ms;
    color: #707070;
    font-size: clamp(16px, 1.039vw, 20px);
}
.machine-category-item a:hover {
    transition: 300ms;
    color: #484381;
}
.machine-category-item.active a {
    color: #484381;
    transition: 300ms;
    font-weight: bold;
}
.machines-post-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(40px, 2.85vw, 55px);
    row-gap: clamp(60px, 5.2vw, 100px);
}
.machines-text-item-wrapper h3 {
    font-size: clamp(20px, 2.07vw, 40px);
    text-transform: uppercase;
}
.machines-post-item > a {
    display: flex;
    overflow: hidden;
    transition: 300ms;
}
.machines-thumb-wrapper img{
    width: 100%;
    transition: 300ms;
}
.machines-thumb-wrapper {
    width: 100%;
    overflow: hidden;
}
.machines-thumb-wrapper:hover img {
    transition: 300ms;
    transform: scale(1.02);
}
.machines-post-item .block--button {
    margin: 40px auto 0;
}
.machines-thumb-wrapper {
    width: 100%;
    overflow: hidden;
    display: flex;
    border-bottom: 2px solid #48438159;
    margin-bottom: 19px;
    padding-bottom: 19px;
}
.machines-post-items {
    margin-top: clamp(59px, 4.16vw, 80px);
}
@media(min-width: 900px) and (max-width: 1280px){
    .machines-post-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: clamp(40px, 2.85vw, 55px);
        row-gap: clamp(60px, 5.2vw, 100px);
    }
}
@media(min-width: 1281px){
    .machines-post-grid {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: clamp(40px, 2.85vw, 55px);
        row-gap: clamp(60px, 5.2vw, 100px);
    }
}

.machines-category-list-mobile{
    display: block;
}
.machines-category-list-mobile button {
    display: flex;
    align-items: center;
    gap: 10px;
    background: transparent;
    color: #333;
    padding: 20px 0;
    width: 100%;
    justify-content: space-between;
    border-bottom: 1px solid #ccc;
}
.machines-category-list-selection.desktop{
    display: none;
}
.machines-category-mobile-list-icon span {
    background: #333;
    transition: 300ms;
    width: 15px;
    height: 1px;
    display: flex;
}
.machines-category-mobile-list-icon span:last-child {
    transition: 300ms;
    transform: rotate(90deg);
}
.machines-category-mobile-list {
    padding-top: 19px;
    transition: 300ms;
}
.machines-category-list-mobile.is-open .machines-category-mobile-list-icon span:last-child {
    transition: 300ms;
    transform: rotate(0deg);
}
.machines-pagination {
    margin-top: 60px;
}
.machines-pagination ul.page-numbers {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin: 0;
    list-style: none;
    color: #333;
}
@media(min-width: 1025px){
    .machines-category-list-mobile{
        display: none;
    }
    .machines-category-list-selection.desktop {
        display: flex;
        justify-content: center;
        border-bottom: 1px solid #B2B1CB;
        padding-bottom: 19px;
        gap: 20px;
    }
    .machines-category-list-selection.desktop > div {
        position: relative;
        padding-right: 19px;
    }
    .machines-category-list-selection.desktop > div:after {
        height: 20px;
        width: 1px;
        display: flex;
        content: '';
        position: absolute;
        right: 0;
        background: #B2B1CB;
        top: 50%;
        transform: translate(50%, -50%);
    }
    .machines-category-list-selection.desktop > div:last-child:after{
        display: none;
    }
    .machines-category-list-selection.desktop > div:last-child{
        padding-right: 0;
    }
}


.area_description-images {
    display: flex;
    gap: 30px;
}

.area_description-images img{
    width: 100%;
}
.area_description-images.double-image .block--image:first-child {
    margin-top: clamp(60px, 6.76vw, 130px);
}
.single-area-pathology {
    background: #F1F1F1;
}
.area_description-text .pathologies-list {
    max-width: clamp(400px,32.28vw, 620px);
    margin-top: 30px;
}
.section.single-area-videos {
    background: #F1F1F1;
}
.single-area-videos h3.block--title__50 {
    text-transform: uppercase;
}
.single-area-videos .block--title {
    max-width: clamp(600px, 43.74vw, 840px);
    margin: 0 auto;
}

.videos-carousel-splider {
    margin: 40px auto 0;
}
.single-area-wrapper .block--title,
.single-area-pathology .block--title {
    margin-bottom: 10px;
}
.area_description-text .block--button {
    margin-top: 40px;
}
.area_description-text h1{
    text-transform: uppercase;
}
.section-pathology-causes.section--bg {
    background-blend-mode: multiply;
    background-color: #484381c4;
    color: #fff;
}
.pathology-causes-text {
    margin: 0 auto;
    text-align: center;
}
.pathology-causes-text h3{
    color: #fff;
    text-transform: uppercase;
}
.pathology-causes-text .block--title{
    margin-bottom: 10px;
}
html, body {
    scroll-behavior: smooth;
}
@media(min-width: 1025px){
    .pathology-causes-text {
        max-width: clamp(500px, 43.48vw, 835px);
        margin: 0 auto;
        text-align: center;
    }
    .videos-carousel-splider {
        max-width: 80%;
        margin: 40px auto 0;
    }
    .videos-carousel-splider .splide__arrows.splide__arrows--ltr button.splide__arrow.splide__arrow--prev {
        left: -10%;
    }
    .videos-carousel-splider .splide__arrows.splide__arrows--ltr button.splide__arrow.splide__arrow--next {
        right: -10%;
    }
    .video-embed-item-wrapper iframe {
        width: 100%;
        height: clamp(500px, 39.05vw, 750px);
    }

    .area_description-text {
        max-width: 95%;
    }
    .single-area-pathology .block--image {
        max-width: 90%;
    }
    .single-area-wrapper.single-pathology .block--image {
        max-width: 90%;
    }
}

@media(min-width: 1180px){
    .single-area-wrapper.single-pathology .area_description-text {
        max-width: clamp(500px, 35.67vw, 685px);
    }
    .single-area-wrapper.single-pathology.single-pathology-cure .area_description-text {
        max-width: 90%;
    }
}
.single-area-wrapper.single-pathology.single-pathology-cure .block--image {
    margin: 0 0 0 auto;
}
.single-area-wrapper.single-pathology.single-pathology-cure .block--title {
    text-wrap: balance;
}
.single-pathology-buttons-wrapper {
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.block--button.block--button--doctolib .block--button__link {
    background: #006FBE;
    color: #fff;
}
.block--button.block--button--doctolib .block--button__link:hover {
    background: #333;
    color: #fff;
}
.block--button.block--button--doctolib .block--button__link span {
    display: flex;
    align-items: center;
    gap: 6px;
    justify-content: center;
}
.single-pathology-buttons-wrapper{
    margin-top:40px;
}

.single-pathology-buttons-wrapper .block--button{
    margin: 0px;
}
@media(min-width: 1180px){
    .single-pathology-buttons-wrapper {
        display: flex;
        flex-direction: row;
        gap: 30px;
    }
}
@media(max-width: 425px){
    .single-pathology-buttons-wrapper .block--button a,.single-pathology-buttons-wrapper .block--button{
        width: 100%;
    }
}

.single-pathology .video-embed-item-wrapper {
    max-width: 100%;
    margin: 40px auto 0;
}
@media(min-width: 1025px){
    .single-pathology .video-embed-item-wrapper {
        max-width: 80%;
        margin: 40px auto 0;
    }
}

.section-aestetic-wrapper {
    background: #F1F1F1;
}



.aestetic-icon-wrapper img{
    display: flex;
    width: clamp(55px, 3.64vw, 70px);
}
.aestetic-icon-wrapper {
    display: flex;
}
.aestetic-post-text h4 {
    font-size: clamp(22px, 1.55vw, 30px);
    line-height: 1.3;
}
.aestetic-post-description {
    text-wrap: balance;
    margin: 5px 0;
}
.aestetic-link a {
    text-transform: uppercase;
    text-decoration: none;
    color: #707070;
    transition: 300ms;
    display: flex;
}
.aestetic-link a:hover {
    color: #333;
    transition: 300ms;
}

.aestetic-post-item {
    display: grid;
    gap: 20px;
    align-items: flex-start;
    grid-template-columns: 1fr;
}
.aestetic-post-loop {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(60px, 6.24vw, 120px);
    row-gap: clamp(60px, 4.16vw, 80px);
    margin: 60px auto 0;
}
.section-aestetic-wrapper .block--title {
    max-width: 100%;
}
@media(min-width: 980px) and (max-width: 1330px){
    .aestetic-post-loop {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: clamp(60px, 6.24vw, 120px);
        row-gap: clamp(60px, 4.16vw, 80px);
        max-width: 90%;
        margin: 60px auto 0;
    }
    .aestetic-post-item {
        display: grid;
        gap: 20px;
        align-items: flex-start;
        grid-template-columns: 1fr 5fr;
    }
}
@media(min-width: 1331px){
    .aestetic-post-loop {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: clamp(60px, 6.24vw, 120px);
        row-gap: clamp(60px, 4.16vw, 80px);
        max-width: 90%;
        margin: 60px auto 0;
    }
    .aestetic-post-item {
        display: grid;
        gap: 20px;
        align-items: flex-start;
        grid-template-columns: 1fr 5fr;
    }
}

@media(max-width: 979px){
    .aestetic-post-item {
        text-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    .aestetic-post-item h4,.aestetic-post-item a{
        text-align: center;
        justify-content: center;
    }
}

@media(min-width: 1180px){
    .custom-bg-overlay {
        content: '';
        background-image: url(http://istitutovanvitelli.local/wp-content/uploads/2025/11/istituto-vanvitelli-1.jpg);
        background-repeat: no-repeat;
        background-position: center;
        background-color: #ffffffe6;
        background-blend-mode: overlay;
        background-size: contain;
    }
}
.hero-text-wrapper {
    color: #fff;
    width: 100%;
    text-wrap: balance;
}
.hero-text-wrapper .block--title h1 {
    text-transform: uppercase;
    color: #fff;
}
.hero-text-wrapper .block--paragraph {
    margin: 10px 0 30px;
    max-width: 680px;
    font-size: clamp(16px, 1.039vw, 20px);
}
.home-hero-wrapper {
    height: 85vh;
    display: flex;
    align-items: flex-end;
}
@media(min-width: 1440px){
    .section-aestetic-wrapper .single-area-videos > .block--title {
        max-width: clamp(500px, 43.74vw, 840px);
        text-wrap: balance;
    }
}

@media(min-width: 1025px){
    .single-post-image {
        max-height: clamp(400px, 35.41vw, 680px);
        overflow: hidden;
        display: flex;
    }
    .single-post-image img{
        object-fit: cover;
    }
    
    .hero-text-wrapper .block--paragraph {
        margin: 10px 0 30px;
        max-width: clamp(400px, 24.99vw, 480px);
        font-size: clamp(18px, 1.039vw, 20px);
    }
    .home-hero-wrapper {
        height: 90vh;
        display: flex;
        align-items: flex-end;
    }
    .hero-text-wrapper {
        color: #fff;
        width: 50%;
        text-wrap: balance;
    }
}

.home-service-list-text .block--title {
    max-width: clamp(600px, 44.26vw, 850px);
    margin: 0 auto;
}

.home-service-list-text h3.block--title__50 {
    text-transform: uppercase;
}
.block--home-service {
    display: grid;
    gap: 18px;
    align-items: stretch;
    grid-template-columns: 1fr 1fr;
    height: 100%;
}

.block--home-service-text {
    background: #B2B1CB;
    padding: 40px;
    height: 100%;
    border-radius: 15px;
    color: #fff;
    display: flex;
    flex-direction: column;
    direction: ltr;
}
.block--home-service-image {
    display: flex;
    width: 100%;
}
.block--home-service-image img {
    width: 100%;
    object-fit: cover;
}
.block--home-service-text h4{
    color:#fff;
    text-transform: uppercase;
    font-size: clamp(22px, 1.55vw, 30px);
}
.block--home-service-text .block--paragraph {
    margin-top: auto;
}
.block--home--button a {
    color: #fff;
    text-decoration: none;
    text-transform: uppercase;
    transition: 300ms;
}
.block--home--button a:hover {
    color: #333;
    transition: 300ms;
}

.block-home-service-loop-desktop .block--home-service:nth-child(3), .block-home-service-loop-desktop .block--home-service:nth-child(4) {
    direction: rtl;
}
.block-home-service-loop-desktop{
    display: none;
}
.block-home-sevice-loop-mobile{
    display: block;
    margin-top: 50px;
}
.slider-progressbar {
    margin-top: 60px;
    background: #ccc;
    width: 100%;
    height: 1px;
    position: relative;
}
.slider-progressbar-bar {
    background: #484381;
    border-radius: 2px;
    position: absolute;
    z-index: 5;
    height: 1px;
    transition: 400ms;
}
.home-service-slider .splide__track, .home-service-slider .splide__track > ul {
    overflow: visible;
}
@media(min-width: 1441px){
    .block-home-sevice-loop-mobile{
        display: none;
    }
    .block-home-service-loop-desktop {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 30px;
        margin-top: 60px;
    }
}

@media(max-width: 1024px){
    .home-service-list-wrapper .column {
        overflow: hidden;
    }
    .block--home-service-text {
        position: relative;
        z-index: 5;
        background: #484381d4;
        width: 100%;
        min-height: 400px;
    }
    .block--home-service {
        display: grid;
        gap: 25px;
        align-items: stretch;
        grid-template-columns: 1fr;
        width: 100%;
        height: 100%;
        overflow: hidden;
        border-radius: 15px;
    }
    .block--home-service-image {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        z-index: 3;
    }
    .block--home-service-image img{
        object-fit: cover;
    }
}


/* Header */
.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: #484381;
}
.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: #484381;
}

.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;
    gap: 10px;
}
.small-header-wrapper .small-header-row {
    border-bottom: 1px solid #D1D1D1;
    padding: 12px 0;
}

.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: #484381;
    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-mega-menu-wrapper {
    position: absolute;
    z-index: 10;
    background: #F7F9FC;
    width: 100%;
    left: 0;
    padding: clamp(40px, 5.2vw, 100px);
    height: 0;
    overflow: hidden;
    visibility: hidden;
    opacity: 0;
    transition: 500ms;
    box-shadow: 0 5px 10px #00000013;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 20px;
}
.header-menu-item.area-mega-menu > div:hover .area-mega-menu-wrapper {
    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: #484381;
    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);
}

.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: #484381;
    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;
    }
}

.small-header-wrapper,.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;
    }
}

.search-rsults-item {
    border-bottom: 1px solid #ccc;
}
.search-rsults-item a {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 20px 10px;
    transition: 300ms;
    text-decoration: none;
}
.block-search-label {
    border: 1px solid #B2B1CB;
    width: max-content;
    padding: 6px 15px;
    border-radius: 30px;
    color: #fff;
    font-size: 12px;
    line-height: 1;
    color: #B2B1CB;
}
.search-results-name {
    font-size: clamp(22px, 2.18vw, 42px);
    line-height: 1.3;
    margin-top: 5px;
    color: #333;
}
.search-rsults-item:hover a {
    transition: 300ms;
    background: #b2b1cb4d;
}
.block-search-results {
    margin-top: 40px;
}
.search-rsults-item- {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: 30px;
}
.search-results-wrapper .block--title__50 span {
    opacity: 0.5;
    font-style: italic;
}
@media(min-width: 1025px){
    .search-rsults-item a {
        display: flex;
        flex-direction: column;
        gap: 10px;
        padding: 30px 20px;
        transition: 300ms;
        text-decoration: none;
    }
    .block-search-label {
        border: 1px solid #B2B1CB;
        width: max-content;
        padding: 6px 20px;
        border-radius: 30px;
        color: #fff;
        font-size: 12px;
        line-height: 1;
        color: #B2B1CB;
    }
}

.video-embed-item-wrapper {
    position: relative;
    overflow: hidden;
}

/* L'iframe rimane sotto al layer */

/* Layer trasparente sopra, sempre presente */
.video-touch-layer {
    position: absolute;
    inset: 0;             /* top:0 right:0 bottom:0 left:0 */
    z-index: 2;
    background: transparent;
    cursor: pointer;
}

/* Stato "in riproduzione" se ti serve per styling futuro */
.video-embed-item-wrapper.is-playing .video-touch-layer {
    /* potresti cambiare il cursore o mettere un leggero overlay se vuoi */
}


.footer-external-url-wrapper {
    box-shadow: 0 5px 10px #00000030;
    position: fixed;
    right: 0px;
    bottom: 120px;
    background: #006FBE;
    padding: 10px;
    border-radius: 15px 0 0 15px;
    display: flex;
    transition: 300ms;
}
.footer-external-url-wrapper:hover {
    padding: 10px 25px 10px 10px;
    transition: 500ms;
}
.footer-external-url-wrapper a {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: #006FBE;
    transition: 300ms;
    gap: 5px;
}
.footer-external-url-wrapper:hover a {
    transition: 300ms;
    color: #fff;
}
span.footer-external-icon {
    display: flex;
    width: 30px;
}
span.footer-external-icon svg{
    transition: 300ms;
    fill: #fff;
}
.footer-external-url-wrapper:hover span.footer-external-text {
    transition: 300ms;
    opacity: 1;
    visibility: visible;
    width: max-content;
    transform: translateX(0px);
    color: #fff;
}
span.footer-external-text {
    display: flex;
    transition: 300ms;
    color: #006FBE;
    font-size: clamp(12px,0.72vw, 14px);
    line-height: 1;
    opacity: 0;
    visibility: hidden;
    transform: translateX(20px);
    width: 0;
}
span.footer-external-image {
    display: flex;
    background: #006FBE;
    max-width: clamp(60px, 5.2vw, 100px);
}


.whatsapp-floating-button {
    position: fixed;
    right: 0;
    bottom: 185px;
    background: #20BB60;
    width: 50px;
    height: 50px;
    border-radius: 50% 0 0 50%;
    padding: 10px;
    transition: 300ms;
    box-shadow: 0 5px 10px #00000030;
}
.whatsapp-floating-button:hover {
    background: #333;
    transition: 300ms;
}
.whatsapp-floating-button svg{
    fill: #fff;
    transition: 300ms;
}

@media(max-width: 1024px){
    .footer-external-url-wrapper {
        box-shadow: 0 5px 10px #00000030;
        position: fixed;
        right: 0px;
        bottom: 0;
        background: #006FBE;
        padding: 10px;
        border-radius: 15px 15px 0 0;
        display: flex;
        transition: 300ms;
        width: 100%;
        z-index: 100;
    }
    .footer-external-url-wrapper a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        flex-direction: row-reverse;
    }
    span.footer-external-text {
        display: flex;
        transition: 300ms;
        color: #fff;
        font-size: clamp(12px,0.72vw, 14px);
        line-height: 1;
        opacity: 1;
        visibility: visible;
        transform: unset;
        width: auto;
    }
    #to-the-top {
        display: flex;
        background-color: #11111173;
        width: 50px;
        height: 50px;
        border-radius: 25px 0 0 25px;
        position: fixed;
        bottom: 70px;
        right: 0;
        transition: background-color .3s, opacity .5s, visibility .5s;
        opacity: 0;
        visibility: hidden;
        z-index: 1000;
        justify-content: center;
        align-items: center;
    }
    .whatsapp-floating-button {
        position: fixed;
        right: 0;
        bottom: 140px;
        background: #20BB60;
        width: 50px;
        height: 50px;
        border-radius: 50% 0 0 50%;
        padding: 10px;
        transition: 300ms;
        box-shadow: 0 5px 10px #00000030;
        z-index: 100;
    }
    .footer-external-url-wrapper span.footer-external-icon {
        transform: rotate(180deg);
    }
    span.footer-external-icon {
        display: flex;
        width: 20px;
    }
}
.post-navigator {
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}
@media(max-width: 1024px){
    .contact-item-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 30px;
        max-width: 95%;
    }
    .footer-bototm-row{
        padding-bottom: 60px;
    }
    
    .mobile-custom-row > .row {
        display: flex;
        flex-direction: column-reverse;
    }
    .mobile-custom-row > .row .column:last-child .inverted-column-image-wrapper {
        display: none;
    }
    .prefooter.last-news > .row{
        gap: 30px;
    }
    .footer-bototm-row{
        gap: 30px;
    }
    .single-area-pathology > .row {
        display: flex;
        flex-direction: column-reverse;
    }
    .single-area-wrapper.single-pathology > .row {
        display: flex;
        flex-direction: column-reverse;
    }
    .section.row-fluid-content .column:first-child {
        display: none;
    }
}













/* Single product */
.single-product-gallery-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
div#splide-thumbs {
    margin-top: 20px;
}
.single-product-secure {
    margin-top: 35px;
    display: flex;
    flex-direction: column;
    font-size: 14px;
    font-weight: bold;
    color: #BFBFBF;
}
.single-product-secure img {
    max-width: 200px;
}

.single-product-badge svg {
    height: 20px;
    width: auto;
}
.single-product-badge {
    display: flex;
    gap: 10px;
    align-items: center;
    text-wrap: balance;
    justify-content: flex-start;
}
.single-product-badges {
    display: grid;
    margin-top: 30px;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    font-size: 12px;
    line-height: 12px;
    max-width: 400px;
}
.single-product-badge div:last-child {
    max-width: 125px;
}
@media(min-width: 1025px){
    /*.single-product-badge div:last-child {
        max-width: 85px;
    }*/
    .single-product-badges {
        display: grid;
        margin-top: 30px;
        grid-template-columns: 1fr 1fr;
        gap: 20px;
        font-size: 8px;
        line-height: 12px;
        max-width: max-content;
    }
    .single-product-badge {
        display: flex;
        gap: 10px;
        align-items: center;
        text-wrap: balance;
        /*justify-content: flex-end;*/
    }
    .single-product-gallery-wrapper {
        max-width: 90%;
    }
}
h2.product_title.entry-title.block-title__40 {
    font-weight: bold;
    font-size: clamp(32px, 2.07vw, 40px);
}


.single-product-quantity {
    display: flex;
    align-items: center;
    gap: 8px;
}

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

.stock-dot.available {
    background-color: green;
}

.stock-dot.ending {
    background-color: orange;
}

.stock-dot.not-available {
    background-color: red;
}
.single-product-category {
    text-transform: uppercase;
}
.single-product-quantity {
    margin: 5px 0 20px;
}
.woocommerce-product-details__short-description {
    text-wrap: balance;
    margin-top: clamp(30px, 2.05vw,  40px);
    margin-bottom: clamp(30px, 2.05vw,  40px);
    max-width: 500px;
    color: #707070;
}
.single-product-content p.price {
    font-size: clamp(22px, 1.50vw, 30px);
    font-weight: bold;
    line-height: 1em;
}
.single-product-actions {
    display: flex;
    gap: 10px;
    margin-top: 30px;
}
@media(min-width: 1334px){
    .single-product-badges {
        display: flex;
        margin-top: 35px;
        justify-content: space-between;
        gap: 20px;
        font-size: 8px;
        line-height: 12px;
        max-width: 500px;
    }
}

.single-product-wishlist-button {
    display: flex;
    align-items: center;
    padding: 6px 20px;
    gap: 10px;
    transition: 300ms;
    cursor: pointer;
    transition: 300ms;
}
.single-product-wishlist-button .tinv-wraper.woocommerce.tinv-wishlist.tinvwl-shortcode-add-to-cart {
    display: flex;
    gap: 5px;
    align-items: center;
}

.white .single-product-wishlist-button:hover .tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart,
.white .single-product-wishlist-button:hover .tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart:before,
.single-product-wishlist-button:hover .tinvwl-tooltip,
.white .single-product-actions button.single_add_to_cart_button{
    color: #fff;
}
.black .single-product-wishlist-button:hover .tinv-wraper.woocommerce.tinv-wishlist.tinvwl-shortcode-add-to-cart,
.black .single-product-wishlist-button:hover .tinv-wishlist .tinvwl_add_to_wishlist_button.tinvwl-icon-heart.tinvwl-product-in-list:before,
.black .single-product-actions button.single_add_to_cart_button{
    color: #333;
}
.single-product-actions button.single_add_to_cart_button {
    border-radius: 50px !important;
    transition: 300ms;
    display: flex;
    gap: 12px;
    align-items: center;
}
.single-product-actions button.single_add_to_cart_button:hover {
    background: #333 !important;
    transition: 300ms !important;
    color: #fff !important;
}
.variations.multiple-variations {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
}
.variations select {
    width: 100%;
    background: transparent;
    border-radius: 0px;
}
.variations label {
    font-weight: bold;
    margin-bottom: 5px;
    display: flex;
    text-transform: uppercase;
}
a.reset_variations{
    color: unset;
}

.white .single-product-actions button.single_add_to_cart_button.button:after {
    content: '';
    background-image: url(/wp-content/uploads/2025/12/Cart-icon-white-1.svg);
    width: 20px;
    height: 20px;
    display: flex;
    background-size: contain;
    background-repeat: no-repeat;
    transition: 300ms;
}
.white .single-product-actions:hover button.single_add_to_cart_button.button:after {
    content: '';
    background-image: url(/wp-content/uploads/2025/12/Cart-icon-white-1.svg);
    width: 20px;
    height: 20px;
    display: flex;
    background-size: contain;
    background-repeat: no-repeat;
    transition: 300ms;
}
.black .single-product-actions button.single_add_to_cart_button.button:after {
    content: '';
    background-image: url(/wp-content/uploads/2025/06/Cart-icon-white.svg);
    width: 20px;
    height: 20px;
    display: flex;
    background-size: contain;
    background-repeat: no-repeat;
    transition: 300ms;
}
.black .single-product-actions:hover button.single_add_to_cart_button.button:after {
    content: '';
    background-image: url(/wp-content/uploads/2025/06/Cart-icon-black.svg);
    width: 20px;
    height: 20px;
    display: flex;
    background-size: contain;
    background-repeat: no-repeat;
    transition: 300ms;
}
@media(min-width: 1025px){
    .variations.multiple-variations {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 30px;
        max-width: 500px;
    }
    .single-product-wishlist-button .tinvwl-tooltip {
        display: flex;
    }
}
.woocommerce-variation-price {
    display: none;
}
.single-product-external-resource a {
    color: #333;
    text-decoration: none;
    padding-bottom: 3px;
    border-bottom: 1px solid #333;
    transition: 300ms;
    display: flex;
    width: max-content;
    margin-bottom: clamp(30px, 2.05vw,  40px);
    font-weight: bold;
}

.single-product-description {
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    padding: 30px 20px;
}
.single-product-description  .block-title h5 {
    font-size: 22px;
    text-transform: uppercase;
    line-height: 1em;
    font-weight: bold;
}
.single-product-description  .block-title {
    margin-bottom: 20px;
    display: flex;
}
.single-product-description .block-paragraph {
    text-wrap: balance;
}
@media(min-width: 1025px){
    .single-product-description  .block-title h5 {
        font-size: 30px;
    }
    .single-product-description {
        padding-top: clamp(60px, 4.15vw, 80px);
        padding-bottom: clamp(60px, 4.15vw, 80px);
        padding-left: clamp(60px, 4.15vw, 80px);
        padding-right: clamp(60px, 4.15vw, 80px);
    }
}








/* --------------------------------------------
   card products
-------------------------------------------- */
.product--card.white .new-product-badge {
    color: #fff;
}
.product--card.black .new-product-badge {
    color: #333;
}

.product--card > a, .product-thumbnail, .product--card-head {
    display: flex;
    width: 100%;
}
.product--card .product-thumbnail {
    overflow: hidden;
    transition: 300ms;
    width: 100%;
}
.product--card .product-thumbnail:hover img{
   transition: 500ms;
   transform: scale(1.03);
}
.product--card .product-thumbnail img {
    width: 100%;
    transition: 500ms;
}
.product--card-body {
    text-align: center;
    margin-top: 20px;
}
.product--card-head {
    position: relative;
}
.product--card-body a {
    text-decoration: none;
    color: unset;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.product--card-head .tinv-wraper.woocommerce.tinv-wishlist:hover {
    background: #333;
    transition: 300ms;
}
.product--card-head .tinv-wraper.woocommerce.tinv-wishlist.tinvwl-shortcode-add-to-cart.tinvwl-no-action:hover a.tinvwl_add_to_wishlist_button.tinvwl-icon-heart:before{
    color: #fff !important;
    transition: 300ms;
}
.product--card.black a.tinvwl_add_to_wishlist_button.tinvwl-icon-heart:before{
    color: #333;
}
.product--card.white a.tinvwl_add_to_wishlist_button.tinvwl-icon-heart:before{
    color: #fff;
}
.product--card-body h4.product--card-title {
    text-transform: uppercase;
    font-weight: bold;
    font-size: clamp(16px,1.13vw, 22px);
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}
.product-thumbnail img {
    width: 100%;
}
.product--card-head > a {
    display: flex;
    width: 100%;
}
.product--card-body .product--card-price {
    font-size: clamp(16px, 1.24vw, 24px);
}
.archive-products-order {
    margin-bottom: 30px;
}
.new-product-badge {
    position: absolute;
    top: 14px;
    left: 10px;
    padding: 4px;
    border-radius: 5px;
    text-transform: uppercase;
    font-size: 14px;
    line-height: 1;
}
.product--card-head .tinv-wraper.woocommerce.tinv-wishlist {
    position: absolute;
    top: 10px;
    right: 10px;
    border-radius: 50%;
    padding: 6px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 300ms;
}
@media(min-width: 1025px){
    .new-product-badge {
        position: absolute;
        top: 20px;
        left: 20px;
        padding: 4px 8px;
        border-radius: 5px;
        text-transform: uppercase;
        font-size: 16px;
        line-height: unset;
    }
    .product--card-head .tinv-wraper.woocommerce.tinv-wishlist {
        position: absolute;
        top: 20px;
        right: 20px;
        border-radius: 50%;
        padding: 10px;
        display: flex;
        justify-content: center;
        align-items: center;
        transition: 300ms;
    }
}
.product-choises-grid {
    display: grid!important;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-top: 60px;
}
@media(min-width: 1333px){
    .product-choises-grid {
        display: grid!important;
        grid-template-columns: 1fr 1fr 1fr 1fr;
        gap: 20px;
        row-gap: 60px;
        margin-top: 60px;
    }
}
.product-choise-title h3{
    text-transform: uppercase;
}
.section.section-single-product.section--padding-md > .row > .column {
        overflow: hidden;
    }
@media(min-width: 1025px){
    .single-product-gallery-wrapper {
        display: flex;
        flex-direction: row-reverse;
        gap: 20px;
    }
    
}



/* --------------------------------------------
   Archive products
-------------------------------------------- */
.products-list {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
}

.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: 14px;
    border-bottom: 1px solid #ccc;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: center;
}
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_form_filtri_base_shop.wpf_submit_on_change.wpf_form_ajax {
    width: 100%;
    margin-top: 40px;
}
.wpf_reset_btn {
    margin-top: 20px;
    opacity: 0.6;
}
.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%;
}
.archive-products-order span.shop-order-label {
    display: flex;
    min-width: 80px;
}
.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;
    color: #B2B1CB;
}
span.filter-label {
    font-family: 'cormorant';
    color: #484381;
}
.archive-filter-content .wpf_item {
    padding: 0 0 29px;
    border-bottom: 1px solid #ccc;
}
.archive-filter-content .wpf_item.wpf_item_onsale {
    padding: 0 0 29px;
}
.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: 30px;
    height: 30px;
}
.woo-user-message-wrapper {
    display: flex;
    padding: 20px;
    border-radius: 10px;
    gap: 20px;
    align-items: center;
    text-wrap: balance;
    justify-content: center;
}
.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-top: 30px;
}
@media(min-width: 1025px){
    .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;
   }
}
@media(min-width: 1025px) 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: 60px;
   }
}

/* --------------------------------------------
   Quick cart
-------------------------------------------- */
a.xoo-wsc-ft-btn.xoo-wsc-btn.xoo-wsc-ft-btn-checkout,
a.xoo-wsc-ft-btn.xoo-wsc-btn.xoo-wsc-ft-btn-cart,
a.xoo-wsc-ft-btn.xoo-wsc-btn.xoo-wsc-cart-close.xoo-wsc-ft-btn-continue {
    text-transform: uppercase;
}
a.xoo-wsc-ft-btn.xoo-wsc-btn.xoo-wsc-ft-btn-checkout:hover,
a.xoo-wsc-ft-btn.xoo-wsc-btn.xoo-wsc-ft-btn-cart:hover,
a.xoo-wsc-ft-btn.xoo-wsc-btn.xoo-wsc-cart-close.xoo-wsc-ft-btn-continue:hover {
    background: #333;
    transition: 300ms;
    color: #fff !important;
}

/* Cart */
a.wc-block-components-product-name {
    text-decoration: none;
    font-size: 20px;
    color: unset;
    margin: 0px 0 8px!important;
}
.wc-block-components-sidebar.wc-block-cart__sidebar.wp-block-woocommerce-cart-totals-block {
    background: #F9F9F9;
    padding: 30px !important;
}

h2.wp-block-woocommerce-cart-order-summary-heading-block.wc-block-cart__totals-title {
    text-align: center !important;
    font-size: clamp(18px, 1.04vw, 20px)!important;
    padding-bottom: 15px !important;
    line-height: 1em!important;
}
.section-cms-wrapper.white button.wc-block-components-button.wp-element-button.wc-block-components-totals-coupon__button.contained {
    color: #fff;
}
.section-cms-wrapper.black button.wc-block-components-button.wp-element-button.wc-block-components-totals-coupon__button.contained {
    color: #333;
}
button.wc-block-components-button.wp-element-button.wc-block-components-totals-coupon__button.contained:hover{
    background: #333;
    color: #fff;
    transition: 300ms;
}
a.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained {
    text-decoration: none !important;
    transition: 300ms;
    margin-top: 20px;
    background: #000;
    border-radius: 50px;
    color: #fff;
}
a.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained:hover {
    background: #333;
    color: #fff;
    transition: 300ms;
}
.section-cms-wrapper.white a.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained{
    color: #fff;
}
.section-cms-wrapper.black a.wc-block-components-button.wp-element-button.wc-block-cart__submit-button.contained{
    color: #333;
}
h2.wp-block-woocommerce-cart-order-summary-heading-block.wc-block-cart__totals-title{
    display: block !important;
}

.cms-content-wrapper .wc-blocks-components-select__container select,.cms-content-wrapper .wc-blocks-components-select__container input,
.cms-content-wrapper .wc-block-components-text-input.wc-block-components-address-form__postcode.is-active input,
.cms-content-wrapper .wc-block-components-text-input.wc-block-components-address-form__city.is-active input
 {
    border-radius: 0px!important;
    border: 1px solid #ccc!important;
}

.white button.wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button.contained{
    color: #fff;
}
.black button.wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button.contained{
    color: #333;
}
.wp-block-woocommerce-checkout-order-summary-block {
    border: none;
}
p.wc-block-components-checkout-order-summary__title-text {
    font-weight: bold !important;
    font-size: clamp(18px, 1.04vw, 20px);
}
.wc-block-components-address-address-wrapper.is-editing input,
.wc-block-components-text-input.wc-block-components-address-form__email input,
.wc-block-components-text-input.wc-block-components-address-form__password input {
    border-radius: 0px !important;
    border: 1px solid #ccc!important;
}
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted, .wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted{
    box-shadow: none!important;
    border:none;
    background: #f9f9f9;
    border-radius: 0px;
}
.wc-block-components-radio-control-accordion-option.wc-block-components-radio-control-accordion-option--checked-option-highlighted label {
    border: none!important;
    border-radius: 0px;
}
span.wc-block-components-checkbox__label a{
    color: unset;
}
.css-0.e19lxcc00{
    display: none!important;
}
.wp-block-woocommerce-checkout {
    margin: 0;
    padding-top: 0;
}
.wc-block-components-checkout-step__content, .wc-block-components-address-address-wrapper {
    margin-top: 10px;
}
button.wc-block-components-button.wp-element-button.wc-block-components-checkout-place-order-button.contained:hover{
    background: #333;
    color: #fff;
    transition: 300ms;
}
.white .block--button.block--button__primary a {
    color: #fff;
}
.black .block--button.block--button__primary a {
    color: #333;
}
.thank-you-block__wrapper {
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
}
.thank-you-block__wrapper h3{
    text-align: center;
}
.order-confirmation-wrapper {
    display: flex;
    flex-direction: column;
    text-align: center;
    justify-content: center;
    align-items: center;
    gap: 20px;
    max-width: 800px;
    margin: 0 auto;
    text-wrap: balance;
}
.section.section-archive-page-header .block-title {
    text-wrap: balance;
}
@media(min-width: 1025px){
    .wp-block-woocommerce-checkout-order-summary-block {
        padding: 30px;
    }
    p.wc-block-components-checkout-order-summary__title-text {
        text-align: center;
        font-weight: bold !important;
        font-size: clamp(18px, 1.04vw, 20px);
        padding-bottom: 15px;
    }
}

/* --------------------------------------------
   Profile
-------------------------------------------- */
nav.woocommerce-MyAccount-navigation {
    background: #F5F5F5;
    padding: 60px 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}
nav.woocommerce-MyAccount-navigation ul {
    margin: 0px;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 15px;
    width: 100%;
}
nav.woocommerce-MyAccount-navigation li {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}
nav.woocommerce-MyAccount-navigation li a {
    width: 100%;
    text-decoration: none;
    text-transform: uppercase;
    padding: 10px 20px;
    color: unset;
    background: #fff;
}
li.woocommerce-MyAccount-navigation-link.woocommerce-MyAccount-navigation-link--customer-logout a {
    background: unset;
    transition: 300ms;
}
.section.section-cms-wrapper.white li.woocommerce-MyAccount-navigation-link.is-active a,
.section.section-cms-wrapper.white li.woocommerce-MyAccount-navigation-link a:hover{
    color: #fff;
}
.section.section-cms-wrapper.black li.woocommerce-MyAccount-navigation-link.is-active a,
.section.section-cms-wrapper.black li.woocommerce-MyAccount-navigation-link a:hover{
    color: #333;
}

.woocommerce-MyAccount-content {
    padding: 30px;
    text-wrap: balance;
}
.woocommerce-MyAccount-content a{
    color: unset;
}
.u-columns.woocommerce-Addresses.col2-set.addresses .u-column1.col-1.woocommerce-Address,
.u-columns.woocommerce-Addresses.col2-set.addresses .u-column2.col-2.woocommerce-Address {
    float: unset;
    width: 100%!important;
}

.section-cms-wrapper a.woocommerce-Button.wc-forward.button,
.section-cms-wrapper button.button {
    text-transform: uppercase;
    float: unset!important;
    border-radius: 0px;
    transition: 300ms;
    text-align: center;
    max-width: max-content;
}
.section-cms-wrapper.white a.woocommerce-Button.wc-forward.button,
.section-cms-wrapper.white button.button {
    color: #fff;
}
.section-cms-wrapper.black a.woocommerce-Button.wc-forward.button,
.section-cms-wrapper.black button.button {
    color: #333;
}
.cms-content-wrapper .woocommerce-info{
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.cms-content-wrapper .woocommerce-MyAccount-content h2 {
    font-weight: bold;
    font-size: 22px;
    margin-bottom: 10px !important;
    display: flex;
}
.cms-content-wrapper .u-columns.woocommerce-Addresses.col2-set.addresses {
    margin-top: 10px;
}
.cms-content-wrapper .woocommerce-address-fields label,
.cms-content-wrapper form.woocommerce-EditAccountForm.edit-account label{
    font-weight: bold;
}

.cms-content-wrapper form.woocommerce-EditAccountForm.edit-account .woocommerce-Input, .cms-content-wrapper .woocommerce-address-fields .input-text, select#shipping_country, select#shipping_state {
    border: 1px solid #ccc !important;
    border-radius: 0px !important;
    margin-top: 5px !important;
}
.woocommerce-MyAccount-content span.select2.select2-container.select2-container--default {
    border: 1px solid #ccc !important;
    border-radius: 0px !important;
    margin-top: 5px !important;
    padding: 5px;
}
.woocommerce-address-fields .select2-container .select2-selection {
    border: none;
}
header.woocommerce-Address-title.title a.edit {
    float: none!important;
    margin: 0 0 10px 0;
    display: flex;
}
.woocommerce-MyAccount-content button.woocommerce-Button.button,
.woocommerce-MyAccount-content button.button {
    margin-top: 20px;
}
div#customer_login h2 {
    font-weight: bold;
    margin: 0px!important;
    padding: 0px!important;
}
div#customer_login input {
    border-radius: 0px;
    border: 1px solid #ccc;
}
form.woocommerce-form.woocommerce-form-register.register button.woocommerce-Button.woocommerce-button.button.woocommerce-form-register__submit {
    margin-top: 20px;
}
form.woocommerce-form.woocommerce-form-login.login button.woocommerce-button.button.woocommerce-form-login__submit {
    display: flex;
    margin: 20px 0 10px;
}
p.woocommerce-LostPassword.lost_password a {
    color: unset;
}
form.woocommerce-form.woocommerce-form-login.login {
    border: none;
    background: #f9f9f9;
    padding: 60px 30px;
    border-radius: 0px;
}
form.woocommerce-form.woocommerce-form-register.register{   
    border: 1px solid #ccc;
    padding: 60px 30px;
    border-radius: 0px;    
}
form.woocommerce-form.woocommerce-form-register.register .woocommerce-privacy-policy-text {
    margin: 10px 0 0;
    text-wrap: balance;
}
form.woocommerce-form.woocommerce-form-register.register .woocommerce-privacy-policy-text a{
    color: unset;
}
div#customer_login label {
    font-weight: bold;
    margin-bottom: 4px;
}
button.woocommerce-button.button.woocommerce-form-login__submit:hover,
button.woocommerce-Button.woocommerce-button.button.woocommerce-form-register__submit:hover,
.woocommerce-MyAccount-content button.woocommerce-Button.button:hover,
.woocommerce-address-fields .button:hover {
    transition: 300ms;
    background: #333 !important;
    color: #fff;
}
.cms-content-wrapper .tinv-wishlist.woocommerce.tinv-wishlist-clear p.return-to-shop {
    margin-top: 20px !important;
    display: flex;
}
.cms-content-wrapper .tinv-wishlist.woocommerce.tinv-wishlist-clear p.return-to-shop a.button.wc-backward {
    border-radius: 0px;
}
.section-cms-wrapper.white .cms-content-wrapper .tinv-wishlist.woocommerce.tinv-wishlist-clear p.return-to-shop a.button.wc-backward {
    color: #fff;
}
.section-cms-wrapper.black .cms-content-wrapper .tinv-wishlist.woocommerce.tinv-wishlist-clear p.return-to-shop a.button.wc-backward {
    color: #333;
}
.section-cms-wrapper .cms-content-wrapper .tinv-wishlist.woocommerce.tinv-wishlist-clear .button.wc-backward:hover {
    color: #fff!important;
    background: #333 !important;
}
.section.section-cms-wrapper.white .tinv-wishlist.woocommerce.tinv-wishlist-clear td.product-action button.button.alt{
    color: #fff;
}
.section.section-cms-wrapper.black .tinv-wishlist.woocommerce.tinv-wishlist-clear td.product-action button.button.alt{
    color: #333;
}
.tinv-wishlist.woocommerce.tinv-wishlist-clear td.product-action button.button:hover{
    background: #333 !important;
    color: #fff!important;
    transition: 300ms;
}
.tinv-wishlist.woocommerce.tinv-wishlist-clear thead,
.tinv-wishlist.woocommerce.tinv-wishlist-clear  tfoot {
    display: none;
}
tr.wishlist_item td {
    border: none!important;
}
table.tinvwl-table-manage-list {
    border: none;
}
td.product-name a {
    color: unset;
}

tr.wishlist_item {
    border-bottom: 1px solid #ccc;
}
.tinv-header h2 {
    font-weight: bold;
    text-align: center;
}
tr.wishlist_item {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: center;
}
tr.wishlist_item > td {
    padding: 0;
}
tr.wishlist_item {
    padding: 20px;
}
.white button.button.tinvwl_button_view.tinvwl-btn-onclick {
    color: #fff !important;
}

@media(min-width: 1025px){
    .tinv-header h2 {
        font-weight: bold;
        text-align: left;
    }
    .cms-content-wrapper .woocommerce-info{
        display: flex;
        flex-direction: row;
    }
    tr.wishlist_item {
        display: flex;
        flex-direction: row;
        gap: 20px;
        align-items: center;
    }
td.product-name {
    flex: 0 1 100%;
}
td.product-action {
    flex: 0 1 200px;
    display: flex;
    justify-content: flex-end;
}
}
@media(max-width: 1024px){
    p.woocommerce-form-row.woocommerce-form-row--first.form-row.form-row-first,
    p.woocommerce-form-row.woocommerce-form-row--last.form-row.form-row-last {
        float: none !important;
        width: 100% !important;
    }
}

.video-wrapper.embed iframe {
    width: 100%;
    height: clamp(300px, 31.24vw, 600px);
}