/* =========================
GLOBAL
========================= */

body{
font-family:Inter, Arial, sans-serif;
background:#f4f6f8;
margin:0;
padding-top:60px;
}

h1{
text-align:center;
margin-top:70px;
}

h2{
color:#2a6f97;
text-align:center;
font-size:24px;
font-weight:700;
margin-bottom:20px;
margin-top:10px;
}

/* =========================
LAYOUT
========================= */

.container{
max-width:1400px;
margin:auto;
padding:20px;
}

.card{
background:#ffffff;
padding:22px;
border-radius:12px;
box-shadow:0 4px 12px rgba(0,0,0,0.08);
margin-top:20px;
}

.muted{
color:#6c757d;
font-size:14px;
}

/* =========================
MAP
========================= */

#map{
width:100%;
height:500px;
border-radius:12px;
margin:30px 0;
}

/* =========================
GRID
========================= */

.grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px;
}

.dashboard-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:22px;
}

/* =========================
CHARTS
========================= */

.chart-section{
display:grid;
grid-template-columns:420px 1fr;
gap:40px;
align-items:center;
}

.chart-graph{
background:white;
padding:16px;
border-radius:10px;
box-shadow:0 4px 12px rgba(0,0,0,0.08);
position:relative;
height:220px;
width:100%;
}

/* important pour Chart.js */

.chart-graph canvas{
width:100% !important;
height:100% !important;
}

/* =========================
DASHBOARD CARDS
========================= */

.dashboard-card{
background:#ffffff;
padding:22px;
border-radius:12px;
box-shadow:0 4px 12px rgba(0,0,0,0.08);
border:1px solid #e5e5e5;
}

.dashboard-card h3{
font-size:20px;
color:#2a6f97;
margin-bottom:14px;
}

/* =========================
BUTTONS
========================= */

.btn{
padding:10px 16px;
border-radius:8px;
border:1px solid #d0d7de;
background:#ffffff;
cursor:pointer;
transition:0.2s;
}

.btn:hover{
background:#e8f4ff;
border-color:#2a6f97;
}

.btn.primary{
background:#2a6f97;
color:white;
border-color:#2a6f97;
}

/* =========================
INPUTS
========================= */

input,select{
border:1px solid #d0d7de;
border-radius:8px;
padding:10px;
font-size:15px;
width:100%;
}

input:focus,select:focus{
border-color:#2a6f97;
outline:none;
box-shadow:0 0 0 3px rgba(42,111,151,0.15);
}

/* =========================
KPI
========================= */

.kpi{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:20px;
margin-top:20px;
}

.box{
background:#e8f4ff;
border-radius:12px;
padding:20px;
text-align:center;
border:1px solid #cfe2f3;
}

.box .value{
font-size:34px;
font-weight:700;
color:#2a6f97;
}

/* =========================
FAUNA PAGE
========================= */

.faune-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:18px;
margin-top:20px;
}

.faune-card{
cursor:pointer;
}

.faune-photo{
width:100%;
height:160px;
object-fit:cover;
border-radius:8px;
margin-bottom:8px;
}

/* zoom image */

#zoom-overlay{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.8);
display:none;
justify-content:center;
align-items:center;
z-index:999;
}

#zoom-overlay img{
max-width:90%;
max-height:90%;
border-radius:8px;
}

/* =========================
MENU
========================= */

.menu-toggle{
position:fixed;
top:15px;
left:15px;
font-size:26px;
background:white;
border:none;
border-radius:6px;
padding:6px 10px;
cursor:pointer;
z-index:1100;
}

.mobile-menu{
position:fixed;
top:60px;
left:15px;
background:rgba(0,0,0,0.9);
padding:15px;
border-radius:10px;
display:none;
flex-direction:column;
z-index:1000;
}

.mobile-menu a{
color:white;
text-decoration:none;
padding:8px 10px;
display:block;
font-size:16px;
}

.mobile-menu.open{
display:flex;
}

/* =========================
FOOTER
========================= */

.footer{
margin-top:40px;
padding:20px;
text-align:center;
font-size:14px;
color:#666;
border-top:1px solid #e5e5e5;
}

/* =========================
RESPONSIVE
========================= */

@media (max-width:900px){

.grid{
grid-template-columns:1fr;
}

.dashboard-grid{
grid-template-columns:1fr;
}

.kpi{
grid-template-columns:1fr;
}

.faune-grid{
grid-template-columns:1fr;
}

.chart-section{
grid-template-columns:1fr;
}

}

@media (max-width:768px){

body{
padding-top:80px;
}

#map{
height:320px;
}

.chart-graph{
height:420px;
}

.btn{
width:100%;
margin-top:8px;
}

}
/* HERO IMAGE */

.hero{
height:320px;
overflow:hidden;
}

.hero img{
width:100%;
height:100%;
object-fit:cover;
display:block;
}

/* amélioration dashboards */

.card h3{
    font-size:1.25rem;
    font-weight:700;
    margin-bottom:6px;
}

.chart-description{
    margin:6px 0 16px;
    font-size:0.95rem;
    line-height:1.5;
    color:#555;
    font-weight:500;
}

.chart-graph{
    background:#f7f9fb;
    padding:12px;
    border-radius:8px;
}

.evolution-card h3{
    font-weight:700;
}

#lineHint{
    margin-top:8px;
    font-size:0.9rem;
    color:#666;
}
.science-list{
margin:10px 0 16px 20px;
line-height:1.6;
}
