/*
==========================================
UFUMBUZI APP STORE
store.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: 1200px;

}

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

}

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

}

.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);

}

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

.hero {

    padding:
        4rem 0;

    text-align: center;

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

}

.hero h1 {

    font-size: 2.5rem;

    margin-bottom: 1rem;

}

.hero p {

    max-width: 700px;

    margin: 0 auto;

    color:
        var(--text-light);

}

/*
==========================================
SEARCH
==========================================
*/

.search-section {

    padding:
        2rem 0;

}

#searchInput {

    width: 100%;

    padding:
        1rem;

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

    border-radius:
        var(--radius);

    font-size: 1rem;

}

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

.tabs-section {

    padding-bottom: 2rem;

}

.tabs {

    display: flex;

    flex-wrap: wrap;

    gap: .75rem;

}

.tab {

    border: none;

    background:
        var(--surface);

    padding:
        .75rem 1rem;

    border-radius:
        999px;

    cursor: pointer;

    transition:
        .2s;

}

.tab:hover {

    background:
        var(--surface-hover);

}

.tab.active {

    background:
        var(--primary);

    color:
        white;

}

/*
==========================================
APPS GRID
==========================================
*/

.apps-section {

    padding:
        1rem 0 4rem;

}

.apps-grid {

    display: grid;

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

    gap: 1.5rem;

}

/*
==========================================
APP CARD
==========================================
*/

.app-card {

    background:
        white;

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

    border-radius:
        var(--radius);

    overflow: hidden;

    transition:
        transform .2s,
        box-shadow .2s;

}

.app-card:hover {

    transform:
        translateY(-4px);

    box-shadow:
        var(--shadow);

}

.app-card-content {

    padding: 1.25rem;

}

.app-icon {

    width: 96px;

    height: 96px;

    object-fit: contain;

    display: block;

    margin:
        1.5rem auto
        1rem;

}

.app-card h2 {

    font-size: 1.25rem;

    margin-bottom: .75rem;

}

.app-card p {

    color:
        var(--text-light);

    margin-bottom: 1rem;

}

.app-category {

    display: inline-block;

    font-size: .85rem;

    padding:
        .3rem .7rem;

    border-radius:
        999px;

    background:
        #dbeafe;

    color:
        var(--primary);

    margin-bottom: 1rem;

}

.app-link {

    display: inline-block;

    text-decoration: none;

    color:
        var(--primary);

    font-weight: 600;

}

.app-link:hover {

    text-decoration: underline;

}

/*
==========================================
RESOURCES
==========================================
*/

.resources-section {

    padding:
        4rem 0;

    background:
        var(--surface);

}

.section-title {

    text-align: center;

    margin-bottom: .5rem;

}

.section-description {

    text-align: center;

    color:
        var(--text-light);

    margin-bottom: 2rem;

}

/*
==========================================
CAROUSEL
==========================================
*/

.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;

    width: 42px;

    height: 42px;

    border-radius: 50%;

    cursor: pointer;

    background:
        white;

    box-shadow:
        var(--shadow);

}

.carousel-dots {

    display: flex;

    justify-content: center;

    gap: .5rem;

    margin-top: 1rem;

}

.dot {

    width: 10px;

    height: 10px;

    border-radius: 50%;

    background:
        #cbd5e1;

    cursor: pointer;

}

.dot.active {

    background:
        var(--primary);

}

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

        .site-footer {
            margin-top: 50px;
            padding-top: 20px;
            border-top: 1px solid #ccc;
            background-color: lightblue;
            text-align: center;
        }

        .site-footer p {
            margin: 10px 0
        }

        .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
        }

/*
==========================================
APP ACTIONS
==========================================
*/

.app-actions {

    display: flex;

    gap: .75rem;

    margin-top: 1rem;

}

.btn-primary {

    flex: 1;

    text-align: center;

    text-decoration: none;

    background:
        var(--primary);

    color: white;

    padding:
        .75rem;

    border-radius:
        8px;

    font-weight: 600;

    transition:
        .2s;

}

.btn-primary:hover {

    background:
        var(--primary-hover);

}

.btn-secondary {

    flex: 1;

    text-align: center;

    text-decoration: none;

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

    color:
        var(--text);

    padding:
        .75rem;

    border-radius:
        8px;

    font-weight: 600;

    transition:
        .2s;

}

.btn-secondary:hover {

    background:
        var(--surface);

}

/*
==========================================
FEATURED BADGE
==========================================
*/

.app-card {

    position: relative;

}

.featured-badge {

    position: absolute;

    top: 12px;

    right: 12px;

    background:
        var(--primary);

    color: white;

    font-size: .75rem;

    font-weight: 600;

    padding:
        .3rem .7rem;

    border-radius:
        999px;

    z-index: 2;

}

/*
==========================================
RESOURCE CARDS
==========================================
*/

.tool-card {

    background: white;

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

    border-radius: var(--radius);

    overflow: hidden;

    box-shadow: var(--shadow);

}

.tool-card a {

    text-decoration: none;

    color: inherit;

}

.img-related {

    width: 100%;

    height: 180px;

    object-fit: cover;

    display: block;

}

.tool-card-content,
.article-card-content {

    padding: 1rem;

}

.tool-card h3 {

    margin-bottom: .75rem;

}

.tool-card p {

    color: var(--text-light);

}

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

@media (
    max-width: 768px
) {

    .hero h1 {

        font-size: 2rem;

    }

    .apps-grid {

        grid-template-columns:
            1fr;

    }

    .tools-carousel {

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

    }

}

@media (
    max-width: 480px
) {

    .tools-carousel {

        grid-template-columns:
            1fr;

    }

}

