/* [isend 전용·불가피] 퍼블 base(11e5f30, 2026-06-24 다국어 css) 기준:
   .sub li{width:15rem}(고정폭)이고 .sub li a 의 white-space:nowrap 이 제거됨
   → PC 에서 긴 i18n 항목이 줄바꿈/잘림. PC 한정 width:auto + min-width + nowrap 으로 방지
   (nowrap 은 이제 base 에 없어 override 가 유일 공급원 — 더 필수).
   ※ 구버전 .sub li{padding:1.8rem 0} 은 11e5f30 에서 제거됨 → 아래 padding-0 은 방어적 no-op.
   (mobi 는 common.css 가 전역 width:auto 를 주어 보정 형태가 다르다.) */
@media screen and (min-width: 769px) {
  .wrap header .inner .gnb > ul li .sub li {
    width: auto;
    min-width: 15rem;
    white-space: nowrap;
    padding-top: 0;
    padding-bottom: 0;
  }
}

@media screen and (min-width: 769px) {
  /* GNB 호버 서브메뉴 스택(z-index) 정리.
       두 가지를 동시에 해결한다:
       1) 언어 스위처(z-index:102)가 흰 서브메뉴 박스 위로 비치는 문제.
       2) iapps/igent 랜딩의 임베드 iframe 등 다른 스택 컨텍스트 요소가 서브메뉴 박스의
          둥근 1px 상단(특히 우측) 테두리를 덮어 "상단 선 일부 사라짐"이 생기는 문제.
       → 서브메뉴(.sub)를 충분히 높은 z-index(모달 1000 아래)로 올리고 흰 배경을 깐다.
         (퍼블리셔 background:transparent 쇼트핸드가 나중에 로드되어 덮으므로 !important.
          .sub li 에는 배경 불필요 — 박스 .sub 자체 배경으로 충분.) */

  /* 서브메뉴가 호버로 "열린" 동안은 1000(모달 직전)까지 올려 iframe 위로 확실히 띄운다 */
  .wrap header .inner .gnb > ul li.has-sub:hover .sub {
    z-index: 1000;
  }

  /* 상단 테두리 클리핑 보정: 퍼블리셔 .sub 는 overflow:hidden + border-radius 라
     호버 시 1px border 의 상단 직선부가 Chromium 에서 잘려 "상단 선 일부 사라짐"이 생긴다.
     → border 색을 투명 처리하고 동일한 1px 링을 inset box-shadow 로 그린다
     (요소 자신의 그림자는 자신의 overflow:hidden 에 잘리지 않으므로 4면 모두 정상 렌더). */
  .wrap header .inner .gnb > ul li:hover .sub {
    border-color: transparent !important;
    box-shadow: inset 0 0 0 1px #ddd;
  }
}

/* ===== 아래부터 isend 전용 (mobi 에는 없음 — 불가피) ===== */

/* iapps.css(퍼블리싱 결과물·수정금지)가 로고/푸터로고/플로팅아이콘을 /inc/img/ 로 잘못 참조
   (실제 경로 /inc/img/common/). iapps.css 를 못 고치므로 override 에서 보정한다.
   mobi 는 iapps.css 경로가 정상 + common.css 라 이 블록 자체가 없다. */
.wrap header .inner .logo a {
  background-image: url("/inc/img/common/img_logo.png") !important;
}

.wrap footer .inner .footer_logo {
  background-image: url("/inc/img/common/img_foot_logo.png") !important;
}

.wrap .floating a {
  background-image: url("/inc/img/common/ico_contact.png") !important;
}

/* 모바일(≤768px) 햄버거 서브메뉴: 새 base(11e5f30)는 .has-sub.on 시 펼침(max-height) 규칙이
   없어 .has-sub.on .sub{max-height} 가 유일한 "열림" 트리거(필수). 항목 간격은 base
   .has-sub .sub li{padding-top:20px} 를 padding-0 + margin:20px 로 재정렬해 통일.
   (mobi 와 보정 형태가 달라 isend 전용) */
@media screen and (max-width: 768px) {
  .wrap header .inner .gnb > ul li.has-sub.on .sub {
    max-height: 30rem !important;
  }

  .wrap header .inner .gnb > ul li.has-sub .sub li {
    margin-top: 20px;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .wrap header .inner .gnb > ul li.has-sub .sub li + li {
    margin-top: 20px;
  }

  .wrap header .inner .gnb > ul li.has-sub .sub li a {
    padding: 0 !important;
  }
}

/* [전 언어] 법무 모달(type_agree) 가로 스크롤 방지 — ko·en·jp 및 향후 추가 언어 모두.
   퍼블 .agree_txt 는 overflow-y:auto 만 두지만 CSS 스펙상 다른 축(visible)도 auto 로 계산돼,
   테이블이 폭을 넘으면 가로 스크롤이 생긴다. 언어 구분 없이 막는다:
   ① table-layout:fixed — 열 폭을 컨테이너(퍼블 width:100%) 안에 고정.
   ② overflow-wrap:anywhere — 셀/문단의 긴 토큰(공백 없는 일본어·중국어, 긴 영문/URL)을
      오버플로 시 임의 지점에서 줄바꿈해 폭을 넘기지 않음.
   word-break:keep-all 은 유지 → 한국어 어절(단어) 가독성 보존(영어는 keep-all=normal,
   CJK 는 keep-all 이어도 overflow-wrap:anywhere 가 오버플로를 막는다).
   override 가 페이지 CSS 뒤 로드라 동일 specificity 로 퍼블을 덮는다(!important 불필요). */
.modal .modal_dialog .modal_content.type_agree .modal_body .agree_txt table {
  table-layout: fixed;
}
.modal .modal_dialog .modal_content.type_agree .modal_body .agree_txt p,
.modal .modal_dialog .modal_content.type_agree .modal_body .agree_txt th,
.modal .modal_dialog .modal_content.type_agree .modal_body .agree_txt td {
  word-break: keep-all;
  overflow-wrap: anywhere;
}

/* =========================================================================
   i18n 이미지 분기 (CSS background) — 전 언어(en·jp, 향후 언어 포함).
   ・ 퍼블 background:url(...) 은 수정 금지 → body.lang-<lang> 로 background-image 만 교체.
   ・ body.lang 클래스는 inc/top.php 의 <body class="lang-..."> 가 hook.
   ・ 퍼블 background 셀렉터(특히 mobi 의 긴 풀경로)보다 특정성이 낮을 수 있어,
     background-image 교체는 !important 유지(dev.css 시절과 동일). override 로 옮긴 이유는
     EN 만 있고 JP 가 누락돼 jp 가 ko 로 폴백되던 문제 + 전 언어 한곳 관리.
   ・ <img src> 는 imgLang() 자동 분기 — 여기는 CSS background 전용.
   ・ 향후 언어: 같은 셀렉터에 body.lang-<lang> + /inc/img/i18n/<lang>/ 한 줄씩 추가.
   ========================================================================= */
/* 메인 히어로 swiper — 포인트/브랜드/아이리뷰 폰·오브젝트 목업 */
body.lang-en .swiper-slide.point .phone .phone01 { background-image: url("/inc/img/i18n/en/point/img_main_phone_01.png") !important; }
body.lang-jp .swiper-slide.point .phone .phone01 { background-image: url("/inc/img/i18n/jp/point/img_main_phone_01.png") !important; }
body.lang-en .swiper-slide.point .phone .phone02 { background-image: url("/inc/img/i18n/en/point/img_main_phone_02.png") !important; }
body.lang-jp .swiper-slide.point .phone .phone02 { background-image: url("/inc/img/i18n/jp/point/img_main_phone_02.png") !important; }
body.lang-en .swiper-slide.point .phone .phone03 { background-image: url("/inc/img/i18n/en/point/img_main_phone_03.png") !important; }
body.lang-jp .swiper-slide.point .phone .phone03 { background-image: url("/inc/img/i18n/jp/point/img_main_phone_03.png") !important; }
body.lang-en .swiper-slide.brand .phone .top { background-image: url("/inc/img/i18n/en/brand/img_main_phone_top.png") !important; }
body.lang-jp .swiper-slide.brand .phone .top { background-image: url("/inc/img/i18n/jp/brand/img_main_phone_top.png") !important; }
body.lang-en .swiper-slide.brand .phone .bottom { background-image: url("/inc/img/i18n/en/brand/img_main_phone_bottom.png") !important; }
body.lang-jp .swiper-slide.brand .phone .bottom { background-image: url("/inc/img/i18n/jp/brand/img_main_phone_bottom.png") !important; }
body.lang-en .swiper-slide.ireview .img_box .object { background-image: url("/inc/img/i18n/en/ireview/img_ireview_main_object.png") !important; }
body.lang-jp .swiper-slide.ireview .img_box .object { background-image: url("/inc/img/i18n/jp/ireview/img_ireview_main_object.png") !important; }

/* 브랜드 sc03 3D 카드 */
body.lang-en .contents .sc03 .inner .card_box .card01 { background-image: url("/inc/img/i18n/en/brand/img_sc03_card_01.png") !important; }
body.lang-jp .contents .sc03 .inner .card_box .card01 { background-image: url("/inc/img/i18n/jp/brand/img_sc03_card_01.png") !important; }
body.lang-en .contents .sc03 .inner .card_box .card02 { background-image: url("/inc/img/i18n/en/brand/img_sc03_card_02.png") !important; }
body.lang-jp .contents .sc03 .inner .card_box .card02 { background-image: url("/inc/img/i18n/jp/brand/img_sc03_card_02.png") !important; }

/* 톡포인트 sc02 화살표 오브젝트 */
body.lang-en .contents .sc02 .inner .circle_wrap .arrow { background-image: url("/inc/img/i18n/en/point/img_sc02_object_02.png") !important; }
body.lang-jp .contents .sc02 .inner .circle_wrap .arrow { background-image: url("/inc/img/i18n/jp/point/img_sc02_object_02.png") !important; }

/* 모바일(≤768px) — 메인 히어로 _m 변형 */
@media screen and (max-width: 768px) {
  body.lang-en .swiper-slide.brand .phone .top { background-image: url("/inc/img/i18n/en/brand/img_main_phone_top_m.png") !important; }
  body.lang-jp .swiper-slide.brand .phone .top { background-image: url("/inc/img/i18n/jp/brand/img_main_phone_top_m.png") !important; }
  body.lang-en .swiper-slide.brand .phone .bottom { background-image: url("/inc/img/i18n/en/brand/img_main_phone_bottom_m.png") !important; }
  body.lang-jp .swiper-slide.brand .phone .bottom { background-image: url("/inc/img/i18n/jp/brand/img_main_phone_bottom_m.png") !important; }
  body.lang-en .swiper-slide.point .inner .img_box { background-image: url("/inc/img/i18n/en/point/img_main_phone_m.png") !important; }
  body.lang-jp .swiper-slide.point .inner .img_box { background-image: url("/inc/img/i18n/jp/point/img_main_phone_m.png") !important; }
}
