/**
 * GP Shopfront — 패션·쇼핑몰 미니멀 레이아웃 스타일(attrangs 방향).
 *
 * 클래스 접두사 .gpsf-* 는 테마와 Shopfront Toolkit 플러그인이 공용으로 쓴다.
 * 컬러 토큰 --gpsf-accent 는 플러그인이 wp_head 에서 사이트별로 오버라이드한다.
 */

:root {
	/* 타이포: Outfit(라틴/숫자) + Noto Sans KR */
	--gpsf-font-sans: "Outfit", "Noto Sans KR", -apple-system, "Apple SD Gothic Neo", "Malgun Gothic", "맑은 고딕", sans-serif;
	/* 팔레트: attrangs 뉴트럴 */
	--gpsf-ink: #333333;          /* 본문 기본 */
	--gpsf-ink-strong: #111111;   /* 가격·강조 */
	--gpsf-ink-soft: #888888;     /* 보조 */
	--gpsf-ink-mute: #aaaaaa;     /* 약한 보조(취소선 등) */
	--gpsf-line: #ebebeb;         /* 경계선 */
	--gpsf-bg-soft: #f4f4f4;      /* 옅은 배경/이미지 플레이스홀더 */
	--gpsf-accent: #877b73;       /* 사이트 강조(웜 토프) */
	--gpsf-accent-dark: #6f655e;  /* 강조 호버/딥 */
	--gpsf-sale: #c2453f;         /* 세일 강조 레드 */
	--gpsf-radius: 0px;           /* 미니멀: 라운드 절제 */
	--gpsf-gap: clamp(12px, 1.6vw, 20px);
	--gpsf-maxw: 1280px;
}

/* ---------- 베이스 타이포 보정 ---------- */
body { font-family: var(--gpsf-font-sans); color: var(--gpsf-ink); letter-spacing: 0.01em; }

/* ---------- 공통 섹션 컨테이너 ---------- */
.gpsf-section {
	max-width: var(--gpsf-maxw);
	margin-inline: auto;
	padding-inline: clamp(14px, 3vw, 28px);
	margin-block: clamp(34px, 5vw, 64px);
}

/* attrangs 식 섹션 헤더: 가운데 정렬·가는 두께 */
.gpsf-section__head {
	text-align: center;
	margin-bottom: clamp(20px, 3vw, 34px);
}
.gpsf-section__title {
	margin: 0;
	font-size: clamp(1.15rem, 2vw, 1.5rem);
	font-weight: 500;
	letter-spacing: 0.08em;
	color: var(--gpsf-ink-strong);
	text-transform: uppercase;
}
.gpsf-section__more {
	display: inline-block;
	margin-top: 8px;
	font-size: 0.78rem;
	letter-spacing: 0.06em;
	color: var(--gpsf-ink-soft);
	text-decoration: none;
	text-transform: uppercase;
}
.gpsf-section__more:hover { color: var(--gpsf-accent); }

/* ---------- 상품 카드 그리드 ---------- */
.gpsf-card-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
	gap: clamp(20px, 2.4vw, 36px) var(--gpsf-gap);
}

.gpsf-card { min-width: 0; position: relative; }
.gpsf-card__link {
	display: block;
	text-decoration: none;
	color: inherit;
}
/* stretched-link: 카드 전체가 클릭 영역. 빠른보기 버튼/뱃지는 z-index 로 위에 노출. */
.gpsf-card__link::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

/* 카드 미디어: 세로형(3:4) 패션 이미지 + 뱃지 오버레이 */
.gpsf-card__media {
	position: relative;
	display: block;
	aspect-ratio: 3 / 4;
	min-height: clamp(160px, 24vw, 220px);
	overflow: hidden;
	background: var(--gpsf-bg-soft);
}
.gpsf-card__thumb {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}
.gpsf-card__thumb--empty { background: var(--gpsf-bg-soft); }
.gpsf-card:hover .gpsf-card__thumb { transform: scale(1.04); }

.gpsf-card__body {
	padding-top: 12px;
	display: flex;
	flex-direction: column;
	gap: 5px;
}
.gpsf-card__name {
	font-size: 0.9rem;
	font-weight: 400;
	line-height: 1.45;
	color: var(--gpsf-ink);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.gpsf-card:hover .gpsf-card__name { color: var(--gpsf-accent); }

/* ---------- 가격 ---------- */
.gpsf-price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 6px;
	font-size: 0.92rem;
}
.gpsf-price__now { font-weight: 700; color: var(--gpsf-ink-strong); font-style: normal; text-decoration: none; }
.gpsf-price__was { color: var(--gpsf-ink-mute); text-decoration: line-through; font-size: 0.82em; }
.gpsf-price__off { color: var(--gpsf-sale); font-weight: 700; font-size: 0.92em; }

/* ---------- 뱃지 ---------- */
.gpsf-badge {
	display: inline-block;
	padding: 3px 8px;
	font-size: 0.64rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.4;
	text-transform: uppercase;
}
.gpsf-card__media .gpsf-badge,
.gpsf-loop-badge {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 2;
}
.gpsf-badge--new     { background: var(--gpsf-ink-strong); color: #fff; }
.gpsf-badge--best    { background: var(--gpsf-accent); color: #fff; }
.gpsf-badge--sale    { background: var(--gpsf-sale); color: #fff; }
.gpsf-badge--soldout { background: #999; color: #fff; }

/* ---------- 히어로 배너 슬라이더(추천 상품) ---------- */
.gpsf-slider { position: relative; margin-bottom: 8px; }
.gpsf-slider .splide__track { border-radius: 0; }
/* Splide 마운트 전/폭 미정 시 슬라이더 높이 0 붕괴 방지(백업 최소 높이). */
.gpsf-slider .splide__track,
.gpsf-slider .splide__list { min-height: clamp(200px, 56vw, 470px); }
.gpsf-slide__link {
	display: block;
	position: relative;
	aspect-ratio: 16 / 9;
	min-height: clamp(200px, 56vw, 470px);
	overflow: hidden;
	color: #fff;
	text-decoration: none;
	background: #ddd;
}
.gpsf-slide__thumb { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.gpsf-slide__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0,0,0,0.45) 0%, rgba(0,0,0,0) 45%);
}
.gpsf-slide__body {
	position: absolute;
	left: 0; right: 0; bottom: 0;
	padding: clamp(18px, 3vw, 40px);
	display: flex;
	flex-direction: column;
	gap: 8px;
	align-items: flex-start;
}
.gpsf-slide__eyebrow {
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	opacity: 0.92;
}
.gpsf-slide__headline {
	font-size: clamp(1.1rem, 2.6vw, 1.9rem);
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0.01em;
	margin: 0;
	max-width: 30ch;
	text-shadow: 0 1px 14px rgba(0,0,0,0.35);
}
.gpsf-slide__price { font-size: 1rem; font-weight: 700; }
.gpsf-slide__price .gpsf-price__now { color: #fff; }
.gpsf-slide__price .gpsf-price__was { color: rgba(255,255,255,0.7); }
.gpsf-slide__price .gpsf-price__off { color: #ffd0cd; }
/* 화살표/페이지네이션 */
.gpsf-slider .splide__arrow { background: rgba(255,255,255,0.85); opacity: 1; height: 2.4em; width: 2.4em; }
.gpsf-slider .splide__arrow svg { fill: #333; height: 0.9em; width: 0.9em; }
.gpsf-slider .splide__arrow:hover:not(:disabled) { background: #fff; }
.gpsf-slider .splide__pagination__page.is-active { background: var(--gpsf-accent); }

/* ---------- 자동 주입 래퍼 ---------- */
.gpsf-home-inject { width: 100%; max-width: 100%; flex: 0 0 100%; float: none; clear: both; }
.generate-columns-container > .gpsf-home-inject { margin-left: 0; padding-left: 0; }
.gpsf-home-inject > .gpsf-section { min-width: 0; }
.gpsf-home-inject__slider { margin-block-start: 0; max-width: 100%; padding-inline: 0; }

/* 외부 스니펫이 .site-main 을 강제 그리드로 바꾸는 경우 무력화(복제 사이트 대비) */
body.blog main.site-main,
body.archive main.site-main {
	display: block !important;
	grid-template-columns: none !important;
	gap: 0 !important;
}

/* ---------- 블로그/아카이브(상품 목록) 자동 맞춤 그리드 ---------- */
body.post-type-archive-shop_product .generate-columns-container,
body.tax-shop_category .generate-columns-container,
body.blog .generate-columns-container,
body.archive .generate-columns-container,
body.search .generate-columns-container {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
	gap: clamp(20px, 2.4vw, 36px) var(--gpsf-gap);
	align-items: start;
	margin: 0 !important;
}
body.post-type-archive-shop_product .generate-columns,
body.tax-shop_category .generate-columns,
body.blog .generate-columns,
body.archive .generate-columns,
body.search .generate-columns {
	width: auto !important;
	max-width: none !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* 아카이브 상품 카드 = 플랫(이미지 → 뱃지 → 제목 → 가격), 요약 숨김 */
.generate-columns .inside-article {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	height: 100%;
	position: relative;
}
.generate-columns .post-image { order: 0; margin: 0 !important; position: relative; }
.generate-columns .gpsf-loop-badge { order: 0; }
.generate-columns .entry-header { order: 1; padding: 12px 0 0 !important; }
.generate-columns .gpsf-entry-price { order: 2; }
.generate-columns .entry-summary,
.generate-columns .entry-content,
.generate-columns .entry-meta { display: none !important; }
.generate-columns .post-image a { display: block; overflow: hidden; background: var(--gpsf-bg-soft); }
.generate-columns .post-image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	transition: transform 0.5s ease;
}
.generate-columns .inside-article:hover .post-image img { transform: scale(1.04); }
.generate-columns .entry-title {
	margin: 0 !important;
	font-size: 0.9rem !important;
	line-height: 1.45 !important;
	font-weight: 400 !important;
}
.generate-columns .entry-title a {
	color: var(--gpsf-ink) !important;
	font-weight: 400 !important;
	text-decoration: none !important;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.generate-columns .entry-title a:hover { color: var(--gpsf-accent) !important; }
.gpsf-entry-price { margin-top: 6px; }

/* ---------- 단일 상품 ---------- */
.single-shop_product .entry-title { letter-spacing: 0; line-height: 1.3; font-weight: 500; }
.gpsf-single-meta { margin: 6px 0 18px; padding-bottom: 18px; border-bottom: 1px solid var(--gpsf-line); }
.gpsf-single-cat {
	display: inline-block;
	font-size: 0.74rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--gpsf-accent);
	text-decoration: none;
	margin-bottom: 8px;
}
.gpsf-single-price { font-size: 1.35rem; }
.gpsf-single-price .gpsf-price__now { color: var(--gpsf-ink-strong); }
.gpsf-single-actions { display: flex; gap: 8px; margin-top: 18px; flex-wrap: wrap; }
.gpsf-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 150px;
	padding: 13px 22px;
	font-size: 0.9rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	text-decoration: none;
	cursor: pointer;
	border: 1px solid var(--gpsf-ink-strong);
	transition: background 0.18s ease, color 0.18s ease;
}
.gpsf-btn--primary { background: var(--gpsf-ink-strong); color: #fff; }
.gpsf-btn--primary[disabled] { opacity: 0.5; cursor: not-allowed; }
.gpsf-btn--line { background: #fff; color: var(--gpsf-ink-strong); }
.gpsf-btn--line:hover { background: var(--gpsf-ink-strong); color: #fff; }
.gpsf-single-note { margin: 14px 0 0; font-size: 0.78rem; color: var(--gpsf-ink-soft); }
.single-shop_product .entry-content { font-size: 0.95rem; line-height: 1.85; color: var(--gpsf-ink); }
/* 상품 상세 본문(the_content) 이미지 가운데 정렬.
   범위는 .single-shop_product .entry-content 내부로 한정하므로
   헤더 로고·상품 카드 썸네일(.gpsf-card__thumb)·관련 상품·스와치 등
   본문 밖 UI 이미지에는 영향이 없다. figure/캡션도 함께 중앙 정렬. */
.single-shop_product .entry-content img,
.single-shop_product .entry-content figure {
	display: block;
	margin-left: auto;
	margin-right: auto;
	max-width: 100%;
	height: auto;
}
.single-shop_product .entry-content figure img { margin-left: auto; margin-right: auto; }
.single-shop_product .entry-content figcaption { text-align: center; }

/* ---------- 글 목록(홈) 표시 토글 ---------- */
body.gpsf-no-postlist.home .generate-columns-container,
body.gpsf-no-postlist.home .site-main > article,
body.gpsf-no-postlist.home nav.paging-navigation,
body.gpsf-no-postlist.home .paging-navigation { display: none !important; }

/* ---------- 정적 홈 페이지 제목 숨김 ---------- */
/* 정적 프론트페이지("홈")는 body 에 home 과 page 클래스가 함께 붙는다.
   (블로그 인덱스 홈=home 만 / 일반 하위 페이지=page 만 → 어느 쪽도 이 조합에 매칭되지 않음.)
   슬라이더는 generate_before_main_content 로 .entry-header 밖 상단에 주입되므로 헤더째 숨겨도 영향 없다. */
body.home.page .entry-header .entry-title,
body.home.page h1.entry-title { display: none; }
body.home.page .entry-header { display: none; }

/* ---------- 상단 GNB 미니멀 액센트 ---------- */
.main-navigation .main-nav ul li.current-menu-item > a,
.main-navigation .main-nav ul li:hover > a { box-shadow: inset 0 -2px 0 0 var(--gpsf-accent); }

/* =====================================================================
   푸터 — 전자상거래 사업자 정보(미니멀)
   ===================================================================== */
.site-info {
	background-color: #fafafa !important;
	color: var(--gpsf-ink) !important;
	border-top: 1px solid var(--gpsf-line);
}
.site-info a { color: var(--gpsf-ink-soft) !important; text-decoration: none; }
.site-info a:hover { color: var(--gpsf-accent) !important; }
.site-info .copyright-bar .powered-by { display: none; }

.gpsf-footer { max-width: var(--gpsf-maxw); margin-inline: auto; padding: 4px 0; text-align: left; }
.gpsf-footer__top {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px 28px;
	padding-bottom: 18px;
	margin-bottom: 16px;
	border-bottom: 1px solid var(--gpsf-line);
}
.gpsf-footer__logo { font-size: 1.1rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gpsf-ink-strong); }
.gpsf-footer__desc { margin: 6px 0 0; font-size: 0.82rem; color: var(--gpsf-ink-soft); }
.gpsf-footer__meta { display: flex; flex-direction: column; align-items: flex-end; gap: 12px; }
.gpsf-footer__links { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 0.82rem; letter-spacing: 0.04em; }
.gpsf-footer__link--strong { font-weight: 600; color: var(--gpsf-ink) !important; }

.gpsf-sns { display: flex; gap: 8px; }
.gpsf-sns__item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #f0f0f0;
	color: var(--gpsf-ink-soft) !important;
	transition: background 0.18s ease, color 0.18s ease;
}
.gpsf-sns__item:hover { background: var(--gpsf-accent); color: #fff !important; }

.gpsf-footer__publisher {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 16px;
	margin: 0 0 12px;
	font-size: 0.78rem;
	line-height: 1.8;
	color: var(--gpsf-ink-soft);
}
.gpsf-footer__pub-item { position: relative; }
.gpsf-footer__pub-item + .gpsf-footer__pub-item::before {
	content: "";
	position: absolute;
	left: -8px; top: 50%;
	transform: translateY(-50%);
	width: 1px; height: 10px;
	background: var(--gpsf-line);
}
.gpsf-footer__pub-label { color: var(--gpsf-ink-mute); margin-right: 3px; }
.gpsf-footer__publisher a { color: var(--gpsf-ink-soft) !important; }
.gpsf-footer__publisher a:hover { color: var(--gpsf-accent) !important; }
.gpsf-footer__notice { margin: 0 0 10px; font-size: 0.76rem; line-height: 1.75; color: var(--gpsf-ink-soft); max-width: 960px; }
.gpsf-footer__copy { margin: 0; font-size: 0.74rem; letter-spacing: 0.04em; color: var(--gpsf-ink-mute); }

/* =====================================================================
   색상/사이즈 스와치 (카드 · 단일 · 빠른보기 공용)
   ===================================================================== */
.gpsf-swatches {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 14px;
	margin-top: 7px;
}
.gpsf-swatches__colors { display: inline-flex; align-items: center; gap: 6px; }
.gpsf-swatch--color {
	display: inline-block;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	border: 1px solid rgba(0, 0, 0, 0.12);
	box-shadow: inset 0 0 0 2px #fff;
	box-sizing: border-box;
}
.gpsf-swatch--color.is-empty {
	background: repeating-linear-gradient(45deg, #e5e5e5, #e5e5e5 3px, #fff 3px, #fff 6px) !important;
}
.gpsf-swatch__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.gpsf-swatch__more { font-size: 0.72rem; color: var(--gpsf-ink-mute); }
.gpsf-swatches__sizes { display: inline-flex; flex-wrap: wrap; gap: 6px; }
.gpsf-swatch--size {
	display: inline-block;
	min-width: 32px;
	padding: 4px 9px;
	font-size: 0.74rem;
	text-align: center;
	color: var(--gpsf-ink);
	border: 1px solid var(--gpsf-line);
}
/* 카드 컨텍스트: 색상 점만 컴팩트하게(::after 위로 보이도록 z-index) */
.gpsf-card__body .gpsf-swatches { position: relative; z-index: 2; pointer-events: none; }

/* 단일 상품/빠른보기: 라벨 포함, 큼직하게 */
.gpsf-swatches--full { gap: 14px 22px; align-items: flex-start; }
.gpsf-swatches--full .gpsf-swatch--color { width: 22px; height: 22px; }
.gpsf-single-swatches { margin: 16px 0 0; }
.gpsf-single-swatches .gpsf-swatches { margin-top: 0; }

/* =====================================================================
   상품 목록(아카이브) 정렬·필터 툴바
   ===================================================================== */
.gpsf-shop-toolbar {
	max-width: var(--gpsf-maxw);
	margin: clamp(16px, 2.6vw, 28px) auto 0;
	padding-inline: clamp(14px, 3vw, 28px);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 18px;
}
.gpsf-shop-toolbar__filters { display: flex; flex-wrap: wrap; gap: 8px; }
.gpsf-chip {
	display: inline-block;
	padding: 7px 15px;
	font-size: 0.8rem;
	letter-spacing: 0.02em;
	color: var(--gpsf-ink-soft);
	text-decoration: none;
	border: 1px solid var(--gpsf-line);
	border-radius: 999px;
	transition: color 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}
.gpsf-chip:hover { color: var(--gpsf-ink); border-color: var(--gpsf-ink-soft); }
.gpsf-chip.is-active { color: #fff; background: var(--gpsf-accent); border-color: var(--gpsf-accent); }
.gpsf-shop-toolbar__sort { display: flex; align-items: center; gap: 10px; }
.gpsf-shop-toolbar__count { font-size: 0.8rem; color: var(--gpsf-ink-soft); }
.gpsf-shop-toolbar__sort-label { font-size: 0.8rem; color: var(--gpsf-ink-soft); }
.gpsf-shop-toolbar__sort select {
	padding: 7px 30px 7px 12px;
	font-size: 0.82rem;
	color: var(--gpsf-ink);
	background-color: #fff;
	border: 1px solid var(--gpsf-line);
	border-radius: 0;
	cursor: pointer;
}
.gpsf-shop-toolbar__sort select:focus { outline: 1px solid var(--gpsf-accent); border-color: var(--gpsf-accent); }

@media (max-width: 600px) {
	.gpsf-shop-toolbar { gap: 10px; }
	.gpsf-shop-toolbar__sort { width: 100%; justify-content: space-between; }
	.gpsf-shop-toolbar__filters { order: 2; }
}

/* ---------- 반응형 ---------- */
@media (max-width: 768px) {
	.gpsf-card-grid,
	body.post-type-archive-shop_product .generate-columns-container,
	body.tax-shop_category .generate-columns-container,
	body.blog .generate-columns-container,
	body.archive .generate-columns-container,
	body.search .generate-columns-container {
		grid-template-columns: repeat(2, 1fr);
	}
	.gpsf-footer__top { flex-direction: column; }
	.gpsf-footer__meta { align-items: flex-start; }
	.gpsf-btn { flex: 1 1 auto; min-width: 0; }
}

/* =====================================================================
   단일 글/상품: 이전·다음 카드 내비게이션(같은 카테고리 한정)
   — .gpsf-card 톤과 맞춘 2열 그리드, 다음 카드는 우측 정렬. 상품 가격은 .gpsf-price 재사용.
   ===================================================================== */
.gpsf-prevnext {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--gpsf-gap);
	margin-top: clamp(28px, 4vw, 44px);
}
.gpsf-prevnext__item { min-width: 0; }
.gpsf-prevnext__item--next { text-align: right; }

.gpsf-prevnext__link {
	display: flex;
	gap: 14px;
	align-items: center;
	height: 100%;
	padding: 14px 16px;
	text-decoration: none;
	color: inherit;
	background: #fff;
	border: 1px solid var(--gpsf-line);
	border-radius: var(--gpsf-radius);
	transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.gpsf-prevnext__link:hover {
	border-color: var(--gpsf-ink-soft);
	box-shadow: 0 6px 18px -8px rgba(0, 0, 0, 0.18);
	transform: translateY(-2px);
}
/* 다음 항목: 썸네일이 오른쪽에 오도록 순서 반전 */
.gpsf-prevnext__item--next .gpsf-prevnext__link { flex-direction: row-reverse; }

.gpsf-prevnext__thumb {
	display: block;
	flex: 0 0 auto;
	width: 68px;
	height: auto;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	background-color: var(--gpsf-bg-soft);
}

.gpsf-prevnext__body {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}
/* 다음 항목: 반전 flex 안에서 텍스트도 우측 정렬 톤 유지 */
.gpsf-prevnext__item--next .gpsf-prevnext__body { align-items: flex-end; }

.gpsf-prevnext__label {
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--gpsf-accent);
}

.gpsf-prevnext__headline {
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.45;
	color: var(--gpsf-ink);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.gpsf-prevnext__link:hover .gpsf-prevnext__headline { color: var(--gpsf-accent); }

.gpsf-prevnext__meta {
	font-size: 0.82rem;
	color: var(--gpsf-ink-soft);
}
/* 카드 안 가격 마크업의 기본 간격 제거(카드 그리드 컨텍스트와 분리) */
.gpsf-prevnext__meta .gpsf-price { margin: 0; }

/* GP 기본 이전/다음 글 내비게이션 폴백 숨김(generate_show_post_navigation 필터 이중 안전장치) */
.single .post-navigation { display: none; }

@media (max-width: 600px) {
	.gpsf-prevnext { grid-template-columns: 1fr; }
	.gpsf-prevnext__item--next { text-align: left; }
	.gpsf-prevnext__item--next .gpsf-prevnext__link { flex-direction: row; }
	.gpsf-prevnext__item--next .gpsf-prevnext__body { align-items: flex-start; }
}

/* ========== AEO / 정책 컴포넌트 (Featured Snippet·AI 인용·제휴) ========== */
/* 콘텐츠 프롬프트가 뱉는 클래스(.aeo-summary·.hb-btn·.aeo-faq)와 플러그인이
   자동 삽입하는 요소(.aeo-disclosure·.aeo-toc·.aeo-table-scroll)의 공용 스타일.
   색은 전부 테마 강조색 변수(--gpsf-*)에 연동해 사이트 톤을 따라간다. */

/* 3줄 요약 박스 — 본문 시작, 강조색 좌측 보더 */
.aeo-summary {
	margin: 0 0 1.6em;
	padding: 16px 18px;
	background: var(--gpsf-bg-soft);
	background: color-mix(in srgb, var(--gpsf-accent) 8%, #ffffff);
	border-left: 3px solid var(--gpsf-accent);
	border-radius: var(--gpsf-radius);
	font-size: 0.96rem;
	line-height: 1.7;
	color: var(--gpsf-ink);
}
.aeo-summary > *:first-child { margin-top: 0; }
.aeo-summary > *:last-child { margin-bottom: 0; }
.aeo-summary strong { color: var(--gpsf-accent-dark); }

/* 제휴 공개문구 — 본문 최상단, 눈에 띄되 절제된 안내 톤 */
.aeo-disclosure {
	margin: 0 0 1.4em;
	padding: 10px 14px;
	background: var(--gpsf-bg-soft);
	border: 1px solid var(--gpsf-line);
	border-radius: var(--gpsf-radius);
	font-size: 0.84rem;
	line-height: 1.6;
	color: var(--gpsf-ink-soft);
}

/* 링크 버튼(그라디언트) — .hb-btn (볼트 콘텐츠 프롬프트 규약, 이름 고정) */
.hb-btn {
	display: inline-block;
	padding: 12px 28px;
	background: linear-gradient(135deg, var(--gpsf-accent), var(--gpsf-accent-dark));
	color: #ffffff;
	font-weight: 600;
	font-size: 0.98rem;
	line-height: 1.3;
	letter-spacing: 0.04em;
	text-decoration: none;
	border-radius: 999px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
	transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
}
.hb-btn:hover,
.hb-btn:focus {
	color: #ffffff;
	filter: brightness(1.06);
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
	transform: translateY(-1px);
}
.hb-btn:active { transform: translateY(0); }
/* 중앙 정렬 블록 버전 */
.hb-btn--block {
	display: block;
	width: fit-content;
	max-width: 100%;
	margin-inline: auto;
	text-align: center;
}

/* FAQ 블록 — 질문(h3) 강조·답변 가독 (아이콘 Q 는 CSS 몫, 텍스트는 콘텐츠 몫) */
.aeo-faq { margin: 1.8em 0; }
.aeo-faq h3 {
	position: relative;
	margin: 1.1em 0 0.4em;
	padding-left: 1.6em;
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.5;
	color: var(--gpsf-ink-strong);
}
.aeo-faq h3::before {
	content: "Q";
	position: absolute;
	left: 0;
	top: 0.1em;
	width: 1.2em;
	height: 1.2em;
	font-size: 0.86em;
	font-weight: 700;
	color: #ffffff;
	background: var(--gpsf-accent);
	border-radius: 50%;
	text-align: center;
	line-height: 1.2em;
}
.aeo-faq h3:first-child { margin-top: 0; }
.aeo-faq h3 + p,
.aeo-faq h3 + p + p {
	margin: 0 0 0.8em;
	padding-left: 1.6em;
	color: var(--gpsf-ink);
	line-height: 1.75;
}

/* 목차(TOC) — 플러그인 자동 삽입(.aeo-toc) */
.aeo-toc {
	margin: 0 0 1.8em;
	padding: 14px 18px;
	background: var(--gpsf-bg-soft);
	border: 1px solid var(--gpsf-line);
	border-left: 3px solid var(--gpsf-accent);
	border-radius: var(--gpsf-radius);
	font-size: 0.9rem;
}
.aeo-toc ul { margin: 0; padding-left: 1.2em; }
.aeo-toc li { margin: 0.3em 0; }
.aeo-toc a { color: var(--gpsf-ink); text-decoration: none; }
.aeo-toc a:hover { color: var(--gpsf-accent); text-decoration: underline; }

/* 본문 표 — 스트라이프·헤더 강조 + 모바일 가로 스크롤 래퍼(.aeo-table-scroll) */
.aeo-table-scroll {
	margin: 1.6em 0;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}
.entry-content table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.92rem;
	line-height: 1.6;
}
.aeo-table-scroll table {
	margin: 0;
	min-width: 480px; /* 좁은 화면에서 래퍼가 가로 스크롤되도록 최소 폭 확보 */
}
.entry-content th,
.entry-content td {
	padding: 10px 14px;
	border: 1px solid var(--gpsf-line);
	text-align: left;
	vertical-align: top;
}
.entry-content thead th {
	background: var(--gpsf-accent);
	color: #ffffff;
	font-weight: 600;
	letter-spacing: 0.02em;
}
.entry-content tbody tr:nth-child(even) { background: var(--gpsf-bg-soft); }
