/* =========================================================
   Centraline aggiuntive v2 — centraline-aggiuntive2.css
   ========================================================= */

/* Reset contenitore GeneratePress */
body.page-template-centraline-aggiuntive2 .site-content,
body.page-template-centraline-aggiuntive2 #primary,
body.page-template-centraline-aggiuntive2 #content,
body.page-template-centraline-aggiuntive2 .content-area,
body.page-template-centraline-aggiuntive2 article,
body.page-template-centraline-aggiuntive2-php .site-content,
body.page-template-centraline-aggiuntive2-php #primary,
body.page-template-centraline-aggiuntive2-php #content,
body.page-template-centraline-aggiuntive2-php .content-area,
body.page-template-centraline-aggiuntive2-php article {
    background: #0a0a0a !important;
    padding: 0 !important; margin: 0 !important;
    max-width: 100% !important; width: 100% !important;
}

.pk-ca2-wrapper {
    --ca2-black: #0a0a0a;
    --ca2-dark: #141416;
    --ca2-card: rgba(255,255,255,0.03);
    --ca2-border: rgba(255,255,255,0.07);
    --ca2-red: #ff4444;
    --ca2-red-glow: rgba(255,68,68,0.25);
    --ca2-orange: #ff8a3d;
    --ca2-green: #6cf25a;
    --ca2-blue: #3b6fe0;
    --ca2-white: #ffffff;
    --ca2-gray: #cccccc;
    --ca2-gray-dark: #666666;
    --ca2-mono: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;

    background: var(--ca2-black) !important;
    width: 100% !important; margin: 0 !important; padding: 0 !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    color: var(--ca2-white) !important; line-height: 1.6 !important;
    overflow-x: hidden !important;
}
.pk-ca2-wrapper * { box-sizing: border-box !important; }
.pk-ca2-wrapper h1, .pk-ca2-wrapper h2, .pk-ca2-wrapper h3, .pk-ca2-wrapper h4,
.pk-ca2-wrapper p, .pk-ca2-wrapper a, .pk-ca2-wrapper li, .pk-ca2-wrapper span,
.pk-ca2-wrapper div, .pk-ca2-wrapper button, .pk-ca2-wrapper small, .pk-ca2-wrapper strong, .pk-ca2-wrapper label {
    font-family: inherit !important;
}
.pk-ca2-wrapper h1, .pk-ca2-wrapper h2, .pk-ca2-wrapper h3, .pk-ca2-wrapper h4 { color: var(--ca2-white) !important; margin-top: 0 !important; }
.pk-ca2-wrapper p { color: var(--ca2-gray) !important; }
.pk-ca2-wrapper strong { color: var(--ca2-white) !important; }
.pk-ca2-wrapper svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* LAYOUT */
.pk-ca2-wrapper .ca2-container { max-width: 1200px !important; margin: 0 auto !important; padding: 0 20px !important; }
.pk-ca2-wrapper .ca2-section { padding: 100px 0 !important; position: relative !important; }
.pk-ca2-wrapper .ca2-bg-black { background: var(--ca2-black) !important; }
.pk-ca2-wrapper .ca2-bg-dark { background: var(--ca2-dark) !important; }
.pk-ca2-wrapper .ca2-red { color: var(--ca2-red) !important; }
.pk-ca2-wrapper .ca2-center { text-align: center !important; margin-top: 40px !important; }

.pk-ca2-wrapper .ca2-title {
    font-size: 4rem !important; font-weight: 900 !important; text-align: center !important;
    line-height: 1.15 !important; margin-bottom: 20px !important;
    background: linear-gradient(135deg, #ffffff 0%, #cccccc 100%) !important;
    -webkit-background-clip: text !important; background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}
.pk-ca2-wrapper .ca2-subtitle {
    text-align: center !important; font-size: 1.8rem !important; line-height: 1.6 !important;
    max-width: 780px !important; margin: 0 auto 60px !important; color: var(--ca2-gray) !important;
}

/* TAG */
.pk-ca2-wrapper .ca2-tag {
    display: inline-flex !important; align-items: center !important; gap: 8px !important;
    padding: 8px 20px !important; border-radius: 30px !important;
    font-family: var(--ca2-mono) !important; font-size: 1.4rem !important; font-weight: 700 !important;
    letter-spacing: 3px !important; margin-bottom: 25px !important;
}
.pk-ca2-wrapper .ca2-tag svg { width: 20px !important; height: 20px !important; }
.pk-ca2-wrapper .ca2-tag-red { background: var(--ca2-red) !important; color: #fff !important; }
.pk-ca2-wrapper .ca2-tag-outline { background: rgba(255,68,68,0.08) !important; color: var(--ca2-red) !important; border: 1px solid rgba(255,68,68,0.4) !important; }
.pk-ca2-wrapper .ca2-tag-center { display: flex !important; width: max-content !important; margin-left: auto !important; margin-right: auto !important; }

/* BUTTONS */
.pk-ca2-wrapper .ca2-btn {
    display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 10px !important;
    padding: 16px 40px !important; border-radius: 8px !important;
    font-size: 1.5rem !important; font-weight: 700 !important; text-decoration: none !important;
    transition: transform .25s ease, background .25s ease, box-shadow .25s ease !important;
    cursor: pointer !important; border: none !important; letter-spacing: 1px !important;
}
.pk-ca2-wrapper .ca2-btn-primary { background: var(--ca2-red) !important; color: #fff !important; box-shadow: 0 4px 20px var(--ca2-red-glow) !important; }
.pk-ca2-wrapper .ca2-btn-primary:hover { background: #ff5555 !important; transform: translateY(-2px) !important; }
.pk-ca2-wrapper .ca2-btn-ghost { background: transparent !important; color: #fff !important; border: 2px solid rgba(255,255,255,0.5) !important; }
.pk-ca2-wrapper .ca2-btn-ghost:hover { background: #fff !important; color: #0a0a0a !important; }
.pk-ca2-wrapper .ca2-btn-white { background: #fff !important; color: #0a0a0a !important; }
.pk-ca2-wrapper .ca2-btn-white:hover { transform: translateY(-2px) !important; }

/* PLACEHOLDER */
.pk-ca2-wrapper .ca2-ph {
    width: 100% !important; height: 100% !important; min-height: 220px !important;
    display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important;
    gap: 8px !important; text-align: center !important; padding: 20px !important;
    background: repeating-linear-gradient(45deg, rgba(255,255,255,0.03) 0 12px, rgba(255,255,255,0.015) 12px 24px) !important;
    border: 2px dashed rgba(255,255,255,0.15) !important; border-radius: 16px !important;
}
.pk-ca2-wrapper .ca2-ph span { font-size: 1.5rem !important; font-weight: 700 !important; color: var(--ca2-gray) !important; letter-spacing: 1px !important; }
.pk-ca2-wrapper .ca2-ph small { font-size: 1.4rem !important; font-family: var(--ca2-mono) !important; color: var(--ca2-gray-dark) !important; word-break: break-all !important; }

/* PHONE MOCKUP */
.pk-ca2-wrapper .ca2-phone {
    position: relative !important; width: 100% !important; max-width: 300px !important;
    aspect-ratio: 9 / 19.5 !important; margin: 0 auto !important;
    background: #1c1c1e !important; border-radius: 46px !important; padding: 10px !important;
    box-shadow: 0 0 0 2px #3a3a3c, 0 30px 70px rgba(0,0,0,0.6) !important;
}
.pk-ca2-wrapper .ca2-phone-screen { position: relative !important; width: 100% !important; height: 100% !important; border-radius: 37px !important; overflow: hidden !important; background: #000 !important; }
.pk-ca2-wrapper .ca2-phone-screen::before {
    content: '' !important; position: absolute !important; top: 10px !important; left: 50% !important;
    transform: translateX(-50%) !important; width: 32% !important; height: 24px !important;
    background: #000 !important; border-radius: 20px !important; z-index: 3 !important;
}
.pk-ca2-wrapper .ca2-phone-img { width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: top !important; display: block !important; }
.pk-ca2-wrapper .ca2-phone .ca2-ph { border-radius: 37px !important; min-height: 0 !important; border: none !important; padding-top: 50px !important; }

/* ================= FAQ ================= */
.pk-ca2-wrapper .ca2-faq { max-width: 900px !important; margin: 0 auto !important; }
.pk-ca2-wrapper .ca2-faq-item { background: var(--ca2-card) !important; border: 1px solid var(--ca2-border) !important; border-radius: 15px !important; margin-bottom: 18px !important; overflow: hidden !important; transition: border-color .3s ease !important; }
.pk-ca2-wrapper .ca2-faq-item:hover, .pk-ca2-wrapper .ca2-faq-item.is-open { border-color: var(--ca2-red) !important; }
.pk-ca2-wrapper .ca2-faq-q { width: 100% !important; display: flex !important; justify-content: space-between !important; align-items: center !important; gap: 20px !important; padding: 28px 30px !important; background: none !important; border: none !important; cursor: pointer !important; text-align: left !important; color: #fff !important; font-size: 1.7rem !important; font-weight: 700 !important; }
.pk-ca2-wrapper .ca2-faq-q i { font-style: normal !important; color: var(--ca2-red) !important; font-size: 2.5rem !important; line-height: 1 !important; transition: transform .3s ease !important; }
.pk-ca2-wrapper .ca2-faq-item.is-open .ca2-faq-q i { transform: rotate(45deg) !important; }
.pk-ca2-wrapper .ca2-faq-a { max-height: 0 !important; overflow: hidden !important; transition: max-height .4s ease !important; }
.pk-ca2-wrapper .ca2-faq-item.is-open .ca2-faq-a { max-height: 500px !important; }
.pk-ca2-wrapper .ca2-faq-a > div { padding: 0 30px 28px !important; font-size: 1.5rem !important; line-height: 1.7 !important; color: var(--ca2-gray) !important; }

/* ================= CTA ================= */
.pk-ca2-wrapper .ca2-cta { position: relative !important; padding: 120px 0 !important; text-align: center !important; overflow: hidden !important; }
.pk-ca2-wrapper .ca2-cta-bg { position: absolute !important; inset: 0 !important; background-image: var(--ca2-cta-bg) !important; background-size: cover !important; background-position: center !important; z-index: 0 !important; }
.pk-ca2-wrapper .ca2-cta-overlay { position: absolute !important; inset: 0 !important; background: linear-gradient(135deg, rgba(255,68,68,0.85), rgba(204,51,51,0.92)) !important; z-index: 1 !important; }
.pk-ca2-wrapper .ca2-cta-inner { position: relative !important; z-index: 2 !important; }
.pk-ca2-wrapper .ca2-cta h2 { font-size: 3.5rem !important; font-weight: 900 !important; line-height: 1.15 !important; margin-bottom: 20px !important; text-shadow: 0 4px 20px rgba(0,0,0,0.3) !important; }
.pk-ca2-wrapper .ca2-cta p { font-size: 1.8rem !important; color: #fff !important; margin-bottom: 40px !important; }


/* ================= HERO ================= */
.pk-ca2-wrapper .ca2-hero {
    position: relative !important; padding: 120px 0 100px !important; overflow: hidden !important;
    background:
        radial-gradient(circle at 12% 35%, rgba(255,68,68,0.18) 0%, transparent 40%),
        radial-gradient(circle at 70% 25%, rgba(255,196,61,0.08) 0%, transparent 35%),
        radial-gradient(circle at 92% 55%, rgba(59,111,224,0.12) 0%, transparent 38%),
        radial-gradient(circle at 70% 90%, rgba(108,242,90,0.08) 0%, transparent 38%),
        linear-gradient(135deg, #0a0a0a 0%, #141416 100%) !important;
}
.pk-ca2-wrapper .ca2-hero-grid { display: grid !important; grid-template-columns: 1fr 1.05fr !important; gap: 60px !important; align-items: center !important; }
.pk-ca2-wrapper .ca2-hero-text h1 { font-size: 5.4rem !important; font-weight: 900 !important; line-height: 1.02 !important; margin-bottom: 30px !important; }
.pk-ca2-wrapper .ca2-hero-lead { font-size: 2rem !important; line-height: 1.5 !important; margin-bottom: 20px !important; }
.pk-ca2-wrapper .ca2-hero-sub { font-size: 1.6rem !important; line-height: 1.7 !important; margin-bottom: 34px !important; }
.pk-ca2-wrapper .ca2-hero-cta { display: flex !important; flex-wrap: wrap !important; margin: 0 -9px !important; }
.pk-ca2-wrapper .ca2-hero-cta > * { margin: 0 9px 14px !important; }
.pk-ca2-wrapper .ca2-hero-photo { height: 460px !important; display: flex !important; align-items: center !important; justify-content: center !important; }
.pk-ca2-wrapper .ca2-hero-img { max-width: 100% !important; max-height: 100% !important; object-fit: contain !important; filter: drop-shadow(0 30px 50px rgba(0,0,0,0.6)) !important; border-radius: 18px !important; }
.pk-ca2-wrapper .ca2-hero-chips { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; margin: 24px -6px 0 !important; }
.pk-ca2-wrapper .ca2-chip { display: inline-flex !important; align-items: center !important; gap: 10px !important; margin: 0 6px 10px !important; padding: 10px 18px !important; border-radius: 30px !important;
    background: color-mix(in srgb, var(--c) 10%, #0b0b0d) !important; border: 1px solid color-mix(in srgb, var(--c) 45%, transparent) !important;
    color: #fff !important; text-decoration: none !important; font-family: var(--ca2-mono) !important; font-size: 1.4rem !important; font-weight: 800 !important; letter-spacing: 2px !important; transition: transform .2s ease !important; }
.pk-ca2-wrapper .ca2-chip:hover { transform: translateY(-2px) !important; }
.pk-ca2-wrapper .ca2-chip i { width: 10px !important; height: 10px !important; border-radius: 50% !important; background: var(--c) !important; box-shadow: 0 0 10px var(--c) !important; }

/* ================= GAMMA ================= */
.pk-ca2-wrapper .ca2-filters { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; align-items: center !important; margin: -20px -5px 40px !important; }
.pk-ca2-wrapper .ca2-filters button { margin: 0 5px 10px !important; padding: 10px 20px !important; border-radius: 30px !important; border: 1px solid #2a2a2c !important; background: #0b0b0d !important; color: var(--ca2-gray) !important;
    font-family: var(--ca2-mono) !important; font-size: 1.4rem !important; font-weight: 700 !important; letter-spacing: 2px !important; cursor: pointer !important; transition: all .2s ease !important; }
.pk-ca2-wrapper .ca2-filters button:hover { border-color: rgba(255,255,255,0.35) !important; color: #fff !important; }
.pk-ca2-wrapper .ca2-filters button.is-on { background: #fff !important; border-color: #fff !important; color: #0a0a0a !important; }
.pk-ca2-wrapper .ca2-filters-sep { width: 1px !important; height: 26px !important; background: #333 !important; margin: 0 12px 10px !important; }

.pk-ca2-wrapper .ca2-products { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 20px !important; }
.pk-ca2-wrapper .ca2-prod { position: relative !important; display: flex !important; flex-direction: column !important; border-radius: 24px !important; overflow: hidden !important;
    background: linear-gradient(180deg, color-mix(in srgb, var(--c) 9%, #0b0b0d) 0%, #000 55%) !important; border: 1px solid color-mix(in srgb, var(--c) 30%, #222) !important;
    transition: transform .3s ease, opacity .3s ease, filter .3s ease, border-color .3s ease !important; scroll-margin-top: 120px !important; }
.pk-ca2-wrapper .ca2-prod::before { content: '' !important; position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important; height: 4px !important; background: var(--c) !important; box-shadow: 0 0 20px var(--c) !important; }
.pk-ca2-wrapper .ca2-prod:hover { transform: translateY(-6px) !important; border-color: var(--c) !important; }
.pk-ca2-wrapper .ca2-prod.is-dim { opacity: .25 !important; filter: grayscale(1) !important; transform: scale(.97) !important; }
.pk-ca2-wrapper .ca2-prod-img { height: 210px !important; display: flex !important; align-items: center !important; justify-content: center !important; padding: 26px 20px 10px !important;
    background: radial-gradient(circle at 50% 60%, color-mix(in srgb, var(--c) 22%, transparent) 0%, transparent 65%) !important; }
.pk-ca2-wrapper .ca2-prod-photo { max-width: 100% !important; max-height: 100% !important; object-fit: contain !important; filter: drop-shadow(0 18px 30px rgba(0,0,0,0.6)) !important; }
.pk-ca2-wrapper .ca2-prod-img .ca2-ph { min-height: 0 !important; }
.pk-ca2-wrapper .ca2-prod-body { display: flex !important; flex-direction: column !important; flex: 1 !important; padding: 18px 22px 22px !important; }
.pk-ca2-wrapper .ca2-prod-tag { font-family: var(--ca2-mono) !important; font-size: 1.4rem !important; font-weight: 800 !important; letter-spacing: 2px !important; color: var(--c) !important; }
.pk-ca2-wrapper .ca2-prod h3 { font-size: 2.2rem !important; font-weight: 900 !important; line-height: 1.15 !important; margin: 6px 0 10px !important; }
.pk-ca2-wrapper .ca2-prod-claim { font-size: 1.5rem !important; line-height: 1.5 !important; color: #fff !important; margin: 0 0 16px !important; }
.pk-ca2-wrapper .ca2-prod ul { list-style: none !important; margin: 0 0 20px !important; padding: 0 !important; flex: 1 !important; }
.pk-ca2-wrapper .ca2-prod li { display: flex !important; gap: 10px !important; align-items: flex-start !important; font-size: 1.4rem !important; line-height: 1.45 !important; color: var(--ca2-gray) !important; margin: 0 0 10px !important; }
.pk-ca2-wrapper .ca2-prod li span { flex: 0 0 20px !important; width: 20px !important; height: 20px !important; color: var(--c) !important; margin-top: 1px !important; }
.pk-ca2-wrapper .ca2-prod li svg { width: 20px !important; height: 20px !important; stroke-width: 2.4; }
.pk-ca2-wrapper .ca2-prod-foot { display: flex !important; justify-content: space-between !important; align-items: center !important; gap: 10px !important; padding-top: 16px !important; border-top: 1px solid #222 !important; }
.pk-ca2-wrapper .ca2-prod-price { font-size: 1.4rem !important; color: var(--ca2-gray) !important; }
.pk-ca2-wrapper .ca2-prod-price strong { font-size: 2.2rem !important; font-weight: 900 !important; margin-left: 4px !important; }
.pk-ca2-wrapper .ca2-prod-link { display: inline-flex !important; align-items: center !important; gap: 6px !important; padding: 10px 16px !important; border-radius: 10px !important; background: var(--c) !important;
    color: #0a0a0a !important; text-decoration: none !important; font-size: 1.4rem !important; font-weight: 800 !important; letter-spacing: 1px !important; }
.pk-ca2-wrapper .ca2-prod-link svg { width: 18px !important; height: 18px !important; stroke-width: 2.4; }
.pk-ca2-wrapper .ca2-disclaimer { text-align: center !important; font-size: 1.4rem !important; color: var(--ca2-gray-dark) !important; margin: 28px auto 0 !important; max-width: 900px !important; }

/* ================= ECOSISTEMA ================= */
.pk-ca2-wrapper .ca2-eco-section { background: radial-gradient(ellipse at 50% 30%, #17171b 0%, #0a0a0a 60%) !important; }
.pk-ca2-wrapper .ca2-eco { --lvl: 0.7; }
.pk-ca2-wrapper .ca2-combos { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; align-items: center !important; margin: -20px -5px 26px !important; }
.pk-ca2-wrapper .ca2-combos > span { font-family: var(--ca2-mono) !important; font-size: 1.4rem !important; letter-spacing: 3px !important; color: var(--ca2-gray-dark) !important; margin: 0 10px 10px !important; font-weight: 700 !important; }
.pk-ca2-wrapper .ca2-combos button { margin: 0 5px 10px !important; padding: 10px 18px !important; border-radius: 12px !important; border: 1px solid #2a2a2c !important; background: #0b0b0d !important; color: var(--ca2-gray) !important;
    font-size: 1.4rem !important; font-weight: 700 !important; cursor: pointer !important; transition: all .2s ease !important; }
.pk-ca2-wrapper .ca2-combos button.is-on { border-color: var(--ca2-red) !important; background: rgba(255,68,68,0.12) !important; color: #fff !important; }

.pk-ca2-wrapper .ca2-stage { position: relative !important; aspect-ratio: 16 / 8 !important; border-radius: 30px !important; overflow: visible !important; background: radial-gradient(ellipse at 50% 70%, #1b1b20 0%, #050505 70%) !important; border: 1px solid #1f1f22 !important; }
.pk-ca2-wrapper .ca2-stage-img { position: absolute !important; inset: 0 !important; border-radius: 30px !important; overflow: hidden !important; }
.pk-ca2-wrapper .ca2-stage-photo { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
.pk-ca2-wrapper .ca2-stage-img .ca2-ph { min-height: 0 !important; height: 100% !important; border-radius: 30px !important; }

.pk-ca2-wrapper .ca2-spot { --c: #ff5a3c; --spd: 1.4s; position: absolute !important; width: 0 !important; height: 0 !important; padding: 0 !important; border: none !important; background: none !important; cursor: pointer !important; z-index: 3 !important; transition: opacity .4s ease !important; }
.pk-ca2-wrapper .ca2-spot.is-off { opacity: 0 !important; pointer-events: none !important; }
.pk-ca2-wrapper .ca2-spot-dot { position: absolute !important; left: -13px !important; top: -13px !important; width: 26px !important; height: 26px !important; border-radius: 50% !important; background: var(--c) !important; border: 3px solid #fff !important;
    box-shadow: 0 0 calc(10px + 30px * var(--lvl)) var(--c) !important; transition: background .4s ease, box-shadow .4s ease !important; }
.pk-ca2-wrapper .ca2-spot-ring { position: absolute !important; left: -13px !important; top: -13px !important; width: 26px !important; height: 26px !important; border-radius: 50% !important; border: 3px solid var(--c) !important;
    animation: ca2-ping var(--spd) ease-out infinite !important; opacity: 0; }
.pk-ca2-wrapper .ca2-spot-ring.r2 { animation-delay: calc(var(--spd) / 2) !important; }
.pk-ca2-wrapper .ca2-eco.is-ori .ca2-spot-ring { animation: none !important; }
@keyframes ca2-ping { 0% { transform: scale(1); opacity: .9; } 100% { transform: scale(3.4); opacity: 0; } }
.pk-ca2-wrapper .ca2-spot-tag { position: absolute !important; left: 22px !important; top: -24px !important; display: flex !important; flex-direction: column !important; padding: 7px 12px !important; border-radius: 12px !important; white-space: nowrap !important; text-align: left !important;
    background: rgba(0,0,0,0.78) !important; border: 1px solid var(--c) !important; backdrop-filter: blur(6px) !important; -webkit-backdrop-filter: blur(6px) !important; }
.pk-ca2-wrapper .ca2-spot-tag small { font-family: var(--ca2-mono) !important; font-size: 1.4rem !important; letter-spacing: 2px !important; color: var(--c) !important; font-weight: 800 !important; line-height: 1.2 !important; }
.pk-ca2-wrapper .ca2-spot-tag b { font-family: var(--ca2-mono) !important; font-size: 1.6rem !important; color: #fff !important; font-weight: 800 !important; line-height: 1.3 !important; }
.pk-ca2-wrapper .ca2-spot[data-spot="exhaust"] .ca2-spot-tag { left: auto !important; right: 22px !important; text-align: right !important; }
.pk-ca2-wrapper .ca2-spot.is-flash .ca2-spot-tag b { animation: ca2-flash .5s ease !important; }
@keyframes ca2-flash { 0% { opacity: .2; } 100% { opacity: 1; } }

.pk-ca2-wrapper .ca2-pop { --c: #ff5a3c; position: absolute !important; z-index: 5 !important; width: 290px !important; padding: 20px 22px !important; border-radius: 18px !important; background: #0b0b0d !important; border: 1px solid var(--c) !important;
    box-shadow: 0 20px 60px rgba(0,0,0,0.7) !important; transform: translate(-50%, 30px) scale(.96) !important; opacity: 0 !important; pointer-events: none !important; transition: opacity .25s ease, transform .25s ease !important; }
.pk-ca2-wrapper .ca2-pop.is-up { transform: translate(-50%, calc(-100% - 30px)) scale(.96) !important; }
.pk-ca2-wrapper .ca2-pop.is-open { opacity: 1 !important; pointer-events: auto !important; transform: translate(-50%, 30px) scale(1) !important; }
.pk-ca2-wrapper .ca2-pop.is-up.is-open { transform: translate(-50%, calc(-100% - 30px)) scale(1) !important; }
.pk-ca2-wrapper .ca2-pop-x { position: absolute !important; top: 8px !important; right: 12px !important; background: none !important; border: none !important; color: #888 !important; font-size: 2.4rem !important; cursor: pointer !important; padding: 0 !important; line-height: 1 !important; }
.pk-ca2-wrapper .ca2-pop-tag { display: block !important; font-family: var(--ca2-mono) !important; font-size: 1.4rem !important; letter-spacing: 1px !important; color: var(--c) !important; font-weight: 800 !important; margin-right: 20px !important; }
.pk-ca2-wrapper .ca2-pop h4 { font-size: 2rem !important; font-weight: 900 !important; margin: 6px 0 6px !important; }
.pk-ca2-wrapper .ca2-pop p { font-size: 1.4rem !important; line-height: 1.5 !important; margin: 0 0 12px !important; }
.pk-ca2-wrapper .ca2-pop a { display: inline-flex !important; align-items: center !important; gap: 6px !important; color: var(--c) !important; font-size: 1.4rem !important; font-weight: 800 !important; text-decoration: none !important; letter-spacing: 1px !important; }
.pk-ca2-wrapper .ca2-pop a svg { width: 18px !important; height: 18px !important; }

.pk-ca2-wrapper .ca2-eco-row { display: grid !important; grid-template-columns: 1fr 340px 1fr !important; gap: 40px !important; align-items: center !important; margin-top: -70px !important; position: relative !important; z-index: 4 !important; }
.pk-ca2-wrapper .ca2-eco-side { padding: 28px !important; border-radius: 22px !important; background: rgba(11,11,13,0.92) !important; border: 1px solid #2a2a2c !important; margin-top: 70px !important; }
.pk-ca2-wrapper .ca2-eco-side-tag { display: inline-block !important; padding: 4px 12px !important; border-radius: 8px !important; font-family: var(--ca2-mono) !important; font-size: 1.4rem !important; font-weight: 800 !important; letter-spacing: 2px !important; background: #2a2a2c !important; color: #bbb !important; margin-bottom: 14px !important; }
.pk-ca2-wrapper .ca2-eco-after .ca2-eco-side-tag { background: var(--ca2-red) !important; color: #fff !important; }
.pk-ca2-wrapper .ca2-eco-after { border-color: rgba(255,68,68,0.45) !important; background: linear-gradient(135deg, rgba(255,68,68,0.1), rgba(11,11,13,0.95)) !important; }
.pk-ca2-wrapper .ca2-eco-side h3 { font-size: 2.4rem !important; font-weight: 900 !important; line-height: 1.15 !important; margin-bottom: 14px !important; }
.pk-ca2-wrapper .ca2-eco-before h3 { color: #9a9aa0 !important; }
.pk-ca2-wrapper .ca2-eco-side p { font-size: 1.5rem !important; line-height: 1.6 !important; margin: 0 0 12px !important; }
.pk-ca2-wrapper .ca2-eco-before ol { margin: 0 0 14px !important; padding: 0 0 0 22px !important; }
.pk-ca2-wrapper .ca2-eco-before li { font-size: 1.5rem !important; line-height: 1.5 !important; color: var(--ca2-gray-dark) !important; margin-bottom: 8px !important; }
.pk-ca2-wrapper .ca2-eco-after ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.pk-ca2-wrapper .ca2-eco-after li { display: flex !important; align-items: center !important; gap: 12px !important; font-size: 1.5rem !important; color: #fff !important; margin-bottom: 10px !important; }
.pk-ca2-wrapper .ca2-eco-after li span { flex: 0 0 38px !important; width: 38px !important; height: 38px !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important; background: rgba(255,68,68,0.15) !important; color: var(--ca2-red) !important; }
.pk-ca2-wrapper .ca2-eco-after li svg { width: 20px !important; height: 20px !important; }

/* telefono Driving Experiences */
.pk-ca2-wrapper .ca2-eco-phone { position: relative !important; width: 100% !important; aspect-ratio: 9 / 16.5 !important; padding: 10px !important; border-radius: 48px !important; background: #1c1c1e !important;
    box-shadow: 0 0 0 2px #3a3a3c, 0 40px 90px rgba(0,0,0,0.8), 0 0 80px rgba(255,68,68,calc(0.08 + 0.25 * var(--lvl))) !important; transition: box-shadow .5s ease !important; }
.pk-ca2-wrapper .ca2-eco-phone::before { content: '' !important; position: absolute !important; top: 20px !important; left: 50% !important; transform: translateX(-50%) !important; width: 30% !important; height: 24px !important; border-radius: 20px !important; background: #000 !important; z-index: 2 !important; }
.pk-ca2-wrapper .ca2-de { height: 100% !important; border-radius: 39px !important; background: #000 !important; padding: 56px 18px 18px !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; }
.pk-ca2-wrapper .ca2-de-top { display: flex !important; justify-content: space-between !important; align-items: flex-start !important; margin-bottom: 16px !important; }
.pk-ca2-wrapper .ca2-de-title { font-size: 2rem !important; font-weight: 300 !important; letter-spacing: 2px !important; line-height: 1.1 !important; color: #fff !important; }
.pk-ca2-wrapper .ca2-de-soon { padding: 4px 8px !important; border-radius: 8px !important; background: rgba(255,196,61,0.15) !important; color: #ffc43d !important; font-family: var(--ca2-mono) !important; font-size: 1.4rem !important; font-weight: 800 !important; letter-spacing: 1px !important; white-space: nowrap !important; }
.pk-ca2-wrapper .ca2-de-modes { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 8px !important; margin-bottom: 16px !important; }
.pk-ca2-wrapper .ca2-de-mode { display: flex !important; flex-direction: column !important; align-items: flex-start !important; justify-content: space-between !important; min-height: 86px !important; padding: 12px !important; border-radius: 16px !important;
    border: 1.5px solid #2a2a2c !important; background: #0f0f11 !important; color: #fff !important; cursor: pointer !important; text-align: left !important; transition: all .25s ease !important; }
.pk-ca2-wrapper .ca2-de-mode strong { font-family: var(--ca2-mono) !important; font-size: 1.4rem !important; font-weight: 800 !important; line-height: 1.2 !important; letter-spacing: 1px !important; }
.pk-ca2-wrapper .ca2-de-mode small { font-size: 1.4rem !important; color: #888 !important; line-height: 1.2 !important; margin-top: 6px !important; }
.pk-ca2-wrapper .ca2-de-mode[data-m="king"].is-on { border-color: #ff4444 !important; background: linear-gradient(160deg, rgba(255,68,68,0.35), #120606) !important; box-shadow: 0 0 22px rgba(255,68,68,0.45) !important; }
.pk-ca2-wrapper .ca2-de-mode[data-m="sport"].is-on { border-color: #ff8a3d !important; background: linear-gradient(160deg, rgba(255,138,61,0.32), #120a04) !important; box-shadow: 0 0 22px rgba(255,138,61,0.4) !important; }
.pk-ca2-wrapper .ca2-de-mode[data-m="eco"].is-on { border-color: #6cf25a !important; background: linear-gradient(160deg, rgba(108,242,90,0.25), #061006) !important; box-shadow: 0 0 22px rgba(108,242,90,0.35) !important; }
.pk-ca2-wrapper .ca2-de-mode[data-m="ori"].is-on { border-color: #4ab8d8 !important; background: linear-gradient(160deg, rgba(74,184,216,0.28), #040c10) !important; box-shadow: 0 0 22px rgba(74,184,216,0.4) !important; }
.pk-ca2-wrapper .ca2-de-mode.is-on small { color: #ddd !important; }
.pk-ca2-wrapper .ca2-de-list-h { font-family: var(--ca2-mono) !important; font-size: 1.4rem !important; letter-spacing: 2px !important; color: #777 !important; font-weight: 700 !important; margin-bottom: 8px !important; }
.pk-ca2-wrapper .ca2-de-list { display: flex !important; flex-direction: column !important; gap: 8px !important; }
.pk-ca2-wrapper .ca2-de-item { display: grid !important; grid-template-columns: 10px 1fr auto !important; align-items: center !important; gap: 10px !important; padding: 10px 12px !important; border-radius: 12px !important; background: #111214 !important; border: 1px solid #222 !important; }
.pk-ca2-wrapper .ca2-de-item i { width: 10px !important; height: 10px !important; border-radius: 50% !important; background: var(--c) !important; box-shadow: 0 0 8px var(--c) !important; }
.pk-ca2-wrapper .ca2-de-item span { font-family: var(--ca2-mono) !important; font-size: 1.4rem !important; font-weight: 700 !important; color: #ddd !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; }
.pk-ca2-wrapper .ca2-de-item b { font-family: var(--ca2-mono) !important; font-size: 1.4rem !important; font-weight: 800 !important; color: #fff !important; white-space: nowrap !important; }

/* ================= CONFRONTO ================= */
.pk-ca2-wrapper .ca2-cmp-wrap { overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; border-radius: 24px !important; border: 1px solid #2a2a2c !important; background: #000 !important; }
.pk-ca2-wrapper .ca2-cmp { width: 100% !important; min-width: 720px !important; border-collapse: collapse !important; margin: 0 !important; border: none !important; }
.pk-ca2-wrapper .ca2-cmp th, .pk-ca2-wrapper .ca2-cmp td { padding: 16px 14px !important; border: none !important; border-bottom: 1px solid #1a1a1c !important; text-align: center !important; font-size: 1.5rem !important; color: var(--ca2-gray) !important; background: transparent !important; }
.pk-ca2-wrapper .ca2-cmp td:first-child { text-align: left !important; color: #fff !important; font-weight: 600 !important; padding-left: 26px !important; }
.pk-ca2-wrapper .ca2-cmp th { font-family: var(--ca2-mono) !important; font-size: 1.5rem !important; font-weight: 800 !important; letter-spacing: 2px !important; color: #fff !important; padding-top: 24px !important; border-bottom: 2px solid var(--c, #222) !important; }
.pk-ca2-wrapper .ca2-cmp th i { display: block !important; width: 12px !important; height: 12px !important; margin: 0 auto 8px !important; border-radius: 50% !important; background: var(--c) !important; box-shadow: 0 0 10px var(--c) !important; }
.pk-ca2-wrapper .ca2-cmp td svg { width: 24px !important; height: 24px !important; vertical-align: middle !important; }
.pk-ca2-wrapper .ca2-cmp td.is-yes svg { color: var(--c) !important; stroke-width: 2.6; }
.pk-ca2-wrapper .ca2-cmp td.is-no svg { color: #3a3a3c !important; }
.pk-ca2-wrapper .ca2-cmp tbody tr:hover td { background: rgba(255,255,255,0.02) !important; }
.pk-ca2-wrapper .ca2-cmp-price td strong { font-size: 2rem !important; font-weight: 900 !important; }
.pk-ca2-wrapper .ca2-cmp-go td { border-bottom: none !important; padding-bottom: 24px !important; }
.pk-ca2-wrapper .ca2-cmp-go a { display: inline-block !important; padding: 10px 18px !important; border-radius: 10px !important; border: 1px solid var(--c) !important; color: var(--c) !important; text-decoration: none !important; font-size: 1.4rem !important; font-weight: 800 !important; letter-spacing: 1px !important; transition: all .2s ease !important; }
.pk-ca2-wrapper .ca2-cmp-go a:hover { background: var(--c) !important; color: #0a0a0a !important; }

/* ================= SVILUPPO ================= */
.pk-ca2-wrapper .ca2-dev { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 60px !important; align-items: center !important; }
.pk-ca2-wrapper .ca2-dev-media { height: 420px !important; border-radius: 24px !important; overflow: hidden !important; }
.pk-ca2-wrapper .ca2-dev-img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
.pk-ca2-wrapper .ca2-dev-media .ca2-ph { min-height: 0 !important; }
.pk-ca2-wrapper .ca2-dev-text h2 { font-size: 3.6rem !important; font-weight: 900 !important; line-height: 1.1 !important; margin-bottom: 20px !important; }
.pk-ca2-wrapper .ca2-dev-text p { font-size: 1.6rem !important; line-height: 1.7 !important; margin-bottom: 26px !important; }
.pk-ca2-wrapper .ca2-dev-steps { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
.pk-ca2-wrapper .ca2-dev-steps > div { display: flex !important; align-items: center !important; gap: 12px !important; padding: 14px 16px !important; border-radius: 14px !important; background: var(--ca2-card) !important; border: 1px solid var(--ca2-border) !important; }
.pk-ca2-wrapper .ca2-dev-steps span { flex: 0 0 40px !important; width: 40px !important; height: 40px !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important; background: rgba(255,68,68,0.12) !important; color: var(--ca2-red) !important; }
.pk-ca2-wrapper .ca2-dev-steps svg { width: 20px !important; height: 20px !important; }
.pk-ca2-wrapper .ca2-dev-steps strong { font-family: var(--ca2-mono) !important; font-size: 1.4rem !important; letter-spacing: 1px !important; }
.pk-ca2-wrapper .ca2-stats { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 24px !important; margin-top: 70px !important; }
.pk-ca2-wrapper .ca2-stats > div { text-align: center !important; padding: 30px 20px !important; border-radius: 18px !important; background: var(--ca2-card) !important; border: 1px solid var(--ca2-border) !important; }
.pk-ca2-wrapper .ca2-stats strong { display: block !important; font-size: 4.4rem !important; font-weight: 900 !important; line-height: 1.1 !important; color: var(--ca2-red) !important; }
.pk-ca2-wrapper .ca2-stats span { font-family: var(--ca2-mono) !important; font-size: 1.4rem !important; letter-spacing: 2px !important; color: var(--ca2-gray) !important; }

/* MOCKUP REALE (PNG da Photoshop) */
.pk-ca2-wrapper .ca2-phone.is-real { background: none !important; padding: 0 !important; box-shadow: none !important; border-radius: 0 !important; aspect-ratio: auto !important; height: auto !important; }

/* ================= RESPONSIVE ================= */
@media (max-width: 1100px) {
    .pk-ca2-wrapper .ca2-products { grid-template-columns: repeat(2, 1fr) !important; }
    .pk-ca2-wrapper .ca2-eco-row { grid-template-columns: 1fr 300px 1fr !important; gap: 20px !important; }
}
@media (max-width: 968px) {
    .pk-ca2-wrapper .ca2-section { padding: 80px 0 !important; }
    .pk-ca2-wrapper .ca2-title { font-size: 3rem !important; }
    .pk-ca2-wrapper .ca2-subtitle { font-size: 1.6rem !important; margin-bottom: 45px !important; }
    .pk-ca2-wrapper .ca2-hero { padding: 80px 0 60px !important; }
    .pk-ca2-wrapper .ca2-hero-grid { grid-template-columns: 1fr !important; gap: 30px !important; text-align: center !important; }
    .pk-ca2-wrapper .ca2-hero-text h1 { font-size: 4rem !important; }
    .pk-ca2-wrapper .ca2-hero-lead { font-size: 1.7rem !important; }
    .pk-ca2-wrapper .ca2-hero-cta { justify-content: center !important; }
    .pk-ca2-wrapper .ca2-hero-photo { height: 340px !important; }
    .pk-ca2-wrapper .ca2-stage { aspect-ratio: 4 / 3 !important; }
    .pk-ca2-wrapper .ca2-eco-row { grid-template-columns: 1fr !important; margin-top: 30px !important; gap: 24px !important; }
    .pk-ca2-wrapper .ca2-eco-phone { max-width: 340px !important; margin: 0 auto !important; order: -1 !important; }
    .pk-ca2-wrapper .ca2-eco-side { margin-top: 0 !important; }
    .pk-ca2-wrapper .ca2-dev { grid-template-columns: 1fr !important; gap: 40px !important; }
    .pk-ca2-wrapper .ca2-dev-media { height: 300px !important; }
    .pk-ca2-wrapper .ca2-stats { grid-template-columns: 1fr !important; }
    .pk-ca2-wrapper .ca2-cta h2 { font-size: 2.6rem !important; }
}
@media (max-width: 600px) {
    .pk-ca2-wrapper .ca2-title { font-size: 2.6rem !important; }
    .pk-ca2-wrapper .ca2-hero-text h1 { font-size: 3.4rem !important; }
    .pk-ca2-wrapper .ca2-hero-photo { height: 260px !important; }
    .pk-ca2-wrapper .ca2-products { grid-template-columns: 1fr !important; }
    .pk-ca2-wrapper .ca2-filters-sep { display: none !important; }
    .pk-ca2-wrapper .ca2-filters, .pk-ca2-wrapper .ca2-combos { flex-wrap: nowrap !important; justify-content: flex-start !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; padding-bottom: 6px !important; }
    .pk-ca2-wrapper .ca2-filters button, .pk-ca2-wrapper .ca2-combos button { flex: 0 0 auto !important; white-space: nowrap !important; }
    .pk-ca2-wrapper .ca2-combos > span { display: none !important; }
    .pk-ca2-wrapper .ca2-stage { aspect-ratio: 1 / 1 !important; border-radius: 22px !important; }
    .pk-ca2-wrapper .ca2-stage-img, .pk-ca2-wrapper .ca2-stage-img .ca2-ph { border-radius: 22px !important; }
    .pk-ca2-wrapper .ca2-spot-tag { padding: 5px 9px !important; }
    .pk-ca2-wrapper .ca2-spot-tag b { font-size: 1.4rem !important; }
    .pk-ca2-wrapper .ca2-pop { width: 240px !important; }
    .pk-ca2-wrapper .ca2-dev-text h2 { font-size: 2.8rem !important; }
    .pk-ca2-wrapper .ca2-dev-steps { grid-template-columns: 1fr !important; }
    .pk-ca2-wrapper .ca2-faq-q { padding: 22px 20px !important; font-size: 1.6rem !important; }
    .pk-ca2-wrapper .ca2-faq-a > div { padding: 0 20px 22px !important; }
    .pk-ca2-wrapper .ca2-btn { padding: 15px 30px !important; }
}
@media (max-width: 600px) {
    .pk-ca2-wrapper .ca2-spot-tag { display: none !important; }
    .pk-ca2-wrapper .ca2-pop { left: 50% !important; }
    .pk-ca2-wrapper .ca2-cmp td:first-child { position: sticky !important; left: 0 !important; background: #000 !important; z-index: 1 !important; padding-left: 16px !important; min-width: 150px !important; }
}

/* ecosistema: due foto (M3 benzina / M440d GT2) in dissolvenza */
.pk-ca2-wrapper .ca2-stage-img { opacity: 0 !important; transition: opacity .6s ease !important; }
.pk-ca2-wrapper .ca2-stage-img.is-on { opacity: 1 !important; }
.pk-ca2-wrapper .ca2-spot { transition: opacity .4s ease, left .6s ease, top .6s ease !important; }
/* telefono centrale + funzioni */
.pk-ca2-wrapper .ca2-eco-row { display: flex !important; justify-content: center !important; margin-top: -90px !important; }
.pk-ca2-wrapper .ca2-eco-phone { width: 340px !important; max-width: 100% !important; }
.pk-ca2-wrapper .ca2-de-soon { background: rgba(255,68,68,0.15) !important; color: var(--ca2-red) !important; }
.pk-ca2-wrapper .ca2-eco-feats { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 20px !important; margin-top: 50px !important; }
.pk-ca2-wrapper .ca2-eco-feats > div { padding: 24px 22px !important; border-radius: 20px !important; background: #0b0b0d !important; border: 1px solid #2a2a2c !important; }
.pk-ca2-wrapper .ca2-eco-feats span { width: 48px !important; height: 48px !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important; background: rgba(255,68,68,0.12) !important; color: var(--ca2-red) !important; margin-bottom: 14px !important; }
.pk-ca2-wrapper .ca2-eco-feats svg { width: 24px !important; height: 24px !important; }
.pk-ca2-wrapper .ca2-eco-feats strong { display: block !important; font-family: var(--ca2-mono) !important; font-size: 1.5rem !important; letter-spacing: 1px !important; margin-bottom: 8px !important; }
.pk-ca2-wrapper .ca2-eco-feats p { font-size: 1.4rem !important; line-height: 1.55 !important; margin: 0 !important; }
@media (max-width: 968px) {
    .pk-ca2-wrapper .ca2-eco-row { margin-top: 30px !important; }
    .pk-ca2-wrapper .ca2-eco-feats { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 600px) {
    .pk-ca2-wrapper .ca2-eco-feats { grid-template-columns: 1fr !important; }
}

/* ================= IL TUO SETUP (benzina / diesel) ================= */
.pk-ca2-wrapper .ca2-setup { margin: -20px auto 30px !important; text-align: center !important; }
.pk-ca2-wrapper .ca2-setup-head { display: flex !important; justify-content: center !important; align-items: center !important; gap: 18px !important; margin-bottom: 18px !important; }
.pk-ca2-wrapper .ca2-setup-head > span { font-family: var(--ca2-mono) !important; font-size: 1.4rem !important; font-weight: 700 !important; letter-spacing: 3px !important; color: var(--ca2-gray-dark) !important; }
.pk-ca2-wrapper .ca2-fuel { display: inline-flex !important; padding: 4px !important; border-radius: 14px !important; background: #141416 !important; border: 1px solid #2a2a2c !important; }
.pk-ca2-wrapper .ca2-fuel button { padding: 9px 22px !important; border-radius: 10px !important; border: none !important; background: transparent !important; color: #888 !important; cursor: pointer !important;
    font-family: var(--ca2-mono) !important; font-size: 1.4rem !important; font-weight: 800 !important; letter-spacing: 2px !important; transition: all .25s ease !important; }
.pk-ca2-wrapper .ca2-fuel button.is-on { background: var(--ca2-red) !important; color: #fff !important; box-shadow: 0 0 18px rgba(255,68,68,0.45) !important; }
.pk-ca2-wrapper .ca2-eco.is-diesel .ca2-fuel button.is-on { background: #6cf25a !important; }

.pk-ca2-wrapper .ca2-combos { display: flex !important; flex-wrap: nowrap !important; justify-content: center !important; align-items: stretch !important; gap: 10px !important; margin: 0 !important; min-height: 50px !important; }
.pk-ca2-wrapper .ca2-combos button { display: inline-flex !important; align-items: center !important; gap: 10px !important; margin: 0 !important; padding: 12px 18px !important; white-space: nowrap !important; }
.pk-ca2-wrapper .ca2-combos button.is-hide { display: none !important; }
.pk-ca2-wrapper .ca2-eco.is-diesel .ca2-combos button.is-on { border-color: #6cf25a !important; background: rgba(108,242,90,0.1) !important; }
.pk-ca2-wrapper .ca2-cb-dots { display: inline-flex !important; gap: 4px !important; }
.pk-ca2-wrapper .ca2-cb-dots i { width: 9px !important; height: 9px !important; border-radius: 50% !important; background: var(--c) !important; box-shadow: 0 0 6px var(--c) !important; }
.pk-ca2-wrapper .ca2-cb-short { display: none !important; }
.pk-ca2-wrapper .ca2-setup-note { display: none !important; font-size: 1.4rem !important; color: var(--ca2-gray-dark) !important; margin: 12px 0 0 !important; }
.pk-ca2-wrapper .ca2-eco.is-diesel .ca2-setup-note { display: block !important; }

@media (max-width: 1100px) {
    .pk-ca2-wrapper .ca2-cb-long { display: none !important; }
    .pk-ca2-wrapper .ca2-cb-short { display: inline !important; font-family: var(--ca2-mono) !important; font-weight: 800 !important; letter-spacing: 1px !important; }
}
@media (max-width: 600px) {
    .pk-ca2-wrapper .ca2-setup { margin-top: -10px !important; }
    .pk-ca2-wrapper .ca2-setup-head { flex-direction: column !important; gap: 10px !important; }
    .pk-ca2-wrapper .ca2-fuel { width: 100% !important; max-width: 320px !important; }
    .pk-ca2-wrapper .ca2-fuel button { flex: 1 !important; }
    .pk-ca2-wrapper .ca2-combos { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 8px !important; overflow: visible !important; padding: 0 !important; }
    .pk-ca2-wrapper .ca2-combos button { justify-content: center !important; padding: 12px 10px !important; flex-direction: column !important; gap: 6px !important; }
    .pk-ca2-wrapper .ca2-combos button:only-child, .pk-ca2-wrapper .ca2-eco.is-diesel .ca2-combos button.is-on { grid-column: 1 / -1 !important; }
}

/* foto ecosistema: orizzontale desktop / verticale mobile */
.pk-ca2-wrapper .ca2-photo-m { display: none !important; }
/* invito a toccare le modalità */
.pk-ca2-wrapper .ca2-eco-row { position: relative !important; }
.pk-ca2-wrapper .ca2-eco-hint { position: absolute !important; right: calc(50% + 196px) !important; top: 230px !important; display: flex !important; align-items: center !important; gap: 14px !important; pointer-events: none !important; transition: opacity .5s ease !important; }
.pk-ca2-wrapper .ca2-eco-hint span { font-family: var(--ca2-mono) !important; font-size: 1.4rem !important; font-weight: 800 !important; letter-spacing: 2px !important; line-height: 1.5 !important; color: #fff !important; text-align: right !important; }
.pk-ca2-wrapper .ca2-eco-hint i { position: relative !important; width: 60px !important; height: 2px !important; background: linear-gradient(90deg, transparent, var(--ca2-red)) !important; animation: ca2-nudge 1.6s ease-in-out infinite !important; }
.pk-ca2-wrapper .ca2-eco-hint i::after { content: '' !important; position: absolute !important; right: -2px !important; top: -5px !important; width: 10px !important; height: 10px !important; border-top: 2px solid var(--ca2-red) !important; border-right: 2px solid var(--ca2-red) !important; transform: rotate(45deg) !important; }
@keyframes ca2-nudge { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(8px); } }
.pk-ca2-wrapper .ca2-eco.is-touched .ca2-eco-hint { opacity: 0 !important; }

@media (max-width: 968px) {
    .pk-ca2-wrapper .ca2-eco-row { flex-direction: column !important; align-items: center !important; }
    .pk-ca2-wrapper .ca2-eco-hint { position: static !important; flex-direction: column !important; gap: 8px !important; margin-bottom: 16px !important; }
    .pk-ca2-wrapper .ca2-eco-hint span { text-align: center !important; }
    .pk-ca2-wrapper .ca2-eco-hint i { width: 2px !important; height: 26px !important; background: linear-gradient(180deg, transparent, var(--ca2-red)) !important; animation: ca2-nudge-v 1.6s ease-in-out infinite !important; }
    .pk-ca2-wrapper .ca2-eco-hint i::after { right: -4px !important; top: auto !important; bottom: 0 !important; transform: rotate(135deg) !important; }
    .pk-ca2-wrapper .ca2-eco.is-touched .ca2-eco-hint { display: none !important; }
}
@keyframes ca2-nudge-v { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(6px); } }
@media (max-width: 600px) {
    .pk-ca2-wrapper .ca2-stage { aspect-ratio: 2 / 1 !important; }
    .pk-ca2-wrapper .ca2-stage.has-m { aspect-ratio: 4 / 5 !important; }
    .pk-ca2-wrapper .ca2-stage.has-m .ca2-photo-d { display: none !important; }
    .pk-ca2-wrapper .ca2-stage.has-m .ca2-photo-m { display: block !important; }
}
@media (max-width: 968px) { .pk-ca2-wrapper .ca2-eco-hint { order: -2 !important; } }

/* ================= DRIVING EXPERIENCES · schermata app PKMap ================= */
.pkde { --de-c: #ff4444; position: relative !important; display: flex !important; flex-direction: column !important; width: 100% !important; height: 100% !important; padding: 44px 12px 10px !important; overflow: hidden !important; text-align: center !important;
    background: radial-gradient(ellipse at 50% 18%, #3a3a3e 0%, #1d1d20 45%, #0e0e10 100%) !important; color: #fff !important; font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important; box-sizing: border-box !important; }
.pkde *, .pkde *::before, .pkde *::after { box-sizing: border-box !important; font-family: inherit !important; }
.pkde svg { width: 100% !important; height: 100% !important; display: block !important; }
.pkde svg.is-fill { fill: currentColor !important; stroke: none !important; }
.pkde svg.is-line { fill: none !important; stroke: currentColor !important; stroke-width: 2.2 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }
.pkde button { margin: 0 !important; -webkit-tap-highlight-color: transparent !important; text-transform: none !important; letter-spacing: normal !important; line-height: normal !important; }

.pkde-head { flex: 0 0 auto !important; transition: opacity .35s ease, filter .35s ease !important; }
.pkde-logo { display: block !important; width: 76% !important; height: auto !important; max-height: 96px !important; margin: 6px auto 12px !important; object-fit: contain !important; }
.pkde-logo-txt { display: block !important; margin: 6px auto 12px !important; font-size: 3.4rem !important; font-weight: 900 !important; font-style: italic !important; letter-spacing: -1px !important; line-height: 1.1 !important; color: #e8262b !important; }
.pkde-logo-txt b { color: #3b5bd6 !important; font-weight: 400 !important; }
.pkde-dots { display: flex !important; justify-content: center !important; gap: 5px !important; margin-bottom: 8px !important; }
.pkde-dots i { width: 6px !important; height: 6px !important; border-radius: 3px !important; background: #5a5a60 !important; }
.pkde-dots i.on { width: 18px !important; background: #fff !important; }
.pkde-title { font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace !important; font-size: 1.5rem !important; font-weight: 800 !important; letter-spacing: 3px !important; line-height: 1.2 !important; color: #fff !important; }
.pkde-sub { font-size: 1.4rem !important; line-height: 1.3 !important; color: #a9a9ae !important; margin: 4px 0 10px !important; }

.pkde-grid { flex: 0 0 auto !important; display: grid !important; grid-template-columns: 1fr 1fr !important; grid-auto-rows: auto !important; gap: 8px !important; margin: 24px 0 0 !important; transition: opacity .35s ease, filter .35s ease !important; }
.pkde-card { position: relative !important; display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: space-between !important; gap: 4px !important; min-height: 0 !important; aspect-ratio: 1.1 / 1 !important; padding: 12px 6px 10px !important; border-radius: 16px !important; cursor: pointer !important;
    background: #050506 !important; border: 1.5px solid rgba(255,255,255,0.12) !important; color: #fff !important; transition: border-color .35s ease, box-shadow .35s ease, background .35s ease, transform .15s ease !important; }
.pkde-card:active { transform: scale(.97) !important; }
.pkde-card.is-on { border: 2px solid var(--c) !important; background: radial-gradient(ellipse at 50% 30%, color-mix(in srgb, var(--c) 30%, #0a0a0a) 0%, color-mix(in srgb, var(--c) 10%, #050505) 70%) !important;
    box-shadow: 0 0 22px color-mix(in srgb, var(--c) 55%, transparent), inset 0 0 18px color-mix(in srgb, var(--c) 25%, transparent) !important; }
.pkde-card.is-pulse { animation: pkde-pulse .5s ease !important; }
@keyframes pkde-pulse { 0%, 100% { transform: scale(1); } 40% { transform: scale(1.04); } }
.pkde-ic { display: flex !important; align-items: center !important; justify-content: center !important; flex: 0 0 auto !important; width: 44px !important; height: 44px !important; padding: 10px !important; border-radius: 50% !important;
    background: color-mix(in srgb, var(--c) 28%, #000) !important; color: var(--c) !important; transition: background .35s ease, color .35s ease, box-shadow .35s ease !important; }
.pkde-card.is-on .pkde-ic, .pkde-ori.is-on .pkde-ic { background: var(--c) !important; color: #fff !important; box-shadow: 0 0 16px color-mix(in srgb, var(--c) 70%, transparent) !important; }
.pkde-name { display: block !important; font-size: 1.4rem !important; font-weight: 800 !important; line-height: 1.15 !important; letter-spacing: 0 !important; color: #fff !important; text-transform: uppercase !important; }
.pkde-st { display: inline-flex !important; align-items: center !important; gap: 5px !important; font-size: 1.1rem !important; font-weight: 500 !important; letter-spacing: 0.02em !important; line-height: 1 !important; color: #b9b9be !important; white-space: nowrap !important; }
.pkde-st i { width: 6px !important; height: 6px !important; border-radius: 50% !important; background: var(--c) !important; }
.pkde-st em { font-style: normal !important; }
.pkde-card.is-on .pkde-st { color: #fff !important; }
.pkde-card.is-on .pkde-st i { background: #fff !important; }
.pkde-more { position: absolute !important; top: 6px !important; right: 6px !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 2px !important; width: 22px !important; height: 22px !important; border-radius: 50% !important; background: rgba(255,255,255,0.08) !important; border: 1px solid rgba(255,255,255,0.14) !important; }
.pkde-more i { width: 3px !important; height: 3px !important; border-radius: 50% !important; background: #fff !important; }
.pkde-gear { position: absolute !important; top: 6px !important; right: 31px !important; width: 22px !important; height: 22px !important; padding: 4px !important; border-radius: 50% !important; background: rgba(255,255,255,0.12) !important; color: #fff !important; }

.pkde-ori { position: relative !important; flex: 0 0 auto !important; display: flex !important; align-items: center !important; gap: 10px !important; margin-top: 0 !important; margin-bottom: auto !important; padding: 10px 40px 10px 10px !important; border-radius: 16px !important; cursor: pointer !important; text-align: left !important;
    background: #050506 !important; border: 1.5px solid rgba(255,255,255,0.12) !important; color: #fff !important; transition: border-color .35s ease, box-shadow .35s ease !important; }
.pkde-ori .pkde-ic { width: 38px !important; height: 38px !important; padding: 9px !important; }
.pkde-ori.is-on { border: 2px solid var(--c) !important; box-shadow: 0 0 22px color-mix(in srgb, var(--c) 50%, transparent) !important; }
.pkde-ori-txt { display: flex !important; flex-direction: column !important; min-width: 0 !important; }
.pkde-ori-txt b { font-size: 1.4rem !important; font-weight: 800 !important; line-height: 1.2 !important; color: #fff !important; }
.pkde-ori-txt small { font-size: 1.4rem !important; line-height: 1.25 !important; color: #a9a9ae !important; }
.pkde-ori .pkde-more { top: 50% !important; right: 10px !important; transform: translateY(-50%) !important; }
.pkde-set { flex: 0 0 auto !important; display: flex !important; align-items: center !important; justify-content: center !important; width: 46px !important; height: 46px !important; margin: 14px auto 0 !important; padding: 12px !important; border-radius: 50% !important; background: #2c2c30 !important; border: 1px solid rgba(255,255,255,0.12) !important; color: #fff !important; }
.pkde-home { flex: 0 0 auto !important; margin-top: auto !important; padding-top: 8px !important; font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace !important; font-size: 1.4rem !important; letter-spacing: 3px !important; color: #77777d !important; }

/* applicazione in corso */
.pkde.is-busy .pkde-head, .pkde.is-busy .pkde-grid, .pkde.is-busy .pkde-set, .pkde.is-busy .pkde-home { opacity: .22 !important; filter: blur(1px) !important; }
.pkde-modal { --c: var(--mc, #ff4444); position: absolute !important; inset: 0 !important; z-index: 5 !important; display: flex !important; align-items: center !important; justify-content: center !important; padding: 10px !important; background: rgba(0,0,0,0.45) !important; opacity: 0 !important; visibility: hidden !important; transition: opacity .3s ease, visibility .3s ease !important; }
.pkde-modal.is-open { opacity: 1 !important; visibility: visible !important; }
.pkde-modal.is-done { --c: #39d353; }
.pkde-box { width: 100% !important; padding: 12px 12px 14px !important; border-radius: 18px !important; background: color-mix(in srgb, var(--c) 7%, #0b0b0c) !important; border: 2px solid var(--c) !important;
    box-shadow: 0 0 30px color-mix(in srgb, var(--c) 45%, transparent) !important; transform: scale(.94) !important; transition: transform .3s ease, border-color .4s ease, box-shadow .4s ease, background .4s ease !important; }
.pkde-modal.is-open .pkde-box { transform: scale(1) !important; }
.pkde-box-top { display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace !important; font-size: 1.4rem !important; letter-spacing: 1px !important; line-height: 1.25 !important; color: #b9b9be !important; text-align: left !important; }
.pkde-box-top b { color: var(--c) !important; font-weight: 800 !important; transition: color .4s ease !important; }
.pkde-box-mi { flex: 0 0 14px !important; width: 14px !important; height: 14px !important; color: #fff !important; }
.pkde-box-ic { position: relative !important; width: 58px !important; height: 58px !important; margin: 12px auto 10px !important; border-radius: 50% !important; border: 2px solid var(--c) !important; background: color-mix(in srgb, var(--c) 20%, #000) !important; color: var(--c) !important;
    box-shadow: 0 0 20px color-mix(in srgb, var(--c) 50%, transparent) !important; transition: border-color .4s ease, color .4s ease, background .4s ease !important; }
.pkde-modal.is-open:not(.is-done) .pkde-box-ic { animation: pkde-ring 1.3s ease-out infinite !important; }
@keyframes pkde-ring { 0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--c) 55%, transparent); } 100% { box-shadow: 0 0 0 14px transparent; } }
.pkde-box-ant, .pkde-box-ok { position: absolute !important; inset: 14px !important; transition: opacity .3s ease, transform .3s ease !important; }
.pkde-box-ok { opacity: 0 !important; transform: scale(.5) !important; }
.pkde-modal.is-done .pkde-box-ant { opacity: 0 !important; }
.pkde-modal.is-done .pkde-box-ok { opacity: 1 !important; transform: scale(1) !important; }
.pkde-box-h { font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace !important; font-size: 1.5rem !important; font-weight: 800 !important; letter-spacing: 2px !important; line-height: 1.2 !important; color: var(--c) !important; margin-bottom: 10px !important; transition: color .4s ease !important; }
.pkde-list { display: flex !important; flex-direction: column !important; gap: 6px !important; }
.pkde-it { display: flex !important; align-items: center !important; gap: 10px !important; padding: 8px 10px !important; border-radius: 10px !important; background: rgba(255,255,255,0.04) !important; border: 1px solid rgba(255,255,255,0.14) !important; text-align: left !important; transition: border-color .3s ease, background .3s ease !important; }
.pkde-it.is-ok { border-color: rgba(57,211,83,0.45) !important; background: rgba(57,211,83,0.06) !important; }
.pkde-it-ic { flex: 0 0 20px !important; width: 20px !important; height: 20px !important; color: #8a8a90 !important; }
.pkde-it.is-conn .pkde-it-ic { color: #fff !important; }
.pkde-it.is-ok .pkde-it-ic { padding: 3px !important; border-radius: 50% !important; background: #39d353 !important; color: #0a0a0a !important; }
.pkde-it.is-ok .pkde-it-ic svg { stroke-width: 3.2 !important; }
.pkde-spin { animation: pkde-spin 1s linear infinite !important; }
@keyframes pkde-spin { to { transform: rotate(360deg); } }
.pkde-it-txt { display: flex !important; flex-direction: column !important; min-width: 0 !important; }
.pkde-it-txt b { font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace !important; font-size: 1.4rem !important; font-weight: 800 !important; letter-spacing: 1px !important; line-height: 1.2 !important; color: #fff !important; white-space: nowrap !important; }
.pkde-it-txt small { font-size: 1.4rem !important; line-height: 1.2 !important; color: #a9a9ae !important; }
.pkde-okbtn { display: none !important; align-items: center !important; justify-content: center !important; gap: 8px !important; width: 100% !important; margin-top: 10px !important; padding: 10px !important; border: none !important; border-radius: 12px !important; cursor: pointer !important;
    background: linear-gradient(180deg, #4be35f, #26b83c) !important; color: #fff !important; font-family: ui-monospace, 'SF Mono', Menlo, Consolas, monospace !important; font-size: 1.5rem !important; font-weight: 800 !important; letter-spacing: 2px !important; box-shadow: 0 0 18px rgba(57,211,83,0.5) !important; }
.pkde-okbtn svg { width: 18px !important; height: 18px !important; }
.pkde-modal.is-done .pkde-okbtn { display: flex !important; animation: pkde-in .3s ease !important; }
@keyframes pkde-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.pkde-tpl-icons { display: none !important; }
@media (prefers-reduced-motion: reduce) {
    .pkde *, .pkde { animation: none !important; transition: none !important; }
}

/* centraline aggiuntive: schermata Driving Experiences dentro l'iPhone */
.pk-ca2-wrapper .ca2-de { padding: 0 !important; display: block !important; position: relative !important; }
.pk-ca2-wrapper .ca2-de .pkde { border-radius: 39px !important; padding-top: 50px !important; }
.pk-ca2-wrapper .ca2-eco-phone::before { z-index: 6 !important; }
.pk-ca2-wrapper .ca2-eco-phone { aspect-ratio: 9 / 18 !important; }

/* ecosistema: effetto swish sulla foto al cambio modalità (come in home) */
.pk-ca2-wrapper .ca2-eco-sweep { position: absolute !important; inset: 0 !important; z-index: 2 !important; border-radius: 30px !important; overflow: hidden !important; pointer-events: none !important; }
.pk-ca2-wrapper .ca2-eco-sweep::before { content: '' !important; position: absolute !important; inset: 0 !important; background: linear-gradient(100deg, transparent 30%, color-mix(in srgb, var(--sw, #ff4444) 45%, transparent) 50%, transparent 70%) !important; transform: translateX(-110%) !important; opacity: 0 !important; }
.pk-ca2-wrapper .ca2-stage.is-sweep .ca2-eco-sweep::before { animation: ca2-sweep .9s ease-out !important; }
@media (max-width: 600px) { .pk-ca2-wrapper .ca2-eco-sweep { border-radius: 22px !important; } }
@keyframes ca2-sweep { 0% { transform: translateX(-110%); opacity: 1; } 100% { transform: translateX(110%); opacity: 0; } }

/* ================= HERO v2 (stile banco prova) ================= */
.pk-ca2-wrapper .ca2x-hero { --ca2x-red: #ff4444; --ca2x-border: rgba(255,255,255,0.08); --mono: var(--ca2-mono); position: relative !important; padding: 150px 0 90px !important; overflow: hidden !important; background: #000 !important; text-align: center !important; }
.pk-ca2-wrapper .ca2x-hero-bg { position: absolute !important; inset: 0 !important; z-index: 0 !important; }
.pk-ca2-wrapper .ca2x-hero-img { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; filter: grayscale(0.5) contrast(1.1) !important; opacity: 0.4 !important; }
.pk-ca2-wrapper .ca2x-hero::before { content: '' !important; position: absolute !important; inset: 0 !important; z-index: 1 !important;
    background: radial-gradient(ellipse at 50% 35%, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.85) 65%, #000 100%), linear-gradient(0deg, #0a0a0a 0%, rgba(10,10,10,0) 30%) !important; }
.pk-ca2-wrapper .ca2x-hero-grid { position: absolute !important; inset: 0 !important; z-index: 1 !important; pointer-events: none !important;
    background-image: linear-gradient(rgba(255,68,68,0.07) 1px, transparent 1px), linear-gradient(90deg, rgba(255,68,68,0.07) 1px, transparent 1px) !important; background-size: 60px 60px !important;
    -webkit-mask-image: radial-gradient(ellipse at 50% 40%, #000 0%, transparent 70%) !important; mask-image: radial-gradient(ellipse at 50% 40%, #000 0%, transparent 70%) !important; }
.pk-ca2-wrapper .ca2x-hero-inner { position: relative !important; z-index: 2 !important; display: flex !important; flex-direction: column !important; align-items: center !important; }
.pk-ca2-wrapper .ca2x-tag { display: inline-flex !important; align-items: center !important; gap: 10px !important; padding: 8px 20px !important; border-radius: 30px !important; margin-bottom: 28px !important; background: rgba(255,68,68,0.08) !important; border: 1px solid rgba(255,68,68,0.4) !important; color: var(--ca2x-red) !important; font-family: var(--mono) !important; font-size: 1.4rem !important; font-weight: 700 !important; letter-spacing: 3px !important; }
.pk-ca2-wrapper .ca2x-led { display: inline-block !important; width: 10px !important; height: 10px !important; border-radius: 50% !important; background: var(--ca2x-red) !important; box-shadow: 0 0 10px var(--ca2x-red) !important; animation: ca2x-blink 1.6s ease-in-out infinite !important; }
@keyframes ca2x-blink { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } }
.pk-ca2-wrapper .ca2x-hero h1 { display: flex !important; flex-direction: column !important; align-items: center !important; margin: 0 0 28px !important; line-height: 0.95 !important; }
.pk-ca2-wrapper .ca2x-h1-a { font-size: 7rem !important; font-weight: 900 !important; letter-spacing: -2px !important; color: #fff !important; }
.pk-ca2-wrapper .ca2x-h1-b { font-size: 7rem !important; font-weight: 900 !important; letter-spacing: -2px !important; color: transparent !important; -webkit-text-stroke: 2px var(--ca2x-red) !important; text-shadow: 0 0 40px rgba(255,68,68,0.35) !important; }
.pk-ca2-wrapper .ca2x-lead { font-size: 1.9rem !important; line-height: 1.6 !important; color: #e6e6e6 !important; margin: 0 auto 36px !important; max-width: 820px !important; }
.pk-ca2-wrapper .ca2x-cta { display: flex !important; flex-wrap: wrap !important; justify-content: center !important; gap: 14px !important; }

/* pannello dyno run: grafico a sinistra, auto a destra */
.pk-ca2-wrapper .ca2x-run { --rc: #ff5a3c; width: 100% !important; max-width: 1160px !important; margin-top: 70px !important; text-align: left !important; border-radius: 24px !important; overflow: hidden !important;
    background: rgba(8,8,10,0.82) !important; backdrop-filter: blur(14px) !important; -webkit-backdrop-filter: blur(14px) !important; border: 1px solid color-mix(in srgb, var(--rc) 45%, transparent) !important;
    box-shadow: 0 0 80px color-mix(in srgb, var(--rc) 16%, transparent), 0 40px 80px rgba(0,0,0,0.6) !important; transition: border-color .6s ease, box-shadow .6s ease !important; }
.pk-ca2-wrapper .ca2x-run-top { display: flex !important; align-items: center !important; gap: 18px !important; flex-wrap: wrap !important; padding: 14px 24px !important; border-bottom: 1px solid var(--ca2x-border) !important; font-family: var(--mono) !important; font-size: 1.4rem !important; letter-spacing: 2px !important; }
.pk-ca2-wrapper .ca2x-run-status { display: flex !important; align-items: center !important; gap: 10px !important; color: var(--ca2x-red) !important; }
.pk-ca2-wrapper .ca2x-run-status b { font-weight: 800 !important; color: var(--ca2x-red) !important; }
.pk-ca2-wrapper .ca2x-run.is-done .ca2x-run-status b { color: #6cf25a !important; }
.pk-ca2-wrapper .ca2x-run.is-done .ca2x-run-status .ca2x-led { background: #6cf25a !important; box-shadow: 0 0 10px #6cf25a !important; }
.pk-ca2-wrapper .ca2x-run-car { display: flex !important; align-items: center !important; gap: 12px !important; color: #a8a8ae !important; margin-left: auto !important; }
.pk-ca2-wrapper .ca2x-run-car em { font-style: normal !important; padding: 4px 10px !important; border-radius: 7px !important; background: color-mix(in srgb, var(--rc) 20%, transparent) !important; border: 1px solid var(--rc) !important; color: #fff !important; font-weight: 800 !important; transition: all .5s ease !important; }
.pk-ca2-wrapper .ca2x-run-dots { display: flex !important; gap: 6px !important; }
.pk-ca2-wrapper .ca2x-run-dots i { width: 8px !important; height: 8px !important; border-radius: 4px !important; background: rgba(255,255,255,0.2) !important; transition: all .4s ease !important; }
.pk-ca2-wrapper .ca2x-run-dots i.on { width: 22px !important; background: var(--rc) !important; }
.pk-ca2-wrapper .ca2x-run-body { display: grid !important; grid-template-columns: 1.15fr 1fr !important; min-height: 360px !important; }
.pk-ca2-wrapper .ca2x-run-chart { position: relative !important; padding: 16px 16px 14px !important; border-right: 1px solid var(--ca2x-border) !important; }
.pk-ca2-wrapper .ca2x-plot { position: relative !important; padding: 28px 48px 30px !important; }
.pk-ca2-wrapper .ca2x-plot svg { position: relative !important; z-index: 1 !important; display: block !important; width: 100% !important; height: 260px !important; overflow: visible !important; }
.pk-ca2-wrapper .ca2x-g { stroke: rgba(255,255,255,0.06) !important; stroke-width: 1 !important; }
.pk-ca2-wrapper .ca2x-cv { fill: none !important; stroke: var(--rc) !important; stroke-width: 3.5 !important; stroke-linejoin: round !important; stroke-linecap: round !important; filter: drop-shadow(0 0 8px color-mix(in srgb, var(--rc) 75%, transparent)) !important; }
.pk-ca2-wrapper .ca2x-nm { fill: none !important; stroke: #fff !important; stroke-width: 2 !important; opacity: .8 !important; stroke-linejoin: round !important; }
.pk-ca2-wrapper .ca2x-ori { fill: none !important; stroke: rgba(255,255,255,0.35) !important; stroke-width: 2 !important; stroke-dasharray: 6 6 !important; }
.pk-ca2-wrapper .ca2x-ori.is-nm { stroke: rgba(255,255,255,0.18) !important; }
.pk-ca2-wrapper .ca2x-area { stroke: none !important; }
.pk-ca2-wrapper .ca2x-needle { stroke: rgba(255,255,255,0.35) !important; stroke-width: 1 !important; stroke-dasharray: 4 4 !important; }
.pk-ca2-wrapper .ca2x-dot { fill: #fff !important; stroke: var(--rc) !important; stroke-width: 3 !important; }
.pk-ca2-wrapper .ca2x-yax { position: absolute !important; top: 28px !important; width: 42px !important; height: 260px !important; z-index: 1 !important; }
.pk-ca2-wrapper .ca2x-yax.is-l { left: 0 !important; text-align: right !important; }
.pk-ca2-wrapper .ca2x-yax.is-r { right: 0 !important; text-align: left !important; }
.pk-ca2-wrapper .ca2x-yax span { position: absolute !important; left: 0 !important; right: 0 !important; transform: translateY(-50%) !important; font-family: var(--mono) !important; font-size: 1.4rem !important; color: #77777d !important; }
.pk-ca2-wrapper .ca2x-yax.is-l span { color: color-mix(in srgb, var(--rc) 65%, #666) !important; }
.pk-ca2-wrapper .ca2x-yax em { position: absolute !important; top: -26px !important; left: 0 !important; right: 0 !important; font-style: normal !important; font-family: var(--mono) !important; font-size: 1.4rem !important; font-weight: 800 !important; color: #fff !important; }
.pk-ca2-wrapper .ca2x-yax.is-l em { color: var(--rc) !important; }
.pk-ca2-wrapper .ca2x-xax { position: absolute !important; left: 48px !important; right: 48px !important; bottom: 4px !important; height: 22px !important; }
.pk-ca2-wrapper .ca2x-xax span { position: absolute !important; transform: translateX(-50%) !important; font-family: var(--mono) !important; font-size: 1.4rem !important; color: #77777d !important; }
.pk-ca2-wrapper .ca2x-xax em { position: absolute !important; right: 0 !important; top: -24px !important; font-style: normal !important; font-family: var(--mono) !important; font-size: 1.4rem !important; letter-spacing: 2px !important; color: #77777d !important; }
.pk-ca2-wrapper .ca2x-wm { position: absolute !important; left: 48px !important; top: 28px !important; width: calc(100% - 96px) !important; height: 260px !important; object-fit: contain !important; padding: 70px 22% !important; opacity: 0.07 !important; z-index: 0 !important; pointer-events: none !important; }
.pk-ca2-wrapper .ca2x-legend { display: flex !important; flex-wrap: wrap !important; gap: 8px 20px !important; margin-top: 8px !important; padding: 0 8px !important; font-family: var(--mono) !important; font-size: 1.4rem !important; font-weight: 700 !important; letter-spacing: 1px !important; color: #ccc !important; }
.pk-ca2-wrapper .ca2x-legend span { display: inline-flex !important; align-items: center !important; gap: 8px !important; }
.pk-ca2-wrapper .ca2x-legend b { color: var(--rc) !important; font-weight: 800 !important; }
.pk-ca2-wrapper .ca2x-legend i { width: 22px !important; height: 3px !important; border-radius: 2px !important; }
.pk-ca2-wrapper .ca2x-legend i.is-mod { background: var(--rc) !important; box-shadow: 0 0 8px var(--rc) !important; }
.pk-ca2-wrapper .ca2x-legend i.is-nm { background: rgba(255,255,255,0.8) !important; height: 2px !important; }
.pk-ca2-wrapper .ca2x-legend i.is-ori { background: repeating-linear-gradient(90deg, rgba(255,255,255,0.45) 0 5px, transparent 5px 9px) !important; }

.pk-ca2-wrapper .ca2x-run-car-photo { position: relative !important; overflow: hidden !important; background: radial-gradient(ellipse at 60% 50%, #1b1b1f 0%, #070708 75%) !important; }
.pk-ca2-wrapper .ca2x-photo i { position: absolute !important; inset: 0 !important; background-size: cover !important; background-position: center !important; opacity: 0 !important; transform: scale(1.06) !important; transition: opacity .9s ease, transform 6s ease !important; }
.pk-ca2-wrapper .ca2x-photo i.on { opacity: 1 !important; transform: scale(1) !important; }
.pk-ca2-wrapper .ca2x-run-car-photo::after { content: '' !important; position: absolute !important; inset: 0 !important; z-index: 1 !important; pointer-events: none !important;
    background: linear-gradient(90deg, rgba(8,8,10,0.85) 0%, rgba(8,8,10,0.15) 35%, rgba(8,8,10,0) 60%), linear-gradient(0deg, rgba(8,8,10,0.92) 0%, rgba(8,8,10,0) 45%) !important; }
.pk-ca2-wrapper .ca2x-prod { position: absolute !important; z-index: 2 !important; right: 4% !important; bottom: 0 !important; width: 36% !important; height: 78% !important; display: flex !important; align-items: flex-end !important; justify-content: center !important; pointer-events: none !important; }
.pk-ca2-wrapper .ca2x-prod img { max-width: 100% !important; max-height: 100% !important; object-fit: contain !important; object-position: bottom !important; filter: drop-shadow(0 14px 30px rgba(0,0,0,0.7)) !important; opacity: 0; transform: translateY(14px); }
.pk-ca2-wrapper .ca2x-prod img[src=""] { display: none !important; }
.pk-ca2-wrapper .ca2x-prod img.on { animation: ca2x-prod-in .8s ease forwards !important; }
@keyframes ca2x-prod-in { to { opacity: 1; transform: none; } }
.pk-ca2-wrapper .ca2x-read { position: absolute !important; z-index: 3 !important; left: 16px !important; bottom: 16px !important; right: 40% !important; display: flex !important; flex-direction: row !important; gap: 8px !important; }
.pk-ca2-wrapper .ca2x-read > div { flex: 1 1 0 !important; display: flex !important; align-items: baseline !important; gap: 6px !important; flex-wrap: wrap !important; min-width: 0 !important; padding: 8px 14px !important; border-radius: 12px !important; background: rgba(0,0,0,0.62) !important; border: 1px solid rgba(255,255,255,0.1) !important; backdrop-filter: blur(8px) !important; -webkit-backdrop-filter: blur(8px) !important; }
.pk-ca2-wrapper .ca2x-read small { flex: 0 0 100% !important; font-family: var(--mono) !important; font-size: 1.4rem !important; letter-spacing: 2px !important; color: #8a8a90 !important; }
.pk-ca2-wrapper .ca2x-read strong { font-family: var(--mono) !important; font-size: 2.2rem !important; font-weight: 800 !important; line-height: 1 !important; color: #fff !important; font-variant-numeric: tabular-nums !important; }
.pk-ca2-wrapper .ca2x-read em { font-style: normal !important; font-family: var(--mono) !important; font-size: 1.4rem !important; color: #ccc !important; }
.pk-ca2-wrapper .ca2x-read .is-cv strong { color: var(--rc) !important; text-shadow: 0 0 18px color-mix(in srgb, var(--rc) 55%, transparent) !important; }
.pk-ca2-wrapper .ca2x-run-specs { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; border-top: 1px solid var(--ca2x-border) !important; }
.pk-ca2-wrapper .ca2x-run-specs > div { padding: 16px 20px !important; border-right: 1px solid var(--ca2x-border) !important; font-family: var(--mono) !important; font-size: 1.4rem !important; font-weight: 700 !important; color: #fff !important; }
.pk-ca2-wrapper .ca2x-run-specs > div:last-child { border-right: none !important; }
.pk-ca2-wrapper .ca2x-run-specs strong { font-family: var(--mono) !important; font-size: 2.2rem !important; font-weight: 800 !important; color: #fff !important; }
.pk-ca2-wrapper .ca2x-run-specs .is-cv strong { color: var(--rc) !important; }
.pk-ca2-wrapper .ca2x-run-specs span { display: block !important; margin-top: 2px !important; font-size: 1.4rem !important; font-weight: 400 !important; color: #808086 !important; }
.pk-ca2-wrapper .ca2x-run-note { display: flex !important; align-items: flex-start !important; gap: 14px !important; padding: 14px 24px !important; border-top: 1px solid var(--ca2x-border) !important; background: rgba(255,255,255,0.02) !important; }
.pk-ca2-wrapper .ca2x-run-note svg { flex: 0 0 22px !important; width: 22px !important; height: 22px !important; margin-top: 2px !important; color: var(--ca2x-red) !important; }
.pk-ca2-wrapper .ca2x-run-note p { margin: 0 !important; font-size: 1.4rem !important; line-height: 1.55 !important; color: #a8a8ae !important; }
.pk-ca2-wrapper .ca2x-run-note b { color: #fff !important; }

@media (max-width: 968px) {
    .pk-ca2-wrapper .ca2x-hero { padding: 110px 0 60px !important; }
    .pk-ca2-wrapper .ca2x-h1-a, .pk-ca2-wrapper .ca2x-h1-b { font-size: 4.4rem !important; letter-spacing: -1px !important; }
    .pk-ca2-wrapper .ca2x-h1-b { -webkit-text-stroke-width: 1.5px !important; }
    .pk-ca2-wrapper .ca2x-lead { font-size: 1.7rem !important; }
    .pk-ca2-wrapper .ca2x-run { margin-top: 45px !important; }
    .pk-ca2-wrapper .ca2x-run-body { grid-template-columns: 1fr !important; }
    .pk-ca2-wrapper .ca2x-run-car-photo { order: -1 !important; height: 300px !important; }
    .pk-ca2-wrapper .ca2x-run-chart { border-right: none !important; border-top: 1px solid var(--ca2x-border) !important; }
    .pk-ca2-wrapper .ca2x-plot { padding: 28px 40px 30px !important; }
    .pk-ca2-wrapper .ca2x-plot svg, .pk-ca2-wrapper .ca2x-yax, .pk-ca2-wrapper .ca2x-wm { height: 180px !important; }
    .pk-ca2-wrapper .ca2x-yax { width: 36px !important; }
    .pk-ca2-wrapper .ca2x-xax { left: 40px !important; right: 40px !important; }
    .pk-ca2-wrapper .ca2x-wm { left: 40px !important; width: calc(100% - 80px) !important; padding: 40px 22% !important; }
    .pk-ca2-wrapper .ca2x-run-specs { grid-template-columns: 1fr 1fr !important; }
    .pk-ca2-wrapper .ca2x-run-specs > div:nth-child(2) { border-right: none !important; }
    .pk-ca2-wrapper .ca2x-run-specs > div:nth-child(-n+2) { border-bottom: 1px solid var(--ca2x-border) !important; }
}
@media (max-width: 600px) {
    .pk-ca2-wrapper .ca2x-h1-a, .pk-ca2-wrapper .ca2x-h1-b { font-size: 3.4rem !important; }
    .pk-ca2-wrapper .ca2x-tag { letter-spacing: 1.5px !important; padding: 8px 14px !important; }
    .pk-ca2-wrapper .ca2x-cta { flex-direction: column !important; width: 100% !important; }
    .pk-ca2-wrapper .ca2x-cta .ca2-btn { width: 100% !important; }
    .pk-ca2-wrapper .ca2x-run-top { padding: 12px 14px !important; gap: 10px !important; letter-spacing: 1px !important; }
    .pk-ca2-wrapper .ca2x-run-car { margin-left: 0 !important; flex: 1 1 100% !important; order: 3 !important; }
    .pk-ca2-wrapper .ca2x-run-dots { margin-left: auto !important; }
    .pk-ca2-wrapper .ca2x-run-car-photo { height: 240px !important; }
    .pk-ca2-wrapper .ca2x-read { left: 10px !important; bottom: 10px !important; right: 42% !important; gap: 6px !important; }
    .pk-ca2-wrapper .ca2x-read > div { min-width: 0 !important; padding: 6px 10px !important; }
    .pk-ca2-wrapper .ca2x-read strong { font-size: 2rem !important; }
    .pk-ca2-wrapper .ca2x-read > div:first-child { display: none !important; }
    .pk-ca2-wrapper .ca2x-run-chart { padding: 12px 4px 12px !important; }
    .pk-ca2-wrapper .ca2x-run-specs > div { padding: 14px 12px !important; }
    .pk-ca2-wrapper .ca2x-run-specs strong { font-size: 1.8rem !important; }
}
@media (prefers-reduced-motion: reduce) {
    .pk-ca2-wrapper .ca2x-led { animation: none !important; }
}

/* ================= CONFRONTA LE SOLUZIONI · intestazioni a schede ================= */
.pk-ca2-wrapper .ca2-cmp-wrap { border-radius: 24px !important; border: 1px solid #2a2a2c !important; background: rgba(8,8,10,0.9) !important; }
.pk-ca2-wrapper .ca2-cmp { min-width: 820px !important; table-layout: fixed !important; }
.pk-ca2-wrapper .ca2-cmp thead th:first-child { width: 26% !important; border-bottom: 1px solid #1a1a1c !important; }
.pk-ca2-wrapper .ca2-cmp thead th.ca2-cmp-head { position: relative !important; padding: 0 !important; vertical-align: bottom !important; border-bottom: 1px solid #1a1a1c !important; border-left: 1px solid #1a1a1c !important; }
.pk-ca2-wrapper .ca2-cmp-head::before { content: '' !important; position: absolute !important; top: 0 !important; left: 0 !important; right: 0 !important; height: 3px !important; background: var(--c) !important; box-shadow: 0 0 14px var(--c) !important; }
.pk-ca2-wrapper .ca2-cmp-card { display: flex !important; flex-direction: column !important; align-items: flex-start !important; padding: 18px 18px 16px !important; text-align: left !important; text-decoration: none !important; color: #fff !important; transition: background .3s ease !important; }
.pk-ca2-wrapper .ca2-cmp-card:hover { background: color-mix(in srgb, var(--c) 8%, transparent) !important; }
.pk-ca2-wrapper .ca2-cmp-img { display: flex !important; align-items: center !important; justify-content: center !important; width: 100% !important; height: 100px !important; margin-bottom: 10px !important; background: radial-gradient(circle at 50% 60%, color-mix(in srgb, var(--c) 20%, transparent) 0%, transparent 65%) !important; }
.pk-ca2-wrapper .ca2-cmp-img img { max-width: 100% !important; max-height: 100% !important; object-fit: contain !important; filter: drop-shadow(0 12px 20px rgba(0,0,0,0.6)) !important; transition: transform .4s ease !important; }
.pk-ca2-wrapper .ca2-cmp-card:hover .ca2-cmp-img img { transform: scale(1.06) !important; }
.pk-ca2-wrapper .ca2-cmp-img .ca2-ph { min-height: 0 !important; height: 100% !important; padding: 6px !important; }
.pk-ca2-wrapper .ca2-cmp-tag { font-family: var(--ca2-mono) !important; font-size: 1.4rem !important; font-weight: 800 !important; letter-spacing: 1px !important; color: var(--c) !important; line-height: 1.3 !important; }
.pk-ca2-wrapper .ca2-cmp-card strong { font-family: inherit !important; font-size: 2rem !important; font-weight: 900 !important; letter-spacing: 0 !important; line-height: 1.15 !important; color: #fff !important; margin-top: 2px !important; }
.pk-ca2-wrapper .ca2-cmp tbody td:not(:first-child) { border-left: 1px solid #1a1a1c !important; }
.pk-ca2-wrapper .ca2-cmp td.is-yes svg { width: 26px !important; height: 26px !important; padding: 4px !important; border-radius: 50% !important; background: color-mix(in srgb, var(--c) 18%, transparent) !important; }
.pk-ca2-wrapper .ca2-cmp-go a { background: color-mix(in srgb, var(--c) 10%, transparent) !important; }

/* ================= ECOSISTEMA MOBILE: stessa logica della home ================= */
.pk-ca2-wrapper .ca2-eco-read { display: none !important; }
@media (max-width: 900px) {
    .pk-ca2-wrapper .ca2-stage, .pk-ca2-wrapper .ca2-stage.has-m { border-radius: 18px 18px 0 0 !important; border-bottom: none !important; }
    .pk-ca2-wrapper .ca2-stage-img, .pk-ca2-wrapper .ca2-stage-img .ca2-ph, .pk-ca2-wrapper .ca2-eco-sweep { border-radius: 18px 18px 0 0 !important; }
    .pk-ca2-wrapper .ca2-spot-tag { display: none !important; }
    .pk-ca2-wrapper .ca2-eco-read { display: grid !important; grid-template-columns: repeat(var(--n, 3), 1fr) !important; background: #0c0c0e !important; border-left: 1px solid #1f1f22 !important; border-right: 1px solid #1f1f22 !important; }
    .pk-ca2-wrapper .ca2-eco-read > div { padding: 10px 8px !important; text-align: center !important; border-top: 3px solid var(--c) !important; }
    .pk-ca2-wrapper .ca2-eco-read span { display: block !important; font-family: var(--ca2-mono) !important; font-size: 1.4rem !important; line-height: 1.2 !important; color: #808086 !important; margin-bottom: 4px !important; }
    .pk-ca2-wrapper .ca2-eco-read b { display: block !important; font-family: var(--ca2-mono) !important; font-size: 1.6rem !important; font-weight: 800 !important; color: #fff !important; }
    .pk-ca2-wrapper .ca2-eco-read b.is-flip { animation: ca2x-flip .45s ease !important; }
    .pk-ca2-wrapper .ca2-eco-row { margin-top: 0 !important; display: block !important; }
    .pk-ca2-wrapper .ca2-eco-hint { display: none !important; }
    .pk-ca2-wrapper .ca2-eco-phone { width: 100% !important; max-width: none !important; aspect-ratio: auto !important; height: auto !important; margin: 0 !important; padding: 0 !important; border-radius: 0 0 18px 18px !important; background: #0c0c0e !important;
        border: 1px solid #1f1f22 !important; border-top: none !important; box-shadow: 0 30px 60px rgba(0,0,0,0.5) !important; }
    .pk-ca2-wrapper .ca2-eco-phone::before { display: none !important; }
    .pk-ca2-wrapper .ca2-de { border-radius: 0 0 18px 18px !important; background: transparent !important; height: auto !important; }
    .pk-ca2-wrapper .ca2-de .pkde { height: auto !important; min-height: 330px !important; padding: 12px !important; border-radius: 0 0 18px 18px !important; background: transparent !important; }
    .pk-ca2-wrapper .ca2-de .pkde-head, .pk-ca2-wrapper .ca2-de .pkde-home, .pk-ca2-wrapper .ca2-de .pkde-set { display: none !important; }
    .pk-ca2-wrapper .ca2-de .pkde-grid { margin: 0 !important; }
    .pk-ca2-wrapper .ca2-de .pkde-card { aspect-ratio: 5 / 4 !important; }
    .pk-ca2-wrapper .ca2-eco-feats { margin-top: 40px !important; }
}
