/**
 * Section: form_section
 * Auto-enqueued by functions.php when the layout is used on a page.
 * Palette: use only tokens / hexes documented in PALETTE.md.
 */

.lnp-site .lnp-section-form-section {
    padding: 96px 0;
}

.lnp-site .lnp-section-form-section__inner {
    max-width: 1290px;
    margin: 0 auto;
    padding: 0 24px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 48px;
}

/* Copy column */
.lnp-site .lnp-section-form-section__content {
    flex: 1 1 320px;
    min-width: 0;
}

.lnp-site .lnp-section-form-section__eyebrow {
    margin: 0 0 8px;
    font-size: 14px;
    font-style: italic;
    color: var(--muted);
}

.lnp-site .lnp-section-form-section__heading {
    margin: 0;
    font-weight: 700;
    font-size: clamp(30px, 3.5vw, 44px); /* had no size → fell back to small global h2; match the CTA/newsletter display headings */
    line-height: 1.1;
    color: var(--head);
}

.lnp-site .lnp-section-form-section__divider {
    display: block;
    width: 64px;
    height: 4px; /* match the CTA-band / newsletter gold rule (was 2px) */
    margin: 16px 0 24px;
    background: var(--gold);
}

.lnp-site .lnp-section-form-section__body {
    color: var(--ink);
    line-height: 1.5;
}

.lnp-site .lnp-section-form-section__body > *:first-child { margin-top: 0; }
.lnp-site .lnp-section-form-section__body > *:last-child { margin-bottom: 0; }

/* CTA button — gold fill, squared corners (brand) */
.lnp-site .lnp-section-form-section__cta {
    display: inline-block;
    margin-top: 24px;
    padding: 14px 28px;
    background: var(--gold);
    color: var(--ink);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 14px;
    text-decoration: none;
    border-radius: 0;
    transition: background-color 0.15s ease;
}

.lnp-site .lnp-section-form-section__cta:hover,
.lnp-site .lnp-section-form-section__cta:focus {
    background: var(--gold-dark);
}

/* Media / form column */
.lnp-site .lnp-section-form-section__media {
    flex: 1 1 380px;
    min-width: 0;
}

.lnp-site .lnp-section-form-section__media img {
    display: block;
    width: 100%;
    height: auto;
}

.lnp-site .lnp-section-form-section__embed iframe {
    display: block;
    width: 100%;
    border: 0;
}

/* Embedded Kadence form — brand styling, scoped to the section.
   Selectors are element-based / stable Kadence structural classes so they
   hold regardless of the form's internal field markup. */

/* Collapse the form's internal Kadence columns to a single stacked column */
.lnp-site .lnp-section-form-section__form .kt-row-column-wrap {
    display: grid;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 0 !important;
}
.lnp-site .lnp-section-form-section__form .wp-block-kadence-column {
    width: 100%;
}

/* Labels */
.lnp-site .lnp-section-form-section__form label {
    display: block;
    margin: 0 0 6px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--ink);
}

/* Fields */
.lnp-site .lnp-section-form-section__form input,
.lnp-site .lnp-section-form-section__form textarea {
    width: 100%;
    box-sizing: border-box;
    margin: 0 0 18px;
    padding: 12px 14px;
    background: var(--panel);
    border: 1px solid var(--line);
    border-radius: 0;
    color: var(--ink);
    font-size: 15px;
    line-height: 1.4;
}
.lnp-site .lnp-section-form-section__form input:focus,
.lnp-site .lnp-section-form-section__form textarea:focus {
    outline: none;
    border-color: var(--navy);
}
.lnp-site .lnp-section-form-section__form .kb-field-help {
    display: block;
    margin: -12px 0 18px;
    font-size: 13px;
    color: var(--muted);
}

/* Submit — solid gold brand button (overrides Kadence's outline default) */
.lnp-site .lnp-section-form-section__form button,
.lnp-site .lnp-section-form-section__form .kb-forms-submit,
.lnp-site .lnp-section-form-section__form input[type="submit"] {
    display: inline-block;
    width: auto;
    margin: 4px 0 0;
    padding: 14px 28px;
    background: var(--gold);
    border: 0;
    border-radius: 0;
    color: var(--ink);
    font-weight: 700;
    font-size: 14px;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color 0.15s ease;
}
.lnp-site .lnp-section-form-section__form button:hover,
.lnp-site .lnp-section-form-section__form .kb-forms-submit:hover,
.lnp-site .lnp-section-form-section__form input[type="submit"]:hover {
    background: var(--gold-dark);
}

/* Form/media on the left (desktop) */
@media (min-width: 782px) {
    .lnp-site .lnp-section-form-section--media-left .lnp-section-form-section__content {
        order: 2;
    }
    .lnp-site .lnp-section-form-section--media-left .lnp-section-form-section__media {
        order: 1;
    }
}

/* Background variants (mirrors cta_band pattern) */
.lnp-site .lnp-section-form-section--white {
    background: var(--panel);
}

.lnp-site .lnp-section-form-section--navy {
    background: var(--navy);
}

.lnp-site .lnp-section-form-section--dark {
    background: #2B2723; /* Charcoal — documented section-bg preset (PALETTE.md) */
}

.lnp-site .lnp-section-form-section--gold {
    background: var(--gold);
}

/* Text colors on dark bands */
.lnp-site .lnp-section-form-section--navy .lnp-section-form-section__heading,
.lnp-site .lnp-section-form-section--dark .lnp-section-form-section__heading,
.lnp-site .lnp-section-form-section--navy .lnp-section-form-section__body,
.lnp-site .lnp-section-form-section--dark .lnp-section-form-section__body,
.lnp-site .lnp-section-form-section--navy .lnp-section-form-section__eyebrow,
.lnp-site .lnp-section-form-section--dark .lnp-section-form-section__eyebrow {
    color: #F5F5F5; /* off-white — allowed for text on dark fields (PALETTE.md) */
}

/* Text colors on gold band */
.lnp-site .lnp-section-form-section--gold .lnp-section-form-section__heading,
.lnp-site .lnp-section-form-section--gold .lnp-section-form-section__body {
    color: var(--ink);
}

.lnp-site .lnp-section-form-section--gold .lnp-section-form-section__divider {
    background: var(--navy);
}

/* Stack on mobile */
@media (max-width: 781px) {
    .lnp-site .lnp-section-form-section {
        padding: 56px 0;
    }
    .lnp-site .lnp-section-form-section__inner {
        gap: 32px;
    }
}
