  /* =========================================
       1. CSS DESKTOP (CERCHIO) 
       ========================================= */
    .ckweb-nutrix-container {
        --ckweb-raggio-css: 3.2; width: 100%; max-width: 900px; margin: 3rem auto;
        aspect-ratio: 1 / 1; position: relative; display: flex; align-items: center;
        justify-content: center; font-family: sans-serif; container-type: inline-size;
        --ckweb-colore-testo: #333;
    }
    .ckweb-anello-orbitale {
        position: absolute; border-radius: 50%; top: 50%; left: 50%;
        transform: translate(-50%, -50%); z-index: 1; pointer-events: none;
        margin-left: 3px; margin-top: 0px;
    }
    .ckweb-manifesto { width: 45%; text-align: center; z-index: 10; color: var(--ckweb-colore-testo); }
    .ckweb-manifesto h1 { margin: 0; font-size: 5cqi; font-weight: 800; letter-spacing: 2px; font-family: 'Turnpike', sans-serif; text-transform: uppercase; }
    .ckweb-manifesto p { font-size: 2.5cqi; line-height: 1.4; margin-top: 15px; font-family: 'Montserrat-SemiBold', sans-serif; text-transform: uppercase; }
    .ckweb-settore-item { position: absolute; width: 13%; aspect-ratio: 1/1; top: 50%; left: 50%; z-index: 5; }
    .ckweb-immagine-settore {
        width: 100%; height: 100%; object-fit: cover; border-radius: 50%; display: block;
        box-shadow: 0px 0px 8px 4px rgba(0,0,0,0.25); background: #eee; border: 4px solid #fff;
        cursor: help; position: relative; z-index: 2;
    }
    .ckweb-etichetta {
        position: absolute; display: block; text-align: center; font-size: 1.3cqi; font-weight: 700;
        margin-top: 8px; color: var(--ckweb-colore-testo); line-height: 1.2;
        top: 100%; left: 50%; transform: translateX(-50%); width: 100%;
    }
    .ckweb-desc-fumetto {
        position: absolute; left: 50%; transform: translateX(-50%); width: 220px;
        background: #f0f0f0; color: #333; border: 1px solid #ccc; padding: 12px;
        border-radius: 8px; font-size: 1.3cqi; line-height: 1.3; text-align: center; z-index: 99999;
        opacity: 0; visibility: hidden; transition: all 0.3s ease; box-shadow: 0 5px 15px rgba(0,0,0,0.1); pointer-events: none;
    }
    .ckweb-desc-fumetto::before, .ckweb-desc-fumetto::after {
        content: ""; position: absolute; left: 50%; margin-left: -8px;
        border-width: 8px; border-style: solid; pointer-events: none;
    }
    .ckweb-desc-fumetto::before { z-index: 1; } .ckweb-desc-fumetto::after { z-index: 2; }
    .ckweb-settore-item:hover .ckweb-desc-fumetto { opacity: 1; visibility: visible; }
    .ckweb-settore-item:hover { z-index: 10000 !important; }
    
    /* Helper posizioni */
    .js-pos-giu .ckweb-desc-fumetto { top: 80%; margin-top: 10px; }
    .js-pos-giu .ckweb-desc-fumetto::before { bottom: 100%; border-color: transparent transparent #ccc transparent; }
    .js-pos-giu .ckweb-desc-fumetto::after { bottom: calc(100% - 2px); border-color: transparent transparent #f0f0f0 transparent; }
    .js-pos-su .ckweb-desc-fumetto { bottom: 90%; margin-bottom: 10px; }
    .js-pos-su .ckweb-desc-fumetto::before { top: 100%; border-color: #ccc transparent transparent transparent; }
    .js-pos-su .ckweb-desc-fumetto::after { top: calc(100% - 2px); border-color: #f0f0f0 transparent transparent transparent; }

    /* =========================================
       2. CSS MOBILE (STILE "POSTER" - DOTS DIVISORI)
       ========================================= */
    
    :root {
        --mobile-margin-laterale: 20px; 
		--mobile-margin-laterale-dots: 50px; 
    }

    .mobile-hidden { display: none !important; }
    
    #ckweb-mobile-wrapper { 
        width: 100%; 
        max-width: 600px; 
        margin: 0 auto; 
        padding: 20px 0; 
        font-family: sans-serif; 
        display: none; 
    }
    
    /* Header Mobile */
    .ckweb-mobile-header { text-align: center; margin-bottom: 20px; padding: 0 15px; color: #333; }
    .ckweb-mobile-header h1 { margin: 0; font-size: 36px; font-weight: 800; letter-spacing: 2px; font-family: 'Turnpike', sans-serif; text-transform: uppercase; }
    .ckweb-mobile-header p { font-size: 14px; line-height: 1.4; margin-top: 15px; font-family: 'Montserrat-SemiBold', sans-serif; text-transform: uppercase; }

    .ckweb-mobile-dots {
        /* Stessa larghezza dello slider */
        width: calc(100% - (var(--mobile-margin-laterale-dots) * 2));
        margin: 0 auto;
        
        display: flex;
        justify-content: space-between; 
        margin-bottom: 15px;
        padding: 0; 
    }
    
    .ckweb-dot {
        width: 12px; height: 12px;
        background: #ccc;
        border-radius: 50%;
        cursor: pointer;
        transition: all 0.3s;
    }
    .ckweb-dot.active {
        background: #333;
        transform: scale(1.4); 
    }

    /* CONTENITORE SLIDE (QUADRATO) */
    .ckweb-mobile-slider {
        position: relative;
        width: calc(100% - (var(--mobile-margin-laterale) * 2));
        aspect-ratio: 1 / 1; 
        margin: 0 auto 20px auto; 
        border-radius: 15px;
        overflow: hidden; 
        box-shadow: 0 10px 20px rgba(0,0,0,0.15);
        background: #000;
    }

    /* Singola Slide */
    .ckweb-slide {
        position: absolute; top: 0; left: 0; width: 100%; height: 100%;
        opacity: 0; transition: opacity 0.8s ease-in-out;
        pointer-events: none;
    }
    .ckweb-slide.active { opacity: 1; pointer-events: all; }
    .ckweb-slide-img {
        width: 100%; height: 100%;
        object-fit: cover; 
        display: block;
    }

    /* TITOLO (TOP) */
    .ckweb-slide-title {
        position: absolute;
        top: 0; left: 0; width: 100%;
        padding: 20px;
        text-align: center;
        font-size: 22px; 
        font-weight: 800; 
        color: #fff;
        text-transform: uppercase;
        font-family: 'Montserrat-SemiBold', sans-serif;
        text-shadow: 0 2px 10px rgba(0,0,0,0.8);
        z-index: 2;
        box-sizing: border-box;
    }

    /* DESCRIZIONE (BOTTOM) */
    .ckweb-slide-desc {
        position: absolute;
        bottom: 0; left: 0; width: 100%;
        background: rgba(0, 0, 0, 0.65);
        color: #fff;
        padding: 15px;
        font-size: 15px; 
        line-height: 1.4;
        text-align: center;
        z-index: 2;
        box-sizing: border-box;
        backdrop-filter: blur(3px);
    }
