/* Gesundheitsparadies 322 – shared search and compact, viewport-aware menu.
 * A single late-loaded stylesheet replaces the entire 266 navigation layer.
 * No edits to search logic, link destinations or page content.
 */
:root {
  --gp-menu-ink: #294b3e;
  --gp-menu-muted: #5a6e62;
  --gp-menu-accent: #2d6e53;
  --gp-menu-border: #d8e4db;
  --gp-menu-hover: #f0f7f2;
  --gp-menu-selected: #edf5ef;
}
/* GP618: overflow:hidden creates a new scroll container and shifts the sticky
 * header when the menu opens mid-page. `clip` blocks background wheel scroll
 * without changing the document scrollport or the sticky containing block.
 * The panel retains independent overflow-y:auto below. */
html:has(body.gp-hf-menu-open), body.gp-hf-menu-open { overflow:clip; }
.gp-hf-overlay { background: rgba(24,48,37,.23); backdrop-filter: blur(3px); }

/* The drawer header stays visible. Only its link area scrolls if the window
   is truly too short; no legal or main navigation entries are hidden. */
.gp-hf-panel {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  width: min(100vw, 34rem);
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  scrollbar-gutter: auto;
  background: #fafcfb;
  color: var(--gp-menu-ink);
  border-left: 1px solid var(--gp-menu-border);
  box-shadow: -16px 0 46px rgba(31,55,40,.14);
}
body.admin-bar .gp-hf-panel { height: calc(100vh - 32px); height: calc(100dvh - 32px); }
.gp-hf-panel .gp-hf-panel-sticky {
  position: relative;
  z-index: 8;
  flex: 0 0 auto;
  gap: 9px;
  padding: 10px 19px 10px;
  border-bottom: 1px solid var(--gp-menu-border);
  background: #fafcfb;
  backdrop-filter: none;
}
.gp-hf-panel .gp-hf-panel-top { min-height: 38px; gap: 12px; }
.gp-hf-panel-top .gp-hf-logo--compact { width: min(245px, 77%); }
.gp-hf-panel-top .gp-hf-logo--compact img { max-height: 35px; }
.gp-hf-panel .gp-hf-close {
  display: grid;
  place-items: center;
  width: 38px; height: 38px;
  min-width: 38px; min-height: 38px;
  border: 1px solid var(--gp-menu-border);
  color: var(--gp-menu-ink);
  background: #fff;
  box-shadow: none;
}
.gp-hf-panel .gp-hf-close:hover { background: var(--gp-menu-hover); border-color: var(--gp-menu-border); color: var(--gp-menu-ink); }
.gp-hf-panel .gp-hf-close:focus-visible { outline: 2px solid var(--gp-menu-accent); outline-offset: 2px; }

/* Consistent search geometry in header and open menu: thinner line, no
   distracting extra border when search gets automatic focus on opening. */
.gp-hf-header .gp-hf-search,
.gp-hf-panel .gp-hf-search {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr) 46px !important;
  align-items: stretch;
  height: 48px !important;
  min-height: 48px !important;
  border: 1px solid #d7e4dc !important;
  border-radius: 999px !important;
  background: #fff;
  box-shadow: 0 2px 7px rgba(32,66,46,.025);
  overflow: hidden;
}
/* A true choice grid inside the drawer: all six search scopes remain visible.
   The earlier horizontal rail hid half of the available choices off-screen. */
.gp-hf-panel .gp-hf-search-wrap { min-width: 0; }
.gp-hf-panel .gp-hf-search { width: 100%; }
.gp-hf-panel .gp-hf-scope-panel:not([hidden]) {
  position: static;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: .4rem;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: .6rem 0 0;
  padding: .65rem 0 .15rem;
  border: 0;
  border-top: 1px solid var(--gp-menu-border);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}
.gp-hf-panel .gp-hf-scope-panel button {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 42px;
  padding: .5rem .32rem;
  border-radius: 999px;
  font-size: clamp(.67rem, .77vw, .8rem);
  font-weight: 675;
  line-height: 1.2;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
  text-align: center;
}
.gp-hf-panel .gp-hf-scope-button { align-items: center !important; }
.gp-hf-panel .gp-hf-scope-button [data-gp-hf-scope-label] { display: flex; align-items: center; min-height: 100%; }
.gp-hf-panel .gp-hf-scope-button svg { flex: 0 0 auto; }
.gp-hf-header .gp-hf-scope-button [data-gp-hf-scope-label],.gp-hf-panel .gp-hf-scope-button [data-gp-hf-scope-label]{min-width:0;display:flex;justify-content:center;align-items:center;white-space:nowrap}
.gp-hf-header .gp-hf-scope-button svg,.gp-hf-panel .gp-hf-scope-button svg{flex:0 0 14px}
@media (max-width: 450px) {
  .gp-hf-panel .gp-hf-scope-panel:not([hidden]) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gp-hf-panel .gp-hf-scope-panel button { font-size: .76rem; min-height: 44px; }
}

.gp-hf-header .gp-hf-search:focus-within,
.gp-hf-panel .gp-hf-search:focus-within {
  border-color: #adc9b8 !important;
  box-shadow: 0 0 0 1px rgba(47,118,90,.12);
}
.gp-hf-header .gp-hf-scope-button,
.gp-hf-panel .gp-hf-scope-button {
  box-sizing: border-box;
  position: relative !important;
  display: inline-flex !important;
  grid-column: auto !important;
  align-items: center;
  justify-content: center !important;
  gap: 10px !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 12px !important;
  border: 0 !important;
  background: #fff !important;
  color: var(--gp-menu-ink) !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 670 !important;
}
.gp-hf-header .gp-hf-scope-button::after,
.gp-hf-panel .gp-hf-scope-button::after {
  content: "" !important;
  position: absolute;
  right: 0;
  top: 22%;
  bottom: 22%;
  width: 1px;
  background: #d4e2d8;
  pointer-events: none;
}
.gp-hf-header .gp-hf-scope-button svg,
.gp-hf-panel .gp-hf-scope-button svg { width: 14px !important; height: 14px !important; }
.gp-hf-header .gp-hf-search input,
.gp-hf-panel .gp-hf-search input {
  min-width: 0;
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 13px !important;
  border: 0 !important;
  background: #fff !important;
  color: var(--gp-menu-ink) !important;
  font-size: 14px !important;
  font-weight: 480 !important;
  line-height: 1.25 !important;
}
.gp-hf-header .gp-hf-search input::placeholder,
.gp-hf-panel .gp-hf-search input::placeholder { color: #798a81 !important; font-weight: 480 !important; }
.gp-hf-header .gp-hf-search-submit,
.gp-hf-panel .gp-hf-search-submit {
  box-sizing: border-box;
  width: 46px !important;
  min-width: 46px !important;
  min-height: 48px !important;
  border: 0 !important;
  color: var(--gp-menu-ink) !important;
  background: #fff !important;
}
.gp-hf-header .gp-hf-search-submit svg,
.gp-hf-panel .gp-hf-search-submit svg { width: 19px !important; height: 19px !important; }
.gp-hf-header .gp-hf-scope-button:hover,
.gp-hf-panel .gp-hf-scope-button:hover,
.gp-hf-header .gp-hf-search-submit:hover,
.gp-hf-panel .gp-hf-search-submit:hover { background: #f1f7f3 !important; color: #215a41 !important; }

.gp-hf-panel .gp-hf-panel-body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 9px 19px 12px;
  background: #fafcfb;
  overscroll-behavior-y: contain;
  scrollbar-width: thin;
  scrollbar-color: #c5d9ca transparent;
}
.gp-hf-panel .gp-hf-panel-nav {
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: 3px;
  padding: 2px 0 10px;
}
.gp-hf-panel .gp-hf-panel-link {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  min-width: 0;
  min-height: 41px;
  padding: 8px 13px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: var(--gp-menu-ink);
  font-size: 14.5px;
  font-weight: 660;
  letter-spacing: -.008em;
  line-height: 1.24;
  overflow-wrap: anywhere;
  text-decoration: none;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.gp-hf-panel .gp-hf-panel-link:hover {
  background: var(--gp-menu-hover);
  color: var(--gp-menu-ink);
  border-color: transparent;
}
.gp-hf-panel .gp-hf-panel-link:focus-visible,
.gp-hf-panel .gp-hf-panel-legal a:focus-visible {
  outline: 2px solid var(--gp-menu-accent);
  outline-offset: -2px;
  background: var(--gp-menu-hover);
}
.gp-hf-panel .gp-hf-panel-link.is-current,
.gp-hf-panel .gp-hf-panel-link[aria-current="page"] {
  background: var(--gp-menu-selected);
  color: var(--gp-menu-ink);
  border-color: transparent;
  font-weight: 710;
}
.gp-hf-panel .gp-hf-panel-legal {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 3px;
  margin-top: auto;
  padding: 7px 0 0;
  border-top: 1px solid var(--gp-menu-border);
}
.gp-hf-panel .gp-hf-panel-legal a {
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 0;
  min-height: 37px;
  padding: 5px 2px;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  color: var(--gp-menu-muted);
  font-size: 11.7px;
  font-weight: 660;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.gp-hf-panel .gp-hf-panel-legal a:first-child { border-left: 1px solid transparent; }
.gp-hf-panel .gp-hf-panel-legal a:hover { background: var(--gp-menu-hover); color: var(--gp-menu-ink); text-decoration: none; }
.gp-hf-panel .gp-hf-panel-legal a[aria-current="page"] { background: var(--gp-menu-selected); color: var(--gp-menu-ink); font-weight: 710; }

/* Short desktop/laptop viewports, including WordPress admin bar and browser
   zoom, get slightly denser rows while keeping all links keyboard reachable. */
@media (min-width: 721px) and (max-height: 740px) {
  .gp-hf-panel .gp-hf-panel-sticky { padding-block: 8px; gap: 7px; }
  .gp-hf-panel .gp-hf-panel-top { min-height: 36px; }
  .gp-hf-panel .gp-hf-panel-body { padding-top: 4px; padding-bottom: 7px; }
  .gp-hf-panel .gp-hf-panel-nav { padding-bottom: 6px; gap: 2px; }
  .gp-hf-panel .gp-hf-panel-link { min-height: 38px; padding-block: 6px; font-size: 14px; }
  .gp-hf-panel .gp-hf-panel-legal { padding-top: 5px; }
  .gp-hf-panel .gp-hf-panel-legal a { min-height: 35px; }
}

/* Phone/tablet: use touch-sized targets and allow real scrolling where the
   physical display cannot fit thirteen destinations at once. */
@media (max-width: 720px) {
  .gp-hf-panel { width: 100vw; }
  .gp-hf-panel .gp-hf-panel-sticky { padding: 10px 14px 9px; }
  .gp-hf-panel .gp-hf-panel-body { padding: 8px 14px 12px; }
  .gp-hf-panel .gp-hf-panel-link { min-height: 44px; padding: 8px 11px; font-size: 14.5px; }
  .gp-hf-panel .gp-hf-panel-legal a { min-height: 44px; font-size: 11.5px; }
}
@media (max-width: 48.875rem) {
  body.admin-bar .gp-hf-panel { height: calc(100vh - 46px); height: calc(100dvh - 46px); }
}
@media (max-width: 430px) {
  .gp-hf-panel .gp-hf-panel-sticky { padding-inline: 12px; }
  .gp-hf-panel .gp-hf-panel-body { padding-inline: 12px; }
  .gp-hf-panel .gp-hf-search { grid-template-columns: 92px minmax(0,1fr) 44px !important; height: 46px !important; min-height: 46px !important; }
  .gp-hf-panel .gp-hf-scope-button { padding-inline: 10px !important; font-size: 13px !important; border-bottom: 0 !important; }
  .gp-hf-panel .gp-hf-search input { padding-inline: 10px !important; font-size: 13.5px !important; }
  .gp-hf-panel .gp-hf-search-submit { width: 44px !important; min-width: 44px !important; min-height: 46px !important; }
}
@media (prefers-reduced-motion: reduce) { .gp-hf-panel .gp-hf-panel-link { transition: none; } }

/* The same almost-white sage tint is used for all menu interactions. */
.gp-hf-panel .gp-hf-scope-panel button:hover,
.gp-hf-panel .gp-hf-scope-panel button.is-active{
  background:var(--gp-menu-hover)!important;
  color:var(--gp-menu-ink)!important;
  border-color:var(--gp-menu-border)!important;
  box-shadow:none!important;
}
.gp-hf-panel .gp-hf-panel-link:hover,
.gp-hf-panel .gp-hf-panel-link[aria-current="page"]:hover{
  background:var(--gp-menu-hover)!important;
  box-shadow:none!important;
}

/* Header quick actions share the drawer's light-sage hover, without a new badge,
   extra border, box shadow or movement. */
.gp-hf-header :is(.gp-hf-action,.gp-hf-menu-button):hover{
  background:#f0f7f2!important;
  border-color:var(--gp-menu-border)!important;
  box-shadow:none!important;
  transform:none!important;
}
.gp-hf-header :is(.gp-hf-action,.gp-hf-menu-button):focus-visible{
  outline:2px solid var(--gp-menu-accent);
  outline-offset:2px;
}

/* GP683: optical centering of the actual scope and search actions at every width. */
.gp-hf-search {min-width:0}
.gp-hf-search .gp-hf-scope-button {display:flex;align-items:center;justify-content:center;gap:.35rem;min-width:0;line-height:1.2}
.gp-hf-search .gp-hf-scope-button [data-gp-hf-scope-label] {min-width:0;line-height:1.2}
.gp-hf-search .gp-hf-scope-button>svg {width:.95rem;height:.95rem;flex:none;margin:0}
.gp-hf-search .gp-hf-search-submit {display:grid;place-items:center;padding:0;margin:0;min-width:0}
.gp-hf-search .gp-hf-search-submit>svg {width:1.25rem;height:1.25rem;margin:0}
.gp-hf-search input[type=search] {min-width:0;max-width:100%;border-radius:0}
@media(max-width:480px){.gp-hf-header .gp-hf-search {grid-template-columns:minmax(74px,auto) minmax(0,1fr) 42px!important}}

/* GP706: no Safari input zoom on narrow screens. */
@media(max-width:430px){.gp-hf-panel input[type="search"]{font-size:16px!important}}
