/* GreenPulse Theme Only - UX Enterprise Step 1: Responsive Menu
 * Safe layer: non modifica contenuti, shortcode, plugin o routing.
 */
:root{--gp-mobile-header-height:72px;--gp-mobile-panel-width:min(88vw,360px);}
.gp-mobile-menu-toggle{display:none;align-items:center;gap:10px;border:1px solid rgba(0,3,255,.18);background:#fff;color:#0f172a;border-radius:999px;padding:10px 14px;font-weight:800;line-height:1;cursor:pointer;box-shadow:0 12px 28px rgba(15,23,42,.08);-webkit-tap-highlight-color:transparent;}
.gp-mobile-menu-toggle:focus{outline:3px solid rgba(0,3,255,.22);outline-offset:3px;}
.gp-mobile-menu-bars{display:inline-flex;flex-direction:column;gap:4px;width:20px;}
.gp-mobile-menu-bars span{display:block;height:2px;width:20px;background:var(--gp-primary,#0003ff);border-radius:999px;transition:transform .18s ease,opacity .18s ease;}
.gp-mobile-menu-label{font-size:14px;}
body.gp-mobile-menu-open{overflow:hidden;touch-action:none;}
body.gp-mobile-menu-open .gp-site-header{z-index:9999;}
.gp-mobile-menu-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.46);z-index:9998;opacity:0;pointer-events:none;transition:opacity .18s ease;}
body.gp-mobile-menu-open .gp-mobile-menu-backdrop{opacity:1;pointer-events:auto;}
@media(max-width:900px){
  .gp-site-header{position:sticky;top:0;z-index:9999;background:rgba(255,255,255,.96);-webkit-backdrop-filter:saturate(1.15) blur(14px);backdrop-filter:saturate(1.15) blur(14px);}
  .gp-header-inner{min-height:var(--gp-mobile-header-height);display:flex;align-items:center;justify-content:space-between;gap:14px;padding-left:16px;padding-right:16px;}
  .gp-brand-wrap,.gp-custom-logo-wrap,.gp-logo{min-width:0;}
  .gp-custom-logo-wrap img,.gp-site-icon-logo{max-height:48px;width:auto;}
  .gp-logo span{font-size:clamp(18px,5vw,24px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .gp-mobile-menu-toggle{display:inline-flex;flex:0 0 auto;min-height:44px;min-width:44px;justify-content:center;}
  .gp-nav{position:fixed;top:0;right:0;bottom:0;width:var(--gp-mobile-panel-width);max-width:360px;z-index:9999;display:flex!important;flex-direction:column;align-items:stretch;gap:8px;padding:calc(var(--gp-mobile-header-height) + 18px) 18px 24px;background:#fff;box-shadow:-24px 0 60px rgba(15,23,42,.20);overflow-y:auto;-webkit-overflow-scrolling:touch;transform:translateX(110%);transition:transform .22s ease;visibility:hidden;}
  body.gp-mobile-menu-open .gp-nav{transform:translateX(0);visibility:visible;}
  .gp-nav:before{content:'Navigazione';position:absolute;top:22px;left:20px;font-weight:950;font-size:18px;color:#0f172a;}
  .gp-nav a,.gp-nav li a{display:flex!important;align-items:center;justify-content:space-between;width:100%;min-height:48px;padding:13px 14px!important;border-radius:16px;text-decoration:none;font-weight:800;color:#0f172a;background:#f8fafc;border:1px solid rgba(15,23,42,.07);}
  .gp-nav a:hover,.gp-nav li a:hover,.gp-nav a:focus,.gp-nav li a:focus{background:linear-gradient(135deg,var(--gp-primary,#0003ff),#4f6bff)!important;color:#fff!important;outline:none;}
  .gp-nav li{display:block;width:100%;list-style:none;margin:0;padding:0;}
  .gp-nav ul{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;}
  .gp-nav .current-menu-item>a,.gp-nav .current_page_item>a{background:var(--gp-primary,#0003ff)!important;color:#fff!important;}
  body.gp-mobile-menu-open .gp-mobile-menu-bars span:nth-child(1){transform:translateY(6px) rotate(45deg);}
  body.gp-mobile-menu-open .gp-mobile-menu-bars span:nth-child(2){opacity:0;}
  body.gp-mobile-menu-open .gp-mobile-menu-bars span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
}
@media(max-width:480px){
  :root{--gp-mobile-panel-width:92vw;--gp-mobile-header-height:68px;}
  .gp-header-inner{padding-left:12px;padding-right:12px;}
  .gp-mobile-menu-label{display:none;}
  .gp-mobile-menu-toggle{padding:11px 12px;border-radius:16px;}
  .gp-nav{padding-left:14px;padding-right:14px;}
}
@media(min-width:901px){.gp-mobile-menu-backdrop{display:none!important;}}
