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

.aszf-page {
    background-color: var(--color-paper);
}

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

.aszf-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-lg);
    max-width: 984px;
    margin-inline: auto;
}

.aszf-reading-column {
    min-width: 0;
}

.aszf-header {
    margin-block-end: var(--space-2xl);
}

.aszf-header .kicker {
    margin-block-end: var(--space-xs);
}

.aszf-header h1 {
    margin-block-end: var(--space-md);
}

.aszf-standfirst {
    font-size: var(--text-body-lg-size);
    line-height: var(--text-body-lg-line-height);
    letter-spacing: var(--text-body-lg-letter-spacing);
    max-width: 62ch;
    margin-block-end: var(--space-lg);
}

.aszf-header .rule--masthead {
    margin-block-start: var(--space-lg);
}

.aszf-section {
    margin-block-start: var(--space-2xl);
    padding-block-start: var(--space-lg);
    border-block-start: var(--rule-width) solid var(--color-rule);
}

.aszf-section:first-of-type {
    margin-block-start: 0;
}

.aszf-section .kicker {
    margin-block-end: var(--space-xs);
}

.aszf-section h2 {
    margin-block-end: var(--space-lg);
}

.aszf-content-unit {
    margin-block-end: var(--space-lg);
}

.aszf-content-unit:last-child {
    margin-block-end: 0;
}

.aszf-content-unit h3 {
    margin-block-end: var(--space-sm);
}

.aszf-content-unit p {
    margin-block-end: var(--space-md);
}

.aszf-content-unit p:last-child {
    margin-block-end: 0;
}

.aszf-definition-list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-sm);
    margin-block-start: var(--space-md);
}

.aszf-definition-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2xs);
}

.aszf-definition-row dt {
    font-weight: 600;
    color: var(--color-ink);
    margin-block-end: 0;
}

.aszf-definition-row dd {
    margin-inline-start: 0;
    margin-block-end: 0;
    color: var(--color-ink);
}

.aszf-definition-panel {
    padding: var(--space-md);
}

.aszf-definition-list-ordered {
    list-style: decimal;
    padding-inline-start: 1.5em;
    margin-block-end: 0;
    display: grid;
    gap: var(--space-md);
}

.aszf-definition-list-ordered li {
    margin-block-end: 0;
}

.aszf-list {
    margin-block-start: var(--space-sm);
    margin-block-end: var(--space-md);
    padding-inline-start: 1.5em;
}

.aszf-list li {
    margin-block-end: var(--space-2xs);
}

.aszf-list li:last-child {
    margin-block-end: 0;
}

.aszf-section--note {
    background-color: var(--color-note);
    border: var(--rule-width) solid var(--color-rule-soft);
    padding: var(--space-md);
    border-block-start: var(--rule-width) solid var(--color-rule);
}

.aszf-casino-panel,
.aszf-contact-panel {
    background-color: var(--color-note);
    border: var(--rule-width) solid var(--color-rule-soft);
    padding: var(--space-md);
    margin-block-start: var(--space-md);
}

.aszf-casino-statement {
    text-align: center;
    padding: var(--space-md);
    margin-block-start: var(--space-md);
}

.aszf-casino-statement p {
    max-width: 55ch;
    margin-inline: auto;
    margin-block-end: var(--space-sm);
}

.aszf-casino-statement p:last-child {
    margin-block-end: 0;
}

.aszf-final-rule {
    border-block-start-width: var(--rule-width-masthead);
    margin-block-start: var(--space-2xl);
    margin-block-end: 0;
}

.aszf-note-rail {
    display: grid;
    gap: var(--space-md);
    align-content: start;
}

.aszf-rail-card {
    padding: var(--space-md);
}

.aszf-rail-card h4 {
    margin-block-end: var(--space-xs);
}

.aszf-rail-card p {
    margin-block-end: var(--space-sm);
    font-size: var(--text-body-sm-size);
    line-height: var(--text-body-sm-line-height);
    letter-spacing: var(--text-body-sm-letter-spacing);
}

.aszf-rail-card p:last-child {
    margin-block-end: 0;
}

.aszf-rail-card a {
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-color: var(--color-accent);
    text-decoration-thickness: 1px;
}

.aszf-rail-card a:hover {
    text-decoration-color: var(--color-accent);
    color: var(--color-accent);
}

.aszf-content-unit a {
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-color: var(--color-accent);
    text-decoration-thickness: 1px;
}

.aszf-content-unit a:hover {
    text-decoration-color: var(--color-accent);
    color: var(--color-accent);
}

/* Tablet breakpoint */
@media (min-width: 48rem) {
    .aszf-layout {
        grid-template-columns: minmax(0, 720px) minmax(0, 240px);
        gap: var(--space-lg);
        justify-content: center;
    }

    .aszf-definition-row {
        grid-template-columns: 120px minmax(0, 1fr);
        gap: var(--space-sm);
    }

    .aszf-definition-row dt {
        text-align: right;
    }

    .aszf-definition-row dd {
        text-align: left;
    }
}

/* Desktop breakpoint */
@media (min-width: 75rem) {
    .aszf-layout {
        grid-template-columns: minmax(0, 720px) minmax(0, 240px);
        gap: 24px;
        justify-content: center;
    }
}

/* Mobile adjustments */
@media (max-width: 47.9375rem) {
    .aszf-container {
        padding-block-start: var(--space-xl);
        padding-block-end: var(--space-2xl);
    }

    .aszf-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--space-lg);
    }

    .aszf-note-rail {
        grid-template-columns: minmax(0, 1fr);
    }

    .aszf-section--note {
        padding: var(--space-sm);
    }

    .aszf-casino-panel,
    .aszf-contact-panel {
        padding: var(--space-sm);
    }

    .aszf-casino-statement {
        padding: var(--space-sm);
    }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .aszf-content-unit a,
    .aszf-rail-card a {
        transition: none;
    }
}
