@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@200;400;600;900&display=swap');

/*=======================================================================

Template Name: Naluftheme
 

/*=======================================================================
[01] General
=========================================================================*/
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@200;400;600;900&display=swap');

/*GENERAL*/

html, body{overflow-x: hidden;}

body{margin: 0;padding: 0;color: var(--color-text);background: var(--color-bg);font-family: var(--font-body);font-weight: var(--font-body-weight);}
a{text-decoration: none!important;color: var(--color-accent);}
a:hover{text-decoration: none!important;}
h1,h2,h3,h4,h5,h6{margin-bottom: 20px;font-family: var(--font-heading);font-weight: var(--font-heading-weight);}
p{margin-bottom: 20px;text-align: justify;}

img{width: 100%;height: 100%;object-fit: cover;}
.object-fit img{width: 100%!important;height: 100%!important;object-fit: cover!important;}

ul {list-style: outside none none;margin: 0;padding: 0;}

/*MARGIN*/
.m-0{margin: 0;}
.m-10{margin: 10;}
.m-20{margin: 20;}
.m-30{margin: 30;}
.m-40{margin: 40;}
.m-50{margin: 50;}

.mt-10{margin-top: 10px;}
.mt-20{margin-top: 20px;}
.mt-30{margin-top: 30px;}
.mt-40{margin-top: 40px;}
.mt-50{margin-top: 50px;}

.mb-10{margin-bottom: 10px;}
.mb-20{margin-bottom: 20px;}
.mb-30{margin-bottom: 30px;}
.mb-40{margin-bottom: 40px;}
.mb-50{margin-bottom: 50px;}

.mtb-10{margin: 10px 0;}
.mtb-20{margin: 20px 0;}
.mtb-30{margin: 30px 0;}
.mtb-40{margin: 40px 0;}
.mtb-50{margin: 50px 0;}

.m-center{margin: 0 auto!important;}
.m-20-auto{margin: 20px auto!important;}

/*PADDING*/
.p-0{padding: 0px;}
.p-10{padding: 10px;}
.p-20{padding: 20px;}
.p-30{padding: 30px;}
.p-40{padding: 40px;}
.p-50{padding: 50px;}
.p-60{padding: 60px;}

.pt-10{padding-top: 10px;}
.pt-20{padding-top: 20px;}
.pt-30{padding-top: 30px;}
.pt-40{padding-top: 40px;}
.pt-50{padding-top: 50px;}

.pb-10{padding-bottom: 10px;}
.pb-20{padding-bottom: 20px;}
.pb-30{padding-bottom: 30px;}
.pb-40{padding-bottom: 40px;}
.pb-50{padding-bottom: 50px;}

.ptb-10{padding: 10px 0;}
.ptb-20{padding: 20px 0;}
.ptb-30{padding: 30px 0;}
.ptb-40{padding: 40px 0;}
.ptb-50{padding: 50px 0;}

.plr-10{padding: 0 10px;}
.plr-20{padding: 0 20px;}
.plr-30{padding: 0 30px;}
.plr-40{padding: 0 40px;}
.plr-50{padding: 0 50px;}
.plr-180{padding: 0 180px;}


/*DISPLAY*/
.display-inline{display: inline-block;}
.display-block{display: block;}
.trecol{width: 30%;margin: 0 5px;}
.duecol{column-count: 2;column-gap: 20px; }
.w-100{width: 100%;}
.w-70{width: 70%;}

/*ALIGN*/
.right{text-align: right;}
.center{text-align: center;}

/*SIZE*/
.size-20{font-size: 20px;line-height: 20px;}
.size-12{font-size: 12px;}
.size-10{font-size: 10px;}
.size-8{font-size: 8px;}
.size-15{font-size: 15px;}
.size-25{font-size: 25px;}
.size-30{font-size: 30px;}
.size-40{font-size: 40px;}
.line-height-30{line-height: 30px;}

/*STYLE*/
.upp{text-transform: uppercase;}
.bold{font-weight: 700}
.radius-10{border-radius: 10px}

/*WEIGTH*/
.weight-200{font-weight: 200;}
.weight-300{font-weight: 300;}
.weight-600{font-weight: 600;}
.weight-900{font-weight: 600;}

/*HEIGHT*/
.height-200{height: 200px;}
.height-300{height: 300px;}
.height-400{height: 400px;}
.height-500{height: 500px;}
.height-600{height: 600px;}
.height-700{height: 700px;}

/*POSITION*/
.absolute{position: absolute;}
.bott-0{bottom: 0;}
.z-index-999{position: relative;z-index: 999;}

/*COLOR*/
.button-primary {background: var(--color-primary);color: #fff;}
.section-accent {background: var(--color-accent);}

/*HERO*/
.section {padding-block: var(--section-spacing, 30px);}
.bg-white {background: #fff;}
.bg-light {background: var(--color-light-bg);}
.bg-primary {background: var(--color-primary);color: #fff;}
.bg-dark {background: var(--color-dark-bg);color: #fff;}
.hero__subtitle {margin-bottom: 16px;font-size: 0.875rem;font-weight: 600;letter-spacing: 0.08em;text-transform: uppercase;color: var(--color-primary);}
.bg-primary .hero__subtitle,.bg-dark .hero__subtitle {color: var(--color-accent);}
.hero__title {margin-bottom: 24px;font-family: var(--font-heading);font-weight: var(--font-heading-weight);font-size: clamp(2.5rem, 5vw, 5rem);line-height: 1;}
.hero__text {max-width: 620px;font-size: 1.125rem;line-height: 1.7;}
.text-center .hero__text,.hero--centered .hero__text {margin-inline: auto;}
.hero__media {position: relative;}
.hero__image {width: 100%;/*aspect-ratio: 4 / 5;*/object-fit: cover;border-radius: 24px;}
.hero {position: relative;overflow: hidden;}
.hero--background_image {min-height: 720px;display: flex;align-items: center;background-size: cover;background-position: center;color: #fff;}
.hero__overlay {position: absolute;inset: 0;background: rgba(0, 0, 0, 0.45);}
.hero--background_image .hero__content {position: relative;z-index: 2;}
.hero--background_image .hero__subtitle {color: var(--color-accent);}
.hero__image--wide {aspect-ratio: 16 / 7;}
.hero--centered .hero__image {border-radius: 32px;}
/* ==================================================
   HEADER MINIMAL
================================================== */

.site-header--minimal {
    position: relative;
    z-index: 999;
    padding-block: 18px;
    background: var(--color-bg);
    transition: all 0.3s ease;
}

.site-header--minimal.is-sticky {
    position: sticky;
    top: 0;
}

.site-header--minimal.is-transparent {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: transparent;
}

.site-header--minimal .navbar {
    padding: 0;
}
.navbar {
    padding: 0!important;margin-top: 0!important;
}

.site-header--minimal .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.site-header--minimal .site-logo {
    display: flex;
    align-items: center;
}

.site-header--minimal .header-logo {
    max-height: 64px;
    width: auto;
}

.site-header--minimal .site-name {
    font-family: var(--font-heading);
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--color-text);
}

.site-header--minimal .header-minimal__right {
    display: flex;
    align-items: center;
    gap: 18px;
}

.site-header--minimal .header-cta {
    white-space: nowrap;
}

.site-header--minimal .navbar-toggler {
    padding: 0;
    border: 0;
    box-shadow: none !important;
}

/* Mobile Menu */

.minimal-mobile-menu {
    background: var(--color-bg);
    border-top: 1px solid rgba(0,0,0,0.08);
}

.minimal-mobile-menu .container {
    padding-block: 24px;
}

.minimal-menu {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.minimal-menu .menu-item a {
    color: var(--color-text);
    font-size: 1.125rem;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.25s ease;
}

.minimal-menu .menu-item a:hover {
    color: var(--color-primary);
}

.service-checker {
    padding: clamp(50px, 7vw, 90px) 0;
}

.service-checker-box {
    max-width: 880px;
    margin: 0 auto;
    background: #ffffff;
    border-radius: 34px;
    padding: clamp(32px, 5vw, 64px);
    box-shadow: 0 24px 70px rgba(31, 42, 31, .1);
    text-align: center;
}

.service-checker-kicker {
    display: inline-block;
    margin-bottom: 14px;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #7b8f68;
}

.service-checker-box h2 {
    font-size: clamp(32px, 5vw, 54px);
    font-weight: 850;
    color: #1f2a1f;
    margin-bottom: 18px;
}

.service-checker-box p {
    font-size: 18px;
    line-height: 1.7;
    color: #626a5d;
    max-width: 680px;
    margin: 0 auto 30px;
}

.service-checker-form {
    display: flex;
    gap: 12px;
    max-width: 680px;
    margin: 0 auto;
}

.service-checker-form .form-control {
    border-radius: 999px;
    padding: 14px 20px;
}

.btn-service-checker {
    border-radius: 999px;
    padding: 14px 26px;
    background: #7b8f68;
    color: #ffffff;
    font-weight: 800;
    white-space: nowrap;
}

.btn-service-checker:hover {
    background: #60764f;
    color: #ffffff;
}

.service-checker-message {
    max-width: 680px;
    margin: 26px auto 0;
    padding: 20px 24px;
    border-radius: 22px;
    text-align: left;
    font-size: 17px;
    line-height: 1.6;
}

.service-checker-message.is-success {
    background: #eef7e8;
    color: #2f5d2f;
}

.service-checker-message.is-error {
    background: #fff1ef;
    color: #8a3328;
}

.service-checker-message.is-warning {
    background: #fff8e6;
    color: #7a5a12;
}

.service-wpform-wrap {
    max-width: 760px;
    margin: 36px auto 0;
    text-align: left;
}

.d-none {
    display: none !important;
}
.hidden-checker-field {
    display: none !important;
}

@media (max-width: 767px) {
    .service-checker-form {
        flex-direction: column;
    }

    .btn-service-checker {
        width: 100%;
    }
}

.contact-form__box{

    padding:40px;
    border-radius:24px;

    background:#fff;

    box-shadow:0 20px 60px rgba(0,0,0,.08);

}

.bg-dark .contact-form__box,
.bg-primary .contact-form__box{

    color:var(--color-text);

}

.contact-form .gform_wrapper,
.contact-form .wpcf7{

    margin:0;

}

.contact-form input,
.contact-form textarea,
.contact-form select{

    border-radius:12px;

}

.special{    background: var(--color-accent);
    border-radius: 10px;
    color: #fff;
    padding: 0px 10px;}
.special a{color: #fff}

@media(max-width:991px){

    .contact-form__box{

        padding:28px;

    }

}

.contact-form .wpforms-container {
    margin: 0;
}

.contact-form .wpforms-field {
    padding: 0 0 18px;
}

.contact-form .wpforms-field-label {
    margin-bottom: 8px;
    font-weight: 600;
    color: var(--color-text);
}

.contact-form .wpforms-field input,
.contact-form .wpforms-field textarea,
.contact-form .wpforms-field select {
    width: 100%;
    min-height: 52px;
    padding: 12px 16px;
    border: 1px solid rgba(0,0,0,.14);
    border-radius: 12px;
    background: #fff;
}

.contact-form .wpforms-field textarea {
    min-height: 140px;
}

.contact-form .wpforms-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 22px;
    border: 0;
    border-radius: 999px;
    background: var(--color-primary);
    color: #fff;
    font-weight: 600;
}

/* Transparent */

.site-header--minimal.is-transparent .site-name {
    color: #fff;
}

.site-header--minimal.is-transparent .navbar-toggler-icon {
    filter: invert(1);
}

/* Desktop */

@media (min-width: 992px) {

    .site-header--minimal .navbar-toggler {
        display: none;
    }

    .minimal-mobile-menu {
        display: none !important;
    }

}

/* Mobile */

@media (max-width: 991px) {

    .site-header--minimal {
        padding-block: 14px;
    }

    .site-header--minimal .header-logo {
        max-height: 52px;
    }

    .site-header--minimal .header-cta {
        display: none;
    }

    .site-header--minimal.is-transparent .minimal-mobile-menu {
        background: var(--color-bg);
    }

}
/* ==================================================
   HEADER CENTERED LOGO
================================================== */

.site-header--centered-logo {
    position: relative;
    z-index: 999;
    padding-block: 18px;
    background: var(--color-light);
    transition: all 0.3s ease;
}

.site-header--centered-logo.is-sticky {
    position: sticky;
    top: 0;
}

.site-header--centered-logo.is-transparent {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: transparent;
}

.site-header--centered-logo .navbar {
    padding: 0;
}

.site-header--centered-logo .container-fluid {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
}

.site-logo {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-inline: 40px;
}

.header-logo {
    max-height: 72px;
    width: auto;
}

.site-name {
    font-family: var(--font-heading);
    font-size: 2rem;
    font-weight: 700;
    color: var(--color-heading);
}

.header-menu {
    gap: 28px;
}

.header-menu .menu-item a {
    position: relative;
    padding: 8px 0;
    color: var(--color-text);
    font-weight: 500;
    text-decoration: none;
    transition: all 0.3s ease;
}

.header-menu .menu-item a:hover {
    color: var(--color-primary);
}

.header-right {
    min-height: 1px;
}

.header-cta {
    margin-left: auto;
}

.navbar-toggler {
    border: 0;
    box-shadow: none !important;
}

/* MOBILE */

@media (max-width: 991px) {

    .site-header--centered-logo {
        padding-block: 14px;
    }

    .site-header--centered-logo .container-fluid {
        grid-template-columns: auto 1fr auto;
    }

    .site-logo {
        justify-content: center;
        margin-inline: auto;
    }

    .header-logo {
        max-height: 56px;
    }

    .navbar-collapse {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background: #fff;
        padding: 24px;
        border-top: 1px solid rgba(0,0,0,0.08);
    }

    .header-menu {
        flex-direction: column;
        gap: 16px;
    }

    .header-right {
        display: none !important;
    }

}

/* ==================================================
   HEADER SPLIT MENU
================================================== */

.site-header--split-menu {
    position: relative;
    z-index: 999;
    padding-block: 18px;
    background: var(--color-bg);
    transition: all 0.3s ease;
}

.site-header--split-menu.is-sticky {
    position: sticky;
    top: 0;
}

.site-header--split-menu.is-transparent {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: transparent;
}

.site-header--split-menu .navbar {
    padding: 0;
}

.site-header--split-menu .container {
    display: flex;
    align-items: center;
}

.site-header--split-menu .navbar-brand {
    margin-right: 48px;
}

.site-header--split-menu .header-logo {
    max-height: 68px;
    width: auto;
}

.site-header--split-menu .site-name {
    font-family: var(--font-heading);
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--color-text);
}

.site-header--split-menu .navbar-collapse {
    flex: 1;
}

.split-menu-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.split-menu-left {
    display: flex;
    align-items: center;
}

.split-menu-right {
    display: flex;
    align-items: center;
    margin-left: auto;
}

.site-header--split-menu .header-menu {
    display: flex;
    align-items: center;
    gap: 28px;
}

.site-header--split-menu .header-menu .menu-item a {
    position: relative;
    padding: 8px 0;
    color: var(--menu-color, var(--color-text));
    font-weight: 500;
    text-decoration: none;
    transition: color 0.25s ease;
}

.site-header--split-menu .header-menu .menu-item a:hover {
    color: var(--menu-hover-color, var(--color-primary));
}

.site-header--split-menu .header-menu .menu-item a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 2px;
    width: 0;
    height: 2px;
    background: var(--menu-hover-color, var(--color-primary));
    transition: width 0.25s ease;
}

.site-header--split-menu .header-menu .menu-item a:hover::after {
    width: 100%;
}

.site-header--split-menu .header-cta {
    white-space: nowrap;
}

.site-header--split-menu .navbar-toggler {
    border: 0;
    box-shadow: none !important;
}

/* Dropdown Bootstrap */

.site-header--split-menu .dropdown-menu {
    margin-top: 14px;
    padding: 14px;
    border: 0;
    border-radius: 18px;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.12);
}

.site-header--split-menu .dropdown-item {
    border-radius: 12px;
    padding: 10px 14px;
}

.site-header--split-menu .dropdown-item:hover {
    background: var(--color-light-bg);
    color: var(--color-primary);
}

/* Transparent variation */

.site-header--split-menu.is-transparent .header-menu .menu-item a,
.site-header--split-menu.is-transparent .site-name {
    color: #fff;
}

.site-header--split-menu.is-transparent .navbar-toggler-icon {
    filter: invert(1);
}

/* Mobile */

@media (max-width: 991px) {
    .site-header--split-menu {
        padding-block: 14px;
    }

    .site-header--split-menu .container {
        justify-content: space-between;
    }

    .site-header--split-menu .navbar-brand {
        margin-right: 0;
    }

    .site-header--split-menu .header-logo {
        max-height: 56px;
    }

    .site-header--split-menu .navbar-collapse {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background: var(--color-bg);
        padding: 24px;
        border-top: 1px solid rgba(0, 0, 0, 0.08);
    }

    .site-header--split-menu.is-transparent .navbar-collapse {
        background: var(--color-bg);
    }

    .site-header--split-menu.is-transparent .navbar-collapse .menu-item a {
        color: var(--menu-color, var(--color-text));
    }

    .split-menu-wrap {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
    }

    .site-header--split-menu .header-menu {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    .split-menu-right {
        margin-left: 0;
        width: 100%;
    }

    .site-header--split-menu .header-cta {
        width: 100%;
        justify-content: center;
    }
}

/*TESTO + IMMAGINE*/
.section-spacing-small {padding-block: 56px;}
.section-spacing-medium {padding-block: 88px;}
.section-spacing-large {padding-block: 120px;}
.section-eyebrow {margin-bottom: 14px;font-size: 0.85rem;font-weight: 600;letter-spacing: 0.08em;text-transform: uppercase;color: var(--color-primary);}
.bg-primary .section-eyebrow,.bg-dark .section-eyebrow {color: var(--color-accent);}
.section-title {margin-bottom: 24px;font-family: var(--font-heading);font-weight: var(--font-heading-weight);font-size: clamp(2rem, 4vw, 3.75rem);line-height: 1.05;}
.section-text {font-size: 1.05rem;line-height: 1.75;}
.text-image__image {width: 100%;/*aspect-ratio: 4 / 5;*/object-fit: cover;border-radius: 24px;}
.text-image__image--wide {aspect-ratio: 16 / 7;}

/*CARD STYLE*/
.card-item {height: 100%;overflow: hidden;border-radius: 24px;background: #fff;transition: transform 0.25s ease, box-shadow 0.25s ease;}
.card-item:hover {transform: translateY(-4px);}
.card-item__body {padding: 28px;text-align: center}
.card-item__media {overflow: hidden;}
.card-item__image {width: 100%;aspect-ratio: 4 / 3;object-fit: cover;transition: transform 0.35s ease;}
.card-item:hover .card-item__image {transform: scale(1.04);}
.card-item__icon {width: 75px;height: 75px;margin: 20px auto;}
.card-item__icon img {width: 100%;height: 100%;object-fit: contain;}
.card-item__title {margin-bottom: 14px;font-family: var(--font-heading);font-size: 25px;line-height: 1.15;color: var(--color-accent);text-transform: uppercase}
.card-item__text {margin-bottom: 0;line-height: 1.7;text-align: center;}
.card-item__link {display: block;margin-top: 30px;font-weight: 600;color: #fff;text-decoration: none;background: #333;border-radius: 20px;padding: 20px;}
.card-item__link:hover {color: var(--color-accent);}
/* Varianti */
.card-item--simple {border: 1px solid rgba(0, 0, 0, 0.08);}
.card-item--image {box-shadow: 0 16px 40px rgba(0, 0, 0, 0.08);}
.card-item--icon {border: 1px solid rgba(0, 0, 0, 0.08);}
.card-item--premium {box-shadow: 0 24px 60px rgba(0, 0, 0, 0.12);}
.bg-light .card-item {background: #fff;}
.bg-primary .card-item,.bg-dark .card-item {color: var(--color-text);}


.cta-a-cavallo-hero {
    position: relative;
    z-index: 20;
    margin-top: -48px;
    margin-bottom: 48px;
}

.cta-a-cavallo-hero .container {
    margin: 0 auto;
    padding: 0 24px;
}

.cta-a-cavallo-hero__grid {
    display: grid;
    grid-template-columns: repeat(var(--cta-columns, 3), 1fr);
    gap: 16px;
}

.cta-a-cavallo-hero--2 {
    --cta-columns: 2;
}

.cta-a-cavallo-hero--3 {
    --cta-columns: 3;
}

.cta-a-cavallo-hero--4 {
    --cta-columns: 4;
}

.cta-a-cavallo-hero__button {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 96px;
    padding: 24px;
    border-radius: 18px;
    background: var(--cta-color, var(--primary, #111827));
    color: #fff;
    text-decoration: none;
    font-weight: 400;
    font-size: 18px;
    text-align: center;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.18);
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.cta-a-cavallo-hero__button:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 55px rgba(15, 23, 42, 0.24);
    filter: brightness(1.05);
}

@media (max-width: 900px) {
    .cta-a-cavallo-hero__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 560px) {
    .cta-a-cavallo-hero {
        margin-top: -52px;
        margin-bottom: 32px;
    }

  

    .cta-a-cavallo-hero__button {
        min-height: 78px;
        font-size: 16px;
    }
}

/*GALLERY*/
.gallery-block__grid {display: grid;gap: 24px;}

.gallery-block__grid--grid {grid-template-columns: repeat(3, 1fr);}

.gallery-block__grid--masonry {grid-template-columns: repeat(4, 1fr);grid-auto-flow: dense;}

.gallery-block__item {overflow: hidden;border-radius: 24px;}

.gallery-block__image {width: 100%;height: 100%;object-fit: cover;transition: transform 0.35s ease;}

.gallery-block__item:hover .gallery-block__image {transform: scale(1.04);}

/* Griglia classica */
.gallery-block__grid--grid .gallery-block__image 
aspect-ratio: 4 / 3;}

/* Effetto masonry simulato */
.gallery-block__grid--masonry .gallery-block__item {min-height: 260px;}

.gallery-block__grid--masonry .gallery-block__item--0,.gallery-block__grid--masonry .gallery-block__item--5 {grid-column: span 2;grid-row: span 2;}

.gallery-block__grid--masonry .gallery-block__item--1,
.gallery-block__grid--masonry .gallery-block__item--2,
.gallery-block__grid--masonry .gallery-block__item--3,
.gallery-block__grid--masonry .gallery-block__item--4 {
grid-column: span 1;grid-row: span 1;}

.gallery-block__image--slider {aspect-ratio: 16 / 7;object-fit: cover;border-radius: 24px;}

.gallery-slider .carousel-control-prev,.gallery-slider .carousel-control-next {width: 56px;}

/*PROCESS STEPS*/
.process-step {position: relative;}

.process-step--horizontal,.process-step--cards {padding: 32px;border-radius: 24px;background: #fff;}

.process-step--cards {box-shadow: 0 18px 45px rgba(0, 0, 0, 0.08);}

.process-step__number {display: inline-flex;align-items: center;justify-content: center;min-width: 52px;height: 52px;margin-bottom: 24px;padding-inline: 14px;border-radius: 999px;background: var(--color-primary);color: #fff;font-weight: 700;}

.process-step__title {margin-bottom: 12px;font-family: var(--font-heading);font-size: 1.35rem;line-height: 1.2;}

.process-step__text {margin-bottom: 0;line-height: 1.7;}

.process-timeline {position: relative;}

.process-timeline::before {content: "";position: absolute;top: 0;left: 25px;width: 2px;height: 100%;background: var(--color-primary);opacity: 0.25;}

.process-step--vertical {display: grid;grid-template-columns: 52px 1fr;gap: 28px;margin-bottom: 36px;}

.process-step--vertical .process-step__number {position: relative;z-index: 2;margin-bottom: 0;}

.process-step--vertical:last-child {margin-bottom: 0;}

.bg-primary .process-step--horizontal,
.bg-primary .process-step--cards,
.bg-dark .process-step--horizontal,
.bg-dark .process-step--cards {
color: var(--color-text);
}

/*NUMBERS*/
.number-item {
    position: relative;
}

.number-item--boxed {
    padding: 36px 28px;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.06);
}

.number-item__number {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    margin-bottom: 16px;
    line-height: 1;
}

.number-item__value {
    font-family: var(--font-heading);
    font-size: clamp(2.5rem, 5vw, 4.5rem);
    font-weight: 700;
    color: var(--color-primary);
}

.number-item__suffix {
    margin-left: 4px;
    margin-top: 8px;
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--color-primary);
}

.number-item__label {
    margin-bottom: 10px;
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1.3;
}

.number-item__text {
    margin-bottom: 0;
    line-height: 1.6;
    opacity: 0.8;
}

.numbers-block--inline .number-item {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.bg-primary .number-item__value,
.bg-primary .number-item__suffix,
.bg-dark .number-item__value,
.bg-dark .number-item__suffix {
    color: var(--color-accent);
}

.bg-primary .number-item,
.bg-dark .number-item {
    color: #fff;
}

.bg-primary .number-item--boxed,
.bg-dark .number-item--boxed {
    color: var(--color-text);
}

/*CTA*/
.cta-block {
    position: relative;
}

.cta-block--full_width .container {
    max-width: 100%;
}

.cta-block--full_width .cta-block__content {
    padding-inline: 32px;
}

.cta-block__image {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 24px;
}

.bg-primary .cta-block,
.bg-dark .cta-block {
    color: #fff;
}

.bg-primary .btn-primary,
.bg-dark .btn-primary {
    background: #fff;
    color: var(--color-primary);
    border-color: #fff;
}

.bg-primary .btn-outline-primary,
.bg-dark .btn-outline-primary {
    color: #fff;
    border-color: #fff;
}

/*FAQ*/

.faq-accordion .accordion-item {
    margin-bottom: 16px;
    border: 0;
    border-radius: 18px;
    overflow: hidden;
    background: #fff;
}

.faq-accordion .accordion-button {
    padding: 22px 26px;
    font-weight: 600;
    color: var(--color-text);
    background: #fff;
    box-shadow: none;
}

.faq-accordion .accordion-button:not(.collapsed) {
    color: var(--color-primary);
    background: #fff;
}

.faq-accordion .accordion-body {
    padding: 0 26px 24px;
    line-height: 1.7;
}

.faq-item {
    height: 100%;
    padding: 28px;
    border-radius: 24px;
    background: #fff;
}

.faq-item__question {
    margin-bottom: 14px;
    font-family: var(--font-heading);
    font-size: 1.35rem;
}

.faq-item__answer {
    line-height: 1.7;
}

.bg-primary .faq-item,
.bg-dark .faq-item,
.bg-primary .accordion-item,
.bg-dark .accordion-item {
    color: var(--color-text);
}

.site-header {width: 100%;background: var(--color-bg);z-index: 50;}
.site-header.is-sticky {position: sticky;top: 0;}
.site-header.is-transparent {position: absolute;background: transparent;}
.header-inner {display: flex;align-items: center;justify-content: space-between;gap: 32px;padding-block: 20px;}
.site-logo img {max-height: 56px;width: auto;}
.menu,.footer-menu {display: flex;gap: 24px;list-style: none;padding: 0;margin: 0;}

.footer-menu--vertical {display: block}
.btn {display: inline-flex;align-items: center;justify-content: center;padding: 12px 22px;border-radius: 999px;text-decoration: none;font-weight: 600;}
.btn-primary {background: var(--color-primary);color: #fff;}
.footer-list li {display: inline-block;margin-right: 10px;}
.footer-menu li a{color: #333;text-transform: uppercase}

nav{margin-top: 10px;}
nav ul{margin: 0;padding: 0;text-align: center;}
nav li{list-style: none;display: inline-block;text-transform: uppercase;margin: 15px 5px;}
nav li a{color: #333;text-decoration: none;padding: 20px;}
nav li a:hover{text-decoration: none!important;}



.img-gradient-green{background: linear-gradient(90deg, rgba(34,122,11,1) 0%, rgba(0,187,255,1) 100%);background-blend-mode: multiply;}
.img-gradient{background-image:
    linear-gradient(to bottom, rgba(245, 246, 252, 0.52), rgba(117, 19, 93, 0.73)),
    url('https://pcbdesign.it/index.php/mediashow/image/pcb-img-stock-002.jpg');}

.marg-slider{margin-top: -70px;}

.tit-blog{position: absolute;z-index: 999;padding-top: 160px;padding-left: 40px;}
.tit-blog h1{color: #fff;font-weight: 700;text-shadow: 2px 2px 2px #333;}
.tit-blog span{color: #fff;text-shadow: 1px 1px 1px #333;}

.lastpost{}
.lastpost span{}
.lastpost a:hover{color: #FFC100}
.lastpost img{height: 200px!important;}

.box-evidenza{font-size: 12px;margin-bottom: 20px;}

.button-li{}
.button-li ul{margin: 0;padding: 0;text-align: center;}
.button-li li{display: inline-block;background: var(--color-accent);margin: 10px 20px;padding: 10px;border-radius: 10px;text-transform: uppercase;}
.button-li li a{color: #fff;font-weight: 600;}

.banner-top{text-align: center;}
.banner-top img{width: 70%;}

.logo{position: relative;
    z-index: 999;
    background: #fff;
    padding: 20px;
    border-radius: 20px;}
.logo img{}

.logo-footer{width: 300px;margin: 0 auto;}

.duecolumn {
   column-count: 2;
   column-gap: 20px; 
}

.menu-istituzionale{text-align: right;}
ul.menu-istituzionale{margin: 0;padding: 0;text-align: right;width: 100%}
.menu-istituzionale li{display: inline-block;text-transform: uppercase;list-style: none;font-size: 12px;}
.menu-istituzionale li a{color:#333;padding: 5px;}
.menu-istituzionale li a:hover{border-bottom: 3px solid var(--color-accent);}
.active{border-bottom: 3px solid var(--color-accent);}

.menu-operativo{text-align: right;}
ul.menu-operativo{margin: 0;padding: 0;width: 100%}
.menu-operativo li{display: inline-block;text-transform: uppercase;list-style: none;font-size: 15px;font-weight: 600}
.menu-operativo li a{color:var(--color-accent);padding: 5px 10px;}
.menu-operativo li a:hover{color:#FFC100;background:var(--color-accent); }
.active-op{color:#FFC100!important;background:var(--color-accent); }

.news-scorr{background:#FFC100;padding: 5px;color: #333;font-size: 12px; }



.box-round{border-radius: 10px;padding: 15px;color: #fff;font-weight: 600;text-transform: uppercase;}
.iscriviti{background: #fff;color: var(--color-accent);width: 100%;padding: 10px;text-align: center;border-radius: 10px;}

.button-forum{position: fixed;right: -50px;bottom: 120px; background: #ff5426;padding: 10px 20px;border-radius: 20px;text-transform: uppercase;font-size: 20px;color: #fff;font-weight: 600;z-index: 99999;width: 180px;}
.button-forum a{color: #fff;}
.button-forum a:hover{color: #fff;}

.contain img{object-fit: contain!important;}

.box-yellow{border:1px solid #FFC100;}
.title-box{background: #FFC100;padding: 5px;width: 100%;text-align: center;text-transform: uppercase;font-weight: 600;}

.img-box{height: 100%;}
.img-box img{width: 100%; height: 100%;object-fit: cover;}
.data-blog-home{font-size: 12px;font-weight: 200;}
.title-blog-home{text-transform: uppercase;font-weight: 600;font-size: 25px;margin: 20px 0;line-height: 25px;}
.text-blog-home{font-size: 15px;margin-bottom: 20px;}
.button-full-width{color: #fff;padding: 5px;text-align: center;border-radius: 10px;text-transform: uppercase;}
.button-full-width a{color: #fff;}

.footer-bottom{text-align: center;padding: 20px;background: #333;}

footer{border-top: 15px solid var(--color-accent);padding: 30px 0}
footer p{margin-bottom: 20px}
footer img{width: 70%; height: auto;object-fit: contain;margin-bottom: 20px;}

.menu-container {text-align: right;max-height: 700px;overflow: auto;width: 100%}
.menub {list-style-type: none;margin: 0;padding: 23px 0;overflow: hidden;transition: max-height 0.5s ease-out;}
.menub li {display: inline-block;}
.menub li a {display: block;text-align: left;padding: 14px 0;text-decoration: none;color: #333;text-transform: uppercase;}
.menu-toggle {display: none;}
.submenu {display: none;position: absolute;list-style-type: none;padding: 0;margin: 0;background-color: #f9f9f9;box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);}
.submenu li {display: block;}
.submenu li a {padding: 12px 16px;text-decoration: none;display: block;text-align: left;color: black;}
.submenu-parent:hover .submenu {display: block;}


.menufooter {list-style-type: none;margin: 0;padding: 23px 0;overflow: hidden;transition: max-height 0.5s ease-out;}
.menufooter li {text-align: center;margin-bottom: 20px}
.menufooter li a {text-decoration: none;color: #FFF;text-transform: uppercase;}


@media (max-width: 600px) {
	.logo{}
	.center-mob{text-align: center!important;}
	
	.mb-10-mob{margin-bottom: 10px;}
	.mb-20-mob{margin-bottom: 20px;}
	.mb-30-mob{margin-bottom: 30px;}
	.mb-40-mob{margin-bottom: 40px;}
	.mb-50-mob{margin-bottom: 50px;}
	
	.w-70{width: 100%;}
	
	.menu{padding: 0;margin: 0;}
	.shop-button a{background: #fff!important;border-radius: 0; padding: 14px 16px!important;font-weight: 700;color: #000;}
	.wpml-ls-flag{width: 20px;}
	.menub {background: #000;position: fixed;height: 100%;width: 0;top: 0;left: 0;overflow-x: hidden;transition: 0.5s;z-index: 1;padding-top: 30px;}
	.menub li {display: block;padding-left: 20px;}
	.menub li a {color: #FFF;}
	.menu-toggle {display: block;position: absolute; right: 0px; top:30px;background: #fff;border: 1px solid #e4e4e4;border-radius: 10px;width: 50px;height: 50px;}
	.submenu {position: static;box-shadow: none;}
	.submenu li {padding-left: 20px;}
	
	.marg-slider{margin-top: 0!important;}
	.no-mobile{display: none;}

}






