/*
Theme Name: TECREOWEB
Theme URI: https://ejemplo.com/TECREOWEB/
Author: TECREOWEB
Author URI: https://ejemplo.com/
Description: Un tema personalizado, desarrollado desde cero con un enfoque en rendimiento y buenas prácticas.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: custom-theme, responsive-layout, accessibility-ready
Text Domain: mitemapersonal
*/

/*-----------------------------------------------------------------------------
 * 1.0 - Reset Básico y Normalización
 *---------------------------------------------------------------------------*/
*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  line-height: 1.6;
  color: #333;
  background-color: #fff;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

/*-----------------------------------------------------------------------------
 * 2.0 - Tipografía Básica
 *---------------------------------------------------------------------------*/
h1, h2, h3, h4, h5, h6 {
  margin-top: 1.5em;
  margin-bottom: 0.5em;
  font-weight: 700;
  line-height: 1.2;
}

p {
  margin-bottom: 1em;
}

a {
  color: #0073aa;
  text-decoration: none;
}

a:hover,
a:focus {
  color: #005177;
  text-decoration: underline;
}

/*-----------------------------------------------------------------------------
 * 3.0 - Estructura y Clases de Ayuda (Helpers)
 *---------------------------------------------------------------------------*/
.container {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
}
/*-----------------------------------------------------------------------------
 * 4.0 - Cabecera (Header)
 *---------------------------------------------------------------------------*/
.site-header .container {
  display: flex;
  justify-content: space-between; /* Espacia los elementos al máximo */
  align-items: center;            /* Centra verticalmente */
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.site-branding .site-title a {
  font-size: 2rem;   /* Tamaño del título del sitio */
  font-weight: bold;
  color: #222;        /* Color del título */
  text-decoration: none;
}

.site-branding .site-description {
  margin: 0;
  font-size: 0.85rem;
  color: #666; /* Color de la descripción */
}

/* Estilos básicos para el menú */
.main-navigation ul {
  list-style: none; /* Quita los puntos de la lista */
  margin: 0;
  padding: 0;
  display: flex; /* Pone los elementos del menú en línea */
}

.main-navigation li {
  margin-left: 20px; /* Espacio entre elementos del menú */
}

.main-navigation a {
  text-decoration: none;
  font-weight: 600;
  color: #333;
  padding: 5px 0;
  border-bottom: 2px solid transparent; /* Efecto para el hover */
  transition: border-color 0.3s;
}

.main-navigation a:hover {
  color: #0073aa;
  border-bottom-color: #0073aa; /* Línea que aparece al pasar el ratón */
}

/*-----------------------------------------------------------------------------
 * 5.0 - Contenido Principal
 *---------------------------------------------------------------------------*/
.site-main {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

/* Estilos para cada artículo en el blog */
.post {
  border-bottom: 1px solid #eee; /* Línea separadora entre posts */
  padding-bottom: 2.5rem;
  margin-bottom: 2.5rem;
}

.post:last-child {
  border-bottom: none; /* No mostrar la línea en el último post */
  margin-bottom: 0;
}

.entry-title {
  margin-top: 0;
}

.entry-title a {
  text-decoration: none;
  color: #222;
}

.entry-title a:hover {
  color: #0073aa;
}

.post-thumbnail img {
  border-radius: 5px; /* Bordes redondeados para la imagen destacada */
  margin-bottom: 1.5rem;
}

.entry-content {
  line-height: 1.7; /* Mejora la legibilidad */
}
/*-----------------------------------------------------------------------------
 * 6.0 - Pie de página (Footer)
 *---------------------------------------------------------------------------*/
.site-footer {
  background-color: #f8f9fa; /* Un color de fondo suave */
  color: #6c757d;
  padding-top: 2rem;
  padding-bottom: 2rem;
  text-align: center;
  font-size: 0.9rem;
  border-top: 1px solid #e9ecef;
}

.site-footer a {
  color: #333;
  font-weight: 500;
}

/* ----------------------------------------------------------------
 *  1. Variables CSS (Paleta de Colores y Tipografías)
 * ---------------------------------------------------------------- */

:root {
  /* Paleta de Colores */
  --color-primario: #2c3e50;      /* Azul oscuro casi negro para textos importantes y títulos */
  --color-secundario: #3498db;    /* Un azul más vivo para enlaces y elementos interactivos */
  --color-acento: #e74c3c;        /* Un rojo/naranja para llamadas a la acción (botones, alertas) */
  --color-fondo-claro: #ecf0f1;   /* Un gris muy claro para los fondos de la página */
  --color-texto-base: #555555;     /* Gris oscuro para el texto de los párrafos */
  --blanco: #ffffff;

  /* Tipografías (ya cargadas desde functions.php) */
  --fuente-titulos: 'Montserrat', sans-serif;
  --fuente-parrafos: 'Lato', sans-serif;
}


/* ----------------------------------------------------------------
 *  2. Estilos Globales (Reseteo y Estilos Base)
 * ---------------------------------------------------------------- */

body {
  background-color: var(--color-fondo-claro);
  color: var(--color-texto-base);
  font-family: var(--fuente-parrafos);
  font-size: 16px;
  line-height: 1.6;
  margin: 0;
  padding: 0;
}


/* ----------------------------------------------------------------
 *  3. Estilos de Tipografía
 * ---------------------------------------------------------------- */

h1, h2, h3, h4, h5, h6 {
  font-family: var(--fuente-titulos);
  color: var(--color-primario);
  margin-top: 1.5em;
  margin-bottom: 0.5em;
  font-weight: 700; /* Usamos la versión "bold" que cargamos */
}

p {
  margin-bottom: 1em;
}

a {
  color: var(--color-secundario);
  text-decoration: none;
  transition: color 0.3s ease; /* Efecto suave al cambiar de color */
}

a:hover,
a:focus {
  color: var(--color-acento);
  text-decoration: underline;
}
/* ----------------------------------------------------------------
 *  7. Estilos de Contenido (Entradas y Páginas)
 * ---------------------------------------------------------------- */
.content-area {
  padding: 40px 0; /* Espacio vertical para separar del header y footer */
}

.entry-header {
  margin-bottom: 20px;
  border-bottom: 1px solid #dddddd;
  padding-bottom: 15px;
}

.entry-title {
  margin-top: 0;
  margin-bottom: 10px;
}

.entry-meta {
  color: #777;
  font-size: 14px;
}

.entry-meta span {
  margin-right: 15px;
}

.entry-content p {
  line-height: 1.7;
}

.entry-content img {
    max-width: 100%;
    height: auto;
}
/* ----------------------------------------------------------------
 *  8. Estilos de Comentarios
 * ---------------------------------------------------------------- */

.comments-area {
  margin-top: 40px;
  padding-top: 30px;
  border-top: 1px solid #dddddd;
}

.comments-title, 
.comment-reply-title {
  font-size: 24px;
  margin-bottom: 20px;
}

.comment-list {
  list-style: none;
  padding: 0;
}

.comment-form-comment label,
.comment-form-author label,
.comment-form-email label,
.comment-form-url label {
    display: block;
    margin-bottom: 5px;
    font-weight: bold;
    color: var(--color-primario);
}

.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    margin-bottom: 15px;
}

.comment-form .form-submit .submit {
    background-color: var(--color-secundario);
    color: var(--blanco);
    border: none;
    padding: 12px 25px;
    font-size: 16px;
    cursor: pointer;
    border-radius: 4px;
    transition: background-color 0.3s ease;
}

.comment-form .form-submit .submit:hover {
    background-color: var(--color-acento);
}
/* ----------------------------------------------------------------
 *  9. Estilos de la Barra Lateral (Sidebar) y Layout
 * ---------------------------------------------------------------- */

.main-content-area {
  display: flex; /* La magia empieza aquí: activa el modelo de caja flexible */
  gap: 30px; /* Crea un espacio entre el contenido y la sidebar */
}

#primary.content-area {
  flex: 1; /* Hace que el área de contenido principal ocupe todo el espacio disponible */
}

#secondary.widget-area {
  width: 300px; /* Define un ancho fijo para la sidebar */
  flex-shrink: 0; /* Evita que la sidebar se encoja si no hay espacio */
}

/* Estilos para los widgets */
.widget {
    background-color: var(--blanco);
    padding: 20px;
    border-radius: 4px;
    margin-bottom: 20px;
}

.widget-title {
    font-size: 20px;
    margin-top: 0;
    margin-bottom: 15px;
    border-bottom: 2px solid var(--color-secundario);
    padding-bottom: 10px;
}

.widget ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.widget ul li {
    padding: 5px 0;
    border-bottom: 1px solid var(--color-fondo-claro);
}

.widget ul li:last-child {
    border-bottom: none;
}
/* ----------------------------------------------------------------
 *  10. Estilos Responsive (Media Queries)
 * ---------------------------------------------------------------- */

@media (max-width: 768px) {

    /* --- Ajustes Generales para Tabletas y Móviles --- */
    
    .container {
        padding-left: 15px;
        padding-right: 15px;
    }
    
    h1.entry-title {
        font-size: 28px; /* Reducimos un poco el tamaño del título principal */
    }

    
    /* --- Ajustes del Layout con Sidebar --- */

    .main-content-area {
        flex-direction: column; /* Apila el contenido principal y la sidebar uno encima del otro */
    }

    #secondary.widget-area {
        width: 100%; /* La sidebar ahora ocupa todo el ancho */
        margin-top: 30px; /* Añade un espacio arriba para separarla del contenido */
    }


    /* --- Ajustes del Menú de Navegación --- */

    .main-navigation ul {
        flex-direction: column; /* Apila los elementos del menú en vertical */
        align-items: center; /* Centra los elementos apilados */
    }

    .main-navigation li {
        margin: 10px 0; /* Cambia el espaciado para la vista vertical */
    }
    
    .site-header {
        padding-bottom: 30px; /* Más espacio en el header para que quepa el menú vertical */
    }

}