/* ==========================================================================
   MAIN.CSS
   ==========================================================================
   Enthält die grundlegenden Styles für die Website, Reset, Typografie und Layout-Utilities.
*/

/* ==========================================================================
   INHALTSVERZEICHNIS
   ==========================================================================

   1. Basis-Styles........................................Zeile 75
      (Hinweis: Alle CSS-Variablen wurden in variables.css konsolidiert)

   2. Reset & Basis.......................................Zeile 80
      2.1 Box-Sizing.....................................Zeile 85
      2.2 Margins und Paddings...........................Zeile 95
      2.3 Listen und Links...............................Zeile 110

   3. Typography..........................................Zeile 125
      3.1 Schriftarten...................................Zeile 130
      3.2 Überschriften..................................Zeile 140
      3.3 Fließtext......................................Zeile 160

   4. Layout-Utilities....................................Zeile 175
      4.1 Container......................................Zeile 180
      4.2 Grid-System....................................Zeile 210
      4.3 Flexbox-Helfer.................................Zeile 220

   5. Hilfsklassen........................................Zeile 230
      5.1 Sichtbarkeit...................................Zeile 235
      5.2 Abstände.......................................Zeile 250
      5.3 Text-Utilities.................................Zeile 270
      5.4 Fehlermeldungen................................Zeile 280

   6. Interaktive Elemente...............................Zeile 290
      6.1 Links..........................................Zeile 295
      6.2 Buttons........................................Zeile 305

   7. Spezielle Elemente.................................Zeile 330
      7.1 Dev-Back-Button................................Zeile 335
*/

/* ========================================================================== */
/* WICHTIG: Diese CSS-Datei enthält die Hauptstyles!
/* 
/* Verwendung:
/* 1/3 - Grundlegende Stile (body, Typography, etc.)
/* 2/3 - Globale Elemente (Links, Buttons, etc.)
/* 3/3 - Container und Grid-Systeme
/* ========================================================================== */

/*
 * CSS-Struktur der Website
 * -----------------------
 * 
 * variables.css:
 * - Globale CSS-Variablen (Farben, Abstände, Breakpoints, Schriftarten)
 * 
 * main.css (diese Datei):
 * - Grundlegende Styles (Reset, Typography, Container)
 * - Utility-Klassen
 * - Basis-Styles für HTML-Elemente
 * 
 * components.css:
 * - Wiederverwendbare UI-Komponenten
 * - Header & Navigation
 * - Footer
 * - Buttons
 * - Cards
 * - Andere wiederverwendbare Elemente
 * 
 * sections.css:
 * - Seitenspezifische Bereiche
 * - Content-Sections
 * - Spezielle Layouts
 * - Einmalig verwendete Sektionen
 */

/* ==========================================================================
   1. Basis-Styles
   ========================================================================== */

/* Hinweis: Alle CSS-Variablen wurden in variables.css konsolidiert */

/* ==========================================================================
   2. Reset & Basis
   ========================================================================== */

/* 2.1 Box-Sizing
   ========================================================================== */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    margin: 0;
    padding: 0;
    height: 100%;
}

/* 2.2 Margins und Paddings
   ========================================================================== */
body {
    margin: 0;
    padding: 0;
    font-family: var(--font-primary);
    font-size: var(--font-size-base);
    line-height: var(--line-height-base);
    color: var(--text-color);
    background-color: var(--white);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
    max-width: 100%;
    height: 100%;
}

.main-content {
    margin: 0;
    padding: 0;
    width: 100%;
    min-height: 100vh;
}

main {
    margin: 0 auto;
    padding: 0;
    display: block;
}

section {
    margin: 0;
    padding: 0;
    border: none;
    outline: none;
}

section:last-child {
    margin-bottom: 0;
}

footer {
    margin: 0;
    padding: 0;
    border: none;
    outline: none;
}

/* 2.3 Listen und Links
   ========================================================================== */
ul,
ol {
    list-style: none;
}

a {
    color: inherit;
    text-decoration: none;
}

/* ==========================================================================
   3. Typography
   ========================================================================== */

/* 3.1 Schriftarten
   ========================================================================== */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-secondary);
    margin: 0;
    line-height: var(--line-height-tight);
    color: var(--text-color);
}

body, p, span {
    font-family: var(--font-primary);
}

/* 3.2 Überschriften
   ========================================================================== */
h1 {
    font-size: var(--font-size-h1-fluid);
    font-weight: 700;
}

h2 {
    font-size: var(--font-size-h2-fluid);
    font-weight: 600;
}

h3 {
    font-size: var(--font-size-h3-fluid);
    font-weight: 600;
}

h4 {
    font-size: var(--font-size-h4-fluid);
    font-weight: 600;
}

/* 3.3 Fließtext
   ========================================================================== */
p {
    margin: 0;
    line-height: var(--line-height-base);
    font-size: var(--font-size-text-fluid);
}

small {
    font-size: var(--font-size-small-fluid);
}

/* ==========================================================================
   4. Layout-Utilities
   ========================================================================== */

/* 4.1 Container
   ========================================================================== */
.container {
    width: 100%;
    max-width: var(--container-max);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--container-padding);
    padding-right: var(--container-padding);
}

.content-inner {
    max-width: 1400px;
    width: 85vw;
    margin: 0 auto;
    padding-left: var(--container-padding);
    padding-right: var(--container-padding);
}
@media (max-width: 600px) {
    .content-inner {
        max-width: 100vw;
        padding-left: 1rem;
        padding-right: 1rem;
    }
}

.section-container {
    width: 100%;
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--container-padding);
    padding-right: var(--container-padding);
}

.container-sm {
    max-width: 640px;
}

.container-md {
    max-width: 768px;
}

.container-lg {
    max-width: 1024px;
}

/* 4.2 Grid-System
   ========================================================================== */
.grid {
    display: grid;
    gap: var(--space-4);
}

.grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
/* Hinweis: Die folgenden Grid-Klassen wurden entfernt, da sie nicht verwendet werden:
.grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
.grid-cols-4 { grid-template-columns: repeat(4, 1fr); }
*/

/* 4.3 Flexbox-Helfer
   ========================================================================== */
.flex { display: flex; }
.flex-col { flex-direction: column; }
.items-center { align-items: center; }
.justify-center { justify-content: center; }
.justify-between { justify-content: space-between; }
.gap-2 { gap: var(--space-2); }
.gap-4 { gap: var(--space-4); }

/* ==========================================================================
   5. Hilfsklassen
   ========================================================================== */

/* 5.1 Sichtbarkeit
   ========================================================================== */
.hidden {
    display: none;
}

.invisible {
    visibility: hidden;
}

/* Hinweis: Die folgenden Klassen wurden entfernt, da sie nicht verwendet werden:
.content-hidden {
    display: none;
}

.admin-link {
    display: none;
}
*/

/* 5.2 Abstände
   ========================================================================== */
.m-0 { margin: 0; }
.p-0 { padding: 0; }
.mt-1 { margin-top: var(--spacing-sm); }
.mt-2 { margin-top: var(--spacing-md); }
.mt-3 { margin-top: var(--spacing-lg); }
.mt-4 { margin-top: var(--space-4); }
.mb-1 { margin-bottom: var(--spacing-sm); }
.mb-2 { margin-bottom: var(--spacing-md); }
.mb-3 { margin-bottom: var(--spacing-lg); }
.mb-4 { margin-bottom: var(--space-4); }
.mx-auto { 
    margin-left: auto;
    margin-right: auto;
}

/* 5.3 Text-Utilities
   ========================================================================== */
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }
.text-primary { color: var(--primary-color); }
.text-white { color: var(--white); }
.font-bold { font-weight: 700; }
.font-normal { font-weight: 400; }

/* 5.4 Fehlermeldungen
   ========================================================================== */
.error-message {
    display: none;
    color: red;
    margin-top: 10px;
}

/* ==========================================================================
   6. Inter

.img-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f0f0f0;
    color: #888;
    min-height: 200px;
    border: 1px dashed #bbb;
    font-style: italic;
}