:root{
      --brand-dark:#003366; /* 기존 #2C2C2C → 네이비 */
      --brand-sky:#66CCFF;    /* 연하늘 */
      --paper:#ECEFF1;        /* 연회색(배경) */
      --offwhite:#F7F9FB;
    }
body {
  font-family:
    -apple-system,
    BlinkMacSystemFont,
    "Apple SD Gothic Neo",
    sans-serif;
  background: var(--paper);
  color: #222;
}
    /* 페이드인 효과 */
    .fade-in {
      opacity: 0;
      transform: translateY(30px);
      transition: opacity 0.8s ease, transform 0.8s ease;
    }
    .fade-in.show {
      opacity: 1;
      transform: translateY(0);
    }

    /* 호버 효과 */
    .price-card:hover {
      transform: translateY(-6px);
      box-shadow: 0 6px 20px rgba(0,0,0,0.12);
      transition: all 0.3s ease;
    }
    /* 섹션 공통 */
    .section{min-height:100vh; padding-top:90px; padding-bottom:60px; display:flex; align-items:center;}
        /* 특정 섹션만 화면 전체 높이 강제 해제 */
    #faq, #location { min-height: auto !important; }
    .section.paper{background:var(--paper);}
    .section.alt{background:linear-gradient(180deg,#fff 0%, var(--offwhite) 100%);}
    .section.sky{background:linear-gradient(180deg,var(--brand-sky) 0%, #e8f7ff 100%);}
    .section h2{font-weight:700; margin-bottom:1rem;}

    /* HERO: 가운데 정렬, 두 줄 카피 */
    #hero { position: relative; }
#hero .carousel-item{ height: calc(100vh - 80px); }
@media (max-width: 576.98px){
  #hero .carousel-item{ height: calc(100vh - 80px); }
}
    #hero .carousel-item img{
      position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0;
    }
    #hero .overlay{position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.35),rgba(0,0,0,.35)); z-index:1;}
    #hero .hero-caption{
      position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
      text-align:center; color:#fff; z-index:2; padding:0 4vw;
    }
    #hero .hero-title{font-weight:700;}
    #hero .hero-sub{opacity:.95; font-size:1.05rem;}


    /* 버튼 */ /* 부트스트랩의 .btn-primary:not([disabled])와 경쟁하여 우선순위에서 이기거나 최소한 동등하게 만듭니다. */
    .btn-primary:not([disabled]){background:var(--brand-dark); border-color:var(--brand-dark); }
    .btn-primary:hover:not([disabled]){background:#002244; border-color:#002244; }

    /* 푸터: 상단 로고 영역과 대칭 (왼쪽 여백 약간) */
    footer{background:#2c2c2c; color:#fff;} /* background:var(--brand-dark); 원래색상 */
    footer .container{max-width:1140px; padding-left:8px;}
    footer .legal{font-size:.95rem; line-height:1.5; margin-left:.6rem;}
    @media (min-width:576px){ footer .legal{margin-left:.75rem;} }
    footer img{filter:none;}
    
    /* 문의이름 뒤에 "*" */
    .form-label.required::after {
  content: " *";
  color: red;
}
/* 데스크탑에서 메뉴 오른쪽 여백 → 메뉴가 살짝 왼쪽으로 이동 */
@media (min-width: 992px){
  .navbar.slimbar .navbar-nav{
  }
}
  /* 네비바: 슬림 바(데스크탑 70px / 모바일 80px), 로고는 크게 유지 */
  .navbar.slimbar{
    position: relative;
    height: 80px;                 /* 데스크탑 바 높이 */
    background: #2c2c2c !important; /* 기존 블루 #003366 */
    padding: 0 !important;
    padding-left: 8px !important;
    overflow: visible;            /* 큰 로고가 바 밖으로 나와도 보이게 */
  }
  .navbar.slimbar .nav-link{ color:#fff !important; }
  .navbar.slimbar .navbar-toggler{ filter: invert(0); } /* 햄버거 아이콘 보정 */

  /* 로고: 플로우에서 분리 → 바 높이 계산에 영향 X */
  .brand-abs{
    position: absolute; left: 12px; top: 50%;
    transform: translateY(-50%);
    line-height: 0; z-index: 1001; /* 가려지지 않게 충분히 높게 */
  }
  .brand-abs img{ display:block; }

  /* 메뉴는 로고 폭만큼 왼쪽 패딩으로 피해가기 (겹침 방지) */
  .navbar.slimbar > .container-fluid{
    padding-left: 12px !important; /* Bootstrap 기본값 또는 작은 값으로 복구 */
  padding-right: 12px !important;
}
@media (min-width: 992px){
  
  /* [추가] Flexbox의 메뉴 영역(flex-fill)을 오른쪽으로 밀어냅니다. */
  /* 로고 공간(260px)과 CTA 공간(200px)의 차이인 60px을 마진으로 추가합니다. */
  .navbar.slimbar .d-lg-flex.flex-fill {
      /* 시각적 중앙 보정 마진: 260px - 200px = 60px */
      margin-left: 60px; 
  }
}
  /* 모바일: 바 높이/패딩 조정 + 모바일 로고 공간 축소 */
 @media (max-width: 576.98px){
  .navbar.slimbar > .container-fluid{ 
      /* margin-left: 120px; 삭제 */
      padding-left: 12px !important; /* 기본값으로 복구 */
  }
 }
     /* 카드 스타일 공통 내장 스타일: 5열 카드, 반응형 정리 */ 
      .price-card {
        border: 1px solid #e5e7eb;
        border-radius: 12px;
        padding: 18px;                /* 기본값 유지 */
        padding-top: 42px !important; /* 위만 늘림 */
        height: 100%;
        background: #fff;
        box-shadow: 0 2px 10px rgba(0,0,0,0.06);
        text-align: left;
      }
      .price-label {
        font-weight: 700;
        font-size: 16px;
        color: #222;
        margin-bottom: 6px;
      }
      .price-value {
        font-weight: 800;
        font-size: 22px;
        color: #0d6efd;
        margin-bottom: 8px;
      }
      .price-sub {
        font-size: 14px;
        color: #6b7280;
      }
      .section-title {
        font-weight: 800;
        font-size: 28px;
        color: #111827;
        margin-bottom: 8px;
        text-align: center; /* 가운데 정렬 */
      }
      .section-desc {
        font-size: 18px;
        color: #374151;
        margin-bottom: 24px;
        text-align: left;
      }
      .group-title {
        font-weight: 700;
        font-size: 18px;
        color: #111827;
        margin: 24px 0 12px;
        text-align: left;
      }
      /* 반응형 */
/* 공통: 박스 모델 안정화 */
#pricing .five-col,
#pricing .price-card {
  box-sizing: border-box;
}

/* 한 줄에 5개 (gap 고려) */
#pricing .five-row {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
#pricing .five-col {
  flex: 0 0 calc((100% - 64px) / 5); /* 64px = 4 * 16px (5칸이면 간격 4개) */
  max-width: calc((100% - 64px) / 5);
}

/* 태블릿: 2열 */
@media (max-width: 768px) {
  #pricing .five-col {
    flex: 0 0 calc((100% - 16px) / 2); /* 2칸이면 간격 1개 */
    max-width: calc((100% - 16px) / 2);
  }
}

/* 모바일: 2,2,1 구조 */
@media (max-width: 576px) {
  #pricing .five-col {
    flex: 0 0 calc((100% - 16px) / 2);
    max-width: calc((100% - 16px) / 2);
  }
  #pricing .five-col:nth-child(5) {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
    /* ================================
       모바일 전용 스타일 (최대 767px)
       - 데스크탑에서는 그대로 두고
       - 모바일에서만 이미지 margin-top 초기화
       ================================ */
/* 모바일 + 데스크탑 좁은화면 + 태블릿 모두 적용 */
@media (max-width: 991px) {
  #contact img {
    margin-top: 0 !important;
  }
}
@media (max-width: 991px) {
  #contact {
    margin-top: 20px !important;
  }
}

   
    /* [수정]
      .btn-primary, .navbar.slimbar, .navbar.slimbar .nav-link,
      .brand-abs, .form-label.required::after 및
      관련 미디어 쿼리 등 중복되는 스타일을 모두 제거했습니다.
      index.html과 consult2.html 양쪽에서 이 파일을
      공통으로 사용할 수 있습니다.
    */

    
    /* 햄버거/사이드 드로어 스타일 (consult2.html용) */
    .side-drawer {
      position: fixed;
      /* 🚨 네비바 (80px) 아래에서 시작하도록 수정 */
      top: 80px; 
      right: -250px; /* 처음엔 화면 밖 */
      width: 250px;
      /* 🚨 높이를 컨텐츠 기반으로 조정 (스크롤 방지 및 하단 여백 확보) */
      height: auto; 
      max-height: calc(100vh - 80px); 
      overflow-y: auto; 
      background: #2c2c2c;
      color: #fff;
      transition: right 0.3s ease; /* 전환 효과 명시 */
      z-index: 1050;
      padding: 0 1rem 2rem 1rem; /* 하단 패딩을 더 주어 컷 오프 지점 확보,🚨 상단 패딩 0으로 변경 */
    }
    .side-drawer.open {
      right: 0; /* 열리면 화면 안으로 */
    }

    /* 🚨 닫기 버튼 스타일 */
    .side-drawer .btn-close {
      position: absolute;
      top: 10px;
      right: 10px;
      filter: invert(1); /* 흰색으로 변환 */
      opacity: 0.8;
      z-index: 1060;
    }

    .side-drawer a {
      display: block;
      color: #fff;
      margin: 1rem 0;
      text-decoration: none;
      /* 닫기 버튼과 겹치지 않도록 첫 링크 위치 조정 */
      padding-top: 20px; 
    }
    /* 첫 번째 링크만 닫기 버튼 아래로 밀어내기 */
    .side-drawer a:first-of-type {
        margin-top: 2rem; padding-top: 0;
    }


    /* 푸터 스타일 정리 (consult2.html용) */
    .footer-bg {
      background: #2c2c2c; 
      color: #fff;
    }
    .footer-logo-container {
      display: flex;
      align-items: center;
      gap: 3px;
    }
/* FAQ 아코디언 스타일 (이미지 기반) */
.accordion-button {
  /* 배경을 연한 하늘색 계열로 설정 (이미지 참고) */
  background-color: var(--offwhite) !important; 
  /* 연한 하늘색 배경 대신 offwhite 변수 사용 */
  color: #222 !important; 
  font-size: 1.1rem;
  border-radius: 12px !important;
  box-shadow: none !important;
}

/* 버튼이 닫혀 있을 때의 스타일 */
.accordion-button.collapsed {
  background-color: #fff !important; /* 닫혀 있을 땐 흰색 배경 */
}

/* 버튼이 눌려서 열렸을 때의 스타일 */
.accordion-button:not(.collapsed) {
  background-color: #e8f7ff !important; /* 열려 있을 땐 연한 하늘색 */
  color: var(--brand-dark) !important; /* 텍스트 색상을 브랜드 색상으로 */
}

/* 아코디언 바디 (답변 내용) */
.accordion-body {
  background-color: #fff;
  border-top: 1px solid #f0f0f0;
  color: #444;
  padding: 1.25rem 1.5rem;
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
}

/* 아코디언 아이템 공통 */
.accordion-item {
  border: 1px solid #e0e0e0 !important;
  /* 상단 모서리가 버튼이 눌렸을 때도 유지되도록 */
  border-radius: 12px !important; 
}

/* === 모바일 하단 고정 CTA 바 스타일 (max-width: 991.98px 이하에서만) === */
.cta-bar-mobile {
    display: none; 
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60px; /* 바 높이 */
    z-index: 1050;
    background: #fff; 
    border-top: 1px solid #ddd;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
}

.cta-bar-mobile .btn-cta {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    flex-grow: 1; 
    width: 50%; /* ✅ 5:5 비율 강제 */
    font-size: 1rem;
    font-weight: 700;
    text-decoration: none;
    color: #fff;
    border-radius: 0;
    box-shadow: none;
    border: none;
    white-space: nowrap;
}

/* 첫 번째 버튼: 문의하기 (남색) */
.cta-bar-mobile .btn-cta:first-child {
    background: var(--brand-dark) !important; /* ✅ 남색(003366) 적용 */
}

/* 두 번째 버튼: 전화 상담하기 (어두운 색 유지) */
.cta-bar-mobile .btn-cta:last-child {
    background: #444 !important; /* 어두운 색 유지 */
}

/* PC 화면에서는 숨기고 모바일 화면에서만 표시 & 위치 조정 */
@media (max-width: 991.98px) {
    .cta-bar-mobile {
        display: flex; /* 모바일에서 하단 바 표시 */
    }
    
    /* 1. 상담 신청 플로팅 버튼 숨기기
    /* 상담 신청 플로팅 버튼만 모바일에서 숨김 처리 */
@media (max-width: 991.98px) {
  .consult-btn {
    display: none !important;
  }
}

    /* 2. 카카오 채널 버튼 컨테이너 위치 조정 (인라인 스타일 bottom: 20px을 타겟) */
    /* 카카오 버튼 컨테이너를 하단 바(60px) 위에 10px 마진을 주어 총 70px 위로 올림 */
    div[style*="right:20px"][style*="bottom:20px"] {
        bottom: 70px !important; 
        z-index: 1060 !important; /* 하단 바(1050) 위에 오도록 z-index를 올림 */
    }
}
/* ================================
   부트스트랩 탭(nav-pills) 스타일 오버라이드
   ================================ */

/* 1. 활성화된 탭 버튼 (선택된 상태) */
.nav-pills .nav-link.active, 
.nav-pills .show > .nav-link {
    /* 기존 부트스트랩의 파란색 대신 
      style2.css에 정의된 브랜드 색상(--brand-dark)을 사용합니다.
    */
    background-color: var(--brand-dark) !important; 
    color: #fff !important;
    border-radius: 8px; /* 모서리를 살짝 둥글게 */
}

/* 2. 비활성화된 탭 버튼 (선택되지 않은 상태) */
.nav-pills .nav-link {
    color: #333; /* 기본 글자색 */
    font-weight: 500;
    background-color: #f0f0f0; /* 연한 회색 배경 */
    border-radius: 8px;
    margin: 0 4px; /* 버튼 사이 간격 */
}

/* 3. 비활성화 탭에 마우스 올렸을 때 */
.nav-pills .nav-link:hover:not(.active) {
    background-color: #e9e9e9; /* 살짝 더 진한 회색 */
}
/* BEST 강조 카드 */
.price-card.price-card-best {
  border: 3px solid var(--brand-dark);
  position: relative;
  padding-top: 42px;
}
/* BEST 뱃지 */
.price-card.price-card-best .best-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;    /* 균형 중심 */
  background: var(--brand-dark);
  color: #fff;
  font-weight: 700;
  font-size: 11px;
  padding: 4px 4px 4px 8px;  /* 좌우 동일 패딩으로 기본 균형 확보 */
  border-radius: 999px;
  line-height: 1;
  white-space: nowrap;
  letter-spacing: 0;
}
/* ✨을 가상요소로 붙이는 방식 — HTML 변경 필요 없음 */
.price-card.price-card-best .best-badge::after {
  content: "✨";
  display: inline-block;
  margin-left: -1px;          /* 공백 제거 핵심값 */
  transform: translateY(-0.4px); /* 이모지 baseline 미세 보정 */
  font-size: 11px;            /* BEST와 완전 동일 크기 */
  line-height: 1;
}
.price-card .price-label {
  margin-bottom: 18px !important;
}
/* ---------------------------------------------------------
   드로워(privacyDrawer)를 모달 위에 표시하기 위한 z-index 재정의
   - Bootstrap 기본값: offcanvas 1045 < modal 1055
   - 그래서 Drawer가 모달 뒤로 숨어버리는 문제가 발생함
   - 해결: Drawer z-index를 모달보다 높게 설정 (1060)
--------------------------------------------------------- */
#privacyDrawer.offcanvas {
  z-index: 1060 !important;
}

/* ---------------------------------------------------------
   드로워 백드롭(offcanvas-backdrop) z-index 재정의
   - Drawer가 모달 위에 올라오면 백드롭도 모달 위여야 자연스러움
   - 백드롭이 모달 뒤에 있으면 화면이 투명하게 보이고 UX 깨짐
   - 해결: 모달(1055)보다 약간 높은 1058로 설정
--------------------------------------------------------- */
.offcanvas-backdrop {
  z-index: 1058 !important;
}
