/* =========================================================
   Trova un Centro v2 — trova-un-centro2.css
   ========================================================= */

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

.pk-tc2-wrapper {
    --tc2-black: #0a0a0a;
    --tc2-dark: #141416;
    --tc2-card: rgba(255,255,255,0.03);
    --tc2-border: rgba(255,255,255,0.08);
    --tc2-red: #ff4444;
    --tc2-red-glow: rgba(255,68,68,0.25);
    --tc2-gray: #cccccc;
    --tc2-gray-dark: #777777;
    --tc2-mono: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
    --tc2-sede: #ff4444;
    --tc2-service: #f28c38;
    --tc2-inst: #3b7bff;
    --tc2-riv: #9a9aa2;

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

/* LAYOUT */
.pk-tc2-wrapper .tc2-container { max-width: 1480px !important; margin: 0 auto !important; padding: 0 40px !important; position: relative !important; z-index: 2 !important; }
.pk-tc2-wrapper .tc2-section { padding: 110px 0 !important; position: relative !important; }
.pk-tc2-wrapper .tc2-bg-black { background: var(--tc2-black) !important; }
.pk-tc2-wrapper .tc2-bg-dark { background: var(--tc2-dark) !important; }
.pk-tc2-wrapper .tc2-red { color: var(--tc2-red) !important; }
.pk-tc2-wrapper .tc2-title {
    font-size: 4.6rem !important; font-weight: 900 !important; text-align: center !important; line-height: 1.05 !important; margin-bottom: 22px !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-tc2-wrapper .tc2-subtitle { text-align: center !important; font-size: 1.8rem !important; line-height: 1.6 !important; max-width: 780px !important; margin: 0 auto 56px !important; }

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

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

/* ================= HERO ================= */
.pk-tc2-wrapper .tc2-hero { position: relative !important; padding: 150px 0 80px !important; overflow: hidden !important; background: radial-gradient(circle at 75% 50%, rgba(255,68,68,0.12) 0%, transparent 40%), linear-gradient(180deg, #050505 0%, #0b0b0d 100%) !important; }
.pk-tc2-wrapper .tc2-hero-grid { display: grid !important; grid-template-columns: 1.1fr 1fr !important; gap: 60px !important; align-items: center !important; }
.pk-tc2-wrapper .tc2-hero-text h1 { font-size: 5.8rem !important; font-weight: 900 !important; line-height: 1.02 !important; letter-spacing: -1.5px !important; margin-bottom: 26px !important; }
.pk-tc2-wrapper .tc2-lead { font-size: 1.95rem !important; line-height: 1.6 !important; color: #e6e6e6 !important; margin-bottom: 34px !important; max-width: 640px !important; }

/* radar */
.pk-tc2-wrapper .tc2-radar { position: relative !important; width: 100% !important; max-width: 520px !important; aspect-ratio: 1 / 1 !important; margin: 0 auto !important; border-radius: 50% !important; background: radial-gradient(circle, rgba(255,68,68,0.08) 0%, rgba(0,0,0,0) 70%) !important; }
.pk-tc2-wrapper .tc2-radar-ring { position: absolute !important; border-radius: 50% !important; border: 1px solid rgba(255,68,68,0.25) !important; left: 50% !important; top: 50% !important; transform: translate(-50%, -50%) !important; }
.pk-tc2-wrapper .tc2-radar-ring.r1 { width: 100% !important; height: 100% !important; }
.pk-tc2-wrapper .tc2-radar-ring.r2 { width: 66% !important; height: 66% !important; border-style: dashed !important; border-color: rgba(255,255,255,0.12) !important; }
.pk-tc2-wrapper .tc2-radar-ring.r3 { width: 33% !important; height: 33% !important; }
.pk-tc2-wrapper .tc2-radar-sweep { position: absolute !important; inset: 0 !important; border-radius: 50% !important; background: conic-gradient(from 0deg, transparent 0deg, rgba(255,68,68,0) 280deg, rgba(255,68,68,0.38) 358deg, rgba(255,120,120,0.9) 360deg) !important; animation: tc2-sweep 5s linear infinite !important; -webkit-mask-image: radial-gradient(circle, #000 69%, transparent 70%) !important; mask-image: radial-gradient(circle, #000 69%, transparent 70%) !important; }
@keyframes tc2-sweep { to { transform: rotate(360deg); } }
.pk-tc2-wrapper .tc2-radar-you { position: absolute !important; left: 50% !important; top: 50% !important; transform: translate(-50%, -50%) !important; display: flex !important; flex-direction: column !important; align-items: center !important; gap: 8px !important; z-index: 2 !important; }
.pk-tc2-wrapper .tc2-radar-you i { width: 18px !important; height: 18px !important; border-radius: 50% !important; background: var(--tc2-red) !important; border: 3px solid #fff !important; box-shadow: 0 0 0 8px rgba(255,68,68,0.2), 0 0 30px var(--tc2-red) !important; animation: tc2-you 2s ease-out infinite !important; }
@keyframes tc2-you { 0% { box-shadow: 0 0 0 0 rgba(255,68,68,0.45), 0 0 30px #ff4444; } 100% { box-shadow: 0 0 0 26px rgba(255,68,68,0), 0 0 30px #ff4444; } }
.pk-tc2-wrapper .tc2-radar-you b { font-family: var(--tc2-mono) !important; font-size: 1.4rem !important; font-weight: 800 !important; letter-spacing: 3px !important; color: #fff !important; }
.pk-tc2-wrapper .tc2-radar-pin { position: absolute !important; transform: translate(-50%, -100%) !important; z-index: 2 !important; animation: tc2-pin 3.5s ease-in-out infinite !important; }
.pk-tc2-wrapper .tc2-radar-pin.is-service { animation-delay: .6s !important; }
.pk-tc2-wrapper .tc2-radar-pin.is-inst { animation-delay: 1.2s !important; }
.pk-tc2-wrapper .tc2-radar-pin.is-riv { animation-delay: 1.8s !important; }
@keyframes tc2-pin { 0%, 100% { translate: 0 0; } 50% { translate: 0 -8px; } }
.pk-tc2-wrapper .tc2-radar-pin .pk-marker { width: 36px !important; height: 36px !important; }
.pk-tc2-wrapper .tc2-radar-pin .pk-marker__inner { width: 12px !important; height: 12px !important; }
.pk-tc2-wrapper .tc2-radar-dist { position: absolute !important; z-index: 2 !important; padding: 4px 10px !important; border-radius: 20px !important; background: rgba(0,0,0,0.75) !important; border: 1px solid rgba(242,140,56,0.6) !important; font-family: var(--tc2-mono) !important; font-size: 1.4rem !important; font-weight: 800 !important; color: var(--tc2-service) !important; }

/* ================= COME FUNZIONA ================= */
.pk-tc2-wrapper .tc2-steps-section { background: var(--tc2-black) !important; border-top: 1px solid var(--tc2-border) !important; border-bottom: 1px solid var(--tc2-border) !important; }
.pk-tc2-wrapper .tc2-steps { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; }
.pk-tc2-wrapper .tc2-step { position: relative !important; display: flex !important; align-items: center !important; gap: 18px !important; padding: 34px 30px !important; border-right: 1px solid var(--tc2-border) !important; }
.pk-tc2-wrapper .tc2-step:last-child { border-right: none !important; }
.pk-tc2-wrapper .tc2-step > b { position: absolute !important; right: 24px !important; top: 14px !important; font-family: var(--tc2-mono) !important; font-size: 1.4rem !important; font-weight: 800 !important; color: var(--tc2-gray-dark) !important; letter-spacing: 2px !important; }
.pk-tc2-wrapper .tc2-step h3 { font-family: var(--tc2-mono) !important; font-size: 1.6rem !important; font-weight: 800 !important; letter-spacing: 2px !important; margin: 0 0 4px !important; }
.pk-tc2-wrapper .tc2-step p { font-size: 1.5rem !important; line-height: 1.5 !important; margin: 0 !important; }

/* ================= STRUMENTO ================= */
.pk-tc2-wrapper .tc2-tool { background: radial-gradient(circle at 20% 0%, rgba(255,68,68,0.08) 0%, transparent 40%), var(--tc2-dark) !important; scroll-margin-top: 80px !important; }
.pk-tc2-wrapper .tc2-tool-head { display: grid !important; grid-template-columns: 0.8fr 1.2fr !important; gap: 50px !important; align-items: end !important; margin-bottom: 40px !important; }
.pk-tc2-wrapper .tc2-tool-head h2 { font-size: 4.6rem !important; font-weight: 900 !important; line-height: 1.02 !important; margin: 0 !important; }
.pk-tc2-wrapper .tc2-legend { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
.pk-tc2-wrapper .tc2-legend-item { display: flex !important; align-items: flex-start !important; gap: 14px !important; padding: 16px 18px !important; border-radius: 14px !important; background: #0b0b0d !important; border: 1px solid var(--tc2-border) !important; }
.pk-tc2-wrapper .tc2-legend-item .pk-marker { flex: 0 0 26px !important; margin-top: 4px !important; }
.pk-tc2-wrapper .tc2-legend-item strong { display: block !important; font-family: var(--tc2-mono) !important; font-size: 1.4rem !important; font-weight: 800 !important; letter-spacing: 1px !important; color: #fff !important; margin-bottom: 2px !important; }
.pk-tc2-wrapper .tc2-legend-item span:not(.pk-marker):not(.pk-marker__inner) { display: block !important; font-size: 1.4rem !important; line-height: 1.4 !important; color: var(--tc2-gray-dark) !important; }

.pk-tc2-wrapper .pk-centri-layout { display: grid !important; grid-template-columns: minmax(0, 1.6fr) minmax(340px, 0.9fr) !important; gap: 20px !important; align-items: stretch !important; }
.pk-tc2-wrapper .mappa-wrapper, .pk-tc2-wrapper .pk-centri-search-panel, .pk-tc2-wrapper .pk-centri-contact-card { background: #0b0b0d !important; border: 1px solid var(--tc2-border) !important; border-radius: 24px !important; box-shadow: 0 30px 70px rgba(0,0,0,0.45) !important; }
.pk-tc2-wrapper .mappa-wrapper { padding: 10px !important; }
.pk-tc2-wrapper .pk-centri-map { height: 640px !important; border-radius: 18px !important; overflow: hidden !important; }
.pk-tc2-wrapper .pk-centri-map .leaflet-tile-pane { filter: grayscale(1) invert(1) brightness(0.85) contrast(0.9) !important; }
.pk-tc2-wrapper .pk-centri-search-panel { padding: 30px !important; display: flex !important; flex-direction: column !important; }
.pk-tc2-wrapper .pk-centri-search-head h2 { font-family: var(--tc2-mono) !important; font-size: 1.8rem !important; font-weight: 800 !important; letter-spacing: 2px !important; margin: 0 0 8px !important; }
.pk-tc2-wrapper .pk-centri-search-head p { font-size: 1.5rem !important; line-height: 1.6 !important; margin: 0 0 20px !important; }
.pk-tc2-wrapper .pk-centri-search-form { margin-bottom: 18px !important; }
.pk-tc2-wrapper .pk-centri-search-row { display: grid !important; grid-template-columns: minmax(0, 1fr) auto !important; gap: 10px !important; }
.pk-tc2-wrapper .pk-centri-search-row input { min-height: 56px !important; border-radius: 12px !important; border: 1px solid rgba(255,255,255,0.14) !important; background: #050506 !important; color: #fff !important; padding: 0 18px !important; font-size: 1.6rem !important; width: 100% !important; }
.pk-tc2-wrapper .pk-centri-search-row input:focus { outline: none !important; border-color: var(--tc2-red) !important; box-shadow: 0 0 0 4px rgba(255,68,68,0.15) !important; }
.pk-tc2-wrapper .pk-centri-search-row .pk-btn--secondary { grid-column: 1 / -1 !important; }
.pk-tc2-wrapper .pk-centri-search-feedback { min-height: 22px !important; margin: 10px 0 0 !important; font-size: 1.4rem !important; color: var(--tc2-gray) !important; }
.pk-tc2-wrapper .pk-centri-search-feedback.is-error { color: #ff8a8a !important; }
.pk-tc2-wrapper .pk-centri-results { display: grid !important; gap: 12px !important; margin-top: auto !important; }
.pk-tc2-wrapper .pk-centri-results-empty { display: grid !important; gap: 6px !important; padding: 22px !important; border-radius: 16px !important; border: 1px dashed rgba(255,255,255,0.14) !important; background: rgba(255,255,255,0.02) !important; color: var(--tc2-gray) !important; font-size: 1.45rem !important; line-height: 1.6 !important; }
.pk-tc2-wrapper .pk-centri-results-empty strong { color: #fff !important; font-size: 1.6rem !important; }
.pk-tc2-wrapper .pk-centri-results-empty--warning { border-color: rgba(255,68,68,0.45) !important; }
.pk-tc2-wrapper .pk-centro-result-card { padding: 18px 20px !important; border-radius: 16px !important; border: 1px solid var(--tc2-border) !important; background: #050506 !important; transition: border-color .25s ease !important; }
.pk-tc2-wrapper .pk-centro-result-card:hover { border-color: rgba(255,68,68,0.45) !important; }
.pk-tc2-wrapper .pk-centro-result-card__top { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 8px !important; }
.pk-tc2-wrapper .pk-centro-result-card__rank, .pk-tc2-wrapper .pk-centro-result-card__distance { font-family: var(--tc2-mono) !important; font-size: 1.4rem !important; font-weight: 800 !important; letter-spacing: 2px !important; }
.pk-tc2-wrapper .pk-centro-result-card__rank { color: var(--tc2-gray-dark) !important; }
.pk-tc2-wrapper .pk-centro-result-card__distance { color: var(--tc2-red) !important; }
.pk-tc2-wrapper .pk-centro-result-card h3 { font-size: 1.8rem !important; font-weight: 900 !important; margin: 0 0 4px !important; text-transform: uppercase !important; }
.pk-tc2-wrapper .pk-centro-result-card p { font-family: var(--tc2-mono) !important; font-size: 1.4rem !important; letter-spacing: 1px !important; margin: 0 0 14px !important; }
.pk-tc2-wrapper .pk-centro-result-card__type--sede { color: #ff8a8a !important; }
.pk-tc2-wrapper .pk-centro-result-card__type--service { color: #ffb37a !important; }
.pk-tc2-wrapper .pk-centro-result-card__type--installazione { color: #8fb4ff !important; }
.pk-tc2-wrapper .pk-centro-result-card__type--rivendita { color: #c9c9cf !important; }

/* bottoni del tool */
.pk-tc2-wrapper .pk-btn { display: inline-flex !important; align-items: center !important; justify-content: center !important; min-height: 52px !important; padding: 0 24px !important; border-radius: 8px !important; border: 0 !important; font-size: 1.4rem !important; font-weight: 800 !important; letter-spacing: 1px !important; text-transform: uppercase !important; cursor: pointer !important; transition: transform .2s ease, background .2s ease !important; }
.pk-tc2-wrapper .pk-btn:hover { transform: translateY(-2px) !important; }
.pk-tc2-wrapper .pk-btn--primary { background: var(--tc2-red) !important; color: #fff !important; box-shadow: 0 4px 18px var(--tc2-red-glow) !important; }
.pk-tc2-wrapper .pk-btn--secondary { background: transparent !important; color: #fff !important; border: 1px solid rgba(255,255,255,0.35) !important; }
.pk-tc2-wrapper .pk-btn--secondary:hover { background: #fff !important; color: #0a0a0a !important; }
.pk-tc2-wrapper .pk-btn--popup, .pk-tc2-wrapper .pk-btn--full { width: 100% !important; }
.pk-tc2-wrapper .pk-btn--large { min-height: 58px !important; padding: 0 34px !important; font-size: 1.5rem !important; }

/* Leaflet */
.pk-tc2-wrapper .leaflet-container { background: #0e0e10 !important; font-family: inherit !important; }
.pk-tc2-wrapper .leaflet-control-attribution { background: rgba(0,0,0,0.75) !important; color: rgba(255,255,255,0.7) !important; font-size: 11px !important; }
.pk-tc2-wrapper .leaflet-control-attribution a { color: #fff !important; }
.pk-tc2-wrapper .leaflet-bar a { background: #111 !important; color: #fff !important; border-color: #222 !important; }
.pk-tc2-wrapper .leaflet-popup-content-wrapper, .pk-tc2-wrapper .leaflet-popup-tip { background: #0b0b0d !important; color: #fff !important; border: 1px solid rgba(255,255,255,0.1) !important; }
.pk-tc2-wrapper .leaflet-popup-content-wrapper { border-radius: 16px !important; }
.pk-tc2-wrapper .leaflet-popup-content { margin: 0 !important; }
.pk-tc2-wrapper .leaflet-container a.leaflet-popup-close-button { color: #fff !important; }
.pk-tc2-wrapper .pk-marker-wrapper { background: transparent !important; border: 0 !important; }
.pk-tc2-wrapper .pk-marker { display: inline-flex !important; width: 28px !important; height: 28px !important; border-radius: 50% 50% 50% 0 !important; transform: rotate(-45deg) !important; box-shadow: 0 12px 24px rgba(0,0,0,0.45) !important; border: 2px solid rgba(255,255,255,0.9) !important; }
.pk-tc2-wrapper .pk-marker__inner { width: 10px !important; height: 10px !important; border-radius: 50% !important; background: #fff !important; margin: auto !important; }
.pk-tc2-wrapper .pk-marker--sede { background: linear-gradient(135deg, #ff4444 0%, #a01a15 100%) !important; box-shadow: 0 0 18px rgba(255,68,68,0.6) !important; }
.pk-tc2-wrapper .pk-marker--service { background: linear-gradient(135deg, #f28c38 0%, #b35a10 100%) !important; }
.pk-tc2-wrapper .pk-marker--installazione { background: linear-gradient(135deg, #3b7bff 0%, #0b3fa8 100%) !important; }
.pk-tc2-wrapper .pk-marker--rivendita { background: linear-gradient(135deg, #8a8a92 0%, #3a3a40 100%) !important; }
.pk-tc2-wrapper .pk-map-popup { padding: 18px !important; width: min(270px, 100%) !important; }
.pk-tc2-wrapper .pk-map-popup__tag { display: inline-flex !important; margin-bottom: 10px !important; padding: 5px 10px !important; border-radius: 20px !important; font-family: var(--tc2-mono) !important; font-size: 1.4rem !important; font-weight: 800 !important; letter-spacing: 1px !important; }
.pk-tc2-wrapper .pk-map-popup__tag--sede { background: rgba(255,68,68,0.16) !important; color: #ff8a8a !important; }
.pk-tc2-wrapper .pk-map-popup__tag--service { background: rgba(242,140,56,0.18) !important; color: #ffb37a !important; }
.pk-tc2-wrapper .pk-map-popup__tag--installazione { background: rgba(59,123,255,0.18) !important; color: #8fb4ff !important; }
.pk-tc2-wrapper .pk-map-popup__tag--rivendita { background: rgba(150,150,160,0.2) !important; color: #d0d0d6 !important; }
.pk-tc2-wrapper .pk-map-popup h3 { margin: 0 0 6px !important; font-size: 1.8rem !important; font-weight: 900 !important; text-transform: uppercase !important; }
.pk-tc2-wrapper .pk-map-popup p { margin: 0 0 14px !important; font-size: 1.4rem !important; line-height: 1.5 !important; color: var(--tc2-gray) !important; }

/* form contatto */
.pk-tc2-wrapper .pk-centri-contact-section { margin-top: 20px !important; scroll-margin-top: 90px !important; }
.pk-tc2-wrapper .pk-centri-contact-section.is-hidden { display: none !important; }
.pk-tc2-wrapper .pk-centri-contact-card { padding: 40px !important; border-color: rgba(255,68,68,0.35) !important; box-shadow: 0 0 60px rgba(255,68,68,0.1), 0 30px 70px rgba(0,0,0,0.45) !important; }
.pk-tc2-wrapper .pk-centri-contact-intro { margin-bottom: 22px !important; }
.pk-tc2-wrapper .pk-contact-kicker { display: inline-flex !important; align-items: center !important; gap: 8px !important; margin-bottom: 14px !important; padding: 7px 14px !important; border-radius: 30px !important; background: rgba(255,68,68,0.12) !important; color: var(--tc2-red) !important; font-family: var(--tc2-mono) !important; font-size: 1.4rem !important; font-weight: 800 !important; letter-spacing: 1px !important; text-transform: uppercase !important; }
.pk-tc2-wrapper .pk-contact-kicker svg { width: 16px !important; height: 16px !important; }
.pk-tc2-wrapper .pk-centri-contact-intro h2 { margin: 0 0 10px !important; font-size: 3.2rem !important; font-weight: 900 !important; line-height: 1.1 !important; }
.pk-tc2-wrapper .pk-centri-contact-intro p { margin: 0 !important; font-size: 1.6rem !important; line-height: 1.6 !important; max-width: 860px !important; }
.pk-tc2-wrapper .pk-centri-selected-center { display: grid !important; gap: 4px !important; padding: 16px 20px !important; border-radius: 14px !important; border: 1px solid rgba(255,68,68,0.35) !important; border-left: 4px solid var(--tc2-red) !important; background: rgba(255,68,68,0.06) !important; margin-bottom: 22px !important; }
.pk-tc2-wrapper .pk-centri-selected-center__label { font-family: var(--tc2-mono) !important; font-size: 1.4rem !important; letter-spacing: 2px !important; color: var(--tc2-gray-dark) !important; text-transform: uppercase !important; }
.pk-tc2-wrapper .pk-centri-selected-center strong { color: #fff !important; font-size: 1.7rem !important; text-transform: uppercase !important; }
.pk-tc2-wrapper .pk-form-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 16px !important; margin-bottom: 16px !important; }
.pk-tc2-wrapper .pk-centri-contact-form label { display: grid !important; gap: 8px !important; }
.pk-tc2-wrapper .pk-centri-contact-form label > span { color: #fff !important; font-size: 1.45rem !important; font-weight: 700 !important; }
.pk-tc2-wrapper .pk-centri-contact-form input, .pk-tc2-wrapper .pk-centri-contact-form textarea { width: 100% !important; min-height: 54px !important; border-radius: 12px !important; border: 1px solid rgba(255,255,255,0.14) !important; background: #050506 !important; color: #fff !important; padding: 14px 16px !important; font-size: 1.6rem !important; }
.pk-tc2-wrapper .pk-centri-contact-form input:focus, .pk-tc2-wrapper .pk-centri-contact-form textarea:focus { outline: none !important; border-color: var(--tc2-red) !important; box-shadow: 0 0 0 4px rgba(255,68,68,0.15) !important; }
.pk-tc2-wrapper .pk-centri-contact-form textarea { min-height: 140px !important; resize: vertical !important; }
.pk-tc2-wrapper .pk-centri-contact-form textarea::placeholder { color: #5f5f66 !important; }
.pk-tc2-wrapper .pk-form-full { margin-bottom: 16px !important; }
.pk-tc2-wrapper .pk-checkbox { display: flex !important; align-items: flex-start !important; gap: 12px !important; margin-bottom: 22px !important; cursor: pointer !important; }
.pk-tc2-wrapper .pk-checkbox input { width: 20px !important; min-height: 20px !important; height: 20px !important; margin-top: 2px !important; padding: 0 !important; accent-color: var(--tc2-red) !important; flex: 0 0 20px !important; }
.pk-tc2-wrapper .pk-checkbox span { color: var(--tc2-gray) !important; font-size: 1.45rem !important; line-height: 1.6 !important; font-weight: 400 !important; }
.pk-tc2-wrapper .pk-form-actions { display: flex !important; justify-content: flex-start !important; }
.pk-tc2-wrapper .pk-form-message { padding: 16px 18px !important; border-radius: 14px !important; margin-bottom: 18px !important; font-size: 1.5rem !important; line-height: 1.6 !important; }
.pk-tc2-wrapper .pk-form-message ul { margin: 8px 0 0 18px !important; }
.pk-tc2-wrapper .pk-form-message--success { background: rgba(95,211,74,0.1) !important; border: 1px solid rgba(95,211,74,0.4) !important; color: #8fe27e !important; }
.pk-tc2-wrapper .pk-form-message--error { background: rgba(255,68,68,0.1) !important; border: 1px solid rgba(255,68,68,0.4) !important; color: #ff8a8a !important; }
.pk-tc2-wrapper .pk-form-message strong, .pk-tc2-wrapper .pk-form-message li { color: inherit !important; }
.pk-tc2-wrapper .pk-honeypot { position: absolute !important; left: -9999px !important; opacity: 0 !important; pointer-events: none !important; }

/* ================= STESSO STANDARD ================= */
.pk-tc2-wrapper .tc2-trust { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 18px !important; }
.pk-tc2-wrapper .tc2-trust-card { display: flex !important; flex-direction: column !important; gap: 16px !important; padding: 32px !important; border-radius: 20px !important; background: #0b0b0d !important; border: 1px solid var(--tc2-border) !important; transition: border-color .3s ease, transform .3s ease !important; }
.pk-tc2-wrapper .tc2-trust-card:hover { border-color: rgba(255,68,68,0.45) !important; transform: translateY(-4px) !important; }
.pk-tc2-wrapper .tc2-trust-card h3 { font-family: var(--tc2-mono) !important; font-size: 1.6rem !important; font-weight: 800 !important; letter-spacing: 2px !important; margin: 0 !important; }
.pk-tc2-wrapper .tc2-trust-card p { font-size: 1.6rem !important; line-height: 1.6 !important; margin: 0 !important; }

/* ================= SEDE + PARTNER ================= */
.pk-tc2-wrapper .tc2-duo { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 20px !important; }
.pk-tc2-wrapper .tc2-duo-card { padding: 46px !important; border-radius: 24px !important; display: flex !important; flex-direction: column !important; align-items: flex-start !important; }
.pk-tc2-wrapper .tc2-duo-card small { font-family: var(--tc2-mono) !important; font-size: 1.4rem !important; letter-spacing: 3px !important; margin-bottom: 10px !important; }
.pk-tc2-wrapper .tc2-duo-card h3 { font-size: 3.2rem !important; font-weight: 900 !important; line-height: 1.08 !important; margin-bottom: 14px !important; }
.pk-tc2-wrapper .tc2-duo-card p { font-size: 1.7rem !important; line-height: 1.6 !important; margin: 0 0 28px !important; max-width: 520px !important; }
.pk-tc2-wrapper .tc2-duo-card .tc2-btn { margin-top: auto !important; }
.pk-tc2-wrapper .tc2-duo-card.is-sede { background: radial-gradient(circle at 100% 0%, rgba(255,68,68,0.15) 0%, transparent 55%), #0f0f11 !important; border: 1px solid rgba(255,68,68,0.35) !important; }
.pk-tc2-wrapper .tc2-duo-card.is-sede small { color: var(--tc2-red) !important; }
.pk-tc2-wrapper .tc2-duo-card.is-partner { background: linear-gradient(135deg, #c81e1e 0%, #7a1010 100%) !important; box-shadow: 0 30px 70px rgba(200,30,30,0.25) !important; }
.pk-tc2-wrapper .tc2-duo-card.is-partner small { color: rgba(255,255,255,0.8) !important; }
.pk-tc2-wrapper .tc2-duo-card.is-partner p { color: rgba(255,255,255,0.9) !important; }

/* ================= RESPONSIVE ================= */
@media (max-width: 1100px) {
    .pk-tc2-wrapper .tc2-hero-grid, .pk-tc2-wrapper .tc2-tool-head, .pk-tc2-wrapper .pk-centri-layout { grid-template-columns: 1fr !important; gap: 30px !important; }
    .pk-tc2-wrapper .tc2-radar { max-width: 420px !important; }
    .pk-tc2-wrapper .pk-centri-map { height: 480px !important; }
    .pk-tc2-wrapper .pk-form-grid { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 900px) {
    .pk-tc2-wrapper .tc2-container { padding: 0 20px !important; }
    .pk-tc2-wrapper .tc2-section { padding: 70px 0 !important; }
    .pk-tc2-wrapper .tc2-hero { padding: 110px 0 50px !important; }
    .pk-tc2-wrapper .tc2-hero-text h1 { font-size: 3.8rem !important; letter-spacing: -1px !important; }
    .pk-tc2-wrapper .tc2-lead { font-size: 1.7rem !important; }
    .pk-tc2-wrapper .tc2-title, .pk-tc2-wrapper .tc2-tool-head h2 { font-size: 3.2rem !important; }
    .pk-tc2-wrapper .tc2-subtitle { font-size: 1.6rem !important; margin-bottom: 40px !important; }
    .pk-tc2-wrapper .tc2-steps { grid-template-columns: 1fr !important; }
    .pk-tc2-wrapper .tc2-step { border-right: none !important; border-bottom: 1px solid var(--tc2-border) !important; padding: 22px 20px !important; }
    .pk-tc2-wrapper .tc2-step:last-child { border-bottom: none !important; }
    .pk-tc2-wrapper .tc2-legend { grid-template-columns: 1fr !important; }
    .pk-tc2-wrapper .pk-centri-map { height: 400px !important; }
    .pk-tc2-wrapper .pk-centri-search-panel, .pk-tc2-wrapper .pk-centri-contact-card { padding: 24px !important; }
    .pk-tc2-wrapper .pk-centri-contact-intro h2 { font-size: 2.6rem !important; }
    .pk-tc2-wrapper .pk-form-grid { grid-template-columns: 1fr !important; }
    .pk-tc2-wrapper .tc2-trust, .pk-tc2-wrapper .tc2-duo { grid-template-columns: 1fr !important; }
    .pk-tc2-wrapper .tc2-duo-card { padding: 32px 24px !important; }
    .pk-tc2-wrapper .tc2-duo-card h3 { font-size: 2.6rem !important; }
}
@media (max-width: 600px) {
    .pk-tc2-wrapper .tc2-hero-text h1 { font-size: 3.2rem !important; }
    .pk-tc2-wrapper .tc2-cta-row .tc2-btn, .pk-tc2-wrapper .tc2-duo-card .tc2-btn, .pk-tc2-wrapper .pk-btn--large { width: 100% !important; }
    .pk-tc2-wrapper .tc2-tag { letter-spacing: 1.5px !important; padding: 8px 14px !important; }
    .pk-tc2-wrapper .tc2-radar { max-width: 320px !important; }
    .pk-tc2-wrapper .pk-centri-search-row { grid-template-columns: 1fr !important; }
    .pk-tc2-wrapper .pk-centri-map { height: 360px !important; }
}
.pk-tc2-wrapper .screen-reader-text { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; }

.pk-tc2-wrapper .tc2-radar-link { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; z-index: 1 !important; overflow: visible !important; }
.pk-tc2-wrapper .tc2-radar-link line { stroke: #f28c38 !important; stroke-width: 0.5 !important; stroke-dasharray: 1.5 1.5 !important; animation: tc2-dash 1.2s linear infinite !important; }
@keyframes tc2-dash { to { stroke-dashoffset: -6; } }
.pk-tc2-wrapper .tc2-radar-dist { transform: translate(14px, -50%) !important; white-space: nowrap !important; letter-spacing: 1px !important; }

.pk-tc2-wrapper .tc2-radar-noi { position: absolute !important; z-index: 2 !important; transform: translate(-115%, -150%) !important; padding: 4px 10px !important; border-radius: 20px !important; background: #ff4444 !important; font-family: var(--tc2-mono) !important; font-size: 1.4rem !important; font-weight: 800 !important; letter-spacing: 1px !important; color: #fff !important; white-space: nowrap !important; box-shadow: 0 0 18px rgba(255,68,68,0.5) !important; animation: tc2-pin 3.5s ease-in-out infinite !important; }
@media (max-width: 600px) { .pk-tc2-wrapper .tc2-radar-noi { transform: translate(-60%, -230%) !important; } }
