/* css/base.css */

/* --- Font Definition (Lokal gehostet) --- */
/* Regular (400) */
@font-face {
    font-family: 'Roboto Local';
    src:    url('https://www.denios.de/build/fonts/roboto-v29-latin-ext_latin-regular.eot'),
    url('https://www.denios.de/build/fonts/roboto-v29-latin-ext_latin-regular.eot?#iefix') format('embedded-opentype'),
    url('https://www.denios.de/build/fonts/roboto-v29-latin-ext_latin-regular.woff2') format('woff2'),
    url('https://www.denios.de/build/fonts/roboto-v29-latin-ext_latin-regular.woff') format('woff'),
    url('https://www.denios.de/build/fonts/roboto-v29-latin-ext_latin-regular.ttf') format('truetype'),
    url('https://www.denios.de/build/fonts/roboto-v29-latin-ext_latin-regular.svg#Roboto') format('svg');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
/* Medium (500) */
@font-face {
    font-family: 'Roboto Local';
    src:    url('https://www.denios.de/build/fonts/roboto-v29-latin-ext_latin-500.eot'),
    url('https://www.denios.de/build/fonts/roboto-v29-latin-ext_latin-500.eot?#iefix') format('embedded-opentype'),
    url('https://www.denios.de/build/fonts/roboto-v29-latin-ext_latin-500.woff2') format('woff2'),
    url('https://www.denios.de/build/fonts/roboto-v29-latin-ext_latin-500.woff') format('woff'),
    url('https://www.denios.de/build/fonts/roboto-v29-latin-ext_latin-500.ttf') format('truetype'),
    url('https://www.denios.de/build/fonts/roboto-v29-latin-ext_latin-500.svg#Roboto') format('svg');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
/* Bold (700) */
@font-face {
    font-family: 'Roboto Local';
    src:    url('https://www.denios.de/build/fonts/roboto-v29-latin-ext_latin-700.eot'),
    url('https://www.denios.de/build/fonts/roboto-v29-latin-ext_latin-700.eot?#iefix') format('embedded-opentype'),
    url('https://www.denios.de/build/fonts/roboto-v29-latin-ext_latin-700.woff2') format('woff2'),
    url('https://www.denios.de/build/fonts/roboto-v29-latin-ext_latin-700.woff') format('woff'),
    url('https://www.denios.de/build/fonts/roboto-v29-latin-ext_latin-700.ttf') format('truetype'),
    url('https://www.denios.de/build/fonts/roboto-v29-latin-ext_latin-700.svg#Roboto') format('svg');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* --- Farb- und Layout-Variablen --- */
:root {
    --blue: #2061AE;
    --dark-black: #1D1D1D;
    --light-anthrazit: #606060;
    --input-border-color: #d5d5d8;
    --input-border-hover: var(--dark-black);
    --input-border-focus: var(--blue);
    --error-color: #721c24;
    --error-background: #f8d7da;
    --success-color: #155724;
    --success-background: #e8f5e9;
    --warning-color: #856404;
    --warning-background: #fff3e0;
    --info-color: #0c5460;
    --info-background: #d1ecf1;
    --white: #FFFFFF;
    --page-background: #F5F5F8;
    --shadow-color: rgba(0, 0, 0, 0.08);
    --focus-shadow-color: rgba(32, 97, 174, 0.15);

    /* Größen und Abstände */
    --base-font-size: 15px;
    --small-font-size: 13px;
    --label-float-font-size: 12px;
    --input-height: 48px;
    --base-gap: 20px;
    --vertical-gap: 15px;
    --content-padding-y: 30px;
    --content-padding-x: 40px;
    --content-margin-y-desktop: 60px;
}

/* --- Basis-Styling (Body, Typografie, Links, Container) --- */
html {
    height: 100%;
}

body {
    font-family: 'Roboto Local', Arial, Helvetica, sans-serif;
    font-size: var(--base-font-size);
    color: var(--dark-black);
    margin: 0;
    padding: 0;
    background-color: var(--page-background);
    font-weight: 400;
    line-height: 1.5;
    /* Flexbox für Sticky Footer */
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/* Hauptinhaltsbereich für Sticky Footer */
.main-content-area {
    flex-grow: 1;
}

/* Allgemeiner Container (Grundlayout) */
.container {
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
    width: 100%;
}

/* Basis Typografie */
h1 {
    font-family: 'Roboto Local', Arial, Helvetica, sans-serif;
    font-weight: 400;
    font-size: 25px;
    line-height: 1.3;
    color: var(--blue);
    margin-top: 0;
    margin-bottom: 20px;
}
p {
    line-height: 1.8;
    margin-top: 0;
    margin-bottom: 1em;
}
strong, b {
    font-weight: 700;
}
a {
    font-family: inherit;
    color: var(--blue);
    text-decoration: none;
    transition: color 0.2s ease;
}
a:hover {
    text-decoration: underline;
    color: var(--input-border-hover);
}