:root{
  --brand:#761c1f;
  --brand-light:#761c1f1a;
  --ink:#1f1f21;
  --muted:#5d616b;
  --light-gray:#f8f8fa;

  --container:1320px; /* Standard (mobil + tablet) */
  --header-h:76px;
  --header-px:16px;
  --header-h-mobile:60px;

  --glass-top: rgba(255,255,255,.85);
  --glass-btm: rgba(255,255,255,.90);
  --glass-solid: rgba(255,255,255,.94);
  --glass-stroke: rgba(10,12,16,.10);

  --icon-size:44px;
  --icon-bg-top: rgba(255,255,255,.42);
  --icon-bg-btm: rgba(255,255,255,.28);
  --icon-border: rgba(255,255,255,.45);
  --icon-shadow: 0 6px 14px rgba(15,17,20,.10);
  --icon-highlight: rgba(255,255,255,.55);
  --icon-bottom: rgba(0,0,0,.06);

  --curl-h: 50vh;
  --curl-w: 50vw;

  /* Zeiten/Easings */
  --dur: 320ms;
  --ease: cubic-bezier(.22,.72,.08,1);
  --spin-dur: 640ms;
  --wipe-bg: 820ms;
  --wipe-content: 820ms;
  --wipe-content-delay: 80ms;
  --fade-close: 260ms;

  /* Typo (fluid via clamp) */
  --menu-title-size: clamp(18px, 2.6vw, 30px);
  --menu-link-size:  clamp(15px, 1.25vw, 18px);
  --menu-title-weight: 800;
  --menu-link-weight: 400;
  --menu-title-lh: 1.2;
  --menu-link-lh: 1.55;
}

/* Desktop-Container auf 1420px erhöhen (Mobile unverändert) */
@media (min-width: 992px){
  :root{ --container: 1420px; }
}

.menu-closing{
  --wipe-content: 620ms;
  --wipe-content-delay: 0ms;
  --fade-close: 260ms;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  color:var(--ink);
  background:#fff;
}

/* Nur Header/Overlay benutzen Albert Sans */
.site-header,
.mega,
.floating-btn,
.mega__curl-footer .curl-content,
.curl-footer-links{
  font-family:"Albert Sans", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial;
}

/* SVG Icons */
.icon{width:20px;height:20px;display:block;stroke-width:2}

/* Header */
.site-header{
  position:fixed;inset:0 0 auto 0;z-index:99999;
  background:linear-gradient(to bottom, var(--glass-top), var(--glass-btm));
  border-bottom:1px solid var(--glass-stroke);
  backdrop-filter:saturate(1.05) blur(10px); -webkit-backdrop-filter:saturate(1.05) blur(10px);
  transition:background var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
.site-header.is-solid{background:var(--glass-solid);box-shadow:0 8px 28px rgba(15,17,20,.06)}
.header-inner{
  max-width:var(--container);margin:0 auto;padding:0 var(--header-px);
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;height:var(--header-h)
}

/* Admin-Bar offsets */
@media (min-width: 783px){
  body.admin-bar .site-header{ top:32px }
  body.admin-bar .mega{ top:32px }
}
@media (max-width: 782px){
  body.admin-bar .site-header{ top:46px }
  body.admin-bar .mega{ top:46px }
}

/* Mobile Header - zentriertes Logo */
@media (max-width: 767px){
  .header-inner{
    height:var(--header-h-mobile);
    grid-template-columns:44px 1fr 44px;
    padding:0 12px;
    gap:0;
  }
  .h-left{ justify-content:flex-start; width:44px }
  .h-left .icon-btn{ display:none }
  .h-right{ width:44px; visibility:hidden }
  .brand-center{ justify-self:center; display:flex; justify-content:center; align-items:center }
  .brand-center img{ height:42px; max-width:calc(100vw - 120px); object-fit:contain }
}

/* Floating Button Mobile */
@media (max-width: 767px){
  .floating-btn{
    position:fixed; bottom:20px; right:20px; z-index:70;
    animation:slideInUp 400ms ease;
  }
  @keyframes slideInUp{ from{transform:translateY(100px);opacity:0} to{transform:translateY(0);opacity:1} }
  .site-header .h-right{ display:none }
}
@media (min-width: 768px){ .floating-btn{ display:none } }

/* Runde Icon-Buttons */
.icon-btn,.burger,.mega__close{
  width:var(--icon-size); height:var(--icon-size);
  border-radius:999px; display:grid; place-items:center; cursor:pointer;
  color:rgba(0,0,0,.82);
  background: linear-gradient(to bottom, var(--icon-bg-top), var(--icon-bg-btm));
  border:1px solid var(--icon-border);
  box-shadow: var(--icon-shadow), inset 0 1px 0 var(--icon-highlight), inset 0 -1px 0 var(--icon-bottom);
  backdrop-filter:saturate(1.1) blur(6px); -webkit-backdrop-filter:saturate(1.1) blur(6px);
  transition:transform 180ms var(--ease), box-shadow 200ms var(--ease), background-color 200ms var(--ease);
}
.icon-btn:hover,.burger:hover,.mega__close:hover{
  transform:translateY(-1px);
  background: linear-gradient(to bottom, rgba(255,255,255,.46), rgba(255,255,255,.32));
  box-shadow: 0 8px 16px rgba(15,17,20,.12), inset 0 1px 0 rgba(255,255,255,.6), inset 0 -1px 0 rgba(0,0,0,.06);
}
.icon-btn:focus-visible,.burger:focus-visible,.mega__close:focus-visible{
  outline:0; box-shadow: 0 0 0 3px rgba(118,28,31,.18), var(--icon-shadow), inset 0 1px 0 var(--icon-highlight), inset 0 -1px 0 rgba(0,0,0,.06);
}
@keyframes icon-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.icon-btn:hover svg,.icon-btn:focus-visible svg,.burger:hover svg,.burger:focus-visible svg,.mega__close:hover svg,.mega__close:focus-visible svg{ animation: icon-spin var(--spin-dur) var(--ease) }

/* Burger -> X (deaktiviert, wenn du separate Close-Icon nutzt, bleibt ohne Effekt) */
.burger svg{width:20px;height:20px}
.burger .line{transition:transform var(--dur) var(--ease), opacity var(--dur) var(--ease); transform-origin:12px 12px}
.menu-open .burger .line--mid{opacity:0}
.menu-open .burger .line--top{transform:translateY(6px) rotate(45deg)}
.menu-open .burger .line--bot{transform:translateY(-6px) rotate(-45deg)}

.h-left{display:flex;align-items:center;gap:10px}
.brand-center{justify-self:center}
.brand-center img{height:56px;max-width:min(44vw,460px);display:block;object-fit:contain}
.h-right{display:flex;justify-content:flex-end}

/* Button */
.btn{
  appearance:none;border:1px solid var(--brand);background:var(--brand);color:#fff;
  padding:11px 20px;border-radius:12px;font-weight:700;cursor:pointer;text-decoration:none;
  transform:translateY(0); box-shadow: 0 4px 12px rgba(118,28,31,.25);
  transition: transform 180ms var(--ease), box-shadow 180ms var(--ease), filter 150ms var(--ease);
  display:inline-block; text-transform:uppercase; letter-spacing:0.5px; font-size:14px;
}
.btn:hover{transform:translateY(-2px);box-shadow: 0 10px 20px rgba(118,28,31,.30);filter:brightness(.98)}
.btn:active{transform:translateY(-1px);box-shadow: 0 6px 14px rgba(118,28,31,.24)}

/* ---- Booking CTA (per Page-ID) ---- */
.btn--booking{
  background: var(--book-btn-bg, var(--brand));
  border-color: var(--book-btn-bg, var(--brand));
  box-shadow: 0 4px 12px var(--book-btn-shadow-25, rgba(118,28,31,.25));
}
.btn--booking:hover{ box-shadow: 0 10px 20px var(--book-btn-shadow-30, rgba(118,28,31,.30)) }
.btn--booking:active{ box-shadow: 0 6px 14px var(--book-btn-shadow-24, rgba(118,28,31,.24)) }

/* Overlay */
.mega{
  position:fixed;top:0;right:0;bottom:0;left:0;
  z-index:100000 !important; /* über dem Header (99999) */
  display:grid;grid-template-rows:auto 1fr;
  color:var(--ink); visibility:hidden; pointer-events:none;
}
.menu-open .mega{visibility:visible; pointer-events:auto}
.menu-closing .mega{visibility:visible; pointer-events:none}

/* Während offen: Header-Buttons ausblenden (optional) */
.menu-open .site-header .h-left,
.menu-open .site-header .h-right{
  opacity:0; pointer-events:none;
  transition:opacity 180ms var(--ease);
}

/* Glas-Hintergrund */
.mega::before{
  content:""; position:absolute; inset:0; z-index:0;
  background:linear-gradient(to bottom, var(--glass-top), var(--glass-btm));
  border-top:1px solid var(--glass-stroke);
  backdrop-filter:saturate(1.05) blur(12px); -webkit-backdrop-filter:saturate(1.05) blur(12px);
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  transition: -webkit-clip-path var(--wipe-bg) var(--ease), clip-path var(--wipe-bg) var(--ease);
}
.menu-open .mega::before{-webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%)}

/* Topbar */
.mega__top{position:relative;border-bottom:1px solid var(--glass-stroke)}
.mega__top-inner{
  position:relative; z-index:3;
  max-width:var(--container);margin:0 auto;padding:0 var(--header-px);
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;height:var(--header-h);
  opacity:0;transform:translateY(-6px);
  transition:opacity 360ms var(--ease) 120ms, transform 360ms var(--ease) 120ms;
}
.menu-open .mega__top-inner{opacity:1;transform:none}

/* Brand (Topbar) */
.mega__brand{
  font-weight:700;
  font-size: clamp(16px, 1.2vw, 22px);
  line-height:1;
  letter-spacing:.2px;
  text-align:center;
  color:var(--ink);
  opacity:.9;
}

/* Mobile Top */
@media (max-width: 767px){
  .mega__top-inner{
    height:var(--header-h-mobile);
    grid-template-columns:44px 1fr 44px;
    padding:0 12px; gap:0;
  }
  .mega__left{ width:44px }
  .mega__brand{ font-size:20px; text-align:center; justify-self:center }
  .mega__top-inner .h-right{ width:44px; visibility:hidden }
  .mega .floating-btn{ position:fixed; bottom:20px; right:20px; z-index:105 }
}
@media (min-width: 768px){ .mega .floating-btn{ display:none } }

/* Content Reveal */
.mega__reveal{
  position:relative;z-index:3;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  transition: -webkit-clip-path var(--wipe-content) var(--ease) var(--wipe-content-delay), clip-path var(--wipe-content) var(--ease) var(--wipe-content-delay);
}
.menu-open .mega__reveal{-webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%)}

/* Grid */
.mega__grid{
  display:grid;grid-template-columns: 1fr;gap:28px;align-items:start;
  max-width:var(--container);margin:0 auto;padding:24px var(--header-px) 64px;
  opacity:1; transition:opacity var(--fade-close) var(--ease)
}
.menu-closing .mega__grid{opacity:0}
.mega__cols{display:grid;gap:28px;grid-template-columns: 1fr}

/* Gruppen + Links (Typo) */
.mega-group{ border:0; background:transparent }
.mega-group__head{ display:flex; align-items:center; justify-content:space-between; padding:0 0 10px 0; border-bottom:1px solid var(--glass-stroke) }
.mega-group__title{
  font-size:var(--menu-title-size);
  font-weight:var(--menu-title-weight);
  line-height:var(--menu-title-lh);
  margin:0;
}
.mega-group__title .mega-group__link{
  color:var(--ink);
  text-decoration:none;
  display:inline-block;
}
.mega-group__title .mega-group__link:hover{ color:var(--brand) }

.mega-group__toggle{
  appearance:none; background:transparent; border:0;
  width:40px; height:40px; margin-left:8px; cursor:pointer;
  position:relative; flex:0 0 auto; border-radius:10px;
}
.mega-group__toggle::before{
  content:""; position:absolute; left:50%; top:50%;
  width:12px; height:12px;
  border-right:2px solid var(--muted); border-bottom:2px solid var(--muted);
  transform:translate(-50%,-50%) rotate(-45deg);
  transition:transform 200ms var(--ease), border-color 150ms var(--ease);
}
.group-open .mega-group__toggle::before{
  transform:translate(-50%,-50%) rotate(45deg);
  border-color:var(--ink);
}
.mega-group__toggle:focus-visible{
  outline:0; box-shadow:0 0 0 3px rgba(118,28,31,.18);
}

.mega-links ul{ list-style:none; margin:0; padding:0 }
.mega-links li{ border:0 }
.mega-links a{
  display:flex; align-items:center; justify-content:space-between;
  text-decoration:none; color:var(--muted);
  padding:10px 0; border-bottom:1px solid rgba(10,12,16,.08);
  font-size:var(--menu-link-size);
  font-weight:var(--menu-link-weight);
  line-height:var(--menu-link-lh);
  position:relative;
}
.mega-links li:last-child a{ border-bottom:0 }
.mega-links a:hover{ color:var(--ink) }

/* L3 Akkordeon */
.mega-links li.has-children > a{ padding-right:44px }
.mega-links li.has-children > a .chev{
  position:absolute; right:8px; top:50%;
  width:12px; height:12px;
  border-right:2px solid currentColor; border-bottom:2px solid currentColor;
  transform:translateY(-50%) rotate(-45deg);
  transition:transform 200ms var(--ease), opacity 200ms var(--ease);
  opacity:.85; cursor:pointer; user-select:none; touch-action:manipulation;
}
.mega-links li.has-children > a .chev::before{
  content:""; position:absolute; inset:-16px; background:transparent;
}
.mega-links li.is-open > a .chev{ transform:translateY(-50%) rotate(45deg) }

/* L3 Panel */
.mega-links ul.lvl3{
  overflow:hidden; height:0; will-change:height;
  transition:height 240ms var(--ease);
  padding-left:10px; margin:0 0 6px 0;
}
.mega-links ul.lvl3 li a{
  padding:8px 0 8px 6px; border-bottom:1px dashed rgba(0,0,0,.12); color:#494c53
}
.mega-links ul.lvl3 li:last-child a{ border-bottom:0 }

/* Desktop Layout */
@media (min-width: 992px){
  .mega__grid{ grid-template-columns: minmax(560px, 1fr) minmax(360px, 520px); gap:40px; padding:40px var(--header-px) 72px }
  .mega__cols{ grid-template-columns: repeat(3, 1fr); gap:36px }

  .mega__visual{ display:block; position:sticky; top:24px; align-self:start; border:1px solid var(--glass-stroke); border-radius:18px; overflow:hidden; background:#f6f6f6 }
  .mega__visual-img{ position:relative; inset:0; block-size:100%; min-height:62vh; background-size:cover; background-position:center; opacity:.98; transition:opacity 380ms var(--ease) }

  .mega-group__toggle{ display:none }
}

/* Mobile Touch-Optimierung */
@media (max-width: 991px){
  .mega__visual, .mega__curl, .mega__curl-footer{ display:none !important }
  .mega__grid{ grid-template-columns:1fr; gap:0; padding:0; height:calc(100vh - var(--header-h-mobile)); overflow-y:auto; overflow-x:hidden; -webkit-overflow-scrolling:touch }
  .mega__cols{ grid-template-columns:1fr; gap:0 }

  .mega-group{
    background:#fff; border:0; border-bottom:1px solid rgba(0,0,0,.08); border-radius:0; margin:0;
  }
  .mega-group__head{
    padding:18px 20px 12px; border-bottom:0; background:var(--light-gray);
    position:relative; min-height:60px; display:flex; align-items:center; justify-content:space-between; transition: background 150ms ease;
  }
  .mega-group__head:active{ background:rgba(240,240,244,1) }
  .group-open .mega-group__head{ background:#fff; border-bottom:1px solid rgba(0,0,0,.08) }

  .mega-links{ max-height:0; overflow:hidden; transition:max-height 300ms var(--ease); background:#fff }
  .group-open .mega-links{ max-height:800px; overflow:visible }

  .mega-links ul{ padding:8px 20px 12px }
  .mega-links a{
    padding:16px 0; min-height:52px; font-size:var(--menu-link-size); color:var(--ink);
    border-bottom:1px solid rgba(0,0,0,.06); position:relative
  }

  .mega-links li.has-children > a{ padding-right:48px }
  .mega-links li.has-children > a .chev{
    right:8px; top:50%; transform:translateY(-50%) rotate(-45deg);
    width:12px; height:12px; border-right:2px solid var(--muted); border-bottom:2px solid var(--muted);
    opacity:.7;
  }
  .mega-links li.has-children > a .chev::before{ inset:-18px }
  .mega-links li.is-open > a .chev{ transform:translateY(-50%) rotate(45deg) }
  .mega-links li.is-open > a{ color:var(--brand); font-weight:500 }

  .mega-links ul.lvl3{
    margin:0; padding:0; border-left:2px solid var(--brand); margin-left:12px; background:rgba(248,248,250,.5);
    height:0; overflow:hidden; transition:height 240ms var(--ease);
  }
  .mega-links li.is-open ul.lvl3{ height:auto }
  .mega-links ul.lvl3 li a{ padding:14px 0 14px 20px; min-height:48px; font-size:15px; color:var(--muted); border-bottom:1px solid rgba(0,0,0,.04) }
}

/* Corner Fold + Footer Curl (Desktop) */
@media (min-width: 992px){

  /* Corner-Fold hinter dem Content */
  .mega__curl{
    position:absolute; right:0; bottom:0; width:var(--curl-w); height:var(--curl-h);
    z-index:1; /* hinter Content (.mega__reveal: z-index 3) */
    pointer-events:none; opacity:0; transform:translateY(8px);
    transition:opacity var(--wipe-bg) var(--ease), transform var(--wipe-bg) var(--ease);
  }
  .menu-open .mega__curl{ opacity:1; transform:none }
  .menu-closing .mega__curl{ opacity:0; transform:translateY(8px); transition:opacity var(--wipe-content) var(--ease), transform var(--wipe-content) var(--ease) }
  .mega__curl .curl-base{ position:absolute; inset:0; clip-path:polygon(100% 0, 0 100%, 100% 100%) }
  .mega__curl .curl-img{ background:var(--mega-bg, none) center/cover no-repeat; opacity:.50; filter:saturate(1.02) contrast(1.02); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); transition:opacity 360ms var(--ease) }
  .mega__curl .curl-blend{ background:linear-gradient(to top left, rgba(255,255,255,1) 0%, rgba(255,255,255,.85) 20%, rgba(255,255,255,.55) 40%, rgba(255,255,255,0) 70%) }
  .mega__curl .curl-shadow{ transform:translate(10px,10px); background:radial-gradient(120% 120% at 70% 55%, rgba(0,0,0,.16), rgba(0,0,0,0) 60%); filter:blur(10px); opacity:.18 }
  .mega__curl .curl-title{ position:absolute; right:clamp(24px,3vw,64px); bottom:clamp(24px,3vh,64px); z-index:3; color:#fff; font-weight:800; font-size:clamp(36px,4.6vw,60px); letter-spacing:.2px; text-align:right; text-shadow:0 6px 14px rgba(0,0,0,.22), 0 2px 4px rgba(0,0,0,.14); opacity:0; transform:translateY(8px); transition:opacity var(--wipe-bg) var(--ease), transform var(--wipe-bg) var(--ease) }
  .menu-open .mega__curl .curl-title{ opacity:1; transform:none }
  .menu-closing .mega__curl .curl-title{ opacity:0; transform:translateY(8px); transition:opacity var(--wipe-content) var(--ease), transform var(--wipe-content) var(--ease) }

  /* Footer-Curl: Deko hinter Content, Links separat auf Content-Ebene */
  .mega__curl-footer{
    position:absolute; left:0; bottom:0; width:var(--curl-w); height:var(--curl-h);
    z-index:1;           /* hinter Content */
    pointer-events:none; /* Deko blockt nichts */
    opacity:1; transform:none;
  }

  /* Deko-Layer des Footers fahren separat ein/aus */
  .mega__curl-footer .curl-base{
    position:absolute; inset:0; clip-path:polygon(0 0, 100% 100%, 0 100%);
    pointer-events:none;
    opacity:0; transform:translateY(8px);
    transition:opacity var(--wipe-bg) var(--ease) 200ms, transform var(--wipe-bg) var(--ease) 200ms;
  }
  .menu-open .mega__curl-footer .curl-base{ opacity:1; transform:none }
  .menu-closing .mega__curl-footer .curl-base{
    opacity:0; transform:translateY(8px);
    transition:opacity var(--wipe-content) var(--ease), transform var(--wipe-content) var(--ease);
  }
  .mega__curl-footer .curl-solid{ background:var(--brand-light) }
  .mega__curl-footer .curl-shadow{ transform:translate(-8px,8px); background:radial-gradient(120% 120% at 30% 55%, rgba(0,0,0,.08), rgba(0,0,0,0) 60%); filter:blur(12px); opacity:.15 }

  /* Footer-Links vom Curl abgetrennt: unten links verankert und über Content */
  .mega__curl-footer .curl-content{
    position:fixed;
    left:clamp(40px,1vw,72px);
    bottom:clamp(10px,1vh,80px);
    z-index:4;               /* über .mega__reveal (3) */
    pointer-events:auto;
    opacity:1;
    transform:none;
    -webkit-transform:translateZ(0);
            transform:translateZ(0);
  }

  .curl-footer-links{ display:flex; gap:24px; flex-wrap:wrap }
  .curl-footer-links a{
    color:var(--muted); text-decoration:none; font-size:16px; font-weight:500; padding:8px 0;
    transition:transform 150ms ease, color 150ms ease; position:relative; display:inline-block
  }
  .curl-footer-links a::after{
    content:''; position:absolute; bottom:0; left:0; right:0; height:2px; background:var(--ink);
    transform:scaleX(0); transition:transform 200ms ease
  }
  .curl-footer-links a:hover{ transform:translateY(-2px); color:var(--ink) }
  .curl-footer-links a:hover::after{ transform:scaleX(1) }
  .curl-footer-links span{ color:var(--muted); opacity:.4; margin:0 8px; font-size:14px }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .mega,.mega::before,.mega__reveal,.burger .line,.mega__visual-img,.mega__top-inner,.mega__curl,.mega__curl .curl-title,.mega__curl .curl-img,.mega-links ul.lvl3,.mega__curl-footer,.curl-content{
    transition:none !important;animation:none !important
  }
}

/* Divi Overrides */
#page-container{ padding-top:0 !important }
#main-header, .et_fixed_nav #main-header{ display:none !important }

/* Close-Icon */
.mega__close{ z-index:120; position:relative }
.mega__close .icon{
  width:24px; height:24px; stroke-width:2.6; vector-effect: non-scaling-stroke; overflow:visible; transform:none; transform-origin:center;
}
.mega__close:hover svg, .mega__close:focus-visible svg{ animation:none !important }
.mega__close::before{ content:""; position:absolute; inset:-6px; border-radius:14px; pointer-events:none }

/* Größere, sauber ausgerichtete Tel-Anzeige neben dem Icon */
.phone-text-link{
  display:inline-flex; align-items:center; height:44px;
  padding:0 .25rem; margin-left:.5rem;
  font-weight:600; font-size:16px; line-height:1; white-space:nowrap;
  color: rgba(0,0,0,.82); text-decoration:none;
}
.phone-text-link:hover{ text-decoration: underline }

/* Auf größeren Screens noch etwas größer */
@media (min-width: 980px){
  .phone-text-link{ font-size:17px }
}
@media (min-width: 1280px){
  .phone-text-link{ font-size:18px }
}

/* --- Fix: Footer-Links im Mega-Menü wieder anklickbar --- */
/* Deko-Layer nie Klicks abfangen */
.mega__curl .curl-base,
.mega__curl-footer .curl-base { pointer-events: none !important; }


/* --- Fix: Footer-Links sicher über dem Reveal + Clicks freigeben --- */

/* Footer-Links ganz nach vorn (über alle Stacking-Contexts) */
.mega__curl-footer .curl-content{
  position: fixed;
  left: clamp(40px,1vw,72px);
  bottom: clamp(10px,1vh,80px);
  z-index: 100003;      /* klar über .mega__reveal & Co. */
  pointer-events: auto;
}

/* Die Reveal-Decke fängt standardmäßig keine Clicks ab ... */
.mega__reveal{
  z-index: 3;           /* darf unter den Footer-Links liegen */
  pointer-events: none; /* lässt Clicks durch */
}

/* ... außer dort, wo wir sie brauchen (Spalten & Visual) */
.mega__reveal .mega__grid,
.mega__reveal .mega__cols,
.mega__reveal .mega__cols *,
.mega__reveal .mega__visual,
.mega__reveal .mega__visual *{
  pointer-events: auto;
}

/* Deko-Layer bleiben unclickable */
.mega__curl .curl-base,
.mega__curl-footer .curl-base{
  pointer-events: none !important;
}
