/* 전역 테마 — Airbnb 무드(화이트 + 코랄). main.css 뒤에 로드되어 헤더/푸터/버튼/홈 히어로를 오버라이드. */
:root {
  --rausch: #ff385c;
  --rausch-active: #e00b41;
  --ink: #222222;
  --tbody: #3f3f3f;
  --muted: #6a6a6a;
  --muted-soft: #929292;
  --hairline: #dddddd;
  --hairline-soft: #ebebeb;
  --canvas: #ffffff;
  --soft: #f7f7f7;
  --strong: #f2f2f2;
  --r-sm: 8px;
  --r-md: 14px;
  --r-lg: 20px;
  --r-full: 999px;
  --shadow-sm: 0 1px 2px rgba(0,0,0,.08), 0 4px 12px rgba(0,0,0,.06);
  --shadow-md: 0 6px 16px rgba(0,0,0,.12);
  --font-ui: 'Manrope', Pretendard, -apple-system, BlinkMacSystemFont, system-ui, 'Helvetica Neue', sans-serif;
}
body { font-family: var(--font-ui); color: var(--tbody); }

/* 공용 버튼 */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  height: 48px; padding: 0 24px; font: inherit; font-size: 16px; font-weight: 600;
  border: 0; border-radius: var(--r-sm); cursor: pointer; text-decoration: none; transition: .16s ease;
}
.btn--primary { background: var(--rausch); color: #fff; }
.btn--primary:hover { background: var(--rausch-active); }
.btn--secondary { background: #fff; color: var(--ink); border: 1px solid #222; }
.btn--secondary:hover { background: var(--soft); }
.btn--pill { border-radius: var(--r-full); }

/* ── 헤더 (전 페이지 통일: 페이지별 다크 오버레이 무력화, 상단 고정) ── */
.ticker-banner { display: none !important; }
.main-wrap { padding-top: 0 !important; }
.site-header:not(.is-open):not(.is-closing) { position: sticky !important; top: 0 !important; }
.site-header { background: rgba(255,255,255,.92) !important; backdrop-filter: blur(10px); border-bottom: 1px solid var(--hairline-soft); box-shadow: 0 1px 0 rgba(0,0,0,.02); color: var(--ink) !important; }
.site-header:hover, .site-header:focus-within { background: rgba(255,255,255,.96) !important; color: var(--ink) !important; border-bottom-color: var(--hairline); }
.site-header__inner { height: 76px; }
.site-logo { height: 40px; }
/* 로고 항상 원색으로 보이게(다크 오버레이용 반전 제거) */
.site-logo__image, .site-header:hover .site-logo__image, .site-header:focus-within .site-logo__image { filter: none !important; height: 38px; max-width: 200px; }
.site-nav__link { color: var(--muted) !important; font-family: var(--font-ui); font-weight: 600; font-size: 16px; letter-spacing: 0; position: relative; }
.site-nav__item:hover .site-nav__link,
.site-nav__item.is-current .site-nav__link,
.site-nav__item.is-current > .site-nav__link { color: var(--ink) !important; }
/* 메뉴 호버 애니메이션(코랄 밑줄만 유지, 전 페이지 통일) */
.site-nav__link::after { content: ""; display: block !important; position: absolute; left: 0; right: 0; bottom: -6px; height: 2px; background: var(--rausch) !important; transform: scaleX(0); transform-origin: center; transition: transform .22s ease; opacity: 1; }
.site-nav__item:hover .site-nav__link::after,
.site-nav__item.is-current .site-nav__link::after,
.site-nav__item.is-current > .site-nav__link::after { transform: scaleX(1); }
.site-nav__sub { background: #fff; border: 1px solid var(--hairline); border-radius: var(--r-md); box-shadow: var(--shadow-md); overflow: hidden; padding: 6px; }
.site-nav__sub a { color: var(--tbody); font-weight: 500; border-radius: var(--r-sm); }
.site-nav__sub a:hover { color: var(--ink); background: var(--soft); }
.site-cta { background: var(--rausch); color: #fff; border: 0; border-radius: var(--r-full); font-family: var(--font-ui); font-weight: 600; padding: 0 20px; height: 44px; }
.site-cta:hover { background: var(--rausch-active); color: #fff; }
.site-cta__icon { margin-right: 6px; }
/* 모바일에서는 전화 CTA 숨김(모바일 전화하기 버튼과 겹침 방지) */
@media (max-width: 900px) { .site-cta { display: none !important; } }

/* ── 푸터 (정리) ── */
.partner-strip { background: var(--soft); border-top: 1px solid var(--hairline-soft); }
.partner-strip__eyebrow { color: var(--rausch); font-weight: 700; letter-spacing: .12em; }
.partner-strip__head h2 { color: var(--ink); font-weight: 700; }
.site-footer { background: #fff; border-top: 1px solid var(--hairline-soft); color: var(--muted); }
.site-footer__top a { color: var(--ink); font-weight: 600; }
.site-footer__top a:hover { color: var(--rausch); }
.site-footer__info p { color: var(--muted); }
.site-footer__info p b { color: var(--ink); }
.site-footer__copy { color: var(--muted-soft); }

/* ── 홈 히어로 (롤링 제거 → 정적 + 양도양수 검색바 위젯) ── */
.home-hero { background: linear-gradient(180deg, #fff 0%, var(--soft) 100%); padding: clamp(64px, 9vw, 120px) 24px clamp(64px, 9vw, 108px); text-align: center; }
.home-hero__inner { width: min(920px, 100%); margin: 0 auto; }
.home-hero .tag { display: inline-block; background: #fff0f3; color: var(--rausch); font-weight: 700; font-size: 13px; padding: 7px 14px; border-radius: var(--r-full); }
.home-hero h1 { margin: 20px 0 0; font-size: clamp(34px, 5.4vw, 60px); font-weight: 800; line-height: 1.12; letter-spacing: -0.04em; color: var(--ink); word-break: keep-all; }
.home-hero > .home-hero__inner > p { margin: 18px auto 0; font-size: 18px; line-height: 1.7; color: var(--muted); max-width: 600px; word-break: keep-all; }

/* 검색바 위젯 (pill) */
.home-search { display: flex; align-items: stretch; gap: 0; background: #fff; border: 1px solid var(--hairline); border-radius: var(--r-full); box-shadow: var(--shadow-md); padding: 8px; margin: 34px auto 0; width: min(760px, 100%); }
.home-search__seg { flex: 1; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 3px; padding: 8px 20px; text-align: left; border-right: 1px solid var(--hairline-soft); min-width: 0; }
.home-search__seg:last-of-type { border-right: 0; }
.home-search__seg label { font-size: 12px; font-weight: 700; color: var(--ink); }
.home-search__seg select { width: 100%; border: 0; background: transparent; font: inherit; font-size: 14px; color: var(--muted); padding: 2px 0; outline: none; cursor: pointer; -webkit-appearance: none; appearance: none; }
.home-search__orb { flex: none; width: 52px; height: 52px; align-self: center; border: 0; border-radius: var(--r-full); background: var(--rausch); color: #fff; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; transition: background .16s ease; }
.home-search__orb:hover { background: var(--rausch-active); }
.home-hero__points { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; margin-top: 26px; color: var(--tbody); font-size: 14.5px; font-weight: 600; }
.home-hero__points span { display: inline-flex; align-items: center; gap: 7px; }
.home-hero__points span::before { content: ""; width: 7px; height: 7px; border-radius: 999px; background: var(--rausch); }

@media (max-width: 720px) {
  .home-search { flex-wrap: wrap; border-radius: var(--r-lg); gap: 6px; }
  .home-search__seg { flex: 1 1 100%; border-right: 0; border-bottom: 1px solid var(--hairline-soft); padding: 10px 16px; }
  .home-search__orb { width: 100%; height: 48px; margin-top: 4px; }
}

/* ── 홈 하위 섹션 톤 (Airbnb 정렬) ── */
.company-wrap { background: #fff; }
.company-title { color: var(--ink); font-weight: 800; letter-spacing: -0.035em; }
.company-services { color: var(--ink); font-weight: 700; }
.company-description { color: var(--muted); }
.company-swiper .wrap header b { color: var(--ink); font-weight: 700; }
.company-swiper .wrap header b span { color: var(--rausch); font-weight: 700; }
.company-swiper .wrap header a { color: var(--rausch); font-weight: 600; }
.company-swiper .wrap figure img { border-radius: var(--r-md); }

.content-section { background: var(--soft); }
.content-section__eyebrow { color: var(--rausch); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.content-section__title { color: var(--ink); font-weight: 800; letter-spacing: -0.035em; }
.content-section__desc { color: var(--muted); }
.solution-panel { background: #fff; border: 1px solid var(--hairline-soft); border-radius: var(--r-lg); }
.solution-tab { border-radius: var(--r-sm); color: var(--ink); font-weight: 600; }
.solution-tab.is-active { background: var(--rausch); border-color: var(--rausch); color: #fff; }
/* 강조 패널을 코랄 그라데이션으로 통일 */
.solution-display,
.solution-display__item[data-tone="license"],
.solution-display__item[data-tone="transfer"],
.solution-display__item[data-tone="diagnosis"],
.solution-display__item[data-tone="forest"],
.solution-display__item[data-tone="dark"],
.solution-display__item[data-tone="coral"] { background: linear-gradient(135deg, #f06a82 0%, #dc4864 100%); }
.solution-copy__label { color: rgba(255,255,255,.9); }
.solution-copy__label::before { background: rgba(255,255,255,.7); }
.demo-bars span { background: rgba(255,255,255,.45); }
/* 데모 카드 라벨: 파랑 제거 + 크기 +3px, 값 +2px */
.demo-card__label { color: var(--ink); font-size: 16px; }
.demo-card__value { font-size: 24px; }

/* 파란색 잔재 제거 → 코랄 (숫자 원·호버 테두리) */
.metric-card__num { background: var(--rausch); color: #fff; }
.metric-card:hover { border-color: rgba(255,56,92,.45); box-shadow: 0 18px 42px rgba(255,56,92,.10); }

/* ── 푸터 소셜 아이콘 (화이트 톤에 맞게) ── */
.site-footer__social a { background: var(--soft); border: 1px solid var(--hairline); }
.site-footer__social a:hover, .site-footer__social a:focus { border-color: var(--rausch); background: #fff0f3; }

/* 관련 기관(partner-strip) 파란 호버 → 코랄 */
.partner-swiper a:hover, .partner-swiper a:focus { border-color: rgba(255,56,92,.4); }
.partner-strip__arrow:hover, .partner-strip__arrow:focus { border-color: var(--rausch); background: var(--rausch); color: #fff; }
.solution-copy__title { font-weight: 800; letter-spacing: -0.03em; }
.solution-copy__button { border-radius: var(--r-sm); color: var(--rausch); font-weight: 700; }
.demo-card { border-radius: var(--r-md); }

/* ── 검색 위젯 (SearchWidget: 홈·양도양수·검색결과 공통) ── */
.sw { background: #fff; border: 1px solid var(--hairline); border-radius: var(--r-lg); box-shadow: var(--shadow-md); padding: 14px; width: min(940px, 100%); margin: 0 auto; text-align: left; }
.sw__fields { display: grid; grid-template-columns: repeat(5, 1fr); }
.sw__seg { display: flex; flex-direction: column; gap: 4px; padding: 8px 16px; border-right: 1px solid var(--hairline-soft); min-width: 0; }
.sw__seg:last-child { border-right: 0; }
.sw__seg label { font-size: 12px; font-weight: 700; color: var(--ink); }
.sw__seg select { width: 100%; border: 0; background: transparent; font: inherit; font-size: 14px; color: var(--tbody); padding: 2px 18px 2px 0; outline: none; cursor: pointer; -webkit-appearance: none; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 12 8'%3E%3Cpath fill='%236a6a6a' d='M6 8 0 1.4 1.4 0 6 4.6 10.6 0 12 1.4z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right center; }
.sw__searchbox { display: flex; gap: 10px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--hairline-soft); }
.sw-q { flex: 1; border: 1px solid var(--hairline); border-radius: var(--r-full); padding: 12px 18px; font: inherit; font-size: 15px; color: var(--ink); outline: none; transition: border-color .16s ease, box-shadow .16s ease; }
.sw-q::placeholder { color: #b0b3b8; }
.sw-q:focus { border-color: var(--rausch); box-shadow: 0 0 0 4px rgba(255,56,92,.12); }
.sw__btn { flex: none; border: 0; border-radius: var(--r-full); background: var(--rausch); color: #fff; font: inherit; font-weight: 700; font-size: 15px; padding: 0 30px; height: 46px; cursor: pointer; transition: background .16s ease; }
.sw__btn:hover { background: var(--rausch-active); }
@media (max-width: 820px) {
  .sw__fields { grid-template-columns: repeat(2, 1fr); gap: 4px; }
  .sw__seg { border-right: 0; border-bottom: 1px solid var(--hairline-soft); }
  .sw__seg:nth-last-child(-n+1) { border-bottom: 0; }
}
@media (max-width: 480px) { .sw__fields { grid-template-columns: 1fr; } }

/* 검색 결과 페이지 */
.sw-results-sec { padding: clamp(40px, 6vw, 72px) 0 clamp(64px, 9vw, 100px); }
.sw-results-head { display: flex; align-items: baseline; gap: 10px; margin: 30px 0 22px; }
.sw-results-head h2 { font-size: 22px; font-weight: 800; color: var(--ink); }
.sw-results-head #sw-count { color: var(--rausch); font-weight: 800; }
#sw-results { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
#sw-results .listing { width: auto; margin: 0; }
.sw-empty { grid-column: 1 / -1; text-align: center; color: var(--muted); padding: 48px 0; }
@media (max-width: 900px) { #sw-results { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { #sw-results { grid-template-columns: 1fr; } }
