/* ================================================================
   Impressum / Legal Notice
   ================================================================ */

.impressum-container {
    max-width: var(--toddyi-size-720px);
    margin: 0 auto;
}

.impressum-icon {
    font-size: var(--toddyi-size-1-6rem);
}

.impressum-intro {
    color: var(--text-muted);
    font-size: var(--toddyi-size-0-93rem);
    line-height: 1.8;
    margin-bottom: var(--toddyi-size-28px);
    border-bottom: var(--toddyi-size-1px) solid var(--border);
    padding-bottom: var(--toddyi-size-20px);
}

.impressum-sections {
    display: flex;
    flex-direction: column;
    gap: var(--toddyi-size-28px);
}

.impressum-section__title {
    font-size: var(--toddyi-size-1rem);
    font-weight: 700;
    margin: 0 0 var(--toddyi-size-14px);
    padding-bottom: var(--toddyi-size-8px);
    border-bottom: var(--toddyi-size-2px) solid color-mix(in srgb, var(--primary) var(--toddyi-size-20pct), white);
    color: var(--text);
}

.impressum-dl {
    margin: 0;
}

.impressum-dl__row {
    display: grid;
    grid-template-columns: minmax(120px, 34%) 1fr;
    gap: var(--toddyi-size-8px) var(--toddyi-size-20px);
    padding: var(--toddyi-size-12px) 0;
    border-bottom: var(--toddyi-size-1px) solid var(--border);
}

.impressum-dl__row:last-child {
    border-bottom: none;
}

.impressum-dl__row dt {
    font-size: var(--toddyi-size-0-85rem);
    font-weight: 600;
    color: var(--text-muted);
    margin: 0;
}

.impressum-dl__row dd {
    margin: 0;
    font-size: var(--toddyi-size-0-93rem);
    line-height: 1.7;
    color: var(--text);
}

.impressum-dl__row dd a {
    color: var(--primary);
}

.impressum-note {
    margin-top: var(--toddyi-size-32px);
    padding-top: var(--toddyi-size-20px);
    border-top: var(--toddyi-size-1px) solid var(--border);
    font-size: var(--toddyi-size-0-88rem);
    color: var(--text-muted);
    line-height: 1.7;
}

.impressum-note a {
    color: var(--primary);
    font-weight: 500;
}
