        /* ===== CAROSELLO OVALE ===== */
        .sezione-carosello {
            margin: 50px auto;
            max-width: 700px;
            padding: 0 15px;
        }

        /* Contenitore principale SENZA sfondo */
        .carousel-wrapper {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 0;
        }

        /* Ovale centrale con immagini */
        .oval-wrap {
            position: relative;
            width: 100%;
            max-width: 620px;
            height: 300px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .oval-bg {
            position: absolute;
            inset: 0;
            border-radius: 50%;
            background: rgba(255,255,255,0.13);
            border: 2.5px solid rgba(255,255,255,0.35);
            backdrop-filter: blur(6px);
            -webkit-backdrop-filter: blur(6px);
            box-shadow:
                inset 0 0 20px rgba(255,255,255,0.5),
                0 0 60px 20px rgba(184, 209, 181, 0.5);
        }

        .c-card {
            position: absolute;
            top: 50%; left: 50%;
            border-radius: 14px;
            overflow: hidden;
            box-shadow: 0 4px 20px rgba(0,0,0,0.22);
            transition:
                transform 0.6s cubic-bezier(0.4,0,0.2,1),
                opacity   0.6s ease,
                filter    0.6s ease;
        }

        .c-card.pos-center {
            transform: translate(-50%,-50%) scale(1);
            z-index: 3; opacity: 1; filter: none;
        }
        .c-card.pos-left {
            transform: translate(calc(-50% - 160px),-50%) scale(0.62);
            z-index: 1; opacity: 0.50; filter: blur(2px) grayscale(0.2);
        }
        .c-card.pos-right {
            transform: translate(calc(-50% + 160px),-50%) scale(0.62);
            z-index: 1; opacity: 0.50; filter: blur(2px) grayscale(0.2);
        }

        .c-card canvas {
            display: block;
            width: 160px;
            height: 195px;
        }

        /* Pulsanti freccia */
        .c-btn-row {
            display: flex;
            gap: 14px;
            align-items: center;
            margin-top: 18px;
        }

        .c-nav-btn {
            width: 44px; height: 44px;
            border-radius: 50%;
            border: 2px solid rgba(27, 165, 54, 0.7);
            background: rgba(255,255,255,0.85);
            color: #1ba536;
            font-size: 20px; font-weight: bold;
            cursor: pointer;
            display: flex; align-items: center; justify-content: center;
            transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
            box-shadow: 0 2px 8px rgba(0,0,0,0.12);
            font-family: Arial, sans-serif;
        }
        .c-nav-btn:hover  { background: #c1ffb8; transform: scale(1.1); box-shadow: 0 4px 15px rgba(0,0,0,0.2); }
        .c-nav-btn:active { transform: scale(0.95); }

        /* Pallini */
        .c-dots { display: flex; gap: 9px; align-items: center; }
        .c-dot {
            width: 9px; height: 9px; border-radius: 50%;
            background: rgba(27,165,54,0.35);
            cursor: pointer;
            border: 1.5px solid rgba(27,165,54,0.5);
            transition: background 0.3s, transform 0.3s;
        }
        .c-dot.on { background: #1ba536; transform: scale(1.5); }

        /* Box testo sotto — colore cambia con JS */
        .c-info-box {
            margin-top: 28px;
            width: 100%;
            max-width: 560px;
            border-radius: 15px;
            padding: 22px 28px;
            text-align: center;
            box-shadow: 0 6px 18px rgba(0,0,0,0.18);
            border: 1.5px solid rgba(255,255,255,0.35);
            transition: opacity 0.35s ease, transform 0.35s ease, background 0.6s ease;
        }
        .c-info-box.fade { opacity: 0; transform: translateY(10px); }

        .c-info-box .c-title {
            /* Usa classe dedicata invece di h3 per evitare conflitti col CSS globale */
            display: block;
            background: none !important;
            -webkit-background-clip: unset !important;
            background-clip: unset !important;
            -webkit-text-fill-color: inherit !important;
            color: inherit !important;
            filter: none !important;
            opacity: 1 !important;
            transform: none !important;
            font-family: Georgia, "Times New Roman", serif;
            font-size: clamp(1.1rem, 2.5vw, 1.5rem);
            font-weight: bold;
            margin-bottom: 12px;
            letter-spacing: 0.3px;
        }

        .c-info-box p {
            font-family: Arial, Helvetica, sans-serif;
            font-size: clamp(14px, 1.6vw, 17px);
            line-height: 1.75;
            color: inherit !important;
            text-align: center;
            margin: 0;
            font-weight: bold;
        }

        @media (max-width: 768px) {
            .oval-wrap { height: 220px; max-width: 100%; }
            .c-card.pos-left  { transform: translate(calc(-50% - 110px),-50%) scale(0.55); }
            .c-card.pos-right { transform: translate(calc(-50% + 110px),-50%) scale(0.55); }
            .c-info-box { padding: 18px 16px; }
        }
    
