/* IBOToolbox managed header/footer resilience layer.
   Loaded after legacy public styles so upgrades cannot leave blank or untappable navigation. */

.ibo-managed-header [hidden],
.ibo-managed-footer [hidden]{display:none!important}

.ibo-hero::before,
.ibo-hero::after,
.ibo-hero-grid::before,
.ibo-hero-grid::after{
  pointer-events:none!important;
}

.ibo-hero>.ibo-managed-header,
.ibo-managed-header{
  width:100%!important;
  max-width:none!important;
  min-height:76px;
  margin:0!important;
  box-sizing:border-box;
  display:grid!important;
  grid-template-columns:minmax(190px,240px) minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  padding:12px max(18px,calc((100vw - 1180px)/2 + 18px))!important;
  color:#fff!important;
  background:linear-gradient(90deg,rgba(7,20,45,.98),rgba(25,31,105,.94),rgba(65,38,150,.86))!important;
  border:0!important;
  border-bottom:1px solid rgba(255,255,255,.14)!important;
  border-radius:0!important;
  box-shadow:0 10px 30px rgba(3,12,40,.12)!important;
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  z-index:60!important;
  isolation:isolate;
  overflow:visible!important;
  pointer-events:auto!important;
}

.ibo-managed-header-logo{
  min-width:0;
  display:inline-flex!important;
  align-items:center;
  justify-self:start;
  text-decoration:none!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  position:relative;
  z-index:2;
  pointer-events:auto!important;
}

.ibo-managed-header-logo img{
  display:block!important;
  width:auto!important;
  height:46px!important;
  max-width:210px!important;
  object-fit:contain;
}

.ibo-managed-header-logo span,
.ibo-managed-footer-logo span{
  display:inline-flex;
  align-items:baseline;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:22px;
  line-height:1;
  font-weight:950;
  letter-spacing:-.7px;
  white-space:nowrap;
}

.ibo-managed-header-logo small,
.ibo-managed-footer-logo small{
  color:#ffbe28!important;
  -webkit-text-fill-color:#ffbe28!important;
  font-size:.58em;
  letter-spacing:0;
}

.ibo-managed-header nav{
  min-width:0;
  display:flex!important;
  align-items:center;
  justify-content:center;
  flex-wrap:nowrap!important;
  gap:2px!important;
  position:relative;
  z-index:2;
  pointer-events:auto!important;
}

.ibo-managed-header nav a,
.ibo-managed-header-action{
  min-height:42px;
  box-sizing:border-box;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  padding:9px 10px;
  border-radius:10px;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:13px!important;
  line-height:1.15;
  font-weight:850!important;
  text-decoration:none!important;
  white-space:nowrap;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  position:relative;
  z-index:3;
  cursor:pointer;
  transition:background-color .18s ease,color .18s ease,transform .18s ease;
}

.ibo-managed-header nav a:hover,
.ibo-managed-header nav a:focus-visible{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:rgba(255,255,255,.12)!important;
}

.ibo-managed-header-action{
  padding-inline:16px!important;
  border:1px solid rgba(255,255,255,.5)!important;
  background:linear-gradient(135deg,#ffbf24,#ff970e)!important;
  color:#07142d!important;
  -webkit-text-fill-color:#07142d!important;
  box-shadow:0 8px 20px rgba(255,166,18,.2);
}

.ibo-managed-header-action:hover,
.ibo-managed-header-action:focus-visible{
  color:#07142d!important;
  -webkit-text-fill-color:#07142d!important;
  transform:translateY(-1px);
}

.ibo-managed-header-menu{
  min-width:44px;
  min-height:44px;
  display:none!important;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.38)!important;
  border-radius:11px!important;
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:21px!important;
  line-height:1;
  cursor:pointer;
  position:relative;
  z-index:4;
  pointer-events:auto!important;
}

.ibo-managed-header a:focus-visible,
.ibo-managed-header button:focus-visible,
.ibo-managed-footer a:focus-visible,
.ibo-managed-footer button:focus-visible{
  outline:3px solid #ffbf24!important;
  outline-offset:3px!important;
}

.ibo-hero>.ibo-hero-grid{
  position:relative!important;
  z-index:2!important;
}

.ibo-managed-footer{
  width:100%;
  box-sizing:border-box;
  padding:50px 0 22px!important;
  margin-top:60px;
  color:#fff!important;
  -webkit-text-fill-color:#fff;
  background:linear-gradient(145deg,#06142f,#081d43 62%,#17245a)!important;
  position:relative;
  z-index:2;
  isolation:isolate;
  overflow:hidden;
}

.ibo-managed-footer-grid{
  display:grid!important;
  grid-template-columns:minmax(240px,1.35fr) repeat(3,minmax(150px,1fr))!important;
  gap:34px!important;
  position:relative;
  z-index:2;
}

.ibo-managed-footer-brand{
  min-width:0;
}

.ibo-managed-footer-logo{
  display:inline-flex!important;
  align-items:center;
  min-height:50px;
  color:#fff!important;
  text-decoration:none!important;
  pointer-events:auto!important;
}

.ibo-managed-footer-logo img{
  display:block!important;
  width:auto!important;
  height:50px!important;
  max-width:230px!important;
  object-fit:contain;
}

.ibo-managed-footer-brand p{
  max-width:340px;
  margin:16px 0 0;
  color:#cbd8ed!important;
  -webkit-text-fill-color:#cbd8ed!important;
  line-height:1.7;
  font-weight:650;
  opacity:1!important;
}

.ibo-managed-footer-group h3{
  margin:4px 0 14px!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-size:16px!important;
  opacity:1!important;
}

.ibo-managed-footer-group>div{
  display:grid!important;
  gap:8px!important;
}

.ibo-managed-footer-group a{
  min-height:36px;
  display:flex!important;
  align-items:center;
  color:#dbe7fa!important;
  -webkit-text-fill-color:#dbe7fa!important;
  text-decoration:none!important;
  font-weight:700!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}

.ibo-managed-footer-group a:hover,
.ibo-managed-footer-group a:focus-visible{
  color:#75b9ff!important;
  -webkit-text-fill-color:#75b9ff!important;
}

.ibo-managed-footer-group>button{
  display:none!important;
}

.ibo-managed-footer-bottom{
  min-height:46px;
  display:flex!important;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-top:38px!important;
  padding-top:20px!important;
  border-top:1px solid rgba(203,216,237,.28)!important;
  color:#cbd8ed!important;
  -webkit-text-fill-color:#cbd8ed!important;
  font-size:13px;
  opacity:1!important;
}

@media(max-width:1100px){
  .ibo-hero>.ibo-managed-header,
  .ibo-managed-header{
    grid-template-columns:minmax(0,1fr) auto auto!important;
    gap:10px!important;
    padding-block:10px!important;
  }

  .ibo-managed-header nav{
    display:none!important;
    grid-column:1/-1;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:stretch;
    justify-content:stretch;
    gap:7px!important;
    padding-top:12px;
    border-top:1px solid rgba(255,255,255,.16);
  }

  .ibo-managed-header.open nav{
    display:grid!important;
  }

  .ibo-managed-header nav a{
    justify-content:flex-start!important;
    min-height:46px;
    padding:11px 13px!important;
    background:rgba(255,255,255,.07)!important;
    border:1px solid rgba(255,255,255,.1);
  }

  .ibo-managed-header-action{
    display:inline-flex!important;
    justify-self:end;
  }

  .ibo-managed-header-menu{
    display:inline-flex!important;
  }

  .ibo-managed-footer-grid{
    grid-template-columns:minmax(220px,1.2fr) repeat(3,minmax(130px,1fr))!important;
    gap:24px!important;
  }
}

@media(max-width:760px){
  .ibo-managed-header-logo img{
    height:40px!important;
    max-width:175px!important;
  }

  .ibo-managed-header-action{
    min-height:42px;
    padding:8px 12px!important;
    font-size:12px!important;
  }

  .ibo-managed-footer-grid{
    grid-template-columns:1fr 1fr!important;
  }

  .ibo-managed-footer-brand{
    grid-column:1/-1;
  }
}

@media(max-width:620px){
  .ibo-hero>.ibo-managed-header,
  .ibo-managed-header{
    min-height:66px;
    padding:9px 12px!important;
    gap:7px!important;
  }

  .ibo-managed-header-logo img{
    height:36px!important;
    max-width:145px!important;
  }

  .ibo-managed-header-logo span{
    font-size:18px;
  }

  .ibo-managed-header-action{
    min-height:40px;
    padding-inline:10px!important;
    border-radius:9px;
  }

  .ibo-managed-header-menu{
    min-width:40px;
    min-height:40px;
    padding:7px!important;
  }

  .ibo-managed-header nav{
    grid-template-columns:1fr;
  }

  .ibo-managed-footer{
    padding-top:36px!important;
  }

  .ibo-managed-footer-grid{
    grid-template-columns:1fr!important;
    gap:15px!important;
  }

  .ibo-managed-footer-brand{
    grid-column:auto;
    margin-bottom:8px;
  }

  .ibo-managed-footer-group h3{
    display:none!important;
  }

  .ibo-managed-footer-group>button{
    width:100%;
    min-height:48px;
    display:flex!important;
    align-items:center;
    justify-content:space-between;
    padding:10px 0!important;
    border:0!important;
    border-bottom:1px solid rgba(203,216,237,.3)!important;
    border-radius:0!important;
    background:transparent!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    font:inherit;
    font-weight:850;
    text-align:left;
    cursor:pointer;
  }

  .ibo-managed-footer-group>div{
    display:none!important;
    padding:8px 0 4px;
  }

  .ibo-managed-footer-group.open>div{
    display:grid!important;
  }

  .ibo-managed-footer-bottom{
    display:grid!important;
    gap:8px;
    margin-top:26px!important;
  }
}

@media(max-width:380px){
  .ibo-managed-header-logo img{max-width:122px!important}
  .ibo-managed-header-logo span{font-size:16px}
  .ibo-managed-header-action{padding-inline:8px!important;font-size:11px!important}
}

/* v3.87.4 focused storefront shell stabilization. */
body.public-interface-v3874 .ibo-hero{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#081641 0%,#11165c 52%,#31218b 100%);
  color:#fff;
}
body.public-interface-v3874 .ibo-hero > .ibo-managed-header{
  flex:none;
}
body.public-interface-v3874 .ibo-hero-grid{
  width:min(1180px,calc(100% - 36px));
  margin-inline:auto;
  box-sizing:border-box;
}
body.public-interface-v3874 .ibo-managed-footer .container,
body.public-interface-v3874 .ibo-managed-header.container{
  width:min(1180px,calc(100% - 36px));
  max-width:1180px;
  margin-inline:auto!important;
}
/* The header is intentionally full bleed inside the hero; keep its inner content aligned. */
body.public-interface-v3874 .ibo-hero > .ibo-managed-header.container{
  width:100%!important;
  max-width:none!important;
}
body.public-interface-v3874 .ibo-managed-footer-logo span[hidden],
body.public-interface-v3874 .ibo-managed-header-logo span[hidden]{display:none!important}
body.public-interface-v3874 .ibo-managed-footer img,
body.public-interface-v3874 .ibo-managed-header img{opacity:1!important;filter:none!important}

@media(max-width:760px){
  body.public-interface-v3874 .ibo-hero-grid,
  body.public-interface-v3874 .ibo-managed-footer .container{
    width:min(100% - 24px,1180px);
  }
}
