/* BupaWeb 2026 — menu unificato desktop + mobile */
.bw-header{overflow:visible}
.bw-nav{overflow:visible}
.bw-desktop-menu{display:flex;align-items:center;gap:10px;margin-left:auto;color:var(--bw-ink)}
.bw-menu-drop{position:relative;margin:0;padding:0}
.bw-menu-drop>summary{list-style:none;display:flex;align-items:center;gap:7px;min-height:46px;padding:0 10px;border-radius:999px;font-size:14px;font-weight:800;letter-spacing:-.01em;color:var(--bw-ink);cursor:pointer;white-space:nowrap;transition:background .18s ease,color .18s ease}
.bw-menu-drop>summary::-webkit-details-marker{display:none}
.bw-menu-drop>summary::after{content:'↘';font-size:10px;line-height:1;color:var(--bw-accent);transition:transform .18s ease}
.bw-menu-drop[open]>summary,.bw-menu-drop>summary:hover,.bw-menu-drop>summary:focus-visible,.bw-menu-drop.is-current>summary{background:rgba(32,185,159,.09);color:var(--bw-ink)}
.bw-menu-drop[open]>summary::after{transform:rotate(90deg)}
.bw-menu-panel{position:absolute;top:calc(100% + 12px);left:0;z-index:1800;display:none;width:330px;padding:10px;background:#fff;border:1px solid var(--bw-line);border-radius:18px;box-shadow:0 24px 70px rgba(11,23,27,.17)}
.bw-menu-drop[open]>.bw-menu-panel,.bw-menu-drop:focus-within>.bw-menu-panel{display:block}
.bw-menu-drop.bw-menu-right>.bw-menu-panel{left:auto;right:0}
.bw-menu-drop.bw-menu-guides>.bw-menu-panel{left:50%;width:min(650px,calc(100vw - 32px));transform:translateX(-50%)}
.bw-menu-grid{display:grid;grid-template-columns:1fr;gap:0}
.bw-menu-guides .bw-menu-grid{grid-template-columns:1fr 1fr;column-gap:8px}
.bw-menu-panel a{display:block;padding:11px 12px;border-radius:11px;color:var(--bw-ink);font-size:14px;line-height:1.25;text-decoration:none;transition:background .16s ease,transform .16s ease}
.bw-menu-panel a:hover,.bw-menu-panel a:focus-visible{background:#eefaf7;transform:translateX(2px);outline:none}
.bw-menu-panel a[aria-current="page"]{background:#e4f7f2;color:#087f6c}
.bw-menu-panel a.bw-menu-lead{padding:13px 12px 14px;margin-bottom:5px;border-bottom:1px solid var(--bw-line);border-radius:11px 11px 4px 4px}
.bw-menu-panel a.bw-menu-lead:hover{border-bottom-color:transparent}
.bw-menu-panel strong{display:block;font-size:14px;line-height:1.2}
.bw-menu-panel small{display:block;margin-top:4px;color:var(--bw-muted);font-size:11.5px;font-weight:500;line-height:1.35}
.bw-menu-divider{height:1px;background:var(--bw-line);margin:6px 8px}
.bw-desktop-menu>.bw-cta{margin-left:8px;white-space:nowrap}

/* Mobile */
.bw-mobile-panel{position:absolute;top:56px;right:0;width:min(92vw,380px);max-height:calc(100vh - 90px);overflow:auto;padding:10px;background:#fff;border:1px solid var(--bw-line);border-radius:18px;box-shadow:0 24px 70px rgba(11,23,27,.18)}
.bw-mobile>.bw-mobile-panel{display:block}
.bw-mobile-group{border-bottom:1px solid var(--bw-line)}
.bw-mobile-group:last-of-type{border-bottom:0}
.bw-mobile-group>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:13px 12px;font-weight:800;color:var(--bw-ink);cursor:pointer}
.bw-mobile-group>summary::-webkit-details-marker{display:none}
.bw-mobile-group>summary::after{content:'+';color:var(--bw-accent);font-size:19px;line-height:1}
.bw-mobile-group[open]>summary::after{content:'−'}
.bw-mobile-group>div{padding:0 6px 8px}
.bw-mobile-group a,.bw-mobile-direct{display:block!important;padding:10px 12px!important;border:0!important;border-radius:10px;font-size:14px;font-weight:650;color:var(--bw-ink)!important}
.bw-mobile-group a:hover,.bw-mobile-direct:hover{background:#eefaf7}
.bw-mobile-group a[aria-current="page"]{background:#e4f7f2;color:#087f6c!important}
.bw-mobile-direct{margin-top:6px;background:var(--bw-ink);color:#fff!important;text-align:center;font-weight:800!important}

@media(hover:hover) and (pointer:fine){
  .bw-menu-drop:not([open]):hover>.bw-menu-panel{display:block}
}
@media(max-width:1120px){
  .bw-desktop-menu{gap:2px}
  .bw-menu-drop>summary{padding-inline:8px;font-size:13px}
  .bw-desktop-menu>.bw-cta{padding-inline:18px;margin-left:4px}
}
@media(max-width:980px){
  .bw-desktop-menu{display:none}
  .bw-mobile{display:block}
  .bw-mobile>div:not(.bw-mobile-panel){display:none}
}
@media(min-width:981px){
  .bw-mobile{display:none!important}
}
@media(max-width:520px){
  .bw-mobile-panel{right:-4px;width:min(94vw,360px)}
}
