* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body {
    font-family: 'Inter', sans-serif; 
    line-height: 1.5;
    color: #333; 
    background-color: #fff;
}
a {
    text-decoration: none;
    color: inherit;
}
ul {
    list-style: none;
}
main {
    padding-bottom: 50px;
}
header {
    padding: 10px 15px;
    display: flex;
    justify-content: space-between; 
    align-items: end;
    position: sticky;
    top: 0;
    z-index: 1000;
    align-items: center;
}
#barra-header {
    background-color: #000;
}
#logo img {
    max-height: 3.125em; 
    display: block;
}
.interruptor-menu {
    display: none; 
}
.boton-hamburguesa {
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    width: 30px;
    height: 25px;
    z-index: 100;
    color: #DDFF33;
    padding-right: 0.2em;
}

.barra {
    display: block;
    width: 100%;
    height: 3px;
    background-color: #DDFF33;
    border-radius: 2px;
    transition: all 0.3s ease-in-out;
}
.menu {
    position: absolute;
    top: 60px; 
    left: 0;
    width: 100%;
    background-color: #fff;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    max-height: 0;
    overflow: hidden;
}
.menu ul {
    padding:0;
}
.menu li a {
    display: flex;
    padding: 12px 15px;
    font-weight: bold;
    color: #333;
}
#interruptor-menu:checked ~ .menu {
    max-height: 500px; 
}
.banner {
    background-color: #DDFF33; 
    padding: 2em 1.25em;
    text-align: center;
    overflow: hidden; 
}

.titulo-flyer h1 {
    font-size: 1.8em; 
    font-weight: 900;
    line-height: 1.2;
    color: #DC0073;
}
.intro {
    padding: 20px 15px;
    text-align: center;
}
.problemas-red h2 {
    color: #3B3B54;
    text-align: left;
    padding: 2em 0.938em 0.5em;
    font-size: 1.5em;
}

#problemas {
    padding: 1em 1.2em 3em;
}

#problemas-title {
    display: none; 
}

#problemas article { 
    align-items: center; 
    margin-bottom: 1.875em;
    padding-bottom: 1.25em;
}
h4 {
    padding-top: 0.625em;
    color: #DC0073;
    font-weight: bold;
}
#problemas article:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
}

#problemas article figure {
    flex-basis: 30%; 
    margin-right: 15px;
}

#problemas article figure img {
    width: 100%;
    height: auto;
    display: block;
}

#problemas article header {
    flex-grow: 1; 
}
#problemas article header h4 {
    color: #DC0073; 
    text-transform: uppercase;
    font-size: 1.2em;
    margin-bottom: 5px;
}

#problemas article p {
    font-size: 0.9em;
    margin-bottom: 10px;
}

#problemas article ul {
    display: none; 
}
#problemas article a {
    color: #DDFF33;
    font-weight: bold;
    display: inline-block;
    margin-top: 5px;
}
.problema-item {
    display: flex; 
    align-items: flex-start; 
    margin-bottom: 30px; 
    padding-bottom: 20px; 
    border-bottom: 1px solid #eee; 
    border: 2px solid #DDFF33; 
    padding: 10px; 
}
.problema-item:last-of-type {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}
.problema-imagen {
    flex: 0 0 auto; 
    width: 100px; 
    height: 100px; 
    margin-right: 15px; 
    overflow: hidden; 
}

.problema-imagen img {
    width: 100%;
    height: 100%;
    object-fit: cover; 
    display: block;
}
.problema-contenido {
    flex-grow: 1; 
    display: flex; 
    flex-direction: column;
    justify-content: space-between; 
}

.problema-contenido h4 {
    color: #DC0073; 
    text-transform: uppercase;
    font-size: 1.1em; 
    margin-bottom: 5px;
    line-height: 1.2;
}

.problema-contenido p {
    font-size: 0.9em;
    line-height: 1.4;
    margin-bottom: 10px; 
}
.boton-ver-mas {
    align-self: flex-end; 
    background-color: #3B3B54; 
    color: white;
    padding: 8px 15px;
    font-size: 0.85em;
    font-weight: bold;
    border-radius: 3px;
    transition: background-color 0.3s ease;
    white-space: nowrap;
}

.boton-ver-mas:hover {
    background-color: #DC0073;
}
#diccionario {
    background-color: #DC0073; 
    color: white;
    padding: 30px 15px;
    text-align: center;
}

#diccionario ul {
    margin-bottom: 10px;
}

#diccionario ul li a {
    font-weight: bold;
    text-transform: uppercase;
    font-size: 1.2em;
    color: white;
    border-bottom: 2px solid white; 
    padding-bottom: 5px;
    display: inline-block;
}

#dicc-titulo {
    font-size: 1.1em;;
    margin-top: 20px;
}

#diccionario p:nth-of-type(1) { 
    font-size: 4em;
    font-weight: 900;
    text-decoration: underline;
    margin: 10px 0 15px;
}

#diccionario p:nth-of-type(2) {
    font-size: 1em;
    max-width: 400px;
    margin: 0 auto;
}
#charlas {
    padding: 3em 0.938em 1.25em;
    text-align: center;
}

#charlas-titulo {
    text-transform: uppercase;
    font-weight: bold;
    font-size: 1.5em;
    margin-bottom: 1.25em;
}

#charlas article {
    position: relative;
    max-width: 300px;
    margin: 0 40px;
}
.carrusel-contenedor {
    display: flex;
    align-items: center; 
    justify-content: center;
    position: relative; 
    max-width: 350px;
    margin: 0 auto; 
}

#charlas figure img {
    width: 100%;
    height: auto;
    display: block;
}

#charlas article p:nth-of-type(1) {
    font-size: 0.9em;
    margin-top: 10px;
    font-style: italic;
    color: #333;
    padding-bottom: 5px;
}
.carrusel-btn {
    position: absolute; 
    top: 50%; 
    transform: translateY(-50%); 
    background: transparent; 
    border: none;
    cursor: pointer;
    font-size: 2.5em; 
    color: #333; 
    padding: 0 5px;
    z-index: 10; 
}
.carrusel-btn:hover {
    color: #DC0073;
}
.prev, .next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    color: #3B3B54;
    padding: 10px;
    cursor: pointer;
    z-index: 5;
}
.prev { left: 0; }
.next { right: 0; }
#charlas article p a {
    display: none;
}
footer {
    background-color: #333; 
    color: #fff;
    padding: 1.25em 0.938em;
    text-align: center;
    font-size: 0.8em;
}

#logo-footer img {
    max-height: 3.125em;
}

footer > div:nth-of-type(2) { 
    border-top: 1px solid #555;
    border-bottom: 1px solid #555;
    padding: 15px 0;
    margin-bottom: 15px;
}

footer h4 { 
    text-transform: uppercase;
    font-weight: bold;
    margin-bottom: 10px;
    color: #DC0073;
}

footer ul {
    columns: 2; 
    text-align: left;
    max-width: 300px; 
    margin: 0 auto;
}
footer ul li {
    padding: 3px 0;
}
footer ul a {
    color: #DDFF33; 
    font-weight: bold;
}
#redes { 
    margin-bottom: 15px;
}
#redes a {
    display: inline-block;
    width: 30px; 
    height: 30px;
    background-color: #DDFF33; 
    border-radius: 50%;
    margin: 0 5px;
    text-indent: -9999px; 
}
footer > p {
    line-height: 1.4;
    padding-top: 1em;
    border-top: 1px solid #555;
}
@media (min-width: 768px) {

.boton-hamburguesa {
        display: none;
    }
.menu {
    position: static;
    max-height: initial !important;
    width: auto;
    color:#fff;
    background-color: transparent;
    }

    .menu ul {
        display: flex; 
        padding: 0;
    }

    .menu li a {
        padding: 10px 15px;
        border-bottom: none;
        color: #DDFF33;
        transition: color 0.3s;
    }

    .menu li a:hover {
        color: #DC0073; 
    }
    .banner {
        padding: 3.75em 15px;
    }
    .titulo-flyer h1 {
        font-size: 2.5em;
    }
    #problemas {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 30px;
    }
    .problema-item {
        flex-direction: column; 
        flex-basis: calc(33% - 20px); 
        border-bottom: none; 
        padding-bottom: 0;
        margin-bottom: 0; 
        border: 2px solid #C0FA3F; 
        padding: 15px; 
    }
    #problemas article {
        flex-direction: column; 
        flex-basis: 30%; 
        border-bottom: none;
        padding-bottom: 0;
        margin-bottom: 0;
    }

    #problemas article figure {
        margin-right: 0;
        margin-bottom: 15px;
    }

    #problemas article header h4 {
        text-align: center;
    }
    .problema-imagen {
        width: 100%; 
        height: 180px; 
        margin-right: 0; 
        margin-bottom: 15px; 
    }

    .problema-contenido {
        text-align: center; 
        align-items: center; 
        min-height: 150px; 
    }
    #problemas article p {
        text-align: center;
    }
    
    .problema-contenido p {
        margin-left: auto; 
        margin-right: auto;
    }

    .boton-ver-mas {
        align-self: center; 
        margin-top: auto; /
    }
    .carrusel-contenedor {
        max-width: 500px; 
    }
    footer {
        display: flex;
        flex-wrap: wrap;
        text-align: left;
        padding: 30px 5%;
        justify-content: space-between;
    }
    #logo-footer {
        flex-basis: 15%; 
    }

    footer > div:nth-of-type(2) {
        flex-basis: 40%;
        border: none;
        padding: 0;
        margin-bottom: 0;
    }
    footer ul {
        columns: 1; 
        max-width: none;
        margin: 0;
    }

    #redes {
        flex-basis: 15%;
        text-align: right;
        margin-bottom: 0;
    }

    footer > p {
        flex-basis: 100%; 
        text-align: center;
        margin-top: 20px;
    }
}