/* 부동산파이 라이트 테마 (통합 브랜드킷 화이트 버전).
   html.theme-light 가 있을 때만 적용됩니다. 영상 두 구간(히어로·야간)은 다크 그대로 유지하고,
   그 사이 콘텐츠·폼·매물·푸터를 화이트 톤으로 바꿉니다.
   토큰 출처: 브랜드킷 05_웹사이트/사이트_랜딩페이지.html (light) */

html.theme-light {
  /* 바탕 */
  --ink:      #FBFBFC;
  --ink-2:    #F4F6F9;
  --ink-3:    #FFFFFF;
  --line:     rgba(11, 31, 58, 0.10);
  --line-2:   rgba(11, 31, 58, 0.18);
  /* 글자: 네이비 */
  --bone:     #0F2140;
  --sage:     #48607F;
  --sage-dim: #6E829C;
  /* 골드: 밝은 바탕에서는 진한 골드로 대비 확보, 채움은 브랜드 골드 */
  --accent:      #9A7C36;
  --accent-deep: #7E6429;
  --accent-soft: rgba(201, 169, 97, 0.16);
  --gold-fill:   #C9A961;
  --navy:        #0B1F3A;
}

/* 본문 바탕 + 아주 옅은 블루프린트 격자 (브랜드킷 규칙: 불투명도 5% 이하) */
html.theme-light body {
  background-color: var(--ink);
  background-image:
    linear-gradient(rgba(11,31,58,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11,31,58,.045) 1px, transparent 1px);
  background-size: 24px 24px;
  color: var(--bone);
}

/* ---------- 영상 구간은 다크 토큰 그대로 (스크린 위 흰 글자) ---------- */
html.theme-light .heroscrub,
html.theme-light .scrollvid,
html.theme-light .nav:not(.is-scrolled) {
  --ink: #0b1220; --ink-2: #0e1728; --ink-3: #131f33;
  --line: rgba(243,239,230,.10); --line-2: rgba(243,239,230,.16);
  --bone: #f3efe6; --sage: #a5aebc; --sage-dim: #87919f;
  --accent: #c9a55e; --accent-soft: rgba(201,165,94,.14);
  color: var(--bone);
}
html.theme-light .heroscrub,
html.theme-light .scrollvid,
html.theme-light .seq-canvas { background: #0b1220; }

/* ---------- 버튼 ---------- */
html.theme-light .btn--solid { background: var(--gold-fill); color: var(--navy); }
html.theme-light .btn--solid:hover { background: #b8964f; }
html.theme-light .btn--ghost { background: rgba(11,31,58,.03); border-color: var(--line-2); color: var(--bone); }
html.theme-light .btn--ghost:hover { border-color: var(--accent); color: var(--accent); }
/* 영상 위(투명 네비·히어로)의 고스트 버튼은 흰 글자 유지 */
html.theme-light .heroscrub .btn--ghost,
html.theme-light .nav:not(.is-scrolled) .btn--ghost { background: rgba(243,239,230,.06); color: #f3efe6; }

/* ---------- 네비 (스크롤 후 흰 바탕 + 네이비 글자) ---------- */
html.theme-light .nav.is-scrolled {
  background: rgba(251,251,252,.88);
  border-bottom-color: var(--line);
}
html.theme-light .nav.is-scrolled .brand__logo,
html.theme-light .nav.is-scrolled .brand__mark { color: var(--navy); }
html.theme-light .nav.is-scrolled .nav__links a:hover { color: var(--navy); }
html.theme-light .nav__mobile { background: rgba(251,251,252,.97); }
html.theme-light .nav__burger span { background: currentColor; }
html.theme-light .nav.is-scrolled .nav__burger { color: var(--navy); }

/* 워드마크: 브랜드킷 규칙 — "부동산" 가늘게 + "파이" 굵게 (스크롤 후/서브페이지) */
html.theme-light .brand__mark { font-weight: 300; }
html.theme-light .brand__mark b { font-weight: 700; }

/* ---------- 플로팅 버튼 ---------- */
html.theme-light .fab__btn { background: #fff; border-color: var(--line-2); color: var(--navy); box-shadow: 0 8px 22px rgba(11,31,58,.14); }
html.theme-light .fab__btn--primary { background: var(--gold-fill); border-color: var(--gold-fill); color: var(--navy); }
html.theme-light .fab__btn--primary i { color: var(--navy); }

/* ---------- 섹션 바탕 (격자가 비치도록 반투명) ---------- */
html.theme-light .about,
html.theme-light .office { background: transparent; }
html.theme-light .services,
html.theme-light .contact { background: rgba(244,246,249,.85); }

/* 카드류: 흰 카드 + 얇은 네이비 헤어라인 + 은은한 그림자 */
html.theme-light .tile,
html.theme-light .ocard,
html.theme-light .contact__qr,
html.theme-light .form,
html.theme-light .qrcard,
html.theme-light .booking__panel,
html.theme-light .svc-card,
html.theme-light .os-why__item {
  background: #fff;
  border-color: var(--line);
  box-shadow: 0 1px 2px rgba(11,31,58,.04), 0 10px 30px rgba(11,31,58,.05);
}
html.theme-light .tile:hover,
html.theme-light .ocard:hover { border-color: var(--line-2); box-shadow: 0 2px 4px rgba(11,31,58,.05), 0 16px 40px rgba(11,31,58,.09); }
html.theme-light .tile--accent { background: var(--accent-soft); border-color: rgba(201,169,97,.4); }

/* 이미지 타일: 밝게, 아래 캡션은 흰 그라디언트 위 네이비 글자 */
html.theme-light .tile__img { filter: saturate(0.95) brightness(0.98); }
html.theme-light .tile--feature .tile__body,
html.theme-light .tile--banner .tile__body {
  background: linear-gradient(180deg, transparent, rgba(255,255,255,.96) 55%);
}
html.theme-light .tile--feature .tile__body h3,
html.theme-light .tile--banner .tile__body h3 { color: var(--navy); }
html.theme-light .tile--feature .tile__body p,
html.theme-light .tile--banner .tile__body p { color: var(--sage); }

/* 대표 카드 · 태그 */
html.theme-light .ocard--lead { background: linear-gradient(135deg, var(--accent-soft), #fff); border-color: rgba(201,169,97,.35); }
html.theme-light .ocard__photo { filter: saturate(0.95); }
html.theme-light .ocard__tagrow span { background: rgba(11,31,58,.04); border-color: var(--line); color: var(--bone); }

/* 파트너 배너 */
html.theme-light .partner-cta { background: #fff; border-color: rgba(201,169,97,.45); box-shadow: 0 10px 30px rgba(11,31,58,.05); }

/* 지도 카드 */
html.theme-light .contact__map { filter: saturate(0.9); border-color: var(--line); }
html.theme-light .contact__map--embed { filter: none; background-color: #F4F6F9; }
html.theme-light .contact__map::after { background: linear-gradient(180deg, rgba(11,31,58,0), rgba(11,31,58,.45)); }
html.theme-light .contact__mappin { background: rgba(255,255,255,.92); border-color: var(--line-2); color: var(--navy); }

/* 히어로 아웃트로 텍스트 그림자 유지, 그 외 텍스트 그림자 제거 */
html.theme-light .h2, html.theme-light h3 { color: var(--bone); }

/* ---------- 푸터 ---------- */
html.theme-light .foot { background: #fff; border-top-color: var(--line); }
html.theme-light .foot .brand__logo, html.theme-light .foot .brand__mark { color: var(--navy); }
html.theme-light .foot__soc { border-color: var(--line-2); color: var(--bone); }
html.theme-light .foot__soc--partner { background: var(--gold-fill); border-color: var(--gold-fill); color: var(--navy); }
html.theme-light .foot__soc--partner i { color: var(--navy); }
html.theme-light .foot__soc--partner:hover { background: #b8964f; border-color: #b8964f; color: var(--navy); }
html.theme-light .foot__sign { color: var(--accent); }

/* ---------- 폼 (forms.css) ---------- */
html.theme-light .subhead { background: linear-gradient(180deg, #fff, rgba(244,246,249,.6)); border-bottom-color: var(--line); }
html.theme-light .subhead__bg { filter: saturate(0.6) brightness(1); opacity: .16; }
html.theme-light .subhead::after { background: linear-gradient(180deg, rgba(251,251,252,.4), rgba(251,251,252,.92)); }
html.theme-light .field input,
html.theme-light .field select,
html.theme-light .field textarea { background-color: #fff; border-color: var(--line-2); color: var(--bone); }
html.theme-light .field select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2348607F' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 0.9rem center;
}
html.theme-light .chip { border-color: var(--line-2); color: var(--sage); background: #fff; }
html.theme-light .chip:has(input:checked) { background: var(--navy); border-color: var(--navy); color: #fff; }
html.theme-light .handling { background: rgba(201,169,97,.10); border-color: rgba(201,169,97,.4); }
html.theme-light .handling__opt { background: #fff; }
html.theme-light .handling__opt:has(input:checked) { background: rgba(201,169,97,.14); border-color: var(--accent); }
html.theme-light .consent { background: #fff; }
html.theme-light .demo-banner, html.theme-light .legal__note { color: var(--bone); }
html.theme-light .form__alert--error { background: rgba(192,96,79,.08); border-color: rgba(192,96,79,.35); color: #a4402f; }
html.theme-light .field .err { color: #b8503f; }
html.theme-light .booking::backdrop { background: rgba(11,31,58,.45); }
html.theme-light .booking { color: var(--bone); }
html.theme-light .booking__close { background: rgba(11,31,58,.04); color: var(--sage); }
html.theme-light .booking__close:hover { color: var(--navy); }
html.theme-light .qr-preset button { background: #fff; }
html.theme-light .qrstage { background: #F4F6F9; }
html.theme-light .aside__num { background: var(--navy); color: #fff; }

/* ---------- 매물 페이지 (listings.css) ---------- */
html.theme-light .mhead { background: rgba(251,251,252,.92); border-bottom-color: var(--line); }
html.theme-light .mhead .brand__logo { color: var(--navy); }
html.theme-light .mchip { background: #fff; color: var(--sage); border-color: var(--line-2); }
html.theme-light .mchip.is-on { background: var(--navy); color: #fff; border-color: var(--navy); }
html.theme-light .mcard { background: #fff; box-shadow: 0 1px 2px rgba(11,31,58,.04), 0 10px 30px rgba(11,31,58,.06); }
html.theme-light .mcard__media { background: #F4F6F9; }
html.theme-light .mbadge { background: rgba(255,255,255,.9); color: var(--navy); }
html.theme-light .mbadge--deal { background: var(--navy); color: #fff; }
html.theme-light .mcard__photos { background: rgba(255,255,255,.85); color: var(--navy); }
html.theme-light .mcard__price, html.theme-light .mbody__price { color: var(--navy); }
html.theme-light .mtag { color: var(--accent); background: rgba(201,169,97,.14); }
html.theme-light .mskel { background: linear-gradient(100deg, #eef1f5 30%, #f7f8fa 50%, #eef1f5 70%); background-size: 200% 100%; }
html.theme-light .mdetail { background: var(--ink); }
html.theme-light .mdetail__bar { background: rgba(251,251,252,.92); border-bottom-color: var(--line); }
html.theme-light .mdetail__back { background: #fff; border-color: var(--line-2); color: var(--navy); }
html.theme-light .mgal { background: #F4F6F9; }
html.theme-light .mgal__dots b { background: rgba(11,31,58,.25); }
html.theme-light .mgal__dots b.is-on { background: var(--navy); }
html.theme-light .mbody__deal { background: var(--navy); color: #fff; }
html.theme-light .mspec-grid { background: var(--line); }
html.theme-light .mspec-grid > div { background: #fff; }
html.theme-light .mcta { background: rgba(251,251,252,.96); border-top-color: var(--line); }
html.theme-light .mcta__id { background: #fff; border-color: var(--line); }
