/* =========================================================
   DA-05 — TRUST JOURNEYS
   Account, newsletter, legal information and administration
   ========================================================= */

.trust-page {
    background:
        radial-gradient(circle at 92% 8%, rgb(var(--color-brand-rose-rgb) / 28%), transparent 22rem),
        var(--color-background);
}

.trust-page .page-layout__header {
    position: relative;
}

.trust-page .page-layout__header::after {
    width: var(--space-12);
    height: 1px;
    margin-top: var(--space-5);
    display: block;
    background: var(--color-brand-champagne);
    content: '';
}

.trust-page--account.page-layout--standard .page-layout__container,
.trust-page--newsletter .page-layout__container {
    width: min(100%, 54rem);
}

.trust-page--account .account-auth-shell,
.trust-page--newsletter .newsletter-form-shell {
    width: 100%;
}

.trust-page--account .account-card,
.trust-page--newsletter .newsletter-form__notice,
.trust-page--newsletter .newsletter-form,
.trust-page--newsletter .newsletter-unsubscribe {
    box-shadow: var(--shadow-brand-card);
}

.trust-page--account .account-card {
    border-color: color-mix(in srgb, var(--color-brand-champagne) 36%, var(--color-border));
}

.trust-page--account .account-form__summary,
.trust-page--newsletter .newsletter-form__summary {
    background: color-mix(in srgb, var(--color-state-error) 7%, var(--color-surface));
    border: 1px solid color-mix(in srgb, var(--color-state-error) 42%, var(--color-border));
    border-left-width: var(--space-1);
}

.trust-page--account .ui-alert,
.trust-page--newsletter .ui-alert,
.admin-shell .ui-alert {
    box-shadow: var(--shadow-sm);
}

.trust-page--account .ui-alert--info,
.admin-shell .ui-alert--info {
    background: color-mix(in srgb, var(--color-state-info) 6%, var(--color-surface));
}

.trust-page--account .ui-alert--success,
.trust-page--newsletter .ui-alert--success,
.admin-shell .ui-alert--success {
    background: color-mix(in srgb, var(--color-state-success) 6%, var(--color-surface));
}

.trust-page--account .ui-alert--warning,
.admin-shell .ui-alert--warning {
    background: color-mix(in srgb, var(--color-state-warning) 7%, var(--color-surface));
}

.trust-page--account .ui-alert--error,
.admin-shell .ui-alert--error {
    background: color-mix(in srgb, var(--color-state-error) 6%, var(--color-surface));
}

.trust-page--account .account-deletion-warning {
    background: color-mix(in srgb, var(--color-state-error) 6%, var(--color-surface));
    border-left: var(--space-1) solid var(--color-state-error);
    box-shadow: var(--shadow-sm);
}

.trust-page--account .account-card--warning {
    border-left: var(--space-1) solid var(--color-state-warning);
}

.trust-page--account .account-card--danger {
    border-left: var(--space-1) solid var(--color-state-error);
}

.trust-page--account .account-card--success {
    border-left: var(--space-1) solid var(--color-state-success);
}

.trust-page--newsletter .newsletter-form,
.trust-page--newsletter .newsletter-unsubscribe {
    padding: var(--space-6);
    background: var(--color-surface);
    border: 1px solid color-mix(in srgb, var(--color-brand-champagne) 32%, var(--color-border));
    border-radius: var(--radius-lg);
}

.trust-page--newsletter .newsletter-form__notice {
    background: color-mix(in srgb, var(--color-brand-rose) 25%, var(--color-surface));
    border-left: var(--space-1) solid var(--color-brand-champagne);
}

.trust-page--newsletter .newsletter-unsubscribe .newsletter-form__notice,
.trust-page--newsletter .newsletter-unsubscribe .newsletter-form__summary {
    box-shadow: none;
}

.trust-page--legal .page-layout__container {
    width: min(100%, var(--width-content-md));
}

.trust-page--legal .page-layout__content {
    padding: var(--space-6);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-brand-card);
}

.trust-page--legal .page-layout__content > section {
    padding-block: var(--space-6);
}

.trust-page--legal .page-layout__content > section:first-child {
    padding-top: var(--space-0);
}

.trust-page--legal .page-layout__content > section:last-child {
    padding-bottom: var(--space-0);
}

.trust-page--legal .page-layout__content > section + section {
    border-top: 1px solid var(--color-border);
}

.trust-page--legal .page-layout__content h2 {
    color: var(--color-brand-secondary);
    font-size: var(--font-size-2xl);
}

.cookie-consent-preferences {
    margin-top: var(--space-5);
    display: grid;
    gap: var(--space-5);
}

.cookie-consent-preferences fieldset {
    margin: var(--space-0);
    padding: var(--space-4);
    display: grid;
    gap: var(--space-4);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
}

.cookie-consent-preferences legend {
    padding-inline: var(--space-2);
    font-weight: var(--font-weight-semibold);
}

.cookie-consent-preferences__purpose {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: start;
    gap: var(--space-3);
}

.cookie-consent-preferences__purpose input {
    width: var(--space-5);
    height: var(--space-5);
    margin-top: var(--space-1);
}

/* Administration stays deliberately denser and less decorative. */
.admin-shell {
    background: var(--color-background);
}

.admin-shell > .page-layout__section:not(.admin-resource-list) {
    width: min(100%, var(--width-content-md));
    margin-inline: auto;
    padding: var(--space-8) var(--space-4) var(--space-12);
}

.admin-shell > .page-layout__section:not(.admin-resource-list) > form {
    margin-block: var(--space-6);
    padding: var(--space-6);
    display: grid;
    gap: var(--space-5);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
}

.admin-shell > .page-layout__section:not(.admin-resource-list) > form > div {
    display: grid;
    gap: var(--space-2);
}

.admin-shell > .page-layout__section:not(.admin-resource-list) > form label {
    font-weight: var(--font-weight-semibold);
}

.admin-shell > .page-layout__section:not(.admin-resource-list) > form input:not([type='checkbox'], [type='radio'], [type='hidden']),
.admin-shell > .page-layout__section:not(.admin-resource-list) > form select,
.admin-shell > .page-layout__section:not(.admin-resource-list) > form textarea {
    width: 100%;
    min-height: var(--size-control-comfortable);
    padding: var(--space-3) var(--space-4);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    color: var(--color-text);
    font: inherit;
}

.admin-shell > .page-layout__section:not(.admin-resource-list) > form textarea {
    min-height: var(--space-24);
    resize: vertical;
}

.admin-shell > .page-layout__section:not(.admin-resource-list) > form button[type='submit'] {
    width: fit-content;
    min-height: var(--size-control-comfortable);
    padding: var(--space-3) var(--space-5);
    background: var(--color-brand-primary);
    border: 1px solid var(--color-brand-primary);
    border-radius: var(--radius-full);
    color: var(--color-text-on-brand);
    font: inherit;
    font-weight: var(--font-weight-semibold);
    cursor: pointer;
}

.admin-shell > .page-layout__section:not(.admin-resource-list) > form button[type='submit']:hover {
    background: var(--color-action-primary-hover);
}

.admin-shell > .page-layout__section:not(.admin-resource-list) > form button[type='submit']:focus-visible,
.admin-shell .admin-resource-list__table-wrapper:focus-visible,
.admin-shell .admin-audit__table-wrapper:focus-visible {
    outline: var(--focus-ring-width) solid var(--focus-ring-color);
    outline-offset: var(--focus-ring-offset);
}

.admin-shell > .page-layout__section:not(.admin-resource-list) > form ul {
    margin: var(--space-1) var(--space-0) var(--space-0);
    padding-left: var(--space-5);
    color: var(--color-state-error);
}

.admin-shell > .page-layout__section:not(.admin-resource-list) > form figure {
    margin: var(--space-2) var(--space-0);
    padding: var(--space-4);
    background: var(--color-surface-muted);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
}

.admin-shell > .page-layout__section:not(.admin-resource-list) > form figure img {
    display: block;
    border-radius: var(--radius-sm);
}

.admin-shell > .page-layout__section:not(.admin-resource-list) > form figure figcaption {
    margin-top: var(--space-2);
    color: var(--color-text-muted);
    font-size: var(--font-size-sm);
}

.admin-shell .admin-resource-list__table-wrapper,
.admin-shell .admin-audit__table-wrapper {
    scrollbar-color: var(--color-brand-taupe) var(--color-surface-muted);
}

@media (min-width: 48rem) {
    .trust-page--legal .page-layout__content,
    .trust-page--newsletter .newsletter-form,
    .trust-page--newsletter .newsletter-unsubscribe {
        padding: var(--space-8);
    }

    .admin-shell > .page-layout__section:not(.admin-resource-list) {
        padding: var(--space-12) var(--space-8) var(--space-16);
    }
}
