/* ============================================================
   MOBILE RESPONSIVE CSS
   ▸ 적용 범위: 767px 이하
   ============================================================ */
@media screen and (max-width: 767px) {
  /* ── Container ── */
  .cn-container {
    padding: 0 20px;
  }

  .re-container {
    padding: 0 20px !important;
  }
  /* ── Section spacing ── */
  .cn-section {
    padding: var(--cn-space-xl) 0;
  }

  /* ── Section Title ── */
  .cn-section-title {
    font-size: var(--cn-text-xl);
  }

  .cn-section-desc {
    font-size: var(--cn-text-sm);
  }

  /* ── Notice Bar ── */
  .cn-notice-bar__text {
    font-size: var(--cn-text-xs);
  }

  /* ── Header ── */
  .cn-header {
    position: sticky;
    top: 0;
  }

  .cn-nav {
    height: auto;
    padding: var(--cn-space-sm) 0;
    flex-direction: column;
    gap: var(--cn-space-sm);
    justify-content: flex-start;
    align-items: stretch;
  }

  .cn-nav__list {
    flex-wrap: wrap;
    gap: 0;
    justify-content: center;
  }

  .cn-nav__item {
    flex: 1 0 auto;
    text-align: center;
  }

  .cn-nav__link {
    display: block;
    padding: 8px var(--cn-space-sm);
    font-size: var(--cn-text-sm);
  }

  .cn-nav .cn-btn--outline-header {
    position: static;
    align-self: center;
    font-size: var(--cn-text-xs);
    padding: 6px 14px;
  }

  /* ── Hero ── */
  .cn-hero {
    padding: var(--cn-space-xl) 0 0;
    min-height: auto;
  }

  .cn-hero__inner {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    gap: var(--cn-space-lg);
    min-height: auto;
    display: grid;
  }

  .cn-character-wrap {
    display: none;
  }

  .cn-hero__content {
    padding-bottom: 0;
    gap: var(--cn-space-md);
    order: 1;
  }

  .cn-hero__title {
    font-size: var(--cn-text-3xl);
    line-height: 1.3;
  }

  .cn-hero__desc {
    font-size: var(--cn-text-sm);
  }

  .cn-hero__actions {
    flex-direction: column;
  }

  .cn-btn--lg {
    padding: 12px 24px;
    font-size: var(--cn-text-base);
    width: 100%;
    justify-content: center;
  }

  .cn-hero__stats {
    order: 2;
    margin-bottom: 0;
    padding: var(--cn-space-md) var(--cn-space-lg);
    flex-direction: row;
    flex-wrap: wrap;
    gap: var(--cn-space-sm);
    align-items: flex-start;
    min-width: unset;
    width: 100%;
  }

  .cn-hero__stats-label {
    width: 100%;
    margin-bottom: 0;
  }

  .cn-stat {
    flex: 1;
    min-width: 80px;
  }

  .cn-stat__value {
    font-size: var(--cn-text-xl);
  }
  .cn-stat__unit {
    font-size: var(--cn-text-base);
  }

  .cn-dday {
    width: 100%;
    margin-top: var(--cn-space-xs);
    padding: var(--cn-space-sm) var(--cn-space-md);
  }

  .cn-dday__value {
    font-size: var(--cn-text-2xl);
  }

  .cn-hero__characters {
    order: 3;
    justify-content: center;
  }

  .cn-character--student {
    width: 100px;
    height: 175px;
  }

  .cn-character--teacher {
    width: 115px;
    height: 200px;
  }

  /* ── About ── */
  .cn-about__inner {
    grid-template-columns: 1fr;
    gap: var(--cn-space-xl);
  }

  .cn-about__intro .cn-section-title {
    font-size: var(--cn-text-2xl);
  }

  .cn-info-row {
    grid-template-columns: 1fr;
    gap: var(--cn-space-sm);
  }

  .cn-info-item {
    flex-direction: column;
    gap: 2px;
  }

  .cn-schedule {
    grid-template-columns: 1fr;
    gap: var(--cn-space-lg);
  }

  .cn-schedule__title {
    font-size: var(--cn-text-base);
  }

  .cn-schedule__table td {
    font-size: var(--cn-text-xs);
    padding: 7px 6px;
  }

  /* ── Consulting ── */
  .cn-consulting {
    padding: var(--cn-space-xl) 0;
  }

  .cn-consulting__cards {
    grid-template-columns: 1fr;
    display: grid;
    gap: var(--cn-space-md);
  }

  .cn-consulting__cards .cn-btn--outline-white {
    padding: 5px 15px;
    font-size: 14px;

    margin-top: 15px;
  }

  .line-center {
    width: 100%;
    height: 1px;
    margin: 20px 0;
  }
  .cn-consulting-card {
    width: 100%;
    padding: 0 0;
    display: block;
  }

  .cn-consulting-card__title {
    font-size: var(--cn-text-xl);
  }

  .cn-consulting-card__desc {
    font-size: var(--cn-text-sm);
  }

  /* ── Process ── */
  .cn-process__steps {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--cn-space-sm);
    margin: var(--cn-space-xl) 0 var(--cn-space-lg);
  }

  .cn-process-step {
    flex-direction: row;
    max-width: 100%;
    width: 100%;
    text-align: left;
    gap: var(--cn-space-lg);
  }

  .cn-process-step__icon {
    width: 64px;
    height: 64px;
    flex-shrink: 0;
  }

  .cn-process-step__icon svg {
    width: 26px;
    height: 26px;
  }

  .cn-process-step__label {
    text-align: center;
    align-self: center;
  }

  .cn-process__arrow {
    transform: rotate(90deg);
    margin: 15px auto;
    font-size: var(--cn-text-lg);
  }

  .cn-caution-box {
    padding: var(--cn-space-md);
    display: block;
  }

  .cn-caution-box-label {
    display: grid;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  .cn-caution-box__icon {
    margin: 0 auto 10px;
  }

  .cn-caution-box__text {
    font-size: var(--cn-text-xs);
    line-height: 1.3;
  }

  /* ── Booth ── */
  .cn-booth__header {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--cn-space-md);
    margin-bottom: var(--cn-space-lg);
  }

  .cn-tabs--type {
    flex-direction: column;
    gap: var(--cn-space-sm);
  }

  .cn-tab {
    text-align: center;
    padding: 10px 20px;
  }

  .cn-tabs--time {
    gap: 0;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 2px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .cn-tabs--time::-webkit-scrollbar {
    display: none;
  }

  .cn-tab-sm {
    padding: 8px 14px;
    font-size: var(--cn-text-xs);
  }

  .cn-booth-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--cn-space-sm);
  }

  .cn-booth-card {
    padding: var(--cn-space-sm);
  }

  .cn-booth-card__count {
    font-size: var(--cn-text-xl);
  }

  /* ── Bottom Section ── */
  .cn-bottom-section {
    padding: var(--cn-space-xl) 0;
  }

  .cn-bottom-grid {
    grid-template-columns: 1fr;
    gap: var(--cn-space-2xl);
  }

  .cn-notice-section__head {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: var(--cn-space-sm);
    margin-bottom: var(--cn-space-lg);
  }

  .cn-notice-item {
    flex-wrap: wrap;
    gap: var(--cn-space-xs);
  }

  .cn-notice-item__link {
    font-size: var(--cn-text-sm);
    flex: 1 0 100%;
    white-space: normal;
  }

  .cn-notice-item__date {
    margin-left: auto;
  }

  .cn-contact-section__desc {
    font-size: var(--cn-text-sm);
  }

  .cn-contact-item__tel {
    font-size: var(--cn-text-sm);
  }

  .cn-contact-item__org {
    font-size: var(--cn-text-sm);
  }

  /* ── Footer ── */
  .cn-footer {
    padding: var(--cn-space-lg) 0;
  }

  .cn-footer__copy {
    font-size: var(--cn-text-xs);
    padding: 0 var(--cn-space-md);
  }

  .login_popup {
    max-width: 75vw !important;
    padding: 20px !important;
  }

  .cn-download-btn a {
    font-size: var(--cn-text-sm) !important;
    margin-left: 0 !important;
    margin-right: 10px !important;
  }

  .cn-download-btn {
    display: grid !important;
    justify-content: left !important;
  }

  .download_label {
    margin-bottom: 10px;
  }

  .fregister_flex_wrap {
    flex-wrap: wrap;
    margin-bottom: 10px;
  }

  .fregister_flex_wrap h2 {
    width: 100%;
  }

  .register_form_inner ul {
    padding: 10px 0 20px 0 !important;
  }

  #register_form h2 {
    padding: 20px 0 0 0 !important;
  }

  #reg_result {
    padding: 40px 0 !important;
  }

  .re-result-head h3 {
    font-size: var(--cn-text-2xl);
  }

  .cons-wrap {
    padding: 0 20px !important;
  }

  .cons-form-grop-wrap {
    display: block !important;
    min-width: 100% !important;
  }

  .cons-form-group {
    margin-bottom: 10px !important;
  }
}
