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

body{
    background:#efefef;
    font-family:Arial, sans-serif;
    overflow-x:hidden;
}

header{
    background:#fff35c;
    padding:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:clamp(20px,4vw,50px);
    flex-wrap:wrap;
}

.logo img{
    width:clamp(120px,12vw,160px);
    height:auto;
}

.menu{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:clamp(15px,3vw,50px);
}

/* menu desplegable de filtro */

.filtros{
    display:flex;
    gap:10px;
}

.filtros select{
    background:#EEF7E8;
    border:none;
    border-radius:25px;
    padding:10px 18px;
    font-size:15px;
    color:#556B4F;
}

/* menu desplegable de filtro */

.item-menu{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-decoration:none;
    color:black;
    font-weight:bold;
    font-size:18px;
    min-width:90px;
    white-space: nowrap;
}

.icono{
    font-size:clamp(22px, 3vw, 50px);
    line-height:1;
}

.agregar .icono{
    background:#241d1d;
    color:white;
    width:clamp(45px, 5vw, 70px);
    height:clamp(45px, 5vw, 70px);
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
}

main{
    width:90%;
    max-width:1200px;
    margin:auto;
}

.hero{
    background:#fff8a5;
    border:2px solid #999;
    border-radius:35px;
    padding:40px;
    margin-top:40px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:40px;
    flex-wrap:wrap;
}

.texto{
    flex:1;
    min-width:280px;
}

.imagen{
    flex:1;
    min-width:280px;
}

.texto h2{
    font-weight:900;
    text-transform:uppercase;
    line-height:1;
    font-size:clamp(40px,6vw,72px);
}

.texto h2 span{
    display:block;
}

.texto span{
    display:block;
    color:#54b65d;
    font-size:50px;
    font-style:italic;
    font-weight:400;
}

.texto p{
    margin-top:15px;
    font-size:20px;
    line-height:1.5;
}

.titulo-reseñas{
    display:inline-block;
    margin:35px 0 20px;
    background:#fff35c;
    padding:10px 30px;
    border-radius:50px;
    font-weight:900;
}

.imagen img{
    width:100%;
    border-radius:30px;
    display:block;
}

.buscador{
    margin:30px 0;
}

.buscador input{
    width:100%;
    padding:20px;
    font-size:25px;
    border-radius:40px;
}

.filtros{
    display:flex;
    justify-content:center;
    gap:10px;
    flex-wrap:wrap;
}

.filtros select, .filtros button{
    width: 160px;
    padding: 10px;
    border-radius:20px;
    font-size: 16px
}

.card{
    background:#e7cda0;
    border-radius:20px;
    padding:20px;
    display:flex;
    align-items:center;
    gap:20px;
}

.perfil img{
    width:80px;
}

.foto img{
    width:250px;
    border-radius:10px;
}

.reseñas{
    display:flex;
    flex-direction:column;
    gap:20px;
    margin-bottom: 40px;
}

.tarjeta-reseña{
    background:#e5c898;
    border-radius:40px;
    padding:25px;
    display:flex;
    gap:25px;
    margin-bottom:25px;
    flex-wrap:wrap;
}

.foto-cancha{
    width:100%;
    max-width:280px;
    height:auto;
    aspect-ratio: 4/3;
    object-fit:cover;
    border-radius:20px;
    flex-shrink:0;
}

.contenido-reseña{
    flex:1;
    display:flex;
    flex-direction:column;
}

.fila-superior{
    display:flex;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:15px;
}

.fila-superior h3{
    font-size:24px;
    font-weight:normal;
}

.ubicacion{
    margin-top:10px;
    font-size:18px;
}

.estrellas{
    color:#ff9e1b;
    font-size:55px;
    font-weight:bold;
}

.descripcion{
    font-size:18px;
    line-height:1.5;
    margin-bottom:25px;
}

.boton-detalles{
    align-self:flex-end;
    background:white;
    border:none;
    border-radius:40px;
    padding:12px 30px;
    font-size:18px;
    font-weight:bold;
}

.boton-flotante{
    position:fixed;
    bottom:90px;
    right:30px;
    background:#7c9e3b;
    color:white;
    border-radius:50%;
    text-decoration:none;
    display:flex;
    justify-content:center;
    align-items:center;
    width:80px;
    height:80px;
    font-size:55px;
    z-index:999;
}

.ver-más{
    display:flex;
    justify-content:center;
    margin:40px 0;
}

.boton-ver-más{
    background:#dcc08f;
    border:none;
    border-radius:40px;
    padding:15px 35px;
    font-size:20px;
    font-weight:bold;
    cursor:pointer;
    display:flex;
    align-items:center;
    gap:20px;
}

.flecha{
    font-size:40px;
    line-height:1;
}

footer{
    background:#d7cf2d;
    text-align:center;
    padding:15px;
    font-size:18px;
    font-weight:900;
}
