/* =====================================
   AON SPA – NO INTERNAL SCROLL
   ===================================== */

/* Wrapper must not scroll */
#aon-full-width {
  overflow: hidden !important;
}

/* Root must not scroll */
#root {
  overflow: hidden !important;
  overscroll-behavior: auto; /* allow page scroll */
}

/* Kill any accidental scroll containers */
#root * {
  overscroll-behavior: auto;
}

#aon-full-width {
  touch-action: pan-y;
}

/* Prevent nested scroll areas */
#root [style*="overflow"],
#root .overflow-auto,
#root .overflow-y-auto,
#root .overflow-scroll {
  overflow: visible !important;
}

/* Full-width wrapper */
#aon-full-width{
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  overflow-x:hidden;
  position:relative;
}

/* SPA root */
#root{
  width:100%;
  min-height:100vh;
  background:transparent;
}

/* Box sizing */
#root *,
#root *::before,
#root *::after{
  box-sizing:border-box;
}

/* ===== PC (DO NOT CHANGE) ===== */
@media (min-width: 992px){
  :root{
    --aon-pc-zoom: 0.72;
    --aon-pc-y: 1.10;
  }
  #root{
    zoom: var(--aon-pc-zoom);
    transform: scaleY(var(--aon-pc-y));
    transform-origin: top center;
  }
}

/* ===== Mobile ===== */
@media (max-width: 991px){

  #aon-full-width,
  #root{
    zoom:1 !important;
    transform:none !important;
    overflow:visible !important;
  }

  /* ICO panel lock */
  .aon-ico-lock{
    position:fixed !important;
    inset:0 !important;

    width:100vw !important;
    height:100dvh !important;

    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;

    overflow-y:auto !important;
    overflow-x:hidden !important;

    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;

    z-index:999999 !important;
  }

  .aon-ico-lock,
  .aon-ico-lock > *{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
  }
}