/* =========================================================================
   MONACO-GP — Header
   Design system (extrait du site de référence) :
   navy #203250 · rouge #C42D2D · surface #F5F6F7 · texte #203250 · Heebo
   Header desktop 110px · mobile 88px · ACM 60x80 · Circuit 185x60
   ========================================================================= */
:root{
  --mgp-navy:#203250;
  --mgp-red:#C42D2D;
  --mgp-white:#fff;
  --mgp-surface:#F5F6F7;
  --mgp-line:#E3E6EA;
  --mgp-h:110px;
  --mgp-h-mobile:88px;
  --mgp-pad:40px;
  --mgp-r-btn:5px;
  --mgp-r-burger:14px;
  --mgp-r-panel:18px;

  /* Échelle typographique partagée (racine référence = 14px) */
  --mgp-fs-xs:14px;     /* 1rem   — texte courant, contacts, liens légaux */
  --mgp-fs-sm:15.4px;   /* 1.1rem — sous-titres, aides */
  --mgp-fs-md:16.1px;   /* 1.15rem— labels cartes mobile */
  --mgp-fs-lg:16.8px;   /* 1.2rem — nav */
  --mgp-fs-xl:18.9px;   /* 1.35rem— titres de bloc, labels cartes desktop */
}

/* ---------- Barre ---------- */
.mgp-header{
  background:var(--mgp-navy);
  color:var(--mgp-white);
  font-family:"Heebo",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  position:relative;z-index:50;
}
.mgp-header__bar{
  height:var(--mgp-h);
  max-width:1600px;margin:0 auto;
  padding:0 var(--mgp-pad);
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}

/* ---------- Logos ---------- */
.mgp-logos{display:flex;align-items:center;gap:22px;flex:0 0 auto;}
.mgp-logos__acm{height:80px;width:auto;display:block;}
.mgp-logos__sep{width:1px;height:56px;background:rgba(255,255,255,.35);flex:0 0 auto;}
.mgp-logos__circuit{height:56px;width:auto;display:block;}
.mgp-logos a{display:flex;align-items:center;gap:22px;text-decoration:none;}

/* ---------- Navigation desktop ---------- */
.mgp-nav{display:flex;align-items:center;gap:44px;flex:1 1 auto;justify-content:center;}
.mgp-nav__item{position:relative;}
.mgp-nav__link{
  display:inline-flex;align-items:center;gap:8px;
  color:var(--mgp-white);text-decoration:none;
  font-size:16.8px;font-weight:500;letter-spacing:.14px;line-height:1;
  background:none;border:0;cursor:pointer;font-family:inherit;
}
.mgp-nav__link svg{width:12px;height:12px;transition:transform .2s ease;}
.mgp-nav__item[aria-expanded="true"] .mgp-nav__link svg{transform:rotate(180deg);}
a.mgp-nav__link{text-decoration:none;}
.mgp-nav__cta{
  background:var(--mgp-red);color:var(--mgp-white);
  padding:10px 20px;border-radius:var(--mgp-r-btn);
  font-weight:700;text-transform:uppercase;letter-spacing:.4px;font-size:14px;
  transition:filter .15s ease;
}
.mgp-nav__cta:hover{filter:brightness(1.08);color:var(--mgp-white);}

/* ---------- Zone droite (compte / panier / langues) ---------- */
.mgp-actions{display:flex;align-items:center;gap:26px;flex:0 0 auto;}
.mgp-icon{
  display:inline-flex;align-items:center;gap:7px;
  color:var(--mgp-white);text-decoration:none;background:none;border:0;cursor:pointer;
  font-family:inherit;font-size:15px;font-weight:500;
}
.mgp-icon svg{width:22px;height:22px;display:block;}
.mgp-langs{display:flex;align-items:center;gap:12px;}
.mgp-langs a{display:block;line-height:0;}
.mgp-langs img{width:24px;height:16px;object-fit:cover;display:block;border-radius:2px;}
.mgp-langs a[aria-current="true"]{outline:2px solid rgba(255,255,255,.9);outline-offset:1px;border-radius:2px;}

/* ---------- Bouton hamburger (mobile) ---------- */
.mgp-burger{
  display:none;
  width:56px;height:56px;flex:0 0 auto;
  background:var(--mgp-red);border:0;border-radius:var(--mgp-r-burger);
  cursor:pointer;align-items:center;justify-content:center;
}
.mgp-burger__bars{display:block;width:26px;height:18px;position:relative;}
.mgp-burger__bars span{
  position:absolute;left:0;right:0;height:3px;border-radius:2px;background:var(--mgp-white);
  transition:transform .25s ease,opacity .2s ease;
}
.mgp-burger__bars span:nth-child(1){top:0;}
.mgp-burger__bars span:nth-child(2){top:7.5px;}
.mgp-burger__bars span:nth-child(3){top:15px;}

/* Panier mobile (dans la barre, à gauche des logos) — masqué en desktop */
.mgp-cart-mobile{display:none;}

/* =========================================================================
   MOBILE  (<= 900px)
   ========================================================================= */
@media (max-width:900px){
  .mgp-header__bar{height:var(--mgp-h-mobile);padding:0 16px;gap:14px;justify-content:flex-start;}
  .mgp-nav,.mgp-actions{display:none;}

  /* ordre : hamburger -> logos (gauche) -> ... -> panier (extrémité droite) */
  .mgp-header__left{display:flex;align-items:center;flex:0 0 auto;order:1;}
  .mgp-burger{display:inline-flex;}
  .mgp-logos{order:2;margin:0 auto 0 0;gap:14px;}

  .mgp-cart-mobile{
    order:3;
    display:inline-flex;align-items:center;gap:6px;
    color:var(--mgp-white);text-decoration:none;
    font-size:15px;font-weight:600;font-family:inherit;
  }
  .mgp-cart-mobile svg{width:24px;height:24px;display:block;}

  .mgp-logos__acm{height:52px;}
  .mgp-logos__sep{height:40px;}
  .mgp-logos__circuit{height:34px;}
}

/* =========================================================================
   PANNEAU MENU MOBILE
   ========================================================================= */
.mgp-drawer{
  display:none;
  position:absolute;left:0;right:0;top:0;
  padding:12px;z-index:60;
}
.mgp-drawer__head{
  height:var(--mgp-h-mobile);
  display:flex;align-items:center;gap:14px;
  padding:0 4px;margin-bottom:8px;
}
.mgp-drawer__close{
  width:56px;height:56px;flex:0 0 auto;
  background:var(--mgp-red);border:0;border-radius:var(--mgp-r-burger);
  cursor:pointer;display:inline-flex;align-items:center;justify-content:center;
}
.mgp-drawer__close svg{width:22px;height:22px;color:#fff;}
.mgp-drawer__logos{display:flex;align-items:center;gap:14px;margin-left:auto;}
.mgp-drawer__logos .mgp-logos__acm{height:52px;}
.mgp-drawer__logos .mgp-logos__sep{height:40px;}
.mgp-drawer__logos .mgp-logos__circuit{height:34px;}

.mgp-drawer__panel{
  background:#fff;color:var(--mgp-navy);
  border-radius:var(--mgp-r-panel);
  box-shadow:0 24px 60px rgba(15,23,40,.35);
  padding:18px;
  max-height:calc(100vh - var(--mgp-h-mobile) - 40px);
  overflow-y:auto;
}
.mgp-drawer__toprow{display:flex;gap:12px;margin-bottom:6px;}
.mgp-pill{
  display:flex;align-items:center;gap:14px;
  background:var(--mgp-surface);border-radius:10px;
  padding:14px 18px;color:var(--mgp-navy);text-decoration:none;
}
.mgp-pill svg{width:22px;height:22px;}
.mgp-pill .mgp-pill__sep{width:1px;height:22px;background:#cfd4da;}
.mgp-pill--langs{margin-left:auto;gap:12px;}
.mgp-pill--langs img{width:26px;height:18px;border-radius:2px;display:block;}
.mgp-pill--langs a[aria-current="true"] img{outline:2px solid var(--mgp-navy);outline-offset:1px;}

.mgp-group__title{
  font-weight:800;text-transform:uppercase;letter-spacing:.6px;font-size:15px;
  color:var(--mgp-navy);border-left:2px solid var(--mgp-navy);
  padding-left:12px;margin:20px 0 12px;
}
.mgp-group__list{border-left:1px solid var(--mgp-line);padding-left:12px;display:flex;flex-direction:column;gap:10px;}
.mgp-item{
  display:flex;align-items:center;justify-content:space-between;
  background:var(--mgp-surface);border-radius:10px;
  padding:16px 18px;color:var(--mgp-navy);text-decoration:none;
  font-size:17px;font-weight:500;
}
.mgp-item svg{width:9px;height:16px;color:var(--mgp-navy);flex:0 0 auto;}

/* état ouvert */
.mgp-header.is-open .mgp-drawer{display:block;}
.mgp-header.is-open .mgp-header__bar{visibility:hidden;}
body.mgp-no-scroll{overflow:hidden;}

/* Dropdowns desktop (simple) */
.mgp-nav__panel{
  display:none;position:absolute;top:calc(100% + 18px);left:50%;transform:translateX(-50%);
  background:#fff;color:var(--mgp-navy);border-radius:10px;box-shadow:0 20px 50px rgba(15,23,40,.25);
  padding:10px;min-width:230px;
}
.mgp-nav__item[aria-expanded="true"] .mgp-nav__panel{display:block;}
.mgp-nav__panel a{display:block;padding:12px 14px;border-radius:8px;color:var(--mgp-navy);text-decoration:none;font-weight:500;font-size:16px;}
.mgp-nav__panel a:hover{background:var(--mgp-surface);}
