/* Page-owned styles for Terms and Conditions */

.terms-page {
    width: 100%;
    max-width: var(--container-max);
    margin-inline: auto;
    padding-inline: var(--container-pad-mobile);
    padding-block: var(--space-xl);
}

@media (min-width: 768px) {
    .terms-page {
        padding-inline: var(--container-pad-desktop);
        padding-block: var(--space-2xl);
    }
}

/* Hero / Terms of Use */
.terms-hero {
    margin-block-end: var(--space-xl);
}

.terms-hero__inner {
    max-width: 720px;
    margin-inline: auto;
    text-align: left;
}

.terms-hero__inner .label-accent {
    margin-block-end: var(--space-sm);
}

.terms-hero__inner h1 {
    margin-block-end: var(--space-md);
}

.terms-hero__date {
    font-size: var(--text-small);
    color: var(--color-ivory-muted);
    margin-block-end: var(--space-md);
}

.terms-hero__date strong {
    color: var(--color-antique-gold);
    font-weight: 600;
}

.terms-hero__lead {
    max-width: 65ch;
    margin-block-end: var(--space-md);
}

.terms-hero__list {
    margin-block-end: 0;
    padding-inline-start: var(--space-lg);
}

/* Section base */
.terms-section {
    margin-block-end: var(--space-xl);
}

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

.terms-section__inner {
    max-width: 720px;
}

.terms-section__inner--text {
    max-width: 720px;
    margin-inline: 0;
}

.terms-section__inner--text h2 {
    margin-block-end: var(--space-md);
}

.terms-section__inner--text p {
    max-width: 70ch;
    margin-block-end: var(--space-md);
}

.terms-section__inner--text ul {
    max-width: 70ch;
    margin-block-end: var(--space-md);
    padding-inline-start: var(--space-lg);
}

.terms-section__inner--text ul:last-child {
    margin-block-end: 0;
}

/* Disclaimer panel */
.terms-section--disclaimer .terms-section__inner--disclaimer {
    max-width: 800px;
    margin-inline: auto;
    text-align: center;
}

.terms-section--disclaimer h2 {
    margin-block-end: var(--space-md);
    text-align: center;
}

.terms-disclaimer-panel {
    background: rgba(45, 27, 46, 0.5);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(201, 162, 39, 0.3);
    border-radius: var(--radius-lg);
    padding: var(--space-lg);
    box-shadow: var(--shadow-soft);
    text-align: center;
}

.terms-disclaimer-panel__text {
    max-width: 60ch;
    margin-inline: auto;
    margin-block-end: var(--space-md);
    font-size: 1.125rem;
    line-height: 1.5;
    color: var(--color-soft-ivory);
}

.terms-disclaimer-panel__support {
    max-width: 60ch;
    margin-inline: auto;
    margin-block-end: 0;
    color: var(--color-ivory-muted);
}

/* External link icon */
.terms-external-link {
    margin-block-start: var(--space-md);
}

.terms-external-icon {
    font-size: 0.8em;
    margin-inline-start: var(--space-xs);
    color: var(--color-antique-gold);
}

/* Contact panel */
.terms-section__inner--contact {
    max-width: 600px;
    margin-inline: 0;
}

.terms-section__inner--contact h2 {
    margin-block-end: var(--space-md);
}

.terms-section__inner--contact > p {
    max-width: 70ch;
    margin-block-end: var(--space-md);
}

.terms-contact-panel {
    background: rgba(45, 27, 46, 0.35);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(201, 162, 39, 0.3);
    border-radius: var(--radius-lg);
    padding: var(--space-lg);
    box-shadow: var(--shadow-soft);
}

.terms-contact-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.terms-contact-item {
    display: flex;
    align-items: flex-start;
    gap: var(--space-md);
    min-width: 0;
}

.terms-contact-icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--color-antique-gold);
    font-size: 1.25rem;
    line-height: 1;
}

.terms-contact-item a,
.terms-contact-item span:not(.terms-contact-icon) {
    min-width: 0;
    overflow-wrap: anywhere;
    color: var(--color-soft-ivory);
}

.terms-contact-item a:hover {
    color: var(--color-antique-gold);
}

/* Responsive adjustments */
@media (max-width: 767px) {
    .terms-page {
        padding-block: var(--space-lg);
    }

    .terms-hero {
        margin-block-end: var(--space-lg);
    }

    .terms-hero__inner {
        max-width: 100%;
    }

    .terms-hero__lead {
        max-width: 100%;
    }

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

    .terms-section__inner,
    .terms-section__inner--text,
    .terms-section__inner--contact {
        max-width: 100%;
        margin-inline: 0;
    }

    .terms-section--disclaimer .terms-section__inner--disclaimer {
        max-width: 100%;
        margin-inline: 0;
        text-align: left;
    }

    .terms-section--disclaimer h2 {
        text-align: left;
    }

    .terms-disclaimer-panel {
        padding: var(--space-md);
        text-align: left;
    }

    .terms-disclaimer-panel__text,
    .terms-disclaimer-panel__support {
        max-width: 100%;
        margin-inline: 0;
    }

    .terms-contact-panel {
        padding: var(--space-md);
    }
}

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