/*
Theme Name: GreenPulse 2026 Theme
Theme URI: https://rinnovabili.comixrevolution.com/
Author: ComiXrevolution
Description: Tema grafico leggero GreenPulse 2026. La logica gestionale/workflow è demandata al plugin GreenPulse Business Manager.
Version: 5.4.20-smart-menu-content-only
Requires at least: 6.4
Tested up to: 6.5
Requires PHP: 7.4
Text Domain: greenpulse-energy
*/



/* Reset di base */
body, html {
    margin: 0;
    padding: 0;
}


.greenpulse-downloads{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;padding:10px 0}.greenpulse-download-item{padding:20px;border:1px solid #e5e7eb;border-radius:18px;background:#fff}.greenpulse-download-item a{display:inline-block;margin-top:10px;padding:10px 14px;border-radius:999px;background:#003FFF;color:#fff;text-decoration:none;font-weight:700}.greenpulse-download-item a:hover{background:#002BB3}


.greenpulse-card,.greenpulse-form-card,.greenpulse-newsletter-card{background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:24px;box-shadow:0 8px 30px rgba(15,23,42,.05);margin:0 0 24px}.greenpulse-card-grid,.greenpulse-practice-grid,.greenpulse-reserved-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.greenpulse-section-head h2,.greenpulse-section-head h3{margin:0 0 8px;font-size:1.7rem;line-height:1.2}.greenpulse-section-head p,.greenpulse-muted{color:#6b7280}.greenpulse-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.greenpulse-form-grid p{margin:0}.greenpulse-form-grid label{display:block;margin:0 0 8px;font-weight:700}.greenpulse-form-grid input,.greenpulse-form-grid select,.greenpulse-form-grid textarea,.greenpulse-inline-form input{width:100%;padding:12px 14px;border:1px solid #d1d5db;border-radius:14px;background:#fff;color:#111827}.greenpulse-form-grid input:focus,.greenpulse-form-grid select:focus,.greenpulse-form-grid textarea:focus,.greenpulse-inline-form input:focus{outline:none;border-color:#003FFF;box-shadow:0 0 0 3px rgba(0,63,255,.12)}.greenpulse-form-full{grid-column:1 / -1}.greenpulse-check-row label{display:flex;align-items:flex-start;gap:10px;font-weight:500}.greenpulse-check-row input{width:auto;margin-top:3px}.greenpulse-inline-form{display:flex;gap:12px;flex-wrap:wrap}.greenpulse-inline-form input{flex:1 1 260px}.greenpulse-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:999px;background:#003FFF;color:#fff;text-decoration:none;font-weight:800;border:0}.greenpulse-btn:hover{background:#002BB3;color:#fff}.greenpulse-btn.secondary{background:#eef2ff;color:#003FFF}.greenpulse-btn.secondary:hover{background:#dbe5ff}.greenpulse-notice{border-radius:16px;padding:14px 18px;margin:0 0 20px}.greenpulse-notice p{margin:0}.greenpulse-notice-success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.greenpulse-notice-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.greenpulse-notice-warning{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.greenpulse-practice-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.greenpulse-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#eef2ff;color:#003FFF;font-size:.85rem;font-weight:700;white-space:nowrap}.greenpulse-box{margin-top:16px;padding:14px;border-radius:16px;background:#f8fafc;border:1px solid #e5e7eb}.greenpulse-box p,.greenpulse-box pre{margin:8px 0 0}.greenpulse-box pre{white-space:pre-wrap;max-height:220px;overflow:auto;font-family:inherit;font-size:.94rem}.greenpulse-link-list{list-style:none;padding:0;margin:0}.greenpulse-link-list li{padding:10px 0;border-bottom:1px solid #edf2f7}.greenpulse-link-list li:last-child{border-bottom:0}.greenpulse-link-list a{text-decoration:none;color:#003FFF;font-weight:700}.greenpulse-timeline{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:10px}.greenpulse-timeline-step{position:relative;padding-left:22px;color:#6b7280}.greenpulse-timeline-step:before{content:"";position:absolute;left:0;top:.35rem;width:10px;height:10px;border-radius:999px;background:#cbd5e1}.greenpulse-timeline-step.is-done,.greenpulse-timeline-step.is-current{color:#111827;font-weight:700}.greenpulse-timeline-step.is-done:before,.greenpulse-timeline-step.is-current:before{background:#003FFF}.greenpulse-hp{position:absolute!important;left:-9999px!important;opacity:0!important;pointer-events:none!important}@media (max-width:767px){.greenpulse-form-grid{grid-template-columns:1fr}.greenpulse-practice-head{flex-direction:column;align-items:flex-start}.greenpulse-inline-form{flex-direction:column}}


:root{--gp-blue:#003fff;--gp-dark:#0f172a;--gp-muted:#64748b;--gp-line:#e5e7eb;--gp-bg:#f8fafc;--gp-green:#16a34a;--gp-radius:28px}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:linear-gradient(180deg,#f8fbff 0%,#eef7f1 100%);color:var(--gp-dark)}a{color:inherit}.gp-site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(226,232,240,.9)}.gp-header-inner{max-width:1200px;margin:0 auto;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px}.gp-logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:900;font-size:1.12rem}.gp-logo-mark{width:42px;height:42px;border-radius:16px;background:linear-gradient(135deg,var(--gp-blue),#22c55e);display:grid;place-items:center;color:#fff;box-shadow:0 14px 35px rgba(0,63,255,.22)}.gp-nav{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.gp-nav a{text-decoration:none;color:#334155;font-weight:750;font-size:.95rem}.gp-nav a:hover{color:var(--gp-blue)}.gp-page{max-width:1200px;margin:0 auto;padding:42px 20px}.gp-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:34px;align-items:center;padding:60px 0}.gp-kicker{display:inline-flex;padding:8px 13px;border-radius:999px;background:#e8fff1;color:#166534;font-weight:900;font-size:.82rem;letter-spacing:.02em}.gp-hero h1{margin:18px 0 16px;font-size:clamp(2.5rem,7vw,5.7rem);line-height:.92;letter-spacing:-.06em}.gp-hero p{font-size:1.14rem;line-height:1.75;color:var(--gp-muted);max-width:720px}.gp-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.gp-btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 19px;border-radius:999px;text-decoration:none;font-weight:900;background:var(--gp-blue);color:#fff;box-shadow:0 12px 32px rgba(0,63,255,.22)}.gp-btn.gp-btn-light{background:#fff;color:var(--gp-blue);border:1px solid #dbeafe;box-shadow:none}.gp-hero-card{border-radius:36px;background:linear-gradient(145deg,#fff,#f1f8ff);padding:24px;border:1px solid rgba(226,232,240,.95);box-shadow:0 30px 80px rgba(15,23,42,.12)}.gp-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.gp-metric{padding:22px;border-radius:24px;background:#fff;border:1px solid #e5e7eb}.gp-metric strong{display:block;font-size:2rem}.gp-metric span{color:var(--gp-muted);font-weight:700}.gp-section{padding:34px 0}.gp-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.gp-section-head h2{font-size:clamp(1.9rem,4vw,3.2rem);line-height:1;margin:0;letter-spacing:-.04em}.gp-section-head p{margin:10px 0 0;color:var(--gp-muted)}.gp-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}.gp-service-card{position:relative;overflow:hidden;min-height:220px;padding:24px;border-radius:28px;background:#fff;border:1px solid var(--gp-line);box-shadow:0 18px 55px rgba(15,23,42,.07);text-decoration:none;display:flex;flex-direction:column;justify-content:space-between}.gp-service-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(0,63,255,.14),transparent 38%);pointer-events:none}.gp-service-card h3{margin:0;font-size:1.28rem}.gp-service-card p{color:var(--gp-muted);line-height:1.6}.gp-service-card .gp-arrow{font-weight:900;color:var(--gp-blue)}.gp-content-card{background:#fff;border:1px solid var(--gp-line);border-radius:28px;padding:28px;box-shadow:0 18px 55px rgba(15,23,42,.06)}.gp-footer{margin-top:40px;padding:34px 20px;border-top:1px solid var(--gp-line);background:#fff}.gp-footer-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#64748b}@media(max-width:860px){.gp-header-inner{align-items:flex-start;flex-direction:column}.gp-hero{grid-template-columns:1fr;padding:34px 0}.gp-section-head{display:block}.gp-metric-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.gp-nav{gap:10px}.gp-nav a{font-size:.88rem}.gp-hero h1{font-size:2.7rem}.gp-metric-grid{grid-template-columns:1fr}.gp-page{padding:28px 14px}.gp-service-card{min-height:190px}}


/* v2.2.0 - ritorno vicino alla grafica originale caricata, senza box laterali inutili */
body{background:#f9fafb;color:#111827}.gp-site-header{position:sticky;top:0;z-index:999;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid #e5e7eb}.gp-header-inner{min-height:76px}.gp-logo-mark{border-radius:18px;background:#003FFF}.gp-page{max-width:1180px}.gp-hero-original{display:block;padding:74px 0 46px}.gp-hero-copy{max-width:920px}.gp-hero-original h1{font-size:clamp(2.35rem,6vw,5rem);line-height:.98;letter-spacing:-.055em;max-width:960px}.gp-hero-original p{max-width:780px}.gp-mini-label{display:inline-flex;align-items:center;margin-bottom:10px;color:#003FFF;font-size:.78rem;font-weight:950;text-transform:uppercase;letter-spacing:.11em}.gp-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.gp-summary-card{display:flex;flex-direction:column;min-height:360px;overflow:hidden;border-radius:32px;background:#fff;border:1px solid #e5e7eb;text-decoration:none;box-shadow:0 22px 60px rgba(17,24,39,.08);transition:transform .18s ease,box-shadow .18s ease}.gp-summary-card:hover{transform:translateY(-3px);box-shadow:0 28px 70px rgba(17,24,39,.13)}.gp-summary-media{height:185px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,#e6ecff,#ecfdf5)}.gp-summary-media img{width:100%;height:100%;object-fit:cover}.gp-summary-fallback{width:100%;height:100%;display:grid;place-items:center;font-size:4.5rem;background:radial-gradient(circle at 30% 25%,rgba(0,63,255,.25),transparent 32%),linear-gradient(135deg,#fdfaf6,#e6ecff 52%,#dcfce7)}.gp-summary-body{display:flex;flex-direction:column;gap:10px;padding:24px;flex:1}.gp-summary-body strong{font-size:1.28rem;line-height:1.15;color:#111827}.gp-summary-body em{font-style:normal;color:#6b7280;line-height:1.55}.gp-summary-link{margin-top:auto;color:#003FFF;font-weight:900}.gp-process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.gp-process-card span{display:inline-flex;margin-bottom:12px;width:42px;height:42px;border-radius:15px;align-items:center;justify-content:center;background:#003FFF;color:#fff;font-weight:950}.gp-process-card{background:#fff;border:1px solid #e5e7eb;border-radius:26px;padding:22px;box-shadow:0 14px 42px rgba(17,24,39,.06)}.gp-process-card h3{margin:0 0 8px;font-size:1.12rem}.gp-process-card p{margin:0;color:#64748b;line-height:1.55}.gp-service-card{min-height:unset}.gp-hero-card,.gp-metric-grid{display:none!important}@media(max-width:900px){.gp-summary-grid{grid-template-columns:1fr 1fr}.gp-process{grid-template-columns:1fr 1fr}.gp-header-inner{align-items:flex-start}.gp-nav{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.gp-nav a{white-space:nowrap}}@media(max-width:580px){.gp-summary-grid,.gp-process{grid-template-columns:1fr}.gp-summary-card{min-height:0}.gp-summary-media{height:165px}.gp-hero-original{padding:44px 0 28px}.gp-header-inner{padding:14px}.gp-page{padding-left:14px;padding-right:14px}}

/* GreenPulse Dashboard front UX 2026 */
.greenpulse-dashboard-shell{max-width:1180px;margin:0 auto;padding:clamp(24px,4vw,56px) 18px}.greenpulse-dashboard-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:28px;border-radius:28px;background:linear-gradient(135deg,rgba(17,97,73,.12),rgba(34,197,94,.12));border:1px solid rgba(17,97,73,.12);margin-bottom:22px}.greenpulse-dashboard-hero h1{margin:.2rem 0;font-size:clamp(2rem,4vw,3.8rem)}.greenpulse-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:800;color:#157347}.greenpulse-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.greenpulse-dashboard-number{display:block;font-size:3rem;line-height:1;margin:10px 0;color:#157347}.greenpulse-dashboard-section{margin-top:18px}.greenpulse-user-practices{display:grid;gap:12px}.greenpulse-user-practice{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border:1px solid rgba(15,23,42,.09);border-radius:20px;padding:16px;background:#fff}.greenpulse-user-practice h3{margin:0 0 5px}.greenpulse-muted{color:#64748b}.greenpulse-link{font-weight:800}.greenpulse-badge{display:inline-flex;align-items:center;border-radius:999px;padding:7px 11px;background:#dcfce7;color:#166534;font-weight:800;white-space:nowrap}.greenpulse-reserved-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}@media(max-width:760px){.greenpulse-dashboard-hero,.greenpulse-user-practice{display:block}.greenpulse-dashboard-grid,.greenpulse-reserved-grid{grid-template-columns:1fr}.greenpulse-badge{margin-top:10px}}

/* v2.4 editorial/documenti */
.gp-summary-card{display:flex;flex-direction:column;text-decoration:none;color:inherit}
.gp-summary-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.gp-summary-link{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:10px 14px;background:#123d2d;color:#fff;text-decoration:none;font-weight:800;font-style:normal}
.gp-summary-link-secondary{background:#eef8f2;color:#123d2d;border:1px solid rgba(18,61,45,.16)}
.greenpulse-editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:24px}
.greenpulse-editorial-card{overflow:hidden}
.greenpulse-editorial-media{display:block;aspect-ratio:16/10;overflow:hidden;border-radius:18px;margin-bottom:16px;background:#eef5ef}
.greenpulse-editorial-media img{width:100%;height:100%;object-fit:cover;display:block}
.greenpulse-editorial-body h2{font-size:22px;margin:8px 0}
.greenpulse-editorial-body h2 a{color:inherit;text-decoration:none}
.greenpulse-doc-list li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid rgba(12,36,28,.10)}
@media (max-width: 900px){.greenpulse-editorial-grid{grid-template-columns:1fr}.greenpulse-doc-list li{align-items:flex-start;flex-direction:column}.gp-summary-actions{flex-direction:column}.gp-summary-link{width:100%}}

/* GreenPulse footer sitemap 3 colonne */
.gp-footer-map{margin-top:0;background:#07111f;color:#e5eefb;border-top:0;padding:54px 20px}.gp-footer-grid{display:grid;grid-template-columns:1.15fr .85fr 1.05fr;gap:34px;align-items:start;color:#cbd5e1}.gp-footer-col h2{margin:0 0 16px;font-size:1rem;color:#fff;text-transform:uppercase;letter-spacing:.12em}.gp-footer-logo{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:#fff;margin-bottom:16px}.gp-footer-logo .gp-logo-mark{width:44px;height:44px;flex:0 0 44px}.gp-footer-brand p{margin:0 0 12px;color:#f8fafc;font-weight:800}.gp-footer-list,.gp-footer-menu{list-style:none;margin:0;padding:0;display:grid;gap:9px}.gp-footer-list li,.gp-footer-menu li{margin:0;color:#cbd5e1}.gp-footer-list span{display:inline-block;min-width:52px;color:#93c5fd;font-weight:900}.gp-footer a{color:#e0f2fe;text-decoration:none}.gp-footer a:hover{color:#fff;text-decoration:underline}.gp-footer-menu a{display:inline-flex;padding:4px 0;font-weight:800}.gp-footer-hours{display:grid;gap:8px;margin-top:14px}.gp-footer-hours div{display:grid;grid-template-columns:92px 1fr;gap:10px;padding:9px 0;border-bottom:1px solid rgba(148,163,184,.2)}.gp-footer-hours span{color:#93c5fd;font-weight:900}.gp-footer-hours strong{color:#f8fafc;font-weight:750}@media(max-width:880px){.gp-footer-grid{grid-template-columns:1fr 1fr}.gp-footer-brand{grid-column:1/-1}}@media(max-width:620px){.gp-footer-map{padding:38px 16px}.gp-footer-grid{grid-template-columns:1fr}.gp-footer-hours div{grid-template-columns:1fr;gap:2px}}
.gp-about-page{max-width:1180px;margin:0 auto;padding:48px 22px}.gp-about-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:center;margin-bottom:32px}.gp-about-copy{background:linear-gradient(135deg,#062117,#0f5a35);color:#fff;border-radius:30px;padding:42px;box-shadow:0 24px 60px rgba(0,0,0,.16)}.gp-about-copy h1{font-size:clamp(2.2rem,5vw,4.2rem);line-height:.96;margin:10px 0}.gp-about-subtitle{font-size:1.18rem;opacity:.92}.gp-about-image img{width:100%;border-radius:30px;box-shadow:0 24px 60px rgba(0,0,0,.18);object-fit:cover}.gp-about-content{background:#fff;border:1px solid rgba(13,72,45,.12);border-radius:26px;padding:30px;box-shadow:0 18px 48px rgba(0,0,0,.06);font-size:1.05rem;line-height:1.75}.gp-about-certs{margin-top:34px}.gp-cert-grid{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:16px}.gp-cert-card{background:#fff;border:1px solid rgba(13,72,45,.12);border-radius:22px;padding:18px;text-align:center;box-shadow:0 14px 36px rgba(0,0,0,.06)}.gp-cert-card img{max-height:92px;max-width:100%;object-fit:contain;margin:0 auto 12px}.gp-cert-placeholder{height:92px;display:flex;align-items:center;justify-content:center;border-radius:16px;background:#eef7f1;color:#0f5a35;font-weight:800;margin-bottom:12px}@media(max-width:900px){.gp-about-hero{grid-template-columns:1fr}.gp-cert-grid{grid-template-columns:repeat(2,minmax(130px,1fr))}}@media(max-width:560px){.gp-cert-grid{grid-template-columns:1fr}.gp-about-copy{padding:28px}}


/* Certificazioni footer */
.gp-footer-certs{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0 .85rem;align-items:center}
.gp-footer-cert{margin:0;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:.45rem;line-height:0}
.gp-footer-cert img{display:block;max-width:86px;max-height:48px;object-fit:contain}


/* v3.1.0 Header PRO - logo/favicon da Personalizza, mobile safe, zero JS */
.gp-skip-link{position:absolute;left:-999px;top:12px;z-index:100000;background:#003FFF;color:#fff;padding:10px 14px;border-radius:12px;text-decoration:none;font-weight:900}.gp-skip-link:focus{left:12px}.gp-header-pro{position:sticky;top:0;z-index:999;background:rgba(255,255,255,.94);backdrop-filter:saturate(160%) blur(18px);-webkit-backdrop-filter:saturate(160%) blur(18px);box-shadow:0 10px 34px rgba(15,23,42,.05)}.gp-header-pro .gp-header-inner{min-height:78px;align-items:center}.gp-brand-wrap{display:flex;align-items:center;min-width:0;flex:0 1 auto}.gp-custom-logo-wrap{display:flex;align-items:center;min-width:0}.gp-custom-logo-wrap a{display:inline-flex;align-items:center;text-decoration:none}.custom-logo-link{display:inline-flex;align-items:center;line-height:0}.custom-logo{display:block;width:auto;max-width:min(300px,42vw);max-height:54px;height:auto;object-fit:contain}.gp-header-pro .gp-logo{min-width:0;max-width:330px}.gp-header-pro .gp-logo span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gp-header-pro .gp-nav{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:1;min-width:0}.gp-header-pro .gp-nav a,.gp-header-pro .gp-nav .menu-item>a{display:inline-flex;align-items:center;min-height:38px;padding:8px 11px;border-radius:999px;color:#334155;text-decoration:none;font-weight:850;transition:background-color .16s ease,color .16s ease,transform .16s ease}.gp-header-pro .gp-nav a:hover,.gp-header-pro .gp-nav .menu-item>a:hover{background:#eef6ff;color:#003FFF;transform:translateY(-1px)}.gp-header-pro .gp-nav a:focus-visible,.gp-header-pro .gp-nav .menu-item>a:focus-visible{outline:3px solid rgba(0,63,255,.25);outline-offset:2px}.gp-header-pro .gp-nav .menu-item{list-style:none;margin:0;padding:0}.gp-header-pro .gp-nav .current-menu-item>a,.gp-header-pro .gp-nav .current_page_item>a{background:#003FFF;color:#fff}.gp-header-pro .gp-nav a[href$="/dashboard"],.gp-header-pro .gp-nav a[href*="/dashboard"]{background:#123d2d;color:#fff}.gp-header-pro .gp-nav a[href$="/dashboard"]:hover,.gp-header-pro .gp-nav a[href*="/dashboard"]:hover{background:#0b2a1f;color:#fff}.gp-header-pro + main,.gp-header-pro ~ main{scroll-margin-top:96px}@media(max-width:900px){.gp-header-pro .gp-header-inner{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:12px 14px}.gp-brand-wrap{justify-content:center}.custom-logo{max-width:min(280px,74vw);max-height:48px}.gp-header-pro .gp-nav{width:100%;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;gap:8px;padding:2px 0 8px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.gp-header-pro .gp-nav a,.gp-header-pro .gp-nav .menu-item>a{white-space:nowrap;min-height:36px;padding:8px 10px;font-size:.9rem}}@media(max-width:520px){.custom-logo{max-width:72vw;max-height:44px}.gp-header-pro .gp-logo-mark{width:38px;height:38px}.gp-header-pro .gp-logo{font-size:1rem}.gp-header-pro .gp-nav a,.gp-header-pro .gp-nav .menu-item>a{font-size:.86rem}}


/* v3.2.0 Logo PRO + Responsive QA */
.gp-brand-logo-pro{min-width:0;flex-shrink:1}.gp-logo-fallback{display:inline-flex;align-items:center;gap:12px;color:#243044;text-decoration:none;font-weight:900;min-width:0}.gp-site-icon-logo{display:block;width:48px;height:48px;border-radius:14px;object-fit:cover;box-shadow:0 8px 20px rgba(0,63,255,.16);flex:0 0 48px}.gp-logo-fallback span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gp-footer-logo-pro{min-height:48px}.gp-footer-custom-logo{display:block;max-width:220px;max-height:70px;width:auto;height:auto;object-fit:contain}.gp-footer-site-icon{display:block;width:44px;height:44px;border-radius:12px;object-fit:cover;flex:0 0 44px}.gp-custom-logo-wrap,.custom-logo-link{max-width:100%}.gp-header-pro .gp-header-inner{max-width:1180px;margin:0 auto;width:100%;box-sizing:border-box}.gp-header-pro .gp-nav{overflow-x:auto;overscroll-behavior-x:contain}.gp-header-pro .gp-nav::-webkit-scrollbar{height:6px}.gp-header-pro .gp-nav::-webkit-scrollbar-thumb{background:rgba(15,23,42,.18);border-radius:999px}.gp-page,.greenpulse-dashboard-shell,.gp-about-page{box-sizing:border-box;width:100%;max-width:1180px}.gp-content-card{overflow-wrap:anywhere}.gp-footer-grid>*{min-width:0}.gp-footer-list li,.gp-footer-menu li{overflow-wrap:anywhere}.greenpulse-dashboard-grid,.greenpulse-reserved-grid,.gp-summary-grid,.greenpulse-editorial-grid{min-width:0}.greenpulse-user-practice{min-width:0}.gp-btn,.gp-summary-link{max-width:100%;text-align:center}.gp-footer-certs{max-width:100%}.gp-footer-cert img{width:auto;height:auto}
@media(max-width:1024px){.gp-header-pro .gp-header-inner{padding-left:18px;padding-right:18px}.gp-footer-grid{gap:24px}.custom-logo{max-width:min(260px,38vw)}}
@media(max-width:900px){.gp-header-pro .gp-header-inner{align-items:stretch}.gp-brand-logo-pro{justify-content:center}.gp-logo-fallback{justify-content:center}.gp-site-icon-logo{width:44px;height:44px;flex-basis:44px}.gp-header-pro .gp-nav{padding-left:2px;padding-right:2px}.gp-footer-custom-logo{max-width:200px;margin:0 auto}.gp-footer-logo-pro{justify-content:center}.gp-footer-brand{text-align:center}.gp-footer-certs{justify-content:center}.gp-footer-list span{min-width:auto}.greenpulse-editorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){body{overflow-x:hidden}.gp-site-header{width:100%}.gp-header-pro .gp-header-inner{min-height:0}.custom-logo{max-width:78vw;max-height:46px}.gp-logo-fallback{font-size:1rem}.gp-header-pro .gp-nav{gap:6px}.gp-header-pro .gp-nav a,.gp-header-pro .gp-nav .menu-item>a{font-size:.84rem;padding:7px 9px}.gp-page{padding:22px 14px}.gp-content-card{padding:20px!important;border-radius:22px}.gp-footer-map{padding-left:14px;padding-right:14px}.gp-footer-hours div{grid-template-columns:1fr}.greenpulse-editorial-grid{grid-template-columns:1fr}.greenpulse-doc-list li{display:block}.gp-summary-actions{display:grid}.gp-summary-link{width:auto}}
@media(max-width:380px){.gp-site-icon-logo{width:38px;height:38px;flex-basis:38px}.gp-logo-fallback span{max-width:220px}.gp-header-pro .gp-nav a,.gp-header-pro .gp-nav .menu-item>a{font-size:.8rem;padding:7px 8px}.gp-footer-custom-logo{max-width:170px}}

/* v3.2.1 - Footer compact: testo -10%, spaziature ridotte, consolidato intatto */
.gp-footer-map{padding:48px 20px;font-size:.9em;line-height:1.42}
.gp-footer-grid{gap:28px}
.gp-footer-col h2{margin-bottom:12px;font-size:.9rem;letter-spacing:.1em}
.gp-footer-logo{margin-bottom:12px}
.gp-footer-brand p{margin-bottom:9px;font-size:.95em}
.gp-footer-list,.gp-footer-menu{gap:6px}
.gp-footer-menu a{padding:2px 0}
.gp-footer-hours{gap:5px;margin-top:10px}
.gp-footer-hours div{grid-template-columns:84px 1fr;gap:8px;padding:6px 0}
.gp-footer-certs{gap:.45rem;margin:.7rem 0 .65rem}
.gp-footer-cert{border-radius:12px;padding:.35rem}
.gp-footer-cert img{max-width:78px;max-height:42px}
.gp-footer-custom-logo{max-width:198px;max-height:63px}
.gp-footer-site-icon{width:40px;height:40px;flex-basis:40px}
@media(max-width:880px){.gp-footer-map{padding:40px 18px}.gp-footer-grid{gap:22px}}
@media(max-width:620px){.gp-footer-map{padding:32px 14px;font-size:.88em}.gp-footer-hours div{grid-template-columns:92px 1fr;gap:8px}.gp-footer-list,.gp-footer-menu{gap:5px}}
@media(max-width:420px){.gp-footer-hours div{grid-template-columns:1fr;gap:2px}.gp-footer-cert img{max-width:70px;max-height:38px}}


/* GreenPulse Enterprise Priority 2 B2B */
.gp-enterprise-hero,.gp-enterprise-cta{padding:clamp(28px,5vw,64px);border-radius:28px;background:linear-gradient(135deg,rgba(0,3,255,.08),rgba(0,3,255,.02));margin:24px 0}.gp-enterprise-hero h1{max-width:980px}.gp-kicker{font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#0003ff}.gp-enterprise-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin:28px 0}.gp-enterprise-grid article{padding:22px;border:1px solid rgba(0,0,0,.08);border-radius:22px;background:#fff;box-shadow:0 10px 28px rgba(0,0,0,.04)}.gp-enterprise-cta{background:#0003ff;color:#fff}.gp-enterprise-cta .gp-btn-light{background:#fff;color:#0003ff}


/* GreenPulse 4.5 Final Hub UI: pagine enterprise serie, immagini, mobile/browser safe */
.gp-enterprise-page{max-width:1120px;margin:0 auto;display:grid;gap:28px}.gp-enterprise-hero-v45{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr);gap:28px;align-items:center;padding:34px;border-radius:34px;background:linear-gradient(135deg,#ffffff 0%,#f3f6ff 58%,#eef7ff 100%);border:1px solid rgba(0,3,255,.12);box-shadow:0 24px 70px rgba(15,23,42,.08)}.gp-enterprise-hero-v45 h1{margin:.2rem 0 .8rem;font-size:clamp(2rem,4.8vw,4.3rem);line-height:.98;letter-spacing:-.045em;color:#07143d}.gp-enterprise-hero-v45 p{font-size:1.08rem;line-height:1.75;color:#475569}.gp-enterprise-visual{min-height:260px;border-radius:28px;background:linear-gradient(145deg,#0003ff,#6aa2ff);display:flex;align-items:center;justify-content:center;color:#fff;position:relative;overflow:hidden}.gp-enterprise-visual:before{content:"";position:absolute;inset:22px;border:1px solid rgba(255,255,255,.34);border-radius:22px}.gp-enterprise-visual span{font-size:4.4rem;filter:drop-shadow(0 16px 30px rgba(0,0,0,.22))}.gp-enterprise-card,.gp-enterprise-cta,.gp-enterprise-section{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:28px;padding:28px;box-shadow:0 18px 50px rgba(15,23,42,.06)}.gp-enterprise-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.gp-enterprise-grid article{background:#fff;border:1px solid rgba(0,3,255,.11);border-radius:24px;padding:22px;box-shadow:0 12px 34px rgba(15,23,42,.05)}.gp-enterprise-grid h2,.gp-enterprise-grid h3{margin-top:0;color:#07143d}.gp-enterprise-card ul,.gp-enterprise-section ul{padding-left:1.1rem;line-height:1.8}.gp-enterprise-cta{background:#07143d;color:#fff}.gp-enterprise-cta h2,.gp-enterprise-cta p{color:#fff}.gp-kicker,.gp-mini-label{background:rgba(0,3,255,.08)!important;color:#0003ff!important}.gp-theme-health-warning{margin:18px auto;max-width:1120px;border:1px solid #fbbf24;background:#fffbeb;color:#78350f;border-radius:18px;padding:14px 18px}.gp-admin-hub-strip{display:none}@supports not (backdrop-filter:blur(1px)){.gp-site-header{background:#fff!important}}@media(max-width:900px){.gp-enterprise-hero-v45{grid-template-columns:1fr;padding:24px}.gp-enterprise-visual{min-height:190px}.gp-enterprise-grid{grid-template-columns:1fr}.gp-page{padding:26px 15px}.gp-nav{width:100%;overflow-x:auto;gap:12px;padding-bottom:4px}.gp-nav a{white-space:nowrap}.gp-enterprise-card,.gp-enterprise-section,.gp-enterprise-cta{padding:22px;border-radius:22px}}@media(max-width:520px){.gp-enterprise-hero-v45 h1{font-size:2.15rem}.gp-enterprise-hero-v45 p{font-size:1rem}.gp-actions{flex-direction:column}.gp-btn{width:100%}.gp-enterprise-visual span{font-size:3rem}.gp-summary-grid{grid-template-columns:1fr!important}.gp-summary-card{min-height:auto!important}}

/* GreenPulse 5.3 footer smart hours/status */
.gp-footer-status{display:inline-flex;align-items:center;gap:8px;margin:12px 0 8px;padding:8px 11px;border-radius:999px;font-weight:900;font-size:.82rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14)}
.gp-footer-status:before{content:"";width:9px;height:9px;border-radius:999px;background:#94a3b8;box-shadow:0 0 0 4px rgba(148,163,184,.15)}
.gp-footer-status.is-open{color:#bbf7d0;background:rgba(22,163,74,.12);border-color:rgba(34,197,94,.22)}
.gp-footer-status.is-open:before{background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.17)}
.gp-footer-status.is-closed{color:#fecaca;background:rgba(220,38,38,.10);border-color:rgba(248,113,113,.18)}
.gp-footer-status.is-closed:before{background:#ef4444;box-shadow:0 0 0 4px rgba(239,68,68,.14)}
.gp-footer-next-holiday{margin:8px 0 6px;color:#cbd5e1;font-size:.88em}
.gp-footer-next-holiday strong{color:#fff}
.gp-footer-hours .gp-footer-hours-row{display:grid;grid-template-columns:120px 1fr;gap:10px;padding:7px 0;border-bottom:1px solid rgba(148,163,184,.2)}
@media(max-width:620px){.gp-footer-hours .gp-footer-hours-row{grid-template-columns:1fr;gap:2px}}


/* GreenPulse 5.5 - Footer 5 colonne compatto, orari desktop su una riga */
.gp-footer-v55{padding:34px 20px;font-size:.84rem;line-height:1.38}
.gp-footer-v55 .gp-footer-grid-5{max-width:1280px;display:grid;grid-template-columns:1.15fr .95fr 1.25fr .8fr 1.35fr;gap:22px;align-items:start}
.gp-footer-v55 .gp-footer-col h2{margin:0 0 9px;font-size:.78rem;letter-spacing:.105em;line-height:1.2}
.gp-footer-v55 .gp-footer-logo{margin-bottom:8px}
.gp-footer-v55 .gp-footer-custom-logo{max-width:168px;max-height:48px}
.gp-footer-v55 .gp-footer-company-name{font-size:.86rem;margin:6px 0 0;font-weight:800}
.gp-footer-v55 .gp-footer-list,.gp-footer-v55 .gp-footer-menu{gap:4px}
.gp-footer-v55 .gp-footer-list li,.gp-footer-v55 .gp-footer-menu li{font-size:.84rem;line-height:1.35}
.gp-footer-v55 .gp-footer-list span{min-width:42px;color:#9fb3c8;font-weight:850}
.gp-footer-v55 .gp-footer-menu a{font-weight:760;padding:1px 0}
.gp-footer-v55 .gp-footer-status{margin:0 0 8px;padding:6px 9px;font-size:.76rem}
.gp-footer-v55 .gp-footer-next-holiday{margin:4px 0 8px;font-size:.8rem;line-height:1.3}
.gp-footer-v55 .gp-footer-next-holiday span{white-space:nowrap}
.gp-footer-v55 .gp-footer-hours{margin-top:6px;gap:0}
.gp-footer-v55 .gp-footer-hours .gp-footer-hours-row{display:flex;align-items:baseline;gap:8px;padding:3px 0;border-bottom:0;line-height:1.35}
.gp-footer-v55 .gp-footer-hours .gp-footer-hours-row span{font-weight:900;color:#e5eefb;min-width:88px;white-space:nowrap}
.gp-footer-v55 .gp-footer-hours .gp-footer-hours-row strong{font-weight:500;color:#dbeafe;white-space:nowrap}
.gp-footer-v55 .gp-footer-certs{margin:.45rem 0 .45rem;gap:.35rem}
.gp-footer-v55 .gp-footer-cert{padding:.25rem;border-radius:10px}
.gp-footer-v55 .gp-footer-cert img{max-width:58px;max-height:32px}
@media(max-width:1100px){.gp-footer-v55 .gp-footer-grid-5{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.gp-footer-v55 .gp-footer-hours-col{grid-column:span 2}}
@media(max-width:780px){.gp-footer-v55{padding:32px 16px;font-size:.88rem}.gp-footer-v55 .gp-footer-grid-5{grid-template-columns:1fr 1fr}.gp-footer-v55 .gp-footer-hours-col{grid-column:auto}.gp-footer-v55 .gp-footer-logo-pro{justify-content:flex-start}.gp-footer-v55 .gp-footer-brand{text-align:left}.gp-footer-v55 .gp-footer-certs{justify-content:flex-start}.gp-footer-v55 .gp-footer-hours .gp-footer-hours-row{display:grid;grid-template-columns:92px 1fr;gap:8px;padding:5px 0;border-bottom:1px solid rgba(148,163,184,.16)}.gp-footer-v55 .gp-footer-hours .gp-footer-hours-row strong{white-space:normal}}
@media(max-width:560px){.gp-footer-v55{padding:30px 14px}.gp-footer-v55 .gp-footer-grid-5{grid-template-columns:1fr;gap:18px}.gp-footer-v55 .gp-footer-col h2{margin-bottom:7px}.gp-footer-v55 .gp-footer-hours .gp-footer-hours-row{grid-template-columns:1fr;gap:2px}.gp-footer-v55 .gp-footer-hours .gp-footer-hours-row span,.gp-footer-v55 .gp-footer-hours .gp-footer-hours-row strong{white-space:normal}}

/* GreenPulse 5.4.3 - hero background from Hub */
.gp-hero.gp-hero-has-bg{border-radius:36px;padding:clamp(34px,6vw,68px);border:1px solid rgba(0,3,255,.10);box-shadow:0 28px 70px rgba(15,23,42,.08);overflow:hidden}.gp-hero.gp-hero-has-bg .gp-hero-copy{max-width:820px}

/* GreenPulse 5.4.4: Hero background from Hub/Page Editor */
.gp-hero.gp-hero-has-bg{background-repeat:no-repeat;background-size:cover;background-position:center;}
.gp-hero.gp-hero-has-bg .gp-hero-copy{position:relative;z-index:1;}


/* GreenPulse 5.4.5 - Mobile Responsive Fix chirurgico
   Obiettivo: correggere menu mobile sovrapposto, card Chi siamo tagliata,
   overflow orizzontali e scalabilità su mobile/tablet senza cambiare workflow. */
html, body { max-width: 100%; overflow-x: hidden; }
img, video, iframe, svg { max-width: 100%; height: auto; }
.gp-page, .gp-content-card, .gp-home-original, .gp-enterprise-page, .gp-summary-card, .gp-trust-strip a { min-width: 0; }

/* Menu mobile: pannello laterale vero, niente dropdown sovrapposto al contenuto. */
@media (max-width: 900px) {
  body.admin-bar .gp-site-header { top: 32px; }
  .gp-header-pro .gp-header-inner,
  .gp-site-header .gp-header-inner {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 68px !important;
    padding: 10px 14px !important;
    gap: 12px !important;
  }
  .gp-brand-wrap, .gp-brand-logo-pro, .gp-custom-logo-wrap { min-width: 0 !important; }
  .custom-logo, .gp-custom-logo-wrap img { max-width: 62vw !important; max-height: 46px !important; width: auto !important; height: auto !important; object-fit: contain !important; }
  .gp-mobile-menu-toggle { display: inline-flex !important; flex: 0 0 auto !important; position: relative !important; z-index: 10002 !important; }
  #gp-primary-menu.gp-nav,
  .gp-header-pro #gp-primary-menu.gp-nav {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: auto !important;
    bottom: 0 !important;
    width: min(90vw, 360px) !important;
    max-width: 360px !important;
    height: 100vh !important;
    max-height: none !important;
    padding: 86px 16px 24px !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    background: #ffffff !important;
    border-left: 1px solid rgba(15,23,42,.08) !important;
    border-radius: 0 !important;
    box-shadow: -28px 0 70px rgba(15,23,42,.24) !important;
    transform: translateX(112%) !important;
    visibility: hidden !important;
    opacity: 1 !important;
    z-index: 10001 !important;
    transition: transform .22s ease, visibility .22s ease !important;
    -webkit-overflow-scrolling: touch !important;
  }
  body.gp-mobile-menu-open #gp-primary-menu.gp-nav,
  body.gp-mobile-menu-open .gp-header-pro #gp-primary-menu.gp-nav {
    transform: translateX(0) !important;
    visibility: visible !important;
  }
  #gp-primary-menu.gp-nav:before { content: 'Navigazione' !important; position: absolute !important; top: 24px !important; left: 18px !important; color: #0f172a !important; font-size: 1rem !important; font-weight: 950 !important; }
  #gp-primary-menu.gp-nav a,
  #gp-primary-menu.gp-nav li a,
  .gp-header-pro #gp-primary-menu.gp-nav a {
    display: flex !important;
    width: 100% !important;
    min-height: 46px !important;
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 12px 14px !important;
    white-space: normal !important;
    border-radius: 15px !important;
    background: #f8fafc !important;
    border: 1px solid rgba(15,23,42,.07) !important;
    color: #0f172a !important;
    font-size: .94rem !important;
    font-weight: 850 !important;
    text-decoration: none !important;
  }
  #gp-primary-menu.gp-nav li { width: 100% !important; margin: 0 !important; padding: 0 !important; list-style: none !important; }
  body.gp-mobile-menu-open { overflow: hidden !important; touch-action: none !important; }
  .gp-mobile-menu-backdrop { z-index: 10000 !important; }
}
@media (max-width: 782px) { body.admin-bar .gp-site-header { top: 46px; } }
@media (min-width: 901px) {
  .gp-mobile-menu-toggle { display: none !important; }
  #gp-primary-menu.gp-nav { visibility: visible !important; transform: none !important; position: static !important; height: auto !important; max-height: none !important; }
}

/* Home mobile: titolo e sezioni leggibili su tutte le risoluzioni. */
@media (max-width: 760px) {
  .gp-page { padding: 20px 12px !important; }
  .gp-hero-original, .gp-hero.gp-hero-has-bg { padding: 30px 18px 28px !important; border-radius: 26px !important; }
  .gp-hero-original h1, .gp-hero h1 { font-size: clamp(2.05rem, 10.4vw, 3rem) !important; line-height: 1.02 !important; letter-spacing: -.045em !important; }
  .gp-hero-original p, .gp-hero p { font-size: 1rem !important; line-height: 1.55 !important; }
  .gp-kicker { font-size: .72rem !important; line-height: 1.2 !important; white-space: normal !important; }
  .gp-actions { display: grid !important; grid-template-columns: 1fr !important; gap: 10px !important; }
  .gp-actions .gp-btn { width: 100% !important; min-height: 48px !important; }
  .gp-trust-strip { display: grid !important; grid-template-columns: 1fr !important; gap: 12px !important; margin-top: -10px !important; }
  .gp-trust-strip a { min-height: auto !important; padding: 18px !important; }
  .gp-summary-grid, .gp-card-grid, .greenpulse-card-grid { grid-template-columns: 1fr !important; }
  .gp-summary-card, .gp-service-card, .greenpulse-card { min-height: auto !important; overflow: visible !important; }
}
@media (max-width: 380px) {
  .gp-hero-original h1, .gp-hero h1 { font-size: 1.92rem !important; }
  .gp-hero-original, .gp-hero.gp-hero-has-bg { padding: 26px 14px !important; }
}

/* Chi siamo mobile: mai tagliare la scheda o saltare al footer. */
@media (max-width: 900px) {
  body[class*="chi-siamo"] .gp-content-card,
  body[class*="chi-siamo"] .entry-content,
  body[class*="chi-siamo"] .gp-about-content,
  .gp-about-page .gp-content-card,
  .gp-about-page .entry-content,
  .gp-about-page .gp-about-content {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }
  body[class*="chi-siamo"] .entry-content:after,
  body[class*="chi-siamo"] .gp-about-content:after,
  .gp-about-page .entry-content:after,
  .gp-about-page .gp-about-content:after { display: none !important; }
  .gp-about-readmore-wrap { display: none !important; }
  .gp-enterprise-hero-v45,
  .gp-enterprise-card,
  .gp-enterprise-section,
  .gp-enterprise-cta,
  .gp-content-card { overflow: visible !important; height: auto !important; max-height: none !important; }
}
@media (max-width: 560px) {
  .gp-content-card { padding: 18px !important; border-radius: 22px !important; }
  .gp-content-card h1 { font-size: clamp(1.8rem, 8vw, 2.35rem) !important; line-height: 1.08 !important; }
  .entry-content p, .gp-content-card p { font-size: 1rem !important; line-height: 1.62 !important; }
}

/* Riduce interferenze widget flottanti/cookie su mobile. */
@media (max-width: 560px) {
  .grecaptcha-badge,
  .cky-btn-revisit-wrapper,
  .cookieadmin-revisit,
  [class*="cookie"] [class*="revisit"] { transform: scale(.88) !important; transform-origin: bottom left !important; }
  .gp-service-cta { margin-bottom: 72px !important; }
}
