
:root{ --ixnm-ease:cubic-bezier(.22,.61,.36,1); --ixnm-red:#BC2E2B; --ixnm-ink:#16191D; }

/* ---- 1) HIDE-ON-SCROLL ---- */
@media (min-width:993px){
  html body .rh_temp_header_large_screens{
    transition:transform .34s var(--ixnm-ease), box-shadow .28s var(--ixnm-ease), background-color .28s var(--ixnm-ease) !important;
    will-change:transform;
  }
  html.ix-nav-hidden body .rh_temp_header_large_screens{ transform:translateY(-100%) !important; }
}

/* ---- 2) TOP-MENUE — wachsender roter Unterstrich (Service-Look), keine Symbole ---- */
@media (min-width:993px){
  html body .rh_menu__main{position:relative !important;}
  html body .rh_menu__main > li{position:relative;}

  html body header .rh_menu__main > li > a:not([href*="/kontakt"])::after{
    content:"" !important; display:block !important; position:absolute;
    left:14px; right:14px; bottom:6px; height:2px;
    background:var(--ixnm-red); border:0 !important; box-shadow:none !important;
    transform:scaleX(0); transform-origin:left center;
    transition:transform .28s var(--ixnm-ease) !important;
  }
  html body header .rh_menu__main > li:hover > a:not([href*="/kontakt"])::after,
  html body header .rh_menu__main > li.current-menu-item > a:not([href*="/kontakt"])::after,
  html body header .rh_menu__main > li.current_page_item > a:not([href*="/kontakt"])::after,
  html body header .rh_menu__main > li.current-menu-ancestor > a:not([href*="/kontakt"])::after{
    transform:scaleX(1) !important;
  }

  /* Aktiv-Item im Sticky-Header: rote Pille + WEISSE Schrift (wie oben).
     Wichtig: JS (immoxx-menu-hover-fix) malt current = rot/weiss nur via color,
     NICHT via -webkit-text-fill-color -> ohne diese Regel kippte die Glyph-Fuellung
     auf ink = schwarze Schrift auf rotem Grund. Daher hier explizit weiss halten. */
  html.ix-hdr-stuck body .rh_menu__main > li.current-menu-item > a:not([href*="/kontakt"]),
  html.ix-hdr-stuck body .rh_menu__main > li.current_page_item > a:not([href*="/kontakt"]),
  html.ix-hdr-stuck body .rh_menu__main > li.current-menu-ancestor > a:not([href*="/kontakt"]){
    background:var(--ixnm-red) !important; background-color:var(--ixnm-red) !important;
    color:#fff !important; -webkit-text-fill-color:#fff !important;
  }
  html:not(.ix-hdr-stuck) body.home .rh_menu__main > li.current-menu-item > a:not([href*="/kontakt"]),
  html:not(.ix-hdr-stuck) body.home .rh_menu__main > li.current-menu-ancestor > a:not([href*="/kontakt"]),
  html:not(.ix-hdr-stuck) body.page-id-105 .rh_menu__main > li.current-menu-item > a:not([href*="/kontakt"]){
    background:transparent !important; background-color:transparent !important;
    color:#fff !important; -webkit-text-fill-color:#fff !important;
  }

  /* ruhige Typo + KONTAKT eckig & ROT (alle Zustaende) */
  html body .rh_menu__main > li > a:not([href*="/kontakt"]){
    font-size:14px !important; letter-spacing:.02em !important; font-weight:500 !important;
  }
  html body .rh_menu__main > li > a[href*="/kontakt"]{
    background:#1A1D24 !important; color:#fff !important; -webkit-text-fill-color:#fff !important;
    border:1px solid var(--ixnm-red) !important; border-radius:0 !important; letter-spacing:.12em !important;
  }
  html body .rh_menu__main > li > a[href*="/kontakt"]:hover{ background:var(--ixnm-red) !important; border-color:var(--ixnm-red) !important; }
}

/* ---- Mega-Panels gehoeren NUR zum Desktop-Hover-Menue. Das gesamte Panel-CSS
   (inkl. position:fixed/opacity:0/visibility:hidden) liegt in @media(min-width:993px),
   d.h. unter 993px bekamen die Panels GAR KEINE Hide-Regel -> sie fielen roh und
   voll ausgeklappt (je 2.500-5.600px) ans Seitenende. Mobile/Tablet bedient die
   Hamburger-Nav (immoxx-mobile-nav.php) -> Panels hier komplett aus dem Fluss nehmen. */
@media (max-width:992px){
  html body .ix-mega{ display:none !important; }
}

/* ---- 3) MEGA-PANELS — nur im Preview aktiv (native Dropdowns unterdruecken) ---- */
@media (min-width:993px){
  html body.ix-navprev .rh_menu__main > li.menu-item-11425 > ul.sub-menu,
  html body.ix-navprev .rh_menu__main > li.menu-item-11425.menu-item-has-children:hover > ul.sub-menu,
  html body.ix-navprev .rh_menu__main > li.menu-item-11427 > ul.sub-menu,
  html body.ix-navprev .rh_menu__main > li.menu-item-11427.menu-item-has-children:hover > ul.sub-menu,
  html body.ix-navprev .rh_menu__main > li.menu-item-11428 > ul.sub-menu,
  html body.ix-navprev .rh_menu__main > li.menu-item-11428.menu-item-has-children:hover > ul.sub-menu,
  html body.ix-navprev .rh_menu__main > li.menu-item-11429 > ul.sub-menu,
  html body.ix-navprev .rh_menu__main > li.menu-item-11429.menu-item-has-children:hover > ul.sub-menu,
  html body.ix-navprev .rh_menu__main > li.menu-item-40870 > ul.sub-menu,
  html body.ix-navprev .rh_menu__main > li.menu-item-40870.menu-item-has-children:hover > ul.sub-menu,
  html body.ix-navprev .rh_menu__main > li.menu-item-11541 > ul.sub-menu,
  html body.ix-navprev .rh_menu__main > li.menu-item-11541.menu-item-has-children:hover > ul.sub-menu{
    display:none !important; visibility:hidden !important; opacity:0 !important;
  }

  /* ===== Panel-Grundgeruest ===== */
  .ix-mega{
    position:fixed; left:0; right:0; top:0; z-index:998;
    opacity:0; visibility:hidden; transform:translateY(-6px);
    transition:opacity .22s var(--ixnm-ease), transform .26s var(--ixnm-ease), visibility .22s;
    pointer-events:none; font-family:'Inter',system-ui,-apple-system,sans-serif;
  }
  .ix-mega.open{ opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto; }
  .ix-mega__inner{
    max-width:1200px; margin:12px auto 0; background:#fff;
    border:1px solid #D7DEE4; border-top:2px solid var(--ixnm-red); border-radius:0;
    box-shadow:0 30px 70px -28px rgba(22,25,29,.45);
    padding:34px 38px 36px; display:grid; gap:46px;
  }
  .ix-mega--immo  .ix-mega__inner{ grid-template-columns:1fr 1fr .95fr; }
  .ix-mega--proj  .ix-mega__inner{ grid-template-columns:repeat(3,1fr); gap:18px 22px; }
  .ix-mega--serv  .ix-mega__inner{ grid-template-columns:1fr 1fr .9fr; }
  .ix-mega--ueber .ix-mega__inner{ grid-template-columns:repeat(3,1fr); gap:18px 22px; }
  .ix-mega--partner .ix-mega__inner{ grid-template-columns:repeat(3,1fr); gap:18px 22px; }

  /* Eyebrow-Label (rot, uppercase, mit Strich) */
  .ix-mega__ey{ display:flex; align-items:center; gap:12px; margin:0 0 18px;
    font-size:11px; font-weight:600; letter-spacing:.24em; text-transform:uppercase; color:var(--ixnm-red); }
  .ix-mega__ey::before{ content:""; width:22px; height:1px; background:var(--ixnm-red); flex:0 0 22px; }

  /* Links mit Symbol + wachsendem Unterstrich */
  .ix-mega a.ix-mega__link{ display:flex; align-items:center; gap:13px; padding:8px 0; text-decoration:none;
    color:#16191D; font-size:14px; font-weight:500; letter-spacing:.005em; transition:color .2s var(--ixnm-ease); }
  .ix-mega a.ix-mega__link svg{ width:17px; height:17px; flex:0 0 17px; color:#9AA6B0;
    transition:color .2s var(--ixnm-ease), transform .2s var(--ixnm-ease); }
  .ix-mega a.ix-mega__link span{ position:relative; padding-bottom:2px; }
  .ix-mega a.ix-mega__link span::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:1.5px;
    background:var(--ixnm-red); transform:scaleX(0); transform-origin:left; transition:transform .25s var(--ixnm-ease); }
  .ix-mega a.ix-mega__link:hover{ color:var(--ixnm-red); }
  .ix-mega a.ix-mega__link:hover svg{ color:var(--ixnm-red); transform:translateX(1px); }
  .ix-mega a.ix-mega__link:hover span::after{ transform:scaleX(1); }

  /* Immobilien = Kern-Punkt: Such-Links GROSS & hervorgehoben — Icon-Kacheln (eckig) + fette Typo */
  .ix-mega--immo .ix-mega__ey{ margin-bottom:24px; }
  .ix-mega--immo .ix-mega__link{ font-size:18.5px; font-weight:600; padding:12px 0; gap:17px; letter-spacing:0; }
  .ix-mega--immo .ix-mega__link svg{ width:20px; height:20px; flex:0 0 20px; padding:10px; box-sizing:content-box;
    background:#F2F5F8; color:#5F6B76; transition:background .2s var(--ixnm-ease), color .2s var(--ixnm-ease); }
  .ix-mega--immo .ix-mega__link:hover{ color:var(--ixnm-red); }
  .ix-mega--immo .ix-mega__link:hover svg{ background:#FAE9E8; color:var(--ixnm-red); transform:none; }
  .ix-mega--immo .ix-mega__inner > div:first-child .ix-mega__link + .ix-mega__link{ border-top:1px solid #EDF0F3; }

  /* Live-Bestand — Steel-Karte */
  .ix-mega__stat{ background:#1E2A33; border-radius:0; padding:26px 26px 24px; color:#fff;
    display:flex; flex-direction:column; align-self:start; }
  .ix-mega__stat .ix-mega__ey{ color:#E07A6A; }
  .ix-mega__stat .ix-mega__ey::before{ background:#E07A6A; }
  .ix-mega__num{ font-family:'Cormorant Garamond',Georgia,serif; font-weight:600; font-size:64px; line-height:.82; letter-spacing:.01em; margin-top:2px; }
  .ix-mega__statlbl{ font-size:12.5px; color:rgba(255,255,255,.62); margin:10px 0 0; }
  .ix-mega__split{ display:flex; gap:30px; margin:18px 0 0; padding-top:16px; border-top:1px solid rgba(255,255,255,.13); }
  .ix-mega__split b{ display:block; font-family:'Cormorant Garamond',Georgia,serif; font-weight:600; font-size:26px; line-height:1; }
  .ix-mega__split span{ font-size:11px; letter-spacing:.04em; color:rgba(255,255,255,.55); }
  .ix-mega__cta{ margin-top:22px; display:inline-flex; align-items:center; gap:9px; align-self:flex-start;
    background:none; border:1px solid rgba(255,255,255,.28); color:#fff; text-decoration:none; border-radius:0;
    padding:11px 18px; font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
    transition:background .2s var(--ixnm-ease), border-color .2s var(--ixnm-ease); }
  .ix-mega__cta svg{ width:15px; height:15px; transition:transform .2s var(--ixnm-ease); }
  .ix-mega__cta:hover{ background:var(--ixnm-red); border-color:var(--ixnm-red); }
  .ix-mega__cta:hover svg{ transform:translateX(3px); }

  /* Highlight-Spalte (Services) — heller Block mit rotem Kontakt-CTA */
  .ix-mega__note{ background:#F7F9FB; border:1px solid #E6EBEF; border-radius:0; padding:24px 24px 22px; align-self:start; }
  .ix-mega__note .ix-mega__ey{ margin-bottom:14px; }
  .ix-mega__note h4{ font-family:'Cormorant Garamond',Georgia,serif; font-weight:600; font-size:24px; line-height:1.12; color:#16191D; margin:0 0 8px; }
  .ix-mega__note p{ font-size:13px; line-height:1.6; color:#42505B; margin:0 0 18px; }
  .ix-mega__ctared{ display:inline-flex; align-items:center; gap:9px; background:var(--ixnm-red); color:#fff; text-decoration:none;
    border-radius:0; padding:11px 18px; font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; transition:background .2s var(--ixnm-ease); }
  .ix-mega__ctared svg{ width:15px; height:15px; transition:transform .2s var(--ixnm-ease); }
  .ix-mega__ctared:hover{ background:#9A211F; }
  .ix-mega__ctared:hover svg{ transform:translateX(3px); }

  /* Karten (Projekte / Über uns / Partner) — eckig, Serifen-Titel */
  .ix-mega__card{ display:flex; flex-direction:column; gap:9px; text-decoration:none;
    border:1px solid #E6EBEF; border-radius:0; padding:18px 20px;
    transition:border-color .2s var(--ixnm-ease), background .2s var(--ixnm-ease); }
  .ix-mega__card .bez{ display:inline-flex; align-items:center; gap:7px;
    font-size:10.5px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--ixnm-red); }
  .ix-mega__card .bez svg{ width:13px; height:13px; }
  .ix-mega__card .nm{ font-family:'Cormorant Garamond',Georgia,serif; font-weight:600; font-size:21px; line-height:1.1;
    color:#16191D; display:flex; align-items:center; justify-content:space-between; gap:10px; }
  .ix-mega__card .nm svg{ width:18px; height:18px; color:#C3CCD4; opacity:0; transform:translateX(-4px);
    transition:.22s var(--ixnm-ease); flex:0 0 18px; }
  .ix-mega__card .desc{ font-size:12.5px; color:#6B7884; line-height:1.5; margin-top:-1px; }
  .ix-mega__card:hover{ border-color:var(--ixnm-red); background:#FBFCFD; }
  .ix-mega__card:hover .nm{ color:var(--ixnm-red); }
  .ix-mega__card:hover .nm svg{ color:var(--ixnm-red); opacity:1; transform:translateX(0); }

  /* Projekt-Karten mit Vorschaubild */
  .ix-mega--proj .ix-mega__card.ix-mega__pcard{ padding:0; gap:0; overflow:hidden; }
  .ix-mega__thumb{ display:block; height:128px; background:#E6EBEF 50% / cover no-repeat; transition:transform .4s var(--ixnm-ease); }
  .ix-mega--proj .ix-mega__pcard:hover .ix-mega__thumb{ transform:scale(1.04); }
  .ix-mega__thumb--ph{ display:flex; align-items:center; justify-content:center; color:#AEB9C2; }
  .ix-mega__thumb--ph svg{ width:32px; height:32px; }
  .ix-mega__pbody{ display:flex; flex-direction:column; gap:8px; padding:15px 18px 17px; }
}

/* ---- LOGO-FIX: korrektes Seitenverhaeltnis (war gestaucht) ---- */
@media (min-width:993px){
  html body .rh_temp_header_large_screens .rh_logo img,
  html body .rh_temp_header_large_screens .rh_logo_inner img,
  html body .rh_temp_header_large_screens .rh_logo a img{
    height:40px !important; width:auto !important; max-width:none !important; min-width:0 !important;
    aspect-ratio:499 / 78 !important; object-fit:contain !important; flex:0 0 auto !important;
  }
  html.ix-hdr-stuck body .rh_temp_header_large_screens .rh_logo img,
  html.ix-hdr-stuck body .rh_temp_header_large_screens .rh_logo_inner img,
  html.ix-hdr-stuck body .rh_temp_header_large_screens .rh_logo a img{ height:32px !important; }
}

@media (prefers-reduced-motion:reduce){
  html body .rh_temp_header_large_screens,
  .ix-mega, .ix-mega__card, .ix-mega a.ix-mega__link span::after{ transition:none !important; }
}
