/*
Theme Name: LeProfDeTechno Hello Child
Theme URI: https://leprofdetechno.fr
Description: Thème enfant Hello Elementor, header custom pour LeProfDeTechno, style jeune/fun.
Author: Jérémy Bruerre
Template: hello-elementor
Version: 1.0
Text Domain: leprofdetechno-hello-child
*/

/* --- Palette principale --- */
:root {
  --color-header-bg: #3B2886;     /* Bleu-violet électrique */
  --color-accent: #7f41e3;        /* Violet vif */
  --color-title: #ffffff;
  --color-menu: #ffffff;
  --color-menu-hover: #7f41e3;
  --color-footer-bg: #3B2886;
  --color-footer-txt: #ffffff;
}

/* --- HEADER --- */
.custom-header {
  width: 100vw;
  background: var(--color-header-bg);
  color: var(--color-title);
  position: fixed;
  top: 0; left: 0; right: 0;
  min-height: 120px;
  display: flex;
  align-items: center;
  z-index: 1000;
  box-shadow: 0 2px 12px rgba(58,45,99,0.07);
}

.custom-header-inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 32px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.custom-logo {
  width: 100px;
  height: auto;
  margin-right: 14px;
}

.site-title {
  font-size: 2rem; /* Réduit, laisse + de place au menu */
  color: var(--color-title);
  font-weight: 700;
  letter-spacing: 1.2px;
  margin-right: 32px;
  white-space: nowrap;
  flex-shrink: 0; /* Le titre ne se réduit pas trop */
}
.custom-nav {
  flex: 2;           /* Le menu prend plus de largeur */
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 0;      /* Permet au menu de ne pas forcer le dépassement */
  overflow: hidden;  /* Cache le débordement si besoin */
}
.custom-nav ul {
  display: flex;
  gap: 30px;
  margin: 0; padding: 0;
  list-style: none;
}

.custom-nav ul li a {
  color: var(--color-menu);
  font-size: 1.2rem;
  text-decoration: none;
  font-weight: 500;
  padding: 5px 3px;
  transition: color 0.14s;
}
.custom-nav ul li a:hover,
.custom-nav ul li.current-menu-item a {
  color: var(--color-menu-hover);
}

/* Bouton Connexion */
.header-login-btn {
  background: var(--color-accent);
  color: #fff;
  border: none;
  border-radius: 32px;
  padding: 7px 22px;
  font-size: 1rem;
  font-weight: bold;
  cursor: pointer;
  margin-left: 24px;
  box-shadow: 0 1px 4px rgba(127,65,227,0.10);
  transition: background 0.13s, transform 0.1s;
}

.header-login-btn:hover,
.header-login-btn:hover:visited,
.header-login-btn:hover:active,
.header-login-btn:hover:focus {
  background: #562dc9;
  color: #fff !important;
  transition: background 0.15s, color 0.12s;
  transform: scale(1.06);
}

/* Pour éviter que le contenu ne passe sous le header fixe */
.site-main, #main, main {
  margin-top: 120px !important;
}

/* --- Footer rapide (optionnel) --- */
.site-footer, #site-footer, footer {
  background: var(--color-footer-bg);
  color: var(--color-footer-txt);
  text-align: center;
  padding: 24px 0 16px 0;
  font-size: 1rem;
  border-top: 3px solid var(--color-header-bg);
}

@media (max-width: 900px) {
  .custom-header-inner { padding: 0 8px; }
  .site-title { font-size: 1.3rem; margin-right: 9px; }
  .custom-logo { width: 54px; }
  .custom-nav ul { gap: 10px; }
  .header-login-btn { padding: 5px 9px; font-size: 0.9rem; }
}

.custom-footer {
  background: #3B2886;  /* Violet très foncé, presque noir */
  color: #fff;
  text-align: center;
  padding: 32px 0 18px 0;
  font-size: 1.05rem;
  letter-spacing: 0.15px;
  border-top: 3px solid #3b2886; /* Rappel du bleu-violet header */
  margin-top: 64px;
  box-shadow: 0 -3px 14px rgba(65,51,100,0.11);
}

.custom-footer a {
  color: #3B2886;
  font-weight: bold;
  text-decoration: none;
  transition: color 0.15s;
}
.custom-footer a:hover {
  color: #ffffff;
  text-decoration: underline;
}

.footer-credit {
  color: #ccccdd;
  font-size: 0.98em;
  margin-top: 3px;
  display: inline-block;
  opacity: 0.82;
}

/* Responsive */
@media (max-width: 900px) {
  .custom-footer {
    font-size: 0.98rem;
    padding: 22px 5vw 14px 5vw;
  }
}
