/* ============================================
   AUTHEN7IC Finance - Global Overrides
   Überschreibt alte Styles mit neuem Design
   ============================================ */

/* === GLOBALE VARIABLEN ÜBERSCHREIBEN === */
:root {
    /* Alte Variablen überschreiben */
    --primary-dark: #2c4ecb !important;
    --primary-light: #03c3fd !important;
}

/* === PROGRESS BAR === */
.progress-bar {
    background: var(--gradient-primary) !important;
    padding: var(--spacing-md) var(--spacing-lg) !important;
}

/* === CONTENT CONTAINER === */
.content-container {
    max-width: var(--container-xl) !important;
    margin: var(--spacing-2xl) auto !important;
    padding: var(--spacing-2xl) !important;
    border-radius: var(--radius-md) !important;
}

/* === HEADINGS === */
h1 {
    font-size: var(--font-size-4xl) !important;
    margin-bottom: var(--spacing-xl) !important;
}

h2 {
    font-size: var(--font-size-2xl) !important;
    margin-bottom: var(--spacing-lg) !important;
}

h3 {
    font-size: var(--font-size-xl) !important;
    margin-bottom: var(--spacing-md) !important;
}

/* === CARD BLOCKS === */
.card-block, .card {
    background: var(--color-white) !important;
    padding: var(--spacing-2xl) !important;
    margin-bottom: var(--spacing-xl) !important;
    border-radius: var(--radius-md) !important;
    box-shadow: var(--shadow-lg) !important;
}

/* === BUTTONS === */
button, .btn, .btn-primary, .btn-secondary {
    font-family: var(--font-family) !important;
    padding: var(--spacing-sm) var(--spacing-lg) !important;
    border-radius: var(--radius-sm) !important;
    font-size: var(--font-size-base) !important;
    font-weight: 600 !important;
    transition: all var(--transition-base) !important;
    cursor: pointer !important;
}

.btn-primary, button[type="submit"] {
    background: var(--gradient-start) !important;
    border: none !important;
    color: var(--color-white) !important;
    box-shadow: var(--shadow-md) !important;
}

.btn-primary:hover, button[type="submit"]:hover {
    transform: translateY(-2px) !important;
    box-shadow: var(--shadow-lg) !important;
    background: var(--gradient-step-1) !important;
}

/* === INPUTS === */
input[type="text"],
input[type="number"],
input[type="email"],
input[type="tel"],
input[type="date"],
select,
textarea {
    font-family: var(--font-family) !important;
    font-size: var(--font-size-base) !important;
    padding: var(--spacing-sm) var(--spacing-md) !important;
    border: 2px solid var(--color-gray-300) !important;
    border-radius: var(--radius-sm) !important;
    transition: all var(--transition-fast) !important;
}

input:focus, select:focus, textarea:focus {
    outline: none !important;
    border-color: var(--gradient-start) !important;
    box-shadow: 0 0 0 3px rgba(44, 78, 203, 0.1) !important;
}

/* === LABELS === */
label {
    font-family: var(--font-family) !important;
    font-size: var(--font-size-sm) !important;
    font-weight: 600 !important;
    color: var(--color-gray-700) !important;
    margin-bottom: var(--spacing-xs) !important;
    display: block !important;
}

/* === FORM GRIDS === */
.form-grid-two {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: var(--spacing-lg) !important;
    margin-bottom: var(--spacing-md) !important;
}

@media (max-width: 768px) {
    .form-grid-two {
        grid-template-columns: 1fr !important;
    }
}

/* === RESULT BLOCKS === */
.result-block {
    background: var(--color-gray-50) !important;
    padding: var(--spacing-2xl) !important;
    border-radius: var(--radius-md) !important;
    margin-top: var(--spacing-xl) !important;
}

/* === GRADIENT BOXES (für Ergebnisse) === */
.gradient-result-box {
    background: var(--gradient-soft) !important;
    border-radius: var(--radius-lg) !important;
    padding: var(--spacing-2xl) !important;
    color: var(--color-white) !important;
    box-shadow: var(--shadow-xl) !important;
}

/* === CHOICE TILES === */
.choice-tile {
    background: var(--color-white) !important;
    border: 2px solid var(--color-gray-300) !important;
    border-radius: var(--radius-md) !important;
    padding: var(--spacing-lg) !important;
    transition: all var(--transition-base) !important;
    cursor: pointer !important;
}

.choice-tile:hover {
    border-color: var(--gradient-start) !important;
    box-shadow: var(--shadow-md) !important;
    transform: translateY(-2px) !important;
}

.choice-tile:has(input:checked) {
    border-color: var(--gradient-start) !important;
    background: linear-gradient(90deg, #2c4ecb, #03c3fd) !important;
    color: white !important;
}

.choice-tile:has(input:checked) .tile-title {
    color: white !important;
    font-weight: 600 !important;
}

.choice-tile:has(input:checked) .tile-desc {
    color: rgba(255, 255, 255, 0.95) !important;
}

.choice-tile input[type="radio"]:checked ~ *,
.choice-tile input[type="checkbox"]:checked ~ * {
    color: white !important;
}

/* === SPACING UTILITIES === */
.mb-1 { margin-bottom: var(--spacing-xs) !important; }
.mb-2 { margin-bottom: var(--spacing-sm) !important; }
.mb-3 { margin-bottom: var(--spacing-md) !important;  }
.mb-4 { margin-bottom: var(--spacing-lg) !important; }
.mb-5 { margin-bottom: var(--spacing-xl) !important; }

.mt-1 { margin-top: var(--spacing-xs) !important; }
.mt-2 { margin-top: var(--spacing-sm) !important; }
.mt-3 { margin-top: var(--spacing-md) !important; }
.mt-4 { margin-top: var(--spacing-lg) !important; }
.mt-5 { margin-top: var(--spacing-xl) !important; }

.p-1 { padding: var(--spacing-xs) !important; }
.p-2 { padding: var(--spacing-sm) !important; }
.p-3 { padding: var(--spacing-md) !important; }
.p-4 { padding: var(--spacing-lg) !important; }
.p-5 { padding: var(--spacing-xl) !important; }

/* === TEXT UTILITIES === */
.text-center { text-align: center !important; }
.text-left { text-align: left !important; }
.text-right { text-align: right !important; }

.font-bold { font-weight: 700 !important; }
.font-semibold { font-weight: 600 !important; }
.font-normal { font-weight: 400 !important; }

/* === INTRO TEXT === */
.intro-text {
    font-size: var(--font-size-lg) !important;
    text-align: center !important;
    margin-bottom: var(--spacing-2xl) !important;
    color: var(--color-gray-700) !important;
    line-height: 1.8 !important;
}

/* === SMALL TEXT === */
.small, p.small {
    font-size: var(--font-size-sm) !important;
    color: var(--color-gray-600) !important;
}

/* === DISCLAIMER === */
.disclaimer {
    background: var(--color-gray-100) !important;
    padding: var(--spacing-md) !important;
    border-radius: var(--radius-sm) !important;
    border-left: 4px solid var(--gradient-start) !important;
    font-size: var(--font-size-sm) !important;
}
