/* GreenPulse Safe Enterprise layer - non invasivo, solo colori/compatibilità visiva */
:root{--gp-primary:#0003FF;--gp-primary-hover:#1A1DFF;--gp-primary-soft:#EEF2FF;--gp-primary-line:rgba(0,3,255,.18);--gp-on-primary:#fff;}
.gp-btn,.greenpulse-btn,.wp-block-button__link,input[type=submit],button.button,.button-primary{background:var(--gp-primary)!important;border-color:var(--gp-primary)!important;color:#fff!important;}
.gp-btn:hover,.greenpulse-btn:hover,.wp-block-button__link:hover,input[type=submit]:hover,button.button:hover,.button-primary:hover{background:var(--gp-primary-hover)!important;border-color:var(--gp-primary-hover)!important;color:#fff!important;}
.gp-header-pro .gp-nav .current-menu-item>a,.gp-header-pro .gp-nav .current_page_item>a,.gp-header-pro .gp-nav a[href*="/dashboard"]{background:var(--gp-primary)!important;color:#fff!important;}
.gp-header-pro .gp-nav a:hover{background:var(--gp-primary-soft)!important;color:var(--gp-primary)!important;}
.gp-about-copy,.gp-about-page .gp-about-copy{background:linear-gradient(135deg,#0003FF 0%,#1A1DFF 55%,#5C7CFF 100%)!important;color:#fff!important;}
.gp-about-content,.gp-cert-card,.greenpulse-card,.gp-content-card{border-color:var(--gp-primary-line)!important;}
.gp-cert-placeholder{background:var(--gp-primary-soft)!important;color:var(--gp-primary)!important;}
.greenpulse-studio-tabs a.is-active,.greenpulse-zone-nav a[href*="greenpulse-site-editor"],.greenpulse-studio .button,.greenpulse-studio .button-primary{background:var(--gp-primary)!important;border-color:var(--gp-primary)!important;color:#fff!important;}
.greenpulse-studio-page-link strong,.greenpulse-editorial-row-main strong{color:var(--gp-primary)!important;}
.greenpulse-studio-page-link.is-active{background:var(--gp-primary-soft)!important;border-color:var(--gp-primary-line)!important;}
.greenpulse-ux2026,.wrap:has(.greenpulse-ux2026){--gp-blue:#0003FF!important;--gp-green:#0003FF!important;}

/* GreenPulse service landing pages - safe integration */
.gp-trust-strip-clickable a{display:block;text-decoration:none;color:inherit;background:#fff;border:1px solid rgba(0,3,255,.12);border-radius:22px;padding:20px 22px;box-shadow:0 12px 30px rgba(0,3,255,.06);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.gp-trust-strip-clickable a:hover{transform:translateY(-2px);border-color:rgba(0,3,255,.35);box-shadow:0 18px 40px rgba(0,3,255,.12)}
.gp-trust-strip-clickable a strong{display:block;color:#101828;margin-bottom:8px}
.gp-trust-strip-clickable a span{display:block;color:#516079;font-size:.95rem;line-height:1.45}
.gp-service-landing{margin-top:24px;display:grid;gap:22px}
.gp-service-hero-card{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr);gap:24px;align-items:center;padding:34px;border-radius:30px;background:linear-gradient(135deg,#0003FF 0%,#4d66ff 100%);color:#fff;box-shadow:0 24px 60px rgba(0,3,255,.18)}
.gp-service-hero-card h2{font-size:clamp(2rem,4vw,3.6rem);line-height:1;margin:10px 0 14px;color:#fff}
.gp-service-hero-card p{font-size:1.08rem;line-height:1.55;max-width:760px;color:rgba(255,255,255,.92)}
.gp-service-image-placeholder{min-height:220px;border-radius:28px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.24);display:flex;align-items:center;justify-content:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.2)}
.gp-service-image-placeholder span{font-size:76px;filter:drop-shadow(0 12px 20px rgba(0,0,0,.18))}
.gp-service-panel,.gp-service-faq,.gp-service-final-cta{background:#fff;border:1px solid rgba(0,3,255,.13);border-radius:26px;padding:26px;box-shadow:0 12px 32px rgba(0,3,255,.06)}
.gp-service-panel h3,.gp-service-faq h3,.gp-service-final-cta h3{margin-top:0;color:#101828;font-size:1.45rem}
.gp-service-panel p,.gp-service-final-cta p{color:#4b5870;line-height:1.7}
.gp-service-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.gp-service-grid-3 article{background:#f7f8ff;border:1px solid rgba(0,3,255,.11);border-radius:22px;padding:20px;min-height:120px}
.gp-service-grid-3 strong{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:999px;background:#0003FF;color:#fff;margin-bottom:10px}
.gp-service-grid-3 p{margin:0;color:#36425a;line-height:1.55}
.gp-process-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.gp-process-steps div{background:#fff;border:1px solid rgba(0,3,255,.13);border-radius:18px;padding:16px;text-align:center;box-shadow:0 10px 26px rgba(0,3,255,.05)}
.gp-process-steps span{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;border-radius:999px;background:#0003FF;color:#fff;font-weight:800;margin-bottom:10px}
.gp-process-steps strong{display:block;color:#101828;font-size:.92rem}
.gp-service-incentives{background:linear-gradient(135deg,#eef1ff 0%,#fff 100%)}
.gp-service-faq details{border:1px solid rgba(0,3,255,.12);border-radius:18px;padding:16px 18px;margin-top:12px;background:#fbfcff}
.gp-service-faq summary{cursor:pointer;font-weight:800;color:#101828}
.gp-service-faq p{color:#4b5870;line-height:1.65;margin-bottom:0}
.gp-service-final-cta{text-align:center;background:linear-gradient(135deg,#0003FF 0%,#435cff 100%);color:#fff}
.gp-service-final-cta h3,.gp-service-final-cta p{color:#fff}
@media(max-width:900px){.gp-service-hero-card{grid-template-columns:1fr}.gp-service-grid-3{grid-template-columns:1fr}.gp-process-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.gp-service-hero-card{padding:24px}.gp-process-steps{grid-template-columns:1fr}.gp-service-image-placeholder{min-height:150px}.gp-service-image-placeholder span{font-size:54px}}

/* GreenPulse 3.2.2 - Chi siamo immagine professionale e discreta.
   Solo layer tema: non modifica shortcode, template o contenuti salvati. */
.gp-about-page .gp-about-hero{
    grid-template-columns:minmax(0,1.45fr) minmax(220px,.55fr);
    gap:28px;
}
.gp-about-page .gp-about-image,
.gp-about-page .greenpulse-about-image,
.gp-about-page .wp-block-image{
    max-width:320px;
    width:100%;
    justify-self:center;
    align-self:center;
    margin-left:auto;
    margin-right:auto;
}
.gp-about-page .gp-about-image img,
.gp-about-page .greenpulse-about-image img,
.gp-about-page .wp-block-image img{
    display:block;
    width:100%;
    max-width:320px;
    max-height:360px;
    height:auto;
    object-fit:cover;
    border-radius:20px;
    box-shadow:0 14px 34px rgba(15,23,42,.14);
}
.gp-about-page .gp-about-image figcaption,
.gp-about-page .greenpulse-about-image figcaption,
.gp-about-page .wp-block-image figcaption,
.gp-about-caption,
.greenpulse-about-caption{
    margin-top:12px;
    text-align:center;
    color:#1f2937;
    line-height:1.35;
    font-size:.95rem;
}
.gp-about-page .gp-about-image figcaption strong,
.gp-about-caption strong,
.greenpulse-about-caption strong{
    display:block;
    font-weight:900;
    color:#0f172a;
}
.gp-about-page .gp-about-image figcaption span,
.gp-about-caption span,
.greenpulse-about-caption span{
    display:block;
    margin-top:2px;
    color:#475569;
    font-weight:650;
}
@media(max-width:900px){
    .gp-about-page .gp-about-hero{grid-template-columns:1fr;}
    .gp-about-page .gp-about-image,
    .gp-about-page .greenpulse-about-image,
    .gp-about-page .wp-block-image{max-width:260px;}
    .gp-about-page .gp-about-image img,
    .gp-about-page .greenpulse-about-image img,
    .gp-about-page .wp-block-image img{max-width:260px;max-height:300px;}
}
@media(max-width:560px){
    .gp-about-page .gp-about-image,
    .gp-about-page .greenpulse-about-image,
    .gp-about-page .wp-block-image{max-width:220px;}
    .gp-about-page .gp-about-image img,
    .gp-about-page .greenpulse-about-image img,
    .gp-about-page .wp-block-image img{max-width:220px;max-height:260px;border-radius:18px;}
}

/* Servizi archive safe fix: stessa logica visuale News/Normative, senza override invasivi. */
.gp-services-page-safe .gp-services-archive-hero{
    padding: clamp(1.4rem, 3vw, 2.2rem);
    border-radius: 24px;
    background: linear-gradient(135deg, rgba(0,3,255,.12), rgba(0,3,255,.04));
    border: 1px solid rgba(0,3,255,.18);
    margin-bottom: 1.5rem;
}
.gp-services-page-safe .gp-services-archive-hero h1{margin:.35rem 0 .5rem;}
.gp-services-page-safe .gp-services-archive-grid{margin-top:1.25rem;}
.gp-services-page-safe .gp-service-card-safe{
    min-height: 230px;
    display:flex;
    flex-direction:column;
    gap:.7rem;
}
.gp-services-page-safe .gp-service-card-icon{font-size:2rem; line-height:1;}
.gp-services-page-safe .gp-service-card-safe .gp-btn{margin-top:auto; align-self:flex-start; text-decoration:none;}
