/* ── ktours main stylesheet ── */

/* ── Playfair Display (자체 호스팅 · kmeditours.net 히어로와 동일 서체) ──
   2026-09-30: 홈 히어로 제목용. 외부 CDN 사용 안 함(latin 서브셋 woff2) */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../vendor/playfair-display/playfair-display-500.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../vendor/playfair-display/playfair-display-600.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url('../vendor/playfair-display/playfair-display-500i.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url('../vendor/playfair-display/playfair-display-600i.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Hero */
.hero-section {
  position: relative;
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
  min-height: 90vh;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.hero-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url('https://thisiskoreatours.com/wp-content/uploads/2020/03/12.jpeg') center/cover no-repeat;
  opacity: 0.35;
}
/* 2026-09-30: A안 — kmedi 히어로와 동일한 방식(뷰포트 높이 기준)으로 통일.
   기존 `aspect-ratio: 5/2` + `max-height: 850px` 조합은 브라우저가 높이 상한에서
   너비를 역산(850 × 2.5 = 2125px)해, 2125px 보다 넓은 화면에서 오른쪽에 흰 여백이
   생기고 브라우저 줌 시 높이만 850px 에 고정되는 문제가 있었음.
   → 뷰포트 높이(min-height: 80vh)로만 잡아 항상 화면 폭을 채우고 줌에도 비례하도록 함.
   `height: 80vh` 가 아니라 `min-height` 를 쓰는 이유: 짧은 가로 화면(예: 667×375)에서
   내용이 overflow:hidden 에 잘리는 것을 막기 위함(실측 확인). */
.home-hero-section {
  min-height: 80vh;
  height: auto;
}
.home-hero-section::before {
  /* 2026-09-30: 사진 1장 → 롤링 슬라이드(.hero-slides)로 교체.
     배경 이미지 제거(총 용량 절감). 슬라이드 로드 전에는 아래 그라데이션이 보임 */
  background-image: none;
}
/* 2026-09-30: Our Tours / 영어·중국어 / 스페인어 랜딩 배너에도 홈과 동일한 롤링 적용.
   .hero-rolling 을 붙이면 정지 배경사진(::before)을 끄고 .hero-slides 롤링을 쓴다.
   홈은 .home-hero-section 이 같은 역할을 하므로 그대로 둔다. */
.hero-rolling {
  min-height: 80vh;
  height: auto;
}
.hero-rolling::before {
  background-image: none;
}
/* 슬라이드 위 글자 가독성용 좌→우 그라데이션 (홈과 동일) */
.hero-rolling::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(10, 18, 31, .8) 0%, rgba(10, 18, 31, .55) 36%, rgba(10, 18, 31, .08) 68%, rgba(10, 18, 31, 0) 100%);
}
/* 히어로 롤링(크로스페이드) — 7장, 5.5초 간격, 총 38.5초 사이클 */
.hero-slides {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.hero-slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  animation: heroFade 38.5s linear infinite;
  will-change: opacity;
}
.hero-slide:nth-child(1) { animation-name: heroFadeFirst; }
.hero-slide:nth-child(2) { animation-delay: 5.5s; }
.hero-slide:nth-child(3) { animation-delay: 11s; }
.hero-slide:nth-child(4) { animation-delay: 16.5s; }
.hero-slide:nth-child(5) { animation-delay: 22s; }
.hero-slide:nth-child(6) { animation-delay: 27.5s; }
.hero-slide:nth-child(7) { animation-delay: 33s; }
@keyframes heroFade {
  0%      { opacity: 0; }
  1.56%   { opacity: 1; }
  14.29%  { opacity: 1; }
  15.85%  { opacity: 0; }
  100%    { opacity: 0; }
}
/* 첫 장은 로드 즉시 보이도록 */
@keyframes heroFadeFirst {
  0%      { opacity: 1; }
  14.29%  { opacity: 1; }
  15.85%  { opacity: 0; }
  100%    { opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-slide { animation: none; }
  .hero-slide:nth-child(1) { opacity: 1; }
}
.home-hero-section::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(10, 18, 31, .8) 0%, rgba(10, 18, 31, .55) 36%, rgba(10, 18, 31, .08) 68%, rgba(10, 18, 31, 0) 100%);
}
/* 2026-09-30: 홈 히어로 제목 서체 — kmeditours.net 과 동일 (Playfair Display / 500 / 이탤릭 강조) */
.home-hero-section h1 {
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: .005em;
  text-shadow: 0 2px 14px rgba(0, 0, 0, .55);
}
/* 2026-09-30: 둘째 줄 강조 — 흰색 이탤릭 (기존 노란색에서 변경) */
.home-hero-section h1 .hero-accent {
  font-style: italic;
  color: #fff;
}
.hero-content {
  position: relative;
  z-index: 1;
}
.hero-badge {
  display: inline-block;
  background: rgba(255,255,255,0.15);
  backdrop-filter: blur(4px);
  border: 1px solid rgba(255,255,255,0.3);
  border-radius: 50px;
  padding: .35rem 1rem;
  font-size: .85rem;
  color: #fff;
  margin-bottom: 1.25rem;
}

/* Stats bar */
.stats-bar {
  background: #0f3460;
}
.stat-item {
  border-right: 1px solid rgba(255,255,255,.15);
  padding: 1rem 1.5rem;
}
.stat-item:last-child { border-right: none; }
.stat-num {
  font-size: 1.7rem;
  font-weight: 700;
  color: #ffd700;
  line-height: 1.1;
}
.stat-label {
  font-size: .78rem;
  color: rgba(255,255,255,.75);
  text-transform: uppercase;
  letter-spacing: .5px;
}

/* Section headings */
.section-title {
  font-size: 2rem;
  font-weight: 700;
  position: relative;
  padding-bottom: .75rem;
  margin-bottom: 2rem;
}
.section-title::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 50px; height: 3px;
  background: #0f3460;
  border-radius: 2px;
}
.section-title.text-center::after { left: 50%; transform: translateX(-50%); }
.home-page .section-title { padding-bottom: 0; }
.home-page .section-title::after { display: none; }
/* 2026-09-30: 홈 섹션 제목 서체 통일 (히어로와 동일한 Playfair Display / 500) */
.home-page .section-title {
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
  font-weight: 500;
  letter-spacing: .01em;
}
/* 밑줄 없는 섹션 제목 (예: 홈 Trusted by Travelers Worldwide) */
.section-title.no-underline { padding-bottom: 0; }
.section-title.no-underline::after { display: none; }

.tour-search-panel {
  padding: 1.25rem;
  border: 1px solid #dfe4e8;
  border-left: 4px solid #0f3460;
  background: #f8fafb;
}
.tour-filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
.tour-result .card-img-top {
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

/* Why Choose Us */
.why-icon {
  width: 64px; height: 64px;
  background: #e8f0fe;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.6rem; color: #0f3460;
  margin-bottom: 1rem;
}

/* Tour cards */
.tour-card {
  border: none;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,.08);
  transition: transform .25s, box-shadow .25s;
}
.tour-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0,0,0,.15);
}
.tour-card .card-img-top {
  height: 210px;
  object-fit: cover;
}
.tour-card .card-body { padding: 1.1rem; }
.tour-card .card-title {
  font-size: 1rem;
  font-weight: 600;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.tour-card .card-text {
  font-size: .87rem;
  color: #555;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* 카드 한 줄 요약 (headline / 첫 소제목) — 2026-09-26 */
.tour-card-summary {
  font-size: .87rem;
  font-weight: 600;
  color: #1b3a63;
  margin: 0 0 .5rem;
  line-height: 1.45;
}
/* Read more 로 펼쳐지는 본문 */
.tour-card-readmore {
  font-size: .84rem;
  color: #666;
  line-height: 1.6;
  margin: 0;
}
.tour-card-readmore.is-open { margin-bottom: .6rem; }
/* ── 추천 일정 카드: 부제목(.tour-card-summary)은 홈·투어패키지와 공유 ── */
.tour-card-readmore--clamp {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* ── 카드 본문 문단 (2026-09-26, 홍사장 지시) ──
   `.tour-card-line` 은 `display:block` 인 span 이다.
   (`<p>`/`<ul>` 같은 블록 태그를 쓰면 접힘용 -webkit-line-clamp 가 깨진다)
   문단 사이는 위쪽 여백으로 띄운다. */
.tour-card-readmore .tour-card-line {
  display: block;
}
.tour-card-readmore .tour-card-line + .tour-card-line {
  margin-top: .5rem;
}
/* 소제목 — 굵게, 본문과 조금 더 띄운다 */
.tour-card-readmore .tour-card-line--heading {
  margin-top: .85rem;
  font-weight: 700;
  color: #1b3a63;
}
.tour-card-readmore .tour-card-line--heading + .tour-card-line {
  margin-top: .25rem;
}
/* 'Why Choose …?' / 'Important …' 같은 안내 머리 */
.tour-card-readmore .tour-card-line--label {
  margin-top: .95rem;
  font-weight: 600;
  color: #1b3a63;
}
/* ✓ 장점 목록 — 목록 블록 안에서 줄 간격을 좁게 */
.tour-card-readmore .tour-card-list {
  display: block;
  margin-top: .45rem;
}
.tour-card-readmore .tour-card-list .tour-card-line {
  margin-top: 0;
}
.tour-card-readmore .tour-card-line--bullet {
  position: relative;
  padding-left: .95rem;
}
.tour-card-readmore .tour-card-line--bullet::before {
  content: '•';
  position: absolute;
  left: .25rem;
  color: #0d6efd;
}
/* 여정 요약 줄 (`A` → `B` → `C`) — 왼쪽 정렬, 화살표는 흐리게 */
.tour-card-readmore .tour-card-line--route {
  padding-left: 1.1rem;
  text-indent: -1.1rem;
}
.tour-card-readmore .tour-card-line--route::first-letter {
  color: #0d6efd;
}
/* 소제목 + 값 목록이 붙어 있던 문단의 값 줄 (예: 'Tree-lined Paths · Riverside Scenery') */
.tour-card-readmore .tour-card-line--tags {
  margin-top: .2rem;
  color: #495057;
}
/* 'Make It Your Own' 안내 */
.tour-card-readmore .tour-card-line--note {
  margin-top: .95rem;
  color: #6c757d;
}
/* Perfect For — 본문과 빈 줄을 두고 별도 문단 */
.tour-card-readmore .tour-card-list-end {
  display: block;
  height: .35rem;
}
.tour-card-readmore .tour-card-line--perfectfor {
  margin-top: .55rem;
  color: #495057;
}
/* 카드 본문 안의 이미지 (예: 4-Day Andong 노선 지도) — 2026-09-26 */
.tour-card-readmore .tour-card-figure {
  display: block;
  margin: .9rem 0 .2rem;
}
.tour-card-readmore .tour-card-figure img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid #e6ebf2;
  border-radius: 8px;
}
/* card_excerpt 로 렌더링되는 페이지(홈 · /tour-packages/)의 본문 문단 */
.tour-card-readmore > .tour-card-para {
  display: block;
}
.tour-card-readmore > .tour-card-para + .tour-card-para,
.tour-card-readmore > .tour-card-para + .tour-card-figure,
.tour-card-readmore > .tour-card-figure + .tour-card-para {
  margin-top: .5rem;
}
/* card_excerpt 는 소제목도 같은 문단으로 처리하므로 첫 문단만 위 여백을 없앤다 */
.tour-card-readmore > .tour-card-figure:first-child { margin-top: 0; }
/* 예전 클래스 (다른 페이지에서 쓸 수 있어 남겨둠) */
.tour-card-readmore .tour-card-perfectfor {
  display: inline;
  color: #495057;
}
/* ── 추천 일정 카드: 지역 배지 + 제목을 '사진 위'에 배치 (2026-09-26, 홍사장 지시) ──
   오버레이가 아니라 카드 맨 위에 오는 일반 블록이다. (배지 → 제목 순서)
   구조: .tour-card-head > [배지] + h5.card-title  →  img.card-img-top  →  .card-body */
.tour-card-head {
  padding: .9rem .9rem .55rem;
}
.tour-card-head .card-title {
  margin: 0;
  color: #1b3a63;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.32;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.tour-card-head .badge {
  font-weight: 600;
  letter-spacing: .01em;
}
/* ── 카드 지역 배지 (Seoul · Busan · Jeju …) — 진노랑 배경 (2026-09-26, 홍사장 지시) ──
   홈 · /tour-packages/ · /suggested-itineraries/ 세 페이지 카드에 모두 적용된다. */
.tour-card .badge.bg-primary.bg-opacity-10.text-primary {
  background: #ffc107 !important;
  color: #3d2800 !important;
  border: 1px solid #e0a800;
  font-weight: 700;
  letter-spacing: .01em;
}
.tour-card > .card-img-top {
  display: block;
  width: 100%;
}
/* ── View Sample Itinerary — 사진 오른쪽 아래 오버레이 (2026-09-26, 홍사장 지시) ──
   `.tour-card-media` 안에 절대배치. 사진 밝기에 상관없이 읽히도록
   버튼에 반투명 검정 배경 + 흰 테두리를 준다. */
.tour-card-media {
  position: relative;
  display: block;
}
.tour-card-cta {
  position: absolute;
  right: .6rem;
  bottom: .6rem;
  z-index: 2;
}
/* 2026-09-26: 홍사장 지시 — 연보라 배경 (사이트 K-Culture 칩과 같은 계열) */
.tour-card-cta .btn {
  background: #f4ecff;
  border: 1px solid #e0cdf8;
  color: #5b1f92;
  font-weight: 600;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .28);
  transition: background .15s, border-color .15s, color .15s;
}
.tour-card-cta .btn:hover,
.tour-card-cta .btn:focus-visible {
  background: #e7d8ff;
  border-color: #d3bcf5;
  color: #4b1878;
}
/* Coming Soon 카드 — 실사진 카드와 같은 `.card.tour-card` 골격 (2026-09-26)
   제목은 사진 위, 'Coming Soon' 태그는 사진 아래 부제목 자리. */
.tour-card.is-coming-soon { cursor: default; }
.tour-card.is-coming-soon:hover {
  transform: none;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .08);
}
.tour-card.is-coming-soon .card-img-top { opacity: .7; }
.tour-card.is-coming-soon .tour-card-head .card-title { color: #495057; }
.tour-card.is-coming-soon .card-body { padding: .75rem .9rem .9rem; }
.tour-card.is-coming-soon .itinerary-soon-tag {
  display: inline-block;
  margin: 0;
  font-size: .78rem;
  color: #6c757d;
}
.tour-readmore-btn {
  align-self: flex-start;
  border: none;
  background: none;
  padding: .15rem 0;
  margin-bottom: .5rem;
  font-size: .8rem;
  font-weight: 700;
  color: #0d6efd;
  cursor: pointer;
}
.tour-readmore-btn:hover { text-decoration: underline; }
.tour-readmore-btn i { font-size: .7rem; margin-left: .25rem; }

/* Blog cards */
.blog-card { border: none; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 12px rgba(0,0,0,.08); transition: transform .25s; }
.blog-card:hover { transform: translateY(-4px); }
.blog-card .card-img-top { height: 200px; object-fit: cover; }

/* Category tab pills */
.category-tabs .nav-link {
  border-radius: 50px;
  padding: .45rem 1.2rem;
  font-size: .9rem;
  font-weight: 500;
  color: #0f3460;
  border: 1.5px solid #0f3460;
  margin-right: .4rem;
  margin-bottom: .5rem;
}
.category-tabs .nav-link.active,
.category-tabs .nav-link:hover {
  background: #0f3460;
  color: #fff;
}

/* CTA section */
.cta-section {
  background: linear-gradient(135deg, #0f3460, #1a1a2e);
}

/* WhatsApp float */
.whatsapp-float {
  position: fixed;
  bottom: 1.5rem; right: 1.5rem;
  background: #25d366;
  color: #fff;
  border-radius: 50%;
  width: 56px; height: 56px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.8rem;
  box-shadow: 0 4px 16px rgba(0,0,0,.25);
  z-index: 1000;
  text-decoration: none;
  transition: transform .2s;
}
.whatsapp-float:hover { transform: scale(1.1); color: #fff; }

/* Navbar active link */
.navbar-nav .nav-link.active { color: #ffd700 !important; }

/* ── Itinerary carousel (no library) ─────────────────────────── */
.it-carousel { position: relative; }
.it-car-track {
  flex-wrap: nowrap;
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: none;          /* Firefox */
  -ms-overflow-style: none;       /* IE/Edge */
  padding-bottom: 4px;
}
.it-car-track::-webkit-scrollbar { display: none; }
.it-car-track > * { flex: 0 0 auto; }
.it-car-prev,
.it-car-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 38px; height: 38px;
  border: none; border-radius: 50%;
  background: rgba(61,155,233,.92);
  color: #fff;
  font-size: .95rem;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0,0,0,.22);
  transition: background .2s;
}
.it-car-prev { left: -14px; }
.it-car-next { right: -14px; }
.it-car-prev:hover, .it-car-next:hover { background: #2d7fc7; }
@media (max-width: 575.98px) {
  .it-car-prev { left: 2px; }
  .it-car-next { right: 2px; }
}

/* ── Tab header + active indicator arrow ─────────────────────── */
.tab-header-wrap { position: relative; margin-bottom: 2.5rem; }
.tab-arrow {
  position: absolute;
  top: 100%;
  left: 0;
  transform: translateX(-50%);
  color: #7b2fbe;
  font-size: 1.5rem;
  line-height: 1;
  margin-top: -3px;
  transition: left .35s ease;
  pointer-events: none;
  z-index: 6;
}

/* ── Explore Korea by Destination (home) ────────────────────── */
.destination-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1rem;
}
.destination-card {
  position: relative;
  display: block;
  border-radius: .9rem;
  overflow: hidden;
  aspect-ratio: 3 / 4;
  box-shadow: 0 4px 16px rgba(0,0,0,.12);
  transition: transform .25s ease, box-shadow .25s ease;
}
.destination-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}
.destination-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 26px rgba(0,0,0,.22);
}
.destination-card:hover img { transform: scale(1.06); }
.destination-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.7) 0%, rgba(0,0,0,.05) 55%);
}
.destination-label {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  z-index: 1;
  padding: 1rem;
  color: #fff;
  font-weight: 800;
  font-size: 1.25rem;
  letter-spacing: .08em;
  text-shadow: 0 2px 6px rgba(0,0,0,.5);
}
@media (max-width: 991.98px) {
  .destination-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 575.98px) {
  .destination-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ── K-Culture cards (제목 · 이미지 · 설명) ─────────── */
.k-culture-item {
  height: 100%;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #eee;
  border-radius: .75rem;
  padding: 1.25rem 1.4rem;
  box-shadow: 0 4px 14px rgba(0,0,0,.06);
  transition: transform .2s, box-shadow .2s;
}
.k-culture-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 24px rgba(0,0,0,.14);
}
.k-culture-item .k-culture-cat {
  color: #7b2fbe;
}
.k-culture-item .k-culture-tagline {
  font-size: 1.05rem;
  color: #212529;
  margin-bottom: .6rem;
}
.k-culture-thumb {
  display: block;
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  border-radius: .5rem;
  margin-bottom: .75rem;
}
.k-culture-item .k-culture-desc {
  font-size: .88rem;
  color: #666;
  margin-bottom: .6rem;
}
.k-culture-item .k-culture-hashtags {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  margin-top: auto;
  margin-bottom: 0;
  padding-top: .85rem;
  border-top: 1px solid #ece7f5;
}
.k-culture-hashtags .k-tag {
  display: inline-block;
  font-size: .78rem;
  font-weight: 700;
  line-height: 1.3;
  color: #5b1f92;
  background: #f4ecff;
  border: 1px solid #e0cdf8;
  border-radius: 999px;
  padding: .26rem .66rem;
  letter-spacing: .01em;
  white-space: nowrap;
}
.k-culture-cat {
  display: inline-block;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #ffd700;
  margin-bottom: .5rem;
}
.k-culture-tagline {
  font-size: 1.35rem;
  font-weight: 800;
  margin-bottom: .5rem;
}
.k-culture-desc {
  font-size: .9rem;
  color: rgba(255,255,255,.85);
  margin-bottom: .75rem;
  line-height: 1.5;
}
.k-culture-hashtags {
  font-size: .8rem;
  color: rgba(255,255,255,.65);
  margin-bottom: 0;
  letter-spacing: .02em;
}
.k-culture-mix {
  background: linear-gradient(135deg, #7b2fbe, #4b1d73);
  border-radius: 1rem;
  padding: 2rem;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-shadow: 0 10px 30px rgba(0,0,0,.15);
}

/* ── K-Medical 카드 (K-Culture 6번째 카드) ────────── */
.k-medical-card {
  background: linear-gradient(135deg, #7b2fbe, #4b1d73);
  border-radius: 1rem;
  padding: 2rem;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-shadow: 0 10px 30px rgba(0,0,0,.15);
}
.k-medical-card .k-culture-cat {
  color: #ffd700;
}
.k-medical-card .btn {
  align-self: flex-start;
  white-space: nowrap;
  font-size: .92rem;
  padding: .5rem 1.05rem;
}

/* ── Your Day, Your Way (K-Culture 하단 CTA — cta-section 과 동일 배경) ── */
.k-day-example {
  max-width: 820px;
  text-align: left;
  background: rgba(255,255,255,.07);
  border-left: 4px solid #ffd700;
  border-radius: .75rem;
  padding: 1.1rem 1.35rem;
  font-size: .95rem;
  line-height: 1.7;
  color: rgba(255,255,255,.9);
  margin: 0 auto 1.75rem;
}
.k-day-example strong { color: #ffd700; font-weight: 700; }
@media (max-width: 575.98px) {
  .k-day-example { padding: .95rem 1.05rem; font-size: .9rem; }
}

/* ── About Us ───────────────────────────────────── */
.light-section {
  background: #f8f9fa;
}
.about-stat {
  padding: 1.5rem 1rem;
  background: rgba(255,255,255,.08);
  border-radius: 1rem;
  border: 1px solid rgba(255,255,255,.12);
}
.about-stat-num {
  font-size: 2.2rem;
  font-weight: 800;
  color: #ffd700;
  line-height: 1;
}
.about-stat-label {
  margin-top: .5rem;
  font-size: .9rem;
  color: rgba(255,255,255,.75);
}
.about-region {
  background: #fff;
  border-radius: 1rem;
  padding: 1.5rem;
  height: 100%;
  box-shadow: 0 4px 14px rgba(0,0,0,.06);
  border: 1px solid #eee;
}
.about-region h5 { color: #7b2fbe; }
.team-badge {
  background: #f0e9fb;
  color: #7b2fbe;
  padding: .5rem 1.25rem;
  border-radius: 2rem;
  font-weight: 600;
  font-size: .9rem;
}
.social-link {
  color: #7b2fbe;
  font-size: 1.5rem;
  text-decoration: none;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: .25rem;
}
.social-link span {
  font-size: .8rem;
  color: #555;
}
.social-link:hover { color: #4b1d73; }
.social-link:hover span { color: #333; }

/* ── Reviews read-more (clamp & toggle) ─────────── */
.review-text {
  position: relative;
  overflow: hidden;
}
.review-text.clamped {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  white-space: normal;
  word-break: break-word;
}
.review-text.clamped.expanded {
  -webkit-line-clamp: unset;
  display: block;
}
.review-more-toggle {
  display: none;
  background: none;
  border: none;
  color: #7b2fbe;
  font-weight: 600;
  font-size: .85rem;
  padding: 0;
  margin-bottom: .5rem;
  cursor: pointer;
}
.review-more-toggle:focus {
  outline: none;
}
.review-more-toggle.show {
  display: inline-block;
}

/* ── Korea Itineraries ──────────────────────────── */
.itinerary-section {
  scroll-margin-top: 90px; /* 고정 메뉴 높이만큼 오프셋 */
}
.itinerary-region {
  /* 2026-09-28: 지역 소제목 → 뱃지 (홍사장 지시: 연초록 바탕 + 진한초록 글씨) */
  display: inline-block;
  background: #e3f6e9;
  color: #16653a;
  border: 1px solid #bfe3c9;
  font-size: 1.08rem;
  font-weight: 800;
  line-height: 1.25;
  padding: .38rem 1.05rem;
  border-radius: 999px;
  letter-spacing: .04em;
  margin-bottom: .55rem;
  box-shadow: 0 1px 3px rgba(22, 101, 58, .12);
}
.itinerary-region-sub {
  color: #555;
  font-size: 1.08rem;
  font-weight: 700;
  line-height: 1.55;
  margin-bottom: 1.25rem;
}
/* 상위 섹션 소제목 (By Destination · Multi-Day Korea Tours · Special Interest Tours)
   — 2026-09-27: 지역 소제목과 같은 크기·굵기로 통일 (홍사장 지시) */
#by-destination > p.text-muted,
#multi-day > p.text-muted,
#special-interest > p.text-muted {
  color: #555 !important;
  font-size: 1.08rem;
  font-weight: 700;
  line-height: 1.55;
}
.itinerary-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
.itinerary-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 1rem;
  padding: 1.5rem;
  min-height: 170px;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 4px 14px rgba(0,0,0,.05);
  transition: transform .2s, box-shadow .2s, border-color .2s;
}
.itinerary-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 26px rgba(0,0,0,.12);
  border-color: #7b2fbe;
  color: inherit;
}
.itinerary-badge {
  align-self: flex-start;
  display: inline-block;
  background: #f0e9fb;
  color: #7b2fbe;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: .25rem .65rem;
  border-radius: 2rem;
  margin-bottom: .75rem;
}
.itinerary-card h4 {
  font-size: 1.05rem;
  font-weight: 700;
  margin-bottom: .5rem;
  color: #212529;
}
.itinerary-card p {
  font-size: .88rem;
  color: #666;
  margin-bottom: 0;
  line-height: 1.5;
}
.itinerary-card.is-muted {
  background: #fafafa;
  opacity: .85;
}
.itinerary-card.is-muted:hover {
  transform: none;
  box-shadow: none;
  border-color: #eee;
  cursor: default;
}
.itinerary-card.is-muted h4 { color: #555; }
.itinerary-soon {
  margin-top: auto;
  padding-top: .75rem;
  font-size: .75rem;
  font-weight: 600;
  color: #adb5bd;
  letter-spacing: .05em;
  text-transform: uppercase;
}

/* ── Korea Itineraries — 텍스트 카드 (3열 그리드) ── */
.itinerary-grid-img {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .75rem;
}
.itinerary-card-img {
  position: relative;
  display: block;
  width: 100%;
  text-decoration: none;
  color: inherit;
  text-align: left;
  padding: 1.25rem 1.4rem;
  background: #fff;
  border: 1px solid #eee;
  border-radius: .75rem;
  box-shadow: 0 4px 14px rgba(0,0,0,.06);
  transition: transform .2s, box-shadow .2s;
}
.itinerary-card-img:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 24px rgba(0,0,0,.14);
}
.itinerary-card-title {
  display: block;
  margin: 0;
  font-size: .98rem;
  font-weight: 600;
  color: #212529;
  line-height: 1.35;
}
.itinerary-card-thumb {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  object-fit: cover;
  border-radius: .5rem;
  margin: .6rem 0;
}
.itinerary-card-img:hover .itinerary-card-title {
  color: #7b2fbe;
}
.itinerary-card-excerpt {
  margin: .5rem 0 0;
  font-size: .82rem;
  color: #666;
  line-height: 1.5;
}
/* Read more 로 펼치는 미리보기 — 접힌 상태는 3줄 (2026-09-26) */
.itinerary-card-excerpt.is-open { margin-bottom: .6rem; }
.itinerary-readmore-btn { align-self: auto; }
.itinerary-card-img.is-muted {
  cursor: default;
  opacity: .7;
}
.itinerary-card-img.is-muted:hover {
  transform: none;
  box-shadow: 0 4px 14px rgba(0,0,0,.06);
}
.itinerary-soon-tag {
  display: inline-block;
  margin-top: .4rem;
  font-size: .68rem;
  font-weight: 700;
  color: #adb5bd;
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* ── 투어 상세일정 (클릭 시 펼쳐지는 설명) ── */
.itinerary-card-img.has-detail {
  cursor: default;
}
.itinerary-detail {
  margin-top: .5rem;
  text-align: left;
}
/* 추천 일정 카드 — details 토글을 파란 알약 버튼으로 (2026-09-26)
   /tour-packages/ 의 'View Sample Itinerary'(Bootstrap .btn.btn-primary.btn-sm)와
   형태를 정확히 맞춘다. 값은 Bootstrap 5 의 해당 변수와 동일. */
.itinerary-detail summary {
  display: inline-block;
  cursor: pointer;
  padding: .25rem .5rem;
  background: #0d6efd;
  border: 1px solid #0d6efd;
  color: #fff;
  border-radius: .25rem;
  font-size: .875rem;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
  vertical-align: middle;
  list-style: none;
  transition: background .15s, border-color .15s;
}
.itinerary-detail summary:hover { background: #0b5ed7; border-color: #0a58ca; }
.itinerary-detail summary::-webkit-details-marker { display: none; }
/* 펼침 상태 표시 — 눌리는 버튼임을 알 수 있게 화살표를 함께 둔다 */
.itinerary-detail summary::after {
  content: '\f078';               /* fa-chevron-down */
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: .7rem;
  margin-left: .35rem;
}
.itinerary-detail[open] summary::after { content: '\f077'; }  /* fa-chevron-up */
.itinerary-detail-body {
  margin-top: .75rem;
  padding: 1rem;
  background: #faf7fd;
  border: 1px solid #ecdffb;
  border-radius: .75rem;
  font-size: .85rem;
  color: #444;
  line-height: 1.55;
}
.itinerary-detail-body h5 {
  font-size: .92rem;
  font-weight: 700;
  color: #212529;
  margin: .75rem 0 .35rem;
}
.itinerary-detail-body h5:first-child { margin-top: 0; }
.itinerary-detail-body p { margin-bottom: .6rem; }
.itinerary-detail-body ul { margin-bottom: .6rem; padding-left: 1.2rem; }
.itinerary-detail-body li { margin-bottom: .25rem; }
.itinerary-detail-headline {
  font-weight: 700;
  color: #7b2fbe;
}
.itinerary-detail-important {
  background: #fff8e5;
  border-left: 3px solid #f0ad4e;
  padding: .5rem .75rem;
  border-radius: .35rem;
  font-size: .8rem;
}
.itinerary-detail-perfect {
  font-size: .8rem;
  color: #555;
}
.itinerary-detail-cta {
  display: inline-block;
  margin-top: .5rem;
}
.itinerary-detail-cta-top {
  margin-top: 0;
  margin-bottom: 1rem;
}

@media (max-width: 992px) {
  .itinerary-grid { grid-template-columns: repeat(2, 1fr); }
  .itinerary-grid-img { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 576px) {
  .itinerary-grid { grid-template-columns: 1fr; }
  .itinerary-grid-img { grid-template-columns: 1fr; }
}

/* ── How to Explore Your Itinerary ── */
.itinerary-howto {
  max-width: 760px;
  margin: 0 auto;
  padding: 1.75rem;
  background: #faf7fd;
  border: 1px solid #ecdffb;
  border-radius: .75rem;
}
.itinerary-howto-title-icon {
  color: #7b2fbe;
  margin-right: .4rem;
}
.itinerary-howto-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin: 1rem 0 1.5rem;
}
.itinerary-howto-tabs span {
  padding: .3rem .8rem;
  background: #fff;
  border: 1px solid #d9c7ec;
  border-radius: 1rem;
  font-size: .8rem;
  font-weight: 600;
  color: #7b2fbe;
}
.itinerary-howto-tabs span i {
  margin-right: .35rem;
}
.itinerary-howto-step {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1.25rem;
}
.itinerary-howto-step-icon {
  flex: 0 0 auto;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f1e4fb;
  color: #7b2fbe;
  border-radius: 50%;
  font-size: 1.05rem;
}
.itinerary-howto-step h3,
.itinerary-howto-mobile h3 {
  font-size: 1rem;
  font-weight: 700;
  color: #212529;
  margin-bottom: .3rem;
}
.itinerary-howto-mobile h3 i {
  color: #7b2fbe;
  margin-right: .4rem;
}
.itinerary-howto-mobile {
  margin: 1.5rem 0;
  padding: 1rem;
  background: #fff;
  border-radius: .5rem;
}
.itinerary-howto-flow {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: .6rem;
  text-align: center;
  font-weight: 700;
  color: #7b2fbe;
  margin: 1.25rem 0 .5rem;
}
.itinerary-howto-flow span i {
  margin-right: .3rem;
}
.itinerary-howto-flow-arrow {
  color: #c6a6e8;
  font-size: .85rem;
}
.itinerary-howto-tagline {
  text-align: center;
  font-style: italic;
  color: #666;
  margin-bottom: 0;
}
.itinerary-howto-tagline i {
  color: #7b2fbe;
  margin-right: .3rem;
  font-style: normal;
}

/* ── Brand Logo ── */
.navbar-brand-logo {
  height: 32px;
  width: auto;
  border-radius: 4px;
}
.footer-brand-logo {
  height: 28px;
  width: auto;
  border-radius: 4px;
}

/* ── About 인트로 문단 줄바꿈 균형 (2026-09-18)
   "...customized travel experiences for international visitors." 가
   가능한 한 한 줄에 이어지도록 줄바꿈 위치를 균형 있게 조정 ── */
.text-balance {
  text-wrap: balance;
}

/* ── 네비게이션 라벨 줄바꿈 방지 (2026-09-18)
   폭이 좁을 때 라벨이 두 줄로 접히던 문제 (expand-xl 로 1200 미만은 햄버거로 접힘) ── */
.navbar-nav .nav-link,
.navbar-nav .btn {
  white-space: nowrap;
}

/* ── 쿠키 동의 배너 (GDPR, 2026-09-18) ── */
.cookie-consent {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1080;
  background: #212529;
  color: #fff;
  border-top: 3px solid #ffc107;
  box-shadow: 0 -6px 20px rgba(0, 0, 0, .25);
}
.cookie-consent[hidden] {
  display: none;
}
.cookie-consent-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .75rem 1.5rem;
  padding: .9rem 0;
}
.cookie-consent-text {
  flex: 1 1 420px;
  font-size: .82rem;
  line-height: 1.5;
  color: #dee2e6;
}
.cookie-consent-text strong {
  color: #fff;
  font-size: .9rem;
}
.cookie-consent-text a {
  color: #ffc107;
}
.cookie-consent-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  flex: 0 0 auto;
}
.cookie-consent-actions .btn {
  white-space: nowrap;
}
.cookie-consent-actions .btn-outline-secondary {
  color: #dee2e6;
  border-color: #6c757d;
}
.cookie-consent-actions .btn-outline-secondary:hover {
  background: #6c757d;
  color: #fff;
}
/* 배너가 떠 있는 동안 왓츠앱 플로팅 버튼 숨김 (Accept 버튼 가림 방지) */
body.cookie-open .whatsapp-float {
  display: none;
}

/* ── Our Tours — Tours by Guide Language 버튼 (3열 × 2줄, 2026-09-18)
   영어·중국어·스페인어 / 프랑스어·독일어·이탈리아어 ── */
.guide-lang-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .5rem;
}

/* ── 임시 이미지 오버레이 (사진 교체 필요, 2026-09-18)
   이미지 위에 '사진 교체 필요' 안내를 덮어 표시 ── */
.img-placeholder {
  position: relative;
  display: block;
}
.img-placeholder::after {
  content: '사진 교체 필요';
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: .25rem;
  background: rgba(0, 0, 0, .45);
  color: #fff;
  font-size: .78rem;
  font-weight: 700;
  text-align: center;
  border-radius: .5rem;
}

/* ── K-Beauty 페이지 (/k-beauty/, 2026-09-19 기획안 전면 개편) ────────
   탭 데이터는 kbeauty_tabs.json (생성: resources/files/kbeauty/build_tabs_0919.py) */

/* 상단 고정 배너 */
.kb-banner {
  position: relative;
  overflow: hidden;
  background: #1c1c1c;
}
.kb-banner > img {
  display: block;
  width: 100%;
  height: auto;
}
.kb-banner-cap {
  position: absolute;
  left: 0;
  right: 0;
  top: 10%;
  bottom: auto;
  z-index: 2;
  padding: 1.4rem 1.25rem;
  background: radial-gradient(ellipse at center, rgba(0, 0, 0, .58) 0, rgba(0, 0, 0, .28) 38%, rgba(0, 0, 0, 0) 72%);
  color: #fff;
  text-align: center;
  text-shadow: 0 2px 8px rgba(0, 0, 0, .85);
}
.kb-cap-sub {
  display: block;
  font-size: 1.17rem;      /* 2026-09-26: 원래 .78rem 의 150% */
  letter-spacing: .16em;
  text-transform: uppercase;
  opacity: .85;
  margin-bottom: .3rem;
}
.kb-cap-title {
  display: block;
  font-weight: 700;
  font-size: 2.25rem;      /* 2026-09-26: 원래 1.5rem 의 150% */
  line-height: 1.25;
}
.kb-cap-desc {
  display: block;
  font-size: 1.38rem;      /* 2026-09-26: 원래 .92rem 의 150% */
  opacity: .88;
  margin-top: .35rem;
}

.kb-h2 {
  font-weight: 700;
  font-size: 1.9rem;
  color: #222;
  margin: 0 0 1rem;
}
.kb-h3 {
  font-weight: 700;
  font-size: 1.35rem;
  color: #222;
  margin: 1.75rem 0 .75rem;
}
.kb-h4 {
  font-weight: 700;
  font-size: 1.1rem;
  color: #1e73be;
  margin: 1.75rem 0 .5rem;
}
.kb-h5 {
  font-weight: 700;
  font-size: 1rem;
  color: #333;
  margin: .25rem 0 .6rem;
}
.kb-emph {
  font-weight: 700;
  color: #8224e3;
}
.kb-emoji {
  font-size: .8em;
}
.kb-hr {
  margin: 2.25rem 0;
  border-color: #e7ecea;
  opacity: 1;
}
.kb-intro p {
  color: #555;
  line-height: 1.8;
}
.kb-checklist {
  margin: .75rem 0 0;
}
.kb-checklist li {
  color: #555;
  line-height: 1.9;
}
.kb-checklist li::before {
  content: '✔';
  color: #8224e3;
  font-weight: 700;
  margin-right: .5rem;
}
.kb-bullets {
  padding-left: 1.25rem;
}
.kb-bullets li {
  color: #555;
  line-height: 1.8;
  margin-bottom: .2rem;
}

/* ── 체험 요약 카드 (Your K-Beauty Experience, Your Way) ── */
.kb-exp-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
  margin: 1.5rem 0;
}
.kb-exp-card {
  background: #f8f6fc;
  border: 1px solid #ece5f7;
  border-radius: .6rem;
  padding: 1.1rem 1.15rem;
}
.kb-exp-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(130, 36, 227, .12);
  color: #8224e3;
  font-size: 1rem;
  margin-bottom: .6rem;
}
.kb-exp-title {
  font-weight: 700;
  font-size: 1rem;
  color: #222;
  margin: 0 0 .35rem;
}
.kb-exp-card p {
  color: #5c6066;
  font-size: .93rem;
  line-height: 1.6;
  margin: 0;
}

/* ── Why Experience K-Beauty (✓ 특징 목록) ── */
.kb-feature-list {
  list-style: none;
  padding-left: 0;
  margin: 1.25rem 0;
}
.kb-feature-list li {
  position: relative;
  padding-left: 1.75rem;
  color: #555;
  line-height: 1.75;
  margin-bottom: .85rem;
}
.kb-feature-list li::before {
  content: '✓';
  position: absolute;
  left: 0;
  top: 0;
  color: #8224e3;
  font-weight: 700;
}
.kb-feature-list strong {
  display: block;
  color: #222;
}

/* ── How It Works (4단계) ── */
.kb-how {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin: 1.5rem 0 2rem;
}
.kb-how-step {
  border: 1px solid #e7ecea;
  border-radius: .6rem;
  padding: 1.25rem 1.15rem;
  background: #fff;
}
.kb-how-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #8224e3;
  color: #fff;
  font-weight: 700;
  font-size: .95rem;
  margin-bottom: .7rem;
}
.kb-how-title {
  font-weight: 700;
  font-size: 1rem;
  color: #222;
  margin: 0 0 .4rem;
}
.kb-how-step p {
  color: #5c6066;
  font-size: .93rem;
  line-height: 1.6;
  margin: 0;
}

/* ── 탭 ── */
.kb-section-title {
  text-align: center;
  color: #1e73be;
  font-weight: 700;
  font-size: 1.6rem;
  margin: 3rem 0 1.5rem;
}
.kb-tab-nav {
  display: flex;
  flex-wrap: wrap;
  background: transparent;
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 13px; /* 활성 탭 ▼ 화살표가 들어갈 자리 */
  scrollbar-width: thin;
}
.kb-tab {
  flex: 1 1 0;
  min-width: 0;
  border: 0;
  background: #e7ecea;
  color: #74777b;
  font-weight: 700;
  font-size: 1.05rem;
  padding: .85rem .35rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .35rem;
  position: relative;
  cursor: pointer;
  transition: background-color .15s ease, color .15s ease;
}
.kb-tab:first-child {
  border-top-left-radius: 10px;
}
.kb-tab:last-child {
  border-top-right-radius: 10px;
}
.kb-tab-label {
  white-space: nowrap;
}
.kb-tab i {
  color: #1e73be;
  font-size: 1.3rem;
}
.kb-tab:hover {
  background: rgba(130, 36, 227, .12);
}
.kb-tab.is-active {
  background: #8224e3;
  color: #fff;
}
.kb-tab.is-active i {
  color: #fff;
}
.kb-tab.is-active::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -11px;
  transform: translateX(-50%);
  border: 9px solid transparent;
  border-top-color: #8224e3;
  z-index: 2;
}

/* 탭이 6개 이상이면 2줄로 자동 배치 (5개 이하는 1줄 유지)
   → 홍사장 지시: 종류가 늘어도 가로로 길어지지 않게.
   모바일(≤767px)은 기존처럼 가로 스크롤 1줄 유지. */
@media (min-width: 768px) {
  .kb-tabs[data-count="6"] .kb-tab,
  .kb-tabs[data-count="7"] .kb-tab,
  .kb-tabs[data-count="8"] .kb-tab,
  .kb-tabs[data-count="9"] .kb-tab,
  .kb-tabs[data-count="10"] .kb-tab {
    flex: 0 0 auto;
  }
  .kb-tabs[data-count="6"] .kb-tab { flex-basis: calc(100% / 3); }
  .kb-tabs[data-count="7"] .kb-tab,
  .kb-tabs[data-count="8"] .kb-tab { flex-basis: calc(100% / 4); }
  .kb-tabs[data-count="9"] .kb-tab,
  .kb-tabs[data-count="10"] .kb-tab { flex-basis: calc(100% / 5); }

  /* 둘째 줄 탭은 위쪽 모서리가 둥글 필요 없음 → 첫 줄 끝/둘째 줄 시작만 둥글게 */
  .kb-tabs[data-count="6"] .kb-tab:nth-child(4),
  .kb-tabs[data-count="7"] .kb-tab:nth-child(5),
  .kb-tabs[data-count="8"] .kb-tab:nth-child(5),
  .kb-tabs[data-count="9"] .kb-tab:nth-child(6),
  .kb-tabs[data-count="10"] .kb-tab:nth-child(6) { border-top-left-radius: 10px; }

  /* ▼ 화살표는 패널과 맞닿은 '마지막 줄' 탭에만 표시 */
  .kb-tabs[data-count="6"] .kb-tab:nth-child(-n+3)::after,
  .kb-tabs[data-count="7"] .kb-tab:nth-child(-n+4)::after,
  .kb-tabs[data-count="8"] .kb-tab:nth-child(-n+4)::after,
  .kb-tabs[data-count="9"] .kb-tab:nth-child(-n+5)::after,
  .kb-tabs[data-count="10"] .kb-tab:nth-child(-n+5)::after { display: none; }
}

.kb-tab:focus-visible {
  outline: 2px solid #1e73be;
  outline-offset: -3px;
}
.kb-panel {
  display: none;
  border: 1px solid #e7ecea;
  border-top: 0;
  border-radius: 0 0 .5rem .5rem;
  padding: 2rem 1.25rem 1.5rem;
}
.kb-panel.is-active {
  display: block;
}

/* ── 탭 본문 ── */
.kb-body {
  color: #74777b;
  line-height: 1.8;
}
.kb-body p {
  margin-bottom: 1rem;
}
.kb-body strong {
  color: #333;
}
.kb-body em {
  color: #6b6b6b;
}
.kb-body ul {
  padding-left: 1.25rem;
  margin-bottom: 1rem;
}
.kb-body li {
  margin-bottom: .35rem;
}
.kb-sub {
  font-weight: 700;
  font-size: 1.5rem;
  color: #222;
  margin: 0 0 .35rem;
}
.kb-lead {
  font-size: 1.06rem;
  font-weight: 600;
  color: #1e73be;
  line-height: 1.55;
  margin-bottom: 1.15rem;
}
.kb-body .kb-inline-cta {
  margin: 0 0 1.25rem;
}

/* ✓ 체크리스트 (탭 본문) */
.kb-body ul.kb-checks {
  list-style: none;
  padding-left: 0;
  margin: .75rem 0 1.15rem;
}
.kb-body ul.kb-checks li {
  position: relative;
  padding-left: 1.6rem;
  margin-bottom: .4rem;
}
.kb-body ul.kb-checks li::before {
  content: '✓';
  position: absolute;
  left: 0;
  top: 0;
  color: #8224e3;
  font-weight: 700;
}

/* 굵은 이름 + 설명 (정의 목록) */
.kb-body ul.kb-defs {
  list-style: none;
  padding-left: 0;
  margin: .75rem 0 1.25rem;
}
.kb-body ul.kb-defs li {
  border-left: 3px solid #e7e0f5;
  padding: .15rem 0 .15rem .85rem;
  margin-bottom: .75rem;
  color: #5c6066;
  line-height: 1.65;
}
.kb-body ul.kb-defs li strong {
  display: block;
  color: #222;
  margin-bottom: .1rem;
}

/* 사계절 팔레트 */
.kb-seasons {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: .75rem;
  margin: 1rem 0 1.25rem;
}
.kb-season {
  border: 1px solid #e7ecea;
  border-radius: .5rem;
  padding: .85rem .9rem;
  background: #fbfbfc;
}
.kb-season-name {
  display: block;
  font-weight: 700;
  color: #8224e3;
  margin-bottom: .2rem;
}
.kb-season-desc {
  display: block;
  font-size: .9rem;
  color: #666;
  line-height: 1.5;
}

/* 단계 흐름 (↓ 화살표) */
.kb-steps-simple {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .3rem;
  margin: 1.25rem 0 1.5rem;
}
.kb-steps-simple > span:not(.kb-arrow-down) {
  display: block;
  width: 100%;
  max-width: 480px;
  text-align: center;
  background: #f8f6fc;
  border: 1px solid #ece5f7;
  border-radius: .45rem;
  padding: .6rem .85rem;
  font-weight: 600;
  color: #4a3a63;
  font-size: .95rem;
}
.kb-arrow-down {
  color: #8224e3;
  font-size: .85rem;
}

/* ── 조합 제안 (More Than Just a Nail Appointment 등) ── */
.kb-combo {
  background: #f8f6fc;
  border-left: 4px solid #8224e3;
  border-radius: .5rem;
  padding: 1.25rem 1.25rem 1rem;
  margin: 1.75rem 0 .5rem;
}
.kb-combo-title {
  font-weight: 700;
  font-size: 1.15rem;
  color: #222;
  margin: 0 0 .65rem;
}
.kb-combo p {
  color: #555;
}
.kb-combo ul.kb-defs li {
  border-left-color: #ded2f3;
}

/* ── 샘플 일정표 카드 ── */
.kb-itin {
  margin: 1.75rem 0 .5rem;
}
.kb-itin-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
}
.kb-itin-grid-single .kb-itin-card {
  grid-column: 1 / -1;
  width: calc(50% - .75rem);
  justify-self: center;
}
.kb-itin-card {
  border: 1px solid #e7ecea;
  border-radius: .6rem;
  padding: 1.15rem 1.25rem 1.25rem;
  margin-bottom: 1rem;
  background: #fff;
}
.kb-itin-card-featured {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin-bottom: 0;
  box-shadow: 0 4px 16px rgba(28, 32, 36, .06);
}
.kb-itin-category {
  color: #8224e3 !important;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
  margin: 0 0 .4rem !important;
}
.kb-itin-media {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: .45rem;
  margin: .8rem 0 1rem;
  background: #f3f1f5;
}
.kb-itin-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.kb-itin-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: #8a8490;
  border: 1px dashed #cfc8d5;
  background: repeating-linear-gradient(135deg, #faf9fb, #faf9fb 12px, #f4f1f6 12px, #f4f1f6 24px);
}
.kb-itin-placeholder i {
  font-size: 1.8rem;
  margin-bottom: .45rem;
}
.kb-itin-placeholder span {
  font-size: .85rem;
  font-weight: 600;
}
.kb-itin-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  padding-top: .85rem;
  margin: auto 0 1rem;
  border-top: 1px solid #ece7f1;
}
.kb-itin-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: .25rem .7rem;
  color: #6320a7;
  background: #f5ecff;
  border: 1px solid #ddc6f7;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 700;
  line-height: 1.15;
}
.kb-itin-name {
  font-weight: 700;
  font-size: 1.08rem;
  color: #222;
  margin: 0 0 .25rem;
}
.kb-itin-tagline {
  font-size: .9rem;
  font-weight: 600;
  color: #8224e3;
  margin: 0 0 .6rem;
}
.kb-itin-card p {
  color: #5c6066;
  line-height: 1.7;
}
.kb-itin-pending {
  background: #fbfbfc;
  border: 1px dashed #d8d5dd;
  border-radius: .5rem;
  padding: .9rem 1rem;
  color: #6b6b6b;
  font-size: .95rem;
  margin: 1.25rem 0 .5rem;
}

/* ── 탭 하단 닫는 글 + CTA ── */
.kb-outro {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid #eee;
}
.kb-outro-title {
  font-weight: 700;
  font-size: 1.15rem;
  color: #222;
  margin: 0 0 .85rem;
}
.kb-outro p {
  color: #555;
  line-height: 1.75;
}

/* ── 이미지 카드 (1-day 샘플 일정 링크) ── */
.kb-figure {
  margin: 2rem 0 1rem;
}
.kb-figure-inner {
  display: inline-block;
  margin: 0;
  max-width: 280px;
  text-align: left;
  background: #2b2b2b;
  border-radius: .5rem;
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .13);
}
.kb-figure-inner img {
  width: 100%;
  height: auto;
  display: block;
}
.kb-figure-inner figcaption {
  background: #2b2b2b;
  color: #fff;
  text-align: center;
  font-size: .95rem;
  font-weight: 600;
  padding: .7rem .6rem;
  line-height: 1.35;
}

/* ── 탭 하단 링크 ── */
.kb-panel-foot {
  text-align: center;
  font-weight: 600;
  color: #555;
  border-top: 1px solid #eee;
  margin-top: 2rem;
  padding-top: 1.25rem;
}
.kb-panel-foot a {
  text-decoration: underline;
}

/* ── K-Culture 카드 → K-Beauty 페이지 링크 (2026-09-18) ── */
.k-culture-link {
  display: block;
}
.k-culture-link .k-culture-thumb {
  transition: transform .25s ease, filter .25s ease;
}
.k-culture-link:hover .k-culture-thumb,
.k-culture-link:focus-visible .k-culture-thumb {
  transform: scale(1.02);
  filter: brightness(1.06);
}

@media (max-width: 991.98px) {
  .kb-tab {
    font-size: .95rem;
  }
  .kb-exp-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .kb-how {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 767.98px) {
  .kb-tab {
    flex: 0 0 auto;
    min-width: 124px;
  }
}

@media (max-width: 575.98px) {
  .kb-h2 {
    font-size: 1.45rem;
  }
  .kb-h3 {
    font-size: 1.15rem;
  }
  .kb-sub {
    font-size: 1.25rem;
  }
  .kb-section-title {
    font-size: 1.25rem;
    margin-top: 2rem;
  }
  .kb-banner-cap {
    top: 7%;
    padding: .9rem;
  }
  .kb-cap-sub {
    font-size: .95rem;
    margin-bottom: .2rem;
  }
  .kb-cap-title {
    font-size: 1.3rem;     /* 2026-09-26: 좁은 화면은 150% 까지 키우면 배너를 벗어남 */
    line-height: 1.2;
  }
  .kb-cap-desc {
    font-size: 1rem;
    margin-top: .25rem;
  }
  .kb-exp-grid,
  .kb-how {
    grid-template-columns: 1fr;
  }
  .kb-tab {
    min-width: 112px;
    font-size: .88rem;
    padding: .7rem .35rem;
  }
  .kb-tab i {
    font-size: 1.1rem;
  }
  .kb-tab-label {
    white-space: normal;
    text-align: center;
    line-height: 1.2;
  }
  .kb-panel {
    padding: 1.5rem 1rem 1.25rem;
  }
  .kb-itin-grid {
    grid-template-columns: 1fr;
  }
  .kb-itin-grid-single .kb-itin-card {
    width: 100%;
  }
}

/* ── 인콰이어리 폼 (/inquiry/, 2026-09-19 개편) ────────────────────── */
.inq-group {
  font-weight: 700;
  color: #1e73be;
  border-bottom: 1px solid #e7ecea;
  padding-bottom: .5rem;
  margin-bottom: 1rem;
}
.inq-radio {
  border: 1px solid #e2e6e9;
  border-radius: .45rem;
  padding: .6rem .75rem .6rem 2.3rem;
  margin: 0;
  transition: border-color .15s ease, background-color .15s ease;
}
.inq-radio:hover {
  border-color: #8224e3;
  background: rgba(130, 36, 227, .05);
}
.inq-radio .form-check-input {
  margin-left: -1.55rem;
}
.inq-radio:has(.form-check-input:checked) {
  border-color: #8224e3;
  background: rgba(130, 36, 227, .07);
}
.inq-radio .form-check-label {
  cursor: pointer;
}

/* 관심 일정표 선택 (체크박스 칩) */
.inq-picker {
  border: 1px solid #e2e6e9;
  border-radius: .5rem;
  padding: .9rem;
  background: #fbfbfc;
}
.inq-chips {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  max-height: 230px;
  overflow-y: auto;
}
.inq-chip {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  border: 1px solid #dfe3e6;
  background: #fff;
  border-radius: 999px;
  padding: .35rem .8rem .35rem .7rem;
  font-size: .86rem;
  color: #4b4f54;
  cursor: pointer;
  margin: 0;
  line-height: 1.25;
  transition: border-color .15s ease, background-color .15s ease, color .15s ease;
}
.inq-chip input {
  margin: 0;
  flex: 0 0 auto;
}
.inq-chip:hover {
  border-color: #8224e3;
}
.inq-chip.is-checked {
  border-color: #8224e3;
  background: rgba(130, 36, 227, .1);
  color: #6a1fbb;
  font-weight: 600;
}

/* ══════════════════════════════════════════════════════════════════
   Ski landing  (/korea-ski-tours-2026-27/)
   WP 글(22384) 이관 — 2026-10-01
   ══════════════════════════════════════════════════════════════════ */
.ski-page {
  color: #12263f;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
}

/* ── 상단 타이틀 밴드 (히어로 이미지 없음) ── */
.ski-head {
  background: linear-gradient(135deg, #0f2a4a 0%, #1b4f8a 100%);
  color: #fff;
  text-align: center;
  padding: 54px 16px 46px;
}
.ski-eyebrow {
  display: inline-block;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #cfe0f5;
  background: rgba(255, 255, 255, .12);
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 999px;
  padding: 6px 14px;
  margin-bottom: 16px;
}
.ski-head h1 {
  font-size: clamp(26px, 4vw, 38px);
  font-weight: 800;
  line-height: 1.35;
  margin: 0;
}

/* ── 섹션 ── */
.ski-body { padding: 48px 0 64px; }
.ski-section { margin-bottom: 52px; }
.ski-section:last-child { margin-bottom: 0; }
.ski-h2 {
  font-size: clamp(22px, 2.6vw, 30px);
  font-weight: 800;
  line-height: 1.35;
  color: #12263f;
  margin: 0 0 16px;
}
.ski-h3 {
  font-size: clamp(19px, 2.1vw, 24px);
  font-weight: 700;
  line-height: 1.4;
  color: #12263f;
  margin: 0 0 12px;
}
.ski-h4 {
  font-size: 17px;
  font-weight: 700;
  line-height: 1.45;
  color: #12263f;
  margin: 0 0 8px;
}
.ski-sub { font-size: 17px; font-weight: 700; color: #1b4f8a; margin: 0 0 10px; }
.ski-section p { font-size: 16px; line-height: 1.75; margin: 0 0 12px; }
.ski-muted { color: #495057; }
.ski-note { color: #8496ab; font-size: 14px; }
.ski-season { font-weight: 700; color: #1b4f8a; }
.ski-hr { border: 0; border-top: 1px solid #e6ebf2; margin: 44px 0; }

/* ── 체크 칩 ── */
.ski-checks {
  list-style: none;
  padding: 0;
  margin: 16px 0 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
}
.ski-checks li {
  background: #eef4fb;
  border: 1px solid #dbe7f5;
  color: #1b4f8a;
  border-radius: 999px;
  padding: 7px 14px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
}
.ski-checks li::before { content: "✓"; color: #12a150; font-weight: 800; margin-right: 6px; }

/* ── CTA ── */
.ski-cta { display: flex; flex-wrap: wrap; gap: 12px; margin: 22px 0; }

/* ── 샘플 일정표 카드 ── */
.ski-cards { display: flex; flex-wrap: wrap; gap: 20px; align-items: stretch; }
.ski-card {
  flex: 1 1 380px;
  min-width: 300px;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #e6ebf2;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(27, 79, 138, .08);
}
.ski-card-top { padding: 18px 20px 12px; }
.ski-card-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #1b4f8a;
  background: #eef4fb;
  border-radius: 999px;
  padding: 5px 12px;
  margin-bottom: 10px;
}
.ski-card-top h3 { font-size: 20px; font-weight: 700; line-height: 1.35; margin: 0; }
.ski-card-img { width: 100%; height: 210px; object-fit: cover; display: block; }
.ski-card-body { padding: 18px 20px 22px; display: flex; flex-direction: column; flex: 1 1 auto; }
.ski-card-sub { font-size: 16px; font-weight: 600; line-height: 1.55; margin: 0 0 8px; }
.ski-card-meta { font-size: 14px; color: #8496ab; margin: 0 0 14px; }
.ski-card-cta { margin: 0 0 14px; }
.ski-card-cta a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 700;
  color: #5b1f92;
  background: #f4ecff;
  border-radius: 999px;
  padding: 9px 16px;
  text-decoration: none;
}
.ski-card-cta a:hover { background: #e9dcff; }
.ski-card details { border-top: 1px solid #e6ebf2; padding-top: 14px; margin-top: auto; }
.ski-card summary {
  cursor: pointer;
  font-size: 15px;
  font-weight: 700;
  color: #1b4f8a;
  list-style: none;
}
.ski-card summary::-webkit-details-marker { display: none; }
.ski-card summary::after { content: " ▾"; }
.ski-card details[open] summary::after { content: " ▴"; }
.ski-detail { padding-top: 14px; }
.ski-detail p { font-size: 15px; line-height: 1.75; margin: 0 0 12px; }
.ski-detail h4 { font-size: 16px; font-weight: 700; color: #12263f; margin: 20px 0 8px; }
.ski-detail h5 { font-size: 15px; font-weight: 700; color: #1b4f8a; margin: 14px 0 6px; }
.ski-detail ul { padding-left: 20px; margin: 0 0 14px; }
.ski-detail li { font-size: 15px; line-height: 1.7; margin-bottom: 4px; }
.ski-steps {
  list-style: none;
  padding: 0;
  margin: 0 0 16px;
  border-left: 3px solid #dbe7f5;
}
.ski-steps li { padding: 0 0 14px 16px; }
.ski-steps strong { display: block; font-size: 15px; color: #12263f; margin-bottom: 2px; }
.ski-flow {
  font-size: 14px;
  font-weight: 700;
  color: #1b4f8a;
  background: #eef4fb;
  border-radius: 10px;
  padding: 10px 14px;
  margin: 0 0 14px;
}
.ski-option {
  border: 1px solid #e6ebf2;
  border-radius: 10px;
  padding: 12px 14px;
  margin: 0 0 10px;
}
.ski-option strong { display: block; font-size: 15px; margin-bottom: 4px; }
.ski-option span { font-size: 14px; color: #495057; }

/* ── 정보 박스 2개 ── */
.ski-boxes { display: flex; flex-wrap: wrap; gap: 20px; }
.ski-box {
  flex: 1 1 320px;
  min-width: 280px;
  background: #f8fafd;
  border: 1px solid #e6ebf2;
  border-radius: 14px;
  padding: 24px 22px;
}
.ski-box h3 { font-size: 19px; font-weight: 700; margin: 0 0 12px; }
.ski-box p { font-size: 15px; line-height: 1.75; margin: 0 0 10px; }
.ski-resorts { font-size: 17px; font-weight: 800; color: #1b4f8a; letter-spacing: .01em; }

/* ── 6개 카드 그리드 ── */
.ski-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 18px; }
.ski-icard {
  background: #fff;
  border: 1px solid #e6ebf2;
  border-radius: 14px;
  padding: 22px 20px;
  box-shadow: 0 4px 14px rgba(27, 79, 138, .05);
}
.ski-icard h3 { font-size: 17px; font-weight: 700; margin: 0 0 8px; }
.ski-icard p { font-size: 15px; line-height: 1.7; margin: 0; }

/* ── 그룹 스케줄 박스 ── */
.ski-schedule {
  background: linear-gradient(135deg, #0d2036 0%, #16405f 100%);
  color: #fff;
  border-radius: 16px;
  padding: 32px 24px;
  text-align: center;
}
.ski-schedule .ski-schedule-label {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #9fc0e6;
  margin-bottom: 8px;
}
.ski-schedule h3 { font-size: clamp(20px, 2.4vw, 28px); font-weight: 800; margin: 0 0 12px; color: #fff; }
.ski-schedule .ski-schedule-badge {
  display: inline-block;
  font-size: 15px;
  font-weight: 800;
  color: #ffd86b;
  border: 1px dashed rgba(255, 216, 107, .5);
  border-radius: 999px;
  padding: 7px 18px;
  margin-bottom: 18px;
}
.ski-chips { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin: 0 0 18px; }
.ski-chips span {
  display: inline-block;
  background: rgba(255, 255, 255, .14);
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 999px;
  padding: 7px 14px;
  font-size: 14px;
  font-weight: 600;
}
.ski-schedule p { font-size: 16px; line-height: 1.7; margin: 0 0 6px; }
.ski-schedule .ski-tuned { font-weight: 700; color: #ffd86b; margin: 0; }

/* ── 비교 카드 ── */
.ski-compare { display: flex; flex-wrap: wrap; gap: 20px; align-items: stretch; }
.ski-cmp {
  flex: 1 1 320px;
  min-width: 280px;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 2px solid #1b4f8a;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(27, 79, 138, .1);
}
.ski-cmp.is-group { border-color: #0f766e; box-shadow: 0 6px 20px rgba(15, 118, 110, .1); }
.ski-cmp-head {
  background: #1b4f8a;
  color: #fff;
  text-align: center;
  font-size: 20px;
  font-weight: 800;
  padding: 18px 20px;
}
.ski-cmp.is-group .ski-cmp-head { background: #0f766e; }
.ski-cmp-body { padding: 6px 20px 16px; flex: 1 1 auto; }
.ski-cmp-row { padding: 14px 0; border-bottom: 1px solid #e8eef7; }
.ski-cmp.is-group .ski-cmp-row { border-bottom-color: #e8f3f1; }
.ski-cmp-label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .6px;
  text-transform: uppercase;
  color: #8496ab;
  margin-bottom: 5px;
}
.ski-cmp-value { font-size: 15px; line-height: 1.6; color: #12263f; }
.ski-cmp-value.is-yes { color: #12a150; font-weight: 800; }
.ski-cmp-value.is-no { color: #8496ab; }
.ski-cmp-value.is-wait { color: #8a6d1f; }
.ski-cmp-row:last-child { border-bottom: 0; padding-top: 16px; }
.ski-cmp-row:last-child .ski-cmp-value { font-weight: 700; }

@media (max-width: 575px) {
  .ski-body { padding: 34px 0 48px; }
  .ski-section { margin-bottom: 40px; }
  .ski-card-img { height: 180px; }
}


