@charset "UTF-8";
/* =========================================================================
   파트너십 안내 랜딩 페이지 (partnership-guide) 전용 스타일
   - style.css 이후에 로드하여 기존 규칙을 자연스럽게 오버라이드
   ========================================================================= */

/* -------------------------------------------------------------------------
   1. 설명회 일정 : 잔여석 표시
   ------------------------------------------------------------------------- */
#partners .schedule .label-area .seat-left {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: 8px;
  font-size: 14px;
  font-weight: 700;
  color: #E5533C;
  vertical-align: middle;
}
#partners .schedule .label-area .seat-left .dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #E5533C;
  animation: seat-pulse 1.6s ease-in-out infinite;
}
@keyframes seat-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.25; }
}

/* -------------------------------------------------------------------------
   2. GNB 스크롤 상단 고정 보정
   ------------------------------------------------------------------------- */
#header .header-main.fixed {
  width: 100%;                 /* 100vw로 인한 가로 스크롤 방지 */
  box-sizing: border-box;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
  animation: gnb-slide-down 0.3s ease;
}
@keyframes gnb-slide-down {
  from { transform: translateY(-100%); }
  to   { transform: translateY(0); }
}

/* -------------------------------------------------------------------------
   3. 내용 4개 섹션 이미지 호버 효과
   ------------------------------------------------------------------------- */
.feature .imgs {
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.feature .imgs:hover {
  transform: scale(1.02);
}

/* -------------------------------------------------------------------------
   4. 하단 고정 바 : 문구 PC/모바일 분기
   ------------------------------------------------------------------------- */
.fixed-bottom-bar .btn-area .txt-mo { display: none; }

/* -------------------------------------------------------------------------
   5. 설명회 : 리스트 헤더 인라인 버튼 (PC 숨김)
   ------------------------------------------------------------------------- */
#partners .schedule .list-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
#partners .schedule .btn-apply-inline { display: none; }

/* 설명회 : 상단 안내문 아래 신청 버튼 (PC 숨김) */
#partners .schedule .btn-apply-mo { display: none; }

/* =========================================================================
   반응형 : 히어로 압축 (1080px 이하)
   ========================================================================= */
@media screen and (max-width: 1080px) {
  #partners .visual .title-wrapper { padding-top: 3rem; }
  #partners .visual .img-area {
    padding-top: 28px;
    width: 72%;
    max-width: 420px;
    min-width: 0;
  }
}

/* =========================================================================
   반응형 : 설명회 신청 버튼 노출 (860px 이하)
   ========================================================================= */
@media screen and (max-width: 860px) {
  /* 리스트 헤더 옆 인라인 버튼 노출 */
  #partners .schedule .btn-apply-inline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    height: 44px;
    padding: 0 18px;
    font-family: "Gowun Batang";
    font-weight: 700;
    font-size: 15px;
    color: #fff;
    border-radius: 8px;
    white-space: nowrap;
  }

  /* 상단 안내문 아래 신청 버튼 노출 (텍스트 폭 + 양옆 여백) */
  #partners .schedule .btn-apply-mo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    margin: 24px auto 0;
    padding: 0 40px;
    height: 52px;
    font-family: "Gowun Batang";
    font-weight: 700;
    font-size: 16px;
    color: #fff;
    border-radius: 8px;
    white-space: nowrap;
  }

  /* 모바일에서는 하단 큰 버튼 숨김 (중복 방지) */
  #partners .schedule .conts-bottom { display: none; }
}

/* =========================================================================
   반응형 : 모바일 세부 (540px 이하)
   ========================================================================= */
@media screen and (max-width: 540px) {
  #partners .visual .title-wrapper { padding-top: 2rem; }
  #partners .visual .img-area {
    padding-top: 18px;
    width: 68%;
  }
  #partners .feature .h-section:first-child { padding-top: 4rem; }

  /* 하단 고정 바 : 버튼 2개를 한 줄로 + 모바일 문구로 교체 */
  .fixed-bottom-bar .btn-area {
    flex-direction: row;
    gap: 8px;
  }
  .fixed-bottom-bar .btn-area .btn {
    flex: 1;
    min-width: 0;
    padding: 16px 0;
    font-size: 15px;
    white-space: nowrap;
  }
  .fixed-bottom-bar .btn-area .btn i.call {
    width: 16px;
    height: 16px;
    margin-right: 6px;
  }
  .fixed-bottom-bar .btn-area .txt-pc { display: none; }
  .fixed-bottom-bar .btn-area .txt-mo { display: inline; }
}

/* =========================================================================
   반응형 : 초협소 화면 (375px 이하)
   ========================================================================= */
@media screen and (max-width: 375px) {
  .fixed-bottom-bar .btn-area .btn { font-size: 14px; }

  /* 리스트 헤더 : 버튼을 아래로 풀폭 배치 */
  #partners .schedule .list-head {
    flex-direction: column;
    align-items: stretch;
  }
  #partners .schedule .btn-apply-inline { width: 100%; height: 48px; }
}

/* GNB 전화 문의 버튼 : 카톡 버튼과 동일 형태, 아웃라인만 다르게 */
/* PC: 카톡 버튼과 동일 형태, 파란 아웃라인 */
#header .header-right .btn-tel {
  padding: 0.75rem 1.5rem;
  font-size: 14px;
  color: #0B57D0;
  background-color: #fff;
  border: 1px solid #0B57D0;
  border-radius: 4px;
}
/* 전화 ↔ 카톡 간격 */
#header .header-right .btn-kakao { margin-left: 8px; }
/* 아이콘은 PC에서 숨김(텍스트 노출) */
#header .header-right .btn-tel .ico { display: none; }

/* 모바일(1080 이하): 로고+버튼 첫 줄(오른쪽) / GNB 둘째 줄, 전화는 아이콘만 */
@media screen and (max-width: 1080px) {
  #header .header-main .container {
    flex-wrap: wrap;
    align-items: center;
  }
  #header .logo { order: 1; }
  #header .header-right {
    order: 2;
    width: auto;
    margin-left: auto;
    gap: 8px;
  }
  #header .header-gnb {
    order: 3;
    width: 100%;
  }
  #header .header-right a { margin: 0; }

  /* 카톡: 텍스트 유지, 여백만 소폭 축소 */
  #header .header-right .btn-kakao {
    margin: 0;
    padding: 0.55rem 1rem;
    font-size: 13px;
  }

  /* 전화: 아이콘만, 정사각형 */
  #header .header-right .btn-tel {
    width: 40px;
    height: 30px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
  }
  #header .header-right .btn-tel .txt { display: none; }
  #header .header-right .btn-tel .ico {
    display: block;
    width: 18px;
    height: 18px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.6.1.4 0 .8-.3 1l-2.2 2.2z'/%3E%3C/svg%3E") no-repeat center / contain;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.6.1.4 0 .8-.3 1l-2.2 2.2z'/%3E%3C/svg%3E") no-repeat center / contain;
  }
}