:root{--tlp-navy:#0e2340;--tlp-blue:#00a4e5;--tlp-line:#e4e9ee}
.tlp-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-bottom:1px solid var(--tlp-line);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.tlp-header__inner{max-width:1180px;height:82px;margin:0 auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.tlp-header__brand{font-family:Georgia,"Times New Roman",serif;font-size:25px;font-weight:700;line-height:1;color:var(--tlp-navy)!important;letter-spacing:-.02em;text-decoration:none!important;white-space:nowrap}
.tlp-header__nav{display:flex;align-items:center;gap:28px}
.tlp-header__nav a{font-size:15px;font-weight:400;line-height:1;color:var(--tlp-navy)!important;text-decoration:none!important;white-space:nowrap}
.tlp-header__nav a:hover,.tlp-header__nav a.is-active{color:var(--tlp-blue)!important}
.tlp-header__account{padding:10px 16px!important;border:1px solid var(--tlp-line)!important;border-radius:999px!important;background:#fff!important}
@media(max-width:900px){.tlp-header__inner{height:72px;padding:0 20px}.tlp-header__nav{gap:14px}.tlp-header__nav a:not(.tlp-header__account){display:none}.tlp-header__brand{font-size:22px}}
/* Menu de connexion : Articles / Formation */
.tlp-header__login{position:relative;display:flex;align-items:center}
.tlp-header__login-trigger{font:inherit;color:var(--tlp-navy)!important;cursor:pointer;white-space:nowrap;line-height:1;background:#fff}
.tlp-header__login-trigger span{display:inline-block;margin-left:5px;font-size:16px;transition:transform .18s ease}
.tlp-header__login-menu{position:absolute;top:calc(100% + 12px);right:0;width:330px;padding:8px;background:#fff;border:1px solid var(--tlp-line);border-radius:16px;box-shadow:0 16px 42px rgba(14,35,64,.14);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .16s ease,transform .16s ease,visibility .16s ease}
.tlp-header__login-menu:before{content:"";position:absolute;right:28px;top:-13px;width:80px;height:13px}
.tlp-header__login-menu a{display:block!important;padding:13px 14px!important;border-radius:11px!important;white-space:normal!important;line-height:1.3!important}
.tlp-header__login-menu a:hover{background:#f5f7f9!important;color:var(--tlp-navy)!important}
.tlp-header__login-menu strong{display:block;font-size:14px;font-weight:700;color:var(--tlp-navy)}
.tlp-header__login-menu span{display:block;margin-top:4px;font-size:12px;line-height:1.4;color:#667085}
.tlp-header__login:hover .tlp-header__login-menu,.tlp-header__login:focus-within .tlp-header__login-menu,.tlp-header__login.is-open .tlp-header__login-menu{opacity:1;visibility:visible;transform:translateY(0)}
.tlp-header__login:hover .tlp-header__login-trigger>span,.tlp-header__login:focus-within .tlp-header__login-trigger>span,.tlp-header__login.is-open .tlp-header__login-trigger>span{transform:rotate(180deg)}
@media(max-width:900px){.tlp-header__login-menu{position:fixed;top:68px;right:16px;left:16px;width:auto}.tlp-header__login-menu:before{display:none}}

/* Menu Cours */
.tlp-header__courses{position:relative;display:flex;align-items:center}
.tlp-header__courses-trigger{appearance:none;border:0;background:transparent;padding:0;font:inherit;font-size:15px;font-weight:400;line-height:1;color:var(--tlp-navy);cursor:pointer;white-space:nowrap}
.tlp-header__courses-trigger:hover,.tlp-header__courses-trigger.is-active{color:var(--tlp-blue)}
.tlp-header__courses-trigger span{display:inline-block;margin-left:4px;font-size:15px;transition:transform .18s ease}
.tlp-header__courses-menu{position:absolute;top:calc(100% + 18px);left:50%;transform:translate(-50%,-6px);width:390px;padding:8px;background:#fff;border:1px solid var(--tlp-line);border-radius:16px;box-shadow:0 16px 42px rgba(14,35,64,.14);opacity:0;visibility:hidden;transition:opacity .16s ease,transform .16s ease,visibility .16s ease}
.tlp-header__courses-menu:before{content:"";position:absolute;left:0;right:0;top:-19px;height:19px}
.tlp-header__courses-menu a{display:block!important;padding:12px 14px!important;border-radius:11px!important;white-space:normal!important;line-height:1.3!important;font-size:14px!important}
.tlp-header__courses-menu a:hover{background:#f5f7f9!important;color:var(--tlp-navy)!important}
.tlp-header__courses-menu strong{display:block;font-weight:600}
.tlp-header__courses:hover .tlp-header__courses-menu,.tlp-header__courses:focus-within .tlp-header__courses-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}
.tlp-header__courses:hover .tlp-header__courses-trigger span,.tlp-header__courses:focus-within .tlp-header__courses-trigger span{transform:rotate(180deg)}

/* Navigation mobile TrainingLoad Pro */
.tlp-header__nav-toggle{position:absolute;opacity:0;pointer-events:none}
.tlp-header__nav-toggle-label{display:none;width:42px;height:42px;border:1px solid var(--tlp-line);border-radius:12px;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;background:#fff}
.tlp-header__nav-toggle-label span{display:block;width:18px;height:2px;background:var(--tlp-navy);border-radius:2px;transition:transform .18s ease,opacity .18s ease}

@media(max-width:900px){
  .tlp-header__inner{height:72px;padding:0 20px;position:relative;gap:14px}
  .tlp-header__brand{font-size:22px}
  .tlp-header__nav-toggle-label{display:flex;margin-left:auto}
  .tlp-header__nav{
    display:none;
    position:absolute;
    top:72px;
    left:0;
    right:0;
    max-height:calc(100vh - 72px);
    overflow-y:auto;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:10px 20px 20px;
    background:#fff;
    border-bottom:1px solid var(--tlp-line);
    box-shadow:0 18px 36px rgba(14,35,64,.10)
  }
  .tlp-header__nav-toggle:checked ~ .tlp-header__nav{display:flex}
  .tlp-header__nav-toggle:checked + .tlp-header__nav-toggle-label span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .tlp-header__nav-toggle:checked + .tlp-header__nav-toggle-label span:nth-child(2){opacity:0}
  .tlp-header__nav-toggle:checked + .tlp-header__nav-toggle-label span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  .tlp-header__nav > a,
  .tlp-header__nav a:not(.tlp-header__account){
    display:block!important;
    padding:13px 4px!important;
    border-bottom:1px solid #f0f2f4;
    white-space:normal!important
  }

  .tlp-header__courses{display:block!important;border-bottom:1px solid #f0f2f4}
  .tlp-header__courses-trigger{
    width:100%;
    padding:13px 4px;
    text-align:left;
    display:flex;
    align-items:center;
    justify-content:space-between
  }
  .tlp-header__courses-menu{
    display:none;
    position:static;
    width:auto;
    margin:0 0 8px;
    padding:0 0 0 12px;
    border:0;
    border-radius:0;
    box-shadow:none;
    opacity:1;
    visibility:visible;
    transform:none
  }
  .tlp-header__courses-menu:before{display:none}
  .tlp-header__courses:focus-within .tlp-header__courses-menu{display:block}
  .tlp-header__courses-menu a{
    padding:11px 8px!important;
    border-bottom:0!important;
    font-size:14px!important
  }

  .tlp-header__login{display:block}
  .tlp-header__login-trigger{
    width:100%;
    margin-top:10px;
    text-align:left;
    display:flex;
    align-items:center;
    justify-content:space-between
  }
  .tlp-header__login-menu{
    position:static;
    display:none;
    width:auto;
    margin-top:7px;
    padding:6px;
    box-shadow:none;
    opacity:1;
    visibility:visible;
    transform:none
  }
  .tlp-header__login:hover .tlp-header__login-menu,
  .tlp-header__login:focus-within .tlp-header__login-menu,
  .tlp-header__login.is-open .tlp-header__login-menu{display:block}
}

/* Correctif sous-menu Cours sur smartphone/tablette */
@media(max-width:900px){
  .tlp-header__courses-menu,
  .tlp-header__courses:hover .tlp-header__courses-menu,
  .tlp-header__courses:focus-within .tlp-header__courses-menu{
    position:static!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    width:100%!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:4px 0 8px 14px!important;
    transform:none!important;
    opacity:1!important;
    visibility:visible!important;
  }

  .tlp-header__courses-menu{display:none!important}
  .tlp-header__courses:focus-within .tlp-header__courses-menu{display:block!important}

  .tlp-header__courses-menu a{
    display:block!important;
    width:100%!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:10px 8px!important;
    line-height:1.35!important;
    white-space:normal!important;
    text-align:left!important;
  }
}

/* Correctif tactile iPhone / iPad pour le menu Cours */
.tlp-header__courses-toggle{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.tlp-header__courses-trigger{
  cursor:pointer;
  user-select:none;
  -webkit-user-select:none;
}
.tlp-header__courses-toggle:checked ~ .tlp-header__courses-menu{
  opacity:1;
  visibility:visible;
  transform:translate(-50%,0);
}
.tlp-header__courses-toggle:checked + .tlp-header__courses-trigger span{
  transform:rotate(180deg);
}

@media(max-width:900px){
  .tlp-header__courses-toggle:checked ~ .tlp-header__courses-menu{
    display:block!important;
    position:static!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    width:100%!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:4px 0 8px 14px!important;
    transform:none!important;
    opacity:1!important;
    visibility:visible!important;
  }

  .tlp-header__courses-toggle:not(:checked) ~ .tlp-header__courses-menu{
    display:none!important;
  }

  .tlp-header__courses:hover .tlp-header__courses-menu,
  .tlp-header__courses:focus-within .tlp-header__courses-menu{
    /* Sur tactile, l'état est piloté par la case à cocher */
  }
}

/* Masquer totalement la case technique du menu Cours, y compris sur Safari iPhone */
.tlp-header__courses-toggle{
  display:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}

.tlp-header__courses-toggle{display:none!important;appearance:none!important;-webkit-appearance:none!important;}

/* Authentification : chaque espace gère désormais sa propre connexion.
   Le header global n'affiche plus de bouton « Se connecter / Mon compte ». */
.tlp-header__account,
.tlp-header__login{
  display:none !important;
}



/* Identité de marque Stéphane Morin — harmonisation globale */
.tlp-header__brand{
  display:inline-flex;
  align-items:baseline;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:0!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:-.025em!important;
  color:var(--tlp-navy)!important;
}
.tlp-header__brand::before{
  content:"stephane-morin";
  font-size:24px;
  font-weight:800;
  color:var(--tlp-navy);
}
.tlp-header__brand::after{
  content:".fr";
  font-size:24px;
  font-weight:800;
  color:#9bbd2f;
}
@media(max-width:900px){
  .tlp-header__brand::before,
  .tlp-header__brand::after{
    font-size:21px;
  }
}
