/* ==================================
   CONFIGURACIÓN GENERAL
================================== */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html,
body {
    width: 100%;
    min-height: 100%;
}

body {
    font-family: Arial, Helvetica, sans-serif;
    background: white;
    color: #555;
}


/* ==================================
   BARRA SUPERIOR
================================== */

.top-header {
    position: relative;

    width: 100%;
    height: 45px;

    background: #f1f1f1;

    display: flex;
    align-items: center;
    justify-content: space-between;

    border-bottom: 2px solid #dddddd;
}


/* BLOQUE BRASIL */

.country-box {
    height: 100%;

    display: flex;
    align-items: center;

    padding-left: 16px;
    padding-right: 18px;

    border-right: 4px solid #dedede;

    gap: 12px;
}

.brazil-flag {
    font-size: 40px;
    line-height: 1;
}

.country-name {
    font-size: 23px;
    font-weight: 700;
    color: #575757;
}


/* ==================================
   BOTÓN HAMBURGUESA SUPERIOR
================================== */

.top-menu-button {
    width: 70px;
    height: 70px;

    margin-right: 8px;

    border: none;
    background: transparent;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    gap: 8px;

    cursor: pointer;
}

.top-menu-button span {
    width: 39px;
    height: 6px;

    background: #666666;
}


/* ==================================
   MENÚ DESPLEGABLE SUPERIOR
================================== */

.top-dropdown {
    position: absolute;

    top: 73px;
    right: 12px;

    width: 210px;

    background: white;

    border: 1px solid #dddddd;

    box-shadow:
        0 5px 15px rgba(0, 0, 0, 0.18);

    display: none;

    z-index: 1000;
}

.top-dropdown.open {
    display: block;
}

.top-dropdown button {
    width: 100%;

    padding: 15px 18px;

    border: none;
    border-bottom: 1px solid #eeeeee;

    background: white;

    text-align: left;

    font-size: 16px;

    color: #555;

    cursor: pointer;
}

.top-dropdown button:last-child {
    border-bottom: none;
}

.top-dropdown button:hover {
    background: #f3f3f3;
}


/* ==================================
   SECCIÓN MINISTERIO
================================== */

.ministry-section {
    padding: 35px 20px 28px 20px;
}


/* ESCUDO + TÍTULO */

.ministry-title-area {
    display: flex;
    align-items: center;

    gap: 20px;

    margin-bottom: 55px;
}

.coat-placeholder {
    width: 150px;
    height: 150px;

    display: flex;
    justify-content: center;
    align-items: center;
}

.coat-placeholder img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.ministry-title-area h1 {
    color: #0050a4;

    font-size: 26px;
    font-weight: 700;

    line-height: 1.15;
}


/* ==================================
   CONTROLES
================================== */

.controls {
    width: 100%;

    display: flex;
    flex-direction: column;

    gap: 14px;
}


/* ==================================
   SELECTOR DE IDIOMA
================================== */

.language-wrapper {
    position: relative;
    width: 100%;
}

.language-button {
    width: 100%;
    height: 58px;

    background: white;

    border: 2px solid #0053a6;

    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 0 17px;

    cursor: pointer;

    color: #0053a6;
}

.language-current {
    display: flex;
    align-items: center;

    gap: 12px;

    font-size: 20px;
}

.language-flag {
    font-size: 30px;
}


/* FLECHA */

.arrow {
    width: 0;
    height: 0;

    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 16px solid #0053a6;

    transition: transform 0.2s ease;
}

.arrow.up {
    transform: rotate(180deg);
}


/* ==================================
   DESPLEGABLE IDIOMAS
================================== */

.language-dropdown {
    position: absolute;

    top: 62px;
    left: 0;

    width: 100%;

    background: white;

    border: 1px solid #cccccc;

    box-shadow:
        0 6px 15px rgba(0, 0, 0, 0.18);

    display: none;

    z-index: 900;
}

.language-dropdown.open {
    display: block;
}

.language-dropdown button {
    width: 100%;

    display: flex;
    align-items: center;

    gap: 12px;

    padding: 13px 17px;

    border: none;
    border-bottom: 1px solid #eeeeee;

    background: white;

    color: #444;

    font-size: 17px;

    cursor: pointer;

    text-align: left;
}

.language-dropdown button span {
    font-size: 24px;
}

.language-dropdown button:last-child {
    border-bottom: none;
}

.language-dropdown button:hover {
    background: #f3f3f3;
}


/* ==================================
   BOTONES ACCESIBILIDAD
================================== */

.accessibility-buttons {
    display: flex;

    gap: 12px;
}

.accessibility-buttons button {
    flex: 1;

    height: 58px;

    background: white;

    border: 2px solid #0053a6;

    color: #0053a6;

    font-size: 20px;

    cursor: pointer;
}


/* ==================================
   BARRA AZUL INFERIOR
================================== */

.blue-menu {
    width: 100%;
    height: 110px;

    background: #086bc6;

    display: flex;
    align-items: center;

    padding-left: 30px;
}


/* HAMBURGUESA BLANCA */

.bottom-menu-button {
    width: 55px;

    background: transparent;

    border: none;

    display: flex;
    flex-direction: column;

    gap: 7px;

    cursor: pointer;
}

.bottom-menu-button span {
    width: 42px;
    height: 5px;

    background: white;

    border-radius: 10px;
}


/* ==================================
   PANTALLAS UN POCO MÁS GRANDES
================================== */


/* ==================================
   AUTHENTICITY VERIFICATION
================================== */

.verification-banner {
    width: 100%;
    min-height: 82px;

    padding: 20px 16px;

    display: flex;
    align-items: center;

    overflow: hidden;

    background-image:
        linear-gradient(
            rgba(3, 18, 43, 0.82),
            rgba(3, 18, 43, 0.82)
        ),
        url("img/authenticity-bg.jpg");

    background-size: cover;

    background-position: center;

    background-repeat: no-repeat;
}

.verification-banner h2 {
    color: #a8d735;

    font-size: 30px;
    font-weight: 400;

    line-height: 1.1;
}


/* ==================================
   RECOVERY DATA
================================== */

.recovery-section {
    width: 100%;

    background: white;

    padding:
        25px
        22px
        55px
        22px;
}


/* ==================================
   TÍTULO RECOVERY DATA
================================== */

.recovery-header {
    width: 100%;

    display: flex;
    align-items: center;

    gap: 12px;

    margin-bottom: 40px;
}


/* CUADRADO AZUL */

.recovery-arrow {
    width: 38px;
    height: 38px;

    flex-shrink: 0;

    background: #086bc6;

    color: white;

    display: flex;
    justify-content: center;
    align-items: center;

    font-size: 18px;
}


/* TEXTO RECOVERY DATA */

.recovery-title {
    width: 100%;

    color: #0758aa;

    font-size: 27px;
    font-weight: 400;

    padding-bottom: 4px;

    border-bottom: 2px solid #0758aa;
}


/* ==================================
   CAMPOS DEL FORMULARIO
================================== */

.form-group {
    width: 100%;

    margin-bottom: 45px;
}


/* TEXTO ARRIBA DEL INPUT */

.form-label {
    display: flex;
    align-items: center;

    gap: 9px;

    margin-bottom: 12px;
}

.form-label label {
    color: #666666;

    font-size: 25px;
    font-weight: 400;
}


/* ASTERISCO ROJO */

.required {
    color: red;

    margin-left: 3px;
}


/* ==================================
   SIGNO DE PREGUNTA
================================== */

.question-icon {
    width: 32px;
    height: 32px;

    border: 2px solid #086bc6;

    color: #086bc6;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    font-size: 24px;
    font-weight: bold;

    line-height: 1;

    user-select: none;
}


/* ==================================
   INPUTS
================================== */

.verification-input {
    width: 100%;
    height: 60px;

    border: 2px solid #999999;

    background: white;

    padding: 0 12px;

    color: #555555;

    font-size: 24px;

    outline: none;

    border-radius: 1px;
}


/* CUANDO EL USUARIO TOCA EL INPUT */

.verification-input:focus {
    border-color: #0758aa;
}


/* ==================================
   AJUSTE PARA CELULARES PEQUEÑOS
================================== */

@media (max-width: 380px) {

    .verification-banner h2 {
        font-size: 26px;
    }

    .recovery-title {
        font-size: 24px;
    }

    .form-label label {
        font-size: 22px;
    }

}
/* ==================================
   BOTONES DE VERIFICACIÓN
================================== */

.verification-actions {
    width: 100%;

    padding: 100px 22px 65px 22px;

    background: white;

    display: flex;
    flex-direction: column;

    gap: 22px;
}


/* ==================================
   BOTÓN RETURN
================================== */

.return-button {
    width: 100%;
    height: 58px;

    background: white;

    border: 2px solid #086bc6;

    color: #0758aa;

    font-size: 22px;
    font-weight: 400;

    cursor: pointer;
}


/* ==================================
   BOTÓN VERIFY AUTHENTICITY
================================== */

.verify-button {
    width: 100%;
    height: 58px;

    background: #247bd0;

    border: 2px solid #086bc6;

    color: white;

    font-size: 21px;
    font-weight: 400;

    cursor: pointer;
}


/* EFECTO VISUAL AL TOCAR LOS BOTONES */

.return-button:active {
    background: #f2f2f2;
}

.verify-button:active {
    background: #1267b9;
}


/* ==================================
   FOOTER
================================== */

.footer {
    width: 100%;

    background: #086bc6;

    color: white;

    text-align: center;

    padding:
        18px
        18px
        16px
        18px;
}


/* PRIMER TEXTO */

.footer-department {
    font-size: 12px;
    font-weight: 400;

    line-height: 1.5;

    margin-bottom: 24px;
}


/* CONSULAR */

.footer-consular {
    font-size: 13px;
    font-weight: 400;

    margin-bottom: 24px;
}


/* ÚLTIMO TEXTO */

.footer-system {
    font-size: 12px;
    font-weight: 400;

    line-height: 1.5;
}


/* ==================================
   AJUSTES PARA CELULARES PEQUEÑOS
================================== */

@media (max-width: 380px) {

    .return-button {
        font-size: 20px;
    }

    .verify-button {
        font-size: 19px;
    }

    .footer-department,
    .footer-system {
        font-size: 11px;
    }

}
/* =================================================
   CORRECCIONES MOBILE - DISEÑO FINAL
================================================= */


/* MINISTERIO */

.ministry-section {
    padding: 30px 10px 28px 10px;
}


/* ESCUDO + TÍTULO */

.ministry-title-area {
    display: flex;
    align-items: center;

    gap: 14px;

    margin-bottom: 38px;
}


.coat-placeholder {
    width: 95px;
    height: 95px;

    flex-shrink: 0;
}


.coat-placeholder img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}


.ministry-title-area h1 {
    color: #0050a4;

    font-size: 23px;
    font-weight: 700;

    line-height: 1.15;

    white-space: nowrap;
}


/* =================================================
   IDIOMA + A+ + A- + C EN LA MISMA FILA
================================================= */

.controls {
    width: 100%;

    display: flex;

    flex-direction: row;

    align-items: stretch;

    gap: 10px;
}


/* IDIOMA */

.language-wrapper {
    position: relative;

    flex: 1;

    min-width: 0;
}


.language-button {
    width: 100%;
    height: 55px;

    padding: 0 10px;
}


.language-current {
    gap: 7px;

    font-size: 16px;

    white-space: nowrap;
}


.language-flag {
    font-size: 23px;
}


/* FLECHA DEL IDIOMA */

.arrow {
    border-left-width: 7px;
    border-right-width: 7px;
    border-top-width: 12px;
}


/* =================================================
   BOTONES DE ACCESIBILIDAD
================================================= */

.accessibility-buttons {
    display: flex;

    width: 165px;

    flex-shrink: 0;

    gap: 9px;
}


.accessibility-buttons button {
    flex: 1;

    min-width: 0;

    height: 55px;

    padding: 0;

    font-size: 16px;
}


/* =================================================
   BARRA AZUL
================================================= */

.blue-menu {
    height: 110px;

    padding-left: 20px;
}


/* =================================================
   TELÉFONOS MUY PEQUEÑOS
================================================= */

@media (max-width: 380px) {

    .ministry-section {
        padding-left: 8px;
        padding-right: 8px;
    }


    .coat-placeholder {
        width: 82px;
        height: 82px;
    }


    .ministry-title-area h1 {
        font-size: 20px;
    }


    .language-current {
        font-size: 15px;
    }


    .language-flag {
        font-size: 21px;
    }


    .accessibility-buttons {
        width: 150px;

        gap: 6px;
    }


    .controls {
        gap: 7px;
    }

}
/* =========================================================
   AJUSTE FINO PARA IGUALAR LA REFERENCIA MÓVIL
========================================================= */


/* ===== BLOQUE DEL MINISTERIO ===== */

.ministry-section {
    padding: 26px 14px 22px 14px;
}


/* ESCUDO + TÍTULO */

.ministry-title-area {
    display: flex;
    align-items: center;

    gap: 18px;

    margin-bottom: 34px;
}

.coat-placeholder {
    width: 78px;
    height: 78px;

    flex-shrink: 0;
}

.coat-placeholder img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.ministry-title-area h1 {
    font-size: 21px;
    line-height: 1.15;

    white-space: nowrap;

    margin: 0;
}


/* ===== FILA DE IDIOMA Y ACCESIBILIDAD ===== */

.controls {
    width: 100%;

    display: flex;
    flex-direction: row;

    align-items: stretch;

    gap: 8px;
}


/* SELECTOR DE IDIOMA */

.language-wrapper {
    flex: 1;
    min-width: 0;
}

.language-button {
    width: 100%;
    height: 52px;

    padding: 0 10px;

    border-width: 2px;
}

.language-current {
    gap: 8px;

    font-size: 16px;
}

.language-flag {
    font-size: 22px;
}

.arrow {
    border-left-width: 7px;
    border-right-width: 7px;
    border-top-width: 11px;
}


/* ===== A+ / A- / C ===== */

.accessibility-buttons {
    width: 154px;

    display: flex;

    flex-shrink: 0;

    gap: 8px;
}

.accessibility-buttons button {
    height: 52px;

    padding: 0;

    font-size: 16px;
}


/* ===== BARRA AZUL ===== */

.blue-menu {
    height: 100px;

    padding-left: 24px;
}

.bottom-menu-button {
    width: 45px;

    gap: 5px;
}

.bottom-menu-button span {
    width: 34px;
    height: 4px;
}


/* ===== AUTHENTICITY VERIFICATION ===== */

.verification-banner {
    min-height: 122px;

    padding: 22px 28px;

    display: flex;
    align-items: center;
}


/* hacemos que el texto ocupe menos ancho
   para que se divida en dos líneas como la referencia */

   .verification-banner h2 {
    width: 100%;

    font-size: 25px;
    line-height: 1;

    font-weight: 400;

    margin: 0;

    white-space: nowrap;
}
/* ===== RECOVERY DATA ===== */

.recovery-section {
    padding-top: 24px;
}

.recovery-header {
    gap: 10px;

    margin-bottom: 34px;
}

.recovery-arrow {
    width: 34px;
    height: 34px;

    font-size: 15px;
}

.recovery-title {
    font-size: 25px;

    padding-bottom: 3px;
}


/* =========================================================
   AJUSTE ESPECÍFICO PARA TELÉFONOS TIPO IPHONE
========================================================= */

@media (max-width: 430px) {

    .ministry-section {
        padding-left: 12px;
        padding-right: 12px;
    }

    .coat-placeholder {
        width: 74px;
        height: 74px;
    }

    .ministry-title-area {
        gap: 16px;
    }

    .ministry-title-area h1 {
        font-size: 20px;
    }

    .language-current {
        font-size: 15px;
    }

    .language-flag {
        font-size: 21px;
    }

    .accessibility-buttons {
        width: 145px;
    }

    .verification-banner h2 {
        width: 100%;
    
        color: #a8d735;
    
        font-size: 25px;
        font-weight: 400;
    
        line-height: 1;
    
        margin: 0;
    
        white-space: nowrap;
    }

}

/* =========================================================
   CAPTCHA - FONDO OSCURECIDO
========================================================= */

.captcha-overlay {
    position: fixed;

    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    background: rgba(255, 255, 255, 0.58);

    display: none;

    align-items: center;
    justify-content: center;

    padding: 18px;

    z-index: 99999;

    overflow-y: auto;
}


/* CUANDO SE MUESTRA */

.captcha-overlay.show {
    display: flex;
}


/* =========================================================
   CAJA PRINCIPAL
========================================================= */

.captcha-box {
    width: 100%;
    max-width: 410px;

    background: #ffffff;

    border: 1px solid #dddddd;

    border-radius: 6px;

    padding: 13px;

    box-shadow:
        0 2px 10px rgba(0, 0, 0, 0.12);
}


/* =========================================================
   INSTRUCCIÓN
========================================================= */

.captcha-instruction {
    width: 100%;

    min-height: 110px;

    background: #078b91;

    color: white;

    border-radius: 6px;

    padding: 16px 14px;

    font-size: 21px;

    line-height: 1.2;

    display: flex;
    align-items: flex-start;
}


/* =========================================================
   IMAGEN
========================================================= */

.captcha-image-container {
    width: 100%;

    margin-top: 15px;

    padding: 4px;

    border: 1px solid #e2e2e2;

    border-radius: 5px;

    cursor: pointer;

    position: relative;
}


.captcha-image {
    width: 100%;

    display: block;

    border-radius: 2px;

    user-select: none;

    -webkit-user-drag: none;
}


/* CUANDO EL USUARIO YA TOCÓ EL CAPTCHA */

.captcha-image-container.selected {
    border-color: #078b91;
}


/* =========================================================
   PARTE INFERIOR
========================================================= */

.captcha-bottom {
    padding: 14px 5px 2px 5px;
}


.captcha-language {
    font-size: 15px;

    font-weight: bold;

    color: #111;

    margin-bottom: -18px;
}


/* =========================================================
   PUNTOS
========================================================= */

.captcha-pages {
    display: flex;

    justify-content: center;

    align-items: center;

    gap: 5px;

    margin-bottom: 9px;
}


.captcha-dot {
    width: 8px;
    height: 8px;

    border-radius: 50%;

    background: #91a0b5;
}


.captcha-dot.active {
    width: 23px;

    border-radius: 10px;

    background: #4e5b6d;
}


/* =========================================================
   CONTROLES
========================================================= */

.captcha-controls {
    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 12px;
}


.captcha-small-button,
.captcha-reload {
    border: none;

    background: transparent;

    color: #555;

    cursor: default;
}


.captcha-small-button {
    font-size: 34px;

    line-height: 1;
}


.captcha-reload {
    font-size: 38px;

    line-height: 1;
}


/* =========================================================
   MANO DECORATIVA
========================================================= */

.captcha-hand {
    width: 45px;
    height: 45px;

    display: flex;
    align-items: center;
    justify-content: center;
}

.captcha-hand img {
    width: 45px;
    height: 45px;

    object-fit: contain;

    display: block;
}

/* =========================================================
   BOTÓN NEXT
========================================================= */

.captcha-next {
    min-width: 85px;

    height: 45px;

    border: none;

    border-radius: 3px;

    background: #b3b3b3;

    color: white;

    font-size: 18px;

    font-weight: 600;

    cursor: not-allowed;

    transition:
        background 0.2s ease,
        opacity 0.2s ease;
}


/* NEXT ACTIVADO */

.captcha-next.enabled {
    background: #5c5c5c;

    cursor: pointer;
}


/* =========================================================
   TELÉFONOS PEQUEÑOS
========================================================= */

@media (max-width: 380px) {

    .captcha-box {
        padding: 10px;
    }


    .captcha-instruction {
        min-height: 95px;

        font-size: 19px;
    }


    .captcha-next {
        min-width: 75px;

        font-size: 17px;
    }

}
/* =========================================================
   ESCENA DEL CAPTCHA
========================================================= */

.captcha-stage {
    position: relative;

    width: 100%;

    margin-top: 15px;

    overflow: hidden;

    border: 5px solid #eeeeee;
    border-radius: 5px;

    cursor: pointer;

    touch-action: manipulation;
}


/* IMAGEN DE FLORES */

.captcha-background {
    width: 100%;
    height: auto;

    display: block;

    user-select: none;

    -webkit-user-drag: none;
}


/* =========================================================
   ABEJA
========================================================= */

.captcha-bee {
    position: absolute;

    width: 42px;

    left: 20%;
    top: 50%;

    transform:
        translate(-50%, -50%)
        rotate(-8deg);

    z-index: 5;

    pointer-events: none;

    transition:
        left 1.25s ease-in-out,
        top 1.25s ease-in-out,
        transform 0.35s ease;
}


/* CUANDO "ATERRIZA" */

.captcha-bee.landed {
    transform:
        translate(-50%, -50%)
        rotate(5deg)
        scale(0.92);
}


/* =========================================================
   MARCA DEL TOQUE
========================================================= */

.captcha-touch-marker {
    position: absolute;

    width: 35px;
    height: 35px;

    border: 3px solid rgba(255, 255, 255, 0.9);

    border-radius: 50%;

    background: rgba(0, 120, 190, 0.35);

    transform: translate(-50%, -50%);

    pointer-events: none;

    display: none;

    z-index: 10;
}


.captcha-touch-marker.show {
    display: block;
}
/* =========================================================
   CAPTCHA - PROPORCIONES FINALES PARA CELULAR
   Basado en la referencia móvil
========================================================= */


/* FONDO / OVERLAY */

.captcha-overlay {
    position: fixed;

    inset: 0;

    width: 100%;
    height: 100%;

    background: rgba(255, 255, 255, 0.58);

    display: none;

    align-items: center;
    justify-content: center;

    padding: 0;

    z-index: 99999;

    overflow-y: auto;
}

.captcha-overlay.show {
    display: flex;
}


/* =========================================================
   CAJA COMPLETA DEL CAPTCHA
========================================================= */

.captcha-box {
    width: 85%;

    max-width: 390px;

    background: #ffffff;

    border: 1px solid #dddddd;

    border-radius: 6px;

    padding: 12px;

    box-shadow:
        0 2px 9px rgba(0, 0, 0, 0.10);
}


/* =========================================================
   BLOQUE TURQUESA
========================================================= */

.captcha-instruction {
    width: 100%;

    height: 108px;
    min-height: 0;

    background: #078d92;

    color: white;

    border-radius: 5px;

    padding: 14px 13px;

    font-size: 20px;

    line-height: 1.22;

    font-weight: 400;

    display: block;
}


/* =========================================================
   ESCENA DE FLORES
========================================================= */

.captcha-stage {
    position: relative;

    width: 100%;

    /* Separación respecto al bloque turquesa */
    margin-top: 14px;

    border: 4px solid #eeeeee;

    border-radius: 5px;

    overflow: hidden;

    cursor: pointer;

    touch-action: manipulation;
}


/* IMAGEN */

.captcha-background {
    width: 100%;

    /* Proporción más parecida a la referencia */
    aspect-ratio: 1.45 / 1;

    object-fit: cover;

    display: block;

    user-select: none;

    -webkit-user-drag: none;
}


/* =========================================================
   ABEJA
========================================================= */

.captcha-bee {
    position: absolute;

    width: 40px;

    left: 20%;
    top: 50%;

    transform: translate(-50%, -50%);

    z-index: 5;

    pointer-events: none;

    transition:
        left 0.7s ease-in-out,
        top 0.7s ease-in-out,
        transform 0.25s ease;
}


/* =========================================================
   PARTE INFERIOR
========================================================= */

.captcha-bottom {
    padding: 11px 4px 2px 4px;
}


/* EN */

.captcha-language {
    font-size: 14px;

    font-weight: 700;

    color: #111;

    margin-bottom: -15px;
}


/* =========================================================
   INDICADOR CENTRAL
========================================================= */

.captcha-pages {
    display: flex;

    justify-content: center;
    align-items: center;

    gap: 5px;

    margin-bottom: 7px;
}


.captcha-dot {
    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: #91a0b5;
}


.captcha-dot.active {
    width: 22px;
    height: 7px;

    border-radius: 10px;

    background: #4e5b6d;
}


/* =========================================================
   CONTROLES INFERIORES
========================================================= */

.captcha-controls {
    width: 100%;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 8px;
}


/* TRES PUNTOS */

.captcha-small-button {
    border: none;

    background: transparent;

    color: #555;

    font-size: 31px;

    line-height: 1;

    padding: 0;

    width: 30px;
}


/* RECARGAR */

.captcha-reload {
    border: none;

    background: transparent;

    color: #555;

    font-size: 35px;

    line-height: 1;

    padding: 0;

    width: 42px;
}


/* =========================================================
   LOGO DE LA MANO QUE AGREGASTE
========================================================= */

.captcha-hand {
    width: 45px;
    height: 45px;

    display: flex;

    align-items: center;
    justify-content: center;
}


.captcha-hand img {
    width: 45px;
    height: 45px;

    object-fit: contain;

    display: block;
}


/* =========================================================
   NEXT
========================================================= */

.captcha-next {
    width: 76px;
    min-width: 76px;

    height: 42px;

    border: none;

    border-radius: 3px;

    background: #b3b3b3;

    color: white;

    font-size: 17px;

    font-weight: 600;

    padding: 0;

    cursor: not-allowed;
}


.captcha-next.enabled {
    background: #5c5c5c;

    cursor: pointer;
}


/* =========================================================
   AJUSTE ESPECÍFICO PARA CELULARES
========================================================= */

@media (max-width: 430px) {

    .captcha-box {
        width: 85%;

        padding: 11px;
    }


    .captcha-instruction {
        height: 105px;

        padding: 14px 12px;

        font-size: 19px;

        line-height: 1.2;
    }


    .captcha-stage {
        margin-top: 14px;
    }


    .captcha-background {
        aspect-ratio: 1.45 / 1;
    }


    .captcha-bee {
        width: 36px;
    }

}
/* =========================================================
   SEARCH RESULTS
========================================================= */

.search-results {
    width: 100%;

    background: white;

    padding: 20px 22px 55px 22px;
}


/* =========================================================
   ENCABEZADO SEARCH RESULTS
========================================================= */

.search-results-header {
    width: 100%;

    display: flex;
    align-items: center;

    gap: 10px;

    margin-bottom: 28px;
}


/* CUADRADO AZUL */

.search-results-arrow {
    width: 34px;
    height: 34px;

    flex-shrink: 0;

    background: #086bc6;

    color: white;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 15px;
}


/* TEXTO SEARCH RESULTS */

.search-results-title {
    width: 100%;

    color: #0758aa;

    font-size: 25px;
    font-weight: 400;

    padding-bottom: 3px;

    border-bottom: 2px solid #0758aa;
}


/* =========================================================
   SITUATION / VÁLIDO
========================================================= */

.result-status {
    width: 100%;

    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 0 18px;

    margin-bottom: 30px;
}


.result-status-label {
    color: #0873c7;

    font-size: 16px;
    font-weight: 400;
}


.result-status-value {
    color: #666666;

    font-size: 16px;
    font-weight: 400;
}


/* =========================================================
   LÍNEA SEPARADORA
========================================================= */

.result-separator {
    width: 100%;

    height: 2px;

    background: #8ab8df;

    margin-bottom: 25px;
}


/* =========================================================
   IMAGEN DEL RESULTADO
========================================================= */

.result-image-container {
    width: 100%;

    display: flex;
    justify-content: center;
}


.result-image {
    width: 100%;
    height: auto;

    display: block;

    object-fit: contain;
}


/* =========================================================
   AJUSTE PARA CELULAR
========================================================= */

@media (max-width: 430px) {

    .search-results {
        padding-left: 18px;
        padding-right: 18px;
    }


    .search-results-title {
        font-size: 23px;
    }


    .result-status {
        padding-left: 12px;
        padding-right: 12px;
    }

}

/* ========================================
   LOADING DESPUÉS DEL CAPTCHA
======================================== */

.page-loading {
    position: fixed;
    inset: 0;
    z-index: 999999;

    display: none;

    align-items: center;
    justify-content: center;

    /* Casi transparente para seguir viendo la página */
    background: rgba(255, 255, 255, 0.10);

    pointer-events: all;
}

.page-loading.show {
    display: flex;
}

.loading-spinner {
    position: relative;

    width: 125px;
    height: 125px;

    opacity: 0.20;

    animation: loadingRotate 0.8s linear infinite;
}

.loading-spinner span {
    position: absolute;

    left: 57px;
    top: 4px;

    width: 12px;
    height: 38px;

    border-radius: 8px;

    background: #3984d1;

    transform-origin: 6px 58px;
}

.loading-spinner span:nth-child(1)  { transform: rotate(0deg); }
.loading-spinner span:nth-child(2)  { transform: rotate(30deg); }
.loading-spinner span:nth-child(3)  { transform: rotate(60deg); }
.loading-spinner span:nth-child(4)  { transform: rotate(90deg); }
.loading-spinner span:nth-child(5)  { transform: rotate(120deg); }
.loading-spinner span:nth-child(6)  { transform: rotate(150deg); }
.loading-spinner span:nth-child(7)  { transform: rotate(180deg); }
.loading-spinner span:nth-child(8)  { transform: rotate(210deg); }
.loading-spinner span:nth-child(9)  { transform: rotate(240deg); }
.loading-spinner span:nth-child(10) { transform: rotate(270deg); }
.loading-spinner span:nth-child(11) { transform: rotate(300deg); }
.loading-spinner span:nth-child(12) { transform: rotate(330deg); }

@keyframes loadingRotate {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}