/* Általános szerződési feltételek – page-owned styles */

.aszf-page {
    padding-block: var(--space-2xl) var(--space-3xl);
}

.aszf-hero {
    padding-block: var(--space-2xl) var(--space-xl);
    text-align: center;
}

.aszf-hero__eyebrow {
    font-size: var(--text-caption-size);
    line-height: var(--text-caption-line-height);
    font-weight: var(--text-caption-weight);
    letter-spacing: var(--text-caption-letter-spacing);
    text-transform: uppercase;
    color: var(--color-ultramarine);
    margin-block-end: var(--space-sm);
}

.aszf-hero__title {
    font-size: var(--text-h1-size);
    line-height: var(--text-h1-line-height);
    font-weight: var(--text-h1-weight);
    letter-spacing: var(--text-h1-letter-spacing);
    color: var(--color-silver-white);
    margin-block-end: var(--space-md);
    max-width: 50ch;
    margin-inline: auto;
}

.aszf-hero__lead {
    font-size: var(--text-body-large-size);
    line-height: var(--text-body-large-line-height);
    font-weight: var(--text-body-large-weight);
    color: var(--color-muted-silver);
    max-width: 70ch;
    margin-inline: auto;
    margin-block-end: 0;
}

.aszf-content {
    max-width: 900px;
    margin-inline: auto;
}

.aszf-section {
    padding-block: var(--space-xl);
}

.aszf-section h2 {
    font-size: var(--text-h2-size);
    line-height: var(--text-h2-line-height);
    font-weight: var(--text-h2-weight);
    letter-spacing: var(--text-h2-letter-spacing);
    color: var(--color-silver-white);
    margin-block-end: var(--space-md);
    max-width: 50ch;
}

.aszf-section__body {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.aszf-section__body h3 {
    font-size: var(--text-h3-size);
    line-height: var(--text-h3-line-height);
    font-weight: var(--text-h3-weight);
    letter-spacing: var(--text-h3-letter-spacing);
    color: var(--color-silver-white);
    margin-block-end: 0;
    max-width: 50ch;
}

.aszf-section__body p {
    font-size: var(--text-body-size);
    line-height: var(--text-body-line-height);
    font-weight: var(--text-body-weight);
    color: var(--color-silver-white);
    margin-block-end: 0;
    max-width: 70ch;
    hyphens: auto;
    overflow-wrap: break-word;
}

.aszf-list {
    list-style: disc;
    padding-inline-start: var(--space-lg);
    margin-block-end: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-2xs);
}

.aszf-list li {
    font-size: var(--text-body-size);
    line-height: var(--text-body-line-height);
    color: var(--color-silver-white);
}

.aszf-list li strong {
    font-weight: 500;
    color: var(--color-silver-white);
}

.aszf-date-note {
    font-size: var(--text-body-small-size);
    line-height: var(--text-body-small-line-height);
    color: var(--color-muted-silver);
    margin-block-start: var(--space-xs);
}

.aszf-divider {
    border: none;
    border-top: 1px solid rgba(58, 91, 255, 0.2);
    margin-block: var(--space-xl);
}

.aszf-section a {
    color: var(--color-silver-white);
    text-decoration: underline;
    transition: color var(--transition-fast);
}

.aszf-section a:hover {
    color: var(--color-violet);
}

.aszf-section a:focus-visible {
    outline: var(--focus-ring-width) solid var(--focus-ring-color);
    outline-offset: var(--focus-ring-offset);
    box-shadow: var(--focus-ring-glow);
    border-radius: var(--radius-sm);
}

@media (max-width: 767px) {
    .aszf-page {
        padding-block: var(--space-xl) var(--space-2xl);
    }

    .aszf-hero {
        padding-block: var(--space-xl) var(--space-lg);
    }

    .aszf-hero__title {
        font-size: clamp(2rem, 8vw, 2.5rem);
    }

    .aszf-hero__lead {
        font-size: var(--text-body-size);
    }

    .aszf-section {
        padding-block: var(--space-lg);
    }

    .aszf-section h2 {
        font-size: clamp(1.75rem, 7vw, 2rem);
    }

    .aszf-section__body {
        gap: var(--space-sm);
    }

    .aszf-divider {
        margin-block: var(--space-lg);
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .aszf-page {
        padding-block: var(--space-2xl) var(--space-3xl);
    }

    .aszf-hero {
        padding-block: var(--space-2xl) var(--space-xl);
    }

    .aszf-section {
        padding-block: var(--space-xl);
    }
}

@media (min-width: 1024px) {
    .aszf-page {
        padding-block: var(--space-2xl) var(--space-3xl);
    }

    .aszf-hero {
        padding-block: var(--space-3xl) var(--space-2xl);
    }

    .aszf-section {
        padding-block: var(--space-xl);
    }
}

@media (prefers-reduced-motion: reduce) {
    .aszf-section a,
    .aszf-section a:hover {
        transition: none;
    }
}