/**
 * flugbuchen.de — Legal Page Styles (Impressum & Datenschutz)
 *
 * @copyright reDim GmbH | @link https://www.redim.de | @contact team@redim.de
 */

/* ============================================================
   Breadcrumb
   ============================================================ */
.legal-breadcrumb {
    background: var(--color-bg-alt);
    border-bottom: 1px solid var(--color-border);
    padding: 0.75rem 0;
}

.legal-breadcrumb__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.375rem;
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 0.875rem;
    color: var(--color-text-secondary);
}

.legal-breadcrumb__list li + li::before {
    content: '/';
    color: var(--color-border);
    margin-right: 0.375rem;
}

.legal-breadcrumb__list a {
    color: var(--color-text-secondary);
    text-decoration: none;
}

.legal-breadcrumb__list a:hover {
    color: var(--color-secondary);
    text-decoration: underline;
}

.legal-breadcrumb__list [aria-current='page'] {
    color: var(--color-primary);
    font-weight: 500;
}

/* ============================================================
   Page Header
   ============================================================ */
.legal-page-header {
    padding: 3rem 0 2rem;
    border-bottom: 1px solid var(--color-border);
}

.legal-page-header h1 {
    font-size: 2rem;
    color: var(--color-primary);
    margin: 0;
}

@media (min-width: 768px) {
    .legal-page-header h1 {
        font-size: 2.5rem;
    }
}

/* ============================================================
   Content layout
   ============================================================ */
.legal-page {
    padding: 3rem 0 5rem;
}

.legal-body {
    max-width: 44rem;   /* ~720px readable line length */
}

/* ============================================================
   Typography inside .legal-body
   ============================================================ */
.legal-body h2 {
    font-size: 1.25rem;
    color: var(--color-primary);
    margin: 2.25rem 0 0.625rem;
    padding-bottom: 0.375rem;
    border-bottom: 2px solid var(--color-border);
}

.legal-body h2:first-child {
    margin-top: 0;
}

.legal-body h3 {
    font-size: 1.0625rem;
    color: var(--color-primary);
    margin: 1.5rem 0 0.5rem;
}

.legal-body p {
    line-height: 1.75;
    margin-bottom: 0.875rem;
    color: var(--color-text);
}

.legal-body p:last-child {
    margin-bottom: 0;
}

.legal-body address {
    font-style: normal;
    line-height: 1.75;
    color: var(--color-text);
    margin-bottom: 0.875rem;
}

.legal-body ul {
    list-style: disc;
    margin: 0.5rem 0 1rem 1.5rem;
    padding: 0;
}

.legal-body ul li {
    line-height: 1.75;
    color: var(--color-text);
    margin-bottom: 0.25rem;
}

.legal-body a {
    color: var(--color-secondary);
    word-break: break-all;
}

.legal-body a:hover {
    color: var(--color-secondary-hover);
    text-decoration: underline;
}

.legal-body strong {
    font-weight: 600;
    color: var(--color-text);
}

/* ============================================================
   Contact info block
   ============================================================ */
.legal-contact {
    background: var(--color-bg-alt);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: 1.25rem 1.5rem;
    margin: 1rem 0 1.75rem;
}

.legal-contact address {
    margin-bottom: 0;
}
