/* ---------------------------------------------------------------------
   assets/grid.css
   Ersetzt die externe Bootstrap-CDN-Abhängigkeit. Die Seite nutzte aus
   Bootstrap 5.3 ausschließlich ein paar Grid-/Flex-/Abstands-Klassen und
   die Basis-Formularfeld-Optik (siehe unten) — keine Komponenten, kein JS.
   Statt das komplette Framework von jsdelivr.net nachzuladen, sind genau
   diese Klassen hier 1:1 mit denselben Werten/Breakpoints nachgebaut.
   Vorteil: keine externe Abhängigkeit mehr (schneller, funktioniert auch
   ohne Internet zu jsdelivr.net, und ist bei einer Behördenseite wie
   dieser aus Datenschutz-/GDPR-Sicht ohnehin die sauberere Lösung).

   Bootstrap-Breakpoints (unverändert übernommen):
     md  ≥ 768px   lg  ≥ 992px   xl  ≥ 1200px
   Bootstrap-Abstandsskala (unverändert übernommen):
     1 = .25rem  2 = .5rem  3 = 1rem  4 = 1.5rem  5 = 3rem
--------------------------------------------------------------------- */

*,*::before,*::after{box-sizing:border-box;}

.container-fluid{
  width:100%;
  padding-left:1.5rem;
  padding-right:1.5rem;
  margin-left:auto;
  margin-right:auto;
}

/* ---------- Grid: row / col-* ---------- */
.row{
  display:flex;
  flex-wrap:wrap;
  margin-top:calc(var(--gutter,0) * -1);
  margin-left:calc(var(--gutter,1.5rem) / -2);
  margin-right:calc(var(--gutter,1.5rem) / -2);
}
.row > [class*="col-"]{
  flex:0 0 auto;
  padding-left:calc(var(--gutter,1.5rem) / 2);
  padding-right:calc(var(--gutter,1.5rem) / 2);
  margin-top:var(--gutter,0);
}
.g-3{--gutter:1rem;}
.g-4{--gutter:1.5rem;}

.col-12{width:100%;}
.col-6{width:50%;}

@media (min-width:768px){
  .col-md-4{width:33.3333%;}
}
@media (min-width:992px){
  .col-lg-4{width:33.3333%;}
  .col-lg-8{width:66.6667%;}
}
@media (min-width:1200px){
  .col-xl-2{width:16.6667%;}
}

/* ---------- Flex-/Abstands-Utilities ---------- */
.d-flex{display:flex;}
.flex-wrap{flex-wrap:wrap;}
.justify-content-between{justify-content:space-between;}
.align-items-center{align-items:center;}
.align-items-start{align-items:flex-start;}
.gap-2{gap:.5rem;}
.gap-3{gap:1rem;}
.gap-4{gap:1.5rem;}
.mb-3{margin-bottom:1rem;}
.mt-3{margin-top:1rem;}
.mt-4{margin-top:1.5rem;}
.px-4{padding-left:1.5rem;padding-right:1.5rem;}

/* ---------- Formularfelder (Basis-Optik, Bootstrap-Werte) ----------
   .search-input (assets/style.css) liefert Farben/Rahmen/Schrift obendrauf;
   hier nur die Grundgeometrie, die vorher von Bootstraps .form-control kam. */
.form-control{
  display:block;
  width:100%;
  padding:.375rem .75rem;
  font-size:1rem;
  font-weight:400;
  line-height:1.5;
  border-radius:.375rem;
  appearance:none;
  background-clip:padding-box;
}
textarea.form-control{min-height:calc(1.5em + .75rem + 2px);resize:vertical;}
select.form-control{cursor:pointer;}
