/* Hauptmenü – Tiernotruf Saarland e.V. (volle Breite, Mega-Menü + Vollbild-Menü mobil) */
.tnm-nav{--mm-bg:#0b1c2e;--mm-bg2:#0e2238;--mm-line:rgba(255,255,255,.09);--mm-txt:#e2ecf6;--mm-soft:#93a7bd;--mm-sky:#38bdf8;--mm-red:#dc2626;--mm-h:68px;font-family:"Archivo",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
.tnm-nav.tnm-open{background:rgba(10,24,38,.97)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-color:rgba(56,189,248,.2)!important}
.tnm-bar{display:flex;align-items:center;gap:1rem;width:100%;padding:.6rem clamp(1rem,2.4vw,2.25rem);min-height:var(--mm-h);box-sizing:border-box}
.tnm-brand{display:flex;align-items:center;gap:.75rem;min-width:0;text-decoration:none;flex:0 1 auto}
@media (min-width:1280px){.tnm-brand{flex:0 0 auto;min-width:210px}}
.tnm-brand img{flex:0 0 auto}

/* Hauptpunkte (Desktop) */
.tnm-top{display:none;list-style:none;margin:0 auto;padding:0;gap:.15rem;align-items:center}
.tnm-tbtn{display:inline-flex;align-items:center;gap:.4rem;height:44px;padding:0 .7rem;border:0;border-radius:999px;background:transparent;color:var(--mm-txt);font:600 .82rem/1 "IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;white-space:nowrap;position:relative;transition:background .18s,color .18s}
.tnm-tbtn:hover,.tnm-tbtn[aria-expanded="true"]{background:rgba(255,255,255,.07);color:#fff}
.tnm-tbtn[aria-expanded="true"]{color:var(--mm-c,#fff)}
.tnm-tbtn .tnm-ico{font-size:1rem;line-height:1}
.tnm-chev{width:12px;height:12px;transition:transform .22s;opacity:.65}
.tnm-tbtn[aria-expanded="true"] .tnm-chev{transform:rotate(180deg);opacity:1}
.tnm-tbtn.tnm-cur::after{content:"";position:absolute;left:1rem;right:1rem;bottom:5px;height:2px;border-radius:2px;background:var(--mm-c,var(--mm-sky))}
.tnm-tbtn:focus-visible,.tnm-card:focus-visible,.tnm-burger:focus-visible,.tnm-cta:focus-visible,.tnm-m a:focus-visible,.tnm-m summary:focus-visible{outline:3px solid #7dd3fc;outline-offset:2px}

/* Rechte Seite */
.tnm-right{display:flex;align-items:center;gap:.6rem;margin-left:auto;flex:0 0 auto}
.tnm-status{display:none}
.tnm-cta{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;height:40px;min-width:40px;padding:0 .8rem;border-radius:999px;background:var(--mm-red);color:#fff;font:700 .75rem/1 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;box-shadow:0 8px 20px rgba(220,38,38,.3);transition:background .18s,transform .18s;white-space:nowrap}
.tnm-cta:hover{background:#ef4444;color:#fff;transform:translateY(-1px)}
.tnm-cta .tnm-ico{font-size:1rem;line-height:1}
.tnm-cta span.tnm-t{display:none}
.tnm-burger{width:44px;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:transparent;color:#fff;display:grid;place-items:center;cursor:pointer;padding:0}
.tnm-burger i{display:block;width:18px;height:2px;background:currentColor;border-radius:2px;position:relative;transition:background .2s}
.tnm-burger i::before,.tnm-burger i::after{content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor;border-radius:2px;transition:transform .25s}
.tnm-burger i::before{top:-6px}.tnm-burger i::after{top:6px}
.tnm-burger[aria-expanded="true"] i{background:transparent}
.tnm-burger[aria-expanded="true"] i::before{transform:translateY(6px) rotate(45deg)}
.tnm-burger[aria-expanded="true"] i::after{transform:translateY(-6px) rotate(-45deg)}

/* Mega-Panels über die ganze Breite */
.tnm-panel{position:absolute;left:0;right:0;top:100%;background:linear-gradient(180deg,var(--mm-bg2),var(--mm-bg));border-top:1px solid var(--mm-line);border-bottom:1px solid rgba(56,189,248,.18);box-shadow:0 30px 60px rgba(0,0,0,.45);animation:tnm-in .22s ease both}
.tnm-panel[hidden]{display:none}
.tnm-panel::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--mm-c,var(--mm-sky));opacity:.85}
@keyframes tnm-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.tnm-inner{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:2.25rem;max-width:1400px;margin:0 auto;padding:2rem clamp(1rem,2.4vw,2.25rem) 2.2rem;box-sizing:border-box}
.tnm-intro .tnm-kick{display:flex;align-items:center;gap:.5rem;font:600 .72rem/1 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--mm-c,var(--mm-sky));margin:0 0 .7rem}
.tnm-intro h2{font-family:"Bebas Neue","Archivo",Arial,sans-serif;font-size:2.6rem;line-height:.95;letter-spacing:.02em;color:#fff;margin:0 0 .6rem;font-weight:700}
.tnm-intro p{color:var(--mm-soft);font-size:.95rem;line-height:1.5;margin:0 0 1rem}
.tnm-intro .tnm-cta{height:44px}
.tnm-intro .tnm-cta span.tnm-t{display:inline}
.tnm-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.6rem;align-content:start;list-style:none;margin:0;padding:0}
.tnm-card{display:flex;gap:.8rem;align-items:flex-start;padding:.85rem .95rem;border-radius:16px;border:1px solid var(--mm-line);background:rgba(255,255,255,.025);color:var(--mm-txt);text-decoration:none;min-height:72px;box-sizing:border-box;transition:background .18s,border-color .18s,transform .18s}
.tnm-card:hover{background:rgba(255,255,255,.06);border-color:var(--mm-c,var(--mm-sky));color:#fff;transform:translateY(-2px)}
.tnm-card .tnm-ci{flex:0 0 40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:1.25rem;background:rgba(255,255,255,.06)}
.tnm-card b{display:block;font-weight:700;font-size:1rem;color:#fff;line-height:1.2}
.tnm-card small{display:block;color:var(--mm-soft);font-size:.83rem;line-height:1.35;margin-top:.2rem}
.tnm-card[aria-current="page"]{border-color:var(--mm-c,var(--mm-sky));background:rgba(56,189,248,.1)}
.tnm-card[aria-current="page"] b::after{content:" · hier";font-weight:400;color:var(--mm-c,var(--mm-sky));font-size:.8rem}
.tnm-card.tnm-hot{background:rgba(220,38,38,.14);border-color:rgba(248,113,113,.45)}
.tnm-card.tnm-hot:hover{background:rgba(220,38,38,.24);border-color:#f87171}
.tnm-foot{border-top:1px solid var(--mm-line);max-width:1400px;margin:0 auto;padding:.85rem clamp(1rem,2.4vw,2.25rem);display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;align-items:center;justify-content:space-between;box-sizing:border-box;font:500 .72rem/1.4 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;color:#64748b}
.tnm-foot a{color:#94a3b8;text-decoration:none}.tnm-foot a:hover{color:#fff}
.tnm-foot .tnm-tel{color:#fca5a5}
.tnm-foot nav,.tnm-foot div{display:flex;gap:1.2rem;flex-wrap:wrap}

/* Mobil: Vollbild-Menü */
.tnm-m{position:absolute;left:0;right:0;top:100%;height:calc(100vh - var(--mm-top,var(--mm-h)));height:calc(100dvh - var(--mm-top,var(--mm-h)));background:var(--mm-bg);border-top:1px solid var(--mm-line);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:1rem 1rem calc(2rem + env(safe-area-inset-bottom));box-sizing:border-box;animation:tnm-in .2s ease both}
.tnm-m[hidden]{display:none}
.tnm-m-cta{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:1rem}
.tnm-m-cta a{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:56px;border-radius:16px;font-weight:800;text-decoration:none;font-size:.98rem;text-align:center;line-height:1.15;padding:.4rem .6rem}
.tnm-m-cta .r{background:var(--mm-red);color:#fff}.tnm-m-cta .w{background:#fff;color:#b91c1c}
.tnm-m-home{display:flex;align-items:center;gap:.6rem;min-height:52px;padding:0 1rem;border-radius:14px;color:var(--mm-txt);text-decoration:none;font:600 .8rem/1 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;background:rgba(255,255,255,.03);border:1px solid var(--mm-line);margin-bottom:.5rem}
.tnm-m details{border:1px solid var(--mm-line);border-radius:16px;margin-bottom:.5rem;background:rgba(255,255,255,.02);overflow:hidden}
.tnm-m details[open]{border-color:color-mix(in srgb,var(--mm-c,#38bdf8) 55%,transparent)}
.tnm-m summary{list-style:none;display:flex;align-items:center;gap:.7rem;min-height:58px;padding:0 1rem;cursor:pointer;color:#fff;font:600 .85rem/1 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase}
.tnm-m summary::-webkit-details-marker{display:none}
.tnm-m summary .tnm-ico{font-size:1.15rem}
.tnm-m summary .tnm-chev{margin-left:auto}
.tnm-m details[open] summary{color:var(--mm-c,#fff)}
.tnm-m details[open] summary .tnm-chev{transform:rotate(180deg)}
.tnm-m ul{list-style:none;margin:0;padding:0 .5rem .5rem}
.tnm-m li a{display:flex;align-items:center;gap:.8rem;min-height:56px;padding:.45rem .6rem;border-radius:12px;color:var(--mm-txt);text-decoration:none}
.tnm-m li a:hover{background:rgba(255,255,255,.05)}
.tnm-m li a .tnm-ci{flex:0 0 36px;height:36px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.06);font-size:1.1rem}
.tnm-m li a b{display:block;font-weight:700;color:#fff;font-size:1rem}
.tnm-m li a small{display:block;color:var(--mm-soft);font-size:.82rem;line-height:1.3}
.tnm-m li a[aria-current="page"]{background:rgba(56,189,248,.12);box-shadow:inset 3px 0 0 var(--mm-c,#38bdf8)}
.tnm-m .tnm-foot{padding:1rem .25rem 0;border:0;justify-content:flex-start}
html.tnm-lock,html.tnm-lock body{overflow:hidden}

@media (min-width:640px){.tnm-cta span.tnm-t{display:inline}}
@media (min-width:1280px){
  .tnm-top{display:flex}
  .tnm-burger{display:none}
  .tnm-m{display:none!important}
  .tnm-right{margin-left:0}
}
@media (min-width:1600px){.tnm-status{display:block;text-align:right}}
@media (max-width:1279.98px){.tnm-panel{display:none!important}}
@media (prefers-reduced-motion:reduce){.tnm-panel,.tnm-m{animation:none}.tnm-card,.tnm-tbtn,.tnm-chev,.tnm-burger i::before,.tnm-burger i::after{transition:none}}
html.reduce-motion .tnm-panel,html.reduce-motion .tnm-m{animation:none}

@media (max-width:1599.98px){.tnm-tbtn .tnm-ico{display:none}}

/* Fußbereich: Partner & Sponsoren – vier gleich große Logo-Kacheln */
.tn-foot{background:#e9eff6;border-top:1px solid #d6e0ec;padding:2.4rem 1.25rem calc(2rem + env(safe-area-inset-bottom));font-family:"Archivo",system-ui,sans-serif}
.tn-foot-in{max-width:80rem;margin:0 auto}
.tn-sp{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
@media(max-width:900px){.tn-sp{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tn-sp a{display:flex;align-items:center;justify-content:center;height:120px;padding:1.1rem 1.4rem;border-radius:18px;background:#fff;border:1px solid #d6e0ec;text-decoration:none;color:#0f1d2e;transition:transform .2s,box-shadow .2s,border-color .2s}
.tn-sp a:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(15,29,46,.1);border-color:#0369a1;color:#0f1d2e}
.tn-sp a:focus-visible{outline:3px solid #0369a1;outline-offset:3px}
.tn-sp img{display:block;width:100%;height:100%;max-width:200px;max-height:80px;object-fit:contain}
.tn-sp-fb{text-align:center;line-height:1.2}
.tn-sp-fb b{display:block;font-weight:800;font-size:1.05rem}
.tn-sp-fb small{display:block;color:#475569;font-size:.82rem;margin-top:.2rem}
.tn-legal{margin:1.6rem 0 0;text-align:center;color:#475569;font-size:.85rem}
.tn-legal a{color:#334155;text-decoration:underline;text-underline-offset:3px}
.tn-legal a:hover{color:#0369a1}
.tn-sp img[hidden],.tn-sp-fb[hidden]{display:none!important}
