/* ============================= */
/* RESET */
/* ============================= */

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

html,body{
height:100%;
}

body{
font-family:'Poppins',Arial,Helvetica,sans-serif;
background:#ffd6d6;
color:#333;
line-height:1.6;
display:flex;
flex-direction:column;
}

/* ============================= */
/* HEADER */
/* ============================= */

header{
width:100%;
position:sticky;
top:0;
z-index:1000;
}

.banderole img{
width:100%;
display:block;
}

/* ============================= */
/* NAVIGATION */
/* ============================= */

nav{
background:#cc0000;
padding:12px 0;
display:flex;
justify-content:center;
flex-wrap:wrap;
}

nav a{
color:white;
margin:0 15px;
text-decoration:none;
font-weight:bold;
font-size:1.05em;
transition:0.25s;
}

nav a:hover{
color:#ffeb3b;
}

/* MENU ACTIF */
nav a.active{
color:#ffeb3b;
border-bottom:2px solid #ffeb3b;
}

/* ============================= */
/* DROPDOWN */
/* ============================= */

.dropdown{
position:relative;
display:inline-block;
}

.dropdown-toggle::after{
content:" ▼";
font-size:0.7em;
margin-left:5px;
}

.submenu{
display:none;
position:absolute;
background:#cc0000;
min-width:180px;
border-radius:6px;
padding:5px 0;
left:100%;
top:0;
z-index:1000;
}

.submenu a{
display:block;
padding:10px;
}

.dropdown:hover .submenu{
display:block;
}

/* MOBILE DROPDOWN */
.dropdown.open .submenu{
display:block;
position:relative;
left:0;
}

/* ============================= */
/* MAIN */
/* ============================= */

main{
flex:1;
padding:30px 20px;
width:95%;
max-width:1500px;
margin:auto;
}

/* ============================= */
/* HOME TOP */
/* ============================= */

.home-top-container{
display:flex;
gap:20px;
align-items:stretch;
margin-bottom:30px;
}

/* INFO / EDITO */

.info,.edito{
flex:1;
background:white;
border-radius:10px;
padding:20px;
box-shadow:0 4px 10px rgba(0,0,0,0.1);
display:flex;
flex-direction:column;
}

.info h2,
.edito h2{
text-align:center;
margin-bottom:15px;
color:#cc0000;
}

/* INFO SLIDER */

.info-item{
display:none;
text-align:center;
}

.info-item img{
width:100%;
border-radius:8px;
margin-bottom:10px;
}

.info-item.active{
display:block;
}

/* ============================= */
/* SLIDER CENTRAL */
/* ============================= */

.hero-slider{
flex:2;
position:relative;
border-radius:10px;
overflow:hidden;
background:white;
}

/* SLIDER MODERNE */

.hero-slide{
position:absolute;
width:100%;
height:100%;
opacity:0;
transition:opacity 1s ease;
}

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

.hero-slide.active{
opacity:1;
position:relative;
}

/* ============================= */
/* COURS */
/* ============================= */

.cours{
margin-top:10px;
}

.cours h2{
text-align:center;
color:#cc0000;
margin-bottom:20px;
}

.cours-grid{
display:flex;
gap:20px;
justify-content:center;
flex-wrap:wrap;
}

.cours-card{
background:white;
border-radius:10px;
width:300px;
padding:15px;
text-align:center;
box-shadow:0 4px 10px rgba(0,0,0,0.1);
transition:0.3s;
}

.cours-card:hover{
transform:translateY(-5px);
}

.cours-card img{
width:100%;
height:180px;
object-fit:cover;
border-radius:8px;
margin-bottom:10px;
}

/* ============================= */
/* LIENS OFFICIELS */
/* ============================= */

.judo-liens{
margin-top:50px;
background:white;
padding:25px;
border-radius:10px;
border:2px solid #cc0000;
text-align:center;
}

.judo-liens h2{
color:#cc0000;
margin-bottom:20px;
}

.liens-grid{
display:flex;
gap:20px;
justify-content:center;
flex-wrap:wrap;
}

.liens-grid a{
background:#cc0000;
color:white;
padding:12px 22px;
border-radius:6px;
text-decoration:none;
font-weight:bold;
}

.liens-grid a:hover{
background:#a30000;
}

/* ============================= */
/* MEMBRES */
/* ============================= */

ul.membres{
list-style:none;
}

ul.membres li{
display:flex;
align-items:center;
margin:12px 0;
padding:15px;
background:white;
border-radius:10px;
box-shadow:0 2px 6px rgba(0,0,0,0.1);
}

.membre-photo{
width:60px;
height:60px;
border-radius:50%;
object-fit:cover;
margin-right:15px;
}

/* ============================= */
/* HISTOIRE */
/* ============================= */

.histoire-intro{
background:white;
padding:20px;
border-radius:10px;
border-left:6px solid #cc0000;
margin-bottom:20px;
}

.histoire-block{
background:white;
padding:15px;
border-left:6px solid #cc0000;
margin-bottom:10px;
border-radius:8px;
}

.histoire-table{
width:100%;
border-collapse:collapse;
margin-top:20px;
}

.histoire-table th,
.histoire-table td{
border:1px solid #ccc;
padding:8px;
}

.histoire-table th{
background:#cc0000;
color:white;
}

/* ============================= */
/* GALERIE */
/* ============================= */

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

.galerie-img{
width:100%;
max-height:250px;
object-fit:contain;
background:white;
padding:5px;
border-radius:10px;
cursor:pointer;
transition:0.3s;
}

.galerie-img:hover{
transform:scale(1.05);
}

/* LIGHTBOX */

.lightbox{
display:none;
position:fixed;
z-index:2000;
left:0;
top:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.9);
justify-content:center;
align-items:center;
}

.lightbox-content{
max-width:90%;
max-height:90%;
border-radius:10px;
}

.close{
position:absolute;
top:20px;
right:30px;
color:white;
font-size:40px;
cursor:pointer;
}

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

footer{
background:#cc0000;
color:white;
text-align:center;
padding:10px;
}

footer img{
height:35px;
}

/* ============================= */
/* TOP BUTTON */
/* ============================= */

#topBtn{
position:fixed;
bottom:30px;
right:30px;
background:#cc0000;
color:white;
border:none;
width:45px;
height:45px;
border-radius:50%;
font-size:20px;
cursor:pointer;
display:none;
}

/* ============================= */
/* HAMBURGER */
/* ============================= */

.menu-toggle{
display:none;
flex-direction:column;
cursor:pointer;
margin:10px;
}

.menu-toggle span{
height:3px;
width:25px;
background:white;
margin-bottom:5px;
}

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

@media (max-width:1200px){
.home-top-container{
gap:15px;
}
.cours-card{
width:260px;
}
}

@media (max-width:992px){
.home-top-container{
flex-direction:column;
}
.hero-slider{
height:400px;
}
.info,.edito{
width:100%;
}
}

@media (max-width:600px){
nav{
display:none;
flex-direction:column;
}
nav.active{
display:flex;
}
.menu-toggle{
display:flex;
}
.cours-card{
width:100%;
}
.hero-slider{
height:250px;
}
.liens-grid{
flex-direction:column;
}
}
