/* =========================
   App Checklist Theme
========================= */

:root {

    --primary-color: #1565C0;

    --sport-color: #EF5350;

    --trip-color: #4A90E2;

    --shop-color: #5BC08F;


    --text-color: #1f1f1f;

    --secondary-text: #666;

    --surface-color: #ffffff;

    --background-color: #fafafa;

}

/* =========================
   Global reset
========================= */

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}


body {
    font-family: "Roboto", sans-serif;
    background: var(--background-color);
    color: var(--text-color);
    line-height: 1.6;
}


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


a {
    color: inherit;
    text-decoration: none;
}


/* =========================
   Layout
========================= */

header,
main,
footer {
    width: 100%;
}


.container {
    width: min(1100px, 90%);
    margin: auto;
}


/* =========================
   Header
========================= */

header {
    padding: 24px 0;
}

.brand img {

    height: 48px;

    width: auto;

}


/* =========================
   Footer
========================= */


footer {

    margin-top: 80px;

    padding: 40px 0;

    border-top: 1px solid #eeeeee;

    color: #666;

    font-size: 14px;

}



.footer-content {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

}



.footer-nav {

    display: flex;

    gap: 20px;

}



.footer-nav a:hover {

    color: #000;

}



@media(max-width:700px){


    .footer-content {

        flex-direction: column;

        text-align: center;

    }


}


/* =========================
   Buttons
========================= */

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 12px 24px;

    border-radius: 12px;

    font-weight: 500;

    transition: transform 0.2s ease;
}


.button:hover {
    transform: translateY(-2px);
}


/* =========================
   Cards
========================= */

.card {

    background: white;

    border-radius: 20px;

    padding: 24px;

    box-shadow: 0 4px 20px rgba(0,0,0,0.08);

}


/* =========================
   Responsive
========================= */

@media (max-width: 700px) {

    .container {
        width: 92%;
    }

}

/* =========================
   Header navigation
========================= */


.header-content {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 30px;

}


.brand {

    display: flex;

    align-items: center;

    gap: 12px;

    font-size: 24px;

    font-weight: 700;

}


.brand img {

    height: 48px;

}


nav {

    display: flex;

    gap: 24px;

}


nav a {

    font-size: 15px;

    color: #555;

}


nav a:hover {

    color: #000;

}


@media (max-width:700px) {


    .header-content {

        flex-direction: column;

    }


    nav {

        flex-wrap: wrap;

        justify-content: center;

    }

}

/* =========================
   Hero section
========================= */


.hero {

    padding: 50px 0 10px;

}


.hero-content {

    display: flex;

    justify-content: center;

}


.hero-text {

    max-width: 700px;

    text-align: center;

}


.hero h1 {

    font-size: clamp(40px, 6vw, 64px);

    line-height: 1.1;

    font-weight: 700;

    margin-bottom: 24px;

}


.hero p {

    font-size: 20px;

    color: #555;

    margin-bottom: 40px;

}


.hero-actions {

    display: none;

    justify-content: center;

    gap: 16px;

    flex-wrap: wrap;

}
/* =========================
   Hero app buttons
========================= */


.hero-app {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    padding: 14px 32px;

    border-radius: 30px;

    font-weight: 600;

    color: white;

    transition: transform 0.2s ease,
    box-shadow 0.2s ease;

}


.hero-app:hover {

    transform: translateY(-3px);

    box-shadow:
            0 8px 20px rgba(0,0,0,0.15);

}


.hero-app.sport {

    background: var(--sport-color);

}


.hero-app.trip {

    background: var(--trip-color);

}


.hero-app.shop {

    background: var(--shop-color);

}


/* =========================
   Buttons colors
========================= */


.primary {

    background: var(--primary-color);
    color: white;

}


.secondary {

    background: #eeeeee;

    color: #333;

}
/* =========================
   Apps section
========================= */


.apps {

    padding: 30px 0;

}


.apps h2 {

    text-align: center;

    font-size: 36px;

    margin-bottom: 40px;

}



.apps-grid {

    display: grid;

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

    gap: 24px;

}



.app-card {

    text-align: center;

}



.app-card h3 {

    font-size: 26px;

    margin-bottom: 16px;

}



.app-card p {

    color: #555;

    margin-bottom: 24px;

}



/* App colors */


.sport {

    border-top: 6px solid var(--sport-color);

}


.trip {

    border-top: 6px solid var(--trip-color);

}


.shop {

    border-top: 6px solid var(--shop-color);

}



.app-button {

    margin-top: 10px;

}



.disabled {

    opacity: 0.6;

    cursor: default;

}



@media(max-width:900px){


    .apps-grid {

        grid-template-columns: 1fr;

    }


}

/* =========================
   Content pages
========================= */


.page {

    padding: 30px 0;

}



.page h1 {

    font-size: 48px;

    margin-bottom: 30px;

}



.page h2 {

    font-size: 28px;

    margin-top: 40px;

    margin-bottom: 16px;

}



.page p {

    color: #555;

    margin-bottom: 16px;

    max-width: 800px;

}



@media(max-width:700px){


    .page h1 {

        font-size: 36px;

    }


}
.app-card {

    transition: transform 0.2s ease,
    box-shadow 0.2s ease;

}


.app-card:hover {

    transform: translateY(-6px);

    box-shadow:
            0 10px 30px rgba(0,0,0,0.12);

}
/* =========================
   App icons
========================= */
.app-icon {
    width: 200px;
    height: 200px;
    object-fit: contain;
    margin: 0 auto 24px;
}
/* =========================
   Store buttons
========================= */


.app-button {

    display: inline-block;

    margin: 8px;

}
.store-link {

    display: inline-block;

    margin: 8px;

}


.store-badge {

    height: 50px;

    width: auto;

}

/* =========================
   App cards layout
========================= */


.app-card {

    display: flex;

    flex-direction: column;

    align-items: center;

    height: 100%;

}


.app-card p {

    flex-grow: 1;

}

.hero-app {

    color: white;

    border-radius: 30px;

    padding: 14px 30px;

    font-weight: 600;

}


.hero-app.sport {

    background: var(--sport-color);

}


.hero-app.trip {

    background: var(--trip-color);

}


.hero-app.shop {

    background: var(--shop-color);

}