/* Clients and Contact presentation layered on the internal-page design system. */

.jlb-clients-page .jlb-internal-page__content > section:first-child::after { content: "CLIENTES"; }
.jlb-contact-page .jlb-internal-page__content > section:first-child::after { content: "CONTACTO"; }

.jlb-clients-page .jlb-internal-page__content > section:last-child,
.jlb-contact-page .jlb-internal-page__content > section:last-child {
    background: var(--jlb-navy) !important;
    color: var(--jlb-white) !important;
}

.jlb-clients-page .jlb-internal-page__content > section:last-child h2,
.jlb-contact-page .jlb-internal-page__content > section:last-child h2 {
    color: var(--jlb-white) !important;
}

.jlb-clients-page .jlb-internal-page__content > section:last-child > p,
.jlb-contact-page .jlb-internal-page__content > section:last-child > p {
    color: rgba(255, 255, 255, 0.78) !important;
}

.jlb-contact-page .jlb-internal-page__content > section:last-child a { color: var(--jlb-white); }

.jlb-contact-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 2rem;
}

.jlb-contact-card {
    margin: 0;
    padding: clamp(1.4rem, 2.5vw, 2rem);
    border: 1px solid var(--jlb-line);
    border-radius: 6px;
    background: var(--jlb-white);
    font-style: normal;
}

.jlb-contact-card h3 { margin-top: 0; }
.jlb-contact-card p:last-child,
.jlb-contact-card ul:last-child { margin-bottom: 0; }

.jlb-contact-form-section { background: var(--jlb-soft) !important; }

.jlb-contact-form {
    max-width: 860px;
    margin-top: 2rem;
    padding: clamp(1.25rem, 3vw, 2.25rem);
    border: 1px solid var(--jlb-line);
    border-radius: 6px;
    background: var(--jlb-white);
}

.jlb-contact-form .wpcf7-form p { margin-bottom: 1rem; }
.jlb-contact-form .wpcf7-form label { display: block; font-weight: 700; }

.jlb-contact-form .wpcf7-form input:not([type="submit"]),
.jlb-contact-form .wpcf7-form textarea,
.jlb-contact-form .wpcf7-form select {
    width: 100%;
    max-width: none;
    margin-top: 0.45rem;
    border: 1px solid #c9d1d8;
    border-radius: 4px;
    background: #fff;
}

.jlb-contact-form .wpcf7-form input[type="submit"] {
    min-height: 48px;
    padding: 0.8rem 1.25rem;
    border: 1px solid var(--jlb-navy);
    border-radius: 4px;
    background: var(--jlb-navy);
    color: var(--jlb-white);
    font-weight: 700;
    cursor: pointer;
}

@media (min-width: 1024px) {
    .jlb-clients-page .jlb-internal-shell,
    .jlb-contact-page .jlb-internal-shell {
        width: min(100% - 5rem, 1400px);
    }

    .jlb-clients-page .jlb-internal-page__content > section,
    .jlb-clients-page .jlb-internal-page__content > section:nth-child(odd):not(:first-child),
    .jlb-clients-page .jlb-internal-page__content > section:first-child,
    .jlb-clients-page .jlb-internal-page__content > section:last-child,
    .jlb-contact-page .jlb-internal-page__content > section,
    .jlb-contact-page .jlb-internal-page__content > section:nth-child(odd):not(:first-child),
    .jlb-contact-page .jlb-internal-page__content > section:first-child,
    .jlb-contact-page .jlb-internal-page__content > section:last-child {
        width: 100%;
        max-width: none;
        margin-inline: 0;
        padding-inline: max(2.5rem, calc((100vw - 1400px) / 2));
    }

    .jlb-clients-page .jlb-internal-page__content > section:first-child > *,
    .jlb-contact-page .jlb-internal-page__content > section:first-child > * { max-width: 920px; }

    .jlb-clients-page .jlb-internal-page__content > section.jlb-split,
    .jlb-contact-page .jlb-internal-page__content > section.jlb-split {
        display: grid;
        grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.28fr);
        column-gap: clamp(3rem, 6vw, 7rem);
        align-items: start;
    }

    .jlb-clients-page .jlb-internal-page__content > section.jlb-split > h2,
    .jlb-contact-page .jlb-internal-page__content > section.jlb-split > h2 {
        grid-column: 1;
        grid-row: 1 / span 20;
        max-width: 13ch;
        margin-bottom: 0;
    }

    .jlb-clients-page .jlb-internal-page__content > section.jlb-split > :not(h2),
    .jlb-contact-page .jlb-internal-page__content > section.jlb-split > :not(h2) {
        grid-column: 2;
        max-width: 820px;
    }
}

@media (max-width: 900px) {
    .jlb-contact-grid { grid-template-columns: 1fr; }
}
