
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
font-family:Arial,Helvetica,sans-serif;
background:#f4f7fb;
color:#222;
line-height:1.6
}
.container{
width:min(1100px,92%);
margin:auto
}
.header{
background:#0d6efd;
position:sticky;
top:0;
z-index:1000;
box-shadow:0 2px 8px rgba(0,0,0,.15)
}
.header .container{
display:flex;
justify-content:space-between;
align-items:center;
padding:15px 0
}
.logo img{height:58px}
nav ul{
display:flex;
list-style:none;
gap:22px
}
nav a{
color:#fff;
text-decoration:none;
font-weight:bold
}
nav a:hover{opacity:.8}

.hero{
background:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),url(images/banner.jpg) center/cover no-repeat;
padding:80px 0
}
.hero h1{
color:#fff;
font-size:42px;
margin-bottom:15px
}
.hero p{
color:#fff;
margin-bottom:25px;
max-width:700px
}
label{
display:block;
color:#fff;
margin-bottom:10px;
font-size:18px
}
#placeSelect{
width:100%;
padding:15px;
border:none;
border-radius:10px;
font-size:16px;
background:#fff
}

.guide{padding:45px 0}
.place-info{
background:#fff;
border-radius:14px;
padding:25px;
box-shadow:0 5px 18px rgba(0,0,0,.08)
}
.place-info h2{
font-size:30px;
margin-bottom:15px;
color:#0d6efd
}
#placeDescription{
margin-bottom:20px
}
.info-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:15px;
margin-bottom:25px
}
.info-grid p{
background:#f7f9fc;
padding:14px;
border-radius:10px;
border-left:4px solid #0d6efd
}
.maps-btn{
display:inline-block;
padding:14px 22px;
background:#0d6efd;
color:#fff;
text-decoration:none;
border-radius:8px;
font-weight:bold;
margin-bottom:20px
}
.maps-btn:hover{
background:#0a58ca
}
.map-card{
margin-top:15px
}
.map-card h3{
margin-bottom:15px
}
#map{
width:100%;
height:520px;
border-radius:12px;
border:2px solid #ddd
}

.association{
padding:45px 0
}
.association .container{
background:#fff;
padding:25px;
border-radius:14px;
box-shadow:0 5px 18px rgba(0,0,0,.08)
}
.association h2{
color:#0d6efd;
margin-bottom:15px
}

.footer{
background:#111827;
color:#fff;
text-align:center;
padding:35px 0;
margin-top:40px
}
.footer-logo img{
height:60px;
margin-bottom:15px
}
.footer p{
margin:5px 0
}

@media(max-width:768px){
.header .container{
flex-direction:column;
gap:15px
}
nav ul{
flex-wrap:wrap;
justify-content:center
}
.hero{
padding:60px 0
}
.hero h1{
font-size:30px
}
#map{
height:350px
}
.place-info h2{
font-size:24px
}
}
