/* Local Orbitron (no Google Fonts) */
@font-face{
  font-family:"Orbitron";
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:
    url("../fonts/orbitron/Orbitron-Regular.woff2") format("woff2"),
    url("../fonts/orbitron/Orbitron-Regular.ttf") format("truetype");
}
@font-face{
  font-family:"Orbitron";
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:
    url("../fonts/orbitron/Orbitron-Medium.woff2") format("woff2"),
    url("../fonts/orbitron/Orbitron-Medium.ttf") format("truetype");
}
@font-face{
  font-family:"Orbitron";
  font-style:normal;
  font-weight:600;
  font-display:swap;
  src:
    url("../fonts/orbitron/Orbitron-SemiBold.woff2") format("woff2"),
    url("../fonts/orbitron/Orbitron-SemiBold.ttf") format("truetype");
}
@font-face{
  font-family:"Orbitron";
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:
    url("../fonts/orbitron/Orbitron-Bold.woff2") format("woff2"),
    url("../fonts/orbitron/Orbitron-Bold.ttf") format("truetype");
}

/* optional extra weights */
@font-face{
  font-family:"Orbitron";
  font-style:normal;
  font-weight:800;
  font-display:swap;
  src:
    url("../fonts/orbitron/Orbitron-ExtraBold.woff2") format("woff2"),
    url("../fonts/orbitron/Orbitron-ExtraBold.ttf") format("truetype");
}
@font-face{
  font-family:"Orbitron";
  font-style:normal;
  font-weight:900;
  font-display:swap;
  src:
    url("../fonts/orbitron/Orbitron-Black.woff2") format("woff2"),
    url("../fonts/orbitron/Orbitron-Black.ttf") format("truetype");
}




/* ===================== Shared (global für Bands + Festivals) ===================== */

/* Design Tokens (kannst du hier zentral pflegen) */
body.nsd{
  --nsd-bg:#0A0A0A; --nsd-panel:#1A1A1A; --nsd-panel-2:#2A2A2A;
  --nsd-text:#F0F0F0; --nsd-muted:#9aa7b3; --nsd-accent:#00FF96;
  --nsd-bdr-strong:rgba(0,255,150,.40); --nsd-bdr:rgba(0,255,150,.30);
  --nsd-bdr-soft:rgba(0,255,150,.20); --nsd-row-even:rgba(255,255,255,.04);
  --nsd-row-hover:rgba(0,255,150,.08); --nsd-maxw:1100px; --nsd-padx:1rem;
  background:var(--nsd-bg); color:var(--nsd-text);
}

/* === Einheitlicher Seiten-Titel + Meta-Zeile === */
body.nsd .ns-page-title,
body.nsd .ns-header h1,
body.nsd .ns-container > h1:first-child{
  margin: 0 0 .35rem 0;
  color: var(--nsd-accent);
  line-height: 1.05;
}

body.nsd .ns-muted,
body.nsd .ns-meta-inline{
  color: var(--nsd-muted);
  opacity: .95;
}


/* Container – block, nicht flex */
body.nsd .ns-container{
  display:block;                 /* wichtig: NICHT flex */
  max-width:var(--nsd-maxw);
  margin:0 auto;
  padding:0 var(--nsd-padx);
}

/* Tools/Toolbar bleiben Flex */
body.nsd .ns-tools,
body.nsd .ns-toolbar{
  display:flex; gap:.55rem; align-items:center; flex-wrap:wrap;
}

/* Fix: Quark Mobile Menu Override */
@media (min-width: 768px) {
    #header .navbar-toggle {
        display: none !important; /* Burger aus */
    }

    #header .navbar-nav {
        display: flex !important; /* Menü sichtbar */
    }

    #header .navbar-nav > li > a {
        font-family: 'Orbitron', system-ui, sans-serif !important;
        color: #00ff96 !important;
        letter-spacing: 0.07em;
        text-transform: uppercase;
        font-weight: 500;
    }
}


/* Fields (Input/Select) + Button  */
body.nsd .ns-field{
  -webkit-appearance:none; -moz-appearance:none; appearance:none;
  height:44px; line-height:1.2;
  padding:.5rem .75rem;
  background:var(--nsd-panel-2);
  color:var(--nsd-text);
  border:1px solid var(--nsd-bdr-strong);
  border-radius:.6rem;
}
body.nsd .ns-field:focus{
  outline:none; border-color:var(--nsd-bdr-strong);
  box-shadow:0 0 0 2px var(--nsd-bdr-soft) inset;
}
body.nsd .ns-input::placeholder{ color:var(--nsd-muted); opacity:.9; }

body.nsd .ns-select{
  min-width:220px; padding-right:2rem;
  background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 4l3 4 3-4' fill='none' stroke='%23a7ffdd' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right .55rem center;
  background-size:12px 12px;
}
body.nsd .ns-select::-ms-expand{ display:none; }

body.nsd .ns-btn{
  height:44px; padding:0 .9rem;
  border:1px solid var(--nsd-bdr);
  border-radius:.6rem; background:transparent;
  color:var(--nsd-text); cursor:pointer;
}
body.nsd .ns-btn:hover{ background:var(--nsd-row-hover); }

/* A–Z / Pills */
body.nsd .ns-pills{ display:flex; flex-wrap:wrap; gap:.35rem; }
body.nsd .ns-pill, body.nsd .ns-az a{
  display:inline-block; padding:.3rem .5rem;
  border:1px solid var(--nsd-bdr); border-radius:.5rem;
  text-decoration:none; color:var(--nsd-text);
}
body.nsd .ns-pill:hover, body.nsd .ns-az a:hover{ background:var(--nsd-row-hover); }

/* Abschnitts-Heading (z.B. Letter/Länder) */
body.nsd .ns-letter h2, body.nsd .nsd-section{
  margin:.75rem 0; padding-bottom:.25rem;
  border-bottom:1px solid var(--nsd-bdr);
  color:var(--nsd-accent);
}

/* Tabellen-Basis */
body.nsd .ns-table{
  width:100%;
  border-collapse:separate; border-spacing:0;
  background:rgba(255,255,255,.02);
  color:var(--nsd-text);
  border:1px solid var(--nsd-bdr);
  border-radius:16px; overflow:hidden;
}
body.nsd .ns-table th, body.nsd .ns-table td{ padding:12px 14px; }
body.nsd .ns-table tbody tr:nth-child(even) td{ background:var(--nsd-row-even); }
body.nsd .ns-table tbody tr:hover td{ background:var(--nsd-row-hover); }
body.nsd .ns-table--fixed{ table-layout:fixed; }
body.nsd .ns-table--compact th, body.nsd .ns-table--compact td{ padding:.45rem .6rem; }

/* Thead Deko */
body.nsd .ns-table thead{ position:relative; }
body.nsd .ns-table thead::before{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,255,150,.14), rgba(0,255,150,.04) 60%, transparent);
  pointer-events:none; z-index:0;
}
body.nsd .ns-table thead::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:1px;
  background:var(--nsd-bdr); opacity:.9; pointer-events:none; z-index:0;
}
body.nsd .ns-table thead th{
  position:relative; z-index:1; background:transparent !important;
  text-align:left; font-weight:700; letter-spacing:.02em; white-space:nowrap;
}

/* Zweizeiliges Datum (z.B. in Festivals) */
body.nsd .ns-date{ white-space:normal; line-height:1.2; }
body.nsd .ns-date .row{ display:flex; gap:.5rem; align-items:baseline; }
body.nsd .ns-date .row + .row{ margin-top:.15rem; }
body.nsd .ns-date .label{
  background:transparent !important; border:none !important; padding:0 !important;
  color:var(--nsd-accent) !important; font-weight:700; font-size:.86em;
  text-transform:lowercase; line-height:1.1; min-width:2.4em;
}

/* Inline-Alert (Filter-Fehler) */
body.nsd .ns-alert{
  display:none; margin-left:.6rem; padding:.3rem .5rem;
  border:1px solid rgba(255,74,74,.35); border-radius:.5rem;
  color:#ff0000; background:#ffbaba; font-size:.95rem;
}

/* Mobile Tweaks */
@media (max-width: 720px){
  body.nsd .ns-tools, body.nsd .ns-toolbar{ gap:.5rem; }
  body.nsd .ns-input{ flex:1 1 100%; }
  body.nsd .ns-select{ flex:1 1 260px; min-width:0; }
}
@media (max-width:860px){
  body.nsd .ns-table--fixed{ table-layout:auto; }
  body.nsd .ns-table thead th, body.nsd .ns-table tbody td{ padding:10px 12px; }
}


/* ===== Shared: Toolbar + Form Controls (Inputs/Select/Buttons/Toggles) ===== */

:root{
  --ns-field-h: 44px;           /* zentrale Feldhöhe */
}

/* Toolbar-Grundlayout */
body.nsd .ns-toolbar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;             /* vertikal mittig */
  gap:.55rem;
}

/* Input (Text/Search) */
body.nsd .ns-input{
  -webkit-appearance:none; -moz-appearance:none; appearance:none;
  box-sizing:border-box;
  height:var(--ns-field-h);
  line-height:1.2;
  padding:.5rem .75rem;
  background:var(--nsd-panel-2);
  color:var(--nsd-text);
  border:1px solid var(--nsd-bdr-strong);
  border-radius:.6rem;
}
body.nsd .ns-input::placeholder{ color:var(--nsd-muted); opacity:.9; }
body.nsd .ns-input:focus{
  outline:none;
  border-color:var(--nsd-bdr-strong);
  box-shadow:0 0 0 2px var(--nsd-bdr-soft) inset;
}

/* Select (mit Pfeil) */
body.nsd .ns-select{
  -webkit-appearance:none; -moz-appearance:none; appearance:none;
  box-sizing:border-box;
  height:var(--ns-field-h);
  padding:.5rem .9rem;
  padding-right:2rem;                               /* Platz für Arrow */
  background:var(--nsd-panel-2);
  color:var(--nsd-text);
  border:1px solid var(--nsd-bdr-strong);
  border-radius:.6rem;

  background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 4l3 4 3-4' fill='none' stroke='%2300ff96' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right .6rem center;
  background-size:12px 12px;
}
body.nsd .ns-select::-ms-expand{ display:none; }
body.nsd .ns-select:focus{
  outline:none;
  border-color:var(--nsd-bdr-strong);
  box-shadow:0 0 0 2px var(--nsd-bdr-soft) inset;
}
/* optionale Modifier */
body.nsd .ns-select.no-arrow{ background-image:none; padding-right:.9rem; }
body.nsd .ns-select.is-plain{ border-color:transparent; box-shadow:none; }

/* Button auf Feldhöhe */
body.nsd .ns-btn{
  height:var(--ns-field-h);
  padding:0 .9rem;
  border:1px solid var(--nsd-bdr);
  border-radius:.6rem;
  background:transparent;
  color:var(--nsd-text);
  cursor:pointer;
}
body.nsd .ns-btn:hover{ background:var(--nsd-row-hover); }

/* Toggle (Checkbox + Label) */
body.nsd .ns-toggle{
  display:inline-flex; align-items:center; gap:.35rem;
  padding:.15rem .4rem;
  border:1px solid var(--nsd-bdr);
  border-radius:.5rem;
}
body.nsd .ns-toggle input{ accent-color:var(--nsd-accent); }

/* Shared: Listen-Layout (für „list“-Variante) */
body.nsd .ns-list{ display:block; }
body.nsd .ns-list .ns-item{
  padding:.1rem 0;                                  /* etwas mehr Luft */
  /*border-top:1px solid var(--nsd-bdr);*/
}
body.nsd .ns-list .ns-item:first-child{ border-top:0; }






/* Logo-Text "Nerdschmie.de" */
#header .logo .navbar-brand span {
  font-family: 'Orbitron', system-ui, sans-serif !important;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}






