/* Styles for the 6 legal pages (HU + EN privacy / terms / cookie).
   Scoped to .legal-content. Uses rgba() so it adapts to both light and dark themes. */
.legal-content { line-height: 1.7; }
.legal-content h1 { font-size: 2rem; margin: 1.5rem 0 1rem; }
.legal-content h2 {
    font-size: 1.4rem;
    margin: 2rem 0 0.8rem;
    border-bottom: 1px solid rgba(127,127,127,0.25);
    padding-bottom: 0.3rem;
}
.legal-content h3 { font-size: 1.15rem; margin: 1.5rem 0 0.6rem; }
.legal-content h4 { font-size: 1rem; margin: 1.2rem 0 0.4rem; font-weight: 600; }
.legal-content p { margin: 0.7rem 0; }
.legal-content ul { margin: 0.7rem 0 0.7rem 1.4rem; }

/* Impresszum card — subtle "card" that inherits the theme's text color */
.legal-content .impresszum {
    border: 1px solid rgba(127,127,127,0.25);
    background: rgba(127,127,127,0.06);
    padding: 18px 22px;
    margin: 18px 0;
    border-radius: 8px;
}
.legal-content .impresszum h3 { margin-top: 0.4rem; }
.legal-content .impresszum h3:first-child { margin-top: 0; }

/* Key/value list — theme-agnostic */
.legal-content dl.kv {
    display: grid;
    grid-template-columns: max-content 1fr;
    column-gap: 22px;
    row-gap: 6px;
    margin: 8px 0;
}
.legal-content dl.kv dt { font-weight: 600; }
.legal-content dl.kv dd { margin: 0; opacity: 0.9; }

/* Tables — translucent borders + header stripe, text stays theme color */
.legal-content table {
    border-collapse: collapse;
    width: 100%;
    margin: 18px 0;
    font-size: 0.95rem;
}
.legal-content table th,
.legal-content table td {
    border: 1px solid rgba(127,127,127,0.3);
    padding: 8px 12px;
    text-align: left;
    vertical-align: top;
}
.legal-content table th {
    background: rgba(127,127,127,0.1);
    font-weight: 600;
}

.legal-content .mono {
    font-family: ui-monospace, Menlo, Consolas, monospace;
    font-size: 0.9em;
}

/* Withdrawal-form placeholder fields */
.legal-content .form-field {
    border-bottom: 1px solid rgba(127,127,127,0.35);
    min-height: 40px;
    margin: 22px 0 18px;
    position: relative;
}
.legal-content .form-field .label {
    font-size: 12px;
    opacity: 0.7;
    position: absolute;
    top: -18px;
    left: 0;
}
.legal-content .signature-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin-top: 30px;
}
.legal-content .page-break { display: none; }

.legal-content .subtitle { opacity: 0.75; font-style: italic; margin-top: -0.5rem; }
.legal-content .effective { font-weight: 600; opacity: 0.85; }

/* Links — follow theme link color, but ensure underlined so they stand out */
.legal-content a { text-decoration: underline; }

@media (max-width: 600px) {
    .legal-content dl.kv { grid-template-columns: 1fr; row-gap: 2px; }
    .legal-content dl.kv dd { margin-bottom: 8px; }
    .legal-content .signature-row { grid-template-columns: 1fr; }
}
