/* p00d layout v4 - shared sections, including missing-section placeholders.
   Loaded after site-layout.css; avoids rendering legacy hard-coded wording. */
body > header.site-header[data-p00d-shell="header"] {
  box-sizing: border-box; min-height: 154px; width: 100%; background: #2c3e50; margin: 0;
}
body > nav.p00d-site-nav[data-p00d-shell="nav"] {
  box-sizing: border-box; min-height: 48px; width: 100%; background: #34495e; margin: 0;
}
/* Force consistent sizing even when a particular puzzle has its own header rules. */
body > header.site-header, body > nav.p00d-site-nav, body > footer.site-footer { box-sizing: border-box !important; }
body > nav.p00d-site-nav { max-width: none !important; width: 100% !important; }
body > footer.site-footer { clear: both !important; width: 100% !important; }
body > nav.p00d-site-nav a[aria-current="page"] { background: rgba(255,255,255,.15) !important; }
@media (max-width: 560px) {
  body > header.site-header[data-p00d-shell="header"] { min-height:154px; }
  body > nav.p00d-site-nav[data-p00d-shell="nav"] { min-height:44px; }
}

/* Native navigation dropdowns (P00D). Uses built-in <details> so touch input
   works even when old JavaScript, aggressive tool-specific CSS or cache interferes. */
nav.p00d-site-nav:has(details.p00d-native-nav-group) { color:#fff; overflow:visible!important; }
nav.p00d-site-nav details.p00d-native-nav-group {
  display:inline-block!important; position:relative!important; overflow:visible!important;
  box-sizing:border-box!important; padding:0!important; margin:0!important; flex:0 0 auto!important;
  font-family:Arial,Helvetica,sans-serif!important;
}
nav.p00d-site-nav details.p00d-native-nav-group > summary {
  display:inline-flex!important; align-items:center!important; gap:5px!important;
  cursor:pointer!important; list-style:none!important; -webkit-appearance:none!important;
  color:inherit!important; font-family:inherit!important; font-weight:700!important;
  font-size:.9rem!important; line-height:1.2!important; white-space:nowrap!important;
  padding:9px 11px!important; margin:0!important; height:auto!important;
  background:transparent!important; border:0!important; border-radius:8px!important;
  box-shadow:none!important; text-align:center!important;
}
nav.p00d-site-nav details.p00d-native-nav-group > summary::-webkit-details-marker {display:none!important}
nav.p00d-site-nav details.p00d-native-nav-group > summary:hover,
nav.p00d-site-nav details.p00d-native-nav-group[open] > summary { background:rgba(255,255,255,.12)!important; }
nav.p00d-site-nav details.p00d-native-nav-group > summary:focus-visible { outline:2px solid currentColor!important;outline-offset:1px!important }
nav.p00d-site-nav details.p00d-native-nav-group > .p00d-native-nav-menu {
  display:none!important; position:absolute!important; top:calc(100% + 3px)!important;
  left:0!important; right:auto!important; z-index:100000!important;
  box-sizing:border-box!important; min-width:190px!important; max-width:calc(100vw - 20px)!important;
  padding:7px!important; margin:0!important; border-radius:10px!important;
  border:1px solid rgba(255,255,255,.22)!important;
  background:#34495e!important; box-shadow:0 12px 28px rgba(0,0,0,.3)!important;
  flex-direction:column!important; align-items:stretch!important; gap:2px!important;
}
nav.p00d-site-nav details.p00d-native-nav-group[open] > .p00d-native-nav-menu {display:flex!important}
nav.p00d-site-nav details.p00d-native-nav-group > .p00d-native-nav-menu > a {
  display:block!important; width:100%!important; text-align:left!important; white-space:normal!important;
  box-sizing:border-box!important; color:inherit!important; margin:0!important;
  padding:11px 13px!important; border-radius:7px!important; text-decoration:none!important;
}
nav.p00d-site-nav details.p00d-native-nav-group > .p00d-native-nav-menu > a:hover,
nav.p00d-site-nav details.p00d-native-nav-group > .p00d-native-nav-menu > a:focus-visible {background:rgba(255,255,255,.14)!important}
@media(max-width:600px) {
  nav.p00d-site-nav:has(details.p00d-native-nav-group) { overflow:visible!important;flex-wrap:wrap!important;justify-content:center!important; }
  nav.p00d-site-nav details.p00d-native-nav-group > summary {font-size:.85rem!important}
  nav.p00d-site-nav details.p00d-native-nav-group > .p00d-native-nav-menu {
    left:50%!important;right:auto!important;transform:translateX(-50%)!important;
  }
}
