/* Page-owned styles for Conditions Générales */
.conditions-page {
    background-color: var(--color-ivory);
    padding-block: var(--space-7);
}

.conditions-container {
    max-width: 800px;
    margin-inline: auto;
    padding-inline: var(--space-4);
}

.conditions-header {
    margin-block-end: var(--space-6);
    border-block-end: 1px solid var(--color-gold);
    padding-block-end: var(--space-4);
}

.conditions-kicker {
    font-family: var(--font-heading);
    font-style: italic;
    font-size: var(--text-small);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-gold);
    margin-block-end: var(--space-2);
}

.conditions-header h1 {
    font-size: var(--text-h1);
    line-height: var(--leading-h1);
    color: var(--color-bordeaux);
    margin-block-end: var(--space-2);
}

.conditions-effective {
    font-size: var(--text-small);
    line-height: var(--leading-small);
    color: var(--color-walnut);
    margin-block-end: 0;
}

.conditions-section {
    margin-block-end: var(--space-6);
}

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

.conditions-section h2 {
    font-size: var(--text-h2);
    line-height: var(--leading-h2);
    color: var(--color-bordeaux);
    margin-block-end: var(--space-4);
    padding-block-end: var(--space-2);
    border-block-end: 1px solid var(--color-gold);
}

.conditions-copy {
    max-width: 75ch;
    margin-inline: 0;
    text-align: left;
}

.conditions-copy h3 {
    font-size: var(--text-h3);
    line-height: var(--leading-h3);
    color: var(--color-bordeaux);
    margin-block-start: var(--space-4);
    margin-block-end: var(--space-3);
}

.conditions-copy h3:first-child {
    margin-block-start: 0;
}

.conditions-copy p {
    font-size: var(--text-body);
    line-height: var(--leading-body);
    color: var(--color-walnut);
    margin-block-end: var(--space-3);
}

.conditions-copy p:last-child {
    margin-block-end: 0;
}

.conditions-copy ul {
    margin-block-end: var(--space-3);
    padding-inline-start: var(--space-4);
}

.conditions-copy ul:last-child {
    margin-block-end: 0;
}

.conditions-copy li {
    margin-block-end: var(--space-2);
}

.conditions-copy li:last-child {
    margin-block-end: 0;
}

.conditions-copy a {
    color: var(--color-bordeaux);
    text-decoration: underline;
    text-decoration-color: transparent;
    transition: text-decoration-color var(--transition-fast), color var(--transition-fast);
}

.conditions-copy a:hover {
    color: var(--color-bordeaux-dark);
    text-decoration-color: var(--color-gold);
}

.conditions-note,
.conditions-highlight,
.conditions-warning,
.conditions-recap {
    background-color: var(--color-cream);
    border: 1px solid var(--color-bordeaux);
    border-radius: var(--radius-card);
    padding: var(--space-3);
    margin-block: var(--space-3);
}

.conditions-highlight,
.conditions-warning {
    border-color: var(--color-gold);
}

.conditions-note p,
.conditions-highlight p,
.conditions-warning p,
.conditions-recap p {
    margin-block-end: var(--space-2);
}

.conditions-note p:last-child,
.conditions-highlight p:last-child,
.conditions-warning p:last-child,
.conditions-recap p:last-child {
    margin-block-end: 0;
}

.conditions-recap ul {
    margin-block-end: 0;
    padding-inline-start: var(--space-4);
}

.conditions-recap li {
    margin-block-end: var(--space-2);
}

.conditions-recap li:last-child {
    margin-block-end: 0;
}

.conditions-contact-card {
    background-color: var(--color-cream);
    border: 1px solid var(--color-bordeaux);
    border-radius: var(--radius-card);
    padding: var(--space-4);
    margin-block-start: var(--space-3);
}

.conditions-contact-list {
    list-style: none;
    padding-inline-start: 0;
    margin-block-end: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.conditions-contact-list li {
    display: flex;
    align-items: flex-start;
    gap: var(--space-2);
    margin-block-end: 0;
}

.conditions-contact-icon {
    flex-shrink: 0;
    font-size: var(--text-body);
    line-height: var(--leading-body);
}

@media (max-width: 768px) {
    .conditions-page {
        padding-block: var(--space-6);
    }

    .conditions-container {
        padding-inline: var(--space-3);
    }

    .conditions-header {
        margin-block-end: var(--space-5);
    }

    .conditions-section {
        margin-block-end: var(--space-5);
    }

    .conditions-copy {
        max-width: 100%;
    }

    .conditions-contact-card {
        padding: var(--space-3);
    }
}

@media (max-width: 480px) {
    .conditions-page {
        padding-block: var(--space-5);
    }

    .conditions-header h1 {
        font-size: var(--text-h2);
        line-height: var(--leading-h2);
    }

    .conditions-section h2 {
        font-size: var(--text-h3);
        line-height: var(--leading-h3);
    }

    .conditions-copy h3 {
        font-size: var(--text-body);
        line-height: var(--leading-body);
    }

    .conditions-contact-list li {
        flex-wrap: wrap;
    }
}
