/* Page: Felhasználási feltételek */

.legal-page {
    width: 100%;
    max-width: var(--container-main);
    margin-inline: auto;
    padding-inline: var(--container-padding-mobile);
    padding-block: var(--space-4);
}

.legal-panel {
    background-color: var(--color-parchment-cream);
    color: var(--color-ink-brown);
    border: var(--border-thick);
    border-radius: var(--radius-2xl);
    padding: var(--space-2);
    box-shadow: var(--shadow-panel);
    width: 100%;
}

.legal-panel h1,
.legal-panel h2,
.legal-panel h3,
.legal-panel h4,
.legal-panel h5,
.legal-panel h6 {
    color: var(--color-ink-brown);
}

.legal-panel p,
.legal-panel li,
.legal-panel dd,
.legal-panel dt,
.legal-panel blockquote,
.legal-panel figcaption,
.legal-panel caption,
.legal-panel td {
    color: var(--color-ink-brown);
}

.legal-panel a {
    color: var(--color-umber-wood);
    text-decoration-color: var(--color-amber-glow);
}

.legal-panel a:hover {
    color: var(--color-amber-glow);
}

.legal-header {
    text-align: center;
    margin-block-end: var(--space-3);
}

.legal-header h1 {
    font-size: clamp(2rem, 4vw, var(--text-h1));
    line-height: var(--leading-h1);
    margin-block-end: var(--space-1);
}

.legal-effective-date {
    font-size: var(--text-small);
    line-height: var(--leading-small);
    color: var(--color-ink-brown);
    letter-spacing: 0.03em;
}

.legal-effective-date strong {
    font-weight: 700;
    color: var(--color-umber-wood);
}

.legal-section {
    margin-block-end: var(--space-3);
}

.legal-section:last-child {
    margin-block-end: 0;
}

.legal-section h2 {
    font-size: clamp(1.5rem, 3vw, var(--text-h2));
    line-height: var(--leading-h2);
    margin-block-end: var(--space-1);
    text-align: center;
}

.legal-section h3 {
    font-size: clamp(1.25rem, 2.5vw, var(--text-h3));
    line-height: var(--leading-h3);
    margin-block-end: var(--space-075);
    margin-block-start: var(--space-15);
}

.legal-copy {
    max-width: 68ch;
    margin-inline: auto;
    text-align: left;
}

.legal-copy > p,
.legal-copy > ul,
.legal-copy > ol,
.legal-copy > dl,
.legal-copy > .legal-callout,
.legal-copy > .legal-ip-panel {
    margin-block-end: var(--space-15);
}

.legal-copy > :last-child {
    margin-block-end: 0;
}

.legal-lead {
    font-size: var(--text-lead);
    line-height: var(--leading-lead);
}

.legal-copy .engraved-rule {
    margin-block: var(--space-15);
}

.legal-definitions {
    display: flex;
    flex-direction: column;
    gap: var(--space-15);
    margin-block-end: 0;
    padding-inline-start: 0;
}

.legal-definition-item {
    display: flex;
    flex-direction: column;
    gap: var(--space-05);
    padding-block-end: var(--space-15);
    border-bottom: 1px solid var(--color-umber-wood);
    box-shadow: var(--shadow-engraved);
}

.legal-definition-item:last-child {
    border-bottom: none;
    box-shadow: none;
    padding-block-end: 0;
}

.legal-definition-item dt {
    font-weight: 700;
    font-family: var(--font-heading);
    letter-spacing: 0.03em;
    color: var(--color-umber-wood);
    font-size: var(--text-base);
    line-height: var(--leading-base);
}

.legal-definition-item dd {
    margin-inline-start: 0;
    font-size: var(--text-base);
    line-height: var(--leading-base);
}

.legal-callout {
    background-color: rgba(57, 42, 35, 0.9);
    color: var(--color-parchment-cream);
    border-radius: var(--radius-lg);
    border-inline-start: 4px solid var(--color-amber-glow);
    padding: var(--space-15);
    margin-block-end: var(--space-15);
}

.legal-callout .callout-label {
    display: block;
    font-size: var(--text-caption);
    line-height: var(--leading-caption);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-amber-glow);
    margin-block-end: var(--space-05);
}

.legal-callout p {
    color: var(--color-soft-cream);
    margin-block-end: 0;
}

.legal-callout a {
    color: var(--color-moss-green);
}

.legal-callout a:hover {
    color: var(--color-amber-glow);
}

.legal-ip-panel {
    background-color: rgba(57, 42, 35, 0.9);
    color: var(--color-parchment-cream);
    border: 1px solid var(--color-umber-wood);
    border-radius: var(--radius-lg);
    padding: var(--space-15);
    box-shadow: var(--shadow-engraved);
    margin-block-end: var(--space-15);
}

.legal-ip-panel h3 {
    color: var(--color-parchment-cream);
    margin-block-start: 0;
    margin-block-end: var(--space-075);
}

.legal-ip-panel p {
    color: var(--color-soft-cream);
    margin-block-end: 0;
}

.legal-ip-panel a {
    color: var(--color-moss-green);
}

.legal-ip-panel a:hover {
    color: var(--color-amber-glow);
}

.legal-list {
    list-style: none;
    padding-inline-start: 0;
    margin-block-end: var(--space-15);
}

.legal-list > li {
    margin-block-end: var(--space-075);
    padding-inline-start: var(--space-15);
    position: relative;
    color: var(--color-ink-brown);
}

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

.legal-list > li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.6em;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: var(--radius-full);
    background-color: var(--color-moss-green);
}

.legal-list-amber > li::before {
    background-color: var(--color-amber-glow);
}

@media (min-width: 768px) {
    .legal-page {
        padding-inline: var(--container-padding-desktop);
        padding-block: var(--space-6);
    }

    .legal-panel {
        padding: var(--space-3);
    }
}

@media (min-width: 1024px) {
    .legal-panel {
        padding: var(--space-4);
    }
}

@media (prefers-reduced-motion: reduce) {
    .legal-page,
    .legal-panel,
    .legal-section,
    .legal-copy,
    .legal-callout,
    .legal-ip-panel {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}
