/* ============================================================
   PLIKI Theme — default_shop.css  v3.0
   영카트5 플리키 테마 全 CSS
============================================================ */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --pk-black:  #111111;
  --pk-g900:   #222222;
  --pk-g700:   #555555;
  --pk-g500:   #888888;
  --pk-g300:   #cccccc;
  --pk-g200:   #e5e5e5;
  --pk-g100:   #f5f5f5;
  --pk-white:  #ffffff;
  --pk-accent: #e63946;
  --pk-wish:   #ff4d6d;
  --pk-blue:   #2962ff;
  --pk-radius: 8px;
  --pk-trans:  0.18s ease;
  --pk-max:    1200px;
  --pk-header-h: 116px; /* top-bar 36 + main-row 72 + gnb 40 = 148 */
}

html { scroll-behavior: smooth; }
body {
  font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Hiragino Kaku Gothic ProN', 'Yu Gothic', 'Meiryo', sans-serif;
  font-size: 14px; color: var(--pk-black); background: var(--pk-white); line-height: 1.5;
}
a { text-decoration: none; color: inherit; }
ul, ol { list-style: none; }
img { display: block; max-width: 100%; height: auto; }
button { cursor: pointer; border: none; background: none; font-family: inherit; font-size: inherit; }
input, select, textarea { font-family: inherit; }

/* 그누보드 기본 제거 */
#hd_login_msg { display: none !important; }


/* ============================================================
   HEADER
============================================================ */
.pk-header {
  position: -webkit-sticky;
  position: sticky; top: 0; z-index: 500;
  background: var(--pk-white);
  box-shadow: 0 1px 0 var(--pk-g200);
}

/* ① 상단 공지 바 */
.pk-top-bar {
  background: var(--pk-black); color: rgba(255,255,255,.8); font-size: 12px;
}
.pk-top-bar-inner {
  max-width: var(--pk-max); margin: 0 auto; padding: 0 24px;
  height: 36px; display: flex; align-items: center; justify-content: space-between;
}
.pk-top-notice { font-size: 12px; font-weight: 500; letter-spacing: .3px; }
.pk-top-links  { display: flex; gap: 20px; flex-wrap: nowrap; }
.pk-top-links li { white-space: nowrap; flex-shrink: 0; }
.pk-top-links a { font-size: 12px; color: rgba(255,255,255,.65); transition: color var(--pk-trans); white-space: nowrap; }
.pk-top-links a:hover { color: var(--pk-white); }

/* ② メイン 헤더 행 */
.pk-header-main-row { border-bottom: 1px solid var(--pk-g200); }
.pk-header-center {
  max-width: var(--pk-max); margin: 0 auto; padding: 0 24px;
  height: 72px; display: flex; align-items: center; gap: 20px;
}

/* 인라인 検索창 */
.pk-header-search {
  display: flex; align-items: center; gap: 10px;
  flex: 1; max-width: 480px; margin-left: auto;
  background: var(--pk-g100); border-radius: 10px;
  padding: 0 14px; height: 42px;
  border: 1.5px solid transparent; transition: border-color .15s, background .15s;
}
.pk-header-search:focus-within { background: #fff; border-color: var(--pk-black); }
.pk-header-search-input {
  flex: 1; border: none; background: transparent; font-size: 14px;
  color: var(--pk-black); font-family: inherit; outline: none;
}
.pk-header-search-input::placeholder { color: var(--pk-g500); }
.pk-header-search-btn {
  flex-shrink: 0; background: var(--pk-black); color: #fff;
  border: none; border-radius: 6px; font-size: 12px; font-weight: 700;
  padding: 5px 12px; cursor: pointer; transition: background .15s;
}
.pk-header-search-btn:hover { background: #333; }

/* 로고 */
.pk-logo {
  font-size: 28px; font-weight: 900; letter-spacing: -1.5px;
  color: var(--pk-black); flex-shrink: 0; margin-right: auto;
  font-style: italic;
}
.pk-logo img  { height: 36px; width: auto; }
.pk-logo span { font-style: italic; }
.pk-logo-text {
  font-size: 28px; font-weight: 900; font-style: italic;
  letter-spacing: -1px; color: var(--pk-black);
}

/* メイン 내비 */
.pk-main-nav { display: flex; align-items: center; gap: 8px; }
.pk-main-nav-item {
  padding: 8px 16px; font-size: 14px; font-weight: 600;
  color: var(--pk-g700); letter-spacing: .5px; border-radius: 4px;
  transition: color var(--pk-trans);
}
.pk-main-nav-item:hover,
.pk-main-nav-item.active { color: var(--pk-black); }

/* メイン nav 구분선 */
.pk-main-nav-divider {
  width: 1px; height: 16px; background: var(--pk-g300); margin: 0 6px; flex-shrink: 0;
}
/* サブ メニュー 項目 (カスタマーサポート/レビュー/マガジン) */
.pk-main-nav-sub {
  font-size: 13px !important; font-weight: 500 !important; color: var(--pk-g500) !important;
}
.pk-main-nav-sub:hover { color: var(--pk-black) !important; }

/* 検索 토글 ボタン */
.pk-search-toggle-btn {
  width: 40px; height: 40px; display: flex; align-items: center; justify-content: center;
  color: var(--pk-g700); border-radius: 50%; transition: all var(--pk-trans);
  margin-left: 8px;
}
.pk-search-toggle-btn:hover { background: var(--pk-g100); color: var(--pk-black); }

/* ③ 検索 ドロップダウン */
.pk-search-dropdown {
  background: var(--pk-white); overflow: hidden;
  max-height: 0; transition: max-height .25s ease, border-bottom .25s ease;
  border-bottom: 0 solid var(--pk-g200);
}
.pk-search-dropdown.open {
  max-height: 80px; border-bottom-width: 1px;
}
.pk-search-dropdown-inner {
  max-width: var(--pk-max); margin: 0 auto; padding: 12px 24px;
  display: flex; align-items: center; gap: 12px;
}
.pk-search-field {
  flex: 1; display: flex; align-items: center; height: 44px;
  border: 1.5px solid var(--pk-black); border-radius: 6px; overflow: hidden;
}
.pk-search-input {
  flex: 1; border: none; outline: none; padding: 0 16px;
  font-size: 14px; color: var(--pk-black); background: transparent;
}
.pk-search-input::placeholder { color: var(--pk-g500); }
.pk-search-go-btn {
  padding: 0 20px; height: 44px; background: var(--pk-black); color: var(--pk-white);
  font-size: 13px; font-weight: 600; cursor: pointer; white-space: nowrap;
  transition: background var(--pk-trans);
}
.pk-search-go-btn:hover { background: var(--pk-g900); }
.pk-search-close-btn {
  color: var(--pk-g700); padding: 8px; border-radius: 50%;
  transition: all var(--pk-trans); flex-shrink: 0;
}
.pk-search-close-btn:hover { background: var(--pk-g100); color: var(--pk-black); }

/* ④ GNB サブ 내비 */
.pk-gnb {
  background: var(--pk-white);
  border-bottom: 1px solid var(--pk-g200);
}
.pk-gnb-inner {
  max-width: var(--pk-max); margin: 0 auto; padding: 0 24px;
}
.pk-gnb-list {
  display: flex; height: 44px; align-items: center; gap: 0;
  overflow-x: auto; scrollbar-width: none;
}
.pk-gnb-list::-webkit-scrollbar { display: none; }
.pk-gnb-list li a {
  display: flex; align-items: center; height: 44px; padding: 0 14px;
  font-size: 12px; font-weight: 500; letter-spacing: 0.3px;
  color: var(--pk-g600); white-space: nowrap;
  border-bottom: 2px solid transparent; transition: color .15s, border-color .15s;
  text-decoration: none;
}
.pk-gnb-list li a:hover,
.pk-gnb-list li.pk-gnb-active a {
  color: var(--pk-black); border-bottom-color: var(--pk-black);
}
.pk-gnb-sale a {
  font-size: 11px; font-weight: 800; letter-spacing: 0.5px;
  color: var(--pk-black) !important;
  background: var(--pk-black); color: var(--pk-white) !important;
  border-radius: 3px; padding: 4px 10px; height: auto;
  border-bottom: none !important; margin: auto 4px;
}
.pk-gnb-sale a:hover { opacity: .8; }
.pk-gnb-divider {
  width: 1px; height: 16px; background: var(--pk-g200);
  margin: 0 6px; flex-shrink: 0; align-self: center;
}


/* ============================================================
   WRAP / CONTAINER
============================================================ */
#pk-wrap { min-height: 60vh; }
.pk-container { max-width: var(--pk-max); margin: 0 auto; padding: 0 24px; }


/* ============================================================
   MAIN BANNER
============================================================ */
.pk-main-banner { overflow: hidden; }
.pk-main-banner .swiper-slide img { width: 100%; height: 480px; object-fit: cover; display: block; }
.pk-bn-prev, .pk-bn-next {
  position: absolute; top: 50%; z-index: 10; transform: translateY(-50%);
  width: 40px; height: 40px; background: rgba(255,255,255,.85); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; backdrop-filter: blur(4px); transition: background var(--pk-trans);
}
.pk-bn-prev:hover, .pk-bn-next:hover { background: var(--pk-white); }
.pk-bn-prev { left: 20px; }
.pk-bn-next { right: 20px; }
.pk-main-banner .swiper-pagination-bullet { background: var(--pk-white); opacity: .6; }
.pk-main-banner .swiper-pagination-bullet-active { opacity: 1; }


/* ============================================================
   HERO BANNER
============================================================ */
.pk-hero { width: 100%; background: var(--pk-black); overflow: hidden; }
.pk-hero-placeholder {
  max-width: var(--pk-max); margin: 0 auto; padding: 70px 24px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center;
}
.pk-hero-sub { font-size: 13px; color: rgba(255,255,255,.5); letter-spacing: 2px; text-transform: uppercase; margin-bottom: 16px; }
.pk-hero-title {
  font-size: 42px; font-weight: 900; color: var(--pk-white); line-height: 1.15;
  letter-spacing: -1px; margin-bottom: 16px;
}
.pk-hero-title span { color: #f5c842; }
.pk-hero-desc { font-size: 14px; color: rgba(255,255,255,.6); margin-bottom: 32px; }
.pk-hero-btn {
  display: inline-block; padding: 14px 32px;
  background: var(--pk-white); color: var(--pk-black);
  font-size: 14px; font-weight: 700; border-radius: 4px; letter-spacing: .5px;
  transition: all var(--pk-trans);
}
.pk-hero-btn:hover { background: #f5c842; }
.pk-hero-items {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px;
}
.pk-hero-item-thumb img { width: 100%; aspect-ratio: 1/1; object-fit: cover; border-radius: 8px; opacity: .85; }

/* ============================================================
   CATEGORY BAR
============================================================ */
.pk-main-cats { padding: 28px 0; border-bottom: 1px solid var(--pk-g200); }
.pk-main-cat-list {
  display: flex; gap: 4px; flex-wrap: wrap; justify-content: center;
}
.pk-main-cat-item {
  display: flex; flex-direction: column; align-items: center; gap: 6px;
  padding: 12px 20px; border-radius: 8px; font-size: 12px; font-weight: 500; color: var(--pk-g700);
  transition: all var(--pk-trans);
}
.pk-main-cat-item:hover { background: var(--pk-g100); color: var(--pk-black); }
.pk-main-cat-all { font-weight: 700; color: var(--pk-black); }
.pk-cat-icon { font-size: 22px; line-height: 1; }

/* ============================================================
   SECTION (メイン 홈)
============================================================ */
.pk-section { padding: 60px 0; }
.pk-section-compact { padding: 40px 0; }
.pk-section-sale { background: #fafafa; }
.pk-section-dark { background: var(--pk-black); }
.pk-section-dark .pk-section-title { color: var(--pk-white); }
.pk-section-dark .pk-section-sub   { color: rgba(255,255,255,.4); }
.pk-section-dark .pk-section-more  { color: rgba(255,255,255,.5); }
.pk-section-dark .pk-item-card .pk-item-name { color: var(--pk-white); }
.pk-section-dark .pk-price { color: var(--pk-white); }
.pk-section-dark .pk-item-brand { color: rgba(255,255,255,.4); }
.pk-section-dark .pk-origin-price { color: rgba(255,255,255,.3); }

.pk-section-hd {
  display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 28px;
}
.pk-section-title { font-size: 22px; font-weight: 800; letter-spacing: -.5px; }
.pk-section-sub   { font-size: 13px; color: var(--pk-g500); margin-top: 4px; }
.pk-section-more  { font-size: 13px; font-weight: 500; color: var(--pk-g700); transition: color var(--pk-trans); }
.pk-section-more:hover { color: var(--pk-black); }

/* 인기 検索キーワード */
.pk-keywords { padding: 18px 0; border-bottom: 1px solid var(--pk-g200); }
.pk-keyword-wrap { display: flex; align-items: center; gap: 20px; overflow-x: auto; scrollbar-width: none; }
.pk-keyword-wrap::-webkit-scrollbar { display: none; }
.pk-keyword-label { font-size: 12px; font-weight: 700; color: var(--pk-g500); white-space: nowrap; flex-shrink: 0; }
.pk-keyword-list  { display: flex; gap: 8px; flex-wrap: nowrap; }
.pk-keyword-list a {
  display: flex; align-items: center; gap: 5px;
  padding: 5px 12px; border: 1px solid var(--pk-g300); border-radius: 20px;
  font-size: 12px; color: var(--pk-g700); white-space: nowrap; transition: all var(--pk-trans);
}
.pk-keyword-list a:hover { border-color: var(--pk-black); color: var(--pk-black); background: var(--pk-g100); }
.pk-rank { font-size: 11px; font-weight: 700; color: var(--pk-accent); }


/* ============================================================
   EDITORIAL SECTION
============================================================ */
.pk-section-editorial { padding: 0; overflow: hidden; }
.pk-editorial-layout {
  display: grid; grid-template-columns: 380px 1fr; min-height: 600px;
}
.pk-editorial-left {
  background: #111; color: var(--pk-white); padding: 60px 48px;
  position: relative; overflow: hidden; display: flex; flex-direction: column;
}
.pk-editorial-bg-img {
  position: absolute; inset: 0; opacity: .25; pointer-events: none;
}
.pk-editorial-bg-img img { width: 100%; height: 100%; object-fit: cover; }
.pk-editorial-label {
  font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase;
  color: #f5c842; margin-bottom: 16px; position: relative; z-index: 1;
}
.pk-editorial-title {
  font-size: 34px; font-weight: 900; line-height: 1.2; letter-spacing: -1px;
  position: relative; z-index: 1; margin-bottom: 16px;
}
.pk-editorial-desc {
  font-size: 14px; line-height: 1.7; color: rgba(255,255,255,.6);
  position: relative; z-index: 1; margin-bottom: 32px; flex: 1;
}
.pk-editorial-btn {
  display: inline-block; padding: 12px 28px;
  background: var(--pk-white); color: var(--pk-black);
  font-size: 13px; font-weight: 700; border-radius: 4px;
  position: relative; z-index: 1; width: fit-content;
  transition: background var(--pk-trans);
}
.pk-editorial-btn:hover { background: #f5c842; }
.pk-editorial-right {
  background: #f5f5f5; padding: 40px;
  display: flex; align-items: center;
}
.pk-editorial-right .pk-item-grid { width: 100%; }

/* ============================================================
   PRODUCT GRID (4열 기본 / 6열 / 2열 변형)
============================================================ */
.pk-item-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px 18px;
}
.pk-grid-6 { grid-template-columns: repeat(6, 1fr); gap: 20px 12px; }
.pk-grid-2 { grid-template-columns: repeat(2, 1fr); gap: 16px; }
.pk-item-card {}
.pk-item-link { display: block; }
.pk-item-img-wrap {
  position: relative; overflow: hidden; border-radius: var(--pk-radius);
  background: var(--pk-g100); aspect-ratio: 1/1; margin-bottom: 12px;
}
.pk-item-img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.pk-item-card:hover .pk-item-img-wrap img { transform: scale(1.04); }

/* 売り切れ 오버레이 */
.pk-soldout-overlay {
  position: absolute; inset: 0; background: rgba(0,0,0,.35);
  display: flex; align-items: center; justify-content: center;
}
.pk-soldout-overlay span { font-size: 13px; font-weight: 700; color: var(--pk-white); letter-spacing: 1px; }

/* 뱃지 */
.pk-badge {
  position: absolute; top: 10px; left: 10px;
  padding: 3px 8px; border-radius: 4px;
  font-size: 10px; font-weight: 700; letter-spacing: .5px;
}
.pk-badge-new  { background: var(--pk-black); color: var(--pk-white); }
.pk-badge-sale { background: var(--pk-accent); color: var(--pk-white); }

/* 画像 아래 배치 배지 */
.pk-badge-below {
  display: inline-block; padding: 2px 8px; border-radius: 3px;
  font-size: 10px; font-weight: 700; letter-spacing: .5px;
  margin: 6px 0 0 0;
}
.pk-badge-sale-below { background: var(--pk-accent); color: #fff; }
.pk-badge-new-below  { background: var(--pk-black);  color: #fff; }

/* お気に入り追加 ボタン */
.pk-wish-btn {
  position: absolute; top: 8px; right: 8px; width: 32px; height: 32px;
  background: rgba(255,255,255,.88); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: var(--pk-g500); backdrop-filter: blur(4px);
  opacity: 1; transform: translateY(0); transition: color var(--pk-trans), transform var(--pk-trans);
  border: none; cursor: pointer;
}
.pk-wish-btn svg { transition: fill .2s, stroke .2s; }
.pk-wish-btn:hover { color: var(--pk-wish); transform: scale(1.12); }
.pk-wish-btn.active { color: var(--pk-wish); }
.pk-wish-btn.active svg { fill: var(--pk-wish); stroke: var(--pk-wish); }

/* カート ボタン 오버레이 */
.pk-item-actions {
  position: absolute; bottom: 0; left: 0; right: 0; padding: 10px;
  background: linear-gradient(to top, rgba(0,0,0,.45) 0%, transparent 100%);
  opacity: 0; transform: translateY(4px); transition: all var(--pk-trans);
}
.pk-item-card:hover .pk-item-actions { opacity: 1; transform: translateY(0); }
.pk-cart-btn {
  width: 100%; padding: 9px; background: var(--pk-white); color: var(--pk-black);
  border-radius: 4px; font-size: 12px; font-weight: 600;
  display: flex; align-items: center; justify-content: center; gap: 6px;
  transition: all var(--pk-trans);
}
.pk-cart-btn:hover { background: var(--pk-black); color: var(--pk-white); }

/* 商品 텍스트 */
.pk-item-brand { font-size: 11px; font-weight: 700; letter-spacing: .5px; color: var(--pk-g500); text-transform: uppercase; margin-bottom: 4px; }
.pk-item-name  { font-size: 13px; color: var(--pk-black); line-height: 1.4; margin-bottom: 6px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; min-height: 2.8em; }
.pk-item-price-row { display: flex; align-items: center; gap: 6px; }
.pk-discount       { font-size: 13px; font-weight: 700; color: var(--pk-accent); }
.pk-price          { font-size: 14px; font-weight: 700; color: var(--pk-black); }
.pk-origin-price   { font-size: 12px; color: var(--pk-g500); text-decoration: line-through; margin-top: 2px; }
.pk-no-item        { padding: 60px 0; text-align: center; color: var(--pk-g500); font-size: 14px; }
.pk-item-name-link { color: inherit; }

/* 인기 순위 번호 */
.pk-ranked { counter-reset: pk-rank; }
.pk-ranked .pk-item-card { counter-increment: pk-rank; }
.pk-ranked .pk-item-card .pk-item-img-wrap::before {
  content: counter(pk-rank);
  position: absolute; top: 8px; left: 8px; z-index: 3;
  width: 30px; height: 30px; border-radius: 50%;
  background: rgba(0,0,0,.8); color: var(--pk-white);
  font-size: 13px; font-weight: 900; letter-spacing: -.5px;
  display: flex; align-items: center; justify-content: center;
  font-style: italic;
}
.pk-ranked .pk-item-card:nth-child(1) .pk-item-img-wrap::before { background: var(--pk-black); box-shadow: 0 0 0 2px #f5c842; }
.pk-ranked .pk-item-card:nth-child(2) .pk-item-img-wrap::before { background: #555; }
.pk-ranked .pk-item-card:nth-child(3) .pk-item-img-wrap::before { background: #7b4f2c; }

/* 카드 애니메이션 */
@keyframes pkFadeUp { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:translateY(0); } }
.pk-item-card { animation: pkFadeUp .3s ease both; }
.pk-item-card:nth-child(1){animation-delay:.04s} .pk-item-card:nth-child(2){animation-delay:.08s}
.pk-item-card:nth-child(3){animation-delay:.12s} .pk-item-card:nth-child(4){animation-delay:.16s}
.pk-item-card:nth-child(5){animation-delay:.20s} .pk-item-card:nth-child(6){animation-delay:.24s}
.pk-item-card:nth-child(7){animation-delay:.28s} .pk-item-card:nth-child(8){animation-delay:.32s}


/* ============================================================
   新着商品 슬라이더
============================================================ */
.pk-new-swiper-wrap { position: relative; }
.pk-new-swiper { overflow: hidden; }
.pk-new-swiper .swiper-slide { height: auto; width: auto; }
.pk-new-swiper .swiper-slide .pk-item-card { width: 100%; }
.pk-new-swiper .swiper-wrapper { align-items: stretch; }
.pk-swiper-prev, .pk-swiper-next {
  position: absolute; top: 35%; z-index: 10; transform: translateY(-50%);
  width: 36px; height: 36px; background: var(--pk-white); border: 1px solid var(--pk-g300);
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  cursor: pointer; box-shadow: 0 2px 8px rgba(0,0,0,.1); transition: all var(--pk-trans);
}
.pk-swiper-prev:hover, .pk-swiper-next:hover { border-color: var(--pk-black); }
.pk-swiper-prev { left: -18px; }
.pk-swiper-next { right: -18px; }


/* ============================================================
   PRODUCT LIST PAGE — カテゴリー 헤딩 & 필 ボタン
============================================================ */
/* 商品 목록 상단 네비게이션 바 — grid-column은 아래 #sct 섹션에서 지정 */
.pk-shop-nav-bar {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 20px; flex-wrap: wrap;
  border-bottom: 2px solid var(--pk-black);
  padding-bottom: 0;
}
.pk-shop-nav-title {
  display: flex; align-items: baseline; gap: 10px;
  padding-bottom: 14px;
}
.pk-shop-nav-title h2 {
  font-size: 22px; font-weight: 900; letter-spacing: -0.5px; color: var(--pk-black);
}
.pk-shop-nav-count {
  font-size: 12px; color: var(--pk-g500); font-weight: 500;
}
.pk-shop-nav-tabs {
  display: flex; align-items: flex-end; gap: 0;
}
.pk-shop-nav-tab {
  display: block; padding: 10px 20px;
  font-size: 13px; font-weight: 600; color: var(--pk-g500);
  text-decoration: none; letter-spacing: 0.3px;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: color var(--pk-trans), border-color var(--pk-trans);
  white-space: nowrap;
}
.pk-shop-nav-tab:hover { color: var(--pk-black); }
.pk-shop-nav-tab.active { color: var(--pk-black); border-bottom-color: var(--pk-black); font-weight: 800; }

/* 구형 클래스 호환 */
.pk-list-heading { max-width: var(--pk-max); margin: 0 auto; padding: 32px 24px 0; }
.pk-list-shop-title { font-size: 22px; font-weight: 800; letter-spacing: -.5px; margin-bottom: 18px; }
.pk-category-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 0; padding-bottom: 20px; border-bottom: 1px solid var(--pk-g200); }
.pk-cat-pill a { display: inline-block; padding: 7px 16px; border-radius: 20px; font-size: 13px; font-weight: 500; color: var(--pk-g700); border: 1px solid var(--pk-g200); background: var(--pk-white); transition: all var(--pk-trans); }
.pk-cat-pill a:hover { border-color: var(--pk-black); color: var(--pk-black); }
.pk-cat-pill.active a { background: var(--pk-black); color: var(--pk-white); border-color: var(--pk-black); }
.pk-category-pills-icons { gap: 10px; }
.pk-cat-pill-icon a { display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 12px 18px; border-radius: 12px; font-size: 12px; font-weight: 600; color: var(--pk-g700); border: 1.5px solid var(--pk-g200); background: var(--pk-white); transition: all var(--pk-trans); }
.pk-cat-pill-icon a:hover { border-color: var(--pk-black); color: var(--pk-black); background: var(--pk-g100); }
.pk-cat-pill-icon.active a { background: var(--pk-black); color: var(--pk-white); border-color: var(--pk-black); }
.pk-cat-pill-icon-em { font-size: 22px; line-height: 1; }

/* ============================================================
   PRODUCT LIST PAGE — 정렬 바
============================================================ */
.pk-list-sort {
  display: flex; align-items: center; gap: 12px;
  padding: 16px 0; margin-bottom: 20px;
  border-bottom: 1px solid var(--pk-g100);
}
.pk-list-count { font-size: 13px; color: var(--pk-g500); margin-right: auto; }
.pk-list-count strong { color: var(--pk-black); font-weight: 700; }
.pk-sort-list { display: flex; }
.pk-sort-list a {
  display: block; padding: 6px 12px; font-size: 13px; color: var(--pk-g700);
  border: 1px solid transparent; border-radius: 4px; transition: all var(--pk-trans);
}
.pk-sort-list a:hover, .pk-sort-list a.active { color: var(--pk-black); background: var(--pk-g100); }
.pk-view-list { display: flex; gap: 4px; }
.pk-view-btn {
  display: flex; align-items: center; justify-content: center;
  width: 32px; height: 32px; border-radius: 4px; color: var(--pk-g500); transition: all var(--pk-trans);
}
.pk-view-btn:hover, .pk-view-btn.active { color: var(--pk-black); background: var(--pk-g100); }

/* ============================================================
   PRODUCT LIST PAGE — 사이드바 레이아웃
============================================================ */
#sct {
  max-width: var(--pk-max); margin: 0 auto; padding: 0 24px 60px;
  display: grid; grid-template-columns: 200px 1fr; column-gap: 40px; align-items: start;
  will-change: opacity;
}
/* SPA 페이드 전환 */
#sct_type {
  max-width: var(--pk-max); margin: 0 auto; padding: 0 24px 60px;
  will-change: opacity;
}
/* rank 배지 (list.10.skin.php에서 직접 出力) */
.pk-item-card { position: relative; }
.pk-rank-badge {
  position: absolute; top: 10px; left: 10px; z-index: 2;
  width: 28px; height: 28px; background: #111; color: #fff;
  font-size: 12px; font-weight: 800; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
}
.pk-rank-1 .pk-rank-badge { background: #c9a84c; box-shadow: 0 0 0 2px #ffe; }
.pk-rank-2 .pk-rank-badge { background: #8e8e8e; }
.pk-rank-3 .pk-rank-badge { background: #a0522d; }
#sct_hhtml:empty, #sct_thtml:empty { display: none; }

.pk-shop-nav-bar {
  grid-column: 1 / -1;
  padding-top: 28px;
  margin-bottom: 0;
}

.pk-list-sidebar {
  grid-column: 1; grid-row: 2 / span 100;
  position: sticky; top: 160px;
  padding-top: 24px;
  max-height: calc(100vh - 180px);
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #ddd transparent;
}
.pk-list-sidebar::-webkit-scrollbar { width: 6px; }
.pk-list-sidebar::-webkit-scrollbar-thumb { background: #ddd; border-radius: 3px; }
.pk-list-sidebar::-webkit-scrollbar-track { background: transparent; }
/* .pk-allp-side 는 all.php 가 자체 grid 사용 — inline 스타일에서 처리 */
#sct > *:not(.pk-list-sidebar):not(.pk-shop-nav-bar) { grid-column: 2; }
#sct_hhtml, #sct_thtml { grid-column: 2; }

/* 사이드바 블록 */
.pk-sidebar-block { margin-bottom: 28px; padding-bottom: 28px; border-bottom: 1px solid var(--pk-g100); }
.pk-sidebar-block:last-child { border-bottom: none; margin-bottom: 0; }
.pk-sidebar-title { font-size: 12px; font-weight: 700; color: var(--pk-black); margin-bottom: 12px; letter-spacing: .5px; text-transform: uppercase; }
.pk-sidebar-cat-list { display: flex; flex-direction: column; gap: 2px; }
.pk-sidebar-cat-item a {
  display: flex; align-items: center; justify-content: space-between;
  padding: 7px 10px; border-radius: 6px; font-size: 13px; color: var(--pk-g700);
  transition: all var(--pk-trans);
}
.pk-sidebar-cat-item a:hover { background: var(--pk-g100); color: var(--pk-black); }
.pk-sidebar-cat-item.active a { background: var(--pk-black); color: var(--pk-white); font-weight: 600; }
.pk-sidebar-cat-item.active .pk-sidebar-cat-count { color: rgba(255,255,255,.6); }
.pk-sidebar-cat-count { font-size: 11px; color: var(--pk-g500); }
.pk-sidebar-price-list { display: flex; flex-direction: column; gap: 2px; }
.pk-sidebar-price-list a {
  display: block; padding: 7px 10px; border-radius: 6px;
  font-size: 13px; color: var(--pk-g700); transition: all var(--pk-trans);
}
.pk-sidebar-price-list a:hover { background: var(--pk-g100); color: var(--pk-black); }
.sct_noitem { padding: 60px 0; text-align: center; color: var(--pk-g500); font-size: 14px; }

/* 全 타입 리스트 */
#sct_type { max-width: var(--pk-max); margin: 0 auto; padding: 32px 24px 60px; }


/* ============================================================
   PAGINATION
============================================================ */
.pk-pagination {
  display: flex; align-items: center; justify-content: center;
  gap: 4px; padding: 40px 0;
}
.pk-page-btn {
  display: flex; align-items: center; justify-content: center;
  width: 36px; height: 36px; border-radius: 4px;
  color: var(--pk-g700); border: 1px solid var(--pk-g300); transition: all var(--pk-trans);
}
.pk-page-btn:hover { border-color: var(--pk-black); color: var(--pk-black); }
.pk-page-list { display: flex; gap: 4px; }
.pk-page-item {
  display: flex; align-items: center; justify-content: center;
  min-width: 36px; height: 36px; padding: 0 4px;
  border-radius: 4px; font-size: 14px; color: var(--pk-g700);
  border: 1px solid transparent; transition: all var(--pk-trans);
}
a.pk-page-item:hover { border-color: var(--pk-g300); color: var(--pk-black); }
.pk-page-item.active { background: var(--pk-black); color: var(--pk-white); font-weight: 700; border-color: var(--pk-black); }

/* get_paging() 出力 스타일 */
#pg_ { text-align: center; padding: 40px 0; display: flex; justify-content: center; gap: 4px; flex-wrap: wrap; }
#pg_ a, #pg_ strong {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 36px; height: 36px; padding: 0 6px;
  border: 1px solid var(--pk-g300); border-radius: 4px;
  font-size: 14px; color: var(--pk-g700); transition: all var(--pk-trans);
}
#pg_ a:hover { border-color: var(--pk-black); color: var(--pk-black); }
#pg_ strong { background: var(--pk-black); color: var(--pk-white); border-color: var(--pk-black); font-weight: 700; }
#pg_ .pg_prev, #pg_ .pg_next, #pg_ .pg_start, #pg_ .pg_end { color: var(--pk-g500); }


/* ============================================================
   PRODUCT DETAIL PAGE — 2컬럼 레이아웃
============================================================ */
.pk-detail-wrap { max-width: var(--pk-max); margin: 0 auto; padding: 40px 24px 0; }
.pk-detail-layout {
  display: grid; grid-template-columns: 1fr 420px; gap: 52px; align-items: start;
}

/* 画像 영역 */
.pk-detail-main-img {
  position: relative; border-radius: 12px; overflow: hidden;
  background: var(--pk-g100); aspect-ratio: 1/1; margin-bottom: 12px;
}
.pk-detail-main-img .pk-big-img-link {
  display: none; position: absolute; inset: 0;
}
.pk-detail-main-img .pk-big-img-link:first-child,
.pk-detail-main-img .pk-big-img-link.visible { display: block; }
.pk-detail-main-img img { width: 100%; height: 100%; object-fit: cover; }
.pk-detail-thumbs { display: flex; gap: 8px; flex-wrap: wrap; }
.pk-detail-thumbs li {
  width: 72px; height: 72px; border-radius: 6px; overflow: hidden;
  border: 2px solid transparent; cursor: pointer; transition: border-color var(--pk-trans);
  flex-shrink: 0;
}
.pk-detail-thumbs li:hover { border-color: var(--pk-black); }
.pk-thumb-link { display: block; width: 100%; height: 100%; }
.pk-thumb-link img { width: 100%; height: 100%; object-fit: cover; }

/* 情報 패널 */
.pk-detail-info { position: sticky; top: 160px; }
.pk-detail-brand {
  font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase;
  color: var(--pk-g500); margin-bottom: 8px;
}
.pk-detail-title { font-size: 22px; font-weight: 700; line-height: 1.4; margin-bottom: 8px; letter-spacing: -.3px; }
.pk-detail-desc  { font-size: 13px; color: var(--pk-g500); margin-bottom: 12px; line-height: 1.6; }
.pk-detail-meta  { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.pk-detail-review-link {
  font-size: 12px; color: var(--pk-g500); border-bottom: 1px solid var(--pk-g300);
  transition: color var(--pk-trans);
}
.pk-detail-review-link:hover { color: var(--pk-black); }

/* 価格 */
.pk-detail-price-box {
  padding: 20px 0; border-top: 1px solid var(--pk-g100); border-bottom: 1px solid var(--pk-g100);
  margin-bottom: 20px;
}
.pk-detail-price-row { display: flex; align-items: baseline; gap: 10px; margin-bottom: 4px; }
.pk-detail-discount-pct { font-size: 28px; font-weight: 800; color: var(--pk-accent); }
.pk-detail-sell-price  { font-size: 28px; font-weight: 800; color: var(--pk-black); }
.pk-detail-origin-price { font-size: 14px; color: var(--pk-g500); text-decoration: line-through; }
.pk-detail-state-label  { font-size: 16px; font-weight: 600; color: var(--pk-g700); }

/* 情報 행 */
.pk-detail-rows { margin-bottom: 20px; }
.pk-detail-row {
  display: flex; align-items: flex-start; gap: 20px;
  padding: 9px 0; border-bottom: 1px solid #f8f8f8; font-size: 13px;
}
.pk-detail-row-lbl { width: 56px; flex-shrink: 0; color: var(--pk-g500); font-size: 12px; padding-top: 1px; }

/* オプション */
.pk-detail-option-wrap { margin-bottom: 12px; }
.pk-detail-option-label { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; color: var(--pk-g500); margin-bottom: 6px; }
.pk-detail-option-wrap select {
  width: 100%; padding: 11px 14px; border: 1px solid var(--pk-g300); border-radius: 8px;
  font-size: 13px; color: var(--pk-black); background: var(--pk-white);
  appearance: none; -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center; cursor: pointer;
}
.pk-detail-option-wrap select:focus { outline: 2px solid var(--pk-black); outline-offset: -2px; }

/* 選択된 オプション */
.pk-detail-sel-section  { margin-bottom: 4px; }
.pk-detail-opt-added    { margin-bottom: 8px; }
.pk-detail-opt-item {
  display: flex; align-items: center; justify-content: space-between;
  gap: 10px; padding: 10px 12px; background: var(--pk-g100); border-radius: 8px; margin-bottom: 6px;
}
.pk-opt-item-name { font-size: 12px; flex: 1; line-height: 1.4; color: var(--pk-black); }
.pk-detail-qty-wrap { display: flex; align-items: center; flex-shrink: 0; }
.pk-detail-qty-btn {
  width: 30px; height: 30px; border: 1px solid var(--pk-g300); border-radius: 6px;
  font-size: 16px; display: flex; align-items: center; justify-content: center;
  color: var(--pk-black); background: var(--pk-white); transition: all var(--pk-trans);
}
.pk-detail-qty-btn:hover { background: var(--pk-black); color: var(--pk-white); border-color: var(--pk-black); }
.pk-detail-qty-input {
  width: 42px; height: 30px; text-align: center; border: 1px solid var(--pk-g300);
  border-left: none; border-right: none; font-size: 13px;
}

/* 合計金額 */
.pk-detail-total-row {
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 0; border-top: 1px solid var(--pk-g100); margin: 8px 0 16px;
  font-size: 13px; color: var(--pk-g700);
}
.pk-detail-total-label { font-weight: 600; }
.pk-detail-total-price strong { font-size: 22px; font-weight: 800; color: var(--pk-black); }

/* 購入 ボタン */
.pk-detail-buy-btns { display: flex; gap: 10px; margin-bottom: 16px; }
.pk-detail-btn-cart {
  flex: 1; padding: 14px; border: 1.5px solid var(--pk-black); border-radius: 8px;
  font-size: 14px; font-weight: 600; color: var(--pk-black); background: var(--pk-white);
  transition: all var(--pk-trans); cursor: pointer;
}
.pk-detail-btn-cart:hover { background: var(--pk-g100); }
.pk-detail-btn-buy {
  flex: 1; padding: 14px; background: var(--pk-black); color: var(--pk-white);
  border-radius: 8px; font-size: 14px; font-weight: 600; border: none; cursor: pointer;
  transition: background var(--pk-trans);
}
.pk-detail-btn-buy:hover { background: var(--pk-g900); }

/* 売り切れ */
.pk-detail-soldout-msg {
  padding: 16px; background: var(--pk-g100); border-radius: 8px;
  text-align: center; font-size: 13px; color: var(--pk-g700); margin-bottom: 16px;
}
.pk-detail-alm-btn {
  display: block; width: 100%; padding: 13px; text-align: center;
  border: 1px solid var(--pk-g300); border-radius: 8px; font-size: 14px;
  color: var(--pk-g700); transition: all var(--pk-trans); margin-bottom: 12px;
}
.pk-detail-alm-btn:hover { border-color: var(--pk-black); color: var(--pk-black); }

/* 찜/공유 */
.pk-detail-sub-actions { display: flex; align-items: center; gap: 10px; padding-top: 8px; flex-wrap: wrap; }
.pk-detail-wish-btn, .pk-detail-share-btn {
  display: flex; align-items: center; gap: 6px;
  font-size: 12px; color: var(--pk-g700); padding: 8px 14px;
  border: 1px solid var(--pk-g300); border-radius: 20px; background: var(--pk-white);
  transition: all var(--pk-trans); cursor: pointer;
}
.pk-detail-wish-btn:hover, .pk-detail-share-btn:hover { border-color: var(--pk-black); color: var(--pk-black); }
.sns_area {
  position: absolute; background: var(--pk-white); border: 1px solid var(--pk-g300);
  border-radius: 8px; padding: 10px; display: flex; gap: 8px; z-index: 50;
  box-shadow: 0 4px 16px rgba(0,0,0,.1);
}
.pk-detail-siblings { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--pk-g100); display: flex; gap: 8px; }
#sit_siblings a {
  font-size: 12px; color: var(--pk-g500); padding: 6px 12px;
  border: 1px solid var(--pk-g300); border-radius: 4px; transition: all var(--pk-trans);
}
#sit_siblings a:hover { border-color: var(--pk-black); color: var(--pk-black); }

/* 상세 탭 */
.pk-item-detail-section { padding: 60px 0; border-top: 1px solid var(--pk-g100); }
.pk-detail-tabs {
  display: flex; border-bottom: 2px solid var(--pk-g100); margin-bottom: 40px;
}
.pk-tab-btn {
  padding: 14px 24px; font-size: 14px; font-weight: 500; color: var(--pk-g500);
  border-bottom: 2px solid transparent; margin-bottom: -2px;
  transition: all var(--pk-trans); background: none; cursor: pointer;
}
.pk-tab-btn:hover { color: var(--pk-black); }
.pk-tab-btn.active { color: var(--pk-black); font-weight: 700; border-bottom-color: var(--pk-black); }
.pk-tab-count {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 18px; height: 18px; padding: 0 4px;
  background: var(--pk-g100); border-radius: 9px;
  font-size: 11px; font-weight: 700; color: var(--pk-g700); margin-left: 4px;
}
.pk-tab-content { display: none; }
.pk-tab-content.active { display: block; }
.pk-tab-empty { padding: 60px 0; text-align: center; color: var(--pk-g500); }
.pk-item-explan { max-width: 860px; margin: 0 auto; line-height: 1.8; }
.pk-item-explan img { max-width: 100%; margin: 0 auto; }
.pk-info-table { width: 100%; border-collapse: collapse; margin-top: 32px; }
.pk-info-table th, .pk-info-table td { padding: 12px 16px; border: 1px solid var(--pk-g100); font-size: 13px; text-align: left; }
.pk-info-table th { background: var(--pk-g100); font-weight: 600; width: 200px; color: var(--pk-g700); }
.pk-delivery-block { padding: 28px 0; border-bottom: 1px solid var(--pk-g100); }
.pk-delivery-block h3 { font-size: 15px; font-weight: 700; margin-bottom: 12px; }
.pk-delivery-block:last-child { border-bottom: none; }

/* 関連商品 */
.pk-rel-section { padding: 60px 0; background: var(--pk-g100); }

/* 플로팅 buy panel 숨김 (인라인 패널 使用) */
.pk-buy-panel { display: none !important; }


/* ============================================================
   CART PAGE — カート
============================================================ */
.pk-cart-wrap { max-width: var(--pk-max); margin: 0 auto; padding: 40px 24px 60px; }
.pk-cart-title {
  font-size: 22px; font-weight: 700; margin-bottom: 24px; display: flex; align-items: center; gap: 10px;
}
.pk-cart-title label { display: flex; align-items: center; gap: 10px; cursor: pointer; }
.pk-cart-count { font-size: 16px; font-weight: 400; color: var(--pk-g500); }
.pk-cart-chk-all { width: 17px; height: 17px; cursor: pointer; accent-color: var(--pk-black); }

/* 2-컬럼 레이아웃 */
.pk-cart-layout { display: grid; grid-template-columns: 1fr 320px; gap: 28px; align-items: start; }
.pk-cart-main  { grid-column: 1; }

/* 테이블 */
.pk-cart-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.pk-cart-table thead th {
  padding: 12px 8px; border-bottom: 2px solid var(--pk-black);
  font-size: 12px; font-weight: 600; color: var(--pk-g700); text-align: center;
  white-space: nowrap;
}
.pk-cart-table tbody td { padding: 16px 8px; border-bottom: 1px solid var(--pk-g100); vertical-align: middle; text-align: center; }
.pk-col-product { text-align: left !important; }
.pk-cart-product { display: flex; align-items: center; gap: 14px; }
.pk-cart-img { width: 80px; height: 80px; flex-shrink: 0; border-radius: 6px; overflow: hidden; }
.pk-cart-img img { width: 100%; height: 100%; object-fit: cover; }
.pk-cart-name { font-size: 13px; color: var(--pk-black); line-height: 1.4; font-weight: 500; }
.pk-cart-name:hover { text-decoration: underline; }
.pk-cart-option-text { font-size: 12px; color: var(--pk-g500); line-height: 1.6; }
.pk-opt-edit-btn {
  display: inline-block; margin-top: 4px; padding: 3px 8px;
  border: 1px solid var(--pk-g300); border-radius: 4px; font-size: 11px; color: var(--pk-g700);
  cursor: pointer; background: var(--pk-white); transition: all var(--pk-trans);
}
.pk-opt-edit-btn:hover { border-color: var(--pk-black); color: var(--pk-black); }
.pk-cart-total-price { font-weight: 700; font-size: 14px; color: var(--pk-black); }
.pk-cart-origin-price { display: block; font-size: 11px; color: var(--pk-g500); text-decoration: line-through; margin-top: 2px; }
.pk-cart-del-btn {
  width: 28px; height: 28px; display: flex; align-items: center; justify-content: center;
  color: var(--pk-g500); border-radius: 50%; transition: all var(--pk-trans); margin: 0 auto;
}
.pk-cart-del-btn:hover { background: var(--pk-g100); color: var(--pk-accent); }
.pk-cart-chk { width: 15px; height: 15px; cursor: pointer; accent-color: var(--pk-black); }
.selec_chk { accent-color: var(--pk-black); }
.pk-cart-empty { padding: 60px 0; text-align: center; color: var(--pk-g500); font-size: 14px; }

/* 하단 ボタン */
.pk-cart-actions { display: flex; gap: 8px; margin-top: 16px; flex-wrap: wrap; }
.pk-cart-act-btn {
  padding: 10px 18px; border: 1px solid var(--pk-g300); border-radius: 6px;
  font-size: 13px; color: var(--pk-g700); background: var(--pk-white);
  transition: all var(--pk-trans); cursor: pointer;
}
.pk-cart-act-btn:hover { border-color: var(--pk-black); color: var(--pk-black); }

/* 注文 요약 패널 */
.pk-cart-summary {
  position: sticky; top: 160px; grid-column: 2;
  border: 1px solid var(--pk-g200); border-radius: 12px; padding: 24px;
  background: var(--pk-white);
}
.pk-summary-list { border-bottom: 1px solid var(--pk-g100); margin-bottom: 16px; }
.pk-summary-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 11px 0; border-bottom: 1px solid var(--pk-g100); font-size: 13px;
}
.pk-summary-row:last-child { border-bottom: none; }
.pk-summary-row span { color: var(--pk-g700); }
.pk-summary-row strong { font-weight: 600; color: var(--pk-black); }
.pk-summary-discount { color: var(--pk-accent) !important; }
.pk-summary-total-row {
  display: flex; justify-content: space-between; align-items: center;
  padding: 16px 0; border-top: 2px solid var(--pk-black); margin-top: 4px; font-size: 14px;
}
.pk-summary-total-row span { font-weight: 600; color: var(--pk-black); }
.pk-summary-total { font-size: 22px; font-weight: 800; color: var(--pk-black); }
.pk-summary-coupon-btn {
  display: block; width: 100%; padding: 11px; text-align: center;
  border: 1px solid var(--pk-g300); border-radius: 6px; font-size: 13px; color: var(--pk-g700);
  transition: all var(--pk-trans); margin-bottom: 10px;
}
.pk-summary-coupon-btn:hover { border-color: var(--pk-black); color: var(--pk-black); }
.pk-summary-order-btn {
  display: block; width: 100%; padding: 15px; text-align: center;
  background: var(--pk-black); color: var(--pk-white);
  border-radius: 8px; font-size: 15px; font-weight: 700; cursor: pointer; border: none;
  transition: background var(--pk-trans);
}
.pk-summary-order-btn:hover { background: var(--pk-g900); }


/* ============================================================
   MYPAGE — マイページ
============================================================ */
.pk-mypage-layout {
  max-width: var(--pk-max); margin: 0 auto; padding: 40px 24px 60px;
  display: grid; grid-template-columns: 200px 1fr; gap: 52px; align-items: start;
}

/* 사이드바 */
.pk-mypage-aside { position: sticky; top: 160px; }
.pk-mypage-aside-title {
  font-size: 20px; font-weight: 800; letter-spacing: -.5px;
  margin-bottom: 20px; padding-bottom: 16px; border-bottom: 2px solid var(--pk-black);
}
.pk-mypage-nav-list { display: flex; flex-direction: column; }
.pk-mypage-nav-list li a {
  display: block; padding: 9px 6px; font-size: 13px; color: var(--pk-g700);
  border-radius: 4px; transition: all var(--pk-trans);
}
.pk-mypage-nav-list li a:hover { color: var(--pk-black); }
.pk-mypage-nav-list li.active a { color: var(--pk-black); font-weight: 700; }

/* 오른쪽 콘텐츠 */
.pk-mypage-content { display: flex; flex-direction: column; gap: 24px; }

/* モバイル 드로어 바 (デスクトップ에서 숨김) */
.pk-drawer-bar {
  display: none;
  align-items: center; justify-content: space-between;
  padding: 14px 16px;
  border-bottom: 1px solid #ebebeb;
  background: #fff;
  position: sticky; top: 0; z-index: 80;
  box-shadow: 0 1px 6px rgba(0,0,0,.06);
}
.pk-drawer-bar-label {
  font-size: 14px; font-weight: 800; color: #111; letter-spacing: -.2px;
}
.pk-drawer-toggle {
  display: flex; align-items: center; gap: 6px;
  border: 1.5px solid #e0e0e0; border-radius: 8px;
  padding: 7px 12px; background: #fff; cursor: pointer;
  font-size: 12px; font-weight: 700; color: #555; font-family: inherit;
}
.pk-drawer-toggle:hover { border-color: #111; color: #111; }
/* 드로어 오버레이/패널 (モバイル에서만 활성화) */
.pk-drawer-overlay { display: none; }
.pk-drawer-panel { display: none; }

/* 프로필 카드 */
.pk-profile-card {
  display: flex; align-items: center; justify-content: space-between;
  gap: 32px; padding: 28px 32px; border: 1px solid var(--pk-g200);
  border-radius: 12px; flex-wrap: wrap;
}
.pk-profile-left { display: flex; align-items: center; gap: 20px; }
.pk-profile-avatar {
  width: 64px; height: 64px; border-radius: 50%; background: var(--pk-g200);
  display: flex; align-items: center; justify-content: center;
  overflow: hidden; flex-shrink: 0; color: var(--pk-g500);
}
.pk-profile-avatar img { width: 100%; height: 100%; object-fit: cover; }
.pk-profile-name  { font-size: 16px; font-weight: 700; margin-bottom: 4px; }
.pk-profile-tel   { font-size: 13px; color: var(--pk-g500); margin-bottom: 4px; }
.pk-profile-grade { font-size: 12px; color: var(--pk-g500); margin-bottom: 8px; }
.pk-grade-badge {
  display: inline-block; padding: 2px 8px; border: 1px solid var(--pk-g300);
  border-radius: 4px; font-size: 11px; color: var(--pk-g700); margin-left: 6px;
}
.pk-profile-logout { font-size: 12px; color: var(--pk-g500); border-bottom: 1px solid var(--pk-g300); transition: color var(--pk-trans); }
.pk-profile-logout:hover { color: var(--pk-black); }

/* 통계 */
.pk-profile-stats { display: flex; gap: 40px; }
.pk-profile-stat  { text-align: center; }
.pk-stat-label    { display: block; font-size: 12px; color: var(--pk-g500); margin-bottom: 6px; }
.pk-stat-value    { display: block; font-size: 20px; font-weight: 800; color: var(--pk-black); }
.pk-stat-point    { color: var(--pk-black) !important; }

/* 섹션 공통 */
.pk-mypage-section {
  border: 1px solid var(--pk-g200); border-radius: 12px; padding: 24px;
}
.pk-section-head {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 20px; padding-bottom: 16px; border-bottom: 1px solid var(--pk-g100);
}
.pk-section-heading { font-size: 16px; font-weight: 700; }
.pk-section-more {
  font-size: 12px; color: var(--pk-g500); display: flex; align-items: center; gap: 2px;
  transition: color var(--pk-trans);
}
.pk-section-more:hover { color: var(--pk-black); }

/* 注文 트래커 */
.pk-order-tracker {
  display: flex; align-items: center; justify-content: center;
  gap: 0; padding: 8px 0;
}
.pk-order-step     { text-align: center; flex: 1; }
.pk-order-step-num {
  display: flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; margin: 0 auto 8px;
  border: 1px solid var(--pk-g300); border-radius: 50%;
  font-size: 16px; font-weight: 700; color: var(--pk-black);
  transition: all var(--pk-trans);
}
.pk-order-step-num:hover { background: var(--pk-black); color: var(--pk-white); border-color: var(--pk-black); }
.pk-order-step-name { font-size: 11px; color: var(--pk-g500); white-space: nowrap; }
.pk-order-step-sep { color: var(--pk-g300); display: flex; align-items: center; flex-shrink: 0; }

/* 最近見た商品 */
.pk-recent-items {
  display: grid; grid-template-columns: repeat(8, 1fr); gap: 12px;
}
.pk-recent-items li a { display: block; }
.pk-recent-items img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 6px; margin-bottom: 6px; }
.pk-recent-name { font-size: 11px; color: var(--pk-g700); line-height: 1.3; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.pk-empty-msg { padding: 32px 0; text-align: center; font-size: 13px; color: var(--pk-g500); }


/* ============================================================
   CS CENTER — カスタマーサポート
============================================================ */

/* 히어로 */
.pk-cs-hero {
  background: var(--pk-black); color: var(--pk-white);
  padding: 60px 0; margin-bottom: 0;
}
.pk-cs-hero-inner {
  display: flex; align-items: center; justify-content: space-between; gap: 40px;
}
.pk-cs-hero-label {
  font-size: 11px; font-weight: 700; letter-spacing: 2px; color: rgba(255,255,255,.4);
  margin-bottom: 12px;
}
.pk-cs-hero-title {
  font-size: 36px; font-weight: 900; letter-spacing: -1px; margin-bottom: 10px;
}
.pk-cs-hero-desc { font-size: 14px; color: rgba(255,255,255,.5); }
.pk-cs-tel-box {
  background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px; padding: 24px 32px; text-align: center; flex-shrink: 0;
}
.pk-cs-tel-label { font-size: 11px; color: rgba(255,255,255,.4); margin-bottom: 6px; letter-spacing: 1px; }
.pk-cs-tel-num { font-size: 26px; font-weight: 900; letter-spacing: -1px; margin-bottom: 4px; }
.pk-cs-tel-hours { font-size: 12px; color: rgba(255,255,255,.45); }

/* 빠른 メニュー */
.pk-cs-quickmenu {
  background: var(--pk-white); border-bottom: 1px solid var(--pk-g200);
}
.pk-cs-quickmenu-list {
  display: flex; list-style: none; padding: 0;
}
.pk-cs-qm-item {
  display: flex; flex-direction: column; align-items: center; gap: 6px;
  padding: 20px 24px; font-size: 13px; font-weight: 600; color: var(--pk-g700);
  border-bottom: 2px solid transparent; transition: all var(--pk-trans);
  white-space: nowrap;
}
.pk-cs-qm-item:hover { color: var(--pk-black); border-bottom-color: var(--pk-black); }
.pk-cs-qm-item.active { color: var(--pk-black); font-weight: 700; border-bottom-color: var(--pk-black); }
.pk-cs-qm-icon { font-size: 20px; }

/* 掲示板 本文 영역 */
.pk-cs-board-wrap { padding: 40px 0 80px; }
.pk-cs-board-header {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 20px; padding-bottom: 16px; border-bottom: 2px solid var(--pk-black);
}
.pk-cs-board-title { font-size: 18px; font-weight: 800; }
.pk-cs-write-btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 9px 18px; background: var(--pk-black); color: var(--pk-white);
  border-radius: 6px; font-size: 13px; font-weight: 600; transition: background var(--pk-trans);
}
.pk-cs-write-btn:hover { background: var(--pk-g900); }

/* 테이블 */
.pk-cs-table { width: 100%; border-collapse: collapse; }
.pk-cs-table thead th {
  padding: 11px 14px; font-size: 12px; font-weight: 600; text-align: left;
  border-bottom: 1px solid var(--pk-g200); color: var(--pk-g500); letter-spacing: .3px;
}
.pk-cs-table tbody tr { border-bottom: 1px solid var(--pk-g100); transition: background var(--pk-trans); }
.pk-cs-table tbody tr:hover { background: var(--pk-g100); }
.pk-cs-tr-notice { background: #fafafa; }
.pk-cs-td-subject { padding: 16px 14px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.pk-cs-td-date { padding: 16px 14px; font-size: 12px; color: var(--pk-g500); white-space: nowrap; }
.pk-cs-subject-link { font-size: 14px; color: var(--pk-black); line-height: 1.4; }
.pk-cs-subject-link:hover { text-decoration: underline; }

.pk-cs-badge {
  display: inline-block; padding: 2px 7px; border-radius: 4px;
  font-size: 11px; font-weight: 700; letter-spacing: .3px; white-space: nowrap; flex-shrink: 0;
}
.pk-cs-badge-notice { background: var(--pk-black); color: var(--pk-white); }
.pk-cs-badge-cate { background: var(--pk-g100); color: var(--pk-g700); border: 1px solid var(--pk-g200); }

.pk-cs-comment-cnt { font-size: 12px; color: var(--pk-accent); margin-left: 2px; }
.pk-cs-new-dot {
  display: inline-flex; align-items: center; justify-content: center;
  width: 16px; height: 16px; background: var(--pk-accent); color: var(--pk-white);
  border-radius: 50%; font-size: 9px; font-weight: 800; flex-shrink: 0;
}
.pk-cs-empty {
  padding: 60px 20px; text-align: center; color: var(--pk-g500); font-size: 14px;
  display: flex; flex-direction: column; align-items: center;
}

/* 検索 */
.pk-cs-search-wrap { margin-top: 32px; display: flex; justify-content: center; }
.pk-cs-search-form { display: flex; align-items: center; gap: 8px; }
.pk-cs-sfl {
  padding: 10px 12px; border: 1px solid var(--pk-g200); border-radius: 6px;
  font-size: 13px; color: var(--pk-black); background: var(--pk-white);
}
.pk-cs-search-input-wrap {
  display: flex; border: 1.5px solid var(--pk-g200); border-radius: 6px; overflow: hidden;
  transition: border-color var(--pk-trans);
}
.pk-cs-search-input-wrap:focus-within { border-color: var(--pk-black); }
.pk-cs-stx {
  width: 240px; padding: 10px 14px; border: none; outline: none;
  font-size: 13px; color: var(--pk-black);
}
.pk-cs-search-btn {
  padding: 0 16px; background: var(--pk-black); color: var(--pk-white);
  display: flex; align-items: center; border: none; cursor: pointer;
  transition: background var(--pk-trans);
}
.pk-cs-search-btn:hover { background: var(--pk-g900); }

/* 投稿 읽기 */
.pk-bv-wrap { max-width: 800px; margin: 0 auto; padding: 0 0 60px; }
.pk-bv-header {
  padding: 32px 0 24px; border-bottom: 1px solid var(--pk-g200); margin-bottom: 32px;
}
.pk-bv-title { font-size: 22px; font-weight: 800; line-height: 1.4; letter-spacing: -.5px; margin: 10px 0; }
.pk-bv-meta { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; font-size: 13px; color: var(--pk-g500); }
.pk-bv-sep { color: var(--pk-g300); }
.pk-bv-author { color: var(--pk-g700); font-weight: 500; }

.pk-bv-body { min-height: 200px; margin-bottom: 32px; }
.pk-bv-content { font-size: 15px; line-height: 1.9; color: var(--pk-g900); }
.pk-bv-content img { max-width: 100%; margin: 12px 0; border-radius: 6px; }
.pk-bv-files-top { margin-bottom: 20px; }

.pk-bv-attach {
  padding: 20px 24px; background: var(--pk-g100); border-radius: 8px; margin-bottom: 24px;
}
.pk-bv-attach-title { font-size: 13px; font-weight: 700; margin-bottom: 12px; color: var(--pk-g700); }
.pk-bv-attach-list { display: flex; flex-direction: column; gap: 8px; }
.pk-bv-attach-item { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.pk-bv-attach-link { color: var(--pk-black); font-weight: 500; transition: color var(--pk-trans); }
.pk-bv-attach-link:hover { color: var(--pk-accent); text-decoration: underline; }
.pk-bv-attach-size { color: var(--pk-g500); font-size: 12px; }
.pk-bv-attach-cnt { font-size: 12px; color: var(--pk-g500); margin-left: auto; }

.pk-bv-actions {
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 0; border-top: 1px solid var(--pk-g100); border-bottom: 1px solid var(--pk-g100);
  margin-bottom: 20px; flex-wrap: wrap; gap: 8px;
}
.pk-bv-actions-right { display: flex; gap: 8px; }
.pk-bv-btn {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 8px 16px; border-radius: 6px; font-size: 13px; font-weight: 500;
  border: 1px solid var(--pk-g200); color: var(--pk-g700); background: var(--pk-white);
  transition: all var(--pk-trans);
}
.pk-bv-btn:hover { border-color: var(--pk-black); color: var(--pk-black); }
.pk-bv-btn-back { color: var(--pk-g700); }
.pk-bv-btn-del { color: var(--pk-accent); border-color: rgba(230,57,70,.3); }
.pk-bv-btn-del:hover { background: var(--pk-accent); color: var(--pk-white); border-color: var(--pk-accent); }
.pk-bv-btn-write { background: var(--pk-black); color: var(--pk-white); border-color: var(--pk-black); }
.pk-bv-btn-write:hover { background: var(--pk-g900); color: var(--pk-white); }

.pk-bv-nav { border: 1px solid var(--pk-g200); border-radius: 8px; overflow: hidden; margin-bottom: 32px; }
.pk-bv-nav-item {
  display: grid; grid-template-columns: 60px 1fr auto;
  align-items: center; gap: 12px; padding: 14px 20px;
  border-bottom: 1px solid var(--pk-g100); transition: background var(--pk-trans);
}
.pk-bv-nav-item:last-child { border-bottom: none; }
.pk-bv-nav-item:hover { background: var(--pk-g100); }
.pk-bv-nav-label { font-size: 12px; color: var(--pk-g500); display: flex; align-items: center; gap: 4px; }
.pk-bv-nav-subject { font-size: 14px; color: var(--pk-black); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.pk-bv-nav-date { font-size: 12px; color: var(--pk-g500); white-space: nowrap; }

/* 投稿 작성 */
.pk-bw-wrap { max-width: 800px; margin: 0 auto; padding: 0 0 80px; }
.pk-bw-header { margin-bottom: 36px; }
.pk-bw-title { font-size: 22px; font-weight: 800; margin-bottom: 6px; }
.pk-bw-sub { font-size: 13px; color: var(--pk-g500); }
.pk-bw-field { margin-bottom: 20px; }
.pk-bw-label { display: block; font-size: 12px; font-weight: 700; color: var(--pk-g700); margin-bottom: 8px; letter-spacing: .3px; text-transform: uppercase; }
.pk-bw-req { color: var(--pk-accent); margin-left: 2px; }
.pk-bw-input {
  width: 100%; padding: 12px 16px; border: 1.5px solid var(--pk-g200); border-radius: 8px;
  font-size: 14px; color: var(--pk-black); transition: border-color var(--pk-trans);
}
.pk-bw-input:focus { outline: none; border-color: var(--pk-black); }
.pk-bw-select {
  width: 100%; padding: 12px 16px; border: 1.5px solid var(--pk-g200); border-radius: 8px;
  font-size: 14px; color: var(--pk-black); background: var(--pk-white);
  transition: border-color var(--pk-trans);
}
.pk-bw-select:focus { outline: none; border-color: var(--pk-black); }
.pk-bw-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 0; }
.pk-bw-options { display: flex; gap: 20px; margin-bottom: 20px; }
.pk-bw-chk { display: flex; align-items: center; gap: 7px; font-size: 13px; color: var(--pk-g700); cursor: pointer; }
.pk-bw-chk input { accent-color: var(--pk-black); }
.pk-bw-editor-wrap { border: 1.5px solid var(--pk-g200); border-radius: 8px; overflow: hidden; }
.pk-bw-editor-wrap textarea {
  width: 100%; min-height: 280px; padding: 16px; border: none; outline: none;
  font-size: 14px; line-height: 1.7; resize: vertical; font-family: inherit;
}
.pk-bw-limit-desc { font-size: 12px; color: var(--pk-g500); margin-bottom: 6px; }
.pk-bw-char-count { text-align: right; font-size: 12px; color: var(--pk-g500); margin-top: 4px; }
.pk-bw-file { padding: 8px 0; font-size: 13px; }
.pk-bw-del-file { font-size: 12px; color: var(--pk-g700); display: flex; align-items: center; gap: 6px; margin-top: 6px; cursor: pointer; }
.pk-bw-autosave-btn {
  margin-top: 8px; padding: 6px 12px; border: 1px solid var(--pk-g200); border-radius: 4px;
  font-size: 12px; color: var(--pk-g700); transition: all var(--pk-trans);
}
.pk-bw-autosave-btn:hover { border-color: var(--pk-black); color: var(--pk-black); }
.pk-autosave-pop {
  margin-top: 8px; padding: 16px; background: var(--pk-g100); border-radius: 8px;
  display: none; font-size: 13px;
}
.pk-bw-submit-row {
  display: flex; align-items: center; justify-content: flex-end; gap: 10px;
  padding-top: 20px; border-top: 1px solid var(--pk-g100); margin-top: 8px;
}
.pk-bw-btn {
  padding: 12px 28px; border-radius: 8px; font-size: 14px; font-weight: 600;
  cursor: pointer; transition: all var(--pk-trans); border: 1.5px solid var(--pk-g200);
  color: var(--pk-g700); background: var(--pk-white);
}
.pk-bw-btn:hover { border-color: var(--pk-black); color: var(--pk-black); }
.pk-bw-btn-cancel { }
.pk-bw-btn-submit { background: var(--pk-black); color: var(--pk-white); border-color: var(--pk-black); }
.pk-bw-btn-submit:hover { background: var(--pk-g900); color: var(--pk-white); }

/* ============================================================
   COMMENT — コメント
============================================================ */
.pk-vc-wrap { margin-top: 40px; padding-top: 32px; border-top: 1px solid var(--pk-g200); }
.pk-vc-title {
  font-size: 16px; font-weight: 700; margin-bottom: 20px;
}
.pk-vc-count { color: var(--pk-accent); }

.pk-vc-item {
  display: flex; gap: 14px; padding: 18px 0; border-bottom: 1px solid var(--pk-g100);
}
.pk-vc-reply { background: var(--pk-g100); border-radius: 8px; padding: 14px 16px; margin: 4px 0; border-bottom: none; }
.pk-vc-avatar {
  width: 36px; height: 36px; border-radius: 50%; background: var(--pk-g200);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0; overflow: hidden;
  color: var(--pk-g500);
}
.pk-vc-avatar img { width: 100%; height: 100%; object-fit: cover; }
.pk-vc-body { flex: 1; min-width: 0; }
.pk-vc-meta { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; flex-wrap: wrap; }
.pk-vc-name { font-size: 13px; font-weight: 700; color: var(--pk-black); }
.pk-vc-date { font-size: 12px; color: var(--pk-g500); }
.pk-vc-content { font-size: 14px; line-height: 1.7; color: var(--pk-g900); white-space: pre-wrap; }
.pk-vc-secret { font-size: 13px; color: var(--pk-g500); display: block; margin-bottom: 4px; }

.pk-vc-act-wrap { position: relative; margin-left: auto; }
.pk-vc-act-toggle {
  padding: 4px 8px; font-size: 14px; color: var(--pk-g500); border-radius: 4px;
  transition: all var(--pk-trans); letter-spacing: 1px;
}
.pk-vc-act-toggle:hover { background: var(--pk-g200); color: var(--pk-black); }
.pk-vc-act-menu {
  position: absolute; right: 0; top: 100%; margin-top: 4px; z-index: 10;
  background: var(--pk-white); border: 1px solid var(--pk-g200); border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0,0,0,.1); min-width: 90px;
  display: none;
}
.pk-vc-act-menu.open { display: block; }
.pk-vc-act-menu li a {
  display: block; padding: 9px 16px; font-size: 13px; color: var(--pk-g700);
  transition: all var(--pk-trans);
}
.pk-vc-act-menu li a:hover { background: var(--pk-g100); color: var(--pk-black); }

.pk-vc-empty { padding: 32px 0; text-align: center; color: var(--pk-g500); font-size: 14px; }

/* コメント 작성 폼 */
.pk-vc-form-wrap {
  margin-top: 24px; padding: 24px; background: var(--pk-g100); border-radius: 12px;
}
.pk-vc-form-title { font-size: 14px; font-weight: 700; margin-bottom: 14px; }
.pk-vc-guest-row { display: flex; gap: 10px; margin-bottom: 10px; }
.pk-vc-input {
  flex: 1; padding: 10px 14px; border: 1.5px solid var(--pk-g200); border-radius: 6px;
  font-size: 13px; background: var(--pk-white); transition: border-color var(--pk-trans);
}
.pk-vc-input:focus { outline: none; border-color: var(--pk-black); }
.pk-vc-textarea-wrap { position: relative; margin-bottom: 10px; }
.pk-vc-textarea {
  width: 100%; padding: 14px 16px; border: 1.5px solid var(--pk-g200); border-radius: 8px;
  font-size: 14px; line-height: 1.7; resize: none; min-height: 100px;
  background: var(--pk-white); font-family: inherit; transition: border-color var(--pk-trans);
}
.pk-vc-textarea:focus { outline: none; border-color: var(--pk-black); }
.pk-vc-charcount {
  position: absolute; bottom: 10px; right: 12px; font-size: 11px; color: var(--pk-g500);
}
.pk-vc-submit-row { display: flex; align-items: center; justify-content: space-between; }
.pk-vc-secret-label {
  display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--pk-g700); cursor: pointer;
}
.pk-vc-secret-label input { accent-color: var(--pk-black); }
.pk-vc-submit-btn {
  padding: 10px 24px; background: var(--pk-black); color: var(--pk-white);
  border-radius: 6px; font-size: 13px; font-weight: 600; border: none; cursor: pointer;
  transition: background var(--pk-trans);
}
.pk-vc-submit-btn:hover { background: var(--pk-g900); }


/* ============================================================
   REVIEW LIST PAGE — レビュー 목록
============================================================ */
.pk-review-wrap {
  max-width: var(--pk-max); margin: 0 auto; padding: 40px 24px 60px;
}

/* BEST レビュー */
.pk-review-best-section { margin-bottom: 40px; }
.pk-review-best-head {
  display: flex; align-items: baseline; gap: 10px; margin-bottom: 16px;
  padding-bottom: 12px; border-bottom: 2px solid var(--pk-black);
}
.pk-review-best-title { font-size: 18px; font-weight: 800; }
.pk-review-best-count { font-size: 13px; color: var(--pk-g500); }
.pk-review-best-list {
  display: grid; grid-template-columns: repeat(8, 1fr); gap: 12px;
}
.pk-review-best-img img { width: 100%; aspect-ratio: 1/1; object-fit: cover; border-radius: 6px; }
.pk-review-best-name { font-size: 11px; color: var(--pk-g700); margin-top: 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* 検索 */
.pk-review-search-form { margin-bottom: 32px; }
.pk-review-search-inner {
  display: flex; align-items: center; gap: 8px;
  justify-content: flex-end;
}
.pk-review-sfl {
  padding: 8px 10px; border: 1px solid var(--pk-g200); border-radius: 4px; font-size: 13px; background: var(--pk-white);
}
.pk-review-stx {
  width: 220px; padding: 8px 12px; border: 1px solid var(--pk-g200); border-radius: 4px; font-size: 13px;
}
.pk-review-search-btn {
  padding: 8px 16px; background: var(--pk-black); color: var(--pk-white); border-radius: 4px; font-size: 13px;
}
.pk-review-reset-btn { font-size: 13px; color: var(--pk-g500); text-decoration: underline; }

/* レビュー 목록 */
.pk-review-list { display: flex; flex-direction: column; }
.pk-review-item {
  display: flex; gap: 20px; padding: 24px 0; border-bottom: 1px solid var(--pk-g100);
}
.pk-review-it-img { flex-shrink: 0; width: 90px; }
.pk-review-it-img img { width: 90px; height: 90px; object-fit: cover; border-radius: 6px; border: 1px solid var(--pk-g200); }
.pk-review-body { flex: 1; min-width: 0; }
.pk-review-top { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.pk-review-stars { display: flex; gap: 2px; }
.pk-review-it-name { font-size: 12px; color: var(--pk-g500); }
.pk-review-subject { font-size: 15px; font-weight: 600; margin-bottom: 8px; }
.pk-review-thumbs { display: flex; gap: 6px; margin-bottom: 8px; }
.pk-review-thumbs img { width: 80px; height: 80px; object-fit: cover; border-radius: 4px; }
.pk-review-content { margin: 12px 0; font-size: 14px; line-height: 1.7; color: var(--pk-g700); }
.pk-review-reply {
  margin-top: 16px; padding: 14px; background: var(--pk-g100); border-radius: 6px; font-size: 13px;
}
.pk-review-reply strong { display: block; margin-bottom: 6px; color: var(--pk-black); }
.pk-review-meta {
  display: flex; align-items: center; gap: 12px; margin-top: 8px; font-size: 12px; color: var(--pk-g500);
}
.pk-review-toggle {
  padding: 4px 10px; border: 1px solid var(--pk-g200); border-radius: 4px;
  font-size: 12px; color: var(--pk-g700); transition: all var(--pk-trans);
}
.pk-review-toggle:hover { border-color: var(--pk-black); color: var(--pk-black); }
.pk-review-empty { text-align: center; padding: 60px 0; color: var(--pk-g500); }

/* ============================================================
   FILTER SIDEBAR — 価格/ブランド フィルター
============================================================ */
.pk-sidebar-filter-list {
  display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; padding: 0;
}
.pk-filter-tag {
  padding: 5px 12px; border: 1px solid var(--pk-g200); border-radius: 20px;
  font-size: 12px; color: var(--pk-g700); background: var(--pk-white);
  transition: all var(--pk-trans); cursor: pointer;
}
.pk-filter-tag:hover { border-color: var(--pk-black); color: var(--pk-black); }
.pk-filter-tag.active { background: var(--pk-black); color: var(--pk-white); border-color: var(--pk-black); }

.pk-price-range-inputs {
  display: flex; align-items: center; gap: 6px; margin-top: 8px;
}
.pk-price-input {
  flex: 1; min-width: 0; padding: 7px 8px; border: 1px solid var(--pk-g200);
  border-radius: 4px; font-size: 12px; color: var(--pk-black);
  transition: border-color var(--pk-trans);
}
.pk-price-input:focus { outline: none; border-color: var(--pk-black); }
.pk-price-dash { font-size: 12px; color: var(--pk-g500); flex-shrink: 0; }
.pk-price-apply-btn {
  padding: 7px 12px; background: var(--pk-black); color: var(--pk-white);
  border-radius: 4px; font-size: 12px; font-weight: 600; white-space: nowrap;
  transition: background var(--pk-trans);
}
.pk-price-apply-btn:hover { background: var(--pk-g900); }

.pk-brand-search-wrap { margin-bottom: 10px; }
.pk-brand-search {
  width: 100%; padding: 7px 10px; border: 1px solid var(--pk-g200);
  border-radius: 4px; font-size: 12px; color: var(--pk-black);
  transition: border-color var(--pk-trans);
}
.pk-brand-search:focus { outline: none; border-color: var(--pk-black); }

.pk-sidebar-brand-list {
  display: flex; flex-direction: column; gap: 2px; max-height: 200px;
  overflow-y: auto; scrollbar-width: thin;
}
.pk-sidebar-brand-list::-webkit-scrollbar { width: 3px; }
.pk-sidebar-brand-list::-webkit-scrollbar-track { background: transparent; }
.pk-sidebar-brand-list::-webkit-scrollbar-thumb { background: var(--pk-g300); border-radius: 2px; }

.pk-brand-tag {
  width: 100%; text-align: left; padding: 7px 10px; border-radius: 6px;
  font-size: 13px; color: var(--pk-g700); transition: all var(--pk-trans);
}
.pk-brand-tag:hover { background: var(--pk-g100); color: var(--pk-black); }
.pk-brand-tag.active { background: var(--pk-black); color: var(--pk-white); font-weight: 600; }

.pk-filter-actions {
  display: flex; gap: 8px; margin-top: 4px;
}
.pk-filter-reset-btn {
  flex: 1; padding: 9px; border: 1px solid var(--pk-g300); border-radius: 6px;
  font-size: 13px; color: var(--pk-g700); background: var(--pk-white);
  transition: all var(--pk-trans);
}
.pk-filter-reset-btn:hover { border-color: var(--pk-black); color: var(--pk-black); }
.pk-filter-apply-main-btn {
  flex: 1; padding: 9px; background: var(--pk-black); color: var(--pk-white);
  border-radius: 6px; font-size: 13px; font-weight: 600;
  transition: background var(--pk-trans);
}
.pk-filter-apply-main-btn:hover { background: var(--pk-g900); }


/* ============================================================
   MYPAGE SPA TABS — 탭 콘텐츠
============================================================ */
.pk-tab-heading {
  font-size: 20px; font-weight: 800; letter-spacing: -.5px; margin-bottom: 6px;
}
.pk-tab-desc { font-size: 13px; color: var(--pk-g500); margin-bottom: 28px; }

.pk-point-balance {
  display: inline-flex; align-items: baseline; gap: 6px;
  padding: 16px 24px; background: var(--pk-g100); border-radius: 10px; margin-bottom: 24px;
}
.pk-point-balance .amount {
  font-size: 28px; font-weight: 800; color: var(--pk-black);
}
.pk-point-balance .unit { font-size: 14px; color: var(--pk-g700); }

.pk-coupon-list { display: flex; flex-direction: column; gap: 12px; }
.pk-coupon-item {
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 20px; border: 1px dashed var(--pk-g300); border-radius: 8px;
  background: var(--pk-g100);
}
.pk-coupon-name { font-size: 14px; font-weight: 600; margin-bottom: 4px; }
.pk-coupon-discount { font-size: 22px; font-weight: 800; color: var(--pk-accent); }
.pk-coupon-expiry { font-size: 12px; color: var(--pk-g500); margin-top: 4px; }

/* 会員情報修正 폼 */
.pk-info-form-section { display: flex; flex-direction: column; gap: 16px; }
.pk-info-form-row {
  display: grid; grid-template-columns: 100px 1fr; gap: 12px; align-items: center;
}
.pk-info-form-label { font-size: 13px; font-weight: 600; color: var(--pk-g700); }
.pk-info-form-input {
  padding: 10px 14px; border: 1px solid var(--pk-g200); border-radius: 6px;
  font-size: 14px; color: var(--pk-black); transition: border-color var(--pk-trans);
}
.pk-info-form-input:focus { outline: none; border-color: var(--pk-black); }
.pk-info-section {
  background: #fff; border: 1.5px solid #ebebeb; border-radius: 16px;
  padding: 24px 28px; overflow: hidden;
}
.pk-info-actions { display: flex; gap: 10px; margin-top: 24px; flex-wrap: wrap; }
.pk-info-save-btn {
  padding: 12px 32px; background: var(--pk-black); color: var(--pk-white);
  border-radius: 6px; font-size: 14px; font-weight: 600; transition: background var(--pk-trans);
}
.pk-info-save-btn:hover { background: var(--pk-g900); }
.pk-info-edit-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 13px 28px; background: #111; color: #fff;
  border: none; border-radius: 10px; font-size: 14px; font-weight: 700;
  cursor: pointer; font-family: inherit; letter-spacing: -.2px;
  transition: background .15s; text-decoration: none;
}
.pk-info-edit-btn:hover { background: #333; color: #fff; }
.pk-info-leave-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 13px 22px; background: #fff; color: #888;
  border: 1.5px solid #e0e0e0; border-radius: 10px; font-size: 14px; font-weight: 700;
  cursor: pointer; font-family: inherit; letter-spacing: -.2px;
  transition: all .15s;
}
.pk-info-leave-btn:hover { border-color: #e44; color: #e44; }


/* ============================================================
   ORDER INQUIRY — ご注文履歴
============================================================ */
.pk-order-filter-form { margin-bottom: 28px; }
.pk-order-filter-btns {
  display: flex; gap: 6px; margin-bottom: 12px;
}
.pk-filter-btn {
  padding: 8px 18px; border: 1px solid var(--pk-g200); border-radius: 4px;
  font-size: 13px; color: var(--pk-g700); background: var(--pk-white); transition: all var(--pk-trans);
}
.pk-filter-btn:hover { border-color: var(--pk-black); color: var(--pk-black); }
.pk-filter-btn.active { background: var(--pk-black); color: var(--pk-white); border-color: var(--pk-black); }
.pk-order-filter-date { display: flex; align-items: center; gap: 8px; }
.pk-date-input {
  padding: 8px 12px; border: 1px solid var(--pk-g200); border-radius: 4px; font-size: 13px; font-family: inherit;
}
.pk-date-sep { color: var(--pk-g500); }
.pk-date-search-btn {
  padding: 8px 20px; background: var(--pk-accent); color: var(--pk-white);
  border-radius: 4px; font-size: 13px; font-weight: 600;
}

.pk-order-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.pk-order-table thead th {
  padding: 12px 16px; font-size: 13px; font-weight: 600; text-align: left;
  border-top: 2px solid var(--pk-black); border-bottom: 1px solid var(--pk-g200); color: var(--pk-g700);
}
.pk-order-table tbody tr { border-bottom: 1px solid var(--pk-g100); }
.pk-order-table tbody tr:hover { background: var(--pk-g100); }
.pk-order-table td { padding: 14px 16px; }
.pk-order-id-link { color: var(--pk-black); font-weight: 600; text-decoration: underline; }
.pk-order-date { color: var(--pk-g700); font-size: 13px; }
.pk-order-qty, .pk-order-price { text-align: right; }
.pk-order-status {
  display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 12px; font-weight: 600;
}
.pk-order-status-wait    { background: #fff3e0; color: #e65100; }
.pk-order-status-paid    { background: #e8f5e9; color: #2e7d32; }
.pk-order-status-ready   { background: #e3f2fd; color: #1565c0; }
.pk-order-status-shipping { background: #f3e5f5; color: #6a1b9a; }
.pk-order-status-done    { background: #e8eaf6; color: #283593; }
.pk-order-status-cancel  { background: var(--pk-g100); color: var(--pk-g700); }
.pk-order-empty { padding: 40px; text-align: center; color: var(--pk-g500); font-size: 14px; }

/* ============================================================
   FOOTER — 3컬럼
============================================================ */
.pk-footer {
  background: #1a1a1a; color: rgba(255,255,255,.6);
  padding: 52px 0 0; margin-top: 60px;
}
.pk-footer-inner { max-width: var(--pk-max); margin: 0 auto; padding: 0 24px; }

.pk-footer-cols {
  display: grid; grid-template-columns: 1fr 1fr 1.5fr; gap: 48px;
  padding-bottom: 40px; border-bottom: 1px solid rgba(255,255,255,.08); margin-bottom: 28px;
}
.pk-footer-col-title {
  font-size: 14px; font-weight: 400; letter-spacing: 1px; text-transform: uppercase;
  color: rgba(255,255,255,.9); margin-bottom: 16px;
}
.pk-footer-col-links { display: flex; flex-direction: column; gap: 10px; }
.pk-footer-col-links a { font-size: 13px; color: rgba(255,255,255,.5); transition: color var(--pk-trans); }
.pk-footer-col-links a:hover { color: var(--pk-white); }

.pk-footer-cs-number { font-size: 22px; font-weight: 800; color: var(--pk-white); margin-bottom: 6px; letter-spacing: -.5px; }
.pk-footer-cs-hours  { font-size: 12px; color: rgba(255,255,255,.45); line-height: 1.9; }
.pk-footer-cs-btns   { display: flex; gap: 8px; margin-top: 16px; }
.pk-footer-cs-btn {
  padding: 9px 18px; border: 1px solid rgba(255,255,255,.25);
  border-radius: 6px; font-size: 12px; color: rgba(255,255,255,.7); font-weight: 500;
  transition: all var(--pk-trans);
}
.pk-footer-cs-btn:hover { border-color: var(--pk-white); color: var(--pk-white); }
.pk-footer-cs-btn-fill { background: rgba(255,255,255,.08); }

.pk-footer-bottom {
  padding: 24px 0; display: flex; justify-content: space-between;
  align-items: flex-start; flex-wrap: wrap; gap: 16px;
}
.pk-footer-logo-area { display: flex; flex-direction: column; gap: 12px; }
.pk-footer-logo { font-size: 18px; font-weight: 900; color: var(--pk-white); letter-spacing: -1px; font-style: italic; }
.pk-footer-policy-links { display: flex; gap: 16px; }
.pk-footer-policy-links a { font-size: 12px; color: rgba(255,255,255,.4); transition: color var(--pk-trans); }
.pk-footer-policy-links a:hover { color: var(--pk-white); }
.pk-footer-policy-links strong { color: rgba(255,255,255,.7); }
.pk-footer-corp p { font-size: 12px; color: rgba(255,255,255,.32); line-height: 1.9; }
.pk-footer-copy { color: rgba(255,255,255,.22) !important; margin-top: 4px; }

/* Footer social icons */
.pk-footer-social { display: flex; gap: 8px; margin-top: 14px; }
.pk-soc-btn {
  width: 36px; height: 36px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,.05); color: rgba(255,255,255,.7);
  border: 1px solid rgba(255,255,255,.08);
  transition: all .15s ease;
}
.pk-soc-btn:hover { background: #fff; color: #111; border-color: #fff; transform: translateY(-2px); }
.pk-soc-btn svg { display: block; }

/* 前 footer 클래스 정리 */
.pk-footer-top, .pk-footer-middle, .pk-footer-links, .pk-cs-label, .pk-cs-number, .pk-cs-time { display: none !important; }

/* === 掲示板 ページ — 가운데 정렬 (가로 max-width 1200px) === */
.pk-cs-hero,
.pk-cs-quickmenu,
.pk-cs-board-wrap,
.pk-bw-wrap,
.pk-qa-view-wrap {
  width: 100% !important;
}
.pk-cs-hero > .pk-container,
.pk-cs-quickmenu > .pk-container,
.pk-cs-board-wrap > .pk-container,
.pk-bw-wrap,
.pk-qa-view-wrap {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  box-sizing: border-box !important;
}
/* write 폼은 더 좁게 */
.pk-bw-wrap { max-width: 760px !important; }
@media (max-width: 768px) {
  .pk-cs-hero > .pk-container,
  .pk-cs-quickmenu > .pk-container,
  .pk-cs-board-wrap > .pk-container,
  .pk-bw-wrap,
  .pk-qa-view-wrap {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

/* === Event / Magazine 카드 그리드 (이미지 앨범 카드 뉴스) === */
.pk-cs-cards {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  padding: 30px 0 60px !important;
}
.pk-cs-card {
  display: flex !important;
  flex-direction: column !important;
  background: #fff !important;
  border: 1px solid #ebebeb !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  text-decoration: none !important;
  color: #111 !important;
  transition: all .18s ease !important;
}
.pk-cs-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 40px rgba(0,0,0,.08) !important;
  border-color: #ddd !important;
}
.pk-cs-card-thumb {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  background: linear-gradient(135deg,#f5f5f5 0%, #ebebeb 50%, #d8d8d8 100%) !important;
  overflow: hidden !important;
}
.pk-cs-card-thumb img {
  width: 100% !important; height: 100% !important;
  object-fit: cover !important; display: block !important;
}
.pk-cs-card-thumb-fallback {
  position: absolute !important; inset: 0 !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  font-size: 48px !important; opacity: .35 !important;
}
.pk-cs-card-badge {
  position: absolute !important; top: 12px !important; left: 12px !important;
  padding: 4px 10px !important; border-radius: 30px !important;
  background: rgba(255,255,255,.92) !important; color: #111 !important;
  font-size: 10px !important; font-weight: 700 !important;
  letter-spacing: 1px !important; text-transform: uppercase !important;
}
.pk-cs-card-body { padding: 18px 18px 22px !important; }
.pk-cs-card-meta {
  font-size: 11px !important; font-weight: 700 !important;
  letter-spacing: 1.5px !important; color: #aaa !important;
  text-transform: uppercase !important; margin-bottom: 8px !important;
}
.pk-cs-card-title {
  font-size: 15px !important; font-weight: 800 !important;
  color: #111 !important; margin: 0 0 6px !important;
  line-height: 1.5 !important; letter-spacing: -.3px !important;
  display: -webkit-box !important; -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important; overflow: hidden !important;
}
.pk-cs-card-desc {
  font-size: 12.5px !important; color: #666 !important;
  line-height: 1.6 !important;
  display: -webkit-box !important; -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important; overflow: hidden !important;
}
@media (max-width: 900px) { .pk-cs-cards { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 560px) { .pk-cs-cards { grid-template-columns: repeat(2, 1fr) !important; gap: 14px 8px !important; padding: 0 14px !important; box-sizing: border-box !important; } }


/* ============================================================
   FAQ PAGE — よくある質問
============================================================ */
.pk-faq-header { text-align: center; margin-bottom: 40px; }
.pk-faq-title { font-size: 28px; font-weight: 900; letter-spacing: -1px; margin-bottom: 10px; }
.pk-faq-sub { font-size: 14px; color: var(--pk-g500); }

.pk-faq-search { margin-bottom: 32px; }
.pk-faq-search-input {
  width: 100%; padding: 14px 20px; border: 1.5px solid var(--pk-g200); border-radius: 40px;
  font-size: 14px; color: var(--pk-black); transition: border-color var(--pk-trans);
}
.pk-faq-search-input:focus { outline: none; border-color: var(--pk-black); }

.pk-faq-list { margin-bottom: 48px; }
.pk-faq-item { border-bottom: 1px solid var(--pk-g100); }
.pk-faq-q {
  width: 100%; display: flex; align-items: center; gap: 16px;
  padding: 20px 0; text-align: left; background: none; cursor: pointer;
  transition: color var(--pk-trans);
}
.pk-faq-q:hover { color: var(--pk-black); }
.pk-faq-num {
  font-size: 12px; font-weight: 800; color: var(--pk-accent); font-style: italic;
  flex-shrink: 0; min-width: 24px;
}
.pk-faq-q-text { flex: 1; font-size: 15px; font-weight: 600; color: var(--pk-black); }
.pk-faq-arrow {
  flex-shrink: 0; color: var(--pk-g500);
  transition: transform .2s ease;
}
.pk-faq-item.open .pk-faq-arrow { transform: rotate(180deg); }

.pk-faq-a {
  max-height: 0; overflow: hidden; transition: max-height .3s ease, padding .3s ease;
  padding: 0 40px;
}
.pk-faq-item.open .pk-faq-a {
  max-height: 300px; padding: 0 40px 20px;
}
.pk-faq-a p { font-size: 14px; color: var(--pk-g700); line-height: 1.8; }

.pk-faq-more {
  text-align: center; padding: 40px 0; border-top: 1px solid var(--pk-g200);
}
.pk-faq-more p { font-size: 14px; color: var(--pk-g500); margin-bottom: 16px; }
.pk-faq-more-btn {
  display: inline-block; padding: 12px 28px;
  background: var(--pk-black); color: var(--pk-white);
  border-radius: 6px; font-size: 14px; font-weight: 600; transition: background var(--pk-trans);
}
.pk-faq-more-btn:hover { background: var(--pk-g900); }


/* ============================================================
   GRADE PAGE — 会員ランク
============================================================ */
.pk-grade-page-header { text-align: center; margin-bottom: 48px; }
.pk-grade-page-title { font-size: 28px; font-weight: 900; letter-spacing: -1px; margin-bottom: 10px; }
.pk-grade-page-sub { font-size: 14px; color: var(--pk-g500); }

/* 私のランク 카드 */
.pk-my-grade-card {
  display: grid; grid-template-columns: auto 1fr auto; gap: 24px; align-items: center;
  padding: 28px 36px; border-radius: 16px; background: var(--pk-black); color: var(--pk-white);
  margin-bottom: 52px;
}
.pk-my-grade-left { display: flex; align-items: center; gap: 16px; }
.pk-my-grade-icon { font-size: 36px; }
.pk-my-grade-label { font-size: 12px; color: rgba(255,255,255,.5); margin-bottom: 4px; }
.pk-my-grade-name { font-size: 22px; font-weight: 900; }
.pk-my-grade-right { text-align: center; }
.pk-my-grade-stat-label { font-size: 12px; color: rgba(255,255,255,.5); margin-bottom: 4px; }
.pk-my-grade-amount { font-size: 20px; font-weight: 800; margin-bottom: 4px; }
.pk-my-grade-benefit { font-size: 13px; color: #f5c842; font-weight: 600; }
.pk-my-grade-next { text-align: right; }
.pk-my-grade-next-label { font-size: 13px; color: rgba(255,255,255,.6); margin-bottom: 4px; }
.pk-my-grade-next-amount { font-size: 15px; font-weight: 700; margin-bottom: 10px; }
.pk-grade-progress-bar {
  width: 160px; height: 6px; background: rgba(255,255,255,.15); border-radius: 3px; overflow: hidden; margin-left: auto;
}
.pk-grade-progress-fill { height: 100%; border-radius: 3px; transition: width .6s ease; }

.pk-grade-login-banner {
  text-align: center; padding: 32px; background: var(--pk-g100); border-radius: 12px;
  margin-bottom: 48px; display: flex; align-items: center; justify-content: center; gap: 20px;
}
.pk-grade-login-btn {
  padding: 10px 24px; background: var(--pk-black); color: var(--pk-white);
  border-radius: 6px; font-size: 14px; font-weight: 600;
}

/* 등급 카드 그리드 */
.pk-grade-section-title { font-size: 18px; font-weight: 800; margin-bottom: 24px; }
.pk-grade-cards {
  display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; margin-bottom: 52px;
}
.pk-grade-card {
  padding: 24px 16px; border-radius: 12px; text-align: center;
  border: 1.5px solid var(--pk-g200); background: var(--pk-white); position: relative;
  transition: transform var(--pk-trans), box-shadow var(--pk-trans);
}
.pk-grade-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0,0,0,.08); }
.pk-grade-card-mine {
  border-color: var(--grade-color); background: color-mix(in srgb, var(--grade-color) 5%, white);
  box-shadow: 0 4px 20px color-mix(in srgb, var(--grade-color) 20%, transparent);
}
.pk-grade-card-badge {
  position: absolute; top: -10px; left: 50%; transform: translateX(-50%);
  padding: 3px 10px; background: var(--grade-color, var(--pk-black)); color: var(--pk-white);
  border-radius: 20px; font-size: 11px; font-weight: 700; white-space: nowrap;
}
.pk-grade-card-icon { font-size: 28px; margin-bottom: 10px; }
.pk-grade-card-name { font-size: 15px; font-weight: 800; color: var(--grade-color); margin-bottom: 2px; }
.pk-grade-card-en { font-size: 10px; font-weight: 700; color: var(--pk-g500); letter-spacing: 1px; margin-bottom: 12px; }
.pk-grade-card-condition { font-size: 11px; color: var(--pk-g700); margin-bottom: 12px; }
.pk-grade-pct { font-size: 24px; font-weight: 900; color: var(--pk-accent); display: block; }
.pk-grade-pct-label { font-size: 11px; color: var(--pk-g500); }

/* 特典 테이블 */
.pk-grade-benefit-table-wrap { overflow-x: auto; margin-bottom: 20px; }
.pk-grade-benefit-table { width: 100%; border-collapse: collapse; min-width: 700px; }
.pk-grade-benefit-table thead th {
  padding: 14px 16px; text-align: center; font-size: 13px; font-weight: 700;
  border-bottom: 2px solid var(--pk-black); border-top: 1px solid var(--pk-g200);
}
.pk-grade-benefit-table thead th:first-child { text-align: left; color: var(--pk-black); }
.pk-grade-benefit-table tbody td {
  padding: 12px 16px; text-align: center; font-size: 13px;
  border-bottom: 1px solid var(--pk-g100);
}
.pk-grade-benefit-table tbody td:first-child { text-align: left; font-weight: 600; color: var(--pk-g700); }
.pk-grade-benefit-table tbody tr:hover { background: var(--pk-g100); }
.pk-grade-notice { font-size: 12px; color: var(--pk-g500); line-height: 1.8; }


/* ============================================================
   AUTH PAGES — ログイン / 会員情報 찾기 독립 ページ
============================================================ */
.pk-auth-wrap {
  min-height: 80vh; display: flex; align-items: center; justify-content: center;
  padding: 40px 16px;
}
.pk-auth-box {
  width: 100%; max-width: 420px;
}
.pk-auth-brand {
  display: block; font-size: 26px; font-weight: 900; font-style: italic;
  letter-spacing: -1px; color: var(--pk-black); text-align: center;
  margin-bottom: 28px;
}
.pk-auth-title {
  font-size: 22px; font-weight: 800; text-align: center; margin-bottom: 6px;
}
.pk-auth-sub {
  font-size: 13px; color: var(--pk-g500); text-align: center; margin-bottom: 32px;
}
.pk-auth-field { margin-bottom: 16px; }
.pk-auth-label {
  display: block; font-size: 12px; font-weight: 600; color: var(--pk-g700);
  margin-bottom: 6px;
}
.pk-auth-input {
  width: 100%; padding: 13px 16px; border: 1.5px solid var(--pk-g200); border-radius: 8px;
  font-size: 14px; color: var(--pk-black); transition: border-color var(--pk-trans);
}
.pk-auth-input:focus { outline: none; border-color: var(--pk-black); }
.pk-auth-remember {
  display: flex; align-items: center; gap: 8px;
  font-size: 13px; color: var(--pk-g700); margin-bottom: 20px; cursor: pointer;
}
.pk-auth-remember input { accent-color: var(--pk-black); }
.pk-auth-submit {
  width: 100%; padding: 14px; background: var(--pk-black); color: var(--pk-white);
  border-radius: 8px; font-size: 15px; font-weight: 700; border: none; cursor: pointer;
  transition: background var(--pk-trans); margin-bottom: 20px;
}
.pk-auth-submit:hover { background: var(--pk-g900); }
.pk-auth-divider {
  text-align: center; margin: 20px 0; position: relative;
}
.pk-auth-divider::before {
  content: ''; position: absolute; top: 50%; left: 0; right: 0; height: 1px;
  background: var(--pk-g200);
}
.pk-auth-divider span {
  position: relative; background: var(--pk-white); padding: 0 12px;
  font-size: 12px; color: var(--pk-g500);
}
.pk-auth-cert-btns { display: flex; flex-direction: column; gap: 10px; margin-bottom: 20px; }
.pk-auth-cert-btn {
  width: 100%; padding: 12px; border: 1px solid var(--pk-g300); border-radius: 8px;
  font-size: 14px; color: var(--pk-g700); background: var(--pk-white);
  transition: all var(--pk-trans); cursor: pointer;
}
.pk-auth-cert-btn:hover { border-color: var(--pk-black); color: var(--pk-black); }
.pk-auth-footer-links {
  display: flex; align-items: center; justify-content: center; gap: 12px;
  font-size: 13px; padding-top: 8px;
}
.pk-auth-footer-links a { color: var(--pk-g500); transition: color var(--pk-trans); }
.pk-auth-footer-links a:hover { color: var(--pk-black); }
.pk-auth-link-sep { color: var(--pk-g300); }


/* ============================================================
   LOGIN MODAL — ログイン 모달
============================================================ */
.pk-login-overlay {
  position: fixed; inset: 0; z-index: 900;
  background: rgba(0,0,0,.55); display: flex; align-items: center; justify-content: center;
  opacity: 0; pointer-events: none; transition: opacity .2s ease;
}
.pk-login-overlay.open { opacity: 1; pointer-events: auto; }
.pk-login-modal {
  background: var(--pk-white); border-radius: 16px;
  padding: 48px 40px 36px; width: 100%; max-width: 400px;
  position: relative; box-shadow: 0 20px 60px rgba(0,0,0,.2);
  transform: translateY(20px); transition: transform .25s ease;
}
.pk-login-overlay.open .pk-login-modal { transform: translateY(0); }
.pk-login-close {
  position: absolute; top: 16px; right: 16px;
  width: 36px; height: 36px; border-radius: 50%; color: var(--pk-g500);
  display: flex; align-items: center; justify-content: center;
  transition: all var(--pk-trans);
}
.pk-login-close:hover { background: var(--pk-g100); color: var(--pk-black); }
.pk-login-brand {
  font-size: 22px; font-weight: 900; font-style: italic; letter-spacing: -1px;
  color: var(--pk-black); margin-bottom: 24px; text-align: center;
}
.pk-login-title {
  font-size: 20px; font-weight: 800; text-align: center; margin-bottom: 6px;
}
.pk-login-sub {
  font-size: 13px; color: var(--pk-g500); text-align: center; margin-bottom: 28px;
}
.pk-login-field { margin-bottom: 14px; }
.pk-login-label {
  display: block; font-size: 12px; font-weight: 600; color: var(--pk-g700);
  margin-bottom: 6px; letter-spacing: .3px;
}
.pk-login-input {
  width: 100%; padding: 12px 16px; border: 1.5px solid var(--pk-g200); border-radius: 8px;
  font-size: 14px; color: var(--pk-black); background: #fff;
  font-family: inherit; transition: border-color var(--pk-trans);
}
.pk-login-input:focus { outline: none; border-color: var(--pk-black); background: #fff; }
.pk-login-input::placeholder { color: #ccc; }
.pk-login-remember {
  display: flex; align-items: center; gap: 7px;
  font-size: 13px; color: var(--pk-g700); margin-bottom: 20px; cursor: pointer;
}
.pk-login-remember input { accent-color: var(--pk-black); width: 15px; height: 15px; }
.pk-login-submit {
  width: 100%; padding: 14px; background: var(--pk-black); color: var(--pk-white);
  border-radius: 8px; font-size: 15px; font-weight: 700; border: none; cursor: pointer;
  transition: background var(--pk-trans); margin-bottom: 16px;
}
.pk-login-submit:hover { background: var(--pk-g900); }
.pk-login-links {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  font-size: 13px;
}
.pk-login-links a { color: var(--pk-g500); transition: color var(--pk-trans); }
.pk-login-links a:hover { color: var(--pk-black); }
.pk-login-divider { color: var(--pk-g300); }
.pk-login-links a { cursor: pointer; }

/* 모달 멀티패널 */
.pk-login-modal { max-height: 88vh; overflow-y: auto; }
.pk-modal-panel { display: none; }
.pk-modal-panel.active { display: block; }
.pk-modal-back {
  display: flex; align-items: center; gap: 6px; font-size: 12px; color: #999;
  cursor: pointer; border: none; background: none; padding: 0;
  font-family: inherit; margin-bottom: 20px; transition: color .15s;
}
.pk-modal-back:hover { color: #111; }

/* 会員登録 약관 (모달 내) */
.pk-reg-textarea {
  width: 100%; box-sizing: border-box; height: 110px; padding: 10px 12px;
  border: 1.5px solid #eee; border-radius: 8px; font-size: 11px; color: #666;
  font-family: inherit; line-height: 1.6; resize: none; background: #fafafa;
  outline: none; margin-bottom: 8px;
}
.pk-reg-agree-check {
  display: flex; align-items: center; gap: 8px; padding: 10px 12px;
  background: #fafafa; border: 1.5px solid #eee; border-radius: 8px;
  cursor: pointer; margin-bottom: 8px; transition: border-color .15s;
}
.pk-reg-agree-check:hover { border-color: #ccc; }
.pk-reg-agree-check input { width: 15px; height: 15px; accent-color: #111; cursor: pointer; flex-shrink: 0; }
.pk-reg-agree-check label { font-size: 12px; color: #444; cursor: pointer; font-weight: 600; }
.pk-reg-agree-check label span { color: #e44; font-size: 10px; font-weight: 500; }
.pk-reg-agree-all {
  display: flex; align-items: center; gap: 8px; padding: 12px 14px;
  background: #111; border-radius: 10px; cursor: pointer; margin-bottom: 16px;
}
.pk-reg-agree-all input { width: 16px; height: 16px; accent-color: #fff; cursor: pointer; flex-shrink: 0; }
.pk-reg-agree-all label { font-size: 13px; color: #fff; cursor: pointer; font-weight: 800; }
.pk-reg-section-lbl {
  font-size: 10px; font-weight: 800; letter-spacing: 2px; color: #bbb;
  display: flex; align-items: center; gap: 8px; margin: 16px 0 10px;
}
.pk-reg-section-lbl::after { content: ''; flex: 1; height: 1px; background: #f0f0f0; }
.pk-reg-tbl { width: 100%; border-collapse: collapse; font-size: 11px; margin-bottom: 8px; }
.pk-reg-tbl th { background: #f5f5f5; padding: 7px 10px; font-weight: 700; color: #555; border: 1px solid #eee; text-align: center; }
.pk-reg-tbl td { padding: 7px 10px; border: 1px solid #eee; color: #666; vertical-align: top; line-height: 1.5; }


/* ============================================================
   TOP ボタン
============================================================ */
#pk-top-btn {
  position: fixed; bottom: 28px; right: 28px; z-index: 300;
  width: 44px; height: 44px; background: var(--pk-black); color: var(--pk-white);
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 16px rgba(0,0,0,.15);
  opacity: 0; pointer-events: none; transition: opacity var(--pk-trans), transform var(--pk-trans);
  transform: translateY(8px);
}
#pk-top-btn.visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
#pk-top-btn:hover   { background: var(--pk-g900); }


/* ============================================================
   공통 ボタン
============================================================ */
.btn_submit, input[type=submit].btn_submit {
  background: var(--pk-black); color: var(--pk-white); border: none;
  border-radius: 8px; padding: 12px 28px; font-size: 14px; font-weight: 600;
  cursor: pointer; transition: background var(--pk-trans);
}
.btn_submit:hover { background: var(--pk-g900); }
.btn01, a.btn01, button.btn01 {
  display: inline-block; background: var(--pk-white); color: var(--pk-g700);
  border: 1px solid var(--pk-g300); border-radius: 8px; padding: 10px 20px;
  font-size: 13px; cursor: pointer; transition: all var(--pk-trans); text-decoration: none;
}
.btn01:hover { border-color: var(--pk-black); color: var(--pk-black); }

/* 체크박스 */
input[type=checkbox].selec_chk { accent-color: var(--pk-black); }


/* ============================================================
   RESPONSIVE
============================================================ */
@media (max-width: 1024px) {
  .pk-grade-cards { grid-template-columns: repeat(3, 1fr); }
  .pk-my-grade-card { grid-template-columns: auto 1fr; }
  .pk-my-grade-next { grid-column: 1/-1; text-align: left; }
  .pk-item-grid { grid-template-columns: repeat(3, 1fr); }
  .pk-grid-6 { grid-template-columns: repeat(4, 1fr); }
  .pk-editorial-layout { grid-template-columns: 300px 1fr; }
  .pk-hero-title { font-size: 32px; }
  .pk-detail-layout { grid-template-columns: 1fr 360px; gap: 32px; }
  .pk-cart-layout { grid-template-columns: 1fr 280px; }
  .pk-footer-cols { grid-template-columns: 1fr 1fr; }
  .pk-cs-layout { grid-template-columns: 160px 1fr; column-gap: 40px; }
}

@media (max-width: 900px) {
  .pk-editorial-layout { grid-template-columns: 1fr; }
  .pk-editorial-left { min-height: 260px; }
  .pk-hero-placeholder { grid-template-columns: 1fr; }
  .pk-hero-items { display: none; }
  #sct { grid-template-columns: 1fr; }
  .pk-list-sidebar { display: none; }
  #sct > *:not(.pk-list-sidebar) { grid-column: 1; }
  .pk-mypage-layout { grid-template-columns: 1fr; padding: 0 0 60px; gap: 0; }
  .pk-mypage-aside { display: none; }
  .pk-mypage-content { padding: 20px 16px 0; gap: 20px; }

  /* モバイル 드로어 */
  .pk-drawer-bar {
    display: flex !important;
  }
  .pk-drawer-overlay {
    display: none;
    position: fixed; inset: 0; background: rgba(0,0,0,.45);
    z-index: 1100; opacity: 0; transition: opacity .25s;
  }
  .pk-drawer-overlay.open { opacity: 1; }
  .pk-drawer-panel {
    display: block;
    position: fixed; top: 0; left: 0; bottom: 0;
    width: 78vw; max-width: 300px;
    background: #fff; z-index: 1101;
    transform: translateX(-100%);
    transition: transform .28s cubic-bezier(.4,0,.2,1);
    overflow-y: auto; padding: 0;
    box-shadow: 4px 0 32px rgba(0,0,0,.18);
  }
  .pk-drawer-panel.open { transform: translateX(0); }
  .pk-drawer-head {
    display: flex; align-items: center; justify-content: space-between;
    padding: 20px 20px 16px;
    border-bottom: 1.5px solid #f0f0f0;
  }
  .pk-drawer-head-title { font-size: 18px; font-weight: 900; letter-spacing: -.4px; }
  .pk-drawer-close {
    width: 32px; height: 32px; border: none; background: #f5f5f5;
    border-radius: 50%; cursor: pointer; display: flex;
    align-items: center; justify-content: center; color: #555;
  }
  .pk-drawer-nav { padding: 12px 0 40px; }
  .pk-drawer-nav li { list-style: none; }
  .pk-drawer-nav li a {
    display: flex; align-items: center; justify-content: space-between;
    padding: 13px 24px; font-size: 14px; font-weight: 500;
    color: #555; text-decoration: none; transition: background .12s;
    border-left: 3px solid transparent;
  }
  .pk-drawer-nav li a:hover { background: #fafafa; color: #111; }
  .pk-drawer-nav li.active a {
    color: #111; font-weight: 800;
    background: #f8f8f8; border-left-color: #111;
  }
  .pk-drawer-nav .pk-drawer-divider {
    height: 1px; background: #f3f3f3; margin: 8px 20px;
  }
  .pk-cart-layout { grid-template-columns: 1fr; }
  .pk-cart-summary { position: static; grid-column: 1; width: 100%; box-sizing: border-box; }
  .pk-cart-main { width: 100%; overflow-x: auto; }
  .pk-cs-layout { grid-template-columns: 1fr; }
  .pk-cs-aside { display: none; }
}

@media (max-width: 768px) {
  /* モバイル: 텍스트 탭 바 숨김 — アイコン 스트립이 대신함 */
  .pk-shop-nav-bar { display: none !important; }

  /* モバイル 가로 오버플로 방지 */
  body { overflow-x: hidden; }

  .pk-cs-hero-inner { flex-direction: column; gap: 24px; }
  .pk-cs-tel-box { width: 100%; }
  .pk-cs-quickmenu-list { justify-content: space-around; }
  .pk-cs-qm-item { padding: 14px 10px; font-size: 12px; }
  .pk-bw-row { grid-template-columns: 1fr; }
  .pk-bv-nav-item { grid-template-columns: 50px 1fr; }
  .pk-bv-nav-date { display: none; }
  .pk-grade-cards { grid-template-columns: repeat(2, 1fr); }
  .pk-my-grade-card { grid-template-columns: 1fr; }
  /* 상단 바: カスタマーサポート+マイページ만 표시 */
  .pk-top-bar .pk-top-notice { display: none; }
  .pk-top-bar-inner { justify-content: flex-end; }
  .pk-top-links li:nth-child(n+3) { display: none; }

  /* GNB(カテゴリー 바) 숨김 — 하단 メニュー가 대신함 */
  .pk-gnb { display: none; }

  /* メイン 헤더: 로고 가운데, 検索만 우측 */
  .pk-header-center {
    position: relative;
    justify-content: center;
    padding: 0 14px;
  }
  .pk-main-nav {
    position: absolute;
    right: 14px;
  }
  .pk-main-nav-item { display: none; }
  .pk-main-nav-divider { display: none; }
  .pk-search-toggle-btn { display: flex; }
  .pk-logo { font-size: 22px; }

  .pk-main-banner .swiper-slide img { height: 280px; }
  .pk-item-grid { grid-template-columns: repeat(3, 1fr); gap: 16px 10px; }
  .pk-detail-layout { grid-template-columns: 1fr; }
  .pk-detail-info { position: static; }
  .pk-detail-wrap { padding: 20px 14px 0; }
  .pk-detail-tabs { overflow-x: auto; scrollbar-width: none; }
  .pk-detail-tabs::-webkit-scrollbar { display: none; }
  .pk-tab-btn { padding: 12px 14px; white-space: nowrap; font-size: 13px; }
  .pk-footer-cols { grid-template-columns: 1fr; gap: 28px; }
  .pk-footer-bottom { flex-direction: column; }
  .pk-profile-card { flex-direction: column; align-items: flex-start; }
  .pk-profile-stats { gap: 20px; }
  .pk-recent-items { grid-template-columns: repeat(4, 1fr); }
  .pk-order-tracker { gap: 0; }
  .pk-order-step-name { font-size: 10px; }
  #sct { padding: 16px 0 40px; }
  .pk-cart-wrap { padding: 20px 14px 40px; }
  .pk-mypage-layout { padding: 20px 14px 40px; }
}

@media (max-width: 480px) {
  .pk-header-center { padding: 0 14px; }
  .pk-top-bar-inner { padding: 0 14px; }
  .pk-gnb-inner { padding: 0 14px; }
  .pk-container { padding: 0 14px; }
  .pk-section { padding: 40px 0; }
  .pk-item-grid { gap: 12px 8px; }
  .pk-detail-sell-price, .pk-detail-discount-pct { font-size: 22px; }
  .pk-footer-inner { padding: 0 14px; }
  .pk-recent-items { grid-template-columns: repeat(3, 1fr); }
  .pk-swiper-prev { left: -8px; }
  .pk-swiper-next { right: -8px; }
}

/* ============================================================
   モバイル 商品 리스트 UX 최적화 (≤768px)
============================================================ */
@media (max-width: 768px) {
  /* 정렬 바: 가로 스크롤 */
  .pk-list-sort {
    flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch;
    scrollbar-width: none; padding: 12px 14px; margin-bottom: 12px;
    gap: 6px;
  }
  .pk-list-sort::-webkit-scrollbar { display: none; }
  .pk-list-count { white-space: nowrap; font-size: 12px; }
  .pk-sort-list { flex-wrap: nowrap; gap: 4px; }
  .pk-sort-list a { white-space: nowrap; font-size: 12px; padding: 6px 10px; }

  /* カート ボタン: モバイル에서 항상 표시 */
  .pk-item-actions { opacity: 1; transform: none; }
  .pk-cart-btn { font-size: 11px; padding: 8px 6px; }

  /* 리스트 타입 ページ 헤더 */
  .pk-lt-new-banner { padding: 40px 16px 32px; }
  .pk-lt-new-title { font-size: 28px; }
  .pk-lt-header { padding: 0 14px; }
  .pk-lt-wrap { padding: 20px 14px 40px; }
  .pk-lt-tabs {
    overflow-x: auto; -webkit-overflow-scrolling: touch;
    scrollbar-width: none; padding-bottom: 2px;
  }
  .pk-lt-tabs::-webkit-scrollbar { display: none; }
  .pk-lt-tab { white-space: nowrap; font-size: 12px; padding: 10px 14px; }

  /* 성星 フィルター 탭: モバイル 스크롤 */
  .pk-gender-tabs {
    overflow-x: auto; -webkit-overflow-scrolling: touch;
    scrollbar-width: none; flex-wrap: nowrap;
    margin-bottom: 16px;
  }
  .pk-gender-tabs::-webkit-scrollbar { display: none; }
  .pk-gender-tab { white-space: nowrap; flex-shrink: 0; font-size: 12px; padding: 8px 14px; }

  /* 新着商品 슬라이드 카드 크기 */
  .pk-new-slide { flex: 0 0 150px; }
  .pk-new-section { padding: 24px 14px 0; }
  .pk-new-divider { margin: 24px 14px 0; }

  /* 카드 画像 위 アイコン 크기 */
  .pk-wish-btn { width: 30px; height: 30px; top: 6px; right: 6px; }
  .pk-wish-btn svg { width: 15px; height: 15px; }

  /* 商品 텍스트 */
  .pk-item-name { font-size: 12px; -webkit-line-clamp: 2; }
  .pk-item-brand { font-size: 10px; }
  .pk-price { font-size: 13px; }
  .pk-discount { font-size: 12px; }
}

/* ---- Mobile Cart: Card Layout (≤768px) ---- */
@media (max-width: 768px) {
  .pk-cart-table { display: block; width: 100%; }
  .pk-cart-table thead { display: none; }
  .pk-cart-table tbody { display: block; }
  .pk-cart-table tbody tr {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    border: 1px solid #ebebeb;
    border-radius: 12px;
    margin-bottom: 12px;
    padding: 14px;
    position: relative;
  }
  .pk-cart-table tbody td { display: none; padding: 0; border: none; }

  .pk-col-chk  { display: none !important; }

  .pk-col-product {
    display: block !important;
    width: 100%;
    text-align: left !important;
    padding-bottom: 10px !important;
    padding-right: 36px !important;
  }
  .pk-col-option {
    display: block !important;
    width: 100%;
    text-align: left !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid #f0f0f0;
    margin-bottom: 10px;
  }
  .pk-col-price,
  .pk-col-point { display: none !important; }

  .pk-col-qty {
    display: flex !important;
    align-items: center;
    flex: 1;
    font-size: 13px;
    color: #555;
  }
  .pk-col-qty::before {
    content: '数量 ';
    color: #aaa;
    font-size: 12px;
    margin-right: 4px;
  }
  .pk-col-total {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    flex: 1;
    font-weight: 700;
    font-size: 15px;
    color: #111;
    text-align: right !important;
  }
  .pk-col-del {
    display: block !important;
    position: absolute;
    top: 12px;
    right: 12px;
    padding: 0 !important;
  }

  .pk-cart-main { overflow-x: visible; }
  .pk-cart-actions { flex-direction: column; }
  .pk-cart-act-btn { text-align: center; }
}


/* ============================================================
   MOBILE BOTTOM NAV + BROWSE DRAWER  (≤768px only)
============================================================ */

/* ---- Hide all mobile UI on desktop ---- */
.pk-mobile-nav,
.pk-browse-overlay,
.pk-browse-drawer {
  display: none;
}

@media (max-width: 768px) {
  body { padding-bottom: 64px; }

  .pk-mobile-nav {
    display: flex;
    position: fixed; bottom: 0; left: 0; right: 0; z-index: 1200;
    height: 64px;
    background: #fff;
    border-top: 1px solid #ebebeb;
    box-shadow: 0 -4px 20px rgba(0,0,0,.07);
  }

  .pk-mn-item {
    flex: 1; display: flex; flex-direction: column;
    align-items: center; justify-content: center; gap: 3px;
    background: none; border: none; cursor: pointer;
    color: #aaa; font-size: 10px; font-family: inherit;
    text-decoration: none; padding: 6px 0;
    transition: color .15s;
    position: relative;
  }
  .pk-mn-item.active,
  .pk-mn-item:active { color: #111; }
  .pk-mn-item.active svg { stroke: #111; stroke-width: 2.2; }

  .pk-mn-icon { display: block; line-height: 1; }
  .pk-mn-icon-wrap { position: relative; }
  .pk-mn-label { font-size: 10px; letter-spacing: -.2px; }

  .pk-mn-badge {
    position: absolute; top: -4px; right: -6px;
    background: #e63946; color: #fff;
    font-size: 9px; font-weight: 700; line-height: 1;
    min-width: 14px; height: 14px; border-radius: 7px;
    padding: 2px 4px; text-align: center;
  }

  /* ---- Browse Overlay ---- */
  .pk-browse-overlay {
    position: fixed; inset: 0; z-index: 1300;
    background: rgba(0,0,0,.4);
  }
  .pk-browse-overlay.open { display: block; }

  /* ---- Browse Drawer ---- */
  .pk-browse-drawer {
    position: fixed; top: 0; left: 0; right: 0; bottom: 64px;
    z-index: 1400;
    background: #fff;
    display: flex; flex-direction: column;
    transform: translateY(100%);
    transition: transform .3s cubic-bezier(.4,0,.2,1);
    overflow: hidden;
  }
  .pk-browse-drawer.open { transform: translateY(0); }

  /* header */
  .pk-browse-header {
    display: flex; align-items: center; gap: 10px;
    padding: 12px 14px 10px; flex-shrink: 0;
    border-bottom: 1px solid #f0f0f0;
  }
  .pk-browse-search-wrap {
    flex: 1; display: flex; align-items: center; gap: 8px;
    background: #f5f5f5; border-radius: 10px;
    padding: 0 12px; height: 40px;
  }
  .pk-browse-search-wrap input {
    flex: 1; border: none; background: none; outline: none;
    font-size: 14px; font-family: inherit; color: #111;
  }
  .pk-browse-search-wrap input::placeholder { color: #aaa; }
  .pk-browse-search-wrap svg { color: #aaa; flex-shrink: 0; }
  .pk-browse-close {
    flex-shrink: 0; background: none; border: none; cursor: pointer;
    color: #555; padding: 4px;
  }

  /* chips */
  .pk-browse-chips {
    display: flex; gap: 7px; overflow-x: auto;
    padding: 10px 14px; flex-shrink: 0;
    -webkit-overflow-scrolling: touch; scrollbar-width: none;
    border-bottom: 1px solid #f0f0f0;
  }
  .pk-browse-chips::-webkit-scrollbar { display: none; }
  .pk-browse-chip {
    flex-shrink: 0; white-space: nowrap;
    padding: 5px 13px; border-radius: 20px; font-size: 12px;
    background: #f5f5f5; color: #555;
    border: 1.5px solid transparent;
    text-decoration: none;
    transition: all .15s;
  }
  .pk-browse-chip:active,
  .pk-browse-chip.active { background: #111; color: #fff; border-color: #111; }
  .pk-browse-chip-hot { background: #fff0f1; color: #e63946; border-color: #ffd0d3; }

  /* body */
  .pk-browse-body {
    flex: 1; display: flex; overflow: hidden;
  }

  /* left sidebar */
  .pk-browse-side {
    width: 86px; flex-shrink: 0;
    overflow-y: auto; background: #fafafa;
    border-right: 1px solid #ebebeb;
    -webkit-overflow-scrolling: touch; scrollbar-width: none;
  }
  .pk-browse-side::-webkit-scrollbar { display: none; }
  .pk-browse-side-item {
    padding: 14px 0; text-align: center;
    font-size: 12px; color: #888; cursor: pointer;
    border-bottom: 1px solid #f0f0f0;
    transition: all .15s;
    line-height: 1.3;
  }
  .pk-browse-side-item.active {
    background: #fff; color: #111; font-weight: 700;
    border-right: 3px solid #111; margin-right: -1px;
  }

  /* right content */
  .pk-browse-content {
    flex: 1; overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .pk-browse-panel { display: none; padding: 14px; }
  .pk-browse-panel.active { display: block; }

  .pk-browse-section-head {
    display: flex; align-items: center; justify-content: space-between;
    margin-bottom: 12px; margin-top: 8px;
  }
  .pk-browse-section-head span { font-size: 13px; font-weight: 700; color: #111; }
  .pk-browse-section-head a { font-size: 11px; color: #888; text-decoration: none; }
  .pk-browse-section-head + .pk-browse-grid { margin-bottom: 24px; }

  .pk-browse-grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px 8px;
    margin-bottom: 24px;
  }

  .pk-browse-item {
    display: flex; flex-direction: column; align-items: center; gap: 5px;
    text-decoration: none;
  }
  .pk-browse-thumb {
    width: 100%; aspect-ratio: 1/1; border-radius: 10px;
    background: #f0f0f0; overflow: hidden;
    display: flex; align-items: center; justify-content: center;
  }
  .pk-browse-thumb img { width: 100%; height: 100%; object-fit: cover; }
  .pk-browse-thumb span { font-size: 26px; line-height: 1; }
  .pk-browse-thumb-all {
    background: #111; color: #fff;
    font-size: 14px; font-weight: 800; letter-spacing: 1px;
  }
  .pk-browse-item-name {
    font-size: 11px; color: #555; text-align: center;
    word-break: keep-all; line-height: 1.3;
  }
}

/* screen-reader only — hide editor labels visually */
.sound_only, .msg_sound_only {
  display: inline-block !important;
  position: absolute; top: 0; left: 0;
  width: 0; height: 0; margin: 0 !important; padding: 0 !important;
  font-size: 0; line-height: 0; border: 0 !important; overflow: hidden !important;
}

/* ============================================================
   ORDERFORM — ご注文書作成 (PLIKI design)
============================================================ */
#sod_frm.sod_frm_pc{
  max-width:1200px; margin:32px auto 80px; padding:0 24px;
  display:grid; grid-template-columns: 1fr 360px; gap:32px;
  font-family:inherit; color:var(--pk-black);
}
#sod_frm.sod_frm_pc::before{
  content:'ご注文書作成'; grid-column:1/-1;
  font-size:24px; font-weight:800; letter-spacing:-.4px;
  padding-bottom:14px; border-bottom:2px solid var(--pk-black);
  margin-bottom:8px;
}
#sod_frm.sod_frm_pc .od_prd_list{ grid-column:1/-1; margin:0 0 8px; }
#sod_frm.sod_frm_pc .sod_left{ min-width:0; }
#sod_frm.sod_frm_pc .sod_right{ min-width:0; }

/* ── 商品 리스트 테이블 ── */
#sod_frm .od_prd_list{ background:#fff; border:1px solid #eee; border-radius:12px; overflow:hidden; }
#sod_frm #sod_list{ width:100%; border-collapse:collapse; }
#sod_frm #sod_list thead{ background:#fafafa; }
#sod_frm #sod_list thead th{
  padding:14px 12px; font-size:12px; font-weight:700; color:var(--pk-g700);
  text-align:center; letter-spacing:.4px; border-bottom:1px solid #eee;
}
#sod_frm #sod_list tbody td{
  padding:18px 12px; border-bottom:1px solid #f3f3f3; vertical-align:middle;
  font-size:13px; color:var(--pk-g900); text-align:center;
}
#sod_frm #sod_list tbody tr:last-child td{ border-bottom:none; }
#sod_frm #sod_list .td_prd{ text-align:left; }
#sod_frm #sod_list .sod_img{ display:inline-block; vertical-align:middle; margin-right:14px; }
#sod_frm #sod_list .sod_img img{ width:64px; height:64px; object-fit:cover; border-radius:8px; border:1px solid #eee; }
#sod_frm #sod_list .sod_name{ display:inline-block; vertical-align:middle; max-width:calc(100% - 90px); }
#sod_frm #sod_list .sod_name a{ font-size:13.5px; font-weight:600; color:var(--pk-black); }
#sod_frm #sod_list .sod_name a:hover{ text-decoration:underline; }
#sod_frm #sod_list .cp_btn{
  display:inline-block; margin-left:8px; padding:4px 10px;
  background:#fff; border:1px solid var(--pk-g300, #ddd); border-radius:14px;
  font-size:11px; color:var(--pk-g700); cursor:pointer;
}
#sod_frm #sod_list .cp_btn:hover{ border-color:var(--pk-black); color:var(--pk-black); }
#sod_frm #sod_list .td_num, #sod_frm #sod_list .td_numbig, #sod_frm #sod_list .td_dvr{ font-size:13px; }
#sod_frm #sod_list .total_price{ font-weight:700; color:var(--pk-black); }

/* ── 좌측 섹션 (注文자 / 수령인 / 決済情報) ── */
#sod_frm section{
  background:#fff; border:1px solid #eee; border-radius:12px;
  padding:24px 28px; margin-bottom:20px;
}
#sod_frm section h2{
  font-size:16px; font-weight:800; letter-spacing:-.3px;
  padding-bottom:14px; margin-bottom:18px; border-bottom:1px solid #f0f0f0;
  color:var(--pk-black);
}

/* 입력 테이블을 두 열 라벨/필드로 */
#sod_frm .tbl_frm01{ width:100%; }
#sod_frm .tbl_frm01 table{ width:100%; border-collapse:collapse; }
#sod_frm .tbl_frm01 tbody, #sod_frm .tbl_frm01 tr{ display:block; }
#sod_frm .tbl_frm01 tr{
  display:grid; grid-template-columns:140px 1fr; align-items:start;
  gap:12px; padding:11px 0; border-bottom:1px solid #f6f6f6;
}
#sod_frm .tbl_frm01 tr:last-child{ border-bottom:none; }
#sod_frm .tbl_frm01 th{
  display:flex; align-items:center; padding:0; text-align:left;
  font-size:13px; font-weight:600; color:var(--pk-g700); background:transparent;
  border:none; min-height:42px;
}
#sod_frm .tbl_frm01 td{
  padding:0; border:none; background:transparent; font-size:13px; color:var(--pk-black);
  min-height:42px; display:flex; align-items:center; flex-wrap:wrap; gap:6px;
}
#sod_frm .frm_input{
  height:42px; padding:0 14px; border:1.5px solid #e8e8e8; border-radius:8px;
  font-size:13.5px; color:var(--pk-black); background:#fff;
  font-family:inherit; transition:border-color var(--pk-trans);
  box-sizing:border-box; max-width:100%; min-width:0;
}
#sod_frm .frm_input:focus{ outline:none; border-color:var(--pk-black); }
#sod_frm .frm_input::placeholder{ color:#bbb; }
#sod_frm .frm_input.frm_address{ width:100%; }
#sod_frm input[name=od_zip], #sod_frm input[name=od_b_zip]{ width:140px; }
#sod_frm input[name=od_name], #sod_frm input[name=od_b_name],
#sod_frm input[name=od_pwd]{ width:240px; }
#sod_frm input[name=od_tel], #sod_frm input[name=od_hp],
#sod_frm input[name=od_b_tel], #sod_frm input[name=od_b_hp]{ width:240px; }
#sod_frm input[name=od_email]{ width:340px; }
#sod_frm input[name=ad_subject]{ width:240px; }
#sod_frm textarea#od_memo{
  width:100%; min-height:90px; padding:12px 14px; border:1.5px solid #e8e8e8;
  border-radius:8px; font-family:inherit; font-size:13.5px; color:var(--pk-black);
  resize:vertical; box-sizing:border-box;
}
#sod_frm textarea#od_memo:focus{ outline:none; border-color:var(--pk-black); }
#sod_frm .frm_info{ display:block; font-size:11.5px; color:#999; margin-bottom:5px; width:100%; }
#sod_frm .btn_address, #sod_frm .btn_frmline{
  height:42px; padding:0 16px; background:var(--pk-black); color:#fff;
  border:none; border-radius:8px; font-size:13px; font-weight:600;
  cursor:pointer; transition:background var(--pk-trans); white-space:nowrap;
}
#sod_frm .btn_address:hover, #sod_frm .btn_frmline:hover{ background:var(--pk-g900); }

/* 配送先を選択 라디오 */
#sod_frm .order_choice_place{
  display:flex; flex-wrap:wrap; gap:8px; width:100%;
}
#sod_frm .order_choice_place input[type=radio],
#sod_frm .order_choice_place input[type=checkbox]{ display:none; }
#sod_frm .order_choice_place label{
  padding:8px 14px; border:1.5px solid #e8e8e8; border-radius:20px;
  font-size:12.5px; color:var(--pk-g700); cursor:pointer;
  transition:all var(--pk-trans); background:#fff;
}
#sod_frm .order_choice_place input:checked + label{
  border-color:var(--pk-black); background:var(--pk-black); color:#fff; font-weight:700;
}
#sod_frm #order_address{
  display:inline-block; margin-left:auto; padding:8px 12px;
  font-size:11.5px; color:var(--pk-g500); background:transparent !important;
  border:1px solid #e0e0e0; border-radius:6px; height:auto;
}
#sod_frm #ad_default + label{ margin-left:6px; font-size:12.5px; color:var(--pk-g700); }

/* ── 우측 합계/決済 ── */
#sod_frm .sod_right{
  position:sticky; top:24px; align-self:start;
  display:flex; flex-direction:column; gap:14px;
}
#sod_frm #sod_bsk_tot{
  background:#fff; border:1px solid #eee; border-radius:12px;
  padding:20px 22px;
}
#sod_frm #sod_bsk_tot ul{ list-style:none; padding:0; margin:0; }
#sod_frm #sod_bsk_tot li{
  display:flex; align-items:center; justify-content:space-between;
  padding:9px 0; font-size:13.5px; color:var(--pk-g700);
}
#sod_frm #sod_bsk_tot li strong{ font-weight:600; color:var(--pk-black); margin-left:auto; padding-right:3px; }
#sod_frm #sod_bsk_tot .sod_bsk_cnt{
  border-top:1px solid #f0f0f0; padding-top:14px; margin-top:6px;
  font-size:14px; font-weight:700;
}
#sod_frm #sod_bsk_tot .sod_bsk_cnt span{ color:var(--pk-black); font-weight:700; }
#sod_frm #sod_bsk_tot .sod_bsk_cnt strong{
  font-size:20px; font-weight:900; color:var(--pk-black);
}

/* 決済情報 박스 */
#sod_frm #sod_frm_pay{ background:#fff; border:1px solid #eee; border-radius:12px; padding:24px 22px; margin:0; }
#sod_frm #sod_frm_pay h2{ font-size:15px; padding-bottom:12px; margin-bottom:14px; }
#sod_frm .pay_tbl table{ width:100%; border-collapse:collapse; }
#sod_frm .pay_tbl tr{ display:grid; grid-template-columns:1fr auto; padding:8px 0; border-bottom:1px solid #f6f6f6; }
#sod_frm .pay_tbl tr:last-child{ border-bottom:none; }
#sod_frm .pay_tbl th{ font-size:12.5px; font-weight:600; color:var(--pk-g700); text-align:left; padding:0; background:transparent; border:none; }
#sod_frm .pay_tbl td{ font-size:13px; color:var(--pk-black); text-align:right; padding:0; border:none; }
#sod_frm .pay_tbl td strong{ font-weight:700; }
#sod_frm .pay_tbl .btn_frmline{ height:30px; padding:0 12px; font-size:11.5px; margin-left:8px; }

#sod_frm #od_tot_price{
  margin:14px 0 18px; padding:14px 0;
  border-top:1px solid #f0f0f0; border-bottom:1px solid #f0f0f0;
  display:flex; align-items:center; justify-content:space-between;
}
#sod_frm #od_tot_price span{ font-size:13.5px; font-weight:700; color:var(--pk-black); }
#sod_frm #od_tot_price strong{ font-size:22px; font-weight:900; color:#e44; }

/* 決済方法 */
#sod_frm #od_pay_sl h3{ font-size:13px; font-weight:700; margin:0 0 10px; color:var(--pk-black); }
#sod_frm #sod_frm_pt_alert{ font-size:11.5px; color:#999; background:#fafafa; padding:8px 10px; border-radius:6px; margin:0 0 12px; }
#sod_frm #sod_frm_paysel{ border:none; padding:0; margin:0; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
#sod_frm #sod_frm_paysel legend{ display:none; }
#sod_frm #sod_frm_paysel input[type=radio]{ display:none; }
#sod_frm #sod_frm_paysel label.lb_icon{
  display:flex; align-items:center; justify-content:center;
  padding:12px 8px; border:1.5px solid #e8e8e8; border-radius:8px;
  font-size:12.5px; font-weight:600; color:var(--pk-g700); cursor:pointer;
  background:#fff; transition:all var(--pk-trans); text-align:center; line-height:1.3;
}
#sod_frm #sod_frm_paysel label.lb_icon:hover{ border-color:var(--pk-black); color:var(--pk-black); }
#sod_frm #sod_frm_paysel input:checked + label.lb_icon{
  border-color:var(--pk-black); background:var(--pk-black); color:#fff;
}
#sod_frm #settle_bank{ grid-column:1/-1; margin-top:12px; padding:14px; background:#fafafa; border-radius:8px; }
#sod_frm #settle_bank select, #sod_frm #settle_bank input[type=text]{
  height:38px; padding:0 12px; border:1.5px solid #e8e8e8; border-radius:6px;
  font-size:13px; font-family:inherit; margin:4px 0;
}

/* ポイント 使用 */
#sod_frm .sod_frm_point{
  margin-top:14px; padding:14px; background:#fafafa; border-radius:8px;
  font-size:12.5px;
}
#sod_frm .sod_frm_point label{ font-weight:600; display:block; margin-bottom:6px; }
#sod_frm .sod_frm_point input[type=text]{
  height:36px; padding:0 12px; border:1.5px solid #e8e8e8; border-radius:6px;
  font-size:13px; width:120px;
}
#sod_frm #sod_frm_pt{ display:flex; gap:14px; margin-top:8px; flex-wrap:wrap; }
#sod_frm #sod_frm_pt span{ display:flex; flex-direction:column; gap:2px; }
#sod_frm #sod_frm_pt strong{ font-size:11px; color:var(--pk-g500); font-weight:600; }
#sod_frm #sod_frm_pt em, #sod_frm #sod_frm_pt span:not(.max_point_box){ font-size:13px; font-weight:700; color:var(--pk-black); font-style:normal; }

/* 注文 ボタン 영역 */
#sod_frm #display_pay_button.btn_confirm{
  display:flex; gap:8px; margin-top:6px;
  justify-content:center; align-items:center;
}
#sod_frm #display_pay_button input.btn_submit,
#sod_frm #display_pay_button button.btn_submit,
#sod_frm #display_pay_button .order-click{
  text-align:center !important; line-height:54px !important; padding:0 !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  font-family:inherit !important;
}
#sod_frm #display_pay_button .btn_submit{
  flex:1; height:54px; background:var(--pk-black); color:#fff;
  border:none; border-radius:8px; font-size:15px; font-weight:800;
  cursor:pointer; transition:background var(--pk-trans);
  text-align:center !important; line-height:54px !important; padding:0 !important;
}
#sod_frm #display_pay_button .btn_submit:hover{ background:var(--pk-g900); }
#sod_frm #display_pay_button .btn01{
  width:120px; height:54px; display:flex; align-items:center; justify-content:center;
  background:#fff; color:var(--pk-g700); border:1.5px solid #e8e8e8; border-radius:8px;
  font-size:14px; font-weight:600; transition:all var(--pk-trans);
}
#sod_frm #display_pay_button .btn01:hover{ border-color:var(--pk-black); color:var(--pk-black); }
#sod_frm #display_pay_process{
  text-align:center; padding:18px; background:#fafafa; border-radius:8px;
  font-size:13px; color:var(--pk-g700);
}

/* 에스크로/약관 안내 */
#sod_frm #escrow_explain, #sod_frm .escrow_box, #sod_frm #od_pay_sl + div{ font-size:12px; color:var(--pk-g500); margin-top:14px; }

/* ============================================================
   ORDERINQUIRY VIEW — ご注文詳細 (PLIKI)
============================================================ */
#sod_fin{
  max-width:1100px; margin:32px auto 80px; padding:0 24px;
  display:flex; flex-direction:column; gap:18px;
  font-family:inherit; color:var(--pk-black);
}
#sod_fin::before{
  content:'ご注文詳細';
  font-size:24px; font-weight:800; letter-spacing:-.4px;
  padding-bottom:14px; border-bottom:2px solid var(--pk-black); margin-bottom:0;
}
#sod_fin_no{
  padding:14px 18px; background:#fafafa;
  border:1px solid #eee; border-radius:10px; font-size:13.5px;
  color:var(--pk-g700); display:flex; align-items:center; gap:10px;
}
#sod_fin_no::before{
  content:''; width:6px; height:6px; border-radius:50%; background:#22c55e;
  box-shadow:0 0 0 4px rgba(34,197,94,.15);
}
#sod_fin_no strong{ color:var(--pk-black); font-weight:800; letter-spacing:.3px; margin-left:auto; }

/* 좌측/우측 컨테이너 — 일자로 펼쳐서 표시 */
#sod_fin .sod_left, #sod_fin .sod_right{
  min-width:0; display:flex; flex-direction:column; gap:18px; margin:0;
  position:static !important;
}
#sod_fin .sod_left h2{
  font-size:18px; font-weight:800; letter-spacing:-.3px; margin:0 0 4px;
  padding-bottom:12px; border-bottom:1px solid #f0f0f0;
}
/* 決済情報·注文자·수령인·配送情報를 2열로 배치 (オプション — デスクトップ) */
#sod_fin .sod_left{ display:grid; grid-template-columns:1fr 1fr; gap:16px; align-items:start; }
#sod_fin .sod_left > h2{ grid-column:1/-1; }
#sod_fin .sod_left > section{ margin:0; }
/* #sod_fin_pay 만 풀폭 (決済情報는 情報량이 많음) */
#sod_fin #sod_fin_pay{ grid-column:1/-1; }

/* 섹션 카드 (ご注文商品 / 決済情報 / 注文자 / 수령인 / 配送情報) */
#sod_fin section{
  background:#fff; border:1px solid #eee; border-radius:12px;
  padding:22px 24px; margin:0;
}
#sod_fin section h2{
  font-size:16px; font-weight:800; letter-spacing:-.3px;
  padding-bottom:12px; margin:0 0 14px; border-bottom:1px solid #f0f0f0;
}
#sod_fin section h3{
  font-size:14.5px; font-weight:800; letter-spacing:-.2px;
  padding-bottom:10px; margin:0 0 12px; border-bottom:1px solid #f0f0f0;
}

/* ご注文商品 리스트 테이블 (tbl_head03) */
#sod_fin_list .tbl_head03{ background:#fff; border:1px solid #eee; border-radius:10px; overflow:hidden; }
#sod_fin_list .tbl_head03 table{ width:100%; border-collapse:collapse; }
#sod_fin_list .tbl_head03 thead{ background:#fafafa; }
#sod_fin_list .tbl_head03 thead th{
  padding:11px 8px; font-size:11.5px; font-weight:700; color:var(--pk-g700);
  letter-spacing:.4px; border-bottom:1px solid #eee; text-align:center;
}
#sod_fin_list .tbl_head03 .th_line th{ background:#fcfcfc; padding:9px 8px; }
#sod_fin_list .tbl_head03 tbody td{
  padding:14px 8px; border-bottom:1px solid #f3f3f3; vertical-align:middle;
  font-size:12.5px; color:var(--pk-g900); text-align:center;
}
#sod_fin_list .tbl_head03 tbody tr:last-child td{ border-bottom:none; }
#sod_fin_list .tbl_head03 .td_imgsmall img{
  width:70px; height:70px; object-fit:cover; border:1px solid #eee; border-radius:6px;
}
#sod_fin_list .tbl_head03 .td_bdno{ text-align:left; font-weight:600; padding-left:14px; }
#sod_fin_list .tbl_head03 .td_bdno a{ color:var(--pk-black); }
#sod_fin_list .tbl_head03 .td_bdno a:hover{ text-decoration:underline; }
#sod_fin_list .tbl_head03 .td_numbig{ font-weight:600; color:var(--pk-black); }

/* 상태설명 토글 */
#sod_sts_wrap{ margin-top:12px; }
#sod_sts_wrap .btn_frmline{
  background:#fff; border:1px solid #e8e8e8; color:var(--pk-g700);
  padding:8px 14px; font-size:12px; border-radius:6px; cursor:pointer;
  transition:all var(--pk-trans);
}
#sod_sts_wrap .btn_frmline:hover{ border-color:var(--pk-black); color:var(--pk-black); }
#sod_sts_explan{
  display:none; margin-top:10px; padding:14px 16px;
  background:#fafafa; border:1px solid #eee; border-radius:8px;
}
#sod_fin_legend{ display:grid; grid-template-columns:repeat(5,1fr); gap:8px; margin:0; }
#sod_fin_legend dt{
  font-weight:800; color:var(--pk-black); font-size:12px;
  padding:4px 8px; background:var(--pk-black); color:#fff;
  border-radius:12px; display:inline-block; margin-bottom:4px; width:fit-content;
}
#sod_fin_legend dd{ font-size:11.5px; color:var(--pk-g700); margin:0 0 8px 0; line-height:1.4; }

/* tbl_head01 — 라벨/값 2열 (決済·注文자·수령인·配送) */
#sod_fin .tbl_head01{ width:100%; }
#sod_fin .tbl_head01 table{ width:100%; border-collapse:collapse; }
#sod_fin .tbl_head01 tbody, #sod_fin .tbl_head01 tr{ display:block; }
#sod_fin .tbl_head01 tr{
  display:grid; grid-template-columns:140px 1fr; align-items:start;
  gap:12px; padding:10px 0; border-bottom:1px solid #f6f6f6;
}
#sod_fin .tbl_head01 tr:last-child{ border-bottom:none; }
#sod_fin .tbl_head01 th{
  background:transparent; border:none; padding:0; text-align:left;
  font-size:12.5px; font-weight:600; color:var(--pk-g500);
  display:flex; align-items:center; min-height:24px;
}
#sod_fin .tbl_head01 td{
  background:transparent; border:none; padding:0;
  font-size:13px; color:var(--pk-black); line-height:1.55;
  display:flex; align-items:center; flex-wrap:wrap; gap:6px;
}
#sod_fin .tbl_head01 td a{ color:#3457e6; text-decoration:underline; }
#sod_fin .tbl_head01 td a:hover{ color:#0f2bb0; }
#sod_fin .tbl_head01 .empty_table{ padding:14px 0; color:var(--pk-g500); font-size:12.5px; grid-column:1/-1; }
#sod_fin .tbl_head01 .btn_frmline{
  background:#fff; border:1px solid #e8e8e8; color:var(--pk-g700);
  padding:6px 12px; font-size:12px; border-radius:6px; cursor:pointer;
  transition:all var(--pk-trans);
}
#sod_fin .tbl_head01 .btn_frmline:hover{ border-color:var(--pk-black); color:var(--pk-black); }

/* 우측 영역 — 일자로 펼쳐서 풀폭 */
#sod_fin #sod_bsk_tot{
  background:#fff; border:1px solid #eee; border-radius:12px;
  padding:18px 20px; list-style:none; margin:0;
}
#sod_fin #sod_bsk_tot li{
  display:flex; align-items:center; justify-content:space-between;
  padding:8px 0; font-size:13px; color:var(--pk-g700);
}
#sod_fin #sod_bsk_tot li strong{ font-weight:600; color:var(--pk-black); }
#sod_fin #sod_bsk_tot .sod_bsk_cnt{
  border-top:1px solid #f0f0f0; padding-top:14px; margin-top:6px;
  font-size:14px; font-weight:700;
}
#sod_fin #sod_bsk_tot .sod_bsk_cnt span{ color:var(--pk-black); font-weight:700; }
#sod_fin #sod_bsk_tot .sod_bsk_cnt strong{ font-size:18px; font-weight:900; }
#sod_fin #sod_bsk_tot .sod_bsk_point strong{ color:#e44; }

/* 決済合計 박스 */
#sod_fin_tot{
  background:#fff; border:1px solid #eee; border-radius:12px; padding:18px 20px;
}
#sod_fin_tot h2{
  font-size:14px; font-weight:800; padding-bottom:10px; margin:0 0 10px;
  border-bottom:1px solid #f0f0f0;
}
#sod_fin_tot ul{ list-style:none; padding:0; margin:0; }
#sod_fin_tot li{
  display:flex; align-items:center; justify-content:space-between;
  padding:8px 0; font-size:13px; color:var(--pk-g700); border-bottom:1px solid #f6f6f6;
  flex-wrap:wrap;
}
#sod_fin_tot li:last-child{ border-bottom:none; }
#sod_fin_tot li strong{ font-weight:700; color:var(--pk-black); margin-left:auto; }
#sod_fin_tot #alrdy{ background:#fafafa; margin:8px -12px 0; padding:12px; border-radius:8px; }
#sod_fin_tot #alrdy strong{ font-size:18px; font-weight:900; color:var(--pk-black); }
#sod_fin_tot #alrdy .right{
  width:100%; margin-top:8px; padding-top:8px; border-top:1px dashed #ddd;
  font-size:11.5px; color:var(--pk-g500); display:flex; flex-direction:column; gap:4px;
}
#sod_fin_tot #alrdy .right .title{ color:var(--pk-g700); font-weight:600; margin-right:6px; }

/* 注文キャンセル — 비활성화 */
#sod_fin_cancel{ display:none !important; }
#sod_fin_cancel_disabled{
  background:#fff; border:1px solid #eee; border-radius:12px; padding:18px 20px;
}
#sod_fin_cancel h2{ font-size:14px; font-weight:800; padding-bottom:10px; margin:0 0 10px; border-bottom:1px solid #f0f0f0; }
#sod_fin_cancel button[type=button]{
  width:100%; padding:12px; background:#fff; color:var(--pk-black);
  border:1.5px solid var(--pk-black); border-radius:8px;
  font-size:13px; font-weight:700; cursor:pointer; transition:all var(--pk-trans);
}
#sod_fin_cancel button[type=button]:hover{ background:var(--pk-black); color:#fff; }
#sod_fin_cancel p{ font-size:12.5px; color:var(--pk-g500); margin:0; line-height:1.5; }
#sod_fin_cancelfrm{
  display:none; margin-top:12px; padding:14px; background:#fafafa; border-radius:8px;
}
#sod_fin_cancelfrm input[type=text]{
  width:100%; height:38px; padding:0 12px; border:1.5px solid #e8e8e8; border-radius:6px;
  font-size:13px; font-family:inherit; box-sizing:border-box; margin-bottom:8px;
}
#sod_fin_cancelfrm input[type=text]:focus{ outline:none; border-color:var(--pk-black); }
#sod_fin_cancelfrm input[type=submit]{
  width:100%; height:42px; background:#e44; color:#fff; border:none; border-radius:8px;
  font-size:13px; font-weight:700; cursor:pointer; transition:background var(--pk-trans);
}
#sod_fin_cancelfrm input[type=submit]:hover{ background:#c33; }

/* 하단 액션 바 (マイページ/お問い合わせ) */
.pk-orderview-actions{
  display:flex; gap:10px; margin-top:8px; justify-content:center;
}
.pk-orderview-actions a{
  flex:1; max-width:240px;
  height:50px; display:inline-flex; align-items:center; justify-content:center; gap:8px;
  border-radius:10px; font-size:14px; font-weight:700; transition:all var(--pk-trans);
  text-decoration:none; cursor:pointer;
}
.pk-orderview-actions .pk-act-back{
  background:#fff; color:var(--pk-black); border:1.5px solid #e0e0e0;
}
.pk-orderview-actions .pk-act-back:hover{ border-color:var(--pk-black); }
.pk-orderview-actions .pk-act-qa{
  background:var(--pk-black); color:#fff; border:1.5px solid var(--pk-black);
}
.pk-orderview-actions .pk-act-qa:hover{ background:var(--pk-g900); }

/* ============================================================
   SEARCH — 検索結果 ページ (PLIKI)
============================================================ */
.pk-search-page{
  max-width:1200px; margin:32px auto 80px; padding:0 24px;
  font-family:inherit; color:var(--pk-black);
}
.pk-search-admin{ max-width:1200px; margin:18px auto 0; padding:0 24px; text-align:right; }
.pk-search-admin-btn{
  display:inline-flex; align-items:center; gap:6px; padding:6px 12px;
  background:#fff; border:1px solid #e0e0e0; border-radius:6px;
  font-size:11.5px; color:var(--pk-g700); transition:all var(--pk-trans);
}
.pk-search-admin-btn:hover{ border-color:var(--pk-black); color:var(--pk-black); }

/* 헤더 */
.pk-search-header{
  padding-bottom:20px; margin-bottom:24px; border-bottom:2px solid var(--pk-black);
}
.pk-search-title{
  font-size:26px; font-weight:800; letter-spacing:-.5px; margin:0 0 8px;
  display:flex; flex-wrap:wrap; align-items:baseline; gap:8px;
}
.pk-search-q{ color:var(--pk-black); }
.pk-search-title-suffix{ color:var(--pk-g500); font-weight:600; font-size:18px; }
.pk-search-count{ font-size:13.5px; color:var(--pk-g500); margin:0; }
.pk-search-count strong{ color:var(--pk-black); font-weight:800; }

/* 検索 폼 */
.pk-search-form{ margin-bottom:18px; }
.pk-search-bar{
  display:flex; align-items:center; gap:0; background:#fff;
  border:1.5px solid #e8e8e8; border-radius:10px;
  padding:0 6px 0 16px; height:52px; transition:border-color var(--pk-trans);
}
.pk-search-bar:focus-within{ border-color:var(--pk-black); }
.pk-search-bar-icon{ color:var(--pk-g500); flex-shrink:0; margin-right:10px; }
.pk-search-input{
  flex:1; height:100%; border:none; background:transparent;
  font-size:14.5px; color:var(--pk-black); font-family:inherit; outline:none; min-width:0;
}
.pk-search-input::placeholder{ color:#bbb; }
.pk-search-submit-btn{
  height:40px; padding:0 22px; background:var(--pk-black); color:#fff;
  border:none; border-radius:7px; font-size:13.5px; font-weight:700;
  cursor:pointer; transition:background var(--pk-trans); flex-shrink:0;
}
.pk-search-submit-btn:hover{ background:var(--pk-g900); }

/* 상세 토글 */
.pk-search-adv-toggle{
  display:inline-flex; align-items:center; gap:6px; margin-top:10px;
  background:none; border:none; padding:6px 0;
  font-size:12.5px; font-weight:600; color:var(--pk-g500);
  cursor:pointer; transition:color var(--pk-trans); font-family:inherit;
}
.pk-search-adv-toggle:hover{ color:var(--pk-black); }
.pk-search-adv-toggle.open{ color:var(--pk-black); }
.pk-search-adv-toggle.open svg{ transform:rotate(180deg); }
.pk-search-adv-toggle svg{ transition:transform var(--pk-trans); }

.pk-search-adv{
  margin-top:12px; padding:14px 18px; background:#fafafa;
  border:1px solid #eee; border-radius:10px;
  display:flex; flex-wrap:wrap; gap:14px 28px; align-items:center;
}
.pk-search-adv-section{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
}
.pk-search-adv-label{
  font-size:13px; font-weight:800; letter-spacing:1.5px; color:var(--pk-g500);
  margin:0; text-transform:uppercase; white-space:nowrap; flex-shrink:0;
}
.pk-search-chk-group{ display:flex; flex-wrap:wrap; gap:8px; }
.pk-search-chk{ display:inline-flex; align-items:center; gap:6px; cursor:pointer; }
.pk-search-chk input{ display:none; }
.pk-search-chk span{
  display:inline-block; padding:7px 14px; background:#fff;
  border:1.5px solid #e8e8e8; border-radius:18px;
  font-size:12.5px; color:var(--pk-g700); transition:all var(--pk-trans);
}
.pk-search-chk:hover span{ border-color:var(--pk-g500); }
.pk-search-chk input:checked + span{
  background:var(--pk-black); border-color:var(--pk-black); color:#fff; font-weight:700;
}
.pk-search-price{ display:flex; align-items:center; gap:8px; }
.pk-search-price-input{
  width:120px; height:38px; padding:0 12px; border:1.5px solid #e8e8e8;
  border-radius:6px; font-size:13px; font-family:inherit;
}
.pk-search-price-input:focus{ outline:none; border-color:var(--pk-black); }
.pk-search-price-sep{ color:var(--pk-g500); }
.pk-search-price-unit{ font-size:13px; color:var(--pk-g700); margin-left:4px; }

/* カテゴリー 칩 */
.pk-search-cats{
  display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px;
}
.pk-search-cat-chip{
  display:inline-flex; align-items:center; gap:6px; padding:8px 16px;
  background:#fff; border:1.5px solid #e8e8e8; border-radius:20px;
  font-size:12.5px; font-weight:600; color:var(--pk-g700);
  cursor:pointer; transition:all var(--pk-trans); font-family:inherit;
}
.pk-search-cat-chip:hover{ border-color:var(--pk-black); color:var(--pk-black); }
.pk-search-cat-chip.active{
  background:var(--pk-black); border-color:var(--pk-black); color:#fff;
}
.pk-search-cat-cnt{
  font-size:11px; padding:2px 7px; background:rgba(0,0,0,.05); border-radius:10px;
  color:inherit; font-weight:700;
}
.pk-search-cat-chip.active .pk-search-cat-cnt{ background:rgba(255,255,255,.2); }

/* 정렬 */
.pk-search-sort{
  display:flex; flex-wrap:wrap; gap:0; margin-bottom:18px;
  border-bottom:1px solid #f0f0f0; padding-bottom:0;
}
.pk-search-sort-btn{
  padding:10px 16px; background:none; border:none; border-bottom:2px solid transparent;
  font-size:13px; color:var(--pk-g500); cursor:pointer; transition:all var(--pk-trans);
  font-family:inherit; font-weight:600;
}
.pk-search-sort-btn:hover{ color:var(--pk-black); }
.pk-search-sort-btn.active{
  color:var(--pk-black); border-bottom-color:var(--pk-black); font-weight:800;
}

/* 결과 영역 */
.pk-search-results{ min-height:300px; }
.pk-search-paging{ margin-top:30px; text-align:center; }
.pk-search-paging .pg{ display:inline-flex; gap:4px; }
.pk-search-paging .pg_page,
.pk-search-paging .pg_current{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:36px; height:36px; padding:0 10px; border-radius:6px;
  font-size:13px; color:var(--pk-g700); background:#fff; border:1px solid #e8e8e8;
}
.pk-search-paging .pg_page:hover{ border-color:var(--pk-black); color:var(--pk-black); }
.pk-search-paging .pg_current{
  background:var(--pk-black); color:#fff; border-color:var(--pk-black); font-weight:800;
}

/* 빈 결과 */
.pk-search-empty{
  text-align:center; padding:60px 20px;
  background:#fafafa; border-radius:14px;
}
.pk-search-empty h3{
  font-size:18px; font-weight:800; margin:18px 0 8px; color:var(--pk-black);
}
.pk-search-empty p{ font-size:13.5px; color:var(--pk-g500); margin:0 0 18px; }
.pk-search-empty-tips{
  display:block; width:fit-content; text-align:left;
  list-style:disc; margin:0 auto 24px; padding-left:20px;
  font-size:12.5px; color:var(--pk-g700); line-height:2;
}
.pk-search-empty-back{
  display:inline-block; margin:0 auto;
  padding:12px 28px; background:var(--pk-black); color:#fff;
  border-radius:8px; font-size:13.5px; font-weight:700; transition:background var(--pk-trans);
}
.pk-search-empty > .pk-search-empty-back{ margin-top:8px; }
.pk-search-empty-back:hover{ background:var(--pk-g900); }

/* モバイル */
@media (max-width: 768px){
  .pk-search-page{ padding:0 16px; margin:20px auto 60px; }
  .pk-search-title{ font-size:20px; }
  .pk-search-title-suffix{ font-size:14px; }
  .pk-search-bar{ height:46px; padding:0 4px 0 12px; }
  .pk-search-submit-btn{ height:36px; padding:0 16px; font-size:12.5px; }
  .pk-search-adv{ flex-direction:column; align-items:stretch; gap:12px; padding:14px; }
  .pk-search-adv-section{ flex-wrap:wrap; }
  .pk-search-price-input{ width:100px; }
  .pk-search-sort{ overflow-x:auto; flex-wrap:nowrap; -webkit-overflow-scrolling:touch; }
  .pk-search-sort::-webkit-scrollbar{ display:none; }
  .pk-search-sort-btn{ white-space:nowrap; flex-shrink:0; }
  .pk-search-cats{ overflow-x:auto; flex-wrap:nowrap; -webkit-overflow-scrolling:touch; }
  .pk-search-cats::-webkit-scrollbar{ display:none; }
  .pk-search-cat-chip{ flex-shrink:0; white-space:nowrap; }
}

/* モバイル — 注文상세 */
@media (max-width:900px){
  #sod_fin{ padding:0 16px; margin:20px auto 60px; gap:16px; }
  .pk-orderview-actions{ flex-direction:column; }
  .pk-orderview-actions a{ max-width:none; width:100%; }
  #sod_fin::before{ font-size:20px; }
  #sod_fin .sod_right{ position:static; }
  #sod_fin section{ padding:16px 14px; }
  #sod_fin .tbl_head01 tr{ grid-template-columns:1fr; gap:4px; padding:8px 0; }
  #sod_fin .tbl_head01 th{ font-size:11.5px; }
  #sod_fin_legend{ grid-template-columns:repeat(3,1fr); }
  /* ご注文商品 테이블 — モバイル에서 row 단순화 */
  #sod_fin_list .tbl_head03 thead{ display:none; }
  #sod_fin_list .tbl_head03 tbody tr{ display:flex; flex-wrap:wrap; align-items:center; padding:12px; gap:6px 8px; }
  #sod_fin_list .tbl_head03 tbody td{ padding:0; border:none; font-size:12px; }
  #sod_fin_list .tbl_head03 .td_imgsmall{ width:auto; }
  #sod_fin_list .tbl_head03 .td_bdno{ width:calc(100% - 80px); padding-left:8px; text-align:left; }
  #sod_fin_list .tbl_head03 .td_mngsmall::before{ content:''; }
  #sod_fin_list .tbl_head03 .td_numbig::before{ content:''; }
}

/* モバイル — 注文폼 */
@media (max-width: 900px){
  #sod_frm.sod_frm_pc{ grid-template-columns:1fr; padding:0 16px; margin:20px auto 60px; gap:16px; }
  #sod_frm.sod_frm_pc::before{ font-size:20px; }
  #sod_frm .sod_right{ position:static; }
  #sod_frm section{ padding:18px 16px; }
  #sod_frm .tbl_frm01 tr{ grid-template-columns:1fr; gap:6px; padding:10px 0; }
  #sod_frm .tbl_frm01 th{ min-height:0; font-size:12px; color:var(--pk-g500); }
  #sod_frm input[name=od_name], #sod_frm input[name=od_b_name],
  #sod_frm input[name=od_tel], #sod_frm input[name=od_hp],
  #sod_frm input[name=od_b_tel], #sod_frm input[name=od_b_hp],
  #sod_frm input[name=od_email], #sod_frm input[name=ad_subject]{ width:100%; }
  #sod_frm #sod_list thead{ display:none; }
  #sod_frm #sod_list, #sod_frm #sod_list tbody, #sod_frm #sod_list tr, #sod_frm #sod_list td{ display:block; width:100%; }
  #sod_frm #sod_list tr{ padding:14px 12px; border-bottom:1px solid #f3f3f3; display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
  #sod_frm #sod_list td{ padding:0; border:none; }
  #sod_frm #sod_list .td_prd{ width:100%; margin-bottom:6px; }
  #sod_frm #sod_list .td_num::before{ content:'数量 '; color:#999; }
  #sod_frm #sod_list .td_numbig::before{ content:''; }
  #sod_frm #sod_list .td_dvr::before{ content:'配送 '; color:#999; }
  #sod_frm #sod_list .td_num, #sod_frm #sod_list .td_numbig, #sod_frm #sod_list .td_dvr{
    font-size:11.5px; padding:0 6px; color:var(--pk-g700);
  }
  #sod_frm #sod_frm_paysel{ grid-template-columns:1fr 1fr; }
}

/* ============================================================
   GNB 드롭다운 (大分類: レディース / メンズ / ブランド)
============================================================ */
.pk-gnb-list .pk-gnb-1d { position: relative; }
.pk-gnb-list .pk-gnb-1d > a {
  display: block; padding: 14px 16px; font-size: 12px; font-weight: 500;
  color: #555; transition: color .15s;
}
.pk-gnb-list .pk-gnb-1d > a:hover { color: #000; }
.pk-gnb-list .pk-gnb-1d.pk-gnb-active > a { color: #000; font-weight: 500; border-bottom: 2px solid #000; margin-bottom: -1px; }
.pk-gnb-list .pk-gnb-1d.pk-gnb-disabled > a { color: #bbb; cursor: not-allowed; }

.pk-gnb-list .pk-gnb-2d {
  display: none;
  position: absolute; top: 100%; left: 0;
  background: #fff; border: 1px solid #eee; border-top: 2px solid #111;
  min-width: 200px; padding: 8px 0; z-index: 100;
  box-shadow: 0 8px 24px rgba(0,0,0,.08); border-radius: 0 0 4px 4px;
}
.pk-gnb-list .pk-gnb-1d:hover .pk-gnb-2d { display: block; }
.pk-gnb-list .pk-gnb-2d ul { list-style: none; padding: 0; margin: 0; }
.pk-gnb-list .pk-gnb-2d li a {
  display: block; padding: 9px 18px; font-size: 13px;
  color: #555; font-weight: 500; transition: background .12s, color .12s;
  white-space: nowrap;
}
.pk-gnb-list .pk-gnb-2d li a:hover { background: #f5f5f5; color: #111; }

/* 브랜드 드롭다운 — 멀티컬럼 + 스크롤 */
.pk-gnb-list .pk-gnb-2d-brand {
  min-width: 480px; max-height: 70vh; overflow-y: auto;
  padding: 12px 8px;
}
.pk-gnb-list .pk-gnb-2d-brand ul {
  column-count: 3; column-gap: 10px;
}
.pk-gnb-list .pk-gnb-2d-brand li {
  break-inside: avoid;
}
.pk-gnb-list .pk-gnb-2d-brand li a {
  padding: 6px 14px; font-size: 12.5px;
}

/* ── 푸터 SNS 링크 ── */
.pk-footer-sns {
  display: flex; gap: 14px; list-style: none; padding: 0;
  margin: 0 0 16px;
}
.pk-footer-sns li a {
  display: flex; align-items: center; justify-content: center;
  width: 38px; height: 38px; border-radius: 50%;
  background: rgba(255,255,255,.08); color: #aaa;
  transition: all .18s ease;
}
.pk-footer-sns li a:hover {
  background: rgba(255,255,255,.18); color: #fff; transform: translateY(-2px);
}

/* 상품 리스트 페이지 — 상단 카테고리 탭 숨김 (사이드바로 이동) */
.pk-shop-nav-tabs { display: none !important; }
.pk-shop-nav-bar { padding: 16px 0 8px; border-bottom: 1px solid #f0f0f0; margin-bottom: 18px; }

/* 사이드바 1차 카테고리 링크 */
.pk-sidebar-top-list li { margin-bottom: 4px; }
.pk-sidebar-top-link {
  display: block; padding: 8px 10px; font-size: 13.5px; color: #555;
  font-weight: 600; border-radius: 6px; transition: all .15s;
}
.pk-sidebar-top-link:hover { background: #f5f5f5; color: #111; }
.pk-sidebar-top-link.active { background: #111; color: #fff; }

/* lune의 list.php 기본 list_title 숨김 (PLIKI pk-shop-nav-bar로 대체됨) */
.list_title { display: none !important; }

/* 메인 카테고리 바 — 이미지 아이콘 */
.pk-main-cat-item .pk-cat-icon {
  display: flex; align-items: center; justify-content: center;
  width: 80px; height: 80px; border-radius: 50%;
  background: #f5f5f5; overflow: hidden; margin: 0 auto 8px;
  transition: transform .2s, box-shadow .2s;
}
.pk-main-cat-item:hover .pk-cat-icon { transform: translateY(-3px); box-shadow: 0 6px 16px rgba(0,0,0,.08); }
.pk-main-cat-item .pk-cat-icon img {
  width: 100%; height: 100%; object-fit: cover;
}
.pk-main-cat-item .pk-cat-icon:has(img) { background: #fff; border: 1px solid #f0f0f0; }
.pk-main-cat-all .pk-cat-icon { background: #111; color: #fff; font-size: 22px; }
.pk-main-cat-all .pk-cat-icon img { object-fit: contain; padding: 18px; filter: invert(1) brightness(2); }

/* GNB レディース 메가 메뉴 */
.pk-gnb-mega-trigger { position: static !important; }
.pk-gnb-mega {
  display: none; position: absolute; left: 0; right: 0; top: 100%;
  background: #fff; border-top: 2px solid #111; border-bottom: 1px solid #eee;
  z-index: 100; box-shadow: 0 16px 32px rgba(0,0,0,.06);
}
.pk-gnb-mega-trigger:hover .pk-gnb-mega { display: block; }
.pk-gnb-mega-inner {
  max-width: 1200px; margin: 0 auto; padding: 30px 24px;
  display: grid; grid-template-columns: repeat(5, 1fr); gap: 24px 32px;
}
.pk-gnb-mega-col {
  min-width: 0;
}
.pk-gnb-mega-title {
  display: block; font-size: 14px; font-weight: 800; color: #111;
  margin-bottom: 12px; padding-bottom: 8px; border-bottom: 1px solid #eee;
  letter-spacing: -.2px;
}
.pk-gnb-mega-title:hover { color: #000; }
.pk-gnb-mega-col ul { list-style: none; padding: 0; margin: 0; }
.pk-gnb-mega-col li { margin-bottom: 6px; }
.pk-gnb-mega-col li a {
  font-size: 12.5px; color: #666; transition: color .12s, padding .12s;
  display: block; padding: 3px 0;
}
.pk-gnb-mega-col li a:hover { color: #111; padding-left: 4px; }

/* 모바일 카테고리 아이콘 스트립 — 이미지 */
.pk-mob-strip-icon {
  display: flex; align-items: center; justify-content: center;
  width: 56px; height: 56px; border-radius: 50%;
  background: #fff; border: 1.5px solid #f0f0f0;
  overflow: hidden; flex-shrink: 0;
}
.pk-mob-strip-icon img { width: 100%; height: 100%; object-fit: cover; }

/* ── 모바일 카테고리 아이콘 슬라이딩 스트립 (가로 스크롤) ── */
.pk-mob-strip-wrap {
  position: sticky; top: 56px; z-index: 50;
  background: #fff; border-bottom: 1px solid #f0f0f0;
  margin: 0 -16px;
}
.pk-mob-strip {
  display: flex; gap: 22px;
  padding: 12px 16px 14px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
}
.pk-mob-strip::-webkit-scrollbar { display: none; }
.pk-mob-strip-item {
  flex: 0 0 auto; width: 64px;
  display: flex; flex-direction: column; align-items: center; gap: 7px;
  text-align: center;
  scroll-snap-align: start;
  text-decoration: none;
}
.pk-mob-strip-item .pk-mob-strip-icon {
  width: 56px; height: 56px; border-radius: 50%;
  background: #f5f5f5; border: 1.5px solid #f0f0f0;
  overflow: hidden;
  display: flex; align-items: center; justify-content: center;
  transition: border-color .15s, transform .15s;
}
.pk-mob-strip-item.active .pk-mob-strip-icon { border-color: #111; border-width: 2px; }
.pk-mob-strip-item:hover .pk-mob-strip-icon { transform: scale(1.05); }
.pk-mob-strip-icon img { width: 100%; height: 100%; object-fit: cover; }
.pk-mob-strip-label {
  font-size: 11px; color: #555; font-weight: 600;
  width: 100%; line-height: 1.25; word-break: keep-all;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
}
.pk-mob-strip-item.active .pk-mob-strip-label { color: #111; font-weight: 700; }

/* PC에선 strip 숨김 */
@media (min-width: 769px) {
  .pk-mob-strip-wrap { display: none; }
}

/* 메인 히어로 슬라이드 */
.pk-hero-slider { position: relative; overflow: hidden; background: #f5f5f5; }
.pk-hero-slider .swiper-wrapper { align-items: stretch; }
.pk-hero-slider .swiper-slide { display: block; }
.pk-hero-slider .swiper-slide img { display: block; width: 100%; height: auto; }
.pk-hero-slider .swiper-pagination { bottom: 18px !important; }
.pk-hero-slider .swiper-pagination-bullet { background: #fff; opacity: .55; width: 8px; height: 8px; }
.pk-hero-slider .swiper-pagination-bullet-active { opacity: 1; width: 28px; border-radius: 4px; }
.pk-hero-prev, .pk-hero-next {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 44px; height: 44px; border-radius: 50%; background: rgba(0,0,0,.4); color: #fff;
  border: none; cursor: pointer; z-index: 10;
  display: flex; align-items: center; justify-content: center;
  transition: background .2s;
}
.pk-hero-prev:hover, .pk-hero-next:hover { background: rgba(0,0,0,.7); }
.pk-hero-prev { left: 16px; } .pk-hero-next { right: 16px; }
@media (max-width: 768px) {
  .pk-hero-prev, .pk-hero-next { display: none; }
}

/* 레디스 드롭다운 — 호버 + 클릭 토글 */
.pk-gnb-dropdown { position: relative; }
.pk-gnb-dropdown .pk-gnb-2d {
  display: none;
  position: absolute; top: 100%; left: 0;
  background: #fff; border: 1px solid #eee; border-top: 2px solid #111;
  min-width: 180px; padding: 8px 0; z-index: 100;
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
}
.pk-gnb-dropdown:hover .pk-gnb-2d,
.pk-gnb-dropdown.open .pk-gnb-2d { display: block; }
.pk-gnb-dropdown .pk-gnb-2d ul { list-style: none; padding: 0; margin: 0; }
.pk-gnb-dropdown .pk-gnb-2d li a {
  display: block; padding: 9px 18px; font-size: 13px; color: #555;
  white-space: nowrap; transition: background .12s;
}
.pk-gnb-dropdown .pk-gnb-2d li a:hover { background: #f5f5f5; color: #111; }

/* 레디스 드롭다운 — 1차+2차 트리 */
.pk-gnb-tree { min-width: 240px; padding: 12px 0; }
.pk-gnb-tree > ul { list-style: none; padding: 0; margin: 0; }
.pk-gnb-tree .pk-tree-1d { padding: 4px 0; }
.pk-gnb-tree .pk-tree-1d-link {
  display: block; padding: 8px 18px; font-size: 13px; font-weight: 800;
  color: #111; letter-spacing: -.2px; transition: background .12s;
}
.pk-gnb-tree .pk-tree-1d-link:hover { background: #f5f5f5; }
.pk-gnb-tree .pk-tree-2d { list-style: none; padding: 0; margin: 0 0 4px; }
.pk-gnb-tree .pk-tree-2d li a {
  display: block; padding: 5px 18px 5px 32px; font-size: 12.5px;
  color: #777; transition: color .12s, background .12s;
}
.pk-gnb-tree .pk-tree-2d li a:hover { background: #fafafa; color: #111; }

/* 사이드바 1차+2차 트리 (드롭다운 토글) */
.pk-sidebar-tree { padding: 0; margin: 0; }
.pk-sidebar-tree .pk-side-1d { margin-bottom: 2px; }
.pk-sidebar-tree .pk-side-1d-row {
  display: flex; align-items: center; gap: 4px;
}
.pk-sidebar-tree .pk-side-1d-link {
  flex: 1; min-width: 0;
  display: block; padding: 8px 12px; font-size: 13.5px; font-weight: 700;
  color: #222; border-radius: 6px; transition: all .15s;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.pk-sidebar-tree .pk-side-1d-link:hover { background: #f5f5f5; color: #111; }
.pk-sidebar-tree .pk-side-1d-link.active { background: #111; color: #fff; }
.pk-sidebar-tree .pk-side-1d-toggle {
  flex-shrink: 0;
  width: 28px; height: 28px; border-radius: 6px;
  background: none; border: none; cursor: pointer; color: #888;
  display: flex; align-items: center; justify-content: center;
  transition: background .12s, transform .2s;
}
.pk-sidebar-tree .pk-side-1d-toggle:hover { background: #f0f0f0; color: #111; }
.pk-sidebar-tree .pk-side-1d.open .pk-side-1d-toggle svg { transform: rotate(180deg); }
.pk-sidebar-tree .pk-side-2d {
  display: none;
  list-style: none; padding: 4px 0 6px 14px; margin: 0;
}
.pk-sidebar-tree .pk-side-1d.open .pk-side-2d { display: block; }
.pk-sidebar-tree .pk-side-2d li a {
  display: block; padding: 4px 10px; font-size: 12.5px;
  color: #777; border-radius: 4px; transition: all .12s;
}
.pk-sidebar-tree .pk-side-2d li a:hover { color: #111; background: #fafafa; }
.pk-sidebar-tree .pk-side-2d li a.active { color: #111; font-weight: 700; background: #f0f0f0; }

/* ============================================================
   CONTENT PAGES (이용약관·개인정보·회사소개) — bbs/content.php
============================================================ */
.ctt_provision, .ctt_privacy, .ctt_company, [class^='ctt_'] {
  max-width: 900px; margin: 40px auto 80px; padding: 0 24px;
  font-size: 14px; line-height: 1.85; color: #333;
}
[class^='ctt_'] h1, [class^='ctt_'] h2 {
  font-size: 28px; font-weight: 800; letter-spacing: -.5px;
  padding-bottom: 18px; margin-bottom: 28px;
  border-bottom: 2px solid #111;
}
[class^='ctt_'] h3 {
  font-size: 17px; font-weight: 800; margin: 32px 0 12px;
  padding-left: 12px; border-left: 3px solid #111;
}
[class^='ctt_'] h4 { font-size: 15px; font-weight: 700; margin: 20px 0 10px; }
[class^='ctt_'] p { margin-bottom: 12px; }
[class^='ctt_'] ul, [class^='ctt_'] ol { padding-left: 20px; margin-bottom: 16px; }
[class^='ctt_'] li { margin-bottom: 6px; }
[class^='ctt_'] table {
  border-collapse: collapse; width: 100%; margin: 16px 0;
  border: 1px solid #eee; font-size: 13px;
}
[class^='ctt_'] th {
  background: #fafafa; padding: 10px 14px; font-weight: 700;
  text-align: left; border: 1px solid #eee;
}
[class^='ctt_'] td { padding: 10px 14px; border: 1px solid #eee; vertical-align: top; }

/* 컨텐츠 헤더 영역 */
#content_header, .ctt_top {
  max-width: 900px; margin: 32px auto 0; padding: 0 24px;
}
#content_header h1, #content_header h2, .ctt_top h1, .ctt_top h2 {
  font-size: 32px; font-weight: 900; letter-spacing: -.5px;
  margin-bottom: 8px;
}

/* ============================================================
   FAQ — /bbs/faq.php (PLIKI 디자인 오버라이드)
============================================================ */
#faq_list, .faq_list, .faq_wrap {
  max-width: 900px; margin: 40px auto 80px; padding: 0 24px;
}
.tit_btn, .faq_q {
  display: flex; align-items: center; justify-content: space-between;
  width: 100%; padding: 18px 22px;
  background: #fff; border: 1px solid #eee; border-radius: 10px;
  font-size: 15px; font-weight: 700; color: #111;
  text-align: left; cursor: pointer; transition: all .15s;
  margin-bottom: 8px;
}
.tit_btn:hover, .faq_q:hover { border-color: #111; }
.tit_btn.active, .tit_btn[aria-expanded='true'] {
  background: #111; color: #fff; border-color: #111;
}
.tit_bg {
  display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; border-radius: 50%;
  background: #f5f5f5; color: #555; font-weight: 800; font-size: 13px;
  margin-right: 14px; flex-shrink: 0;
}
.tit_btn.active .tit_bg { background: rgba(255,255,255,.2); color: #fff; }
.tit_btn .fa-plus, .tit_btn .fa-minus {
  margin-left: auto; font-size: 14px; transition: transform .2s;
}
.tit_btn.active .fa-plus { display: none; }
.tit_btn:not(.active) .fa-minus { display: none; }
.con_inner, .faq_a {
  padding: 22px 28px; margin: 0 0 16px;
  background: #fafafa; border-radius: 10px;
  font-size: 14px; line-height: 1.85; color: #444;
}
.con_inner img, .faq_a img { max-width: 100%; height: auto; border-radius: 6px; }
.closer_btn {
  display: inline-flex; align-items: center; gap: 6px;
  margin-top: 14px; padding: 8px 14px;
  background: #fff; border: 1px solid #ddd; border-radius: 6px;
  font-size: 12.5px; color: #666; cursor: pointer;
}
.closer_btn:hover { border-color: #111; color: #111; }

/* FAQ 페이지 헤더 */
#bo_v_top, .bo_v_top, #faq_top {
  max-width: 900px; margin: 32px auto 24px; padding: 0 24px;
}
#bo_v_top h2, #faq_top h2, #faq_list h2:first-child {
  font-size: 32px; font-weight: 900; letter-spacing: -.5px;
  padding-bottom: 14px; border-bottom: 2px solid #111;
}

/* FAQ 카테고리 탭 (fm_id 별) */
#bo_cate, .faq_cate, .faq_master_list {
  max-width: 900px; margin: 0 auto 24px; padding: 0 24px;
  display: flex; gap: 10px; flex-wrap: wrap;
}
#bo_cate li, .faq_master_list li { list-style: none; }
#bo_cate a, .faq_master_list a {
  display: inline-block; padding: 8px 18px;
  background: #fff; border: 1.5px solid #e0e0e0; border-radius: 22px;
  font-size: 13px; font-weight: 600; color: #555;
  transition: all .15s;
}
#bo_cate a:hover, .faq_master_list a:hover { border-color: #111; color: #111; }
#bo_cate a.active, #bo_cate li.bo_current a, .faq_master_list a.active {
  background: #111; color: #fff; border-color: #111;
}

/* ============================================================
   FAQ — /shop/cs.php (DB 기반)
============================================================ */
.pk-faq-page {
  max-width: 900px; margin: 40px auto 80px; padding: 0 24px;
}
.pk-faq-hero {
  text-align: center; padding: 40px 0 32px; margin-bottom: 32px;
  border-bottom: 1px solid #eee;
}
.pk-faq-eyebrow {
  font-size: 11px; font-weight: 800; letter-spacing: 4px;
  color: #888; margin-bottom: 14px;
}
.pk-faq-title {
  font-size: 36px; font-weight: 900; letter-spacing: -.8px;
  margin-bottom: 12px; color: #111;
}
.pk-faq-sub { font-size: 14px; color: #666; }
.pk-faq-cats {
  display: flex; flex-wrap: wrap; gap: 8px; justify-content: center;
  list-style: none; padding: 0; margin: 0 0 32px;
}
.pk-faq-cats a {
  display: inline-block; padding: 9px 20px;
  background: #fff; border: 1.5px solid #e0e0e0; border-radius: 24px;
  font-size: 13px; font-weight: 600; color: #555; transition: all .15s;
}
.pk-faq-cats a:hover { border-color: #111; color: #111; }
.pk-faq-cats a.active { background: #111; color: #fff; border-color: #111; }

.pk-faq-list { display: flex; flex-direction: column; gap: 8px; }
.pk-faq-item {
  background: #fff; border: 1px solid #eee; border-radius: 12px;
  overflow: hidden; transition: border-color .15s;
}
.pk-faq-item:hover { border-color: #ccc; }
.pk-faq-item.open { border-color: #111; }
.pk-faq-q {
  display: flex; align-items: center; gap: 14px;
  width: 100%; padding: 18px 22px;
  background: none; border: none; cursor: pointer;
  text-align: left; font-family: inherit;
}
.pk-faq-q-num {
  flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; border-radius: 50%;
  background: #111; color: #fff; font-weight: 900; font-size: 13px;
}
.pk-faq-q-text {
  flex: 1; font-size: 15px; font-weight: 700; color: #111; line-height: 1.5;
}
.pk-faq-q-arrow { color: #888; transition: transform .2s; flex-shrink: 0; }
.pk-faq-item.open .pk-faq-q-arrow { transform: rotate(180deg); color: #111; }
.pk-faq-a {
  display: none; padding: 20px 22px 24px; border-top: 1px solid #f0f0f0;
  background: #fafafa;
  align-items: flex-start; gap: 14px;
}
.pk-faq-item.open .pk-faq-a { display: flex; }
.pk-faq-a-num {
  flex-shrink: 0;
  display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; border-radius: 50%;
  background: #e44; color: #fff; font-weight: 900; font-size: 13px;
}
.pk-faq-a-content {
  flex: 1; font-size: 14px; color: #444; line-height: 1.85;
}
.pk-faq-a-content img { max-width: 100%; height: auto; border-radius: 6px; }
.pk-faq-empty {
  padding: 60px 24px; text-align: center; color: #aaa;
  background: #fafafa; border-radius: 12px;
}


/* ─────────────────────────────────────────────
   WISHLIST PAGE — お気に入り (PLIKI 디자인)
   /shop/wishlist.php (코어 inline HTML 매칭)
───────────────────────────────────────────── */

/* 컨테이너 (PLIKI 폭 제한 + 패딩) */
#sod_ws {
  max-width: 1280px;
  margin: 0 auto;
  padding: 32px 24px 80px;
  font-family: 'Noto Sans JP', -apple-system, 'Hiragino Kaku Gothic ProN', 'Yu Gothic', Meiryo, sans-serif;
}

/* 마이페이지 상단 탭 (회원ナビ) */
#sod_ws + .row .title_box,
.title_box {
  text-align: center;
  padding: 14px 8px;
  border: 1px solid #eee;
  border-radius: 8px;
  background: #fff;
  transition: all .2s ease;
  margin-bottom: 8px;
}
.title_box:hover { border-color: #000; }
.title_box.active { background: #111; border-color: #111; }
.title_box.active a, .title_box.active p { color: #fff; }
.title_box img { width: 32px; height: 32px; opacity: .85; margin-bottom: 6px; }
.title_box.active img { filter: invert(1); opacity: 1; }
.title_box p {
  font-size: 13px; font-weight: 600; color: #333;
  margin: 0; letter-spacing: .3px;
}
.title_box a { text-decoration: none; display: block; }

/* 페이지 제목 (.bo_title) */
.bo_title {
  text-align: center;
  margin: 40px 0 32px;
  position: relative;
}
.bo_title .border {
  display: inline-block;
  font-size: 24px;
  font-weight: 800;
  color: #111;
  letter-spacing: 4px;
  padding: 0 24px 14px;
  border-bottom: 2px solid #111;
  text-transform: uppercase;
  font-family: 'Noto Sans JP', sans-serif;
}

/* 위시 그리드 */
#sod_ws .ct_group {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 24px;
  margin: 24px 0 32px;
}

/* 위시 카드 */
#sod_ws .ct_item {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: all .25s ease;
}
#sod_ws .ct_item:hover {
  border-color: #111;
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(0,0,0,.08);
}

/* 이미지 영역 */
#sod_ws .sod_img {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #fafafa;
}
#sod_ws .sod_img a {
  display: block;
  width: 100%;
  height: 100%;
}
#sod_ws .sod_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}
#sod_ws .ct_item:hover .sod_img img {
  transform: scale(1.06);
}
#sod_ws .sod_img.no-item-image {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ccc;
  font-size: 12px;
}
#sod_ws .sod_img.no-item-image::before {
  content: 'NO IMAGE';
  letter-spacing: 2px;
  font-weight: 600;
}

/* 정보 영역 */
#sod_ws .ct_content {
  padding: 16px 18px 12px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
#sod_ws .ct_content ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
#sod_ws .ct_content li {
  margin-bottom: 6px;
  display: block;
}
#sod_ws .ct_content li strong {
  display: none; /* 商品名/価格 라벨 숨김 (시각적으로 군더더기) */
}
#sod_ws .ct_content li:first-child span {
  font-size: 14px;
  color: #111;
  font-weight: 600;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 40px;
}
#sod_ws .ct_content li:nth-child(2) span {
  font-size: 16px;
  font-weight: 700;
  color: #111;
  margin-top: 4px;
  display: block;
}

/* 액션 버튼 */
#sod_ws .ct_btn {
  display: flex;
  gap: 6px;
  padding: 0 18px 16px;
}
#sod_ws .ct_btn .btn {
  flex: 1;
  padding: 10px 8px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .5px;
  text-align: center;
  border-radius: 6px;
  text-decoration: none;
  transition: all .2s ease;
  border: 1px solid #111;
  background: #fff;
  color: #111;
}
#sod_ws .ct_btn .btn:hover {
  background: #111;
  color: #fff;
}
#sod_ws .ct_btn .btn.red {
  border-color: #d9534f;
  color: #d9534f;
}
#sod_ws .ct_btn .btn.red:hover {
  background: #d9534f;
  color: #fff;
}

/* 빈 상태 */
#sod_ws .empty_table {
  padding: 80px 24px;
  text-align: center;
  font-size: 14px;
  color: #999;
  background: #fafafa;
  border-radius: 12px;
  margin: 24px 0;
  letter-spacing: .5px;
}
#sod_ws .empty_table::before {
  content: '♡';
  display: block;
  font-size: 48px;
  color: #ddd;
  margin-bottom: 12px;
}

/* 페이징 */
#sod_ws .pg_wrap {
  text-align: center;
  margin-top: 32px;
}
#sod_ws .pg_wrap .pg_page,
#sod_ws .pg_wrap .pg_current {
  display: inline-block;
  padding: 8px 14px;
  margin: 0 2px;
  border: 1px solid #eee;
  border-radius: 4px;
  text-decoration: none;
  color: #555;
  font-size: 13px;
  transition: all .15s;
}
#sod_ws .pg_wrap .pg_page:hover {
  border-color: #111;
  color: #111;
}
#sod_ws .pg_wrap .pg_current {
  background: #111;
  color: #fff;
  border-color: #111;
}

/* 반응형: 모바일 */
@media (max-width: 768px) {
  #sod_ws {
    padding: 16px 12px 40px;
  }
  #sod_ws .ct_group {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  #sod_ws .ct_content {
    padding: 12px 12px 8px;
  }
  #sod_ws .ct_btn {
    padding: 0 12px 12px;
    flex-direction: column;
  }
  #sod_ws .ct_btn .btn {
    padding: 9px 8px;
    font-size: 11.5px;
  }
  #sod_ws .ct_content li:first-child span {
    font-size: 13px;
    min-height: 36px;
  }
  #sod_ws .ct_content li:nth-child(2) span {
    font-size: 14.5px;
  }
  .bo_title .border {
    font-size: 18px;
    letter-spacing: 3px;
    padding: 0 16px 10px;
  }
}


/* ─────────────────────────────────────────────
   CART OPTION MODAL — 商品オプション変更
   /shop/cartoption.php
───────────────────────────────────────────── */

/* 모달/팝업 컨테이너 */
.tbl_head03,
#sod_frm,
form[name="foption"] {
  font-family: 'Noto Sans JP', -apple-system, 'Hiragino Kaku Gothic ProN', 'Yu Gothic', Meiryo, sans-serif;
}

form[name="foption"] {
  padding: 24px 28px;
  background: #fff;
  border-radius: 12px;
  max-width: 520px;
  margin: 0 auto;
}

form[name="foption"] h2 {
  font-size: 18px;
  font-weight: 800;
  color: #111;
  margin: 0 0 20px;
  padding-bottom: 14px;
  border-bottom: 2px solid #111;
  letter-spacing: 1px;
}

form[name="foption"] section.option_wr {
  margin-bottom: 16px;
}

form[name="foption"] section.option_wr h3 {
  font-size: 12px;
  font-weight: 700;
  color: #555;
  margin: 0 0 8px;
  letter-spacing: .5px;
  text-transform: uppercase;
}

form[name="foption"] section.option_wr select {
  width: 100%;
  padding: 11px 14px;
  font-size: 13.5px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: #fff;
  font-family: inherit;
  cursor: pointer;
  transition: border-color .15s;
}
form[name="foption"] section.option_wr select:hover,
form[name="foption"] section.option_wr select:focus {
  border-color: #111;
  outline: none;
}

/* 추가된 옵션 리스트 */
#sit_sel_option {
  margin-top: 16px;
  border-top: 1px dashed #eee;
  padding-top: 16px;
}

#sit_opt_added {
  list-style: none;
  margin: 0;
  padding: 0;
}

.sit_opt_list,
.sit_spl_list {
  background: #fafafa;
  border: 1px solid #eee;
  border-radius: 8px;
  padding: 14px 16px;
  margin-bottom: 10px;
  transition: border-color .15s;
}
.sit_opt_list:hover,
.sit_spl_list:hover {
  border-color: #111;
}

/* 옵션명 */
.sit_opt_list .opt_name,
.sit_spl_list .opt_name {
  margin-bottom: 10px;
}
.sit_opt_subj {
  font-size: 13.5px;
  font-weight: 600;
  color: #111;
  letter-spacing: .2px;
  display: block;
}

/* 수량 컨트롤 영역 */
.opt_count {
  display: flex;
  align-items: center;
  gap: 0;
  flex-wrap: wrap;
}

/* 마이너스 버튼 (감소) */
.sit_qty_minus,
.sit_qty_plus {
  width: 32px;
  height: 32px;
  padding: 0;
  border: 1px solid #ddd;
  background: #fff;
  border-radius: 6px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #333;
  font-size: 14px;
  transition: all .15s ease;
  flex-shrink: 0;
}
.sit_qty_minus:hover,
.sit_qty_plus:hover {
  background: #111;
  color: #fff;
  border-color: #111;
}
.sit_qty_minus:active,
.sit_qty_plus:active {
  transform: scale(.92);
}

/* 수량 입력 */
.num_input {
  width: 56px;
  height: 32px;
  margin: 0 6px;
  padding: 0;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  color: #111;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-family: inherit;
  background: #fff;
  -moz-appearance: textfield;
}
.num_input::-webkit-outer-spin-button,
.num_input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.num_input:focus {
  border-color: #111;
  outline: none;
}

/* 가격 표시 */
.sit_opt_prc {
  margin-left: auto;
  margin-right: 8px;
  font-size: 13px;
  font-weight: 600;
  color: #555;
  white-space: nowrap;
}

/* 삭제 버튼 */
.sit_opt_del {
  width: 32px;
  height: 32px;
  padding: 0;
  border: 1px solid #f0d4d4;
  background: #fff;
  border-radius: 6px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #d9534f;
  font-size: 14px;
  transition: all .15s ease;
  flex-shrink: 0;
}
.sit_opt_del:hover {
  background: #d9534f;
  border-color: #d9534f;
  color: #fff;
}
.sit_opt_del:active {
  transform: scale(.92);
}

/* sound_only 강제 숨김 (一部 환경에서 누출되는 것 방지) */
.opt_count .sound_only,
form[name="foption"] .sound_only {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(1px,1px,1px,1px) !important;
}

/* 합계 가격 */
#sit_tot_price {
  margin: 16px 0;
  padding: 14px 16px;
  background: #111;
  color: #fff;
  border-radius: 8px;
  text-align: right;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: .5px;
  display: none; /* 내용 있을 때만 보이도록 JS가 처리 */
}
#sit_tot_price:not(:empty) { display: block; }

/* 폼 하단 버튼 */
form[name="foption"] .btn_confirm {
  display: flex;
  gap: 8px;
  margin-top: 20px;
}

form[name="foption"] .btn_confirm .btn_submit {
  flex: 1;
  padding: 13px 20px;
  background: #111;
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 1px;
  cursor: pointer;
  transition: background .15s;
  font-family: inherit;
}
form[name="foption"] .btn_confirm .btn_submit:hover {
  background: #333;
}

form[name="foption"] .btn_confirm .btn_close {
  flex: 0 0 auto;
  width: 44px;
  padding: 0;
  background: #fff;
  color: #555;
  border: 1px solid #ddd;
  border-radius: 8px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all .15s;
  font-family: inherit;
  font-size: 14px;
}
form[name="foption"] .btn_confirm .btn_close:hover {
  background: #f5f5f5;
  border-color: #aaa;
  color: #111;
}

/* 모바일 반응형 */
@media (max-width: 640px) {
  form[name="foption"] {
    padding: 16px 18px;
  }
  form[name="foption"] h2 {
    font-size: 16px;
  }
  .sit_opt_list, .sit_spl_list {
    padding: 12px 14px;
  }
  .sit_opt_subj {
    font-size: 12.5px;
  }
  .sit_qty_minus, .sit_qty_plus, .sit_opt_del {
    width: 30px;
    height: 30px;
  }
  .num_input {
    width: 48px;
    height: 30px;
    margin: 0 4px;
  }
  .sit_opt_prc {
    font-size: 12px;
    width: 100%;
    text-align: right;
    margin: 8px 0 0;
    padding-top: 8px;
    border-top: 1px dashed #ddd;
  }
}

/* 페이지네이션 숨김 (무한스크롤) */
.pg_wrap, .pg, nav.pg_wrap { display: none !important; }

/* LINE 메신저 floating ボタン (top 버튼 위) */
#pk-line-btn {
  position: fixed;
  right: 28px;
  bottom: 84px;
  z-index: 301;
  width: 50px;
  height: 50px;
  background: #06C755;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 20px rgba(6,199,85,.35);
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
  text-decoration: none;
}
#pk-line-btn:hover {
  background: #05a849;
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 10px 28px rgba(6,199,85,.5);
}
#pk-line-btn svg {
  width: 26px;
  height: 26px;
}
@media (max-width: 640px) {
  #pk-line-btn {
    right: 18px;
    bottom: 72px;
    width: 46px;
    height: 46px;
  }
  #pk-line-btn svg {
    width: 24px;
    height: 24px;
  }
}

/* 회사정보 (이용약관 밑) */
.pk-footer-company-info {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #2a2a2a;
  font-size: 11px;
  color: #888;
  line-height: 1.8;
  letter-spacing: .2px;
}
.pk-footer-company-info p {
  margin: 0 0 4px;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.pk-footer-company-info span { white-space: nowrap; }
@media (max-width: 768px) {
  .pk-footer-company-info { font-size: 10.5px; }
  .pk-footer-company-info p { gap: 8px 14px; }
}

/* モバイル: 商品カードのカート/위시 ボタン 숨김 (깨끗하게) */
@media (max-width: 768px) {
  .pk-item-actions,
  .pk-item-card .pk-cart-btn,
  .pk-item-card .pk-wish-btn { display: none !important; }
}

/* ─────────────────────────────────────────────
   상세 페이지 디자인 리뉴얼 (모던 + 임팩트)
───────────────────────────────────────────── */

/* 레이아웃: 이미지 영역 sticky */
.pk-detail-layout {
  gap: 64px !important;
  padding-bottom: 60px;
}
.pk-detail-images {
  position: sticky;
  top: 100px;
  align-self: start;
}

/* 메인 이미지: 더 큰 라운드 + 그림자 + 호버 줌 */
.pk-detail-main-img {
  border-radius: 16px !important;
  box-shadow: 0 12px 40px rgba(0,0,0,.08);
  background: #f7f7f8 !important;
  cursor: zoom-in;
}
.pk-detail-main-img img {
  transition: transform .6s cubic-bezier(.16,.84,.4,1);
}
.pk-detail-main-img:hover img {
  transform: scale(1.04);
}

/* 썸네일: 가로 스크롤 + 활성 상태 강조 */
.pk-detail-thumbs {
  gap: 10px !important;
  margin-top: 14px;
  overflow-x: auto;
  flex-wrap: nowrap !important;
  scrollbar-width: thin;
  padding-bottom: 4px;
}
.pk-detail-thumbs::-webkit-scrollbar { height: 4px; }
.pk-detail-thumbs::-webkit-scrollbar-thumb { background: #ddd; border-radius: 2px; }
.pk-detail-thumbs li {
  width: 78px !important;
  height: 78px !important;
  border-radius: 8px !important;
  border-width: 2px;
}
.pk-detail-thumbs li.active,
.pk-detail-thumbs li:focus-within {
  border-color: #111 !important;
}

/* 정보 패널: 상품명 — 좀 더 큼직 */
.pk-detail-brand {
  font-size: 12px !important;
  letter-spacing: 2px !important;
  color: #999 !important;
  margin-bottom: 10px !important;
}
.pk-detail-title {
  font-size: 26px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  color: #111;
  letter-spacing: -.5px !important;
  margin-bottom: 10px !important;
}

/* 가격 영역: 검정 강조 박스 */
.pk-detail-price-box {
  padding: 22px 0 !important;
  border-top: 2px solid #111 !important;
  border-bottom: 2px solid #111 !important;
  margin: 18px 0 22px !important;
}
.pk-detail-discount-pct,
.pk-detail-sell-price {
  font-size: 32px !important;
  font-weight: 900 !important;
  letter-spacing: -1px;
}
.pk-detail-discount-pct { color: #d9534f !important; }
.pk-detail-origin-price {
  font-size: 15px !important;
  color: #aaa !important;
}

/* 정보 행 라벨/값 정리 */
.pk-detail-row {
  padding: 11px 0 !important;
  border-bottom: 1px solid #f0f0f0 !important;
  font-size: 13.5px !important;
}
.pk-detail-row-lbl {
  width: 80px !important;
  font-size: 11px !important;
  color: #999 !important;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-weight: 600;
}

/* 옵션 select: 더 깔끔 */
.pk-detail-option-label {
  font-size: 12px !important;
  letter-spacing: 1.5px !important;
  margin-bottom: 8px !important;
}
.pk-detail-option-wrap select {
  padding: 14px 16px !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  font-weight: 500;
  transition: border-color .15s, box-shadow .15s;
}
.pk-detail-option-wrap select:hover {
  border-color: #111 !important;
}

/* 선택된 옵션 카드 */
.pk-detail-opt-item {
  background: #fafafa !important;
  border: 1px solid #eee;
  border-radius: 10px !important;
  padding: 14px 16px !important;
}
.pk-opt-item-name {
  font-size: 13px !important;
  font-weight: 600;
}
.pk-detail-qty-btn {
  width: 32px !important;
  height: 32px !important;
  border-radius: 8px !important;
  border: 1px solid #ddd !important;
}
.pk-detail-qty-input {
  width: 46px !important;
  height: 32px !important;
  font-weight: 700;
  background: #fff;
}

/* 합계 가격: 더 임팩트 */
.pk-detail-total-row {
  padding: 20px 0 !important;
  border-top: 1px solid #eee !important;
  font-size: 14px !important;
}
.pk-detail-total-label {
  font-size: 12px !important;
  letter-spacing: 1.5px;
  color: #999 !important;
  text-transform: uppercase;
}
.pk-detail-total-price strong {
  font-size: 28px !important;
  font-weight: 900 !important;
  letter-spacing: -.5px;
}

/* 액션 버튼: 더 크고 모던 */
.pk-detail-buy-btns {
  gap: 8px !important;
  margin-bottom: 12px !important;
}
.pk-detail-btn-cart,
.pk-detail-btn-buy {
  padding: 17px 14px !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  border-radius: 12px !important;
  transition: all .2s ease !important;
  position: relative;
  overflow: hidden;
}
.pk-detail-btn-cart {
  border-width: 2px !important;
}
.pk-detail-btn-cart:hover {
  background: #111 !important;
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
}
.pk-detail-btn-buy:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(0,0,0,.25);
}

/* 위시·공유 섹션 */
.pk-detail-wish-btn,
.pk-detail-share-btn {
  width: 44px !important;
  height: 44px !important;
  border-radius: 12px !important;
  border: 1px solid #e5e5e5 !important;
  background: #fff !important;
  transition: all .15s !important;
}
.pk-detail-wish-btn:hover,
.pk-detail-share-btn:hover {
  border-color: #111 !important;
  transform: translateY(-1px);
}
.pk-detail-wish-btn.active {
  background: #d9534f !important;
  border-color: #d9534f !important;
  color: #fff !important;
}

/* 모바일: sticky 해제 + 풀폭 */
@media (max-width: 900px) {
  .pk-detail-layout {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .pk-detail-images {
    position: static !important;
  }
  .pk-detail-info {
    position: static !important;
    top: auto !important;
  }
  .pk-detail-title { font-size: 20px !important; }
  .pk-detail-discount-pct,
  .pk-detail-sell-price { font-size: 26px !important; }
  .pk-detail-total-price strong { font-size: 22px !important; }
  .pk-detail-btn-cart,
  .pk-detail-btn-buy { padding: 15px 12px !important; font-size: 13.5px !important; }
}


/* ─────────────────────────────────────────────
   掲示板 view 페이지 재디자인 (notice/magazine/event)
───────────────────────────────────────────── */
.pk-bv-wrap {
  max-width: 880px;
  margin: 40px auto;
  padding: 0 24px 80px;
  font-family: 'Noto Sans JP', -apple-system, 'Hiragino Kaku Gothic ProN', 'Yu Gothic', Meiryo, sans-serif;
}

/* 헤더 */
.pk-bv-header {
  border-bottom: 2px solid #111;
  padding: 12px 0 24px;
  margin-bottom: 32px;
}
.pk-cs-badge-cate {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  color: #fff;
  background: #111;
  padding: 4px 12px;
  border-radius: 4px;
  text-transform: uppercase;
  margin-bottom: 14px;
}
.pk-bv-title {
  font-size: 28px;
  font-weight: 800;
  color: #111;
  letter-spacing: -.5px;
  line-height: 1.4;
  margin: 0 0 16px;
}
.pk-bv-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12.5px;
  color: #999;
  flex-wrap: wrap;
}
.pk-bv-meta .pk-bv-author {
  color: #111;
  font-weight: 600;
}
.pk-bv-meta .pk-bv-sep { color: #ddd; }
.pk-bv-hit, .pk-bv-cmt-cnt { color: #999; }

/* 본문 */
.pk-bv-body {
  padding: 8px 0 32px;
  border-bottom: 1px solid #eee;
  margin-bottom: 24px;
}
.pk-bv-content {
  font-size: 15.5px;
  line-height: 1.95;
  color: #222;
  word-break: break-word;
}
.pk-bv-content p { margin: 0 0 16px; }
.pk-bv-content p:last-child { margin-bottom: 0; }
.pk-bv-content img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
  margin: 16px 0;
  display: block;
}
.pk-bv-content a {
  color: #3b6ef0;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.pk-bv-content blockquote {
  border-left: 3px solid #111;
  padding: 4px 0 4px 18px;
  margin: 16px 0;
  color: #555;
  font-style: italic;
}

/* 첨부 이미지 */
.pk-bv-files-top {
  margin-bottom: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.pk-bv-files-top img {
  width: 100%;
  height: auto;
  border-radius: 12px;
  display: block;
  box-shadow: 0 4px 16px rgba(0,0,0,.06);
}
.pk-bv-files-top a { display: block; }

/* 액션 버튼 */
.pk-bv-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: 24px 0 32px;
  padding: 18px 0;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
}
.pk-bv-btn-back {
  padding: 10px 20px;
  background: #f5f5f5;
  border: 1px solid #e5e5e5;
  border-radius: 6px;
  color: #555;
  font-size: 13px;
  text-decoration: none;
  transition: all .15s;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.pk-bv-btn-back:hover {
  background: #111;
  color: #fff;
  border-color: #111;
}
.pk-bv-btn,
.pk-bv-btn-write {
  padding: 10px 18px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: all .15s;
  border: 1px solid #ddd;
  background: #fff;
  color: #333;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
}
.pk-bv-btn:hover {
  border-color: #111;
  color: #111;
}
.pk-bv-btn-del {
  border-color: #f0d4d4 !important;
  color: #d9534f !important;
}
.pk-bv-btn-del:hover {
  background: #d9534f !important;
  border-color: #d9534f !important;
  color: #fff !important;
}
.pk-bv-btn-write {
  margin-left: auto;
  background: #111;
  color: #fff;
  border-color: #111;
}
.pk-bv-btn-write:hover { background: #333; }

/* 이전/다음 글 */
.pk-bv-nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 36px;
}
.pk-bv-nav-item {
  display: flex;
  flex-direction: column;
  padding: 16px 18px;
  border: 1px solid #eee;
  border-radius: 10px;
  text-decoration: none;
  background: #fff;
  transition: all .2s;
  min-height: 72px;
}
.pk-bv-nav-item:hover {
  border-color: #111;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0,0,0,.06);
}
.pk-bv-nav-item .pk-bv-nav-label {
  font-size: 11px;
  letter-spacing: 1.5px;
  color: #999;
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: 6px;
}
.pk-bv-nav-item .pk-bv-nav-title {
  font-size: 13.5px;
  color: #222;
  font-weight: 600;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.4;
}
.pk-bv-nav-item .pk-bv-nav-date {
  font-size: 11px;
  color: #aaa;
  margin-top: 4px;
}

/* 코멘트 영역 */
.pk-vc-wrap {
  margin-top: 40px;
  padding-top: 32px;
  border-top: 2px solid #111;
}
.pk-vc-title {
  font-size: 16px;
  font-weight: 800;
  color: #111;
  letter-spacing: 1px;
  margin: 0 0 20px;
  text-transform: uppercase;
}
.pk-vc-title strong { color: #d9534f; }

.pk-vc-list { margin-bottom: 28px; }
.pk-vc-item {
  display: flex;
  gap: 14px;
  padding: 18px 0;
  border-bottom: 1px solid #f0f0f0;
}
.pk-vc-item:last-child { border-bottom: none; }
.pk-vc-avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #f0f0f0;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #888;
  font-size: 13px;
  font-weight: 700;
}
.pk-vc-body { flex: 1; min-width: 0; }
.pk-vc-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
  font-size: 12.5px;
}
.pk-vc-name { font-weight: 700; color: #111; }
.pk-vc-date { color: #aaa; }
.pk-vc-content {
  font-size: 14px;
  line-height: 1.7;
  color: #333;
  word-break: break-word;
}
.pk-vc-secret {
  display: inline-block;
  font-size: 11px;
  color: #888;
  margin-right: 6px;
}
.pk-vc-empty {
  text-align: center;
  padding: 40px 24px;
  color: #aaa;
  font-size: 13.5px;
  background: #fafafa;
  border-radius: 10px;
}

/* 코멘트 작성 폼 */
.pk-vc-form-wrap {
  background: #fafafa;
  padding: 24px;
  border-radius: 12px;
  margin-top: 16px;
}
.pk-vc-form-title {
  font-size: 13px;
  font-weight: 700;
  color: #111;
  margin: 0 0 14px;
  letter-spacing: .5px;
}
.pk-vc-guest-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 10px;
}
.pk-vc-input {
  padding: 11px 14px;
  border: 1px solid #ddd;
  border-radius: 8px;
  font-size: 13px;
  font-family: inherit;
  background: #fff;
}
.pk-vc-input:focus { outline: none; border-color: #111; }
.pk-vc-textarea-wrap { position: relative; margin-bottom: 12px; }
.pk-vc-textarea {
  width: 100%;
  min-height: 96px;
  padding: 14px 16px;
  border: 1px solid #ddd;
  border-radius: 10px;
  font-size: 14px;
  font-family: inherit;
  resize: vertical;
  background: #fff;
  line-height: 1.6;
}
.pk-vc-textarea:focus { outline: none; border-color: #111; }
.pk-vc-charcount {
  position: absolute;
  right: 12px;
  bottom: 10px;
  font-size: 11px;
  color: #aaa;
}
.pk-vc-submit-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 8px;
}
.pk-vc-secret-label {
  font-size: 12.5px;
  color: #555;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
}
.pk-vc-submit-btn {
  padding: 11px 28px;
  background: #111;
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1px;
  cursor: pointer;
  transition: background .15s;
  font-family: inherit;
}
.pk-vc-submit-btn:hover { background: #333; }

.pk-vc-act-wrap { position: relative; margin-left: auto; }
.pk-vc-act-toggle {
  background: none;
  border: none;
  color: #aaa;
  font-size: 16px;
  cursor: pointer;
  padding: 0 6px;
  line-height: 1;
}
.pk-vc-act-menu {
  display: none;
  position: absolute;
  right: 0;
  top: 24px;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 8px;
  box-shadow: 0 6px 20px rgba(0,0,0,.08);
  list-style: none;
  margin: 0;
  padding: 4px 0;
  min-width: 100px;
  z-index: 10;
}
.pk-vc-act-menu.open { display: block; }
.pk-vc-act-menu li a {
  display: block;
  padding: 8px 14px;
  font-size: 12.5px;
  color: #333;
  text-decoration: none;
  transition: background .1s;
}
.pk-vc-act-menu li a:hover { background: #f5f5f5; }

/* 모바일 */
@media (max-width: 640px) {
  .pk-bv-wrap { padding: 0 16px 40px; margin: 24px auto; }
  .pk-bv-title { font-size: 20px; }
  .pk-bv-content { font-size: 14.5px; line-height: 1.8; }
  .pk-bv-nav { grid-template-columns: 1fr; }
  .pk-vc-form-wrap { padding: 16px; }
  .pk-vc-guest-row { grid-template-columns: 1fr; }
  .pk-vc-submit-btn { padding: 10px 20px; font-size: 12.5px; }
}


/* ─────────────────────────────────────────────
   掲示板 write 페이지 재디자인 (notice/magazine/event/qa)
───────────────────────────────────────────── */

/* 컨테이너 */
.pk-bw-wrap {
  max-width: 880px !important;
  margin: 40px auto !important;
  padding: 0 24px 80px !important;
  font-family: 'Noto Sans JP', -apple-system, 'Hiragino Kaku Gothic ProN', 'Yu Gothic', Meiryo, sans-serif;
}

/* 헤더 */
.pk-bw-header {
  text-align: center;
  margin-bottom: 32px !important;
  padding: 28px 0 20px;
  border-bottom: 2px solid #111;
}
.pk-bw-title {
  font-size: 26px !important;
  font-weight: 800 !important;
  color: #111;
  letter-spacing: 1px;
  margin: 0 0 8px !important;
  text-transform: uppercase;
}
.pk-bw-sub {
  font-size: 13px !important;
  color: #888 !important;
  margin: 0;
  line-height: 1.6;
}

/* 카드 (입력 그룹) */
.pk-bw-card {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 14px;
  padding: 24px 26px;
  margin-bottom: 16px;
  transition: border-color .15s, box-shadow .15s;
}
.pk-bw-card:hover {
  border-color: #ddd;
}
.pk-bw-card:focus-within {
  border-color: #111;
  box-shadow: 0 6px 20px rgba(0,0,0,.06);
}
.pk-bw-card-title {
  font-size: 11px !important;
  font-weight: 800 !important;
  color: #111;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin: 0 0 16px !important;
  padding-bottom: 12px;
  border-bottom: 1px solid #f0f0f0;
}

/* 필드 */
.pk-bw-field { margin-bottom: 14px; }
.pk-bw-field:last-child { margin-bottom: 0; }
.pk-bw-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}
.pk-bw-label {
  display: block;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  color: #555 !important;
  margin-bottom: 6px !important;
  letter-spacing: .5px;
  text-transform: uppercase;
}
.pk-bw-req { color: #d9534f !important; margin-left: 3px; }

.pk-bw-input {
  width: 100%;
  padding: 13px 16px !important;
  border: 1px solid #ddd !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  font-family: inherit;
  background: #fff;
  transition: border-color .15s, box-shadow .15s;
}
.pk-bw-input:focus {
  outline: none !important;
  border-color: #111 !important;
  box-shadow: 0 0 0 3px rgba(0,0,0,.05);
}
.pk-bw-input::placeholder { color: #bbb; }

/* 카테고리 칩 */
.pk-bw-ca-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.pk-bw-ca-chip { position: relative; }
.pk-bw-ca-chip input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.pk-bw-ca-chip label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 18px;
  border: 1.5px solid #e5e5e5;
  border-radius: 999px;
  background: #fff;
  font-size: 13px;
  font-weight: 600;
  color: #555;
  cursor: pointer;
  transition: all .15s;
  user-select: none;
}
.pk-bw-ca-chip label:hover {
  border-color: #111;
  color: #111;
}
.pk-bw-ca-chip input:checked + label {
  background: #111;
  color: #fff;
  border-color: #111;
}
.pk-bw-ca-chip svg { flex-shrink: 0; }

/* 옵션 체크 */
.pk-bw-options {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  padding: 0 0 14px;
}
.pk-bw-chk {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #555;
  cursor: pointer;
}
.pk-bw-chk input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: #111;
}

/* 임시저장 버튼 */
.pk-bw-autosave-btn {
  display: inline-flex;
  align-items: center;
  margin-top: 8px;
  padding: 7px 14px;
  background: #fafafa;
  border: 1px solid #e5e5e5;
  border-radius: 6px;
  font-size: 12px;
  color: #555;
  cursor: pointer;
  transition: all .15s;
  font-family: inherit;
}
.pk-bw-autosave-btn:hover {
  background: #111;
  color: #fff;
  border-color: #111;
}

.pk-autosave-pop {
  display: none;
  margin-top: 10px;
  padding: 14px;
  background: #fafafa;
  border: 1px solid #eee;
  border-radius: 10px;
}
.pk-autosave-pop strong {
  font-size: 12px;
  color: #111;
  display: block;
  margin-bottom: 8px;
  letter-spacing: .5px;
  text-transform: uppercase;
}
.pk-autosave-pop ul {
  list-style: none;
  margin: 0 0 12px;
  padding: 0;
}
.pk-autosave-pop ul li {
  padding: 8px 0;
  border-bottom: 1px solid #eee;
  font-size: 13px;
}

/* 본문 글자수 안내 */
.pk-bw-limit-desc {
  font-size: 11.5px !important;
  color: #888 !important;
  margin: 0 0 10px !important;
  letter-spacing: .3px;
}
.pk-bw-limit-desc strong { color: #111; }
.pk-bw-char-count {
  font-size: 12px;
  color: #888;
  text-align: right;
  margin-top: 8px;
}
.pk-bw-char-count span { font-weight: 800; color: #111; }

/* 에디터 wrap (SmartEditor2 + textarea 공통) */
.pk-bw-editor-wrap {
  border: 1px solid #ddd;
  border-radius: 10px;
  overflow: hidden;
  transition: border-color .15s, box-shadow .15s;
  background: #fff;
}
.pk-bw-editor-wrap:focus-within {
  border-color: #111;
  box-shadow: 0 0 0 3px rgba(0,0,0,.05);
}
.pk-bw-editor-wrap textarea {
  width: 100%;
  min-height: 280px;
  padding: 16px 18px;
  border: none;
  outline: none;
  font-size: 14.5px;
  line-height: 1.75;
  font-family: inherit;
  resize: vertical;
  color: #222;
  background: transparent;
}
.pk-bw-editor-wrap textarea::placeholder { color: #bbb; }

/* SmartEditor2 iframe 영역 */
.pk-bw-editor-wrap .se2_tool,
.pk-bw-editor-wrap iframe {
  border: none !important;
}
.pk-bw-editor-wrap .se2_tool {
  border-bottom: 1px solid #eee !important;
  background: #fafafa !important;
}

/* 파일 업로드 */
.pk-bw-file {
  display: block;
  width: 100%;
  padding: 11px 14px;
  border: 1px dashed #ccc;
  border-radius: 8px;
  background: #fafafa;
  font-size: 13px;
  color: #555;
  cursor: pointer;
  transition: all .15s;
  font-family: inherit;
}
.pk-bw-file:hover {
  border-color: #111;
  background: #fff;
}
.pk-bw-file::file-selector-button {
  margin-right: 12px;
  padding: 6px 14px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background: #fff;
  font-size: 12px;
  color: #333;
  cursor: pointer;
  font-family: inherit;
}
.pk-bw-del-file {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
  padding: 6px 12px;
  background: #fff5f5;
  border: 1px solid #ffe5e5;
  border-radius: 6px;
  font-size: 11.5px;
  color: #d9534f;
  cursor: pointer;
}
.pk-bw-del-file input { accent-color: #d9534f; }

/* 제출/취소 */
.pk-bw-submit-row {
  display: flex;
  gap: 10px;
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid #eee;
}
.pk-bw-btn-cancel {
  padding: 14px 28px !important;
  background: #fff !important;
  border: 1px solid #ddd !important;
  border-radius: 10px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #555 !important;
  text-decoration: none;
  cursor: pointer;
  transition: all .15s;
  font-family: inherit;
}
.pk-bw-btn-cancel:hover {
  background: #f5f5f5;
  border-color: #aaa;
  color: #111 !important;
}
.pk-bw-btn-submit {
  flex: 1;
  padding: 14px 28px !important;
  background: #111 !important;
  border: none !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #fff !important;
  letter-spacing: 1.5px !important;
  cursor: pointer;
  transition: all .2s ease;
  font-family: inherit;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center;
  gap: 8px;
}
.pk-bw-btn-submit:hover {
  background: #333 !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
}
.pk-bw-btn {
  padding: 7px 14px;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 12px;
  color: #555;
  cursor: pointer;
  transition: all .15s;
  font-family: inherit;
}
.pk-bw-btn:hover { border-color: #111; color: #111; }

/* 모바일 */
@media (max-width: 640px) {
  .pk-bw-wrap { padding: 0 16px 40px !important; margin: 24px auto !important; }
  .pk-bw-card { padding: 18px 20px; border-radius: 12px; }
  .pk-bw-title { font-size: 20px !important; }
  .pk-bw-row { grid-template-columns: 1fr; }
  .pk-bw-editor-wrap textarea { min-height: 200px; padding: 14px 16px; font-size: 14px; }
  .pk-bw-submit-row { flex-direction: column-reverse; }
  .pk-bw-btn-cancel, .pk-bw-btn-submit { width: 100%; padding: 14px 20px !important; }
}


/* ─────────────────────────────────────────────
   モバイル 最適化 종합 보강 (REPLEX666 / lune-story)
───────────────────────────────────────────── */

/* ── 768px 이하 (タブレット·モバイル) ─────────────── */
@media (max-width: 768px) {
  /* 컨테이너 패딩 축소 */
  .pk-container,
  .pk-section .pk-container,
  .pk-detail-wrap,
  .pk-cart-wrap,
  .pk-bv-wrap,
  .pk-bw-wrap {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* 메인 섹션 제목 */
  .pk-section { padding: 36px 0 !important; }
  .pk-section-title { font-size: 18px !important; letter-spacing: 1px !important; }
  .pk-section-sub { font-size: 11.5px !important; }
  .pk-section-hd { gap: 8px; }
  .pk-section-more { font-size: 11px !important; }

  /* 상품 그리드 — 모바일 2개씩 */
  .pk-item-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 18px 10px !important;
  }
  .pk-item-name {
    font-size: 12px !important;
    -webkit-line-clamp: 2;
  }
  .pk-item-brand { font-size: 10px !important; }
  .pk-price { font-size: 13.5px !important; }
  .pk-origin-price { font-size: 11px !important; }
  .pk-discount { font-size: 13px !important; }
  .pk-badge-below { font-size: 9.5px !important; padding: 2px 6px !important; }

  /* 메인 슬라이드 */
  .pk-main-banner .swiper-slide img { height: 280px !important; }
  .pk-main-banner-arrow { width: 36px !important; height: 36px !important; }

  /* 헤더 압축 */
  .pk-header-main-row { padding: 8px 14px !important; }
  .pk-logo-text { font-size: 18px !important; letter-spacing: 4px !important; }
  .pk-header-search { display: none !important; }
  .pk-top-bar { font-size: 11px; }
  .pk-top-bar-inner { padding: 5px 14px; flex-wrap: wrap; gap: 6px; justify-content: center; }
  .pk-top-notice { font-size: 11px !important; }
  .pk-top-links a { font-size: 10.5px !important; }

  /* GNB 가로 스크롤 */
  .pk-gnb {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
    padding: 0 14px;
  }
  .pk-gnb::-webkit-scrollbar { display: none; }
  .pk-gnb-list { gap: 18px !important; padding: 8px 0; }
  .pk-gnb-item { font-size: 13px !important; padding: 6px 0 !important; }

  /* 카테고리 페이지 - 사이드바 숨김 (이미 처리됐을 수도) */
  .pk-list-layout {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
  .pk-side-1d-wrap,
  .pk-sidebar { display: none !important; }

  /* 카트 페이지 1단 */
  .pk-cart-layout {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .pk-cart-table { font-size: 12px; }
  .pk-cart-summary { position: static !important; }

  /* 주문폼 1단 */
  #sod_frm .sod_left,
  #sod_frm .sod_right { width: 100% !important; float: none !important; }

  /* 푸터 */
  .pk-footer-cols {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .pk-footer-col { text-align: center; }
  .pk-footer-col-title { font-size: 13px !important; font-weight: 400 !important; margin-bottom: 12px !important; }
  .pk-footer-col-links { gap: 6px !important; }
  .pk-footer-col-links a { font-size: 12px !important; }
  .pk-footer-bottom { flex-direction: column; align-items: center; gap: 16px; text-align: center; }
  .pk-footer-logo-area { text-align: center; }
  .pk-footer-policy-links { justify-content: center; }
  .pk-footer-company-info { text-align: center; }
  .pk-footer-company-info p { justify-content: center; gap: 8px 14px; }
  .pk-footer-sns { justify-content: center; }

  /* fixed 버튼 위치 조정 */
  #pk-line-btn { right: 14px !important; bottom: 70px !important; }
  #pk-top-btn { right: 14px !important; bottom: 16px !important; width: 40px !important; height: 40px !important; }

  /* 마이페이지 탭 */
  .pk-mypage-tabs {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
  }
  .pk-mypage-tabs::-webkit-scrollbar { display: none; }
  .pk-mypage-tabs li a { font-size: 12.5px !important; padding: 10px 12px !important; }

  /* 폼 input 크기 통일 (iOS 자동 줌 방지: 16px) */
  .pk-bw-input,
  .pk-vc-input,
  .pk-vc-textarea,
  input[type="text"], input[type="email"], input[type="password"],
  input[type="tel"], input[type="number"], input[type="search"],
  textarea, select {
    font-size: 16px !important;
  }
}

/* ── 480px 이하 (좁은 모바일) ─────────────── */
@media (max-width: 480px) {
  .pk-section { padding: 28px 0 !important; }
  .pk-section-title { font-size: 16px !important; }

  /* 상품 그리드 여백 더 좁게 */
  .pk-item-grid { gap: 14px 8px !important; }
  .pk-item-info { padding: 8px 4px !important; }

  /* 메인 슬라이드 */
  .pk-main-banner .swiper-slide img { height: 220px !important; }

  /* 헤더 로고 */
  .pk-logo-text { font-size: 15px !important; letter-spacing: 3px !important; }

  /* 푸터 정보 */
  .pk-footer-company-info { font-size: 9.5px !important; }
  .pk-footer-company-info p { gap: 6px 10px !important; }

  /* GNB */
  .pk-gnb-list { gap: 14px !important; }
  .pk-gnb-item { font-size: 12.5px !important; }
}

/* ── 모바일 헤더 fixed (sticky 는 overflow-x:hidden 과 충돌) ─── */
@media (max-width: 768px) {
  .pk-header {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 0;
    z-index: 100;
    background: #fff;
    box-shadow: 0 1px 8px rgba(0,0,0,0.06);
  }
  /* 모바일 GNB 드롭다운 비활성화 (가로 스크롤로 대체) */
  .pk-gnb-tree { display: none !important; }
  .pk-gnb-item:hover .pk-gnb-tree { display: none !important; }
}

/* === 가로 스크롤 / overflow 차단 (모바일 잘림 방지) === */
body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
  -webkit-text-size-adjust: 100%;
}
html { -webkit-text-size-adjust: 100%; }
/* PC 에서는 1200px(--pk-max) 컨테이너 유지. 모바일에서만 100% 허용 */
@media (max-width: 768px) {
  .pk-container,
  .pk-section,
  .pk-detail-wrap,
  .pk-cart-wrap,
  .pk-bv-wrap,
  .pk-bw-wrap {
    max-width: 100% !important;
  }
}
.pk-container,
.pk-section,
.pk-detail-wrap,
.pk-cart-wrap,
.pk-bv-wrap,
.pk-bw-wrap {
  overflow-x: hidden;
}
img, video, iframe {
  max-width: 100%;
  height: auto;
}

/* === メイン カテゴリー 바: ALL アイコン + モバイル 가로 스크롤 === */
.pk-cat-icon-all {
  background: #111 !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: 1px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

/* モバイル: カテゴリー 바 가로 스크롤 한 줄 */
@media (max-width: 768px) {
  .pk-main-cats {
    padding: 8px 0 12px;
  }
  .pk-main-cats .pk-container {
    padding: 0 !important;
  }
  .pk-main-cat-list {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    gap: 0 !important;
    padding: 4px 14px !important;
    margin: 0 !important;
    scrollbar-width: none;
  }
  .pk-main-cat-list::-webkit-scrollbar { display: none; }
  .pk-main-cat-list li {
    flex: 0 0 auto !important;
    width: 64px !important;
  }
  .pk-main-cat-item {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    padding: 6px 4px !important;
    text-decoration: none;
    font-size: 11px !important;
    color: #555 !important;
    white-space: nowrap;
  }
  .pk-cat-icon {
    width: 50px !important;
    height: 50px !important;
    border-radius: 50% !important;
    overflow: hidden;
    flex-shrink: 0;
    background: #f5f5f5;
  }
  .pk-cat-icon img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
  }
  .pk-cat-icon-all {
    width: 50px !important;
    height: 50px !important;
    border-radius: 50% !important;
  }
  .pk-main-cat-item span:last-child {
    font-size: 10.5px !important;
    line-height: 1.2;
  }

  /* 모바일 헤더 검색창 부활 */
  .pk-header-search {
    display: flex !important;
    flex: 1;
    margin: 0 8px;
    background: #f5f5f5;
    border-radius: 8px;
    padding: 6px 10px;
    align-items: center;
    gap: 6px;
    height: 34px;
  }
  .pk-header-search-input {
    font-size: 12.5px !important;
    border: none;
    background: none;
    outline: none;
    width: 100%;
    flex: 1;
    min-width: 0;
  }
  .pk-header-main-row {
    flex-wrap: nowrap !important;
    gap: 6px;
  }
  .pk-header-center {
    display: flex !important;
    align-items: center;
    flex: 1;
    gap: 8px;
  }
}

/* 모바일 카테고리 바 폭/간격 보강 (텍스트 잘림 방지) */
@media (max-width: 768px) {
  .pk-main-cat-list {
    gap: 6px !important;
    padding: 4px 12px !important;
  }
  .pk-main-cat-list li {
    width: auto !important;
    min-width: 72px;
  }
  .pk-main-cat-item {
    padding: 6px 8px !important;
    gap: 6px;
  }
  .pk-cat-icon,
  .pk-cat-icon-all {
    width: 54px !important;
    height: 54px !important;
  }
  .pk-main-cat-item span:last-child {
    font-size: 11px !important;
    line-height: 1.25;
    white-space: normal !important;
    text-align: center;
    max-width: 80px;
    word-break: keep-all;
  }
}

/* === 모바일 상단 헤더 디자인 보강 === */
@media (max-width: 768px) {
  .pk-header-main-row {
    padding: 10px 12px !important;
    gap: 8px !important;
    align-items: center !important;
  }
  .pk-header-center {
    display: flex !important;
    align-items: center;
    flex: 1;
    gap: 10px;
  }
  .pk-logo {
    flex-shrink: 0;
    text-decoration: none;
  }
  .pk-logo-text {
    font-size: 20px !important;
    font-weight: 900 !important;
    letter-spacing: 1.5px !important;
    color: #111 !important;
    line-height: 1;
  }
  .pk-header-search {
    display: flex !important;
    flex: 1;
    background: #f5f5f5 !important;
    border-radius: 22px !important;
    padding: 0 14px !important;
    height: 44px !important;
    align-items: center;
    gap: 8px;
    margin: 0 !important;
    border: none !important;
    transition: background .15s;
  }
  .pk-header-search:focus-within {
    background: #ececec !important;
  }
  .pk-header-search svg {
    flex-shrink: 0;
    width: 15px !important;
    height: 15px !important;
    color: #999 !important;
  }
  .pk-header-search-input {
    font-size: 11.5px !important;
    border: none !important;
    background: none !important;
    outline: none !important;
    width: 100%;
    flex: 1;
    min-width: 0;
    color: #111 !important;
    letter-spacing: .2px;
    height: 42px;
    padding: 0 !important;
  }
  .pk-header-search-input::placeholder {
    color: #aaa !important;
    font-size: 11px !important;
  }
}

@media (max-width: 480px) {
  .pk-header-main-row { padding: 8px 10px !important; gap: 6px !important; }
  .pk-logo-text { font-size: 18px !important; letter-spacing: 1px !important; }
  .pk-header-search { height: 40px !important; padding: 0 12px !important; border-radius: 20px !important; }
  .pk-header-search-input { font-size: 11.5px !important; height: 38px; }
  .pk-header-search-input::placeholder { font-size: 10.5px !important; }
}


/* === 모바일 푸터 정렬 (왼쪽 메뉴 + 우측 카스타마 칼럼) === */
@media (max-width: 768px) {
  .pk-footer-cols {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    align-items: start;
  }
  .pk-footer-col {
    text-align: left !important;
  }
  .pk-footer-col-links {
    align-items: flex-start !important;
  }
  /* 카스타마사포트 칼럼 — 오른쪽 정렬 */
  .pk-footer-cs-col {
    text-align: right !important;
  }
  .pk-footer-cs-col .pk-footer-col-title {
    text-align: right !important;
  }
  .pk-footer-cs-btns {
    flex-direction: column;
    align-items: flex-end !important;
    gap: 6px;
  }
  /* 하단 영역 — 정책/회사정보 왼쪽, SNS+copyright 가운데 */
  .pk-footer-bottom {
    flex-direction: column !important;
    align-items: stretch !important;
    text-align: left !important;
    gap: 16px !important;
  }
  .pk-footer-logo-area {
    text-align: left !important;
  }
  .pk-footer-policy-links {
    justify-content: flex-start !important;
    flex-wrap: wrap;
    gap: 12px !important;
  }
  .pk-footer-company-info {
    text-align: left !important;
  }
  .pk-footer-company-info p {
    justify-content: flex-start !important;
    flex-wrap: wrap;
    gap: 6px 12px !important;
  }
  /* SNS 버튼 표시 + 가운데 */
  .pk-footer-sns {
    display: flex !important;
    justify-content: center !important;
    gap: 14px !important;
    margin: 18px 0 8px;
    list-style: none;
    padding: 0;
  }
  .pk-footer-sns li a {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #2a2a2a;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background .15s;
  }
  .pk-footer-sns li a:hover {
    background: #fff;
    color: #111;
  }
  .pk-footer-copy {
    text-align: center;
    font-size: 10.5px;
    color: #777;
  }
}


/* === 푸터 보강: 카스타마사포트 한 줄 + 상단 여백 + 정책 링크 통일 === */
@media (max-width: 768px) {
  /* 푸터 컬럼들 상단 여백 축소 */
  .pk-footer { padding-top: 24px !important; }
  .pk-footer-cols { margin-top: 0 !important; padding-top: 0 !important; gap: 14px 12px !important; }
  .pk-footer-col { padding-top: 0 !important; margin-top: 0 !important; }
  .pk-footer-col-title { margin-top: 0 !important; margin-bottom: 10px !important; padding-top: 0 !important; }

  /* 카스타마사포트 — 1줄(row) 정렬, 우측 정렬 */
  .pk-footer-cs-btns {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 6px 8px !important;
  }
  .pk-footer-cs-btn {
    padding: 6px 10px !important;
    font-size: 11.5px !important;
    font-weight: 500 !important;
    border-radius: 4px;
    white-space: nowrap;
  }
}

/* 정책 링크 — 얇게 + 동일 폰트 */
.pk-footer-policy-links {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 6px;
}
.pk-footer-policy-links a,
.pk-footer-policy-links a strong {
  font-size: 12px !important;
  font-weight: 400 !important;
  color: #999 !important;
  letter-spacing: .2px;
  text-decoration: none;
  font-family: inherit;
}
.pk-footer-policy-links a:hover {
  color: #fff !important;
}

@media (max-width: 768px) {
  .pk-footer-policy-links { gap: 10px !important; }
  .pk-footer-policy-links a,
  .pk-footer-policy-links a strong {
    font-size: 11.5px !important;
    font-weight: 400 !important;
  }
}

/* === 모바일 마이페이지 CSS 적용 === */
@media (max-width: 768px) {
  .pk-mypage-wrap,
  #pkMyWrap,
  .pk-mypage-container {
    padding: 16px 14px !important;
    max-width: 100% !important;
  }
  .pk-mypage-tabs {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap !important;
    border-bottom: 1px solid #eee;
    margin-bottom: 16px;
    scrollbar-width: none;
  }
  .pk-mypage-tabs::-webkit-scrollbar { display: none; }
  .pk-mypage-tabs ul,
  .pk-mypage-tabs > ul {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
  }
  .pk-mypage-tabs li {
    flex: 0 0 auto !important;
    margin: 0 !important;
  }
  .pk-mypage-tabs li a {
    display: inline-block;
    padding: 12px 14px !important;
    font-size: 12.5px !important;
    color: #777;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    white-space: nowrap;
  }
  .pk-mypage-tabs li.active a,
  .pk-mypage-tabs li a.active {
    color: #111;
    border-bottom-color: #111;
    font-weight: 700;
  }

  /* 마이페이지 탭 콘텐츠 */
  .pk-mypage-tab,
  .pk-mypage-content {
    padding: 0 !important;
  }
  .pk-tab-heading {
    font-size: 16px !important;
    margin-bottom: 12px !important;
  }
  .pk-info-table {
    width: 100%;
    font-size: 12.5px;
  }
  .pk-info-table th {
    width: 90px !important;
    padding: 10px 6px !important;
    font-size: 11.5px !important;
  }
  .pk-info-table td {
    padding: 10px 6px !important;
    font-size: 12.5px !important;
    word-break: break-all;
  }
  .pk-info-actions {
    display: flex;
    gap: 8px;
    margin-top: 12px;
  }
  .pk-info-edit-btn,
  .pk-info-leave-btn {
    flex: 1;
    padding: 11px 12px !important;
    font-size: 12.5px !important;
    border-radius: 8px;
  }

  /* 주문 / 위시 / 쿠폰 카드 */
  .pk-mypage-stat-card,
  .pk-stat-card {
    padding: 14px 16px !important;
    font-size: 12.5px !important;
  }
  .pk-stat-value { font-size: 20px !important; }
  .pk-stat-label { font-size: 11px !important; }

  /* 배송지 모달 */
  #pkAddrModal {
    padding: 16px !important;
  }
  .pk-am-input {
    font-size: 16px !important;
    padding: 12px 14px !important;
  }
  .pk-am-chip {
    font-size: 12px !important;
    padding: 6px 12px !important;
  }
}


/* === 모바일 마이페이지 (정확한 클래스명) === */
@media (max-width: 768px) {
  /* 레이아웃: 좌측 nav 200px + 우측 콘텐츠 → 1단 stack */
  .pk-mypage-layout {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 14px 14px 40px !important;
  }

  /* 사이드 nav → 상단 가로 스크롤 탭 */
  .pk-mypage-aside {
    position: static !important;
    width: 100% !important;
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
  }
  .pk-mypage-aside-title {
    display: none !important;
  }
  .pk-mypage-nav-list {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    gap: 0 !important;
    margin: 0 -14px 4px !important;
    padding: 0 14px !important;
    list-style: none;
    border-bottom: 1px solid #eee;
    scrollbar-width: none;
  }
  .pk-mypage-nav-list::-webkit-scrollbar { display: none; }
  .pk-mypage-nav-list li {
    flex: 0 0 auto !important;
    margin: 0 !important;
  }
  .pk-mypage-nav-list a {
    display: inline-block !important;
    padding: 12px 14px !important;
    font-size: 13px !important;
    color: #777 !important;
    text-decoration: none;
    border-bottom: 2px solid transparent !important;
    border-left: none !important;
    white-space: nowrap;
    background: transparent !important;
  }
  .pk-mypage-nav-list a.active,
  .pk-mypage-nav-list li.active a {
    color: #111 !important;
    border-bottom-color: #111 !important;
    font-weight: 700 !important;
    background: transparent !important;
  }

  /* 콘텐츠 영역 */
  .pk-mypage-content {
    padding: 4px 0 !important;
    width: 100% !important;
  }
  .pk-mypage-section {
    padding: 18px 0 !important;
    margin: 0 !important;
  }
  .pk-mypage-section h2,
  .pk-mypage-section h3 {
    font-size: 15px !important;
    font-weight: 800 !important;
    margin: 0 0 12px !important;
  }

  /* 프로필 카드 */
  .pk-profile-card {
    padding: 16px !important;
    flex-direction: row !important;
    gap: 12px !important;
    border-radius: 12px;
  }
  .pk-profile-avatar {
    width: 50px !important;
    height: 50px !important;
    font-size: 18px !important;
  }
  .pk-profile-info { flex: 1; }
  .pk-profile-grade {
    font-size: 11px !important;
    padding: 3px 8px !important;
  }

  /* 정보 테이블 */
  .pk-info-section {
    margin-bottom: 16px !important;
  }
  .pk-info-table {
    width: 100% !important;
    font-size: 12.5px !important;
    border-collapse: collapse;
  }
  .pk-info-table tr {
    border-bottom: 1px solid #f0f0f0;
  }
  .pk-info-table th {
    width: 90px !important;
    padding: 11px 6px !important;
    font-size: 11.5px !important;
    color: #888 !important;
    text-align: left !important;
    font-weight: 600;
    vertical-align: top;
  }
  .pk-info-table td {
    padding: 11px 6px !important;
    font-size: 13px !important;
    word-break: break-all;
    color: #111;
  }
  .pk-info-actions {
    display: flex !important;
    gap: 8px !important;
    margin-top: 14px !important;
  }
  .pk-info-edit-btn,
  .pk-info-leave-btn {
    flex: 1 !important;
    padding: 12px 14px !important;
    font-size: 13px !important;
    border-radius: 8px !important;
  }

  /* 주문 테이블 */
  .pk-order-table {
    font-size: 12px !important;
  }
  .pk-order-table th, .pk-order-table td {
    padding: 8px 6px !important;
    font-size: 11.5px !important;
  }
  .pk-order-id-link { font-size: 12px !important; }
  .pk-order-date { font-size: 11px !important; }
  .pk-order-price { font-size: 12.5px !important; font-weight: 700; }
  .pk-order-status {
    font-size: 10.5px !important;
    padding: 3px 7px !important;
  }
  .pk-order-tracker {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* 쿠폰 리스트 */
  .pk-coupon-list { gap: 10px !important; }
  .pk-coupon-item {
    padding: 14px !important;
    flex-direction: column !important;
    gap: 8px !important;
  }
  .pk-coupon-name { font-size: 14px !important; }
  .pk-coupon-desc { font-size: 12px !important; }
  .pk-coupon-expiry { font-size: 11px !important; }

  /* 포인트 잔액 */
  .pk-point-balance {
    padding: 18px !important;
    font-size: 13px !important;
  }
  .pk-point-balance strong {
    font-size: 22px !important;
  }

  /* 빈 메시지 */
  .pk-empty-msg {
    padding: 32px 16px !important;
    font-size: 12.5px !important;
  }

  /* 配送先 카드 */
  .pk-addr-card {
    padding: 14px !important;
    font-size: 12.5px !important;
  }

  /* 모달 (배송지 추가/수정) */
  .pk-addr-modal-box {
    width: calc(100vw - 28px) !important;
    max-width: 480px !important;
    max-height: calc(100vh - 40px) !important;
    margin: 20px auto !important;
    border-radius: 14px !important;
  }
  .pk-addr-modal-head {
    padding: 16px !important;
    font-size: 14px !important;
  }
  .pk-addr-modal-body {
    padding: 16px !important;
  }
  .pk-am-input {
    font-size: 16px !important;
    padding: 12px 14px !important;
    border-radius: 8px;
  }
  .pk-am-label {
    font-size: 11.5px !important;
    margin-bottom: 6px !important;
  }
  .pk-am-chip {
    padding: 7px 13px !important;
    font-size: 12px !important;
  }
  .pk-am-footer {
    padding: 12px 16px !important;
    gap: 8px;
  }
  .pk-am-btn {
    padding: 12px !important;
    font-size: 13px !important;
    border-radius: 8px;
  }

  /* QA 탭 */
  #pkQaListPanel,
  #pkQaFormPanel {
    padding: 0 !important;
  }
  #pkQaListPanel > div:first-child {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
  }
}


/* === QA LIST + VIEW 모던 디자인 보강 === */

/* QA 리스트 */
.pk-qa-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.pk-qa-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px 20px;
  background: #fff;
  border: 1px solid #ebebeb;
  border-radius: 12px;
  text-decoration: none;
  color: inherit;
  transition: all .2s ease;
}
.pk-qa-item:hover {
  border-color: #111;
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,.06);
}
.pk-qa-item-cate {
  flex-shrink: 0;
  font-size: 11px;
  font-weight: 700;
  color: #666;
  background: #f5f5f5;
  border-radius: 4px;
  padding: 4px 10px;
  letter-spacing: .2px;
}
.pk-qa-item-subject {
  flex: 1;
  font-size: 14px;
  font-weight: 600;
  color: #222;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  letter-spacing: -.2px;
}
.pk-qa-item-date {
  font-size: 11.5px;
  color: #bbb;
  flex-shrink: 0;
  white-space: nowrap;
}
.pk-qa-item-status {
  flex-shrink: 0;
  font-size: 11px;
  font-weight: 700;
  padding: 4px 11px;
  border-radius: 999px;
  white-space: nowrap;
}
.pk-qa-status-done {
  background: #111;
  color: #fff;
}
.pk-qa-status-wait {
  background: #fff;
  color: #999;
  border: 1px solid #e8e8e8;
}

/* 빈 상태 */
.pk-qa-empty {
  text-align: center;
  padding: 60px 24px;
  background: #fafafa;
  border-radius: 14px;
  color: #aaa;
}
.pk-qa-empty svg { stroke: #ddd; }

/* 모바일 — 카드 더 압축 */
@media (max-width: 768px) {
  .pk-qa-content-header {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 10px;
    margin-bottom: 16px !important;
    padding-bottom: 12px !important;
  }
  .pk-qa-content-header h2 { font-size: 17px !important; }
  .pk-qa-content-header p { font-size: 12px !important; }
  .pk-qa-write-btn {
    align-self: flex-end;
    padding: 8px 14px !important;
    font-size: 12px !important;
  }

  .pk-qa-cats {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    flex-wrap: nowrap !important;
    margin: 0 -14px 14px !important;
    padding: 0 14px !important;
    scrollbar-width: none;
  }
  .pk-qa-cats::-webkit-scrollbar { display: none; }
  .pk-qa-cat-link {
    flex-shrink: 0;
    padding: 6px 14px !important;
    font-size: 11.5px !important;
  }

  .pk-qa-item {
    padding: 12px 14px !important;
    flex-wrap: wrap;
    gap: 6px 8px !important;
    border-radius: 10px;
  }
  .pk-qa-item-subject {
    width: 100%;
    order: 1;
    font-size: 13px !important;
    line-height: 1.45;
    white-space: normal;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }
  .pk-qa-item-cate { order: 2; font-size: 10px !important; padding: 3px 8px !important; }
  .pk-qa-item-status { order: 3; font-size: 10px !important; padding: 3px 9px !important; }
  .pk-qa-item-date { order: 4; font-size: 10.5px !important; margin-left: auto; }

  .pk-qa-empty { padding: 40px 16px !important; }
  .pk-qa-empty svg { width: 36px; height: 36px; }
  .pk-qa-empty p { font-size: 13px !important; }
}

/* === QA VIEW 모던 보강 === */
.pk-qav-card {
  box-shadow: 0 2px 8px rgba(0,0,0,.03);
  transition: box-shadow .2s;
}
.pk-qav-card:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,.05);
}
.pk-qav-card-header {
  background: #fafafa;
}
.pk-qav-title {
  color: #111;
  line-height: 1.45;
}
.pk-qav-info span:not(:last-child)::after {
  content: '·';
  margin-left: 12px;
  color: #ddd;
}
.pk-qav-info span:last-child { color: #999; }

.pk-qav-answer {
  box-shadow: 0 6px 24px rgba(0,0,0,.12);
}
.pk-qav-answer-header {
  position: relative;
}
.pk-qav-answer-header::before {
  content: 'A';
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #fff;
  color: #111;
  font-size: 11px;
  font-weight: 900;
  margin-right: 4px;
}

.pk-qav-files {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.pk-qav-actions {
  padding: 18px 0;
  border-top: 1px solid #eee;
  margin-top: 24px !important;
}

@media (max-width: 768px) {
  .pk-qav-header {
    margin-bottom: 16px !important;
    padding-bottom: 12px !important;
  }
  .pk-qav-header h2 { font-size: 17px !important; }
  .pk-qav-card-header,
  .pk-qav-body,
  .pk-qav-files,
  .pk-qav-answer-header,
  .pk-qav-answer-body {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .pk-qav-card-header { padding-top: 16px !important; padding-bottom: 16px !important; }
  .pk-qav-body { padding-top: 16px !important; padding-bottom: 16px !important; font-size: 13.5px !important; line-height: 1.7 !important; }
  .pk-qav-answer-header { padding-top: 12px !important; padding-bottom: 12px !important; }
  .pk-qav-answer-body { padding-top: 16px !important; padding-bottom: 16px !important; font-size: 13.5px !important; line-height: 1.7 !important; }
  .pk-qav-title { font-size: 15px !important; }
  .pk-qav-info { font-size: 11px !important; gap: 8px !important; }
  .pk-qav-actions {
    flex-direction: column;
    gap: 8px;
    align-items: stretch !important;
  }
  .pk-qav-actions > div {
    flex-wrap: wrap;
    gap: 6px !important;
  }
  .pk-qav-btn {
    padding: 9px 14px !important;
    font-size: 12px !important;
  }
}


/* === 모바일 로고 크게 + 두껍게 (PC 톤) === */
@media (max-width: 768px) {
  .pk-logo-text {
    font-size: 24px !important;
    font-weight: 900 !important;
    letter-spacing: 4px !important;
    line-height: 1;
    color: #111 !important;
    font-family: 'Noto Sans JP', -apple-system, sans-serif !important;
  }
}
@media (max-width: 480px) {
  .pk-logo-text {
    font-size: 21px !important;
    letter-spacing: 3.5px !important;
  }
}

/* === 모바일 상품 리스트 좌측 여백 제거 === */
@media (max-width: 768px) {
  body, html { margin: 0 !important; padding: 0 !important; }
  .pk-list-wrap,
  .pk-list-layout,
  .pk-shop-nav-bar,
  .pk-cat-header,
  .pk-list-sort,
  #sct,
  #sct_list {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .pk-item-grid {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  /* 컨테이너 광범위 좌측 여백 차단 */
  .pk-container {
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* === 모바일 ブランド 탭 — 좌측 브랜드 리스트 + 우측 그리드 === */
#pkBrandSidePanel { display: none; }
#pkBrandSidePanel.active { display: block; }
.pk-brand-side {
  width: 86px;
  flex-shrink: 0;
  overflow-y: auto;
  background: #fafafa;
  border-right: 1px solid #ebebeb;
  scrollbar-width: none;
  height: 100%;
}
.pk-brand-side::-webkit-scrollbar { display: none; }
.pk-brand-side-item {
  padding: 12px 6px;
  text-align: center;
  font-size: 11px;
  cursor: pointer;
  border-bottom: 1px solid #f0f0f0;
  line-height: 1.3;
  color: #888;
  white-space: normal;
  word-break: keep-all;
}
.pk-brand-side-item.active {
  background: #fff;
  color: #111;
  font-weight: 700;
  border-right: 3px solid #111;
}
.pk-brand-content {
  flex: 1;
  overflow-y: auto;
  padding: 14px;
}
.pk-brand-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px 8px;
}
.pk-brand-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  text-decoration: none;
}
.pk-brand-cell-img {
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: 10px;
  background: #f0f0f0;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #ececec;
}
.pk-brand-cell-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 8%;
}
.pk-brand-cell-img.all-cell {
  background: #111;
  color: #fff;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 1px;
}
.pk-brand-cell-name {
  font-size: 11px;
  color: #555;
  text-align: center;
  line-height: 1.3;
  word-break: keep-all;
}

/* === 모바일 list.sort 좌측 여백 제거 + 가로 스크롤 === */
@media (max-width: 768px) {
  .pk-list-sort {
    padding: 8px 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center;
    gap: 8px !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    border-bottom: 1px solid #f0f0f0;
  }
  .pk-list-sort::-webkit-scrollbar { display: none; }
  .pk-list-count {
    flex-shrink: 0;
    padding-left: 14px;
    font-size: 12px !important;
    white-space: nowrap;
  }
  .pk-sort-list {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    padding: 0 14px 0 0 !important;
    margin: 0 !important;
    list-style: none;
  }
  .pk-sort-list li {
    flex: 0 0 auto;
    margin: 0 6px 0 0 !important;
  }
  .pk-sort-list li a {
    padding: 5px 10px !important;
    font-size: 11.5px !important;
    white-space: nowrap;
    border-radius: 6px;
    text-decoration: none;
    color: #777;
    display: inline-block;
  }
  .pk-sort-list li a.active {
    color: #111;
    font-weight: 700;
    background: #f5f5f5;
  }
}

/* === substrip 슬라이드 강제 + sort 좌측여백 강제 === */
.pk-mob-substrip {
  flex-wrap: nowrap !important;
  white-space: nowrap;
}
.pk-mob-substrip-item {
  flex: 0 0 auto !important;
}

@media (max-width: 768px) {
  #sct_sortlst,
  #sct_sortlst > div,
  div#sct_sortlst {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  /* list.10 영역 좌우 마진 0 */
  #sct, .pk-lt-wrap, .pk-shop-nav-bar {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  /* 콘텐츠 영역 자체에 14px 패딩이 부모 컨테이너에 이미 있다고 가정 안 하고 직접 셀렉터 강제 */
  body .pk-list-sort {
    padding: 8px 0 !important;
    margin: 0 !important;
  }
}

/* === 모바일 2열 그리드 강제 (iOS Safari 호환) === */
@media (max-width: 768px) {
  html, body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
    width: 100% !important;
    margin: 0 !important;
  }
  ul.pk-item-grid,
  ul#pkItemGrid,
  ul.pk-item-grid#pkItemGrid {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr !important;
    gap: 16px 10px !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    list-style: none !important;
  }
  ul.pk-item-grid > li,
  ul#pkItemGrid > li {
    min-width: 0 !important;
    max-width: 100% !important;
    width: auto !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
  ul.pk-item-grid > li img,
  ul#pkItemGrid > li img {
    max-width: 100% !important;
    height: auto !important;
  }
  /* 상품 페이지 컨테이너 0 마진 */
  #sct, .pk-list-wrap, .pk-list-layout {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden;
  }
  /* substrip 가로스크롤 강제 */
  .pk-mob-substrip-wrap { display: block !important; width: 100% !important; }
  .pk-mob-substrip {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .pk-mob-substrip > a,
  .pk-mob-substrip-item {
    flex: 0 0 auto !important;
    display: inline-block !important;
  }
  /* 정렬 영역 좌측 0 강제 */
  div#sct_sortlst {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* 로고 더 두껍게 (text-stroke + font 강화) */
.pk-logo-text {
  -webkit-text-stroke: 0.6px currentColor;
  text-stroke: 0.6px currentColor;
  font-family: "Helvetica Neue", "Arial Black", "Noto Sans JP", sans-serif !important;
}
@media (max-width: 768px) {
  .pk-logo-text {
    -webkit-text-stroke: 0.7px currentColor !important;
    font-size: 26px !important;
    font-weight: 900 !important;
    letter-spacing: 3px !important;
  }
}
@media (max-width: 480px) {
  .pk-logo-text {
    -webkit-text-stroke: 0.5px currentColor !important;
    font-size: 22px !important;
    letter-spacing: 2.5px !important;
  }
}

/* 모바일 푸터 보강 */
@media (max-width: 768px) {
  /* 카스타마사포트 1줄 */
  .pk-footer-cs-btns {
    flex-wrap: nowrap !important;
    justify-content: flex-end !important;
    gap: 6px !important;
  }
  .pk-footer-cs-btn {
    flex-shrink: 0 !important;
    padding: 5px 8px !important;
    font-size: 11px !important;
    white-space: nowrap !important;
  }

  /* SNS 가려짐 방지 — 푸터 끝에 fixed 버튼 만큼 여백 */
  .pk-footer { padding-bottom: 100px !important; }
  .pk-footer-sns { margin-bottom: 12px !important; }
}

/* 모바일 메뉴 ブランド 탭 — 좌측 2차분류 + 우측 그리드 */
#pkBrandPanel { display: none; }
#pkBrandPanel.active { display: flex; }
.pk-brand-panel {
  display: flex;
  height: 100%;
  width: 100%;
  background: #fff;
}
.pk-brand-side2 {
  width: 90px;
  flex-shrink: 0;
  overflow-y: auto;
  background: #fafafa;
  border-right: 1px solid #ebebeb;
  scrollbar-width: none;
}
.pk-brand-side2::-webkit-scrollbar { display: none; }
.pk-brand-side2-item {
  padding: 14px 6px;
  text-align: center;
  font-size: 12px;
  color: #888;
  border-bottom: 1px solid #f0f0f0;
  cursor: pointer;
  font-weight: 600;
  letter-spacing: .5px;
}
.pk-brand-side2-item.active {
  background: #fff;
  color: #111;
  font-weight: 800;
  border-right: 3px solid #111;
}
.pk-brand-content2 {
  flex: 1;
  overflow-y: auto;
  padding: 14px;
  scrollbar-width: none;
}
.pk-brand-content2::-webkit-scrollbar { display: none; }
.pk-brand-grid2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}
.pk-brand-cell2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 14px 8px;
  background: #fafafa;
  border: 1.5px solid #ececec;
  border-radius: 10px;
  text-decoration: none;
  transition: all .15s;
  text-align: center;
}
.pk-brand-cell2:hover, .pk-brand-cell2:active {
  border-color: #111;
  background: #fff;
}
.pk-brand-cell2-logo {
  width: 50px;
  height: 50px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 1px solid #f0f0f0;
  overflow: hidden;
}
.pk-brand-cell2-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 6%;
}
.pk-brand-cell2-logo.all-cell {
  background: #111;
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 1px;
  border-color: #111;
}
.pk-brand-cell2-name {
  font-size: 11px;
  color: #555;
  line-height: 1.3;
  word-break: keep-all;
}

/* substrip 좌측 필터 버튼 */
.pk-mob-substrip-with-filter {
  display: flex !important;
  align-items: stretch;
  gap: 0;
  background: #fafafa;
}
.pk-mob-substrip-filter { font-size:0 !important; line-height:0 !important;
  flex: 0 0 auto;
  width: 44px;
  border: none;
  background: #111;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0 12px;
  border-right: 1px solid #ebebeb;
  font-family: inherit;
}
.pk-mob-substrip-filter:active { background: #333; }
.pk-mob-substrip-with-filter > .pk-mob-substrip {
  flex: 1;
  min-width: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.pk-mob-substrip-with-filter > .pk-mob-substrip::-webkit-scrollbar { display: none; }

/* substrip filter button — fix icon squash + hide text */
.pk-mob-substrip-filter svg { width:18px !important; height:18px !important; flex-shrink:0 !important; }
.pk-mob-substrip-with-filter { align-items: stretch; }

/* substrip overlap fix: strip-wrap visual extends past its flow box; push substrip below */
@media (max-width: 768px) {
  .pk-mob-substrip-wrap.pk-mob-substrip-with-filter { margin-top: 56px !important; }
}

/* === 모바일 로고: 간격 줄이고 글씨 2px UP === */
@media (max-width: 768px) {
  .pk-logo-text {
    font-size: 26px !important;
    letter-spacing: 0.5px !important;
  }
}
@media (max-width: 480px) {
  .pk-logo-text {
    font-size: 23px !important;
    letter-spacing: 0.3px !important;
  }
}

/* === 모바일: strip 상단여백 제거 (헤더가 static이라 56px 오프셋 불필요) === */
@media (max-width: 768px) {
  .pk-mob-strip-wrap { top: 0 !important; }
  .pk-mob-substrip-wrap.pk-mob-substrip-with-filter { margin-top: 0 !important; }
}

/* === 상세페이지 wish/share 버튼: 아이콘+텍스트 pill 형태 === */
.pk-detail-wish-btn,
.pk-detail-share-btn {
  width: auto !important;
  height: 40px !important;
  padding: 0 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  border-radius: 20px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #555 !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  cursor: pointer !important;
  font-family: inherit !important;
}
.pk-detail-wish-btn svg,
.pk-detail-share-btn svg {
  flex-shrink: 0 !important;
}
.pk-detail-wish-btn .btn_wish_num {
  font-size: 11px;
  color: #999;
}
.pk-detail-sub-actions {
  gap: 8px !important;
  flex-wrap: nowrap !important;
  position: relative;
}

/* === 공유 메뉴 (URL 복사 + SNS) === */
.pk-share-menu {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  width: 320px;
  max-width: calc(100vw - 32px);
  background: #fff;
  border: 1px solid #ececec;
  border-radius: 14px;
  box-shadow: 0 12px 32px rgba(0,0,0,.12);
  padding: 14px;
  z-index: 200;
  display: none;
}
.pk-share-menu.show {
  display: block;
}
.pk-share-url-row {
  display: flex;
  gap: 6px;
  align-items: center;
  margin-bottom: 12px;
}
.pk-share-url-input {
  flex: 1;
  height: 36px;
  padding: 0 10px;
  border: 1px solid #ececec;
  border-radius: 8px;
  background: #fafafa;
  font-size: 12px;
  color: #555;
  font-family: inherit;
  outline: none;
  min-width: 0;
}
.pk-share-copy-btn {
  flex-shrink: 0;
  height: 36px;
  padding: 0 14px;
  background: #111;
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: -.2px;
  cursor: pointer;
  font-family: inherit;
  transition: background .15s;
}
.pk-share-copy-btn:hover { background: #333; }
.pk-share-copy-btn.pk-copied { background: #2bb673; }
.pk-share-sns-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.pk-share-sns {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 12px 4px;
  background: #fafafa;
  border: 1px solid #ececec;
  border-radius: 10px;
  cursor: pointer;
  font-family: inherit;
  font-size: 11px;
  font-weight: 600;
  color: #333;
  transition: all .15s;
  text-decoration: none;
}
.pk-share-sns:hover {
  border-color: #111;
  background: #fff;
  transform: translateY(-1px);
}
.pk-share-sns svg { flex-shrink: 0; }
.pk-share-instagram { color: #e1306c; }
.pk-share-instagram:hover { background: #fff5f8; border-color: #e1306c; color: #e1306c; }
.pk-share-line { color: #06c755; }
.pk-share-line:hover { background: #f1faf3; border-color: #06c755; color: #06c755; }
.pk-share-facebook { color: #1877f2; }
.pk-share-facebook:hover { background: #f0f6fe; border-color: #1877f2; color: #1877f2; }

@media (max-width: 768px) {
  .pk-share-menu {
    width: 280px;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
  }
}

/* === 옵션 추가 시 li 스타일 + 한국어 버튼 → 아이콘 === */
.pk-detail-opt-added {
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.pk-detail-opt-added li.sit_opt_list {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  background: #fafafa;
  border: 1px solid #ececec;
  border-radius: 10px;
  padding: 12px 14px;
  position: relative;
}
.pk-detail-opt-added .sit_opt_subj {
  font-size: 13px;
  font-weight: 700;
  color: #111;
  flex: 1 1 auto;
  min-width: 0;
}
.pk-detail-opt-added .sit_opt_prc {
  font-size: 12px;
  color: #888;
  margin-right: auto;
}
.pk-detail-opt-added > li > div {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.pk-detail-opt-added input[name^=ct_qty] {
  width: 44px !important;
  height: 32px !important;
  text-align: center;
  border: 1px solid #ddd !important;
  border-radius: 6px !important;
  padding: 0 !important;
  font-size: 13px !important;
  background: #fff;
}
.pk-detail-opt-added .sit_qty_plus,
.pk-detail-opt-added .sit_qty_minus,
.pk-detail-opt-added .sit_opt_del {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  border: 1px solid #ddd;
  background: #fff;
  cursor: pointer;
  font-size: 0 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  font-family: inherit;
  color: #555;
  transition: all .12s;
}
.pk-detail-opt-added .sit_qty_plus:hover,
.pk-detail-opt-added .sit_qty_minus:hover { border-color: #111; color: #111; }
.pk-detail-opt-added .sit_qty_plus::after { content: "+"; font-size: 16px; font-weight: 700; }
.pk-detail-opt-added .sit_qty_minus::after { content: 2212; font-size: 16px; font-weight: 700; }
.pk-detail-opt-added .sit_opt_del::after { content: D7; font-size: 18px; font-weight: 400; color: #999; }
.pk-detail-opt-added .sit_opt_del:hover { border-color: #d9534f; }
.pk-detail-opt-added .sit_opt_del:hover::after { color: #d9534f; }

/* 合計金額 row 정리 */
.pk-detail-total-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 0;
  border-top: 1px solid #eee;
  margin-top: 14px;
}
.pk-detail-total-label {
  font-size: 13px;
  color: #777;
  font-weight: 600;
}
.pk-detail-total-price,
#sit_tot_price {
  font-size: 18px !important;
  font-weight: 800 !important;
  color: #111 !important;
  background: none !important;
  padding: 0 !important;
  text-align: right;
}
.pk-detail-total-price span,
#sit_tot_price span { display: none; }

/* === fix qty button icons === */
.pk-detail-opt-added .sit_qty_plus::after { content: "+" !important; font-size: 16px !important; font-weight: 700 !important; }
.pk-detail-opt-added .sit_qty_minus::after { content: "\2212" !important; font-size: 16px !important; font-weight: 700 !important; }
.pk-detail-opt-added .sit_opt_del::after { content: "\D7" !important; font-size: 18px !important; font-weight: 400 !important; color: #999 !important; }


/* ========== 상품 상세 페이지 리디자인 ========== */

/* === 이미지 슬라이더 === */
.pk-img-slider { position: relative; overflow: hidden; }
.pk-big-img-slide {
  display: none;
  width: 100%;
}
.pk-big-img-slide.visible { display: block; }
.pk-big-img-slide img { width: 100%; height: auto; display: block; user-select: none; -webkit-user-drag: none; pointer-events: none; }
.pk-img-nav {
  position: absolute;
  top: 50%; transform: translateY(-50%);
  width: 36px; height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,.85);
  border: 1px solid #eee;
  font-size: 20px;
  color: #333;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 2px 6px rgba(0,0,0,.08);
  z-index: 2;
  font-family: inherit;
  line-height: 1;
}
.pk-img-nav-prev { left: 10px; }
.pk-img-nav-next { right: 10px; }
.pk-img-nav:hover { background: #fff; }
.pk-img-dots {
  position: absolute;
  bottom: 10px;
  left: 50%; transform: translateX(-50%);
  display: flex; gap: 6px;
  z-index: 2;
}
.pk-img-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: rgba(0,0,0,.25);
  cursor: pointer;
  transition: all .15s;
}
.pk-img-dot.active { background: #111; transform: scale(1.25); }

.pk-detail-thumbs {
  display: flex; gap: 8px; margin: 10px 0 0; padding: 0;
  list-style: none; overflow-x: auto; scrollbar-width: none;
}
.pk-detail-thumbs::-webkit-scrollbar { display: none; }
.pk-detail-thumbs li { flex: 0 0 auto; }
.pk-thumb-link {
  width: 70px; height: 70px;
  border: 2px solid transparent;
  border-radius: 8px;
  padding: 0;
  background: none;
  cursor: pointer;
  overflow: hidden;
  display: block;
  transition: border-color .15s;
  font-family: inherit;
}
.pk-thumb-link img { width: 100%; height: 100%; object-fit: cover; }
.pk-thumb-link.active { border-color: #111; }

/* === 정보 영역 간격 단정하게 === */
.pk-detail-info { padding-top: 8px !important; }
.pk-detail-brand { font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #888; margin: 0 0 4px !important; }
.pk-detail-title { font-size: 17px !important; font-weight: 700 !important; line-height: 1.4 !important; margin: 0 0 6px !important; letter-spacing: -.2px; }
.pk-detail-desc { font-size: 12px; color: #777; margin: 0 0 10px !important; line-height: 1.5; }
.pk-detail-meta { margin: 6px 0 12px !important; gap: 6px; }
.pk-detail-price-row { padding: 10px 0 !important; margin: 0 !important; border-top: 1px solid #eee; }
.pk-detail-price { font-size: 22px !important; font-weight: 800 !important; }

.pk-detail-info-table { margin: 8px 0 !important; }
.pk-detail-info-table tr { border-bottom: 1px solid #f0f0f0; }
.pk-detail-info-table td, .pk-detail-info-table th { padding: 8px 0 !important; font-size: 12px; }

.pk-detail-option-wrap { margin: 12px 0 !important; }
.pk-detail-option-label { font-size: 12px !important; color: #666 !important; margin: 0 0 6px !important; font-weight: 600; }
.pk-detail-sel-section { margin: 10px 0 !important; }
.pk-detail-buy-btns { gap: 8px !important; margin: 10px 0 0 !important; }
.pk-detail-buy-btns button {
  height: 48px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  border-radius: 10px !important;
}
.pk-detail-sub-actions { padding-top: 4px !important; margin-top: 6px !important; }
.pk-detail-siblings { margin-top: 12px !important; padding-top: 12px !important; }

/* === 商品情報 / レビュー / お問い合わせ / 配송 통일 디자인 === */
.pk-stacked-section {
  padding: 26px 14px 30px !important;
  border-top: 8px solid #f5f5f5 !important;
  background: #fff;
  scroll-margin-top: 60px;
}
.pk-stacked-section:first-of-type { border-top: 1px solid #f0f0f0 !important; }
.pk-stacked-title {
  font-size: 17px !important;
  font-weight: 800 !important;
  color: #111 !important;
  margin: 0 0 16px !important;
  letter-spacing: -.3px !important;
  display: flex; align-items: center; gap: 6px;
}
.pk-stacked-title .pk-tab-count {
  font-size: 12px;
  color: #888;
  font-weight: 600;
}

/* === 리뷰 게시판 === */
#itemuse, #pk-anchor-use { font-size: 13px; }
.pk-review-empty,
.sit_empty {
  text-align: center;
  padding: 40px 0;
  color: #aaa;
  font-size: 13px;
}
.sit_btn_review,
#itemuse .btn_admin,
#itemuse a[href*='itemuseform'] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 8px 14px;
  background: #111;
  color: #fff !important;
  border: none;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}
#itemuse table, #itemqa table {
  width: 100%; border-collapse: collapse; margin: 10px 0;
}
#itemuse li, #itemqa li,
.pk-review-list li {
  list-style: none;
  border-bottom: 1px solid #f0f0f0;
  padding: 14px 0;
}
#itemuse h2, #itemqa h2 { font-size: 14px; font-weight: 700; margin: 0 0 6px; }

/* 리뷰 별점/날짜/내용 정돈 */
#itemuse .star_score, #itemuse img[src*='s_star'] { vertical-align: middle; }
#itemuse .item_use_subj, #itemuse .pk-review-subj {
  font-size: 13px; font-weight: 700; color: #111;
}
#itemuse .item_use_date, #itemuse .pk-review-date,
#itemqa .iqa_date {
  font-size: 11px; color: #999;
}

/* === 문의 게시판 === */
#itemqa { font-size: 13px; }
.btn_iqa_write,
#itemqa a[href*='itemqaform'] {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 8px 14px;
  background: #111;
  color: #fff !important;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  border: none;
  cursor: pointer;
}
.iqa_subj, .pk-qa-subj { font-size: 13px; font-weight: 700; color: #111; margin: 0 0 4px; }
.iqa_content, .pk-qa-content { font-size: 12.5px; color: #555; line-height: 1.6; }

/* === 배송/교환 === */
#pk-anchor-delivery .pk-delivery-block {
  background: #fafafa;
  border-radius: 10px;
  padding: 16px 18px;
  margin-bottom: 12px;
  border: 1px solid #f0f0f0;
}
#pk-anchor-delivery .pk-delivery-block h4 {
  font-size: 13px;
  font-weight: 700;
  margin: 0 0 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid #ececec;
  color: #111;
  display: flex;
  align-items: center;
  gap: 6px;
}
#pk-anchor-delivery .pk-delivery-block h4::before {
  content: "";
  display: inline-block;
  width: 4px; height: 14px;
  background: #111;
  border-radius: 2px;
}
#pk-anchor-delivery .pk-delivery-block p,
#pk-anchor-delivery .pk-delivery-block li {
  font-size: 12.5px;
  color: #555;
  line-height: 1.7;
}
#pk-anchor-delivery .pk-delivery-block ul {
  padding-left: 18px;
  margin: 8px 0;
}
#pk-anchor-delivery .pk-delivery-block table {
  width: 100%;
  font-size: 12px;
  margin: 8px 0;
  border-collapse: collapse;
}
#pk-anchor-delivery .pk-delivery-block th,
#pk-anchor-delivery .pk-delivery-block td {
  padding: 8px 6px;
  border-bottom: 1px solid #ececec;
  text-align: left;
}
#pk-anchor-delivery .pk-delivery-block th {
  background: #fff;
  font-weight: 700;
  width: 30%;
  color: #333;
}

/* 모바일 미세조정 */
@media (max-width: 768px) {
  .pk-stacked-section { padding: 20px 14px 26px !important; }
  .pk-stacked-title { font-size: 15px !important; }
  .pk-detail-title { font-size: 15px !important; }
  .pk-detail-price { font-size: 20px !important; }
  .pk-detail-buy-btns button { height: 44px !important; font-size: 13px !important; }
}


/* =========================================================
   상품 페이지 — 리뷰 / 문의 / 배송 섹션 리뉴얼 v2
========================================================= */

/* ===== 공통 헤드 (게시판 타이틀 + 작성 버튼) ===== */
.pk-rv-head, .pk-qa-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 2px solid #111;
}
.pk-rv-head-left {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 0;
}
.pk-rv-board-title, .pk-qa-board-title {
  font-size: 15px;
  font-weight: 800;
  color: #111;
  margin: 0;
  letter-spacing: -.2px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.pk-rv-cnt, .pk-qa-cnt {
  font-size: 12px;
  color: #d9534f;
  font-weight: 700;
}
.pk-rv-stars { display: inline-flex; align-items: center; }
.pk-rv-star-img { height: 13px; width: auto; }

.pk-rv-write-btn, .pk-qa-write-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 8px 14px;
  background: #111;
  color: #fff !important;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  border: none;
  cursor: pointer;
  font-family: inherit;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background .15s;
}
.pk-rv-write-btn:hover, .pk-qa-write-btn:hover { background: #333; }
.pk-rv-write-btn svg, .pk-qa-write-btn svg { flex-shrink: 0; }

/* ===== 리뷰 그리드 (3 cols × N rows = 9개) ===== */
.pk-rv-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.pk-rv-card {
  background: #fff;
  border: 1px solid #ececec;
  border-radius: 12px;
  overflow: hidden;
  cursor: pointer;
  transition: all .15s;
  display: flex;
  flex-direction: column;
}
.pk-rv-card:hover { border-color: #111; transform: translateY(-1px); box-shadow: 0 6px 14px rgba(0,0,0,.06); }
.pk-rv-card.open { border-color: #111; }
.pk-rv-thumb {
  aspect-ratio: 1 / 1;
  background: #f5f5f5;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.pk-rv-thumb img { width: 100%; height: 100%; object-fit: cover; }
.pk-rv-no-thumb { color: #ccc; }
.pk-rv-body { padding: 10px 12px 12px; flex: 1; display: flex; flex-direction: column; gap: 4px; }
.pk-rv-stars-row { margin-bottom: 2px; }
.pk-rv-stars-row img { height: 11px; width: auto; }
.pk-rv-subj {
  font-size: 12px; font-weight: 700; color: #111;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.35;
}
.pk-rv-snippet {
  font-size: 11.5px; color: #666;
  line-height: 1.5;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.pk-rv-meta {
  display: flex; justify-content: space-between; align-items: center;
  font-size: 10.5px; color: #999;
  margin-top: auto; padding-top: 6px;
  gap: 6px;
}
.pk-rv-name { font-weight: 600; max-width: 60%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pk-rv-detail {
  grid-column: 1 / -1;
  background: #fafafa;
  padding: 18px 16px;
  border-top: 1px solid #ececec;
  font-size: 13px; line-height: 1.7; color: #333;
}
.pk-rv-detail-content img { max-width: 100%; height: auto; border-radius: 8px; margin: 6px 0; }
.pk-rv-cmd { margin-top: 10px; display: flex; gap: 6px; }
.pk-rv-cmd-btn {
  font-size: 11px; padding: 5px 12px;
  border: 1px solid #ddd; background: #fff;
  border-radius: 14px; color: #555;
  text-decoration: none;
}
.pk-rv-reply {
  margin-top: 14px; padding: 12px 14px;
  background: #fff; border-left: 3px solid #111;
  border-radius: 0 8px 8px 0;
}
.pk-rv-reply-tag {
  display: inline-block; font-size: 10px; font-weight: 800;
  background: #111; color: #fff; padding: 2px 8px; border-radius: 10px;
  margin-bottom: 6px;
}
.pk-rv-reply-subj { font-size: 13px; font-weight: 700; margin: 4px 0; color: #111; }
.pk-rv-reply-content { font-size: 12.5px; color: #555; }

.pk-rv-empty, .pk-qa-empty {
  text-align: center;
  padding: 50px 20px;
  color: #888;
  font-size: 13px;
  line-height: 1.7;
  background: #fafafa;
  border-radius: 12px;
}
.pk-rv-empty span, .pk-qa-empty span {
  display: block;
  margin-top: 6px;
  font-size: 11.5px;
  color: #aaa;
}

.pk-rv-more-wrap { margin-top: 18px; text-align: center; }
.pk-rv-more-btn {
  display: inline-block;
  padding: 12px 32px;
  border: 1.5px solid #111;
  background: #fff;
  color: #111 !important;
  border-radius: 24px;
  font-size: 12.5px; font-weight: 700;
  text-decoration: none;
  transition: all .15s;
}
.pk-rv-more-btn:hover { background: #111; color: #fff !important; }

/* ===== 문의 게시판 — 테이블 + 페이징 ===== */
.pk-qa-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12.5px;
}
.pk-qa-table thead th {
  font-weight: 700; color: #888;
  font-size: 11px;
  padding: 10px 6px;
  border-bottom: 1px solid #ddd;
  text-transform: uppercase;
  letter-spacing: 1px;
  background: #fafafa;
  text-align: center;
}
.pk-qa-th-no { width: 38px; }
.pk-qa-th-st { width: 76px; }
.pk-qa-th-name { width: 78px; }
.pk-qa-th-date { width: 70px; }
.pk-qa-row {
  cursor: pointer;
  transition: background .12s;
}
.pk-qa-row td {
  padding: 12px 6px;
  border-bottom: 1px solid #f0f0f0;
  text-align: center;
  vertical-align: middle;
}
.pk-qa-row:hover { background: #fafafa; }
.pk-qa-row.open { background: #f5f5f5; }
.pk-qa-no { color: #aaa; font-size: 11px; }
.pk-qa-st-done {
  display: inline-block; font-size: 10px; font-weight: 700;
  padding: 3px 8px; border-radius: 10px;
  background: #111; color: #fff;
}
.pk-qa-st-wait {
  display: inline-block; font-size: 10px; font-weight: 700;
  padding: 3px 8px; border-radius: 10px;
  background: #f0f0f0; color: #888;
}
.pk-qa-subj {
  text-align: left !important;
  color: #111; font-weight: 600;
  display: flex; align-items: center; gap: 5px;
  padding-left: 6px !important;
}
.pk-qa-lock svg { color: #999; vertical-align: middle; }
.pk-qa-name { color: #777; font-size: 11.5px; }
.pk-qa-date { color: #aaa; font-size: 11px; white-space: nowrap; }

.pk-qa-detail > td { padding: 0 !important; background: #fafafa; }
.pk-qa-detail-inner {
  padding: 18px 18px 22px;
  text-align: left;
}
.pk-qa-q, .pk-qa-a {
  display: flex; gap: 10px; margin-bottom: 14px;
  align-items: flex-start;
}
.pk-qa-a:last-child { margin-bottom: 0; }
.pk-qa-qa-tag {
  flex-shrink: 0;
  width: 24px; height: 24px;
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 11px; font-weight: 800;
  font-family: 'Helvetica Neue', Arial, sans-serif;
}
.pk-qa-qa-q { background: #111; color: #fff; }
.pk-qa-qa-a { background: #d9534f; color: #fff; }
.pk-qa-qa-body {
  flex: 1;
  font-size: 12.5px; line-height: 1.7; color: #333;
  padding-top: 3px;
  word-break: break-word;
}
.pk-qa-qa-body img { max-width: 100%; height: auto; border-radius: 6px; margin: 4px 0; }
.pk-qa-pending, .pk-qa-secret-note { color: #aaa; font-style: normal; font-size: 12px; }
.pk-qa-cmd { margin-top: 10px; display: flex; gap: 6px; padding-left: 34px; }
.pk-qa-cmd-btn {
  font-size: 11px; padding: 5px 12px;
  border: 1px solid #ddd; background: #fff;
  border-radius: 14px; color: #555;
  text-decoration: none;
}

.pk-qa-pagination {
  display: flex; justify-content: center; gap: 4px;
  margin: 20px 0 0;
}
.pk-qa-pg {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 30px; height: 30px;
  padding: 0 8px;
  font-size: 12px; font-weight: 600;
  color: #555;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 6px;
  text-decoration: none;
  transition: all .12s;
}
.pk-qa-pg:hover { border-color: #111; color: #111; }
.pk-qa-pg-active {
  background: #111;
  color: #fff;
  border-color: #111;
}
.pk-qa-pg-arr { font-size: 14px; line-height: 1; }

/* ===== 배송/교환 카드 ===== */
.pk-dl-card {
  background: #fff;
  border: 1px solid #ececec;
  border-radius: 12px;
  padding: 20px 22px;
  margin-bottom: 14px;
}
.pk-dl-card-title {
  display: flex; align-items: center; gap: 8px;
  font-size: 15px; font-weight: 800; color: #111;
  margin: 0 0 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid #f0f0f0;
  letter-spacing: -.2px;
}
.pk-dl-card-title svg { color: #111; }
.pk-dl-card-warn { background: #fff8f5; border-color: #ffe0d0; }
.pk-dl-card-warn .pk-dl-card-title svg { color: #d9534f; }
.pk-dl-card-warn .pk-dl-card-title { border-bottom-color: #ffd5c0; }

.pk-dl-intro {
  font-size: 12.5px; line-height: 1.7;
  color: #555;
  margin: 0 0 14px;
  padding: 12px 14px;
  background: #fafafa;
  border-radius: 8px;
}
.pk-dl-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.pk-dl-list li {
  display: flex;
  gap: 12px;
  font-size: 12.5px;
  line-height: 1.6;
  color: #333;
}
.pk-dl-list li strong {
  flex-shrink: 0;
  width: 92px;
  font-weight: 700;
  color: #111;
  font-size: 11.5px;
  letter-spacing: .5px;
  padding-top: 1px;
}
.pk-dl-list li em {
  font-style: normal;
  color: #d9534f;
  font-weight: 700;
}
.pk-dl-list-warn li {
  position: relative;
  padding-left: 14px;
  color: #555;
}
.pk-dl-list-warn li::before {
  content: "•";
  position: absolute;
  left: 2px;
  color: #d9534f;
  font-weight: 800;
}
.pk-dl-list-warn li strong { display: none; }

.pk-dl-note {
  margin: 14px 0 0;
  font-size: 11.5px;
  color: #888;
  padding: 10px 12px;
  background: #fafafa;
  border-radius: 6px;
  line-height: 1.6;
}

.pk-dl-contact {
  text-align: center;
  padding: 22px 18px;
  background: linear-gradient(135deg, #111 0%, #333 100%);
  color: #fff;
  border-radius: 12px;
  margin-top: 18px;
}
.pk-dl-contact-title {
  font-size: 14px; font-weight: 800;
  margin: 0 0 8px;
  letter-spacing: -.2px;
}
.pk-dl-contact-desc {
  font-size: 12px;
  color: rgba(255,255,255,.75);
  line-height: 1.7;
  margin: 0 0 12px;
}
.pk-dl-contact-sign {
  font-size: 11px;
  color: rgba(255,255,255,.5);
  letter-spacing: 2px;
  margin: 0;
  font-weight: 600;
}

/* ===== 모바일 미세조정 ===== */
@media (max-width: 768px) {
  .pk-rv-grid { gap: 10px 8px; }
  .pk-rv-body { padding: 8px 10px 10px; }
  .pk-rv-subj { font-size: 11.5px; }
  .pk-rv-snippet { font-size: 11px; -webkit-line-clamp: 2; }
  .pk-rv-meta { font-size: 9.5px; }
  .pk-rv-stars-row img { height: 10px; }
  .pk-rv-board-title, .pk-qa-board-title { font-size: 14px; }
  .pk-rv-write-btn, .pk-qa-write-btn { padding: 7px 12px; font-size: 11.5px; }

  .pk-qa-table { font-size: 11.5px; }
  .pk-qa-table thead { display: none; }
  .pk-qa-row { display: grid; grid-template-columns: auto 1fr auto; gap: 4px 8px; padding: 12px 4px; border-bottom: 1px solid #f0f0f0; }
  .pk-qa-row td { border: none; padding: 0; text-align: left; }
  .pk-qa-no { display: none; }
  .pk-qa-st { grid-row: 1; grid-column: 1; }
  .pk-qa-subj { grid-row: 1; grid-column: 2 / span 2; padding: 0 !important; font-size: 12.5px; }
  .pk-qa-name { grid-row: 2; grid-column: 1 / span 2; font-size: 11px; padding-top: 4px; }
  .pk-qa-date { grid-row: 2; grid-column: 3; font-size: 11px; padding-top: 4px; text-align: right; }

  .pk-dl-card { padding: 18px 16px; }
  .pk-dl-card-title { font-size: 14px; }
  .pk-dl-list li { font-size: 12px; flex-direction: column; gap: 3px; }
  .pk-dl-list li strong { width: auto; font-size: 11px; }
  .pk-dl-contact-title { font-size: 13px; }
}

/* === 리뷰 1줄씩 (썸네일 + 텍스트 가로 배치) === */
.pk-rv-grid {
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: none !important;
  gap: 10px !important;
}
.pk-rv-card {
  flex-direction: row !important;
}
.pk-rv-thumb {
  width: 110px !important;
  flex-shrink: 0 !important;
  aspect-ratio: 1 / 1 !important;
}
.pk-rv-body {
  padding: 12px 14px !important;
  flex: 1 !important;
  min-width: 0 !important;
}
.pk-rv-subj {
  font-size: 13px !important;
  -webkit-line-clamp: 1 !important;
}
.pk-rv-snippet {
  font-size: 12px !important;
  -webkit-line-clamp: 2 !important;
}
.pk-rv-meta {
  font-size: 11px !important;
}
.pk-rv-stars-row img { height: 12px !important; }
@media (max-width: 480px) {
  .pk-rv-thumb { width: 88px !important; }
  .pk-rv-body { padding: 10px 12px !important; }
}


/* ========================================================
   상단 프로모 띠 강조 + 트럭 배너 + 하단 sticky 구매 바
======================================================== */

/* === 상단 프로모 띠 강조 === */
.pk-top-bar {
  background: #111 !important;
  color: #fff !important;
}
.pk-top-bar-inner {
  position: relative;
}
.pk-top-notice {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #fff !important;
  text-align: center;
  letter-spacing: .3px !important;
  padding: 8px 0 !important;
  margin: 0 !important;
}
.pk-top-notice strong, .pk-top-notice em { color: #ffd700; font-style: normal; }
@media (max-width: 768px) {
  .pk-top-notice {
    font-size: 11px !important;
    padding: 7px 6px !important;
  }
  .pk-top-links { display: none !important; }
}

/* === 상품 상세 트럭 배송 배너 === */
.pk-detail-ship-banner {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  background: #fafafa;
  border-radius: 10px;
  margin: 4px 0 10px;
  border: 1px solid #f0f0f0;
}
.pk-detail-ship-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px; height: 32px;
  border-radius: 50%;
  background: #fff5ed;
  color: #ff7a45;
  flex-shrink: 0;
}
.pk-detail-ship-text {
  flex: 1;
  font-size: 12px;
  color: #555;
  line-height: 1.5;
}
.pk-detail-ship-text strong {
  font-weight: 700;
  color: #111;
  margin-right: 8px;
  font-size: 12px;
}
@media (max-width: 480px) {
  .pk-detail-ship-text { font-size: 11.5px; }
  .pk-detail-ship-icon { width: 28px; height: 28px; }
}

/* === 하단 sticky 구매 바 === */
.pk-sticky-buy {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 9500;
  display: flex;
  gap: 8px;
  padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px));
  background: #fff;
  border-top: 1px solid #ececec;
  box-shadow: 0 -6px 18px rgba(0,0,0,.06);
  transform: translateY(0);
  transition: transform .2s ease;
}
.pk-sticky-buy.hidden { transform: translateY(110%); }
.pk-sticky-cart, .pk-sticky-buy-btn {
  flex: 1;
  height: 50px;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 800;
  font-family: inherit;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  letter-spacing: -.2px;
  transition: all .15s;
}
.pk-sticky-cart {
  background: #fff;
  color: #111;
  border: 2px solid #111;
}
.pk-sticky-cart:hover { background: #fafafa; }
.pk-sticky-buy-btn {
  background: #111;
  color: #fff;
  border: none;
}
.pk-sticky-buy-btn:hover { background: #333; }

/* 모바일 하단 nav가 있는 경우 sticky bar 위로 띄우기 */
@media (max-width: 768px) {
  .pk-sticky-buy {
    bottom: 64px; /* mobile nav height */
    padding-bottom: 10px;
  }
  .pk-sticky-cart, .pk-sticky-buy-btn {
    height: 46px;
    font-size: 13px;
  }
}

/* sticky bar 표시 시 본문 하단 padding 추가 */
body.has-sticky-buy { padding-bottom: 70px; }
@media (max-width: 768px) {
  body.has-sticky-buy { padding-bottom: 0; }
  /* 모바일은 이미 64px nav padding이 있고 sticky가 그 위에 있어서 추가 padding 불필요 */
}

/* === 모바일 메뉴 검색바 추가 === */
.pk-mob-menu-search {
  display: none;
  padding: 12px 14px;
  background: #fff;
  border-bottom: 1px solid #f0f0f0;
}
.pk-mob-menu-search-input {
  width: 100%;
  height: 40px;
  padding: 0 14px 0 40px;
  border-radius: 20px;
  border: 1px solid #ececec;
  background: #f7f7f7url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'><circle cx='11' cy='11' r='8'/><line x1='21' y1='21' x2='16.65' y2='16.65'/></svg>") no-repeat 14px center;
  font-family: inherit;
  font-size: 13px;
  color: #333;
  outline: none;
  box-sizing: border-box;
}
.pk-mob-menu-search-input::placeholder { color: #aaa; }

@media (max-width: 768px) {
  .pk-mob-menu-search { display: block; }
}

/* === 카테고리 그리드 폰트/스타일 다듬기 === */
.pk-mob-menu-search-input { background: #f7f7f7 !important; }

/* 좌측 사이드바 폰트 톤 다운 */
#pkBrowseSide [data-idx] {
  font-size: 11.5px !important;
  font-weight: 500 !important;
  letter-spacing: -.1px !important;
  padding: 13px 0 !important;
}
#pkBrowseSide [data-idx][style*="font-weight"][style*="700"],
#pkBrowseSide [data-idx][style*="rgb(17, 17, 17)"] {
  font-weight: 700 !important;
}

/* 카테고리 그리드 셀 — 작고 가볍게 */
#pkBrowseContent [data-idx] > div[style*="font-size:13px"] {
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: -.2px !important;
}
#pkBrowseContent [data-idx] a[style*="font-size:11px"] {
  font-size: 10.5px !important;
  font-weight: 500 !important;
}
#pkBrowseContent .grid-style-cell span,
#pkBrowseContent [data-idx] span[style*="font-size:11px"] {
  font-size: 10.5px !important;
  font-weight: 500 !important;
  color: #666 !important;
  letter-spacing: -.1px !important;
  margin-top: 2px;
}

/* ALL 검정 원의 글씨도 더 작게 */
#pkBrowseContent div[style*="border-radius:10px"][style*="background:#111"] {
  font-size: 11.5px !important;
  font-weight: 800 !important;
}

/* 셀 사이 gap 줄여서 조밀하게 */
#pkBrowseContent div[style*="grid-template-columns:repeat(3"] {
  gap: 8px 6px !important;
}

/* 프로모 띠 텍스트 강제 표시 */
.pk-top-bar .pk-top-notice {
  display: block !important;
  visibility: visible !important;
  text-align: center !important;
  width: 100%;
}
.pk-top-bar-inner {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}
@media (max-width: 768px) {
  .pk-top-bar { padding: 0 !important; }
}

/* 메뉴 / 시트 열릴 때 sticky bar 숨김 */
body.pk-drawer-open .pk-sticky-buy { display: none !important; }


/* ========================================================
   옵션 선택 바텀 시트 (모바일)
======================================================== */

/* 데스크탑: 시트 헤더/핸들 숨김, 패널은 인라인 */
.pk-sheet-handle, .pk-sheet-header { display: none; }
.pk-option-panel { display: block; }

/* 데스크탑에서는 sticky bar 숨김 */
.pk-sticky-buy { display: none; }

/* 시트 오버레이 */
.pk-sheet-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.45);
  z-index: 9400;
}

/* === 모바일에서만 시트 모드 === */
@media (max-width: 768px) {
  /* 인라인 옵션 패널을 sticky bar 위로 — 시트로 변환 */
  .pk-option-panel {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 130px; /* 64px nav + ~66px sticky bar */
    z-index: 9500;
    background: #fff;
    border-radius: 18px 18px 0 0;
    box-shadow: 0 -10px 30px rgba(0,0,0,.15);
    transform: translateY(calc(100% + 130px));
    transition: transform .32s cubic-bezier(.4,0,.2,1);
    max-height: calc(80vh - 130px);
    display: flex;
    flex-direction: column;
    padding: 0;
    margin: 0;
    overflow: hidden;
  }
  body.pk-sheet-open .pk-option-panel { transform: translateY(0); }
  body.pk-sheet-open .pk-sheet-overlay { display: block; }

  /* 시트 핸들 / 헤더 */
  .pk-option-panel .pk-sheet-handle {
    display: block;
    width: 40px; height: 4px;
    background: #ddd;
    border-radius: 2px;
    margin: 10px auto 4px;
    flex-shrink: 0;
  }
  .pk-option-panel .pk-sheet-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 18px 12px;
    border-bottom: 1px solid #f0f0f0;
    flex-shrink: 0;
  }
  .pk-option-panel .pk-sheet-title {
    font-size: 14px;
    font-weight: 800;
    color: #111;
    letter-spacing: -.2px;
  }
  .pk-option-panel .pk-sheet-close {
    background: none;
    border: none;
    color: #555;
    cursor: pointer;
    padding: 4px;
    margin-right: -4px;
  }

  .pk-option-panel .pk-sheet-body {
    flex: 1;
    overflow-y: auto;
    padding: 14px 18px 16px;
    -webkit-overflow-scrolling: touch;
  }

  /* 시트 안의 중복 'オプション選択' 라벨 숨김 (헤더 타이틀로 대체) */
  .pk-option-panel .pk-sheet-body .pk-detail-option-wrap:first-child > .pk-detail-option-label { display: none !important; }

  /* 시트 푸터 — 모바일은 sticky bar가 액션 담당 → 푸터 숨김 */
  .pk-option-panel .pk-sheet-footer {
    flex-shrink: 0;
    padding: 10px 18px 14px;
    border-top: 1px solid #f0f0f0;
    background: #fff;
  }
  .pk-option-panel .pk-sheet-footer .pk-detail-total-row {
    border-top: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  /* 모바일에서 시트 안 cart/buy 버튼은 숨김 (sticky bar로 대체) */
  .pk-option-panel .pk-sheet-footer .pk-detail-buy-btns {
    display: none !important;
  }

  /* sticky bar 모바일에서 표시 — 시트 열려도 항상 보임 (이어지는 느낌) */
  .pk-sticky-buy {
    display: flex !important;
    bottom: 64px !important;
    z-index: 9600 !important; /* 시트보다 위 */
    border-top: 1px solid #ececec;
    box-shadow: 0 -2px 12px rgba(0,0,0,.04);
  }

  /* 모바일에서 sticky bar는 항상 보이게 (스크롤 토글 비활성) */
  .pk-sticky-buy.hidden { transform: translateY(0) !important; }

  /* 시트 열렸을 때 sticky bar 강조 (살짝 그림자 강화) */
  body.pk-sheet-open .pk-sticky-buy {
    transform: translateY(0) !important;
    pointer-events: auto !important;
    box-shadow: 0 -6px 20px rgba(0,0,0,.08);
  }
}


/* ========================================================
   메인 페이지 — 가로 레이아웃 정렬 + 여백 정리
======================================================== */

/* 상단 고정메뉴(topbar/footer)와 동일한 1200px 컨테이너 */
.pk-main-cats > .pk-container,
.pk-keywords > .pk-container,
.pk-section > .pk-container {
  max-width: 1200px !important;
  margin: 0 auto !important;
}

/* 슬라이드 바로 밑 여백 제거 */
.pk-hero { margin-bottom: 0 !important; }
.pk-hero + .pk-main-cats,
.pk-hero + section,
.pk-hero + div { margin-top: 0 !important; }
.pk-main-cats { padding-top: 8px !important; padding-bottom: 16px !important; }

/* 마지막 섹션(신착상품) 밑 여백 제거 */
.pk-section:last-of-type { padding-bottom: 24px !important; }
footer.pk-footer { margin-top: 0 !important; }

/* 신착상품 swiper 빈 공간 제거 (슬라이드 height auto-fit) */
.pk-new-swiper,
.pk-new-swiper .swiper-wrapper,
.pk-new-swiper .swiper-slide { height: auto !important; min-height: 0 !important; }
.pk-new-swiper .swiper-wrapper { align-items: flex-start !important; }
.pk-new-swiper .swiper-slide { display: flex; flex-direction: column; }
.pk-new-swiper .pk-item-card { width: 100%; height: auto; }


/* ========================================================
   상품상세 페이지 — 가로 1200px 정렬 + 여백 정리 + 브랜드 라벨 + 配送/交換
======================================================== */

/* PC 가로폭 1200px 정렬 (모바일 영향 없게 768 이상에서만) */
@media (min-width: 769px) {
  .pk-detail-wrap {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 28px 24px 0 !important;
  }
}

/* 상품이름 위 브랜드 라벨 (JS로 주입한 .pk-detail-brand-auto 또는 기존 .pk-detail-brand) */
.pk-detail-info .pk-detail-brand,
.pk-detail-info .pk-detail-brand-auto {
  display: block !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  color: #111 !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  line-height: 1.2 !important;
}
.pk-detail-info .pk-detail-brand a,
.pk-detail-info .pk-detail-brand-auto a {
  color: inherit !important;
  text-decoration: none !important;
}
.pk-detail-info .pk-detail-brand a:hover,
.pk-detail-info .pk-detail-brand-auto a:hover { text-decoration: underline !important; }

/* 상품이름 ~ 카트/지금구매 사이 여백 다듬기 */
.pk-detail-info .pk-detail-title { margin: 0 0 8px !important; }
.pk-detail-info .pk-detail-desc { margin: 0 0 10px !important; font-size: 13px !important; color: #777 !important; }
.pk-detail-info .pk-detail-meta { margin: 0 0 12px !important; }
.pk-detail-info .pk-detail-ship-banner { margin: 8px 0 12px !important; }
.pk-detail-info .pk-detail-price-box { margin: 6px 0 14px !important; padding: 14px 0 16px !important; }
.pk-detail-info .pk-detail-rows { margin: 0 0 14px !important; }
.pk-detail-info .pk-detail-rows .pk-detail-row { padding: 6px 0 !important; }
.pk-detail-info .pk-option-panel { margin-top: 10px !important; }
.pk-detail-info .pk-detail-option-wrap { margin-bottom: 10px !important; }
.pk-detail-info .pk-detail-total-row { margin: 12px 0 10px !important; padding: 10px 0 !important; }
.pk-detail-info .pk-detail-buy-btns { margin-top: 6px !important; gap: 8px !important; }
.pk-detail-info .pk-detail-sub-actions { padding-top: 10px !important; margin-top: 10px !important; }

/* 配送/交換 섹션 폰트 + PC 잘림 해결 */
.pk-dl-card { padding: 22px 26px !important; }
.pk-dl-card-title { font-size: 16px !important; margin-bottom: 12px !important; }
.pk-dl-list { font-size: 14px !important; line-height: 1.7 !important; }
.pk-dl-list li { padding: 8px 0 !important; display: grid !important; grid-template-columns: 200px 1fr !important; gap: 16px !important; align-items: start !important; }
.pk-dl-list li > strong:first-child,
.pk-dl-list li > span:first-child:not(.pk-dl-list-num) {
  white-space: nowrap !important;
  font-weight: 700 !important;
  color: #555 !important;
}
.pk-dl-intro { font-size: 14px !important; line-height: 1.8 !important; margin-bottom: 14px !important; }
.pk-dl-note { font-size: 13px !important; line-height: 1.7 !important; margin-top: 10px !important; padding: 10px 14px !important; }
.pk-dl-list-warn li { display: list-item !important; padding: 5px 0 !important; }

@media (max-width: 768px) {
  .pk-dl-card { padding: 16px 18px !important; }
  .pk-dl-list li { grid-template-columns: 1fr !important; gap: 4px !important; padding: 8px 0 !important; }
  .pk-dl-card-title { font-size: 15px !important; }
  .pk-dl-list { font-size: 13.5px !important; }
}

/* ========================================================
   レビュー作成 / お問い合わせ モーダル
======================================================== */
.pk-rv-modal {
  position: fixed; inset: 0;
  background: rgba(0,0,0,.55);
  z-index: 9998;
  align-items: flex-start;
  justify-content: center;
  padding: 40px 16px;
  overflow-y: auto;
}
.pk-rv-modal-box {
  background: #fff;
  width: 100%;
  max-width: 560px;
  border-radius: 18px;
  box-shadow: 0 24px 80px rgba(0,0,0,.25);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  margin: auto;
}
.pk-rv-modal-head {
  padding: 22px 26px 16px;
  border-bottom: 1px solid #f0f0f0;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.pk-rv-modal-head h3 {
  margin: 0; font-size: 18px; font-weight: 900; color: #111; letter-spacing: -.3px;
}
.pk-rv-modal-close {
  background: none; border: none; font-size: 26px; line-height: 1;
  color: #999; cursor: pointer; padding: 0 4px;
  transition: color .15s;
}
.pk-rv-modal-close:hover { color: #111; }
.pk-rv-modal-body {
  padding: 20px 26px 12px;
  flex: 1;
  overflow-y: auto;
}
.pk-rv-field { margin-bottom: 18px; }
.pk-rv-label {
  display: block; margin-bottom: 8px;
  font-size: 12px; font-weight: 700; color: #666;
  letter-spacing: .3px;
}
.pk-rv-label .req { color: #e44; margin-left: 2px; }
.pk-rv-label .pk-rv-label-opt { font-weight: 500; color: #aaa; margin-left: 4px; }

/* 5단계 평가 */
.pk-rv-rating {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 8px;
}
.pk-rv-rate-btn {
  background: #fafafa;
  border: 1.5px solid #ececec;
  border-radius: 10px;
  padding: 12px 6px 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  font-family: inherit;
  transition: all .15s;
}
.pk-rv-rate-btn:hover { border-color: #bbb; background: #fff; }
.pk-rv-rate-btn.selected {
  border-color: #111;
  background: #111;
  color: #fff;
}
.pk-rv-rate-btn.selected .pk-rv-rate-emoji { transform: scale(1.15); }
.pk-rv-rate-emoji { font-size: 22px; line-height: 1; transition: transform .2s; }
.pk-rv-rate-text { font-size: 10.5px; font-weight: 700; letter-spacing: -.1px; }

.pk-rv-input,
.pk-rv-textarea {
  width: 100%; padding: 11px 14px;
  box-sizing: border-box;
  border: 1.5px solid #e8e8e8;
  border-radius: 10px;
  background: #fafafa;
  font-size: 14px; font-family: inherit;
  outline: none; transition: border-color .15s, background .15s;
  resize: vertical;
}
.pk-rv-textarea { min-height: 130px; line-height: 1.6; }
.pk-rv-input:focus, .pk-rv-textarea:focus { border-color: #111; background: #fff; }

/* 파일 업로드 */
.pk-rv-file { display: flex; align-items: center; gap: 8px; }
.pk-rv-file input[type="file"] { display: none; }
.pk-rv-file-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border: 1.5px dashed #d0d0d0;
  border-radius: 10px;
  background: #fafafa;
  font-size: 13px;
  font-weight: 600;
  color: #666;
  cursor: pointer;
  font-family: inherit;
  transition: all .15s;
}
.pk-rv-file-btn:hover { border-color: #111; color: #111; background: #fff; }
.pk-rv-file-clear {
  background: #f0f0f0;
  border: none;
  width: 28px; height: 28px;
  border-radius: 50%;
  font-size: 16px;
  color: #666;
  cursor: pointer;
  font-family: inherit;
}
.pk-rv-file-clear:hover { background: #e44; color: #fff; }

/* 안내 */
.pk-rv-field-note {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  background: #f8f8fb;
  border: 1px solid #ecedf2;
  border-radius: 10px;
  font-size: 12.5px;
  color: #666;
  margin-bottom: 6px;
}
.pk-rv-field-note svg { color: #888; flex-shrink: 0; }

/* 푸터 */
.pk-rv-modal-foot {
  padding: 14px 26px 18px;
  border-top: 1px solid #f0f0f0;
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  background: #fff;
  flex-shrink: 0;
}
.pk-rv-btn-ghost,
.pk-rv-btn-primary {
  padding: 12px 22px;
  border-radius: 10px;
  font-size: 13.5px;
  font-weight: 800;
  cursor: pointer;
  font-family: inherit;
  letter-spacing: -.1px;
  transition: all .15s;
}
.pk-rv-btn-ghost {
  background: #fff;
  color: #666;
  border: 1.5px solid #e0e0e0;
}
.pk-rv-btn-ghost:hover { border-color: #111; color: #111; }
.pk-rv-btn-primary {
  background: #111;
  color: #fff;
  border: none;
}
.pk-rv-btn-primary:hover { background: #333; }
.pk-rv-btn-primary:disabled { background: #888; cursor: not-allowed; }

@media (max-width: 768px) {
  .pk-rv-modal { padding: 20px 12px; }
  .pk-rv-modal-box { border-radius: 14px; }
  .pk-rv-modal-head, .pk-rv-modal-body, .pk-rv-modal-foot { padding-left: 18px; padding-right: 18px; }
  .pk-rv-rating { grid-template-columns: repeat(5, 1fr); gap: 4px; }
  .pk-rv-rate-btn { padding: 10px 2px 8px; }
  .pk-rv-rate-emoji { font-size: 18px; }
  .pk-rv-rate-text { font-size: 9.5px; }
}

/* 모바일 푸터 카스타마사포트 좌정렬 */
@media (max-width: 768px) {
  footer.pk-footer .pk-footer-cs-col,
  footer.pk-footer .pk-footer-cs,
  footer.pk-footer .pk-footer-col-cs {
    text-align: left !important;
  }
  footer.pk-footer .pk-footer-cs-col > *,
  footer.pk-footer .pk-footer-cs > *,
  footer.pk-footer .pk-footer-col-cs > * {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    justify-content: flex-start !important;
  }
  footer.pk-footer .pk-footer-cs-col h4,
  footer.pk-footer .pk-footer-cs-col h3,
  footer.pk-footer .pk-footer-col-cs h4,
  footer.pk-footer .pk-footer-col-cs h3 {
    text-align: left !important;
  }
}

/* ========================================================
   商品リスト カード — ホバー カート 削除 / ハート / ブランドラベル
======================================================== */

/* 1. ホバー時に出るカート버튼 削除 */
.pk-item-card .pk-item-actions { display: none !important; }

/* 2. ハート ボタン スタイル (常時表示, 우상단) */
.pk-item-card .pk-item-img-wrap { position: relative; }
.pk-item-card .pk-wish-btn {
  position: absolute;
  top: 8px; right: 8px;
  width: 34px; height: 34px;
  background: rgba(255,255,255,.92);
  border: none;
  border-radius: 50%;
  color: #888;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 5;
  padding: 0;
  transition: all .18s;
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
}
.pk-item-card .pk-wish-btn:hover { color: #e44; transform: scale(1.08); }
.pk-item-card .pk-wish-btn.is-on { color: #e44; background: #fff; }
.pk-item-card .pk-wish-btn.is-on svg { fill: currentColor; }
.pk-item-card .pk-wish-btn.is-loading { opacity: .55; pointer-events: none; }

/* 3. ブランドラベル — 商品名 위에 굵은 영문 */
.pk-item-card .pk-item-brand {
  margin: 0 0 4px !important;
  padding: 0 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  color: #111 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  line-height: 1.2 !important;
}
.pk-item-card .pk-item-brand a {
  color: inherit !important;
  text-decoration: none !important;
}
.pk-item-card .pk-item-brand a:hover {
  text-decoration: underline !important;
}

@media (max-width: 768px) {
  .pk-item-card .pk-wish-btn { width: 30px; height: 30px; top: 6px; right: 6px; }
  .pk-item-card .pk-wish-btn svg { width: 14px; height: 14px; }
  .pk-item-card .pk-item-brand { font-size: 10px !important; letter-spacing: .8px !important; }
}

/* ========================================================
   注文ページ (orderform.php) — モダンリスタイル
======================================================== */

#forderform {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Sans", "Yu Gothic UI", sans-serif !important;
  letter-spacing: -.2px !important;
  color: #222 !important;
  max-width: 760px !important;
  margin: 0 auto !important;
}

/* 上部 「注文する」 タイトル — 強化 */
.bo_title:has(.border) { display: block; }
#forderform .bo_title,
.container .bo_title {
  margin: 12px auto 22px !important;
  padding: 0 4px 16px !important;
  border-bottom: 2px solid #111 !important;
}
#forderform .bo_title .border,
.container .bo_title .border {
  font-size: 22px !important;
  font-weight: 900 !important;
  color: #111 !important;
  letter-spacing: -.5px !important;
  background: none !important;
  padding: 0 !important;
}

/* === 商品リスト 1열 카드 === */
#forderform .od_prd_list,
#forderform .tbl_head03 {
  margin: 0 0 18px !important;
  padding: 0 !important;
  border: 1px solid #ececec !important;
  border-radius: 14px !important;
  background: #fff !important;
  overflow: hidden !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.02) !important;
}
#forderform .ct_item {
  display: flex !important;
  gap: 14px !important;
  padding: 16px !important;
  border-bottom: 1px solid #f3f3f3 !important;
  align-items: flex-start !important;
  flex-direction: row !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
#forderform .ct_item:last-child { border-bottom: none !important; }
#forderform .sod_img {
  flex: 0 0 100px !important;
  width: 100px !important;
}
#forderform .sod_img img {
  width: 100% !important;
  height: 100px !important;
  object-fit: cover !important;
  border-radius: 10px !important;
  background: #fafafa !important;
}
#forderform .ct_content {
  flex: 1 !important;
  min-width: 0 !important;
}
#forderform .ct_content ul {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
#forderform .ct_content ul li {
  font-size: 13px !important;
  color: #555 !important;
  margin-bottom: 4px !important;
  line-height: 1.5 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 4px 8px !important;
}
#forderform .ct_content ul li strong {
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #999 !important;
  width: 60px !important;
  flex-shrink: 0 !important;
  letter-spacing: 0 !important;
}
#forderform .ct_content ul li:first-child {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #111 !important;
  letter-spacing: -.2px !important;
  margin-bottom: 8px !important;
  padding-bottom: 6px !important;
  border-bottom: 1px dashed #f0f0f0 !important;
}
#forderform .ct_content ul li:first-child strong { display: none !important; }
#forderform .ct_content ul li.last .total_prc {
  font-size: 16px !important;
  font-weight: 800 !important;
  color: #111 !important;
}
#forderform .ct_btn { margin-top: 10px !important; }
#forderform .ct_btn .btn {
  display: inline-block !important;
  padding: 6px 12px !important;
  font-size: 11.5px !important;
  color: #666 !important;
  border: 1px solid #ddd !important;
  border-radius: 6px !important;
  background: #fff !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}
#forderform .ct_btn .btn:hover { border-color: #111 !important; color: #111 !important; }

/* === 섹션 카드 === */
#forderform .sod_left > section,
#sod_frm_orderer, #sod_frm_taker, .sod_frm_send,
.sod_frm_point, #sod_frm_paysel, .sod_frm_coupon {
  background: #fff !important;
  border: 1px solid #ececec !important;
  border-radius: 14px !important;
  padding: 18px 22px 20px !important;
  margin-bottom: 14px !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.02) !important;
}
#forderform h2 {
  margin: 0 0 16px !important;
  padding: 0 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  color: #111 !important;
  letter-spacing: -.2px !important;
  border: none !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
#forderform h2 i.fa,
#forderform h2 .fa-angle-right { display: none !important; }
#forderform h2::before {
  content: "" !important;
  width: 4px !important;
  height: 14px !important;
  background: #111 !important;
  border-radius: 2px !important;
  flex-shrink: 0 !important;
}
#forderform h2 span { font-weight: 500 !important; font-size: 12px !important; color: #888 !important; }

/* === 폼 그룹 === */
#forderform .custom_group {
  border-bottom: none !important;
  padding: 0 0 12px !important;
  margin-bottom: 12px !important;
}
#forderform .custom_group label,
#forderform label {
  display: block !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #555 !important;
  margin-bottom: 6px !important;
  letter-spacing: -.1px !important;
}
#forderform .custom_group .frm_input,
#forderform input[type="text"]:not(.cp_input):not([class*="point"]),
#forderform input[type="email"],
#forderform input[type="password"],
#forderform input[type="tel"],
#forderform select,
#forderform textarea {
  width: 100% !important;
  height: 42px !important;
  padding: 0 12px !important;
  box-sizing: border-box !important;
  border: 1.5px solid #e8e8e8 !important;
  border-radius: 8px !important;
  background: #fafafa !important;
  font-size: 13.5px !important;
  font-family: inherit !important;
  outline: none !important;
  transition: border-color .15s, background .15s !important;
}
#forderform textarea {
  height: auto !important;
  min-height: 80px !important;
  padding: 10px 12px !important;
  resize: vertical !important;
}
#forderform input[type="text"]:focus,
#forderform input[type="email"]:focus,
#forderform input[type="password"]:focus,
#forderform input[type="tel"]:focus,
#forderform select:focus,
#forderform textarea:focus {
  border-color: #111 !important;
  background: #fff !important;
}
#forderform .frm_info {
  display: block !important;
  margin-top: 4px !important;
  font-size: 11px !important;
  color: #999 !important;
}

/* 한자 / 카타카나 두 칸 입력 */
#forderform input#od_name1_first,
#forderform input#od_name1_last,
#forderform input#od_name2_first,
#forderform input#od_name2_last,
#forderform input#od_b_name1_first,
#forderform input#od_b_name1_last,
#forderform input#od_b_name2_first,
#forderform input#od_b_name2_last {
  width: calc(50% - 4px) !important;
  display: inline-block !important;
}
#forderform input[id*="od_hp1"],
#forderform input[id*="od_hp2"],
#forderform input[id*="od_hp3"],
#forderform input[id*="od_b_hp1"],
#forderform input[id*="od_b_hp2"],
#forderform input[id*="od_b_hp3"] {
  width: calc(33.3% - 6px) !important;
  display: inline-block !important;
}

/* MY送付を見る 버튼 */
#forderform .btn_frmline {
  background: #fff !important;
  color: #111 !important;
  border: 1.5px solid #ddd !important;
  border-radius: 6px !important;
  padding: 5px 10px !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  height: auto !important;
  font-family: inherit !important;
  cursor: pointer !important;
  text-decoration: none !important;
  display: inline-block !important;
  margin-left: 8px !important;
}
#forderform .btn_frmline:hover { border-color: #111 !important; color: #111 !important; }

/* 同一 체크박스 */
#forderform input[type="checkbox"] + label {
  display: inline !important;
  font-size: 12.5px !important;
  color: #555 !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  margin: 0 0 0 4px !important;
}
#forderform input[type="checkbox"], #forderform input[type="radio"] {
  accent-color: #111 !important;
}

/* 配送方法 라디오 */
.sod_frm_send input[type="radio"] {
  width: 16px !important; height: 16px !important;
  margin-right: 6px !important;
  vertical-align: middle !important;
}
.sod_frm_send label {
  display: inline-flex !important;
  align-items: center !important;
  font-size: 13px !important;
  color: #333 !important;
  font-weight: 600 !important;
  margin: 0 16px 0 0 !important;
  cursor: pointer !important;
}
.sod_frm_send h3 {
  margin: 14px 0 8px !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  color: #888 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
}
.sod_frm_send pre,
.sod_frm_send div:has(p) {
  font-size: 12.5px !important;
  color: #555 !important;
  background: #fafafa !important;
  padding: 12px 14px !important;
  border-radius: 8px !important;
  border: 1px solid #f0f0f0 !important;
  line-height: 1.85 !important;
  margin: 8px 0 !important;
}

/* 쿠폰 / 포인트 */
.sod_frm_coupon .od_cp_price {
  font-size: 18px !important;
  font-weight: 800 !important;
  color: #111 !important;
}
.sod_frm_point input[type="text"] {
  max-width: 200px !important;
  display: inline-block !important;
  margin-right: 6px !important;
}

/* === 決済情報 — 価格 list === */
#forderform .total_box,
#forderform .order_price_amount,
#forderform .sod_frm_paysel ul,
#sod_frm_pay ul,
#sod_frm_pay .total_box {
  font-size: 13.5px !important;
}
#forderform li.total span:last-child,
#forderform .order_price_amount {
  font-size: 22px !important;
  font-weight: 900 !important;
  color: #111 !important;
}

/* === 決済方法 (#od_pay_sl) — PayPal 단일 모드 === */
#sod_frm_pay {
  margin-top: 14px !important;
}
#od_pay_sl {
  margin: 0 !important;
  padding: 0 !important;
}
/* 기본 paypal radio + 텍스트 라벨 숨김 — SDK 버튼만 보여줌 */
#od_pay_sl input[type="radio"][name="od_settle_case"] {
  display: none !important;
}
#od_pay_sl label[for="od_settle_paypal"],
#od_pay_sl label.lb_icon {
  display: none !important;
}

/* 결제 옵션 안내 카드 — 사용자 요청에 따라 제거 */
#od_pay_sl::before { display: none !important; content: none !important; }

/* PayPal 버튼 컨테이너 — 항상 노출, 가운데 정렬, 넓게 */
#paypal-button-container,
#od_pay_sl #paypal-button-container {
  display: block !important;
  width: 100% !important;
  max-width: 460px !important;
  margin: 0 auto !important;
  padding: 14px !important;
  background: #fff !important;
  border: 1px solid #ececec !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 8px rgba(0,48,135,.05) !important;
}

/* 하단 도움말 — 사용자 요청에 따라 제거 */
#od_pay_sl::after { display: none !important; content: none !important; }

/* === 注文する 최종 버튼 === */
#forderform .btn_confirm,
#forderform input[type="submit"][value*="注文"],
#forderform input[type="button"][value*="注文"],
#forderform .btn_confirm input.btn_submit,
#forderform button[type="submit"] {
  display: block !important;
  width: 100% !important;
  padding: 16px !important;
  text-align: center !important;
  margin: 18px 0 28px !important;
  background: #111 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: -.2px !important;
  cursor: pointer !important;
  font-family: inherit !important;
  transition: background .15s !important;
}
#forderform input[type="submit"]:hover,
#forderform button[type="submit"]:hover { background: #333 !important; }

/* container col-md-8 정렬 무효화 */
#forderform .container,
#forderform .row,
#forderform .col-md-8 {
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: 1 !important;
}

/* 모바일 */
@media (max-width: 768px) {
  #forderform { padding: 0 8px !important; max-width: 100% !important; }
  #forderform .ct_item { padding: 12px !important; gap: 10px !important; }
  #forderform .sod_img { flex: 0 0 80px !important; width: 80px !important; }
  #forderform .sod_img img { height: 80px !important; }
  #forderform .sod_left > section,
  #sod_frm_orderer, #sod_frm_taker, .sod_frm_send,
  .sod_frm_point, #sod_frm_pay, .sod_frm_coupon {
    padding: 14px 14px 16px !important;
    margin-bottom: 10px !important;
  }
  #forderform h2 { font-size: 13px !important; }
  #forderform input#od_name1_first,
  #forderform input#od_name1_last,
  #forderform input#od_name2_first,
  #forderform input#od_name2_last { width: calc(50% - 4px) !important; }
}

/* ============================================================
   GLOBAL FONT WEIGHT TONE-DOWN (NotoSans bold が太すぎる対策)
   原則:
   - 本文・リンク・入力欄 : 400 (Regular)
   - 軽い強調           : 500 (Medium)
   - 中程度強調・小タイトル : 600 (SemiBold) — 700 を超えない
   - 大きなタイトル・ヒーロー文・見出し : 700 (Bold) を維持
   - 800/900 はほぼ廃止 (どうしても必要な所のみ)
============================================================ */

/* Body・通常テキスト・リンク・リスト・入力 → 400 */
body, p, span, li, dd, dt, td, th, a, label, input, textarea, select, button, em, strong, b {
  font-weight: 400;
}

/* セクションタイトル・カード見出し・主要 H タグ → 700 (元 800/900 を抑える) */
h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
}

/* 「絶対に太くしたい」 ホワイトリスト — 700 維持 */
.pk-cmp-hero-title,
.pk-cmp-section-h,
.pk-cmp-intro-h,
.pk-cmp-stat-num,
.pk-cmp-cta-h,
.pk-cs-hero-title,
.pkc-logo,
.pk-footer-logo,
.pk-header-logo,
.pk-logo,
#REPLEX666,
.pk-detail-title,
.pk-section-title,
.pk-main-section-title,
.pk-faq-title,
.pk-cs-section-title,
.pk-cs-board-title,
.pk-bw-title,
.pk-review-best-title,
.pk-footer-cs-number,
strong.pk-strong {
  font-weight: 700 !important;
}

/* 中程度強調 (副タイトル、ラベル、ボタン) → 600 */
.pk-cs-card-title,
.pk-cs-card-meta,
.pk-cmp-value-h,
.pk-cmp-process-h,
.pk-cmp-section-eyebrow,
.pk-cmp-hero-eyebrow,
.pk-cs-hero-label,
.pk-cs-card-badge,
.pk-cs-badge,
.pk-cs-badge-notice,
.pk-cs-badge-cate,
.pk-cs-write-btn,
.pk-bw-card-title,
.pk-bw-btn,
.pk-bw-btn-submit,
.pk-cs-link-card span,
.pk-cs-cta-btn,
.pk-cmp-cta-btn,
.pk-faq-q-text,
.pk-review-best-name,
.pk-review-it-name,
.pk-review-subject,
.pk-footer-col-links a,
.pk-top-links a,
.pk-cmp-stat-label,
.pk-cmp-info td:last-child,
.pk-cmp-process-num,
.pk-cmp-card-num,
.pk-cs-qm-label,
.pk-faq-num,
.pk-rv-rating button,
button[type="submit"],
input[type="submit"] {
  font-weight: 600 !important;
}

/* 軽い強調 (リンクなど) → 500 */
strong:not(.pk-strong),
em:not(.pk-em),
.pk-text-bold,
.pk-cs-comment-cnt {
  font-weight: 500 !important;
}

/* 数字 / 大きなディスプレイ系のみ 800 まで許可 */
.pk-cmp-hero-title,
.pk-cmp-section-h,
.pk-cmp-stat-num,
.pk-cmp-cta-h,
.pk-cs-hero-title {
  font-weight: 800 !important;
}

/* === 商品 카드 높이 통일 (악세서리 등 카드별 차이 완화) === */
#sct .pk-item-card,
.pk-list-grid .pk-item-card,
ul.sct .pk-item-card {
  display: flex !important;
  flex-direction: column !important;
}
.pk-item-card .pk-item-img-wrap,
.pk-item-card > a.pk-item-thumb,
.pk-item-card a:first-child {
  flex-shrink: 0;
}
.pk-item-card .pk-item-info {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}
.pk-item-card .pk-item-name {
  flex: 0 0 auto;
}
.pk-item-card .pk-item-price-row,
.pk-item-card .pk-item-price {
  margin-top: auto;  /* 가격을 카드 하단에 고정 */
}

/* === モバイル 헤더 — 검색 제거 + 좌측 햄버거 메뉴 버튼 표시 === */
@media (max-width: 768px) {
  #pkMobLeftBtn { display: inline-flex !important; align-items: center; }
  .pk-header-search,
  .pk-header-search-input,
  .pk-header-search-btn { display: none !important; }
  .pk-header-main-row { padding: 8px 12px !important; }
  .pk-header-center {
    display: flex !important; align-items: center !important; gap: 10px !important;
    width: 100% !important;
  }
  .pk-logo {
    flex: 1 !important; text-align: center !important;
    margin-right: 36px !important; /* 햄버거 너비만큼 우측 보정 → 로고 가운데 */
  }
}

/* === 사이드바 브랜드 リスト 행 헤더 === */
.pk-sidebar-brand-list .pk-brand-row-header {
  font-size: 10.5px; font-weight: 700; color: #aaa;
  letter-spacing: 2px; padding: 10px 4px 4px;
  border-bottom: 1px solid #f0f0f0; margin-bottom: 4px;
  list-style: none;
}
.pk-sidebar-brand-list .pk-brand-row-header:first-child { padding-top: 0; }

/* === モバイル 헤더 polish ===
   - 로고를 오른쪽으로
   - sticky (스크롤시 따라옴)
   - 페이지メニュー/로고 위아래 여백 절반으로 */
@media (max-width: 768px) {
  /* fixed 통합 */
  /* 헤더 행 padding 절반으로 */
  .pk-top-bar-inner { padding: 4px 14px !important; }
  .pk-header-main-row { padding: 4px 12px !important; }
  .pk-gnb,
  .pk-gnb-inner { padding-top: 0 !important; padding-bottom: 0 !important; }

  /* 로고를 오른쪽으로, 햄버거 좌측 그대로 */
  .pk-header-center {
    display: flex !important; align-items: center !important;
    justify-content: space-between !important; width: 100% !important; gap: 10px !important;
  }
  #pkMobLeftBtn { order: 0; margin-right: auto !important; }
  .pk-logo {
    order: 2;
    flex: 0 0 auto !important;
    margin-right: 0 !important;
    margin-left: auto !important;
    text-align: right !important;
  }
  .pk-logo .pk-logo-text { font-size: 20px !important; }
}

/* === 商品 ページ (/shop/item.php) 폭 1200px 통일 ===
   분류설명글 (ca_head_html / ca_tail_html) 제외하고
   메인 정보 / 상품정보 / 리뷰 / お問い合わせ / 배송교환 섹션 모두 1200px */
@media (min-width: 769px) {
  /* 영카트5 표준 컨테이너들 */
  #sit, #sit_inf, .pk-detail-wrap,
  #sit_pvi, #sit_inf_open,
  .pk-detail-info, .pk-detail-tabs, .pk-detail-tabs-content,
  .pk-tab-content, .pk-tab-pane,
  #sit_inf_explan, #sit_inf_review, #sit_inf_qa, #sit_inf_delivery,
  #pkProductTabs, #pkProductTabs > div,
  .pk-product-tabs-wrap > div,
  .pk-product-section,
  .pk-detail-bottom-section {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    box-sizing: border-box !important;
    width: 100% !important;
  }
  /* 분류 설명 글은 사용자가 직접 작성 — 100% 유지 */
  #sit_thtml, #sit_hhtml, #sct_hhtml, #sct_thtml,
  .pk-cat-desc, .pk-detail-cat-desc {
    max-width: none !important;
    padding: 0 !important;
  }
}

/* 「その他」 브랜드 라벨 색상 좀 옅게 */
.pk-item-brand-other { color: #aaa !important; font-style: italic; }

/* === モバイル 헤더 — 로고 가운데, 메뉴 우측 + sticky 강화 === */
@media (max-width: 768px) {
  html, body { overflow-x: hidden; }
  /* 부모 컨테이너 transform/overflow:hidden 가 sticky 차단할 수 있음 — 해제 */
  body, #pk-wrap, main, #wrapper {
    overflow: visible !important;
    transform: none !important;
  }
  /* fixed 통합 (line 5518 의 .pk-header fixed 와 호환) */
  /* 로고 가운데, 햄버거 우측 (이전 left 룰 덮어씀) */
  .pk-header-center {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    position: relative !important;
    gap: 0 !important;
  }
  #pkMobLeftBtn {
    position: static !important;
    margin: 0 !important;
    z-index: 2 !important;
  }
  .pk-logo {
    flex: 0 0 auto !important;
    margin: 0 auto !important;
    text-align: center !important;
    order: 0 !important;
  }
}

/* === 모바일 sticky 정밀 제어 (deprecated — 전체 헤더 fixed 로 통합, 충돌 방지) === */

/* === 햄버거 버튼 페이지별 활성화 ===
   기본은 숨김. body 에 .pk-has-side-menu 클래스 있을 때만 표시 */
@media (max-width: 768px) {
  #pkMobLeftBtn { display: none !important; }
  body.pk-has-side-menu #pkMobLeftBtn { display: inline-flex !important; }
}

/* === 드로어 열렸을 때 상단 fixed 유지 (z-index 로만 가려짐) === */

/* === 상단 sticky 헤더 여백 더 타이트 === */
@media (max-width: 768px) {
  .pk-header-main-row { padding: 2px 12px !important; min-height: 0 !important; }
  .pk-logo .pk-logo-text { font-size: 18px !important; line-height: 1.1 !important; }
  #pkMobLeftBtn { padding: 4px !important; }
  #pkMobLeftBtn svg { width: 22px; height: 22px; }
  /* GNB 사이즈 */
  .pk-gnb-list { padding: 4px 0 !important; }
  .pk-gnb-list .pk-gnb-1d > a,
  .pk-gnb-list li a { padding: 8px 10px !important; }
}

/* === 드로어(pkBrowseDrawer) 열렸을 때 sticky 헤더가 위에 노출되는 문제 차단 ===
   기존 룰 'position:relative' 만으로는 부족 — z-index 강제 낮추거나 시각적으로 숨김 */
@media (max-width: 768px) {
  body.pk-drawer-open .pk-header-main-row,
  body.pk-drawer-open .pk-gnb,
  body.pk-drawer-open .pk-top-bar {
    visibility: hidden !important;
  }
}

/* 드로어 z-index 강화 — 모바일 sticky 헤더(9500) 보다 위 */
@media (max-width: 768px) {
  #pkBrowseDrawer { z-index: 10000 !important; }
  #pkBrowseOverlay { z-index: 9999 !important; }
  #pkMobLeftDrawer { z-index: 10001 !important; }
  #pkMobLeftOverlay { z-index: 10000 !important; }
}

/* 드로어 열렸을 때 visibility 룰 제거 — z-index만으로 충분 */
@media (max-width: 768px) {
  body.pk-drawer-open .pk-header-main-row,
  body.pk-drawer-open .pk-gnb,
  body.pk-drawer-open .pk-top-bar {
    visibility: visible !important;
  }
}


/* === 모바일 헤더 우측 아이콘 (HOME/CART) — 로고 좌, 아이콘 우 === */
.pk-mob-right-icons { display: none; }
@media (max-width: 768px) {
  .pk-header-center {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    gap: 8px !important;
  }
  .pk-logo {
    flex: 0 0 auto !important;
    margin: 0 !important;
    text-align: left !important;
    order: 1 !important;
  }
  .pk-logo .pk-logo-text {
    font-size: 18px !important;
    font-weight: 800 !important;
    letter-spacing: 1px !important;
  }
  /* 햄버거 (페이지별 사이드바) — 로고 왼쪽 */
  #pkMobLeftBtn { order: 0 !important; margin: 0 !important; left: 0; right: auto !important; }
  /* 우측 아이콘들 */
  .pk-mob-right-icons {
    display: flex !important;
    align-items: center;
    gap: 4px;
    order: 99 !important;
    margin-left: auto !important;
  }
  .pk-mob-icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    color: #111;
    text-decoration: none;
    border-radius: 50%;
    transition: background .15s;
  }
  .pk-mob-icon-btn:hover,
  .pk-mob-icon-btn:active { background: #f5f5f5; }
  .pk-mob-icon-btn svg { display: block; }
  /* 모바일에서 검색창 인라인 숨김 — 하단바 メニュー에서 검색 가능 */
  .pk-header-search { display: none !important; }
}


/* === 카트 뱃지 (오른쪽 아래 동그란 숫자) === */
.pk-mob-cart-btn { position: relative; }
.pk-cart-badge {
  position: absolute;
  bottom: 2px;
  right: 2px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  background: #d9534f;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 16px;
  text-align: center;
  border-radius: 9px;
  border: 2px solid #fff;
  box-sizing: content-box;
  letter-spacing: 0;
  pointer-events: none;
  font-family: -apple-system, BlinkMacSystemFont, sans-serif;
}


/* === 모바일 햄버거 버튼 — 항상 표시, 동그란 테두리 === */
@media (max-width: 768px) {
  /* 햄버거 버튼: 우측 아이콘 그룹 안 (홈 옆), 사이드바 있는 페이지만 표시 */
  #pkMobLeftBtn { display: none !important; }
  body.pk-has-side-menu #pkMobLeftBtn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  /* 헤더 가운데 정렬 다시: 햄버거 左 → 로고 中央 → 아이콘 右 */
  .pk-header-center {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    gap: 8px !important;
    position: relative !important;
  }
  .pk-logo {
    flex: 0 0 auto !important;
    text-align: left !important;
    margin: 0 auto 0 0 !important;
    order: 0 !important;
  }
  .pk-logo .pk-logo-text { font-size: 21px !important; font-weight: 900 !important; letter-spacing: 1.4px !important; -webkit-text-stroke: 0.6px #111 !important; text-stroke: 0.6px #111 !important; }
  .pk-mob-right-icons {
    display: flex !important;
    align-items: center;
    gap: 6px;
    order: 99 !important;
    flex-shrink: 0;
    margin-left: auto !important;
  }
  /* hamburger 작동 위해 main-row padding 매우 타이트 */
  .pk-header-main-row { padding: 1px 12px !important; min-height: 0 !important; }
}

/* === 모바일 상품 리스트 좌우 패딩 0 (사용자 요청) === */
@media (max-width: 768px) {
  #sct,
  #sct_list,
  .pk-list-wrap,
  .pk-list-layout,
  .pk-cat-header,
  .pk-list-sort,
  .pk-allp-wrap {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  /* 그리드 자체는 좌우 0, 카드 사이 간격만 유지 */
  .pk-item-grid,
  ul.pk-item-grid,
  ul#pkItemGrid,
  .pk-allp-grid {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}


/* === PC 메인 슬라이드 풀폭 + 자동 높이 (이미지 비율 유지) === */
@media (min-width: 769px) {
  .pk-hero,
  .pk-hero-slider,
  .pk-hero-slider.swiper {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .pk-hero-slider .swiper-wrapper {
    align-items: flex-start !important;
    height: auto !important;
  }
  .pk-hero-slider .swiper-slide,
  .pk-hero-slider .swiper-slide a {
    width: 100% !important;
    height: auto !important;
    display: block !important;
  }
  .pk-hero-slider .swiper-slide img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
    object-fit: cover;
  }
}


/* === 모바일 #sct 단일 컬럼 강제 (그리드 폭 overflow 방지) === */
@media (max-width: 768px) {
  #sct,
  #sct.pk-list-layout,
  div#sct {
    display: block !important;
    grid-template-columns: 1fr !important;
    column-gap: 0 !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  #sct > * { grid-column: auto !important; max-width: 100% !important; }
}


/* === 모바일 카테고리 strip 첫 항목 잘림 방지 === */
@media (max-width: 768px) {
  .pk-mob-strip-wrap,
  .pk-mob-substrip-wrap {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .pk-mob-strip,
  .pk-mob-substrip {
    padding-left: 14px !important;
    padding-right: 14px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
  }
}


/* === PayPal 카드 폼 펼침 시 헤더 겹침 방지 === */
@media (max-width: 768px) {
  #paypal-button-container {
    position: relative !important;
    isolation: isolate !important;
    z-index: 1 !important;
    overflow: visible !important;
  }
  #paypal-button-container > div,
  #paypal-button-container iframe { z-index: 1 !important; }
  /* 페이지 상단 고정 요소들이 카드 폼 위로 올라오게 */
  .pk-shop-header, #pk-header, header.pk-header, .pk-top-bar { z-index: 1000 !important; }
  /* 결제 섹션 자체는 새 stacking context */
  #sod_frm_pay, #od_pay_sl { position: relative; isolation: isolate; }
}


/* === 메인페이지 깔끔한 stagger fade-in 로딩 === */
.pk-fadein {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .55s cubic-bezier(.2,.7,.3,1), transform .55s cubic-bezier(.2,.7,.3,1);
  will-change: opacity, transform;
}
.pk-fadein.pk-in {
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .pk-fadein, .pk-fadein.pk-in { transition: none !important; opacity: 1 !important; transform: none !important; }
}

/* === 2026-05-06 모바일 일관 룰: 여백 + 상품명 얇게 + 브랜드 굵게 === */
@media (max-width: 768px) {
  /* 모바일 좌우 여백 통일 (12px) */
  .pk-item-grid,
  .pk-rv-grid,
  .pk-rv-section,
  .pk-detail-info,
  .pk-detail-name,
  .pk-list-content,
  .pk-list-sortbar,
  .pk-section-content,
  .pk-allp-grid,
  .pk-brands-grid,
  .pk-watch-strip,
  .pk-mob-strip {
    padding-left: 12px !important;
    padding-right: 12px !important;
    box-sizing: border-box !important;
  }
  /* 상품명 얇게 (리스트 + 상세) */
  .pk-item-name,
  .pk-item-name-link,
  .pk-rv-subj,
  h1.pk-detail-title,
  .pk-detail-name,
  .pk-detail-title {
    font-weight: 300 !important;
  }
  /* 브랜드 라벨 굵게 통일 */
  .pk-item-brand,
  .pk-detail-brand-name,
  [class*="detail-brand"],
  .pk-rv-board-title {
    font-weight: 900 !important;
    letter-spacing: 0.5px !important;
  }
}

/* === 2026-05-06 모바일 전체 일관 좌우 여백 (14px, 섹션 헤더와 동일) === */
@media (max-width: 768px) {
  /* 메인 페이지 섹션들 */
  .pk-section,
  .pk-keyword-strip,
  .pk-popular-keywords {
    padding-left: 14px !important;
    padding-right: 14px !important;
    box-sizing: border-box !important;
  }
  /* 풀폭 자식 grid/strip 들도 같은 여백 */
  .pk-section .pk-grid,
  .pk-section .pk-item-grid,
  .pk-section [class*="grid"]:not(.pk-detail-grid),
  .pk-section-content,
  .pk-section .pk-mob-strip,
  .pk-section .pk-watch-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  /* 가로 스크롤 strip - 좌측 padding 으로 시작 */
  .pk-keyword-strip > div,
  .pk-popular-keywords > div,
  .pk-mob-strip,
  .pk-mob-cat-strip {
    padding-left: 14px !important;
    padding-right: 14px !important;
    box-sizing: border-box !important;
  }
  /* 다른 페이지 컨텐츠 wrapper */
  .pk-detail-info,
  .pk-cart-content,
  .pk-mypage-wrap,
  .pk-list-content,
  .pk-allp-grid,
  .pk-brands-content {
    padding-left: 14px !important;
    padding-right: 14px !important;
    box-sizing: border-box !important;
  }
  /* hero 슬라이드는 의도된 풀폭 — padding 0 유지 */
  .pk-hero {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  /* 브랜드 strip (둥근 로고 가로) — 좌측 시작점 14 */
  .pk-brand-strip {
    padding-left: 14px !important;
    padding-right: 14px !important;
    box-sizing: border-box !important;
  }
}

/* === 2026-05-06 상세페이지 브랜드 라벨 visual 구분 강화 === */
.pk-detail-brand-auto,
p.pk-detail-brand-auto,
.pk-detail-brand,
.pk-detail-info .pk-detail-brand-auto {
  font-weight: 900 !important;
  font-size: 13px !important;
  letter-spacing: 1.2px !important;
  color: #000 !important;
  text-transform: uppercase;
}
/* 리스트 카드의 브랜드도 동일 강조 */
.pk-item-brand {
  font-weight: 900 !important;
  letter-spacing: 0.6px !important;
  color: #000 !important;
}
/* 상세페이지 상품명 — 브랜드와 시각적으로 다름 명확히 (얇은 회색 + 정상) */
h1.pk-detail-title,
.pk-detail-title,
.pk-detail-name {
  font-weight: 300 !important;
  color: #333 !important;
}

/* === 2026-05-06 관련상품/상세 하위 섹션 좌우 여백 통일 === */
@media (max-width: 768px) {
  .pk-rel-section,
  .pk-rel-section .pk-container,
  .pk-rel-section .pk-section-hd,
  .pk-rel-section .pk-section-title,
  .pk-rel-section .pk-no-item,
  .pk-rel-section .pk-rel-grid,
  .pk-detail-section,
  .pk-detail-tabs,
  .pk-detail-section-content,
  .pk-detail-bottom {
    padding-left: 14px !important;
    padding-right: 14px !important;
    box-sizing: border-box !important;
  }
}

/* === 2026-05-06 상세 페이지 sticky 버튼이 가격 가리는 문제 fix === */
@media (max-width: 768px) {
  /* 페이지 끝에 sticky bar(약 80px) + 하단 탭바(64px) 만큼 spacer */
  .pk-detail-wrap,
  .pk-detail-layout,
  .pk-detail-info {
    padding-bottom: 160px !important;
  }
  /* 하단 탭바와 sticky 액션 버튼이 겹치지 않게 sticky 액션 위치 조정 */
  .pk-sticky-buy {
    bottom: 64px !important; /* 하단 탭바 높이 만큼 위로 */
  }
}

/* === 2026-05-06 상세페이지 가격을 first-fold 안으로 — flex order === */
@media (max-width: 768px) {
  .pk-detail-info {
    display: flex !important;
    flex-direction: column !important;
  }
  .pk-detail-brand-auto    { order: 1 !important; }
  .pk-detail-title         { order: 2 !important; }
  .pk-detail-price-box     { order: 3 !important; }  /* ← 가격을 상품명 직후 */
  .pk-detail-ship-banner   { order: 4 !important; }
  .pk-detail-rows          { order: 5 !important; }
  .pk-option-panel         { order: 6 !important; }
  .pk-detail-sub-actions   { order: 7 !important; }
  .pk-detail-siblings      { order: 8 !important; }
}

/* === 2026-05-06 상세페이지 padding-bottom 과도한 거 제거 (가격은 flex order 로 해결) === */
@media (max-width: 768px) {
  .pk-detail-wrap,
  .pk-detail-layout,
  .pk-detail-info {
    padding-bottom: 24px !important;
  }
}

/* === 2026-05-06 brands/search 페이지 3컬럼 통일 === */
@media (max-width: 768px) {
  .pk-brand-items,
  .pk-search-grid,
  .pk-search-items {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px 8px !important;
  }
}

/* === 2026-05-06 brands/search 카드 그리드 풀폭 (list 페이지 스타일) === */
@media (max-width: 768px) {
  .pk-brand-items,
  .pk-search-grid,
  .pk-search-items {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* === 2026-05-06 brands 카드 그리드 풀폭 (부모 wrap padding 상쇄) === */
@media (max-width: 768px) {
  .pk-brand-items {
    margin-left: -24px !important;
    margin-right: -24px !important;
    padding: 0 !important;
  }
}

/* === 2026-05-06 all.php 그리드 3컬럼 통일 === */
@media (max-width: 768px) {
  .pk-allp-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px 8px !important;
  }
}

/* === 2026-05-06 all.php 모바일에서 사이드바 hide → 가로 strip 만 보임 === */
@media (max-width: 768px) {
  .pk-allp-side {
    display: none !important;
  }
  .pk-allp-main .pk-mob-strip-wrap {
    display: block !important;
  }
  .pk-allp-layout {
    display: block !important;
  }
}

/* === 2026-05-06 all.php 모바일 상단 헤더 디자인 정돈 === */
@media (max-width: 768px) {
  /* wrap 좌우 padding 제거 → 카드그리드 풀폭 가능, 헤더만 14px 적용 */
  .pk-allp-wrap {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  /* 헤더 / 탭 / 정렬 → 14px 좌우 여백 */
  .pk-allp-head,
  .pk-allp-tabs,
  .pk-allp-sort {
    padding-left: 14px !important;
    padding-right: 14px !important;
    box-sizing: border-box !important;
  }
  /* 카드 그리드 풀폭 */
  .pk-allp-grid {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  /* 헤더 다듬기 */
  .pk-allp-head {
    gap: 12px !important;
    padding-top: 6px !important;
    padding-bottom: 14px !important;
    margin-bottom: 0 !important;
    align-items: baseline !important;
  }
  .pk-allp-head .lbl {
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 2.6px !important;
    color: #b0b0b0 !important;
  }
  .pk-allp-head h1 {
    font-size: 19px !important;
    font-weight: 700 !important;
    letter-spacing: 0.4px !important;
  }
  .pk-allp-head .cnt {
    font-size: 11px !important;
    color: #b0b0b0 !important;
    font-weight: 400 !important;
    letter-spacing: 0.4px !important;
  }
  /* 탭 — 좌측 padding 제거하여 14px 여백 안에서 정렬 */
  .pk-allp-tabs {
    margin-bottom: 0 !important;
    gap: 22px !important;
    border-bottom: 1px solid #ebebeb !important;
  }
  .pk-allp-tab {
    padding: 12px 0 !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    letter-spacing: 1.4px !important;
    color: #999 !important;
  }
  .pk-allp-tab.active {
    color: #111 !important;
    border-bottom-width: 2px !important;
    font-weight: 800 !important;
  }
  /* 정렬 옵션 — 더 단정 */
  .pk-allp-sort {
    gap: 18px !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    margin-bottom: 4px !important;
    font-size: 11.5px !important;
  }
  .pk-allp-sort a {
    color: #999 !important;
    letter-spacing: 0.6px !important;
    padding-bottom: 2px !important;
  }
  .pk-allp-sort a.active {
    color: #111 !important;
    font-weight: 800 !important;
    border-bottom-width: 2px !important;
  }
  /* 상단 strip 도 14px 안쪽으로 */
  .pk-allp-main .pk-mob-strip-wrap {
    padding-left: 14px !important;
    padding-right: 14px !important;
    margin-bottom: 8px !important;
  }
}

/* === 2026-05-06 모바일 카드 텍스트 여백 (사진만 풀폭, 텍스트는 인셋) === */
@media (max-width: 768px) {
  /* all.php 카드 */
  .pk-allp-card .pk-allp-brand,
  .pk-allp-card .pk-allp-name,
  .pk-allp-card .pk-allp-price,
  .pk-allp-card .pk-allp-cust {
    padding-left: 8px !important;
    padding-right: 8px !important;
    box-sizing: border-box !important;
  }
  /* list.php / brands / search 카드 (이미지 풀폭, 텍스트만 padding) */
  .pk-item-card .pk-item-brand,
  .pk-item-card .pk-item-name,
  .pk-item-card .pk-item-price,
  .pk-item-card .pk-item-cust,
  .pk-search-card .pk-item-brand,
  .pk-search-card .pk-item-name,
  .pk-search-card .pk-item-price,
  .pk-brand-card .pk-item-brand,
  .pk-brand-card .pk-item-name,
  .pk-brand-card .pk-item-price {
    padding-left: 8px !important;
    padding-right: 8px !important;
    box-sizing: border-box !important;
  }
}

/* === 2026-05-06 게시판 검색 폼 모바일 풀폭 fix === */
@media (max-width: 768px) {
  .pk-cs-search-wrap {
    margin-top: 22px !important;
    padding: 0 14px !important;
    box-sizing: border-box !important;
    width: 100% !important;
    justify-content: stretch !important;
  }
  .pk-cs-search-form {
    width: 100% !important;
    gap: 6px !important;
  }
  .pk-cs-sfl {
    flex: 0 0 auto !important;
    width: 110px !important;
    font-size: 12px !important;
    padding: 9px 8px !important;
  }
  .pk-cs-search-input-wrap {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
  .pk-cs-stx {
    width: 100% !important;
    min-width: 0 !important;
    padding: 9px 10px !important;
    font-size: 12.5px !important;
  }
  .pk-cs-search-btn {
    flex: 0 0 auto !important;
    padding: 0 12px !important;
  }
}

/* === 2026-05-06 리뷰(itemuselist) 검색 폼 모바일 풀폭 fix === */
@media (max-width: 768px) {
  .pk-review-search-form {
    width: 100% !important;
    padding: 0 14px !important;
    box-sizing: border-box !important;
    gap: 6px !important;
  }
  .pk-review-sfl {
    flex: 0 0 auto !important;
    width: 110px !important;
    min-width: 0 !important;
    font-size: 12px !important;
    padding: 9px 8px !important;
  }
  .pk-review-stx {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    padding: 9px 10px !important;
    font-size: 12.5px !important;
  }
  .pk-review-search-btn {
    flex: 0 0 auto !important;
    padding: 0 12px !important;
  }
}
