/* -------------------------------------------------------- */
/* header.css – Styles du header et navigation responsive */
/* -------------------------------------------------------- */

header {
background: linear-gradient(to right, #0055A4 0%, #ffffff 17%, #ffffff 83%, #EF4135 100%);
padding: 20px 20px; /* un peu plus de padding pour équilibrer */
position: relative; z-index: 1000;
perspective: 1000px;
}

.header-container {
display: flex;
flex-direction: column;
align-items: center;
gap: 12px; /* légèrement plus grand pour les petits écrans */
}

/* Logo et H1 invisible pour SEO */
.logo-link {
display: flex;
justify-content: center;
align-items: center;
text-decoration: none;
}

.site-title {
position: absolute;
left: -9999px; /* H1 invisible mais SEO-friendly */
}

.site-logo {
max-width: 420px;
height: auto;
display: block;
transition: all 0.4s ease;
}

/* Effet lumière au survol du logo */
.logo-link:hover .site-logo {
filter:
drop-shadow(0 0 6px rgba(255,255,255,0.7))
drop-shadow(0 0 12px rgba(0,191,255,0.6))
drop-shadow(0 0 20px rgba(30,144,255,0.5));
transform: scale(1.03);
}

/* Navigation */
nav ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
gap: 40px;
justify-content: center;
flex-wrap: wrap;
}

#central-panel {
  width: 550px;
  max-width: 90%;
}

.menu-item button {
background: none;
border: none;
cursor: pointer;
color: inherit;
font: inherit;
padding: 0;
text-shadow: 1px 1px 2px rgba(255,0,0,0.35);
letter-spacing: 0.25px;
background: linear-gradient(to right, #00bfff, #1e90ff);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
font-weight: 600;
font-size: 1.1em;
}

.menu-item button:hover {
-webkit-text-fill-color: #0066B9;
background: none;
}

nav a {
font-weight: 600;
font-size: 1.1em;
text-decoration: none;
text-shadow: 1px 1px 2px rgba(255,0,0,0.35);
letter-spacing: 0.25px;
background: linear-gradient(to right, #00bfff, #1e90ff);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}

nav a:hover {
-webkit-text-fill-color: #0066B9;
background: none;
}

/* -------------------------------------------------------- */
/* Media queries – Responsive pour tous types d'écrans */
/* -------------------------------------------------------- */

/* Tablette et écrans moyens */
@media (max-width: 1024px) {
header {
padding: 18px 15px;
}
.header-container {
gap: 10px;
}
nav ul {
gap: 30px;
}
.site-logo {
max-width: 350px;
}
}

/* Petits écrans – Smartphones en portrait */
@media (max-width: 768px) {
header {
padding: 15px 12px;
}
.header-container {
gap: 8px;
}
nav ul {
flex-direction: column;
gap: 12px;
}
.site-logo {
max-width: 300px;
}
.menu-item button,
nav a {
font-size: 1em;
}
}

/* Très petits écrans – Smartphones en portrait étroit */
@media (max-width: 480px) {
header {
padding: 12px 10px;
}
.header-container {
gap: 6px;
}
.site-logo {
max-width: 220px;
}
.menu-item button,
nav a {
font-size: 0.95em;
}
}

/* SUBMENU PANEL */
.submenu {
  position: absolute;
  left: 50%;
  transform: translateX(-50%) rotateX(-90deg);
  transform-origin: top;
  transition: transform 0.25s ease;
  background: #111;
  padding: 10px 20px;
  border-radius: 8px;
  z-index: 999;
}

.submenu ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.submenu li {
  margin: 5px 0;
}

.submenu a {
  color: black;
  text-decoration: none;
}

.submenu a:hover {
  color: #00bfff;
}