/* ============================================================
   SocialLogicLab – Stitch Design System  v2.2
   학술지 레이아웃 + Insights 숏코드 스타일
   ============================================================ */

/* ── Design Tokens ─────────────────────────────────────── */
:root {
  --bg:        #f2f2f0;   /* 오프왔이트 연회색 배경 */
  --accent:    #4A654E;
  --accent-lt: #6b8f6f;
  --white:     #ffffff;
  --text:      #1a1a1a;
  --text-muted:#888888;
  --border:    #e8e8e8;
  --radius:    16px;
  --shadow:    0 2px 20px rgba(0,0,0,.07);
  --trans:     .28s ease;
  --h-font:    'Playfair Display', Georgia, serif;
  --b-font:    'Arimo', 'Apple SD Gothic Neo', sans-serif;
}

/* ── Reset / Global ────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
body, button, input, textarea {
  font-family: var(--b-font);
  color: var(--text);
  line-height: 1.72;
}
h1,h2,h3,h4,h5,h6,
.entry-title,.page-title {
  font-family: var(--h-font);
  line-height: 1.28;
  letter-spacing: .02em;
}
a { color: var(--accent); text-decoration: none; }
a:hover { text-decoration: underline; }

body.page, body.home, body.blog { background: var(--bg); }

/* ── Elementor 호환 ───────────────────────────────────── */
.elementor-section,
.elementor-container,
.elementor-widget-container { background-color: var(--bg); }
.elementor-button { background: var(--accent) !important; color: var(--white) !important; }

/* ── Section Title ──────────────────────────────────────── */
.stitch-section-title {
  font-size: clamp(1.6rem, 3.5vw, 2.4rem);
  color: var(--accent);
  text-align: center;
  margin: 0 0 2rem;
  position: relative;
  padding-bottom: 1rem;
}
.stitch-section-title::after {
  content: '';
  position: absolute;
  bottom: 0; left: 50%;
  transform: translateX(-50%);
  width: 48px; height: 3px;
  background: var(--accent);
  border-radius: 2px;
}

/* ── Insights Section Wrapper ───────────────────────────── */
.stitch-insights-section {
  max-width: 1140px;
  margin: 0 auto;
  padding: 3rem 1.5rem 4rem;
}

/* ── Hero Search Block ──────────────────────────────────── */
.stitch-search-hero {
  text-align: center;
  padding: 2.5rem 1rem 2rem;
  margin-bottom: 2.5rem;
}

/* 수퍼타이틀 레이블 */
.stitch-hero-label {
  font-family: var(--b-font);
  font-size: .68rem;
  letter-spacing: .35em;
  text-transform: uppercase;
  color: rgba(74,101,78,.5);
  margin: 0 0 2.5rem;
  font-weight: 400;
}

/* 대형 검색창 래퍼 */
.stitch-giant-search-wrap {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.5rem;
}

/* 대형 이탤릭 입력상자: 테마 override 보장 */
.stitch-search-giant {
  width: 100% !important;
  background: transparent !important;
  border: none !important;
  outline: none !important;
  padding: 0 3rem 0 0 !important;
  margin: 0 !important;
  font-family: var(--h-font) !important;
  font-style: italic !important;
  font-size: clamp(2.4rem, 7vw, 4.8rem) !important;
  font-weight: 400 !important;
  color: rgba(74,101,78,.22) !important;  /* 틀 톤 */
  text-align: center !important;
  line-height: 1.2 !important;
  letter-spacing: -.01em !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  caret-color: var(--accent);
}
.stitch-search-giant::placeholder {
  color: rgba(74,101,78,.22);
  font-style: italic;
}
/* 타이핑 시 색상 강조 */
.stitch-search-giant:not(:placeholder-shown) {
  color: rgba(74,101,78,.7) !important;
}
.stitch-search-giant::-webkit-search-cancel-button { display: none; }

/* 클리어(X) 버튼 — 우측 */
.stitch-search-clear {
  position: absolute;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none !important;
  border: none !important;
  padding: .3rem !important;
  color: rgba(74,101,78,.4);
  cursor: pointer;
  transition: color var(--trans);
  flex-shrink: 0;
}
.stitch-search-clear:hover { color: var(--accent); }
.stitch-search-clear.hidden { display: none; }

/* hairline 구분선 */
.stitch-hero-divider {
  width: 100%;
  max-width: 900px;
  height: 1px;
  background: rgba(74,101,78,.18);
  margin: 0 auto 1.4rem;
}

/* 검색 결과 레이블 */
.stitch-search-label {
  font-family: var(--b-font);
  font-size: .75rem;
  letter-spacing: .1em;
  color: rgba(74,101,78,.55);
  margin: 0 0 1rem;
}
.stitch-search-label strong { color: var(--accent); }

/* 카테고리 — 불릿(•) 구분 인라인 텍스트 */
.insights-tabs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .6rem 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.insights-tabs button {
  display: inline !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  font-family: var(--b-font) !important;
  font-size: .7rem !important;
  letter-spacing: .22em !important;
  text-transform: uppercase !important;
  color: rgba(74,101,78,.5) !important;
  cursor: pointer;
  transition: color var(--trans);
  box-shadow: none !important;
  border-radius: 0 !important;
}
.insights-tabs button:hover {
  color: var(--accent) !important;
  background: none !important;
}
.insights-tabs button.active {
  color: var(--accent) !important;
  font-weight: 700 !important;
  background: none !important;
  border: none !important;
}
.cat-dot {
  color: rgba(74,101,78,.3);
  font-size: .5rem;
  line-height: 1;
  vertical-align: middle;
  user-select: none;
}

/* ── Card Grid ──────────────────────────────────────────── */
.insights-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
  min-height: 200px;
}

/* ── Insight Card ──────────────────────────────────────────── */
.insight-card {
  background: var(--white);
  border-radius: var(--radius);
  overflow: visible;         /* 이미지는 card-thumb에서 클립 */
  box-shadow: var(--shadow);
  border: none;              /* 테두리 제거 */
  transition: transform var(--trans), box-shadow var(--trans);
  display: flex;
  flex-direction: column;
}
.insight-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 32px rgba(0,0,0,.11);
}
.insight-card .card-link {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: inherit;
  text-decoration: none;
  position: relative;
  z-index: 1;
  pointer-events: auto !important;
  cursor: pointer;
  border-radius: var(--radius);
  overflow: hidden;         /* 카드 전체 클립 */
}
.insight-card .card-link:hover { text-decoration: none; }

/* 이미지: 내부 마진 + 라운드 */
.card-thumb {
  margin: 10px 10px 0;
  border-radius: 12px;
  overflow: hidden;
  height: 200px;
  flex-shrink: 0;
  position: relative;       /* 오버레이 기준 */
}
.card-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.insight-card:hover .card-thumb img { transform: scale(1.04); }
.card-thumb-placeholder {
  width: 100%; height: 100%;
  background: linear-gradient(135deg, #e8e8e6, #f5f5f3);
  display: flex; align-items: center; justify-content: center;
}
.card-thumb-placeholder::after {
  content: '📰';
  font-size: 2.5rem;
  opacity: .3;
}

/* 이미지 위 카테고리 오버레이 pill */
.card-cat-overlay {
  position: absolute;
  top: 10px;
  left: 10px;
  background: rgba(255,255,255,.82);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border-radius: 999px;
  padding: .18rem .7rem;
  font-family: var(--b-font);
  font-size: .62rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #333;
  line-height: 1.8;
}

.insight-card-body {
  padding: 1rem 1.2rem 1.3rem;
  display: flex;
  flex-direction: column;
  flex: 1;
}
/* 날짜: 제목 위 소형 */
.card-date {
  font-size: .68rem;
  color: var(--text-muted);
  margin-bottom: .45rem;
  display: block;
  letter-spacing: .04em;
}
/* 제목: 이탤릭 세리프 */
.insight-card-body .card-title {
  font-family: var(--h-font);
  font-style: italic;
  font-size: 1.05rem;
  margin: 0 0 .55rem;
  color: var(--text);
  flex: none;
  line-height: 1.4;
}
.insight-card-body p {
  font-size: .85rem;
  color: var(--text-muted);
  margin: 0 0 .8rem;
  line-height: 1.55;
}
/* READ → 링크 */
.card-read {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  font-family: var(--b-font);
  font-size: .75rem;
  letter-spacing: .1em;
  color: var(--text-muted);
  margin-top: auto;
  transition: color var(--trans), gap var(--trans);
}
.insight-card:hover .card-read {
  color: var(--accent);
  gap: .5rem;
}

/* 다국어 카드 링크 스위칭 및 Flex 구조 방어 */
body.lang-mode-ko .card-link.lang-ko {
  display: flex !important;
}
body.lang-mode-ko .card-link.lang-en {
  display: none !important;
}
body.lang-mode-en .card-link.lang-ko {
  display: none !important;
}
body.lang-mode-en .card-link.lang-en {
  display: flex !important;
}

/* 특정 아티클(소비의 공허함 원글 및 샘플) 상단 대표 이미지 및 캡션 삭제 */
.postid-209 img.wp-post-image,
.postid-209 .post-thumbnail,
.postid-209 .single-post-featured-image-caption,
.postid-252 img.wp-post-image,
.postid-252 .post-thumbnail,
.postid-252 .single-post-featured-image-caption,
.postid-258 img.wp-post-image,
.postid-258 .post-thumbnail,
.postid-258 .single-post-featured-image-caption,
.postid-209 img[src*="isolated_brain_pain_rembrandt"],
.postid-252 img[src*="isolated_brain_pain_rembrandt"],
.postid-258 img[src*="isolated_brain_pain_rembrandt"] {
  display: none !important;
}

/* ── Loading Spinner ────────────────────────────────────── */
.stitch-loader {
  display: flex;
  justify-content: center;
  gap: .5rem;
  padding: 2rem;
}
.stitch-loader.hidden { display: none; }
.stitch-loader span {
  width: 10px; height: 10px;
  border-radius: 50%;
  background: var(--accent);
  animation: stitch-bounce .8s infinite alternate;
}
.stitch-loader span:nth-child(2) { animation-delay: .2s; }
.stitch-loader span:nth-child(3) { animation-delay: .4s; }
@keyframes stitch-bounce {
  from { opacity: .3; transform: translateY(0); }
  to   { opacity: 1;  transform: translateY(-8px); }
}

/* ── Pagination ─────────────────────────────────────────── */
.stitch-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  margin-top: 2.5rem;
  flex-wrap: wrap;
}
.pg-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.4rem;
  height: 2.4rem;
  padding: 0 .7rem;
  background: var(--white);
  border: 1.5px solid var(--border);
  border-radius: var(--radius);
  font-family: var(--h-font);
  font-size: .92rem;
  color: var(--accent);
  cursor: pointer;
  transition: all var(--trans);
}
.pg-btn:hover {
  background: #edf4ed;
  border-color: var(--accent);
}
.pg-btn.active {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--white);
  font-weight: 700;
}
.pg-btn.pg-prev,
.pg-btn.pg-next {
  font-size: 1.2rem;
  font-weight: 700;
}
.pg-ellipsis {
  color: var(--text-muted);
  font-size: .9rem;
  padding: 0 .2rem;
}

/* ── Empty state ─────────────────────────────────────────── */
.stitch-empty {
  grid-column: 1/-1;
  text-align: center;
  color: var(--text-muted);
  padding: 3rem;
  font-family: var(--h-font);
  font-size: 1.05rem;
}

/* ── Media Popup ────────────────────────────────────────── */
.media-modal {
  position: fixed; inset: 0; z-index: 9999;
  display: flex; align-items: center; justify-content: center;
}
.media-modal.hidden { display: none; }
.modal-backdrop {
  position: absolute; inset: 0;
  backdrop-filter: blur(8px);
  background: rgba(0,0,0,.45);
}
.modal-content {
  position: relative; z-index: 1;
  background: var(--white); padding: 2rem;
  border-radius: var(--radius);
  max-width: 90%; max-height: 80vh; overflow: auto;
  box-shadow: 0 8px 40px rgba(0,0,0,.22);
}
.close-btn {
  position: absolute; top: .5rem; right: .8rem;
  background: none; border: none;
  font-size: 1.8rem; color: var(--accent);
  cursor: pointer; line-height: 1;
}

/* ── Blur Guard ─────────────────────────────────────────── */
body.stitch-blur-guard .post-content,
body.stitch-blur-guard .entry-content,
body.stitch-blur-guard .page-content {
  position: relative !important;
  padding-bottom: 480px !important; /* 페이월 카드가 들어설 전용 수평 공간 확보 */
}

/* 상단 메인 타이틀을 제외한 모든 페이지 요소(대표 이미지, 본문 단락, 댓글창) 일괄 블러 가림 처리 */
body.stitch-blur-guard img.wp-post-image,
body.stitch-blur-guard .post-thumbnail,
body.stitch-blur-guard .wp-block-post-featured-image,
body.stitch-blur-guard .entry-header img,
body.stitch-blur-guard .post-content *:not(.stitch-paywall-wrap):not(.stitch-paywall-wrap *),
body.stitch-blur-guard .entry-content *:not(.stitch-paywall-wrap):not(.stitch-paywall-wrap *),
body.stitch-blur-guard .page-content *:not(.stitch-paywall-wrap):not(.stitch-paywall-wrap *),
body.stitch-blur-guard #comments,
body.stitch-blur-guard #respond,
body.stitch-blur-guard .comments-area,
body.stitch-blur-guard .stitch-post-shop-collection,
body.stitch-blur-guard .stitch-paywall-wrap ~ * {
  filter: blur(14px) !important;
  -webkit-filter: blur(14px) !important;
  pointer-events: none !important;
  user-select: none !important;
  opacity: 0.55 !important;
  transition: filter 0.3s ease !important;
}
.unlock-btn {
  display: block; margin: 1.5rem auto;
  padding: .65rem 1.8rem;
  background: var(--accent); color: var(--white);
  border: none; border-radius: 999px;
  font-family: var(--h-font); font-size: 1rem;
  cursor: pointer; transition: background var(--trans);
}
.unlock-btn:hover { background: #3a5040; }

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 640px) {
  .insights-grid { grid-template-columns: 1fr; }
  .stitch-insights-section { padding: 2rem 1rem 3rem; }
  .stitch-tabs-row { flex-direction: column; align-items: flex-start; gap: .75rem; }
  .stitch-search-wrap { align-self: stretch; }
  .stitch-search-input { width: 100%; }
}


/* ============================================================
   WOOCOMMERCE – Stitch Minimal Magazine Style  v2.5
   Shop / Single Product / Cart / Checkout
   ============================================================ */

/* ── WC 전역 배경 & 타이포 초기화 ─────────────────────────── */
body.woocommerce,
body.woocommerce-page,
body.stitch-woo-shop,
body.stitch-woo-product,
body.stitch-woo-cart,
body.stitch-woo-checkout {
  background: var(--bg) !important;
}

/* WC 기본 알림 배너 */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-top-color: var(--accent) !important;
  background: var(--white) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow) !important;
  font-family: var(--b-font) !important;
  font-size: .88rem !important;
  padding: 1rem 1.4rem !important;
}
.woocommerce-message a.button,
.woocommerce-info a.button {
  background: var(--accent) !important;
  color: var(--white) !important;
  border-radius: 999px !important;
  font-family: var(--b-font) !important;
  font-size: .78rem !important;
  letter-spacing: .1em !important;
  padding: .5rem 1.2rem !important;
  border: none !important;
  box-shadow: none !important;
}

/* ── Shop 페이지 래퍼 ──────────────────────────────────────── */
.stitch-woo-shop .woocommerce,
.woocommerce-page .woocommerce {
  max-width: 1140px;
  margin: 0 auto;
  padding: 3rem 1.5rem 5rem;
}

/* Shop 헤더 타이틀 */
.stitch-woo-shop .woocommerce-products-header__title,
.stitch-woo-shop h1.page-title {
  font-family: var(--h-font) !important;
  font-style: italic !important;
  font-size: clamp(2rem, 5vw, 3.2rem) !important;
  font-weight: 400 !important;
  color: var(--text) !important;
  text-align: center !important;
  margin-bottom: 2.5rem !important;
  letter-spacing: .01em !important;
}

/* 결과 수 / 정렬 바 */
.woocommerce-result-count {
  font-family: var(--b-font) !important;
  font-size: .72rem !important;
  letter-spacing: .1em !important;
  color: rgba(74,101,78,.55) !important;
  margin: 0 0 1.5rem !important;
}
.woocommerce-ordering select {
  font-family: var(--b-font) !important;
  font-size: .78rem !important;
  border: 1.5px solid var(--border) !important;
  border-radius: 999px !important;
  padding: .4rem 1rem !important;
  background: var(--white) !important;
  color: var(--text) !important;
  outline: none !important;
  box-shadow: none !important;
}

/* ── Shop 제품 그리드 ─────────────────────────────────────── */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
  gap: 1.5rem !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ── 개별 제품 카드 ──────────────────────────────────────── */
.woocommerce ul.products li.product {
  background: var(--white) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow) !important;
  border: none !important;
  overflow: visible !important;
  padding: 0 !important;
  transition: transform var(--trans), box-shadow var(--trans) !important;
  display: flex !important;
  flex-direction: column !important;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,.11) !important;
}

/* 제품 링크 래퍼 */
.woocommerce ul.products li.product a:first-child {
  display: block;
  border-radius: var(--radius) var(--radius) 0 0;
  overflow: hidden;
  text-decoration: none !important;
}

/* 제품 썸네일 – 내부 마진 + 라운드 (Insights 카드 스타일 동일) */
.woocommerce ul.products li.product .woocommerce-loop-product__link {
  position: relative;
  display: block !important;
}
.woocommerce ul.products li.product img {
  margin: 10px 10px 0 !important;
  border-radius: 12px !important;
  width: calc(100% - 20px) !important;
  height: 200px !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform .4s ease !important;
}
.woocommerce ul.products li.product:hover img {
  transform: scale(1.04) !important;
}

/* 카테고리 pill 오버레이 (PHP E-2 에서 주입) */
.stitch-woo-cat-pill {
  position: absolute;
  top: 20px;
  left: 20px;
  background: rgba(255,255,255,.82);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border-radius: 999px;
  padding: .18rem .75rem;
  font-family: var(--b-font);
  font-size: .62rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #333;
  line-height: 1.8;
  z-index: 2;
  pointer-events: none;
}

/* 제품 카드 본문 */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
  font-family: var(--h-font) !important;
  font-style: italic !important;
  font-size: 1.05rem !important;
  font-weight: 400 !important;
  color: var(--text) !important;
  margin: 1rem 1.2rem .4rem !important;
  line-height: 1.4 !important;
  text-align: left !important;
}

/* 가격 */
.woocommerce ul.products li.product .price {
  font-family: var(--b-font) !important;
  font-size: .88rem !important;
  color: var(--accent) !important;
  font-weight: 500 !important;
  margin: 0 1.2rem .5rem !important;
  display: block !important;
}
.woocommerce ul.products li.product .price del {
  color: var(--text-muted) !important;
  font-weight: 400 !important;
  margin-right: .3rem !important;
}

/* "ADD TO COLLECTION" 버튼 */
.stitch-woo-atc-btn,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button {
  display: block !important;
  margin: .5rem 1.2rem 1.2rem !important;
  padding: .55rem 1rem !important;
  background: transparent !important;
  border: 1.5px solid var(--accent) !important;
  border-radius: 999px !important;
  font-family: var(--b-font) !important;
  font-size: .72rem !important;
  font-weight: 500 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: var(--accent) !important;
  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background var(--trans), color var(--trans) !important;
  box-shadow: none !important;
}
.stitch-woo-atc-btn:hover,
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.button:hover {
  background: var(--accent) !important;
  color: var(--white) !important;
  text-decoration: none !important;
}

/* ── Single Product 페이지 ────────────────────────────────── */
.stitch-woo-product .product {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 3.5rem !important;
  align-items: start !important;
  max-width: 1100px !important;
  margin: 3rem auto 5rem !important;
  padding: 0 1.5rem !important;
}

/* 제품 이미지 */
.stitch-woo-product .woocommerce-product-gallery {
  border-radius: var(--radius) !important;
  overflow: hidden !important;
  box-shadow: var(--shadow) !important;
}
.stitch-woo-product .woocommerce-product-gallery__image img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  border-radius: var(--radius) !important;
}

/* Single Product 요약 영역 */
.stitch-woo-product .summary {
  padding: 0 !important;
}

/* 카테고리 breadcrumb (PHP E-4 주입) */
.stitch-woo-single-cats {
  font-family: var(--b-font) !important;
  font-size: .68rem !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  color: rgba(74,101,78,.5) !important;
  margin: 0 0 1rem !important;
}
.stitch-woo-single-cats a {
  color: inherit !important;
  text-decoration: none !important;
}
.stitch-woo-single-cats a:hover { color: var(--accent) !important; }

/* 제품명 */
.stitch-woo-product .product_title {
  font-family: var(--h-font) !important;
  font-size: clamp(1.8rem, 3.5vw, 2.6rem) !important;
  font-weight: 400 !important;
  line-height: 1.22 !important;
  color: var(--text) !important;
  margin: 0 0 1rem !important;
}
.stitch-woo-product .product_title em {
  font-style: italic !important;
  font-weight: 400 !important;
}

/* 별점 */
.woocommerce .star-rating span::before { color: var(--accent) !important; }
.woocommerce .star-rating { color: var(--accent) !important; }

/* 가격 */
.stitch-woo-product .price {
  font-family: var(--h-font) !important;
  font-size: 1.8rem !important;
  font-weight: 400 !important;
  color: var(--text) !important;
  margin: .8rem 0 1.4rem !important;
  letter-spacing: .01em !important;
}
.stitch-woo-product .price del { font-size: 1.2rem; color: var(--text-muted) !important; }
.stitch-woo-product .price ins { text-decoration: none !important; }

/* 상품 설명 short description */
.stitch-woo-product .woocommerce-product-details__short-description {
  font-family: var(--h-font) !important;
  font-style: italic !important;
  font-size: 1rem !important;
  color: rgba(26,26,26,.65) !important;
  line-height: 1.75 !important;
  margin-bottom: 1.8rem !important;
}

/* Single Product 장바구니 폼 버튼 */
.stitch-woo-product .single_add_to_cart_button,
.stitch-woo-product form.cart .button {
  display: inline-block !important;
  padding: .85rem 2.4rem !important;
  background: var(--accent) !important;
  color: var(--white) !important;
  border: none !important;
  border-radius: 999px !important;
  font-family: var(--b-font) !important;
  font-size: .8rem !important;
  font-weight: 600 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: background var(--trans) !important;
  box-shadow: none !important;
  width: 100% !important;
  text-align: center !important;
}
.stitch-woo-product .single_add_to_cart_button:hover,
.stitch-woo-product form.cart .button:hover {
  background: #3a5040 !important;
}

/* 수량 input */
.woocommerce .quantity .qty {
  font-family: var(--b-font) !important;
  border: 1.5px solid var(--border) !important;
  border-radius: var(--radius) !important;
  padding: .55rem .9rem !important;
  font-size: .95rem !important;
  width: 5rem !important;
  text-align: center !important;
  background: var(--white) !important;
  box-shadow: none !important;
  outline: none !important;
}

/* 메타(카테고리/태그) */
.stitch-woo-product .product_meta {
  border-top: 1px solid var(--border) !important;
  padding-top: 1.2rem !important;
  margin-top: 1.8rem !important;
  font-family: var(--b-font) !important;
  font-size: .8rem !important;
  color: var(--text-muted) !important;
  letter-spacing: .04em !important;
}
.stitch-woo-product .product_meta a {
  color: var(--accent) !important;
}

/* ── Cart 페이지 ──────────────────────────────────────────── */
.stitch-woo-cart .woocommerce {
  max-width: 1100px;
  margin: 3rem auto 5rem;
  padding: 0 1.5rem;
}
.stitch-woo-cart h1.page-title {
  font-family: var(--h-font) !important;
  font-style: italic !important;
  font-size: clamp(1.8rem, 4vw, 2.8rem) !important;
  font-weight: 400 !important;
  margin-bottom: 2rem !important;
}

/* 카트 테이블 */
.woocommerce-cart-form table.shop_table {
  border-collapse: collapse !important;
  width: 100% !important;
  background: var(--white) !important;
  border-radius: var(--radius) !important;
  overflow: hidden !important;
  box-shadow: var(--shadow) !important;
  border: none !important;
}
.woocommerce-cart-form table.shop_table th {
  font-family: var(--b-font) !important;
  font-size: .7rem !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  color: rgba(74,101,78,.55) !important;
  border-bottom: 1px solid var(--border) !important;
  padding: 1rem 1.2rem !important;
  background: transparent !important;
  border-top: none !important;
}
.woocommerce-cart-form table.shop_table td {
  vertical-align: middle !important;
  padding: 1.2rem !important;
  border-bottom: 1px solid var(--border) !important;
  border-top: none !important;
  font-family: var(--b-font) !important;
  font-size: .9rem !important;
}
.woocommerce-cart-form table td.product-name a {
  font-family: var(--h-font) !important;
  font-style: italic !important;
  font-size: 1rem !important;
  color: var(--text) !important;
  text-decoration: none !important;
}
.woocommerce-cart-form table td.product-name a:hover { color: var(--accent) !important; }
.woocommerce-cart-form table td.product-price,
.woocommerce-cart-form table td.product-subtotal { color: var(--accent) !important; font-weight: 500 !important; }
.woocommerce-cart-form table td.product-thumbnail img {
  border-radius: 8px !important;
  width: 72px !important;
  height: 72px !important;
  object-fit: cover !important;
}

/* 카트 삭제 버튼 */
a.remove {
  color: var(--text-muted) !important;
  font-size: 1.2rem !important;
  line-height: 1 !important;
  text-decoration: none !important;
}
a.remove:hover { color: #c0392b !important; }

/* 카트 업데이트/쿠폰 버튼 */
.woocommerce-cart-form .button,
.woocommerce-cart-form input[type="submit"] {
  font-family: var(--b-font) !important;
  font-size: .75rem !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  border-radius: 999px !important;
  padding: .6rem 1.5rem !important;
  background: transparent !important;
  border: 1.5px solid var(--accent) !important;
  color: var(--accent) !important;
  cursor: pointer !important;
  transition: all var(--trans) !important;
  box-shadow: none !important;
}
.woocommerce-cart-form .button:hover { background: var(--accent) !important; color: var(--white) !important; }

/* 카트 합계 박스 */
.cart_totals {
  background: var(--white) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow) !important;
  padding: 2rem !important;
  margin-top: 2rem !important;
}
.cart_totals h2 {
  font-family: var(--h-font) !important;
  font-style: italic !important;
  font-size: 1.4rem !important;
  font-weight: 400 !important;
  margin-bottom: 1.2rem !important;
}
.cart_totals table { width: 100% !important; border-collapse: collapse !important; }
.cart_totals table th,
.cart_totals table td {
  padding: .75rem 0 !important;
  border-bottom: 1px solid var(--border) !important;
  font-family: var(--b-font) !important;
  font-size: .9rem !important;
}
.cart_totals table .order-total td { color: var(--accent) !important; font-weight: 700 !important; font-size: 1.1rem !important; }

/* 결제하기 버튼 */
.wc-proceed-to-checkout .checkout-button,
.cart_totals .checkout-button {
  display: block !important;
  margin-top: 1.5rem !important;
  padding: .9rem 2rem !important;
  background: var(--accent) !important;
  color: var(--white) !important;
  border: none !important;
  border-radius: 999px !important;
  font-family: var(--b-font) !important;
  font-size: .82rem !important;
  font-weight: 600 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: background var(--trans) !important;
  text-decoration: none !important;
  width: 100% !important;
}
.wc-proceed-to-checkout .checkout-button:hover { background: #3a5040 !important; }

/* ── Checkout 페이지 ──────────────────────────────────────── */
.woocommerce-checkout .woocommerce {
  max-width: 1100px !important;
  margin: 3rem auto 5rem !important;
  padding: 0 1.5rem !important;
}
.woocommerce-checkout h1.page-title,
.woocommerce-checkout h3#order_review_heading,
.woocommerce-checkout #customer_details h3 {
  font-family: var(--h-font) !important;
  font-style: italic !important;
  font-size: 1.5rem !important;
  font-weight: 400 !important;
  color: var(--text) !important;
  margin-bottom: 1.5rem !important;
  letter-spacing: .01em !important;
}

/* Checkout 레이아웃 2컬럼 교정 */
.woocommerce-checkout form.checkout.woocommerce-checkout {
  display: grid !important;
  grid-template-columns: 55% 45% !important;
  gap: 3.5rem !important;
  align-items: start !important;
  max-width: 1100px !important;
  width: 100% !important;
  margin: 0 auto !important;
}
.woocommerce-checkout #customer_details {
  grid-column: 1 !important;
  width: 100% !important;
}
.woocommerce-checkout #order_review_heading {
  display: none !important; /* 중복 제목 제거 */
}
.woocommerce-checkout #order_review {
  grid-column: 2 !important;
  width: 100% !important;
  background: var(--white) !important;
  padding: 2.5rem !important;
  border-radius: 24px !important;
  border: 1px solid var(--border) !important;
  box-shadow: 0 10px 30px rgba(74, 101, 78, 0.03) !important;
}

/* 인풋 스타일 */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
  font-family: var(--b-font) !important;
  font-size: .9rem !important;
  border: 1.5px solid var(--border) !important;
  border-radius: var(--radius) !important;
  padding: .65rem 1rem !important;
  background: var(--white) !important;
  color: var(--text) !important;
  box-shadow: none !important;
  outline: none !important;
  width: 100% !important;
  transition: border-color var(--trans) !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus {
  border-color: var(--accent) !important;
}
.woocommerce form .form-row label {
  font-family: var(--b-font) !important;
  font-size: 0.85rem !important; /* 0.75rem -> 0.85rem 일관성 조정 */
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: rgba(74,101,78,.65) !important;
  margin-bottom: .3rem !important;
  display: block !important;
}

/* 국가 및 주 라벨 강제 영문 번역 (PHP 번역 적용으로 CSS 가상요소 제거) */
.woocommerce-checkout label[for="billing_country"] abbr.required,
.woocommerce-checkout label[for="billing_state"] abbr.required {
  font-size: 0.85rem !important;
  color: #cf2e2e !important;
}

/* 왼쪽 청구 주소 영역 및 내부 열 가로폭 잠금 해제 */
.woocommerce-checkout #customer_details {
  width: 100% !important;
  display: block !important;
  float: none !important;
}
.woocommerce-checkout #customer_details .col-1 {
  width: 100% !important;
  float: none !important;
  display: block !important;
}
.woocommerce-checkout #customer_details .col-2 {
  display: none !important; /* 배송지 정보 열 전면 차단 */
}

/* 결제수단 목록 심플 세로 카드화 */
.woocommerce-checkout ul.payment_methods {
  padding: 0 !important;
  margin: 1.5rem 0 !important;
  list-style: none !important;
  width: 100% !important;
  display: block !important;
}
.woocommerce-checkout ul.payment_methods li[class^="payment_method_"] {
  background: var(--bg) !important;
  border: 1px solid var(--border) !important;
  border-radius: 14px !important;
  padding: 1rem 1.25rem !important;
  margin-bottom: 0.8rem !important;
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  clear: both !important;
  transition: all var(--trans) !important;
}
.woocommerce-checkout ul.payment_methods li[class^="payment_method_"]:hover {
  border-color: var(--accent) !important;
  background: var(--white) !important;
}
.woocommerce-checkout ul.payment_methods li input[type="radio"] {
  margin: 0 0.6rem 0 0 !important;
  vertical-align: middle !important;
  width: auto !important;
  display: inline-block !important;
}
.woocommerce-checkout ul.payment_methods li label {
  margin: 0 !important;
  font-size: 0.85rem !important; /* 0.88rem -> 0.85rem 일관성 조정 */
  font-weight: 600 !important;
  color: var(--accent) !important;
  vertical-align: middle !important;
  text-transform: none !important;
  display: inline-block !important;
}

/* 주문 요약 박스 */
#order_review,
.woocommerce-checkout-review-order {
  background: var(--white) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow) !important;
  padding: 2rem !important;
  position: sticky !important;
  top: 2rem !important;
}

/* 주문 요약 테이블 */
table.woocommerce-checkout-review-order-table {
  width: 100% !important;
  border-collapse: collapse !important;
}
table.woocommerce-checkout-review-order-table th,
table.woocommerce-checkout-review-order-table td {
  padding: .75rem 0 !important;
  border-bottom: 1px solid var(--border) !important;
  font-family: var(--b-font) !important;
  font-size: .88rem !important;
}
table.woocommerce-checkout-review-order-table th {
  font-size: .7rem !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
  color: rgba(74,101,78,.5) !important;
}
table.woocommerce-checkout-review-order-table .order-total td {
  color: var(--accent) !important;
  font-weight: 700 !important;
  font-size: 1.05rem !important;
}

/* 결제수단 하단 개별 설명 박스 일괄 숨김 */
.woocommerce-checkout #payment div.payment_box,
.woocommerce-checkout .payment_box {
  display: none !important;
}

/* 결제창 좌측 하단 통합 1회성 결제 안내 노티스 카드 스타일 */
.woocommerce-checkout .payment-notice-single {
  font-family: var(--b-font) !important;
  font-size: 0.85rem !important; /* 0.82rem -> 0.85rem 일관성 조정 */
  color: rgba(26, 26, 26, 0.6) !important;
  background: var(--bg) !important;
  padding: 1.1rem 1.25rem !important;
  border-radius: 12px !important;
  border: 1px solid var(--border) !important;
  margin-top: 1.2rem !important;
  line-height: 1.55 !important;
  text-align: center !important;
  letter-spacing: 0.02em !important;
  box-sizing: border-box !important;
}

/* 주문확정 박스 크기 살짝 축소 및 마진 조정 */
.woocommerce-checkout #payment div.place-order,
.woocommerce-checkout .place-order {
  background: var(--bg) !important;
  padding: 1.5rem 1.6rem !important; /* 내부 패딩 축소 */
  border-radius: 20px !important;
  border: 1px solid var(--border) !important;
  margin-top: 1.5rem !important;
  max-width: 380px !important; /* 카드 폭 살짝 줄여서 콤팩트화 */
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  font-size: 0.85rem !important; /* 0.85rem으로 일관성 부여 */
  line-height: 1.55 !important;
  color: rgba(26, 26, 26, 0.7) !important;
}

/* 카드 내 렘브란트 바니타스 패러디 헤더 이미지 */
.woocommerce-checkout .checkout-brand-header-img {
  display: block !important;
  width: 100% !important;
  height: 180px !important;
  object-fit: cover !important;
  border-radius: 12px !important;
  margin-bottom: 1.2rem !important;
  border: 1px solid var(--border) !important;
}

/* 결제 버튼 */
#place_order,
.woocommerce-checkout #place_order {
  display: block;
  width: 100% !important;
  margin-top: 1.5rem !important;
  padding: .9rem 2rem !important;
  background: var(--accent) !important;
  color: var(--white) !important;
  border: none !important;
  border-radius: 999px !important;
  font-family: var(--b-font) !important;
  font-size: .82rem !important;
  font-weight: 600 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: background var(--trans) !important;
  box-shadow: none !important;
}
#place_order:hover { background: #3a5040 !important; }

body.currency-usd #place_order,
body.currency-usd .woocommerce-checkout #place_order {
  opacity: 0 !important;
  pointer-events: none !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  font-size: 0 !important;
  line-height: 0 !important;
}



body:not(.currency-usd).woocommerce-cart #ppcp-cart-button-container,
body:not(.currency-usd).woocommerce-cart .wc-ppcp-cart-or-separator,
body:not(.currency-usd).woocommerce-cart .wc-block-cart__payment-options,
body:not(.currency-usd).woocommerce-cart .wc-block-components-express-checkout,
body:not(.currency-usd).woocommerce-cart .wc-block-components-express-checkout-separator,
body:not(.currency-usd).woocommerce-cart [class*="express-checkout-separator"],
body:not(.currency-usd).woocommerce-cart [class*="-or-separator"] {
  display: none !important;
}

/* ── WooCommerce 반응형 및 결제창 전용 레이아웃 확장 ────────────────────── */
.woocommerce-checkout #primary,
.woocommerce-checkout #main,
.woocommerce-checkout #content,
.woocommerce-checkout .site-content,
.woocommerce-checkout .ast-container,
.woocommerce-checkout .ast-row,
.woocommerce-checkout article.page,
.woocommerce-checkout .entry-content {
  max-width: 1100px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 1.5rem !important;
}

/* 불필요한 이름, 상세주소, 도시, 우편번호, 전화번호, 메모 필드 화면 강제 숨김 */
.woocommerce-checkout #billing_first_name_field,
.woocommerce-checkout #billing_last_name_field,
.woocommerce-checkout #billing_company_field,
.woocommerce-checkout #billing_address_1_field,
.woocommerce-checkout #billing_address_2_field,
.woocommerce-checkout #billing_city_field,
.woocommerce-checkout #billing_postcode_field,
.woocommerce-checkout #billing_phone_field,
.woocommerce-checkout #order_comments_field {
  display: none !important;
}

/* 연락처 정보 헤더 복구 */

@media (max-width: 860px) {
  .stitch-woo-product .product {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }
  .woocommerce-checkout .woocommerce {
    grid-template-columns: 1fr !important;
  }
  .woocommerce-checkout #order_review { position: static !important; }
}
@media (max-width: 640px) {
  .woocommerce ul.products {
    grid-template-columns: 1fr !important;
  }
  .stitch-woo-shop .woocommerce,
  .stitch-woo-cart .woocommerce,
  .woocommerce-checkout .woocommerce {
    padding: 2rem 1rem 3rem !important;
  }
  .woocommerce-cart-form table.shop_table {
    font-size: .82rem !important;
  }
}

/* ============================================================
   GNB Header & Navigation Overrides (Hello Elementor & Block Themes)
   ============================================================ */
.site-header {
  background-color: var(--bg) !important;
  border-bottom: 1px solid var(--border) !important;
  padding: 1rem 0 !important;
}
.site-header .header-inner {
  max-width: 1140px !important;
  margin: 0 auto !important;
  padding: 0 1.5rem !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}
/* Logo / Branding override */
.site-header .site-branding .site-title a,
.site-header .site-branding a,
.wp-block-site-title a {
  font-family: var(--h-font) !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: var(--text) !important;
  letter-spacing: -0.02em !important;
  text-decoration: none !important;
}
/* Navigation Links override */
.site-header .site-navigation ul.menu li a,
.wp-block-navigation .wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation-item a {
  font-family: var(--b-font) !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  color: var(--text) !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: 0.5rem 0.8rem !important;
  transition: color var(--trans) !important;
  text-decoration: none !important;
}
.site-header .site-navigation ul.menu li a:hover,
.wp-block-navigation .wp-block-navigation-item__content:hover,
.wp-block-navigation .wp-block-navigation-item a:hover {
  color: var(--accent) !important;
  text-decoration: none !important;
  background: transparent !important;
}
.site-header .site-navigation ul.menu li.current-menu-item a,
.wp-block-navigation .wp-block-navigation-item.current-menu-item a {
  color: var(--accent) !important;
  font-weight: 700 !important;
}

/* ── Post Detail Layout Spacing ──────────────────────────── */
/* 1. Comments top margin doubled (10rem / 160px) */
.comments-area,
#comments,
.comment-respond,
#respond {
  margin-top: 10rem !important;
}

/* 2. Page body text relaxed spacing */
.single-post .page-content p {
  margin-bottom: 2.2rem !important;
  line-height: 1.88 !important;
}

/* 3. Page Headings breathing room */
.single-post .page-content h1,
.single-post .page-content h2,
.single-post .page-content h3 {
  margin-top: 4.8rem !important;
  margin-bottom: 1.8rem !important;
  line-height: 1.4 !important;
}

/* h4 (Auxiliary small titles like references) font size & spacing */
.single-post .page-content h4 {
  font-size: 1.125rem !important; /* Elegant smaller heading font size */
  font-weight: 700 !important;
  color: var(--text) !important;
  margin-top: 3.5rem !important; /* Slightly tighter top margin */
  margin-bottom: 1.2rem !important;
  line-height: 1.4 !important;
}

/* First heading should not have too much top margin */
.single-post .page-content > h1:first-of-type,
.single-post .page-content > h2:first-of-type,
.single-post .page-content > h3:first-of-type {
  margin-top: 2rem !important;
}

/* 4. Page Separators (hr) spacing */
.single-post .page-content hr,
.single-post .page-content .wp-block-separator {
  margin-top: 5.5rem !important;
  margin-bottom: 5.5rem !important;
  opacity: 0.15 !important;
}

/* 5. Bullet Lists spacing */
.single-post .page-content ul,
.single-post .page-content ol {
  margin-top: 1.6rem !important;
  margin-bottom: 2.4rem !important;
}
.single-post .page-content li {
  margin-bottom: 0.8rem !important;
  line-height: 1.8 !important;
  font-size: 0.9rem !important; /* Slightly smaller for lists/sources */
  color: rgba(26, 26, 26, 0.75) !important; /* Slightly muted color */
}

/* 6. Page Content Width & Alignment (Body, Title, Comments at 760px) */
.single-post .page-content,
.single-post article.post,
.single-post .page-header,
.single-post .entry-header,
.single-post .comments-area,
.single-post #comments,
.single-post #respond {
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Ensure padding matches */
.single-post .comments-area,
.single-post #respond {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 7. Spacing between Page Header (Title) and Content */
.single-post .page-header,
.single-post .entry-header {
  margin-bottom: 4rem !important; /* 이미지와의 간격을 기존의 절반(64px)으로 좁힘 */
}

/* 8. Post Detail Shop Collection Grid */
.stitch-post-shop-collection {
  margin-top: 6rem !important;
  margin-bottom: 2rem !important;
  padding: 3rem 1.5rem !important;
  background-color: transparent !important;
  max-width: 480px !important; /* 절반 정도로 크기 축소 */
  margin-left: auto !important;
  margin-right: auto !important;
  border: none !important;
}
.stitch-post-shop-collection .collection-title {
  display: none !important;
}
.stitch-post-shop-collection .collection-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 1.8rem !important; /* 좁아진 너비에 맞춘 카드 간격 */
}
.stitch-post-shop-collection .collection-card {
  display: block !important;
  text-decoration: none !important;
  color: var(--text) !important;
  transition: transform var(--trans) !important;
}
.stitch-post-shop-collection .card-image-container {
  position: relative !important;
  margin-bottom: 1rem !important;
}
.stitch-post-shop-collection .card-tag-pill {
  position: absolute !important;
  top: 0.8rem !important;
  left: 0.8rem !important;
  background: var(--white) !important;
  color: #4A654E !important;
  padding: 0.25rem 0.6rem !important;
  border-radius: 999px !important;
  font-family: var(--b-font) !important;
  font-size: 0.55rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  z-index: 10 !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05) !important;
}
.stitch-post-shop-collection .card-image {
  background: #fdfdfb !important;
  border-radius: 20px !important; /* 축소된 스케일에 맞춰 라운드 소폭 조정 */
  overflow: hidden !important;
  aspect-ratio: 1 / 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: none !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.06) !important;
  transition: box-shadow var(--trans) !important;
}
.stitch-post-shop-collection .card-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important; /* 잘림 없이 전체 제품 형태 유지 */
  padding: 1rem !important; /* 이미지와 테두리 사이의 세련된 여백 */
  transition: transform var(--trans) !important;
}
.stitch-post-shop-collection .collection-card:hover {
  transform: translateY(-5px) !important;
}
.stitch-post-shop-collection .collection-card:hover .card-image {
  box-shadow: 0 12px 30px rgba(0,0,0,0.1) !important;
}
.stitch-post-shop-collection .collection-card:hover .card-image img {
  transform: scale(1.03) !important;
}
.stitch-post-shop-collection .card-info {
  text-align: center !important;
}
.stitch-post-shop-collection .product-title {
  font-family: var(--b-font) !important; /* 명조(Serif) 대신 캡처본처럼 깔끔하고 기하학적인 고딕(Sans-serif) 지정 */
  font-size: 0.96rem !important;
  font-weight: 700 !important; /* 하단 버튼 글씨와 동일한 볼드(700) 두께 지정 */
  margin: 0 0 0.4rem 0 !important;
  color: var(--accent) !important; /* 하단 버튼 글씨와 동일한 시그니처 딥 그린 컬러(#4A654E) 지정 */
  letter-spacing: 0.03em !important; /* 기호 및 자간을 부드럽게 띄우는 여백 설정 */
}
.stitch-post-shop-collection .product-price {
  font-family: var(--b-font) !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  color: var(--accent) !important;
  margin: 0 0 0.8rem 0 !important;
}
.stitch-post-shop-collection .collection-btn-wrapper {
  margin-top: 0.8rem !important;
}
.stitch-post-shop-collection .collection-btn {
  display: inline-block !important;
  padding: 0.5rem 1.25rem !important; /* 버튼 패딩 축소 */
  border-radius: 999px !important;
  border: 1px solid rgba(74, 101, 78, 0.25) !important;
  background: transparent !important;
  color: var(--accent) !important;
  font-family: var(--b-font) !important;
  font-size: 0.65rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  transition: all var(--trans) !important;
}
.stitch-post-shop-collection .collection-card:hover .collection-btn {
  background: var(--accent) !important;
  color: var(--white) !important;
  border-color: var(--accent) !important;
}

/* Responsive adjustment */
@media (max-width: 600px) {
  .stitch-post-shop-collection .collection-grid {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }
}

/* 9. Single Post Main Title styling (Align with content/image, size up) */
.single-post .entry-title {
  font-family: var(--h-font) !important;
  font-size: 2.68rem !important; /* 제목 크기를 약간 더 크게 키움 */
  font-weight: 700 !important;
  line-height: 1.32 !important;
  letter-spacing: -0.02em !important;
  color: var(--text) !important;
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: left !important;
}

/* 헤더 컨테이너 자체의 좌우 여백을 소거하여 하단 본문/대표 이미지 좌우 라인과 완벽 수평 정렬 */
.single-post .entry-header,
.single-post .page-header {
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ==========================================================================
   10. Homepage YouTube Promotion Banner (dhxwlzc) Redesign & Size Tuning
   ========================================================================== */

/* A. 바디 및 섹션 외부 배경을 본진의 시그니처 베이지(var(--bg))로 통일 */
body.home {
  background-color: var(--bg) !important;
}
body.home .elementor-section-wrap,
body.home #content {
  background-color: var(--bg) !important;
}

/* B. 유튜브 배너 자체를 콤팩트하고 입체감 있는 모던 카드로 스타일링 (가로세로 축소) */
.elementor-element.elementor-element-dhxwlzc {
  background-color: var(--white) !important;
  max-width: 760px !important; /* 본문 폭과 완벽 매칭하도록 세로/가로를 컴팩트하게 축소 */
  margin: 4.5rem auto !important; /* 상하 마진 조절 */
  border-radius: 24px !important;
  box-shadow: 0 12px 36px rgba(74, 101, 78, 0.04) !important; /* 은은한 숲 톤 계열의 섀도우 */
  border: 1px solid rgba(74, 101, 78, 0.08) !important;
  overflow: hidden !important;
  padding: 0 !important;
}

/* C. 내부 컨테이너 그리드 밸런스 조정 */
.elementor-element.elementor-element-dhxwlzc > .elementor-container {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  max-width: 100% !important;
  width: 100% !important;
}

/* D. 왼쪽 텍스트 정보 영역 스타일링 (세로 높이 축소를 위해 상하 패딩 감소 및 요소 재배치) */
.elementor-element.elementor-element-258231d {
  width: 58% !important;
  padding: 2.5rem 2rem 2.5rem 3rem !important; 
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  background: var(--white) !important;
}

/* 왼쪽 내부 위젯들의 정렬 및 순서 조정 */
.elementor-element.elementor-element-258231d .elementor-widget-wrap {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
}

/* 1) 불필요한 장식용 보석 아이콘 제거 (숨김) */
.elementor-element.elementor-element-ebc1e08 {
  display: none !important;
}

/* 2) 불필요한 가로 실선 제거 (숨김) */
.elementor-element.elementor-element-7a2d1e6 {
  display: none !important;
}

/* 3) 불필요한 가짜 문장(로렘입숨 단락) 제거 (숨김) */
.elementor-element.elementor-element-ea326d2 {
  display: none !important;
}

/* E. 오른쪽 인물 이미지 영역 (우아한 서클형 프로필 레이아웃으로 변경) */
.elementor-element.elementor-element-ca44c59 {
  width: 42% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--white) !important;
  padding: 2rem !important;
}
.elementor-element.elementor-element-ca44c59 .elementor-widget-wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
}
.elementor-element.elementor-element-7e01216 {
  margin: 0 !important;
  text-align: center !important;
}
.elementor-element.elementor-element-7e01216 img {
  width: 160px !important;
  height: 160px !important;
  object-fit: cover !important;
  border-radius: 50% !important; /* 사각형 이미지를 세련된 원형 프로필로 변경 */
  border: 4px solid var(--bg) !important; /* 뒷 배경 베이지와 매칭되는 이중 테두리 연출 */
  box-shadow: 0 10px 25px rgba(74, 101, 78, 0.08) !important;
}

/* G. 배너 내 H2 제목 서체 및 크기/자간 튜닝 (순서 2번으로 하향 배정, 아래 마진 증가) */
.elementor-element.elementor-element-1401102 {
  order: 2 !important;
}
.elementor-element.elementor-element-1401102 h2.elementor-heading-title {
  font-family: var(--h-font) !important; /* 신뢰감 주는 명조 Serif 서체 적용 */
  font-size: 1.48rem !important; 
  font-weight: 700 !important;
  color: var(--text) !important; /* 가독성 높은 메인 텍스트색 */
  margin: 0 0 1.8rem 0 !important; /* 아래 마진을 1.2rem에서 1.8rem으로 크게 늘려 호흡 확보 */
  letter-spacing: -0.015em !important;
  line-height: 1.35 !important;
}

/* H. 서브타이틀(유튜브 모음) 서체 스타일링 (순서 1번으로 올려서 라벨화) */
.elementor-element.elementor-element-4f6265e {
  order: 1 !important;
}
.elementor-element.elementor-element-4f6265e,
.elementor-element.elementor-element-4f6265e p {
  font-family: var(--b-font) !important;
  font-size: 0.72rem !important; /* 라벨처럼 작고 세련되게 조율 */
  font-weight: 700 !important;
  color: var(--accent) !important; /* 브랜드 시그니처 그린 매칭 */
  margin: 0 0 0.5rem 0 !important;
  letter-spacing: 0.12em !important; /* 자간을 벌려 모던한 인상 연출 */
  text-transform: uppercase !important;
}

/* K. 버튼 스타일 (영상보기) - 순서 3번(최하단) 배정 및 상단 마진 추가 */
.elementor-element.elementor-element-258231d button,
.elementor-element.elementor-element-258231d a.elementor-button,
.elementor-element.elementor-element-258231d .elementor-button {
  order: 3 !important; /* 항상 글자 밑에 깔리도록 수정 */
  background-color: transparent !important;
  border: 1px solid var(--accent) !important;
  color: var(--accent) !important;
  padding: 0.65rem 2rem !important; 
  font-size: 0.65rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  border-radius: 50px !important;
  text-transform: uppercase !important;
  transition: all var(--trans) !important;
  margin-top: 0.8rem !important; /* 타이틀과의 수평 간격 확보 */
  display: inline-block !important;
  cursor: pointer !important;
}
.elementor-element.elementor-element-258231d button:hover,
.elementor-element.elementor-element-258231d a.elementor-button:hover,
.elementor-element.elementor-element-258231d .elementor-button:hover {
  background-color: var(--accent) !important;
  color: var(--white) !important;
  border-color: var(--accent) !important;
}

/* L. 반응형 모바일 분기 처리 */
@media (max-width: 768px) {
  .elementor-element.elementor-element-dhxwlzc {
    max-width: 90% !important;
    margin: 3rem auto !important;
  }
  .elementor-element.elementor-element-dhxwlzc > .elementor-container {
    flex-direction: column !important;
  }
  .elementor-element.elementor-element-258231d {
    width: 100% !important;
    padding: 2.5rem 2rem !important;
    align-items: center !important;
  }
  .elementor-element.elementor-element-258231d .elementor-widget-wrap {
    align-items: center !important;
  }
  .elementor-element.elementor-element-ca44c59 {
    width: 100% !important;
    padding: 1.5rem !important;
  }
  .elementor-element.elementor-element-7e01216 img {
    width: 140px !important;
    height: 140px !important;
  }
}

/* ==========================================================================
   11. Homepage Pre-Footer (5hu5he5) & Global Footer (#site-footer) Redesign
   ========================================================================== */

/* A. 프리 푸터 섹션 배경색 베이지로 일치 및 경계선 적용 (명언 1열 가운데 정렬 레이아웃화 및 페이지네이션 간격 확보) */
.elementor-element.elementor-element-5hu5he5 {
  background-color: var(--bg) !important;
  border-top: 1px solid rgba(74, 101, 78, 0.15) !important;
  padding: 5rem 0 !important;
  margin-top: 6.5rem !important; /* 위쪽 페이지네이션과의 사이에 시원한 숨구멍 여백 확보 */
}
.elementor-element.elementor-element-5hu5he5 > .elementor-container {
  display: flex !important;
  flex-direction: column !important; /* 2열 배열에서 1열 수직 배열로 전환하여 명언이 화면 중앙으로 오도록 조율 */
  align-items: center !important;
  max-width: 760px !important; /* 본문 폭에 맞춤 */
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
}
.elementor-element.elementor-element-c8baa8b {
  width: 100% !important; /* 명언 및 작가명 영역을 가로폭 100%로 확장하여 진짜 센터 정렬 달성 */
  text-align: center !important;
}
.elementor-element.elementor-element-7dd71f8 {
  width: 100% !important; /* 우측 폼 영역도 100%로 아래에 배치 */
  margin-top: 2.5rem !important;
  text-align: center !important;
}

/* B. 프리 푸터 H2 타이틀 - 주별 명언용 에디토리얼 서체(명조 이탤릭), 가로축 가운데 정렬 및 글씨 크기 추가 확대 */
.elementor-element.elementor-element-c8baa8b {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}

.elementor-element.elementor-element-9f50046 {
  width: 100% !important;
  max-width: 760px !important; /* 본문 max-width인 760px 이내로 제한 */
  margin: 0 auto !important;
  display: flex !important;
  justify-content: center !important;
  text-align: center !important;
}
.elementor-element.elementor-element-9f50046 .elementor-widget-container {
  width: 100% !important;
  max-width: 100% !important; /* 내부 컨테이너 제한 해제 */
  margin: 0 auto !important;
  text-align: center !important;
}
.elementor-element.elementor-element-9f50046 .elementor-heading-title {
  font-family: var(--h-font) !important; /* 고풍스러운 명조 Serif 서체 적용 */
  font-size: 2.1rem !important; /* 가독성 및 세련미 향상을 위해 글자 크기를 추가 확대 */
  font-weight: 500 !important;
  color: var(--accent) !important; /* 브랜드 시그니처 딥 그린 (#4A654E) */
  line-height: 1.62 !important;
  letter-spacing: -0.01em !important;
  font-style: italic !important;
  text-align: center !important; /* 가운데 정렬 */
  border-left: none !important; /* 좌측 보더 제거 */
  padding-left: 0 !important;
  margin-bottom: 0.8rem !important;
  white-space: normal !important; /* 긴 문장이 들어와도 화면을 벗어나 쏠리지 않도록 래핑 허용 */
  word-break: keep-all !important; /* 한글 단어가 중간에 끊기지 않고 줄바꿈되도록 단어 보존 래핑 */
  overflow-wrap: break-word !important;
  display: block !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 모바일/태블릿 화면 대응용 미디어 쿼리 (명언 텍스트가 화면 밖으로 넘치지 않도록 조율) */
@media (max-width: 991px) {
  .elementor-element.elementor-element-9f50046 .elementor-heading-title {
    font-size: 1.45rem !important; /* 화면 크기에 맞추어 글씨 크기 축소 */
    line-height: 1.5 !important;
  }
}

/* C. 프리 푸터 본문 텍스트 - 명언 저자용 시그니처 캡스형 고딕 폰트화 및 가운데 정렬 */
.elementor-element.elementor-element-215de2e {
  font-family: var(--b-font) !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  color: rgba(26, 26, 26, 0.45) !important;
  letter-spacing: 0.08em !important;
  line-height: 1.5 !important;
  text-transform: uppercase !important;
  text-align: center !important; /* 가운데 정렬 */
  padding-left: 0 !important;
  margin-top: 1.2rem !important;
}

/* D. 글로벌 사이트 푸터 배경색 베이지 및 최하단 얇은 경계선 추가 */
footer#site-footer.site-footer {
  background-color: var(--bg) !important;
  border-top: 1px solid rgba(74, 101, 78, 0.08) !important;
  padding: 2.5rem 0 !important;
}

/* E. 카피라이터 텍스트 서체 조율 */
footer#site-footer .copyright p,
footer#site-footer .copyright {
  font-family: var(--b-font) !important;
  font-size: 0.78rem !important;
  color: rgba(26, 26, 26, 0.45) !important;
  letter-spacing: 0.04em !important;
  text-align: center !important;
}

/* F. 푸터 공식 이메일 및 소셜 링크 바 스타일링 (신뢰감 부여) */
.footer-info {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 1rem !important;
  margin-bottom: 0.8rem !important;
  font-family: var(--b-font) !important;
  font-size: 0.74rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
}
.footer-info a {
  color: rgba(26, 26, 26, 0.55) !important;
  text-decoration: none !important;
  transition: color 0.3s !important;
}
.footer-info a:hover {
  color: var(--accent) !important;
}
.footer-info .footer-sep {
  color: rgba(26, 26, 26, 0.2) !important;
  user-select: none !important;
}

/* G. 단건 결제(Pay-Per-Post) 페이월 카드 프리미엄 스타일 */
.stitch-paywall-wrap {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 480px !important; /* padding-bottom과 일치시켜 정확한 하단 레이아웃 매칭 */
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  z-index: 10 !important;
}
.stitch-paywall-fade {
  display: none !important; /* wrap 배경 및 backdrop blur로 대체 */
}
.stitch-paywall-cta {
  background: #ffffff !important;
  border: 1px solid rgba(74, 101, 78, 0.08) !important;
  border-radius: 24px !important;
  padding: 3rem 2.5rem !important;
  text-align: center !important;
  box-shadow: 0 15px 45px rgba(74, 101, 78, 0.08) !important;
  max-width: 540px !important;
  width: calc(100% - 3rem) !important; /* 양옆 안전 마진 확보 */
  margin: 0 auto !important;
  z-index: 12 !important;
  position: relative !important;
}
.stitch-paywall-btn {
  transition: all var(--trans) !important;
  cursor: pointer !important;
}
.stitch-paywall-btn:hover {
  background-color: var(--text) !important;
  box-shadow: 0 10px 25px rgba(26, 26, 26, 0.2) !important;
  transform: translateY(-2px) !important;
}

/* ──────────────────────────────────────────────────
   H. Print Stylesheet (인쇄 및 PDF 소장 전용 클린 레이아웃)
   ────────────────────────────────────────────────── */
@media print {
  /* 인쇄 시 불필요한 모든 웹 UI 요소 전면 제거 */
  header,
  footer,
  #site-header,
  #site-footer,
  .elementor-element-dhxwlzc, /* 유튜브 프로모션 배너 */
  .stitch-post-shop-collection, /* 하단 추천 상품 */
  .wpforms-container, /* 문의 폼 */
  .stitch-post-youtube-wrapper, /* 본문 내 유튜브 임베드 */
  .stitch-print-btn-wrapper, /* 인쇄 버튼 자체 */
  #comments,
  .comment-respond,
  .navigation,
  .scroll-to-top,
  .elementor-location-header,
  .elementor-location-footer {
    display: none !important;
  }
  
  /* 배경은 완전 화이트, 글자는 딥 블랙으로 세팅하여 잉크 절약 및 가독성 확보 */
  body, html {
    background: #ffffff !important;
    color: #1a1a1a !important;
    font-size: 11pt !important;
    line-height: 1.7 !important;
  }
  
  /* 본문 콘텐츠가 잘리지 않도록 전체 폭으로 확장 */
  .entry-content,
  .post-content,
  article,
  main,
  .elementor-section {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
  }
  
  /* 인쇄 단락 분할 매끄럽게 제어 */
  h1, h2, h3 {
    page-break-after: avoid !important;
  }
  img {
    max-width: 100% !important;
    height: auto !important;
    page-break-inside: avoid !important;
  }
}

/* ══════════════════════════════════════════════════
   Q. 플로팅 통화 전환 토글 스위치 스타일 (₩ KRW | $ USD)
   ══════════════════════════════════════════════════ */
.stitch-currency-toggle-wrapper {
  position: fixed !important;
  bottom: 24px !important;
  right: 24px !important;
  display: flex !important;
  background: rgba(255, 255, 255, 0.75) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border: 1px solid rgba(74, 101, 78, 0.15) !important;
  padding: 4px !important;
  border-radius: 30px !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.08) !important;
  z-index: 99999 !important;
  transition: all var(--trans) !important;
}
.stitch-currency-toggle-wrapper:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 40px rgba(74, 101, 78, 0.12) !important;
  border-color: rgba(74, 101, 78, 0.3) !important;
}

.stitch-currency-btn {
  background: transparent !important;
  border: none !important;
  color: rgba(26, 26, 26, 0.55) !important;
  font-family: var(--b-font) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  padding: 8px 16px !important;
  border-radius: 20px !important;
  cursor: pointer !important;
  transition: all var(--trans) !important;
  outline: none !important;
  box-shadow: none !important;
}
.stitch-currency-btn.active {
  background: var(--accent) !important; /* #4A654E */
  color: var(--white) !important;
  box-shadow: 0 4px 12px rgba(74, 101, 78, 0.2) !important;
}
.stitch-currency-btn:hover:not(.active) {
  color: var(--accent) !important;
  background: rgba(74, 101, 78, 0.08) !important;
}

/* 모바일 대응 */
@media (max-width: 480px) {
  .stitch-currency-toggle-wrapper {
    bottom: 16px !important;
    right: 16px !important;
    padding: 3px !important;
  }
  .stitch-currency-btn {
    padding: 6px 12px !important;
    font-size: 0.7rem !important;
  }
}

/* 인쇄 시 스위처 감춤 */
@media print {
  .stitch-currency-toggle-wrapper {
    display: none !important;
  }
}

/* 내장형 통화 선택기 컨테이너 스타일 */
.stitch-embedded-switcher-container {
  background: var(--white) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  padding: 1.5rem 1.6rem !important;
  margin-bottom: 2rem !important;
  box-shadow: var(--shadow) !important;
  box-sizing: border-box !important;
}
.stitch-switcher-title {
  display: block !important;
  font-family: var(--b-font) !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  color: var(--accent) !important;
  margin-bottom: 1rem !important;
}
.stitch-currency-toggle-wrapper.embedded {
  position: static !important;
  display: inline-flex !important;
  background: var(--bg) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  width: 100% !important;
  padding: 3px !important;
  box-sizing: border-box !important;
}
.stitch-currency-toggle-wrapper.embedded .stitch-currency-btn {
  flex: 1 !important;
  font-size: 0.78rem !important;
  text-align: center !important;
  padding: 6px 10px !important;
  white-space: nowrap !important;
}

/* 결제창 내 주문 요약 수량 변경 선택기 디자인 */
.checkout-qty-selector {
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid var(--border) !important;
  border-radius: 30px !important;
  padding: 2px 4px !important;
  background: var(--bg) !important;
  margin-left: 0.8rem !important;
  vertical-align: middle !important;
}
.checkout-qty-selector .qty-btn {
  background: transparent !important;
  border: none !important;
  width: 24px !important;
  height: 24px !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  color: var(--accent) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  outline: none !important;
  transition: all var(--trans) !important;
}
.checkout-qty-selector .qty-btn:hover {
  background: rgba(74, 101, 78, 0.1) !important;
  border-radius: 50% !important;
}
.checkout-qty-selector .qty-val {
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  color: var(--text) !important;
  min-width: 24px !important;
  text-align: center !important;
  display: inline-block !important;
}

/* ══════════════════════════════════════════════════
   One-Page Checkout: 상단 장바구니 상품 목록 통합 UI
   ══════════════════════════════════════════════════ */
.stitch-checkout-cart-wrapper {
  background: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-radius: 16px !important;
  padding: 1.5rem 1.8rem !important;
  margin-bottom: 2.5rem !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02) !important;
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.stitch-checkout-cart-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  margin-top: 0 !important;
  margin-bottom: 1.2rem !important;
  color: #1a1a1a !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
  padding-bottom: 0.8rem !important;
  letter-spacing: -0.01em !important;
}

.stitch-checkout-cart-items {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;
}

.stitch-checkout-cart-item {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0.8rem 0 !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.04) !important;
  transition: opacity 0.2s ease !important;
}

.stitch-checkout-cart-item:last-child {
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

.stitch-item-thumb {
  width: 54px !important;
  height: 54px !important;
  flex-shrink: 0 !important;
}

.stitch-item-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 8px !important;
  border: 1px solid rgba(0, 0, 0, 0.06) !important;
}

.stitch-item-details {
  flex-grow: 1 !important;
  padding-left: 1.2rem !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.15rem !important;
  text-align: left !important;
}

.stitch-item-name {
  font-family: var(--b-font), sans-serif !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  color: #1a1a1a !important;
}

.stitch-item-price {
  font-family: var(--b-font), sans-serif !important;
  font-size: 0.85rem !important;
  color: rgba(26, 26, 26, 0.5) !important;
}

.stitch-item-actions {
  display: flex !important;
  align-items: center !important;
  gap: 1.2rem !important;
}

.stitch-qty-selector {
  display: inline-flex !important;
  align-items: center !important;
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
  border-radius: 20px !important;
  padding: 3px 8px !important;
  background: #fafafa !important;
}

.stitch-qty-btn {
  background: none !important;
  border: none !important;
  font-size: 1.05rem !important;
  font-weight: 500 !important;
  width: 22px !important;
  height: 22px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #4A654E !important;
  padding: 0 !important;
  transition: background 0.2s !important;
}

.stitch-qty-btn:hover {
  background: rgba(74, 101, 78, 0.08) !important;
  border-radius: 50% !important;
}

.stitch-qty-val {
  font-family: var(--b-font), sans-serif !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  min-width: 22px !important;
  text-align: center !important;
}

.stitch-item-remove-btn {
  background: none !important;
  border: none !important;
  color: rgba(26, 26, 26, 0.4) !important;
  cursor: pointer !important;
  padding: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  transition: all 0.2s !important;
}

.stitch-item-remove-btn:hover {
  color: #d32f2f !important;
  background: rgba(211, 47, 47, 0.06) !important;
}

/* 결제창 우측 주문 정보 내 중복 장바구니 상품 목록 행 숨김 */
.woocommerce-checkout #order_review .shop_table tbody tr.cart_item,
.woocommerce-checkout-review-order-table tr.cart_item,
.wc-block-components-order-summary .wc-block-components-order-summary-item {
  display: none !important;
}

.empty-cart-msg {
  text-align: center !important;
  padding: 2.5rem !important;
  color: rgba(26, 26, 26, 0.5) !important;
  font-family: var(--b-font), sans-serif !important;
  font-size: 0.95rem !important;
}

/* 결제페이지 모든 형태의 쿠폰(Coupon) 버튼 및 폼 차단 */
.woocommerce-form-coupon-toggle,
.woocommerce-checkout .checkout_coupon,
.wc-block-components-totals-coupon,
.wc-block-components-totals-coupon-link,
.woocommerce-checkout-review-order .woocommerce-form-coupon-toggle,
.checkout-collaterals .coupon,
div[class*="totals-coupon"] {
  display: none !important;
}

/* 장바구니 추가 완료 알림배너 내 '장바구니 보기' 링크 버튼 감춤 */
.woocommerce-message a.button.wc-forward,
.woocommerce-message a.wc-forward,
.woocommerce-error a.button.wc-forward,
.woocommerce-info a.button.wc-forward,
.wc-block-components-notice-banner a.button,
.wc-block-components-notice-banner a.wc-forward,
.wp-block-woocommerce-active-filters a.button {
  display: none !important;
}

/* ══════════════════════════════════════════════════
   Shop Product Category Navigation Tabs CSS
   ══════════════════════════════════════════════════ */
.stitch-shop-category-tabs-container {
  display: flex !important;
  gap: 0.8rem !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 2.5rem auto !important;
  padding: 0 !important;
  max-width: 760px !important;
  flex-wrap: wrap !important;
}

.stitch-shop-tab {
  display: inline-block !important;
  padding: 0.5rem 1.3rem !important;
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
  border-radius: 24px !important;
  font-family: var(--b-font), sans-serif !important;
  font-size: 0.92rem !important;
  font-weight: 500 !important;
  color: rgba(26, 26, 26, 0.6) !important;
  text-decoration: none !important;
  background: #ffffff !important;
  transition: all 0.2s ease-in-out !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.01) !important;
}

.stitch-shop-tab:hover {
  color: #4A654E !important;
  border-color: #4A654E !important;
  background: rgba(74, 101, 78, 0.03) !important;
}

.stitch-shop-tab.active {
  background: #4A654E !important;
  color: #ffffff !important;
  border-color: #4A654E !important;
  font-weight: 600 !important;
  box-shadow: 0 4px 10px rgba(74, 101, 78, 0.15) !important;
}

/* ══════════════════════════════════════════════════
   WooCommerce Shop Product Loop Design
   ══════════════════════════════════════════════════ */

/* 1. 4열 그리드 레이아웃 설정 */
.woocommerce ul.products,
ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 2.2rem !important;
  margin: 3.5rem auto !important;
  max-width: 1100px !important;
  padding: 0 1rem !important;
  list-style: none !important;
}

@media (max-width: 991px) {
  .woocommerce ul.products,
  ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1.5rem !important;
  }
}

@media (max-width: 575px) {
  .woocommerce ul.products,
  ul.products {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }
}

/* 2. 개별 상품 카드 컨테이너 */
.woocommerce ul.products li.product,
ul.products li.product {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  background: transparent !important;
  position: relative !important;
  padding: 0 !important;
  box-shadow: none !important;
  border: none !important;
}

/* 3. 상품 이미지 (20px 둥근 모서리 + 우아한 그림자 + 호버 리프트) */
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product .woocommerce-loop-product__link img,
ul.products li.product a img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3 / 4 !important; /* 세로 직사각형 카드 비율 */
  object-fit: cover !important;
  border-radius: 20px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05) !important;
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.3s ease !important;
  background: #fcfcfc !important;
}

.woocommerce ul.products li.product a:hover img,
ul.products li.product a:hover img {
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 36px rgba(74, 101, 78, 0.12) !important;
}

/* 4. 카테고리별 동적 뱃지 레이블 */
.woocommerce ul.products li.product::before,
ul.products li.product::before {
  position: absolute !important;
  top: 15px !important;
  left: 15px !important;
  z-index: 10 !important;
  background: rgba(255, 255, 255, 0.95) !important;
  color: #4A654E !important;
  font-family: var(--b-font), sans-serif !important;
  font-size: 0.58rem !important;
  font-weight: 700 !important;
  padding: 0.3rem 0.75rem !important;
  border-radius: 12px !important;
  letter-spacing: 0.06em !important;
  box-shadow: 0 3px 8px rgba(0,0,0,0.06) !important;
  pointer-events: none !important;
  display: none; /* 기본값 감춤 */
}

/* 카테고리별 매칭 활성화 */
.woocommerce ul.products li.product.product_cat-e-book::before,
ul.products li.product.product_cat-e-book::before {
  content: "E-BOOK" !important;
  display: block !important;
}

.woocommerce ul.products li.product.product_cat-paper-book::before,
ul.products li.product.product_cat-paper-book::before {
  content: "종이책" !important;
  display: block !important;
}

.woocommerce ul.products li.product.product_cat-pod::before,
ul.products li.product.product_cat-pod::before {
  content: "POD ITEM" !important;
  display: block !important;
}

/* 5. 상품명 타이틀 (세리프 서체) */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
ul.products li.product h2 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 1.18rem !important;
  font-weight: 600 !important;
  color: #1a1a1a !important;
  margin: 1.3rem 0 0.4rem 0 !important;
  line-height: 1.35 !important;
  height: auto !important;
}

/* 6. 상품 가격 */
.woocommerce ul.products li.product .price,
ul.products li.product .price {
  font-family: var(--b-font), sans-serif !important;
  font-size: 0.98rem !important;
  color: rgba(26, 26, 26, 0.5) !important;
  margin-bottom: 1.3rem !important;
  font-weight: 600 !important;
}

/* 7. ADD TO COLLECTION 중공형 알약 버튼 */
.woocommerce ul.products li.product .button.add_to_cart_button,
.woocommerce ul.products li.product .button,
ul.products li.product .button {
  display: inline-block !important;
  background: transparent !important;
  color: #4A654E !important;
  border: 1px solid #4A654E !important;
  padding: 0.58rem 1.6rem !important;
  font-size: 0.72rem !important;
  font-family: var(--b-font), sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  border-radius: 30px !important;
  transition: all 0.25s ease-in-out !important;
  margin-top: auto !important;
  width: auto !important;
  min-width: 145px !important;
  box-shadow: none !important;
}

.woocommerce ul.products li.product .button.add_to_cart_button:hover,
.woocommerce ul.products li.product .button:hover,
ul.products li.product .button:hover {
  background: #4A654E !important;
  color: #ffffff !important;
  box-shadow: 0 4px 14px rgba(74, 101, 78, 0.18) !important;
}

/* 8. 정렬 셀렉트 박스 스타일링 및 레이아웃 다듬기 */
.woocommerce-ordering select {
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-radius: 20px !important;
  padding: 0.4rem 1.2rem !important;
  font-family: var(--b-font), sans-serif !important;
  font-size: 0.88rem !important;
  color: rgba(26, 26, 26, 0.7) !important;
  background-color: #ffffff !important;
}

/* ══════════════════════════════════════════════════
   Multi-language Switcher (Tied to Currency Toggle)
   ══════════════════════════════════════════════════ */
/* 한국어 모드 (lang-mode-ko) */
body.lang-mode-ko .lang-en {
  display: none !important;
}
body.lang-mode-ko .lang-ko {
  display: inline !important;
}
body.lang-mode-ko div.lang-ko,
body.lang-mode-ko p.lang-ko,
body.lang-mode-ko section.lang-ko {
  display: block !important;
}

/* 영어 모드 (lang-mode-en) */
body.lang-mode-en .lang-ko {
  display: none !important;
}
body.lang-mode-en .lang-en {
  display: inline !important;
}
body.lang-mode-en div.lang-en,
body.lang-mode-en p.lang-en,
body.lang-mode-en section.lang-en {
  display: block !important;
}

/* ══════════════════════════════════════════════════
   Floating Language Switcher (KO / EN) CSS
   ══════════════════════════════════════════════════ */
.stitch-floating-lang-wrapper {
  position: fixed !important;
  bottom: 80px !important; /* 통화 토글기 위에 정확히 위치하도록 오프셋 조정 */
  right: 20px !important;
  z-index: 999999 !important;
  display: flex !important;
  background: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-radius: 30px !important;
  padding: 3px !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.06) !important;
  font-family: var(--b-font), sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
}

.stitch-floating-lang-wrapper .lang-btn {
  border: none !important;
  outline: none !important;
  background: transparent !important;
  padding: 0.35rem 0.85rem !important;
  border-radius: 20px !important;
  cursor: pointer !important;
  color: rgba(26, 26, 26, 0.4) !important;
  font-weight: 700 !important;
  transition: all 0.2s ease-in-out !important;
  font-size: 0.72rem !important;
}

.stitch-floating-lang-wrapper .lang-btn.active {
  background: #4A654E !important;
  color: #ffffff !important;
  box-shadow: 0 2px 8px rgba(74, 101, 78, 0.15) !important;
}

/* 상점 사이트에서는 중복된 독립형 언어 스위처 감춤 (ko/en 통합 통화 스위처와 합체) */
#stitch-floating-lang-switcher {
  display: none !important;
}



