﻿/* Enlace superior de retorno */
.apolo-back-link {
    color: var(--apolo-color-success, #198754);
    font-size: var(--apolo-text-sm, 13px);
    font-weight: var(--apolo-font-medium, 500);
}

    .apolo-back-link:hover {
        color: var(--apolo-color-success-dark, #0F5132);
    }

/* Cabecera */
.apolo-company-badge {
    width: 48px;
    height: 48px;
    border-radius: var(--apolo-radius-full, 9999px);
    background-color: var(--apolo-color-success-light, #D1E7DD);
    color: var(--apolo-color-success, #198754);
    display: flex;
    align-items: center;
    justify-content: center;
}

.apolo-company-title {
    font-size: var(--apolo-text-2xl, 24px);
    font-weight: var(--apolo-font-bold, 700);
    color: var(--apolo-n900, #0F1923);
}

.apolo-company-subtitle {
    font-size: var(--apolo-text-sm, 13px);
}

.apolo-confidential-tag {
    color: var(--apolo-color-success);
    font-size: var(--apolo-text-xs, 11px);
    font-weight: var(--apolo-font-medium, 500);
}

.apolo-header-btn {
    border-radius: var(--apolo-radius-md, 6px);
    border-color: var(--apolo-border-color, #CCD8E2);
    color: var(--apolo-text-color-primary, #0F1923);
    font-size: var(--apolo-text-xs, 12px);
    font-weight: var(--apolo-font-medium, 500);
}

/* Tarjeta de Formulario */
.apolo-form-card {
    border-radius: var(--apolo-radius-xl, 12px);
    background-color: var(--apolo-surface-card, #FFFFFF);
}

.apolo-field-label {
    font-size: var(--apolo-text-sm, 13px);
}

.apolo-field-hint {
    font-size: var(--apolo-text-xs, 11px);
}

/* Tarjetas de Validación */
.apolo-validation-card {
    border-radius: var(--apolo-radius-lg, 8px);
    background-color: var(--apolo-surface-card, #FFFFFF);
    border: 1px solid var(--apolo-border-color-subtle, #E4ECF2);
    transition: border-color 150ms ease, box-shadow 150ms ease;
}

.apolo-validation-card--active {
    border-color: var(--apolo-border-color, #CCD8E2);
    box-shadow: var(--apolo-shadow-sm);
}

.apolo-validation-icon {
    width: 36px;
    height: 36px;
    border-radius: var(--apolo-radius-md, 6px);
    display: flex;
    align-items: center;
    justify-content: center;
}

.apolo-validation-icon--green {
    background-color: var(--apolo-color-success-light, #D1E7DD);
    color: var(--apolo-color-success, #198754);
}

.apolo-validation-icon--gray {
    background-color: var(--apolo-n100, #F1F5F9);
    color: var(--apolo-n600, #52637A);
}

.apolo-validation-icon--blue {
    background-color: var(--apolo-color-primary-light, #E8F4FD);
    color: var(--apolo-color-primary, #107FC9);
}

/* Switch Custom */
.apolo-switch:checked {
    background-color: var(--apolo-color-primary, #107FC9);
    border-color: var(--apolo-color-primary, #107FC9);
}

/* Botón Realizar Búsqueda */
.apolo-btn--submit {
    background-color: var(--apolo-color-primary-navy, #194270);
    color: var(--apolo-n0, #FFFFFF);
    border-radius: var(--apolo-radius-md, 6px);
    font-weight: var(--apolo-font-semibold, 600);
    font-size: var(--apolo-text-base, 15px);
    border: none;
    min-width: 220px;
    transition: var(--apolo-transition-color);
}

    .apolo-btn--submit:hover:not(:disabled) {
        background-color: var(--apolo-color-primary-dark, #0D56A6);
        color: var(--apolo-n0, #FFFFFF);
    }

    .apolo-btn--submit:disabled {
        background-color: var(--apolo-n400, #A8BACB);
        cursor: not-allowed;
    }

.apolo-security-footer {
    font-size: var(--apolo-text-xs, 11px);
}
/* Optimización móvil para tarjetas 2x2 en Búsqueda Moral */
@media (max-width: 575.98px) {
    .apolo-validation-card {
        padding: var(--apolo-space-3, 12px);
    }

    .apolo-validation-card__title {
        font-size: var(--apolo-text-sm, 13px);
        line-height: var(--apolo-leading-tight, 1.2);
        word-break: break-word;
    }

    .apolo-validation-card__desc {
        font-size: var(--apolo-text-xs, 11px);
        line-height: 1.3;
    }

    .apolo-validation-card__header {
        margin-bottom: var(--apolo-space-2, 8px);
    }
}
/* ── Cabecera: Distribución Grid (Opción 1) ── */
.apolo-busqueda-header {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto auto;
    column-gap: var(--apolo-space-3);
    align-items: center;
}

    .apolo-busqueda-header .apolo-busqueda-fisica__avatar {
        grid-column: 1;
        grid-row: 1 / span 3;
        align-self: center;
    }

    .apolo-busqueda-header .apolo-busqueda-fisica__title {
        grid-column: 2;
        grid-row: 1;
    }

    .apolo-busqueda-header .apolo-busqueda-fisica__subtitle {
        grid-column: 2;
        grid-row: 2;
    }

    .apolo-busqueda-header .apolo-busqueda-fisica__confidentiality {
        grid-column: 2;
        grid-row: 3;
    }

/* Adaptación móvil (< 768px): Avatar junto al título, textos a todo el ancho y cards 2x2 */
@media (max-width: 767.98px) {
    .apolo-busqueda-header .apolo-busqueda-fisica__subtitle {
        grid-column: 1 / -1;
        grid-row: 2;
        margin-top: 6px;
        text-align: justify;
        text-justify: inter-word;
        hyphens: auto;
    }
}

        .apolo-busqueda-header .apolo-busqueda-fisica__avatar {
            grid-column: 1;
            grid-row: 1;
            width: 38px;
            height: 38px;
        }

        .apolo-busqueda-header .apolo-busqueda-fisica__title {
            grid-column: 2;
            grid-row: 1;
            font-size: var(--apolo-text-xl);
        }

        .apolo-busqueda-header .apolo-busqueda-fisica__subtitle {
            grid-column: 1 / -1;
            grid-row: 2;
            margin-top: 6px;
        }

        .apolo-busqueda-header .apolo-busqueda-fisica__confidentiality {
            grid-column: 1 / -1;
            grid-row: 3;
        }
}

/* Optimización móvil para tarjetas de validación 2x2 (< 576px) */
@media (max-width: 575.98px) {
    .apolo-validation-card {
        padding: var(--apolo-space-3, 12px);
    }

    .apolo-validation-card__title {
        font-size: var(--apolo-text-sm, 13px);
        line-height: var(--apolo-leading-tight, 1.2);
        word-break: break-word;
    }

    .apolo-validation-card__desc {
        font-size: var(--apolo-text-xs, 11px);
        line-height: 1.3;
    }

    .apolo-validation-card__header {
        margin-bottom: var(--apolo-space-2, 8px);
    }
}