/* =========================================================
   AVENSCI PUBLIC HEADER — consolidated canonical stylesheet
   PREPROD 21H2
   ========================================================= */


/* ===== Source: home-reference-cart-badge-v121f.css ===== */
.fm-tool-cart{position:relative}
.fm-cart-count{position:absolute;top:-6px;right:-6px;min-width:15px;height:15px;padding:0 3px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#07335b;color:#fff;border:2px solid #fff;font-size:8px;font-weight:800;line-height:1;box-sizing:border-box}


/* ===== Source: home-exact-header-v121h.css ===== */

/* AvenSci V1.21H
   Exact desktop header dimensions taken from the approved Home reference:
   reference-width-fix.css + final-home.css.
*/

body .fm-header{
  height:96px !important;
  min-height:96px !important;
  background:#fff !important;
  display:flex !important;
  align-items:center !important;
  box-sizing:border-box !important;
}

body .fm-header .fm-wrap.fm-header__row{
  width:calc(100vw - 64px) !important;
  max-width:1540px !important;
  height:96px !important;
  min-height:96px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  gap:22px !important;
  box-sizing:border-box !important;
  transform:none !important;
  zoom:1 !important;
}

body .fm-header .fm-logo{
  flex:0 0 330px !important;
  width:330px !important;
  min-width:330px !important;
  max-width:330px !important;
  display:flex !important;
  align-items:center !important;
  margin:0 !important;
  padding:0 !important;
}

body .fm-header .fm-logo img{
  display:block !important;
  width:305px !important;
  max-width:305px !important;
  min-width:305px !important;
  height:auto !important;
  margin:0 !important;
  transform:none !important;
}

body .fm-header .fm-nav{
  margin-left:auto !important;
  margin-right:0 !important;
  display:flex !important;
  align-items:center !important;
  gap:31px !important;
  font-size:14px !important;
  line-height:1.2 !important;
  white-space:nowrap !important;
  padding:0 !important;
  transform:none !important;
  zoom:1 !important;
}

body .fm-header .fm-nav a{
  font-size:14px !important;
  line-height:1.2 !important;
  margin:0 !important;
  padding:0 !important;
  white-space:nowrap !important;
  transform:none !important;
}

body .fm-header .fm-tools,
body .fm-header .fm-tools-modern{
  display:flex !important;
  align-items:center !important;
  gap:18px !important;
  margin-left:16px !important;
  margin-right:0 !important;
  padding:0 !important;
  transform:none !important;
}

body .fm-header .fm-tool,
body .fm-header .fm-tool-modern{
  position:relative !important;
  width:22px !important;
  height:22px !important;
  min-width:22px !important;
  min-height:22px !important;
  flex:0 0 22px !important;
  display:grid !important;
  place-items:center !important;
  padding:0 !important;
  margin:0 !important;
  box-sizing:border-box !important;
  font-size:20px !important;
  line-height:1 !important;
}

body .fm-header .fm-tool-modern svg{
  width:18px !important;
  height:18px !important;
  display:block !important;
}

body .fm-header .fm-submit{
  margin-left:7px !important;
  padding:10px 22px !important;
  min-height:38px !important;
  height:auto !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
  font-size:13px !important;
  font-weight:700 !important;
  line-height:1 !important;
  white-space:nowrap !important;
  transform:none !important;
}

/* Preserve the validated cart badge without altering header dimensions. */
body .fm-header .fm-tool-cart > .fm-cart-count,
body .fm-header .fm-tool-cart > span{
  position:absolute !important;
  top:-7px !important;
  right:-8px !important;
  min-width:15px !important;
  height:15px !important;
  padding:0 3px !important;
  border-radius:999px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#07335b !important;
  color:#fff !important;
  border:2px solid #fff !important;
  font-size:8px !important;
  font-weight:800 !important;
  line-height:1 !important;
  box-sizing:border-box !important;
}

/* Keep existing responsive behaviour below desktop rather than forcing 96px
   into narrow layouts. */
@media(max-width:1023px){
  body .fm-header .fm-wrap.fm-header__row{
    width:calc(100% - 48px) !important;
  }
}

@media(max-width:760px){
  body .fm-header{
    height:auto !important;
    min-height:72px !important;
  }
  body .fm-header .fm-wrap.fm-header__row{
    width:calc(100% - 28px) !important;
    height:auto !important;
    min-height:72px !important;
  }
}


/* ===== Source: menu-visual-polish-v123f1.css ===== */

/* AvenSci V1.23F1 — Global menu visual polish
   Home remains the logo-size reference.
*/

body .fm-header .fm-logo{
  flex:0 0 330px !important;
  width:330px !important;
  min-width:330px !important;
  max-width:330px !important;
}

body .fm-header .fm-logo img{
  width:305px !important;
  min-width:305px !important;
  max-width:305px !important;
  height:auto !important;
  display:block !important;
  transform:none !important;
}

/* Remove menu arrows / chevrons generated by CSS or Bootstrap-like dropdowns. */
body .fm-header .fm-nav a::before,
body .fm-header .fm-nav a::after,
body .fm-header .fm-nav .dropdown-toggle::before,
body .fm-header .fm-nav .dropdown-toggle::after,
body .fm-header .fm-nav .menu-arrow,
body .fm-header .fm-nav .chevron,
body .fm-header .fm-nav .caret{
  content:none !important;
  display:none !important;
  border:0 !important;
}

/* Premium navigation items instead of plain text on white. */
body .fm-header .fm-nav{
  gap:10px !important;
}

body .fm-header .fm-nav > a,
body .fm-header .fm-nav > li > a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:38px !important;
  padding:9px 13px !important;
  border:1px solid transparent !important;
  border-radius:9px !important;
  background:rgba(232,243,252,.48) !important;
  color:#0b2f50 !important;
  font-size:14px !important;
  font-weight:650 !important;
  line-height:1.15 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  box-shadow:none !important;
  transition:
    background-color .16s ease,
    border-color .16s ease,
    box-shadow .16s ease,
    transform .16s ease !important;
}

body .fm-header .fm-nav > a:hover,
body .fm-header .fm-nav > li > a:hover{
  background:#e7f3fc !important;
  border-color:#c8deef !important;
  color:#062c4d !important;
  box-shadow:0 3px 10px rgba(18,67,105,.08) !important;
  transform:translateY(-1px) !important;
}

body .fm-header .fm-nav > a:focus-visible,
body .fm-header .fm-nav > li > a:focus-visible{
  outline:2px solid #5a9dcc !important;
  outline-offset:2px !important;
}

/* Current page / selected section. */
body .fm-header .fm-nav > a[aria-current="page"],
body .fm-header .fm-nav > a.active,
body .fm-header .fm-nav > li.active > a,
body .fm-header .fm-nav > li > a[aria-current="page"]{
  background:#dceefa !important;
  border-color:#b9d7eb !important;
  color:#072f52 !important;
  box-shadow:inset 0 -2px 0 #2f78a8 !important;
}

/* Keep the main CTA distinct from navigation tabs. */
body .fm-header .fm-submit{
  border-radius:9px !important;
}

/* Responsive: keep natural collapse/wrapping rules from existing layout. */
@media(max-width:1200px){
  body .fm-header .fm-nav{
    gap:7px !important;
  }

  body .fm-header .fm-nav > a,
  body .fm-header .fm-nav > li > a{
    padding:8px 10px !important;
    font-size:13px !important;
  }
}


/* ===== Source: header-structural-sync-v123f2.css ===== */

/* V1.23F2 structural header sync */
body .fm-header .fm-logo{
  transform:none !important;
  zoom:1 !important;
}
body .fm-header .fm-logo img{
  transform:none !important;
  zoom:1 !important;
  height:auto !important;
}
body .fm-header .fm-nav .menu-arrow,
body .fm-header .fm-nav .chevron,
body .fm-header .fm-nav .caret,
body .fm-header .fm-nav .dropdown-toggle::after,
body .fm-header .fm-nav a::after{
  display:none !important;
  content:none !important;
}


/* ===== Source: exact-home-logo-v123f5.css ===== */

/* AvenSci V1.23F5 — exact Home logo asset, no distortion */
body .fm-header .fm-logo{
  flex:0 0 330px !important;
  width:330px !important;
  min-width:330px !important;
  max-width:330px !important;
  height:85px !important;
  min-height:85px !important;
  max-height:85px !important;
  display:flex !important;
  align-items:center !important;
  overflow:visible !important;
  transform:none !important;
  zoom:1 !important;
}
body .fm-header .fm-logo img{
  display:block !important;
  width:305px !important;
  min-width:305px !important;
  max-width:305px !important;
  height:85px !important;
  min-height:85px !important;
  max-height:85px !important;
  object-fit:contain !important;
  object-position:left center !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
  zoom:1 !important;
}
body .fm-header,
body .fm-header .fm-wrap.fm-header__row{
  min-height:96px !important;
}



/* =========================================================
   AVENSCI GLOBAL MOBILE HEADER V1
   Activated only when JS adds .fm-mobile-ready
   ========================================================= */

.fm-mobile-toggle{
  display:none;
}

@media(max-width:900px){

  body .fm-header.fm-mobile-ready{
    height:auto !important;
    min-height:72px !important;
    overflow:visible !important;
  }

  body .fm-header.fm-mobile-ready .fm-wrap.fm-header__row{
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    min-height:72px !important;
    padding:10px 16px !important;
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:10px 12px !important;
    box-sizing:border-box !important;
  }

  body .fm-header.fm-mobile-ready .fm-logo{
    flex:1 1 auto !important;
    width:auto !important;
    min-width:0 !important;
    max-width:225px !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
  }

  body .fm-header.fm-mobile-ready .fm-logo img{
    width:auto !important;
    min-width:0 !important;
    max-width:225px !important;
    height:auto !important;
    min-height:0 !important;
    max-height:72px !important;
    object-fit:contain !important;
  }

  body .fm-header.fm-mobile-ready .fm-mobile-toggle{
    display:inline-flex !important;
    flex:0 0 44px !important;
    width:44px !important;
    height:44px !important;
    margin-left:auto !important;
    padding:9px !important;
    border:1px solid rgba(7,51,91,.20) !important;
    border-radius:7px !important;
    background:#fff !important;
    align-items:center !important;
    justify-content:center !important;
    flex-direction:column !important;
    gap:5px !important;
    cursor:pointer !important;
    box-sizing:border-box !important;
  }

  body .fm-header.fm-mobile-ready .fm-mobile-toggle span{
    display:block !important;
    width:22px !important;
    height:2px !important;
    margin:0 !important;
    background:#07335b !important;
    border-radius:2px !important;
  }

  body .fm-header.fm-mobile-ready .fm-nav{
    display:none !important;
    order:10 !important;
    flex:0 0 100% !important;
    width:100% !important;
    max-width:100% !important;
    margin:4px 0 0 !important;
    padding:8px 0 !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:1px !important;
    border-top:1px solid rgba(7,51,91,.10) !important;
    white-space:normal !important;
  }

  body .fm-header.fm-mobile-ready.fm-mobile-open .fm-nav{
    display:flex !important;
  }

  body .fm-header.fm-mobile-ready .fm-nav > a{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    padding:7px 8px !important;
    box-sizing:border-box !important;
    white-space:normal !important;
  }

  body .fm-header.fm-mobile-ready .fm-tools,
  body .fm-header.fm-mobile-ready .fm-tools-modern{
    display:none !important;
    order:11 !important;
    flex:0 0 100% !important;
    width:100% !important;
    margin:0 !important;
    padding:6px 8px 2px !important;
    justify-content:flex-start !important;
    gap:14px !important;
  }

  body .fm-header.fm-mobile-ready.fm-mobile-open .fm-tools,
  body .fm-header.fm-mobile-ready.fm-mobile-open .fm-tools-modern{
    display:flex !important;
  }

  body .fm-header.fm-mobile-ready .fm-submit{
    display:none !important;
    order:12 !important;
    flex:0 0 100% !important;
    width:100% !important;
    margin:4px 0 2px !important;
    padding:10px 16px !important;
    justify-content:center !important;
    text-align:center !important;
    box-sizing:border-box !important;
  }

  body .fm-header.fm-mobile-ready.fm-mobile-open .fm-submit{
    display:flex !important;
  }
}

@media(max-width:599px){
  body .fm-header.fm-mobile-ready .fm-logo,
  body .fm-header.fm-mobile-ready .fm-logo img{
    max-width:205px !important;
  }
}

/* AVENSCI EDITORIAL WORKSPACE HEADER ACCESS V1 */
body .fm-header .fm-editorial-workspace{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:38px !important;
  padding:9px 14px !important;
  margin-left:7px !important;
  border:1px solid #0b5cab !important;
  border-radius:7px !important;
  background:#fff !important;
  color:#0b5cab !important;
  font-size:12px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
}

body .fm-header .fm-editorial-workspace:hover{
  background:#eef6ff !important;
  color:#074b8a !important;
  text-decoration:none !important;
}

@media(max-width:760px){
  body .fm-header.fm-mobile-ready .fm-editorial-workspace{
    display:none !important;
    order:12 !important;
    flex:0 0 100% !important;
    width:100% !important;
    margin:4px 0 2px !important;
    padding:10px 16px !important;
    justify-content:center !important;
    text-align:center !important;
  }

  body .fm-header.fm-mobile-ready.fm-mobile-open .fm-editorial-workspace{
    display:flex !important;
  }

  body .fm-header.fm-mobile-ready .fm-submit{
    order:13 !important;
  }
}
