/* BASIC css start */
:root {
  --main-font: 'Pretendard', 'Montserrat', 'Noto Sans KR', sans-serif;
  --main-blue: #0C025B;
  --main-bg: #fff;
  --main-accent: #F4F6FE;
  --main-border: #D3DAF2;
  --main-radius: 16px;
  --content-max: 1400px;
  --content-side: 24px;
  --brand-primary: #5F3DC4;      /* 메인 브랜드 색상 (진한 퍼플) */
  --brand-secondary: #364FC7;     /* 보조 브랜드 색상 (진한 블루) */
  --brand-light-purple: #F3F0FF; /* 은은한 퍼플 배경 */
  --brand-light-blue: #E7F5FF;   /* 은은한 블루 배경 */
  --text-main: #212529;           /* 기본 텍스트 */
  --text-subtle: #868E96;         /* 보조 텍스트 (연한 회색) */
  --surface-bg: #F8F9FA;          /* 카드, 섹션 배경 (밝은 회색) */
  --border-color: #E9ECEF;        /* 테두리 색상 */
  --white: #FFFFFF;
  --black: #000000;
  --header-height: 80px;
}

/* 공통 섹션 스타일 */
.section {
  margin-bottom: 40px;
  box-sizing: border-box;
}

body {
  padding-top: var(--header-height);
}

/* 슬라이드 이미지가 컨테이너 내에서 비율 유지하며 전체 보이도록 */
#sec1 .swiper ul li a img {
  width: 100%;
  height: auto;
  object-fit: contain; /* 또는 cover, 상황에 맞게 선택 */
  display: block;
}

#sec1 .swiper ul li {
  width: 100%;   /* 슬라이드가 가로폭 꽉 차도록 */
  height: auto;  /* 높이 자동 */
}

#sec1 .swiper {
  width: 100%;
  max-width: 100%;
}

.section h2 {
  text-align: center;
  color: #222;
  font-size: 18px;
  font-weight: 500;
  font-family: 'Noto Sans KR', sans-serif;
  margin-bottom: 40px;
}

.sec_inner {
  padding: 0 5%;
}

.section .more_item {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 40px;
}

.section .more_item a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: 1px solid #e4e4e4;
  padding: 14px 0;
  width: 100%;
  transition: all 0.2s;
  color: #999;
  font-size: 13px;
  font-weight: 500;
}

.section .more_item a img {
  transform: scale(0.66);
  transform-origin: center center;
}

/* 모바일 고정 헤더 */
#header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--header-height);
  z-index: 1000;
  /* 기존 box-shadow 등 그대로 유지 */
}

/* 모바일 헤더 내부 */
#header .mobile_top {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 16px 5%;
  gap: 12px;
}

#header .logo img {
  width: 200px;
  height: auto;
}

/* 검색창 */
#header .search_wrap {
  display: flex;
  width: 100%;
  border: 1px solid var(--main-border);
  border-radius: var(--main-radius);
  overflow: hidden;
  background: var(--main-bg);
  font-family: var(--main-font);
}

#header .search_wrap input {
  flex: 1;
  padding: 10px 16px;
  border: none;
  background: none;
  font-size: 14px;
  outline-offset: 2px;
}

#header .search_wrap button {
  background: none;
  border: none;
  padding: 10px 12px;
  cursor: pointer;
}

#header .search_wrap button img {
  width: 20px;
  height: 20px;
}

/* 모바일 하단 버튼 */
.quick_btns {
  display: flex;
  gap: 8px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 8px;
}

.quick_btns .btn {
  background: var(--main-blue);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  border-radius: 20px;
  padding: 8px 14px;
  text-align: center;
  white-space: nowrap;
  font-family: var(--main-font);
  text-decoration: none;
  transition: background 0.2s ease;
}

.quick_btns .btn:hover {
  background: #14098f;
}

/* 모바일 브랜드 슬라이더 */
#sec2_mobile {
  padding: 0;
  margin-bottom: 32px;
}

#sec2_mobile .sec_inner {
  padding: 0 5%;
}

#sec2_mobile h2 {
  font-size: 18px;
  font-weight: 500;
  color: #222;
  margin: 0 0 12px;
}

#sec2_mobile .brand-swiper {
  overflow: hidden;
}

#sec2_mobile .brand-swiper .swiper-wrapper {
  display: flex;
}

#sec2_mobile .brand-swiper .swiper-slide {
  flex: 0 0 auto;
  width: 80px;
  margin-right: 12px;
}

#sec2_mobile .brand-swiper img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  border-radius: 8px;
  background: var(--main-bg);
  border: 1px solid var(--main-border);
  padding: 4px;
}

/* 회사 소개 영역 */
#sec2_intro {
  background: linear-gradient(to bottom, #f5f8ff, #eef3ff);
  padding: 48px 5%;
  text-align: center;
  border-top: 1px solid var(--main-border);
  border-bottom: 1px solid var(--main-border);
}

#sec2_intro .intro_title {
  font-size: 20px;
  font-weight: 800;
  color: var(--main-blue);
  margin-bottom: 20px;
  position: relative;
}

#sec2_intro .intro_title::after {
  content: '';
  display: block;
  width: 48px;
  height: 3px;
  background-color: var(--main-blue);
  border-radius: 2px;
  margin: 10px auto 0;
}

#sec2_intro .intro_text {
  font-size: 15px;
  color: #444;
  line-height: 1.8;
  font-weight: 400;
}

#sec2_intro .intro_text strong {
  display: block;
  margin-top: 16px;
  font-weight: 600;
  color: var(--main-blue);
}

#sec2_intro .about_contact {
  margin-top: 32px;
  padding: 18px;
  background-color: var(--main-bg);
  border-radius: var(--main-radius);
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  border: 1px solid var(--main-border);
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: flex-start;
  max-width: 360px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 768px) {
  #sec1 .swiper,
  #sec2_mobile {
    padding-left: 0;
    padding-right: 0;
  }
}

/* FAQ 영역 */
#mobile-faq {
  padding: 40px 5%;
  background: var(--main-bg);
  border-top: 1px solid var(--main-border);
  border-bottom: 1px solid var(--main-border);
}

#mobile-faq h2 {
  font-size: 24px;
  font-weight: 900;
  color: var(--main-blue);
  margin-bottom: 20px;
  text-align: center;
  position: relative;
  letter-spacing: -0.5px;
  text-shadow: 0 1px 0 rgba(255,255,255,0.7);
}

#mobile-faq h2::after {
  content: '';
  display: block;
  width: 50px;
  height: 4px;
  background-color: var(--main-blue);
  margin: 8px auto 0;
  border-radius: 2px;
}

.faq-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.faq-item .question {
  background: linear-gradient(145deg, #f4f6fe, #e7ecfa);
  color: #222;
  padding: 14px;
  width: 100%;
  border: none;
  font-size: 15px;
  font-weight: 600;
  text-align: left;
  border-radius: 8px;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0,0,0,0.04);
  transition: background 0.3s, box-shadow 0.3s;
}

.faq-item .question:hover {
  background: linear-gradient(145deg, #e7ecfa, #dce4fb);
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

.faq-item .answer {
  padding: 16px;
  background: #f8faff;
  font-size: 14px;
  color: #444;
  display: none;
  line-height: 1.7;
  border-left: 4px solid var(--main-blue);
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
  margin-top: 6px;
}

.faq-item.open .answer {
  display: block;
}

/* ======================================================= */
/* ✨ 추천 상품 영역 배너 스타일 ✨ */
/* ======================================================= */

/* ======================================================= */
/* ✨ 추천 상품 영역 배너 스타일 (중복 제거 버전) ✨ */
/* ======================================================= */

/* --- 1. 배너 공통 베이스 스타일 --- */
.promo-banner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 24px;
    border-radius: 12px;
    min-height: 150px;
    color: var(--white);
    text-decoration: none;
    background-size: cover;
    background-position: center;
    position: relative;
    overflow: hidden;
    transition: transform 0.3s ease;
}
.promo-banner:hover {
    transform: scale(1.03);
}
.promo-banner .text-content {
    position: relative;
    z-index: 2;
    text-align: center;
}
.promo-banner h3 {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 8px;
}
.promo-banner p {
    font-size: 14px;
    font-weight: 400;
}


/* --- 2. 텍스트-온-이미지 배너 스타일 (MSDS & COA 배너용) --- */
.promo-banner:not(.side-by-side)::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: rgba(0, 0, 0, 0.5); /* 어두운 오버레이 */
    z-index: 1;
}
.promo-banner:not(.side-by-side) h3 {
    text-shadow: 0 2px 4px rgba(0,0,0,0.5); /* 텍스트 그림자 */
}
.promo-banner:not(.side-by-side) p {
    opacity: 0.9;
}


/* --- 3. 이미지+텍스트 분리형 배너 스타일 (더랩코리아 배너용) --- */
.promo-banner.side-by-side {
    flex-direction: row;
    align-items: stretch;
    padding: 0;
    min-height: 160px;
}
.side-by-side .banner-image {
    width: 40%;
    /* ★★★ lab-korea 클래스 대신 이곳에 배경이미지를 지정합니다 ★★★ */
    background-image: url('/design/thelab2017/main/tlk2.png');
    background-size: cover;
    background-position: center;
    border-radius: 12px 0 0 12px;
}
.side-by-side .text-content {
    width: 60%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    text-align: left;
    padding: 24px;
    background-color: var(--surface-bg);
}
.side-by-side h3 {
    color: var(--text-main);
}
.side-by-side p {
    color: var(--text-subtle);
}


/* --- 4. 개별 배너 고유 스타일 --- */

/* ★★★ 중복되므로 삭제된 규칙 ★★★
.promo-banner.lab-korea {
    background-image: url('/design/thelab2017/main/tlk2.png');
}
*/

.promo-banner.msds-coa {
    background: linear-gradient(135deg, #2C3E50, #4A5568);
}
.msds-coa .certification-info {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(255,255,255,0.3);
    display: inline-block;
    text-align: center;
}
.msds-coa .certification-info p {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 1px;
}
.msds-coa .certification-info span {
    font-size: 13px;
    opacity: 0.8;
}
/* BASIC css end */

