/* ==========================================================================
   MÓDULO BLINDADO DE ACCESO UNIVERSAL (ANTI-COLISIÓN)
   ========================================================================== */

/* Contenedor Principal: Limpia márgenes externos y define la tipografía base */
#article-section {
    width: 100%;
    margin: 0;
    padding: 40px 20px;
    box-sizing: border-box;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: #f8fafc;
}

/* Forzar que todos los elementos internos hereden el box-sizing correcto */
#article-section *, 
#article-section *::before, 
#article-section *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* Requerimiento C: Contenedor de una sola columna centralizada */
#article-section .wrapper {
    max-width: 800px;
    margin: 0 auto; /* Centra el bloque entero en la pantalla */
    display: flex;
    flex-direction: column; /* Alineación vertical en una sola columna */
    align-items: center;    /* Centra horizontalmente los hijos directos */
    gap: 30px;              /* Espaciado controlado entre bloques */
}

/* Contenedor principal */
#article-section .central {
    text-align: left;     /* Alinea todo el texto a la izquierda */
    width: 100%;
    color: #334155;
    line-height: 1.6;
    display: flex;
    flex-direction: column;
    gap: 12px;            /* Espaciado uniforme entre elementos */
}

/* Título principal */
#article-section .central h2 {
    color: #1e293b;
    font-size: 2rem;
    margin: 0 0 10px 0;
    text-align: left;
}

/* Subtítulos */
#article-section .central h3 {
    color: #0f172a;
    font-size: 1.1rem;
    font-weight: 600;
    padding: 6px 12px;
    background-color: #f1f5f9;
    border-radius: 6px;
    margin: 0;            /* Elimina centrado y márgenes automáticos */
    max-width: 100%;      /* Evita que se centren o limiten su ancho */
    text-align: left;
}

/* Párrafos */
#article-section .central p {
    margin: 0 0 10px 0;
    text-align: left;
}


/* Requerimiento E: Componentes del Formulario (.column) en el centro de la página */
#article-section .column {
    width: 100%;
    max-width: 450px; /* Ancho elegante para el formulario en escritorio */
    display: flex;
    flex-direction: column;
    align-items: center; /* Centra los textos, enlaces e inputs internos */
    text-align: center;
}

#article-section .texto_translator {
    font-size: 1.2rem;
    color: #475569;
    margin-bottom: 20px;
}

/* Botón estilizado de redirección SaaS */
#article-section .link-saas {
    display: inline-block;
    padding: 10px 24px;
    background-color: #d35400; /* Color corporativo EnergyNer */
    color: #ffffff;
    text-decoration: none;
    border-radius: 6px;
    font-weight: bold;
    transition: background-color 0.2s ease;
    margin-top: 10px;
}

#article-section .link-saas:hover {
    background-color: #b94400;
}

/* Caja contenedora del verificador de disponibilidad */
#article-section #content {
    display: flex;          /* Activa el modelo flexbox */
    flex-direction: row;    /* Coloca los elementos en filas */
    flex-wrap: wrap;        /* Permite que las filas bajen si no hay espacio */
    justify-content: center;/* Centra horizontalmente las filas */
    /* align-items: flex-start;/Alinea los elementos al inicio vertical */

    width: 100%;
    background-color: #dbd7f7;
    padding: 25px;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    margin-top: 25px;
}

#article-section .container-access h1 {
    font-size: 1.3rem;
    color: #1e293b;
    margin-bottom: 15px;
}

/* Controles de formulario adaptables y centrados */
#article-section #userForm {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10px; /* separación entre inputs */
    width: 100%;
}

#article-section #userForm input,
#article-section #userForm button
{
    padding: 20px;
    border: 1px solid #4794f3;
    border-radius: 6px;
    font-size: 1rem;
    outline: none;
    text-align: center;
    flex: 1 1 250px; /* cada input ocupa espacio flexible */
}

#article-section #userForm input:focus  {
    border-color: #2980b9;
    box-shadow: 0 0 0 3px rgba(41, 128, 185, 0.15);
}

/* persistencia-container*/
.persistencia-container{
    display:grid;
    grid-template-columns:
        repeat( auto-fit,  minmax(350px,1fr)  );
    gap:20px;
    margin-top:30px;
}

.panel-persistencia{
    border:1px solid #ddd;
    border-radius:8px;
    padding:20px;
    background:#fafafa;
}

.panel-persistencia h2{
    margin-bottom:10px;
}

.user{
    padding:10px;
    margin-bottom:10px;
    border-bottom: 1px solid #e0e0e0;
}

#article-section #userForm button {
    width: 100%;
    padding: 10px;
    background-color: hsl(214, 85%, 52%); /* verde base */
    color: white;
    border: 2px solid transparent; /* necesario para resaltar en hover */
    border-radius: 6px;
    font-size: 1rem;
    font-weight: bold;
    cursor: pointer;
    transition: all 0.25s ease; /* transición suave */
}

/* Hover: borde amarillo fuerte + fondo verde oscuro */
#article-section #userForm button:hover {
    background-color: hsl(214, 90%, 35%); /* verde oscuro elegante */
    border-color: #95e9f8;     /* amarillo fuerte */
    box-shadow: 0 0 8px rgba(242, 214, 0, 0.6); /* brillo sutil */
}

/* Focus accesible */
#article-section #userForm button:focus {
    border-color: #95e9f8;
    box-shadow: 0 0 0 3px rgba(242, 214, 0, 0.35);
}

#article-section #btnVerify:hover {
    background-color: #219653;
}

#article-section #result {
    margin-top: 12px;
    font-weight: 500;
}

/* Bloque exterior inferior de estatus */
#article-section .box {
    width: 100%;
    margin-top: 20px;
    display: flex;
    justify-content: center;
}

#article-section .centered-text {
    text-align: center;
    font-size: 1rem;
}

/**=====================
ESTILOS BOTON CLER DATA ID=btnClear
 ======================*/
#btnClear {
    width: 100%;
    margin-top: 12px;
    padding: 14px 20px;
    border: none;
    border-radius: 8px;
    background: linear-gradient( 135deg,  #dc3545,  #b02a37  );
    color: white;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow:  0 4px 8px rgba( 0,  0,  0, 0.15 );
}

#btnClear:hover {
    transform:translateY(-2px);
    box-shadow: 0 8px 16px rgba(0,  0,  0, 0.25);
    background: linear-gradient( 135deg, #c82333,  #921925 );
}

#btnClear:active {
    transform: translateY(0);
    box-shadow: 0 2px 4px rgba( 0,  0,  0, 0.2  );
}

#btnClear:focus {
    outline: none;
    box-shadow:  0 0 0 4px rgba( 220,   53,   69,  0.25  );
}
/* ==========================================================================
   A) CARÁCTER RESPONSIVE (Media Queries)
   ========================================================================== */
@media (max-width: 600px) {
    #article-section {
        padding: 20px 12px;
    }
    #article-section .central h2 {
        font-size: 1.6rem;
    }
    #article-section .central h3 {
        max-width: 100%; /* En móviles aprovecha todo el ancho del dispositivo */
    }
}


