/* MAC-WINTER-05: effective German site header/panels, scoped to their own roots.
   Source: engine/versions/v4/src/site.css at 1887ef2; no feed or page stylesheet.
   Root classes travel with the header when navigation.js moves it into a dialog. */
header.winter-shell,
dialog.winter-shell {
  --pine:#163f43;
  --deep:#0d3033;
  --paper:#f6f3eb;
  --gold:#f2be45;
  --ink:#1b292b;
  --muted:#52615c;
  color:var(--ink);
  font:17px/1.6 Arial,Helvetica,sans-serif;
}
header.winter-shell,
header.winter-shell *,
header.winter-shell *::before,
header.winter-shell *::after,
dialog.winter-shell,
dialog.winter-shell *,
dialog.winter-shell *::before,
dialog.winter-shell *::after { box-sizing:border-box; }
header.winter-shell [hidden],
dialog.winter-shell [hidden] { display:none!important; }
header.winter-shell a,
dialog.winter-shell a { color:inherit; text-underline-offset:5px; }
header.winter-shell button,
header.winter-shell input,
header.winter-shell summary,
dialog.winter-shell button,
dialog.winter-shell input,
dialog.winter-shell summary { font:inherit; }
header.winter-shell button,
header.winter-shell a,
header.winter-shell summary,
dialog.winter-shell button,
dialog.winter-shell a,
dialog.winter-shell summary { touch-action:manipulation; }
header.winter-shell button,
dialog.winter-shell button { cursor:pointer; }
header.winter-shell button:disabled,
dialog.winter-shell button:disabled { cursor:wait; }
header.winter-shell a:focus-visible,
header.winter-shell button:focus-visible,
header.winter-shell summary:focus-visible,
dialog.winter-shell a:focus-visible,
dialog.winter-shell button:focus-visible,
dialog.winter-shell summary:focus-visible,
dialog.winter-shell input:focus-visible {
  outline:3px solid #a96400!important;
  outline-offset:4px;
}
dialog.winter-shell h2,
dialog.winter-shell h3,
dialog.winter-shell p { margin:0; }
dialog.winter-shell h2,
dialog.winter-shell h3 {
  line-height:1.08;
  letter-spacing:-.045em;
  text-wrap:balance;
  font-weight:500;
  overflow-wrap:anywhere;
}
dialog.winter-shell p { max-width:100%; }
header.winter-shell img,
dialog.winter-shell img { display:block; width:100%; height:auto; }

header.winter-shell.site-header {
  position:sticky;
  top:0;
  z-index:30;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  width:100%;
  height:72px;
  padding:4px 12px;
  background:rgb(246 243 235 / 84%);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid #163f4319;
  transition:transform .24s ease;
  will-change:transform;
}
header.winter-shell.site-header.is-hidden { transform:translateY(calc(-100% - 2px)); }
header.winter-shell .wordmark {
  display:flex;
  min-height:44px;
  align-items:center;
  justify-content:flex-start;
  justify-self:start;
  min-width:0;
  font-size:21px;
  font-weight:800;
  letter-spacing:-.055em;
  text-decoration:none;
  text-align:center;
  line-height:1.1;
}
header.winter-shell .header-actions { display:flex; gap:6px; align-items:center; }
header.winter-shell .brand-logo {
  display:block;
  width:min(172px,calc(100vw - 220px));
  height:auto;
  overflow:hidden;
  flex-shrink:1;
}
header.winter-shell .brand-logo img { width:100%; max-width:none; height:auto; transform:none; }
header.winter-shell .shell-button,
dialog.winter-shell .shell-button {
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  min-width:44px;
  min-height:44px;
  padding:9px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:var(--pine);
}
header.winter-shell .shell-button svg,
dialog.winter-shell .shell-button svg {
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
}
header.winter-shell .shell-button[aria-expanded=true],
dialog.winter-shell .shell-button[aria-expanded=true] { background:var(--pine); color:var(--paper); }
/* The sole document-wide effect is the native modal's existing scroll lock. */
html.panel-open { overflow:hidden; }
dialog.winter-shell.shell-panel {
  position:fixed;
  inset:0;
  width:100%;
  max-width:none;
  height:100dvh;
  max-height:100dvh;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  color:var(--pine);
  background:transparent;
  overflow:clip;
  transform:none;
  opacity:1;
  transition:none;
}
/* Explicitly retain native closed-dialog invisibility despite the local reset. */
dialog.winter-shell.shell-panel:not([open]) { display:none; }
dialog.winter-shell.shell-panel[open] { display:block; }
dialog.winter-shell.shell-panel::backdrop { background:linear-gradient(to bottom,transparent 72px,#0d30337a 72px); }
dialog.winter-shell.shell-panel>header.winter-shell.site-header {
  position:fixed;
  top:0;
  left:var(--header-left,0px);
  width:var(--header-width,100%);
  z-index:3;
  transform:none;
}
dialog.winter-shell .panel-surface {
  position:absolute;
  right:0;
  top:72px;
  bottom:0;
  width:min(100%,540px);
  background:var(--paper);
  overflow:auto;
  overscroll-behavior:contain;
  transform:translateX(100%);
  transition:transform .8s cubic-bezier(.22,.61,.36,1);
}
dialog.winter-shell.is-visible .panel-surface { transform:none; }
dialog.winter-shell .panel-content { padding:24px 24px 40px; }
dialog.winter-shell .panel-content h2 { font-size:32px; margin-bottom:28px; }
dialog.winter-shell .visually-hidden {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip-path:inset(50%);
  white-space:nowrap;
}
dialog.winter-shell .menu-links { display:flex; flex-direction:column; }
dialog.winter-shell .menu-links a {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:16px;
  min-height:56px;
  padding:13px 15px;
  margin:5px 0;
  border:1px solid #163f4340;
  border-radius:4px;
  background:#fff9;
  font-size:21px;
  line-height:1.25;
  letter-spacing:-.02em;
  text-decoration:none;
  opacity:1;
  transform:none;
}
dialog.winter-shell .menu-links a>span { font-size:inherit; }
dialog.winter-shell .menu-links a:has(>.theme-icon) { gap:12px; }
dialog.winter-shell .menu-links a:hover { background:#dce6db; }
html:not(.keyboard-navigation) dialog.winter-shell a:focus-visible { outline:none!important; }
dialog.winter-shell .theme-icon {
  width:26px;
  height:26px;
  min-width:26px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex-shrink:0;
}
dialog.winter-shell .menu-tools { display:flex; justify-content:flex-end; margin-bottom:12px; }
dialog.winter-shell .language-picker { position:relative; }
dialog.winter-shell .language-picker>summary { list-style:none; border-radius:6px; cursor:pointer; }
dialog.winter-shell .language-picker>summary::-webkit-details-marker { display:none; }
dialog.winter-shell .language-picker[open]>summary { background:var(--pine); color:var(--paper); }
dialog.winter-shell .menu-language { display:flex; gap:24px; flex-wrap:wrap; }
dialog.winter-shell .language-picker .menu-language {
  position:absolute;
  right:0;
  top:50px;
  z-index:2;
  min-width:180px;
  margin:0;
  padding:8px;
  background:var(--paper);
  border:1px solid #879f8b;
  border-radius:4px;
  box-shadow:0 6px 18px #0d30331a;
}
dialog.winter-shell .language-picker .menu-language a {
  display:flex;
  align-items:center;
  min-height:44px;
  padding:8px 12px;
  font-size:17px;
  text-decoration:none;
  border-radius:2px;
}
dialog.winter-shell .menu-language a[aria-current=page] { font-weight:bold; text-decoration:none; }
dialog.winter-shell .language-picker .menu-language [aria-current] { background:var(--pine); color:var(--paper); }
dialog.winter-shell .menu-contact {
  position:relative;
  margin-top:22px;
  padding:12px 16px;
  border:1px solid #879f8b;
  border-radius:4px;
  background:#e2e8dc66;
}
dialog.winter-shell .menu-contact>a { display:flex; align-items:center; min-height:48px; font-size:18px; overflow-wrap:anywhere; }
dialog.winter-shell .menu-contact .menu-location { justify-content:space-between; gap:12px; line-height:1.3; text-decoration:none; }
dialog.winter-shell .menu-location:after { content:''; position:absolute; inset:0; border-radius:4px; }
dialog.winter-shell .menu-contact>a:not(.menu-location) { position:relative; z-index:1; }
dialog.winter-shell .opening-hours { font-size:17px; line-height:1.5; }
dialog.winter-shell .opening-hours dl { margin:10px 0 0; }
dialog.winter-shell .opening-hours dl>div+div { margin-top:8px; }
dialog.winter-shell .opening-hours dd { margin:0; }
dialog.winter-shell .menu-contact .opening-hours { margin:12px 0 6px; }
dialog.winter-shell .menu-contact:has(.menu-location:hover) { background:#dce6db; }
dialog.winter-shell .menu-contact:has(.menu-location:focus-visible) { outline:3px solid #a96400; outline-offset:4px; }

dialog.winter-shell label { display:block; margin-top:18px; font-size:15px; }
dialog.winter-shell input[type=search] {
  display:block;
  width:100%;
  padding:12px;
  margin-top:7px;
  border:1px solid #8c9d91;
  border-radius:2px;
  background:transparent;
  color:inherit;
  font-size:17px;
  max-width:100%;
}
dialog.winter-shell .search-status { margin-top:24px; font-size:16px; }
dialog.winter-shell .search-results { display:flex; flex-direction:column; margin-top:20px; }
dialog.winter-shell .search-results section+section { margin-top:24px; }
dialog.winter-shell .search-results h3 { font-size:20px; letter-spacing:-.02em; margin-bottom:4px; }
dialog.winter-shell .search-results a {
  display:block;
  padding:16px 0;
  border-bottom:1px solid #163f432b;
  min-height:60px;
  text-decoration:none;
  font-size:21px;
  line-height:1.3;
}
dialog.winter-shell .search-results small { display:block; font-size:15px; color:var(--muted); margin-top:6px; line-height:1.5; }
dialog.winter-shell .search-filters { display:flex; flex-wrap:wrap; gap:6px; margin-top:16px; }
dialog.winter-shell .search-filters button { min-height:44px; padding:8px 12px; border:1px solid #879f8b; border-radius:4px; background:transparent; color:var(--pine); font-size:16px; }
dialog.winter-shell .search-filters [aria-pressed=true] { background:var(--pine); color:var(--paper); }

/* Native disclosure keeps the same 72px header before scripts and on failure.
   The links open below the header; loading never expands the page's top bar. */
html:not(.site-navigation-ready) header.winter-shell .header-actions { display:none; }
header.winter-shell .winter-shell-fallback { grid-column:2; grid-row:1; justify-self:end; }
header.winter-shell .winter-shell-fallback>summary { list-style:none; }
header.winter-shell .winter-shell-fallback>summary::-webkit-details-marker { display:none; }
header.winter-shell .winter-shell-nojs {
  position:absolute;
  top:100%;
  right:0;
  display:flex;
  flex-direction:column;
  width:min(100vw,540px);
  max-height:calc(100dvh - 72px);
  overflow:auto;
  padding:16px 24px;
  background:var(--paper);
  border:1px solid #163f4340;
  box-shadow:0 8px 20px #0d303318;
}
header.winter-shell .winter-shell-nojs a { display:inline-flex; align-items:center; min-height:44px; font-size:16px; }
header.winter-shell .winter-shell-fallback:not([open])>.winter-shell-nojs { display:none; }
html.site-navigation-ready header.winter-shell .winter-shell-fallback { display:none; }
html.site-navigation-ready header.winter-shell .winter-shell-nojs { display:none; }
@media(min-width:700px) {
  header.winter-shell.site-header { padding-inline:32px; }
}
@media(max-width:359px) {
  header.winter-shell.site-header { padding-inline:8px; gap:8px; }
  header.winter-shell .header-actions { gap:4px; }
}
@media(min-width:1040px) {
  header.winter-shell.site-header.is-hidden { transform:none; }
}
@media(prefers-reduced-motion:reduce) {
  header.winter-shell.site-header { transition:none; }
  dialog.winter-shell .panel-surface { transition:none; transform:none; }
}

/* Private profile controls, scoped to shared chrome only. */

dialog.winter-shell#profile-panel form{display:grid;gap:16px;margin-top:24px}dialog.winter-shell#profile-panel label{display:grid;gap:6px}dialog.winter-shell#profile-panel input{min-width:0;width:100%;min-height:44px;padding:10px;border:1px solid var(--muted);border-radius:4px;background:var(--paper);color:var(--ink);font:inherit}dialog.winter-shell#profile-panel [hidden]{display:none!important}dialog.winter-shell#profile-panel .profile-privacy{font-size:16px;line-height:1.5}dialog.winter-shell#profile-panel summary{min-height:44px;cursor:pointer}dialog.winter-shell#profile-panel .menu-tools{margin:0}dialog.winter-shell#profile-panel .language-picker a{font-size:18px}dialog.winter-shell#profile-panel [role=status]{line-height:1.5}dialog.winter-shell#profile-panel .menu-links button{white-space:normal;text-align:left}

html[data-simple-view] dialog.winter-shell .panel-surface{transition:none;transform:none}

/* Shared compact profile tools and information dialog: scoped winter/PHP chrome. */

dialog.winter-shell#profile-panel .profile-tools{display:flex;align-items:flex-start;gap:10px;margin:4px 0 24px;padding-bottom:20px;border-bottom:1px solid #163f4330}
dialog.winter-shell#profile-panel .profile-tools>.shell-button,dialog.winter-shell#profile-panel .profile-tools summary{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-height:44px;padding:10px;border:1px solid #163f4330;border-radius:4px;background:transparent;color:var(--pine)}
dialog.winter-shell#profile-panel .profile-tools .shell-button:hover,dialog.winter-shell#profile-panel .profile-tools summary:hover{background:#dce6db}
dialog.winter-shell#profile-panel .profile-tools [aria-pressed=true]{background:var(--pine);color:var(--paper)}
dialog.winter-shell#profile-panel .profile-tools .language-picker{position:relative;margin:0}
dialog.winter-shell#profile-panel .profile-tools .language-picker>summary{list-style:none}
dialog.winter-shell#profile-panel .profile-tools .language-picker>summary::-webkit-details-marker{display:none}
dialog.winter-shell#profile-panel .profile-tools .language-picker>nav{position:absolute;z-index:2;top:52px;left:0;min-width:180px;padding:8px;background:var(--paper);border:1px solid #163f4340;border-radius:4px;box-shadow:0 8px 20px #0d303318}
dialog.winter-shell#profile-panel .profile-action,dialog.winter-shell.profile-info .profile-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:12px 16px;border:1px solid var(--pine);border-radius:4px;background:var(--pine);color:var(--paper);font:inherit;font-weight:700;cursor:pointer}
dialog.winter-shell#profile-panel .profile-action:hover,dialog.winter-shell.profile-info .profile-action:hover{background:var(--deep)}
dialog.winter-shell#profile-panel .profile-action-secondary{background:transparent;color:var(--pine);font-weight:400}
dialog.winter-shell#profile-panel .profile-action-secondary:hover{background:#dce6db}
dialog.winter-shell#profile-panel .profile-action:disabled{opacity:.6;cursor:wait}
dialog.winter-shell#profile-panel form{margin-bottom:24px}
dialog.winter-shell#profile-panel .menu-links .theme-icon{flex:0 0 24px;width:24px;height:24px}
dialog.winter-shell.profile-info{width:min(540px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:0;overflow:auto;border:1px solid #163f4340;border-radius:4px;background:var(--paper);color:var(--ink);font:17px/1.6 Arial,Helvetica,sans-serif;box-shadow:0 20px 80px #0d303326}
dialog.winter-shell.profile-info:not([open]){display:none}
dialog.winter-shell.profile-info::backdrop{background:#0d303366;backdrop-filter:blur(4px)}
dialog.winter-shell.profile-info .profile-info-content{padding:28px}
dialog.winter-shell.profile-info .profile-info-close{display:flex;margin-left:auto}
dialog.winter-shell.profile-info .profile-info-kicker{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:15px}
dialog.winter-shell.profile-info .ui-icon{width:24px;height:24px;flex:none}
dialog.winter-shell.profile-info h2{font-size:28px;line-height:1.2;letter-spacing:-.03em;margin:20px 0}
dialog.winter-shell.profile-info p{margin:0 0 18px;overflow-wrap:anywhere}
dialog.winter-shell.profile-info button:focus-visible{outline:3px solid #a96400;outline-offset:3px}

/* Shared campaign variant: customer targets come from navigation_data. */
dialog.winter-shell .menu-links a.menu-campaign{--campaign-surface:#f8e6d6;--campaign-hover:#f2d4b8;background:var(--campaign-surface);color:var(--pine)}
dialog.winter-shell .menu-links a.menu-campaign:hover{background:var(--campaign-hover)}
dialog.winter-shell .menu-links a.menu-campaign>span{flex:1;min-width:0;overflow-wrap:anywhere}
dialog.winter-shell .menu-links a.menu-campaign>.campaign-icon{margin-left:auto;flex:0 0 20px;width:20px;height:20px}

/* Search demand notice is informational, without a modal or consent banner. */
dialog.winter-shell#search-panel .search-privacy { margin-top: .8rem; font-size: .8rem; line-height: 1.5; }
dialog.winter-shell#search-panel .search-privacy a { margin-inline-end: .8rem; }
dialog.winter-shell#search-panel .search-privacy-toggle { font: inherit; color: inherit; background: transparent; border: 1px solid currentColor; border-radius: .4rem; padding: .5rem .7rem; cursor: pointer; }

.consultation-preview{padding:10px 24px;background:#fff2c9;color:#17383a;font:15px/1.5 Arial,sans-serif}header.winter-shell a{margin:0}header.winter-shell p,dialog.winter-shell p{margin-bottom:0}
