/* DirectPlayer 7.7 — desktop compact header without premature mobile menu */

/*
 * Sur ordinateur, même avec une fenêtre plus étroite, on conserve la vraie
 * navigation. La première variable d'ajustement est la largeur de recherche,
 * puis le logo / les espacements. Le menu hamburger n'arrive qu'en mobile.
 */
@media (min-width:821px){
  .site-header.v2-header,
  .site-header.v2-header.is-compact{
    height:78px!important;
    display:grid!important;
    grid-template-columns:minmax(160px,230px) minmax(0,1fr) clamp(90px,15vw,300px) auto!important;
    align-items:center!important;
    gap:clamp(8px,1.05vw,18px)!important;
    padding-inline:clamp(14px,2vw,34px)!important;
  }

  .site-header.v2-header .brand-logo,
  .site-header.v2-header.is-compact .brand-logo{
    grid-column:1!important;
    grid-row:1!important;
    min-width:0!important;
  }
  .site-header.v2-header .brand-logo img,
  .site-header.v2-header.is-compact .brand-logo img{
    width:min(220px,16vw)!important;
    max-width:100%!important;
    max-height:54px!important;
  }

  .site-header.v2-header .mobile-menu,
  .site-header.v2-header.is-compact .mobile-menu{
    display:none!important;
  }

  .site-header.v2-header .main-nav,
  .site-header.v2-header.is-compact .main-nav{
    grid-column:2!important;
    grid-row:1!important;
    position:static!important;
    inset:auto!important;
    width:auto!important;
    height:78px!important;
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:row!important;
    gap:clamp(7px,1vw,20px)!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  .site-header.v2-header .main-nav a,
  .site-header.v2-header.is-compact .main-nav a{
    height:78px!important;
    min-width:0!important;
    padding:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:#40516a!important;
    font-size:clamp(10px,.78vw,13px)!important;
    font-weight:700!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
  }
  .site-header.v2-header .main-nav a.active,
  .site-header.v2-header.is-compact .main-nav a.active{
    background:transparent!important;
    color:var(--dp-blue)!important;
  }
  .site-header.v2-header .main-nav a.active:after,
  .site-header.v2-header.is-compact .main-nav a.active:after{
    display:block!important;
    bottom:0!important;
    height:3px!important;
    background:var(--dp-blue)!important;
  }

  .site-header.v2-header .header-search,
  .site-header.v2-header.is-compact .header-search{
    grid-column:3!important;
    grid-row:1!important;
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    justify-self:stretch!important;
  }
  .site-header.v2-header .header-search input,
  .site-header.v2-header.is-compact .header-search input{
    min-width:0!important;
    width:100%!important;
  }

  .site-header.v2-header .header-actions,
  .site-header.v2-header.is-compact .header-actions{
    grid-column:4!important;
    grid-row:1!important;
    order:initial!important;
    min-width:max-content!important;
    white-space:nowrap!important;
  }
}

/* Petits laptops : on réduit la recherche, pas la navigation. */
@media (min-width:821px) and (max-width:1500px){
  .site-header.v2-header,
  .site-header.v2-header.is-compact{
    grid-template-columns:minmax(165px,195px) minmax(0,1fr) clamp(105px,12vw,180px) auto!important;
    gap:10px!important;
    padding-inline:16px!important;
  }
  .site-header.v2-header .brand-logo img,
  .site-header.v2-header.is-compact .brand-logo img{width:min(190px,14vw)!important}
  .site-header.v2-header .main-nav,
  .site-header.v2-header.is-compact .main-nav{gap:clamp(7px,.72vw,11px)!important}
}

@media (min-width:821px) and (max-width:1200px){
  .site-header.v2-header,
  .site-header.v2-header.is-compact{
    grid-template-columns:155px minmax(0,1fr) clamp(82px,9vw,110px) auto!important;
    gap:7px!important;
    padding-inline:12px!important;
  }
  .site-header.v2-header .brand-logo img,
  .site-header.v2-header.is-compact .brand-logo img{width:150px!important}
  .site-header.v2-header .main-nav,
  .site-header.v2-header.is-compact .main-nav{gap:6px!important}
  .site-header.v2-header .main-nav a,
  .site-header.v2-header.is-compact .main-nav a{font-size:10px!important}
  .site-header.v2-header .header-search,
  .site-header.v2-header.is-compact .header-search{height:40px!important;padding-inline:10px!important}
  .site-header.v2-header .header-search svg,
  .site-header.v2-header.is-compact .header-search svg{width:17px!important;height:17px!important;flex:none!important}
  .site-header.v2-header .header-search input,
  .site-header.v2-header.is-compact .header-search input{font-size:11px!important;padding-left:7px!important}
  .site-header.v2-header .header-actions .icon-link span,
  .site-header.v2-header.is-compact .header-actions .icon-link span{display:none!important}
  .site-header.v2-header .header-actions,
  .site-header.v2-header.is-compact .header-actions{gap:7px!important;padding-left:0!important;border-left:0!important}
}

@media (min-width:821px) and (max-width:980px){
  .site-header.v2-header,
  .site-header.v2-header.is-compact{
    grid-template-columns:142px minmax(0,1fr) 72px auto!important;
    gap:5px!important;
    padding-inline:9px!important;
  }
  .site-header.v2-header .brand-logo img,
  .site-header.v2-header.is-compact .brand-logo img{width:138px!important}
  .site-header.v2-header .main-nav,
  .site-header.v2-header.is-compact .main-nav{gap:5px!important}
  .site-header.v2-header .main-nav a,
  .site-header.v2-header.is-compact .main-nav a{font-size:9.5px!important}
  .site-header.v2-header .header-search,
  .site-header.v2-header.is-compact .header-search{padding-inline:8px!important}
  .site-header.v2-header .header-search input::placeholder,
  .site-header.v2-header.is-compact .header-search input::placeholder{color:transparent!important}
}

/* Mobile / vraie tablette étroite : menu hamburger normal. */
@media (max-width:820px){
  .site-header.v2-header,
  .site-header.v2-header.is-compact{
    height:68px!important;
    grid-template-columns:minmax(0,1fr) 40px auto!important;
    gap:9px!important;
    padding-inline:14px!important;
  }
  .site-header.v2-header .brand-logo,
  .site-header.v2-header.is-compact .brand-logo{grid-column:1!important;grid-row:1!important}
  .site-header.v2-header .brand-logo img,
  .site-header.v2-header.is-compact .brand-logo img{width:184px!important;max-width:56vw!important}
  .site-header.v2-header .header-search,
  .site-header.v2-header.is-compact .header-search{display:none!important}
  .site-header.v2-header .mobile-menu,
  .site-header.v2-header.is-compact .mobile-menu{
    grid-column:2!important;grid-row:1!important;display:flex!important;position:static!important;
    width:40px!important;height:40px!important;order:initial!important
  }
  .site-header.v2-header .header-actions,
  .site-header.v2-header.is-compact .header-actions{grid-column:3!important;grid-row:1!important;order:initial!important}
  .site-header.v2-header .main-nav,
  .site-header.v2-header.is-compact .main-nav{
    position:absolute!important;top:68px!important;left:0!important;right:0!important;width:100%!important;height:auto!important;
    display:none!important;grid-template-columns:1fr!important;padding:8px 14px 12px!important;background:#fff!important;
    border-top:1px solid #e7edf3!important;box-shadow:0 18px 34px rgba(18,39,60,.11)!important;
    max-height:calc(100dvh - 68px)!important;overflow-y:auto!important;z-index:2000!important
  }
  .site-header.v2-header .main-nav.open,
  .site-header.v2-header.is-compact .main-nav.open{display:grid!important}
  .site-header.v2-header .main-nav a,
  .site-header.v2-header.is-compact .main-nav a{height:43px!important;padding:0 11px!important;font-size:11px!important;border-radius:9px!important}
}
