/* ===================================
   기본 헤더 스타일
=================================== */

/* 공통 네비게이션 스타일 */
header nav li > a {
  transition: 0.3s;
  /* 폰트 렌더링 최적화 */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  /* 폰트 웨이트 변경 시 깜빡임 방지 */
  will-change: transform;
  backface-visibility: hidden;
  transform: translateZ(0);
  /* 폰트 변환 방지 */
  font-variation-settings: 'wght' 400;
}

header.header--pc nav li a[aria-current='page'] {
  font-weight: 600 !important;
  font-variation-settings: 'wght' 600 !important;
}

header.header--pc .e--pointer-underline .elementor-item:after {
  bottom: 10px;
}

header.header--mo .elementor-icon-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
}
li.cabinet {
  order: 1;
}
li.cabinet:after {
  display: none;
}
/*
li.cosmosfarm-members-register:after, li.cosmosfarm-members-account:after {
  align-self: center;
  border-color: var(--e-nav-menu-divider-color, #000);
  border-left-style: var(--e-nav-menu-divider-style, solid);
  border-left-width: var(--e-nav-menu-divider-width, 2px);
  content: var(--e-nav-menu-divider-content, none);
  height: var(--e-nav-menu-divider-height, 35%);
}
*/
li.cosmosfarm-members-account a,
li.cosmosfarm-members-register a,
li.cabinet a {
  margin-inline: var(--e-nav-menu-horizontal-menu-item-margin);
}

/* 모바일 Off-Canvas 기본 스타일 */
.off-canvas--mo
  .elementor-nav-menu--main
  .elementor-nav-menu
  ul.elementor-nav-menu--dropdown {
  position: static !important;
  margin: 0;
  background-color: transparent;
  padding-left: 10px;
}

.off-canvas--mo
  .elementor-nav-menu--main
  .elementor-nav-menu
  ul
  a.elementor-sub-item {
  border-inline-start: none !important;
  padding: 10px 0;
  margin: 0 !important;
}
.off-canvas--mo
  .elementor-nav-menu--main
  .elementor-nav-menu
  a.elementor-item-anchor.has-submenu {
  color: var(--color-gray-dark);
  font-weight: 600;
}

.mo__icons ul.elementor-icon-list-items {
  justify-content: flex-start !important;
  gap: 40px;
}
.mo__icons li.elementor-icon-list-item {
  flex: 0 0 fit-content;
}
.mo__icons li.elementor-icon-list-item,
.mo__icons li.elementor-icon-list-item a {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
}
.mo__icons li.elementor-icon-list-item span.elementor-icon-list-icon {
  width: auto;
  aspect-ratio: 1 / 1;
  justify-content: center;
  align-items: center;
}
.mo__icons li.elementor-icon-list-item span.elementor-icon-list-icon svg {
  margin: 0;
}
.mo__icons li.elementor-icon-list-item span.elementor-icon-list-text {
  padding-inline: 0;
}
@media (max-width: 1024px){
  .mo__icons ul.elementor-icon-list-items .elementor-icon-list-text{
    font-size: 0;
  }
}
@media (max-width: 767px) {
  .mo__icons ul.elementor-icon-list-items {
    gap: 8px;
  }
}
/* ===================================
     Off-Canvas Animation Duration Override
  =================================== */
.elementor-widget-off-canvas {
  --e-off-canvas-animation-duration: 500ms !important;
  --e-off-canvas-animation-duration-minimum: 500ms !important;
}

/* ===================================
     언어 메뉴 스타일
  =================================== */
li.lang {
  order: 1;
  align-items: center;
}

header.header--pc li.lang:after {
  display: none;
}

li.lang > a {
  font-size: 0 !important;
  width: 24px;
  height: 24px;
  margin-left: 10px;
  margin-right: 0;
}

header.header--pc li.lang a:after {
  display: none;
}

li.lang > a {
  background: url('https://doctor-eraser.com/wp-content/uploads/2025/07/ico-lang-B.svg')
    no-repeat center/contain;
}
li.menu-contact ul li:not(:first-child) a:after {
  content: '';
  display: block;
  height: 16px;
  aspect-ratio: 1/1;
  background: url('https://doctor-eraser.com/wp-content/uploads/2025/07/ico-arrow-RU-B.svg')
    no-repeat center/contain;
  margin-left: 4px;
}

/* 언어 드롭다운 */
.off-canvas--mo .menu--login nav > ul {
  width: 100%;
  gap: 10px;
}
header.header--pc .lang > .elementor-nav-menu--dropdown {
  max-width: 120px !important;
  min-width: auto !important;
  left: 50% !important;
  transform: translateX(-50%);
  margin-left: 5px !important;
}

header.header--pc li.lang > .elementor-nav-menu--dropdown li {
  padding: 10px 0;
}

header.header--pc li.lang > .elementor-nav-menu--dropdown li > a {
  justify-content: center;
  text-align: center;
}
header.header--pc li.lang > .elementor-nav-menu--dropdown li > a:hover{
  background-color: transparent;
}
header li.lang > .elementor-nav-menu--dropdown li > a.elementor-sub-item.elementor-item-active {
  background-color: transparent;
  color: var(--e-global-color-accent);
}
.off-canvas--mo li.lang > a {
  display: none;
}
.off-canvas--mo li.lang > ul.elementor-nav-menu--dropdown {
  display: flex !important;
  padding: 0 !important;
  width: auto;
  align-items: center;
  gap: 10px;
}

/* 언어별 플래그 아이콘 */
li.lang > .elementor-nav-menu--dropdown li.lang__en > a {
  background: url('https://doctor-eraser.com/wp-content/uploads/2025/08/ico-flag-usa.svg')
    no-repeat center/contain;
}

li.lang > .elementor-nav-menu--dropdown li.lang__jp > a {
  background: url('https://doctor-eraser.com/wp-content/uploads/2025/08/ico-flag-japan.svg')
    no-repeat center/contain;
}

li.lang > .elementor-nav-menu--dropdown li.lang__ch > a {
  background: url('https://doctor-eraser.com/wp-content/uploads/2025/08/ico-flag-china.svg')
    no-repeat center/contain;
}

/* ===================================
   데스크톱 스타일 (1025px 이상)
=================================== */
@media (min-width: 1025px) {
  /* 헤더 레이아웃 */
  header.header--pc div.inner--header {
    height: 80px;
  }

  header.header--pc div.inner--header .nav--pc {
    height: 100%;
    justify-content: center;
    align-items: center;
  }

  header.header--pc nav {
    position: relative;
    width: 100%;
    height: 100%;
  }

  header.header--pc nav .elementor-nav-menu {
    width: 100%;
    flex-wrap: nowrap;
  }

  /* ===================================
     메가메뉴 스타일
  =================================== */
  header.header--pc .treatments.mega-menu {
    position: static;
    transition: 0.3s;
  }

  header.header--pc .treatments.mega-menu > .elementor-nav-menu--dropdown {
    position: absolute;
    width: 100vw;
    max-width: 1200px;
    left: 50% !important;
    transform: translateX(-50%);
    padding: 20px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    border-radius: 0 0 24px 24px;
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
    margin-top: 0;
    pointer-events: none;
    z-index: 9999; /* z-index 추가 */
  }
  
  /* highlighted 상태에서도 숨김 처리 */
  header.header--pc .treatments.mega-menu.highlighted > .elementor-nav-menu--dropdown,
  header.header--pc .treatments.mega-menu a.highlighted + .elementor-nav-menu--dropdown {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  /* 메가메뉴 1단계 아이템 */
  header.header--pc
    .treatments.mega-menu
    .elementor-nav-menu--dropdown
    > .elementor-nav-menu
    > li {
    position: relative;
    display: block;
    width: 100%;
  }

  header.header--pc .treatments.mega-menu > .elementor-nav-menu--dropdown > li {
    padding: 0 20px;
    box-sizing: border-box;
  }

  header.header--pc
    .treatments.mega-menu
    > .elementor-nav-menu--dropdown
    > li:not(:last-child) {
    border-right: 1px solid var(--color-bg-background-gray);
  }

  header.header--pc
    .treatments.mega-menu
    > .elementor-nav-menu--dropdown
    > li
    > a {
    color: var(--color-gray-dark) !important;
    font-weight: 600;
  }

  /* 메가메뉴 2단계 서브메뉴 */
  header.header--pc
    .treatments.mega-menu
    .elementor-nav-menu--dropdown
    .elementor-nav-menu--dropdown {
    position: static !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    width: 100% !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    transform: none !important;
  }

  header.header--pc
    .treatments.mega-menu
    .elementor-nav-menu--dropdown
    .elementor-nav-menu--dropdown
    li {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  header.header--pc
    .treatments.mega-menu
    .elementor-nav-menu--dropdown
    .elementor-nav-menu--dropdown
    li
    a {
    font-weight: 400;
    font-size: clamp(14px, calc(14px + 2 * ((100vw - 320px) / 1080)), 16px);
    padding: 8px 0;
    display: block;
    transition: all 0.2s ease;
    margin: 0;
  }

  header.header--pc
    .treatments.mega-menu
    .elementor-nav-menu--dropdown
    .elementor-nav-menu--dropdown
    li
    a.elementor-item-active {
    color: var(--color-text-primary);
    font-weight: 600;
  }

  /* ===================================
     일반 드롭다운 스타일
  =================================== */
  header.header--pc li > .elementor-nav-menu--dropdown {
    padding: 16px 20px 20px;
    border-radius: 0 0 24px 24px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  }

  header.header--pc li > .elementor-nav-menu--dropdown a,
  header.header--pc .treatments.mega-menu .elementor-nav-menu--dropdown a {
    margin: 0 !important;
    padding: 10px 0;
    border: none !important;
    border-inline-start: none !important;
    text-align: left;
    justify-content: flex-start;
    align-items: center;
    white-space: normal;
    word-break: normal;
  }

  /* ===================================
     공통 요소
  =================================== */
  header.header--pc .elementor-nav-menu .sub-arrow {
    display: none;
  }
}

/* ===================================
   호버 효과 (hover 지원 디바이스)
=================================== */
@media (hover: hover) {
  /* 메가메뉴 호버 효과 - 수정된 부분 */
  header.header--pc .treatments.mega-menu:hover > .elementor-nav-menu--dropdown,
  header.header--pc
    .treatments.mega-menu
    > .elementor-nav-menu--dropdown:hover {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    z-index: 3;
  }

  /* 기존 선택자도 유지 (초기 트리거용) */
  header.header--pc
    .treatments.mega-menu
    a:hover
    + .elementor-nav-menu--dropdown {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    z-index: 3;
  }

  /* 일반 메뉴 호버 효과 - text-shadow로 굵게 보이는 효과 (레이아웃 시프트 방지) */
  header nav li > a:hover {
    /* font-weight 변경 대신 text-shadow 사용 */
    text-shadow: 0 0 0.65px currentColor, 0 0 0.65px currentColor;
    /* font-weight는 그대로 유지 */
    font-weight: 400;
  }

  /* 메가메뉴 내부 링크 호버 효과 */
  header.header--pc
    .treatments.mega-menu
    .elementor-nav-menu--dropdown
    .elementor-nav-menu--dropdown
    li:hover
    a {
    color: var(--color-text-primary);
  }
}

/* ===================================
   모바일 Off-Canvas 토글 (1024px 이하)
=================================== */
@media (max-width: 1024px) {
  div.menu--login nav ul.elementor-nav-menu:after {
    display: none;
  }

  /* 다국어 */
  li.lang > a{
    width: 32px;
    height: 32px;
    margin-left: 0;
  }
  li.lang ul.elementor-nav-menu--dropdown{
    top: 42px !important;
    min-width: auto !important;
    margin-left: -28px !important;
    padding: 12px;
    border-radius: 0 0 8px 8px;
  }
  li.lang ul.elementor-nav-menu--dropdown a{
    padding: 10px;
    border: none;
    justify-content: center;
  }
  li.lang ul.elementor-nav-menu--dropdown a.elementor-sub-item:hover{
    background-color: transparent;
    padding: 10px;
  }
  /* 시술안내 내부의 2단계 서브메뉴만 토글 적용 */
  .e-off-canvas
    .treatments
    .elementor-nav-menu--dropdown
    .menu-item-has-children
    > .elementor-nav-menu--dropdown {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    display: block !important;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1),
      opacity 0.3s ease-out, padding 0.3s ease-out;
    padding-top: 0;
    padding-bottom: 0;
  }

  /* 시술안내 2단계 서브메뉴 열린 상태 */
  .e-off-canvas
    .treatments
    .elementor-nav-menu--dropdown
    .menu-item-has-children.submenu-open
    > .elementor-nav-menu--dropdown {
      width: 100%;
    max-height: 2000px;
    opacity: 1;
    padding-top: 0;
    padding-bottom: 10px;
  }

  /* 시술안내 2단계 화살표 애니메이션 */
  .e-off-canvas .elementor-nav-menu a.has-submenu {
    gap: 8px;
  }
  .e-off-canvas .elementor-nav-menu a.has-submenu .sub-arrow {
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    padding: 0;
  }
  .e-off-canvas .elementor-nav-menu a.has-submenu .sub-arrow:after {
    content: '';
    display: block;
    width: 24px;
    aspect-ratio: 1 / 1;
    background: url('https://doctor-eraser.com/wp-content/uploads/2025/08/ico-chevron-B-B.svg')
      no-repeat;
    background-size: contain;
    transition: 0.3s;
  }
  .e-off-canvas
    .elementor-nav-menu
    li.menu-item-has-children
    ul
    li
    a
    .sub-arrow:after {
    width: 16px;
  }

  .e-off-canvas .elementor-nav-menu a.has-submenu.highlighted .sub-arrow:after,
  .e-off-canvas
    .elementor-nav-menu
    li.submenu-open
    a.has-submenu
    .sub-arrow:after {
    transform: rotate(180deg);
  }

  /* 시술안내 2단계 메뉴 아이템 인터랙션 */
  .e-off-canvas
    .treatments
    .elementor-nav-menu--dropdown
    .menu-item-has-children
    > a {
    cursor: pointer !important;
    transition: background-color 0.2s ease;
  }

  .e-off-canvas
    .treatments
    .elementor-nav-menu--dropdown
    .menu-item-has-children
    > a:hover {
    background-color: rgba(255, 255, 255, 0.05);
  }

  /* 시술안내 3단계 리스트 아이템 애니메이션 */
  .e-off-canvas
    .treatments
    .elementor-nav-menu--dropdown
    .elementor-nav-menu--dropdown
    li {
    transform: translateY(0);
    transition: transform 0.2s ease-out, opacity 0.2s ease-out;
  }

  .e-off-canvas
    .treatments
    .elementor-nav-menu--dropdown
    .menu-item-has-children:not(.submenu-open)
    .elementor-nav-menu--dropdown
    li {
    transform: translateY(-5px);
    opacity: 0;
  }

  .e-off-canvas
    .treatments
    .elementor-nav-menu--dropdown
    .menu-item-has-children.submenu-open
    .elementor-nav-menu--dropdown
    li {
    transform: translateY(0);
    opacity: 1;
  }

  /* 순차적 애니메이션 딜레이 */
  .e-off-canvas
    .treatments
    .elementor-nav-menu--dropdown
    .menu-item-has-children.submenu-open
    .elementor-nav-menu--dropdown
    li:nth-child(1) {
    transition-delay: 0.05s;
  }

  .e-off-canvas
    .treatments
    .elementor-nav-menu--dropdown
    .menu-item-has-children.submenu-open
    .elementor-nav-menu--dropdown
    li:nth-child(2) {
    transition-delay: 0.1s;
  }

  .e-off-canvas
    .treatments
    .elementor-nav-menu--dropdown
    .menu-item-has-children.submenu-open
    .elementor-nav-menu--dropdown
    li:nth-child(3) {
    transition-delay: 0.15s;
  }

  .e-off-canvas
    .treatments
    .elementor-nav-menu--dropdown
    .menu-item-has-children.submenu-open
    .elementor-nav-menu--dropdown
    li:nth-child(4) {
    transition-delay: 0.2s;
  }

  .e-off-canvas
    .treatments
    .elementor-nav-menu--dropdown
    .menu-item-has-children.submenu-open
    .elementor-nav-menu--dropdown
    li:nth-child(5) {
    transition-delay: 0.25s;
  }
}
@media (max-width: 767px){
  /* 다국어 */
  li.lang > a{
    width: 24px;
    height: 24px;
  }
}/* Test comment */


/* ESWT MENU */
li.eswt_menu-recovery a, li.eswt_menu-slim a{
  display: flex !important;
  justify-content: flex-start;
  align-items: flex-end !important;
  gap: 4px;
  flex-wrap: wrap;
}
li.eswt_menu-recovery a:after, li.eswt_menu-slim a:after{
  content: '(体外衝撃波)';
  display: block;
  font-size: 12px;
  line-height: 1.4;
}