/* Header */
.main-header {
  display: flex; justify-content: center; align-items: center;
  width: 100%; height: 100px; background: var(--primary-color);
  box-shadow: 0 2px 12px rgba(24,24,24,.08); padding-bottom: 18px;
  border-bottom-left-radius: 20px; border-bottom-right-radius: 20px;
}
.header-content {
  display: flex;
  align-items: center;
  justify-content: flex-start;   /* <-- important */
  width: 100%;
  padding: 0 20px;
  display: flex; justify-content: space-between; align-items: center;
}
.header-content .logo { flex-shrink: 0; }
.header-content div {
  flex-grow: 1; display: flex; flex-direction: column; align-items: flex-start; margin-left: 20px;
}
.main-header h1 { color: #181818; font-size: 2.3rem; margin: 0 0 2px 0; letter-spacing: .04em; text-shadow: none; }
.main-header .subtitle { color: #1976d2; font-size: 1.08rem; margin: 0; font-style: italic; text-shadow: none; }

/* Logo */
.logo {
  width: 56px; height: 56px; border-radius: 12px; object-fit: cover;
  transition: box-shadow .2s, transform .2s, border .2s;
}
.logo:hover { transform: scale(1.05); border: 1px solid #2196f3; }

/* IMPORTANT: pas de styles responsive ici (tout est dans responsive.css) */
/* IMPORTANT: pas de styles .lang-switch ici (ils sont dans nav.css pour éviter les doublons) */

/* Hamburger (affiché/masqué en responsive.css) */
.hamburger {
  display: none; flex-direction: column; justify-content: center; align-items: center;
  width: 38px; height: 38px; background: none; border: none; cursor: pointer; margin-left: 30px; z-index: 20;
}
.hamburger span { display: block; width: 26px; height: 3.5px; margin: 4px 0; background: var(--secondary-color); border-radius: 2px; transition: .3s; }
