/* Hof Springhorn – Hauptmenü mit Mega-Menü „Unterkünfte“ (für alle Seiten) */
.menu{display:flex;align-items:center;gap:28px;list-style:none;font-weight:700;font-size:.93rem}
.menu>li>a,.menu .mega-trigger{display:inline-flex;align-items:center;gap:6px;padding:28px 0;position:relative;color:inherit;font:inherit;background:none;border:0;cursor:pointer}
.nav.scrolled .menu>li>a,.nav.scrolled .menu .mega-trigger{padding:21px 0}
.menu>li>a::after,.menu .mega-trigger::after{content:"";position:absolute;left:0;bottom:20px;height:3px;border-radius:2px;width:0;background:var(--yellow);transition:.25s}
.nav.scrolled .menu>li>a::after,.nav.scrolled .menu .mega-trigger::after{bottom:14px}
.menu>li>a:hover::after,.menu>li>a.active::after,.has-mega:hover .mega-trigger::after,.has-mega.open .mega-trigger::after,.mega-trigger.active::after{width:100%}
.mega-trigger svg{width:12px;height:12px;transition:transform .25s}
.has-mega:hover .mega-trigger svg,.has-mega.open .mega-trigger svg{transform:rotate(180deg)}
.menu a::after{bottom:-2px}

/* Panel */
.has-mega{position:static}
.mega{position:absolute;left:0;right:0;top:100%;padding:0 28px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .22s,transform .22s,visibility 0s .22s;color:var(--ink);font-family:var(--sans);font-size:1rem}
.has-mega:hover .mega,.has-mega:focus-within .mega,.has-mega.open .mega{opacity:1;visibility:visible;transform:none;transition:opacity .22s,transform .22s}
.mega::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.mega-in{max-width:1240px;margin:0 auto;background:#fff;border-radius:0 0 26px 26px;box-shadow:0 30px 80px rgba(18,41,26,.22);display:grid;grid-template-columns:1fr 1.45fr 300px;overflow:hidden;border-top:3px solid var(--yellow)}
.mcol{padding:28px 28px 26px}
.mcol+.mcol{border-left:1px solid rgba(22,38,27,.08)}
.mhead{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}
.mhead a{font-family:var(--serif);font-weight:500;font-size:1.35rem;color:var(--forest)}
.mhead a:hover{color:var(--green)}
.mhead span{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--muted)}
.mlist{list-style:none;display:grid;gap:2px}
.mlist.two{grid-template-columns:1fr 1fr;column-gap:10px}
.mlist a{display:flex;align-items:center;gap:12px;padding:8px 10px;margin:0 -10px;border-radius:12px;transition:background .15s}
.mlist a:hover{background:#f3f5e6}
.mlist a::after{display:none}
.mlist .ic{flex:none;width:40px;height:40px;border-radius:10px;overflow:hidden;background:var(--bg2)}
.mlist .ic img{width:100%;height:100%;object-fit:cover}
.mlist .cd{flex:none;min-width:44px;height:28px;padding:0 6px;border-radius:8px;background:var(--bg2);display:grid;place-items:center;font-size:.68rem;font-weight:800;color:var(--forest)}
.mlist a:hover .cd{background:var(--yellow)}
.mlist b{display:block;font-size:.88rem;font-weight:700;line-height:1.25;color:var(--ink)}
.mlist small{display:block;font-size:.74rem;color:var(--muted);font-weight:600}
.mall{display:inline-flex;margin-top:12px;font-size:.84rem;font-weight:800;color:var(--green)}
.mall:hover{color:var(--forest)}
.mall::after{display:none}
.mside{background:var(--forest2);color:#e8ecdc;padding:22px;display:flex;flex-direction:column;gap:14px}
.mfeat{position:relative;display:block;border-radius:16px;overflow:hidden;aspect-ratio:4/3;color:#fff}
.mfeat img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.mfeat:hover img{transform:scale(1.06)}
.mfeat::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,transparent 35%,rgba(12,30,18,.85))}
.mfeat div{position:absolute;z-index:2;left:16px;right:16px;bottom:14px}
.mfeat small{display:block;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;color:var(--yellow)}
.mfeat b{font-family:var(--serif);font-weight:500;font-size:1.25rem}
.mside .mini{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.06);transition:background .15s}
.mside .mini:hover{background:rgba(255,255,255,.12)}
.mside .mini::after{display:none}
.mside .mini i{flex:none;width:34px;height:34px;border-radius:10px;background:var(--yellow);color:var(--forest2);display:grid;place-items:center;font-style:normal}
.mside .mini b{display:block;font-size:.88rem;color:#fff}
.mside .mini small{display:block;font-size:.74rem;opacity:.7}
.mside .btn{justify-content:center;margin-top:auto}
.mside .btn::after{display:none}

/* Burger / Mobil */
.burger{position:relative;z-index:70}
.burger .x{display:none}
body.menu-open .burger{color:#fff!important}
body.menu-open .burger .bars{display:none}
body.menu-open .burger .x{display:block}
body.menu-open{overflow:hidden}
@media (max-width:1020px){
  .menu{display:none}
  .menu.open{display:flex;position:fixed;inset:0;z-index:65;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:96px 24px 40px;overflow-y:auto;background:var(--forest2);color:#fff;font-family:var(--serif);font-size:1.45rem;font-weight:500}
  .menu.open>li{border-bottom:1px solid rgba(255,255,255,.1)}
  .menu.open>li>a,.menu.open .mega-trigger{display:flex;width:100%;justify-content:space-between;padding:16px 0!important}
  .menu.open>li>a::after,.menu.open .mega-trigger::after{display:none}
  .menu.open .mega-trigger svg{width:16px;height:16px}
  .has-mega:hover .mega-trigger svg{transform:none}
  .has-mega.open .mega-trigger svg{transform:rotate(180deg)}
  .mega{position:static;padding:0;opacity:1;visibility:visible;transform:none;display:none;color:#fff}
  .has-mega:hover .mega,.has-mega:focus-within .mega{display:none}
  .has-mega.open .mega{display:block}
  .mega::before{display:none}
  .mega-in{display:block;background:transparent;box-shadow:none;border:0;border-radius:0;padding-bottom:14px}
  .mcol{padding:6px 0 14px}
  .mcol+.mcol{border-left:0;border-top:1px solid rgba(255,255,255,.08)}
  .mhead a{color:var(--yellow);font-size:1.15rem}
  .mhead span{color:rgba(255,255,255,.5)}
  .mlist.two{grid-template-columns:1fr}
  .mlist a:hover{background:rgba(255,255,255,.06)}
  .mlist b{color:#fff}
  .mlist small{color:rgba(255,255,255,.6)}
  .mlist .cd{background:rgba(255,255,255,.1);color:var(--yellow2)}
  .mlist .ic{width:36px;height:36px}
  .mall{color:var(--yellow2)}
  .mside{background:transparent;padding:10px 0 0}
  .mfeat{aspect-ratio:16/8}
}
.mega a::after{display:none!important}
.mega .btn{padding:.85em 1.4em}
@media (min-width:1021px){
  .nav:has(.has-mega:hover),.nav:has(.has-mega.open){background:rgba(247,245,234,.98);box-shadow:0 1px 0 rgba(22,38,27,.1)}
  .nav:has(.has-mega:hover) .logo,.nav:has(.has-mega.open) .logo,.nav:has(.has-mega:hover) .nav-tel,.nav:has(.has-mega.open) .nav-tel{color:var(--forest)}
  .nav:has(.has-mega:hover) .menu,.nav:has(.has-mega.open) .menu{color:var(--ink)}
}
