/* Base esterna delle nuove pagine prodotto. Migrazione iniziata dal WL8. */
    .wl8 {
        --g: #76b729;
        --d: #1b1b1b;
        --s: #f2f2f2;
        --r: #d9ddda;
        --c: #555;
        color: var(--d);
        background: #fff
    }

    .wl8,
    .wl8 * {
        box-sizing: border-box
    }

    .wl8 h1,
    .wl8 h2,
    .wl8 h3,
    .wl8 p,
    .wl8 figure,
    .wl8 dl,
    .wl8 dd {
        margin: 0
    }

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

    .wl8-wrap {
        width: calc(100% - 40px);
        max-width: 1170px;
        margin: auto
    }

    .wl8-hero {
        color: #fff;
        background: var(--d)
    }

    .wl8-hero-grid {
        display: grid;
        grid-template-columns: 5fr 7fr;
        gap: 55px;
        align-items: center;
        width: calc(100% - 40px);
        max-width: 1170px;
        margin: auto;
        padding: 55px 0 45px
    }

    .wl8-crumb {
        margin-bottom: 30px;
        color: #aeb7b1;
        font-size: 13px
    }

    .wl8-crumb a {
        color: #dce2de
    }

    .wl8-crumb span {
        padding-inline: 9px;
        color: #69716c
    }

    .wl8-hero h1 {
        max-width: 560px;
        color: #fff;
        font-family: Montserrat, sans-serif;
        font-size: clamp(38px, 3.4vw, 51px);
        font-weight: 700;
        line-height: 1.02;
        text-transform: none !important
    }

    .wl8-hero h1 small {
        display: block;
        margin-top: 17px;
        color: #dce2de;
        font-size: 19px;
        font-weight: 500;
        line-height: 1.3;
        text-transform: none
    }

    .wl8-hero-copy p {
        max-width: 500px;
        margin-top: 23px;
        color: #bec7c2;
        font-size: 15px;
        line-height: 1.65
    }

    .wl8-carousel {
        position: relative
    }

    .wl8-slides {
        position: relative;
        overflow: hidden;
        aspect-ratio: 4/3;
        background: #242424
    }

    .wl8-slide {
        position: absolute;
        inset: 0;
        opacity: 0;
        visibility: hidden;
        transition: opacity .35s
    }

    .wl8-slide.active {
        opacity: 1;
        visibility: visible
    }

    .wl8-slide img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover
    }

    .wl8-arrow {
        position: absolute;
        z-index: 2;
        top: 50%;
        width: 42px;
        height: 42px;
        margin-top: -21px;
        border: 0;
        color: #fff;
        background: rgba(27, 27, 27, .78);
        font-size: 25px;
        cursor: pointer
    }

    .wl8-arrow:hover {
        background: var(--g)
    }

    .wl8-prev {
        left: 12px
    }

    .wl8-next {
        right: 12px
    }

    .wl8-dots {
        position: absolute;
        z-index: 2;
        right: 0;
        bottom: 15px;
        left: 0;
        display: flex;
        justify-content: center;
        gap: 8px
    }

    .wl8-dot {
        width: 9px;
        height: 9px;
        padding: 0;
        border: 1px solid #fff;
        border-radius: 50%;
        background: transparent
    }

    .wl8-dot.active {
        background: var(--g);
        border-color: var(--g)
    }

    .wl8-count {
        position: absolute;
        z-index: 2;
        right: 15px;
        bottom: 12px;
        padding: 6px 9px;
        background: rgba(27, 27, 27, .82);
        font-size: 11px
    }

    .wl8-fact-shell {
        border-top: 1px solid #343b3e
    }

    .wl8-facts {
        float: none !important;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        width: calc(100% - 40px) !important;
        max-width: 1170px;
        margin: 0 auto !important
    }

    .wl8-facts>div {
        padding: 20px 24px 23px 0
    }

    .wl8-facts>div+div {
        padding-left: 24px;
        border-left: 1px solid #343b3e
    }

    .wl8-facts dt {
        color: #9fa9a3;
        font-size: 13px
    }

    .wl8-facts dd {
        margin-top: 5px;
        color: #fff;
        font-family: Montserrat, sans-serif;
        font-size: 18px;
        font-weight: 600
    }

    .wl8-tabs {
        position: sticky;
        z-index: 50;
        top: var(--wl8-nav, 80px);
        border-bottom: 1px solid var(--r);
        background: rgba(255, 255, 255, .98)
    }

    .wl8-tabs-row {
        display: flex;
        overflow-x: auto;
        scrollbar-width: none
    }

    .wl8-tabs-row::-webkit-scrollbar {
        display: none
    }

    .wl8-tabs a {
        flex: 1 0 auto;
        display: flex;
        gap: 10px;
        align-items: center;
        min-height: 66px;
        padding-inline: 22px;
        border-right: 1px solid var(--r);
        color: #424a46;
        font-family: Montserrat, sans-serif;
        font-size: 14px;
        font-weight: 600;
        text-decoration: none
    }

    .wl8-tabs a:first-child {
        border-left: 1px solid var(--r)
    }

    .wl8-tabs a span {
        color: #737b76;
        font-size: 11px
    }

    .wl8-tabs a.active,
    .wl8-tabs a:hover {
        color: var(--d);
        background: #f7f7f7;
        box-shadow: inset 0 -4px var(--g)
    }

    .wl8-section {
        padding-block: 60px;
        scroll-margin-top: calc(var(--wl8-nav, 80px) + 70px)
    }

    .wl8-split {
        display: grid;
        grid-template-columns: 5fr 7fr;
        gap: 45px 90px;
        align-items: start
    }

    .wl8-section h2 {
        max-width: 16ch;
        font-family: Montserrat, sans-serif;
        font-size: 34px;
        font-weight: 650;
        line-height: 1.08;
        text-transform: none !important
    }

    .wl8-intro {
        max-width: 590px;
        color: var(--c);
        font-size: 16px;
        line-height: 1.65
    }

    .wl8-app,
    .wl8-plus {
        background: var(--s)
    }

    .wl8-list li {
        padding: 18px 0;
        border-bottom: 1px solid #c7cdca;
        font-family: Montserrat, sans-serif;
        font-size: 18px;
        font-weight: 500
    }

    .wl8-list li:first-child {
        padding-top: 0
    }

    .wl8-tech {
        margin-top: 42px;
        border-top: 1px solid var(--r);
        border-bottom: 1px solid var(--r)
    }

    .wl8-tech header {
        display: grid;
        grid-template-columns: 5fr 7fr;
        gap: 45px 90px;
        padding: 30px 0
    }

    .wl8-tech h3,
    .wl8-detail h3,
    .wl8-control h3 {
        font-family: Montserrat, sans-serif;
        font-size: 20px;
        line-height: 1.25;
        text-transform: none !important
    }

    .wl8-tech p,
    .wl8-detail p,
    .wl8-control p {
        color: var(--c);
        font-size: 16px;
        line-height: 1.65
    }

    .wl8-tech-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        border-top: 1px solid var(--r)
    }

    .wl8-tech-item {
        padding: 32px 28px 36px 0
    }

    .wl8-tech-item+.wl8-tech-item {
        padding-left: 28px;
        border-left: 1px solid var(--r)
    }

    .wl8-tech-item:before {
        content: '';
        display: block;
        width: 34px;
        height: 3px;
        margin-bottom: 18px;
        background: var(--g)
    }

    .wl8-tech-item h3 {
        margin-bottom: 16px
    }

    .wl8-tech-item p+p,
    .wl8-detail p+p {
        margin-top: 13px
    }

    .wl8-details {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1px;
        width: 100vw;
        margin-top: 46px;
        margin-left: calc(50% - 50vw);
        padding: 48px max(20px, calc((100vw - 1170px)/2));
        background: #d8d8d8 url('../img/products/tunnel-cottura-pastorizzazione-wl8/wl8-onsite.webp') center/cover fixed
    }

    .wl8-detail {
        padding: 30px 38px 32px;
        background: rgba(255, 255, 255, .92)
    }

    .wl8-detail h3 {
        margin-bottom: 16px
    }

    .wl8-belt {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 18px;
        margin-top: 32px
    }

    .wl8-belt img {
        display: block;
        width: 100%;
        aspect-ratio: 4/3;
        object-fit: cover
    }

    .wl8-control {
        display: grid;
        grid-template-columns: 5fr 7fr;
        gap: 45px 90px;
        margin-top: 46px;
        padding: 34px;
        background: var(--s)
    }

    .wl8-specs>div {
        display: grid;
        grid-template-columns: 1.15fr 1fr;
        gap: 20px;
        padding: 14px 0;
        border-bottom: 1px solid #c4cac7
    }

    .wl8-specs dt {
        color: #535c57
    }

    .wl8-specs dd {
        font-family: Montserrat, sans-serif;
        font-size: 16px;
        font-weight: 600
    }

    .wl8-plus h2 {
        max-width: 920px
    }

    .wl8-plus-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        margin-top: 42px;
        border-top: 1px solid #c9cecb;
        border-left: 1px solid #c9cecb
    }

    .wl8-plus-item {
        padding: 28px 30px 32px;
        border-right: 1px solid #c9cecb;
        border-bottom: 1px solid #c9cecb
    }

    .wl8-num {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 42px;
        height: 42px;
        margin-bottom: 22px;
        border-radius: 50%;
        color: #fff;
        background: var(--g);
        font-family: Montserrat, sans-serif;
        font-size: 19px
    }

    .wl8-plus-item h3 {
        min-height: 50px;
        margin-bottom: 14px;
        font-family: Montserrat, sans-serif;
        font-size: 19px;
        text-transform: none !important
    }

    .wl8-plus-item p {
        color: var(--c);
        font-size: 15px;
        line-height: 1.55
    }

    .wl8-download {
        color: #fff;
        background: var(--d)
    }

    .wl8-download h2 {
        color: #fff
    }

    .wl8-download>div>p {
        margin-top: 18px;
        color: #bec7c2;
        font-size: 16px
    }

    .wl8-download-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 40px;
        margin-top: 42px
    }

    .wl8-download-item {
        display: grid;
        grid-template-columns: 155px 1fr;
        gap: 28px;
        align-items: end;
        padding: 28px;
        border: 1px solid #3d4441
    }

    .wl8-download-item img {
        width: 155px;
        height: 219px;
        object-fit: cover
    }

    .wl8-download-item h3 {
        margin-bottom: 12px;
        font-family: Montserrat, sans-serif;
        font-size: 20px;
        text-transform: none !important
    }

    .wl8-download-item p {
        color: #bec7c2;
        font-size: 14px
    }

    .wl8-button {
        display: inline-flex;
        margin-top: 20px;
        padding: 11px 16px;
        color: #fff;
        background: var(--g);
        font-family: Montserrat, sans-serif;
        font-size: 13px;
        text-decoration: none
    }

    .wl8-gallery {
        display: grid;
        grid-template-columns: 4fr 8fr;
        gap: 45px 70px
    }

    .wl8-gallery-copy p {
        margin-top: 18px;
        color: var(--c);
        font-size: 16px;
        line-height: 1.6
    }

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

    .wl8-gallery-grid a {
        display: block;
        overflow: hidden
    }

    .wl8-gallery-grid img {
        display: block;
        width: 100%;
        aspect-ratio: 4/3;
        object-fit: cover
    }

    .wl8-validation {
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 20px;
        align-items: center;
        max-width: 650px;
        margin-top: 42px;
        padding: 25px 30px;
        background: #f2dfc4
    }

    .wl8-validation-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 62px;
        height: 62px;
        border: 4px solid #665f55;
        border-radius: 50%;
        color: #665f55;
        font-size: 27px
    }

    .wl8-validation-label {
        color: #665f55;
        font-family: 'Montserrat', sans-serif;
        font-size: 12px;
        font-weight: 700;
        text-transform: uppercase
    }

    .wl8-validation h3 {
        margin: 3px 0 5px;
        font-family: 'Montserrat', sans-serif;
        font-size: 22px;
        font-weight: 700;
        line-height: 1.15;
        text-transform: none !important
    }

    .wl8-validation p {
        color: #665f55;
        font-size: 13px;
        line-height: 1.45
    }

    .wl8-validation-tags {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        margin-top: 8px
    }

    .wl8-validation-tags span {
        padding: 3px 8px;
        border-radius: 10px;
        background: rgba(102, 95, 85,.1);
        color: #665f55;
        font-size: 9px;
        font-weight: 700;
        text-transform: uppercase
    }

    @media(max-width:900px) {

        .wl8-hero-grid,
        .wl8-split,
        .wl8-tech header,
        .wl8-control,
        .wl8-gallery {
            grid-template-columns: 1fr
        }

        .wl8-tech-grid,
        .wl8-details {
            grid-template-columns: 1fr
        }

        .wl8-tech-item,
        .wl8-tech-item+.wl8-tech-item {
            padding: 28px 0;
            border-left: 0
        }

        .wl8-tech-item+.wl8-tech-item {
            border-top: 1px solid var(--r)
        }

        .wl8-details {
            padding: 28px 20px;
            background-attachment: scroll
        }

        .wl8-plus-grid {
            grid-template-columns: repeat(2, 1fr)
        }

        .wl8-download-grid {
            grid-template-columns: 1fr
        }
    }

@media(max-width:620px) {

        .wl8-wrap,
        .wl8-hero-grid {
            width: calc(100% - 24px)
        }

        .wl8-facts {
            grid-template-columns: 1fr;
            width: calc(100% - 24px) !important
        }

        .wl8-facts>div,
        .wl8-facts>div+div {
            padding: 17px 0;
            border-left: 0
        }

        .wl8-facts>div+div {
            border-top: 1px solid #343b3e
        }

        .wl8-tabs a {
            min-height: 58px;
            padding-inline: 15px
        }

        .wl8-section {
            padding-block: 55px
        }

        .wl8-plus-grid,
        .wl8-gallery-grid,
        .wl8-belt {
            grid-template-columns: 1fr
        }

        .wl8-plus-item h3 {
            min-height: 0
        }

        .wl8-download-item {
            grid-template-columns: 110px 1fr;
            gap: 20px;
            padding: 20px
        }

        .wl8-download-item img {
            width: 110px;
            height: 156px
        }

    .wl8-specs>div {
        grid-template-columns: 1fr;
        gap: 4px
    }
}

/* Pagina tunnel di pastorizzazione: stili esterni, nello stesso foglio dei prodotti. */
    .pasteur-page {
        --pasteur-carbon: #1b1b1b;
        --pasteur-green: #76b729;
        --pasteur-steel: #f2f2f2;
        --pasteur-white: #ffffff;
        --pasteur-rule: #dddddd;
        --pasteur-copy: #555555;
    }
    .pasteur-page, .pasteur-page * { box-sizing: border-box; }
    .pasteur-page { color: var(--pasteur-carbon); background: var(--pasteur-white); }
    .pasteur-page h1, .pasteur-page h2, .pasteur-page h3, .pasteur-page p, .pasteur-page figure,
    .pasteur-page ul, .pasteur-page ol, .pasteur-page dl, .pasteur-page dd { margin: 0; }
    .pasteur-page ul, .pasteur-page ol { padding: 0; list-style: none; }
    .pasteur-wrap { width: calc(100% - 40px); max-width: 1170px; margin-right: auto; margin-left: auto; }

    .pasteur-hero { color: var(--pasteur-white); background: var(--pasteur-carbon); }
    .pasteur-hero-grid { display: grid; grid-template-columns: 5fr 7fr; gap: 55px; align-items: center; width: calc(100% - 40px); max-width: 1170px; margin: 0 auto; padding: 55px 0 45px; }
    .pasteur-hero-copy { padding: 0; }
    .pasteur-breadcrumb { margin-bottom: 30px; color: #aeb7b1; font-size: 13px; }
    .pasteur-breadcrumb a { color: #dce2de; }
    .pasteur-breadcrumb span { padding-inline: 9px; color: #69716c; }
    .pasteur-hero h1 { max-width: 560px; color: #fff; font-family: 'Montserrat', sans-serif; font-size: clamp(38px, 3.4vw, 51px); font-weight: 700; letter-spacing: -0.03em; line-height: 1.02; text-transform: none; }
    .pasteur-hero h1 small { display: block; margin-top: 17px; color: #dce2de; font-size: 19px; font-weight: 500; letter-spacing: 0; line-height: 1.3; text-transform: none; }
    .pasteur-hero-copy > p { max-width: 500px; margin-top: 23px; color: #bec7c2; font-size: 15px; line-height: 1.65; }
    .pasteur-hero-gallery { position: relative; min-width: 0; }
    .pasteur-slides { position: relative; overflow: hidden; aspect-ratio: 4 / 3; background: #242424; }
    .pasteur-slide { position: absolute; inset: 0; margin: 0; opacity: 0; visibility: hidden; transition: opacity .35s ease, visibility .35s ease; }
    .pasteur-slide.active { opacity: 1; visibility: visible; }
    .pasteur-slide img { display: block; width: 100%; height: 100%; object-fit: cover; }
    .pasteur-carousel-button { position: absolute; z-index: 3; top: 50%; width: 42px; height: 42px; margin-top: -21px; padding: 0; border: 0; color: #fff; background: rgba(27,27,27,.78); font-size: 25px; line-height: 42px; text-align: center; cursor: pointer; }
    .pasteur-carousel-button:hover { background: var(--pasteur-green); }
    .pasteur-carousel-button.prev { left: 12px; }
    .pasteur-carousel-button.next { right: 12px; }
    .pasteur-carousel-button:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
    .pasteur-carousel-dots { position: absolute; z-index: 3; right: 0; bottom: 15px; left: 0; display: flex; justify-content: center; gap: 8px; }
    .pasteur-carousel-dot { width: 9px; height: 9px; padding: 0; border: 1px solid #fff; border-radius: 50%; background: transparent; cursor: pointer; }
    .pasteur-carousel-dot.active { background: var(--pasteur-green); border-color: var(--pasteur-green); }
    .pasteur-image-count { position: absolute; z-index: 3; right: 15px; bottom: 12px; padding: 6px 9px; color: #fff; background: rgba(27,27,27,.82); font-family: 'Montserrat', sans-serif; font-size: 11px; }

    .pasteur-facts-shell { border-top: 1px solid #343b3e; }
    .pasteur-facts { float: none !important; display: grid; grid-template-columns: repeat(3, 1fr); width: calc(100% - 40px) !important; max-width: 1170px; margin: 0 auto !important; }
    .pasteur-facts > div { padding: 20px 24px 23px 0; }
    .pasteur-facts > div + div { padding-left: 24px; border-left: 1px solid #343b3e; }
    .pasteur-facts dt { color: #9fa9a3; font-size: 13px; }
    .pasteur-facts dd { margin-top: 5px; color: #fff; font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: 600; line-height: 1.2; }

    .pasteur-tabs { position: -webkit-sticky; position: sticky; z-index: 50; top: var(--pasteur-navbar-height, 80px); border-bottom: 1px solid var(--pasteur-rule); background: rgba(255,255,255,.98); }
    .pasteur-tabs-row { display: flex; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: none; }
    .pasteur-tabs-row::-webkit-scrollbar { display: none; }
    .pasteur-tabs a { flex: 1 0 auto; display: flex; align-items: center; gap: 10px; min-height: 66px; padding-inline: 22px; border-right: 1px solid var(--pasteur-rule); color: #424a46; font-family: 'Montserrat', sans-serif; font-size: 14px; font-weight: 600; text-decoration: none; }
    .pasteur-tabs a:first-child { border-left: 1px solid var(--pasteur-rule); }
    .pasteur-tabs a span { color: #737b76; font-size: 11px; }
    .pasteur-tabs a:hover, .pasteur-tabs a.active { color: var(--pasteur-carbon); background: #f7f7f7; box-shadow: inset 0 -4px var(--pasteur-green); }
    .pasteur-tabs a.active span { color: var(--pasteur-green); }

    .pasteur-section { padding-block: 60px; scroll-margin-top: calc(var(--pasteur-navbar-height, 80px) + 70px); }
    .pasteur-split { display: grid; grid-template-columns: 5fr 7fr; gap: 45px 90px; align-items: start; }
    .pasteur-section h2 { max-width: 14ch; font-family: 'Montserrat', sans-serif; font-size: 34px; font-weight: 650; letter-spacing: -.02em; line-height: 1.08; text-transform: none !important; }
    .pasteur-intro { max-width: 510px; margin-top: 18px; color: var(--pasteur-copy); font-size: 15px; line-height: 1.6; }
    .pasteur-applications { background: var(--pasteur-steel); }
    .pasteur-application-list li { padding: 17px 0; border-bottom: 1px solid #c7cdca; font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: 500; line-height: 1.3; }
    .pasteur-application-list li:first-child { padding-top: 0; }

    .pasteur-process { background: var(--pasteur-white); }
    .pasteur-process-lead { max-width: 620px; color: var(--pasteur-copy); font-size: 17px; line-height: 1.6; }
    .pasteur-technology { margin-top: 42px; border-top: 1px solid var(--pasteur-rule); border-bottom: 1px solid var(--pasteur-rule); }
    .pasteur-technology > header { display: grid; grid-template-columns: 5fr 7fr; gap: 45px 90px; padding: 30px 0; }
    .pasteur-technology > header h3 { font-family: 'Montserrat', sans-serif; font-size: 24px; font-weight: 600; line-height: 1.25; text-transform: none !important; }
    .pasteur-technology > header p { max-width: 650px; color: var(--pasteur-copy); font-size: 16px; line-height: 1.65; }
    .pasteur-technology-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--pasteur-rule); }
    .pasteur-technology-item { position: relative; padding: 32px 38px 36px 0; }
    .pasteur-technology-item + .pasteur-technology-item { padding-right: 0; padding-left: 38px; border-left: 1px solid var(--pasteur-rule); }
    .pasteur-technology-item::before { content: ''; display: block; width: 34px; height: 3px; margin-bottom: 18px; background: var(--pasteur-green); }
    .pasteur-technology-item h3 { margin-bottom: 16px; font-family: 'Montserrat', sans-serif; font-size: 21px; font-weight: 600; line-height: 1.25; text-transform: none !important; }
    .pasteur-technology-item p { color: var(--pasteur-copy); font-size: 16px; line-height: 1.65; }
    .pasteur-technology-item p + p { margin-top: 13px; }

    .pasteur-process-details { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; width: 100vw; margin-top: 46px; margin-left: calc(50% - 50vw); padding: 48px max(20px, calc((100vw - 1170px) / 2)); background-color: #d8d8d8; background-image: linear-gradient(rgba(255,255,255,.38), rgba(255,255,255,.38)), url('../img/products/tunnel-pastorizzazione/tunnel-prodotti-confezionati.webp'); background-position: center; background-size: cover; background-attachment: fixed; }
    .pasteur-process-detail { padding: 30px 38px 32px; background: rgba(255,255,255,.9); backdrop-filter: blur(2px); }
    .pasteur-process-detail:nth-child(even) { padding: 30px 38px 32px; }
    .pasteur-process-detail h3, .pasteur-process-control h3 { margin-bottom: 16px; font-family: 'Montserrat', sans-serif; font-size: 20px; font-weight: 600; line-height: 1.25; text-transform: none !important; }
    .pasteur-process-detail p, .pasteur-process-control p { color: var(--pasteur-copy); font-size: 16px; line-height: 1.65; }
    .pasteur-process-detail p + p { margin-top: 13px; }
    .pasteur-process-control { display: grid; grid-template-columns: 5fr 7fr; gap: 45px 90px; margin-top: 46px; padding: 34px; background: var(--pasteur-steel); }
    .pasteur-process-control ul { margin-top: 14px; padding-left: 0 !important; color: var(--pasteur-copy); font-size: 16px; line-height: 1.7; list-style: none !important; }
    .pasteur-process-control ul li { position: relative; display: block !important; padding-left: 18px; }
    .pasteur-process-control ul li::before { content: '•'; position: absolute; left: 0; color: var(--pasteur-green); font-size: 18px; line-height: 1.45; }

    .pasteur-quality { color: var(--pasteur-carbon); background: var(--pasteur-steel); }
    .pasteur-quality .pasteur-intro { color: var(--pasteur-copy); }
    .pasteur-qualities { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 38px; }
    .pasteur-quality-item { padding: 0 0 28px; }
    .pasteur-quality-item:nth-child(n+3) { padding-top: 28px; border-top: 1px solid var(--pasteur-rule); }
    .pasteur-quality-item h3 { margin-bottom: 11px; color: var(--pasteur-carbon); font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: 600; text-transform: none !important; }
    .pasteur-quality-item h3::before { content: ''; display: block; width: 30px; height: 3px; margin-bottom: 14px; background: var(--pasteur-green); }
    .pasteur-quality-item p { color: var(--pasteur-copy); line-height: 1.6; }

    .pasteur-data { position: relative; overflow: hidden; background: #fff; }
    .pasteur-data .pasteur-wrap { position: relative; z-index: 1; }
    .pasteur-data .pasteur-intro { margin-top: 28px !important; }
    .pasteur-specs > div { display: grid; grid-template-columns: 1.15fr 1fr; gap: 20px; padding: 14px 0; border-bottom: 1px solid #c4cac7; }
    .pasteur-specs > div:first-child { padding-top: 0; }
    .pasteur-specs dt { color: #535c57; }
    .pasteur-specs dd { font-family: 'Montserrat', sans-serif; font-size: 16px; font-weight: 600; }

    .pasteur-plus { background: var(--pasteur-steel); }
    .pasteur-plus-heading { max-width: 920px !important; color: var(--pasteur-carbon); font-size: 34px !important; line-height: 1.25 !important; }
    .pasteur-plus-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 42px; border-top: 1px solid #c9cecb; border-left: 1px solid #c9cecb; }
    .pasteur-plus-item { min-width: 0; padding: 28px 30px 32px; border-right: 1px solid #c9cecb; border-bottom: 1px solid #c9cecb; }
    .pasteur-plus-number { display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; margin-bottom: 22px; border-radius: 50%; color: #fff; background: var(--pasteur-green); font-family: 'Montserrat', sans-serif; font-size: 19px; font-weight: 600; }
    .pasteur-plus-item h3 { min-height: 50px; margin-bottom: 14px; font-family: 'Montserrat', sans-serif; font-size: 19px; font-weight: 700; line-height: 1.2; text-transform: none !important; }
    .pasteur-plus-item p { color: var(--pasteur-copy); font-size: 15px; line-height: 1.55; }
    .pasteur-validation { display: grid; grid-template-columns: auto 1fr; gap: 20px; align-items: center; max-width: 650px; margin-top: 42px; padding: 25px 30px; background: #f2dfc4; }
    .pasteur-validation-icon { display: flex; align-items: center; justify-content: center; width: 62px; height: 62px; border: 4px solid #665f55; border-radius: 50%; color: #665f55; font-size: 27px; }
    .pasteur-validation-label { color: #665f55; font-family: 'Montserrat', sans-serif; font-size: 12px; font-weight: 700; text-transform: uppercase; }
    .pasteur-validation h3 { margin: 3px 0 5px; font-family: 'Montserrat', sans-serif; font-size: 22px; font-weight: 700; line-height: 1.15; text-transform: none !important; }
    .pasteur-validation p { color: #665f55; font-size: 13px; line-height: 1.45; }
    .pasteur-validation-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
    .pasteur-validation-tags span { padding: 3px 8px; border-radius: 10px; background: rgba(102,95,85,.1); color: #665f55; font-size: 9px; font-weight: 700; text-transform: uppercase; }

    .pasteur-download { color: #fff; background: var(--pasteur-carbon); }
    .pasteur-download h2 { color: #fff; }
    .pasteur-download-intro { max-width: 600px; margin-top: 18px !important; color: #bec7c2; font-size: 16px; line-height: 1.6; }
    .pasteur-download-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-top: 42px; }
    .pasteur-download-item { display: grid; grid-template-columns: 155px 1fr; gap: 28px; align-items: end; min-width: 0; padding: 28px; border: 1px solid #3d4441; }
    .pasteur-download-item img { display: block; width: 155px; height: 219px; border: 1px solid rgba(255,255,255,.25); object-fit: cover; }
    .pasteur-download-item h3 { margin-bottom: 12px; color: #fff; font-family: 'Montserrat', sans-serif; font-size: 20px; font-weight: 600; line-height: 1.25; text-transform: none !important; }
    .pasteur-download-item p { color: #bec7c2; font-size: 14px; line-height: 1.55; }
    .pasteur-download-button { display: inline-flex; margin-top: 20px; padding: 11px 16px; color: #fff; background: var(--pasteur-green); font-family: 'Montserrat', sans-serif; font-size: 13px; font-weight: 600; text-decoration: none; }
    .pasteur-download-button:hover, .pasteur-download-button:focus { color: #fff; background: #5e941f; }

    .pasteur-gallery { background: #fff; }
    .pasteur-gallery-layout { display: grid; grid-template-columns: 4fr 8fr; gap: 45px 70px; align-items: start; }
    .pasteur-gallery-copy p { max-width: 340px; margin-top: 18px; color: var(--pasteur-copy); font-size: 16px; line-height: 1.6; }
    .pasteur-gallery-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
    .pasteur-gallery-grid a { position: relative; display: block; overflow: hidden; background: var(--pasteur-steel); }
    .pasteur-gallery-grid img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .25s ease; }
    .pasteur-gallery-grid a:hover img { transform: scale(1.025); }
    .pasteur-gallery-grid a:focus-visible { outline: 3px solid var(--pasteur-green); outline-offset: 3px; }

    .pasteur-control { color: #fff; background: var(--pasteur-carbon); }
    .pasteur-control h2 { color: #fff; }
    .pasteur-control-copy { max-width: 650px; color: #bec7c2; font-size: 17px; line-height: 1.65; }
    .pasteur-control-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 48px; background: #434b47; }
    .pasteur-control-list li { padding: 28px; color: #fff; background: var(--pasteur-carbon); font-family: 'Montserrat', sans-serif; font-size: 17px; font-weight: 600; }
    .pasteur-control-list li::before { content: ''; display: block; width: 34px; height: 3px; margin-bottom: 19px; background: var(--pasteur-green); }
    .pasteur-cta { display: inline-flex; margin-top: 38px; padding: 14px 20px; border: 1px solid var(--pasteur-green); color: #fff; background: var(--pasteur-green); font-family: 'Montserrat', sans-serif; font-weight: 600; text-decoration: none; }
    .pasteur-cta:hover { color: #fff; background: #5e941f; }

    @media (max-width: 900px) {
        .pasteur-hero-grid, .pasteur-split { grid-template-columns: 1fr; }
        .pasteur-hero-grid { gap: 35px; padding-block: 45px; }
        .pasteur-facts { width: calc(100% - 40px) !important; }
        .pasteur-technology > header { grid-template-columns: 1fr; gap: 18px; }
        .pasteur-process-control { grid-template-columns: 1fr; gap: 18px; }
        .pasteur-plus-grid { grid-template-columns: repeat(2, 1fr); }
        .pasteur-download-grid { grid-template-columns: 1fr; }
        .pasteur-gallery-layout { grid-template-columns: 1fr; }
    }
    @media (max-width: 620px) {
        .pasteur-wrap, .pasteur-hero-grid { width: calc(100% - 24px); }
        .pasteur-hero h1 { font-size: 42px; }
        .pasteur-carousel-button { width: 36px; height: 36px; margin-top: -18px; line-height: 36px; }
        .pasteur-facts { grid-template-columns: 1fr; width: calc(100% - 24px) !important; }
        .pasteur-facts > div, .pasteur-facts > div + div { padding: 17px 0; border-left: 0; }
        .pasteur-facts > div + div { border-top: 1px solid #343b3e; }
        .pasteur-tabs a { min-height: 58px; padding-inline: 15px; }
        .pasteur-tabs-row { scroll-behavior: smooth; }
        .pasteur-section { padding-block: 55px; }
        .pasteur-qualities, .pasteur-control-list { grid-template-columns: 1fr; }
        .pasteur-technology-grid { grid-template-columns: 1fr; }
        .pasteur-technology-item, .pasteur-technology-item + .pasteur-technology-item { padding: 28px 0; border-left: 0; }
        .pasteur-technology-item + .pasteur-technology-item { border-top: 1px solid var(--pasteur-rule); }
        .pasteur-process-details { grid-template-columns: 1fr; }
        .pasteur-process-details { padding: 28px 20px; background-attachment: scroll; }
        .pasteur-process-detail, .pasteur-process-detail:nth-child(even) { padding: 26px 22px; border-left: 0; }
        .pasteur-process-control { padding: 25px 20px; }
        .pasteur-quality-item:nth-child(n+2) { padding-top: 24px; border-top: 1px solid var(--pasteur-rule); }
        .pasteur-specs > div { grid-template-columns: 1fr; gap: 4px; }
        .pasteur-plus-grid { grid-template-columns: 1fr; }
        .pasteur-plus-item h3 { min-height: 0; }
        .pasteur-validation { grid-template-columns: 1fr; }
        .pasteur-download-item { grid-template-columns: 110px 1fr; gap: 20px; padding: 20px; }
        .pasteur-download-item img { width: 110px; height: 156px; }
        .pasteur-gallery-grid { grid-template-columns: 1fr; }
    }
    @media (prefers-reduced-motion: reduce) {
        .pasteur-slide { transition: none; }
    }

/* Tunnel di cottura in packaging aperto: sole regole specifiche del prodotto. */
    .open-pack {
        --green: #76b729;
        --dark: #1b1b1b;
        --soft: #f2f2f2;
        --rule: #d9ddda;
        --copy: #555;
        color: var(--dark);
        background: #fff;
    }

    .open-pack,
    .open-pack * {
        box-sizing: border-box;
    }

    .open-pack h1,
    .open-pack h2,
    .open-pack h3,
    .open-pack p,
    .open-pack figure,
    .open-pack dl,
    .open-pack dd {
        margin: 0;
    }

    .open-pack ul {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .open-wrap {
        width: calc(100% - 40px);
        max-width: 1170px;
        margin-right: auto;
        margin-left: auto;
    }

    .open-hero {
        color: #fff;
        background: var(--dark);
    }

    .open-hero-grid {
        display: grid;
        grid-template-columns: 5fr 7fr;
        gap: 55px;
        align-items: center;
        width: calc(100% - 40px);
        max-width: 1170px;
        margin: 0 auto;
        padding: 55px 0 45px;
    }

    .open-breadcrumb {
        margin-bottom: 30px;
        color: #aeb7b1;
        font-size: 13px;
    }

    .open-breadcrumb a {
        color: #dce2de;
    }

    .open-breadcrumb span {
        padding-inline: 9px;
        color: #69716c;
    }

    .open-hero h1 {
        max-width: 560px;
        color: #fff;
        font-family: 'Montserrat', sans-serif;
        font-size: clamp(38px, 3.4vw, 51px);
        font-weight: 700;
        letter-spacing: -.03em;
        line-height: 1.02;
        text-transform: none !important;
    }

    .open-hero h1 small {
        display: block;
        margin-top: 17px;
        color: #dce2de;
        font-size: 19px;
        font-weight: 500;
        letter-spacing: 0;
        line-height: 1.3;
        text-transform: none;
    }

    .open-hero-copy>p {
        max-width: 500px;
        margin-top: 23px;
        color: #bec7c2;
        font-size: 15px;
        line-height: 1.65;
    }

    .open-carousel {
        position: relative;
        min-width: 0;
    }

    .open-slides {
        position: relative;
        overflow: hidden;
        aspect-ratio: 4 / 3;
        background: #242424;
    }

    .open-slide {
        position: absolute;
        inset: 0;
        opacity: 0;
        visibility: hidden;
        transition: opacity .35s ease, visibility .35s ease;
    }

    .open-slide.active {
        opacity: 1;
        visibility: visible;
    }

    .open-slide img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .open-arrow {
        position: absolute;
        z-index: 2;
        top: 50%;
        width: 42px;
        height: 42px;
        margin-top: -21px;
        padding: 0;
        border: 0;
        color: #fff;
        background: rgba(27, 27, 27, .78);
        font-size: 25px;
        line-height: 42px;
        cursor: pointer;
    }

    .open-arrow:hover {
        background: var(--green);
    }

    .open-arrow.prev {
        left: 12px
    }

    .open-arrow.next {
        right: 12px
    }

    .open-dots {
        position: absolute;
        z-index: 2;
        right: 0;
        bottom: 15px;
        left: 0;
        display: flex;
        justify-content: center;
        gap: 8px;
    }

    .open-dot {
        width: 9px;
        height: 9px;
        padding: 0;
        border: 1px solid #fff;
        border-radius: 50%;
        background: transparent;
        cursor: pointer;
    }

    .open-dot.active {
        border-color: var(--green);
        background: var(--green)
    }

    .open-count {
        position: absolute;
        z-index: 2;
        right: 15px;
        bottom: 12px;
        padding: 6px 9px;
        background: rgba(27, 27, 27, .82);
        font-family: 'Montserrat', sans-serif;
        font-size: 11px;
    }

    .open-facts-shell {
        border-top: 1px solid #343b3e;
    }

    .open-facts {
        float: none !important;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        width: calc(100% - 40px) !important;
        max-width: 1170px;
        margin: 0 auto !important;
    }

    .open-facts>div {
        padding: 20px 24px 23px 0
    }

    .open-facts>div+div {
        padding-left: 24px;
        border-left: 1px solid #343b3e
    }

    .open-facts dt {
        color: #9fa9a3;
        font-size: 13px
    }

    .open-facts dd {
        margin-top: 5px;
        color: #fff;
        font-family: 'Montserrat', sans-serif;
        font-size: 18px;
        font-weight: 600;
        line-height: 1.2
    }

    .open-tabs {
        position: -webkit-sticky;
        position: sticky;
        z-index: 50;
        top: var(--open-navbar-height, 80px);
        border-bottom: 1px solid var(--rule);
        background: rgba(255, 255, 255, .98);
    }

    .open-tabs-row {
        display: flex;
        overflow-x: auto;
        scrollbar-width: none
    }

    .open-tabs-row::-webkit-scrollbar {
        display: none
    }

    .open-tabs a {
        flex: 1 0 auto;
        display: flex;
        align-items: center;
        gap: 10px;
        min-height: 66px;
        padding-inline: 22px;
        border-right: 1px solid var(--rule);
        color: #424a46;
        font-family: 'Montserrat', sans-serif;
        font-size: 14px;
        font-weight: 600;
        text-decoration: none
    }

    .open-tabs a:first-child {
        border-left: 1px solid var(--rule)
    }

    .open-tabs a span {
        color: #737b76;
        font-size: 11px
    }

    .open-tabs a:hover,
    .open-tabs a.active {
        color: var(--dark);
        background: #f7f7f7;
        box-shadow: inset 0 -4px var(--green)
    }

    .open-tabs a.active span {
        color: var(--green)
    }

    .open-section {
        padding-block: 60px;
        scroll-margin-top: calc(var(--open-navbar-height, 80px) + 70px);
    }

    .open-split {
        display: grid;
        grid-template-columns: 5fr 7fr;
        gap: 45px 90px;
        align-items: start
    }

    .open-section h2 {
        max-width: 14ch;
        font-family: 'Montserrat', sans-serif;
        font-size: 34px;
        font-weight: 650;
        letter-spacing: -.02em;
        line-height: 1.08;
        text-transform: none !important
    }

    .open-intro {
        max-width: 560px;
        color: var(--copy);
        font-size: 16px;
        line-height: 1.65
    }

    .open-applications {
        background: var(--soft)
    }

    .open-list li {
        padding: 18px 0;
        border-bottom: 1px solid #c7cdca;
        font-family: 'Montserrat', sans-serif;
        font-size: 18px;
        font-weight: 500;
        line-height: 1.3
    }

    .open-list li:first-child {
        padding-top: 0
    }

    .open-tech {
        margin-top: 42px;
        border-top: 1px solid var(--rule);
        border-bottom: 1px solid var(--rule);
    }

    .open-tech>header {
        display: grid;
        grid-template-columns: 5fr 7fr;
        gap: 45px 90px;
        padding: 30px 0
    }

    .open-tech h3 {
        font-family: 'Montserrat', sans-serif;
        font-size: 22px;
        font-weight: 600;
        line-height: 1.25;
        text-transform: none !important
    }

    .open-tech>header p,
    .open-tech-item p {
        color: var(--copy);
        font-size: 16px;
        line-height: 1.65
    }

    .open-tech-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        border-top: 1px solid var(--rule)
    }

    .open-tech-item {
        padding: 32px 38px 36px 0
    }

    .open-tech-item+.open-tech-item {
        padding-right: 0;
        padding-left: 38px;
        border-left: 1px solid var(--rule)
    }

    .open-tech-item:before {
        content: '';
        display: block;
        width: 34px;
        height: 3px;
        margin-bottom: 18px;
        background: var(--green)
    }

    .open-tech-item h3 {
        margin-bottom: 16px
    }

    .open-tech-item p+p {
        margin-top: 13px
    }

    .open-details {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1px;
        width: 100vw;
        margin-top: 46px;
        margin-left: calc(50% - 50vw);
        padding: 48px max(20px, calc((100vw - 1170px)/2));
        background-color: #d8d8d8;
        background-image: linear-gradient(rgba(255, 255, 255, .45), rgba(255, 255, 255, .45)), url('../img/products/tunnel-cottura-packaging-aperto/tunnel-linea-completa.webp');
        background-position: center;
        background-size: cover;
        background-attachment: fixed
    }

    .open-detail {
        padding: 30px 38px 32px;
        background: rgba(255, 255, 255, .91)
    }

    .open-detail h3 {
        margin-bottom: 16px;
        font-family: 'Montserrat', sans-serif;
        font-size: 20px;
        font-weight: 600;
        text-transform: none !important
    }

    .open-detail p {
        color: var(--copy);
        font-size: 16px;
        line-height: 1.65
    }

    .open-detail p+p {
        margin-top: 13px
    }

    .open-control {
        display: grid;
        grid-template-columns: 5fr 7fr;
        gap: 45px 90px;
        margin-top: 46px;
        padding: 34px;
        background: var(--soft)
    }

    .open-control h3 {
        font-family: 'Montserrat', sans-serif;
        font-size: 20px;
        font-weight: 600;
        text-transform: none !important
    }

    .open-control p,
    .open-control ul {
        color: var(--copy);
        font-size: 16px;
        line-height: 1.65
    }

    .open-control ul {
        margin-top: 14px;
        padding-left: 0 !important;
        list-style: none !important
    }

    .open-control ul li {
        position: relative;
        display: block !important;
        padding-left: 18px
    }

    .open-control ul li:before {
        content: '•';
        position: absolute;
        left: 0;
        color: var(--green);
        font-size: 18px;
        line-height: 1.45
    }

    .open-optional {
        background: var(--soft)
    }

    .open-optional-card {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0;
        margin-top: 42px;
        background: #fff
    }

    .open-optional-card img {
        display: block;
        width: 100%;
        height: 100%;
        min-height: 300px;
        object-fit: cover
    }

    .open-optional-copy {
        padding: 42px
    }

    .open-optional-copy h3 {
        margin-bottom: 18px;
        font-family: 'Montserrat', sans-serif;
        font-size: 24px;
        font-weight: 600;
        text-transform: none !important
    }

    .open-optional-copy p {
        color: var(--copy);
        font-size: 16px;
        line-height: 1.65
    }

    .open-data .open-intro {
        margin-top: 28px
    }

    .open-specs>div {
        display: grid;
        grid-template-columns: 1.15fr 1fr;
        gap: 20px;
        padding: 14px 0;
        border-bottom: 1px solid #c4cac7
    }

    .open-specs>div:first-child {
        padding-top: 0
    }

    .open-specs dt {
        color: #535c57
    }

    .open-specs dd {
        font-family: 'Montserrat', sans-serif;
        font-size: 16px;
        font-weight: 600
    }

    .open-plus {
        background: var(--soft)
    }

    .open-plus-heading {
        max-width: 920px !important;
        font-size: 34px !important;
        line-height: 1.25 !important
    }

    .open-plus-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        margin-top: 42px;
        border-top: 1px solid #c9cecb;
        border-left: 1px solid #c9cecb
    }

    .open-plus-item {
        min-width: 0;
        padding: 28px 30px 32px;
        border-right: 1px solid #c9cecb;
        border-bottom: 1px solid #c9cecb
    }

    .open-plus-number {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 42px;
        height: 42px;
        margin-bottom: 22px;
        border-radius: 50%;
        color: #fff;
        background: var(--green);
        font-family: 'Montserrat', sans-serif;
        font-size: 19px;
        font-weight: 600
    }

    .open-plus-item h3 {
        min-height: 50px;
        margin-bottom: 14px;
        font-family: 'Montserrat', sans-serif;
        font-size: 19px;
        font-weight: 700;
        line-height: 1.2;
        text-transform: none !important
    }

    .open-plus-item p {
        color: var(--copy);
        font-size: 15px;
        line-height: 1.55
    }

    .open-validation {
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 20px;
        align-items: center;
        max-width: 650px;
        margin-top: 42px;
        padding: 25px 30px;
        background: #f2dfc4
    }

    .open-validation-icon {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 62px;
        height: 62px;
        border: 4px solid #665f55;
        border-radius: 50%;
        color: #665f55;
        font-size: 27px
    }

    .open-validation-label {
        color: #665f55;
        font-family: 'Montserrat', sans-serif;
        font-size: 12px;
        font-weight: 700;
        text-transform: uppercase
    }

    .open-validation h3 {
        margin: 3px 0 5px;
        font-family: 'Montserrat', sans-serif;
        font-size: 22px;
        font-weight: 700;
        line-height: 1.15;
        text-transform: none !important
    }

    .open-validation p {
        color: #665f55;
        font-size: 13px;
        line-height: 1.45
    }

    .open-validation-tags {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        margin-top: 8px
    }

    .open-validation-tags span {
        padding: 3px 8px;
        border-radius: 10px;
        background: rgba(102, 95, 85, .1);
        color: #665f55;
        font-size: 9px;
        font-weight: 700;
        text-transform: uppercase
    }

    .open-download {
        color: #fff;
        background: var(--dark)
    }

    .open-download h2 {
        color: #fff
    }

    .open-download-intro {
        max-width: 600px;
        margin-top: 18px !important;
        color: #bec7c2;
        font-size: 16px;
        line-height: 1.6
    }

    .open-download-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 40px;
        margin-top: 42px
    }

    .open-download-item {
        display: grid;
        grid-template-columns: 155px 1fr;
        gap: 28px;
        align-items: end;
        min-width: 0;
        padding: 28px;
        border: 1px solid #3d4441
    }

    .open-download-item img {
        display: block;
        width: 155px;
        height: 219px;
        border: 1px solid rgba(255, 255, 255, .25);
        object-fit: cover
    }

    .open-download-item h3 {
        margin-bottom: 12px;
        color: #fff;
        font-family: 'Montserrat', sans-serif;
        font-size: 20px;
        font-weight: 600;
        line-height: 1.25;
        text-transform: none !important
    }

    .open-download-item p {
        color: #bec7c2;
        font-size: 14px;
        line-height: 1.55
    }

    .open-download-button {
        display: inline-flex;
        margin-top: 20px;
        padding: 11px 16px;
        color: #fff;
        background: var(--green);
        font-family: 'Montserrat', sans-serif;
        font-size: 13px;
        font-weight: 600;
        text-decoration: none
    }

    .open-download-button:hover {
        color: #fff;
        background: #5e941f
    }

    .open-gallery {
        background: #fff
    }

    .open-gallery-layout {
        display: grid;
        grid-template-columns: 4fr 8fr;
        gap: 45px 70px;
        align-items: start
    }

    .open-gallery-copy p {
        max-width: 340px;
        margin-top: 18px;
        color: var(--copy);
        font-size: 16px;
        line-height: 1.6
    }

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

    .open-gallery-grid a {
        display: block;
        overflow: hidden;
        background: var(--soft)
    }

    .open-gallery-grid img {
        display: block;
        width: 100%;
        aspect-ratio: 4/3;
        object-fit: cover;
        transition: transform .25s ease
    }

    .open-gallery-grid a:hover img {
        transform: scale(1.025)
    }

    @media(max-width:900px) {

        .open-hero-grid,
        .open-split,
        .open-tech>header,
        .open-control,
        .open-gallery-layout {
            grid-template-columns: 1fr
        }

        .open-hero-grid {
            gap: 35px;
            padding-block: 45px
        }

        .open-tech>header {
            gap: 18px
        }

        .open-details {
            grid-template-columns: 1fr;
            padding: 28px 20px;
            background-attachment: scroll
        }

        .open-optional-card {
            grid-template-columns: 1fr
        }

        .open-gallery-grid {
            grid-template-columns: 1fr
        }

        .open-plus-grid {
            grid-template-columns: repeat(2, 1fr)
        }

        .open-download-grid {
            grid-template-columns: 1fr
        }
    }

    @media(max-width:620px) {

        .open-wrap,
        .open-hero-grid {
            width: calc(100% - 24px)
        }

        .open-facts {
            grid-template-columns: 1fr;
            width: calc(100% - 24px) !important
        }

        .open-facts>div,
        .open-facts>div+div {
            padding: 17px 0;
            border-left: 0
        }

        .open-facts>div+div {
            border-top: 1px solid #343b3e
        }

        .open-tabs-row {
            scroll-behavior: smooth
        }

        .open-tabs a {
            min-height: 58px;
            padding-inline: 15px
        }

        .open-section {
            padding-block: 55px
        }

        .open-tech-grid {
            grid-template-columns: 1fr
        }

        .open-tech-item,
        .open-tech-item+.open-tech-item {
            padding: 28px 0;
            border-left: 0
        }

        .open-tech-item+.open-tech-item {
            border-top: 1px solid var(--rule)
        }

        .open-detail {
            padding: 26px 22px
        }

        .open-optional-copy {
            padding: 28px
        }

        .open-specs>div {
            grid-template-columns: 1fr;
            gap: 4px
        }

        .open-plus-grid {
            grid-template-columns: 1fr
        }

        .open-plus-item h3 {
            min-height: 0
        }

        .open-validation {
            grid-template-columns: 1fr
        }

        .open-download-item {
            grid-template-columns: 110px 1fr;
            gap: 20px;
            padding: 20px
        }

        .open-download-item img {
            width: 110px;
            height: 156px
        }
    }

    @media(prefers-reduced-motion:reduce) {

        .open-slide,
        .open-gallery-grid img {
            transition: none
        }
    }

/* Tunnel di cottura snack: sole regole specifiche del prodotto. */
    .snack {
        --g: #76b729;
        --d: #1b1b1b;
        --s: #f2f2f2;
        --r: #d9ddda;
        --c: #555;
        color: var(--d);
        background: #fff
    }

    .snack,
    .snack * {
        box-sizing: border-box
    }

    .snack h1,
    .snack h2,
    .snack h3,
    .snack p,
    .snack figure,
    .snack dl,
    .snack dd {
        margin: 0
    }

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

    .sn-wrap {
        width: calc(100% - 40px);
        max-width: 1170px;
        margin: auto
    }

    .sn-hero {
        color: #fff;
        background: var(--d)
    }

    .sn-hero-grid {
        display: grid;
        grid-template-columns: 5fr 7fr;
        gap: 55px;
        align-items: center;
        width: calc(100% - 40px);
        max-width: 1170px;
        margin: auto;
        padding: 55px 0 45px
    }

    .sn-crumb {
        margin-bottom: 30px;
        color: #aeb7b1;
        font-size: 13px
    }

    .sn-crumb a {
        color: #dce2de
    }

    .sn-crumb span {
        padding-inline: 9px;
        color: #69716c
    }

    .sn-hero h1 {
        max-width: 560px;
        color: #fff;
        font-family: Montserrat, sans-serif;
        font-size: clamp(38px, 3.4vw, 51px);
        font-weight: 700;
        line-height: 1.02;
        text-transform: none !important
    }

    .sn-hero h1 small {
        display: block;
        margin-top: 17px;
        color: #dce2de;
        font-size: 19px;
        font-weight: 500;
        line-height: 1.3;
        text-transform: none
    }

    .sn-hero-copy p {
        max-width: 500px;
        margin-top: 23px;
        color: #bec7c2;
        font-size: 15px;
        line-height: 1.65
    }

    .sn-carousel {
        position: relative
    }

    .sn-slides {
        position: relative;
        overflow: hidden;
        aspect-ratio: 4/3;
        background: #242424
    }

    .sn-slide {
        position: absolute;
        inset: 0;
        opacity: 0;
        visibility: hidden;
        transition: opacity .35s
    }

    .sn-slide.active {
        opacity: 1;
        visibility: visible
    }

    .sn-slide img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover
    }

    .sn-arrow {
        position: absolute;
        z-index: 2;
        top: 50%;
        width: 42px;
        height: 42px;
        margin-top: -21px;
        border: 0;
        color: #fff;
        background: rgba(27, 27, 27, .78);
        font-size: 25px;
        cursor: pointer
    }

    .sn-arrow:hover {
        background: var(--g)
    }

    .sn-prev {
        left: 12px
    }

    .sn-next {
        right: 12px
    }

    .sn-dots {
        position: absolute;
        z-index: 2;
        right: 0;
        bottom: 15px;
        left: 0;
        display: flex;
        justify-content: center;
        gap: 8px
    }

    .sn-dot {
        width: 9px;
        height: 9px;
        padding: 0;
        border: 1px solid #fff;
        border-radius: 50%;
        background: transparent
    }

    .sn-dot.active {
        background: var(--g);
        border-color: var(--g)
    }

    .sn-count {
        position: absolute;
        z-index: 2;
        right: 15px;
        bottom: 12px;
        padding: 6px 9px;
        background: rgba(27, 27, 27, .82);
        font-size: 11px
    }

    .sn-fact-shell {
        border-top: 1px solid #343b3e
    }

    .sn-facts {
        float: none !important;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        width: calc(100% - 40px) !important;
        max-width: 1170px;
        margin: 0 auto !important
    }

    .sn-facts>div {
        padding: 20px 24px 23px 0
    }

    .sn-facts>div+div {
        padding-left: 24px;
        border-left: 1px solid #343b3e
    }

    .sn-facts dt {
        color: #9fa9a3;
        font-size: 13px
    }

    .sn-facts dd {
        margin-top: 5px;
        color: #fff;
        font-family: Montserrat, sans-serif;
        font-size: 18px;
        font-weight: 600
    }

    .sn-tabs {
        position: sticky;
        z-index: 50;
        top: var(--sn-nav, 80px);
        border-bottom: 1px solid var(--r);
        background: rgba(255, 255, 255, .98)
    }

    .sn-tabs-row {
        display: flex;
        overflow-x: auto;
        scrollbar-width: none
    }

    .sn-tabs-row::-webkit-scrollbar {
        display: none
    }

    .sn-tabs a {
        flex: 1 0 auto;
        display: flex;
        gap: 10px;
        align-items: center;
        min-height: 66px;
        padding-inline: 22px;
        border-right: 1px solid var(--r);
        color: #424a46;
        font-family: Montserrat, sans-serif;
        font-size: 14px;
        font-weight: 600;
        text-decoration: none
    }

    .sn-tabs a:first-child {
        border-left: 1px solid var(--r)
    }

    .sn-tabs a span {
        color: #737b76;
        font-size: 11px
    }

    .sn-tabs a.active,
    .sn-tabs a:hover {
        color: var(--d);
        background: #f7f7f7;
        box-shadow: inset 0 -4px var(--g)
    }

    .sn-section {
        padding-block: 60px;
        scroll-margin-top: calc(var(--sn-nav, 80px) + 70px)
    }

    .sn-split {
        display: grid;
        grid-template-columns: 5fr 7fr;
        gap: 45px 90px;
        align-items: start
    }

    .sn-section h2 {
        max-width: 15ch;
        font-family: Montserrat, sans-serif;
        font-size: 34px;
        font-weight: 650;
        line-height: 1.08;
        text-transform: none !important
    }

    .sn-intro {
        max-width: 580px;
        color: var(--c);
        font-size: 16px;
        line-height: 1.65
    }

    .sn-app {
        background: var(--s)
    }

    .sn-list li {
        padding: 18px 0;
        border-bottom: 1px solid #c7cdca;
        font-family: Montserrat, sans-serif;
        font-size: 18px;
        font-weight: 500
    }

    .sn-list li:first-child {
        padding-top: 0
    }

    .sn-tech {
        margin-top: 42px;
        border-top: 1px solid var(--r);
        border-bottom: 1px solid var(--r)
    }

    .sn-tech header {
        display: grid;
        grid-template-columns: 5fr 7fr;
        gap: 45px 90px;
        padding: 30px 0
    }

    .sn-tech h3 {
        font-family: Montserrat, sans-serif;
        font-size: 21px;
        font-weight: 600;
        line-height: 1.25;
        text-transform: none !important
    }

    .sn-tech p {
        color: var(--c);
        font-size: 16px;
        line-height: 1.65
    }

    .sn-tech-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        border-top: 1px solid var(--r)
    }

    .sn-tech-item {
        padding: 32px 28px 36px 0
    }

    .sn-tech-item+.sn-tech-item {
        padding-left: 28px;
        border-left: 1px solid var(--r)
    }

    .sn-tech-item:before {
        content: '';
        display: block;
        width: 34px;
        height: 3px;
        margin-bottom: 18px;
        background: var(--g)
    }

    .sn-tech-item h3 {
        margin-bottom: 16px
    }

    .sn-tech-item p+p {
        margin-top: 13px
    }

    .sn-details {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1px;
        width: 100vw;
        margin-top: 46px;
        margin-left: calc(50% - 50vw);
        padding: 48px max(20px, calc((100vw - 1170px)/2));
        background: #d8d8d8 url('../img/products/tunnel-cottura-snack/tunnel-installazione-01.webp') center/cover fixed
    }

    .sn-detail {
        padding: 30px 38px 32px;
        background: rgba(255, 255, 255, .91)
    }

    .sn-detail h3 {
        margin-bottom: 16px;
        font-family: Montserrat, sans-serif;
        font-size: 20px;
        text-transform: none !important
    }

    .sn-detail p {
        color: var(--c);
        font-size: 16px;
        line-height: 1.65
    }

    .sn-detail p+p {
        margin-top: 13px
    }

    .sn-control {
        display: grid;
        grid-template-columns: 5fr 7fr;
        gap: 45px 90px;
        margin-top: 46px;
        padding: 34px;
        background: var(--s)
    }

    .sn-control h3 {
        font-family: Montserrat, sans-serif;
        font-size: 20px;
        text-transform: none !important
    }

    .sn-control p {
        color: var(--c);
        font-size: 16px;
        line-height: 1.65
    }

    .sn-data .sn-intro {
        margin-top: 28px
    }

    .sn-specs>div {
        display: grid;
        grid-template-columns: 1.15fr 1fr;
        gap: 20px;
        padding: 14px 0;
        border-bottom: 1px solid #c4cac7
    }

    .sn-specs dt {
        color: #535c57
    }

    .sn-specs dd {
        font-family: Montserrat, sans-serif;
        font-size: 16px;
        font-weight: 600
    }

    .sn-plus {
        background: var(--s)
    }

    .sn-plus h2 {
        max-width: 920px
    }

    .sn-plus-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        margin-top: 42px;
        border-top: 1px solid #c9cecb;
        border-left: 1px solid #c9cecb
    }

    .sn-plus-item {
        padding: 28px 30px 32px;
        border-right: 1px solid #c9cecb;
        border-bottom: 1px solid #c9cecb
    }

    .sn-num {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 42px;
        height: 42px;
        margin-bottom: 22px;
        border-radius: 50%;
        color: #fff;
        background: var(--g);
        font-family: Montserrat, sans-serif;
        font-size: 19px
    }

    .sn-plus-item h3 {
        min-height: 50px;
        margin-bottom: 14px;
        font-family: Montserrat, sans-serif;
        font-size: 19px;
        text-transform: none !important
    }

    .sn-plus-item p {
        color: var(--c);
        font-size: 15px;
        line-height: 1.55
    }

    .sn-download {
        color: #fff;
        background: var(--d)
    }

    .sn-download h2 {
        color: #fff
    }

    .sn-download>div>p {
        margin-top: 18px;
        color: #bec7c2;
        font-size: 16px
    }

    .sn-download-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 40px;
        margin-top: 42px
    }

    .sn-download-item {
        display: grid;
        grid-template-columns: 155px 1fr;
        gap: 28px;
        align-items: end;
        padding: 28px;
        border: 1px solid #3d4441
    }

    .sn-download-item img {
        width: 155px;
        height: 219px;
        object-fit: cover
    }

    .sn-download-item h3 {
        margin-bottom: 12px;
        font-family: Montserrat, sans-serif;
        font-size: 20px;
        text-transform: none !important
    }

    .sn-download-item p {
        color: #bec7c2;
        font-size: 14px
    }

    .sn-button {
        display: inline-flex;
        margin-top: 20px;
        padding: 11px 16px;
        color: #fff;
        background: var(--g);
        font-family: Montserrat, sans-serif;
        font-size: 13px;
        text-decoration: none
    }

    .sn-gallery-layout {
        display: grid;
        grid-template-columns: 4fr 8fr;
        gap: 45px 70px
    }

    .sn-gallery-copy p {
        margin-top: 18px;
        color: var(--c);
        font-size: 16px;
        line-height: 1.6
    }

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

    .sn-gallery-grid a {
        display: block;
        overflow: hidden
    }

    .sn-gallery-grid img {
        display: block;
        width: 100%;
        aspect-ratio: 4/3;
        object-fit: cover
    }

    @media(max-width:900px) {

        .sn-hero-grid,
        .sn-split,
        .sn-tech header,
        .sn-control,
        .sn-gallery-layout {
            grid-template-columns: 1fr
        }

        .sn-tech-grid {
            grid-template-columns: 1fr
        }

        .sn-tech-item,
        .sn-tech-item+.sn-tech-item {
            padding: 28px 0;
            border-left: 0
        }

        .sn-tech-item+.sn-tech-item {
            border-top: 1px solid var(--r)
        }

        .sn-details {
            grid-template-columns: 1fr;
            padding: 28px 20px;
            background-attachment: scroll
        }

        .sn-plus-grid {
            grid-template-columns: repeat(2, 1fr)
        }

        .sn-download-grid {
            grid-template-columns: 1fr
        }
    }

    @media(max-width:620px) {

        .sn-wrap,
        .sn-hero-grid {
            width: calc(100% - 24px)
        }

        .sn-facts {
            grid-template-columns: 1fr;
            width: calc(100% - 24px) !important
        }

        .sn-facts>div,
        .sn-facts>div+div {
            padding: 17px 0;
            border-left: 0
        }

        .sn-facts>div+div {
            border-top: 1px solid #343b3e
        }

        .sn-tabs a {
            min-height: 58px;
            padding-inline: 15px
        }

        .sn-section {
            padding-block: 55px
        }

        .sn-plus-grid,
        .sn-gallery-grid {
            grid-template-columns: 1fr
        }

        .sn-plus-item h3 {
            min-height: 0
        }

        .sn-download-item {
            grid-template-columns: 110px 1fr;
            gap: 20px;
            padding: 20px
        }

        .sn-download-item img {
            width: 110px;
            height: 156px
        }

        .sn-specs>div {
            grid-template-columns: 1fr;
            gap: 4px
        }
    }

/* Tunnel essiccazione polveri: sole regole specifiche del prodotto. */
    .dry {
        --g: #76b729;
        --d: #1b1b1b;
        --s: #f2f2f2;
        --r: #d9ddda;
        --c: #555;
        color: var(--d)
    }

    .dry * {
        box-sizing: border-box
    }

    .dry h1,
    .dry h2,
    .dry h3,
    .dry p,
    .dry dl,
    .dry dd {
        margin: 0
    }

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

    .dry-wrap {
        width: calc(100% - 40px);
        max-width: 1170px;
        margin: auto
    }

    .dry-hero {
        color: #fff;
        background: var(--d)
    }

    .dry-hero-grid {
        display: grid;
        grid-template-columns: 5fr 7fr;
        gap: 55px;
        align-items: center;
        width: calc(100% - 40px);
        max-width: 1170px;
        margin: auto;
        padding: 55px 0 45px
    }

    .dry-crumb {
        margin-bottom: 30px;
        color: #aeb7b1;
        font-size: 13px
    }

    .dry-crumb a {
        color: #dce2de
    }

    .dry-crumb span {
        padding-inline: 9px
    }

    .dry h1,
    .dry h2,
    .dry h3 {
        font-family: Montserrat, sans-serif;
        text-transform: none !important
    }

    .dry h1 {
        color: #fff;
        font-size: clamp(38px, 3.4vw, 51px);
        line-height: 1.02
    }

    .dry h1 small {
        display: block;
        margin-top: 17px;
        color: #dce2de;
        font-size: 19px;
        font-weight: 500;
        line-height: 1.3
    }

    .dry-hero-copy p {
        margin-top: 23px;
        color: #bec7c2;
        font-size: 15px;
        line-height: 1.65
    }

    .dry-carousel {
        position: relative
    }

    .dry-slides {
        position: relative;
        overflow: hidden;
        aspect-ratio: 4/3;
        background: #242424
    }

    .dry-slide {
        position: absolute;
        inset: 0;
        opacity: 0;
        visibility: hidden;
        transition: opacity .35s
    }

    .dry-slide.active {
        opacity: 1;
        visibility: visible
    }

    .dry-slide img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover
    }

    .dry-arrow {
        position: absolute;
        z-index: 2;
        top: 50%;
        width: 42px;
        height: 42px;
        margin-top: -21px;
        border: 0;
        color: #fff;
        background: rgba(27, 27, 27, .78);
        font-size: 25px
    }

    .dry-prev {
        left: 12px
    }

    .dry-next {
        right: 12px
    }

    .dry-dots {
        position: absolute;
        z-index: 2;
        right: 0;
        bottom: 15px;
        left: 0;
        display: flex;
        justify-content: center;
        gap: 8px
    }

    .dry-dot {
        width: 9px;
        height: 9px;
        padding: 0;
        border: 1px solid #fff;
        border-radius: 50%;
        background: transparent
    }

    .dry-dot.active {
        background: var(--g)
    }

    .dry-count {
        position: absolute;
        right: 15px;
        bottom: 12px;
        padding: 6px 9px;
        background: rgba(27, 27, 27, .82);
        font-size: 11px
    }

    .dry-facts {
        float: none !important;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        width: calc(100% - 40px) !important;
        max-width: 1170px;
        margin: 0 auto !important;
        border-top: 1px solid #343b3e
    }

    .dry-facts>div {
        padding: 20px 24px
    }

    .dry-facts>div+div {
        border-left: 1px solid #343b3e
    }

    .dry-facts dt {
        color: #9fa9a3;
        font-size: 13px
    }

    .dry-facts dd {
        margin-top: 5px;
        color: #fff;
        font-family: Montserrat, sans-serif;
        font-size: 18px;
        font-weight: 600
    }

    .dry-tabs {
        position: sticky;
        z-index: 50;
        top: var(--dry-nav, 80px);
        background: #fff;
        border-bottom: 1px solid var(--r)
    }

    .dry-tabs-row {
        display: flex;
        overflow-x: auto
    }

    .dry-tabs a {
        flex: 1 0 auto;
        min-height: 66px;
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 0 22px;
        border-right: 1px solid var(--r);
        color: #424a46;
        font-family: Montserrat, sans-serif;
        font-size: 14px;
        font-weight: 600;
        text-decoration: none
    }

    .dry-tabs a:first-child {
        border-left: 1px solid var(--r)
    }

    .dry-tabs a span {
        color: #737b76;
        font-size: 11px
    }

    .dry-tabs a.active {
        box-shadow: inset 0 -4px var(--g)
    }

    .dry-section {
        padding: 60px 0;
        scroll-margin-top: 150px
    }

    .dry-split {
        display: grid;
        grid-template-columns: 5fr 7fr;
        gap: 45px 90px
    }

    .dry h2 {
        max-width: 17ch;
        font-size: 34px;
        line-height: 1.08
    }

    .dry-intro,
    .dry-tech p,
    .dry-detail p,
    .dry-control p {
        color: var(--c);
        font-size: 16px;
        line-height: 1.65
    }

    .dry-app,
    .dry-plus {
        background: var(--s)
    }

    .dry-list li {
        padding: 18px 0;
        border-bottom: 1px solid #c7cdca;
        font-family: Montserrat, sans-serif;
        font-size: 18px
    }

    .dry-tech {
        margin-top: 42px;
        border-top: 1px solid var(--r);
        border-bottom: 1px solid var(--r)
    }

    .dry-tech header {
        display: grid;
        grid-template-columns: 5fr 7fr;
        gap: 45px 90px;
        padding: 30px 0
    }

    .dry-tech h3,
    .dry-detail h3 {
        font-size: 20px
    }

    .dry-tech-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        border-top: 1px solid var(--r)
    }

    .dry-tech-item {
        padding: 32px 28px 36px 0
    }

    .dry-tech-item+.dry-tech-item {
        padding-left: 28px;
        border-left: 1px solid var(--r)
    }

    .dry-tech-item:before {
        content: '';
        display: block;
        width: 34px;
        height: 3px;
        margin-bottom: 18px;
        background: var(--g)
    }

    .dry-tech-item h3 {
        margin-bottom: 16px
    }

    .dry-tech-item p+p,
    .dry-detail p+p {
        margin-top: 13px
    }

    .dry-details {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1px;
        width: 100vw;
        margin: 46px 0 0 calc(50% - 50vw);
        padding: 48px max(20px, calc((100vw - 1170px)/2));
        background: #d8d8d8 url('../img/products/tunnel-essiccazione-polveri/wl24-produzione-zucchero.webp') center/cover fixed
    }

    .dry-detail {
        padding: 30px 38px;
        background: rgba(255, 255, 255, .92)
    }

    .dry-control {
        display: grid;
        grid-template-columns: 5fr 7fr;
        gap: 45px 90px;
        margin-top: 46px;
        padding: 34px;
        background: var(--s)
    }

    .dry-control ul {
        margin-top: 18px
    }

    .dry-control li {
        position: relative;
        padding: 3px 0 3px 20px;
        color: var(--c);
        font-size: 16px
    }

    .dry-control li:before {
        content: '•';
        position: absolute;
        left: 0;
        color: var(--g)
    }

    .dry-specs>div {
        display: grid;
        grid-template-columns: 1.15fr 1fr;
        gap: 20px;
        padding: 14px 0;
        border-bottom: 1px solid #c4cac7
    }

    .dry-specs dd {
        font-family: Montserrat, sans-serif;
        font-weight: 600
    }

    .dry-plus h2 {
        max-width: 920px
    }

    .dry-plus-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        margin-top: 42px;
        border-top: 1px solid #c9cecb;
        border-left: 1px solid #c9cecb
    }

    .dry-plus-item {
        padding: 28px 30px;
        border-right: 1px solid #c9cecb;
        border-bottom: 1px solid #c9cecb
    }

    .dry-num {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 42px;
        height: 42px;
        margin-bottom: 22px;
        border-radius: 50%;
        color: #fff;
        background: var(--g);
        font-family: Montserrat, sans-serif;
        font-size: 19px
    }

    .dry-plus-item h3 {
        min-height: 50px;
        margin-bottom: 14px;
        font-size: 19px
    }

    .dry-plus-item p {
        color: var(--c);
        font-size: 15px;
        line-height: 1.55
    }

    .dry-download {
        color: #fff;
        background: var(--d)
    }

    .dry-download h2 {
        color: #fff
    }

    .dry-download>div>p {
        margin-top: 18px;
        color: #bec7c2
    }

    .dry-download-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 40px;
        margin-top: 42px
    }

    .dry-download-item {
        display: grid;
        grid-template-columns: 155px 1fr;
        gap: 28px;
        align-items: end;
        padding: 28px;
        border: 1px solid #3d4441
    }

    .dry-download-item img {
        width: 155px;
        height: 219px;
        object-fit: cover
    }

    .dry-download-item h3 {
        margin-bottom: 12px;
        font-size: 20px
    }

    .dry-download-item p {
        color: #bec7c2;
        font-size: 14px
    }

    .dry-button {
        display: inline-flex;
        margin-top: 20px;
        padding: 11px 16px;
        color: #fff;
        background: var(--g);
        font-family: Montserrat, sans-serif;
        font-size: 13px;
        text-decoration: none
    }

    .dry-gallery {
        display: grid;
        grid-template-columns: 4fr 8fr;
        gap: 45px 70px
    }

    .dry-gallery-copy p {
        margin-top: 18px;
        color: var(--c);
        font-size: 16px;
        line-height: 1.6
    }

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

    .dry-gallery-grid img {
        display: block;
        width: 100%;
        aspect-ratio: 4/3;
        object-fit: cover
    }

    @media(max-width:900px) {

        .dry-hero-grid,
        .dry-split,
        .dry-tech header,
        .dry-control,
        .dry-gallery {
            grid-template-columns: 1fr
        }

        .dry-tech-grid,
        .dry-details {
            grid-template-columns: 1fr
        }

        .dry-tech-item,
        .dry-tech-item+.dry-tech-item {
            padding: 28px 0;
            border-left: 0
        }

        .dry-tech-item+.dry-tech-item {
            border-top: 1px solid var(--r)
        }

        .dry-details {
            padding: 28px 20px;
            background-attachment: scroll
        }

        .dry-plus-grid {
            grid-template-columns: repeat(2, 1fr)
        }

        .dry-download-grid {
            grid-template-columns: 1fr
        }
    }

    @media(max-width:620px) {

        .dry-wrap,
        .dry-hero-grid {
            width: calc(100% - 24px)
        }

        .dry-facts {
            grid-template-columns: 1fr;
            width: calc(100% - 24px) !important
        }

        .dry-facts>div+div {
            border-left: 0;
            border-top: 1px solid #343b3e
        }

        .dry-tabs a {
            min-height: 58px;
            padding: 0 15px
        }

        .dry-plus-grid,
        .dry-gallery-grid {
            grid-template-columns: 1fr
        }

        .dry-download-item {
            grid-template-columns: 110px 1fr;
            padding: 20px
        }

        .dry-download-item img {
            width: 110px;
            height: 156px
        }

        .dry-specs>div {
            grid-template-columns: 1fr;
            gap: 4px
        }
    }
    /* Isolamento dalle regole di impaginazione del tema legacy. */
    .dry-section>.dry-wrap {
        width: calc(100% - 40px) !important;
        max-width: 1170px !important;
        margin-right: auto !important;
        margin-left: auto !important
    }

    .dry-split {
        display: grid !important;
        grid-template-columns: minmax(0, 5fr) minmax(0, 7fr) !important;
        gap: 45px 90px !important
    }

    .dry-specs {
        float: none !important;
        display: block !important;
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important
    }

    .dry-specs>div {
        display: grid !important;
        grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) !important;
        gap: 20px !important
    }

    .dry-specs dt,
    .dry-specs dd {
        float: none !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important
    }

    .dry-control {
        grid-template-columns: minmax(0, 5fr) minmax(0, 7fr) !important;
        width: calc(100% - 40px) !important;
        max-width: 1170px !important;
        margin: 46px auto 0 !important
    }

    .dry-details {
        background-image: linear-gradient(rgba(255, 255, 255, .34), rgba(255, 255, 255, .34)), url('../img/products/tunnel-essiccazione-polveri/wl24-tunnel-nastro.webp?v=20261015b') !important
    }

    @media(max-width:900px) {

        .dry-split,
        .dry-control {
            grid-template-columns: 1fr !important
        }
    }

/* Pallet Cleaner: regole specifiche del prodotto. */
    .pc {
        --green: #76b729;
        --ink: #1b1b1b;
        --soft: #f2f2f2;
        --line: #d9ddda;
        --body: #555;
        width: 100%;
        max-width: 100%;
        overflow-x: clip;
    }

    .pc,
    .pc * {
        box-sizing: border-box;
    }

    .pc h1,
    .pc h2,
    .pc h3,
    .pc p {
        margin: 0;
    }

    .pc-wrap {
        width: calc(100% - 40px);
        max-width: 1170px;
        margin: auto;
    }

    .pc h1,
    .pc h2,
    .pc h3 {
        font-family: Montserrat, sans-serif;
        text-transform: none !important;
    }

    .pc-hero {
        color: #fff;
        background: var(--ink);
    }

    .pc-hero-grid {
        display: grid;
        grid-template-columns: minmax(300px, 5fr) minmax(0, 7fr);
        gap: 55px;
        align-items: center;
        width: calc(100% - 40px);
        max-width: 1170px;
        margin: auto;
        padding: 55px 0 45px;
    }

    .pc-crumb {
        color: #b9c1bd;
        font-size: 13px;
        margin-bottom: 28px;
    }

    .pc-crumb a {
        color: #e1e5e2;
    }

    .pc-crumb span {
        padding: 0 8px;
    }

    .pc h1 {
        font-size: clamp(38px, 3.7vw, 54px);
        line-height: 1.03;
        letter-spacing: -.04em;
    }

    .pc-lead {
        color: #e0edd5;
        font-size: 20px;
        font-weight: 600;
        line-height: 1.45;
        margin-top: 20px !important;
    }

    .pc-intro {
        color: #d9dfdb;
        font-size: 16px;
        line-height: 1.65;
        margin-top: 22px !important;
        max-width: 440px;
    }

    .pc-carousel {
        position: relative;
        aspect-ratio: 4 / 3;
        overflow: hidden;
        background: #303030;
    }

    .pc-slide {
        position: absolute;
        inset: 0;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity .45s ease;
    }

    .pc-slide.active {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    .pc-slide img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
    }

    .pc-arrow {
        position: absolute;
        z-index: 2;
        top: 50%;
        transform: translateY(-50%);
        width: 46px;
        height: 46px;
        border: 0;
        color: white;
        background: rgba(20, 20, 20, .76);
        font-size: 29px;
        line-height: 1;
        cursor: pointer;
    }

    .pc-arrow.prev {
        left: 13px;
    }

    .pc-arrow.next {
        right: 13px;
    }

    .pc-dots {
        position: absolute;
        z-index: 2;
        bottom: 15px;
        left: 50%;
        display: flex;
        gap: 8px;
        transform: translateX(-50%);
    }

    .pc-dot {
        width: 10px;
        height: 10px;
        padding: 0;
        min-width: 0;
        border: 1px solid #fff;
        border-radius: 50%;
        background: transparent;
        cursor: pointer;
    }

    .pc-dot.active {
        border-color: var(--green);
        background: var(--green);
    }

    .pc-tabs {
        position: sticky;
        top: var(--product-navbar-height, 80px);
        z-index: 50;
        background: rgba(255, 255, 255, .98);
        border-bottom: 1px solid var(--line);
    }

    .pc-tabs-inner {
        display: flex;
        max-width: 1170px;
        margin: auto;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .pc-tabs-inner::-webkit-scrollbar {
        display: none;
    }

    .pc-tabs a {
        flex: 1 0 190px;
        display: flex;
        align-items: center;
        gap: 12px;
        justify-content: center;
        min-height: 64px;
        padding: 10px 18px;
        color: #444;
        border-left: 1px solid var(--line);
        font: 600 15px Montserrat, sans-serif;
        text-decoration: none;
        white-space: nowrap;
    }

    .pc-tabs a:last-child {
        border-right: 1px solid var(--line);
    }

    .pc-tabs b {
        color: #909895;
        font-size: 12px;
    }

    .pc-tabs a:hover,
    .pc-tabs a:focus,
    .pc-tabs a.active {
        color: #222;
        box-shadow: inset 0 -4px var(--green);
        outline: 0;
    }

    .pc-section {
        padding: 60px 0;
        scroll-margin-top: calc(var(--product-navbar-height, 80px) + 64px);
    }

    .pc-section.alt {
        background: var(--soft);
    }

    .pc-heading {
        display: grid;
        grid-template-columns: 5fr 7fr;
        gap: 45px 90px;
        padding-bottom: 36px;
    }

    /* Stessa struttura di .vac-grid / .vac-tech del prodotto sottovuoto. */
    .pc-grid {
        display: grid;
        grid-template-columns: 5fr 7fr;
        gap: 45px 90px;
    }

    .pc-heading h2,
    .pc-grid h2 {
        color: #161616;
        font-size: 34px;
        letter-spacing: normal;
        line-height: 1.08;
    }

    .pc-heading p,
    .pc-grid p,
    .pc-copy {
        color: var(--body);
        font-size: 16px;
        line-height: 1.65;
    }

    .pc-app {
        background: var(--soft);
    }

    .pc-app-grid {
        display: grid;
        grid-template-columns: 5fr 7fr;
        gap: 45px 90px;
    }

    .pc-app-grid h2 {
        color: #161616;
        font-size: 34px;
        line-height: 1.08;
    }

    .pc-app-grid > div:first-child > p {
        max-width: 390px;
        color: var(--body);
        font-size: 16px;
        line-height: 1.65;
        margin-top: 4px;
    }

    .pc-app-copy {
        margin: 0;
        padding: 0;
    }

    .pc-app-copy p {
        padding: 17px 0;
        border-bottom: 1px solid #c7cdca;
        color: #2e2e2e;
        font-family: Montserrat, sans-serif;
        font-size: 18px;
        line-height: 1.5;
    }

    .pc-process {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        border-top: 1px solid var(--line);
        border-bottom: 1px solid var(--line);
    }

    .pc-process article {
        min-height: 244px;
        padding: 30px 30px 32px 0;
        border-right: 1px solid var(--line);
    }

    .pc-process article+article {
        padding-left: 30px;
    }

    .pc-process article:last-child {
        border-right: 0;
    }

    .pc-kicker {
        color: var(--green);
        font: 700 13px Montserrat, sans-serif;
    }

    .pc-process h3 {
        color: #1b1b1b;
        font-size: 21px;
        line-height: 1.2;
        margin-top: 14px;
    }

    .pc-process p {
        color: var(--body);
        font-size: 15px;
        line-height: 1.6;
        margin-top: 16px;
    }

    .pc-plus {
        background: var(--soft);
    }

    .pc-plus>.pc-wrap>h2 {
        color: #161616;
        font-size: 34px;
        line-height: 1.08;
    }

    .pc-plus-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        margin-top: 42px;
        border-top: 1px solid #c9cecb;
        border-left: 1px solid #c9cecb;
    }

    .pc-plus-item {
        min-height: 215px;
        padding: 28px 30px;
        border-right: 1px solid #c9cecb;
        border-bottom: 1px solid #c9cecb;
    }

    .pc-num {
        display: grid;
        place-items: center;
        width: 42px;
        height: 42px;
        margin-bottom: 20px;
        border-radius: 50%;
        color: #fff;
        background: var(--green);
        font: 19px Montserrat, sans-serif;
    }

    .pc-plus-item h3 {
        font-size: 19px;
        line-height: 1.25;
    }

    .pc-plus-item p {
        color: var(--body);
        font-size: 16px;
        line-height: 1.6;
        margin-top: 12px;
    }

    .pc-download {
        color: #fff;
        background: var(--ink);
    }

    .pc-download h2,
    .pc-download p {
        color: #fff;
    }

    .pc-download-heading h2 {
        font-size: 34px;
        line-height: 1.08;
    }

    .pc-download-heading p {
        margin-top: 5px;
        font-size: 16px;
        line-height: 1.65;
    }

    .pc-download-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 40px;
        margin-top: 38px;
    }

    .pc-document {
        display: grid;
        grid-template-columns: 155px 1fr;
        gap: 28px;
        align-items: end;
        min-height: 275px;
        padding: 28px;
        border: 1px solid #3d4441;
    }

    .pc-document img {
        width: 155px;
        height: 219px;
        object-fit: cover;
        object-position: top;
        background: #fff;
    }

    .pc-document h3 {
        font-size: 27px;
        line-height: 1.2;
    }

    .pc-document p {
        color: #fff;
        line-height: 1.55;
        margin-top: 11px;
    }

    .pc-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 48px;
        margin-top: 20px;
        padding: 12px 18px;
        color: #fff;
        background: var(--green);
        font: 700 14px Montserrat, sans-serif;
        text-decoration: none;
    }

    .pc-gallery {
        display: grid;
        grid-template-columns: 5fr 7fr;
        gap: 55px;
    }

    .pc-gallery-title h2 {
        font-size: clamp(31px, 3vw, 44px);
        letter-spacing: -.035em;
        line-height: 1.05;
    }

    .pc-gallery-title p {
        color: var(--body);
        font-size: 16px;
        line-height: 1.65;
        margin-top: 15px;
        max-width: 340px;
    }

    .pc-gallery-cta {
        display: inline-flex;
        max-width: 340px;
        margin-top: 34px;
        padding: 16px 18px;
        border: 1px solid var(--green);
        color: #2d5508;
        background: #fff;
        font: 600 14px/1.5 Montserrat, sans-serif;
        text-decoration: none;
        transition: color .2s ease, background-color .2s ease;
    }

    .pc-gallery-cta:hover,
    .pc-gallery-cta:focus {
        color: #fff;
        background: var(--green);
        text-decoration: none;
        outline: 0;
    }

    .pc-gallery-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px;
    }

    .pc-gallery-grid a,
    .pc-gallery-grid .pc-video {
        min-height: 220px;
        overflow: hidden;
        background: #eee;
    }

    .pc-gallery-grid img,
    .pc-gallery-grid video {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .pc-gallery-grid .pc-video {
        grid-column: 1 / -1;
        aspect-ratio: 16 / 9;
    }

    .pc-gallery-more {
        display: none;
    }

    .pc-solutions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px;
        margin-top: 34px;
    }

    .pc-solution {
        display: flex;
        align-items: center;
        gap: 17px;
        min-height: 126px;
        padding: 20px;
        background: var(--soft);
    }

    .pc-solution img {
        width: 78px;
        height: 78px;
        object-fit: contain;
    }

    .pc-solution h3 {
        font-size: 17px;
        line-height: 1.35;
    }

    .pc-tech {
        margin-top: 42px;
        border-top: 1px solid var(--line);
        border-bottom: 1px solid var(--line);
    }

    .pc-tech header,
    .pc-media-grid {
        display: grid;
        grid-template-columns: 5fr 7fr;
        gap: 45px 90px;
        padding: 30px 0;
    }

    .pc-tech header h3 {
        margin: 0;
        font-size: 20px;
        line-height: 1.25;
    }

    .pc-tech header p {
        color: var(--body);
        font-size: 16px;
        line-height: 1.65;
    }

    .pc-media-grid {
        grid-template-columns: 1fr;
        gap: 0;
        padding: 0;
        border-top: 1px solid var(--line);
    }

    .pc-media-item {
        padding: 30px;
    }

    .pc-media-item + .pc-media-item {
        border-top: 1px solid var(--line);
    }

    .pc-media-grid video {
        display: block;
        width: 100%;
        height: 100%;
        aspect-ratio: 16 / 9;
        object-fit: contain;
        background: #171717;
    }

    .pc-description {
        display: grid;
        gap: 20px;
    }

    .pc-description img {
        display: block;
        width: 100%;
        height: auto;
    }

    @media (max-width: 900px) {

        .pc-hero-grid,
        .pc-heading,
        .pc-grid,
        .pc-gallery,
        .pc-app-grid {
            grid-template-columns: 1fr;
            gap: 28px;
        }

        .pc-hero-grid {
            padding: 38px 0;
        }

        .pc-carousel {
            order: -1;
        }

        .pc-plus-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .pc-download-grid,
        .pc-solutions {
            grid-template-columns: 1fr;
        }

        .pc-tech header {
            grid-template-columns: 1fr;
            gap: 18px;
        }
    }

    @media (max-width: 620px) {

        .pc-wrap,
        .pc-hero-grid {
            width: calc(100% - 24px);
        }

        .pc h1 {
            max-width: 100%;
            font-size: clamp(29px, 10vw, 42px);
            overflow-wrap: anywhere;
        }

        .pc-section {
            padding: 55px 0;
        }

        .pc-plus-grid {
            grid-template-columns: 1fr;
        }

        .pc-media-grid {
            grid-template-columns: 1fr;
            gap: 0;
        }

        .pc-document {
            grid-template-columns: 120px 1fr;
            gap: 18px;
            padding: 20px;
        }

        .pc-document img {
            width: 120px;
            height: 180px;
        }

        .pc-document h3 {
            font-size: 21px;
        }

        .pc-gallery-grid a,
        .pc-gallery-grid .pc-video {
            min-height: 160px;
        }

        .pc-gallery-grid a.pc-gallery-extra {
            display: none;
        }

        .pc-gallery-grid.expanded a.pc-gallery-extra {
            display: block;
        }

        .pc-gallery-more {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 46px;
            margin-top: 18px;
            padding: 10px 17px;
            border: 1px solid var(--green);
            color: #315d0a;
            background: #fff;
            font: 700 13px Montserrat, sans-serif;
        }
    }

    @media (max-width: 360px) {
        .pc-wrap,
        .pc-hero-grid {
            width: calc(100% - 20px);
        }

        .pc-document {
            grid-template-columns: 1fr;
        }

        .pc-document img {
            width: 100%;
            height: auto;
            max-height: 320px;
            object-fit: contain;
        }
    }

/* Camera di asciugatura sottovuoto: regole specifiche del prodotto. */
    .vac {
        --g: #76b729;
        --d: #1b1b1b;
        --s: #f2f2f2;
        --r: #d9ddda;
        --c: #555
    }

    .vac * {
        box-sizing: border-box
    }

    .vac h1,
    .vac h2,
    .vac h3,
    .vac p,
    .vac dl,
    .vac dd {
        margin: 0
    }

    .vac-wrap {
        width: calc(100% - 40px);
        max-width: 1170px;
        margin: auto
    }

    .vac h1,
    .vac h2,
    .vac h3 {
        font-family: Montserrat, sans-serif;
        text-transform: none !important
    }

    .vac-hero {
        color: #fff;
        background: var(--d)
    }

    .vac-hero-grid {
        display: grid;
        grid-template-columns: 5fr 7fr;
        gap: 55px;
        align-items: center;
        width: calc(100% - 40px);
        max-width: 1170px;
        margin: auto;
        padding: 55px 0 45px
    }

    .vac-crumb {
        margin-bottom: 28px;
        color: #aeb7b1;
        font-size: 13px
    }

    .vac-crumb a {
        color: #dce2de
    }

    .vac-crumb span {
        padding: 0 8px
    }

    .vac h1 {
        font-size: clamp(38px, 3.4vw, 51px);
        line-height: 1.02
    }

    .vac h1 small {
        display: block;
        margin-top: 17px;
        color: #dce2de;
        font-size: 19px;
        font-weight: 500;
        line-height: 1.3
    }

    .vac-hero-copy p {
        margin-top: 22px;
        color: #bec7c2;
        font-size: 15px;
        line-height: 1.65
    }

    .vac-carousel {
        position: relative
    }

    .vac-slides {
        position: relative;
        overflow: hidden;
        aspect-ratio: 4/3;
        background: #242424
    }

    .vac-slide {
        position: absolute;
        inset: 0;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: .35s
    }

    .vac-slide.active {
        opacity: 1;
        visibility: visible;
        pointer-events: auto
    }

    .vac-slide img {
        width: 100%;
        height: 100%;
        object-fit: cover
    }

    .vac-arrow {
        position: absolute;
        z-index: 2;
        top: 50%;
        width: 42px;
        height: 42px;
        margin-top: -21px;
        border: 0;
        color: white;
        background: #1b1b1bcc;
        font-size: 25px
    }

    .vac-prev {
        left: 12px
    }

    .vac-next {
        right: 12px
    }

    .vac-dots {
        position: absolute;
        z-index: 2;
        right: 0;
        bottom: 15px;
        left: 0;
        display: flex;
        justify-content: center;
        gap: 8px
    }

    .vac-dot {
        flex: 0 0 9px;
        width: 9px;
        height: 9px;
        margin: 0;
        padding: 0;
        border: 1px solid #fff;
        border-radius: 50%;
        background: transparent
    }

    .vac-dot.active {
        background: var(--g)
    }

    .vac-facts {
        float: none !important;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        width: calc(100% - 40px) !important;
        max-width: 1170px;
        margin: 0 auto !important;
        border-top: 1px solid #343b3e
    }

    .vac-facts>div {
        padding: 20px 24px
    }

    .vac-facts>div+div {
        border-left: 1px solid #343b3e
    }

    .vac-facts dt {
        color: #9fa9a3;
        font-size: 13px
    }

    .vac-facts dd {
        margin-top: 5px;
        color: #fff;
        font-family: Montserrat, sans-serif;
        font-size: 18px;
        font-weight: 600
    }

    .vac-tabs {
        position: sticky;
        z-index: 50;
        top: var(--nav, 80px);
        background: #fff;
        border-bottom: 1px solid var(--r)
    }

    .vac-tabs-row {
        display: flex;
        overflow-x: auto
    }

    .vac-tabs a {
        flex: 1 0 auto;
        display: flex;
        align-items: center;
        gap: 10px;
        min-height: 66px;
        padding: 0 22px;
        border-right: 1px solid var(--r);
        color: #424a46;
        font-family: Montserrat, sans-serif;
        font-size: 14px;
        font-weight: 600;
        text-decoration: none
    }

    .vac-tabs a.active {
        box-shadow: inset 0 -4px var(--g)
    }

    .vac-tabs span {
        font-size: 11px;
        color: #737b76
    }

    .vac-section {
        padding: 60px 0;
        scroll-margin-top: 150px
    }

    .vac-grid {
        display: grid;
        grid-template-columns: 5fr 7fr;
        gap: 45px 90px
    }

    .vac h2 {
        font-size: 34px;
        line-height: 1.08
    }

    .vac p {
        color: var(--c);
        font-size: 16px;
        line-height: 1.65
    }

    .vac-app,
    .vac-plus {
        background: var(--s)
    }

    .vac-list {
        margin: 0;
        padding: 0;
        list-style: none
    }

    .vac-list li {
        padding: 17px 0;
        border-bottom: 1px solid #c7cdca;
        font-family: Montserrat, sans-serif;
        font-size: 18px
    }

    .vac-tech {
        margin-top: 42px;
        border-top: 1px solid var(--r);
        border-bottom: 1px solid var(--r)
    }

    .vac-tech header,
    .vac-tech-grid {
        display: grid;
        grid-template-columns: 5fr 7fr;
        gap: 45px 90px;
        padding: 30px 0
    }

    .vac-tech-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 0;
        border-top: 1px solid var(--r)
    }

    .vac-tech article {
        padding: 30px
    }

    .vac-tech article+article {
        border-left: 1px solid var(--r)
    }

    .vac-tech article:before {
        content: '';
        display: block;
        width: 34px;
        height: 3px;
        margin-bottom: 16px;
        background: var(--g)
    }

    .vac-tech h3,
    .vac-detail h3 {
        margin-bottom: 14px;
        font-size: 20px
    }

    .vac-detail-bg {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1px;
        width: 100vw;
        margin: 46px 0 0 calc(50% - 50vw);
        padding: 48px max(20px, calc((100vw - 1170px)/2));
        background: #d8d8d8 url('../img/products/camera-asciugatura-sottovuoto/miscelatore-miscelazione.webp') center/cover fixed
    }

    .vac-detail {
        padding: 30px 38px;
        background: #fffffff0
    }

    .vac-detail p+p {
        margin-top: 12px
    }

    .vac-data {
        float: none !important;
        margin: 0 !important;
        padding: 0 !important
    }

    .vac-data>div {
        display: grid;
        grid-template-columns: 1.1fr 1fr;
        gap: 20px;
        padding: 13px 0;
        border-bottom: 1px solid #c4cac7
    }

    .vac-data dt,
    .vac-data dd {
        margin: 0 !important;
        padding: 0 !important;
        float: none !important
    }

    .vac-data dd {
        font-family: Montserrat, sans-serif;
        font-weight: 600
    }

    .vac-plus-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        margin-top: 42px;
        border-top: 1px solid #c9cecb;
        border-left: 1px solid #c9cecb
    }

    .vac-plus-item {
        padding: 28px 30px;
        border-right: 1px solid #c9cecb;
        border-bottom: 1px solid #c9cecb
    }

    .vac-num {
        display: grid;
        place-items: center;
        width: 42px;
        height: 42px;
        margin-bottom: 20px;
        border-radius: 50%;
        color: #fff;
        background: var(--g);
        font-family: Montserrat, sans-serif;
        font-size: 19px
    }

    .vac-plus-item h3 {
        margin-bottom: 12px;
        font-size: 19px
    }

    .vac-download {
        color: #fff;
        background: var(--d)
    }

    .vac-download h2,
    .vac-download p {
        color: #fff
    }

    .vac-download-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 40px;
        margin-top: 38px
    }

    .vac-download-item {
        display: grid;
        grid-template-columns: 155px 1fr;
        gap: 28px;
        align-items: end;
        padding: 28px;
        border: 1px solid #3d4441
    }

    .vac-download-item img {
        width: 155px;
        height: 219px;
        object-fit: cover
    }

    .vac-button {
        display: inline-flex;
        margin-top: 18px;
        padding: 11px 16px;
        color: #fff;
        background: var(--g);
        font-family: Montserrat, sans-serif;
        font-size: 13px;
        text-decoration: none
    }

    .vac-gallery {
        display: grid;
        grid-template-columns: 4fr 8fr;
        gap: 45px 70px
    }

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

    .vac-gallery-grid img,
    .vac-gallery-grid video {
        display: block;
        width: 100%;
        aspect-ratio: 4/3;
        object-fit: cover
    }

    .vac-video {
        grid-column: span 2;
        background: #111
    }

    @media(max-width:900px) {

        .vac-hero-grid,
        .vac-grid,
        .vac-tech header,
        .vac-gallery {
            grid-template-columns: 1fr
        }

        .vac-tech-grid,
        .vac-detail-bg {
            grid-template-columns: 1fr
        }

        .vac-tech article+article {
            border-left: 0;
            border-top: 1px solid var(--r)
        }

        .vac-detail-bg {
            background-attachment: scroll
        }

        .vac-plus-grid {
            grid-template-columns: repeat(2, 1fr)
        }

        .vac-download-grid {
            grid-template-columns: 1fr
        }
    }

    @media(max-width:620px) {

        .vac-wrap,
        .vac-hero-grid {
            width: calc(100% - 24px)
        }

        .vac-facts {
            grid-template-columns: 1fr;
            width: calc(100% - 24px) !important
        }

        .vac-facts>div+div {
            border-left: 0;
            border-top: 1px solid #343b3e
        }

        .vac-plus-grid,
        .vac-gallery-grid {
            grid-template-columns: 1fr
        }

        .vac-video {
            grid-column: span 1
        }

        .vac-download-item {
            grid-template-columns: 110px 1fr;
            padding: 20px
        }

        .vac-download-item img {
            width: 110px;
            height: 156px
        }
    }

/* Forno batch Ares: regole specifiche del prodotto. */
    .ares-logo {
        width: 145px !important;
        height: auto !important;
        max-height: 145px !important;
        margin-bottom: 20px !important;
        filter: none !important
    }

    .ares-dot {
        flex: 0 0 9px !important;
        width: 9px !important;
        height: 9px !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border-radius: 50% !important;
        line-height: 0 !important
    }
    .ares-new {
        --g: #76b729;
        --d: #1b1b1b;
        --s: #f2f2f2;
        --r: #d9ddda;
        --c: #555
    }

    .ares-new * {
        box-sizing: border-box
    }

    .ares-new h1,
    .ares-new h2,
    .ares-new h3,
    .ares-new p,
    .ares-new dl,
    .ares-new dd {
        margin: 0
    }

    .ares-wrap {
        width: calc(100% - 40px);
        max-width: 1170px;
        margin: auto
    }

    .ares-new h1,
    .ares-new h2,
    .ares-new h3 {
        font-family: Montserrat, sans-serif;
        text-transform: none !important
    }

    .ares-hero {
        color: #fff;
        background: var(--d)
    }

    .ares-hero-grid {
        display: grid;
        grid-template-columns: 5fr 7fr;
        gap: 55px;
        align-items: center;
        width: calc(100% - 40px);
        max-width: 1170px;
        margin: auto;
        padding: 48px 0 42px
    }

    .ares-logo {
        display: block;
        width: 150px;
        max-height: 80px;
        object-fit: contain;
        object-position: left center;
        margin-bottom: 24px;
        filter: brightness(0) invert(1)
    }

    .ares-crumb {
        margin-bottom: 20px;
        color: #aeb7b1;
        font-size: 13px
    }

    .ares-crumb a {
        color: #dce2de
    }

    .ares-crumb span {
        padding: 0 8px
    }

    .ares-hero h1 {
        font-size: clamp(40px, 4vw, 58px);
        line-height: 1
    }

    .ares-hero h1 small {
        display: block;
        margin-top: 16px;
        color: #dce2de;
        font-size: 19px;
        font-weight: 500;
        line-height: 1.3
    }

    .ares-hero-copy p {
        margin-top: 22px;
        color: #bec7c2;
        font-size: 15px;
        line-height: 1.65
    }

    .ares-slides {
        position: relative;
        overflow: hidden;
        aspect-ratio: 4/3;
        background: #242424
    }

    .ares-slide {
        position: absolute;
        inset: 0;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity .35s
    }

    .ares-slide.active {
        opacity: 1;
        visibility: visible;
        pointer-events: auto
    }

    .ares-slide img {
        width: 100%;
        height: 100%;
        object-fit: cover
    }

    .ares-arrow {
        position: absolute;
        z-index: 2;
        top: 50%;
        width: 42px;
        height: 42px;
        margin-top: -21px;
        border: 0;
        color: white;
        background: #1b1b1bcc;
        font-size: 25px
    }

    .ares-prev {
        left: 12px
    }

    .ares-next {
        right: 12px
    }

    .ares-carousel {
        position: relative
    }

    .ares-dots {
        position: absolute;
        z-index: 3;
        right: 0;
        bottom: 16px;
        left: 0;
        display: flex;
        justify-content: center;
        gap: 8px
    }

    .ares-dot {
        width: 9px;
        height: 9px;
        border: 1px solid #fff;
        border-radius: 50%;
        background: transparent
    }

    .ares-dot.active {
        background: var(--g)
    }

    .ares-facts {
        float: none !important;
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        width: calc(100% - 40px) !important;
        max-width: 1170px;
        margin: 0 auto !important;
        border-top: 1px solid #343b3e
    }

    .ares-facts>div {
        padding: 20px 24px
    }

    .ares-facts>div+div {
        border-left: 1px solid #343b3e
    }

    .ares-facts dt {
        color: #9fa9a3;
        font-size: 13px
    }

    .ares-facts dd {
        margin-top: 5px;
        color: #fff;
        font-family: Montserrat, sans-serif;
        font-size: 17px;
        font-weight: 600
    }

    .ares-tabs {
        position: sticky;
        z-index: 50;
        top: var(--ares-nav, 80px);
        border-bottom: 1px solid var(--r);
        background: #fff
    }

    .ares-tabs-row {
        display: flex;
        overflow-x: auto
    }

    .ares-tabs a {
        flex: 1 0 auto;
        display: flex;
        align-items: center;
        gap: 10px;
        min-height: 66px;
        padding: 0 22px;
        border-right: 1px solid var(--r);
        color: #424a46;
        font-family: Montserrat, sans-serif;
        font-size: 14px;
        font-weight: 600;
        text-decoration: none
    }

    .ares-tabs a:first-child {
        border-left: 1px solid var(--r)
    }

    .ares-tabs a span {
        font-size: 11px;
        color: #737b76
    }

    .ares-tabs a.active {
        box-shadow: inset 0 -4px var(--g)
    }

    .ares-section {
        padding: 60px 0;
        scroll-margin-top: 150px
    }

    .ares-section>.ares-wrap {
        width: calc(100% - 40px) !important;
        max-width: 1170px !important;
        margin: auto !important
    }

    .ares-split {
        display: grid;
        grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
        gap: 45px 90px
    }

    .ares-new h2 {
        font-size: 34px;
        line-height: 1.08
    }

    .ares-intro,
    .ares-detail p {
        color: var(--c);
        font-size: 16px;
        line-height: 1.65
    }

    .ares-app,
    .ares-plus {
        background: var(--s)
    }

    .ares-list {
        margin: 0;
        padding: 0;
        list-style: none
    }

    .ares-list li {
        padding: 15px 0;
        border-bottom: 1px solid #c7cdca;
        font-family: Montserrat, sans-serif;
        font-size: 17px
    }

    .ares-tech {
        margin-top: 42px;
        border-top: 1px solid var(--r);
        border-bottom: 1px solid var(--r)
    }

    .ares-tech-head,
    .ares-tech-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr)
    }

    .ares-tech-head {
        grid-template-columns: 5fr 7fr;
        gap: 45px 90px;
        padding: 30px 0
    }

    .ares-tech-grid {
        border-top: 1px solid var(--r)
    }

    .ares-tech article {
        padding: 30px
    }

    .ares-tech article+article {
        border-left: 1px solid var(--r)
    }

    .ares-tech article:before {
        content: '';
        display: block;
        width: 34px;
        height: 3px;
        margin-bottom: 16px;
        background: var(--g)
    }

    .ares-tech h3,
    .ares-detail h3 {
        margin-bottom: 14px;
        font-size: 20px
    }

    .ares-tech p {
        color: var(--c);
        font-size: 16px;
        line-height: 1.6
    }

    .ares-details {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1px;
        width: 100vw;
        margin: 46px 0 0 calc(50% - 50vw);
        padding: 48px max(20px, calc((100vw - 1170px)/2));
        background: #d8d8d8 url('../img/products/ares/ares-attrezzature.webp?v=20261015b') center/cover fixed
    }

    .ares-detail {
        padding: 30px 38px;
        background: #fffffff0
    }

    .ares-detail p+p {
        margin-top: 12px
    }

    .ares-detail ul {
        margin: 0;
        padding-left: 0;
        color: var(--c);
        font-size: 16px;
        line-height: 1.65;
        list-style: none
    }

    .ares-detail li {
        position: relative;
        display: block;
        padding-left: 20px
    }

    .ares-detail li::before {
        content: '•';
        position: absolute;
        top: 0;
        left: 2px;
        color: var(--g);
        font-size: 18px;
        line-height: 1.45
    }

    .ares-detail li+li {
        margin-top: 4px
    }

    .ares-data {
        float: none !important;
        margin: 0 !important;
        padding: 0 !important
    }

    .ares-data>div {
        display: grid;
        grid-template-columns: 1.1fr 1fr;
        gap: 20px;
        padding: 13px 0;
        border-bottom: 1px solid #c4cac7
    }

    .ares-data dt,
    .ares-data dd {
        margin: 0 !important;
        padding: 0 !important;
        float: none !important
    }

    .ares-data dd {
        font-family: Montserrat, sans-serif;
        font-weight: 600
    }

    .ares-plus-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        margin-top: 42px;
        border-top: 1px solid #c9cecb;
        border-left: 1px solid #c9cecb
    }

    .ares-plus-item {
        padding: 28px 30px;
        border-right: 1px solid #c9cecb;
        border-bottom: 1px solid #c9cecb
    }

    .ares-num {
        display: grid;
        place-items: center;
        width: 42px;
        height: 42px;
        margin-bottom: 20px;
        border-radius: 50%;
        color: #fff;
        background: var(--g);
        font-family: Montserrat, sans-serif;
        font-size: 19px
    }

    .ares-plus-item h3 {
        margin-bottom: 12px;
        font-size: 19px
    }

    .ares-plus-item p {
        color: var(--c);
        font-size: 15px;
        line-height: 1.55
    }

    .ares-download {
        color: #fff;
        background: var(--d)
    }

    .ares-download h2 {
        color: #fff
    }

    .ares-download p {
        margin-top: 15px;
        color: #bec7c2
    }

    .ares-download-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 40px;
        margin-top: 38px
    }

    .ares-download-item {
        display: grid;
        grid-template-columns: 155px 1fr;
        gap: 28px;
        align-items: end;
        padding: 28px;
        border: 1px solid #3d4441
    }

    .ares-download-item img {
        width: 155px;
        height: 219px;
        object-fit: cover
    }

    .ares-download-item h3 {
        font-size: 20px
    }

    .ares-button {
        display: inline-flex;
        margin-top: 18px;
        padding: 11px 16px;
        color: #fff;
        background: var(--g);
        font-family: Montserrat, sans-serif;
        font-size: 13px;
        text-decoration: none
    }

    .ares-gallery {
        display: grid;
        grid-template-columns: 4fr 8fr;
        gap: 45px 70px
    }

    .ares-gallery p {
        margin-top: 17px;
        color: var(--c);
        line-height: 1.6
    }

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

    .ares-gallery-grid img,
    .ares-video iframe {
        display: block;
        width: 100%;
        aspect-ratio: 4/3;
        object-fit: cover
    }

    .ares-video {
        grid-column: span 2;
        background: #111
    }

    @media(max-width:900px) {

        .ares-hero-grid,
        .ares-split,
        .ares-tech-head,
        .ares-gallery {
            grid-template-columns: 1fr
        }

        .ares-tech-grid,
        .ares-details {
            grid-template-columns: 1fr
        }

        .ares-tech article+article {
            border-left: 0;
            border-top: 1px solid var(--r)
        }

        .ares-details {
            background-attachment: scroll
        }

        .ares-plus-grid {
            grid-template-columns: repeat(2, 1fr)
        }

        .ares-download-grid {
            grid-template-columns: 1fr
        }
    }

    @media(max-width:620px) {

        .ares-wrap,
        .ares-hero-grid {
            width: calc(100% - 24px)
        }

        .ares-facts {
            grid-template-columns: 1fr;
            width: calc(100% - 24px) !important
        }

        .ares-facts>div+div {
            border-left: 0;
            border-top: 1px solid #343b3e
        }

        .ares-plus-grid,
        .ares-gallery-grid {
            grid-template-columns: 1fr
        }

        .ares-video {
            grid-column: span 1
        }

        .ares-download-item {
            grid-template-columns: 110px 1fr;
            padding: 20px
        }

        .ares-download-item img {
            width: 110px;
            height: 156px
        }
    }

/* Componenti condivisi: stessa resa per strutture equivalenti. */
:is(.wl8, .pasteur-page, .open-pack, .snack, .dry, .vac, .ares-new),
:is(.wl8, .pasteur-page, .open-pack, .snack, .dry, .vac, .ares-new) * {
    box-sizing: border-box;
}

:is(.wl8, .pasteur-page, .open-pack, .snack, .dry, .vac, .ares-new) {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
    color: #1b1b1b;
    background: #fff;
}

:is(.wl8-wrap, .pasteur-wrap, .open-wrap, .sn-wrap, .dry-wrap, .vac-wrap, .ares-wrap) {
    width: calc(100% - 40px);
    max-width: 1170px;
    margin-inline: auto;
}

:is(.wl8-hero-grid, .pasteur-hero-grid, .open-hero-grid, .sn-hero-grid, .dry-hero-grid, .vac-hero-grid, .ares-hero-grid) {
    display: grid;
    grid-template-columns: 5fr 7fr;
    gap: 55px;
    align-items: center;
    width: calc(100% - 40px);
    max-width: 1170px;
    margin-inline: auto;
    padding-block: 55px 45px;
}

:is(.wl8-hero-copy, .pasteur-hero-copy, .open-hero-copy, .sn-hero-copy, .dry-hero-copy, .vac-hero-copy, .ares-hero-copy),
:is(.wl8-carousel, .pasteur-hero-gallery, .open-carousel, .sn-carousel, .dry-carousel, .vac-carousel, .ares-carousel),
:is(.wl8-slides, .pasteur-slides, .open-slides, .sn-slides, .dry-slides, .vac-slides, .ares-slides) {
    min-width: 0;
    max-width: 100%;
}

:is(.wl8-hero, .pasteur-hero, .open-hero, .sn-hero, .dry-hero, .vac-hero, .ares-hero) h1 {
    max-width: 560px;
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(38px, 3.4vw, 51px);
    font-weight: 700;
    letter-spacing: -.03em;
    line-height: 1.02;
    text-transform: none !important;
}

:is(.wl8-hero, .pasteur-hero, .open-hero, .sn-hero, .dry-hero, .vac-hero, .ares-hero) h1 small {
    display: block;
    margin-top: 17px;
    color: #dce2de;
    font-size: 19px;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.3;
    text-transform: none;
}

:is(.wl8-hero-copy, .pasteur-hero-copy, .open-hero-copy, .sn-hero-copy, .dry-hero-copy, .vac-hero-copy, .ares-hero-copy) > p {
    margin-top: 22px;
    color: #bec7c2;
    font-size: 15px;
    line-height: 1.65;
}

:is(.wl8-facts, .pasteur-facts, .open-facts, .sn-facts, .dry-facts, .vac-facts, .ares-facts) {
    float: none !important;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: calc(100% - 40px) !important;
    max-width: 1170px;
    margin-inline: auto !important;
}

:is(.wl8-tabs-row, .pasteur-tabs-row, .open-tabs-row, .sn-tabs-row, .dry-tabs-row, .vac-tabs-row, .ares-tabs-row) {
    display: flex;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
}

:is(.wl8-tabs-row, .pasteur-tabs-row, .open-tabs-row, .sn-tabs-row, .dry-tabs-row, .vac-tabs-row, .ares-tabs-row)::-webkit-scrollbar {
    display: none;
}

:is(.wl8-tabs, .pasteur-tabs, .open-tabs, .sn-tabs, .dry-tabs, .vac-tabs, .ares-tabs) {
    position: -webkit-sticky;
    position: sticky;
    z-index: 50;
    top: var(--product-navbar-height, 80px);
    border-bottom: 1px solid #d9ddda;
    background: rgba(255, 255, 255, .98);
}

:is(.wl8-tabs, .pasteur-tabs, .open-tabs, .sn-tabs, .dry-tabs, .vac-tabs, .ares-tabs) a {
    flex: 1 0 auto;
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 66px;
    padding-inline: 22px;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}

:is(.wl8-section, .pasteur-section, .open-section, .sn-section, .dry-section, .vac-section, .ares-section) {
    padding-block: 60px;
    scroll-margin-top: calc(var(--product-navbar-height, 80px) + 70px);
}

:is(.wl8-split, .pasteur-split, .open-split, .sn-split, .dry-split, .vac-grid, .ares-split) {
    display: grid;
    grid-template-columns: 5fr 7fr;
    gap: 45px 90px;
    align-items: start;
}

:is(.wl8-section, .pasteur-section, .open-section, .sn-section, .dry-section, .vac-section, .ares-section) h2 {
    max-width: 14ch;
    font-family: 'Montserrat', sans-serif;
    font-size: 34px;
    font-weight: 650;
    letter-spacing: -.02em;
    line-height: 1.08;
    text-transform: none !important;
}

:is(.wl8-plus, .pasteur-plus, .open-plus, .sn-plus, .dry-plus, .vac-plus, .ares-plus) >
:is(.wl8-wrap, .pasteur-wrap, .open-wrap, .sn-wrap, .dry-wrap, .vac-wrap, .ares-wrap) > h2 {
    width: 100%;
    max-width: 920px;
    line-height: 1.25;
}

/* Componente condiviso Plus tecnologici. Il contenuto resta specifico per prodotto. */
.product-plus {
    padding-block: 60px;
    background: #f2f2f2;
    scroll-margin-top: calc(var(--product-navbar-height, 80px) + 70px);
}

.product-plus__inner {
    width: calc(100% - 40px);
    max-width: 1170px;
    margin-inline: auto;
}

.product-plus__heading {
    width: 100%;
    max-width: 920px !important;
    margin: 0;
    font-family: 'Montserrat', sans-serif;
    font-size: 34px;
    font-weight: 650;
    letter-spacing: -.02em;
    line-height: 1.25;
    text-transform: none !important;
}

.product-plus__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 42px;
    border-top: 1px solid #c9cecb;
    border-left: 1px solid #c9cecb;
}

.product-plus__grid--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.product-plus__item,
.product-plus__grid > article {
    min-width: 0;
    padding: 28px 30px 32px;
    border-right: 1px solid #c9cecb;
    border-bottom: 1px solid #c9cecb;
}

.product-plus__number,
.product-plus__grid > article > span:first-child {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-bottom: 22px;
    border-radius: 50%;
    color: #fff;
    background: #76b729;
    font-family: 'Montserrat', sans-serif;
    font-size: 19px;
    font-weight: 600;
}

.product-plus__item h3,
.product-plus__grid > article h3 {
    min-height: 50px;
    margin: 0 0 14px;
    font-family: 'Montserrat', sans-serif;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.2;
    text-transform: none !important;
}

.product-plus__item p,
.product-plus__grid > article p {
    margin: 0;
    color: #555;
    font-size: 15px;
    line-height: 1.55;
}

.product-validation {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 20px;
    align-items: center;
    max-width: 650px;
    margin-top: 42px;
    padding: 25px 30px;
    background: #f2dfc4;
}

.product-validation__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 62px;
    height: 62px;
    border: 4px solid #665f55;
    border-radius: 50%;
    color: #665f55;
    font-size: 27px;
}

.product-validation__label {
    color: #665f55;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.product-validation h3 {
    margin: 3px 0 5px;
    font-family: 'Montserrat', sans-serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.15;
    text-transform: none !important;
}

.product-validation p {
    margin: 0;
    color: #665f55;
    font-size: 13px;
    line-height: 1.45;
}

.product-validation__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

.product-validation__tags span {
    padding: 3px 8px;
    border-radius: 10px;
    color: #665f55;
    background: rgba(102, 95, 85, .1);
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
}

:is(.wl8-intro, .pasteur-intro, .open-intro, .sn-intro, .dry-intro, .ares-intro) {
    max-width: 510px;
    margin-top: 18px;
    color: #555;
    font-size: 15px;
    line-height: 1.6;
}

:is(.wl8-plus-grid, .pasteur-plus-grid, .open-plus-grid, .sn-plus-grid, .dry-plus-grid, .vac-plus-grid, .ares-plus-grid) {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 42px;
    border-top: 1px solid #c9cecb;
    border-left: 1px solid #c9cecb;
}

:is(.wl8-plus-item, .pasteur-plus-item, .open-plus-item, .sn-plus-item, .dry-plus-item, .vac-plus-item, .ares-plus-item) {
    min-width: 0;
    padding: 28px 30px 32px;
    border-right: 1px solid #c9cecb;
    border-bottom: 1px solid #c9cecb;
}

:is(.wl8-download-grid, .pasteur-download-grid, .open-download-grid, .sn-download-grid, .dry-download-grid, .vac-download-grid, .ares-download-grid) {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px;
    margin-top: 42px;
}

:is(.wl8-download-item, .pasteur-download-item, .open-download-item, .sn-download-item, .dry-download-item, .vac-download-item, .ares-download-item) {
    display: grid;
    grid-template-columns: 155px minmax(0, 1fr);
    gap: 28px;
    align-items: end;
    min-width: 0;
    padding: 28px;
    border: 1px solid #3d4441;
}

:is(.wl8-gallery-grid, .pasteur-gallery-grid, .open-gallery-grid, .sn-gallery-grid, .dry-gallery-grid, .vac-gallery-grid, .ares-gallery-grid) {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

:is(.wl8-tech, .pasteur-technology, .open-tech, .sn-tech, .dry-tech) {
    margin-top: 42px;
    border-top: 1px solid #d9ddda;
    border-bottom: 1px solid #d9ddda;
}

:is(.wl8-tech-grid, .pasteur-technology-grid, .open-tech-grid, .sn-tech-grid, .dry-tech-grid) {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid #d9ddda;
}

:is(.wl8-specs, .pasteur-specs, .open-specs, .sn-specs, .dry-specs, .vac-data, .ares-data) > div {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 20px;
    padding: 14px 0;
    border-bottom: 1px solid #c4cac7;
}

:is(.wl8-num, .pasteur-plus-number, .open-plus-number, .sn-num, .dry-num, .vac-num, .ares-num) {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    margin-bottom: 22px;
    border-radius: 50%;
    color: #fff;
    background: #76b729;
    font-family: 'Montserrat', sans-serif;
    font-size: 19px;
    font-weight: 600;
}

:is(.wl8-validation, .pasteur-validation, .open-validation) {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 20px;
    align-items: center;
    max-width: 650px;
    margin-top: 42px;
    padding: 25px 30px;
    background: #f2dfc4;
}

:is(.wl8-validation-icon, .pasteur-validation-icon, .open-validation-icon) {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 62px;
    height: 62px;
    border: 4px solid #665f55;
    border-radius: 50%;
    color: #665f55;
    font-size: 27px;
}

:is(.wl8-validation-label, .pasteur-validation-label, .open-validation-label) {
    color: #665f55;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

:is(.wl8-validation, .pasteur-validation, .open-validation) h3 {
    margin: 3px 0 5px;
    font-family: 'Montserrat', sans-serif;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.15;
    text-transform: none !important;
}

:is(.wl8-validation, .pasteur-validation, .open-validation) p {
    color: #665f55;
    font-size: 13px;
    line-height: 1.45;
}

:is(.wl8-validation-tags, .pasteur-validation-tags, .open-validation-tags) {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

:is(.wl8-validation-tags, .pasteur-validation-tags, .open-validation-tags) span {
    padding: 3px 8px;
    border-radius: 10px;
    color: #665f55;
    background: rgba(102, 95, 85, .1);
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
}

@media (max-width: 900px) {
    :is(.wl8-hero-grid, .pasteur-hero-grid, .open-hero-grid, .sn-hero-grid, .dry-hero-grid, .vac-hero-grid, .ares-hero-grid),
    :is(.wl8-split, .pasteur-split, .open-split, .sn-split, .dry-split, .vac-grid, .ares-split) {
        grid-template-columns: 1fr;
    }

    :is(.wl8-hero-grid, .pasteur-hero-grid, .open-hero-grid, .sn-hero-grid, .dry-hero-grid, .vac-hero-grid, .ares-hero-grid) {
        gap: 35px;
        padding-block: 45px;
    }

    :is(.wl8-plus-grid, .pasteur-plus-grid, .open-plus-grid, .sn-plus-grid, .dry-plus-grid, .vac-plus-grid, .ares-plus-grid) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    :is(.wl8-download-grid, .pasteur-download-grid, .open-download-grid, .sn-download-grid, .dry-download-grid, .vac-download-grid, .ares-download-grid) {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    :is(.wl8-wrap, .pasteur-wrap, .open-wrap, .sn-wrap, .dry-wrap, .vac-wrap, .ares-wrap),
    :is(.wl8-hero-grid, .pasteur-hero-grid, .open-hero-grid, .sn-hero-grid, .dry-hero-grid, .vac-hero-grid, .ares-hero-grid),
    :is(.wl8-facts, .pasteur-facts, .open-facts, .sn-facts, .dry-facts, .vac-facts, .ares-facts) {
        width: calc(100% - 24px) !important;
    }

    :is(.wl8-hero, .pasteur-hero, .open-hero, .sn-hero, .dry-hero, .vac-hero, .ares-hero) h1 {
        max-width: 100%;
        font-size: clamp(27px, 9vw, 42px);
        line-height: 1.04;
        overflow-wrap: anywhere;
    }

    :is(.wl8-facts, .pasteur-facts, .open-facts, .sn-facts, .dry-facts, .vac-facts, .ares-facts),
    :is(.wl8-plus-grid, .pasteur-plus-grid, .open-plus-grid, .sn-plus-grid, .dry-plus-grid, .vac-plus-grid, .ares-plus-grid),
    :is(.wl8-gallery-grid, .pasteur-gallery-grid, .open-gallery-grid, .sn-gallery-grid, .dry-gallery-grid, .vac-gallery-grid, .ares-gallery-grid),
    :is(.wl8-tech-grid, .pasteur-technology-grid, .open-tech-grid, .sn-tech-grid, .dry-tech-grid) {
        grid-template-columns: 1fr;
    }

    :is(.wl8-specs, .pasteur-specs, .open-specs, .sn-specs, .dry-specs, .vac-data, .ares-data) > div,
    :is(.wl8-validation, .pasteur-validation, .open-validation) {
        grid-template-columns: 1fr;
    }

    :is(.wl8-section, .pasteur-section, .open-section, .sn-section, .dry-section, .vac-section, .ares-section) {
        padding-block: 55px;
    }

    :is(.wl8-download-item, .pasteur-download-item, .open-download-item, .sn-download-item, .dry-download-item, .vac-download-item, .ares-download-item) {
        grid-template-columns: 110px minmax(0, 1fr);
        gap: 20px;
        padding: 20px;
    }

    .pasteur-process-details {
        width: 100%;
        margin-left: 0;
    }

    .open-details {
        width: 100%;
        margin-left: 0;
    }

    .sn-details {
        width: 100%;
        margin-left: 0;
    }

    .dry-details {
        width: 100%;
        margin-left: 0;
    }

    .vac-detail-bg {
        width: 100%;
        margin-left: 0;
    }

    .ares-details {
        width: 100%;
        margin-left: 0;
    }
}

@media (max-width: 360px) {
    :is(.wl8-wrap, .pasteur-wrap, .open-wrap, .sn-wrap, .dry-wrap, .vac-wrap, .ares-wrap),
    :is(.wl8-hero-grid, .pasteur-hero-grid, .open-hero-grid, .sn-hero-grid, .dry-hero-grid, .vac-hero-grid, .ares-hero-grid),
    :is(.wl8-facts, .pasteur-facts, .open-facts, .sn-facts, .dry-facts, .vac-facts, .ares-facts) {
        width: calc(100% - 20px) !important;
    }

    :is(.wl8-download-item, .pasteur-download-item, .open-download-item, .sn-download-item, .dry-download-item, .vac-download-item, .ares-download-item) {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .product-plus__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .product-plus {
        padding-block: 55px;
    }

    .product-plus__inner {
        width: calc(100% - 24px);
    }

    .product-plus__grid,
    .product-plus__grid--two {
        grid-template-columns: 1fr;
    }

    .product-validation {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 360px) {
    .product-plus__inner {
        width: calc(100% - 20px);
    }
}
