:root {
  --bg: #f4f7fb;
  --panel: #ffffff;
  --text: #0f172a;
  --muted: #64748b;
  --line: #d9e1ec;
  --primary: #173d6b;
  --primary2: #0f2d50;
  --soft: #eef4fb;
  --danger: #d92d20;
  --ok: #067647;
  --shadow: 0 12px 30px rgba(15, 23, 42, .08);
}
* { box-sizing: border-box; }
body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans KR", sans-serif; background: var(--bg); color: var(--text); }
a { color: inherit; text-decoration: none; }
.container { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }
.siteHeader { position: sticky; top: 0; z-index: 20; background: rgba(255,255,255,.92); border-bottom: 1px solid var(--line); backdrop-filter: blur(12px); }
.headerInner { height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { font-weight: 900; font-size: 26px; color: var(--primary); letter-spacing: -.04em; }
.mainNav { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.mainNav a { padding: 10px 14px; border-radius: 999px; color: #334155; font-weight: 700; font-size: 14px; }
.mainNav a:hover { background: var(--soft); color: var(--primary); }
.pageWrap { padding: 38px 0 70px; min-height: calc(100vh - 170px); }
.siteFooter { border-top: 1px solid var(--line); background: #0f172a; color: #cbd5e1; padding: 30px 0; }
.footerGrid { display: flex; justify-content: space-between; gap: 24px; font-size: 14px; }
.hero { display: grid; grid-template-columns: 1.1fr .9fr; gap: 22px; align-items: stretch; }
.heroCard, .card { background: var(--panel); border: 1px solid var(--line); border-radius: 22px; box-shadow: var(--shadow); }
.heroCard { padding: 44px; }
.heroCard h1 { margin: 0 0 16px; font-size: clamp(34px, 5vw, 58px); line-height: 1.08; letter-spacing: -.06em; }
.heroCard p { margin: 0; color: var(--muted); font-size: 18px; line-height: 1.7; }
.heroAside { padding: 28px; }
.badge { display: inline-flex; align-items: center; gap: 6px; background: var(--soft); color: var(--primary); border-radius: 999px; padding: 7px 12px; font-size: 13px; font-weight: 800; }
.sectionTitle { margin: 0 0 18px; font-size: 30px; letter-spacing: -.04em; }
.card { padding: 26px; margin-top: 22px; }
.grid3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.grid2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.infoBox { border: 1px solid var(--line); border-radius: 18px; padding: 20px; background: #fbfdff; }
.infoBox strong { display:block; margin-bottom:8px; color: var(--primary); }
.infoBox p { margin: 0; color: var(--muted); line-height: 1.55; }
.btnRow { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height: 42px; padding: 0 18px; border:0; border-radius: 12px; font-weight:800; cursor:pointer; background:#edf2f7; color:#1f2937; }
.btnPrimary { background: var(--primary); color: #fff; }
.btnPrimary:hover { background: var(--primary2); }
.btnDanger { background: var(--danger); color:#fff; }
.btnBlock { width: 100%; }
.formGrid { display: grid; grid-template-columns: 190px minmax(0,1fr); border: 1px solid var(--line); border-radius: 18px; overflow: hidden; }
.formLabel { background: #f8fafc; border-bottom: 1px solid var(--line); padding: 17px 18px; font-weight: 800; }
.formControl { border-bottom: 1px solid var(--line); padding: 12px 14px; }
.formGrid .formLabel:nth-last-child(2), .formGrid .formControl:last-child { border-bottom: 0; }
.input, .select, .textarea { width: 100%; border: 1px solid #cbd5e1; border-radius: 12px; padding: 12px 14px; font: inherit; background: #fff; color: var(--text); }
.textarea { min-height: 180px; resize: vertical; line-height: 1.6; }
.inputShort { max-width: 240px; }
.help { color: var(--muted); font-size: 13px; margin-top: 7px; line-height: 1.5; }
.required { color: var(--danger); }
.is-hidden { display: none !important; }
.radioCards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.radioCard { display: block; border: 1px solid var(--line); border-radius: 18px; padding: 18px; background: #fff; cursor:pointer; }
.radioCard input { margin-right: 7px; }
.radioCard strong { color: var(--primary); display: block; margin-bottom: 8px; }
.radioCard span { display:block; color:var(--muted); font-size:13px; line-height:1.45; }
.radioCard:has(input:checked) { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(23,61,107,.11); }
.termsBox { border: 1px solid var(--line); border-radius: 16px; padding: 16px; background: #fbfdff; max-height: 260px; overflow: auto; white-space: pre-wrap; line-height: 1.6; color: #334155; }
.alert { border-radius: 14px; padding: 14px 16px; margin-bottom: 16px; font-weight: 700; }
.alertOk { background: #ecfdf3; color: var(--ok); border: 1px solid #abefc6; }
.alertError { background: #fef3f2; color: var(--danger); border: 1px solid #fecdca; }
.tableWrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.table { width: 100%; border-collapse: collapse; min-width: 860px; }
.table th, .table td { border-bottom: 1px solid var(--line); padding: 14px 12px; text-align: center; font-size: 14px; }
.table th { background: #f8fafc; font-weight: 900; color: #0f172a; }
.table tr:last-child td { border-bottom: 0; }
.statGrid { display:grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.stat { background:#fff; border:1px solid var(--line); border-radius:18px; padding:18px; }
.stat span { color: var(--muted); font-size: 13px; }
.stat strong { display:block; margin-top:6px; font-size:24px; color: var(--primary); }
.muted { color: var(--muted); }
@media (max-width: 900px) {
  .hero, .grid3, .grid2, .radioCards, .statGrid { grid-template-columns: 1fr; }
  .formGrid { grid-template-columns: 1fr; }
  .formLabel { border-bottom: 0; padding-bottom: 4px; }
  .formControl { padding-top: 8px; }
  .footerGrid { flex-direction: column; }
}
.supportAssociationPreview {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 10px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #f8fafc;
  color: var(--text);
}
.supportAssociationPreview strong {
  width: 100%;
  color: var(--primary);
  font-size: 14px;
}
.supportAssociationPreview span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 10px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--line);
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}
.addressSearchRow {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 8px;
}
.addressSearchRow .inputShort {
  margin-bottom: 0;
}
.checkOk {
  color: var(--ok) !important;
  font-weight: 800;
}
.checkError {
  color: var(--danger) !important;
  font-weight: 800;
}

/* user shop step2 */
.shopHeader { background: rgba(255,255,255,.96); }
.shopHeaderInner { min-height: 86px; height: auto; padding: 14px 0; display: grid; grid-template-columns: 220px minmax(260px, 1fr) auto; }
.shopBrand { display: inline-flex; flex-direction: column; gap: 2px; line-height: 1; }
.brandMark { font-size: 12px; letter-spacing: .12em; color: #94a3b8; }
.headerSearch { display: flex; align-items: center; max-width: 470px; width: 100%; margin: 0 auto; border: 1px solid var(--line); border-radius: 999px; overflow: hidden; background: #fff; box-shadow: 0 8px 20px rgba(15,23,42,.06); }
.headerSearch input { flex: 1; border: 0; min-height: 46px; padding: 0 18px; font: inherit; outline: 0; }
.headerSearch button { width: 70px; min-height: 46px; border: 0; background: var(--primary); color: #fff; font-weight: 900; cursor: pointer; }
.shopNav a { position: relative; }
.shopNav em { position: absolute; top: 1px; right: 0; min-width: 18px; height: 18px; border-radius: 999px; background: var(--danger); color: #fff; font-style: normal; font-size: 11px; display: inline-flex; align-items: center; justify-content: center; }
.shopHero { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 22px; align-items: stretch; margin-bottom: 42px; }
.shopHeroText, .shopHeroVisual { border: 1px solid var(--line); border-radius: 26px; background: var(--panel); box-shadow: var(--shadow); overflow: hidden; }
.shopHeroText { padding: clamp(32px, 6vw, 64px); }
.shopHeroText > span, .sectionHead span, .shopPageHead span { display: block; color: #c0a99a; letter-spacing: .34em; font-weight: 900; font-size: 13px; margin-bottom: 12px; }
.shopHeroText h1 { margin: 0 0 18px; font-size: clamp(38px, 5.4vw, 72px); line-height: .98; letter-spacing: -.08em; }
.shopHeroText p { margin: 0 0 28px; color: var(--muted); font-size: 18px; line-height: 1.75; }
.shopHeroVisual { min-height: 420px; display: flex; flex-direction: column; align-items: center; justify-content: center; background: radial-gradient(circle at 70% 30%, rgba(217,45,32,.28), transparent 34%), linear-gradient(135deg, #f8fafc 0%, #e2e8f0 42%, #d9d2cc 100%); position: relative; text-align: center; }
.shopHeroVisual::before { content: ''; position: absolute; inset: 28px; border: 1px solid rgba(255,255,255,.68); border-radius: 24px; }
.shopHeroVisual strong { position: relative; display: block; color: #191919; font-size: clamp(42px, 6vw, 82px); font-weight: 1000; letter-spacing: -.07em; transform: skew(-8deg); }
.shopHeroVisual p { position: relative; margin: 6px 0 0; color: #8a1111; font-weight: 900; letter-spacing: .08em; }
.shopSection { margin-top: 44px; }
.shopSection.noMargin { margin-top: 18px; }
.sectionHead { margin-bottom: 22px; }
.sectionHead.center { text-align: center; }
.sectionHead h2, .shopPageHead h1 { margin: 0; font-size: clamp(28px, 4vw, 42px); letter-spacing: -.06em; }
.categoryPills { display: grid; grid-template-columns: repeat(5, minmax(120px, 1fr)); gap: 14px; }
.categoryPills a { min-height: 62px; display: flex; align-items: center; justify-content: center; border-radius: 14px; background: #9b9b9b; color: #fff; font-weight: 900; font-size: 18px; padding: 0 14px; text-align: center; }
.categoryPills a:hover, .categoryPills a.active { background: var(--primary); }
.categoryPills.compact { display: flex; flex-wrap: wrap; gap: 8px; }
.categoryPills.compact a { min-height: 40px; font-size: 14px; border-radius: 999px; padding: 0 16px; background: #edf2f7; color: #334155; }
.categoryPills.compact a.active, .categoryPills.compact a:hover { background: var(--primary); color: #fff; }
.categoryPills.sub { padding-top: 10px; border-top: 1px dashed var(--line); }
.productGrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 22px; }
.productGrid.related { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.productCard { background: #fff; border: 1px solid #eef2f7; border-radius: 20px; overflow: hidden; box-shadow: 0 10px 26px rgba(15,23,42,.05); transition: transform .16s ease, box-shadow .16s ease; }
.productCard:hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(15,23,42,.1); }
.productThumb { position: relative; display: flex; align-items: center; justify-content: center; aspect-ratio: 1 / 1; background: #fff; padding: 18px; }
.productThumb img { max-width: 100%; max-height: 100%; object-fit: contain; }
.productThumb em { position: absolute; left: 12px; top: 12px; background: rgba(217,45,32,.92); color: #fff; border-radius: 999px; padding: 6px 10px; font-style: normal; font-size: 12px; font-weight: 900; }
.productCard strong { display: block; min-height: 50px; padding: 16px 16px 8px; font-size: 16px; line-height: 1.45; text-align: center; }
.productCard .price { display: block; padding: 0 16px 18px; text-align: center; color: #ef3b1f; font-weight: 1000; }
.supportNotice { margin-top: 48px; border-radius: 24px; border: 1px solid var(--line); background: #0f172a; color: #fff; padding: 32px; }
.supportNotice h2 { margin: 0 0 10px; font-size: 28px; }
.supportNotice p { margin: 0; color: #cbd5e1; line-height: 1.7; }
.shopPageHead { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 20px; }
.listSearch { display: flex; align-items: center; gap: 8px; }
.listSearch input { width: min(360px, 48vw); border: 1px solid var(--line); border-radius: 12px; padding: 13px 14px; font: inherit; }
.shopToolbar { border: 1px solid var(--line); border-radius: 20px; background: #fff; padding: 18px; margin-bottom: 18px; }
.sortForm { display: flex; justify-content: flex-end; margin-top: 12px; }
.sortForm .select { width: 180px; }
.listMeta { margin-bottom: 16px; color: var(--muted); font-weight: 800; }
.emptyBox { border: 1px dashed var(--line); background: #fff; border-radius: 20px; padding: 34px; text-align: center; color: var(--muted); font-weight: 800; }
.emptyBox.big { padding: 80px 20px; }
.pagination { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 30px; }
.pagination a { min-width: 38px; height: 38px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center; background: #fff; border: 1px solid var(--line); font-weight: 900; color: #334155; }
.pagination a.active, .pagination a:hover { background: var(--primary); color: #fff; border-color: var(--primary); }
.productDetail { display: grid; grid-template-columns: minmax(320px, .95fr) minmax(340px, 1.05fr); gap: 28px; align-items: start; }
.detailImage, .detailInfo { background: #fff; border: 1px solid var(--line); border-radius: 24px; box-shadow: var(--shadow); }
.detailImage { min-height: 520px; display: flex; align-items: center; justify-content: center; padding: 30px; }
.detailImage img { max-width: 100%; max-height: 560px; object-fit: contain; }
.detailInfo { padding: 34px; }
.breadcrumb { color: var(--primary); font-weight: 900; margin-bottom: 10px; }
.detailInfo h1 { margin: 0 0 18px; font-size: clamp(28px, 3.6vw, 44px); line-height: 1.2; letter-spacing: -.05em; }
.soldoutBadge { display: inline-flex; margin-bottom: 14px; border-radius: 999px; padding: 7px 12px; background: #fef3f2; color: var(--danger); font-weight: 900; }
.detailSpec { display: grid; grid-template-columns: 110px minmax(0,1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin: 18px 0; }
.detailSpec dt, .detailSpec dd { margin: 0; padding: 13px 0; border-bottom: 1px solid var(--line); }
.detailSpec dt { color: var(--muted); font-weight: 900; }
.detailSpec dd { font-weight: 800; }
.detailSpec dt:nth-last-child(2), .detailSpec dd:last-child { border-bottom: 0; }
.detailPrice { color: #ef3b1f; font-size: 26px; font-weight: 1000 !important; }
.supportMiniNotice { border: 1px solid #bfdbfe; background: #eff6ff; color: #1e3a8a; border-radius: 16px; padding: 14px; line-height: 1.55; font-weight: 700; margin: 16px 0; }
.cartAddForm { margin-top: 18px; }
.detailOption { display: block; margin-bottom: 12px; }
.detailOption > span { display: block; margin-bottom: 8px; font-weight: 900; }
.detailOption.inline { display: flex; align-items: center; gap: 12px; }
.detailOption.inline > span { margin-bottom: 0; width: 60px; }
.detailButtons { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 18px; }
.btnLarge { min-height: 54px; font-size: 16px; }
.productTabs { position: sticky; top: 84px; z-index: 10; display: flex; gap: 8px; flex-wrap: wrap; margin-top: 28px; padding: 10px; background: rgba(244,247,251,.9); backdrop-filter: blur(10px); }
.productTabs a { border-radius: 999px; padding: 10px 18px; background: #fff; border: 1px solid var(--line); font-weight: 900; }
.productTabs a:hover { background: var(--primary); color: #fff; }
.productContent { overflow: hidden; }
.contentHtml { line-height: 1.75; color: #334155; overflow-x: auto; }
.contentHtml img { max-width: 100% !important; height: auto !important; }
.contentHtml iframe { max-width: 100%; }
.cartLayout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 22px; align-items: start; }
.cartList { display: grid; gap: 12px; }
.cartItem { display: grid; grid-template-columns: 110px minmax(0,1fr) 150px 130px 78px; gap: 14px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 16px; }
.cartThumb { display: flex; align-items: center; justify-content: center; background: #f8fafc; border-radius: 16px; aspect-ratio: 1/1; padding: 10px; }
.cartThumb img { max-width: 100%; max-height: 100%; object-fit: contain; }
.cartTitle { font-size: 17px; font-weight: 1000; color: var(--text); }
.cartInfo p { margin: 6px 0 0; color: var(--muted); font-size: 13px; }
.cartQty { display: flex; gap: 8px; align-items: center; }
.cartQty .input { width: 72px; text-align: center; }
.cartPrice { text-align: right; }
.cartPrice strong { display: block; font-size: 20px; color: #ef3b1f; }
.cartPrice span { display: block; margin-top: 4px; color: var(--muted); font-size: 12px; }
.cartSummary { position: sticky; top: 110px; background: #fff; border: 1px solid var(--line); border-radius: 22px; box-shadow: var(--shadow); padding: 22px; }
.cartSummary h2 { margin: 0 0 16px; }
.cartSummary dl { margin: 0 0 16px; }
.cartSummary dt, .cartSummary dd { display: inline-block; width: 49%; margin: 0; padding: 10px 0; border-bottom: 1px solid var(--line); }
.cartSummary dd { text-align: right; font-weight: 900; }
.cartSummary .total { color: #ef3b1f; font-size: 24px; }
.cartSummary form { margin-top: 8px; }
.dangerText { color: var(--danger) !important; font-weight: 900; }
button:disabled, .btn:disabled { opacity: .45; cursor: not-allowed; }
@media (max-width: 1080px) {
  .shopHeaderInner { grid-template-columns: 1fr; }
  .headerSearch { max-width: 100%; }
  .shopNav { justify-content: center; }
  .shopHero, .productDetail, .cartLayout { grid-template-columns: 1fr; }
  .cartSummary { position: static; }
}
@media (max-width: 760px) {
  .categoryPills, .productGrid, .productGrid.related { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .shopPageHead { align-items: stretch; flex-direction: column; }
  .listSearch input { width: 100%; }
  .cartItem { grid-template-columns: 84px minmax(0,1fr); }
  .cartQty, .cartPrice, .cartItem form { grid-column: 1 / -1; }
  .cartPrice { text-align: left; }
  .detailButtons { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .categoryPills, .productGrid, .productGrid.related { grid-template-columns: 1fr; }
}

/* user shop step3: order / payment */
.noTop { margin-top: 0; }
.sectionTitle.small { font-size: 24px; margin-bottom: 16px; }
.orderLayout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 22px; align-items: start; }
.orderLayout.single { grid-template-columns: minmax(0, 1fr) 340px; }
.orderItems { display: grid; gap: 12px; }
.orderItem { display: grid; grid-template-columns: 86px minmax(0, 1fr) 150px; gap: 14px; align-items: center; border: 1px solid var(--line); border-radius: 18px; padding: 14px; background: #fff; }
.orderThumb { width: 86px; aspect-ratio: 1 / 1; display: flex; align-items: center; justify-content: center; border-radius: 14px; background: #f8fafc; padding: 8px; }
.orderThumb img { max-width: 100%; max-height: 100%; object-fit: contain; }
.orderItem strong { display:block; font-size: 16px; margin-bottom: 6px; }
.orderItem p { margin: 3px 0 0; color: var(--muted); font-size: 13px; }
.orderItemPrice { text-align: right; color: #ef3b1f; font-weight: 1000; }
.orderSummary { position: sticky; top: 110px; border: 1px solid var(--line); border-radius: 22px; box-shadow: var(--shadow); background: #fff; padding: 22px; }
.orderSummary h2 { margin: 0 0 16px; }
.orderSummary dl { margin: 0 0 16px; }
.orderSummary dt, .orderSummary dd { display: inline-block; width: 49%; margin: 0; padding: 10px 0; border-bottom: 1px solid var(--line); vertical-align: top; }
.orderSummary dd { text-align: right; font-weight: 900; }
.orderSummary .total { color: #ef3b1f; font-size: 23px; }
.orderFormGrid { border-radius: 16px; }
.phoneGroup { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.titleWithAction { display:flex; align-items:center; justify-content:space-between; gap: 12px; margin-bottom: 16px; }
.titleWithAction .sectionTitle { margin-bottom: 0; }
.textarea.small { min-height: 90px; }
.payMethodGrid { display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; margin-bottom: 16px; }
.payMethodGrid label { display:flex; align-items:center; gap: 8px; border: 1px solid var(--line); border-radius: 16px; padding: 16px; background: #fff; font-weight: 900; cursor:pointer; }
.payMethodGrid label:has(input:checked) { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(23,61,107,.11); }
.payBox { margin-top: 12px; }
.compactTop { margin-top: 14px; }
.radioInline { display:flex; align-items:center; gap: 18px; flex-wrap:wrap; }
.radioInline label { display:inline-flex; align-items:center; gap: 6px; font-weight: 800; }
.completeHero { text-align:center; padding: 42px; }
.completeHero h2 { margin:0 0 10px; font-size: 30px; color: var(--primary); }
.kcpResult { margin-top: 18px; padding: 16px; min-height: 120px; border-radius: 16px; background: #0f172a; color: #dbeafe; white-space: pre-wrap; overflow:auto; }
.mypageTabs { display:flex; gap: 8px; flex-wrap:wrap; margin: 0 0 18px; }
.mypageTabs a { display:inline-flex; min-height:40px; align-items:center; justify-content:center; border-radius: 12px; padding: 0 16px; background: #edf2f7; color:#1f2937; font-weight:900; }
.mypageTabs a.active, .mypageTabs a:hover { background: var(--primary); color:#fff; }
.statusBadge { display:inline-flex; min-height: 28px; align-items:center; justify-content:center; border-radius:999px; padding: 0 10px; background:#eef4fb; color:var(--primary); font-weight:900; font-size: 12px; }
@media (max-width: 1080px) {
  .orderLayout, .orderLayout.single { grid-template-columns: 1fr; }
  .orderSummary { position: static; }
}
@media (max-width: 700px) {
  .orderItem { grid-template-columns: 72px minmax(0, 1fr); }
  .orderItemPrice { grid-column: 1 / -1; text-align: left; }
  .phoneGroup, .payMethodGrid { grid-template-columns: 1fr; }
}

.bankAccountPreview {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}
.bankAccountPreview span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: 5px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #f8fafc;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.bankAccountPreview strong {
  color: var(--primary);
}
.frontDetailTable {
  border: 1px solid var(--line);
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
}
.frontDetailTable dl {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  margin: 0;
  border-bottom: 1px solid var(--line);
}
.frontDetailTable dl:last-child {
  border-bottom: 0;
}
.frontDetailTable dt,
.frontDetailTable dd {
  margin: 0;
  padding: 14px 16px;
  min-height: 50px;
  display: flex;
  align-items: center;
}
.frontDetailTable dt {
  background: #f8fafc;
  color: #0f172a;
  font-weight: 900;
}
.frontDetailTable dd {
  color: #334155;
  font-weight: 700;
  word-break: break-word;
}
.frontDetailTable .strongRed {
  color: #ef3b1f;
  font-weight: 1000;
  font-size: 18px;
}
@media (max-width: 700px) {
  .frontDetailTable dl {
    grid-template-columns: 1fr;
  }
  .frontDetailTable dt {
    border-bottom: 1px solid var(--line);
    min-height: 38px;
    padding-bottom: 8px;
  }
  .frontDetailTable dd {
    padding-top: 10px;
  }
}

/* user shop step4: mypage edit / order detail refinement */
.readonlyBadge {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #f8fafc;
  color: #334155;
  font-weight: 900;
}
.strongText { color: var(--primary); }
.checkRow { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; font-weight: 900; }
.breakText { word-break: break-all; overflow-wrap: anywhere; }
.textLink { color: var(--primary); font-weight: 900; text-decoration: underline; text-underline-offset: 3px; }
.emptyBox.compact { padding: 20px; border-radius: 16px; }
.orderNoticeBox {
  border: 1px solid #bfdbfe;
  background: #eff6ff;
  color: #1e3a8a;
  border-radius: 18px;
  padding: 16px 18px;
  margin: 0 0 18px;
  line-height: 1.55;
}
.orderNoticeBox strong { display: block; font-size: 16px; margin-bottom: 4px; }
.orderNoticeBox strong span { word-break: break-all; overflow-wrap: anywhere; }
.orderNoticeBox p { margin: 0; color: #334155; font-weight: 700; }
.orderItemInfo { min-width: 0; }
.orderItemMeta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.orderItemMeta span {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  border-radius: 999px;
  background: #f1f5f9;
  color: #475569;
  padding: 4px 9px;
  font-size: 12px;
  font-weight: 800;
}
.orderSummary dl {
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr);
  gap: 0;
  margin: 0 0 16px;
}
.orderSummary dt,
.orderSummary dd {
  display: flex;
  align-items: center;
  width: auto;
  margin: 0;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
  min-width: 0;
}
.orderSummary dt { color: #334155; font-weight: 800; }
.orderSummary dd {
  justify-content: flex-end;
  text-align: right;
  font-weight: 900;
  word-break: break-all;
  overflow-wrap: anywhere;
}
.orderSummary .orderNumberValue { font-size: 13px; line-height: 1.35; }
.orderSummary .statusBadge { max-width: 100%; }
.formGrid .textarea { width: 100%; }
@media (max-width: 700px) {
  .orderSummary dl { grid-template-columns: 88px minmax(0, 1fr); }
  .orderNoticeBox { border-radius: 14px; padding: 14px; }
  .readonlyBadge { max-width: 100%; }
}

.kcpStatus { margin-top: 18px; padding: 16px 18px; min-height: 54px; border-radius: 16px; border: 1px solid #dbe7f6; background: #f7fbff; color: #143b68; font-weight: 800; }
.kcpStatus.isError { border-color: #fecaca; background: #fff5f5; color: #b42318; }
.kcpStatus.isOk { border-color: #bfdbfe; background: #eff6ff; color: #0f3d72; }

/* user shop step5: tax bill / cash receipt request */
.btnSmall { min-height: 34px; padding: 0 12px; border-radius: 10px; font-size: 13px; }
.documentRequestGrid .formControl { min-height: 68px; }
.documentRequestStatus { margin: 8px 0 0; color: var(--muted); font-size: 13px; font-weight: 800; line-height: 1.5; }
.documentRequestStatus.isOk { color: var(--ok); }
.documentPayNotice { margin-top: 12px; }
.documentModal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(15, 23, 42, .55);
}
.documentModal.isOpen { display: flex; }
.documentModalPanel {
  width: min(820px, 100%);
  max-height: calc(100vh - 48px);
  overflow: auto;
  background: #fff;
  border-radius: 22px;
  box-shadow: 0 24px 70px rgba(15, 23, 42, .28);
  border: 1px solid var(--line);
  padding: 24px;
}
.documentModalHead {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  border-bottom: 2px solid var(--primary);
  padding-bottom: 14px;
  margin-bottom: 18px;
}
.documentModalHead h3 {
  margin: 0;
  color: var(--primary);
  font-size: 28px;
  letter-spacing: -.04em;
}
.documentModalClose {
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 999px;
  background: #eef2f7;
  color: #0f172a;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}
.documentModalGrid { box-shadow: none; }
.documentModalActions { justify-content: center; margin-top: 18px; }
.radioStack { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.radioStack label { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; color: #334155; }
@media (max-width: 700px) {
  .documentModal { padding: 12px; align-items: flex-start; }
  .documentModalPanel { padding: 18px; border-radius: 18px; }
  .documentModalHead h3 { font-size: 22px; }
}


/* user shop step6: order document request detail */
.subSectionTitle {
  margin: 4px 0 12px;
  color: var(--primary);
  font-size: 18px;
  font-weight: 1000;
  letter-spacing: -.03em;
}
.subSectionTitle.withGap { margin-top: 24px; }
.documentDetailTable + .subSectionTitle { margin-top: 24px; }
.documentDetailTable dd { line-height: 1.55; }

/* user main shop renewal */
.mainHero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 310px;
  gap: 22px;
  align-items: stretch;
  margin-bottom: 34px;
}
.mainBanner,
.mainHeroSide,
.mainHeroFallback {
  border: 1px solid var(--line);
  border-radius: 28px;
  background: #fff;
  box-shadow: var(--shadow);
  overflow: hidden;
}
.mainBanner {
  position: relative;
  min-height: 390px;
}
.mainBannerSlide {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity .28s ease;
  background: #111827;
}
.mainBannerSlide.is-active {
  opacity: 1;
  pointer-events: auto;
}
.mainBannerSlide a,
.mainBannerSlide img {
  display: block;
  width: 100%;
  height: 100%;
}
.mainBannerSlide img {
  object-fit: cover;
}
.mainBannerDots {
  position: absolute;
  left: 50%;
  bottom: 18px;
  z-index: 3;
  display: flex;
  gap: 8px;
  transform: translateX(-50%);
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(15,23,42,.34);
  backdrop-filter: blur(8px);
}
.mainBannerDots button {
  width: 10px;
  height: 10px;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.58);
  cursor: pointer;
  padding: 0;
}
.mainBannerDots button.is-active {
  width: 26px;
  background: #fff;
}
.mainHeroSide {
  padding: 34px 28px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background:
    radial-gradient(circle at 82% 18%, rgba(217,45,32,.22), transparent 28%),
    linear-gradient(145deg, #0f172a, #173d6b 55%, #111827);
  color: #fff;
}
.mainHeroSide strong {
  display: block;
  font-size: 42px;
  line-height: .98;
  letter-spacing: -.07em;
  margin-bottom: 16px;
}
.mainHeroSide p {
  margin: 0 0 22px;
  color: #dbeafe;
  line-height: 1.65;
  font-weight: 700;
}
.mainHeroSide .btn {
  background: #fff;
  color: var(--primary);
}
.mainHeroFallback {
  min-height: 390px;
}
.mainPromoGrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.mainPromoGrid.count1,
.mainPromoGrid.count2 {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.mainPromo {
  display: block;
  min-height: 150px;
  border: 1px solid var(--line);
  border-radius: 22px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 10px 26px rgba(15,23,42,.05);
}
.mainPromo img {
  width: 100%;
  height: 100%;
  min-height: 150px;
  object-fit: cover;
  display: block;
}
.mainSectionHead {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
}
.mainSectionHead.light h2,
.mainSectionHead.light span {
  color: #fff;
}
.mainDarkSection {
  margin-left: calc((100vw - min(1180px, calc(100vw - 32px))) / -2);
  margin-right: calc((100vw - min(1180px, calc(100vw - 32px))) / -2);
  padding: 44px calc((100vw - min(1180px, calc(100vw - 32px))) / 2);
  background: linear-gradient(135deg, #0f172a, #172554);
  border-radius: 34px;
}
.mainDarkSection .productCard {
  border-color: rgba(255,255,255,.14);
}
.mainProductCard .soldoutOverlay {
  position: absolute;
  inset: auto 14px 14px 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  border-radius: 12px;
  background: rgba(15,23,42,.82);
  color: #fff;
  font-size: 12px;
  letter-spacing: .12em;
}
.mainCategoryPills a {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #173d6b, #0f2d50);
}
.mainCategoryPills a::after {
  content: '';
  position: absolute;
  right: -18px;
  bottom: -28px;
  width: 70px;
  height: 70px;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
}
.mainBottomBanners {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.mainBottomBanners a,
.mainBottomBanners div {
  display: block;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: 0 10px 26px rgba(15,23,42,.05);
}
.mainBottomBanners img {
  display: block;
  width: 100%;
  min-height: 130px;
  object-fit: cover;
}
.mainSupportNotice span {
  display: block;
  color: #93c5fd;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .28em;
  margin-bottom: 10px;
}
@media (max-width: 1080px) {
  .mainHero {
    grid-template-columns: 1fr;
  }
  .mainHeroSide {
    min-height: 220px;
  }
}
@media (max-width: 760px) {
  .mainBanner {
    min-height: 260px;
  }
  .mainPromoGrid,
  .mainBottomBanners {
    grid-template-columns: 1fr;
  }
  .mainSectionHead {
    align-items: stretch;
    flex-direction: column;
  }
  .mainDarkSection {
    margin-left: 0;
    margin-right: 0;
    padding: 28px 18px;
    border-radius: 24px;
  }
}

/* 20260502 main banner correction */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}
.mainHero {
  grid-template-columns: 1fr;
}
.mainHeroSide {
  display: none !important;
}
.mainBanner {
  width: 100%;
  min-height: 390px;
}
.mainDarkSection {
  margin-left: 0;
  margin-right: 0;
  padding: 0;
  background: transparent;
  border-radius: 0;
}
.mainSectionHead.light h2,
.mainSectionHead.light span {
  color: inherit;
}
.mainDarkSection .productCard {
  border-color: var(--line);
}
@media (max-width: 760px) {
  .mainBanner {
    min-height: 240px;
  }
}

/* 20260502 product list/detail refinement */
.detailGallery {
  display: block;
  min-height: 0;
  padding: 22px;
}
.detailMainImage {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 480px;
  background: #fff;
  border-radius: 20px;
}
.detailMainImage img {
  max-width: 100%;
  max-height: 540px;
  object-fit: contain;
}
.detailThumbList {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}
.detailThumb {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  padding: 8px;
  cursor: pointer;
}
.detailThumb.is-active {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px rgba(23,61,107,.12);
}
.detailThumb img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.detailSpec dd {
  min-width: 0;
  word-break: break-word;
}
.productCard img {
  transition: transform .18s ease;
}
.productCard:hover img {
  transform: scale(1.03);
}
.productCard .soldoutOverlay + img,
.productThumb em + img {
  transform-origin: center;
}
@media (max-width: 900px) {
  .detailMainImage {
    min-height: 340px;
  }
  .detailThumbList {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (max-width: 560px) {
  .detailGallery {
    padding: 14px;
  }
  .detailMainImage {
    min-height: 260px;
  }
  .detailThumbList {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* user cart/order safety refinement */
.supportMiniNotice.dangerNotice {
  border-color: #fecaca;
  background: #fff1f2;
  color: #991b1b;
}

/* user shop step7: mypage order list final refinement */
.orderStatGrid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 18px;
}
.orderStatCard {
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15,23,42,.04);
  padding: 18px;
}
.orderStatCard span {
  display: block;
  color: var(--muted);
  font-size: 13px;
  font-weight: 900;
  margin-bottom: 8px;
}
.orderStatCard strong {
  display: block;
  color: var(--primary);
  font-size: 24px;
  line-height: 1.2;
}
.orderFilterForm {
  display: grid;
  grid-template-columns: 140px 150px 150px minmax(220px, 1fr) auto auto;
  gap: 10px;
  align-items: center;
}
.orderKeywordInput { min-width: 0; }
.orderTableWrap { margin-top: 4px; }
.orderTable .orderNumberCell,
.orderTable .orderTitleCell {
  max-width: 280px;
  word-break: break-all;
  overflow-wrap: anywhere;
}
.orderTable .orderTitleCell { text-align: left; }
.pointStatusBadge {
  background: #f1f5f9;
  color: #334155;
}
.orderStatusBadge { white-space: nowrap; }
.orderTable td small {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-weight: 800;
  line-height: 1.35;
}
.help {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
  margin-top: 10px;
}
@media (max-width: 1080px) {
  .orderStatGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .orderFilterForm { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .orderFilterForm .orderKeywordInput { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
  .orderStatGrid { grid-template-columns: 1fr; }
  .orderFilterForm { grid-template-columns: 1fr; }
  .orderTable { min-width: 0; }
  .orderTable thead { display: none; }
  .orderTable tr {
    display: grid;
    gap: 8px;
    border-bottom: 1px solid var(--line);
    padding: 14px 12px;
  }
  .orderTable tr:last-child { border-bottom: 0; }
  .orderTable td {
    display: grid;
    grid-template-columns: 98px minmax(0, 1fr);
    gap: 10px;
    border-bottom: 0;
    padding: 0;
    text-align: left;
    align-items: center;
  }
  .orderTable td::before {
    content: attr(data-label);
    color: var(--muted);
    font-weight: 900;
    font-size: 12px;
  }
}

/* user shop step8: association point checkout/use */
.pointStrong {
  color: var(--primary);
  font-size: 18px;
  font-weight: 1000;
}
.pointUseControl {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.pointUseControl .documentRequestStatus {
  flex-basis: 100%;
  margin-top: 4px;
}
.orderSummary dd[data-point-summary-use] {
  color: #dc2626;
  font-weight: 1000;
}
@media (max-width: 640px) {
  .pointUseControl .inputShort {
    width: 100%;
  }
}

/* user shop final regression cleanup: mobile overflow / legacy content safety */
html,
body,
.pageWrap,
.container {
  min-width: 0;
}
img,
video,
iframe,
embed,
object {
  max-width: 100%;
}
.container,
.shopHeaderInner,
.card,
.shopSection,
.productCard,
.orderLayout,
.cartLayout,
.formGrid,
.frontDetailTable,
.orderSummary,
.cartSummary {
  min-width: 0;
}
.input,
.select,
.textarea,
button,
.btn {
  max-width: 100%;
}
.productCard,
.productCard strong,
.cartTitle,
.orderItem strong,
.detailInfo h1,
.frontDetailTable dd,
.orderSummary dd,
.bankAccountPreview strong,
.contentHtml,
.supportNotice p {
  overflow-wrap: anywhere;
  word-break: keep-all;
}
.breakText,
.orderNumberValue,
.orderTable .orderNumberCell,
.orderTable .orderTitleCell {
  overflow-wrap: anywhere;
  word-break: break-all;
}
.contentHtml table,
.contentHtml img,
.contentHtml iframe {
  max-width: 100% !important;
}
.contentHtml table {
  width: 100% !important;
  display: block;
  overflow-x: auto;
  border-collapse: collapse;
}
.contentHtml iframe {
  display: block;
}
.mainBanner a,
.mainBottomBanners a,
.productThumb,
.detailMainImage,
.orderThumb,
.cartThumb {
  overflow: hidden;
}
.mainBanner img,
.mainBottomBanners img {
  width: 100%;
  max-width: 100%;
}
@media (max-width: 900px) {
  .shopHeaderInner {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .shopBrand,
  .shopNav {
    justify-content: center;
    text-align: center;
  }
  .headerSearch {
    order: 3;
  }
  .formGrid,
  .orderFormGrid {
    grid-template-columns: 1fr;
  }
  .formLabel {
    border-bottom: 0;
  }
  .inputShort {
    width: 100%;
  }
}
@media (max-width: 700px) {
  .container {
    width: min(100% - 20px, 1180px);
  }
  .card {
    padding: 18px;
    border-radius: 18px;
  }
  .shopPageHead,
  .mainSectionHead,
  .titleWithAction {
    align-items: stretch;
    flex-direction: column;
  }
  .btnRow,
  .radioInline,
  .pointUseControl,
  .bankAccountPreview {
    align-items: stretch;
    flex-direction: column;
  }
  .btnRow .btn,
  .pointUseControl .btn,
  .bankAccountPreview span,
  .radioInline label {
    width: 100%;
  }
  .orderItem {
    grid-template-columns: 72px minmax(0, 1fr);
  }
  .orderItemPrice {
    grid-column: 1 / -1;
    text-align: left;
  }
  .documentModal {
    padding: 10px;
  }
  .documentModalPanel {
    border-radius: 18px;
  }
}

/* 주문상세 주문취소 신청 */
.orderCancelForm { margin: 0; }
.orderItem.cancelSelectable { border-color: #fecaca; background: #fffafa; }
.orderCancelCheck { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; font-weight: 900; color: #b91c1c; }
.orderCancelCheck input { width: 18px; height: 18px; }
.cancelStateBadge { background: #fee2e2 !important; color: #991b1b !important; }
.orderCancelLocked { margin-top: 9px; font-size: 13px; font-weight: 800; color: #991b1b; }
.orderCancelBox { margin-top: 16px; border: 1px solid #fecaca; background: #fff7f7; border-radius: 18px; padding: 16px; }
.orderCancelBoxHead { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 8px; }
.orderCancelBoxHead strong { font-size: 17px; color: #991b1b; }
.orderCancelActions { display: flex; justify-content: flex-end; margin-top: 12px; }
.btnSmall { padding: 8px 12px; font-size: 13px; }

/* 주문상세 상품별 배송정보 표시 */
.orderItemDeliveryInfo{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:7px;font-size:12px;color:#334155}.orderItemDeliveryInfo span{display:inline-flex;align-items:center;border:1px solid #dbeafe;border-radius:999px;background:#eff6ff;padding:4px 8px;font-weight:800}.orderItemDeliveryInfo .textLink{font-size:12px;font-weight:900}

/* 주문취소 완료/부분취소 표시 보강 */
.orderCancelSummaryBox{width:min(1180px,calc(100% - 32px));margin:0 auto 18px;border:1px solid #fecaca;background:#fff7f7;border-radius:18px;padding:16px 18px;color:#7f1d1d}
.orderCancelSummaryBox strong{display:block;font-size:17px;margin-bottom:5px}
.orderCancelSummaryBox p{margin:0 0 8px;font-weight:800}
.orderCancelSummaryBox div{display:flex;gap:8px;flex-wrap:wrap}
.orderCancelSummaryBox span{display:inline-flex;border:1px solid #fecaca;background:#fff;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900}
.orderItemCancelInfo{margin-top:9px;border:1px solid #fecaca;background:#fff7f7;border-radius:12px;padding:10px 12px;color:#7f1d1d;font-size:13px;display:grid;gap:5px;line-height:1.45}
.orderItemCancelInfo strong{display:inline-block;min-width:92px;color:#991b1b}


/* MCRET exchange request patch */
.exchangeStateBadge,
.orderExchangeCheck,
.orderExchangeLocked { margin-left: 6px; }
.exchangeStateBadge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 3px 8px;
    background: #e8f1ff;
    color: #17406f;
    font-size: 12px;
    font-weight: 700;
}
.orderItemExchangeInfo {
    border-color: #bcd7ff;
    background: #f5f9ff;
}
.orderExchangeBox {
    border-color: #bcd7ff;
    background: #f7fbff;
}
.orderExchangeAdminCard .cancelAdminNotice,
.orderExchangeAdminCard .exchangeDeliveryCell {
    line-height: 1.6;
}
.exchangeInputGrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.exchangeProcessButtons {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
@media (max-width: 768px) {
    .exchangeInputGrid { grid-template-columns: 1fr; }
}

/* MCRET return request patch */
.returnStateBadge,
.orderReturnCheck,
.orderReturnLocked { margin-left: 6px; }
.returnStateBadge {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 3px 8px;
    background: #fff1e6;
    color: #9a3412;
    font-size: 12px;
    font-weight: 700;
}
.orderItemReturnInfo {
    border-color: #fed7aa;
    background: #fff7ed;
}
.orderReturnBox {
    border-color: #fed7aa;
    background: #fff7ed;
}
.returnRequestGuide,
.returnRequestCard {
    line-height: 1.6;
}

/* 20260503 user return request list layout restore */
.requestStateTabs,
.returnStateTabs{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:14px;
}
.requestStateTabs a,
.returnStateTabs a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:0 14px;
    border-radius:12px;
    background:#eef3f8;
    color:#0b1f3a;
    font-weight:800;
    text-decoration:none;
    white-space:nowrap;
}
.requestStateTabs a.active,
.returnStateTabs a.active{
    background:#183f70;
    color:#fff;
}
.requestFilterForm{
    display:grid;
    grid-template-columns:140px 140px minmax(220px,1fr) minmax(120px,220px) 90px;
    gap:10px;
    align-items:center;
}
.requestListCard{
    overflow:hidden;
}
.requestListCard .titleWithAction{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-bottom:18px;
}
.requestCardList{
    display:flex;
    flex-direction:column;
    gap:14px;
    width:100%;
}
.requestCard,
.returnRequestCard{
    display:grid;
    grid-template-columns:120px minmax(0,1fr);
    gap:18px;
    align-items:flex-start;
    width:100%;
    box-sizing:border-box;
    padding:18px;
    border:1px solid #dbe5ef;
    border-radius:18px;
    background:#fff;
    overflow:hidden;
    line-height:1.6;
}
.requestThumb{
    width:120px;
    height:120px;
    border-radius:16px;
    background:#f6f8fb;
    border:1px solid #e3eaf2;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:none;
}
.requestThumb img{
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:cover;
    display:block;
}
.requestBody{
    min-width:0;
    width:100%;
}
.requestTopLine{
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:flex-start;
    margin-bottom:8px;
}
.requestTopLine strong{
    font-size:17px;
    color:#071b39;
    line-height:1.45;
    word-break:keep-all;
    overflow-wrap:anywhere;
}
.requestBadge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    white-space:nowrap;
    border-radius:999px;
    padding:5px 10px;
    font-size:12px;
    font-weight:900;
    background:#eef5ff;
    color:#174a83;
    flex:none;
}
.requestBadge.done{background:#e8f7ef;color:#047857;}
.requestBadge.danger{background:#fff1f2;color:#be123c;}
.requestBadge.pending{background:#fff7ed;color:#9a3412;}
.requestMeta{
    display:flex;
    flex-wrap:wrap;
    gap:6px 12px;
    margin:0 0 12px;
    color:#41556f;
    font-size:13px;
}
.requestMeta span{
    min-width:0;
    overflow-wrap:anywhere;
}
.requestInfoGrid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.requestInfoGrid>div{
    border-radius:14px;
    background:#f8fafc;
    padding:12px;
    min-width:0;
    box-sizing:border-box;
}
.requestInfoGrid .wide{
    grid-column:1/-1;
}
.requestInfoGrid b{
    display:block;
    margin-bottom:6px;
    color:#071b39;
}
.requestInfoGrid p{
    margin:0;
    color:#0b1f3a;
    line-height:1.55;
    word-break:keep-all;
    overflow-wrap:anywhere;
}
.requestActions{
    margin-top:12px;
}
@media(max-width:900px){
    .requestFilterForm{grid-template-columns:1fr 1fr;}
    .requestFilterForm .orderKeywordInput{grid-column:1/-1;}
}
@media(max-width:768px){
    .requestFilterForm{grid-template-columns:1fr;}
    .requestFilterForm .orderKeywordInput{grid-column:auto;}
    .requestCard,.returnRequestCard{grid-template-columns:96px minmax(0,1fr);gap:14px;padding:14px;}
    .requestThumb{width:96px;height:96px;}
    .requestInfoGrid{grid-template-columns:1fr;}
    .requestTopLine{flex-direction:column;align-items:flex-start;}
}
@media(max-width:520px){
    .requestCard,.returnRequestCard{grid-template-columns:1fr;}
    .requestThumb{width:100%;height:180px;}
}



/* 20260503 user order item purchase confirm */
.orderConfirmItemBtn{
    margin-top:10px;
    min-height:34px;
    padding:8px 14px;
    border-radius:10px;
    font-weight:900;
    white-space:nowrap;
}
.orderConfirmDone{
    display:inline-flex;
    align-items:center;
    width:max-content;
    max-width:100%;
    min-height:30px;
    margin-top:10px;
    padding:5px 10px;
    border-radius:999px;
    background:#e8f7ef;
    color:#047857;
    font-size:13px;
    font-weight:900;
}
@media(max-width:700px){
    .orderConfirmItemBtn{
        width:100%;
        justify-content:center;
    }
    .orderConfirmDone{
        width:100%;
        justify-content:center;
    }
}

/* 20260503 order history card redesign + product review */
.orderCardFilterForm{grid-template-columns:150px 160px 160px minmax(240px,1fr) 110px 100px;}
.orderHistoryCard{overflow:hidden;}
.orderHistoryList{display:flex;flex-direction:column;gap:18px;}
.orderHistoryOrderCard{border:1px solid #dbe5ef;border-radius:22px;background:#fff;overflow:hidden;box-shadow:0 10px 28px rgba(15,23,42,.045);}
.orderHistoryHead{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:20px 22px;border-bottom:1px solid #edf2f7;background:#fbfdff;}
.orderHistoryHead strong{display:block;font-size:22px;line-height:1.25;color:#071b39;margin-bottom:6px;}
.orderHistoryHead span{display:block;color:#52647c;font-weight:800;font-size:13px;overflow-wrap:anywhere;}
.orderHistoryHead b{color:#071b39;}
.orderHistorySummary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-bottom:1px solid #edf2f7;}
.orderHistorySummary>div{padding:14px 18px;border-right:1px solid #edf2f7;min-width:0;}
.orderHistorySummary>div:last-child{border-right:0;}
.orderHistorySummary span{display:block;color:#64748b;font-size:12px;font-weight:900;margin-bottom:6px;}
.orderHistorySummary strong{display:block;color:#0b1f3a;font-size:15px;line-height:1.35;overflow-wrap:anywhere;}
.orderHistorySummary small{display:block;margin-top:5px;color:#64748b;font-weight:800;line-height:1.35;}
.orderHistoryItems{display:flex;flex-direction:column;}
.orderHistoryItem{display:grid;grid-template-columns:86px minmax(0,1fr) 160px;gap:16px;align-items:center;padding:18px 22px;border-bottom:1px solid #edf2f7;}
.orderHistoryItem:last-child{border-bottom:0;}
.orderHistoryItem.compact{grid-template-columns:1fr;}
.orderHistoryThumb{width:86px;height:86px;border-radius:16px;border:1px solid #e2e8f0;background:#f8fafc;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.orderHistoryThumb img{width:100%;height:100%;object-fit:cover;display:block;}
.orderHistoryItemBody{min-width:0;}
.orderHistoryGoodsTitle{display:block;color:#071b39;font-weight:1000;font-size:16px;line-height:1.45;text-decoration:none;word-break:keep-all;overflow-wrap:anywhere;}
.orderHistoryMeta{display:flex;flex-wrap:wrap;gap:6px 8px;margin-top:8px;}
.orderHistoryMeta span{display:inline-flex;align-items:center;min-height:26px;padding:4px 8px;border-radius:999px;background:#f1f5f9;color:#334155;font-size:12px;font-weight:800;line-height:1.25;}
.orderHistoryActions{display:flex;flex-direction:column;gap:8px;align-items:stretch;}
.orderHistoryActions .btn{width:100%;justify-content:center;white-space:nowrap;}
.reviewListFilter{display:grid;grid-template-columns:minmax(220px,1fr) 110px 100px;gap:10px;align-items:center;}
.reviewWriteCard{overflow:hidden;}
.reviewWriteGoods{display:grid;grid-template-columns:96px minmax(0,1fr);gap:18px;align-items:center;padding-bottom:20px;border-bottom:1px solid #edf2f7;margin-bottom:22px;}
.reviewWriteThumb{width:96px;height:96px;border-radius:18px;border:1px solid #dbe5ef;background:#f8fafc;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.reviewWriteThumb img{width:100%;height:100%;object-fit:cover;display:block;}
.reviewWriteGoods strong{display:block;font-size:18px;color:#071b39;margin-bottom:7px;overflow-wrap:anywhere;word-break:keep-all;}
.reviewWriteGoods p{margin:0 0 8px;color:#64748b;font-weight:800;line-height:1.45;}
.reviewWriteForm{display:grid;gap:18px;}
.reviewFormRow{display:grid;grid-template-columns:140px minmax(0,1fr);gap:18px;align-items:flex-start;}
.reviewFormRow>label{font-weight:1000;color:#0b1f3a;padding-top:10px;}
.reviewContentTextarea{min-height:220px;resize:vertical;}
.reviewRatingInput{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:2px;}
.reviewRatingInput input{position:absolute;opacity:0;pointer-events:none;}
.reviewRatingInput label{font-size:34px;line-height:1;color:#cbd5e1;cursor:pointer;transition:.15s ease;}
.reviewRatingInput input:checked~label,.reviewRatingInput label:hover,.reviewRatingInput label:hover~label{color:#f59e0b;}
.reviewExistingImages,.reviewImageList{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.reviewExistingImages span,.reviewImageList span{width:84px;height:84px;border-radius:14px;border:1px solid #e2e8f0;background:#f8fafc;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.reviewExistingImages img,.reviewImageList img{width:100%;height:100%;object-fit:cover;display:block;}
.reviewFormActions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px;}
.reviewManageList{display:flex;flex-direction:column;gap:14px;}
.reviewManageItem{display:grid;grid-template-columns:88px minmax(0,1fr) 120px;gap:16px;align-items:flex-start;padding:18px;border:1px solid #dbe5ef;border-radius:18px;background:#fff;}
.reviewManageThumb{width:88px;height:88px;border-radius:16px;border:1px solid #e2e8f0;background:#f8fafc;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.reviewManageThumb img{width:100%;height:100%;object-fit:cover;display:block;}
.reviewManageBody{min-width:0;}
.reviewManageTop{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:8px;}
.reviewManageTop strong{display:block;color:#071b39;font-size:16px;line-height:1.4;overflow-wrap:anywhere;word-break:keep-all;}
.reviewStars{color:#f59e0b;font-weight:1000;letter-spacing:1px;white-space:nowrap;}
.reviewSummaryText{display:block;margin:7px 0;color:#0b1f3a;font-weight:1000;line-height:1.45;}
.reviewContentText{margin:0;color:#334155;line-height:1.65;overflow-wrap:anywhere;word-break:keep-all;}
.reviewManageMeta{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:10px;color:#64748b;font-size:12px;font-weight:800;}
.reviewManageActions{display:flex;flex-direction:column;gap:8px;align-items:stretch;}
.reviewManageActions .btn,.reviewManageActions form{width:100%;}
.reviewManageActions button{width:100%;}
.reviewImageList.small span{width:58px;height:58px;border-radius:10px;}
.productReviewSection{overflow:hidden;}
.productReviewHead{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px;}
.productReviewHead .sectionTitle{margin-bottom:4px;}
.productReviewScore{min-width:160px;border:1px solid #dbeafe;border-radius:18px;background:#eff6ff;padding:14px;text-align:center;}
.productReviewScore strong{display:block;font-size:32px;color:#183f70;line-height:1.1;}
.productReviewScore span{display:block;color:#f59e0b;font-weight:1000;margin-top:4px;}
.productReviewScore small{display:block;color:#475569;font-weight:900;margin-top:4px;}
.reviewDistribution{display:grid;gap:7px;margin:0 0 22px;padding:14px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;}
.reviewDistribution div{display:grid;grid-template-columns:42px minmax(0,1fr) 48px;gap:10px;align-items:center;font-size:13px;font-weight:900;color:#475569;}
.reviewDistribution em{height:8px;border-radius:999px;background:#e2e8f0;overflow:hidden;}
.reviewDistribution i{display:block;height:100%;border-radius:999px;background:#f59e0b;}
.reviewDistribution b{text-align:right;color:#0b1f3a;}
.productReviewList{display:flex;flex-direction:column;gap:14px;}
.productReviewItem{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px;padding:18px;border:1px solid #dbe5ef;border-radius:18px;background:#fff;}
.productReviewWriter strong{display:block;color:#071b39;font-size:15px;margin-bottom:6px;}
.productReviewWriter span{display:block;color:#64748b;font-size:12px;font-weight:800;}
.productReviewBody{min-width:0;}
.productReviewBody p{margin:8px 0 0;color:#334155;line-height:1.7;word-break:keep-all;overflow-wrap:anywhere;}
.reviewLoadMoreWrap{display:flex;justify-content:center;align-items:center;min-height:42px;margin-top:18px;}
@media(max-width:1080px){.orderCardFilterForm{grid-template-columns:repeat(2,minmax(0,1fr));}.orderCardFilterForm .orderKeywordInput{grid-column:1/-1;}.orderHistorySummary{grid-template-columns:repeat(2,minmax(0,1fr));}.orderHistorySummary>div:nth-child(2n){border-right:0;}.orderHistoryItem{grid-template-columns:76px minmax(0,1fr);}.orderHistoryActions{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}.reviewFormRow{grid-template-columns:1fr;gap:8px;}.reviewFormRow>label{padding-top:0;}.productReviewItem{grid-template-columns:1fr;}}
@media(max-width:700px){.orderCardFilterForm,.reviewListFilter{grid-template-columns:1fr;}.orderHistoryHead{flex-direction:column;padding:18px;}.orderHistoryHead strong{font-size:19px;}.orderHistorySummary{grid-template-columns:1fr;}.orderHistorySummary>div{border-right:0;border-bottom:1px solid #edf2f7;}.orderHistorySummary>div:last-child{border-bottom:0;}.orderHistoryItem{grid-template-columns:70px minmax(0,1fr);padding:16px;gap:12px;}.orderHistoryThumb{width:70px;height:70px;border-radius:14px;}.orderHistoryActions{grid-template-columns:1fr;}.reviewWriteGoods{grid-template-columns:76px minmax(0,1fr);gap:14px;}.reviewWriteThumb{width:76px;height:76px;}.reviewManageItem{grid-template-columns:72px minmax(0,1fr);}.reviewManageThumb{width:72px;height:72px;}.reviewManageActions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;}.productReviewHead{flex-direction:column;}.productReviewScore{width:100%;}.reviewDistribution div{grid-template-columns:36px minmax(0,1fr) 40px;}.reviewImageList span{width:70px;height:70px;}}
@media(max-width:480px){.orderHistoryItem,.reviewManageItem,.productReviewItem{grid-template-columns:1fr;}.orderHistoryThumb,.reviewManageThumb{width:100%;height:180px;}.reviewWriteGoods{grid-template-columns:1fr;}.reviewWriteThumb{width:100%;height:180px;}.reviewRatingInput label{font-size:30px;}}
.orderReviewWriteBtn{margin-top:10px;width:max-content;max-width:100%;white-space:nowrap;}
@media(max-width:700px){.orderReviewWriteBtn{width:100%;justify-content:center;}}


/* 20260503 order detail item action final alignment */
.orderItemActionPanel{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px 10px;
    width:100%;
    margin-top:12px;
    padding-top:12px;
    border-top:1px dashed #e2e8f0;
}
.orderItemSelectActions,
.orderItemButtonActions,
.orderItemStatusMessages{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    min-width:0;
}
.orderItemSelectActions{
    flex:1 1 320px;
}
.orderItemButtonActions{
    flex:0 0 auto;
    margin-left:auto;
    justify-content:flex-end;
}
.orderItemStatusMessages{
    flex:1 1 100%;
}
.orderItemActionPanel .orderCancelCheck{
    min-height:36px;
    margin-top:0;
    padding:7px 11px;
    border:1px solid #fecaca;
    border-radius:999px;
    background:#fff7f7;
    color:#b91c1c;
    line-height:1.2;
    white-space:nowrap;
}
.orderItemActionPanel .orderExchangeCheck{
    border-color:#bfdbfe;
    background:#eff6ff;
    color:#1d4ed8;
    margin-left:0;
}
.orderItemActionPanel .orderReturnCheck{
    border-color:#fed7aa;
    background:#fff7ed;
    color:#c2410c;
}
.orderItemActionPanel .orderCancelCheck input{
    flex:none;
    margin:0;
}
.orderItemActionPanel .orderConfirmItemBtn,
.orderItemActionPanel .orderReviewWriteBtn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:36px;
    margin-top:0;
    padding:8px 13px;
    border-radius:10px;
    white-space:nowrap;
}
.orderItemActionPanel .orderReviewWriteBtn:not(.btnPrimary){
    background:#edf2f7;
    color:#173d6b;
    font-weight:900;
}
.orderItemActionPanel .orderCancelLocked,
.orderItemActionPanel .orderConfirmDone{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:30px;
    width:auto;
    max-width:100%;
    margin-top:0;
    padding:5px 10px;
    border-radius:999px;
    line-height:1.25;
    white-space:nowrap;
}
.orderItemActionPanel .orderCancelLocked{
    border:1px solid #fecaca;
    background:#fff7f7;
    color:#991b1b;
}
.orderItemActionPanel .orderExchangeLocked{
    border-color:#bfdbfe;
    background:#eff6ff;
    color:#1d4ed8;
    margin-left:0;
}
.orderItemActionPanel .orderReturnLocked{
    border-color:#fed7aa;
    background:#fff7ed;
    color:#c2410c;
}
.orderItemActionPanel .orderConfirmDone{
    background:#e8f7ef;
    color:#047857;
}
@media(max-width:860px){
    .orderItemActionPanel{
        align-items:stretch;
    }
    .orderItemSelectActions,
    .orderItemButtonActions,
    .orderItemStatusMessages{
        width:100%;
        flex:1 1 100%;
        margin-left:0;
        justify-content:flex-start;
    }
    .orderItemButtonActions{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .orderItemActionPanel .orderConfirmItemBtn,
    .orderItemActionPanel .orderReviewWriteBtn{
        width:100%;
    }
}
@media(max-width:560px){
    .orderItemSelectActions,
    .orderItemButtonActions,
    .orderItemStatusMessages{
        display:grid;
        grid-template-columns:1fr;
    }
    .orderItemActionPanel .orderCancelCheck,
    .orderItemActionPanel .orderCancelLocked,
    .orderItemActionPanel .orderConfirmDone{
        width:100%;
        justify-content:center;
        white-space:normal;
        text-align:center;
    }
}


/* 20260504 buy now and wishlist */
.detailActionButtons{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}
.btnBuyNow{
    background:#dc2626;
    color:#fff;
    border-color:#dc2626;
    font-weight:900;
}
.btnBuyNow:hover{background:#b91c1c;border-color:#b91c1c;color:#fff;}
.detailWishForm{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:10px;
}
.btnWish{
    background:#fff7ed;
    color:#c2410c;
    border:1px solid #fed7aa;
    font-weight:900;
}
.btnWish:hover,
.btnWish.is-active{
    background:#f97316;
    color:#fff;
    border-color:#f97316;
}
.wishlistPageCard{margin-top:18px;}
.wishlistGrid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}
.wishlistItem{
    display:grid;
    grid-template-columns:120px minmax(0,1fr);
    gap:16px;
    align-items:flex-start;
    padding:16px;
    border:1px solid #dbe5ef;
    border-radius:18px;
    background:#fff;
    box-sizing:border-box;
    overflow:hidden;
}
.wishlistItem.is-disabled{opacity:.72;}
.wishlistThumb{
    width:120px;
    height:120px;
    border-radius:16px;
    overflow:hidden;
    background:#f8fafc;
    border:1px solid #e3eaf2;
    display:flex;
    align-items:center;
    justify-content:center;
}
.wishlistThumb img{width:100%;height:100%;object-fit:cover;display:block;}
.wishlistBody{min-width:0;}
.wishlistMeta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
    margin-bottom:6px;
    color:#64748b;
    font-size:13px;
}
.wishlistMeta em{
    font-style:normal;
    color:#b91c1c;
    background:#fff1f2;
    border-radius:999px;
    padding:2px 8px;
    font-weight:900;
}
.wishlistBody h2{
    margin:0 0 7px;
    font-size:17px;
    line-height:1.45;
    color:#071b39;
    word-break:keep-all;
    overflow-wrap:anywhere;
}
.wishlistCategory{margin:0 0 8px;color:#64748b;font-size:13px;}
.wishlistPrice{display:block;margin-bottom:12px;color:#ef2b1d;font-size:18px;}
.wishlistActions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
}
.wishlistActions form{margin:0;}
.wishlistActions .btn{min-width:92px;}
@media(max-width:900px){
    .wishlistGrid{grid-template-columns:1fr;}
}
@media(max-width:640px){
    .detailActionButtons,
    .detailWishForm{grid-template-columns:1fr;}
    .wishlistItem{grid-template-columns:96px minmax(0,1fr);gap:12px;padding:14px;}
    .wishlistThumb{width:96px;height:96px;}
}
@media(max-width:480px){
    .wishlistItem{grid-template-columns:1fr;}
    .wishlistThumb{width:100%;height:180px;}
    .wishlistActions{display:grid;grid-template-columns:1fr;}
    .wishlistActions .btn{width:100%;}
}

/* 환불계좌 관리/주문취소 환불계좌 선택 */
.refundAccountGuideCard p{margin:6px 0 0;color:#475569;line-height:1.65}.refundAccountForm .formGrid.three{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.checkLine{display:flex;align-items:center;gap:8px;margin:12px 0;color:#334155;font-weight:700}.refundAccountList{display:grid;gap:12px}.refundAccountCard{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #dbe5f3;border-radius:18px;background:#fff;padding:16px}.refundAccountCard.primary{border-color:#153d70;background:#f4f8ff}.refundAccountCard strong{display:block;color:#0f172a}.refundAccountCard p{margin:6px 0;color:#475569}.refundAccountActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.refundAccountActions form{margin:0}.refundAccountSelectBox{margin:14px 0;padding:14px;border:1px solid #cfe0f5;border-radius:16px;background:#f8fbff}.refundAccountSelectBox strong{display:block;margin-bottom:4px;color:#102a4d}.refundAccountSelectBox .input{max-width:560px}.alertInline{margin:8px 0;padding:10px 12px;border-radius:12px;background:#eff6ff;color:#153d70;font-size:13px}.alertInline.danger{background:#fff1f2;color:#991b1b;border:1px solid #fecdd3}.orderCancelActions .btn[disabled]{opacity:.5;cursor:not-allowed}@media(max-width:800px){.refundAccountForm .formGrid.three{grid-template-columns:1fr}.refundAccountCard{align-items:flex-start;flex-direction:column}.refundAccountSelectBox .input{max-width:100%}}

/* 20260506 교환 발송 안내 보강 */
.exchangeGuideNotice{margin:10px 0 12px;border:1px solid #bfdbfe;background:#eff6ff;border-radius:12px;padding:11px 12px;color:#17406f;line-height:1.55}
.exchangeGuideNotice strong{display:block;font-weight:900;margin-bottom:3px}
.exchangeGuideNotice p{margin:0;font-size:13px;font-weight:700}
.orderItemExchangeInfo .exchangeGuideLine{margin-top:2px}
.orderItemExchangeInfo{grid-template-columns:1fr}

/* 20260506 주문상세 교환 진행정보 정리 */
.orderExchangeStatusCard{
    margin-top:12px;
    border:1px solid #c7dcff;
    background:#f8fbff;
    border-radius:16px;
    padding:14px;
    color:#102a4d;
}
.orderExchangeStatusHead{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:12px;
    padding-bottom:12px;
    border-bottom:1px solid #dbeafe;
    margin-bottom:12px;
}
.orderExchangeStatusHead span{
    display:block;
    color:#64748b;
    font-size:12px;
    font-weight:900;
    margin-bottom:3px;
}
.orderExchangeStatusHead strong{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:5px 10px;
    border-radius:999px;
    background:#eaf2ff;
    color:#153d70;
    font-size:13px;
    font-weight:900;
}
.orderExchangeStatusHead em{
    color:#64748b;
    font-style:normal;
    font-size:12px;
    font-weight:800;
    text-align:right;
}
.orderExchangeStatusGrid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
.orderExchangeStatusCell{
    min-width:0;
    border:1px solid #e2ecfb;
    border-radius:14px;
    background:#fff;
    padding:12px;
    box-sizing:border-box;
}
.orderExchangeStatusCell.wide{
    grid-column:1/-1;
}
.orderExchangeStatusCell b{
    display:block;
    margin-bottom:7px;
    color:#0f172a;
    font-size:13px;
    font-weight:900;
}
.orderExchangeStatusCell p{
    margin:0;
    color:#1e293b;
    font-size:13px;
    line-height:1.6;
    word-break:keep-all;
    overflow-wrap:anywhere;
}
.exchangeGuideRows{
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
}
.exchangeGuideRows li{
    min-width:0;
    border-radius:12px;
    background:#f8fafc;
    padding:9px 10px;
}
.exchangeGuideRows li.wide{
    grid-column:1/-1;
}
.exchangeGuideRows span{
    display:block;
    margin-bottom:3px;
    color:#64748b;
    font-size:12px;
    font-weight:900;
}
.exchangeGuideRows strong{
    display:block;
    color:#102a4d;
    font-size:13px;
    font-weight:900;
    line-height:1.55;
    overflow-wrap:anywhere;
}
@media(max-width:800px){
    .orderExchangeStatusHead{display:block;}
    .orderExchangeStatusHead em{display:block;text-align:left;margin-top:8px;}
    .orderExchangeStatusGrid,
    .exchangeGuideRows{grid-template-columns:1fr;}
}

/* 20260506 하단 회사정보/약관/구매안전서비스 보강 */
.siteFooter{
    border-top:1px solid var(--line);
    background:#111827;
    color:#e5e7eb;
    padding:32px 0 36px;
    text-align:center;
}
.footerLegalLinks{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    margin-bottom:18px;
    font-weight:800;
}
.footerLegalLinks a:hover,
.footerInfoBox a:hover{
    text-decoration:underline;
}
.footerInfoBox{
    max-width:1040px;
    font-size:14px;
    line-height:1.75;
    color:#f8fafc;
}
.footerInfoBox p{
    margin:4px 0;
}
.footerCompany{
    margin-bottom:8px!important;
}
.footerCompany strong{
    font-size:16px;
    color:#fff;
}
.footerCompany span{
    margin-left:10px;
    color:#cbd5e1;
}
.footerDivider{
    display:inline-block;
    margin:0 8px;
    color:#94a3b8;
}
.footerMiniBtn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:28px;
    margin-left:8px;
    padding:3px 9px;
    border:1px solid #cbd5e1;
    border-radius:6px;
    background:#fff;
    color:#111827!important;
    font-size:13px;
    font-weight:800;
    line-height:1.2;
    cursor:pointer;
    vertical-align:middle;
}
.footerMiniBtn:hover{
    text-decoration:none!important;
    background:#f1f5f9;
}
.footerCopyright{
    margin-top:8px!important;
    color:#cbd5e1;
}
.footerServiceModal[hidden]{display:none!important;}
.footerServiceModal{
    position:fixed;
    inset:0;
    z-index:9999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
}
.footerServiceBackdrop{
    position:absolute;
    inset:0;
    background:rgba(15,23,42,.72);
}
.footerServiceDialog{
    position:relative;
    width:min(760px,100%);
    max-height:90vh;
    overflow:auto;
    border-radius:18px;
    background:#fff;
    color:#111827;
    box-shadow:0 24px 70px rgba(0,0,0,.35);
    padding:24px;
    text-align:center;
}
.footerServiceDialog h2{
    margin:0 42px 18px;
    font-size:22px;
    letter-spacing:-.04em;
}
.footerServiceClose{
    position:absolute;
    right:14px;
    top:12px;
    width:34px;
    height:34px;
    border:0;
    border-radius:999px;
    background:#eef2f7;
    color:#111827;
    font-size:24px;
    line-height:1;
    cursor:pointer;
}
.footerServiceImageWrap{
    border:1px solid #e5e7eb;
    border-radius:12px;
    background:#f8fafc;
    padding:12px;
}
.footerServiceImageWrap img{
    display:block;
    max-width:100%;
    height:auto;
    margin:0 auto;
}
body.serviceModalOpen{overflow:hidden;}
.legalPageCard{
    padding:30px;
}
.legalContent{
    line-height:1.85;
    color:#1f2937;
    word-break:keep-all;
    overflow-wrap:anywhere;
}
.legalContent p{
    margin:0 0 12px;
}
@media(max-width:760px){
    .footerLegalLinks{flex-wrap:wrap;}
    .footerInfoBox{font-size:13px;text-align:left;}
    .footerCompany span,
    .footerDivider{display:block;margin:3px 0 0;}
    .footerMiniBtn{margin:6px 4px 0 0;}
    .footerServiceDialog{padding:18px;}
    .footerServiceDialog h2{font-size:18px;margin:0 38px 14px;}
    .legalPageCard{padding:20px;}
}

/* 20260507 상품문의 */
.productTabs a em{font-style:normal;margin-left:4px;color:#ef3b1f}.productQnaSection{scroll-margin-top:110px}.productQnaHead{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.productQnaHead .sectionTitle{margin-bottom:4px}.productQnaStats{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.productQnaStats span{display:inline-flex;align-items:center;gap:4px;border:1px solid #dbeafe;background:#eff6ff;color:#1e3a8a;border-radius:999px;padding:7px 11px;font-weight:900}.productQnaGuide{border:1px solid #e5e7eb;border-radius:16px;background:#f8fafc;padding:14px 18px;margin:12px 0 16px;color:#475569;line-height:1.7}.productQnaGuide ul{margin:0;padding-left:18px}.productQnaToolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:16px 0;flex-wrap:wrap}.productQnaSearch{display:flex;gap:8px;align-items:center;flex:1;min-width:280px}.productQnaSearch .input{max-width:520px}.productQnaForm{border:1px solid #bfdbfe;background:#f8fbff;border-radius:18px;padding:18px;margin:14px 0 18px}.productQnaForm label{display:block;font-weight:900;margin-bottom:12px}.productQnaForm label .input,.productQnaForm label .select,.productQnaForm label .textarea{margin-top:7px}.productQnaForm .textarea{min-height:140px}.formGrid.two{display:grid;grid-template-columns:180px minmax(0,1fr);gap:12px}.checkLine{display:flex!important;align-items:center;gap:7px}.formActions.left{justify-content:flex-start}.productQnaList{display:grid;gap:12px}.productQnaItem,.myQnaCard{border:1px solid #e5e7eb;background:#fff;border-radius:18px;padding:18px}.productQnaItem.is-answered{border-color:#bbf7d0;background:#fcfffd}.productQnaItem h3,.myQnaCard h3{margin:10px 0 12px;font-size:18px;letter-spacing:-.03em}.productQnaMeta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:#64748b;font-size:13px}.productQnaMeta span{display:inline-flex;align-items:center;min-height:26px;border-radius:999px;background:#f1f5f9;padding:4px 9px;font-weight:800}.qnaStatus{display:inline-flex!important;border-radius:999px!important;padding:5px 10px!important;font-weight:900!important}.qnaStatus.done{background:#dcfce7!important;color:#166534!important}.qnaStatus.wait{background:#fff7ed!important;color:#9a3412!important}.qnaQuestion,.qnaAnswer{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start;margin-top:10px}.qnaQuestion strong,.qnaAnswer strong{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:999px;font-weight:1000}.qnaQuestion strong{background:#eff6ff;color:#1e3a8a}.qnaAnswer strong{background:#ecfdf5;color:#047857}.qnaQuestion p,.qnaAnswer p{margin:0;line-height:1.75;word-break:keep-all;overflow-wrap:anywhere}.qnaAnswer{border-top:1px dashed #dbeafe;padding-top:12px}.qnaSecretBox{border:1px dashed #cbd5e1;background:#f8fafc;color:#64748b;border-radius:12px;padding:14px}.btnTiny{min-height:34px;padding:7px 11px;font-size:13px}.qnaDeleteForm{margin-top:12px}.myQnaGuideCard{line-height:1.7}.myQnaGuideCard strong{display:block;font-size:18px;margin-bottom:4px}.mypageSearchForm.productQnaMySearch{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:14px 0 18px}.mypageSearchForm.productQnaMySearch .select{width:160px}.mypageSearchForm.productQnaMySearch .input{max-width:360px}.productQnaMyList{display:grid;gap:12px}.myQnaCard{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px}.myQnaThumb{display:flex;align-items:center;justify-content:center;border:1px solid #e5e7eb;border-radius:16px;background:#f8fafc;aspect-ratio:1/1;padding:8px}.myQnaThumb img{max-width:100%;max-height:100%;object-fit:contain}.myQnaTop{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.myQnaGoods{font-size:17px;font-weight:1000;color:#111827}.myQnaBody{min-width:0}@media(max-width:760px){.productQnaHead{display:block}.productQnaStats{justify-content:flex-start;margin-top:10px}.productQnaToolbar{display:block}.productQnaSearch{margin-bottom:10px}.formGrid.two{grid-template-columns:1fr}.myQnaCard{grid-template-columns:84px minmax(0,1fr);padding:14px}.myQnaTop{display:block}.productQnaSearch .input{max-width:none}.mypageSearchForm.productQnaMySearch .input{max-width:none;flex:1 1 100%}}
