/*
Theme Name: LUX Content Migration Landing Theme
Theme URI: https://wpcm.luxdigest.com
Author: LUX Digest
Description: Theme for the LUX Content Migration (wpcm.luxdigest.com) sales site. Front end in English, Japanese and Korean: it follows the visitor's browser language (with a switcher), and the home page only lists posts written in the visitor's language. Forked from the DecoBlocks marketplace theme (white × gold design tokens).
Version: 1.16.4-mp
Requires PHP: 7.4
Text Domain: lux-content-migration-theme
Domain Path: /languages
*/

/* -----------------------------------------
   1.16.4-mp changes (2026-10-11)
   - [Bug] Theme text was in the wrong language after using the switcher (EN showed Korean, 한국어
     showed English, Japanese never showed). The theme text is loaded before the multilingual plugin
     knows the page language, and the reload was skipped whenever get_locale() already equalled the
     target. It now compares with the locale the text was really loaded in and reloads the theme
     text by explicit file (inc/lcmt-i18n.php).
   - Theme text (and <html lang>) now always follows the page language read from the URL/plugin, no
     matter what locale WordPress or another plugin/cache reports (gettext filter, tested by forcing
     a wrong locale: EN/JA pages used to fall back to Korean).
   - The GTranslate bar is no longer printed while a multilingual plugin is active (two language
     switchers at once).
   ----------------------------------------- */

/* -----------------------------------------
   1.16.3-mp changes (2026-10-09) - aligned with Translation Digest (AITLang engine)
   - Post lists use the engine's own post language; the theme's "Post language" box is hidden
     while the engine is active.
   - [Bug] The home canonical/og:url pointed at the newest post (wp_get_canonical_url() on a
     latest-posts home) and single posts printed two canonical tags. Now: home = language home,
     single posts = WordPress core rel_canonical only.
   - When an SEO plugin (SOHO SEO, Yoast, Rank Math, AIOSEO) is active, the theme no longer prints
     a second description / Open Graph set.
   ----------------------------------------- */

/* -----------------------------------------
   1.16.2-mp changes (2026-10-09)
   - Links inside posts now use the same look as the SOHO SEO theme: internal links = mint
     underline, external links = violet text + ↗ (instead of gold).
   ----------------------------------------- */

/* -----------------------------------------
   1.16.1-mp changes (2026-10-09)
   - Works with the AITLang ("AI translation upgrader", Polylang fork) multilingual plugin: when it
     (or Polylang) is active, the page language follows its URL language, and the switcher uses
     its language links.
   - "Latest news" always uses the theme's own detected post language.
   - [Bug] Links inside posts looked like plain gold text without any mark. Internal links get a
     gold underline, external links gold text + ↗; both fill softly on hover.
   - Legal pages are only replaced with the English/Japanese text when the stored page is Korean.
   ----------------------------------------- */

/* -----------------------------------------
   1.16.0-mp changes (2026-10-09)
   - All theme text is now English source with bundled Korean (ko_KR) and Japanese (ja)
     translations (languages/). Text domain: lux-content-migration-theme (the old
     decoblocks-theme-*.po/.mo files were never loaded by WordPress and are removed).
   - Front-end language: ?lcm_lang switcher (remembered in a cookie) > language in the URL
     (lang query var of a multilingual plugin) > browser language > site language.
     Single posts use the post's own language. Sends "Vary: Accept-Language, Cookie".
   - Post language is detected on save (Hangul / Kana / Latin), can be set per post in the
     "Post language" box, and existing posts are classified automatically.
   - Home "Latest news" lists only posts in the visitor's language (hidden when there are none).
   - Legal pages (terms, refund, privacy, contact) are shown in English / Japanese to those
     visitors (inc/lcmt-legal-content.php).
   ----------------------------------------- */

/* -----------------------------------------
   디자인 토큰 - 화이트 × 골드, 깔끔한 톤

   DecoBlocks 마켓플레이스 테마(원본)와 완전히 동일한 방식으로 블랙×골드 →
   화이트×골드로 뒤집은 팔레트. 각 토큰의 역할과 값의 근거는 원본 테마의
   style.css 주석에 자세히 적어뒀고(문자 대비 계산 등), 여기서는 같은 값을
   그대로 재사용함 - 코드 구조는 전혀 건드리지 않고 색상 토큰만 원본과
   동일하게 맞춘 것.
   ----------------------------------------- */
:root {
	/* 색상 */
	--dbk-bg: #FFFFFF;          /* 메인 배경 - 화이트 */
	--dbk-surface: #FDEEDD;     /* 카드/패널 배경 - 파스텔 옅은 주황(연두에서 변경) */
	--dbk-surface-alt: #FAE1C4; /* 카드 내부 강조 영역 - surface보다 한 톤 더 진한 같은 주황 계열 */
	--dbk-ink: #17160F;         /* 본문 텍스트 - 진한 잉크 블랙 */
	--dbk-muted: rgba(23,22,15,0.62);
	--dbk-gold: #F5A623;        /* 골드 - 버튼 배경/테두리/아이콘용 밝고 선명한 톤 */
	--dbk-gold-bright: #A66908; /* 강조 골드 - 링크/가격 등 흰 배경 위 글자 전용(문자 대비 확보용) */
	--dbk-green: #7ED321;       /* 밝은 연두 - 오렌지 버튼의 호버(마우스 오버) 전용 색 */
	--dbk-white: #FFFFFF;
	--dbk-line: rgba(23,22,15,0.14);
	--dbk-line-gold: rgba(245,166,35,0.4);

	/* 타이포그래피 - 통통 튀는 Baloo 2 대신 각지고 모던한 Space Grotesk */
	--dbk-font-display: 'Space Grotesk', 'Pretendard', sans-serif;
	--dbk-font-body: 'Pretendard', -apple-system, 'Noto Sans KR', sans-serif;
	--dbk-font-mono: 'JetBrains Mono', monospace;

	/* 엣지있는 느낌을 위해 라운드를 거의 없앰 */
	--dbk-radius: 3px;
	--dbk-radius-sm: 2px;
}

* { box-sizing: border-box; }

body {
	margin: 0;
	background: var(--dbk-bg);
	color: var(--dbk-ink);
	font-family: var(--dbk-font-body);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4 {
	font-family: var(--dbk-font-display);
	font-weight: 600;
	line-height: 1.25;
	margin: 0 0 0.5em;
	color: var(--dbk-ink);
	letter-spacing: -0.01em;
}

a {
	color: var(--dbk-gold-bright);
	text-decoration: none;
}
a:focus-visible, button:focus-visible {
	outline: 2px solid var(--dbk-gold);
	outline-offset: 2px;
}

img { max-width: 100%; display: block; }

.dbk-container {
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 24px;
}

/* -----------------------------------------
   헤더
   ----------------------------------------- */
.dbk-lang-bar {
	display: flex;
	justify-content: center;
	padding: 6px 0;
	background: var(--dbk-bg);
	border-bottom: 1px solid var(--dbk-line);
	font-size: 13px;
	color: var(--dbk-muted);
}

.dbk-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 24px 0;
	border-bottom: 1px solid var(--dbk-line);
}

.dbk-logo {
	font-family: var(--dbk-font-display);
	font-size: 20px;
	font-weight: 700;
	color: var(--dbk-ink);
	text-transform: uppercase;
	letter-spacing: 2px;
	display: flex;
	align-items: center;
	gap: 12px;
}
/* 스마일 아이콘 대신 미니멀한 골드 다이아몬드 마크 */
.dbk-logo span {
	display: inline-block;
	width: 12px;
	height: 12px;
	border: 1px solid var(--dbk-gold);
	transform: rotate(45deg);
	background: transparent;
}

.dbk-nav {
	display: flex;
	gap: 32px;
	align-items: center;
}
.dbk-nav a {
	color: var(--dbk-muted);
	font-weight: 500;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 1px;
}
.dbk-nav a:hover { color: var(--dbk-gold-bright); }

/* [1.16.0] Theme language switcher (EN / 日本語 / 한국어): quiet text links, current one underlined in gold. */
.lcmt-lang-pick {
	display: flex;
	align-items: center;
	gap: 2px;
}
.dbk-nav .lcmt-lang-pick a {
	padding: 4px 7px;
	font-size: 12px;
	letter-spacing: 0;
	text-transform: none;
	white-space: nowrap;
}
.dbk-nav .lcmt-lang-pick a + a { border-left: 1px solid var(--dbk-line); }
.dbk-nav .lcmt-lang-pick a.is-current {
	color: var(--dbk-ink);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: var(--dbk-gold);
	text-decoration-thickness: 2px;
	text-underline-offset: 5px;
}
.dbk-nav .dbk-btn { white-space: nowrap; }
/* Pretendard has no Japanese glyphs - use the platform's Japanese fonts. */
:lang(ja) body,
body:lang(ja) {
	font-family: 'Pretendard', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Noto Sans JP', 'Yu Gothic', Meiryo, sans-serif;
}

.dbk-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: transparent;
	color: var(--dbk-ink) !important;
	padding: 12px 26px;
	border-radius: var(--dbk-radius-sm);
	border: 1px solid var(--dbk-gold);
	font-weight: 600;
	font-size: 12.5px;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	cursor: pointer;
	transition: background 0.18s ease, color 0.18s ease;
}
/* color: var(--dbk-bg) → var(--dbk-ink)로 수정 - 예전엔 --dbk-bg가 거의 검정이라
   "골드 버튼 위 어두운 글자색"으로 재사용했지만, 이제 --dbk-bg가 흰색이라 그대로 두면
   골드 버튼 위에 흰 글자가 놓여 대비가 떨어짐. 원본(DecoBlocks 마켓플레이스 테마)과
   동일한 수정. */
.dbk-btn:hover { background: var(--dbk-gold); color: var(--dbk-ink) !important; }
.dbk-btn--pink { background: var(--dbk-gold); color: var(--dbk-ink) !important; border-color: var(--dbk-gold); }
/* 호버 배경도 gold-bright(글자 전용의 짙은 색) 대신 --dbk-green(연두)으로 - 원본과 동일 */
.dbk-btn--pink:hover { background: var(--dbk-green); border-color: var(--dbk-green); }

/* -----------------------------------------
   히어로
   ----------------------------------------- */
.dbk-hero {
	padding: 72px 0 88px;
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: 48px;
	align-items: center;
}

.dbk-hero__eyebrow {
	display: inline-block;
	background: transparent;
	border: 1px solid var(--dbk-line-gold);
	color: var(--dbk-gold-bright);
	padding: 6px 14px;
	border-radius: var(--dbk-radius-sm);
	font-weight: 600;
	font-size: 11.5px;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	margin-bottom: 20px;
}

.dbk-hero h1 {
	font-size: 44px;
	letter-spacing: -0.01em;
}
.dbk-hero h1 em {
	font-style: normal;
	color: var(--dbk-gold-bright);
	position: relative;
}

.dbk-hero p {
	font-size: 16px;
	color: var(--dbk-muted);
	max-width: 480px;
	margin: 18px 0 30px;
}

.dbk-hero__ctas {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}

/* 스티커 시트 비주얼: 밝은 종이 대신 다크 패널 + 골드 헤어라인. 회전은 유지해
   역동감은 남기되, 파스텔 느낌은 제거 */
.dbk-sticker-sheet {
	position: relative;
	background: var(--dbk-surface);
	border-radius: var(--dbk-radius);
	padding: 32px;
	border: 1px solid var(--dbk-line);
	box-shadow: 0 24px 60px rgba(0,0,0,0.16);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	transform: rotate(-1deg);
}
.dbk-sticker-sheet::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: var(--dbk-radius);
	background-image: radial-gradient(rgba(245,166,35,0.18) 1px, transparent 1px);
	background-size: 18px 18px;
	opacity: 0.6;
	pointer-events: none;
}
.dbk-sticker-sheet__item {
	aspect-ratio: 1;
	border-radius: var(--dbk-radius-sm);
	/* 스티커 PNG가 투명 배경이라 어두운 바탕에 얹으면 깨져 보임 - 카드 자체는
	   흰색으로 둬서 실제 상품처럼 캐릭터가 또렷하게 보이게 함. 패널(어두운
	   골드 테두리)만 럭셔리 톤을 유지 */
	background: var(--dbk-white);
	border: 1px solid var(--dbk-line-gold);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	position: relative;
}
.dbk-sticker-sheet__item img { width: 100%; height: 100%; object-fit: contain; padding: 10px; }
/* 이미지가 아직 없을 때 보여줄 자리표시자 - 이모지 대신 미니멀한 골드 마크.
   배경이 흰색이라 마크는 진한 잉크색으로 대비를 줌 */
.dbk-sticker-sheet__item .dbk-placeholder-mark {
	width: 10px;
	height: 10px;
	border: 1px solid var(--dbk-gold);
	background: rgba(245,166,35,0.08);
	transform: rotate(45deg);
}
.dbk-sticker-sheet__item:nth-child(2n) { transform: rotate(2deg); }
.dbk-sticker-sheet__item:nth-child(3n) { transform: rotate(-2.5deg); }
.dbk-sticker-sheet__item:nth-child(5n) { transform: rotate(1.5deg); }

@media (prefers-reduced-motion: no-preference) {
	.dbk-sticker-sheet__item {
		transition: transform 0.25s ease, border-color 0.25s ease;
	}
	.dbk-sticker-sheet__item:hover {
		transform: scale(1.06) rotate(0deg) !important;
		border-color: var(--dbk-gold);
		z-index: 2;
	}
}

/* -----------------------------------------
   가치 제안
   ----------------------------------------- */
.dbk-values {
	padding: 64px 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	border-top: 1px solid var(--dbk-line);
}
.dbk-value-card {
	background: var(--dbk-surface);
	border-radius: var(--dbk-radius);
	padding: 30px 28px;
	border: 1px solid var(--dbk-line);
}
/* 컬러풀한 이모지 아이콘 대신, 골드 아웃라인 인덱스 번호로 절제된 톤 유지 */
.dbk-value-card__icon {
	width: 34px; height: 34px;
	border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	font-family: var(--dbk-font-mono);
	font-size: 12px;
	font-weight: 700;
	color: var(--dbk-gold-bright);
	border: 1px solid var(--dbk-gold);
	margin-bottom: 18px;
}

.dbk-value-card h3 { font-size: 17px; margin-bottom: 8px; }
.dbk-value-card p { font-size: 14px; color: var(--dbk-muted); margin: 0; }

/* -----------------------------------------
   [v1.15.0] 최신 소식 — 홈페이지 캐러셀. "글을 발행해서 SNS로 홍보"하는 운영
   방식에 맞춰, 방금 올린 글이 바로 홈 화면에 노출되도록 최신순으로 보여준다.
   (SOHO SEO 테마의 .soho-recent와 같은 구조 · 이 테마 톤(화이트×골드)에 맞춰 재작성)
   글이 아직 없는 사이트에서는 front-page.php가 이 섹션 전체를 숨긴다.
   ----------------------------------------- */
.dbk-recent {
	padding: 64px 0;
	border-top: 1px solid var(--dbk-line);
}
.dbk-recent__head { text-align: center; max-width: 560px; margin: 0 auto 32px; }
.dbk-recent__head h2 { font-size: 24px; }
.dbk-recent__head p { color: var(--dbk-muted); font-size: 14.5px; }

.dbk-recent-carousel {
	position: relative;
	display: flex;
	align-items: center;
	gap: 14px;
}
.dbk-recent-carousel__track {
	flex: 1;
	display: flex;
	gap: 20px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	padding-bottom: 6px;
	scrollbar-width: thin;
}
.dbk-recent-carousel__track .dbk-recent__card {
	flex: 0 0 calc(25% - 15px);
	scroll-snap-align: start;
}
.dbk-recent-carousel__arrow {
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid var(--dbk-line-gold);
	background: var(--dbk-bg);
	color: var(--dbk-ink);
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
.dbk-recent-carousel__arrow:hover { background: var(--dbk-gold); border-color: var(--dbk-gold); }
.dbk-recent__card {
	display: block;
	background: var(--dbk-surface);
	border-radius: var(--dbk-radius);
	overflow: hidden;
	border: 1px solid var(--dbk-line);
	transition: transform 0.2s ease, border-color 0.2s ease;
	text-decoration: none;
}
.dbk-recent__card:hover {
	transform: translateY(-3px);
	border-color: var(--dbk-line-gold);
}
.dbk-recent__thumb {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 16 / 10;
	background: var(--dbk-surface-alt);
}
.dbk-recent__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
/* 썸네일이 아직 없는 글일 때 보여줄 자리표시자 */
.dbk-recent__thumb .dbk-recent__placeholder {
	width: 12px;
	height: 12px;
	border: 1px solid var(--dbk-gold);
	background: rgba(245,166,35,0.08);
	transform: rotate(45deg);
}
.dbk-recent__card-body { display: block; padding: 14px 16px 18px; }
.dbk-recent__card-title {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 14px;
	font-weight: 600;
	color: var(--dbk-ink);
	line-height: 1.4;
	margin-bottom: 6px;
}
.dbk-recent__card-date {
	display: block;
	font-size: 11.5px;
	color: var(--dbk-muted);
	font-family: var(--dbk-font-mono);
}

/* -----------------------------------------
   실시간 팩 쇼케이스
   ----------------------------------------- */
.dbk-showcase {
	padding: 48px 0 88px;
	border-top: 1px solid var(--dbk-line);
}
.dbk-showcase__head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-bottom: 28px;
}
.dbk-showcase__head h2 { font-size: 24px; }

.dbk-pack-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}
.dbk-pack-card {
	background: var(--dbk-surface);
	border-radius: var(--dbk-radius);
	overflow: hidden;
	border: 1px solid var(--dbk-line);
	transition: transform 0.2s ease, border-color 0.2s ease;
}
.dbk-pack-card:hover {
	transform: translateY(-3px);
	border-color: var(--dbk-line-gold);
}
.dbk-pack-card__thumbs {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	background: var(--dbk-surface-alt);
	padding: 14px;
	gap: 8px;
}
.dbk-pack-card__thumbs img {
	aspect-ratio: 1;
	object-fit: contain;
	background: var(--dbk-surface);
	border-radius: var(--dbk-radius-sm);
	padding: 6px;
}
.dbk-pack-card__body { padding: 16px; }
.dbk-pack-card__body h4 { font-size: 15px; margin-bottom: 4px; }
.dbk-pack-card__meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 12.5px;
	color: var(--dbk-muted);
}
.dbk-pack-card__price {
	font-family: var(--dbk-font-mono);
	font-weight: 700;
	color: var(--dbk-gold-bright);
}
.dbk-pack-card__lang {
	display: inline-block;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 0.5px;
	padding: 2px 8px;
	border-radius: var(--dbk-radius-sm);
	background: transparent;
	border: 1px solid var(--dbk-line-gold);
	color: var(--dbk-gold-bright);
}

.dbk-empty-state {
	background: var(--dbk-surface);
	border: 1px dashed var(--dbk-line-gold);
	border-radius: var(--dbk-radius);
	padding: 40px;
	text-align: center;
	color: var(--dbk-muted);
}

/* -----------------------------------------
   디자이너 CTA 배너
   ----------------------------------------- */
.dbk-cta-banner {
	background: var(--dbk-surface);
	color: var(--dbk-ink);
	border-radius: var(--dbk-radius);
	border: 1px solid var(--dbk-line-gold);
	padding: 48px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 88px;
}
.dbk-cta-banner h2 { color: var(--dbk-ink); font-size: 26px; margin-bottom: 8px; }
.dbk-cta-banner p { color: var(--dbk-muted); margin: 0; max-width: 460px; }

.dbk-process {
	margin-bottom: 88px;
	text-align: center;
	padding-top: 48px;
	border-top: 1px solid var(--dbk-line);
}
.dbk-process h2 { font-size: 26px; margin-bottom: 8px; }
.dbk-process__sub { color: var(--dbk-muted); margin-bottom: 44px; font-size: 14.5px; }
.dbk-process__steps {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 20px;
	margin-bottom: 40px;
}
.dbk-process__step {
	background: var(--dbk-surface);
	border: 1px solid var(--dbk-line);
	border-radius: var(--dbk-radius);
	padding: 24px 18px;
	text-align: left;
	position: relative;
}
/* 솔리드 핑크 원 대신, 초대장 시리즈와 통일된 골드 아웃라인 원형 번호 */
.dbk-process__num {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: transparent;
	border: 1px solid var(--dbk-gold);
	color: var(--dbk-gold-bright);
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--dbk-font-mono);
	font-weight: 600;
	font-size: 13px;
	margin-bottom: 16px;
}
.dbk-process__step h3 { font-size: 15px; margin: 0 0 6px; }
.dbk-process__step p { font-size: 12.5px; color: var(--dbk-muted); margin: 0; }
.dbk-process__cta { display: flex; justify-content: center; }

@media (max-width: 900px) {
	.dbk-process__steps { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
	.dbk-process__steps { grid-template-columns: 1fr; }
}

/* -----------------------------------------
   일반 페이지(약관/포털 등)
   ----------------------------------------- */
.dbk-page {
	padding: 64px 0 100px;
	/* [1.15.3] 640px → 760px: SOHO SEO 테마(.soho-page)와 같은 폭으로 넓힘.
	   640px일 때는 태블릿·큰 폰 가로·폴더블처럼 화면이 약 690px 이상이면
	   본문이 640px에 묶여 양옆이 크게 비었다. 좌우 안쪽 여백은 예전처럼
	   부모 .dbk-container(24px)만 쓴다. */
	max-width: 760px;
	margin: 0 auto;
}
.dbk-page h1 {
	font-size: 28px;
	text-align: center;
	margin-bottom: 28px;
}

/* the_content() 안에 뭐가 오든(플러그인 숏코드 출력 포함) 항상 카드 안에 담기게 함 */
.dbk-page__content {
	background: var(--dbk-surface);
	border-radius: var(--dbk-radius);
	padding: 36px;
	border: 1px solid var(--dbk-line);
	color: var(--dbk-ink);
}
.dbk-page__content a { color: var(--dbk-gold-bright); }
.dbk-page__content h2, .dbk-page__content h3 { color: var(--dbk-ink); }
.dbk-page__content p, .dbk-page__content li { color: var(--dbk-muted); }

/* 환영 문구 */
.dbk-page__content > p:first-child {
	text-align: center;
	font-size: 16px;
	margin-top: 0;
}

/* 탭 메뉴 - 마켓플레이스 플러그인이 만드는 탭 링크 줄 (인라인 flex 스타일 위에 덧입힘) */
.dbk-page__content div[style*="border-bottom"] {
	justify-content: center !important;
	flex-wrap: wrap;
	margin-bottom: 28px !important;
}

/* 버튼류(button/widefat은 원래 wp-admin 전용 클래스라 프론트에선 기본 스타일이 아예 없었음 - 여기서 새로 정의 */
.dbk-page__content .button,
.dbk-page .dbk-portal a.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	color: var(--dbk-ink);
	border: 1px solid var(--dbk-line-gold);
	border-radius: var(--dbk-radius-sm);
	padding: 9px 20px;
	font-weight: 600;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	text-decoration: none;
	cursor: pointer;
	transition: all 0.15s ease;
}
.dbk-page__content .button:hover {
	border-color: var(--dbk-gold);
	color: var(--dbk-gold-bright);
}
.dbk-page__content .button-primary {
	background: var(--dbk-gold);
	border-color: var(--dbk-gold);
	color: var(--dbk-ink) !important;
}
/* .dbk-btn--pink:hover와 동일한 이유로 gold-bright 대신 --dbk-green으로 수정 */
.dbk-page__content .button-primary:hover {
	background: var(--dbk-green);
	border-color: var(--dbk-green);
	color: var(--dbk-ink) !important;
}
.dbk-page__content .button-hero {
	padding: 14px 32px;
	font-size: 14px;
	display: flex;
	margin: 0 auto;
	width: fit-content;
}

/* 표 (내 팩 목록, 판매 현황 등) */
.dbk-page__content table.widefat {
	width: 100%;
	border-collapse: collapse;
	margin-top: 8px;
	background: var(--dbk-surface-alt);
	border-radius: var(--dbk-radius-sm);
	overflow: hidden;
	border: 1px solid var(--dbk-line);
}
.dbk-page__content table.widefat th {
	text-align: left;
	font-family: var(--dbk-font-display);
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	padding: 12px 14px;
	background: rgba(245,166,35,0.06);
	border-bottom: 1px solid var(--dbk-line-gold);
	color: var(--dbk-ink);
}
.dbk-page__content table.widefat td {
	padding: 12px 14px;
	border-bottom: 1px solid var(--dbk-line);
	font-size: 14px;
	color: var(--dbk-muted);
	background: transparent;
}
.dbk-page__content table.widefat tr:last-child td { border-bottom: none; }

/* 폼(새 팩 등록, 정산 정보 등) */
.dbk-page__content form p { margin-bottom: 18px; }
.dbk-page__content form label {
	font-weight: 600;
	font-size: 13px;
	display: block;
	margin-bottom: 6px;
	color: var(--dbk-ink);
}
.dbk-page__content form input[type="text"],
.dbk-page__content form input[type="email"],
.dbk-page__content form input[type="number"],
.dbk-page__content form select,
.dbk-page__content form textarea {
	width: 100%;
	padding: 10px 14px;
	border-radius: var(--dbk-radius-sm);
	border: 1px solid var(--dbk-line);
	font-family: var(--dbk-font-body);
	font-size: 14px;
	background: var(--dbk-surface-alt);
	color: var(--dbk-ink);
}
.dbk-page__content form input:focus,
.dbk-page__content form select:focus,
.dbk-page__content form textarea:focus {
	outline: none;
	border-color: var(--dbk-gold);
	background: var(--dbk-bg);
}

/* 약관 동의 화면의 스크롤 박스 */
.dbk-page__content .dbkm-agreement-text {
	background: var(--dbk-surface-alt) !important;
	border-radius: var(--dbk-radius-sm);
	border: 1px solid var(--dbk-line) !important;
	color: var(--dbk-muted);
}
.dbk-page__content .dbkm-agreement-text h3 { font-size: 17px; color: var(--dbk-ink); }

/* 로그인 화면 (dbkm-portal--login) 가운데 정렬 */
.dbk-page__content [class*="dbkm-portal--login"] {
	text-align: center;
	padding: 20px 0;
}

/* -----------------------------------------
   푸터
   ----------------------------------------- */
/* 상품/약관 등 주요 링크와 저작권·사업자 정보를 한 줄에 몰아넣지 않고
   두 줄로 나눔 - 윗줄은 실제로 눌러볼 링크들(눈에 띄게), 아랫줄은
   사업자 정보(톤을 낮춰 차분하게) */
.dbk-footer {
	border-top: 1px solid var(--dbk-line);
	padding: 40px 0 32px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	font-size: 13px;
	color: var(--dbk-muted);
	text-align: center;
}
.dbk-footer a { color: var(--dbk-muted); }
.dbk-footer a:hover { color: var(--dbk-gold-bright); }

.dbk-footer__nav ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px 28px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.dbk-footer__nav li { display: inline-flex; }
.dbk-footer__nav a {
	color: var(--dbk-ink);
	font-weight: 500;
	font-size: 13.5px;
}
.dbk-footer__nav a:hover { color: var(--dbk-gold-bright); }

.dbk-footer__meta {
	display: block;
	font-size: 12px;
	color: rgba(23,22,15,0.45);
	line-height: 1.8;
	max-width: 640px;
}
.dbk-footer__meta a { color: rgba(23,22,15,0.45); }
.dbk-footer__meta a:hover { color: var(--dbk-gold-bright); }

/* -----------------------------------------
   반응형
   ----------------------------------------- */
@media (max-width: 860px) {
	.dbk-hero { grid-template-columns: 1fr; }
	.dbk-values { grid-template-columns: 1fr; }
	.dbk-pack-grid { grid-template-columns: repeat(2, 1fr); }
	/* [1.16.0] Small screens: hide the menu links but keep the language switcher. */
	.dbk-nav { gap: 8px; }
	.dbk-nav > *:not(.lcmt-lang-pick) { display: none; }
	.dbk-cta-banner { flex-direction: column; text-align: center; }
	.dbk-hero h1 { font-size: 30px; }
	.dbk-recent-carousel__track .dbk-recent__card { flex-basis: calc(50% - 10px); }
	.dbk-recent-carousel__arrow { width: 34px; height: 34px; font-size: 18px; }
}

/* -----------------------------------------
   WP Content Migration 전용 - 이전 진행 패널(히어로 비주얼)
   기존 .dbk-sticker-sheet를 대체하는, 소프트웨어 상품에 맞는 새 컴포넌트.
   기존 클래스는 그대로 두고(다른 곳에서 참조할 수 있어 안전하게 보존),
   이 컴포넌트만 새로 추가함 - 순수 추가라 기존 스타일에 영향 없음.
   ----------------------------------------- */
.dbk-transfer-panel {
	position: relative;
	background: var(--dbk-surface);
	border-radius: var(--dbk-radius);
	padding: 30px 28px;
	border: 1px solid var(--dbk-line);
	box-shadow: 0 24px 60px rgba(0,0,0,0.16);
}
.dbk-transfer-panel__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 18px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--dbk-line);
	font-family: var(--dbk-font-mono);
	font-size: 11.5px;
	color: var(--dbk-muted);
	text-transform: uppercase;
	letter-spacing: 1px;
}
.dbk-transfer-panel__dot {
	display: inline-block;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--dbk-gold-bright);
	margin-right: 8px;
}
.dbk-transfer-panel__row {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 11px 0;
	border-bottom: 1px solid var(--dbk-line);
}
.dbk-transfer-panel__row:last-child { border-bottom: none; padding-bottom: 0; }
.dbk-transfer-panel__file {
	font-family: var(--dbk-font-mono);
	font-size: 12.5px;
	color: var(--dbk-ink);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 190px;
}
.dbk-transfer-panel__bar {
	position: relative;
	flex: 1;
	height: 4px;
	background: var(--dbk-surface-alt);
	border-radius: 2px;
	overflow: hidden;
}
.dbk-transfer-panel__bar span {
	position: absolute;
	inset: 0;
	background: var(--dbk-gold);
	border-radius: 2px;
}
.dbk-transfer-panel__status {
	font-family: var(--dbk-font-mono);
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 0.5px;
	color: var(--dbk-gold-bright);
	white-space: nowrap;
}
.dbk-badge-pro {
	display: inline-block;
	font-family: var(--dbk-font-mono);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.5px;
	padding: 2px 7px;
	border-radius: var(--dbk-radius-sm);
	background: rgba(245,166,35,0.12);
	border: 1px solid var(--dbk-line-gold);
	color: var(--dbk-gold-bright);
	text-transform: uppercase;
	margin-left: 8px;
	vertical-align: middle;
}

/* -----------------------------------------
   WP Content Migration 전용 - 가격 섹션
   ----------------------------------------- */
.dbk-pricing {
	padding: 48px 0 88px;
	border-top: 1px solid var(--dbk-line);
}
.dbk-pricing__head { text-align: center; margin-bottom: 40px; }
.dbk-pricing__head h2 { font-size: 26px; }
.dbk-pricing__head p { color: var(--dbk-muted); font-size: 14.5px; }

.dbk-price-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
.dbk-price-card {
	background: var(--dbk-surface);
	border-radius: var(--dbk-radius);
	border: 1px solid var(--dbk-line);
	padding: 32px 26px;
	display: flex;
	flex-direction: column;
}
.dbk-price-card--featured {
	border-color: var(--dbk-gold);
	box-shadow: 0 20px 50px rgba(245,166,35,0.12);
	position: relative;
}
/* color: var(--dbk-bg) → var(--dbk-ink)로 수정 - 골드 배지 위 글자, 다른 곳과 동일한 이유 */
.dbk-price-card__tag {
	position: absolute;
	top: -12px;
	left: 26px;
	background: var(--dbk-gold);
	color: var(--dbk-ink);
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: var(--dbk-radius-sm);
}
.dbk-price-card h3 { font-size: 17px; margin-bottom: 4px; }
.dbk-price-card__price {
	font-family: var(--dbk-font-display);
	font-size: 32px;
	font-weight: 700;
	color: var(--dbk-gold-bright);
	margin: 10px 0 4px;
}
.dbk-price-card__price span {
	font-family: var(--dbk-font-body);
	font-size: 13px;
	font-weight: 500;
	color: var(--dbk-muted);
}
.dbk-price-card__desc {
	font-size: 13px;
	color: var(--dbk-muted);
	margin-bottom: 20px;
}
.dbk-price-card__list {
	list-style: none;
	margin: 0 0 26px;
	padding: 0;
	flex: 1;
}
.dbk-price-card__list li {
	font-size: 13.5px;
	color: var(--dbk-muted);
	padding: 7px 0 7px 20px;
	position: relative;
	border-bottom: 1px solid var(--dbk-line);
}
.dbk-price-card__list li:last-child { border-bottom: none; }
.dbk-price-card__list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 15px;
	width: 6px;
	height: 6px;
	border: 1px solid var(--dbk-gold);
	transform: rotate(45deg);
}
.dbk-price-card .dbk-btn { width: 100%; justify-content: center; }

@media (max-width: 900px) {
	.dbk-price-grid { grid-template-columns: 1fr; }
}

/* -----------------------------------------
   [1.16.2] Links inside post/page content (marked by lcmt_mark_content_links()).
   One accent per link type: internal = line under the words, external = colored text + small ↗.
   The line grows into a soft highlight on hover/focus.
   ----------------------------------------- */
a.lcmt-link {
	--lcmt-link-line: rgba(47, 217, 180, 0.55);
	--lcmt-link-fill: rgba(47, 217, 180, 0.18);
	color: var(--dbk-ink);
	font-weight: 600;
	text-decoration: none;
	background-image: linear-gradient(var(--lcmt-link-fill), var(--lcmt-link-fill)), linear-gradient(var(--lcmt-link-line), var(--lcmt-link-line));
	background-repeat: no-repeat;
	background-position: 0 100%, 0 100%;
	background-size: 100% 0, 100% 2px;
	padding: 0 1px 1px;
	border-radius: 2px;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
	transition: background-size 0.22s ease, color 0.22s ease;
}
a.lcmt-link--external {
	--lcmt-link-line: rgba(108, 92, 231, 0.55);
	--lcmt-link-fill: rgba(108, 92, 231, 0.12);
	color: #4B3FC0;
}
a.lcmt-link--external::after {
	/* U+2060 word joiner keeps the arrow on the same line as the last character. */
	content: "\2060\2197";
	margin-left: 0.12em;
	font-size: 0.78em;
	font-weight: 700;
	color: #6C5CE7;
	vertical-align: 0.12em;
}
a.lcmt-link:hover,
a.lcmt-link:focus-visible {
	background-size: 100% 100%, 100% 2px;
	color: var(--dbk-ink);
}
a.lcmt-link:focus-visible {
	outline: 2px solid var(--lcmt-link-line);
	outline-offset: 2px;
}
/* Linked images: no line, no arrow. */
a.lcmt-link:has(img) {
	background: none;
	padding: 0;
}
a.lcmt-link:has(img)::after {
	content: none;
}
@media (prefers-reduced-motion: reduce) {
	a.lcmt-link { transition: none; }
}
