/* mo 슬라이드 및 nav 공통 css */

.slide-item:not(:last-child)::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 2px;
    z-index: 200;
    height: 40%;
    background-color: #ccc;
  }

  @media (max-width: 768px) {

    /* iOS Safari: 노치/상태줄 safe-area 위로 body 배경이 비치지 않도록 고정 헤더 배경 확장 */
    .mo-header-fixed {
      padding-top: env(safe-area-inset-top, 0px);
      box-sizing: border-box;
      background-color: #fff;
    }

    /* 고정 헤더는 문서 흐름 밖 → tab 섹션은 높이 0. 첫 본문에 상단 패딩 두지 않음(빈 회색 띠 방지) */
    .container.mo .mo_section.tab.section {
      margin: 0;
      padding: 0;
    }

    .container.mo .mo_section.section.section01 {
      margin-top: 0;
      padding-top: 0;
    }

    /* reset.css의 .slide-container { touch-action: pan-y } 때문에
 실제 터치 대상(a 등)은 auto라 가로 스와이프가 씹힘 → 슬라이드 영역은 none */
    .container.mo .mo-slide-viewport,
    .container.mo .slide-container,
    .container.mo .slide-container * {
      touch-action: none !important;
    }

    .container.mo .slide-container {
      min-width: 0;
    }

    .mo-nav-group {
      flex: 0 0 calc(100% / 4);
      display: flex;
      justify-content: center;
      align-items: center;
      position: relative;
      cursor: pointer;
    }

    .mo-nav-group__trigger {
      -webkit-appearance: none;
      appearance: none;
      border: 0;
      background: transparent;
      padding: 0;
      margin: 0;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      height: 100%;
      position: relative;
      z-index: 2;
    }

    .mo-nav-group__trigger:focus-visible {
      outline: 2px solid #e01b00;
      outline-offset: 2px;
    }

    /* body에 붙는 별도 레이어 (헤더 overflow/transform과 분리) */
    #mo-nav-layer {
      position: fixed;
      inset: 0;
      z-index: 10050;
      pointer-events: none;
      visibility: hidden;
    }

    #mo-nav-layer.is-visible {
      pointer-events: auto;
      visibility: visible;
    }

    .mo-nav-layer__backdrop {
      position: absolute;
      inset: 0;
      background: transparent;
    }

    .mo-nav-layer__panel {
      position: absolute;
      min-width: 200px;
      max-width: min(280px, 90vw);
      padding: 10px 12px;
      background: #fff;
      border: 1px solid #dedede;
      border-radius: 8px;
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.18);
      box-sizing: border-box;
    }

    .etf-submenu-wider .mo-nav-layer__panel {
      min-width: 208px;
      max-width: min(288px, 91vw);
    }

    .mo-nav-layer__panel a {
      display: block;
      text-decoration: none;
      color: #000;
      font-size: 14px;
      font-weight: 500;
      font-family: "Paperozi", sans-serif !important;
      padding: 10px 6px;
      text-align: left;
      position: relative;
      transition: all 0.2s;
    }

    .mo-nav-layer__panel a:last-child {
      border-bottom: 0;
    }

    .mo-nav-layer__panel a:hover,
    .mo-nav-layer__panel a.active {
      color: #e01b00;
      font-weight: 700;
      padding-left: 20px;
    }

    .mo-nav-layer__panel a:hover::before,
    .mo-nav-layer__panel a.active::before {
      content: "";
      position: absolute;
      left: 5px;
      top: 50%;
      transform: translateY(-50%);
      width: 10px;
      height: 10px;
      background-image: url("/assets/meritz365_1/pc/arrow.png");
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center;
    }

    .mo-nav-layer__panel a:active {
      color: #e01b00;
    }
  }