        /* SLIDER OTTIMIZZATO */

        .tf-slideshow .slider-wrap {
            position: relative;
            height: 1120px;
            overflow: hidden;
        }

        /* immagini */

        .tf-slideshow .slider-wrap .image img {

            width: 100%;
            height: 100%;
            object-fit: cover;

        }

        /* overlay contenuto */

        .tf-slideshow .box-content {

            position: absolute;
            top: 50%;
            left: 0;
            width: 100%;
            transform: translateY(-50%);

        }

        /* contenuto più compatto */

        .content-slider {

            max-width: 650px;

        }

        /* titolo più elegante */

        .content-slider h2 {

            font-size: 48px;
            font-weight: 600;
            line-height: 1.2;

        }

        /* testo */

        .content-slider p {

            font-size: 18px;
            opacity: 0.95;

        }

        /* mobile */

        @media(max-width:992px) {

            .tf-slideshow .slider-wrap {

                height: 360px;

            }

            .content-slider h2 {

                font-size: 32px;

            }

            .content-slider p {

                font-size: 15px;

            }

        }

        /* smartphone */

        @media(max-width:600px) {

            .tf-slideshow .slider-wrap {

                height: 300px;

            }

            .content-slider {

                text-align: center;

            }

        }

        /* overlay scuro sopra immagine */

        .slider-wrap::after {

            content: "";

            position: absolute;

            top: 0;
            left: 0;

            width: 100%;
            height: 100%;

            background: linear-gradient(rgba(0, 0, 0, 0.55),
                    rgba(0, 0, 0, 0.35));

            z-index: 1;

        }

        /* contenuto sopra overlay */

        .box-content {
            position: absolute;
            z-index: 2;
        }

        /* titolo slider */

        .content-slider h2 {

            font-size: 48px;
            font-weight: 700;

            text-shadow:
                0 4px 14px rgba(0, 0, 0, 0.6),
                0 2px 6px rgba(0, 0, 0, 0.5);

        }

        /* descrizione */

        .content-slider p {

            font-size: 18px;

            text-shadow:
                0 3px 10px rgba(0, 0, 0, 0.6);

            max-width: 620px;

        }

        /* container bottoni */

        .box-btn-slider {

            display: flex;

            gap: 16px;

            margin-top: 25px;

            flex-wrap: wrap;

        }

        /* bottone principale */

        .btn-cta-primary {

            background: #0c5a2b;

            color: white;

            padding: 14px 26px;

            font-weight: 700;

            border-radius: 6px;

            text-decoration: none;

            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.35);

            transition: 0.25s;

        }

        /* hover */

        .btn-cta-primary:hover {

            background: #12853e;

            transform: translateY(-3px);

        }

        /* bottone secondario */

        .btn-cta-secondary {

            background: white;

            color: #222;

            padding: 14px 26px;

            font-weight: 600;

            border-radius: 6px;

            text-decoration: none;

            box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);

            transition: 0.25s;

        }

        .btn-cta-secondary:hover {

            transform: translateY(-3px);

            background: #f2f2f2;

        }

        @media(max-width:768px) {

            .content-slider h2 {
                font-size: 30px;
            }

            .content-slider p {
                font-size: 15px;
            }

            .box-btn-slider {
                justify-content: center;
            }

        }

        .cta-btn {
            display: inline-block;
            padding: 14px 28px;
            font-weight: 700;
            border-radius: 6px;
            text-decoration: none;
            transition: all .3s ease;
            font-size: 16px;
            letter-spacing: .3px;
        }

        /* bottone principale */
        .cta-green {
            background: #18a558;
            color: white;
        }

        .cta-green:hover {
            background: #138a48;
            transform: translateY(-2px);
            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
        }

        /* bottone conversione */
        .cta-orange {
            background: #ff7a00;
            color: white;
        }

        .cta-orange:hover {
            background: #e66d00;
            transform: translateY(-2px);
            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
        }

        .service-box {
            display: block;
            padding: 30px 20px;
            background: white;
            border-radius: 8px;
            text-decoration: none;
            transition: all .3s ease;
            box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
        }

        .service-box img {
            height: 50px;
            margin-bottom: 15px;
        }

        .service-box h5 {
            font-weight: 700;
            margin-bottom: 5px;
            color: #1a1a1a;
        }

        .service-box p {
            font-size: 14px;
            color: #777;
        }

        .service-box:hover {
            transform: translateY(-6px);
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
        }

        .cta-btn {
            display: inline-block;
            padding: 14px 28px;
            font-weight: 700;
            border-radius: 6px;
            text-decoration: none;
            transition: all .3s ease;
            font-size: 16px;
            margin-top: 10px;
        }

        .cta-green {
            background: #18a558;
            color: white;
        }

        .cta-green:hover {
            background: #138a48;
            transform: translateY(-2px);
            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
        }

        .cta-orange {
            background: #ff7a00;
            color: white;
        }

        .cta-orange:hover {
            background: #e66d00;
            transform: translateY(-2px);
            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
        }

        /* FLOATING BUTTON */
        .floating-wa-btn {
            position: fixed;
            right: 22px;
            bottom: 22px;
            z-index: 9998;
            display: inline-flex;
            align-items: center;
            gap: 10px;
            background: linear-gradient(135deg, #25D366, #18b957);
            color: #fff;
            text-decoration: none;
            padding: 14px 18px;
            border-radius: 999px;
            box-shadow: 0 14px 35px rgba(37, 211, 102, 0.35);
            font-weight: 700;
            font-size: 15px;
            transition: all .28s ease;
        }

        .floating-wa-btn i {
            font-size: 22px;
            line-height: 1;
        }

        .floating-wa-btn:hover {
            transform: translateY(-3px) scale(1.02);
            box-shadow: 0 18px 40px rgba(37, 211, 102, 0.42);
            color: #fff;
        }

        /* OVERLAY */
        .modal-overlay {
            position: fixed;
            inset: 0;
            z-index: 9999;

            display: flex;
            align-items: center;
            justify-content: center;

            padding: 60px 20px;
            /* margine sopra e sotto */

            background: rgba(8, 12, 16, 0.72);
            backdrop-filter: blur(7px);

            opacity: 0;
            visibility: hidden;
            transition: opacity .3s ease, visibility .3s ease;

            overflow-y: auto;
            /* se lo schermo è piccolo scrolla */
        }

        .modal-overlay.active {
            opacity: 1;
            visibility: visible;
        }

        /* CONTAINER */
        .modal-container {
            position: relative;

            width: 1120px;
            max-width: 100%;

            max-height: calc(100vh - 120px);
            /* lascia spazio sopra e sotto */

            display: grid;
            grid-template-columns: 1.05fr 0.95fr;

            background: #fff;
            border-radius: 24px;
            overflow: hidden;

            box-shadow: 0 30px 80px rgba(0, 0, 0, 0.32);
        }

        .modal-overlay.active .modal-container {
            transform: translateY(0) scale(1);
        }

        .modal-left {
            overflow-y: auto;
        }

        /* CLOSE */
        .close-modal {
            position: absolute;
            top: 18px;
            right: 18px;
            z-index: 4;
            width: 44px;
            height: 44px;
            border: 0;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.92);
            color: #1e1e1e;
            cursor: pointer;
            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.12);
            transition: all .25s ease;
        }

        .close-modal:hover {
            transform: rotate(90deg);
        }

        /* LEFT */
        .modal-left {
            padding: 54px 46px 42px;
            background:
                radial-gradient(circle at top left, rgba(24, 165, 88, .08), transparent 35%),
                #ffffff;
        }

        .modal-badge {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            padding: 9px 14px;
            border-radius: 999px;
            background: #eefaf2;
            color: #148247;
            font-size: 13px;
            font-weight: 700;
            margin-bottom: 18px;
        }

        .modal-left h2 {
            font-size: 38px;
            line-height: 1.12;
            font-weight: 800;
            color: #161616;
            margin-bottom: 14px;
        }

        .modal-subtitle {
            font-size: 16px;
            line-height: 1.6;
            color: #616161;
            margin-bottom: 28px;
            max-width: 590px;
        }

        /* FORM */
        .form-grid {
            display: flex;
            flex-wrap: wrap;
            gap: 16px;
        }

        .input-group {
            display: flex;
            flex-direction: column;
        }

        .input-group.full {
            width: 100%;
        }

        .input-group.half {
            width: calc(50% - 8px);
        }

        .input-group label {
            font-size: 13px;
            font-weight: 700;
            color: #232323;
            margin-bottom: 8px;
        }

        .input-wrap {
            display: flex;
            align-items: center;
            gap: 12px;
            min-height: 58px;
            padding: 0 16px;
            border: 1px solid #dde4dd;
            border-radius: 14px;
            background: #fff;
            transition: all .25s ease;
        }

        .textarea-wrap {
            align-items: flex-start;
            padding-top: 16px;
            padding-bottom: 14px;
        }

        .input-wrap:focus-within {
            border-color: #18a558;
            box-shadow: 0 0 0 4px rgba(24, 165, 88, 0.10);
        }

        .input-wrap i {
            color: #18a558;
            font-size: 16px;
            flex-shrink: 0;
        }

        .input-wrap input,
        .input-wrap select,
        .input-wrap textarea {
            width: 100%;
            border: 0;
            outline: none;
            background: transparent;
            font-size: 15px;
            color: #1d1d1d;
        }

        .input-wrap textarea {
            resize: none;
            padding-top: 0;
        }

        .form-bottom {
            margin-top: 22px;
        }

        .form-note {
            display: flex;
            align-items: center;
            gap: 8px;
            color: #5b5b5b;
            font-size: 13px;
            margin-bottom: 16px;
        }

        .form-note i {
            color: #18a558;
        }

        /* CTA */
        .whatsapp-btn {
            width: 100%;
            min-height: 58px;
            border: 0;
            border-radius: 14px;
            background: linear-gradient(135deg, #25D366, #18b957);
            color: #fff;
            font-size: 16px;
            font-weight: 800;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
            box-shadow: 0 16px 30px rgba(37, 211, 102, 0.26);
            transition: all .28s ease;
        }

        .whatsapp-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 20px 36px rgba(37, 211, 102, 0.34);
        }

        /* RIGHT */
        .modal-right {
            position: relative;
            background:
                linear-gradient(rgba(8, 17, 12, .22), rgba(8, 17, 12, .48)),
                url("../images/servizi/raccolta-olio.png") center center / cover no-repeat;
            min-height: 100%;
        }

        .modal-right-overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(180deg, rgba(14, 58, 29, .08), rgba(5, 20, 10, .50));
        }

        .modal-right-content {
            position: absolute;
            left: 38px;
            right: 38px;
            bottom: 40px;
            z-index: 2;
            color: #fff;
        }

        .eyebrow {
            display: inline-block;
            font-size: 13px;
            font-weight: 700;
            letter-spacing: .08em;
            text-transform: uppercase;
            margin-bottom: 14px;
            opacity: .95;
        }

        .modal-right-content h3 {
            font-size: 30px;
            line-height: 1.2;
            font-weight: 800;
            margin-bottom: 22px;
            color: #fff;
        }

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

        .feature-list li {
            display: flex;
            align-items: center;
            gap: 10px;
            font-size: 15px;
            margin-bottom: 12px;
            color: rgba(255, 255, 255, .95);
        }

        .feature-list i {
            color: #7df0a4;
        }

        /* RESPONSIVE */
        @media (max-width: 991px) {
            .modal-container {
                grid-template-columns: 1fr;
                min-height: auto;
                max-height: 92vh;
                overflow-y: auto;
            }

            .modal-right {
                min-height: 280px;
                order: -1;
            }

            .modal-left {
                padding: 30px 22px 24px;
            }

            .modal-left h2 {
                font-size: 28px;
            }

            .modal-right-content {
                left: 24px;
                right: 24px;
                bottom: 24px;
            }

            .modal-right-content h3 {
                font-size: 24px;
            }
        }

        @media (max-width: 640px) {
            .floating-wa-btn {
                right: 14px;
                bottom: 14px;
                padding: 13px 16px;
            }

            .floating-wa-btn span {
                display: none;
            }

            .input-group.half {
                width: 100%;
            }

            .modal-left h2 {
                font-size: 24px;
            }

            .modal-subtitle {
                font-size: 14px;
            }
        }

        @media (max-width: 768px) {

            .modal-overlay {
                padding: 20px 12px;
            }

            .modal-container {
                max-height: calc(100vh - 40px);
            }

        }

        .blog-card {
            margin-bottom: 17px;
            display: flex;
            flex-direction: column;
            background: white;
            border-radius: 12px;
            overflow: hidden;
            box-shadow: 0 3px 3px rgba(0, 0, 0, 0.08);
            transition: .3s;
            height: 100%;

        }

        .blog-card:hover {
            transform: translateY(-6px);
            box-shadow: 0 7px 13px rgba(0, 0, 0, 0.15);
        }

        /* immagine altezza fissa */

        .blog-thumb {
            height: 220px;
            overflow: hidden;
        }

        .blog-thumb img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        /* contenuto flex */

        .blog-content {
            display: flex;
            flex-direction: column;
            flex: 1;
            padding: 22px;
        }

        .blog-category {
            font-size: 11px;
            font-weight: 600;
            text-transform: uppercase;
            color: #18a558;
            margin-bottom: 6px;
        }

        .blog-title {
            font-size: 18px;
            line-height: 1.3;
            margin-bottom: 8px;

            /* controllo altezza */

            display: -webkit-box;
            -webkit-line-clamp: 2;
            /* massimo 2 righe */
            -webkit-box-orient: vertical;
            overflow: hidden;

            min-height: 46px;
            /* mantiene tutte le card uguali */
        }

        .blog-title a {
            text-decoration: none;
            color: #111;
        }

        /* blocco testo con altezza controllata */

        .blog-excerpt {
            font-size: 14px;
            color: #666;
            margin-bottom: 16px;

            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        /* bottone sempre allineato */

        .blog-read {
            margin-top: auto;
            font-size: 14px;
            font-weight: 600;
            color: #18a558;
            text-decoration: none;
        }

        .blog-section-header {
            text-align: center;
            margin: 0 auto 50px auto;
        }

        .section-badge {
            display: inline-block;
            background: #e8f7ef;
            color: #18a558;
            font-weight: 600;
            font-size: 12px;
            padding: 6px 14px;
            border-radius: 30px;
            margin-bottom: 12px;
            text-transform: uppercase;
            letter-spacing: .5px;
        }

        .section-title-blog {
            font-size: 34px;
            font-weight: 700;
            line-height: 1.3;
            margin-bottom: 12px;
            color: #111;
        }

        .section-subtitle {
            font-size: 16px;
            color: #666;
            line-height: 1.6;
        }

        .eco-professional-section {
            padding: 70px 0;
            background: linear-gradient(180deg, #f9fbfa, #ffffff);
        }

        .eco-professional-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 60px;
            align-items: center;
        }

        .eco-badge {
            display: inline-block;
            background: #e8f7ef;
            color: #18a558;
            padding: 6px 14px;
            border-radius: 20px;
            font-size: 12px;
            font-weight: 600;
            margin-bottom: 12px;
        }

        .eco-professional-text h2 {
            font-size: 34px;
            font-weight: 700;
            margin-bottom: 16px;
        }

        .eco-professional-text p {
            color: #666;
            line-height: 1.6;
            margin-bottom: 12px;
        }

        .eco-btn {
            display: inline-block;
            margin-top: 14px;
            background: #18a558;
            color: white;
            padding: 12px 22px;
            border-radius: 6px;
            text-decoration: none;
            font-weight: 600;
            transition: .3s;
        }

        .eco-btn:hover {
            background: #138a48;
            transform: translateY(-2px);
        }

        /* VISUAL */

        .eco-professional-visual {
            display: grid;
            grid-template-columns: 1fr;
            gap: 20px;
        }

        .eco-card {
            background: white;
            padding: 22px;
            border-radius: 10px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
            transition: .3s;
        }

        .eco-card:hover {
            transform: translateY(-5px);
        }

        .eco-card i {
            font-size: 24px;
            color: #18a558;
            margin-bottom: 10px;
        }

        .eco-card h4 {
            font-size: 18px;
            margin-bottom: 6px;
        }

        .eco-card p {
            font-size: 14px;
            color: #666;
        }

        .footer-eco {
            background: #0f1f17;
            color: #c8d1cc;
            padding: 70px 0 0;
        }

        .footer-grid {
            display: grid;
            grid-template-columns: 2fr 1fr 1fr 1fr;
            gap: 40px;
        }

        .footer-logo {
            height: 40px;
            margin-bottom: 20px;
        }

        .footer-text {
            font-size: 14px;
            line-height: 1.6;
            margin-bottom: 20px;
        }

        .footer-col h4 {
            color: white;
            margin-bottom: 16px;
            font-size: 16px;
        }

        .footer-links li,
        .footer-contact li {
            margin-bottom: 10px;
            font-size: 14px;
        }

        .footer-links a {
            color: #c8d1cc;
            text-decoration: none;
        }

        .footer-links a:hover {
            color: #18a558;
        }

        .footer-social {
            display: flex;
            gap: 12px;
            margin-top: 10px;
        }

        .footer-social a {
            width: 36px;
            height: 36px;
            display: flex;
            align-items: center;
            justify-content: center;
            background: #182a21;
            border-radius: 50%;
            color: white;
        }

        .footer-bottom {
            border-top: 1px solid rgba(255, 255, 255, 0.08);
            margin-top: 40px;
            padding: 20px 0;
            text-align: center;
            font-size: 13px;
        }

        .footer-legal {
            line-height: 1.6;
            color: #aeb8b2;
        }

        /* DESKTOP */

        .footer-grid {
            display: grid;
            grid-template-columns: 2fr 1fr 1fr 1fr;
            gap: 40px;
        }


        /* TABLET */

        @media (max-width:1024px) {

            .footer-grid {
                grid-template-columns: 1fr 1fr;
                gap: 30px;
            }

        }


        /* SMARTPHONE */

        @media (max-width:640px) {

            .footer-eco {
                padding: 50px 0 0;
            }

            .footer-grid {
                grid-template-columns: 1fr;
                gap: 30px;
                text-align: center;
            }

            .footer-logo {
                margin: auto;
                margin-bottom: 18px;
            }

            .footer-text {
                font-size: 15px;
                line-height: 1.7;
                max-width: 420px;
                margin: auto;
                margin-bottom: 20px;
            }

            .footer-col h4 {
                font-size: 17px;
                margin-bottom: 12px;
            }

            /* link */

            .footer-links li,
            .footer-contact li {
                margin-bottom: 12px;
                font-size: 15px;
            }

            /* social */

            .footer-social {
                justify-content: center;
                margin-top: 15px;
            }

            .footer-social a {
                width: 42px;
                height: 42px;
                font-size: 18px;
            }

            /* footer bottom */

            .footer-bottom {
                padding: 25px 15px;
            }

            .footer-legal {
                font-size: 13px;
                line-height: 1.7;
            }

        }
