@charset "utf-8";

/* ========================================
   CRE 스타일 레이아웃 (콘텐츠 영역만)
   ======================================== */

/* -------------------- 기존 sub.css 오버라이드 -------------------- */

/* 기존 콘텐츠 스타일 오버라이드 (중앙정렬 → 전체너비) */
#content {
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

/* -------------------- SNB 토글 버튼 (SNB를 따라다님) -------------------- */
.snb-toggle-btn {
  position: fixed;
  top: 130px;
  left: 0;
  width: 25px;
  height: 80px;
  background: #051b40;
  border: 0;
  border-radius: 0 10px 10px 0;
  cursor: pointer;
  z-index: 10001;
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  transition: all 0.2s ease-in-out;
  box-shadow: 2px 0 5px rgba(0, 0, 0, 0.2);
}

/* CSS 화살표 아이콘 */
.snb-toggle-btn:after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 8px;
  border-color: transparent transparent transparent #9ecdff;
  transition: all 0.2s ease-in-out;
}

/* SNB 열렸을 때 토글 버튼 위치 이동 */
.snb-toggle-btn.active {
  left: 210px;
}

/* SNB 열렸을 때 화살표 반전 */
.snb-toggle-btn.active:after {
  border-width: 6px 8px 6px 0;
  border-color: transparent #9ecdff transparent transparent;
}

.snb-toggle-btn:hover {
  background: #014a8a;
}

.snb-toggle-btn:hover:after {
  border-color: transparent transparent transparent #fff;
}

.snb-toggle-btn.active:hover:after {
  border-color: transparent #fff transparent transparent;
}

.snb-toggle-btn span {
  display: none;
}

/* 모바일 오버레이 (헤더 아래에만 적용) */
.snb-overlay {
  position: fixed;
  top: 90px;
  left: 0;
  width: 100%;
  height: calc(100vh - 90px);
  background: rgba(0, 0, 0, 0.5);
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s;
}

.snb-overlay.active {
  opacity: 1;
  visibility: visible;
}

/* -------------------- Container 조정 -------------------- */
#container {
  position: relative;
  padding-top: 90px;
}

/* -------------------- 메인 레이아웃 (2컬럼) -------------------- */
.main-layout {
  display: flex;
  width: 100%;
  margin: 0;
  position: relative;
  min-height: calc(100vh - 200px);
}

/* -------------------- 우측 콘텐츠 (flex: 1, 기본 100% 너비) -------------------- */
.main-content {
  flex: 1;
  min-width: 0;
  background: #f7f7f7;
  padding: 0;
  position: relative;
  transition: margin-left 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* SNB가 활성화되면 콘텐츠 오른쪽으로 이동 (CRE 스타일) */
#snb.active ~ .main-content {
  margin-left: 210px;
}

/* 콘텐츠 박스 (CRE 스타일 - 완전 동일) */
.content-wrapper {
  margin: 40px 30px 50px 50px;
  background: #fff;
  box-shadow: 5px 5px 30px 0 rgba(0, 0, 0, 0.08);
  border-radius: 30px;
  padding: 50px;
  overflow: hidden;
}

/* 콘텐츠 내부 */
#content {
  width: 100%;
  padding: 0;
}

/* 콘텐츠 박스 내부 요소들 */
#content .content_box {
  margin: 0 !important;
}

#content .layout-title {
  margin-top: 0 !important;
  padding-bottom: 30px !important;
}

/* -------------------- 반응형 처리 -------------------- */

/* 태블릿 (1200px 이하) */
@media (max-width: 1200px) {
  #snb.active ~ .main-content {
    margin-left: 180px;
  }
  
  .content-wrapper {
    margin: 30px 20px 40px 40px;
    padding: 40px;
  }
}

@media (max-width: 1024px) {
  #snb.active ~ .main-content {
    margin-left: 120px;
  }
  
  .content-wrapper {
    margin: 20px 15px 30px 30px;
    padding: 30px;
  }
  
  #snb.fs_snb_wrp {
    width: 120px;
  }
  
  .snb-toggle-btn.active {
    left: 120px;
  }
}

/* 모바일 (768px 이하) */
@media (max-width: 768px) {
  .main-layout {
    flex-direction: column;
  }
  
  /* 콘텐츠는 full width!!! */
  .main-content {
    flex: 1;
    width: 100%;
    margin-left: 0 !important;
  }
  #content .layout-title{
      margin:60px 0 0 0 !important;
      padding-bottom:0px !important;
  }
  
  .content-wrapper {
    margin: 0px;
    padding: 20px;
    border-radius: 20px;
  }
}

/* 프린트 */
@media print {
  .main-content {
    width: 100%;
    margin-left: 0 !important;
  }
  
  .content-wrapper {
    margin: 0;
    border-radius: 0;
    box-shadow: none;
  }
}

