/* ===== SITE-FOOTER ===== */
.site-footer {
    background: var(--color-ink);
    color: #dfe4f0;
    padding-block: var(--space-2xl) var(--space-l);
}

.site-footer__grid {
    display: grid;
    gap: var(--space-l);
}

.site-footer__mark {
    color: var(--color-paper);
    font-family: var(--font-display);
    font-size: 1.5rem;
}

.site-footer__lede {
    color: #b7c0dc;
    margin-top: var(--space-s);
    max-width: 22rem;
}

.site-footer__heading {
    color: #b7c0dc;
    font-size: 0.8125rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.site-footer__list {
    display: grid;
    gap: var(--space-xs);
    margin-top: var(--space-s);
}

.site-footer__list a {
    color: #dfe4f0;
    font-size: 0.9375rem;
    text-decoration: none;
}

.site-footer__list a:hover {
    text-decoration: underline;
}

.site-footer__bottom {
    border-top: var(--line-hairline) solid #2a3a63;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-s);
    justify-content: space-between;
    margin-top: var(--space-xl);
    padding-top: var(--space-m);
}

.site-footer__legal {
    color: #8b96b8;
    font-size: 0.8125rem;
}

/* ===== GDPR NOTICE ===== */
.gdpr-notice {
    background: var(--color-ink);
    border-top: var(--line-hairline) solid var(--color-amber);
    bottom: 0;
    color: var(--color-paper);
    display: none;
    inset-inline: 0;
    padding: var(--space-m);
    position: fixed;
    z-index: 997;
}

.gdpr-notice.is-visible {
    display: block;
}

.gdpr-notice__inner {
    align-items: center;
    display: grid;
    gap: var(--space-m);
    margin-inline: auto;
    max-width: var(--container-w);
}

.gdpr-notice__text {
    font-size: 0.875rem;
    margin: 0;
}

.gdpr-notice__text a {
    color: var(--color-amber);
}

.gdpr-notice__actions {
    display: flex;
    gap: var(--space-s);
}

/* ===== 404 ===== */
.error-block {
    padding-block: var(--space-2xl);
    text-align: left;
}

.error-block__code {
    color: var(--color-amber-deep);
    font-family: var(--font-display);
    font-size: clamp(4rem, 3rem + 6vw, 9rem);
    font-weight: 700;
    line-height: 1;
}

.error-block__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-s);
    margin-top: var(--space-l);
}

/* ===== GRACIAS ===== */
.thanks-block {
    padding-block: var(--space-2xl);
}

.thanks-block__steps {
    border-top: var(--line-hairline) solid var(--color-line);
    display: grid;
    gap: var(--space-m);
    margin-top: var(--space-xl);
}

.thanks-block__step {
    border-bottom: var(--line-hairline) solid var(--color-line);
    padding-block: var(--space-m);
}

.thanks-block__step-num {
    color: var(--color-amber-deep);
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 700;
}

/* ===== REVEAL (owned by js/reveal.7e61.js) ===== */
.js-reveal {
    opacity: 1;
    transform: none;
}

.js-armed .js-reveal {
    opacity: 0;
    transform: translateY(1rem);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.js-armed .js-reveal.is-visible {
    opacity: 1;
    transform: none;
}

@media (prefers-reduced-motion: reduce) {
    .js-armed .js-reveal {
        transition: none;
    }
}

/* ===== COUNTER ===== */
.counter {
    font-variant-numeric: tabular-nums;
}

@media (min-width: 48em) {
    .site-footer__grid {
        grid-template-columns: 1.6fr 1fr 1fr 1fr;
    }
}

/* ===== PRINT ===== */
@media print {
    .global-header,
    .gdpr-notice,
    .nav-panel,
    .site-footer {
        display: none;
    }
}

/* ===== LARGE DESKTOP (empty on purpose, reserved for future refinement) ===== */
@media (min-width: 100em) {
    .wrap {
        max-width: var(--container-w);
    }
}

/* mezcla intencional de mayusculas en un color de acento secundario */
.request-form__status[data-state='error'] {
    color: #A3271F;
}
