/* GES VISUAL V3: SOLO PRESENTAZIONE, VALORI DINAMICI INALTERATI */
:root{--ges-navy:#092a58;--ges-green:#008c66}
html{background:#d9f2fa!important}
body{color:#0b315c!important;background:linear-gradient(180deg,rgba(233,250,255,.28) 0%,rgba(220,246,252,.82) 55%,rgba(230,249,244,.92) 100%),url('/static/ges-premium/renewable-photo.webp') center top / cover fixed no-repeat!important;min-height:100vh}
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(circle at 75% 20%,rgba(255,240,166,.30),transparent 40%),linear-gradient(90deg,rgba(240,251,255,.18),rgba(241,255,250,.12))}
main{isolation:isolate}
.ges-hero{position:relative;overflow:hidden!important;background:linear-gradient(105deg,rgba(7,45,105,.92),rgba(0,117,168,.68) 56%,rgba(10,154,107,.58)),url('/static/ges-premium/renewable-photo.webp') center 35%/cover!important;border:1px solid rgba(255,255,255,.72)!important;box-shadow:0 28px 60px rgba(7,50,91,.24),inset 0 2px 1px rgba(255,255,255,.35)!important;border-radius:30px!important}
.ges-hero h1,.ges-hero p{color:#fff!important;text-shadow:0 2px 15px rgba(0,25,60,.38)}
.ges-hero::after{content:'';position:absolute;inset:-80% auto auto 42%;width:20%;height:260%;transform:rotate(22deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.13),transparent);pointer-events:none}
.ges-step{box-shadow:inset 0 1px rgba(255,255,255,.35),0 5px 14px rgba(0,26,55,.2)!important}
main .card,main [class*="offer-card"],main [class*="offer_card"],main [class*="summary-card"],main [class*="stat-card"]{background:linear-gradient(142deg,rgba(255,255,255,.97),rgba(242,253,255,.91) 50%,rgba(228,251,242,.93))!important;color:#0b315c!important;border:1px solid rgba(255,255,255,.96)!important;box-shadow:0 19px 36px rgba(9,66,106,.17),0 5px 12px rgba(11,63,95,.08),inset 0 2px 2px rgba(255,255,255,.98)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:transform .22s ease,box-shadow .22s ease}
main .card:hover,main [class*="offer-card"]:hover,main [class*="offer_card"]:hover{transform:translateY(-4px);box-shadow:0 26px 48px rgba(8,72,112,.22),inset 0 2px 2px #fff!important}
main .card h1,main .card h2,main .card h3,main .card strong,main .card b,main .card label,main [class*="offer-card"] strong,main [class*="offer-card"] b,main [class*="offer_card"] strong{color:#0a315e!important}
main .card p,main .card small,main .card span,main .card div{color:inherit}
main .card a,main [class*="offer-card"] a{color:#006cb8!important;font-weight:700}
main button,main .btn{box-shadow:0 7px 15px rgba(0,93,105,.20),inset 0 1px 1px rgba(255,255,255,.6);transition:transform .2s,box-shadow .2s}
main button:hover,main .btn:hover{transform:translateY(-2px);box-shadow:0 11px 20px rgba(0,93,105,.28)}
main input,main select,main textarea{background:rgba(255,255,255,.94)!important;color:#12385e!important;border-color:#b9d8e8!important}
@media(max-width:800px){body{background-attachment:scroll!important;background-position:62% top!important}.ges-hero{border-radius:22px!important}}
@media print{body{background:#fff!important}main .card,main [class*="offer-card"]{box-shadow:none!important;backdrop-filter:none!important}.ges-hero{display:none!important}}


/* GES_NEON_CARDS_V1_START */

/* Effetto sospensione 3D */
.ges-market-card {
    position: relative !important;
    isolation: isolate;
    overflow: visible !important;
    border-radius: 30px !important;
    border: 3px solid #00bfff !important;
    background: linear-gradient(
        135deg,
        #ffffff 0%,
        #eaf7ff 38%,
        #b8e2ff 100%
    ) !important;

    box-shadow:
        0 5px 0 rgba(0,110,220,.65),
        0 12px 0 rgba(0,80,160,.18),
        0 26px 38px rgba(0,70,150,.30),
        0 42px 65px rgba(0,80,160,.18),
        0 0 18px rgba(0,191,255,.70),
        inset 0 0 0 3px rgba(255,255,255,.95),
        inset 0 8px 20px rgba(255,255,255,.80) !important;

    transform: translateY(-5px);
    transition:
        transform .35s ease,
        box-shadow .35s ease !important;
}

/* PSV: oro / ocra */
.ges-market-card:nth-child(2) {
    border-color: #e9a900 !important;

    background: linear-gradient(
        135deg,
        #ffffff 0%,
        #fff8e8 42%,
        #f6d79b 100%
    ) !important;

    box-shadow:
        0 5px 0 rgba(176,113,0,.75),
        0 12px 0 rgba(140,90,0,.20),
        0 26px 38px rgba(140,85,0,.28),
        0 42px 65px rgba(150,100,0,.16),
        0 0 20px rgba(255,185,0,.75),
        inset 0 0 0 3px rgba(255,255,255,.95),
        inset 0 8px 20px rgba(255,255,255,.85) !important;
}

/* Bordo luminoso interno */
.ges-market-card::before {
    content: "";
    position: absolute;
    inset: 7px;
    border: 2px solid rgba(255,255,255,.95);
    border-radius: 21px;
    pointer-events: none;
    box-shadow:
        0 0 12px rgba(255,255,255,.9),
        inset 0 0 14px rgba(255,255,255,.6);
    z-index: 0;
}

/* Riflesso vetro */
.ges-market-card::after {
    content: "";
    position: absolute;
    top: 10px;
    left: 12%;
    width: 76%;
    height: 3px;
    border-radius: 50%;
    background: rgba(255,255,255,.95);
    box-shadow: 0 0 14px white;
    pointer-events: none;
}

/* Sollevamento al passaggio del mouse */
.ges-market-card:hover {
    transform: translateY(-13px) scale(1.012);
}

/* Testi sempre leggibili */
.ges-market-card,
.ges-market-card p,
.ges-market-card small,
.ges-market-card strong {
    color: #10345c !important;
}

/* PSV mantiene il titolo verde */
.ges-market-card:nth-child(2) > b,
.ges-market-card:nth-child(2) h2 {
    color: #00875d !important;
}

/* Smartphone */
@media (max-width: 768px) {
    .ges-market-card {
        transform: none !important;
        border-radius: 24px !important;
        box-shadow:
            0 12px 25px rgba(0,80,160,.22),
            0 0 12px rgba(0,191,255,.5) !important;
    }

    .ges-market-card:nth-child(2) {
        box-shadow:
            0 12px 25px rgba(140,85,0,.22),
            0 0 12px rgba(255,185,0,.5) !important;
    }
}

/* GES_NEON_CARDS_V1_END */


/* GES_NEON_FIX_V2_START */

/* CARD PUN E PSV */
.ges-market-card {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
    min-height: 345px !important;
    padding: 30px 38px !important;
    border: 3px solid #00c8ff !important;
    border-radius: 32px !important;

    background:
        linear-gradient(135deg,
            #ffffff 0%,
            #e9f7ff 35%,
            #a9d7ff 100%) !important;

    box-shadow:
        0 5px 0 #0875d1,
        0 13px 0 rgba(0,75,160,.18),
        0 26px 38px rgba(0,70,160,.35),
        0 42px 65px rgba(0,100,200,.20),
        0 0 10px 3px rgba(0,210,255,.75),
        0 0 26px 7px rgba(0,160,255,.42),
        inset 0 0 0 3px #ffffff,
        inset 0 0 20px rgba(0,200,255,.45) !important;

    transform: translateY(-4px) !important;
    transition: transform .3s ease, box-shadow .3s ease !important;
}

/* PSV OCRA / ORO */
.ges-market-card:nth-child(2) {
    border-color: #ffc400 !important;

    background:
        linear-gradient(135deg,
            #ffffff 0%,
            #fff7e7 35%,
            #f8dda6 100%) !important;

    box-shadow:
        0 5px 0 #b97a00,
        0 13px 0 rgba(150,90,0,.18),
        0 26px 38px rgba(150,90,0,.32),
        0 42px 65px rgba(180,110,0,.18),
        0 0 10px 3px rgba(255,190,0,.8),
        0 0 26px 7px rgba(255,170,0,.45),
        inset 0 0 0 3px #ffffff,
        inset 0 0 20px rgba(255,200,60,.40) !important;
}

/* DOPPIO BORDO LUMINOSO */
.ges-market-card::before {
    content: "" !important;
    position: absolute !important;
    inset: 8px !important;
    border: 2px solid rgba(255,255,255,.98) !important;
    border-radius: 22px !important;
    box-shadow:
        0 0 12px rgba(255,255,255,.95),
        inset 0 0 12px rgba(255,255,255,.8) !important;
    pointer-events: none !important;
    z-index: 0 !important;
}

/* RIFLESSO SUPERIORE */
.ges-market-card::after {
    content: "" !important;
    position: absolute !important;
    top: 10px !important;
    left: 12% !important;
    width: 76% !important;
    height: 3px !important;
    background: rgba(255,255,255,.95) !important;
    border-radius: 50% !important;
    box-shadow: 0 0 15px #ffffff !important;
    pointer-events: none !important;
}

/* ICONE: RIPOSIZIONAMENTO */
.ges-market-card .ges-market-icon,
.ges-market-card .market-icon,
.ges-market-card .ges-icon {
    position: absolute !important;
    right: 38px !important;
    bottom: 28px !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    margin: 0 !important;
    max-height: 115px !important;
    z-index: 2 !important;
    filter: drop-shadow(0 12px 10px rgba(0,0,0,.22));
}

/* SOLLEVAMENTO */
.ges-market-card:hover {
    transform: translateY(-12px) scale(1.008) !important;
}

/* TESTI */
.ges-market-card,
.ges-market-card p,
.ges-market-card small,
.ges-market-card strong {
    color: #10345c !important;
}

/* MOBILE */
@media (max-width: 768px) {
    .ges-market-card {
        min-height: 320px !important;
        padding: 25px !important;
        transform: none !important;
    }

    .ges-market-card .ges-market-icon,
    .ges-market-card .market-icon,
    .ges-market-card .ges-icon {
        right: 20px !important;
        bottom: 20px !important;
        max-height: 75px !important;
    }
}

/* GES_NEON_FIX_V2_END */

/* GES_ICONE_PUN_PSV_V3 */

/* Icona fulmine PUN */
.ges-market-card:first-child::after {
    content: "⚡" !important;
    position: absolute !important;
    top: auto !important;
    bottom: 25px !important;
    left: auto !important;
    right: 38px !important;
    width: auto !important;
    height: auto !important;
    font-size: 105px !important;
    line-height: 1 !important;
    background: none !important;
    box-shadow: none !important;
    filter: drop-shadow(5px 12px 7px rgba(0,60,130,.3));
    z-index: 3 !important;
    pointer-events: none !important;
}

/* Icona fiamma PSV */
.ges-market-card:nth-child(2)::after {
    content: "🔥" !important;
    position: absolute !important;
    top: auto !important;
    bottom: 25px !important;
    left: auto !important;
    right: 38px !important;
    width: auto !important;
    height: auto !important;
    font-size: 105px !important;
    line-height: 1 !important;
    background: none !important;
    box-shadow: none !important;
    filter: drop-shadow(5px 12px 7px rgba(130,65,0,.3));
    z-index: 3 !important;
    pointer-events: none !important;
}

@media(max-width:768px) {
    .ges-market-card:first-child::after,
    .ges-market-card:nth-child(2)::after {
        font-size: 70px !important;
        right: 20px !important;
        bottom: 20px !important;
    }
}

/* GES_PUN_NEON_ELETTRICO_V4 */

/* Neon azzurro elettrico PUN */
.ges-market-card:first-child {
    border: 3px solid #00cfff !important;

    box-shadow:
        /* Spessore 3D */
        0 5px 0 #0069d9,
        0 11px 0 rgba(0,85,190,.24),

        /* Sospensione */
        0 25px 38px rgba(0,75,170,.38),
        0 42px 65px rgba(0,100,220,.25),

        /* Neon esterno */
        0 0 7px 3px rgba(0,225,255,.95),
        0 0 19px 7px rgba(0,190,255,.72),
        0 0 38px 12px rgba(0,140,255,.38),

        /* Neon interno */
        inset 0 0 0 3px rgba(255,255,255,.98),
        inset 0 0 16px 3px rgba(0,205,255,.42) !important;
}

/* Doppio bordo luminoso interno */
.ges-market-card:first-child::before {
    border: 2px solid rgba(225,250,255,.98) !important;

    box-shadow:
        0 0 10px rgba(0,220,255,.75),
        inset 0 0 12px rgba(0,210,255,.45) !important;
}

/* Mantiene il fulmine nella posizione corretta */
.ges-market-card:first-child::after {
    bottom: 25px !important;
    right: 38px !important;
}

/* GES_PUN_NEON_ELETTRICO_V4_END */


/* GES_CARDS_PREMIUM_V5_START */

/* STRUTTURA CARD */
.ges-market-card {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
    border-radius: 32px !important;
    min-height: 345px !important;
    padding: 32px 38px !important;

    border: 3px solid #00d9ff !important;

    background:
        radial-gradient(
            ellipse at 12% 8%,
            rgba(255,255,255,1) 0%,
            rgba(255,255,255,.75) 22%,
            transparent 52%
        ),
        radial-gradient(
            ellipse at 100% 100%,
            #0065ff 0%,
            #009dff 24%,
            #00d5ff 44%,
            transparent 75%
        ),
        linear-gradient(
            135deg,
            #ffffff 0%,
            #e8faff 24%,
            #9ceaff 52%,
            #008cff 100%
        ) !important;

    box-shadow:
        0 6px 0 #0070dc,
        0 15px 0 rgba(0,65,160,.16),
        0 30px 42px rgba(0,80,180,.38),
        0 48px 70px rgba(0,110,220,.23),
        0 0 10px 4px rgba(0,225,255,.95),
        0 0 28px 9px rgba(0,180,255,.65),
        inset 0 0 0 3px rgba(255,255,255,.98),
        inset 0 0 22px rgba(255,255,255,.75) !important;

    transition: transform .35s ease, box-shadow .35s ease !important;
}

/* PSV: ORO E ARANCIONE */
.ges-market-card:nth-child(2) {
    border-color: #ffd000 !important;

    background:
        radial-gradient(
            ellipse at 12% 8%,
            rgba(255,255,255,1) 0%,
            rgba(255,255,255,.8) 22%,
            transparent 52%
        ),
        radial-gradient(
            ellipse at 100% 100%,
            #ff7600 0%,
            #ffad00 28%,
            #ffe15c 50%,
            transparent 78%
        ),
        linear-gradient(
            135deg,
            #ffffff 0%,
            #fff8e8 25%,
            #ffe29c 55%,
            #ff9900 100%
        ) !important;

    box-shadow:
        0 6px 0 #b77a00,
        0 15px 0 rgba(140,85,0,.18),
        0 30px 42px rgba(155,90,0,.36),
        0 48px 70px rgba(180,110,0,.22),
        0 0 10px 4px rgba(255,210,0,.95),
        0 0 28px 9px rgba(255,170,0,.65),
        inset 0 0 0 3px rgba(255,255,255,.98),
        inset 0 0 22px rgba(255,255,255,.75) !important;
}

/* DOPPIO BORDO LUMINOSO */
.ges-market-card::before {
    content: "" !important;
    position: absolute !important;
    inset: 8px !important;
    border: 2px solid rgba(255,255,255,.98) !important;
    border-radius: 23px !important;
    pointer-events: none !important;
    z-index: 1 !important;

    box-shadow:
        0 0 10px rgba(255,255,255,1),
        0 0 18px rgba(0,220,255,.55),
        inset 0 0 15px rgba(255,255,255,.85) !important;
}

.ges-market-card:nth-child(2)::before {
    box-shadow:
        0 0 10px rgba(255,255,255,1),
        0 0 18px rgba(255,190,0,.65),
        inset 0 0 15px rgba(255,255,255,.85) !important;
}

/* ICONA FULMINE */
.ges-market-card:first-child::after {
    content: "⚡" !important;
    position: absolute !important;
    right: 35px !important;
    bottom: 26px !important;
    top: auto !important;
    left: auto !important;
    width: auto !important;
    height: auto !important;
    font-size: 105px !important;
    line-height: 1 !important;
    background: none !important;
    box-shadow: none !important;
    filter: drop-shadow(7px 12px 8px rgba(0,35,110,.38));
    z-index: 3 !important;
    pointer-events: none !important;
}

/* ICONA FIAMMA */
.ges-market-card:nth-child(2)::after {
    content: "🔥" !important;
    position: absolute !important;
    right: 35px !important;
    bottom: 26px !important;
    top: auto !important;
    left: auto !important;
    width: auto !important;
    height: auto !important;
    font-size: 105px !important;
    line-height: 1 !important;
    background: none !important;
    box-shadow: none !important;
    filter: drop-shadow(7px 12px 8px rgba(130,50,0,.38));
    z-index: 3 !important;
    pointer-events: none !important;
}

/* TESTI SOPRA GLI EFFETTI */
.ges-market-card > * {
    position: relative;
    z-index: 2;
}

.ges-market-card,
.ges-market-card p,
.ges-market-card small,
.ges-market-card strong {
    color: #10345c !important;
}

/* SOLLEVAMENTO 3D */
.ges-market-card:hover {
    transform: translateY(-9px) scale(1.008) !important;
}

/* MOBILE */
@media (max-width: 768px) {
    .ges-market-card {
        min-height: 325px !important;
        padding: 26px !important;
    }

    .ges-market-card:first-child::after,
    .ges-market-card:nth-child(2)::after {
        font-size: 72px !important;
        right: 20px !important;
        bottom: 20px !important;
    }
}

/* GES_CARDS_PREMIUM_V5_END */


/* GES_PUN_PREMIUM_V6_START */

/* CARD PUN - PROFONDITA' E SFUMATURE */
.ges-market-card:first-child {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    border: 3px solid #00dfff !important;
    border-radius: 34px !important;

    background:
        radial-gradient(
            ellipse 65% 80% at 105% 105%,
            rgba(0,75,255,.95) 0%,
            rgba(0,135,255,.85) 36%,
            rgba(0,210,255,.35) 70%,
            transparent 100%
        ),
        radial-gradient(
            ellipse 65% 65% at 90% 15%,
            rgba(0,165,255,.32),
            transparent 75%
        ),
        linear-gradient(
            135deg,
            #ffffff 0%,
            #f1fbff 24%,
            #c3efff 53%,
            #65caff 77%,
            #008cff 100%
        ) !important;

    box-shadow:
        0 6px 0 #0071dc,
        0 13px 0 rgba(0,70,160,.22),
        0 25px 40px rgba(0,75,180,.42),
        0 45px 70px rgba(0,105,220,.28),

        0 0 8px 3px rgba(0,240,255,.95),
        0 0 24px 8px rgba(0,190,255,.75),
        0 0 45px 12px rgba(0,140,255,.42),

        inset 0 0 0 3px rgba(255,255,255,.98),
        inset 0 0 24px rgba(255,255,255,.65) !important;
}

/* ONDE LUMINOSE NELLA PARTE INFERIORE */
.ges-market-card:first-child::before {
    content: "" !important;

    position: absolute !important;
    inset: 7px !important;

    border: 2px solid rgba(255,255,255,.95) !important;
    border-radius: 25px !important;

    background:
        radial-gradient(
            ellipse 100% 42% at 95% 112%,
            rgba(0,80,255,.42) 0%,
            rgba(0,160,255,.22) 42%,
            transparent 75%
        ),
        radial-gradient(
            ellipse 90% 28% at 55% 115%,
            rgba(255,255,255,.85) 0%,
            rgba(255,255,255,.22) 35%,
            transparent 70%
        );

    box-shadow:
        0 0 12px rgba(255,255,255,.95),
        inset 0 0 18px rgba(255,255,255,.65) !important;

    pointer-events: none !important;
    z-index: 0 !important;
}

/* FULMINE */
.ges-market-card:first-child::after {
    content: "⚡" !important;
    position: absolute !important;

    right: 38px !important;
    bottom: 27px !important;
    top: auto !important;
    left: auto !important;

    width: auto !important;
    height: auto !important;

    font-size: 105px !important;
    line-height: 1 !important;

    background: none !important;
    box-shadow: none !important;

    filter:
        drop-shadow(4px 7px 3px rgba(0,40,120,.35))
        drop-shadow(0 0 12px rgba(255,200,0,.55));

    z-index: 3 !important;
    pointer-events: none !important;
}

/* TESTI SEMPRE IN PRIMO PIANO */
.ges-market-card:first-child > * {
    position: relative;
    z-index: 2;
}

.ges-market-card:first-child p,
.ges-market-card:first-child small,
.ges-market-card:first-child strong {
    color: #10345c !important;
}

/* EFFETTO SOSPENSIONE */
.ges-market-card:first-child:hover {
    transform: translateY(-11px) scale(1.008) !important;
}

/* VERSIONE MOBILE */
@media (max-width: 768px) {
    .ges-market-card:first-child {
        min-height: 325px !important;
    }

    .ges-market-card:first-child::after {
        font-size: 72px !important;
        right: 20px !important;
        bottom: 20px !important;
    }
}

/* GES_PUN_PREMIUM_V6_END */


/* GES_UPLOAD_NEON_GREEN_V1_START */

.ges-upload-neon-green {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    border: 3px solid #55ff40 !important;
    border-radius: 32px !important;

    padding: 34px !important;

    background:
        radial-gradient(
            ellipse 75% 65% at 100% 100%,
            rgba(0,255,100,.65) 0%,
            rgba(65,255,100,.42) 35%,
            transparent 80%
        ),
        radial-gradient(
            ellipse 65% 55% at 90% 0%,
            rgba(100,255,150,.38),
            transparent 80%
        ),
        linear-gradient(
            135deg,
            #ffffff 0%,
            #f5fff9 25%,
            #d9ffe7 55%,
            #8affae 100%
        ) !important;

    box-shadow:
        0 6px 0 #00a63b,
        0 14px 0 rgba(0,125,50,.18),
        0 28px 45px rgba(0,130,65,.32),
        0 45px 75px rgba(0,150,70,.20),

        0 0 9px 3px rgba(80,255,40,.95),
        0 0 25px 8px rgba(40,255,80,.62),
        0 0 45px 12px rgba(0,255,80,.30),

        inset 0 0 0 3px rgba(255,255,255,.98),
        inset 0 0 24px rgba(255,255,255,.75) !important;

    transition:
        transform .35s ease,
        box-shadow .35s ease !important;
}

/* Doppio bordo luminoso e riflessi */
.ges-upload-neon-green::before {
    content: "" !important;
    position: absolute !important;
    inset: 9px !important;

    border: 2px solid rgba(255,255,255,.98) !important;
    border-radius: 23px !important;

    background:
        radial-gradient(
            ellipse 110% 40% at 90% 115%,
            rgba(0,255,70,.40),
            transparent 75%
        ),
        radial-gradient(
            ellipse 100% 24% at 55% 110%,
            rgba(255,255,255,.82),
            transparent 75%
        );

    box-shadow:
        0 0 12px rgba(255,255,255,1),
        0 0 18px rgba(65,255,90,.60),
        inset 0 0 15px rgba(255,255,255,.85) !important;

    pointer-events: none !important;
    z-index: 0 !important;
}

/* Riflesso lucido superiore */
.ges-upload-neon-green::after {
    content: "" !important;
    position: absolute !important;
    top: 12px !important;
    left: 8% !important;
    width: 84% !important;
    height: 3px !important;

    border-radius: 50% !important;
    background: rgba(255,255,255,.95) !important;
    box-shadow: 0 0 15px #ffffff !important;

    pointer-events: none !important;
}

/* Mantiene testi, form e pulsanti sopra gli effetti */
.ges-upload-neon-green > * {
    position: relative !important;
    z-index: 2 !important;
}

.ges-upload-neon-green h2,
.ges-upload-neon-green p,
.ges-upload-neon-green label,
.ges-upload-neon-green small {
    color: #10345c !important;
}

/* Pulsanti blu lucidi */
.ges-upload-neon-green button,
.ges-upload-neon-green .button {
    background: linear-gradient(
        180deg,
        #009eff 0%,
        #0078df 55%,
        #0058bb 100%
    ) !important;

    color: #ffffff !important;
    border: 1px solid #58caff !important;
    border-radius: 15px !important;

    box-shadow:
        0 5px 12px rgba(0,75,155,.22),
        inset 0 2px 2px rgba(255,255,255,.50) !important;
}

/* Sollevamento 3D */
.ges-upload-neon-green:hover {
    transform: translateY(-5px) !important;
}

/* Smartphone */
@media (max-width: 768px) {
    .ges-upload-neon-green {
        padding: 22px !important;
        border-radius: 25px !important;
    }

    .ges-upload-neon-green::before {
        border-radius: 17px !important;
    }
}

/* GES_UPLOAD_NEON_GREEN_V1_END */


/* GES_UPLOAD_NEON_V2_START */

/* BORDO NEON VERDE E SOSPENSIONE 3D */
.ges-upload-neon-green {
    border: 3px solid #39ff60 !important;
    border-radius: 32px !important;

    box-shadow:
        /* Profondità tridimensionale */
        0 6px 0 #00a83b,
        0 12px 0 rgba(0,120,45,.20),
        0 25px 38px rgba(0,125,55,.35),
        0 45px 65px rgba(0,150,65,.22),

        /* Triplo alone neon esterno */
        0 0 7px 3px rgba(70,255,70,1),
        0 0 20px 7px rgba(30,255,80,.85),
        0 0 40px 12px rgba(0,255,80,.48),

        /* Luminosità interna */
        inset 0 0 0 3px rgba(255,255,255,1),
        inset 0 0 18px 3px rgba(65,255,100,.45) !important;
}

/* Secondo bordo luminoso */
.ges-upload-neon-green::before {
    border: 2px solid #ffffff !important;

    box-shadow:
        0 0 10px rgba(255,255,255,1),
        0 0 18px rgba(50,255,75,.80),
        inset 0 0 15px rgba(80,255,100,.50) !important;
}

/* Mantiene il neon anche al passaggio del mouse */
.ges-upload-neon-green:hover {
    box-shadow:
        0 8px 0 #00a83b,
        0 16px 0 rgba(0,120,45,.20),
        0 30px 45px rgba(0,125,55,.40),
        0 50px 70px rgba(0,150,65,.25),
        0 0 9px 4px rgba(70,255,70,1),
        0 0 25px 9px rgba(30,255,80,.90),
        0 0 48px 15px rgba(0,255,80,.55),
        inset 0 0 0 3px rgba(255,255,255,1),
        inset 0 0 20px 3px rgba(65,255,100,.50) !important;
}

/* GES_UPLOAD_NEON_V2_END */


/* GES_UPLOAD_FLOATING_V3_START */

/* Card sospesa con illuminazione concentrata sotto */
.ges-upload-neon-green {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;

    border: 3px solid #56ff70 !important;
    border-radius: 34px !important;

    background:
        radial-gradient(
            ellipse 85% 65% at 100% 100%,
            rgba(0,255,80,.75) 0%,
            rgba(55,255,110,.42) 38%,
            transparent 78%
        ),
        radial-gradient(
            ellipse 75% 60% at 90% 5%,
            rgba(105,255,170,.35),
            transparent 80%
        ),
        linear-gradient(
            135deg,
            #ffffff 0%,
            #f7fffb 25%,
            #e2fff0 55%,
            #9dffc0 100%
        ) !important;

    /* Neon inferiore + profondità 3D */
    box-shadow:
        0 5px 0 #00ad42,
        0 11px 0 rgba(0,110,40,.32),
        0 20px 0 rgba(0,95,35,.13),

        0 30px 26px rgba(0,95,40,.36),
        0 52px 48px rgba(0,125,50,.27),

        0 13px 16px 3px rgba(30,255,70,.85),
        0 25px 30px 8px rgba(0,255,65,.58),
        0 42px 48px 12px rgba(0,220,65,.35),

        0 0 7px 2px rgba(110,255,130,.70),

        inset 0 0 0 4px rgba(255,255,255,1),
        inset 0 0 20px rgba(255,255,255,.75) !important;

    transform: translateY(-7px) !important;
    transition:
        transform .35s ease,
        box-shadow .35s ease !important;
}

/* Bordo interno bianco brillante */
.ges-upload-neon-green::before {
    content: "" !important;
    position: absolute !important;
    inset: 9px !important;

    border: 3px solid rgba(255,255,255,.98) !important;
    border-radius: 24px !important;

    background:
        radial-gradient(
            ellipse 100% 34% at 100% 115%,
            rgba(0,255,70,.45),
            transparent 75%
        ),
        radial-gradient(
            ellipse 85% 20% at 60% 112%,
            rgba(255,255,255,.90),
            transparent 75%
        );

    box-shadow:
        0 0 10px rgba(255,255,255,1),
        inset 0 0 14px rgba(255,255,255,.85) !important;

    pointer-events: none !important;
    z-index: 0 !important;
}

/* Riflesso superiore */
.ges-upload-neon-green::after {
    content: "" !important;
    position: absolute !important;

    top: 12px !important;
    left: 10% !important;
    width: 80% !important;
    height: 3px !important;

    background: rgba(255,255,255,.95) !important;
    border-radius: 50% !important;
    box-shadow: 0 0 15px white !important;

    pointer-events: none !important;
}

/* Testi e pulsanti sempre sopra gli effetti */
.ges-upload-neon-green > * {
    position: relative !important;
    z-index: 2 !important;
}

/* Sollevamento al passaggio del mouse */
.ges-upload-neon-green:hover {
    transform: translateY(-13px) scale(1.004) !important;
}

/* Smartphone */
@media (max-width: 768px) {
    .ges-upload-neon-green {
        transform: translateY(-3px) !important;
        border-radius: 26px !important;

        box-shadow:
            0 5px 0 #00ad42,
            0 15px 25px rgba(0,110,40,.32),
            0 20px 25px 5px rgba(0,255,65,.48),
            inset 0 0 0 3px white !important;
    }
}

/* GES_UPLOAD_FLOATING_V3_END */


/* GES_UPLOAD_NEON_3D_V4_START */

/* CARD CARICAMENTO - NEON VERDE E SOSPENSIONE */
html body .ges-upload-neon-green {
    position: relative !important;
    isolation: isolate !important;
    overflow: visible !important;

    border: 3px solid #39ff65 !important;
    border-radius: 34px !important;

    background:
        radial-gradient(
            ellipse at 100% 100%,
            rgba(0,255,90,.35),
            transparent 65%
        ),
        linear-gradient(
            125deg,
            #ffffff 0%,
            #f1fffa 40%,
            #d6ffeb 75%,
            #a0ffc9 100%
        ) !important;

    /* PROFONDITÀ 3D + NEON */
    box-shadow:
        0 5px 0 #009d3a,
        0 10px 0 #007a30,
        0 15px 0 rgba(0,90,30,.30),

        0 25px 25px rgba(0,80,35,.40),
        0 45px 55px rgba(0,100,40,.30),

        0 0 8px 3px #5cff76,
        0 0 20px 7px rgba(0,255,75,.90),
        0 0 42px 12px rgba(0,255,70,.55),

        inset 0 0 0 4px #ffffff,
        inset 0 0 18px rgba(70,255,110,.45) !important;

    transform: translateY(-8px) !important;
    transition: transform .3s ease !important;
}

/* DOPPIO BORDO LUMINOSO */
html body .ges-upload-neon-green::before {
    content: "" !important;
    position: absolute !important;
    inset: 9px !important;

    border: 2px solid rgba(255,255,255,.98) !important;
    border-radius: 23px !important;

    background: none !important;

    box-shadow:
        0 0 12px rgba(255,255,255,1),
        0 0 20px rgba(40,255,90,.85),
        inset 0 0 14px rgba(50,255,90,.40) !important;

    pointer-events: none !important;
    z-index: 0 !important;
}

/* NEON CONCENTRATO NELLA PARTE INFERIORE */
html body .ges-upload-neon-green::after {
    content: "" !important;
    position: absolute !important;

    left: 7% !important;
    right: 7% !important;
    bottom: -19px !important;
    top: auto !important;

    width: 86% !important;
    height: 24px !important;

    background: rgba(0,255,70,.75) !important;
    border-radius: 50% !important;

    filter: blur(17px) !important;

    box-shadow:
        0 0 30px 12px rgba(0,255,70,.65),
        0 12px 35px rgba(0,150,45,.55) !important;

    pointer-events: none !important;
    z-index: -1 !important;
}

/* CONTENUTI IN PRIMO PIANO */
html body .ges-upload-neon-green > * {
    position: relative !important;
    z-index: 2 !important;
}

/* EFFETTO SOSPENSIONE AL PASSAGGIO DEL MOUSE */
html body .ges-upload-neon-green:hover {
    transform: translateY(-15px) scale(1.004) !important;
}

/* SMARTPHONE */
@media (max-width: 768px) {
    html body .ges-upload-neon-green {
        transform: translateY(-4px) !important;
        border-radius: 25px !important;
    }

    html body .ges-upload-neon-green::after {
        bottom: -12px !important;
        height: 16px !important;
    }
}

/* GES_UPLOAD_NEON_3D_V4_END */


/* GES_UPLOAD_BACKGROUND_V5_START */

/*
 * Nuovo sfondo Premium.
 * Non modifica bordi, neon, ombre 3D o pulsanti.
 */

html body .ges-upload-neon-green {

    background:
        /* Riflesso luminoso nell'angolo inferiore */
        radial-gradient(
            ellipse 65% 32% at 90% 112%,
            rgba(255,255,255,.80) 0%,
            rgba(255,255,255,.28) 48%,
            transparent 78%
        ),

        /* Onda verde smeraldo inferiore */
        radial-gradient(
            ellipse 85% 55% at 108% 112%,
            rgba(0,205,105,.82) 0%,
            rgba(0,235,125,.55) 35%,
            rgba(80,255,170,.18) 70%,
            transparent 100%
        ),

        /* Onda verde menta centrale */
        radial-gradient(
            ellipse 90% 42% at 70% 112%,
            rgba(135,255,190,.52) 0%,
            rgba(180,255,215,.20) 55%,
            transparent 85%
        ),

        /* Luce verde superiore destra */
        radial-gradient(
            ellipse 75% 85% at 105% 0%,
            rgba(135,255,205,.48) 0%,
            rgba(185,255,225,.22) 48%,
            transparent 82%
        ),

        /* Base bianco ghiaccio */
        linear-gradient(
            125deg,
            #ffffff 0%,
            #f8fffc 25%,
            #effff7 48%,
            #dcffeb 72%,
            #b5ffdb 100%
        ) !important;
}

/*
 * Il doppio bordo interno rimane invariato.
 * Non tocchiamo ::before o ::after perché
 * gestiscono già riflessi e neon inferiore.
 */

/* Testi leggibili */
html body .ges-upload-neon-green h2,
html body .ges-upload-neon-green p,
html body .ges-upload-neon-green label,
html body .ges-upload-neon-green small {
    color: #10345c !important;
}

/* GES_UPLOAD_BACKGROUND_V5_END */
