/*
==========================================
UFUMBUZI APP PAGE
app.css
==========================================
*/

:root {

    --primary: #0f4c81;
    --primary-hover: #2563eb;

    --background: #ffffff;

    --surface: #f8fafc;
    --surface-hover: #f1f5f9;

    --text: #1e293b;
    --text-light: #64748b;

    --border: #e2e8f0;

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

    --radius: 12px;

    --max-width: 1100px;

}

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

* {

    margin: 0;
    padding: 0;
    box-sizing: border-box;

}

body {

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

    background:
        var(--background);

    color:
        var(--text);

    line-height: 1.7;

}

img {

    max-width: 100%;
    display: block;

}

a {

    text-decoration: none;

}

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

.container {

    width: 100%;

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

    margin: 0 auto;

    padding: 0 1rem;

}

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

.site-header {

    background:white;

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

    position: sticky;

    top: 0;

    z-index: 100;

}

.site-header .container {

    display: flex;

    justify-content:
        space-between;

    align-items: center;

    min-height: 70px;

}

img {


display: block;

max-width: 100%;


}

a {


text-decoration: none;

color: inherit;


}

.logo {

    text-decoration: none;

    font-size: 1.5rem;

    font-weight: 700;

    color:
        var(--primary);

}

.logo img {


height: 42px;


}


.site-header nav {

    display: flex;

    gap: 1.5rem;

}

.site-header nav a {

    text-decoration: none;

    color:
        var(--text);

    font-weight: 500;

}

.site-header nav a:hover {

    color:
        var(--primary);

}

/*
==========================================
BUTTONS
==========================================
*/

.btn-primary {

    display: inline-block;

    background:
        var(--primary);

    color: white;

    padding:
        .9rem 1.5rem;

    border-radius:
        10px;

    font-weight: 600;

    transition:
        .2s;

}

.btn-primary:hover {

    background:
        var(--primary-hover);

}

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

.app-hero {

    padding:
        4rem 0;

    background:
        linear-gradient(
            180deg,
            #f8fafc,
            #ffffff
        );

}

.app-hero-content {

    display: flex;

    align-items: center;

    gap: 2rem;

}

.app-icon-large {

    width: 160px;

    height: 160px;

    object-fit: contain;

    flex-shrink: 0;

}

.app-category {

    display: inline-block;

    background:
        #dbeafe;

    color:
        var(--primary);

    padding:
        .35rem .8rem;

    border-radius:
        999px;

    font-size: .85rem;

    margin-bottom: 1rem;

}

#appTitle {

    font-size: 2.5rem;

    margin-bottom: 1rem;

}

#appDescription {

    color:
        var(--text-light);

    margin-bottom: 1.5rem;

    font-size: 1.1rem;

}

.hero-actions {

    display: flex;

    gap: 1rem;

    flex-wrap: wrap;

}

/*
==========================================
CONTENT
==========================================
*/

.content-section {

    padding:
        4rem 0;

}

.content-section h2 {

    margin-bottom: 1.5rem;

    font-size: 2rem;

}

#appLongDescription {

    color:
        var(--text);

}

#appLongDescription p {

    margin-bottom: 1rem;

}

/*
==========================================
FEATURES
==========================================
*/

.features-list {

    list-style: none;

}

.features-list li {

    padding:
        .75rem 0;

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

}

.features-list li::before {

    content: "✓ ";

    color:
        #16a34a;

    font-weight: 700;

    margin-right: .5rem;

}

/*
==========================================
SCREENSHOTS
==========================================
*/

.screenshots-section {

    padding:
        4rem 0;

    background:
        var(--surface);

}

.screenshots-section h2 {

    margin-bottom: 2rem;

}

.screenshots-gallery {

    display: grid;

    grid-template-columns:
        repeat(
            auto-fit,
            minmax(
                250px,
                1fr
            )
        );

    gap: 1rem;

}

.screenshots-gallery img {

    width: 100%;
    
    max-width: 800px;

    border-radius:
        var(--radius);

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

    box-shadow:
        var(--shadow);

}

/*
==========================================
INSTALL PWA
==========================================
*/

.install-section {

    padding:
        4rem 0;

    background:
        var(--surface);

}

.install-section h2 {

    text-align: center;

    margin-bottom: 2rem;

}

.install-grid {

    display: grid;

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

    gap: 1.5rem;

}

.install-card {

    background:
        white;

    padding:
        1.5rem;

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

    border-radius:
        var(--radius);

}

.install-card h3 {

    margin-bottom: .75rem;

}

/*
==========================================
RELATED
==========================================
*/

.related-section {

    padding:
        4rem 0;

}

.related-section h2 {

    margin-bottom: 2rem;

}

.related-grid {

    display: grid;

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

    gap: 1.5rem;

}

.related-card-apps,
.related-card {

    background:
        white;

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

    border-radius:
        var(--radius);

    overflow: hidden;

    transition:
        .2s;

}

.related-card-apps:hover,
.related-card:hover {

    transform:
        translateY(-4px);

    box-shadow:
        var(--shadow);

}

.related-card-apps img {

    width: 128px;

    object-fit: cover;

}

.related-card img {

    width: 340px;

    object-fit: cover;

}

.related-card-content {

    padding: 1rem;

}

.related-card-apps h3,
.related-card h3 {

    margin-bottom: .5rem;

    font-size: 1rem;

}

.related-card p,
.related-card p {

    color:
        var(--text-light);

    font-size: .9rem;

}

/*
==========================================
SUPPORT
==========================================
*/

.support-section {

    padding:
        4rem 0;

    text-align: center;

    background:
        var(--surface);

}

.support-section h2 {

    margin-bottom: 1rem;

}

.support-section p {

    max-width: 700px;

    margin:
        0 auto
        2rem;

    color:
        var(--text-light);

}

/*
==========================================
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;
}

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

@media (
    max-width: 768px
) {

    .app-hero-content {

        flex-direction: column;

        text-align: center;

    }

    #appTitle {

        font-size: 2rem;

    }

    .hero-actions {

        justify-content: center;

    }

    .install-grid {

        grid-template-columns:
            1fr;

    }

    .related-grid {

        grid-template-columns:
            1fr;

    }

}

@media (
    max-width: 480px
) {

    .app-icon-large {

        width: 120px;

        height: 120px;

    }

    #appTitle {

        font-size: 1.8rem;

    }

}