/*
Theme Name: Daewoo Premium Editable
Author: Codex
Description: Editable premium real-estate landing theme using core WordPress blocks.
Version: 1.0.0
*/

:root {
  --dp-ink: #111418;
  --dp-muted: #66707a;
  --dp-bg: #f5f0e7;
  --dp-paper: #ffffff;
  --dp-dark: #0d151d;
  --dp-gold: #bc9251;
  --dp-gold-2: #edd28a;
  --dp-line: rgba(17, 20, 24, .13);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--dp-bg);
  color: var(--dp-ink);
  font-family: "Inter", "Pretendard", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

a { color: inherit; }

.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 76px;
  padding: 14px clamp(18px, 4vw, 54px);
  color: #fff;
  background: rgba(9, 14, 20, .62);
  border-bottom: 1px solid rgba(255,255,255,.13);
  backdrop-filter: blur(18px);
}

.admin-bar .site-header { top: 32px; }

.brand {
  display: inline-flex;
  flex-direction: column;
  text-decoration: none;
  font-weight: 900;
  letter-spacing: .02em;
}

.brand span:first-child { font-size: 18px; }
.brand span:last-child {
  color: var(--dp-gold-2);
  font-size: 11px;
  letter-spacing: .15em;
}

.nav-links {
  display: flex;
  align-items: center;
  gap: 24px;
}

.nav-links a {
  color: rgba(255,255,255,.88);
  text-decoration: none;
  font-size: 14px;
  font-weight: 800;
}

.menu-toggle {
  display: none;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255,255,255,.26);
  background: transparent;
}

.menu-toggle span {
  display: block;
  width: 20px;
  height: 2px;
  margin: 5px auto;
  background: #fff;
}

.dp-page {
  background: var(--dp-bg);
  color: var(--dp-ink);
  overflow: clip;
}

.dp-hero {
  min-height: 106vh;
  padding-top: 86px;
  isolation: isolate;
  overflow: hidden;
}

.dp-hero .wp-block-cover__image-background {
  transform: translateY(var(--dp-hero-y, 0)) scale(var(--dp-hero-scale, 1.02));
  transition: transform .12s linear;
  will-change: transform;
  filter: saturate(1.05) contrast(1.05);
  /* 줌인/아웃 (Ken Burns) — 참고 사이트(xn--hq1b554axrbgd.net) 실측 속도/배율 적용: scale(1)→scale(1.2), 7초, linear (2026-07-03) */
  animation: dpHeroKenburns 7s linear infinite alternate;
}

@keyframes dpHeroKenburns {
  0%   { transform: translateY(var(--dp-hero-y, 0)) scale(1.0); }
  100% { transform: translateY(var(--dp-hero-y, 0)) scale(1.2); }
}

@media (prefers-reduced-motion: reduce) {
  .dp-hero .wp-block-cover__image-background { animation: none; }
}

.dp-hero .wp-block-cover__background {
  background: linear-gradient(90deg, rgba(4, 9, 15, .94), rgba(4, 9, 15, .58) 45%, rgba(4, 9, 15, .16)) !important;
  opacity: .84 !important;
}

.dp-hero-inner {
  width: min(1120px, calc(100vw - 44px));
  margin: 0 auto;
}

.dp-kicker {
  margin: 0 0 16px;
  color: var(--dp-gold-2);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.dp-title {
  max-width: 940px;
  margin: 0;
  color: #fff;
  font-size: clamp(44px, 7.2vw, 102px);
  line-height: .98;
  letter-spacing: 0;
  font-weight: 900;
  text-wrap: balance;
}

.dp-lead {
  max-width: 720px;
  margin-top: 26px;
  color: rgba(255,255,255,.88);
  font-size: clamp(18px, 2vw, 23px);
  line-height: 1.64;
}

.dp-buttons .wp-block-button__link {
  min-height: 52px;
  padding: 14px 24px;
  border-radius: 0;
  font-weight: 900;
}

.dp-buttons .wp-block-button:first-child .wp-block-button__link {
  background: linear-gradient(135deg, #dfbf73, #9b6d2e);
  color: #111;
}

.dp-buttons .wp-block-button:not(:first-child) .wp-block-button__link {
  border: 1px solid rgba(255,255,255,.28);
  background: rgba(255,255,255,.12);
  color: #fff;
}

/* Gutenberg 그룹 블록이 저장 시 .wp-block-group__inner-container 래퍼를 자동으로 추가해서,
   grid 부모(.dp-stats/.dp-cards/.dp-gallery/.dp-split)의 실제 직계 자식이 이 래퍼 하나뿐이 되어
   grid-template-columns가 무력화되는 문제가 있었다 — 래퍼를 레이아웃에서 투명하게 만들어 해결 */
.dp-stats > .wp-block-group__inner-container,
.dp-cards > .wp-block-group__inner-container,
.dp-gallery > .wp-block-group__inner-container,
.dp-split > .wp-block-group__inner-container {
  display: contents;
}

.dp-stats {
  position: relative;
  z-index: 5;
  width: min(1120px, calc(100vw - 44px));
  margin: -78px auto 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  background: rgba(12,17,22,.9);
  border: 1px solid rgba(255,255,255,.14);
  color: #fff;
  backdrop-filter: blur(18px);
}

.dp-stats .wp-block-group {
  padding: 22px 24px;
  border-right: 1px solid rgba(255,255,255,.14);
}

.dp-stats .wp-block-group:last-child { border-right: 0; }
.dp-stats strong {
  display: block;
  color: #fff;
  font-size: clamp(25px, 3vw, 42px);
  line-height: 1;
}
.dp-stats span {
  display: block;
  margin-top: 8px;
  color: rgba(255,255,255,.72);
  font-size: 14px;
}

.dp-anchor {
  position: sticky;
  top: 76px;
  z-index: 900;
  display: flex;
  justify-content: center;
  gap: 10px;
  padding: 12px 18px;
  background: rgba(245,240,231,.9);
  border-bottom: 1px solid var(--dp-line);
  backdrop-filter: blur(16px);
}

.dp-anchor a {
  padding: 9px 13px;
  text-decoration: none;
  font-size: 14px;
  font-weight: 900;
}

.dp-section {
  width: min(1180px, calc(100% - 44px));
  margin: 0 auto;
  padding: 104px 0;
}

.dp-wide { width: min(1280px, calc(100% - 44px)); }
.dp-section h1, .dp-section h2 {
  margin: 0;
  color: var(--dp-ink);
  font-size: clamp(34px, 4.8vw, 62px);
  line-height: 1.08;
  letter-spacing: 0;
  text-wrap: balance;
}

.dp-section p {
  color: var(--dp-muted);
  font-size: 18px;
  line-height: 1.78;
}

.dp-split {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 44px;
  align-items: start;
}

.dp-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.dp-card,
.dp-cards > .wp-block-group {
  padding: 24px;
  background: #fff;
  border: 1px solid var(--dp-line);
  box-shadow: 0 24px 70px rgba(31,28,21,.07);
}

.dp-card em,
.dp-cards em {
  display: block;
  margin-bottom: 12px;
  color: #9a6f31;
  font-style: normal;
  font-weight: 900;
}

.dp-card strong,
.dp-cards strong {
  display: block;
  color: var(--dp-ink);
  font-size: 22px;
  line-height: 1.35;
}

.dp-dark {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 104px max(22px, calc((100vw - 1180px) / 2));
  background: var(--dp-dark);
  color: #fff;
}

.dp-dark h1, .dp-dark h2, .dp-dark p { color: #fff; }

.dp-gallery {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 18px;
}

.dp-gallery .wp-block-image,
.dp-image {
  margin: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--dp-line);
  box-shadow: 0 24px 80px rgba(31,28,21,.08);
}

.dp-gallery img,
.dp-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .7s ease;
}

.dp-gallery img:hover,
.dp-image img:hover { transform: scale(1.035); }

.dp-gallery figcaption,
.dp-image figcaption {
  margin: 0;
  padding: 10px 14px;
  background: var(--dp-dark);
  color: #fff;
  font-size: 13px;
}

.dp-plan-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.dp-plan-card {
  background: #fff;
  border: 1px solid var(--dp-line);
  box-shadow: 0 24px 70px rgba(31,28,21,.07);
}

.dp-plan-card .wp-block-image img {
  height: 360px;
  object-fit: contain;
  padding: 18px;
}

.fixed-call-button {
  position: fixed !important;
  right: 22px;
  bottom: 22px;
  z-index: 1200;
  margin: 0 !important;
}

.fixed-call-button .wp-block-button__link {
  min-width: 176px;
  border-radius: 999px;
  padding: 15px 22px;
  background: linear-gradient(135deg, #dfbf73, #9b6d2e);
  color: #111;
  font-weight: 900;
  box-shadow: 0 18px 42px rgba(0,0,0,.26);
}

.dp-reveal,
.dp-section,
.dp-cards,
.dp-gallery {
  opacity: 0;
  transform: translateY(34px);
  transition: opacity .75s ease, transform .75s ease;
}

.dp-reveal.is-visible,
.dp-section.is-visible,
.dp-cards.is-visible,
.dp-gallery.is-visible,
.editor-styles-wrapper .dp-reveal,
.editor-styles-wrapper .dp-section,
.editor-styles-wrapper .dp-cards,
.editor-styles-wrapper .dp-gallery {
  opacity: 1;
  transform: none;
}

.editor-styles-wrapper .fixed-call-button {
  position: static !important;
}

.site-footer {
  padding: 40px 22px 92px;
  text-align: center;
  color: rgba(255,255,255,.68);
  background: #080d12;
}

@media (max-width: 980px) {
  .dp-stats,
  .dp-split,
  .dp-cards,
  .dp-gallery,
  .dp-plan-grid {
    grid-template-columns: 1fr;
  }

  .dp-stats { margin-top: 0; }
  .dp-stats .wp-block-group {
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.14);
  }
}

@media (max-width: 720px) {
  .admin-bar .site-header { top: 46px; }
  .menu-toggle { display: block; }
  .nav-links {
    position: fixed;
    left: 16px;
    right: 16px;
    top: 84px;
    display: none;
    flex-direction: column;
    align-items: stretch;
    padding: 18px;
    background: rgba(9,14,20,.96);
    border: 1px solid rgba(255,255,255,.16);
  }

  .menu-open .nav-links { display: flex; }
  .dp-anchor {
    justify-content: flex-start;
    overflow-x: auto;
  }
  .dp-hero { min-height: 96vh; }
  .dp-title { font-size: 40px; }
  .dp-section {
    width: min(100% - 32px, 1180px);
    padding: 78px 0;
  }
  .fixed-call-button {
    left: 16px;
    right: 16px;
    bottom: 14px;
  }
  .fixed-call-button .wp-block-button__link { width: 100%; }
}

