/*

UFUMBUZI BLOG
blog.css
========

*/

:root {


--primary: #0f4c81;

--primary-hover: #0b3d67;

--text: #1f2937;

--text-light: #6b7280;

--border: #e5e7eb;

--background: #ffffff;

--background-alt: #f8fafc;

--shadow:
    0 2px 8px rgba(
        0,
        0,
        0,
        0.05
    );

--radius: 12px;

--max-width: 1200px;


}

/* ==================================================
RESET
================================================== */

* {

  margin: 0;

  padding: 0;

  box-sizing: border-box;

}

html {


scroll-behavior: smooth;


}

body {


font-family:
    Arial,
    Helvetica,
    sans-serif;

color: var(--text);

background: var(--background);

line-height: 1.6;


}

img {


display: block;

max-width: 100%;


}

a {


text-decoration: none;

color: inherit;


}

button {


font: inherit;

cursor: pointer;


}

/* ==================================================
LAYOUT
================================================== */

.container {


width: 100%;

max-width: var(--max-width);

margin: 0 auto;

padding: 0 1rem;


}

section {


padding: 3rem 0;


}

/* ==================================================
HEADER
================================================== */

.site-header {


border-bottom: 1px solid var(--border);

background: white;

position: sticky;

top: 0;

z-index: 100;


}

.site-header .container {


display: flex;

justify-content: space-between;

align-items: center;

min-height: 70px;


}

.logo img {


height: 42px;


}

.tool-icon {


width: 96px;


}

.main-nav {


display: flex;

gap: 1.5rem;


}

.main-nav a {


font-weight: 600;

color: var(--text);


}

.main-nav a:hover {


color: var(--primary);


}

/* ==================================================
HERO
================================================== */

.hero {


background: var(--background-alt);

text-align: center;


}

.hero h1 {


font-size: 2.5rem;

margin-bottom: 1rem;


}

.hero p {


max-width: 800px;

margin: 0 auto 2rem;

color: var(--text-light);


}

.search-form {


max-width: 700px;

margin: 0 auto;


}

.search-form input {


width: 100%;

padding: 1rem;

border: 1px solid var(--border);

border-radius: var(--radius);

font-size: 1rem;


}

/* ==================================================
TABS
================================================== */

.tabs-section {


padding-top: 1rem;

padding-bottom: 1rem;


}

.blog-tabs {


display: flex;

flex-wrap: wrap;

gap: .75rem;


}

.tab {


border: 1px solid var(--border);

background: white;

padding: .75rem 1rem;

border-radius: 999px;

transition: .2s;


}

.tab:hover {


border-color: var(--primary);


}

.tab.active {


background: var(--primary);

color: white;

border-color: var(--primary);


}

/* ==================================================
ARTICLES
================================================== */

.articles-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
}

.article-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: white;
    overflow: hidden;
}

.article-card:hover {


box-shadow: var(--shadow);

transform:
    translateY(-2px);


}

.article-card a {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.article-card-image {
    width: 100%;
    aspect-ratio: 1 / 1;
    background: #e4f7ff;
    overflow: hidden;
}

.article-card-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.article-card-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 1rem;
    background: #f6fcff;
}

.article-meta {
    margin-top: auto;
}

.article-card-category {


display: inline-block;

margin-bottom: .5rem;

font-size: .8rem;

font-weight: 700;

color: var(--primary);


}

.article-card h3 {
    line-height: 1.4;
    height: 2.8em; /* 2 líneas */
    overflow: hidden;
    color: darkblue;
}

.article-card p {
    line-height: 1.5;
    min-height: 4.5em; /* 3 líneas */
}

.article-meta {
    margin-top: auto;
    font-size: .85rem;
    color: var(--text-light);
}

/* ==================================================
TOOLS
================================================== */

.section-title {


margin-bottom: 1rem;


}

.section-description {


margin-bottom: 2rem;

color: var(--text-light);


}

.tools-grid {


display: grid;

grid-template-columns:
    repeat(3, minmax(0, 1fr));

gap: 1.5rem;


}

.tool-card {


border: 1px solid var(--border);

border-radius: var(--radius);

padding: 1.5rem;


}

.tool-card h3 {


margin-bottom: .75rem;


}

.tool-card p {


color: var(--text-light);

margin-bottom: 1rem;


}

.tool-card a {


color: var(--primary);

font-weight: 600;


}

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

.site-footer {
    margin-top: 50px;
    padding-top: 20px;
    border-top: 1px solid #ccc;
    background-color: lightblue;
    
    /* Flexbox para alinear todo al centro verticalmente */
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px; /* Espaciado uniforme entre los bloques del footer */
    text-align: center;
}

/* Contenedor flexible para enlaces o botones que van en la misma fila */
.footer-row {
    display: flex;
    flex-wrap: wrap;       /* Hace que salten de línea si no hay espacio */
    justify-content: center; /* Centra los elementos horizontalmente */
    gap: 15px;             /* Separación entre los botones/enlaces */
}

.site-footer p {
    margin: 0; /* Reseteamos márgenes para que el 'gap' del footer controle el espacio */
}

.site-footer a {
    color: #007bff;
    text-decoration: none;
    background-color: lightblue;
    padding: 5px 8px;
    border-radius: 4px;
    border: 0 solid #ddd;
}

.site-footer a:hover {
    text-decoration: underline;
}

        .top-btn {
            /* Cambia 'relative' por 'fixed' */
            position: fixed;
            text-decoration: none;
            /* Define la distancia desde los bordes de la ventana (viewport) */
            bottom: 20px;
            /* Distancia desde arriba */
            right: 20px;
            /* Distancia desde la derecha */

            /* Asegúrate de que esté por encima de otros elementos */
            z-index: 1000;

            /* Tu estilo visual se mantiene igual */
            cursor: pointer;
            background: #3a80e9;
            color: white;
            border: none;
            padding: 6px 10px;
            font-size: 14px;
            border-radius: 8px;
            display: flex;
            gap: 5px;
            transition: background-color 0.3s;
        }

/* ==================================================
RESPONSIVE
================================================== */

@media (max-width: 992px) {


.articles-grid {

    grid-template-columns: 1fr;

}


}

@media (max-width: 768px) {


.hero h1 {

    font-size: 2rem;

}

.tools-grid {

    grid-template-columns: 1fr;

}

.main-nav {

    gap: 1rem;

}


}


.tools-carousel-wrapper {

    display: flex;

    align-items: center;

    gap: 1rem;

}

.tools-carousel {

    flex: 1;

    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 1rem;

}

.carousel-btn {

    border: none;

    background: white;

    box-shadow: var(--shadow);

    width: 50px;

    height: 50px;

    border-radius: 50%;

    font-size: 1.2rem;

}

.carousel-btn:hover {

    background: var(--primary);

    color: white;

}

.carousel-dots {

    margin-top: 1rem;

    display: flex;

    justify-content: center;

    gap: .5rem;

}

.carousel-dot {

    width: 10px;

    height: 10px;

    border-radius: 50%;

    background: #d1d5db;

}

.carousel-dot.active {

    background: var(--primary);

}

@media (max-width: 768px) {

    .tools-carousel {

        grid-template-columns:
            repeat(2, 1fr);

    }

}

@media (max-width: 480px) {

    .tools-carousel {

        grid-template-columns:
            1fr;

    }

.site-header .container {

    flex-direction: column;

    gap: .75rem;

    padding-top: .75rem;

    padding-bottom: .75rem;

}


}
