/* common.css - Auto-merged from 2 section files */
/* Do not edit directly - regenerate with merge_section_css.py */

/* ========== footer ========== */
/* ===== Site Footer (common) — Figma node 98:2098 ===== */
.site-footer {
  box-sizing: border-box;
  background: #141b2c;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.125rem;                 /* 2px */
  padding: 3.625rem 3.75rem;     /* 58px 60px */
  min-height: 25rem;             /* 400px */
}

.site-footer__logo {
  width: 9.875rem;               /* 158px */
  height: 2rem;                  /* 32px */
  flex-shrink: 0;
}
.site-footer__logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.site-footer__bar {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 1.875rem;                 /* 30px */
}

.site-footer__nav {
  display: flex;
  gap: 1.5rem;                   /* 24px */
  flex-shrink: 0;
}
.site-footer__link {
  font-family: var(--font-pretendard, "Pretendard", sans-serif);
  font-weight: 600;
  font-size: 1rem;               /* 16px */
  line-height: 1.25;             /* 20/16 */
  color: #475569;
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.15s ease;
}
.site-footer__link:hover,
.site-footer__link:focus-visible {
  color: #cbd5e1;
}

.site-footer__copyright {
  flex: 1;
  min-width: 0;
  margin: 0;
  text-align: right;
  font-family: var(--font-pretendard, "Pretendard", sans-serif);
  font-weight: 400;
  font-size: 0.875rem;           /* 14px */
  line-height: 1.142857;         /* 16/14 */
  letter-spacing: 0.075rem;      /* 1.2px */
  text-transform: uppercase;
  color: rgba(217, 217, 217, 0.5);
}

.site-footer__top {
  flex-shrink: 0;
  box-sizing: border-box;
  width: 6rem;                   /* 96px */
  height: 6rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;                 /* 6px */
  padding: 0.75rem;              /* 12px */
  background: #1a73e9;
  border: 0;
  border-radius: 3rem;           /* 48px */
  box-shadow: 0 0.625rem 0.9375rem rgba(0, 0, 0, 0.2);
  cursor: pointer;
  overflow: hidden;
}
.site-footer__top img {
  display: block;
  width: 0.75rem;                /* 12px */
  height: 0.9375rem;             /* 15px */
}
.site-footer__top span {
  font-family: var(--font-poppins, "Poppins", sans-serif);
  font-weight: 500;
  font-size: 0.875rem;           /* 14px */
  line-height: 1.5;
  color: #ffffff;
  text-transform: uppercase;
}

/* ===== Mobile (Figma 127:75) ===== */
@media (max-width: 1024px) {
  .site-footer {
    padding: 1.875rem 0.9375rem 5rem 1.875rem;   /* Figma: pt30 pr15 pb80 pl30 */
    min-height: 0;
    gap: 0.125rem;                                /* Figma: 2px */
  }
  /* Figma 모바일 푸터에는 메뉴 링크가 없음 */
  .site-footer__nav { display: none; }
  .site-footer__bar {
    align-items: center;
    gap: 1.875rem;                                /* Figma: 30px */
  }
  .site-footer__copyright {
    flex: 1;
    text-align: left;
  }
  .site-footer__top {
    width: 4.5rem;                                /* Figma: 72px */
    height: 4.5rem;
    border-radius: 3rem;                          /* 48px */
  }
}

/* ========== navbar ========== */
/* ===== Site Navbar (common) — Figma node 98:38 ===== */
.site-navbar {
  position: fixed;
  top: 1.25rem;            /* 20px */
  left: 50%;
  transform: translateX(-50%);
  width: 90rem;            /* 1440px */
  max-width: calc(100% - 2.5rem);
  z-index: 1000;
}

.site-navbar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 1.875rem 3.75rem;          /* 30px 60px */
  background: #ffffff;
  border-radius: 3.75rem;             /* 60px */
  box-shadow: 0 0.625rem 0.75rem rgba(0, 0, 0, 0.1);   /* 0 10px 7.5px(blur≈12px) */
}

.site-navbar__logo {
  display: block;
  width: 9.875rem;        /* 158px */
  height: 2rem;           /* 32px */
  flex-shrink: 0;
}
.site-navbar__logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.site-navbar__nav {
  display: flex;
  align-items: center;
  gap: 2.25rem;           /* 36px */
}

.site-navbar__link {
  font-family: var(--font-pretendard, "Pretendard", sans-serif);
  font-weight: 600;
  font-size: 1rem;        /* 16px */
  line-height: 1.25;      /* 20/16 */
  color: #475569;
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.15s ease;
}
.site-navbar__link:hover,
.site-navbar__link:focus-visible {
  color: #050b72;
}

/* hamburger — Figma 모바일 메뉴 아이콘(124:4954, 18×14: 윗 두 줄은 풀폭, 아랫줄은 짧음) */
.site-navbar__toggle {
  display: none;
  flex-direction: column;
  align-items: flex-start;       /* 아랫줄이 짧으므로 왼쪽 정렬 */
  justify-content: center;
  gap: 4px;                      /* Figma: 막대 2px / 간격 4px */
  width: 56px;
  height: 56px;
  padding: 21px 19px;            /* 56 - 18 = 38 → 19/19 좌우, 56 - 14 ≈ 21/21 상하 */
  background: transparent;
  border: 0;
  cursor: pointer;
}
.site-navbar__toggle span {
  display: block;
  width: 100%;
  height: 2px;
  background: #050b72;
  border-radius: 2px;
  transition: transform 0.2s ease, opacity 0.2s ease, width 0.2s ease;
}
.site-navbar__toggle span:nth-child(3) {
  width: 44.44%;                 /* Figma: 아랫줄 8px / 18px */
}

/* ===== Mobile (Figma 99:48014) ===== */
@media (max-width: 1024px) {
  .site-navbar {
    top: clamp(1.875rem, 12.4vw, 3.125rem);   /* Figma 99:48014: top 50px (좁은 화면 자동 축소) */
    max-width: calc(100% - 1.875rem);      /* Figma: w 372 of 402 = 15px margins */
  }
  .site-navbar__inner {
    padding: 0 0.75rem 0 1.5rem;           /* Figma: pl 24 / pr 12, 높이는 토글(56px)이 결정 */
    border-radius: 9999px;                 /* Figma: rounded 60px (56px 높이 → 알약) */
    position: relative;
    box-shadow: 0 0.625rem 0.46875rem rgba(0, 0, 0, 0.1);   /* Figma: 0 10px 7.5px */
  }
  .site-navbar__logo {
    width: 7.6875rem;                      /* Figma: 123px */
    height: 1.5625rem;                     /* Figma: 25px */
  }
  .site-navbar__toggle {
    display: flex;                         /* 크기/패딩은 기본 규칙(56×56, Figma btn_memu)에서 상속 */
  }
  .site-navbar__nav {
    position: absolute;
    top: calc(100% + 0.5rem);
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 0.5rem 1.5rem;
    background: #ffffff;
    border-radius: 1.25rem;
    box-shadow: 0 0.625rem 0.75rem rgba(0, 0, 0, 0.1);
    transform-origin: top;
    transform: scaleY(0);
    opacity: 0;
    pointer-events: none;
    transition: transform 0.2s ease, opacity 0.2s ease;
  }
  .site-navbar.is-open .site-navbar__nav {
    transform: scaleY(1);
    opacity: 1;
    pointer-events: auto;
  }
  .site-navbar__link {
    padding: 0.875rem 0;
    border-bottom: 1px solid #e2e8f0;
  }
  .site-navbar__link:last-child {
    border-bottom: 0;
  }
  .site-navbar.is-open .site-navbar__toggle span:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
  }
  .site-navbar.is-open .site-navbar__toggle span:nth-child(2) {
    opacity: 0;
  }
  .site-navbar.is-open .site-navbar__toggle span:nth-child(3) {
    width: 100%;
    transform: translateY(-6px) rotate(-45deg);
  }
}


/* ===== Toast (안내 메시지) ===== */
.site-toast {
  position: fixed;
  left: 50%;
  bottom: 2rem;
  transform: translateX(-50%) translateY(0.75rem);
  z-index: 2000;
  max-width: calc(100% - 2rem);
  padding: 0.875rem 1.5rem;
  background: rgba(20, 27, 44, 0.95);
  color: #ffffff;
  font-family: var(--font-pretendard, "Pretendard", sans-serif);
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.4;
  text-align: center;
  border-radius: 9999px;
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.25);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.site-toast.is-visible {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
