/* Page-scoped styles for Általános Szerződési Feltételek */

.aszf-page {
    background-color: var(--color-antique-ivory);
    color: var(--color-dark-mahogany);
    overflow-x: hidden;
}

.aszf-page .container {
    max-width: var(--container-standard);
}

/* Hero */
.aszf-hero {
    background: linear-gradient(135deg, rgba(232, 216, 184, 0.25), rgba(244, 239, 230, 0.9));
    padding-block: var(--space-64) var(--space-48);
    border-bottom: 1px solid var(--color-champagne);
    position: relative;
    overflow: hidden;
}

.aszf-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse at 15% 20%, rgba(107, 168, 160, 0.08) 0%, transparent 50%),
        radial-gradient(ellipse at 85% 80%, rgba(122, 59, 74, 0.06) 0%, transparent 50%);
    pointer-events: none;
}

.aszf-hero__inner {
    position: relative;
    z-index: 1;
    max-width: 800px;
    margin-inline: auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: var(--space-16);
    align-items: center;
}

.aszf-hero__title {
    font-size: var(--text-h1);
    line-height: var(--leading-h1);
    letter-spacing: var(--tracking-h1);
    font-weight: 600;
    color: var(--color-dark-mahogany);
    margin-block-end: 0;
}

.aszf-hero__lead {
    font-size: var(--text-body-large);
    line-height: var(--leading-body-large);
    color: var(--color-dark-mahogany);
    max-width: 680px;
    margin-block-end: 0;
}

.aszf-hero__date {
    font-size: var(--text-body-small);
    line-height: var(--leading-body-small);
    letter-spacing: var(--tracking-body-small);
    color: var(--color-muted-burgundy);
    font-weight: 500;
    margin-block-end: 0;
}

/* Table of contents */
.aszf-toc {
    padding-block: var(--space-48) var(--space-32);
    background-color: var(--color-soft-ivory);
    border-bottom: 1px solid var(--color-champagne);
}

.aszf-toc__title {
    font-size: var(--text-h3);
    line-height: var(--leading-h3);
    font-weight: 500;
    color: var(--color-dark-mahogany);
    margin-block-end: var(--space-16);
    text-align: center;
}

.aszf-toc__list {
    list-style: none;
    padding-inline-start: 0;
    margin-block-end: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-12) var(--space-24);
    max-width: 800px;
    margin-inline: auto;
}

.aszf-toc__list li {
    min-width: 0;
}

.aszf-toc__list a {
    display: inline-flex;
    align-items: center;
    gap: var(--space-8);
    font-size: var(--text-body);
    line-height: var(--leading-body);
    color: var(--color-dark-mahogany);
    text-decoration: none;
    padding: var(--space-8) var(--space-12);
    border-radius: var(--radius-small);
    transition: color var(--transition-fast), background-color var(--transition-fast);
    min-height: 44px;
    width: 100%;
}

.aszf-toc__list a::before {
    content: '◆';
    font-size: 0.6em;
    color: var(--color-warm-bronze);
    flex-shrink: 0;
}

.aszf-toc__list a:hover {
    color: var(--color-deep-turquoise);
    background-color: rgba(107, 168, 160, 0.08);
}

/* Sections */
.aszf-section {
    padding-block: var(--space-64);
    scroll-margin-top: 80px;
}

.aszf-section--services,
.aszf-section--casino {
    background-color: rgba(232, 216, 184, 0.2);
}

.aszf-section--casino {
    background-color: rgba(122, 59, 74, 0.04);
}

.aszf-section__inner {
    max-width: 800px;
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    gap: var(--space-32);
}

.aszf-section__inner--services,
.aszf-section__inner--casino {
    max-width: 750px;
}

.aszf-section__inner h2 {
    font-size: var(--text-h2);
    line-height: var(--leading-h2);
    font-weight: 500;
    color: var(--color-dark-mahogany);
    margin-block-end: 0;
    text-align: left;
}

.aszf-section__inner .ornamental-divider {
    margin-block: 0;
}

.aszf-content-block {
    display: flex;
    flex-direction: column;
    gap: var(--space-16);
}

.aszf-content-block h3 {
    font-size: var(--text-h3);
    line-height: var(--leading-h3);
    font-weight: 500;
    color: var(--color-dark-mahogany);
    margin-block-end: 0;
}

.aszf-content-block p {
    font-size: var(--text-body);
    line-height: var(--leading-body);
    color: var(--color-dark-mahogany);
    margin-block-end: 0;
    text-align: justify;
    max-width: 100%;
}

.aszf-content-block--highlight {
    background-color: rgba(122, 59, 74, 0.08);
    border: 1px solid rgba(122, 59, 74, 0.35);
    border-radius: var(--radius-medium);
    padding: var(--space-24);
    max-width: 90%;
    margin-inline: auto;
}

.aszf-content-block--highlight h3 {
    text-align: center;
}

.aszf-content-block--highlight p {
    text-align: center;
}

.aszf-definition-list,
.aszf-bullet-list,
.aszf-contact-list {
    list-style: none;
    padding-inline-start: 0;
    margin-block-end: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-12);
}

.aszf-definition-list li,
.aszf-bullet-list li,
.aszf-contact-list li {
    font-size: var(--text-body);
    line-height: var(--leading-body);
    color: var(--color-dark-mahogany);
    padding-inline-start: var(--space-24);
    position: relative;
    text-align: justify;
}

.aszf-definition-list li::before,
.aszf-bullet-list li::before,
.aszf-contact-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.7em;
    width: 8px;
    height: 8px;
    background-color: var(--color-warm-bronze);
    transform: rotate(45deg);
    flex-shrink: 0;
}

.aszf-definition-list strong {
    font-weight: 600;
    color: var(--color-dark-mahogany);
}

.aszf-contact-list li {
    text-align: left;
}

/* Links */
.aszf-page a {
    color: var(--color-dusty-turquoise);
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color var(--transition-fast);
}

.aszf-page a:hover {
    color: var(--color-deep-turquoise);
}

/* Responsive */
@media (min-width: 768px) {
    .aszf-hero {
        padding-block: var(--space-96) var(--space-64);
    }

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

    .aszf-section__inner--intro,
    .aszf-section__inner--booking,
    .aszf-section__inner--liability,
    .aszf-section__inner--privacy,
    .aszf-section__inner--disputes,
    .aszf-section__inner--closing {
        margin-inline-start: 120px;
        margin-inline-end: auto;
    }

    .aszf-section__inner--services,
    .aszf-section__inner--casino {
        margin-inline-start: 100px;
        margin-inline-end: auto;
    }
}

@media (max-width: 767px) {
    .aszf-hero {
        padding-block: var(--space-48) var(--space-32);
    }

    .aszf-hero__inner {
        gap: var(--space-12);
    }

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

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

    .aszf-toc {
        padding-block: var(--space-32) var(--space-24);
    }

    .aszf-toc__list {
        grid-template-columns: 1fr;
        gap: var(--space-8);
    }

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

    .aszf-section__inner {
        gap: var(--space-24);
        max-width: 100%;
        margin-inline: 0;
    }

    .aszf-section__inner--services,
    .aszf-section__inner--casino {
        max-width: 100%;
        margin-inline: 0;
    }

    .aszf-content-block--highlight {
        max-width: 100%;
        margin-inline: 0;
        padding: var(--space-16);
    }

    .aszf-content-block p,
    .aszf-definition-list li,
    .aszf-bullet-list li,
    .aszf-contact-list li {
        text-align: left;
    }
}

@media (prefers-reduced-motion: reduce) {
    .aszf-page *,
    .aszf-page *::before,
    .aszf-page *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
