:root {
    /* ANKARA COLORS 
    --primary: #34681E;
    --secondary: #648F57;
    --tertiary: #97B58A;
    --acent: #CBDC36;
    --grisaceo: #53655B;
    --fondo: #f0f0f0;
    --footer-bg: #444;
    --texto: #1A2E1A;
    --blanco: #ffffff;
    --input: #e8e8e8;
    --negro: #000000;
    --hoverVerde: #f1f8e9; */

    --primary: #26488c;
    --secondary: #6ddaf2;
    --tertiary: #8aa0b5;
    --acent: #4d98e9;
    --grisaceo: #535d65;
    --fondo: #f0f0f0;
    --footer-bg: #212224;
    --texto: #34495e;
    --blanco: #ffffff;
    --input: #e8e8e8;
    --negro: #000000;
    --hoverVerde: #b9edf9;
}

/* 1. Hace que el movimiento no sea un salto brusco */
html {
    scroll-behavior: smooth;
}

.borde {
    border: 1px solid red;
}

body {
    padding: 0;
    margin: 0;
    background-color: var(--fondo);
    font-family: 'Roboto Condensed', sans-serif;

}

.body-content {
    background-image: url('../img/bg.png');
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

footer {
    display: flex;
    flex-direction: column;
    background-color: var(--footer-bg);
    bottom: 0;
    color: var(--fondo);
}

footer .conjunto-info {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}

footer .conjunto-info .footer-colum {
    display: flex;
    flex: 1;
    max-width: 350px;
    flex-direction: column;
    justify-content: center;
    padding: 30px 20px;
}

footer .footer-colum h3 {
    font-weight: bold;
    text-transform: uppercase;
    font-size: 24px;
}

footer .footer-colum p {
    line-height: 1;
}

footer .footer-colum .icon {
    align-items: center;
}

footer .marca {
    text-align: center;
    font-size: 20px;
    font-weight: 500;
    padding: 10px 0;
    background-color: var(--grisaceo);
}


header {
    display: flex;
    position: fixed;
    flex-direction: row;
    top: 0;
    background-color: var(--blanco);
    padding: 10px;
    width: 100dvw;
    z-index: 1000;

    & .sec-icon {
        flex: 1;
        padding: 0 0 0 70px;
    }

    & .sec-menu {
        display: block;
        flex: 1;

        & .menu {
            display: flex;
            height: 100%;
            align-items: center;
            justify-content: center;

            & ul {
                margin: 0;

                & li {
                    display: inline-block;
                    list-style: none;
                    padding: 0 10px;

                    & .nav-item {
                        text-decoration: none;
                        color: var(--grisaceo);
                        font-weight: 500;
                        padding: 10px;
                        transition: all 0.3 ease-in-out;

                        &:hover {
                            font-weight: 900;
                            color: var(--primary);

                            &.dropdown::after {
                                color: var(--primary);
                            }
                        }
                    }
                }
            }

        }
    }

    & #toggle {
        display: none;
    }




}

#sidebar {
    display: none;
}


.dropdown::after {
    content: '\25BE';
    margin-left: 2px;
    color: var(--grisaceo);
    font-size: 18 px;
    transition: all 0.3s;

}

.boton {
    background-color: var(--primary);
    color: var(--blanco) !important;
    padding: 5px 20px;
    border-radius: 12px;
    border: 1px solid transparent;
    transition: all 0.3 ease-in-out;

    &:hover {
        background-color: var(--acent);
        border: 1px solid var(--acent);
        color: var(--texto) !important;

    }
}

.hero {
    display: flex;
    justify-content: start;
    align-items: center;
    text-align: left;
    color: var(--blanco);
    height: 100%;
    background: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6));

    & h1 {
        display: inline-block;
        transform: scaleY(1.3);
        font-size: 3rem;
        font-weight: bold;
        margin-bottom: 1rem;
        letter-spacing: 0px;
    }

    & p {
        font-size: 1.2em;
        line-height: 1.6;
        padding: 0 0 0 150px;
        margin-bottom: 3rem;
    }

    & .hero-content {
        max-width: 1000px;
        padding: 30px;
        align-items: end;
        text-align: right;
    }
}


.scroll-arrow {
    display: inline-block;
    width: 60px;
    height: 60px;
    border: 3px solid var(--blanco);
    color: var(--blanco);
    background-color: transparent;
    border-radius: 50%;
    line-height: 50px;
    font-size: 20px;
    cursor: pointer;
    align-items: center;
    text-align: center;

    & a {
        display: flex;
        justify-content: center;
        padding: 30% 0;
        text-decoration: none;
        color: var(--blanco);
    }
}


.cifras-section {
    background-color: var(--primary);
    color: var(--blanco);
    padding: 30px 20px;
    text-align: center;
}

.cifras-header {
    & h4 {
        letter-spacing: 2px;
        font-size: 0.9rem;
        margin: 10px 0;
        opacity: 0.8;
    }

    & h2 {
        font-size: 2.5rem;
        margin-bottom: 50px;
    }

    & .destaque {
        color: var(--acent);
        font-style: italic;
        font-weight: bold;
    }
}


.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid rgba(255, 255, 255, 0.3);
    width: 100%;
    margin: 0 auto;
}

.stat-header {
    display: inline-block;

    & i {
        position: absolute;
        top: 15px;
        right: 15px;
        font-size: 1.5rem;
        color: var(--acent);
    }

}

.stat-item {
    display: flex;
    flex-direction: column;
    padding: 30px;
    position: relative;
    border-left: 1px solid rgba(255, 255, 255, 0.3);
}

.stat-item:first-child {
    border-left: none;
}

.number-ref {
    position: absolute;
    top: 15px;
    left: 15px;
    font-size: 0.7rem;
    opacity: 0.6;
}

.stat-content h3 {
    font-size: 3rem;
    margin: 10px 0;
    font-weight: bold;
}

.stat-content p {
    font-size: 1rem;
    text-transform: none;
    opacity: 0.9;
}

.login-container {
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--fondo);
    background: linear-gradient(180deg, var(--primary) 0%, var(--secondary) 50%, #f0f0f0 100%);
}


.boton-principal {
    background-color: var(--primary);
    color: var(--blanco);
    padding: 10px 40px;
    margin: 10px;
    border-radius: 12px;
    border: 1px solid transparent;
    transition: all 0.3 ease-in-out;
    text-decoration: none;

    &:hover {
        background-color: var(--acent);
        border: 1px solid var(--acent);

    }
}


.content {
    display: flex;
    max-width: 400px;
    flex-direction: column;
    justify-content: space-between;
    text-align: center;
    background-color: var(--blanco);
    padding: 50px;
    border-radius: 34px;

    & h2 {
        margin-bottom: 20px;
        font-weight: normal;
    }

    & .olvilink {
        color: var(--primary);
        margin: 10px 0;

        &:hover {
            color: var(--acent);
        }
    }

}

.input {
    background-color: var(--input);
    padding: 10px;
    border-radius: 8px;
    border: none;
    width: 100%;
    margin: 5px;
}


.sections-content {
    display: flex;
    flex-direction: column;
    background-color: var(--fondo);
    padding: 50px 20px;
    scroll-margin-top: 80px;

    & div {
        flex: 1;
    }

}

/* --- Encabezado --- */
.header {
    display: flex;
    flex-direction: row;
    text-align: center;
    color: var(--primary);

    & .section-tag {
        display: flex;
        flex: 1;

        & p {
            font-size: 1rem;
            font-weight: normal;
            letter-spacing: 2px;
        }

        & span {
            font-weight: 900;
            font-size: 2.5rem;
            letter-spacing: 0;

        }
    }

    & .titles {
        flex: 9;
        text-align: left;
        padding: 5px 0;

        & .title {
            font-size: 5rem;
            margin: 10px 0;
            font-weight: 500;
            line-height: 0.9;
            letter-spacing: 0;
            color: var(--texto);
        }

        & .subtitle {
            font-size: 1rem;
            font-weight: 600;
            letter-spacing: 2px;
        }

        & span {
            font-size: 5rem;
            font-style: italic;
            font-weight: 800;
            line-height: 0.9;
            letter-spacing: 0px;

        }
    }
}

.description-content {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--texto);
    font-size: 1.2rem;
    font-weight: 700;
}

/* --- Filtros --- */
.filters {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin: 5px 0;
}

.filter-btn {
    padding: 5px 18px;
    border-radius: 20px;
    border: 1px solid #ddd;
    background: white;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
}

.filter-btn.active {
    background: var(--primary);
    color: white;
}



.bento-grid {
    display: grid;
    /* Creamos 3 columnas iguales */
    grid-template-columns: repeat(6, 1fr);
    /* Definimos un alto base para las filas */
    grid-auto-rows: 180px;
    gap: 10px;
    padding: 20px;
}

.card {
    padding: 20px;
    border-radius: 20px;
    background: var(--blanco);
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border: none;
}

#zonas {

    & .card.blue:hover {
        background-color: var(--texto);

    }

    & .card.white:hover {
        background-color: var(--hoverVerde);
    }
}

/* Tarjetas Verdes (Ocupan 2 filas de alto) */
.card.blue {
    background-color: var(--primary);
    color: var(--blanco);
}

/* Tarjetas Blancas */
.card.white {
    background-color: var(--blanco);
    color: var(--grisaceo);

}

/* tamaños */
.big-horizontal {
    grid-column: span 2;
    grid-row: span 2;
}

.big-vertical {
    grid-column: span 2;
    grid-row: span 2;
}

.more-info {
    margin: 20px 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

#reglas {
    background-color: var(--hoverVerde);

    & .bento-grid {
        display: grid;
        /* Creamos 3 columnas iguales */
        grid-template-columns: repeat(3, 1fr);
        /* Definimos un alto base para las filas */
        grid-auto-rows: 200px;
        gap: 10px;
        padding: 20px;
    }

    .card {
        border-top: 3px solid var(--acent);
    }
}

#anuncios {
    & .bento-grid {
        display: grid;
        /* Creamos 3 columnas iguales */
        grid-template-columns: repeat(6, 1fr);
        /* Definimos un alto base para las filas */
        grid-auto-rows: 190px;
        gap: 10px;
        padding: 20px;
    }

    & .card {
        padding: 0px;
        box-shadow: 2px 2px 8px #d7d7d7,
            -2px -2px 8px #ffffff;

        & img {
            width: 100%;
            height: 50%;
            object-fit: cover;
            border-top-left-radius: 20px;
            border-top-right-radius: 20px;

        }

        & .card-content {
            padding: 15px;

            & h5 {
                color: var(--texto);
                font-weight: bold;
            }

        }

        & .actions {
            color: var(--primary);
            text-align: right;
            padding: 15px;
        }
    }
}


@media (max-width: 600px) {
    footer {

        & .marca {
            font-size: 15px;
        }

        & .conjunto-info {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;

            & .footer-colum {
                padding: 10px 20px;

                & h3 {
                    font-size: 18px;
                }

            }
        }
    }

    header {

        & #toggle {
            display: flex;
            justify-content: end;
            align-items: center;
            font-size: 30px;
            padding: 0 10px;
            flex: 1;
            color: var(--primary);
            border: none;
            background-color: transparent;

            & #ico {
                display: block;
            }
        }

        & .sec-menu {
            display: none;

        }
    }

    #sidebar {
        display: none;
        position: fixed;
        padding: 100px 0 30px 0;
        border-bottom-right-radius: 20px;
        border-bottom-left-radius: 20px;
        background-color: var(--fondo);
        z-index: 999;

    }
    #sidebar .menu {
        display: flex;
        height: 100%;
        flex-direction: column;
        align-items: center;
        justify-content: center;

    }

    #sidebar .menu ul {
        display: block;
        align-items: center;
        justify-content: center;
        margin: 0;
        padding: 0;

    }
    #sidebar .menu ul li {
        display: inline-block;
        list-style: none;
        text-align: center;
        font-size: 1.2rem;
        margin: 5px 20px;
        width: 90%;

    }
    #sidebar .menu ul li .nav-item {
        display: inline-block;
        text-decoration: none;
        color: var(--grisaceo);
        font-weight: 500;
        padding: 20px;
        width: 100%;
        transition: all 0.3 ease-in-out;
        border-radius: 16px;
        background-color: var(--blanco);

        
    }
    .nav-item:hover {
        font-weight: 900;
        color: var(--primary);

    }
    .nav-item.dropdown::after {
        color: var(--primary);
    }

    .hero {
        justify-content: center;
        text-align: center;

        & h1 {
            font-size: 1.5rem;
            margin: 1rem 0;
        }

        & p {
            font-size: 1em;
            padding: 0;
        }

        & .hero-content {
            min-width: 300px;
            padding: 20px;
            align-items: center;
            text-align: center;
        }
    }

    .cifras-section {
        background-color: var(--primary);
        color: var(--blanco);
        padding: 30px 20px;
        text-align: center;
    }

    .cifras-header {
        & h4 {
            letter-spacing: 2px;
            font-size: 0.9rem;
            margin: 10px 0;
            opacity: 0.8;
        }

        & h2 {
            font-size: 2.5rem;
            margin-bottom: 50px;
        }

        & .destaque {
            color: var(--acent);
            font-style: italic;
            font-weight: bold;
        }
    }

    .stats-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        border-top: 1px solid rgba(255, 255, 255, 0.3);
        width: 100%;
        margin: 0 auto;
    }

    .stat-header {
        display: inline-block;

        & i {
            position: absolute;
            top: 15px;
            right: 15px;
            font-size: 1.5rem;
            color: var(--acent);
        }

    }

    .stat-item {
        display: flex;
        flex-direction: column;
        padding: 30px;
        position: relative;
        border: 1px solid rgba(255, 255, 255, 0.3);
    }

    .stat-item:first-child {
        border: 1px solid rgba(255, 255, 255, 0.3);
    }

    .number-ref {
        position: absolute;
        top: 15px;
        left: 15px;
        font-size: 0.7rem;
        opacity: 0.6;
    }

    .stat-content h3 {
        font-size: 2rem;
        margin: 10px 0;
        font-weight: bold;
    }

    .stat-content p {
        font-size: 1rem;
        text-transform: none;
        opacity: 0.9;
    }

    .boton-principal {
        background-color: var(--primary);
        color: var(--blanco);
        padding: 10px 40px;
        margin: 10px;
        border-radius: 12px;
        border: 1px solid transparent;
        transition: all 0.3 ease-in-out;
        text-decoration: none;

        &:hover {
            background-color: var(--acent);
            border: 1px solid var(--acent);

        }
    }


    .content {
        min-width: 200px;
        padding: 50px 40px;
    }



    .sections-content {
        display: flex;
        flex-direction: column;
        background-color: var(--fondo);
        padding: 20px;
        scroll-margin-top: 80px;


    }

    /* --- Encabezado --- */
    .header {
        display: flex;
        flex-direction: column;
        text-align: center;
        color: var(--primary);

        & .section-tag {
            display: flex;
            flex: 2;

            & p {
                font-size: 1rem;
            }

            & span {
                font-size: 1rem;
            }
        }

        & .titles {
            flex: 8;

            & .title {
                font-size: 3rem;
            }

            & .subtitle {
                font-size: 1rem;
            }

            & span {
                font-size: 3rem;
            }
        }
    }

    .description-content {
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        color: var(--texto);
        font-size: 1rem;
        font-weight: 700;
    }


    /* --- Filtros --- */
    .filters {
        display: flex;
        justify-content: center;
        gap: 5px;
        margin: 5px 0;
    }

    .filter-btn {
        padding: 3px 10px;
        border-radius: 20px;
        border: 1px solid #ddd;
        background: white;
        cursor: pointer;
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .bento-grid {
        display: grid;
        /* Creamos 3 columnas iguales */
        grid-template-columns: repeat(2, 1fr);
        /* Definimos un alto base para las filas */
        grid-auto-rows: 180px;
        gap: 10px;
        padding: 20px;
    }

    .card {
        padding: 20px;
        border-radius: 20px;
        background: var(--blanco);
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        border: none;
    }

    .medium {
        grid-column: span 1;
        grid-row: span 1;
    }


    #reglas {
        background-color: var(--hoverVerde);

        & .bento-grid {
            display: grid;
            /* Creamos 3 columnas iguales */
            grid-template-columns: repeat(1, 1fr);
            /* Definimos un alto base para las filas */
            grid-auto-rows: 200px;
            gap: 10px;
            padding: 20px;
        }

        .card {
            border-top: 3px solid var(--acent);
        }

        .medium-large {
            grid-column: span 1;
            grid-row: span 1;
        }
    }

    #anuncios {
        & .bento-grid {
            display: grid;
            /* Creamos 3 columnas iguales */
            grid-template-columns: repeat(2, 1fr);
            /* Definimos un alto base para las filas */
            grid-auto-rows: 190px;
            gap: 10px;
            padding: 20px;
        }

        & .card {
            padding: 0px;
            box-shadow: 2px 2px 8px #d7d7d7,
                -2px -2px 8px #ffffff;

            & img {
                width: 100%;
                height: 50%;
                object-fit: cover;
                border-top-left-radius: 20px;
                border-top-right-radius: 20px;

            }

            & .card-content {
                padding: 15px;

                & h5 {
                    color: var(--texto);
                    font-weight: bold;
                }

            }

            & .actions {
                color: var(--primary);
                text-align: right;
                padding: 15px;
            }
        }
    }



}