/* ============================================================
   ESTILOS GLOBALES PARA TODAS LAS PÁGINAS
   ============================================================ */

body {
    font-family: 'Segoe UI', Arial, Helvetica, sans-serif;
    background: #111;
    color: #fff;
    margin: 0;
    padding: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}


main {
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
    padding: 32px 18px;
    background: #191919;
    border-radius: 14px;
    box-shadow: 0 2px 24px 0 rgba(0,0,0,0.13);
    min-height: 40vh;
    display: flex;
    flex-direction: column;
    align-items: center;

    justify-content: center;
}


a {
    color: #9b30ff;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}
a:hover {
    color: #fff;
    text-decoration: underline;

}


h1, h2, h3, h4, h5, h6 {
    color: #fff;
    font-family: inherit;
    margin: 0 0 18px 0;
    font-weight: 600;
    text-align: center;
}


input, textarea, select, button {
    font-family: inherit;
    font-size: 1em;
    border-radius: 8px;
    border: 1px solid #292929;
    background: #222;
    color: #fff;
    padding: 8px 12px;
    margin-bottom: 12px;
    box-sizing: border-box;
    transition: border-color 0.2s, box-shadow 0.2s;
}
input:focus, textarea:focus, select:focus {
    outline: none;
    border-color: #9b30ff;
    box-shadow: 0 0 4px #9b30ff44;
}


button, input[type="submit"], input[type="reset"] {
    background: #9b30ff;
    color: #fff;
    font-weight: 500;
    border: none;
    cursor: pointer;
    transition: background 0.2s, transform 0.2s;
    padding: 10px 20px;
    margin-top: 10px;
    border-radius: 8px;
}
button:hover, input[type="submit"]:hover, input[type="reset"]:hover {
    background: #7a20cc;
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(155, 48, 255, 0.18);
}


fieldset {
    background: #181818;
    border: 1.5px solid #292929;
    border-radius: 10px;
    padding: 18px;
    margin-bottom: 18px;
}


label {
    color: #9b30ff;
    font-weight: 500;
    margin-bottom: 6px;
    display: inline-block;
}

/* Fin de estilos globales */
/* ============================================================
   INDEX (pageIndex) - Fondo negro, secciones gris, enlaces morado
   ============================================================ */
.pageIndex {
    font-family: Arial, Helvetica, sans-serif;
    background-color: #000000; /* fondo negro */
    color: #ffffff;
    margin: 0;
    padding: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.pageIndex-main {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    background: transparent;
    border-radius: 0;
    box-shadow: none;
    min-height: auto;
    display: block;
}

/* HEADER */
.pageIndex header {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: min(1200px, calc(100% - 40px));
    margin: 0 auto;
    padding: 28px 0 12px;
}

.pageIndex header img {
    border-radius: 50%;
    width: 220px;
    height: 220px;
    border: 3px solid #ffffff;
    margin-bottom: 15px;
}

.pageIndex header h1 {
    font-size: 3em;
    margin: 5px 0;
    color: #ffffff;
}

.pageIndex header h3 {
    color: #f5f5f5;
    font-size: 1.2em;
    margin: 5px 0;
}
/*
.pageIndex header div.contenido{
    display: block;
    align-items: center;
}
*/

/* Estilos para los enlaces del header (WordPress e Internacional) */
.pageIndex .linksHeader {
    display: flex;
    justify-content: center;
    margin-top: 18px;
}

.pageIndex .linksHeader h5 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 18px;
    margin: 0;
    padding: 10px 18px;
    background-color: #161616;
    border: 1px solid #2f2f2f;
    border-radius: 18px;
}


.pageIndex header h5 a {
    color: #9b30ff;
    font-size: 1.45em;
    text-decoration: none;
    font-weight: bold;
    padding : 10px 16px;
    border-radius: 12px;
    transition: transform 0.22s ease, background-color 0.22s ease, color 0.22s ease, box-shadow 0.22s ease;
}

.pageIndex header h5 a:hover {
    color: #ffffff;
    background-color: rgba(155, 48, 255, 0.18);
    transform: translateY(-3px);
    box-shadow: 0 10px 18px rgba(0, 0, 0, 0.22);
}

.pageIndex header h5 a:focus-visible,
.pageIndex section ul li a:focus-visible,
.pageIndex footer a:focus-visible {
    outline: 3px solid #ffffff;
    outline-offset: 3px;
    border-radius: 6px;
    color: #ffffff;
    background-color: rgba(155, 48, 255, 0.28);
    text-decoration: none;
}

/* CONTENEDOR DE SECCIONES */
.pageIndex .contenedor-classes {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    width: min(1280px, calc(100% - 40px));
    margin: 0 auto;
    gap: 24px;
    flex-grow: 1;
    padding: 26px 0 36px;
}

.pageIndex section {
    flex: 1 1 250px;
    min-width: 240px;
    background-color: #2c2c2c;
    border-radius: 12px;
    padding: 22px 18px;
    text-align: center;
    box-sizing: border-box;
    border: 1px solid #3a3a3a;
    transition: transform 0.25s ease, background-color 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.pageIndex section:hover {
    transform: translateY(-5px);
    background-color: #3a3a3a;
    box-shadow: 0 14px 24px rgba(0, 0, 0, 0.22);
    border-color: #5a5a5a;
}

.pageIndex section h3 {
    color: #ffffff;
    margin-bottom: 12px;
    font-size: 1.5em;
}
.pageIndex section ul {
    padding: 0;
    margin: 0;
}

.pageIndex section ul li {
   list-style:none;
   margin: 8px 0;
}

.pageIndex section ul li a {
    color: #9b30ff;
    text-decoration: none;
    font-size: 1.15em;
    font-weight: bold;
    line-height: 1.4;
    word-break: break-word;
    display: inline-block;
    padding: 4px 6px;
    border-radius: 8px;
    transition: transform 0.2s ease, color 0.2s ease, text-shadow 0.2s ease, background-color 0.2s ease;
}

.pageIndex section ul li a:hover {
    text-decoration: none;
    color: #ffffff;
    background-color: rgba(155, 48, 255, 0.15);
    transform: translateY(-2px);
    text-shadow: 0 0 10px rgba(155, 48, 255, 0.45);
}

/* FOOTER */
.pageIndex footer {
    text-align: center;
    width: min(1320px, calc(100% - 28px));
    padding: 14px 22px 18px;
    background-color: #1a1a1a;
    color: #ffffff;
    font-size: 1em;
    margin-top: auto;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
    box-sizing: border-box;
    border-top: 1px solid #333333;
    border-radius: 10px;
}

.pageIndex footer p {
    margin: 0;
    line-height: 1.6;
}

.pageIndex .socialLinks {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 12px;
}

.pageIndex .socialLinks a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    border-radius: 999px;
    background-color: #242424;
    border: 1px solid #383838;
    color: #f4f4f4;
    text-decoration: none;
    font-weight: 600;
    transition: transform 0.22s ease, background-color 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}

.pageIndex .socialLinks a:hover {
    transform: translateY(-3px);
    background-color: #2f2f2f;
    border-color: #9b30ff;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
    text-decoration: none;
}

.pageIndex .socialIcon {
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background-color: #111111;
    color: #9b30ff;
    flex-shrink: 0;
}

.pageIndex .socialIcon svg {
    width: 16px;
    height: 16px;
    fill: currentColor;
}

.pageIndex footer .validator {
    margin-top: 10px;
}

@media (max-width: 768px) {
    .pageIndex header,
    .pageIndex .contenedor-classes,
    .pageIndex footer {
        width: calc(100% - 24px);
    }

    .pageIndex header img {
        width: 180px;
        height: 180px;
    }

    .pageIndex header h1 {
        font-size: 2.4em;
    }

    .pageIndex header h5 a {
        font-size: 1.1em;
    }

    .pageIndex .linksHeader h5 {
        width: 100%;
    }

    .pageIndex section {
        min-width: 100%;
    }

    .pageIndex .socialLinks a {
        width: 100%;
        justify-content: center;
    }
}



/* ============================================================
   ESTILOS COMUNES PARA TODAS LAS PÁGINAS DE ERROR
   ============================================================ */
body.errors {
    margin: 0;
    padding: 0;
    font-family: Arial, Helvetica, sans-serif;
    color: white !important;
    text-align: center;
    background: #111;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

body.errors h1 {
    font-size: 3.2em;
    font-weight: 900;
    margin-bottom: 15px;
    text-shadow: 0px 5px 20px rgba(0,0,0,0.4);
}

body.errors h2 {
    font-size: 2em;
    font-weight: 700;
    margin-top: 25px;
    opacity: 0.85;
}

body.errors p {
    font-size: 1.3em;
    max-width: 600px;
    line-height: 1.5;
    margin: 10px auto;
    opacity: 0.95;
}

body.errors a {
    color: #ffee66 !important;
    font-weight: bold;
    text-decoration: none;
}

body.errors a:hover {
    text-decoration: underline;
}

body.errors address {
    margin: 0 !important;
    margin-top: 20px;
    font-size: 1em;
    opacity: 0.7;
}

/* ============================================================
   PALETA COMPLETA DE ERRORES 
   ============================================================ */

/* 400 – Bad Request */
body.error400 {
    background: linear-gradient(135deg, #cc6600, #5a1d00);
}

/* 401 – Unauthorized (ya definido, pero mejoramos tono) */
body.error401 {
    background: linear-gradient(135deg, #222, #003366);
}

/* 402 – Payment Required */
body.error402 {
    background: linear-gradient(135deg, #006eff, #002966);
}

/* 403 – Forbidden (ya estaba, se mantiene) */
body.error403 {
    background: linear-gradient(135deg, #ff2d2d, #6c0000);
}

/* 404 – Not Found (ya estaba, más vibrante) */
body.error404 {
    background: linear-gradient(135deg, #8c33ff, #2e0066);
}

/* 405 – Method Not Allowed */
body.error405 {
    background: linear-gradient(135deg, #ff0099, #5a0044);
}

/* 408 – Request Timeout */
body.error408 {
    background: linear-gradient(135deg, #ff7a00, #663b00);
}

/* 500 – Internal Server Error */
body.error500 {
    background: linear-gradient(135deg, #9900ff, #4b0073);
}

/* 501 – Not Implemented */
body.error501 {
    background: linear-gradient(135deg, #00997a, #004236);
}

/* 502 – Bad Gateway */
body.error502 {
    background: linear-gradient(135deg, #00b5ff, #00506b);
}

/* 503 – Service Unavailable */
body.error503 {
    background: linear-gradient(135deg, #ffb300, #6b4300);
}

/* 504 – Gateway Timeout */
body.error504 {
    background: linear-gradient(135deg, #ff006e, #4b002a);
}



/* ============================================================
   SEND EMAIL PAGE
   ============================================================ */
.pageSendEmail {
   font-family: Arial, Helvetica, sans-serif;
    background-color: #000000; /* fondo negro */
    color: #ffffff;
    margin: 0;
    padding: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}
.pageSendEmail h1{
    margin: 20px 0;
}



/* ============================================================
   INTERNACIONAL (pageInternacional)
   Estilo similar al index
   ============================================================ */
.pageInternacional {
    font-family: Arial, Helvetica, sans-serif;
    background-color: #000000;
    color: #ffffff;
    margin: 0;
    padding: 0;
    min-height: 100vh;

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

/* CONTENIDO CENTRAL */
.pageInternacional .contenido {
    background-color: #2c2c2c;
    padding: 40px;
    border-radius: 14px;
    max-width: 800px;
    text-align: center;
}

/* TITULO */
.pageInternacional h1 {
    font-size: 2.8em;
    margin-bottom: 20px;
    color: #ffffff;
}

/* TEXTO */
.pageInternacional p {
    font-size: 1.4em;
    line-height: 1.6;
    color: #f5f5f5;
}


.pageInternacional a {
    color: #9b30ff;
    font-weight: bold;
    text-decoration: none;
}

.pageInternacional a:hover {
    text-decoration: underline;
}


/* ============================================================
   SEND EMAIL PAGE - COMPLETO
   ============================================================ */
.pageSendEmail {
    font-family: Arial, Helvetica, sans-serif;
    background-color: #000000; /* fondo negro */
    color: #ffffff;
    margin: 0;
    padding: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* TITULO PRINCIPAL */
.pageSendEmail h1 {
    margin: 30px 0 20px 0;
    font-size: 2.8em;
    text-align: center;
    color: #ffffff;
}

/* FORMULARIO CENTRAL */
.pageSendEmail form {
    background-color: #1a1a1a;
    padding: 30px 40px;
    border-radius: 14px;
    max-width: 500px;
    width: 90%;
    display: flex;
    flex-direction: column;
    gap: 20px;
    box-shadow: 0 0 20px rgba(255, 255, 255, 0.05);
}

/* ETIQUETAS */
.pageSendEmail label {
    display: block;
    margin-bottom: 6px;
    font-weight: bold;
    font-size: 1.1em;
    color: #9b30ff;
}

/* INPUTS Y TEXTAREA */
.pageSendEmail input[type="text"],
.pageSendEmail input[type="email"],
.pageSendEmail input[type="password"],
.pageSendEmail textarea {
    width: 100%;
    padding: 10px 12px;
    border-radius: 8px;
    border: 1px solid #444;
    background-color: #222;
    color: #ffffff;
    font-size: 1em;
    transition: 0.2s all;
}

.pageSendEmail input:focus,
.pageSendEmail textarea:focus {
    outline: none;
    border-color: #9b30ff;
    box-shadow: 0 0 8px #9b30ff66;
}

/* TEXTAREA */
.pageSendEmail textarea {
    min-height: 120px;
    resize: vertical;
}

/* BOTONES */
.pageSendEmail input[type="submit"],
.pageSendEmail button {
    background-color: #9b30ff;
    color: #ffffff;
    font-weight: bold;
    border: none;
    padding: 12px 20px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 1.1em;
    transition: 0.2s all;
}

.pageSendEmail input[type="submit"]:hover,
.pageSendEmail button:hover {
    background-color: #7a20cc;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(155, 48, 255, 0.3);
}

/* MENSAJES DE ERROR */
.pageSendEmail .error {
    background-color: #ff2d2d33;
    color: #ff2d2d;
    padding: 10px 15px;
    border-radius: 8px;
    font-weight: bold;
    font-size: 0.95em;
    margin-top: -10px;
}

/* MENSAJES DE EXITO */
.pageSendEmail .success {
    background-color: #00ff7733;
    color: #00ff77;
    padding: 10px 15px;
    border-radius: 8px;
    font-weight: bold;
    font-size: 0.95em;
    margin-top: 10px;
}

/* ENLACES */
.pageSendEmail a {
    color: #9b30ff;
    text-decoration: none;
    font-weight: bold;
}

.pageSendEmail a:hover {
    text-decoration: underline;
}

/* PARRAFOS Y CENTRADO */
.pageSendEmail p {
    font-size: 1em;
    line-height: 1.5;
    color: #f5f5f5;
    margin: 10px 0;
    text-align: center;
}

/* ESTILO PARA GRUPOS DE CAMPOS */
.pageSendEmail .form-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* Botones adicionales en Send Mail */
.pageSendEmail input[type="reset"],
.pageSendEmail input[type="button"] {
    background-color: #444;          
    color: #ffffff;
    font-weight: bold;
    border: none;
    padding: 12px 20px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 1.1em;
    margin-top: 10px;
    transition: 0.2s all;
}

.pageSendEmail input[type="reset"]:hover,
.pageSendEmail input[type="button"]:hover {
    background-color: #9b30ff;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(155, 48, 255, 0.3);
    color: #ffffff;
}


@media (max-width: 768px) {
    body.page-tailwind main {
        padding: 22px 12px 28px;
    }
}
