@charset "utf-8";
/* ============================================================
   DAUM TRAVEL - 추가 섹션 전용 스타일
   템플릿 원본 CSS(setting/plugin/templatehouse/style)는 수정하지 않고
   이 파일에서만 확장한다. 모든 셀렉터는 .daum-sec 또는 #daum* 로 스코프.
   ============================================================ */

:root { --primary: #D9536B; --primary-rgb: 217, 83, 107; }

.daum-sec { position: relative; padding: 10rem 0; }
.daum-sec.is-tint { background: #fdf7f8; }
.daum-sec.daum-lead { padding-bottom: 0; }
.daum-head { margin-bottom: 5.6rem; text-align: center; }
.daum-eyebrow {
  display: inline-block; margin-bottom: 1.6rem; padding: .6rem 1.6rem;
  border: 1px solid rgba(var(--primary-rgb), .45); border-radius: 3rem;
  font-size: 1.3rem; font-weight: 700; letter-spacing: .18em; color: var(--primary);
}
.daum-tit { display: block; margin-bottom: 1.6rem; word-break: keep-all; }
.daum-desc { color: var(--text-color3); word-break: keep-all; }

/* ---------------- 추천 코스 */
#daumCourse .daum-course { display: flex; gap: 2.4rem; }
#daumCourse .daum-day {
  flex: 1; position: relative; padding: 3.6rem 2.8rem 3.2rem;
  background: #fff; border: 1px solid var(--line-color1, #e5e5e5); border-radius: 1.6rem;
  transition: transform .3s, box-shadow .3s, border-color .3s;
}
#daumCourse .daum-day:hover {
  transform: translateY(-.8rem); border-color: rgba(var(--primary-rgb), .5);
  box-shadow: 0 2.4rem 5rem rgba(17, 17, 17, .1);
}
#daumCourse .daum-daynum {
  display: inline-flex; align-items: center; justify-content: center;
  width: 5.6rem; height: 5.6rem; margin-bottom: 2rem; border-radius: 50%;
  background: rgba(var(--primary-rgb), .1); color: var(--primary);
  font-size: 1.5rem; font-weight: 800; letter-spacing: .04em;
}
#daumCourse .daum-daytit { display: block; margin-bottom: 1.6rem; word-break: keep-all; }
#daumCourse .daum-daylist { margin: 0; padding: 0; list-style: none; }
#daumCourse .daum-daylist li { position: relative; padding: .9rem 0 .9rem 2.2rem; color: var(--text-color2); }
#daumCourse .daum-daylist li + li { border-top: 1px dashed var(--line-color2, #eee); }
#daumCourse .daum-daylist li::before {
  content: ""; position: absolute; top: 1.75rem; left: 0;
  width: .8rem; height: .8rem; border-radius: 50%; background: var(--primary); opacity: .55;
}
.daum-note {
  margin-top: 4rem; padding: 2.4rem 3.2rem; border-radius: 1.2rem;
  background: rgba(var(--primary-rgb), .07); color: var(--text-color2); word-break: keep-all;
}

/* ---------------- 상품 */
#daumPack .daum-packs { display: flex; gap: 2.4rem; align-items: stretch; }
#daumPack .daum-pack {
  flex: 1; display: flex; flex-direction: column; padding: 4rem 3.2rem;
  background: #fff; border: 1px solid var(--line-color1, #e5e5e5); border-radius: 1.6rem;
  transition: transform .3s, box-shadow .3s;
}
#daumPack .daum-pack:hover { transform: translateY(-.8rem); box-shadow: 0 2.4rem 5rem rgba(17,17,17,.1); }
#daumPack .daum-pack.is-best { border-color: var(--primary); box-shadow: 0 1.6rem 4rem rgba(var(--primary-rgb), .16); }
#daumPack .daum-packtag {
  display: inline-block; align-self: flex-start; margin-bottom: 1.8rem;
  padding: .5rem 1.4rem; border-radius: .6rem; background: rgba(var(--primary-rgb), .12);
  color: var(--primary); font-size: 1.3rem; font-weight: 700;
}
#daumPack .daum-pack.is-best .daum-packtag { background: var(--primary); color: #fff; }
#daumPack .daum-packname { display: block; margin-bottom: .8rem; }
#daumPack .daum-packday { display: block; margin-bottom: 2.4rem; color: var(--text-color3); }
#daumPack .daum-packlist { margin: 0 0 3.2rem; padding: 2.4rem 0 0; list-style: none; border-top: 1px solid var(--line-color2, #eee); }
#daumPack .daum-packlist li { position: relative; padding: .7rem 0 .7rem 2.4rem; color: var(--text-color2); }
#daumPack .daum-packlist li::before {
  content: ""; position: absolute; left: .2rem; top: 1.5rem; width: 1.1rem; height: .6rem;
  border-left: .2rem solid var(--primary); border-bottom: .2rem solid var(--primary);
  transform: rotate(-45deg);
}
#daumPack .daum-packbtn { margin-top: auto; }

/* ---------------- 예약 절차 */
#daumStep .daum-steps { display: flex; gap: 2.4rem; }
#daumStep .daum-step { flex: 1; position: relative; padding-top: 1rem; }
#daumStep .daum-step + .daum-step::before {
  content: ""; position: absolute; top: 3.4rem; left: -1.6rem;
  width: .8rem; height: .8rem; border-top: .2rem solid var(--primary);
  border-right: .2rem solid var(--primary); transform: rotate(45deg); opacity: .6;
}
#daumStep .daum-stepnum {
  display: block; margin-bottom: 1.6rem; font-size: 4.4rem; font-weight: 800;
  line-height: 1; color: rgba(var(--primary-rgb), .28);
}
#daumStep .daum-steptit { display: block; margin-bottom: 1rem; }
#daumStep .daum-stepdesc { color: var(--text-color3); word-break: keep-all; }

/* ---------------- FAQ */
#daumFaq .contents-container { max-width: 96rem; }

/* ---------------- 상담 CTA */
#daumCta { padding: 8.8rem 0; background: var(--secondary); color: #fff; }
#daumCta .daum-ctainner { display: flex; align-items: center; justify-content: space-between; gap: 4rem; }
#daumCta .daum-ctatit { display: block; margin-bottom: 1.2rem; color: #fff; word-break: keep-all; }
#daumCta .daum-ctadesc { color: rgba(255,255,255,.68); word-break: keep-all; }
#daumCta .daum-ctabtns { display: flex; gap: 1.2rem; flex-shrink: 0; }

/* ---------------- 여행 정보 표 */
#daumInfo .daum-table { width: 100%; border-collapse: collapse; background: #fff; }
#daumInfo .daum-table th, #daumInfo .daum-table td {
  padding: 1.8rem 2rem; border-bottom: 1px solid var(--line-color2, #eee); text-align: left; word-break: keep-all;
}
#daumInfo .daum-table thead th { background: rgba(var(--primary-rgb), .08); color: var(--text-color1); font-weight: 700; }
#daumInfo .daum-table tbody th { width: 18%; font-weight: 700; color: var(--primary); }
#daumInfo .daum-tablewrap { overflow-x: auto; border: 1px solid var(--line-color1, #e5e5e5); border-radius: 1.2rem; }

@media (max-width: 1024px) {
  #daumCourse .daum-course, #daumPack .daum-packs, #daumStep .daum-steps { flex-wrap: wrap; }
  #daumCourse .daum-day, #daumPack .daum-pack { flex: 1 1 calc(50% - 1.2rem); }
  #daumStep .daum-step { flex: 1 1 calc(50% - 1.2rem); }
  #daumStep .daum-step + .daum-step::before { display: none; }
}
@media (max-width: 768px) {
  .daum-sec { padding: 6.4rem 0; }
  .daum-head { margin-bottom: 3.6rem; }
  #daumCourse .daum-course, #daumPack .daum-packs, #daumStep .daum-steps { flex-direction: column; }
  #daumCourse .daum-day, #daumPack .daum-pack, #daumStep .daum-step { flex: 1 1 auto; }
  .daum-note { padding: 2rem; }
  #daumCta { padding: 5.6rem 0; }
  #daumCta .daum-ctainner { flex-direction: column; align-items: flex-start; gap: 2.4rem; }
  #daumCta .daum-ctabtns { width: 100%; }
  #daumCta .daum-ctabtns .btnset { flex: 1; }
}

/* ---------------- 문의 폼 */
#daumForm { background: var(--bg-color, #f7f7fb); }
#daumForm .daum-formbox {
  max-width: 88rem; margin: 0 auto; padding: 5.6rem 5.6rem 4.8rem;
  background: #fff; border-radius: 1.6rem; box-shadow: 0 2rem 5rem rgba(17,17,17,.07);
}
#daumForm .daum-formrow { display: flex; gap: 2rem; margin-bottom: 2rem; }
#daumForm .daum-field { flex: 1; }
#daumForm .daum-label { display: block; margin-bottom: .9rem; font-weight: 700; color: var(--text-color1); }
#daumForm .daum-label em { color: var(--primary); font-style: normal; }
#daumForm .daum-input, #daumForm .daum-textarea {
  width: 100%; padding: 1.5rem 1.6rem; border: 1px solid var(--line-color1, #e5e5e5);
  border-radius: .8rem; background: #fff; font-family: inherit; font-size: 1.5rem; color: var(--text-color1);
  transition: border-color .2s;
}
#daumForm .daum-textarea { min-height: 13rem; resize: vertical; }
#daumForm .daum-input:focus, #daumForm .daum-textarea:focus { outline: none; border-color: var(--primary); }
#daumForm .daum-agree { display: flex; align-items: center; gap: .8rem; margin: 2.4rem 0 2.8rem; color: var(--text-color2); }
#daumForm .daum-agree input { width: 1.8rem; height: 1.8rem; accent-color: var(--primary); }
#daumForm .daum-submit { width: 100%; }
#daumForm .daum-formnote { margin-top: 2rem; text-align: center; color: var(--text-color4); }
@media (max-width: 768px) {
  #daumForm .daum-formbox { padding: 3.2rem 2.4rem 2.8rem; border-radius: 1.2rem; }
  #daumForm .daum-formrow { flex-direction: column; gap: 1.6rem; }
}

/* ---------------- 히어로 텍스트 정렬 (템플릿 원본 CSS 미수정, 여기서만 오버라이드) */
.campland-N3 .textset::after { display: none; }
.campland-N3 .textset .h1 { display: block; }
.campland-N3 .contents-slide-group { text-align: left; }
.campland-N3 .contents-slide-group .btnset { margin-top: .8rem; }

.campland-N3 .textset h1,
.campland-N3 .textset .h1,
.campland-N3 .textset strong { color: #fff; }
.campland-N6 .textset .textset-tit,
.campland-N6 .textset strong { color: #fff; }

/* ---------------- 실사 히어로 위 가독성 스크림 */
.campland-N3 .swiper-slide { overflow: hidden; }
.campland-N3 .swiper-slide::after {
  content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: 1;
  background:
    linear-gradient(90deg, rgba(10,14,20,.72) 0%, rgba(10,14,20,.5) 42%, rgba(10,14,20,.12) 100%),
    linear-gradient(180deg, rgba(10,14,20,.42) 0%, rgba(10,14,20,0) 38%, rgba(10,14,20,.45) 100%);
}
.campland-N3 .contents-slide-group { z-index: 2; }
.campland-N3 .textset .h1 { text-shadow: 0 .2rem 2.4rem rgba(0,0,0,.45); }
.campland-N3 .daum-herodesc { text-shadow: 0 .1rem 1.2rem rgba(0,0,0,.5); }
.campland-N6 .swiper-slide .contents-backimg { filter: brightness(.82); }

/* 앵커 오프셋 및 히어로 텍스트 */
html { scroll-behavior: smooth; }
[id^="daum"] { scroll-margin-top: 9rem; }
.daum-anchor { display: block; height: 0; }
.campland-N3 .daum-heroeyebrow,
.campland-N6 .daum-heroeyebrow {
  display: inline-block; margin-bottom: 2rem; padding: .6rem 1.8rem;
  border: 1px solid rgba(255,255,255,.5); border-radius: 3rem;
  font-size: 1.3rem; font-weight: 700; letter-spacing: .18em; color: #fff;
}
.campland-N3 .daum-herodesc { margin-top: 2.4rem; color: rgba(255,255,255,.8); word-break: keep-all; }
.campland-N4 .daum-head .daum-tit { color: var(--text-color1); }
@media (max-width: 768px) {
  .campland-N3 .daum-heroeyebrow, .campland-N6 .daum-heroeyebrow { margin-bottom: 1.4rem; font-size: 1.1rem; }
  .campland-N3 .daum-herodesc { margin-top: 1.6rem; }
}
