/* --- index.css --- */
.hero {
    height: 95vh; width: 100%;
    background-image: url('img/Fondo.png');
    background-size: cover; background-position: center;
    position: relative; display: flex; align-items: center; justify-content: center;
    text-align: center;
}
.overlay {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: linear-gradient(to bottom, rgba(0,0,0,0.3), rgba(0,0,0,0.5));
}
.hero-content {
    position: relative; z-index: 2; color: white;
    max-width: 900px; padding: 20px; margin-top: 40px;
}
.hero-content h1 {
    font-size: 3.5rem; line-height: 1.2; margin-bottom: 20px;
    font-weight: 800; text-transform: uppercase;
    text-shadow: 0 2px 10px rgba(0,0,0,0.3);
}
.hero-content p {
    font-size: 1.5rem; margin-bottom: 40px;
    opacity: 0.95; font-weight: 400;
}

/* BOTONES HERO */
.hero-buttons { display: flex; gap: 20px; justify-content: center; margin-top: 40px; }
.btn-primary, .btn-secondary {
    padding: 15px 35px; border-radius: 50px; font-weight: 800;
    font-size: 0.95rem; text-transform: uppercase; letter-spacing: 1px;
    display: inline-block; transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    position: relative;
}
.btn-primary {
    background-color: var(--accent-color); color: white;
    box-shadow: 0 4px 15px rgba(0, 153, 255, 0.3); border: 2px solid var(--accent-color);
}
.btn-primary:hover {
    background-color: #007acc; transform: translateY(-5px);
    box-shadow: 0 20px 30px rgba(0, 153, 255, 0.5);
}
.btn-secondary {
    background-color: white; color: #1a1a1a;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1); border: 2px solid white;
}
.btn-secondary:hover {
    background-color: #f9f9f9; color: var(--accent-color);
    transform: translateY(-5px); box-shadow: 0 20px 30px rgba(0,0,0,0.2);
}

/* CATEGORÍAS (TARJETAS) */
.categories { margin-top: -80px; position: relative; z-index: 10; margin-bottom: 80px; }
.grid-cards {
    display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    box-shadow: 0 20px 40px rgba(0,0,0,0.05);
}
.category-link { text-decoration: none; color: inherit; display: flex; }

.cat-card {
    background: var(--card-bg); /* CAMBIO CLAVE: Variable de fondo */
    padding: 40px 30px; text-align: center;
    border-right: 1px solid var(--card-border); /* CAMBIO CLAVE: Variable de borde */
    width: 100%; height: 100%; display: flex; flex-direction: column; justify-content: flex-start;
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); position: relative; z-index: 1;
}

.category-link:last-child .cat-card { border-right: none; }

.cat-card:hover, .category-link:hover .cat-card {
    transform: scale(1.08); z-index: 10;
    box-shadow: 0 30px 60px rgba(0,0,0,0.15);
    border-right-color: transparent; border-radius: 4px;
}

.card-icon {
    font-size: 2.5rem; color: var(--text-main); /* CAMBIO */
    margin-bottom: 25px; display: inline-block; transition: transform 0.3s;
}
.cat-card:hover .card-icon { transform: translateY(-5px) scale(1.1); color: var(--accent-color); }
.cat-card h3 {
    font-size: 1rem; margin-bottom: 15px; text-transform: uppercase;
    letter-spacing: 1px; font-weight: 800; color: var(--text-main); /* CAMBIO */
}
.cat-card p { font-size: 0.9rem; color: var(--text-secondary); /* CAMBIO */ }

/* SECCIÓN BLOG */
.latest-articles { padding-top: 80px; padding-bottom: 100px; }
.section-header { margin-bottom: 50px; text-align: center; }
.section-header h2 {
    font-size: 2.5rem; color: var(--text-main); /* CAMBIO */
    font-weight: 800; text-transform: uppercase; letter-spacing: -1px;
}
.section-header p { color: var(--text-secondary); margin-top: 10px; font-size: 1.1rem; }

.articles-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; }

.blog-card {
    background: var(--card-bg); /* CAMBIO */
    border: 1px solid var(--card-border); /* CAMBIO */
    border-radius: 0; overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.blog-card:hover { transform: translateY(-5px); box-shadow: 0 20px 40px rgba(0,0,0,0.1); }

.article-img { width: 100%; height: 220px; object-fit: cover; display: block; }
.card-content { padding: 30px; }

.tag {
    display: block; font-size: 0.75rem; font-weight: 800; letter-spacing: 1.5px;
    color: var(--accent-color); margin-bottom: 12px; text-transform: uppercase;
}
.blog-card h3 {
    font-family: 'Inter', sans-serif; font-size: 1.4rem; line-height: 1.25;
    font-weight: 800; color: var(--text-main); /* CAMBIO */
    margin-bottom: 12px;
}
.blog-card p {
    font-family: 'Inter', sans-serif; font-size: 1rem;
    color: var(--text-secondary); /* CAMBIO */
    line-height: 1.6; margin-bottom: 25px;
}
.read-more {
    font-weight: 700; font-size: 0.9rem; color: var(--text-main); /* CAMBIO */
    text-transform: uppercase; letter-spacing: 0.5px;
    border-bottom: 2px solid var(--accent-color); padding-bottom: 2px; transition: color 0.2s;
}
.read-more:hover { color: var(--accent-color); }

/* --- Ajustes Móvil Home --- */
@media (max-width: 768px) {
    .hero-content h1 { 
        font-size: 1.8rem; /* Bajamos de 3.5rem para que no se corte */
        padding: 0 10px;
    }
    .hero-content p { font-size: 1rem; }
    .hero-buttons { flex-direction: column; gap: 10px; width: 100%; padding: 0 20px; }
    
    .categories { margin-top: 0; } /* Quitamos el margen negativo en móvil */
    .grid-cards { grid-template-columns: 1fr; } /* Una tarjeta por fila */
    
    .cat-card { 
        border-right: none; 
        border-bottom: 1px solid var(--card-border); 
        padding: 30px 20px;
    }
    
    .section-header h2 { font-size: 1.8rem; }
    .articles-grid { grid-template-columns: 1fr; padding: 0 10px; }
}