/* =========================================================
   LeCorch Photo · Contacto · Footer Hablemos compacto centered
   ========================================================= */

@layer plugins {

    /* ===== FOOTER CTA · HABLEMOS (centered max-width 1280) ===== */

    .fp-footer-cta {
        background: var(--color-fondo);
        padding: var(--sp-section-y) var(--sp-lateral) clamp(56px, 7vw, 96px);
        border-top: 1px solid color-mix(in srgb, var(--color-linea) 60%, transparent);
    }
    .fp-footer-cta__inner {
        max-width: 1280px;
        margin: 0 auto;
    }
    .fp-footer-cta__top {
        margin-bottom: clamp(48px, 6vw, 80px);
        max-width: 720px;
    }
    .fp-footer-cta__title {
        font-size: clamp(48px, 6vw, 96px);
        font-weight: var(--peso-bold);
        letter-spacing: -0.025em;
        line-height: 1;
        color: var(--color-tinta);
        margin: 0 0 14px;
    }
    .fp-footer-cta__lead {
        font-size: var(--fs-lead);
        color: var(--color-tinta-secundaria);
        font-weight: var(--peso-light);
        max-width: 32ch;
        margin: 0;
    }

    .fp-footer-cta__grid {
        display: grid;
        grid-template-columns: 1.6fr 1fr;
        gap: clamp(40px, 6vw, 120px);
        align-items: start;
    }
    .fp-footer-cta__form-col { width: 100%; }

    .fp-footer-cta__info {
        display: grid;
        grid-template-columns: 1fr;
        gap: 18px;
    }
    .fp-footer-cta__info-item { padding: 0; }
    .fp-footer-cta__info-label {
        font-family: var(--font);
        font-size: var(--fs-eyebrow);
        text-transform: uppercase;
        letter-spacing: 0.22em;
        color: var(--color-tinta-secundaria);
        font-weight: var(--peso-medium);
        margin: 0 0 4px;
    }
    .fp-footer-cta__info-item a,
    .fp-footer-cta__info-item span {
        font-family: var(--font);
        font-size: clamp(17px, 1.2vw, 20px);
        color: var(--color-tinta);
        font-weight: var(--peso-regular);
        text-decoration: none;
        transition: color var(--d-fast) var(--ease);
        display: inline-block;
    }
    .fp-footer-cta__info-item a {
        text-decoration: underline;
        text-decoration-thickness: 1px;
        text-underline-offset: 4px;
        text-decoration-color: color-mix(in srgb, var(--color-tinta) 40%, transparent);
    }
    .fp-footer-cta__info-item a:hover {
        color: var(--color-oceano);
        text-decoration-color: currentColor;
    }

    @media (max-width: 900px) {
        .fp-footer-cta__grid {
            grid-template-columns: 1fr;
            gap: clamp(40px, 6vw, 60px);
        }
    }

    /* ===== FORM (contacto + footer-cta) ===== */

    .fp-contact-form,
    .form {
        width: 100%;
        max-width: 100%;
        display: flex;
        flex-direction: column;
        gap: 28px;
    }
    .fp-contact-form__row,
    .form__row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 24px;
    }
    .fp-contact-form__field,
    .form__field {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }
    .fp-contact-form__label,
    .form__label {
        font-family: var(--font);
        font-size: var(--fs-eyebrow);
        font-weight: var(--peso-medium);
        text-transform: uppercase;
        letter-spacing: 0.2em;
        color: var(--color-tinta-secundaria);
    }
    .fp-contact-form input,
    .fp-contact-form textarea,
    .fp-contact-form select,
    .form input,
    .form textarea,
    .form select {
        width: 100%;
        padding: 10px 0;
        font-family: var(--font);
        font-size: var(--fs-body);
        font-weight: var(--peso-light);
        color: var(--color-tinta);
        background: transparent;
        border: 0;
        border-bottom: 1px solid var(--color-linea);
        border-radius: 0;
        transition: border-color var(--d-fast) var(--ease);
    }
    .fp-contact-form input:focus,
    .fp-contact-form textarea:focus,
    .fp-contact-form select:focus,
    .form input:focus,
    .form textarea:focus,
    .form select:focus {
        border-bottom-color: var(--color-oceano);
        outline: none;
    }
    .fp-contact-form textarea,
    .form textarea {
        resize: vertical;
        min-height: 100px;
    }
    .fp-contact-form input::placeholder,
    .fp-contact-form textarea::placeholder,
    .form input::placeholder,
    .form textarea::placeholder {
        color: var(--color-tinta-secundaria);
        opacity: 0.5;
        font-weight: var(--peso-light);
    }
    .fp-contact-form select,
    .form select {
        appearance: none;
        -webkit-appearance: none;
        background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1.5l5 5 5-5' stroke='%231F2A36' stroke-width='1.5' fill='none'/></svg>");
        background-repeat: no-repeat;
        background-position: right 4px center;
        cursor: pointer;
        padding-right: 24px;
    }
    .fp-contact-form__honeypot {
        position: absolute;
        left: -9999px;
        top: -9999px;
        opacity: 0;
        pointer-events: none;
    }
    .fp-contact-form__actions,
    .form__actions {
        display: flex;
        justify-content: flex-end;
    }
    .fp-contact-form__feedback {
        min-height: 1.5em;
        font-size: var(--fs-small);
        color: var(--color-tinta-secundaria);
    }
    .fp-contact-form__feedback.is-success {
        color: var(--color-oceano);
    }
    .fp-contact-form__feedback.is-error {
        color: #C9342C;
    }

    /* Página /contacto/ standalone */
    .fp-contact-page {
        padding-top: calc(var(--header-height) + clamp(48px, 6vw, 96px));
    }
    .fp-contact__layout {
        display: grid;
        grid-template-columns: 1.5fr 1fr;
        gap: clamp(40px, 5vw, 96px);
        max-width: 1280px;
        margin: 0 auto;
    }
    .fp-contact__form-wrap {
        max-width: 640px;
    }
    .fp-contact__direct {
        display: flex;
        flex-direction: column;
        gap: 24px;
    }
    .fp-contact__direct-label {
        font-family: var(--font);
        display: block;
        font-size: var(--fs-eyebrow);
        font-weight: var(--peso-medium);
        text-transform: uppercase;
        letter-spacing: 0.2em;
        color: var(--color-tinta-secundaria);
        margin-bottom: 4px;
    }
    .fp-contact__direct a {
        font-family: var(--font);
        font-size: var(--fs-h5);
        font-weight: var(--peso-regular);
    }

    @media (max-width: 768px) {
        .fp-contact-form__row,
        .form__row {
            grid-template-columns: 1fr;
        }
        .fp-contact__layout {
            grid-template-columns: 1fr;
        }
    }

}
