/* ================================================================
   청춘배낭 헤더 / 푸터 (Layer B)
   시안 styles.css / correction-245.css / section-05-r4.css / layout-1200-edge.css
   에서 헤더·푸터 규칙만 원본 순서를 유지해 발췌했다. 값은 손대지 않았다.
   경로만 assets/ -> ../img/youth/ 로 치환.
   ================================================================ */

/* ---- 시안이 body/전역에 걸던 규칙을 헤더·푸터 안으로만 가둔다 ----
   기존 쇼핑몰 CSS 를 건드리지 않기 위한 격리막이다. */
.ccb-header-wrap,
.ccb-header-wrap *,
.partners-footer,
.partners-footer * {
  box-sizing: border-box;
}

.ccb-header-wrap a,
.partners-footer a {
  color: inherit;
  text-decoration: none;
}

.ccb-header-wrap img,
.partners-footer img {
  display: block;
  user-select: none;
}

/* ---- 헤더 띠 ----
   시안에서는 body 와 .page-shell 이 모두 크림색이라 헤더에 배경이 없다.
   현재 사이트 body 는 다크(#161616)라 그대로 두면 네이비 글씨가 보이지 않는다.
   시안과 같은 모습이 되도록 헤더 띠에 크림 배경과 네이비 글자색을 명시한다. */
.ccb-header-wrap {
  position: relative;
  z-index: 1000;
  background: var(--cream);
  color: var(--navy);
  font-family: "Pretendard", "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

/* 시안의 .page-shell 폭 규칙 중 헤더에 필요한 부분만.
   overflow:hidden 은 옮기지 않는다 — 모바일 드롭다운이 잘린다. */
.ccb-shell {
  width: min(100%, 1200px);
  margin: 0 auto;
}

/* 시안 헤더는 [브랜드 | 메뉴 | CTA] 3칸이다.
   쇼핑몰의 장바구니·로그인 동선을 잃지 않도록 세 번째 칸에 유틸 링크를 함께 넣는다. */
/* 그리드 칸 지정은 파일 끝(시안 발췌 뒤)에 특이성을 올려 둔다.
   여기에 두면 뒤따라오는 시안 원본 .site-header 규칙에 그대로 밀린다. */

.ccb-header__right {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 18px;
  flex: 0 0 auto;
}

/* 번역(일/중)이 켜지면 메뉴 글자가 길어져 오른쪽 묶음을 밀어낸다.
   시안은 한국어 길이만 보고 gap:64px 로 고정돼 있어, 일본어에서 다국어 버튼 글자가
   겹쳐 뭉개졌다. 메뉴 간격은 화면 폭에 따라 줄이고, 유틸은 줄어들지 않게 고정한다. */
.ccb-header-wrap .desktop-nav {
  gap: clamp(22px, 3.2vw, 64px);
  min-width: 0;
}

.ccb-header-wrap .desktop-nav a {
  white-space: nowrap;
}

.ccb-util > li,
.ccb-util .lang_sel,
.ccb-util .lang_now {
  flex: 0 0 auto;
  white-space: nowrap;
}

/* 시안 CTA 는 폭이 165px 로 고정이라 줄바꿈이 허용되면 두 줄로 깨진다. */
.ccb-header-wrap .header-cta span {
  white-space: nowrap;
}

.ccb-util {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: -0.3px;
}

.ccb-util a {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 34px;
  color: #3c5f92;
  white-space: nowrap;
}

.ccb-util a:hover,
.ccb-util a:focus-visible {
  color: #0c5ab9;
}

.ccb-util svg {
  width: 20px;
  height: 20px;
}

/* 로그인 알약은 모바일 전용이다 (1040px 이하에서만 켠다).
   PC 에는 글자 유틸(로그인·회원가입)이 그대로 있어서, 여기서 숨기지 않으면
   '로그인' 이 알약과 글자로 두 번 나온다. */
.ccb-util--login {
  display: none;
}

.ccb-util .ccb-util__count {
  min-width: 17px;
  height: 17px;
  padding: 0 4px;
  border-radius: 9px;
  background: var(--yellow);
  color: #072f6f;
  font-size: 11px;
  font-weight: 900;
  line-height: 17px;
  text-align: center;
}

/* 1040px 이하: 시안이 .desktop-nav 와 .header-cta 를 숨기고 햄버거를 띄운다.
   글자 유틸(로그인·회원가입·마이페이지)은 햄버거 메뉴 안으로 옮겼으므로 여기선 숨긴다.
   아이콘 유틸(검색·장바구니)만 남긴다. */
@media (max-width: 1040px) {
  .ccb-util {
    gap: 10px;
  }

  .ccb-util--label {
    display: none;
  }

  /* 로그인은 아이콘만 두면 20px 짜리 사람 모양이 너무 작고 뜻도 흐리다.
     글자를 함께 보여준다 — 비로그인 헤더는 [로고][로그인][햄버거] 뿐이라 자리가 있다. */
  .ccb-util--login {
    display: block;
  }

  .ccb-util--login a {
    gap: 6px;
    padding: 6px 12px 6px 10px;
    border: 1.5px solid rgba(7, 59, 134, 0.16);
    border-radius: 999px;
    color: #073b86;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: -0.3px;
  }

  .ccb-util--login svg {
    width: 17px;
    height: 17px;
  }

  /* 언어 전환도 햄버거 메뉴 안으로 들어갔다(2026-07-30). 헤더에 남겨 두면
     같은 기능이 두 번 나오고, 좁은 헤더에서 '한국어 ⌄' 가 자리를 크게 먹는다.
     게다가 이 드롭다운은 hover 로 열려 손가락으로는 열기도 어렵다. */
  .ccb-util--lang {
    display: none;
  }
}

@media (max-width: 620px) {
  .ccb-header__right {
    gap: 10px;
  }
}

/* 햄버거 메뉴 안으로 내려온 회원 링크는 구분선을 둬 본 메뉴와 나눈다. */
.mobile-navigation .ccb-mnav__sub:first-of-type {
  margin-top: 6px;
  padding-top: 12px;
  border-top: 1px solid rgba(7, 59, 134, 0.12);
}

.mobile-navigation .ccb-mnav__sub {
  color: #3c5f92;
  font-size: 14px;
}

/* ---- 푸터 ----
   시안에서 푸터는 .page-shell 바깥의 전체폭 요소다. 배경 색이 좌우로 흘러넘치도록
   .site-footer 가 box-shadow/clip-path 로 스스로 블리드한다. */
.partners-footer {
  font-family: "Pretendard", "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", Arial, sans-serif;
}

/* 사업자정보 줄 — 시안에 없는 추가분(전자상거래법 표기 의무).
   시안 .footer-bottom 은 flex 한 줄이라, 두 문단을 세로로 쌓고 폭을 양보시킨다. */
.ccb-footer-legalinfo {
  flex: 1 1 auto;
  min-width: 0;
  display: grid;
  gap: 6px;
}

/* 좁은 폭에서 좌우 패딩(35px)에 밀려 "이/용/약/관" 처럼 세로로 깨진다. */
.footer-legal a {
  white-space: nowrap;
}

.ccb-footer-legalinfo p {
  margin: 0;
  line-height: 1.5;
  opacity: .88;
  word-break: keep-all;
}

/* 사업자정보는 항목 단위로만 줄이 넘어가게 한다.
   묶지 않으면 좁은 폭에서 '통신판매업신 / 고', '885-81- / 03601' 처럼 갈라진다.
   항목 사이 공백에서만 넘어가므로 줄 수는 거의 늘지 않는다. */
.ccb-footer-legalinfo .ccb-legal-item {
  display: inline-block;
  white-space: nowrap;
}

@media (max-width: 800px) {
  .ccb-footer-legalinfo {
    width: 100%;
  }
}


/* ======================== 헤더 (시안 발췌) ======================== */
/* ---- from styles.css ---- */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.site-header {
  position: relative;
  z-index: 50;
  display: grid;
  grid-template-columns: minmax(230px, 1fr) auto minmax(230px, 1fr);
  align-items: center;
  height: 83px;
  padding: 0 24px 0 52px;
  border-bottom: 1px solid var(--line);
}

.brand {
  width: max-content;
  font-size: 35px;
  font-weight: 950;
  letter-spacing: -2.4px;
  line-height: 1;
  text-shadow: 0.4px 0 currentColor;
}

.desktop-nav {
  display: flex;
  align-items: center;
  gap: 54px;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: -0.5px;
}

.desktop-nav a,
.header-cta {
  transition: transform 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

.desktop-nav a:hover,
.desktop-nav a:focus-visible {
  color: #0c5ab9;
  transform: translateY(-1px);
}

.header-cta {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 42px;
  padding: 7px 11px 7px 25px;
  border-radius: 999px;
  color: #072f6f;
  background: var(--yellow);
  box-shadow: 0 5px 10px rgba(131, 86, 0, 0.18);
  font-size: 15px;
  font-weight: 900;
  letter-spacing: -0.35px;
}

.header-cta img {
  width: 24px;
  height: 24px;
}

.header-cta:hover,
.header-cta:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 9px 18px rgba(31, 49, 68, 0.18);
}

.mobile-menu {
  display: none;
}

@media (max-width: 1040px) {
  .site-header {
      grid-template-columns: 1fr auto;
      padding-inline: 32px;
    }
  
  .desktop-nav,
  .header-cta {
      display: none;
    }
  
  .mobile-menu {
      position: relative;
      display: block;
      justify-self: end;
    }
  
  .menu-toggle {
      display: grid;
      gap: 5px;
      width: 42px;
      height: 42px;
      padding: 11px 9px;
      border: 1px solid rgba(7, 59, 134, 0.22);
      border-radius: 12px;
      background: transparent;
      cursor: pointer;
    }
  
  .menu-toggle span {
      height: 2px;
      border-radius: 2px;
      background: var(--navy);
      transition: transform 160ms ease, opacity 160ms ease;
    }
  
  .menu-toggle[aria-expanded="true"] span:first-child {
      transform: translateY(7px) rotate(45deg);
    }
  
  .menu-toggle[aria-expanded="true"] span:nth-child(2) {
      opacity: 0;
    }
  
  .menu-toggle[aria-expanded="true"] span:last-child {
      transform: translateY(-7px) rotate(-45deg);
    }
  
  /* ---- 오른쪽 서랍 메뉴 (2026-07-30, 시안 2번 골격 + 3번 타이포) ----
     화면을 다 덮지 않고 오른쪽 84% 만 차지한다. 왼쪽에 본문이 조금 남아 있어야
     '덮개' 가 아니라 '서랍' 으로 읽히고, 그 여백을 눌러 닫는 동작도 자연스럽다.
     헤더는 위에 남겨 둬야 X 로 닫을 수 있다 — top(--ccb-hd-h)은 헤더 높이가
     화면폭마다 달라 js/youth-header.js 가 열 때 재서 넣는다. */
  .mobile-navigation {
      position: fixed;
      top: var(--ccb-hd-h, 66px);
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 9998;
      display: flex;
      justify-content: flex-end;
      background: rgba(31, 40, 55, 0.42);
      animation: ccb-mnav-in 160ms ease-out;
    }

  .mobile-navigation[hidden] {
      display: none;
    }

  @keyframes ccb-mnav-in {
      from { opacity: 0; }
      to   { opacity: 1; }
    }

  @keyframes ccb-mnav-slide {
      from { transform: translateX(14px); }
      to   { transform: none; }
    }

  /* 패널은 위(메뉴) / 아래(버튼·유틸) 두 덩어리로 나눠 세로로 민다.
     메뉴가 늘어도 '프로그램 보기' 가 화면 밖으로 밀리지 않게 하려는 것이다. */
  /* 서랍 폭. 100% 로 꽉 채워 봤다가 되돌렸다 (2026-07-31).
     항목이 일곱 줄뿐이라 화면 전체에 펼치면 오히려 성겨 보였고,
     왼쪽 여백을 눌러 닫는 길도 사라졌다.
     (꽉 채우려면 width: 100%; max-width: none;) */
  .ccb-mnav__panel {
      display: flex;
      flex-direction: column;
      width: 84%;
      max-width: 380px;
      height: 100%;
      padding: 22px 24px 26px;
      overflow-y: auto;
      -webkit-overflow-scrolling: touch;
      background: var(--cream, #fbf6ef);
      box-shadow: -14px 0 40px rgba(42, 45, 50, 0.18);
      animation: ccb-mnav-slide 200ms ease-out;
    }

  .ccb-mnav__main {
      margin: 0;
      padding: 0;
      list-style: none;
    }

  /* 구분선은 점선. 사이트가 쓰는 종이·노트 결을 따른다. */
  .mobile-navigation .ccb-mnav__main a {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      padding: 18px 2px;
      border-bottom: 1px dashed rgba(7, 59, 134, 0.16);
      color: #073b86;
      font-size: 27px;
      font-weight: 950;
      letter-spacing: -1.4px;
    }

  .mobile-navigation .ccb-mnav__main li:last-child a {
      border-bottom: 0;
    }

  .ccb-mnav__main svg {
      flex: none;
      width: 17px;
      height: 17px;
      opacity: 0.32;
    }

  /* 지금 보고 있는 곳 — 노란 밑줄과 왼쪽 점(시안 2번). */
  .mobile-navigation .ccb-mnav__main a.is-here span {
      position: relative;
      background: linear-gradient(to top, rgba(255, 184, 0, 0.85) 0 8px, transparent 8px);
    }

  .mobile-navigation .ccb-mnav__main a.is-here span::before {
      content: "";
      position: absolute;
      top: 50%;
      left: -13px;
      width: 6px;
      height: 6px;
      transform: translateY(-50%);
      border-radius: 50%;
      background: var(--yellow, #ffb800);
    }

  /* 아래 묶음 — 메모·버튼은 메뉴 바로 뒤에 붙이고(시안 2번), 유틸 한 줄만 바닥으로 민다.
     통째로 바닥에 붙였더니 메뉴와 메모 사이에 큰 빈 공간이 생겼다. */
  .ccb-mnav__foot {
      display: flex;
      flex: 1;
      flex-direction: column;
      padding-top: 22px;
    }

  /* 마무리 문구 + 해·산 그림 (버튼 아래). */
  .ccb-mnav__sign {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 12px;
      margin-top: 22px;
    }

  .ccb-mnav__sign p {
      margin: 0;
      color: #0a418d;
      font-size: 15px;
      font-weight: 500;
      line-height: 1.6;
      letter-spacing: -0.4px;
      word-break: keep-all;
    }

  /* 그림을 키워 아래 빈 자리를 가라앉힌다 (100 → 150 → 120px, 2026-07-31).
     150px 은 왼쪽 문구를 세 줄로 밀어냈다. 120px 이 두 줄을 지키는 선이다.
     3배율 파일이 있어 키워도 흐려지지 않는다. */
  .ccb-mnav__sign-art {
      flex: none;
      width: 120px;
      height: 84px;
    }


  /* 주 버튼 / 보조 버튼 */
  .mobile-navigation .ccb-mnav__cta {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      height: 52px;
      margin-bottom: 9px;
      border-radius: 12px;
      background: #073b86;
      color: #fffdf8;
      font-size: 16px;
      font-weight: 900;
      letter-spacing: -0.5px;
    }

  .mobile-navigation .ccb-mnav__cta--ghost {
      border: 1.5px solid #073b86;
      background: transparent;
      color: #073b86;
    }

  .ccb-mnav__cta svg {
      width: 19px;
      height: 19px;
    }

  /* 맨 아래 한 줄 — 언어 · 로그인 · 회원가입 */
  /* ---- 유틸 (언어 · 로그인 · 회원가입) ----
     시안 1번처럼 아이콘을 단 세로 목록. 메뉴 바로 아래에 붙어 가운데 빈 자리를 메운다.
     본 메뉴(27px)보다 확실히 작게 둬서 위계가 섞이지 않게 한다. */
  /* margin-top 은 뺐다 (대표 지시, 2026-07-31) — 메뉴 목록의 마지막 항목 아래
     여백과 겹쳐 구분선이 필요 이상으로 멀리 떨어져 있었다. */
  .ccb-mnav__util {
      padding-top: 6px;
      border-top: 1px solid rgba(7, 59, 134, 0.1);
    }

  .mobile-navigation .ccb-mnav__util a,
  .mobile-navigation .ccb-mnav__util summary {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 12px 2px;
      color: #55688a;
      font-size: 15px;
      font-weight: 800;
      letter-spacing: -0.3px;
    }

  .ccb-mnav__util svg {
      flex: none;
      width: 20px;
      height: 20px;
      color: #7d8ea8;
    }

  /* 언어 — <details> 라 눌러서 편다. 마커(▸)는 지우고 우리 화살표만 쓴다. */
  .ccb-mnav__util summary {
      cursor: pointer;
      list-style: none;
    }

  .ccb-mnav__util summary::-webkit-details-marker {
      display: none;
    }

  .ccb-mnav__caret {
      width: 16px;
      height: 16px;
      margin-left: auto;
      transition: transform 160ms ease;
    }

  .ccb-mnav__util-lang[open] .ccb-mnav__caret {
      transform: rotate(180deg);
    }

  .ccb-mnav__lang {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      margin: 2px 0 8px 32px;
    }

  .mobile-navigation .ccb-mnav__lang a {
      padding: 7px 12px;
      border: 1px solid rgba(7, 59, 134, 0.14);
      border-radius: 999px;
      color: #8a97a8;
      font-size: 13px;
      font-weight: 800;
    }

  .mobile-navigation .ccb-mnav__lang a.is-on {
      border-color: #073b86;
      background: #073b86;
      color: #fffdf8;
    }
}

@media (max-width: 620px) {
  .site-header {
      height: 72px;
      padding-inline: 22px;
    }
  
  .brand {
      font-size: 29px;
    }
}

.site-header {
  grid-template-columns: 210px 1fr 205px;
  height: 90px;
  padding-inline: 0;
}

.brand {
  font-size: 34px;
  letter-spacing: -2.2px;
}

.desktop-nav {
  justify-content: center;
  gap: 64px;
  font-size: 15px;
}

.header-cta {
  justify-content: space-between;
  gap: 0;
  width: 165px;
  min-height: 44px;
  height: 44px;
  padding: 0 7px 0 23px;
  color: var(--navy);
  background: #ffb000;
  font-size: 14px;
}

.header-cta img {
  width: 33px;
  height: 35px;
}

@media (max-width: 1040px) {
  .site-header {
      grid-template-columns: 1fr auto;
      height: 74px;
      padding: 0 22px;
    }
}

/* ---- from layout-1200-edge.css ---- */
@media (min-width: 1200px) {
  .site-header {
      padding-inline: 0;
    }
}

/* ======================== 푸터 (시안 발췌) ======================== */
/* ---- from correction-245.css ---- */
.partners-footer {
  position: relative;
}

.partners-band {
  /* min-height 는 뺐다 (대표 지시, 2026-07-31) — 로고 수가 줄어도 208px 를 차지했다. */
  padding: 48px 46px 54px;
}

.partners-band::after {
  display: none;
}

.partners-band__inner,
.site-footer__inner {
  width: 100%;
  max-width: none;
}

.partners-band__inner {
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 28px;
}

.partners-title {
  margin-bottom: 13px;
  padding-left: 42px;
  padding-bottom: 6px;
  font-size: 27px;
  border-bottom-width: 3px;
}

.partners-title__heart {
  top: -9px;
  font-size: 43px;
}

.partners-intro p {
  font-size: 17px;
  line-height: 1.35;
}

.partner-list {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0;
  align-items: stretch;
}

.partner-mark,
.partner-mark:nth-child(4),
.partner-mark:nth-child(odd),
.partner-mark:nth-child(even) {
  min-width: 0;
  min-height: 58px;
  padding: 0;
  border-left: 1px solid rgba(36, 36, 36, .17);
}

.partner-mark:first-child {
  border-left: 0;
}

.partner-logo {
  display: block;
  width: min(100%, 150px);
  height: auto;
  max-height: 54px;
  margin: 0 auto;
  object-fit: contain;
}

.footer-torn-edge {
  position: relative;
  z-index: 3;
  display: flex;
  width: 100%;
  height: auto;
  aspect-ratio: 20 / 1;
  margin-bottom: -5%;
  overflow: hidden;
  pointer-events: none;
}

.footer-torn-edge img {
  display: block;
  flex: 0 0 33.333333%;
  width: 33.333333%;
  height: 100%;
  object-fit: contain;
}

.site-footer {
  min-height: 530px;
  padding: 76px 40px 0;
}

.site-footer__main {
  display: grid;
  grid-template-columns: 235px minmax(0, 1fr) 302px;
  min-height: 374px;
}

.footer-brand {
  grid-row: auto;
  padding: 7px 28px 0 10px;
}

.footer-wordmark {
  margin-bottom: 23px;
  font-size: 43px;
}

.footer-wordmark span {
  margin-left: 7px;
  font-size: 35px;
}

.footer-slogan {
  font-size: 18px;
  line-height: 1.45;
}

.footer-scribble {
  width: 72px;
  margin: 7px 0 34px 37px;
}

.social-list {
  gap: 14px;
}

.social-chip {
  width: 43px;
  height: 43px;
}

.social-chip b {
  font-size: 20px;
}

.footer-navigation {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 13px;
  padding: 33px 25px 26px;
  border-right: 1px solid rgba(255,255,255,.25);
  border-bottom: 0;
}

.footer-nav-group {
  gap: 18px;
}

.footer-nav-group h3,
.footer-contact > h3 {
  margin-bottom: 5px;
  font-size: 21px;
}

.footer-nav-group span {
  font-size: 17px;
}

.footer-contact {
  min-height: 374px;
  padding: 7px 0 0 28px;
  border-top: 0;
}

.footer-contact address {
  width: auto;
  gap: 11px;
  margin-top: 20px;
}

.contact-row {
  gap: 10px;
  font-size: 16px;
}

.contact-icon {
  flex-basis: 23px;
  width: 23px;
  height: 23px;
}

.contact-icon--mail {
  height: 17px;
}

.contact-icon--pin {
  width: 19px;
  height: 23px;
}

.footer-friends {
  position: absolute;
  left: 20px;
  bottom: 0;
  display: block;
  width: 270px;
  height: auto;
  aspect-ratio: 400 / 250;
  object-fit: contain;
}

.footer-bottom {
  min-height: 80px;
  gap: 42px;
  padding: 0 10px;
  font-size: 16px;
}

.footer-legal span {
  padding-inline: 24px;
}

@media (max-width: 800px) {
  .partners-band {
      min-height: 0;
      padding: 45px 20px 48px;
    }
  
  .partners-band__inner {
      grid-template-columns: 1fr;
      gap: 30px;
    }
  
  .partner-list {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      row-gap: 0;
    }
  
  .partner-mark,
  .partner-mark:nth-child(4),
  .partner-mark:nth-child(odd),
  .partner-mark:nth-child(even) {
      min-height: 52px;
      border-left: 1px solid rgba(36, 36, 36, .17);
      /* border-top 은 뺐다 (대표 지시, 2026-07-31) — 2열로 접힐 때 가로선이 겹쳐 보였다. */
    }
  
  .partner-mark:nth-child(odd) {
      border-left: 0;
    }
  
  .site-footer {
      min-height: 0;
      padding: 57px 20px 0;
    }
  
  .site-footer__main {
      display: block;
      min-height: 0;
    }
  
  .footer-brand {
      padding: 5px 0 38px;
    }
  
  .footer-navigation {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 38px 24px;
      padding: 42px 0;
      border-right: 0;
      border-bottom: 1px solid rgba(255,255,255,.22);
    }
  
  .footer-contact {
      min-height: 465px;
      padding: 38px 0 0;
    }
  
  .footer-friends {
      left: 50%;
      bottom: 12px;
      width: min(400px, 100%);
      transform: translateX(-50%);
    }
  
  .footer-bottom {
      min-height: 128px;
      padding: 26px 0;
    }
}

/* ---- from section-05-r4.css ---- */
.partners-footer,
.partners-footer * {
  box-sizing: border-box;
}

.partners-footer {
  --s05-blue: #0a3e88;
  --s05-blue-deep: #073477;
  --s05-yellow: #ffc400;
  --s05-cream: #fbf6ef;
  width: 100%;
  position: relative;
  container-name: section05;
  container-type: inline-size;
  overflow: hidden;
  color: #292929;
  font-family: "Kyobo Handwriting 2025 Lee Yubin";
  font-style: normal;
  font-weight: 400;
}

.partners-band {
  position: relative;
  height: 274px;
  padding: 72px 0 42px;
  background: var(--s05-cream);
}

.partners-band__inner {
  width: 100%;
  margin: 0 auto;
  padding-inline: 0;
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  align-items: center;
  gap: 47px;
}

.partners-intro { min-width: 0; }

.partners-title-row {
  position: relative;
  width: 250px;
  min-height: 58px;
  padding: 6px 0 0 57px;
}

.partners-title {
  margin: 0;
  padding: 0;
  border: 0;
  color: #073675;
  font-family: "Pretendard", "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", Arial, sans-serif;
  font-size: 29px;
  font-weight: 800;
  line-height: 1.25;
  white-space: nowrap;
  letter-spacing: -.055em;
  text-align: left;
  text-shadow: none;
}

.partners-title__heart {
  position: absolute;
  left: 0;
  top: -2px;
  display: block;
  width: 50px;
  height: 58px;
  object-fit: contain;
}

.partners-title__underline {
  position: absolute;
  left: 57px;
  top: 39px;
  display: block;
  width: 183px;
  height: auto;
  object-fit: contain;
}

.partners-intro p {
  margin: 13px 0 0 2px;
  color: #55514e;
  font-family: "Pretendard", "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", Arial, sans-serif;
  font-size: 21px;
  font-weight: 400;
  line-height: 1.58;
  letter-spacing: -.045em;
  text-align: left;
}

.partner-list {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.partner-mark {
  height: 70px;
  min-width: 0;
  padding: 0 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-left: 1px solid rgba(70, 67, 64, .2);
}

.partner-mark:first-child { border-left: 0; }

.partner-logo {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: none;
  margin: 0 auto;
  object-fit: contain;
}

.footer-torn-edge {
  position: absolute;
  z-index: 4;
  left: 0;
  width: 100%;
  height: 20px;
  margin-top: -10px;
  background-image: url("../img/youth/section-05-r6/17R-torn-footer-repeat-b.png");
  background-repeat: repeat-x;
  background-position: center;
  background-size: 1200px 20px;
  pointer-events: none;
}

.footer-torn-edge img {
  display: none;
}

.site-footer {
  min-height: 667px;
  padding: 69px 0 0;
  color: #fffdf8;
  background-color: var(--s05-blue-deep);
  background-image: none;
}

.site-footer__inner {
  /* 푸터 전체가 1672px 도안을 zoom 0.7177 로 줄여 쓴다(= 화면 1200px).
     내용 띠만 1608 이라 좌우 23px 씩 안쪽으로 들어가 있었다. 1672 로 맞춰 1200 을 채운다. */
  width: min(1672px, 100%);
  margin: 0 auto;
}

.site-footer__main {
  height: 481px;
  margin-inline: 32px;
  display: grid;
  /* 브랜드 | 메뉴 | 문의.
     메뉴를 470 으로 줄였더니 남는 폭이 문의로 가서, 문의 오른쪽에 210px 가 비었다.
     빈 자리가 없어진 게 아니라 가운데에서 바깥으로 옮겨간 것이었다(2026-07-29 실측).
     그룹 3개를 채우고 메뉴를 778 로 준다. 띠를 1672 로 넓힌 몫도 메뉴가 받으므로
     문의는 원래 폭(520)을 그대로 유지하고 오른쪽 여백이 생기지 않는다. */
  grid-template-columns: 374px 778px minmax(0, 1fr);
}

.footer-brand {
  position: relative;
  padding: 19px 40px 0 54px;
  border-right: 0;
}

.footer-brand::after,
.footer-navigation::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 40px;
  width: 1px;
  background: rgba(255, 255, 255, .24);
  pointer-events: none;
}

.footer-wordmark-row {
  display: flex;
  align-items: center;
  gap: 25px;
  margin: 0 0 34px;
}

.footer-wordmark {
  flex: 0 0 auto;
  margin: 0;
  font: inherit;
  font-size: 70px;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
  transform: rotate(-2deg);
  transform-origin: left center;
  text-shadow: .45px 0 currentColor, -.45px 0 currentColor;
}

.footer-brand-heart {
  flex: 0 0 auto;
  display: block;
  width: 48px;
  height: 52px;
  object-fit: contain;
}

.footer-slogan {
  margin: 0;
  font: inherit;
  font-size: 23px;
  line-height: 1.55;
  letter-spacing: -.025em;
  text-shadow: none;
}

.footer-scribble {
  display: block;
  width: 126px;
  height: 24px;
  margin: 12px 0 74px 58px;
  object-fit: contain;
}

.social-list {
  display: flex;
  gap: 26px;
}

.social-link {
  width: 60px;
  height: 60px;
  display: block;
  border-radius: 50%;
}

.social-link img { display: block; width: 60px; height: 60px; }

.social-link:focus-visible { outline: 3px solid var(--s05-yellow); outline-offset: 4px; }

.footer-navigation {
  position: relative;
  padding: 62px 50px 0 52px;
  display: grid;
  /* 그룹 3개를 똑같이 나눈다.
     시안은 1.15/.95/.95 로 첫 칸을 넓게 뒀는데(4칸 기준), 3칸이 되니 그룹 간격이
     188px / 158px 로 눈에 띄게 어긋났다. 가장 긴 이름 '취향공유 데이트' 가 117px 이라
     균등 분할(208px)에도 충분히 들어간다 — 2026-07-29 실측. */
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
  border-right: 0;
}

.footer-nav-group {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 27px;
}

.footer-nav-group h3,
.footer-contact > h3 {
  position: relative;
  margin: 0 0 10px;
  color: var(--s05-yellow);
  font: inherit;
  font-size: 28px;
  line-height: 1;
  letter-spacing: -.04em;
  text-shadow: .35px 0 currentColor, -.35px 0 currentColor;
}

.footer-nav-group h3::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -12px;
  border-bottom: 1px dashed rgba(255, 255, 255, .78);
}

.footer-contact > h3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -13px;
  width: 42px;
  height: 2px;
  background: repeating-linear-gradient(90deg, rgba(255, 255, 255, .95) 0 2px, transparent 2px 6px);
}

.footer-nav-group a {
  min-height: 40px;
  display: flex;
  align-items: center;
  color: #fffdf8;
  font: inherit;
  font-size: 22px;
  line-height: 1.1;
  text-decoration: none;
  white-space: nowrap;
}

.footer-nav-group a:focus-visible,
.footer-legal a:focus-visible { outline: 2px solid var(--s05-yellow); outline-offset: 3px; }

.footer-contact {
  position: relative;
  padding: 0 0 0 56px;
}

.footer-contact > h3 { margin-top: -5px; }

.footer-contact address {
  display: grid;
  gap: 16px;
  margin-top: 21px;
  font-style: normal;
}

.contact-row {
  min-height: 32px;
  display: flex;
  align-items: center;
  gap: 16px;
  color: #fffdf8;
  font: inherit;
  font-size: 21px;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.contact-icon {
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  object-fit: contain;
}

.contact-icon--mail { width: 32px; height: 28px; }

.contact-icon--phone { width: 32px; height: 34px; }

.contact-icon--pin { width: 30px; height: 32px; }

.footer-friends {
  position: absolute;
  left: 44px;
  top: 197px;
  display: block;
  width: 433px;
  height: auto;
  object-fit: contain;
}

.footer-decoration { position: absolute; display: block; object-fit: contain; }

.footer-decoration--heart { left: 424px; top: 11px; width: 58px; height: 58px; }

.footer-decoration--star { left: 397px; top: 89px; width: 31px; height: 31px; }

.footer-decoration--sparkle { left: 466px; top: 118px; width: 27px; height: 36px; }

.footer-bottom {
  height: 117px;
  display: flex;
  align-items: center;
  gap: 48px;
  padding: 0 86px;
  border-top: 1px solid rgba(255, 255, 255, .22);
  font: inherit;
  font-size: 19px;
}

.footer-bottom p { margin: 0; }

.footer-legal { display: flex; align-items: center; }

.footer-legal a {
  position: relative;
  min-height: 44px;
  padding: 10px 35px;
  display: inline-flex;
  align-items: center;
  color: #fffdf8;
  font: inherit;
  text-decoration: none;
}

.footer-legal a + a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 14px;
  height: 18px;
  border-left: 1px solid rgba(255, 255, 255, .65);
}

@container section05 (max-width: 1250px) and (min-width: 801px) {
  .partners-band { height: auto; }   /* min-height 제거 (2026-07-31) */
  
  .partners-band__inner { grid-template-columns: 280px 1fr; gap: 30px; }
  
  .partner-list { grid-template-columns: repeat(3, 1fr); row-gap: 12px; }
  
  .partner-mark:nth-child(4) { border-left: 0; }
  
  .site-footer__main { height: auto; grid-template-columns: 374px 1fr; }
  
  .footer-brand { grid-row: 1 / 3; }
  
  .footer-navigation { padding-bottom: 45px; }
  
  .footer-navigation::after { display: none; }
  
  .footer-contact { min-height: 390px; padding-top: 42px; border-top: 1px solid rgba(255,255,255,.2); }
  
  .footer-contact > h3 { margin-top: 0; }
  
  .footer-friends { left: auto; right: 10px; top: 68px; }
  
  .footer-decoration--star { left: auto; right: 55px; top: 10px; }
  
  .footer-decoration--sparkle { left: auto; right: 14px; top: 35px; }
  
  .footer-decoration--heart { left: auto; right: 94px; top: 5px; }
}

@media (max-width: 800px) {
  .partners-footer { overflow: clip; }
  
  .partners-band { height: auto; padding: 42px 18px 40px; }   /* min-height 제거 (2026-07-31) */
  
  .partners-band__inner { display: block; width: 100%; padding-inline: 0; }
  
  .partners-title-row { width: 260px; }
  
  .partners-title { font-size: 29px; }
  
  .partners-intro p { margin-top: 14px; font-size: 20px; line-height: 1.5; }
  
  .partner-list { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 31px; row-gap: 12px; }
  
  .partner-mark { height: 70px; padding: 0 8px; }
  
  .partner-mark:nth-child(odd) { border-left: 0; }
  
  .partner-mark:nth-child(even) { border-left: 1px solid rgba(70,67,64,.2); }
  
  .partner-logo { width: auto; height: auto; max-width: 100%; max-height: none; }
  
  .footer-torn-edge {
      position: relative;
      height: 20px;
      margin-top: -10px;
      margin-bottom: -10px;
      background-size: 1200px 20px;
    }
  
  .site-footer { min-height: 0; padding: 58px 18px 0; }
  
  .site-footer__inner { width: 100%; }
  
  .site-footer__main { height: auto; margin-inline: 0; display: block; }
  
  .footer-brand { padding: 0 0 30px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.22); }
  
  .footer-brand::after,
  .footer-navigation::after { display: none; }
  
  .footer-wordmark-row { gap: 10px; margin-bottom: 18px; }
  
  .footer-wordmark { font-size: 54px; }
  
  .footer-brand-heart { width: 40px; height: auto; }
  
  .footer-slogan { font-size: 20px; line-height: 1.55; }
  
  .footer-scribble { margin: 4px 0 22px 47px; }
  
  .social-list { gap: 22px; }
  
  .social-link,
  .social-link img { width: 58px; height: 58px; }
  
  .footer-navigation { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; padding: 32px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.22); }

  /* '회원' 그룹은 모바일 햄버거 메뉴(마이페이지·로그인·회원가입)와 완전히 겹친다.
     여기서 숨겨도 잃는 링크가 없다. PC 에서는 남겨 둬야 3열 균형(1200px)이 유지된다.
     '프로그램'·'청춘배낭' 그룹은 햄버거에 없는 링크(참가 후기·FAQ·전체 일정)를
     담고 있어 모바일에서 푸터가 유일한 통로다 — 지우면 안 된다. */
  .footer-nav-group--member { display: none; }
  
  .footer-nav-group { gap: 15px; }
  
  .footer-nav-group h3,
  .footer-contact > h3 { font-size: 26px; }
  
  .footer-nav-group a { min-height: 44px; font-size: 19px; white-space: normal; }
  
  .footer-contact { min-height: 540px; padding: 43px 0 0; }
  
  .footer-contact > h3 { margin-top: 0; }
  
  .footer-contact address { gap: 16px; }
  
  .contact-row { min-height: 44px; gap: 13px; font-size: 18px; white-space: normal; }
  
  .footer-friends { left: 50%; top: 254px; width: min(348px, calc(100vw - 36px)); height: auto; transform: translateX(-50%); }
  
  .footer-decoration--star { left: auto; right: 62px; top: 180px; }
  
  .footer-decoration--sparkle { left: auto; right: 14px; top: 207px; }
  
  .footer-decoration--heart { left: auto; right: 13px; top: 39px; width: 52px; height: 52px; }
  
  .footer-bottom { height: auto; min-height: 168px; padding: 27px 0; flex-direction: column; align-items: flex-start; justify-content: center; gap: 12px; font-size: 16px; }
  
  .footer-legal { width: 100%; }
  
  .footer-legal a { min-height: 44px; padding: 10px 17px; }
  
  .footer-legal a:first-child { padding-left: 0; }
}

@media (min-width: 1200px) {
  .partners-footer {
      width: 1672px;
      max-width: none;
      zoom: 0.7177033493;
      left: 50%;
      transform: translateX(-50%);
      overflow: visible;
    }
  
  .site-footer {
      box-shadow: 0 0 0 100vmax var(--s05-blue-deep);
      clip-path: inset(0 -100vmax);
    }
  
  .footer-torn-edge {
      left: 50%;
      width: 139.333333vw;
      height: 28px;
      margin-top: -14px;
      transform: translateX(-50%);
      background-size: 1672px 28px;
    }
}

/* ---- from layout-1200-edge.css ---- */
@media (min-width: 1200px) {
  .partners-band__inner,
  .site-footer__inner {
      padding-inline: 0;
    }
  
  .site-footer__main {
      margin-inline: 0;
    }
}

/* ---- 헤더 그리드 (시안 발췌분보다 뒤 + 특이성 한 단계 위) ----
   시안은 210px / 1fr / 205px 로 세 칸을 고정한다. 한국어 길이에 맞춘 값이라,
   번역(일/중)이 켜지면 오른쪽 유틸이 205px 칸을 넘쳐(실측 458px) 메뉴 위로 올라탄다.
   실제로 일본어에서 "はじめに"와 "日本語"가 같은 자리에 겹쳤다 (2026-07-29 실측).
   세 번째 칸을 auto 로 풀어 유틸이 제 폭을 갖게 하고, 남는 폭을 메뉴가 쓴다.
   특이성을 .ccb-header-wrap 으로 올렸으므로 1040px 이하 규칙도 같이 다시 선언한다. */
.ccb-header-wrap .site-header {
  grid-template-columns: minmax(210px, auto) minmax(0, 1fr) auto;
}

@media (max-width: 1040px) {
  .ccb-header-wrap .site-header {
    grid-template-columns: 1fr auto;
  }
}

/* 파트너 밴드는 메인에서만 부른다(ccb.partners.php).
   시안에서는 푸터와 한 덩어리라 위쪽 여백을 푸터가 만들어 줬는데,
   따로 떼어내면 본문에 바짝 붙는다. 자기 여백을 갖게 한다. */
.ccb-partners-only .partners-band {
  padding-top: 58px;
  padding-bottom: 58px;
}

/* ---- 파트너 밴드: 로고 1개용 조정 ----
   시안은 로고 6개를 6칸 그리드에 나눠 담았다. 실제 파트너는 관광두레 하나뿐이라
   6칸을 그대로 쓰면 로고가 1/6 칸에 갇혀 우스꽝스럽게 작아진다.
   칸을 콘텐츠 크기로 풀고 왼쪽 정렬한다. */
.partners-footer .partner-list {
  grid-template-columns: auto;
  justify-content: start;
  gap: 0;
}

.partners-footer .partner-mark {
  height: auto;
  padding: 0;
  border-left: 0;
}

.partners-footer .partner-logo {
  width: auto;
  max-width: 260px;
  max-height: 92px;
  margin: 0;
}

@media (max-width: 800px) {
  .partners-footer .partner-list {
    margin-top: 26px;
  }

  .partners-footer .partner-logo {
    max-width: 200px;
    max-height: 74px;
  }
}

/* ---- 시안 발췌분 뒤에 와야 하는 보정 ----
   시안 .footer-bottom 은 height:117px 고정 한 줄이다. 사업자정보 줄을 넣으면서
   두 줄이 되었으므로 높이를 풀어준다. 800px 이하는 시안이 이미 세로 배치 +
   min-height:168px 로 처리하므로 건드리지 않는다. */
@media (min-width: 801px) {
  .footer-bottom {
    height: auto;
    min-height: 117px;
    padding-block: 18px;
  }
}

/* 시안 원본도 마지막 저작권 줄이 페이지 맨 아래 경계에 걸려 잘린다(시안 index.html 렌더로 확인).
   .site-footer 는 padding-bottom 이 0 이다. 하단 여백을 준다. */
.site-footer {
  padding-bottom: 30px;
}

/* ---- 문의 영역 장식(하트·흰별·노란반짝이) 재배치 ----
   시안 좌표는 주소가 "경상남도 창원시" 한 줄일 때 기준이다. 실제 주소는 두 줄이라
   노란 반짝이가 주소 위에 올라탔다. 주소를 첫 쉼표에서 끊어 두 줄로 고정하고(ccb.tail.php),
   장식 셋을 주소 위쪽 빈 공간에 한 무리로 모은다.
   셀렉터 앞에 .partners-footer 를 붙여 시안 원본 규칙(0,1,0)보다 특이성을 높인다.
   801~1250px 구간은 시안이 @container 로 우측 정렬 배치를 따로 쓰므로, 그 구간까지
   left 를 덮어쓰지 않도록 아래 규칙도 같은 컨테이너 쿼리로 범위를 맞춘다. */
@container section05 (min-width: 1251px) {
  .partners-footer .footer-decoration--sparkle {
    left: 480px;
    top: 92px;
  }
}

@media (max-width: 800px) {
  .partners-footer .footer-decoration--star {
    left: auto;
    right: 72px;
    top: 46px;
  }

  .partners-footer .footer-decoration--sparkle {
    left: auto;
    right: 26px;
    top: 104px;
  }
}

/* ---- 801~1250px 구간 보정 ----
   이 구간은 시안 원본도 무너진다(시안 index.html 을 900px 로 렌더해 확인).
   메뉴 4열이 화면 밖으로 잘리고, 엽서 일러스트가 전화번호·주소 위에 올라타며,
   절대좌표 장식이 컨테이너 밖으로 나간다. 시안은 1250px 부근만 맞춰둔 것으로 보인다.
   좁은 폭에서 절대위치를 계속 손보는 대신, 흐름 배치로 바꿔 구조적으로 안 깨지게 한다. */
@container section05 (max-width: 1250px) and (min-width: 801px) {
  .partners-footer .footer-navigation {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px 20px;
  }

  /* 엽서를 절대위치에서 풀어 주소 아래로 흐르게 한다. 겹침이 구조적으로 사라진다. */
  .partners-footer .footer-friends {
    position: static;
    display: block;
    width: min(360px, 100%);
    margin: 26px 0 0;
  }

  .partners-footer .footer-contact {
    min-height: 0;
    padding-bottom: 40px;
  }

  /* 장식 셋은 이 구간에서 기댈 만한 여백이 없다. 숨긴다(1251px 이상·800px 이하는 그대로 노출). */
  .partners-footer .footer-decoration {
    display: none;
  }
}

/* ---- 헤더 글자 크기 상향 (대표 지시, 2026-07-29) ----
   시안 값은 메뉴 15px / 유틸 14px 이었다. 메뉴가 '프로그램·소개' 두 개뿐이라
   1200px 헤더 가운데가 비어 글자가 빈약하게 읽혔다.
   앞쪽 규칙이 두 군데(.desktop-nav 16px → 15px) 흩어져 있어 어느 쪽을 고쳐도
   뒤 규칙에 밀린다. 이 파일 관습대로 .ccb-header-wrap 으로 특이성을 올려 맨 뒤에 둔다.
   로고(34px)는 그대로 둔다 — 이미 헤더에서 가장 크고, 키우면 헤더 높이가 흔들린다. */
.ccb-header-wrap .desktop-nav {
  font-size: 17px;
  /* 시안은 850 인데 800 으로 들어와 있었다. 같이 맞춘다. */
  font-weight: 850;
}

.ccb-header-wrap .ccb-util {
  font-size: 15px;
}

/* ---- 본문과 푸터 사이 여백 (2026-07-30) ----
   style.css:367 의 .subs_wrap 은 margin-top 만 있고 아래가 0 이다.
   그래서 그누보드 기본 페이지(회원가입·로그인·마이페이지 등)에서
   맨 아래 버튼이 푸터의 찢긴 종이 경계에 그대로 물려 잘려 보였다.
   실측: register_form.php 에서 .subs_wrap 의 끝(1558px)과 .site-footer 의 시작(1558px)이 같았다.

   청춘배낭 전용 화면(.ccb-main 을 쓰는 상세·프로그램·소개)은 자기 아래 여백을
   이미 갖고 있으므로 :has() 로 제외한다 — 안 그러면 그 페이지만 두 배로 뜬다. */
.subs_wrap:not(:has(.ccb-main)) {
  padding-bottom: 64px;
}

@media (max-width: 620px) {
  .subs_wrap:not(:has(.ccb-main)) {
    padding-bottom: 44px;
  }
}

/* ---- 헤더 로고 (2026-07-31) ----
   글자로 찍던 것을 정식 로고 SVG 로 바꿨다.
   .brand 의 글자 관련 값(font-size 35px 등)은 로고가 없을 때의 대비책으로 남겨 둔다. */
.ccb-header-wrap .brand__logo {
  display: block;
  color: var(--navy);
}

.ccb-header-wrap .brand__logo svg {
  display: block;
  width: 148px;   /* 176.38 : 34.02 비율 → 높이 28.5px */
  height: auto;
}

@media (max-width: 1040px) {
  .ccb-header-wrap .brand__logo svg {
    width: 132px;
  }
}

@media (max-width: 620px) {
  .ccb-header-wrap .brand__logo svg {
    width: 118px;
  }
}

/* ---- 푸터 파트너 (관광두레, 2026-07-31) ----
   SNS 아이콘이 있던 자리(브랜드 칸 아래). 라벨과 흰 판은 대표 지시로 뺐다.

   화면에 90px 로 보이게 하는 것이 목표인데, PC(1200px 이상)에서는 푸터 전체가
   zoom: 0.7177 로 축소된다(1672px 도안을 1200px 에 맞추려고 그렇게 짜여 있다).
   그래서 PC 에서는 90 / 0.7177 = 125px 를 줘야 화면에서 90px 로 보인다.
   모바일은 zoom 이 없으므로 90px 그대로. */
.partners-footer .ccb-footer-partner {
  margin: 26px 0 0;
}

.partners-footer .ccb-footer-partner img {
  width: auto;
  height: 90px;
  max-width: none;
}

@media (min-width: 1200px) {
  .partners-footer .ccb-footer-partner img {
    height: 125px;   /* zoom 0.7177 이 걸려 화면에는 90px 로 보인다 */
  }
}
