/* Ninja Forms MCP Control — cuestionarios administrados. Todos los selectores están acotados a .nfmcp-questionnaire. */
.nfmcp-questionnaire {
    --nfmcp-primary: var(--wp--preset--color--primary, #2271b1);
    --nfmcp-secondary: var(--wp--preset--color--secondary, #1d2327);
    --nfmcp-text: var(--wp--preset--color--contrast, #50575e);
    --nfmcp-accent: var(--wp--preset--color--accent-1, #72aee6);
    --nfmcp-surface: #FFFFFF;
    --nfmcp-border: #D9DDE1;
    --nfmcp-radius: 10px;
    color: var(--nfmcp-text);
}

.nfmcp-questionnaire .nf-form-title h3 {
    color: var(--nfmcp-secondary);
    font-size: clamp(1.5rem, 3vw, 2rem);
    line-height: 1.2;
    margin-bottom: 1rem;
}

.nfmcp-questionnaire .nfmcp-intro,
.nfmcp-questionnaire .nfmcp-section-intro {
    border-left: 4px solid var(--nfmcp-primary);
    padding: .2rem 0 .2rem 1rem;
    margin-bottom: 1.25rem;
}

.nfmcp-questionnaire .nfmcp-privacy-notice {
    font-size: .92rem;
    color: var(--nfmcp-secondary);
}

.nfmcp-questionnaire .nf-field-label label {
    color: var(--nfmcp-secondary);
    font-weight: 600;
}

.nfmcp-questionnaire .nf-field-description,
.nfmcp-questionnaire .nf-field-description p {
    color: var(--nfmcp-text);
    line-height: 1.5;
}

.nfmcp-questionnaire input:not([type="checkbox"]):not([type="radio"]),
.nfmcp-questionnaire textarea,
.nfmcp-questionnaire select {
    border: 1px solid var(--nfmcp-border);
    border-radius: 8px;
    min-height: 46px;
    padding: .7rem .8rem;
    width: 100%;
}

.nfmcp-questionnaire textarea {
    min-height: 130px;
}

.nfmcp-questionnaire input:focus,
.nfmcp-questionnaire textarea:focus,
.nfmcp-questionnaire select:focus,
.nfmcp-questionnaire button:focus,
.nfmcp-questionnaire .nf-next:focus,
.nfmcp-questionnaire .nf-previous:focus,
.nfmcp-questionnaire input[type="button"]:focus,
.nfmcp-questionnaire input[type="submit"]:focus {
    outline: 2px solid var(--nfmcp-accent);
    outline: 3px solid color-mix(in srgb, var(--nfmcp-accent) 45%, transparent);
    outline-offset: 2px;
}

.nfmcp-questionnaire .nf-error .ninja-forms-field,
.nfmcp-questionnaire .nf-error input,
.nfmcp-questionnaire .nf-error textarea,
.nfmcp-questionnaire .nf-error select {
    border-color: var(--nfmcp-primary);
}

.nfmcp-questionnaire .nf-error-msg,
.nfmcp-questionnaire .ninja-forms-req-symbol {
    color: var(--nfmcp-primary);
}

.nfmcp-questionnaire .nf-mp-header,
.nfmcp-questionnaire .nf-breadcrumbs {
    margin-bottom: 1.25rem;
}

.nfmcp-questionnaire .nf-progress-container {
    background: #ECEFF1;
    border-radius: 999px;
    overflow: hidden;
}

.nfmcp-questionnaire .nf-progress {
    background: var(--nfmcp-accent);
}

.nfmcp-questionnaire .nf-breadcrumbs li a {
    color: var(--nfmcp-secondary);
}

.nfmcp-questionnaire .nf-breadcrumbs li.active a,
.nfmcp-questionnaire .nf-breadcrumbs li a:hover {
    color: var(--nfmcp-primary);
}

.nfmcp-questionnaire .nf-next,
.nfmcp-questionnaire .nf-previous,
.nfmcp-questionnaire input[type="button"],
.nfmcp-questionnaire input[type="submit"],
.nfmcp-questionnaire button[type="submit"] {
    border: 2px solid transparent;
    border-radius: var(--nfmcp-radius);
    cursor: pointer;
    font-weight: 700;
    min-height: 48px;
    padding: .72rem 1.2rem;
    transition: transform .12s ease, opacity .12s ease;
}

.nfmcp-questionnaire .nf-next,
.nfmcp-questionnaire input[type="submit"],
.nfmcp-questionnaire button[type="submit"] {
    background: var(--nfmcp-primary);
    color: #fff;
}

.nfmcp-questionnaire .nf-previous {
    background: var(--nfmcp-surface);
    border-color: var(--nfmcp-secondary);
    color: var(--nfmcp-secondary);
}

.nfmcp-questionnaire .nf-next:hover,
.nfmcp-questionnaire .nf-previous:hover,
.nfmcp-questionnaire input[type="submit"]:hover,
.nfmcp-questionnaire button[type="submit"]:hover {
    opacity: .9;
}

.nfmcp-questionnaire .nf-form-content .list-select-wrap > div div::after {
    color: var(--nfmcp-primary);
}

@media (max-width: 767px) {
    .nfmcp-questionnaire .nf-form-content {
        padding-left: 0;
        padding-right: 0;
    }

    .nfmcp-questionnaire .nf-breadcrumbs {
        display: none;
    }

    .nfmcp-questionnaire .nf-progress-container {
        display: block;
        margin-bottom: 1rem;
    }

    .nfmcp-questionnaire .nf-mp-footer,
    .nfmcp-questionnaire .nf-mp-footer .nf-next-previous {
        display: grid;
        gap: .75rem;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .nfmcp-questionnaire .nf-mp-footer .nf-previous,
    .nfmcp-questionnaire .nf-mp-footer .nf-next,
    .nfmcp-questionnaire input[type="submit"],
    .nfmcp-questionnaire button[type="submit"] {
        float: none;
        margin: 0;
        min-height: 52px;
        width: 100%;
    }

    .nfmcp-questionnaire .nf-mp-footer .nf-next {
        order: 1;
    }

    .nfmcp-questionnaire .nf-mp-footer .nf-previous {
        order: 2;
    }
}

/* v0.1.7 — contraste de navegación Multi-Part.
 * Layout & Styles / Multi-Part puede cargar opiniones visuales con combinaciones
 * de fondo y texto de bajo contraste. Estos overrides permanecen acotados a
 * cuestionarios administrados por NFMCP.
 */
.nfmcp-questionnaire .nf-form-content .nf-mp-header .nf-breadcrumbs li > a.nf-breadcrumb {
    background: var(--nfmcp-secondary) !important;
    border: 2px solid var(--nfmcp-secondary) !important;
    border-radius: 8px;
    color: #FFFFFF !important;
    font-weight: 600;
    line-height: 1.35;
    opacity: 1 !important;
    text-decoration: none !important;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease, transform .15s ease;
}

.nfmcp-questionnaire .nf-form-content .nf-mp-header .nf-breadcrumbs li:not(.active):not(.errors) > a.nf-breadcrumb:hover {
    background: var(--nfmcp-accent) !important;
    border-color: var(--nfmcp-accent) !important;
    color: #222222 !important;
    opacity: 1 !important;
}

.nfmcp-questionnaire .nf-form-content .nf-mp-header .nf-breadcrumbs li.active > a.nf-breadcrumb,
.nfmcp-questionnaire .nf-form-content .nf-mp-header .nf-breadcrumbs li.active > a.nf-breadcrumb:hover {
    background: var(--nfmcp-primary) !important;
    border-color: var(--nfmcp-primary) !important;
    color: #FFFFFF !important;
    cursor: default;
    font-weight: 700;
    opacity: 1 !important;
}

.nfmcp-questionnaire .nf-form-content .nf-mp-header .nf-breadcrumbs li.errors > a.nf-breadcrumb {
    background: #B42318 !important;
    border-color: #B42318 !important;
    color: #FFFFFF !important;
    opacity: 1 !important;
}

.nfmcp-questionnaire .nf-form-content .nf-mp-header .nf-breadcrumbs li > a.nf-breadcrumb:focus-visible {
    outline: 3px solid var(--nfmcp-accent) !important;
    outline-offset: 3px;
}

/* Navegación inferior: contraste consistente aunque Layout & Styles aplique skin. */
.nfmcp-questionnaire .nf-form-content .nf-next-previous .nf-next,
.nfmcp-questionnaire .nf-form-content input[type="submit"],
.nfmcp-questionnaire .nf-form-content button[type="submit"] {
    background: var(--nfmcp-primary) !important;
    border-color: var(--nfmcp-primary) !important;
    color: #FFFFFF !important;
    opacity: 1 !important;
}

.nfmcp-questionnaire .nf-form-content .nf-next-previous .nf-next:hover,
.nfmcp-questionnaire .nf-form-content input[type="submit"]:hover,
.nfmcp-questionnaire .nf-form-content button[type="submit"]:hover {
    background: #B92A5E !important;
    border-color: #B92A5E !important;
    color: #FFFFFF !important;
    opacity: 1 !important;
}

.nfmcp-questionnaire .nf-form-content .nf-next-previous .nf-previous {
    background: #FFFFFF !important;
    border-color: var(--nfmcp-secondary) !important;
    color: var(--nfmcp-secondary) !important;
    opacity: 1 !important;
}

.nfmcp-questionnaire .nf-form-content .nf-next-previous .nf-previous:hover {
    background: var(--nfmcp-secondary) !important;
    border-color: var(--nfmcp-secondary) !important;
    color: #FFFFFF !important;
    opacity: 1 !important;
}

@media (max-width: 767px) {
    .nfmcp-questionnaire .nf-form-content .nf-next-previous .nf-next,
    .nfmcp-questionnaire .nf-form-content .nf-next-previous .nf-previous,
    .nfmcp-questionnaire .nf-form-content input[type="submit"],
    .nfmcp-questionnaire .nf-form-content button[type="submit"] {
        font-size: 1rem;
        min-height: 52px;
    }
}
