/* =========================================================
   JHB Premium Mega Menu
   Eigenes Kadence-Mega-Menü ohne native Flyouts
   ========================================================= */

:root {
  --jhb-pmm-green-950: #06250f;
  --jhb-pmm-green-900: #092f14;
  --jhb-pmm-green-850: #0d3a18;
  --jhb-pmm-green-700: #1f5b28;
  --jhb-pmm-orange: #e9620b;
  --jhb-pmm-apricot: #f27a26;
  --jhb-pmm-ink: #1f3438;
  --jhb-pmm-muted: #66797e;
  --jhb-pmm-line: rgba(31, 52, 56, .11);
  --jhb-pmm-orange-soft: rgba(233, 98, 11, .12);
  --jhb-pmm-surface: rgba(255, 251, 246, .985);
  --jhb-pmm-white: rgba(255, 255, 255, .92);
  --jhb-pmm-shadow: 0 28px 82px rgba(3, 20, 8, .26);
}

@media (min-width: 1025px) {

  body.jhb-pmm-enabled .site-header,
  body.jhb-pmm-enabled .site-header .site-header-row-container-inner,
  body.jhb-pmm-enabled .site-header .site-container,
  body.jhb-pmm-enabled .site-header .main-navigation,
  body.jhb-pmm-enabled .site-header .primary-menu-container,
  body.jhb-pmm-enabled .site-header .header-menu-container,
  body.jhb-pmm-enabled .site-header ul.menu {
    overflow: visible;
  }

  body.jhb-pmm-enabled #primary-menu > li.jhb-pmm-source,
  body.jhb-pmm-enabled .primary-menu-container > ul.menu > li.jhb-pmm-source,
  body.jhb-pmm-enabled .header-menu-container > ul.menu > li.jhb-pmm-source,
  body.jhb-pmm-enabled .main-navigation ul.menu > li.jhb-pmm-source {
    position: relative;
  }

  body.jhb-pmm-enabled #primary-menu > li.jhb-pmm-source > .sub-menu,
  body.jhb-pmm-enabled .site-header #primary-menu > li.jhb-pmm-source > .sub-menu,
  body.jhb-pmm-enabled .primary-menu-container > ul.menu > li.jhb-pmm-source > .sub-menu,
  body.jhb-pmm-enabled .header-menu-container > ul.menu > li.jhb-pmm-source > .sub-menu,
  body.jhb-pmm-enabled .main-navigation ul.menu > li.jhb-pmm-source > .sub-menu {
    display: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  body.jhb-pmm-enabled li.jhb-pmm-source > a {
    border-radius: 16px;
    transition: background-color .22s ease, color .22s ease, box-shadow .22s ease;
  }

  body.jhb-pmm-enabled li.jhb-pmm-source:hover > a,
  body.jhb-pmm-enabled li.jhb-pmm-source:focus-within > a,
  body.jhb-pmm-enabled li.jhb-pmm-source.is-jhb-pmm-open > a {
    color: var(--jhb-pmm-orange);
    background: rgba(255, 255, 255, .09);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .09);
  }

  body.jhb-pmm-enabled li.jhb-pmm-source::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -27px;
    width: 17px;
    height: 17px;
    border-radius: 5px;
    background: var(--jhb-pmm-green-900);
    transform: translateX(-50%) rotate(45deg) scale(.84);
    opacity: 0;
    visibility: hidden;
    z-index: 100002;
    transition: opacity .18s ease, visibility .18s ease, transform .22s ease;
  }

  body.jhb-pmm-enabled li.jhb-pmm-source:hover::after,
  body.jhb-pmm-enabled li.jhb-pmm-source:focus-within::after,
  body.jhb-pmm-enabled li.jhb-pmm-source.is-jhb-pmm-open::after {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) rotate(45deg) scale(1);
  }

  .jhb-pmm-panel {
    position: absolute;
    top: calc(100% + 17px);
    left: 50%;
    z-index: 100001;
    color: var(--jhb-pmm-ink);
    border: 1px solid rgba(255, 255, 255, .56);
    border-radius: 26px;
    box-shadow: var(--jhb-pmm-shadow);
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate3d(-50%, 9px, 0) scale(.985);
    transform-origin: top center;
    transition:
      opacity .20s ease,
      visibility .20s ease,
      transform .24s cubic-bezier(.2,.8,.2,1);
  }

  .jhb-pmm-panel::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -22px;
    height: 24px;
  }

  body.jhb-pmm-enabled li.jhb-pmm-source:hover > .jhb-pmm-panel,
  body.jhb-pmm-enabled li.jhb-pmm-source:focus-within > .jhb-pmm-panel,
  body.jhb-pmm-enabled li.jhb-pmm-source.is-jhb-pmm-open > .jhb-pmm-panel {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate3d(-50%, 0, 0) scale(1);
  }

  .jhb-pmm-panel--mega {
    display: grid;
    grid-template-columns: 214px minmax(0, 1fr);
    background:
      radial-gradient(circle at 92% 8%, rgba(233, 98, 11, .10), transparent 34%),
      radial-gradient(circle at 52% 112%, rgba(242, 122, 38, .075), transparent 40%),
      linear-gradient(90deg, var(--jhb-pmm-green-900) 0 214px, var(--jhb-pmm-surface) 214px 76%, rgba(255,245,237,.98) 100%);
    backdrop-filter: blur(22px);
  }

  .jhb-pmm-panel--angebote {
    width: min(720px, calc(100vw - 36px));
  }

  .jhb-pmm-panel--standorte {
    width: min(940px, calc(100vw - 36px));
  }

  .jhb-pmm-source--angebote .jhb-pmm-panel {
    left: 50%;
  }

  .jhb-pmm-source--standorte .jhb-pmm-panel {
    left: 50%;
  }

  .jhb-pmm-rail {
    display: flex;
    flex-direction: column;
    min-height: 318px;
    padding: 25px 20px;
    color: #fff;
    background:
      radial-gradient(circle at 16% 14%, rgba(77, 142, 51, .42), transparent 35%),
      linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0));
  }

  .jhb-pmm-kicker {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    max-width: 100%;
    padding: 7px 10px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    color: rgba(255,255,255,.92);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
    line-height: 1;
  }

  .jhb-pmm-kicker span {
    width: 7px;
    height: 7px;
    border-radius: 999px;
    background: var(--jhb-pmm-orange);
    box-shadow: 0 0 0 5px rgba(233, 98, 11, .18);
  }

  .jhb-pmm-rail-title {
    display: block;
    margin: 18px 0 10px;
    color: #fff;
    font-size: clamp(26px, 1.85vw, 31px);
    line-height: 1.04;
    letter-spacing: -.045em;
    font-weight: 950;
  }

  .jhb-pmm-rail p {
    margin: 0;
    color: rgba(255,255,255,.86);
    font-size: 13.5px;
    line-height: 1.5;
    font-weight: 740;
  }

  .jhb-pmm-rail-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: max-content;
    max-width: 100%;
    margin-top: 20px;
    padding: 10px 15px;
    border-radius: 999px;
    color: #fff;
    background: var(--jhb-pmm-orange);
    box-shadow: 0 14px 32px rgba(233, 98, 11, .25);
    font-size: 13px;
    line-height: 1;
    font-weight: 900;
    text-decoration: none;
    transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;
  }

  .jhb-pmm-rail-cta:hover,
  .jhb-pmm-rail-cta:focus-visible {
    color: #fff;
    background: var(--jhb-pmm-apricot);
    transform: translateY(-1px);
    box-shadow: 0 18px 38px rgba(233, 98, 11, .32);
    text-decoration: none;
  }

  .jhb-pmm-rail-accent {
    position: relative;
    display: grid;
    gap: 12px;
    width: 100%;
    margin-top: auto;
    padding-top: 26px;
  }

  .jhb-pmm-rail-accent span {
    display: block;
    width: 76px;
    max-width: 100%;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(233,98,11,.95), rgba(242,122,38,.12));
    box-shadow: 0 0 14px rgba(233,98,11,.24);
    animation: jhbPmmRailSweep 2.8s ease-in-out infinite;
  }

  .jhb-pmm-rail-accent span:nth-child(2) {
    width: 102px;
    animation-delay: .28s;
  }

  .jhb-pmm-rail-accent i {
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: var(--jhb-pmm-orange);
    box-shadow: 0 0 0 7px rgba(233,98,11,.10), 0 0 24px rgba(233,98,11,.38);
    animation: jhbPmmRailPulse 2.8s ease-in-out infinite;
  }

  .jhb-pmm-content {
    min-width: 0;
    max-height: min(72vh, 650px);
    padding: 22px;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
    scrollbar-color: rgba(233, 98, 11, .34) transparent;
  }

  .jhb-pmm-content::-webkit-scrollbar {
    width: 8px;
  }

  .jhb-pmm-content::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(233, 98, 11, .30);
  }

  .jhb-pmm-content-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 14px;
  }

  .jhb-pmm-content-head span {
    color: #a65b25;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
    line-height: 1.2;
  }

  .jhb-pmm-content-head strong {
    color: var(--jhb-pmm-ink);
    font-size: 18px;
    line-height: 1.15;
    letter-spacing: -.025em;
    font-weight: 950;
    text-align: right;
  }

  .jhb-pmm-grid {
    display: grid;
    gap: 14px;
    align-items: stretch;
  }

  .jhb-pmm-panel--angebote .jhb-pmm-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jhb-pmm-panel--standorte .jhb-pmm-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: minmax(148px, auto);
    grid-template-areas:
      "service barnim berlin"
      "mol uckermark prignitz"
      "mol oderspree .";
  }

  .jhb-pmm-card {
    position: relative;
    min-width: 0;
    height: 100%;
    padding: 14px;
    border: 1px solid var(--jhb-pmm-line);
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(255,255,255,.97), rgba(255,255,255,.84));
    box-shadow: 0 12px 34px rgba(31, 52, 56, .08);
    overflow: hidden;
    transition:
      transform .20s ease,
      border-color .20s ease,
      box-shadow .20s ease,
      background-color .20s ease;
  }

  .jhb-pmm-card::after {
    content: "";
    position: absolute;
    left: 14px;
    right: 14px;
    top: 0;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, transparent, rgba(233,98,11,.46), transparent);
    opacity: 0;
    transform: translateX(-22%);
    transition: opacity .22s ease, transform .32s ease;
  }

  .jhb-pmm-card:hover {
    transform: translateY(-2px);
    border-color: rgba(233, 98, 11, .24);
    box-shadow: 0 18px 44px rgba(31, 52, 56, .12);
    background: rgba(255,255,255,.98);
  }

  .jhb-pmm-card:hover::after {
    opacity: 1;
    transform: translateX(0);
  }

  body.jhb-pmm-enabled li.jhb-pmm-source:hover .jhb-pmm-card,
  body.jhb-pmm-enabled li.jhb-pmm-source:focus-within .jhb-pmm-card,
  body.jhb-pmm-enabled li.jhb-pmm-source.is-jhb-pmm-open .jhb-pmm-card {
    animation: jhbPmmCardIn .34s cubic-bezier(.2,.8,.2,1) both;
  }

  body.jhb-pmm-enabled li.jhb-pmm-source:hover .jhb-pmm-card:nth-child(2),
  body.jhb-pmm-enabled li.jhb-pmm-source:focus-within .jhb-pmm-card:nth-child(2),
  body.jhb-pmm-enabled li.jhb-pmm-source.is-jhb-pmm-open .jhb-pmm-card:nth-child(2) {
    animation-delay: .035s;
  }

  body.jhb-pmm-enabled li.jhb-pmm-source:hover .jhb-pmm-card:nth-child(3),
  body.jhb-pmm-enabled li.jhb-pmm-source:focus-within .jhb-pmm-card:nth-child(3),
  body.jhb-pmm-enabled li.jhb-pmm-source.is-jhb-pmm-open .jhb-pmm-card:nth-child(3) {
    animation-delay: .07s;
  }

  body.jhb-pmm-enabled li.jhb-pmm-source:hover .jhb-pmm-card:nth-child(4),
  body.jhb-pmm-enabled li.jhb-pmm-source:focus-within .jhb-pmm-card:nth-child(4),
  body.jhb-pmm-enabled li.jhb-pmm-source.is-jhb-pmm-open .jhb-pmm-card:nth-child(4) {
    animation-delay: .105s;
  }

  .jhb-pmm-panel--standorte .jhb-pmm-card--mol {
    grid-area: mol;
    min-height: 170px;
  }

  .jhb-pmm-panel--standorte .jhb-pmm-card--mol .jhb-pmm-card-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jhb-pmm-card--service { grid-area: service; }
  .jhb-pmm-card--barnim { grid-area: barnim; }
  .jhb-pmm-card--berlin { grid-area: berlin; }
  .jhb-pmm-card--mol { grid-area: mol; }
  .jhb-pmm-card--uckermark { grid-area: uckermark; }
  .jhb-pmm-card--oder-spree { grid-area: oderspree; }
  .jhb-pmm-card--prignitz { grid-area: prignitz; }

  .jhb-pmm-card-head {
    padding-bottom: 11px;
    margin-bottom: 10px;
    border-bottom: 1px solid rgba(233, 98, 11, .18);
  }

  .jhb-pmm-card-overview {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    width: 100%;
    padding: 6px;
    margin: -6px;
    border-radius: 16px;
    color: inherit;
    text-decoration: none;
    transition:
      background-color .2s ease,
      transform .2s ease,
      box-shadow .2s ease;
  }

  .jhb-pmm-card-overview:hover,
  .jhb-pmm-card-overview:focus-visible {
    color: inherit;
    background: rgba(233,98,11,.075);
    box-shadow: inset 0 0 0 1px rgba(233,98,11,.10);
    transform: translateY(-1px);
    text-decoration: none;
  }

  .jhb-pmm-card-heading {
    display: grid;
    gap: 4px;
    min-width: 0;
    flex: 1 1 auto;
  }

  .jhb-pmm-card-arrow {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    margin-top: 2px;
    border-radius: 999px;
    color: var(--jhb-pmm-orange);
    background: rgba(233,98,11,.09);
    font-size: 18px;
    font-weight: 950;
    line-height: 1;
    opacity: .86;
    transition: transform .2s ease, background-color .2s ease, opacity .2s ease;
  }

  .jhb-pmm-card-overview:hover .jhb-pmm-card-arrow,
  .jhb-pmm-card-overview:focus-visible .jhb-pmm-card-arrow {
    transform: translateX(2px);
    background: rgba(233,98,11,.16);
    opacity: 1;
  }

  .jhb-pmm-card-icon {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    color: var(--jhb-pmm-orange);
    background: var(--jhb-pmm-green-900);
    box-shadow:
      inset 0 0 0 1px rgba(255,255,255,.08),
      0 8px 18px rgba(15,53,19,.18);
  }

  .jhb-pmm-card-icon svg,
  .jhb-pmm-mini-icon svg,
  .jhb-pmm-mini-link svg {
    display: block;
    width: 1em;
    height: 1em;
    fill: currentColor;
  }

  .jhb-pmm-card-icon svg {
    width: 15px;
    height: 15px;
  }

  .jhb-pmm-card-title {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1px;
    color: var(--jhb-pmm-green-950);
    font-size: 14.5px;
    line-height: 1.18;
    letter-spacing: -.012em;
    font-weight: 950;
    text-decoration: none;
  }

  .jhb-pmm-card-hint {
    display: block;
    margin: 0;
    color: rgba(102,121,126,.9);
    font-size: 11.5px;
    line-height: 1.25;
    font-weight: 780;
  }

  .jhb-pmm-card-overview:hover .jhb-pmm-card-title,
  .jhb-pmm-card-overview:focus-visible .jhb-pmm-card-title {
    color: var(--jhb-pmm-orange);
    text-decoration: none;
  }

  .jhb-pmm-card-links {
    display: grid;
    gap: 8px;
  }

  .jhb-pmm-link {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    min-height: 36px;
    padding: 9px 12px 9px 28px;
    border: 1px solid rgba(31,52,56,.08);
    border-radius: 13px;
    background: rgba(255, 247, 239, .68);
    color: var(--jhb-pmm-ink);
    font-size: 13px;
    line-height: 1.18;
    font-weight: 850;
    text-decoration: none;
    transition:
      transform .18s ease,
      background-color .18s ease,
      color .18s ease,
      border-color .18s ease;
  }

  .jhb-pmm-link::before {
    content: "";
    position: absolute;
    left: 13px;
    width: 5px;
    height: 5px;
    border-radius: 999px;
    background: rgba(233, 98, 11, .64);
    transition: transform .18s ease, background-color .18s ease;
  }

  .jhb-pmm-link:hover,
  .jhb-pmm-link:focus-visible {
    color: var(--jhb-pmm-orange);
    background: var(--jhb-pmm-orange-soft);
    border-color: rgba(233,98,11,.19);
    transform: translateX(2px);
    text-decoration: none;
  }

  .jhb-pmm-link:hover::before,
  .jhb-pmm-link:focus-visible::before {
    background: var(--jhb-pmm-orange);
    transform: scale(1.25);
  }

  .jhb-pmm-link-main {
    display: block;
    color: currentColor;
    font-size: 13px;
    line-height: 1.18;
    font-weight: 850;
  }

  .jhb-pmm-link-meta {
    display: block;
    margin-top: 2px;
    color: rgba(102,121,126,.9);
    font-size: 11.2px;
    line-height: 1.2;
    font-weight: 760;
  }

  .jhb-pmm-link:hover .jhb-pmm-link-meta,
  .jhb-pmm-link:focus-visible .jhb-pmm-link-meta,
  .jhb-pmm-card-title:hover .jhb-pmm-link-meta,
  .jhb-pmm-card-title:focus-visible .jhb-pmm-link-meta {
    color: rgba(166,91,37,.88);
  }

  .jhb-pmm-panel--mini {
    width: min(430px, calc(100vw - 36px));
    padding: 14px;
    background:
      radial-gradient(circle at 95% 0%, rgba(242,122,38,.13), transparent 34%),
      linear-gradient(180deg, rgba(255,252,247,.99), rgba(255,248,241,.97));
    backdrop-filter: blur(22px);
  }

  .jhb-pmm-source--warum .jhb-pmm-panel {
    left: 50%;
  }

  .jhb-pmm-mini-head {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    margin-bottom: 10px;
    border-radius: 18px;
    color: #fff;
    background:
      radial-gradient(circle at 92% 8%, rgba(242,122,38,.18), transparent 36%),
      linear-gradient(135deg, var(--jhb-pmm-green-850), var(--jhb-pmm-green-950));
  }

  .jhb-pmm-mini-icon {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    width: 31px;
    height: 31px;
    border-radius: 999px;
    color: var(--jhb-pmm-orange);
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.16);
  }

  .jhb-pmm-mini-copy {
    display: grid;
    gap: 2px;
    min-width: 0;
  }

  .jhb-pmm-mini-copy small {
    color: rgba(255,255,255,.78);
    font-size: 10.5px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
    line-height: 1;
  }

  .jhb-pmm-mini-copy strong {
    color: #fff;
    font-size: 16px;
    line-height: 1.15;
    font-weight: 950;
  }

  .jhb-pmm-mini-links {
    display: grid;
    gap: 8px;
  }

  .jhb-pmm-mini-link,
  body.jhb-pmm-enabled .mobile-navigation a,
  body.jhb-pmm-enabled .mobile-menu-container a,
  body.jhb-pmm-enabled .drawer-sub-toggle {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 40px;
    padding: 10px 12px;
    border-radius: 15px;
    border: 1px solid rgba(31,52,56,.10);
    background: rgba(255,255,255,.84);
    color: var(--jhb-pmm-ink);
    box-shadow: 0 8px 24px rgba(31,52,56,.06);
    text-decoration: none;
    transition:
      transform .18s ease,
      color .18s ease,
      border-color .18s ease,
      background-color .18s ease;
  }

  .jhb-pmm-mini-link span {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    color: var(--jhb-pmm-orange);
    background: rgba(233,98,11,.10);
  }

  .jhb-pmm-mini-link svg {
    width: 12px;
    height: 12px;
  }

  .jhb-pmm-mini-link strong {
    font-size: 13.5px;
    line-height: 1.2;
    font-weight: 900;
  }

  .jhb-pmm-mini-link:hover,
  .jhb-pmm-mini-link:focus-visible {
    color: var(--jhb-pmm-orange);
    background: #fff;
    border-color: rgba(233,98,11,.25);
    transform: translateX(2px);
    text-decoration: none;
  }

  .jhb-pmm-panel a:focus-visible {
    outline: 3px solid rgba(233,98,11,.30);
    outline-offset: 3px;
  }
}

@media (min-width: 1025px) and (max-width: 1280px) {
  .jhb-pmm-panel--standorte {
    width: min(900px, calc(100vw - 32px));
  }

  .jhb-pmm-panel--standorte .jhb-pmm-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas:
      "service barnim"
      "berlin uckermark"
      "mol mol"
      "oderspree prignitz";
  }

  .jhb-pmm-panel--standorte .jhb-pmm-card--mol {
    grid-area: mol;
  }
}


/* =========================================================
   v1.3 Mobile / Tablet Offcanvas
   Passend zum neuen Premium-Dropdown
   ========================================================= */

@media (max-width: 1024px) {
  body.jhb-pmm-enabled .popup-drawer .drawer-inner,
  body.jhb-pmm-enabled .mobile-menu-container,
  body.jhb-pmm-enabled .mobile-navigation {
    --jhb-mobile-panel: #123f1b;
    --jhb-mobile-panel-soft: rgba(255,255,255,.065);
    --jhb-mobile-panel-softer: rgba(255,255,255,.045);
    --jhb-mobile-line: rgba(255,255,255,.10);
    --jhb-mobile-text: rgba(255,255,255,.94);
    --jhb-mobile-muted: rgba(255,255,255,.68);
    --jhb-mobile-orange: #e9620b;
  }

  body.jhb-pmm-enabled .mobile-navigation ul,
  body.jhb-pmm-enabled .mobile-menu-container ul {
    gap: 8px;
  }

  body.jhb-pmm-enabled .mobile-navigation li,
  body.jhb-pmm-enabled .mobile-menu-container li {
    border: 0;
  }

  body.jhb-pmm-enabled .mobile-navigation > div > ul,
  body.jhb-pmm-enabled .mobile-menu-container > ul,
  body.jhb-pmm-enabled #mobile-menu {
    padding: 10px;
  }

  body.jhb-pmm-enabled .mobile-navigation ul li > a,
  body.jhb-pmm-enabled .mobile-menu-container ul li > a {
    min-height: 48px;
    padding: 13px 16px;
    border-radius: 16px;
    color: var(--jhb-mobile-text);
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.075);
    font-weight: 850;
    letter-spacing: -.01em;
    line-height: 1.24;
    transition:
      background-color .2s ease,
      border-color .2s ease,
      color .2s ease,
      transform .16s ease,
      box-shadow .2s ease;
  }

  body.jhb-pmm-enabled .mobile-navigation ul li > a:hover,
  body.jhb-pmm-enabled .mobile-navigation ul li > a:focus-visible,
  body.jhb-pmm-enabled .mobile-menu-container ul li > a:hover,
  body.jhb-pmm-enabled .mobile-menu-container ul li > a:focus-visible {
    color: #fff;
    background: rgba(233,98,11,.18);
    border-color: rgba(233,98,11,.32);
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(0,0,0,.13);
  }

  body.jhb-pmm-enabled .mobile-navigation ul li.current-menu-item > a,
  body.jhb-pmm-enabled .mobile-navigation ul li.current-menu-ancestor > a,
  body.jhb-pmm-enabled .mobile-menu-container ul li.current-menu-item > a,
  body.jhb-pmm-enabled .mobile-menu-container ul li.current-menu-ancestor > a {
    color: #fff;
    background: linear-gradient(135deg, var(--jhb-mobile-orange), #f27a26);
    border-color: rgba(255,255,255,.18);
    box-shadow: 0 14px 30px rgba(233,98,11,.22);
  }

  body.jhb-pmm-enabled .mobile-navigation .menu-item-has-children > a,
  body.jhb-pmm-enabled .mobile-menu-container .menu-item-has-children > a {
    background: rgba(255,255,255,.07);
  }

  body.jhb-pmm-enabled .mobile-navigation .menu-item-has-children.current-menu-ancestor > a,
  body.jhb-pmm-enabled .mobile-menu-container .menu-item-has-children.current-menu-ancestor > a,
  body.jhb-pmm-enabled .mobile-navigation .menu-item-has-children > a[aria-expanded="true"],
  body.jhb-pmm-enabled .mobile-menu-container .menu-item-has-children > a[aria-expanded="true"] {
    background: linear-gradient(135deg, var(--jhb-mobile-orange), #f27a26);
    color: #fff;
  }

  body.jhb-pmm-enabled .mobile-navigation .drawer-nav-drop-wrap,
  body.jhb-pmm-enabled .mobile-menu-container .drawer-nav-drop-wrap {
    gap: 8px;
  }

  body.jhb-pmm-enabled .mobile-navigation .drawer-nav-drop-wrap > a,
  body.jhb-pmm-enabled .mobile-menu-container .drawer-nav-drop-wrap > a {
    flex: 1 1 auto;
  }

  body.jhb-pmm-enabled .mobile-navigation .drawer-sub-toggle,
  body.jhb-pmm-enabled .mobile-menu-container .drawer-sub-toggle {
    width: 50px;
    min-height: 48px;
    border-radius: 16px;
    color: #fff;
    background: rgba(255,255,255,.075);
    border: 1px solid rgba(255,255,255,.08);
    transition:
      background-color .2s ease,
      border-color .2s ease,
      transform .2s ease;
  }

  body.jhb-pmm-enabled .mobile-navigation .drawer-sub-toggle:hover,
  body.jhb-pmm-enabled .mobile-navigation .drawer-sub-toggle:focus-visible,
  body.jhb-pmm-enabled .mobile-menu-container .drawer-sub-toggle:hover,
  body.jhb-pmm-enabled .mobile-menu-container .drawer-sub-toggle:focus-visible {
    background: rgba(233,98,11,.22);
    border-color: rgba(233,98,11,.32);
  }

  body.jhb-pmm-enabled .mobile-navigation .menu-item-has-children > .drawer-nav-drop-wrap[aria-expanded="true"] .drawer-sub-toggle,
  body.jhb-pmm-enabled .mobile-menu-container .menu-item-has-children > .drawer-nav-drop-wrap[aria-expanded="true"] .drawer-sub-toggle {
    background: var(--jhb-mobile-orange);
    border-color: rgba(255,255,255,.18);
    transform: rotate(180deg);
  }

  body.jhb-pmm-enabled .mobile-navigation ul.sub-menu,
  body.jhb-pmm-enabled .mobile-menu-container ul.sub-menu {
    margin: 9px 0 13px;
    padding: 10px;
    border-radius: 22px;
    background:
      radial-gradient(circle at 100% 0%, rgba(233,98,11,.10), transparent 32%),
      rgba(0,0,0,.11);
    border: 1px solid rgba(255,255,255,.08);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.07),
      0 12px 28px rgba(0,0,0,.10);
  }

  body.jhb-pmm-enabled .mobile-navigation ul.sub-menu > li > a,
  body.jhb-pmm-enabled .mobile-menu-container ul.sub-menu > li > a {
    min-height: 46px;
    margin: 0 0 7px;
    padding: 12px 14px;
    border-radius: 16px;
    color: rgba(255,255,255,.92);
    background: rgba(255,255,255,.052);
    border: 1px solid rgba(255,255,255,.065);
    box-shadow: none;
    font-weight: 780;
  }

  body.jhb-pmm-enabled .mobile-navigation ul.sub-menu > li:nth-child(odd) > a,
  body.jhb-pmm-enabled .mobile-menu-container ul.sub-menu > li:nth-child(odd) > a {
    background: rgba(255,255,255,.040);
  }

  body.jhb-pmm-enabled .mobile-navigation ul.sub-menu > li:last-child > a,
  body.jhb-pmm-enabled .mobile-menu-container ul.sub-menu > li:last-child > a {
    margin-bottom: 0;
  }

  body.jhb-pmm-enabled .mobile-navigation ul.sub-menu ul.sub-menu,
  body.jhb-pmm-enabled .mobile-menu-container ul.sub-menu ul.sub-menu {
    margin: 8px 0 10px 8px;
    padding: 8px;
    border-radius: 18px;
    background: rgba(0,0,0,.13);
  }

  body.jhb-pmm-enabled .mobile-navigation ul.sub-menu ul.sub-menu > li > a,
  body.jhb-pmm-enabled .mobile-menu-container ul.sub-menu ul.sub-menu > li > a {
    position: relative;
    padding-left: 17px;
    font-size: .96em;
    color: rgba(255,255,255,.88);
    background: rgba(255,255,255,.045);
  }

  body.jhb-pmm-enabled .mobile-navigation ul.sub-menu ul.sub-menu > li > a::before,
  body.jhb-pmm-enabled .mobile-menu-container ul.sub-menu ul.sub-menu > li > a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 11px;
    bottom: 11px;
    width: 3px;
    border-radius: 999px;
    background: rgba(233,98,11,.58);
  }

  body.jhb-pmm-enabled .mobile-navigation ul.sub-menu a:hover,
  body.jhb-pmm-enabled .mobile-navigation ul.sub-menu a:focus-visible,
  body.jhb-pmm-enabled .mobile-menu-container ul.sub-menu a:hover,
  body.jhb-pmm-enabled .mobile-menu-container ul.sub-menu a:focus-visible {
    color: #fff;
    background: rgba(233,98,11,.18);
    border-color: rgba(233,98,11,.28);
    transform: translateY(-1px);
  }

  body.jhb-pmm-enabled .mobile-navigation ul.sub-menu li.current-menu-item > a,
  body.jhb-pmm-enabled .mobile-navigation ul.sub-menu li.current_page_item > a,
  body.jhb-pmm-enabled .mobile-menu-container ul.sub-menu li.current-menu-item > a,
  body.jhb-pmm-enabled .mobile-menu-container ul.sub-menu li.current_page_item > a {
    color: #fff;
    background: rgba(233,98,11,.24);
    border-color: rgba(233,98,11,.34);
  }
}

@media (max-width: 480px) {
  body.jhb-pmm-enabled .mobile-navigation > div > ul,
  body.jhb-pmm-enabled .mobile-menu-container > ul,
  body.jhb-pmm-enabled #mobile-menu {
    padding: 8px;
  }

  body.jhb-pmm-enabled .mobile-navigation ul li > a,
  body.jhb-pmm-enabled .mobile-menu-container ul li > a {
    min-height: 46px;
    padding: 12px 14px;
    font-size: 1rem;
  }

  body.jhb-pmm-enabled .mobile-navigation .drawer-sub-toggle,
  body.jhb-pmm-enabled .mobile-menu-container .drawer-sub-toggle {
    width: 48px;
    min-height: 46px;
  }
}

@keyframes jhbPmmCardIn {
  from {
    opacity: 0;
    transform: translateY(8px) scale(.985);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes jhbPmmRailSweep {
  0%, 100% {
    transform: translateX(0);
    opacity: .72;
  }
  50% {
    transform: translateX(8px);
    opacity: 1;
  }
}

@keyframes jhbPmmRailPulse {
  0%, 100% {
    transform: scale(1);
    opacity: .85;
  }
  50% {
    transform: scale(1.18);
    opacity: 1;
  }
}


/* =========================================================
   v1.2: Fokus auf die Link-Kacheln statt Rail-Animation
   ========================================================= */

@media (min-width: 1025px) {
  .jhb-pmm-rail-accent {
    display: none;
  }

  .jhb-pmm-link {
    overflow: hidden;
    isolation: isolate;
  }

  .jhb-pmm-link::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background:
      linear-gradient(120deg,
        transparent 0%,
        transparent 32%,
        rgba(233,98,11,.13) 45%,
        rgba(242,122,38,.18) 52%,
        transparent 66%,
        transparent 100%);
    opacity: 0;
    transform: translateX(-42%);
    transition: opacity .22s ease;
    pointer-events: none;
    z-index: -1;
  }

  .jhb-pmm-card:hover .jhb-pmm-link::after,
  .jhb-pmm-link:hover::after,
  .jhb-pmm-link:focus-visible::after {
    opacity: 1;
    animation: jhbPmmLinkShine 1.35s cubic-bezier(.2,.8,.2,1) both;
  }

  .jhb-pmm-link:hover,
  .jhb-pmm-link:focus-visible {
    box-shadow:
      inset 0 0 0 1px rgba(233,98,11,.18),
      0 8px 22px rgba(233,98,11,.10);
  }

  /* Standort-Links: ohne Punkte, mehr Platz für lange Ortsnamen */
  .jhb-pmm-panel--standorte .jhb-pmm-link {
    padding-left: 12px;
    box-shadow: inset 3px 0 0 rgba(233,98,11,.22);
  }

  .jhb-pmm-panel--standorte .jhb-pmm-link::before {
    content: none;
  }

  .jhb-pmm-panel--standorte .jhb-pmm-link:hover,
  .jhb-pmm-panel--standorte .jhb-pmm-link:focus-visible {
    box-shadow:
      inset 3px 0 0 rgba(233,98,11,.72),
      inset 0 0 0 1px rgba(233,98,11,.18),
      0 8px 22px rgba(233,98,11,.10);
  }

  .jhb-pmm-panel--standorte .jhb-pmm-card--mol .jhb-pmm-link {
    min-height: 42px;
    padding-right: 10px;
  }

  .jhb-pmm-panel--standorte .jhb-pmm-card--mol .jhb-pmm-link-main {
    font-size: 12.65px;
  }

  .jhb-pmm-panel--standorte .jhb-pmm-card--mol .jhb-pmm-link-meta {
    font-size: 10.8px;
    max-width: 100%;
  }

  .jhb-pmm-panel--standorte .jhb-pmm-card--mol .jhb-pmm-card-links {
    gap: 9px;
  }
}

@keyframes jhbPmmLinkShine {
  0% {
    transform: translateX(-48%);
  }
  100% {
    transform: translateX(48%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .jhb-pmm-panel,
  .jhb-pmm-card,
  .jhb-pmm-link,
  .jhb-pmm-rail-cta,
  .jhb-pmm-mini-link,
  .jhb-pmm-rail-accent span,
  .jhb-pmm-rail-accent i,
  .jhb-pmm-link::after {
    animation: none;
    transition: none;
  }
}

/* =========================================================
   v1.4 Desktop Feinschliff
   ========================================================= */

@media (min-width: 1025px) {
  /* Die orange Animation sitzt jetzt auf dem einzelnen Element,
     nicht mehr auf allen Links einer Karte gleichzeitig. */
  .jhb-pmm-card:hover .jhb-pmm-link::after {
    opacity: 0;
    animation: none;
  }

  .jhb-pmm-link:hover::after,
  .jhb-pmm-link:focus-visible::after {
    opacity: 1;
    animation: jhbPmmLinkShine 1.15s cubic-bezier(.2,.8,.2,1) both;
  }

  .jhb-pmm-link:hover,
  .jhb-pmm-link:focus-visible {
    color: #fff;
    background:
      linear-gradient(135deg, var(--jhb-pmm-orange), var(--jhb-pmm-apricot));
    border-color: rgba(255,255,255,.18);
    box-shadow:
      0 10px 24px rgba(233,98,11,.18),
      inset 0 0 0 1px rgba(255,255,255,.13);
  }

  .jhb-pmm-link:hover .jhb-pmm-link-meta,
  .jhb-pmm-link:focus-visible .jhb-pmm-link-meta {
    color: rgba(255,255,255,.78);
  }

  /* Angebots-Übersichten stehen zusätzlich im grünen Panel unter dem CTA. */
  .jhb-pmm-rail-links {
    display: grid;
    gap: 8px;
    margin-top: 16px;
  }

  .jhb-pmm-rail-links a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 34px;
    padding: 8px 10px;
    border-radius: 13px;
    color: rgba(255,255,255,.92);
    background: rgba(255,255,255,.085);
    border: 1px solid rgba(255,255,255,.12);
    font-size: 12.5px;
    font-weight: 900;
    line-height: 1.15;
    text-decoration: none;
    transition:
      background-color .2s ease,
      color .2s ease,
      transform .18s ease,
      border-color .2s ease;
  }

  .jhb-pmm-rail-links a i {
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    border-radius: 999px;
    color: #fff;
    background: rgba(233,98,11,.58);
    font-style: normal;
    font-size: 17px;
    line-height: 1;
    transition: transform .18s ease, background-color .18s ease;
  }

  .jhb-pmm-rail-links a:hover,
  .jhb-pmm-rail-links a:focus-visible {
    color: #fff;
    background: rgba(233,98,11,.22);
    border-color: rgba(233,98,11,.34);
    transform: translateX(2px);
    text-decoration: none;
  }

  .jhb-pmm-rail-links a:hover i,
  .jhb-pmm-rail-links a:focus-visible i {
    background: var(--jhb-pmm-orange);
    transform: translateX(2px);
  }

  /* Standort-Menü: nicht blau. Warm/hell + orange Icons mit weißem Pin. */
  .jhb-pmm-panel--standorte {
    background:
      radial-gradient(circle at 92% 8%, rgba(233,98,11,.13), transparent 34%),
      radial-gradient(circle at 48% 104%, rgba(242,122,38,.10), transparent 40%),
      linear-gradient(90deg, var(--jhb-pmm-green-900) 0 214px, rgba(255,249,243,.99) 214px 76%, rgba(255,242,232,.99) 100%);
  }

  .jhb-pmm-panel--standorte .jhb-pmm-card-icon {
    color: #fff;
    background: linear-gradient(135deg, var(--jhb-pmm-orange), var(--jhb-pmm-apricot));
    box-shadow:
      inset 0 0 0 1px rgba(255,255,255,.18),
      0 10px 20px rgba(233,98,11,.22);
  }

  /* Märkisch-Oderland bekommt mehr Breite, damit die 4 Kacheln sauber wirken. */
  .jhb-pmm-panel--standorte .jhb-pmm-grid {
    grid-template-areas:
      "service barnim berlin"
      "mol mol uckermark"
      "mol mol prignitz"
      "oderspree oderspree .";
  }

  .jhb-pmm-panel--standorte .jhb-pmm-card--mol {
    grid-area: mol;
  }

  .jhb-pmm-panel--standorte .jhb-pmm-card--mol .jhb-pmm-card-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jhb-pmm-panel--standorte .jhb-pmm-card--oder-spree {
    grid-area: oderspree;
  }

  .jhb-pmm-panel--standorte .jhb-pmm-card--oder-spree .jhb-pmm-card-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  /* Standort-Links: auf Hover orange, ohne störende Punkte. */
  .jhb-pmm-panel--standorte .jhb-pmm-link:hover,
  .jhb-pmm-panel--standorte .jhb-pmm-link:focus-visible {
    color: #fff;
    background:
      linear-gradient(135deg, var(--jhb-pmm-orange), var(--jhb-pmm-apricot));
    box-shadow:
      inset 3px 0 0 rgba(255,255,255,.28),
      0 10px 24px rgba(233,98,11,.18);
  }

  .jhb-pmm-panel--standorte .jhb-pmm-link:hover .jhb-pmm-link-meta,
  .jhb-pmm-panel--standorte .jhb-pmm-link:focus-visible .jhb-pmm-link-meta {
    color: rgba(255,255,255,.78);
  }

  /* Desktop: die Header-Links bleiben klickbar, aber weniger "dominant orange". */
  .jhb-pmm-card-overview:hover,
  .jhb-pmm-card-overview:focus-visible {
    background: rgba(233,98,11,.06);
    box-shadow: inset 0 0 0 1px rgba(233,98,11,.11);
  }
}

@media (min-width: 1025px) and (max-width: 1280px) {
  .jhb-pmm-panel--standorte .jhb-pmm-grid {
    grid-template-areas:
      "service barnim"
      "berlin uckermark"
      "mol mol"
      "prignitz oderspree";
  }

  .jhb-pmm-panel--standorte .jhb-pmm-card--oder-spree {
    grid-area: oderspree;
  }
}

/* =========================================================
   v1.5 Cleaner: einheitliche Chips, statische Standort-Header
   ========================================================= */

@media (min-width: 1025px) {
  /* Alle Karten-Icons: Orange mit weißem Symbol – gleiches System für Angebote und Standorte */
  .jhb-pmm-card-icon {
    color: #fff;
    background: linear-gradient(135deg, var(--jhb-pmm-orange), var(--jhb-pmm-apricot));
    box-shadow:
      inset 0 0 0 1px rgba(255,255,255,.18),
      0 10px 20px rgba(233,98,11,.20);
  }

  .jhb-pmm-card-title {
    font-size: 13.9px;
    font-weight: 900;
    letter-spacing: -.006em;
  }

  .jhb-pmm-card-hint {
    font-size: 11px;
    font-weight: 760;
  }

  /* Standort-Regionen sind keine Links mehr */
  .jhb-pmm-panel--standorte .jhb-pmm-card-overview--static {
    cursor: default;
    pointer-events: none;
  }

  .jhb-pmm-panel--standorte .jhb-pmm-card-overview--static:hover,
  .jhb-pmm-panel--standorte .jhb-pmm-card-overview--static:focus-visible {
    background: transparent;
    box-shadow: none;
    transform: none;
  }

  .jhb-pmm-panel--standorte .jhb-pmm-card-arrow,
  .jhb-pmm-panel--standorte .jhb-pmm-card-hint {
    display: none;
  }

  /* Angebot-Header bleiben Links, aber ruhiger und eindeutiger */
  .jhb-pmm-panel--angebote .jhb-pmm-card-overview {
    background: rgba(255,248,241,.54);
  }

  .jhb-pmm-panel--angebote .jhb-pmm-card-overview:hover,
  .jhb-pmm-panel--angebote .jhb-pmm-card-overview:focus-visible {
    background: rgba(233,98,11,.09);
  }

  /* Link-Chips überall einheitlicher: Angebot und Standorte wirken wie aus einem System */
  .jhb-pmm-link,
  .jhb-pmm-panel--standorte .jhb-pmm-link {
    min-height: 38px;
    padding: 9px 12px 9px 28px;
    border-radius: 13px;
    background: rgba(255,247,239,.70);
    border: 1px solid rgba(31,52,56,.08);
    box-shadow: none;
  }

  .jhb-pmm-panel--standorte .jhb-pmm-link {
    box-shadow: none;
  }

  .jhb-pmm-link::before,
  .jhb-pmm-panel--standorte .jhb-pmm-link::before {
    content: "";
    position: absolute;
    left: 13px;
    top: 50%;
    width: 5px;
    height: 5px;
    border-radius: 999px;
    background: rgba(233,98,11,.58);
    transform: translateY(-50%);
    transition: transform .18s ease, background-color .18s ease;
  }

  .jhb-pmm-link:hover::before,
  .jhb-pmm-link:focus-visible::before,
  .jhb-pmm-panel--standorte .jhb-pmm-link:hover::before,
  .jhb-pmm-panel--standorte .jhb-pmm-link:focus-visible::before {
    background: rgba(255,255,255,.88);
    transform: translateY(-50%) scale(1.2);
  }

  .jhb-pmm-link-main {
    font-size: 12.85px;
    font-weight: 820;
    letter-spacing: -.004em;
  }

  .jhb-pmm-link-meta {
    color: rgba(102,121,126,.86);
    font-size: 10.8px;
    font-weight: 720;
  }

  .jhb-pmm-panel--standorte .jhb-pmm-card--mol .jhb-pmm-link-main {
    font-size: 12.45px;
  }

  .jhb-pmm-panel--standorte .jhb-pmm-card--mol .jhb-pmm-link-meta {
    font-size: 10.55px;
  }

  /* Glow etwas erwachsener: weniger "fett", mehr Premium */
  .jhb-pmm-link:hover,
  .jhb-pmm-link:focus-visible,
  .jhb-pmm-panel--standorte .jhb-pmm-link:hover,
  .jhb-pmm-panel--standorte .jhb-pmm-link:focus-visible {
    color: #fff;
    background: linear-gradient(135deg, #df5c08, var(--jhb-pmm-orange));
    border-color: rgba(255,255,255,.20);
    box-shadow:
      0 9px 20px rgba(233,98,11,.14),
      inset 0 0 0 1px rgba(255,255,255,.12);
    transform: translateY(-1px);
  }

  .jhb-pmm-link:hover .jhb-pmm-link-meta,
  .jhb-pmm-link:focus-visible .jhb-pmm-link-meta,
  .jhb-pmm-panel--standorte .jhb-pmm-link:hover .jhb-pmm-link-meta,
  .jhb-pmm-panel--standorte .jhb-pmm-link:focus-visible .jhb-pmm-link-meta {
    color: rgba(255,255,255,.78);
  }

  .jhb-pmm-card {
    box-shadow: 0 12px 30px rgba(31,52,56,.075);
  }

  .jhb-pmm-card:hover {
    box-shadow: 0 17px 38px rgba(31,52,56,.105);
  }

  /* Mehr Ruhe im Standort-Panel */
  .jhb-pmm-panel--standorte .jhb-pmm-card {
    background: linear-gradient(180deg, rgba(255,255,255,.965), rgba(255,255,255,.88));
  }

  .jhb-pmm-panel--standorte .jhb-pmm-card-head {
    margin-bottom: 9px;
  }

  .jhb-pmm-panel--standorte .jhb-pmm-grid {
    gap: 13px;
  }
}

/* =========================================================
   v1.6: Mobile-Fix + kompaktere Standorte + Warum-wir ohne Icon
   ========================================================= */

@media (min-width: 1025px) {
  /* Warum-wir: Icon aus dem Header raus, ruhiger und leichter */
  .jhb-pmm-panel--mini {
    width: min(405px, calc(100vw - 36px));
  }

  .jhb-pmm-mini-head {
    padding: 13px 15px;
  }

  .jhb-pmm-mini-icon {
    display: none;
  }

  .jhb-pmm-mini-copy {
    display: grid;
    gap: 3px;
  }

  .jhb-pmm-mini-copy strong {
    font-size: 15.5px;
    letter-spacing: -.01em;
  }

  /* Standorte: deutlich kompakter, kein riesiger MOL-Block mehr */
  .jhb-pmm-panel--standorte {
    width: min(880px, calc(100vw - 36px));
  }

  .jhb-pmm-panel--standorte .jhb-pmm-content {
    max-height: none;
    padding: 19px;
  }

  .jhb-pmm-panel--standorte .jhb-pmm-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: minmax(126px, auto);
    grid-template-areas:
      "service barnim berlin"
      "mol mol uckermark"
      "oderspree prignitz .";
    gap: 12px;
  }

  .jhb-pmm-panel--standorte .jhb-pmm-card {
    min-height: 0;
    padding: 12px;
  }

  .jhb-pmm-panel--standorte .jhb-pmm-card--mol {
    grid-area: mol;
    min-height: 0;
  }

  .jhb-pmm-panel--standorte .jhb-pmm-card--mol .jhb-pmm-card-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .jhb-pmm-panel--standorte .jhb-pmm-card--oder-spree {
    grid-area: oderspree;
  }

  .jhb-pmm-panel--standorte .jhb-pmm-card-head {
    padding-bottom: 9px;
    margin-bottom: 9px;
  }

  .jhb-pmm-panel--standorte .jhb-pmm-link {
    min-height: 36px;
    padding-top: 8px;
    padding-bottom: 8px;
  }

  .jhb-pmm-panel--standorte .jhb-pmm-card--mol .jhb-pmm-link {
    min-height: 38px;
  }

  .jhb-pmm-content-head {
    margin-bottom: 12px;
  }

  .jhb-pmm-card-title {
    font-size: 13.6px;
    font-weight: 880;
  }

  .jhb-pmm-link-main {
    font-size: 12.6px;
    font-weight: 800;
  }

  .jhb-pmm-link-meta {
    font-size: 10.55px;
    font-weight: 690;
  }
}

/* Mobile-Sicherheitsnetz: Die Desktop-Mega-Panels dürfen im Offcanvas nie sichtbar sein. */
@media (max-width: 1024px) {
  body.jhb-pmm-enabled .mobile-navigation .jhb-pmm-panel,
  body.jhb-pmm-enabled .mobile-menu-container .jhb-pmm-panel,
  body.jhb-pmm-enabled .popup-drawer .jhb-pmm-panel,
  body.jhb-pmm-enabled #mobile-menu .jhb-pmm-panel {
    display: none;
    height: 0;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    visibility: hidden;
    pointer-events: none;
  }

  body.jhb-pmm-enabled .mobile-navigation .sub-menu,
  body.jhb-pmm-enabled .mobile-menu-container .sub-menu {
    background:
      radial-gradient(circle at 100% 0%, rgba(233,98,11,.08), transparent 32%),
      rgba(0,0,0,.10);
  }

  body.jhb-pmm-enabled .mobile-navigation ul.sub-menu > li > a,
  body.jhb-pmm-enabled .mobile-menu-container ul.sub-menu > li > a {
    color: rgba(255,255,255,.94);
  }
}

@media (min-width: 1025px) and (max-width: 1280px) {
  .jhb-pmm-panel--standorte {
    width: min(830px, calc(100vw - 32px));
  }

  .jhb-pmm-panel--standorte .jhb-pmm-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas:
      "service barnim"
      "berlin uckermark"
      "mol mol"
      "oderspree prignitz";
  }
}

/* =========================================================
   v1.7: kleine Text-/Layout-Fixes Standorte
   ========================================================= */

@media (min-width: 1025px) {
  /* Punkte exakt zur Texthöhe zentrieren */
  .jhb-pmm-link::before,
  .jhb-pmm-panel--standorte .jhb-pmm-link::before {
    top: 50%;
    transform: translateY(-50%);
  }

  .jhb-pmm-link:hover::before,
  .jhb-pmm-link:focus-visible::before,
  .jhb-pmm-panel--standorte .jhb-pmm-link:hover::before,
  .jhb-pmm-panel--standorte .jhb-pmm-link:focus-visible::before {
    transform: translateY(-50%) scale(1.18);
  }

  /* Standorttexte ruhiger und besser lesbar */
  .jhb-pmm-panel--standorte .jhb-pmm-link {
    min-height: 35px;
    padding: 8px 10px 8px 28px;
  }

  .jhb-pmm-panel--standorte .jhb-pmm-link-main {
    white-space: nowrap;
    font-size: 12.25px;
    line-height: 1.12;
    font-weight: 800;
  }

  .jhb-pmm-panel--standorte .jhb-pmm-link-meta {
    white-space: normal;
    font-size: 10.45px;
    line-height: 1.15;
  }

  /* Stationäre Jugendhilfe soll auf einer Zeile bleiben */
  .jhb-pmm-panel--standorte .jhb-pmm-card--barnim .jhb-pmm-link-main {
    font-size: 12px;
    letter-spacing: -.012em;
  }

  /* Fürstenwalde nicht abschneiden: Oder-Spree nutzt eine volle Link-Spalte */
  .jhb-pmm-panel--standorte .jhb-pmm-card--oder-spree .jhb-pmm-card-links {
    grid-template-columns: 1fr;
  }

  .jhb-pmm-panel--standorte .jhb-pmm-card--oder-spree .jhb-pmm-link {
    width: 100%;
  }

  /* Berlin bekommt mehrere Bezirke, deshalb etwas kompakter */
  .jhb-pmm-panel--standorte .jhb-pmm-card--berlin .jhb-pmm-card-links {
    gap: 7px;
  }

  .jhb-pmm-panel--standorte .jhb-pmm-card--berlin .jhb-pmm-link {
    min-height: 34px;
  }

  .jhb-pmm-panel--standorte .jhb-pmm-card--berlin .jhb-pmm-link-main {
    font-size: 11.95px;
  }

  /* Panel bleibt als Regionensicht: Berlin-Karte + Brandenburg-Regionen, keine extra Zwischenüberschrift */
  .jhb-pmm-panel--standorte .jhb-pmm-content-head span {
    color: #a65b25;
  }
}

@media (min-width: 1025px) and (max-width: 1280px) {
  .jhb-pmm-panel--standorte .jhb-pmm-link-main {
    white-space: normal;
  }

  .jhb-pmm-panel--standorte .jhb-pmm-card--barnim .jhb-pmm-link-main {
    white-space: nowrap;
  }
}

/* =========================================================
   v1.8: Berlin clean halten
   ========================================================= */

@media (min-width: 1025px) {
  .jhb-pmm-card-note {
    margin: 5px 2px 0;
    color: rgba(102,121,126,.82);
    font-size: 10.8px;
    line-height: 1.35;
    font-weight: 700;
  }

  .jhb-pmm-panel--standorte .jhb-pmm-card--berlin .jhb-pmm-card-links {
    gap: 8px;
  }

  .jhb-pmm-panel--standorte .jhb-pmm-card--berlin .jhb-pmm-link-main {
    font-size: 12.25px;
  }
}

/* =========================================================
   v1.9 Mobile/Tablet: klarer, weniger Glas, bessere Orientierung
   ========================================================= */

@media (max-width: 1024px) {
  body.jhb-pmm-enabled .mobile-navigation,
  body.jhb-pmm-enabled .mobile-menu-container,
  body.jhb-pmm-enabled .popup-drawer .drawer-inner {
    --jhb-mobile-bg: #18451f;
    --jhb-mobile-row: #214f27;
    --jhb-mobile-row-2: #1d4723;
    --jhb-mobile-row-open: #e9620b;
    --jhb-mobile-row-border: rgba(255,255,255,.10);
    --jhb-mobile-text: rgba(255,255,255,.96);
    --jhb-mobile-muted: rgba(255,255,255,.76);
  }

  /* Weniger Glass-Optik: klare, ruhige Flächen */
  body.jhb-pmm-enabled .mobile-navigation ul li > a,
  body.jhb-pmm-enabled .mobile-menu-container ul li > a {
    color: var(--jhb-mobile-text);
    background: var(--jhb-mobile-row);
    border: 1px solid var(--jhb-mobile-row-border);
    box-shadow: none;
    text-shadow: none;
    font-weight: 780;
  }

  body.jhb-pmm-enabled .mobile-navigation ul li:nth-child(even) > a,
  body.jhb-pmm-enabled .mobile-menu-container ul li:nth-child(even) > a {
    background: var(--jhb-mobile-row-2);
  }

  /* Nur Jobs bekommt dauerhaft Orange + sanften Effekt */
  body.jhb-pmm-enabled .mobile-navigation li.highlight > a,
  body.jhb-pmm-enabled .mobile-menu-container li.highlight > a,
  body.jhb-pmm-enabled .mobile-navigation li.menu-item.highlight > a,
  body.jhb-pmm-enabled .mobile-menu-container li.menu-item.highlight > a {
    color: #fff;
    background: linear-gradient(135deg, #e9620b, #f27a26);
    border-color: rgba(255,255,255,.16);
    box-shadow: 0 12px 26px rgba(233,98,11,.24);
    animation: jhbPmmMobileJobsPulse 6.5s ease-in-out infinite;
  }

  body.jhb-pmm-enabled .mobile-navigation li.highlight > a:hover,
  body.jhb-pmm-enabled .mobile-navigation li.highlight > a:focus-visible,
  body.jhb-pmm-enabled .mobile-menu-container li.highlight > a:hover,
  body.jhb-pmm-enabled .mobile-menu-container li.highlight > a:focus-visible {
    color: #fff;
    background: linear-gradient(135deg, #f27a26, #e9620b);
    box-shadow: 0 16px 30px rgba(233,98,11,.30);
  }

  body.jhb-pmm-enabled .mobile-navigation ul li.current-menu-item:not(.highlight) > a,
  body.jhb-pmm-enabled .mobile-navigation ul li.current-menu-ancestor:not(.highlight) > a,
  body.jhb-pmm-enabled .mobile-menu-container ul li.current-menu-item:not(.highlight) > a,
  body.jhb-pmm-enabled .mobile-menu-container ul li.current-menu-ancestor:not(.highlight) > a {
    color: #fff;
    background: var(--jhb-mobile-row);
    border-color: rgba(255,255,255,.16);
    box-shadow: none;
  }

  /* Offene Hauptpunkte: Orange nur als Orientierung */
  body.jhb-pmm-enabled .mobile-navigation .menu-item-has-children > .drawer-nav-drop-wrap[aria-expanded="true"] > a,
  body.jhb-pmm-enabled .mobile-menu-container .menu-item-has-children > .drawer-nav-drop-wrap[aria-expanded="true"] > a,
  body.jhb-pmm-enabled .mobile-navigation .menu-item-has-children.is-jhb-mobile-open > .drawer-nav-drop-wrap > a,
  body.jhb-pmm-enabled .mobile-menu-container .menu-item-has-children.is-jhb-mobile-open > .drawer-nav-drop-wrap > a {
    color: #fff;
    background: var(--jhb-mobile-row-open);
    border-color: rgba(255,255,255,.16);
    box-shadow: 0 10px 22px rgba(233,98,11,.18);
  }

  body.jhb-pmm-enabled .mobile-navigation .drawer-sub-toggle,
  body.jhb-pmm-enabled .mobile-menu-container .drawer-sub-toggle {
    color: #fff;
    background: var(--jhb-mobile-row);
    border: 1px solid var(--jhb-mobile-row-border);
    box-shadow: none;
    transition:
      background-color .22s ease,
      border-color .22s ease,
      transform .24s ease;
  }

  body.jhb-pmm-enabled .mobile-navigation .drawer-nav-drop-wrap[aria-expanded="true"] .drawer-sub-toggle,
  body.jhb-pmm-enabled .mobile-menu-container .drawer-nav-drop-wrap[aria-expanded="true"] .drawer-sub-toggle,
  body.jhb-pmm-enabled .mobile-navigation .menu-item-has-children.is-jhb-mobile-open > .drawer-nav-drop-wrap .drawer-sub-toggle,
  body.jhb-pmm-enabled .mobile-menu-container .menu-item-has-children.is-jhb-mobile-open > .drawer-nav-drop-wrap .drawer-sub-toggle {
    background: #e9620b;
    border-color: rgba(255,255,255,.16);
    transform: rotate(180deg);
  }

  body.jhb-pmm-enabled .mobile-navigation .drawer-sub-toggle svg,
  body.jhb-pmm-enabled .mobile-menu-container .drawer-sub-toggle svg {
    transition: transform .24s ease;
  }

  body.jhb-pmm-enabled .mobile-navigation .drawer-nav-drop-wrap[aria-expanded="true"] .drawer-sub-toggle svg,
  body.jhb-pmm-enabled .mobile-menu-container .drawer-nav-drop-wrap[aria-expanded="true"] .drawer-sub-toggle svg,
  body.jhb-pmm-enabled .mobile-navigation .menu-item-has-children.is-jhb-mobile-open > .drawer-nav-drop-wrap .drawer-sub-toggle svg,
  body.jhb-pmm-enabled .mobile-menu-container .menu-item-has-children.is-jhb-mobile-open > .drawer-nav-drop-wrap .drawer-sub-toggle svg {
    transform: translateY(1px);
  }

  /* Submenus: keine Glasboxen, sondern klare verschachtelte Ebenen */
  body.jhb-pmm-enabled .mobile-navigation ul.sub-menu,
  body.jhb-pmm-enabled .mobile-menu-container ul.sub-menu {
    margin: 9px 0 12px;
    padding: 9px;
    border-radius: 18px;
    background: #153d1b;
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: none;
  }

  body.jhb-pmm-enabled .mobile-navigation ul.sub-menu > li > a,
  body.jhb-pmm-enabled .mobile-menu-container ul.sub-menu > li > a {
    color: rgba(255,255,255,.94);
    background: #204d26;
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: none;
    font-weight: 740;
  }

  body.jhb-pmm-enabled .mobile-navigation ul.sub-menu > li:nth-child(even) > a,
  body.jhb-pmm-enabled .mobile-menu-container ul.sub-menu > li:nth-child(even) > a {
    background: #1c4622;
  }

  body.jhb-pmm-enabled .mobile-navigation ul.sub-menu ul.sub-menu,
  body.jhb-pmm-enabled .mobile-menu-container ul.sub-menu ul.sub-menu {
    margin-left: 9px;
    background: #113718;
    border-left: 2px solid rgba(233,98,11,.55);
  }

  body.jhb-pmm-enabled .mobile-navigation ul.sub-menu ul.sub-menu > li > a,
  body.jhb-pmm-enabled .mobile-menu-container ul.sub-menu ul.sub-menu > li > a {
    background: #1e4924;
    font-weight: 760;
  }

  body.jhb-pmm-enabled .mobile-navigation ul.sub-menu ul.sub-menu > li > a::before,
  body.jhb-pmm-enabled .mobile-menu-container ul.sub-menu ul.sub-menu > li > a::before {
    background: #e9620b;
  }

  /* Elternzeilen ohne echte Zielseite sehen auch wie öffnende Zeilen aus */
  body.jhb-pmm-enabled .mobile-navigation li.menu-item-has-children > .drawer-nav-drop-wrap > a[href="#"],
  body.jhb-pmm-enabled .mobile-menu-container li.menu-item-has-children > .drawer-nav-drop-wrap > a[href="#"],
  body.jhb-pmm-enabled .mobile-navigation li.menu-item-has-children > .drawer-nav-drop-wrap > a:not([href]),
  body.jhb-pmm-enabled .mobile-menu-container li.menu-item-has-children > .drawer-nav-drop-wrap > a:not([href]) {
    cursor: pointer;
  }

  body.jhb-pmm-enabled .mobile-navigation li.menu-item-has-children > .drawer-nav-drop-wrap > a[href="#"]::after,
  body.jhb-pmm-enabled .mobile-menu-container li.menu-item-has-children > .drawer-nav-drop-wrap > a[href="#"]::after {
    content: "öffnen";
    margin-left: auto;
    padding-left: 12px;
    color: var(--jhb-mobile-muted);
    font-size: .76em;
    font-weight: 800;
    letter-spacing: .02em;
  }

  body.jhb-pmm-enabled .mobile-navigation li.menu-item-has-children.is-jhb-mobile-open > .drawer-nav-drop-wrap > a[href="#"]::after,
  body.jhb-pmm-enabled .mobile-menu-container li.menu-item-has-children.is-jhb-mobile-open > .drawer-nav-drop-wrap > a[href="#"]::after {
    content: "offen";
    color: rgba(255,255,255,.84);
  }
}

@keyframes jhbPmmMobileJobsPulse {
  0%, 84%, 100% {
    transform: translateY(0);
    box-shadow: 0 12px 26px rgba(233,98,11,.20);
  }
  88% {
    transform: translateY(-1px);
    box-shadow: 0 16px 31px rgba(233,98,11,.30);
  }
}

@media (max-width: 1024px) and (prefers-reduced-motion: reduce) {
  body.jhb-pmm-enabled .mobile-navigation li.highlight > a,
  body.jhb-pmm-enabled .mobile-menu-container li.highlight > a {
    animation: none;
  }

  body.jhb-pmm-enabled .mobile-navigation .drawer-sub-toggle,
  body.jhb-pmm-enabled .mobile-menu-container .drawer-sub-toggle,
  body.jhb-pmm-enabled .mobile-navigation .drawer-sub-toggle svg,
  body.jhb-pmm-enabled .mobile-menu-container .drawer-sub-toggle svg {
    transition: none;
  }
}


/* =========================================================
   v2.0: No-Glass Feinschliff
   ========================================================= */

@media (min-width: 1025px) {
  /* Panels: keine Glasoptik mehr, sondern klare ruhige Flächen */
  .jhb-pmm-panel {
    background:
      linear-gradient(90deg, var(--jhb-pmm-green-900) 0 214px, #fffaf5 214px 100%);
    border: 1px solid rgba(31,52,56,.12);
    box-shadow:
      0 22px 52px rgba(20,43,25,.20),
      0 4px 14px rgba(20,43,25,.10);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  .jhb-pmm-panel--angebote,
  .jhb-pmm-panel--standorte {
    background:
      linear-gradient(90deg, var(--jhb-pmm-green-900) 0 214px, #fffaf5 214px 100%);
  }

  .jhb-pmm-panel--standorte {
    background:
      radial-gradient(circle at 96% 10%, rgba(233,98,11,.08), transparent 31%),
      linear-gradient(90deg, var(--jhb-pmm-green-900) 0 214px, #fffaf5 214px 100%);
  }

  .jhb-pmm-content,
  .jhb-pmm-panel--standorte .jhb-pmm-content {
    background: #fffaf5;
  }

  .jhb-pmm-card {
    background: #ffffff;
    border: 1px solid rgba(31,52,56,.10);
    box-shadow: 0 10px 26px rgba(31,52,56,.075);
  }

  .jhb-pmm-card:hover {
    box-shadow: 0 14px 32px rgba(31,52,56,.10);
  }

  .jhb-pmm-link,
  .jhb-pmm-panel--standorte .jhb-pmm-link {
    background: #fff8f1;
    border-color: rgba(31,52,56,.09);
  }

  .jhb-pmm-link::after {
    background:
      linear-gradient(120deg,
        transparent 0%,
        transparent 38%,
        rgba(255,255,255,.20) 48%,
        rgba(255,255,255,.26) 52%,
        transparent 66%,
        transparent 100%);
  }

  /* Pfeile: keine Glass-Kapseln mehr – nur ein ruhiger Pfeil, der orange lebt */
  .jhb-pmm-card-arrow {
    width: auto;
    height: auto;
    min-width: 0;
    margin-top: 2px;
    color: rgba(233,98,11,.72);
    background: transparent;
    box-shadow: none;
    font-size: 20px;
    font-weight: 950;
    opacity: .76;
  }

  .jhb-pmm-card-overview:hover .jhb-pmm-card-arrow,
  .jhb-pmm-card-overview:focus-visible .jhb-pmm-card-arrow {
    color: var(--jhb-pmm-orange);
    background: transparent;
    box-shadow: none;
    opacity: 1;
    transform: translateX(3px);
  }

  .jhb-pmm-rail-links a i {
    width: auto;
    height: auto;
    color: rgba(255,255,255,.82);
    background: transparent;
    box-shadow: none;
    font-size: 18px;
  }

  .jhb-pmm-rail-links a:hover i,
  .jhb-pmm-rail-links a:focus-visible i {
    color: #fff;
    background: transparent;
    transform: translateX(3px);
  }

  .jhb-pmm-rail-links a {
    background: #24572a;
    border-color: rgba(255,255,255,.11);
    box-shadow: none;
  }

  .jhb-pmm-rail-links a:hover,
  .jhb-pmm-rail-links a:focus-visible {
    background: #2b6231;
    border-color: rgba(233,98,11,.46);
  }

  /* Hinweis unter Heimerziehung: gibt der einzelnen Karte mehr Kontext */
  .jhb-pmm-card-note {
    margin: 7px 2px 0;
    color: rgba(102,121,126,.84);
    font-size: 10.85px;
    line-height: 1.35;
    font-weight: 720;
  }

  .jhb-pmm-card-note--stationaer {
    padding-top: 7px;
    border-top: 1px solid rgba(233,98,11,.12);
  }

  /* Warum-wir: kompakter, grün eingebunden, aber ohne Glas */
  .jhb-pmm-panel--mini {
    background: #fffaf5;
    border: 1px solid rgba(31,52,56,.12);
    box-shadow:
      0 20px 46px rgba(20,43,25,.18),
      0 4px 14px rgba(20,43,25,.08);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  .jhb-pmm-mini-head {
    background: var(--jhb-pmm-green-900);
    border: 1px solid rgba(255,255,255,.10);
    box-shadow: none;
  }

  .jhb-pmm-mini-link {
    background: #ffffff;
    border: 1px solid rgba(31,52,56,.09);
    box-shadow: none;
  }

  .jhb-pmm-mini-link:hover,
  .jhb-pmm-mini-link:focus-visible {
    color: #fff;
    background: linear-gradient(135deg, #df5c08, var(--jhb-pmm-orange));
    border-color: rgba(255,255,255,.16);
    box-shadow: 0 9px 20px rgba(233,98,11,.14);
    transform: translateY(-1px);
  }

  .jhb-pmm-mini-dot {
    color: var(--jhb-pmm-orange);
    background: transparent;
    box-shadow: none;
    font-size: 16px;
  }

  .jhb-pmm-mini-link:hover .jhb-pmm-mini-dot,
  .jhb-pmm-mini-link:focus-visible .jhb-pmm-mini-dot {
    color: #fff;
    background: transparent;
  }

  /* Top-Dreieck minimaler, nicht wie ein extra Glas-Element */
  .jhb-pmm-panel::before,
  .jhb-pmm-panel--mini::before {
    background: var(--jhb-pmm-green-900);
    box-shadow: none;
  }
}

@media (max-width: 1024px) {
  /* Mobile ebenfalls weniger Glas: Pfeilfelder ruhiger und nicht gläsern */
  body.jhb-pmm-enabled .mobile-navigation .drawer-sub-toggle,
  body.jhb-pmm-enabled .mobile-menu-container .drawer-sub-toggle {
    background: #214f27;
    border-color: rgba(255,255,255,.10);
    box-shadow: none;
  }

  body.jhb-pmm-enabled .mobile-navigation .drawer-sub-toggle:hover,
  body.jhb-pmm-enabled .mobile-navigation .drawer-sub-toggle:focus-visible,
  body.jhb-pmm-enabled .mobile-menu-container .drawer-sub-toggle:hover,
  body.jhb-pmm-enabled .mobile-menu-container .drawer-sub-toggle:focus-visible {
    background: #24572a;
    border-color: rgba(233,98,11,.36);
  }

  body.jhb-pmm-enabled .mobile-navigation .drawer-nav-drop-wrap[aria-expanded="true"] .drawer-sub-toggle,
  body.jhb-pmm-enabled .mobile-menu-container .drawer-nav-drop-wrap[aria-expanded="true"] .drawer-sub-toggle,
  body.jhb-pmm-enabled .mobile-navigation .menu-item-has-children.is-jhb-mobile-open > .drawer-nav-drop-wrap .drawer-sub-toggle,
  body.jhb-pmm-enabled .mobile-menu-container .menu-item-has-children.is-jhb-mobile-open > .drawer-nav-drop-wrap .drawer-sub-toggle {
    background: #e9620b;
    box-shadow: none;
  }
}


/* =========================================================
   v2.1: Premium Header-Bar über dem Content
   ========================================================= */

@media (min-width: 1025px) {
  /* Rechte Fläche bekommt einen echten Header statt losem Text oben.
     Links ist die Rail schon grün – dadurch wirkt das gesamte Dropdown zusammenhängender. */
  .jhb-pmm-content,
  .jhb-pmm-panel--standorte .jhb-pmm-content {
    padding: 0;
    background: #fffaf5;
  }

  .jhb-pmm-content-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 58px;
    margin: 0;
    padding: 14px 20px;
    color: #fff;
    background:
      radial-gradient(circle at 96% 0%, rgba(242,122,38,.16), transparent 34%),
      linear-gradient(135deg, var(--jhb-pmm-green-850), var(--jhb-pmm-green-950));
    border-bottom: 1px solid rgba(255,255,255,.08);
  }

  .jhb-pmm-content-head span {
    color: rgba(242,122,38,.96);
    font-size: 10.8px;
    font-weight: 950;
    letter-spacing: .09em;
    text-transform: uppercase;
    line-height: 1.15;
  }

  .jhb-pmm-content-head strong {
    color: #fff;
    font-size: 17.5px;
    line-height: 1.12;
    letter-spacing: -.02em;
    font-weight: 920;
    text-align: right;
  }

  .jhb-pmm-grid {
    padding: 17px 20px 20px;
  }

  .jhb-pmm-panel--standorte .jhb-pmm-grid {
    padding: 17px 20px 20px;
  }

  /* Rail optisch an den rechten Header anschließen */
  .jhb-pmm-rail {
    border-right: 1px solid rgba(255,255,255,.08);
  }

  /* Warum-wir: grüner Kopf läuft jetzt bis an den Rand – keine beige Fläche um den Header */
  .jhb-pmm-panel--mini {
    width: min(405px, calc(100vw - 36px));
    padding: 0;
    background: #fffaf5;
    border: 1px solid rgba(31,52,56,.13);
    box-shadow:
      0 22px 52px rgba(20,43,25,.19),
      0 4px 14px rgba(20,43,25,.09);
  }

  .jhb-pmm-mini-head {
    margin: 0;
    padding: 14px 16px;
    border-radius: 24px 24px 0 0;
    background:
      radial-gradient(circle at 94% 0%, rgba(242,122,38,.16), transparent 34%),
      linear-gradient(135deg, var(--jhb-pmm-green-850), var(--jhb-pmm-green-950));
    border: 0;
  }

  .jhb-pmm-mini-links {
    padding: 12px;
    gap: 9px;
  }

  .jhb-pmm-mini-link {
    min-height: 39px;
    background: #ffffff;
    border-color: rgba(31,52,56,.095);
  }

  .jhb-pmm-mini-link:hover,
  .jhb-pmm-mini-link:focus-visible {
    color: #fff;
    background: linear-gradient(135deg, #df5c08, var(--jhb-pmm-orange));
    border-color: rgba(255,255,255,.16);
    box-shadow: 0 9px 20px rgba(233,98,11,.14);
  }

  /* Pfeile nur als lebendiges Detail – keine Kapsel, keine Glasoptik */
  .jhb-pmm-card-arrow {
    color: rgba(233,98,11,.74);
    background: transparent;
    box-shadow: none;
  }

  .jhb-pmm-card-overview:hover .jhb-pmm-card-arrow,
  .jhb-pmm-card-overview:focus-visible .jhb-pmm-card-arrow {
    color: var(--jhb-pmm-orange);
    transform: translateX(3px);
  }

  /* Karten etwas ruhiger/luftiger, damit der Header stärker wirkt */
  .jhb-pmm-card {
    border-color: rgba(31,52,56,.095);
    box-shadow: 0 10px 24px rgba(31,52,56,.07);
  }

  .jhb-pmm-card:hover {
    box-shadow: 0 14px 32px rgba(31,52,56,.10);
  }

  /* Standorte bleiben kompakt */
  .jhb-pmm-panel--standorte .jhb-pmm-grid {
    grid-auto-rows: minmax(124px, auto);
  }
}

@media (min-width: 1025px) and (max-width: 1280px) {
  .jhb-pmm-content-head {
    min-height: 56px;
    padding: 13px 18px;
  }

  .jhb-pmm-grid,
  .jhb-pmm-panel--standorte .jhb-pmm-grid {
    padding: 16px 18px 18px;
  }
}


/* =========================================================
   v2.2: Ruhiger Premium-Look + bessere Mobile-Pfeile
   ========================================================= */

@media (min-width: 1025px) {
  /* Entscheidung: grüne Header-Bar nur beim kleinen Warum-wir-Menü.
     Große Mega-Menüs bleiben heller, damit sie weniger schwer wirken. */
  .jhb-pmm-panel--angebote .jhb-pmm-content-head,
  .jhb-pmm-panel--standorte .jhb-pmm-content-head {
    min-height: 54px;
    color: var(--jhb-pmm-green-950);
    background:
      radial-gradient(circle at 98% 0%, rgba(242,122,38,.10), transparent 32%),
      linear-gradient(135deg, #fffaf5, #fff4ea);
    border-bottom: 1px solid rgba(233,98,11,.13);
  }

  .jhb-pmm-panel--angebote .jhb-pmm-content-head span,
  .jhb-pmm-panel--standorte .jhb-pmm-content-head span {
    color: #f27a26;
    font-size: 10.7px;
    font-weight: 900;
    letter-spacing: .09em;
  }

  .jhb-pmm-panel--angebote .jhb-pmm-content-head strong,
  .jhb-pmm-panel--standorte .jhb-pmm-content-head strong {
    color: var(--jhb-pmm-green-950);
    font-size: 17px;
    font-weight: 820;
    letter-spacing: -.018em;
    text-shadow: none;
  }

  .jhb-pmm-panel--angebote,
  .jhb-pmm-panel--standorte {
    background:
      linear-gradient(90deg, var(--jhb-pmm-green-900) 0 214px, #fffaf5 214px 100%);
  }

  .jhb-pmm-panel--standorte {
    background:
      radial-gradient(circle at 96% 8%, rgba(242,122,38,.075), transparent 30%),
      linear-gradient(90deg, var(--jhb-pmm-green-900) 0 214px, #fffaf5 214px 100%);
  }

  /* Weiße Schrift im grünen Bereich weniger schwer, kein "Leuchten" */
  .jhb-pmm-rail-title {
    font-weight: 820;
    letter-spacing: -.025em;
    text-shadow: none;
  }

  .jhb-pmm-rail-text,
  .jhb-pmm-rail-bullets,
  .jhb-pmm-rail-links a {
    font-weight: 700;
    text-shadow: none;
  }

  .jhb-pmm-rail-eyebrow {
    color: rgba(255,255,255,.88);
    font-weight: 820;
    background: rgba(255,255,255,.075);
    border-color: rgba(255,255,255,.13);
  }

  /* Warum-wir Header: klickbar, orange Hinweis, aber weiterhin JHB-Grün */
  .jhb-pmm-mini-head-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    color: #fff;
    text-decoration: none;
    cursor: pointer;
    transition:
      background .22s ease,
      transform .18s ease,
      color .18s ease;
  }

  .jhb-pmm-mini-head-link:hover,
  .jhb-pmm-mini-head-link:focus-visible {
    color: #fff;
    background:
      radial-gradient(circle at 94% 0%, rgba(242,122,38,.20), transparent 34%),
      linear-gradient(135deg, var(--jhb-pmm-green-850), #09290d);
    transform: translateY(-1px);
  }

  .jhb-pmm-mini-copy small {
    color: #f27a26;
    font-size: 10.9px;
    font-weight: 950;
    letter-spacing: .09em;
  }

  .jhb-pmm-mini-copy strong {
    color: #fff;
    font-size: 16.4px;
    font-weight: 820;
    letter-spacing: -.018em;
    text-shadow: none;
  }

  .jhb-pmm-mini-copy em {
    display: block;
    margin-top: 2px;
    color: rgba(255,255,255,.68);
    font-size: 10.7px;
    font-style: normal;
    font-weight: 760;
    line-height: 1.1;
  }

  .jhb-pmm-mini-head-arrow {
    color: #f27a26;
    font-size: 24px;
    font-weight: 900;
    line-height: 1;
    transition: transform .18s ease, color .18s ease;
  }

  .jhb-pmm-mini-head-link:hover .jhb-pmm-mini-head-arrow,
  .jhb-pmm-mini-head-link:focus-visible .jhb-pmm-mini-head-arrow {
    color: #fff;
    transform: translateX(3px);
  }

  /* Kleine Karten-Schriften etwas leichter */
  .jhb-pmm-card-title {
    font-weight: 820;
    text-shadow: none;
  }

  .jhb-pmm-link-main {
    font-weight: 770;
    text-shadow: none;
  }

  .jhb-pmm-link-meta,
  .jhb-pmm-card-note {
    font-weight: 660;
  }

  /* Header-Dreieck wirkt dezenter */
  .jhb-pmm-panel::before,
  .jhb-pmm-panel--mini::before {
    width: 15px;
    height: 15px;
    border-radius: 4px;
  }
}

@media (max-width: 1024px) {
  /* Handy/Tablet: Pfeil-Hintergründe raus.
     Die Buttons bleiben groß klickbar, aber ohne Kasten, damit Trenner nicht "durchlaufen". */
  body.jhb-pmm-enabled .mobile-navigation .drawer-nav-drop-wrap,
  body.jhb-pmm-enabled .mobile-menu-container .drawer-nav-drop-wrap {
    position: relative;
    align-items: stretch;
  }

  body.jhb-pmm-enabled .mobile-navigation .drawer-nav-drop-wrap > a,
  body.jhb-pmm-enabled .mobile-menu-container .drawer-nav-drop-wrap > a {
    padding-right: 58px;
  }

  body.jhb-pmm-enabled .mobile-navigation .drawer-sub-toggle,
  body.jhb-pmm-enabled .mobile-menu-container .drawer-sub-toggle {
    position: absolute;
    top: 50%;
    right: 8px;
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    color: rgba(255,255,255,.92);
    background: transparent;
    box-shadow: none;
    transform: translateY(-50%);
    z-index: 2;
  }

  body.jhb-pmm-enabled .mobile-navigation .drawer-sub-toggle:hover,
  body.jhb-pmm-enabled .mobile-navigation .drawer-sub-toggle:focus-visible,
  body.jhb-pmm-enabled .mobile-menu-container .drawer-sub-toggle:hover,
  body.jhb-pmm-enabled .mobile-menu-container .drawer-sub-toggle:focus-visible {
    color: #fff;
    background: rgba(233,98,11,.18);
    box-shadow: none;
  }

  body.jhb-pmm-enabled .mobile-navigation .drawer-nav-drop-wrap[aria-expanded="true"] .drawer-sub-toggle,
  body.jhb-pmm-enabled .mobile-menu-container .drawer-nav-drop-wrap[aria-expanded="true"] .drawer-sub-toggle,
  body.jhb-pmm-enabled .mobile-navigation .menu-item-has-children.is-jhb-mobile-open > .drawer-nav-drop-wrap .drawer-sub-toggle,
  body.jhb-pmm-enabled .mobile-menu-container .menu-item-has-children.is-jhb-mobile-open > .drawer-nav-drop-wrap .drawer-sub-toggle {
    color: #fff;
    background: #e9620b;
    transform: translateY(-50%) rotate(180deg);
  }

  /* Trenner stoppen vor dem Pfeilbereich */
  body.jhb-pmm-enabled .mobile-navigation .drawer-nav-drop-wrap::after,
  body.jhb-pmm-enabled .mobile-menu-container .drawer-nav-drop-wrap::after {
    content: "";
    position: absolute;
    left: 14px;
    right: 56px;
    bottom: -1px;
    height: 1px;
    background: rgba(255,255,255,.08);
    pointer-events: none;
  }

  body.jhb-pmm-enabled .mobile-navigation ul li > a,
  body.jhb-pmm-enabled .mobile-menu-container ul li > a {
    font-weight: 720;
  }

  body.jhb-pmm-enabled .mobile-navigation ul.sub-menu > li > a,
  body.jhb-pmm-enabled .mobile-menu-container ul.sub-menu > li > a {
    font-weight: 700;
  }

  body.jhb-pmm-enabled .mobile-navigation li.highlight > a,
  body.jhb-pmm-enabled .mobile-menu-container li.highlight > a,
  body.jhb-pmm-enabled .mobile-navigation li.menu-item.highlight > a,
  body.jhb-pmm-enabled .mobile-menu-container li.menu-item.highlight > a {
    font-weight: 780;
  }
}

/* =========================================================
   JHB Mega Menu v1.0: Standort-Header optisch sauberer
   ========================================================= */

@media (min-width: 1025px) {
  .jhb-pmm-panel--standorte .jhb-pmm-card-overview--static,
  .jhb-pmm-panel--standorte .jhb-pmm-card-overview {
    align-items: center;
    gap: 11px;
  }

  .jhb-pmm-panel--standorte .jhb-pmm-card-icon {
    width: 31px;
    height: 31px;
    min-width: 31px;
  }

  .jhb-pmm-panel--standorte .jhb-pmm-card-icon svg {
    width: 16px;
    height: 16px;
  }

  .jhb-pmm-panel--standorte .jhb-pmm-card-title {
    display: block;
    font-size: 14.05px;
    line-height: 1.14;
    font-weight: 850;
    letter-spacing: -.012em;
  }

  .jhb-pmm-panel--standorte .jhb-pmm-card-heading {
    justify-content: center;
  }

  .jhb-pmm-panel--standorte .jhb-pmm-card-head {
    display: flex;
    align-items: center;
  }
}
