/* Ungyeol keeps the TodayFate layout and changes only the brand layer. */
:root {
  --primary-color: #c52732;
  --uy-red: #c52732;
  --uy-red-bright: #ee4650;
  --uy-gold: #c6a765;
  --uy-ink: #000000;
  --uy-font: "Gowun Batang", "Noto Serif KR", serif;
  --c-sans: var(--uy-font);
}

body,
.container {
  background-color: #000;
}

body,
button,
input,
select,
textarea {
  font-family: var(--uy-font) !important;
}

.cosmic-bg {
  background: #000;
}

.logo-img {
  border-radius: 8px;
  filter: drop-shadow(0 3px 11px rgba(197, 39, 50, .34));
}

.logo-text {
  color: #f7f2e9 !important;
  font-family: "Gowun Batang", "Noto Serif KR", serif !important;
  font-weight: 700 !important;
  letter-spacing: .09em !important;
  text-shadow: 0 1px 10px rgba(255, 248, 236, .08);
}

.logo-han {
  color: var(--uy-gold) !important;
}

.uy-logo-lockup {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.uy-logo-grade {
  color: rgba(255, 255, 255, .46);
  font-family: var(--uy-font);
  font-size: 7px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .13em;
  white-space: nowrap;
}

.logo.uy-image-logo {
  gap: 0;
}

.uy-generated-header-lockup {
  display: grid;
  gap: 0;
}

.uy-generated-header-logo {
  position: relative;
  display: block;
  width: 112px;
  height: 35px;
  overflow: hidden;
}

.uy-generated-header-logo img {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 190px;
  max-width: none;
  height: auto;
  transform: translate(-50%, -50%);
}

.hero2-title em,
.rail-eyebrow,
.eyebrow {
  color: var(--uy-red-bright) !important;
}

.chip.active {
  border-color: rgba(238, 70, 80, .58) !important;
  background: linear-gradient(135deg, #d72b36, #86131c) !important;
  box-shadow: 0 6px 20px rgba(197, 39, 50, .28) !important;
}

.view-all-link { color: var(--uy-red-bright) !important; }

/* 운결 서재의 제목군은 로고와 같은 명조 계열로 통일한다. */
.section-best .shrine-head .eyebrow,
.section-best .shrine-title,
.ungyeol-curated > .rail-eyebrow,
.ungyeol-curated > .rail-label {
  font-family: "Gowun Batang", "Noto Serif KR", serif !important;
  text-wrap: balance;
}

.section-best .shrine-head .eyebrow,
.ungyeol-curated > .rail-eyebrow {
  font-weight: 700;
  line-height: 1.65;
  letter-spacing: -.012em;
}

.section-best .shrine-title,
.ungyeol-curated > .rail-label {
  font-weight: 700;
  line-height: 1.38;
  letter-spacing: -.025em;
}

.hero2 .hero2-title,
.hero2 .hero2-title em,
.hero2 .hero2-sub,
.hero2 .hero2-counter,
.hero2 .uy-hero-premium,
.hero2 .hero2-nav {
  font-family: var(--uy-font) !important;
}

.hero2-title {
  font-weight: 700;
  letter-spacing: -.018em;
}

.hero2-title em {
  font-family: inherit;
  font-style: normal;
}

.hero2-sub {
  font-weight: 700;
  letter-spacing: .22em;
}

/* 운결 전용 안내자 카테고리만 남기고, 복사 원본의 나머지 레일은 숨긴다. */
.section-best > .rail-block:not(.ungyeol-curated) {
  display: none !important;
}

.chips .chip {
  font-family: var(--uy-font) !important;
  letter-spacing: -.015em;
}

.hero2-card {
  border-color: rgba(255, 255, 255, .09) !important;
  background: #0c0c0e !important;
  box-shadow: 0 18px 52px rgba(0, 0, 0, .72), 0 0 0 1px rgba(197, 39, 50, .05) inset !important;
}

.hero2-img {
  object-position: center 25%;
}

.hero2-grad {
  background:
    radial-gradient(70% 38% at 25% 90%, rgba(138, 14, 25, .28), transparent 72%),
    linear-gradient(180deg, rgba(0, 0, 0, .12) 0%, transparent 42%, rgba(0, 0, 0, .98) 100%) !important;
}

.uy-hero-premium {
  position: absolute;
  z-index: 3;
  top: 13px;
  left: 13px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 9px;
  border: 1px solid rgba(255, 255, 255, .11);
  border-radius: 999px;
  background: rgba(5, 5, 6, .58);
  color: rgba(255, 255, 255, .72);
  font-family: var(--uy-font);
  font-size: 7px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .09em;
  -webkit-backdrop-filter: blur(9px);
  backdrop-filter: blur(9px);
}

.uy-hero-premium::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--uy-red-bright);
  box-shadow: 0 0 8px rgba(238, 70, 80, .50);
}

.ungyeol-curated {
  margin-bottom: 34px;
  scroll-margin-top: 72px;
}

#uyWealthWork,
#uyBondMind,
#uyClearingHome,
#uyDreamNature,
#uyLineageName,
#uyShamanRitual {
  margin-top: 8px;
  padding-top: 26px;
  border-top: 1px solid rgba(255, 255, 255, .07);
}

.ungyeol-cast-rail {
  gap: 12px;
}

.ungyeol-poster-card {
  flex-basis: 42%;
}

.ungyeol-poster-card .poster {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .10);
  background: #101012;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .62);
}

.ungyeol-poster-card .poster::after {
  display: none;
}

.ungyeol-poster-card img {
  object-position: center;
}

.ungyeol-poster-category {
  position: absolute;
  z-index: 3;
  top: 10px;
  left: 10px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 9px 4px 4px;
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: 999px;
  background: rgba(5, 5, 6, .82);
  color: rgba(255, 255, 255, .91);
  font: 700 9px/1 var(--uy-font);
  letter-spacing: .025em;
  box-shadow: 0 7px 18px rgba(0, 0, 0, .36);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

.ungyeol-poster-category i {
  display: grid;
  place-items: center;
  width: 19px;
  height: 19px;
  border: 1px solid rgba(255, 195, 197, .26);
  border-radius: 50%;
  background: linear-gradient(145deg, #d9323d, #781018);
  color: #fff7f3;
  font: 700 10px/1 "Gowun Batang", "Noto Serif KR", serif;
  font-style: normal;
  box-shadow: 0 3px 9px rgba(150, 14, 25, .42);
}

@media (max-width: 380px) {
  .ungyeol-poster-card { flex-basis: 46%; }
  .ungyeol-poster-category { top: 10px; left: 10px; }
}

/* 특가 플로팅: 값싼 광고 배지보다 명리 인장에 가까운 원형 출입패. */
.home-sale-float {
  right: 12px;
  bottom: calc(82px + env(safe-area-inset-bottom, 0px));
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto auto;
  place-content: center;
  justify-content: center;
  align-items: center;
  justify-items: center;
  width: 82px;
  height: 82px;
  padding: 10px 7px 9px;
  border: 1px solid rgba(207, 175, 106, .66);
  border-radius: 50%;
  background:
    radial-gradient(circle at 32% 21%, rgba(255, 255, 255, .11), transparent 22%),
    radial-gradient(circle at 50% 68%, rgba(151, 18, 29, .62), transparent 53%),
    linear-gradient(155deg, #1a1a1c, #070708 68%);
  box-shadow:
    0 15px 36px rgba(0, 0, 0, .72),
    0 0 0 3px rgba(116, 15, 25, .20),
    0 0 24px rgba(197, 39, 50, .21),
    inset 0 1px 1px rgba(255, 255, 255, .12),
    inset 0 -12px 20px rgba(0, 0, 0, .48);
  -webkit-backdrop-filter: blur(12px) saturate(115%);
  backdrop-filter: blur(12px) saturate(115%);
  overflow: hidden;
}

.home-sale-float::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 5px;
  width: auto;
  height: auto;
  border: 1px solid rgba(238, 70, 80, .42);
  border-radius: 50%;
  background: none;
  filter: none;
  transform: none;
  animation: none;
}

.home-sale-float::after {
  content: "";
  position: absolute;
  inset: 9px;
  border: 1px dotted rgba(207, 175, 106, .28);
  border-radius: 50%;
  pointer-events: none;
  animation: none;
}
.home-sale-float.is-open:not(.is-hidden) { animation: uy-sale-breathe 3.8s ease-in-out infinite alternate; }
.home-sale-float:hover {
  border-color: rgba(224, 194, 129, .86);
  box-shadow: 0 18px 42px rgba(0, 0, 0, .76), 0 0 30px rgba(197, 39, 50, .32), 0 0 0 4px rgba(116, 15, 25, .20);
  transform: translateY(-2px) scale(1.02);
}
.home-sale-float-han {
  grid-row: 1;
  color: rgba(218, 194, 140, .78);
  font-family: "Gowun Batang", "Noto Serif KR", serif;
  font-size: 7px;
  font-weight: 700;
  letter-spacing: .09em;
  text-shadow: 0 1px 8px rgba(0, 0, 0, .72);
}
.home-sale-float-offer {
  grid-row: 2;
  display: block;
  margin: 3px 0 2px;
  color: #fff;
  line-height: 1.1;
  text-shadow: 0 2px 7px rgba(0, 0, 0, .82);
}
.home-sale-float-offer strong {
  color: #fff;
  font-family: var(--uy-font);
  font-size: 20px;
  font-weight: 900;
  letter-spacing: -.04em;
  text-shadow: 0 0 13px rgba(238, 70, 80, .26), 0 2px 5px rgba(0, 0, 0, .76);
}
.home-sale-float-open {
  grid-row: 3;
  padding: 3px 7px;
  border: 1px solid rgba(238, 70, 80, .46);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(197, 39, 50, .90), rgba(116, 15, 25, .92));
  color: #fff4f3;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .04em;
  box-shadow: 0 4px 10px rgba(0, 0, 0, .30);
}

@keyframes uy-sale-breathe {
  from { box-shadow: 0 15px 36px rgba(0,0,0,.72), 0 0 0 3px rgba(116,15,25,.18), 0 0 18px rgba(197,39,50,.15), inset 0 1px 1px rgba(255,255,255,.12), inset 0 -12px 20px rgba(0,0,0,.48); }
  to { box-shadow: 0 17px 40px rgba(0,0,0,.76), 0 0 0 4px rgba(116,15,25,.24), 0 0 29px rgba(197,39,50,.28), inset 0 1px 1px rgba(255,255,255,.13), inset 0 -12px 20px rgba(0,0,0,.45); }
}

/* 특가 팝업도 검정·백색·적색만 사용해 플로팅과 연결한다. */
.home-sale-sheet {
  border-color: rgba(238, 70, 80, .28);
  border-radius: 18px;
  background: radial-gradient(90% 48% at 50% 0%, rgba(197, 39, 50, .16), transparent 72%), #0b0b0d;
}
.home-sale-sheet::before { background: linear-gradient(90deg, transparent, #dc3540, transparent); }
.home-sale-eyebrow { color: rgba(255, 255, 255, .56); }
.home-sale-eyebrow span { border-color: rgba(238, 70, 80, .34); background: rgba(197, 39, 50, .10); color: #f1a4aa; }
.home-sale-sheet h2 em,
.home-sale-plan em span,
.home-sale-plan-price small { color: #f06a73; text-shadow: none; }
.home-sale-plan-heading span { color: rgba(240, 106, 115, .68); }
.home-sale-plan.is-selected { border-color: rgba(238, 70, 80, .62); background: linear-gradient(100deg, rgba(197, 39, 50, .18), rgba(255, 255, 255, .025)); }
.home-sale-selected { background: #d42b36; color: #fff; }
.home-sale-plan.is-selected .home-sale-radio { border-color: #ef4651; background: #d42b36; }

/* 하단 메뉴: 큰 캡슐을 낮은 블랙 도크로 정돈. */
.bottom-nav {
  width: min(calc(100vw - 24px), 456px) !important;
  max-width: 456px !important;
  bottom: calc(14px + env(safe-area-inset-bottom, 0px)) !important;
  height: 62px !important;
  padding: 0 6px !important;
  gap: 0 !important;
  border-radius: 18px !important;
  background: rgba(7, 7, 8, .96) !important;
  border: 1px solid rgba(255, 255, 255, .10) !important;
  box-shadow: 0 18px 40px rgba(0, 0, 0, .74), 0 1px 0 rgba(255, 255, 255, .04) inset !important;
}
.bottom-nav-item {
  flex: 1 1 0 !important;
  width: auto !important;
  min-width: 0;
  height: 100%;
  padding: 8px 4px !important;
  color: #6f7078 !important;
  text-decoration: none;
}
.bottom-nav-item.active { color: #fff !important; }
.bottom-nav-item.active .bottom-nav-icon {
  color: var(--uy-red-bright);
  filter: drop-shadow(0 0 7px rgba(238, 70, 80, .28));
}
.bottom-nav-item.active::before {
  z-index: 0;
  top: 0;
  left: 50%;
  width: 24px;
  height: 2px;
  border-radius: 0 0 999px 999px;
  background: var(--uy-red-bright);
  transform: translateX(-50%);
}
.bottom-nav-label { font-size: 10px !important; font-weight: 650 !important; letter-spacing: -.01em; }
.bottom-nav-icon { width: 21px !important; height: 21px !important; }
.footer { padding-bottom: 86px !important; }

/* 푸터: 상품 고지보다 먼저 운결의 프리미엄 명리 정체성을 보여준다. */
.uy-footer-brand {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-bottom: 14px;
  padding: 17px 0;
  border-top: 1px solid rgba(198, 167, 101, .22);
  border-bottom: 1px solid rgba(255, 255, 255, .07);
}

.uy-generated-footer-logo {
  position: relative;
  display: block;
  width: 150px;
  height: 62px;
  flex: 0 0 150px;
  overflow: hidden;
}

.uy-generated-footer-logo img {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 258px;
  max-width: none;
  height: auto;
  transform: translate(-50%, -50%);
}

.uy-footer-brand-copy {
  display: grid;
  gap: 3px;
  text-align: left;
}

.uy-footer-brand-copy > span {
  color: #bd8e92;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .15em;
}

.uy-footer-brand-copy strong {
  color: #f5f3f0;
  font: 700 16px/1.2 "Gowun Batang", "Noto Serif KR", serif;
  letter-spacing: .02em;
}

.uy-footer-brand-copy p,
.uy-footer-message,
.uy-footer-disclaimer {
  margin: 0;
}

.uy-footer-brand-copy p {
  color: rgba(255, 255, 255, .52);
  font-size: 10px;
  letter-spacing: .02em;
}

.uy-footer-message {
  margin-bottom: 19px;
  color: rgba(255, 255, 255, .64);
  font: 400 12px/1.75 "Gowun Batang", "Noto Serif KR", serif;
  text-align: left;
}

.uy-footer-disclaimer {
  margin-top: 8px;
  color: rgba(255, 255, 255, .28);
  font-size: 9px;
  line-height: 1.55;
}

@media (prefers-reduced-motion: reduce) {
  .home-sale-float.is-open:not(.is-hidden) { animation: none; }
}

@media (max-width: 380px) {
  .uy-generated-header-logo { width: 106px; height: 34px; }
  .uy-generated-header-logo img { width: 180px; }
  .uy-generated-footer-logo { width: 134px; flex-basis: 134px; }
  .uy-generated-footer-logo img { width: 232px; }
}

@media (min-width: 768px) and (max-width: 999px) {
  .home-sale-float { right: calc((100vw - 600px) / 2 + 14px); }
}
@media (min-width: 1000px) {
  .home-sale-float { right: calc((100vw - 640px) / 2 + 14px); }
}
