
@font-face {
  font-family: 'SUIT';
  src: url('/fonts/SUIT-Variable.woff2') format('woff2-variations');
  font-weight: 100 900;
  font-display: swap;
}
:root {
  --v2-ink: #1F2F52;        /* 국산24 로고 네이비(라운드 31) */
  --v2-ink-soft: #172441;
  --v2-ink-bg: #EAF0F8;
  --v2-red: #C8102E;
  --v2-bg: #F4F5F7;
  --v2-surface: #FFFFFF;
  --v2-line: #E5E7EB;
  --v2-text: #1A1A1A;
  --v2-muted: #636B78;
  --v2-muted2: #9CA3AF;
  --v2-sale: #D12727;
  --v2-star: #C77F00;
  --v2-blue: #2A4B9B;  --v2-blue-bg: #EEF4FF;
  --v2-green: #196A45; --v2-green-bg: #F0F7F3;
  --v2-font: 'SUIT', 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif;
}
html { scrollbar-gutter: stable; }
.v2 { margin: 0; background: var(--v2-bg); color: var(--v2-text); font-family: var(--v2-font); font-size: 14px; }
/* round102 LS1: shared chrome (header, category row, footer) must render identically whether or not a page also loads app.css
   (cart, my pages, profile do; home, list, detail do not) - app.css sets * { box-sizing: border-box } and body line-height 1.55 */
.v2 > header, .v2 > header *, .v2 > header *::before, .v2 > header *::after,
.v2 > footer, .v2 > footer *, .v2 > footer *::before, .v2 > footer *::after { box-sizing: content-box; }
.v2 > header, .v2 > footer { line-height: normal; }
.v2 a { color: var(--v2-text); text-decoration: none; }
.v2 a:hover { color: #000000; text-decoration: underline; }
.v2 .num { font-variant-numeric: tabular-nums; letter-spacing: -0.01em; }
.v2 .wrap { width: 1280px; margin: 0 auto; }
.v2 .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }
.v2 .utilbar { background: var(--v2-surface); border-bottom: 1px solid var(--v2-line); }
.v2 .utilbar .wrap { display: flex; justify-content: flex-end; gap: 20px; padding: 8px 0; font-size: 12px; }
.v2 .utilbar a { color: var(--v2-muted); white-space: nowrap; flex-shrink: 0; }
.v2 .utilbar a.strong { color: var(--v2-text); font-weight: 700; }
.v2 .utilbar .util-logout { display: inline; margin: 0; flex-shrink: 0; }
.v2 .utilbar .util-logout button { background: none; border: 0; padding: 0; font: inherit; font-size: 12px; color: var(--v2-muted); cursor: pointer; white-space: nowrap; }
.v2 .sidebox .sb-hello { margin: 0 0 4px; font-size: 13px; font-weight: 700; }
.v2 .hd { background: var(--v2-surface); border-bottom: 1px solid var(--v2-line); }
.v2 .hd .wrap { display: flex; align-items: center; gap: 32px; padding: 16px 0; }
.v2 .logo { display: inline-flex; align-items: center; gap: 10px; font-size: 28px; font-weight: 800; color: #2B3038; letter-spacing: -0.02em; }
.v2 .logo:hover { color: #2B3038; }
.v2 .logo img { height: 44px; width: auto; display: block; }
.v2 .logo:hover { color: var(--v2-ink); text-decoration: none; }
.v2 .searchbox { flex-grow: 1; display: flex; align-items: center; height: 48px; background: #FFFFFF; border: 2px solid var(--v2-ink); border-radius: 6px; overflow: hidden; }
.v2 .searchbox input { flex-grow: 1; min-width: 0; width: auto; height: 46px; margin: 0; border: 0; border-radius: 0; padding: 0 18px; background: transparent; box-shadow: none; transition: none; font-size: 15px; line-height: normal; font-family: inherit; color: var(--v2-text); }   /* round102 LS1: every property pinned - app.css form rules must not leak in */
.v2 .searchbox button { box-sizing: border-box; flex: none; width: 68px; height: 48px; margin: 0; padding: 0; border: 0; border-radius: 0; font: inherit; color: #FFFFFF; background: var(--v2-ink); display: flex; align-items: center; justify-content: center; cursor: pointer; }
.v2 .hd-icons { display: flex; gap: 22px; }
.v2 .hd-icon { display: flex; flex-direction: column; align-items: center; gap: 3px; color: var(--v2-ink); font-size: 11px; }
.v2 .hd-icon:hover { color: var(--v2-ink); }
.v2 .gnb { background: var(--v2-surface); border-bottom: 1px solid var(--v2-line); }
.v2 .gnb .wrap { display: flex; align-items: center; gap: 18px; height: 50px; font-size: 14px; font-weight: 700; }
.v2 .gnb-scroll { display: flex; align-items: center; flex: 1 1 auto; min-width: 0; height: 100%; position: relative; }
.v2 .gnb-links { display: flex; align-items: center; gap: 18px; flex: 1 1 auto; min-width: 0; height: 100%; overflow-x: auto; scrollbar-width: none; scroll-behavior: smooth; }
/* F3: 띠 양끝 화살표 — 넘칠 때만(JS hidden 토글), 호버 시 연속 스크롤 */
.v2 .gnb-arrow { flex-shrink: 0; width: 26px; height: 26px; border: 1px solid var(--v2-line); border-radius: 999px; background: var(--v2-surface); color: var(--v2-ink); display: flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; z-index: 1; }
.v2 .gnb-arrow svg { width: 14px; height: 14px; }
.v2 .gnb-arrow.prev { margin-right: 6px; box-shadow: 8px 0 8px -6px rgba(0,0,0,.12); }
.v2 .gnb-arrow.next { margin-left: 6px; box-shadow: -8px 0 8px -6px rgba(0,0,0,.12); }
.v2 .gnb-arrow:hover { background: var(--v2-ink); color: #FFFFFF; }
.v2 .gnb-links::-webkit-scrollbar { display: none; }
.v2 .gnb .all { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.v2 .gnb .sep { width: 1px; height: 18px; background: var(--v2-line); flex-shrink: 0; }
.v2 .gnb a { white-space: nowrap; }
.v2 .gnb a.hot { color: var(--v2-sale); }
.v2 .gnb a.on { border-bottom: 2px solid var(--v2-ink); padding-bottom: 4px; }
.v2 .gnb-links a:hover { text-decoration: none; border-bottom: 2px solid var(--v2-ink); padding-bottom: 4px; }
.v2 .all-wrap { position: relative; height: 100%; display: flex; align-items: center; flex-shrink: 0; }
.v2 .all-wrap:hover .all, .v2 .all-wrap:focus-within .all { text-decoration: none; }
.v2 .all-wrap:hover .chev, .v2 .all-wrap:focus-within .chev { transform: rotate(180deg); }
.v2 .cat-panel { display: none; position: absolute; top: 100%; left: 0; z-index: 60; width: 660px; background: var(--v2-surface); border: 1px solid var(--v2-line); border-top: 2px solid var(--v2-ink); padding: 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px; }
.v2 .all-wrap:hover .cat-panel, .v2 .all-wrap:focus-within .cat-panel { display: grid; }
.v2 .cat-panel a { display: flex; align-items: center; gap: 10px; padding: 9px 12px; border-radius: 4px; font-weight: 600; font-size: 14px; }
.v2 .cat-panel a:hover { background: #F3F4F6; text-decoration: none; }
.v2 .cat-panel .cat-ic { width: 20px; height: 20px; color: var(--v2-muted); flex-shrink: 0; }
.v2 .cat-panel a:hover .cat-ic { color: var(--v2-ink); }
.v2 .cat-panel .cp-all { grid-column: 1 / -1; border-top: 1px solid var(--v2-line); border-radius: 0; margin-top: 6px; padding-top: 12px; color: var(--v2-muted); }
.v2 .sec { display: flex; flex-direction: column; gap: 16px; padding: 32px 0 8px 0; }
.v2 .sec-h { display: flex; align-items: baseline; justify-content: space-between; }
.v2 .sec-t { font-size: 21px; font-weight: 800; letter-spacing: -0.01em; }
.v2 .more { font-size: 13px; color: var(--v2-muted); }
.v2 .grid4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.v2 .grid5 { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.v2 .card { background: var(--v2-surface); border: 1px solid var(--v2-line); border-radius: 6px; overflow: hidden; display: flex; flex-direction: column; position: relative; }
.v2 .card:hover { border-color: var(--v2-muted2); text-decoration: none; }
.v2 .thumb { height: 220px; background: #EFF1F0; display: flex; align-items: center; justify-content: center; color: var(--v2-muted2); font-size: 12px; overflow: hidden; }
.v2 .thumb img { width: 100%; height: 100%; object-fit: cover; }
.v2 .cbody { display: flex; flex-direction: column; gap: 5px; padding: 12px; }
.v2 .store-name { font-size: 12px; color: var(--v2-muted); }
.v2 .pname { font-size: 14px; line-height: 1.45; max-height: 40px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.v2 .prow { display: flex; align-items: baseline; gap: 6px; flex-wrap: wrap; }
.v2 .sale-rate { color: var(--v2-sale); font-weight: 800; font-size: 16px; }
.v2 .price { font-weight: 800; font-size: 17px; color: var(--v2-text); }
.v2 .won { font-size: 13px; font-weight: 500; }
.v2 .org-price { color: var(--v2-muted); font-size: 12px; text-decoration: line-through; }
.v2 .card .wish-mark { position: absolute; top: 10px; right: 10px; color: var(--v2-sale); font-size: 17px; z-index: 2; }
.v2 .empty .pop-terms { justify-content: center; margin-top: 10px; }
.v2 .pop-terms { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.v2 .pop-terms .pt-label { font-size: 13px; font-weight: 800; color: var(--v2-muted); margin-right: 4px; }
.v2 .pop-terms a { background: var(--v2-surface); border: 1px solid var(--v2-line); border-radius: 999px; padding: 6px 14px; font-size: 13px; }
.v2 .pop-terms a:hover { border-color: var(--v2-muted2); text-decoration: none; }
.v2 .rate { color: var(--v2-star); font-weight: 800; font-size: 13px; }
.v2 a.rate:hover { text-decoration: none; }
.v2 .rate-cnt { color: var(--v2-muted); font-size: 12px; }
.v2 .review { border-top: 1px solid var(--v2-line); padding: 12px 0 4px 0; }
.v2 .review-h { font-size: 13px; color: var(--v2-muted); display: flex; gap: 6px; align-items: baseline; }
.v2 .review-c { line-height: 1.7; margin-top: 4px; }
.v2 .muted { color: var(--v2-muted); }
.v2 .bdg { display: inline-flex; align-items: center; font-size: 11px; font-weight: 700; padding: 3px 6px; border-radius: 3px; white-space: nowrap; flex: none; }   /* round91: 배지는 항상 한 줄 */
.v2 .b-vrf { background: var(--v2-green); color: #FFFFFF; }   /* 라운드 88: 국산 검증 = 진한 초록 바탕 + 흰 글자(어디서나 같은 모양) */
.v2 .b-eco { background: var(--v2-green-bg); color: var(--v2-green); }
.v2 .b-soldout { background: #FDF1F0; color: var(--v2-sale); }
.v2 .b-region { background: #F3F4F6; color: #374151; }
.v2 .b-event { background: var(--v2-ink); color: #FFFFFF; }
.v2 .btn { display: inline-flex; align-items: center; justify-content: center; height: 44px; padding: 0 18px; border: 1px solid var(--v2-line); border-radius: 4px; font-size: 14px; font-weight: 700; background: var(--v2-surface); cursor: pointer; font-family: inherit; }
.v2 .btn:hover { text-decoration: none; border-color: var(--v2-muted2); }
.v2 .btn-ink { background: var(--v2-ink); color: #FFFFFF; border-color: var(--v2-ink); }
.v2 .btn-ink:hover { color: #FFFFFF; background: #000000; }
.v2 .btn-lg { height: 52px; padding: 0 26px; font-size: 16px; }
.v2 .banner-ink { background: var(--v2-ink); border-radius: 6px; color: #FFFFFF; }
.v2 .banner-ink .sub { color: #B9BCC1; }
.v2 .banner-ink .accent { color: #FFD43B; }
.v2 .btn-sm { height: 26px; padding: 0 10px; font-size: 12px; font-weight: 500; }
.v2 .content { padding-top: 24px; padding-bottom: 8px; }
.v2 .hd-icon { position: relative; }
.v2 .cart-badge { position: absolute; top: -6px; right: -2px; background: var(--v2-sale); color: #FFFFFF; border-radius: 999px; min-width: 18px; height: 18px; padding: 0 5px; font-size: 11px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; }
.v2 .banner-carted { background: var(--v2-green-bg); color: var(--v2-green); border-radius: 4px; padding: 10px 14px; font-size: 13px; font-weight: 700; display: flex; gap: 12px; }
.v2 .banner-carted a { color: var(--v2-green); text-decoration: underline; }
.v2 .dcart-form { display: flex; gap: 8px; }
.v2 .dcart-form input[type="number"] { width: 76px; border: 1px solid var(--v2-line); border-radius: 4px; padding: 0 10px; font-family: inherit; font-size: 14px; }
.v2 .dcart-form .btn-lg { flex-grow: 1; width: auto; }
.v2 .cart-group { background: var(--v2-surface); border: 1px solid var(--v2-line); border-radius: 6px; padding: 18px 20px; display: flex; flex-direction: column; gap: 12px; margin-bottom: 14px; }
.v2 .cart-group .g-title { font-size: 15px; font-weight: 800; }
.v2 .cart-sub { display: flex; justify-content: flex-end; align-items: center; gap: 14px; }
.v2 .cart-sub .sum { font-size: 18px; font-weight: 800; }
.v2 .empty { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 64px 0; color: var(--v2-muted); }
.v2 .empty .empty-t { font-size: 17px; font-weight: 800; color: var(--v2-text); }
.v2 .sec > section { display: flex; flex-direction: column; gap: 12px; }
.v2 .home-top { display: flex; gap: 14px; align-items: stretch; }
.v2 .banner-main { flex-grow: 1; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 12px; padding: 40px 44px; min-height: 180px; position: relative; overflow: hidden; }
.v2 .banner-img { flex-grow: 1; display: block; border-radius: 6px; overflow: hidden; min-height: 180px; }
.v2 .banner-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.v2 .banner-deco { position: absolute; right: 40px; top: 50%; transform: translateY(-50%); width: 150px; height: 150px; pointer-events: none; }
.v2 .banner-main .sub { font-size: 14px; }
.v2 .banner-main .t { font-size: 27px; font-weight: 800; color: #FFFFFF; line-height: 1.35; letter-spacing: -0.01em; }
.v2 .sidebox { width: 260px; flex-shrink: 0; background: var(--v2-surface); border: 1px solid var(--v2-line); border-radius: 6px; padding: 18px; display: flex; flex-direction: column; gap: 8px; }
.v2 .sb-t { font-size: 14px; font-weight: 800; }
.v2 .cat-tiles { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 10px; }
/* round53 BS1·BS4 → 라운드 56 F1·F3·F4: 배너 슬라이드 — 그리드 스택(높이 = 가장 큰 슬라이드의 자연 높이 = 초창기 배너), 컨트롤 우하단 상시 */
.v2 .hero { position: relative; flex-grow: 1; min-width: 0; display: grid; min-height: 200px; border-radius: 6px; overflow: hidden; background: var(--v2-ink); }
.v2 .hero .hero-slide { grid-area: 1 / 1; opacity: 0; transition: opacity .45s ease; pointer-events: none; }
.v2 .hero .hero-slide.on { opacity: 1; pointer-events: auto; }
.v2 .hero .banner-img { position: relative; border-radius: 0; min-height: 0; }
/* 이미지는 높이를 정하지 않는다(세로 긴 이미지가 레이아웃을 키우지 않게) — 높이 = 텍스트 슬라이드 자연 높이 또는 min-height·sidebox */
.v2 .hero .banner-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
/* 라운드 61 지시 1: 이미지 배너 캡션(부제·제목·버튼) — 하단 그라데이션 위 */
.v2 .hero .banner-img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 35%, rgba(0,0,0,.55) 100%); pointer-events: none; }
/* round88 H9·H10: 통일 배너(.bnr) — 이미지든 텍스트든 같은 상자·같은 캡션. 위치 = pos-{세로 t/m/b}{가로 l/c/r} */
.v2 .hero .bnr { position: relative; display: flex; padding: 36px 44px; box-sizing: border-box; overflow: hidden; border-radius: 0; }
.v2 .hero .bnr .bnr-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.v2 .hero .bnr.ov::after { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, .38); pointer-events: none; }
.v2 .hero .bnr .bnr-cap { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 10px; max-width: 70%; }
.v2 .hero .bnr .bnr-cap p { margin: 0; }
.v2 .hero .bnr .bnr-stage { position: absolute; inset: 28px 44px 40px; z-index: 1; }
.v2 .hero .bnr .bnr-free { position: absolute; margin: 0; max-width: 80%; }
.v2 .hero .bnr .bnr-free p { margin: 0 0 8px; white-space: nowrap; }
.v2 .hero .bnr.has-img .bnr-free { text-shadow: 0 1px 3px rgba(0, 0, 0, .45); } .v2 .hero .bnr a.bnr-free { text-shadow: none; white-space: nowrap; }
@media (max-width: 720px) { .v2 .hero .bnr .bnr-stage { inset: 16px 16px 40px; } .v2 .hero .bnr .bnr-free p { white-space: normal; } }
.v2 .hero .bnr .sub { font-size: 14px; color: #D5D8DD; }
.v2 .hero .bnr .t { font-size: 27px; font-weight: 800; color: #FFFFFF; line-height: 1.35; letter-spacing: -0.01em; }
.v2 .hero .bnr.has-img .bnr-cap { text-shadow: 0 1px 3px rgba(0, 0, 0, .45); }
.v2 .hero .bnr.has-img .bnr-cap .btn { text-shadow: none; }
.v2 .hero .bnr.tone-dark .sub { color: #3A4150; } .v2 .hero .bnr.tone-dark .t { color: #14181F; } .v2 .hero .bnr.tone-dark .bnr-cap { text-shadow: none; }
.v2 .hero .bnr.pos-tl, .v2 .hero .bnr.pos-tc, .v2 .hero .bnr.pos-tr { align-items: flex-start; }
.v2 .hero .bnr.pos-ml, .v2 .hero .bnr.pos-mc, .v2 .hero .bnr.pos-mr { align-items: center; }
.v2 .hero .bnr.pos-bl, .v2 .hero .bnr.pos-bc, .v2 .hero .bnr.pos-br { align-items: flex-end; padding-bottom: 44px; }
.v2 .hero .bnr.pos-tl, .v2 .hero .bnr.pos-ml, .v2 .hero .bnr.pos-bl { justify-content: flex-start; }
.v2 .hero .bnr.pos-tc, .v2 .hero .bnr.pos-mc, .v2 .hero .bnr.pos-bc { justify-content: center; }
.v2 .hero .bnr.pos-tr, .v2 .hero .bnr.pos-mr, .v2 .hero .bnr.pos-br { justify-content: flex-end; }
.v2 .hero .bnr.pos-tl .bnr-cap, .v2 .hero .bnr.pos-ml .bnr-cap, .v2 .hero .bnr.pos-bl .bnr-cap { align-items: flex-start; text-align: left; }
.v2 .hero .bnr.pos-tc .bnr-cap, .v2 .hero .bnr.pos-mc .bnr-cap, .v2 .hero .bnr.pos-bc .bnr-cap { align-items: center; text-align: center; }
.v2 .hero .bnr.pos-tr .bnr-cap, .v2 .hero .bnr.pos-mr .bnr-cap, .v2 .hero .bnr.pos-br .bnr-cap { align-items: flex-end; text-align: right; }
@media (max-width: 720px) { .v2 .hero .bnr { padding: 22px 18px 40px; } .v2 .hero .bnr .t { font-size: 19px; } .v2 .hero .bnr .bnr-cap { max-width: 100%; } }
.v2 .home-split.one { grid-template-columns: minmax(0, 1fr); }
.v2 .home-split.one .split-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.v2 .home-split > section { gap: 12px; }
.v2 .hero-cap { position: absolute; left: 44px; right: 44px; bottom: 26px; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; color: #FFFFFF; text-shadow: 0 1px 3px rgba(0,0,0,.5); }
.v2 .hero-cap .sub { font-size: 14px; color: #E5E7EB; }
.v2 .hero-cap .t { font-size: 26px; font-weight: 800; line-height: 1.3; letter-spacing: -0.01em; }
.v2 .hero-cap .btn { text-shadow: none; }
/* 라운드 61 지시 3: 5장 가로 트랙 */
/* 라운드 88 H8: 홈 두 번째 줄 = 상품 카드 절반 + 국내산 확인 업체 절반 */
.v2 .home-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; align-items: stretch; }
.v2 .home-split > section { min-width: 0; display: flex; flex-direction: column; }
.v2 .split-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.v2 .split-grid .card .thumb { height: 150px; }
.v2 .certbox { flex: 1; background: var(--v2-surface); border: 1px solid var(--v2-line); border-radius: 6px; padding: 6px 16px; display: flex; flex-direction: column; }
.v2 .certbox a.certrow { display: flex; align-items: center; gap: 12px; padding: 11px 0; border-top: 1px solid var(--v2-line); color: var(--v2-text); }
.v2 .certbox a.certrow:first-child { border-top: 0; }
.v2 .certbox a.certrow:hover { text-decoration: none; color: var(--v2-ink); }
.v2 .certbox .cert-ic { flex: none; width: 34px; height: 34px; border-radius: 999px; background: var(--v2-green-bg); color: var(--v2-green); display: inline-flex; align-items: center; justify-content: center; }
.v2 .certbox .cert-ic svg { width: 18px; height: 18px; }
.v2 .certbox .cert-t { min-width: 0; flex: 1; }
.v2 .certbox .cert-n { font-weight: 800; font-size: 14px; display: block; }
.v2 .certbox .cert-a { font-size: 12px; color: var(--v2-muted); display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v2 .certbox .cert-r { flex: none; font-size: 12px; color: var(--v2-muted); }
.v2 .certbox .cert-empty { margin: auto; padding: 24px 0; text-align: center; color: var(--v2-muted); font-size: 13px; line-height: 2.4; }
@media (max-width: 900px) { .v2 .home-split { grid-template-columns: 1fr; } .v2 .split-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.v2 .hrow { position: relative; }
.v2 .hrow-track { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 2px; }
.v2 .hrow-track::-webkit-scrollbar { display: none; }
.v2 .hrow-track > .card { flex: 0 0 calc((100% - 56px) / 5); scroll-snap-align: start; }
.v2 .hrow-track > .card .thumb { height: 170px; }
.v2 .hrow-nav { position: absolute; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; border-radius: 999px; border: 1px solid var(--v2-line); background: var(--v2-surface); color: var(--v2-ink); display: none; align-items: center; justify-content: center; cursor: pointer; z-index: 2; box-shadow: 0 2px 8px rgba(0,0,0,.12); padding: 0; }
.v2 .hrow.has-more .hrow-nav { display: flex; }
.v2 .hrow-nav svg { width: 18px; height: 18px; }
.v2 .hrow-nav.prev { left: -18px; } .v2 .hrow-nav.next { right: -18px; }
.v2 .hrow-nav:disabled { opacity: .35; cursor: default; }
.v2 .hero-ctl { position: absolute; right: 12px; bottom: 10px; display: flex; align-items: center; gap: 8px; z-index: 2; padding: 4px 6px; border-radius: 999px; background: rgba(17,17,17,.45); }
.v2 .hero-nav { width: 24px; height: 24px; border-radius: 999px; border: 0; background: rgba(255,255,255,.9); color: var(--v2-ink); display: flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; }
.v2 .hero-nav svg { width: 14px; height: 14px; }
.v2 .hero-nav:hover { background: #FFFFFF; }
.v2 .hero-nav:focus-visible { outline: 2px solid #FFD43B; outline-offset: 2px; }
.v2 .hero-dots { display: flex; align-items: center; gap: 6px; }
.v2 .hero-dots button { width: 8px; height: 8px; padding: 0; border-radius: 999px; border: 0; background: rgba(255,255,255,.5); cursor: pointer; }
.v2 .hero-dots button.on { background: #FFFFFF; width: 18px; }
.v2 .hero-dots button:focus-visible { outline: 2px solid #FFD43B; outline-offset: 2px; }
/* round53 CP1·CP3: 빵부스러기·카드 경로 */
.v2 .crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; font-size: 13px; color: var(--v2-muted); margin: -8px 0 12px; }
.v2 .crumbs a { color: var(--v2-muted); }
.v2 .crumbs a.cur { color: var(--v2-ink); font-weight: 800; }
.v2 .crumbs .sep { color: var(--v2-muted2); }
.v2 .pcat { font-size: 11px; color: var(--v2-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v2 .fc-chain { font-size: 12px; color: var(--v2-muted); line-height: 1.5; }
.v2 .fc-chain a.cur { color: var(--v2-ink); font-weight: 800; }
.v2 .cat-tile { background: var(--v2-surface); border: 1px solid var(--v2-line); border-radius: 6px; padding: 14px 6px 12px 6px; text-align: center; font-size: 13px; font-weight: 700; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.v2 .cat-tile:hover { border-color: var(--v2-muted2); text-decoration: none; }
.v2 .cat-tile-ic { width: 44px; height: 44px; border-radius: 999px; background: var(--v2-ink-bg); color: var(--v2-ink); display: flex; align-items: center; justify-content: center; color: var(--v2-ink-soft); }
.v2 .cat-tile-ic .cat-ic { width: 22px; height: 22px; }
.v2 .cat-tile:hover .cat-tile-ic { background: var(--v2-ink); color: #FFFFFF; }
/* my-page menu: same card size and position on every my page, whatever the page container width is (content 680 / content-wide 1100 / wrap 1280) */
.v2 .my-tiles { display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: 8px; width: min(1036px, calc(100vw - 48px)); position: relative; left: 50%; transform: translateX(-50%); margin: 0 0 20px; }
.v2 .my-tiles .cat-tile { padding: 14px 6px 12px; font-size: 13px; line-height: 1.3; word-break: keep-all; min-width: 0; min-height: 104px; box-sizing: border-box; }
/* wishlist / restock pages use main.wrap.sec (32px top padding, no app.css reset): align the menu with the other my pages (24px) */
.v2 main.sec > section:first-child > .my-tiles:first-child, .v2 main.sec > .my-tiles:first-child { margin-top: -8px; }
.v2 .my-tiles .cat-tile-ic { width: 44px; height: 44px; }
.v2 .my-tiles svg { width: 22px; height: 22px; }
.v2 .my-tiles .cat-tile.on { border-color: var(--v2-ink); }
.v2 .my-tiles .cat-tile.on .cat-tile-ic { background: var(--v2-ink); color: #FFFFFF; }
.v2 .strip2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.v2 .strip { background: var(--v2-surface); border: 1px solid var(--v2-line); border-radius: 6px; padding: 20px 22px; display: flex; flex-direction: column; gap: 6px; }
.v2 .strip-t { font-weight: 800; font-size: 15px; }
.v2 .strip-d { font-size: 13px; color: var(--v2-muted); line-height: 1.6; }
.v2 .listwrap { display: flex; gap: 24px; align-items: flex-start; }
.v2 .listwrap.no-side .grid4 { grid-template-columns: repeat(5, minmax(0, 1fr)); } /* 라운드 63 지시 5: 필터 없는 목록은 5열 */
.v2 .sidebar { width: 170px; flex-shrink: 0; background: var(--v2-surface); border: 1px solid var(--v2-line); border-radius: 6px; padding: 16px; }
.v2 .sidebar nav { display: flex; flex-direction: column; gap: 8px; margin-top: 10px; font-size: 13px; }
.v2 .sidebar a.on { font-weight: 800; }
.v2 .listmain { flex-grow: 1; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.v2 .sortbar { display: flex; gap: 16px; font-size: 13px; }
.v2 .sortbar a { color: var(--v2-muted); }
.v2 .sortbar a.on { color: var(--v2-text); font-weight: 800; }
.v2 .dwrap { display: flex; gap: 32px; align-items: stretch; } /* 라운드 63 지시 3: 정보 패널 높이 = 이미지 + 썸네일 */
.v2 .dgallery { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 10px; }   /* 라운드 85-b 지시 1: 갤러리·정보 반반 */
.v2 .dmain { aspect-ratio: 1 / 1; height: auto; background: #EFF1F0; border: 1px solid var(--v2-line); border-radius: 6px; display: flex; align-items: center; justify-content: center; color: var(--v2-muted2); font-size: 13px; overflow: hidden; }
.v2 .dmain img { width: 100%; height: 100%; object-fit: cover; }
.v2 .dthumbs { display: flex; gap: 8px; }
.v2 .dthumbs img { width: 64px; height: 64px; object-fit: cover; border: 1px solid var(--v2-line); border-radius: 4px; }
.v2 .dthumbs img.selected { border-color: var(--v2-ink); }
/* 라운드 61 지시 7 → 라운드 63 지시 3: 상단(카테고리·상품명·별점·배지·가격)은 촘촘히, 총 상품금액·구매 블록은 아래로 밀어 갤러리 높이에 맞춘다(스크롤 없음) */
/* 라운드 85-c: 정보 패널 리듬은 변수 4개로만 조정(간격·행 간격·본문 글자) — 개별 요소에 픽셀을 흩뿌리지 않는다 */
/* 2026-09-16 지시 5: 정보 패널 리듬은 글자 크기 하나(--dinfo-fs)에서 파생 — 13px 기준 10·4·3px(85-c 값)와 같고, 글자를 키우면 간격도 같은 비율로 따라온다 */
/* 라운드 89: 간격은 사용자 지정 값(패널 gap 15px·검증 카드 gap 15px·정보 행 padding 11px) — 바꾸려면 이 세 숫자만 */
/* 라운드 88: 정보 패널 재설계 — 본문 13px 고정, 행은 한 줄(라벨 72px + 값), 가는 구분선, 촘촘한 간격. 구매 블록은 패널 아래에 붙는다 */
.v2 .dinfo { --dinfo-fs: 13px; flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 15px; background: var(--v2-surface); border: 1px solid var(--v2-line); border-radius: 6px; padding: 18px 22px; box-sizing: border-box; font-size: var(--dinfo-fs); }
.v2 .dinfo .store-name { font-size: 12px; margin: 0; }
.v2 .dinfo .dname { font-size: 20px; line-height: 1.3; margin: 0; }
.v2 .dinfo > .prow { margin: 0; gap: 6px; }
.v2 .dinfo .dprice { padding-bottom: 10px; margin: 0; justify-content: flex-start; gap: 2px; }
.v2 .dinfo .dprice .sale-rate { margin-right: 6px; }
.v2 .dinfo .dprice .org-price { margin-left: 8px; }
.v2 .dinfo .dprice-v { font-size: 26px; }
.v2 .dinfo .dcard { padding: 14px 16px; gap: 15px; font-size: var(--dinfo-fs); }
.v2 .dinfo .dcard p { margin: 0; line-height: 1.5; }
.v2 .dinfo .dcard .dnote { font-size: 11.5px; line-height: 1.5; margin-top: 2px; }
.v2 .dinfo .drows { display: flex; flex-direction: column; gap: 0; border-bottom: 1px solid var(--v2-line); }
.v2 .dinfo .drow { font-size: var(--dinfo-fs); line-height: 1.45; margin: 0; padding: 11px 0; border-top: 1px solid var(--v2-line); display: flex; gap: 10px; align-items: baseline; }
.v2 .dinfo .drow > span:last-child { min-width: 0; }
.v2 .dinfo .drow .btn { height: 28px; padding: 0 10px; font-size: 12px; }
.v2 .dinfo .dk { flex: none; min-width: 72px; }
.v2 .dinfo .wish-form { margin-bottom: 2px; }
.v2 .dinfo .dbuy { margin-top: auto; padding-top: 6px; }
.v2 .dinfo .dtotal-row { padding-top: 10px; margin: 8px 0 8px; }
.v2 .dinfo .dtotal { font-size: 20px; }
.v2 .dthumbs a { cursor: pointer; }
.v2 .dname { font-size: 22px; font-weight: 800; line-height: 1.4; letter-spacing: -0.01em; }
.v2 .dprice { border-bottom: 1px solid var(--v2-line); padding-bottom: 14px; }
.v2 .dprice .sale-rate { font-size: 22px; }
.v2 .dprice-v { font-size: 26px; font-weight: 800; color: var(--v2-text); }
.v2 .dprice .org-price { font-size: 14px; }
.v2 .dcard { background: var(--v2-green-bg); border-radius: 6px; padding: 14px 16px; display: flex; flex-direction: column; gap: 6px; font-size: 13px; }
.v2 .dcard-t { font-weight: 800; color: var(--v2-green); }
.v2 .dcard .dnote { color: var(--v2-muted); font-size: 12px; line-height: 1.6; }
.v2 .dk { display: inline-block; min-width: 76px; color: var(--v2-muted); font-weight: 700; }
.v2 .drow { font-size: 13px; line-height: 1.7; }
/* inicis-review-readiness IR1·IR3: 부가세 표기·판매자 사업자 정보(접이식) */
.v2 .vat-note { font-size: 12px; color: var(--v2-muted); margin-left: 2px; font-weight: 500; }
.v2 .dlegal { margin: 6px 0 10px; border: 1px solid var(--v2-line); border-radius: 8px; padding: 8px 12px; font-size: 13px; }
.v2 .dlegal summary { cursor: pointer; font-weight: 700; color: var(--v2-muted); list-style: none; display: flex; align-items: center; gap: 6px; }
.v2 .dlegal summary::before { content: ""; display: inline-block; width: 11px; height: 11px; background-color: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E") center / contain no-repeat; }
.v2 .dlegal[open] summary::before { content: ""; display: inline-block; width: 11px; height: 11px; background-color: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") center / contain no-repeat; }
.v2 .dlegal dl { margin: 8px 0 0; display: grid; grid-template-columns: 1fr; gap: 4px; }
.v2 .dlegal dl div { display: flex; gap: 10px; line-height: 1.6; }
.v2 .dlegal dt { flex: none; width: 96px; color: var(--v2-muted); font-weight: 700; }
.v2 .dlegal dd { margin: 0; }
.v2 .dlegal .dnote { margin: 8px 0 2px; }
/* IR2: 결제 동의 체크박스 */
.v2 .pagree { display: flex; gap: 8px; align-items: flex-start; font-size: 12px; color: var(--v2-text); line-height: 1.6; margin: 4px 0 0; cursor: pointer; }
.v2 .pagree input { width: 16px; height: 16px; min-width: 16px; margin: 2px 0 0; }
.v2 .pagree-error { margin: 2px 0 0; font-size: 12px; color: var(--v2-sale); }
.v2 .dtotal-row { display: flex; justify-content: space-between; align-items: baseline; border-top: 1px solid var(--v2-line); padding-top: 12px; margin: 8px 0 2px; font-weight: 700; }
.v2 .dtotal { font-size: 20px; font-weight: 800; }
.v2 .dqty-l { align-self: center; flex: 0 0 auto; white-space: nowrap; writing-mode: horizontal-tb; font-size: 13px; color: var(--v2-muted); } /* 라운드 56 F6: 세로로 깨지던 라벨 */
.v2 .pay-btn { width: 100%; box-sizing: border-box; padding: 14px 0; font-size: 16px; }
.v2 .pay-note { text-align: center; color: var(--v2-muted); font-size: 12px; margin-top: 8px; }
.v2 .dbuy { margin-top: 6px; }
.v2 .dbuy .btn-lg { width: auto; box-sizing: border-box; padding: 0 16px; height: 44px; font-size: 14px; display: inline-flex; align-items: center; justify-content: center; } /* 라운드 56 F6: 버튼 축소 */
.v2 .dsoldout { color: var(--v2-sale); font-weight: 700; }
.v2 .dsec { background: var(--v2-surface); border: 1px solid var(--v2-line); border-radius: 6px; padding: 24px 28px; }
.v2 .ddesc { line-height: 1.8; white-space: pre-line; }
.v2 .dev-doc { max-width: 860px; display: flex; flex-direction: column; gap: 20px; }
.v2 .dev-doc section { background: var(--v2-surface); border: 1px solid var(--v2-line); border-radius: 6px; padding: 20px 24px; display: flex; flex-direction: column; gap: 8px; }
.v2 .dev-doc h2 { font-size: 16px; font-weight: 800; margin: 0; }
.v2 .dev-lead { line-height: 1.7; color: var(--v2-muted); }
.v2 .dev-doc ul, .v2 .dev-doc ol { margin: 0; padding-left: 20px; line-height: 1.9; }
.v2 .dev-doc code { background: #F3F4F6; border-radius: 3px; padding: 1px 5px; font-size: 13px; }
.v2 .dev-code { background: var(--v2-ink); color: #E5E7EB; border-radius: 6px; padding: 14px 16px; font-size: 12px; line-height: 1.7; overflow-x: auto; }
.v2 .dev-table-wrap { overflow-x: auto; }
.v2 .dev-doc table { width: 100%; border-collapse: collapse; font-size: 13px; }
.v2 .dev-doc th, .v2 .dev-doc td { text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--v2-line); }
.v2 .dev-doc th { color: var(--v2-muted); font-weight: 700; }
.v2 .ft { background: var(--v2-surface); border-top: 1px solid var(--v2-line); margin-top: 40px; }
.v2 .ft .wrap { display: flex; flex-direction: column; gap: 14px; padding: 28px 0 36px 0; }
.v2 .ft-links { display: flex; gap: 24px; font-size: 13px; font-weight: 700; }
.v2 .ft-info { font-size: 12px; color: var(--v2-muted); line-height: 1.8; }
.v2 .ft-notice { font-size: 12px; color: var(--v2-muted); line-height: 1.8; }
.v2 .signup2 { max-width: 560px; margin-left: auto; margin-right: auto; display: flex; flex-direction: column; gap: 16px; }
.v2 .signup2 form { display: flex; flex-direction: column; gap: 16px; }
.v2 .stype { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.v2 .stype-card { position: relative; background: var(--v2-surface); border: 2px solid var(--v2-line); border-radius: 8px; padding: 18px 14px; display: flex; flex-direction: column; align-items: center; gap: 6px; cursor: pointer; text-align: center; }
.v2 .stype-card input { position: absolute; opacity: 0; pointer-events: none; }
.v2 .stype-card svg { width: 34px; height: 34px; color: var(--v2-muted); }
.v2 .stype-card strong { font-size: 15px; }
.v2 .stype-card span { font-size: 12px; color: var(--v2-muted); }
.v2 .stype-card:has(input:checked) { border-color: var(--v2-ink); }
.v2 .stype-card:has(input:checked) svg { color: var(--v2-ink); }
.v2 .scard { background: var(--v2-surface); border: 1px solid var(--v2-line); border-radius: 8px; padding: 20px; display: flex; flex-direction: column; gap: 10px; }
.v2 .scard-t { font-size: 15px; font-weight: 800; margin-bottom: 4px; }
.v2 .ifield { display: flex; align-items: center; border: 1px solid var(--v2-line); border-radius: 6px; background: var(--v2-surface); }
.v2 .ifield:focus-within { border-color: var(--v2-ink); box-shadow: 0 0 0 2px var(--v2-ink-bg); }
.v2 .ifield input:focus, .v2 .searchbox input:focus { outline: none; }  /* 링은 컨테이너 :focus-within */
.v2 .searchbox:focus-within { outline: 2px solid var(--v2-ink); outline-offset: 2px; }
.v2 .ifield .ic { width: 46px; height: 46px; display: flex; align-items: center; justify-content: center; color: var(--v2-muted2); border-right: 1px solid var(--v2-line); flex-shrink: 0; background: #FAFAFB; border-radius: 6px 0 0 6px; }
.v2 .ifield .ic svg { width: 20px; height: 20px; }
.v2 .ifield input { flex-grow: 1; border: 0; height: 46px; padding: 0 14px; font-family: inherit; font-size: 14px; background: transparent; min-width: 0; }
.v2 .pw-rules { margin: 0; padding: 0 2px; list-style: none; font-size: 12px; color: var(--v2-muted); display: flex; flex-direction: column; gap: 2px; }
.v2 .pw-rules li::before { content: '¹5  '; color: var(--v2-muted2); font-size: 10px; }
.v2 .consent { gap: 12px; }
.v2 .consent-all { display: flex; align-items: center; gap: 8px; font-size: 15px; }
.v2 .consent-desc { font-size: 12px; color: var(--v2-muted); line-height: 1.6; margin: 0; }
.v2 .consent-list { border: 1px solid var(--v2-line); border-radius: 6px; padding: 14px 16px; display: flex; flex-direction: column; gap: 10px; font-size: 13px; }
.v2 .consent-list label { display: flex; align-items: center; gap: 8px; }
.v2 .consent-list label a { margin-left: auto; color: var(--v2-muted); font-size: 12px; }
.v2 .consent-sub { display: flex; flex-direction: column; gap: 8px; padding-left: 24px; }
.v2 .consent-foot { margin: 0; font-size: 12px; }
.v2 .consent-foot a { text-decoration: underline; color: var(--v2-muted); }
.v2 .signup2 .savebar .btn-lg { width: 100%; box-sizing: border-box; }
/* 라운드 81-b: 가입 페이지 간편가입 버튼 — .v2 .btn(흰 바탕)·.v2 a(색) 규칙보다 우선해야 제공자 색이 산다 */
.v2 .signup2 .social { height: 44px; border-radius: 8px; gap: 8px; font-weight: 700; }
.v2 .signup2 .social-naver, .v2 .signup2 .social-naver:hover { background: #03C75A; color: #FFFFFF; border-color: #03C75A; }
.v2 .signup2 .social-kakao, .v2 .signup2 .social-kakao:hover { background: #FEE500; color: #191919; border-color: #FEE500; }
.v2 .signup2 .social-google, .v2 .signup2 .social-google:hover { background: #FFFFFF; color: #1F1F1F; border-color: var(--v2-line); }
.v2 .signup2 .social:hover { text-decoration: none; filter: brightness(0.96); }
.v2 .signup2 .social-signup .muted { text-align: center; }
/* 라운드 82(buyer-social-ops S10): 가입 시작 화면 — 단일 카드, 리스트형 버튼(마크 · 라벨 · 화살표), 안내 박스 */
.v2 .sc-wrap { padding-top: 36px; padding-bottom: 56px; }
.v2 .sc { max-width: 460px; margin: 0 auto; background: var(--v2-surface); border: 1px solid var(--v2-line); border-radius: 14px; padding: 36px 32px 28px; box-shadow: 0 8px 28px rgba(31, 47, 82, 0.06); }
.v2 .sc-mark { margin: 0 0 10px; text-align: center; }
.v2 .sc-mark img { width: 44px; height: 44px; }
.v2 .sc-title { margin: 0; text-align: center; font-size: 24px; font-weight: 800; letter-spacing: -0.01em; }
.v2 .sc-sub { margin: 6px 0 26px; text-align: center; color: var(--v2-muted); font-size: 14px; }
.v2 .sc-label { margin: 0 0 8px; font-size: 12px; font-weight: 700; color: var(--v2-muted); letter-spacing: 0.04em; }
.v2 .sc-social { display: flex; flex-direction: column; gap: 10px; }
.v2 .sc-social .sc-label { margin-bottom: 0; }
.v2 .sc-btn { display: grid; grid-template-columns: 24px 1fr 20px; align-items: center; gap: 12px; height: 52px; padding: 0 16px; border-radius: 10px; border: 1px solid transparent; font-size: 15px; font-weight: 700; text-decoration: none; box-sizing: border-box; }
.v2 .sc-btn:hover { text-decoration: none; filter: brightness(0.97); }
.v2 .sc-btn:focus-visible { outline: 3px solid var(--c-focus); outline-offset: 2px; }
.v2 .sc-ic { display: inline-flex; width: 24px; height: 24px; align-items: center; justify-content: center; }
.v2 .sc-ic svg { width: 22px; height: 22px; }
.v2 .sc-arr { display: inline-flex; width: 20px; height: 20px; opacity: 0.7; }
.v2 .sc-arr svg { width: 20px; height: 20px; }
.v2 .sc-naver, .v2 .sc-naver:hover { background: #03C75A; color: #FFFFFF; }
.v2 .sc-kakao, .v2 .sc-kakao:hover { background: #FEE500; color: #191919; }
.v2 .sc-google, .v2 .sc-google:hover { background: #FFFFFF; color: #1F1F1F; border-color: var(--v2-line); }
.v2 .sc-primary, .v2 .sc-primary:hover { background: var(--v2-ink); color: #FFFFFF; }
.v2 .sc-or { position: relative; margin: 14px 0 18px; text-align: center; font-size: 12px; color: var(--v2-muted); }
.v2 .sc-or::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; border-top: 1px solid var(--v2-line); }
.v2 .sc-or span { position: relative; background: var(--v2-surface); padding: 0 10px; }
.v2 .sc-notes { list-style: none; margin: 18px 0 0; padding: 14px 16px; background: var(--v2-ink-bg); border-radius: 10px; display: flex; flex-direction: column; gap: 10px; }
.v2 .sc-notes li { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; line-height: 1.55; color: var(--v2-ink-soft); }
.v2 .sc-note-ic { flex: none; display: inline-flex; width: 18px; height: 18px; margin-top: 1px; color: var(--v2-ink); }
.v2 .sc-note-ic svg { width: 18px; height: 18px; }
.v2 .sc-link { color: var(--v2-ink); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; margin-left: 4px; white-space: nowrap; }
.v2 .sc-foot { margin: 22px 0 0; text-align: center; font-size: 13px; color: var(--v2-muted); }
.v2 .sc-foot a { color: var(--v2-ink); font-weight: 700; margin-left: 6px; text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 520px) { .v2 .sc { padding: 28px 18px 22px; border-radius: 10px; } }
.v2 .pw-rules li.ok { color: var(--v2-blue); }
.v2 .pw-rules li.ok::before { content: '¹3  '; color: var(--v2-blue); }
.v2 .pw-rules li.bad { color: var(--v2-sale); }
.v2 .pw-rules li.bad::before { content: '¹5  '; color: var(--v2-sale); }
.v2 .consent input[type="checkbox"] { width: 18px; height: 18px; min-width: 18px; margin: 0; padding: 0; flex-shrink: 0; accent-color: var(--v2-ink); }
.v2 .consent-all { justify-content: flex-start; }
.v2 .consent-list label { justify-content: flex-start; text-align: left; }
.v2 .consent-list label span { flex: 1 1 auto; }
.v2 .stype-card input[type="radio"], .v2 .bclass-card input[type="radio"] { width: auto; height: auto; }
.v2 .biz-fields { display: flex; flex-direction: column; gap: 10px; border-top: 1px dashed var(--v2-line); padding-top: 14px; margin-top: 4px; }
.v2 .biz-fields[hidden] { display: none; }
.v2 .bclass { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.v2 .bclass-card { border: 2px solid var(--v2-line); border-radius: 6px; padding: 12px; text-align: center; cursor: pointer; font-weight: 700; font-size: 14px; position: relative; }
.v2 .bclass-card input { position: absolute; opacity: 0; pointer-events: none; }
.v2 .bclass-card:has(input:checked) { border-color: var(--v2-ink); }
.v2 .terms-dlg { border: 1px solid var(--v2-line); border-radius: 8px; padding: 0; width: min(720px, 92vw); height: min(80vh, 720px); }
.v2 .terms-dlg::backdrop { background: rgba(17, 17, 17, 0.45); }
.v2 .terms-dlg-head { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; border-bottom: 1px solid var(--v2-line); }
.v2 .terms-dlg iframe { border: 0; width: 100%; height: calc(100% - 55px); }
.v2 .view-btn { border: 0; background: none; color: var(--v2-muted); font-size: 12px; text-decoration: underline; cursor: pointer; font-family: inherit; margin-left: auto; }
.v2 .wish-form { display: flex; gap: 8px; margin-bottom: 10px; }
.v2 .wish-btn { display: inline-flex; gap: 6px; align-items: center; }
.v2 .wish-btn.on { border-color: var(--v2-sale); color: var(--v2-sale); }
.v2 .qa-form { display: flex; flex-direction: column; gap: 8px; margin-bottom: 14px; }
.v2 .qa-form textarea { border: 1px solid var(--v2-line); border-radius: 6px; padding: 10px 12px; font-family: inherit; font-size: 14px; resize: vertical; }
.v2 .qa-form textarea:focus { outline: 2px solid var(--v2-ink); outline-offset: 1px; border-color: var(--v2-ink); }
.v2 .qa-form-foot { display: flex; align-items: center; justify-content: space-between; }
.v2 .qa-form-foot label { display: flex; gap: 6px; align-items: center; font-size: 13px; color: var(--v2-muted); }
.v2 .qa-form-foot input[type="checkbox"] { width: 16px; height: 16px; margin: 0; }
.v2 .qa-answer { background: #F7F8F9; border-radius: 6px; padding: 10px 12px; }
.v2 .err-page { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; text-align: center; padding: 24px; box-sizing: border-box; }
.v2 .err-logo { display: inline-flex; align-items: center; gap: 8px; font-size: 26px; font-weight: 800; color: var(--v2-ink); letter-spacing: -0.02em; margin-bottom: 8px; }
.v2 .err-logo img { width: 30px; height: 30px; }
.v2 .err-logo:hover { text-decoration: none; }
.v2 .err-code { font-size: 64px; font-weight: 800; color: var(--v2-line); line-height: 1; }
.v2 .err-title { font-size: 22px; font-weight: 800; margin: 0; }
.v2 .err-desc { color: var(--v2-muted); line-height: 1.7; margin: 0; }
.v2 .err-actions { display: flex; gap: 10px; margin-top: 10px; }
.v2 .tabbar { display: none; }

/* product-facets PF1~PF7: 좌측 패싯 패널(목록·상세 공유) */
.v2 .sidebar.facets { width: 216px; padding: 14px; display: flex; flex-direction: column; gap: 12px; }
.v2 .fc { display: flex; flex-direction: column; gap: 4px; padding-top: 12px; border-top: 1px solid var(--v2-line); }
.v2 .facets > .fc:first-child { border-top: 0; padding-top: 0; }
.v2 .fc nav { display: flex; flex-direction: column; gap: 2px; margin-top: 2px; font-size: 13px; }
.v2 .fc nav a { display: flex; justify-content: space-between; align-items: center; gap: 6px; padding: 4px 6px; border-radius: 4px; color: var(--v2-text); }
.v2 .fc nav a:hover { background: var(--v2-bg); text-decoration: none; }
.v2 .fc nav a.on { font-weight: 800; color: var(--v2-ink); background: var(--v2-ink-bg); }
.v2 .fc nav a.on .fc-l::before { content: ""; display: inline-block; width: 12px; height: 12px; background-color: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / contain no-repeat; margin-right: 4px; vertical-align: -1px; }
.v2 .fc .fc-l { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v2 .fc .fc-n { font-size: 11px; color: var(--v2-muted); background: var(--v2-bg); border-radius: 999px; padding: 0 6px; flex-shrink: 0; }
.v2 .fc nav a.on .fc-n { background: var(--v2-surface); }
.v2 .fc .fc-up { color: var(--v2-muted); justify-content: flex-start; }
.v2 .fc .fc-up svg { width: 14px; height: 14px; }
.v2 .fc .fc-star { color: var(--v2-text); }
.v2 .fc-price { display: flex; align-items: center; gap: 4px; margin-top: 6px; }
.v2 .fc-price input { width: 0; flex: 1; min-width: 0; height: 28px; border: 1px solid var(--v2-line); border-radius: 4px; padding: 0 6px; font-size: 12px; font-family: inherit; }
.v2 .fc-price input:focus { outline: 2px solid var(--v2-ink); outline-offset: 1px; border-color: var(--v2-ink); }
.v2 .fc-price .btn { flex-shrink: 0; }
.v2 details.fc summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 4px; }
.v2 details.fc summary::-webkit-details-marker { display: none; }
.v2 details.fc summary .fc-chev { width: 14px; height: 14px; margin-left: auto; color: var(--v2-muted); transition: transform .15s; }
.v2 details.fc[open] summary .fc-chev { transform: rotate(180deg); }
.v2 .fc-unit { font-weight: 500; font-size: 12px; color: var(--v2-muted); }
.v2 .fc-active { gap: 8px; }
.v2 .fc-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.v2 .fc-chip { display: inline-flex; align-items: center; gap: 6px; padding: 3px 8px 3px 10px; border-radius: 999px; background: var(--v2-ink); color: #FFFFFF; font-size: 12px; font-weight: 700; }
.v2 .fc-chip:hover { text-decoration: none; background: var(--v2-ink-soft); }
.v2 .fc-chip .fc-x { font-size: 14px; line-height: 1; opacity: .8; }
.v2 .fc-clear { font-size: 12px; color: var(--v2-muted); text-decoration: underline; }

.v2 .dside-t { margin: 0 0 8px; font-size: 13px; font-weight: 800; color: var(--v2-muted); }
.v2 .dside .sidebar.facets { width: auto; }
@media (max-width: 1320px) { .v2 .wrap { width: auto; margin: 0 20px; } }
@media (max-width: 900px) {
  .v2 .grid4, .v2 .grid5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v2 .hd .wrap { flex-wrap: wrap; gap: 12px; }
  .v2 .logo { font-size: 22px; }
  .v2 .searchbox { order: 3; flex-basis: 100%; height: 42px; }
  .v2 .home-top { flex-direction: column; }
  .v2 .sidebox { width: auto; }
  .v2 .cat-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .v2 .strip2 { grid-template-columns: 1fr; }
  .v2 .listwrap { flex-direction: column; }
  .v2 .sidebar { width: auto; align-self: stretch; }
  .v2 .dwrap { flex-direction: column; gap: 16px; }
  .v2 .listwrap.no-side .grid4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v2 .dinfo { min-height: 0; }
  .v2 .dsticky { display: none; }
  .v2 .dgallery { width: auto; }
  .v2 .dmain { height: 340px; }
  .v2 .cat-panel { display: none !important; }
  .v2 .all-wrap .chev { display: none; }
  .v2 .banner-deco { display: none; }
}
@media (max-width: 560px) {
  .v2 { padding-bottom: 64px; }  
  .v2 .wrap { margin: 0 12px; }
  .v2 .utilbar .wrap { gap: 12px; overflow-x: auto; scrollbar-width: none; }
  .v2 .my-tiles { grid-template-columns: repeat(3, 1fr); gap: 6px; width: auto; left: 0; transform: none; }
  .v2 .utilbar .wrap::-webkit-scrollbar { display: none; }
  .v2 .hd .wrap { padding: 12px 0; gap: 10px; }
  .v2 .logo { font-size: 20px; }
  .v2 .hd-icons { display: none; }  
  .v2 .gnb .wrap { gap: 14px; height: 44px; font-size: 13px; }
  .v2 .gnb .all { gap: 6px; }
  .v2 .gnb .bdg, .v2 .gnb .sep:last-of-type { display: none; }
  .v2 .sec { padding-top: 20px; }
  .v2 .sec-t { font-size: 18px; }
  .v2 .grid4, .v2 .grid5 { gap: 10px; }
  .v2 .thumb { height: 160px; }
  .v2 .banner-main { padding: 24px 20px; min-height: 140px; }
  /* 라운드 56 F1: 모바일은 텍스트 슬라이드 자연 높이(없으면 120px) 안에 이미지를 자르지 않고 넣는다(레터박스) */
  .v2 .hero { min-height: 120px; }
  .v2 .hero .banner-img img { object-fit: contain; }
  .v2 .hero-cap { left: 16px; right: 16px; bottom: 44px; gap: 4px; }
  .v2 .hero-cap .t { font-size: 17px; }
  .v2 .hero-cap .sub { font-size: 12px; }
  .v2 .hrow-track > .card { flex-basis: calc((100% - 28px) / 2); }
  .v2 .hrow-nav.prev { left: 4px; } .v2 .hrow-nav.next { right: 4px; }
  .v2 .banner-main .t { font-size: 20px; }
  .v2 .cat-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
  .v2 .cat-tile { padding: 10px 2px 8px 2px; font-size: 11px; gap: 6px; border: 0; background: transparent; }
  .v2 .cat-tile-ic { width: 48px; height: 48px; background: var(--v2-surface); border: 1px solid var(--v2-line); }
  .v2 .dmain { height: 260px; }
  .v2 .dinfo { padding: 18px 16px; }
  .v2 .dthumbs img { width: 52px; height: 52px; }
  .v2 .dsec { padding: 18px 16px; }
  .v2 .ft .wrap { padding: 20px 0 28px 0; }
  .v2 .tabbar { position: fixed; bottom: 0; left: 0; right: 0; z-index: 80; display: flex; justify-content: space-around; background: var(--v2-surface); border-top: 1px solid var(--v2-line); padding: 7px 0 calc(7px + env(safe-area-inset-bottom)); }
  .v2 .tabbar a { display: flex; flex-direction: column; align-items: center; gap: 3px; font-size: 10px; font-weight: 700; color: var(--v2-muted); }
  .v2 .tabbar a:hover { text-decoration: none; color: var(--v2-ink); }
  .v2 .tabbar a.on { color: var(--v2-ink); }
  .v2 .tabbar svg { width: 22px; height: 22px; }
}
.v2 .btn-primary { background: var(--v2-ink); border-color: var(--v2-ink); color: #FFFFFF; }
.v2 .btn-danger { background: var(--v2-sale); border-color: var(--v2-sale); color: #FFFFFF; }
.v2 .btn-danger:hover { background: #C22626; border-color: #C22626; color: #FFFFFF; }
.v2 .btn-primary:hover { background: #000000; border-color: #000000; color: #FFFFFF; }
.v2 .btn.disabled { opacity: .45; pointer-events: none; cursor: default; }
.v2 .qty-stepper { display: inline-flex; align-items: stretch; height: 40px; border: 1px solid var(--v2-line); border-radius: 6px; overflow: hidden; background: var(--v2-surface); vertical-align: middle; }
.v2 .qty-stepper button { width: 34px; border: 0; background: var(--v2-surface); color: var(--v2-muted); font-size: 16px; font-weight: 700; cursor: pointer; font-family: inherit; padding: 0; line-height: 1; }
.v2 .qty-stepper button:hover { background: #F3F4F6; color: var(--v2-ink); }
.v2 .qty-stepper input[type="number"] { width: 48px; height: auto; border: 0; border-left: 1px solid var(--v2-line); border-right: 1px solid var(--v2-line); border-radius: 0; text-align: center; font: inherit; font-weight: 700; padding: 0; background: var(--v2-surface); appearance: textfield; -moz-appearance: textfield; }
.v2 .qty-stepper input::-webkit-outer-spin-button, .v2 .qty-stepper input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.v2 .dcart-form .qty-stepper { height: 44px; flex-shrink: 0; }
.v2 .dcart-form .qty-stepper input { width: 52px; }
/* 라운드 56 F7: 본문 2열 + 스티키 구매 패널 */
.v2 .dbody { display: flex; gap: 24px; align-items: flex-start; }
.v2 .dbody-main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.v2 .dsticky { width: 280px; box-sizing: border-box; flex-shrink: 0; position: sticky; top: 72px; display: flex; flex-direction: column; gap: 10px; background: var(--v2-surface); border: 1px solid var(--v2-line); border-radius: 6px; padding: 16px; }
.v2 .ds-prod { display: flex; align-items: center; gap: 10px; padding-bottom: 12px; border-bottom: 1px solid var(--v2-line); }
.v2 .ds-prod img, .v2 .ds-ph { width: 56px; height: 56px; object-fit: cover; border-radius: 6px; border: 1px solid var(--v2-line); background: #EFF1F0; flex-shrink: 0; display: block; }
.v2 .ds-name { font-size: 13px; font-weight: 700; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.v2 .ds-form { display: flex; align-items: center; gap: 8px; }
.v2 .ds-form .qty-stepper { height: 40px; }
.v2 .ds-total { display: flex; justify-content: space-between; align-items: baseline; font-weight: 700; font-size: 13px; border-top: 1px solid var(--v2-line); padding-top: 10px; }
.v2 .dsticky .btn-lg { width: 100%; box-sizing: border-box; height: 44px; font-size: 14px; display: inline-flex; align-items: center; justify-content: center; }
.v2 .qty-form { display: inline-flex; }
.v2 .osum { background: var(--v2-surface); border: 1px solid var(--v2-line); border-radius: 8px; padding: 20px 22px; margin-bottom: 14px; }
.v2 .osum-t { font-size: 15px; font-weight: 800; margin: 0 0 12px; }
.v2 .osum-row { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; padding: 9px 0; border-top: 1px solid var(--v2-line); font-size: 14px; }
.v2 .osum-row:first-of-type { border-top: 0; padding-top: 0; }
.v2 .osum-row .n { font-weight: 700; min-width: 0; }
.v2 .osum-row .n .osum-q { font-weight: 400; color: var(--v2-muted); font-size: 13px; margin-left: 8px; }
.v2 .osum-row .a { text-align: right; }
.v2 .osum-row .a .field-hint { display: block; margin-top: 2px; }
.v2 .osum-row.sub { font-size: 13px; color: var(--v2-muted); }
.v2 .osum-row.sub .n { font-weight: 400; }
.v2 .osum-total { display: flex; justify-content: space-between; align-items: baseline; background: var(--v2-surface); border: 1px solid var(--v2-line); border-radius: 8px; padding: 16px 22px; margin: 0 0 14px; font-weight: 800; }
.v2 .osum-total strong { font-size: 22px; }
.v2 fieldset { background: var(--v2-surface); border: 1px solid var(--v2-line); border-radius: 8px; padding: 18px 22px; margin: 0 0 14px; }
.v2 legend { font-size: 15px; font-weight: 800; padding: 0 6px; }
.v2 .field input:not([type="checkbox"]):not([type="radio"]), .v2 .field select { height: 44px; border-color: var(--v2-line); border-radius: 6px; box-sizing: border-box; }
.v2 .field input:focus, .v2 .field select:focus { border-color: var(--v2-ink); }
.v2 .cart-pick, .v2 .cart-pick-all { width: 18px; height: 18px; min-width: 18px; margin: 0; accent-color: var(--v2-ink); }
.v2 .g-title { display: flex; align-items: center; gap: 12px; }
.v2 .pick-all-l { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 400; color: var(--v2-muted); cursor: pointer; }
.v2 .data-table .pick-c { width: 34px; }
.v2 .olayout { display: flex; gap: 18px; align-items: flex-start; }
.v2 .omain { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.v2 .ocard { background: var(--v2-surface); border: 1px solid var(--v2-line); border-radius: 8px; padding: 20px 22px; }
.v2 .ocard-h { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.v2 .ocard-h h2 { font-size: 15px; font-weight: 800; margin: 0; }
.v2 .oline { display: flex; align-items: center; gap: 14px; padding: 6px 0; }
.v2 .oline + .oline { border-top: 1px solid var(--v2-line); padding-top: 12px; }
.v2 .oline .n { flex: 1 1 auto; min-width: 0; font-weight: 700; }
.v2 .oline .oline-unit { display: block; font-weight: 400; color: var(--v2-muted); font-size: 13px; margin-top: 3px; }
.v2 .oline .oline-amt { font-size: 16px; font-weight: 800; white-space: nowrap; }
.v2 .paycard { width: 300px; flex-shrink: 0; position: sticky; top: 14px; background: var(--v2-surface); border: 1px solid var(--v2-line); border-radius: 8px; padding: 20px 22px; display: flex; flex-direction: column; gap: 10px; box-sizing: border-box; }
.v2 .paycard-t { font-size: 16px; font-weight: 800; margin: 0 0 2px; }
/* 라운드 88: 결제 패널 전용(div.prow) — 예전엔 .v2 .prow 전체에 걸려 상품 카드·상세의 가격이 회색, "원"·배지가 오른쪽으로 밀렸다 */
.v2 div.prow { display: flex; justify-content: space-between; align-items: center; gap: 8px; font-size: 13px; }
.v2 div.prow > span:first-child { color: var(--v2-muted); display: inline-flex; align-items: center; gap: 8px; }
.v2 div.prow .sale { color: var(--v2-sale); }
.v2 .ptotal { display: flex; justify-content: space-between; align-items: baseline; border-top: 1px solid var(--v2-line); padding-top: 12px; margin-top: 4px; font-weight: 800; }
.v2 .ptotal strong { font-size: 22px; }
.v2 .pterms { border-top: 1px solid var(--v2-line); padding-top: 10px; display: flex; flex-direction: column; gap: 6px; font-size: 12px; color: var(--v2-muted); }
.v2 .pterms p { margin: 0; display: flex; justify-content: space-between; gap: 10px; }
.v2 .pterms a { color: var(--v2-muted); text-decoration: underline; white-space: nowrap; }
.v2 .pnote { font-size: 12px; color: var(--v2-muted); line-height: 1.6; margin: 0; }
.v2 .paycard .pay-btn { margin-top: 2px; }
.v2 .omodal { border: 0; border-radius: 10px; padding: 0; width: 420px; max-width: 92vw; font-family: var(--v2-font); color: var(--v2-text); }
.v2 .omodal::backdrop { background: rgba(17, 17, 17, .45); }
.v2 .omodal-h { display: flex; justify-content: space-between; align-items: center; padding: 16px 18px; border-bottom: 1px solid var(--v2-line); font-size: 15px; }
.v2 .omodal-x { border: 0; background: none; font-size: 15px; cursor: pointer; color: var(--v2-muted); padding: 2px 4px; width: auto; height: auto; }
.v2 .omodal-f { padding: 12px 18px 16px; border-top: 1px solid var(--v2-line); display: flex; }
.v2 .omodal-f .btn { flex: 1; }
.v2 .addr-list { max-height: 320px; overflow-y: auto; padding: 12px 18px; display: flex; flex-direction: column; gap: 8px; }
.v2 .addr-row { text-align: left; border: 1px solid var(--v2-line); border-radius: 8px; background: var(--v2-surface); padding: 12px 14px; cursor: pointer; font: inherit; display: flex; flex-direction: column; gap: 3px; font-size: 13px; width: 100%; height: auto; }
.v2 .addr-row:hover { border-color: var(--v2-ink); }
.v2 .addr-row b { font-size: 14px; display: flex; align-items: center; gap: 8px; }
.v2 .addr-row .addr-a { color: var(--v2-muted); }
.v2 .addr-tag { background: var(--v2-blue-bg); color: var(--v2-blue); font-size: 11px; font-weight: 700; border-radius: 999px; padding: 1px 8px; }
.v2 .addr-empty { padding: 20px; text-align: center; color: var(--v2-muted); font-size: 13px; margin: 0; }
.v2 .addr-form { padding: 0 18px 12px; display: flex; flex-direction: column; gap: 8px; }
.v2 .addr-form input { height: 40px; border: 1px solid var(--v2-line); border-radius: 6px; padding: 0 12px; font: inherit; box-sizing: border-box; }
.v2 .addr-form[hidden] { display: none; }
.v2 .copt-list { padding: 14px 18px; display: flex; flex-direction: column; gap: 10px; max-height: 300px; overflow-y: auto; }
.v2 .copt { display: flex; align-items: center; gap: 10px; font-size: 14px; cursor: pointer; }
.v2 .copt input[type="radio"] { width: 18px; height: 18px; min-width: 18px; margin: 0; accent-color: var(--v2-ink); }
@media (max-width: 900px) {
  .v2 .olayout { flex-direction: column; }
  .v2 .paycard { width: 100%; position: static; }
}
.v2 .dreq-preset { margin-bottom: 8px; }
.v2 .addr-row { position: relative; padding-right: 40px; }
.v2 .addr-del { position: absolute; top: 8px; right: 8px; width: 26px; height: 26px; min-width: 0; border: 0; background: none; color: var(--v2-muted2); font-size: 13px; cursor: pointer; border-radius: 4px; padding: 0;; color: var(--v2-sale); border-color: var(--v2-sale); }
.v2 .addr-del:hover { color: var(--v2-sale); background: #F3F4F6;; background: var(--v2-sale); color: #FFFFFF; }
.v2 .order-cards { display: flex; flex-direction: column; gap: 14px; }
.v2 .oc-h { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 8px; flex-wrap: wrap; }
.v2 .oc-h .t { font-weight: 800; font-size: 14px; display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.v2 .oc-line { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 7px 0; border-top: 1px solid var(--v2-line); font-size: 14px; }
.v2 .oc-line .n { min-width: 0; }
.v2 .oc-vbank { margin: 6px 0 0; font-size: 13px; }
.v2 .oc-f { display: flex; justify-content: space-between; align-items: center; gap: 12px; border-top: 1px solid var(--v2-line); padding-top: 12px; margin-top: 6px; flex-wrap: wrap; }
.v2 .oc-total { font-size: 17px; font-weight: 800; margin-right: 8px; }
.v2 .oc-actions { display: inline-flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.v2 .oc-sub { border-top: 1px dashed var(--v2-line); margin-top: 10px; padding-top: 10px; display: flex; flex-direction: column; gap: 8px; }
.v2 .oc-sub .return-form { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; }
.v2 .oc-sub .return-form select { width: auto; min-width: 110px; height: 36px; }
.v2 .oc-sub .return-form input[type="text"] { flex: 1 1 200px; height: 36px; }
.v2 .oc-sub .return-form input.claim-file { flex: 1 1 100%; font-size: 12px; }
.v2 .oc-sub .return-form input.claim-qty { flex: 0 0 84px; height: 36px; }
.v2 .claim-photos { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.v2 .claim-photos img { width: 56px; height: 56px; object-fit: cover; border-radius: 4px; border: 1px solid var(--v2-line); display: block; }
.v2 .oc-no { margin: -2px 0 8px; font-size: 12px; }
.v2 .gfind { max-width: 480px; }
.v2 .content .ocard + .ocard { margin-top: 14px; }
.v2 .oimg { width: 48px; height: 48px; object-fit: cover; border: 1px solid var(--v2-line); border-radius: 6px; flex-shrink: 0; display: inline-block; background: #EFF1F0; }
.v2 .oimg-ph { background: #EFF1F0; }
.v2 .pdp { max-width: 892px; margin: 0 auto; }
.v2 .pdp img { width: 100%; display: block; border-radius: 8px; margin: 0 0 14px; }
.v2 .pdp .pdp-sec h3 { font-size: 17px; font-weight: 800; margin: 22px 0 10px; }
.v2 .pdp .pdp-sec ul { margin: 0; padding-left: 20px; line-height: 2; font-size: 14px; }
.v2 .pdp .pdp-sec table { width: 100%; border-collapse: collapse; font-size: 14px; }
.v2 .pdp .pdp-sec th, .v2 .pdp .pdp-sec td { border-bottom: 1px solid var(--v2-line); padding: 10px 12px; text-align: left; }
.v2 .pdp .pdp-sec th { width: 160px; color: var(--v2-muted); background: #FAFAFB; font-weight: 700; }
.v2 .pdp .pdp-notice { color: var(--v2-muted); font-size: 13px; margin-top: 16px; }
.v2 .page-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 8px; }
.v2 .page-head .page-title { margin: 0; }
.v2 .flowbar { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--v2-muted); white-space: nowrap; }
.v2 .flowbar .on { color: var(--v2-ink); font-weight: 800; }
.v2 .flowbar .sep { color: var(--v2-line); }
.v2 .claim-card { margin-top: 24px; max-width: 640px; }
.v2 .claim-form { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 10px; }
.v2 .claim-form input { flex: 1; min-width: 180px; }
/* 상품 규격 표(product-attrs PA6) */
/* 라운드 85-b 지시 5: 규격·정책 = 제목 아래 전체 너비 2열 표(레퍼런스: 필수 표기 정보) */
.v2 .danchor { height: 1px; margin: -1px 0 0; scroll-margin-top: 64px; }
.v2 .spec-sec { margin-bottom: 16px; }   /* 탭과 같은 너비(dbody 밖) — dbody 간격과 동일 */
.v2 .spec-grid { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--v2-line); border-left: 1px solid var(--v2-line); font-size: 13px; }
.v2 .spec-item { display: flex; border-bottom: 1px solid var(--v2-line); border-right: 1px solid var(--v2-line); }
.v2 .spec-item dt { flex: 0 0 150px; padding: 12px 14px; background: var(--v2-bg); color: var(--v2-text); font-weight: 700; line-height: 1.5; }
.v2 .spec-item dd { margin: 0; padding: 12px 14px; line-height: 1.5; min-width: 0; overflow-wrap: anywhere; }
/* round103 PT1 → round105 PT2: 배송/교환/반품 안내 표 — 줄(행)과 줄 사이를 10px 띄운다. 예전에는 칸 안쪽 여백만 10px이라
   줄이 선 하나로 붙어 보였다(사용자 지적). 줄마다 테두리를 가진 띠: 항목 칸(옅은 바탕) + 내용 칸 */
.v2 .policy-table { width: 100%; border-collapse: separate; border-spacing: 0 10px; margin: -10px 0 6px; font-size: 14px; line-height: 1.65; }
.v2 .policy-table th, .v2 .policy-table td { padding: 12px 16px; border: 1px solid var(--v2-line); text-align: left; vertical-align: top; }
.v2 .policy-table th { width: 160px; background: #F7F8FA; color: var(--v2-text); font-weight: 700; white-space: nowrap; border-right: 0; border-radius: 8px 0 0 8px; }
.v2 .policy-table td { color: var(--v2-text); word-break: keep-all; border-radius: 0 8px 8px 0; background: #fff; }
.v2 .policy-more { margin: 0; }
.v2 .policy-more .btn { display: inline-flex; align-items: center; gap: 4px; }
@media (max-width: 960px) { .v2 .policy-table th { width: 96px; white-space: normal; padding: 12px; } .v2 .policy-table td { padding: 12px; } }
/* product-disclosure PD5: 필수 표기 정보 — 6개 초과는 접고 [더보기] */
.v2 .disc-grid.folded .spec-item.more { display: none; }
.v2 .disc-more { display: block; width: 100%; margin: 0; padding: 10px 0; border: 1px solid var(--v2-line); border-top: 0; background: var(--v2-bg); color: var(--v2-text); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.v2 .disc-more:hover { background: var(--v2-ink-bg); color: var(--v2-ink); }
.v2 .disc-more::after { content: ""; display: inline-block; width: 12px; height: 12px; background-color: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") center / contain no-repeat; margin-left: 4px; vertical-align: -1px; }
.v2 .disc-more[aria-expanded="true"]::after { content: ""; display: inline-block; width: 12px; height: 12px; background-color: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='18 15 12 9 6 15'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='18 15 12 9 6 15'/%3E%3C/svg%3E") center / contain no-repeat; margin-left: 4px; vertical-align: -1px; }
.v2 .dsec .dlegal { margin: 0 0 12px; }
@media (max-width: 720px) { .v2 .spec-grid { grid-template-columns: 1fr; } .v2 .spec-item dt { flex-basis: 110px; } }
/* 지시 4: 섹션 탭 — 스크롤에 붙는 4등분 탭, 활성 = 밑줄 */
.v2 .dtabs { position: sticky; top: 0; z-index: 20; display: grid; grid-template-columns: repeat(4, 1fr); margin: 24px 0 16px; background: var(--v2-surface); border: 1px solid var(--v2-line); border-radius: 8px; overflow: hidden; }
.v2 .dtabs a { display: flex; align-items: center; justify-content: center; height: 48px; font-size: 15px; font-weight: 700; color: var(--v2-muted); text-decoration: none; border-bottom: 3px solid transparent; border-right: 1px solid var(--v2-line); transition: color .15s, border-color .15s; }
.v2 .dtabs a:last-child { border-right: 0; }
.v2 .dtabs a:hover { color: var(--v2-text); text-decoration: none; background: var(--v2-bg); }
.v2 .dtabs a.on { color: var(--v2-ink); border-bottom-color: var(--v2-ink); }
.v2 .dtabs a:focus-visible { outline: 2px solid var(--c-focus); outline-offset: -3px; }
.v2 .dsec[id] { scroll-margin-top: 64px; }
.v2 .detail-page { scroll-behavior: smooth; }
/* 라운드 57 LP2: 내 주문 페이저 */
.v2 .pager { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 4px; }
.v2 .store-pager { margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--v2-line); } /* store-paging SP5 */
.v2 .pager .pager-nums { display: inline-flex; gap: 2px; }
.v2 .pager .pg { min-width: 32px; height: 32px; padding: 0 6px; display: inline-flex; align-items: center; justify-content: center; border-radius: 4px; font-weight: 700; font-size: 13px; color: var(--v2-text); }
.v2 .pager .pg.on { background: var(--v2-ink); color: #FFFFFF; }
.v2 .pager .pg:hover { text-decoration: none; background: var(--v2-ink-bg); }
.v2 .pager .pg.on:hover { background: var(--v2-ink); }
.v2 .pager .is-disabled { opacity: .45; pointer-events: none; }
.v2 .pager .pager-total { margin-left: auto; font-size: 12px; }
/* review-photos RP2·RP3: 리뷰 사진 */
.v2 .review-photos { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-top: 8px; }
.v2 .review-photos img { width: 72px; height: 72px; object-fit: cover; border-radius: 4px; border: 1px solid var(--v2-line); display: block; }
.v2 .review-photos .rp { position: relative; display: inline-block; }
.v2 .review-photos .rp img { width: 56px; height: 56px; }
.v2 .review-photos .rp .inline-form { position: absolute; top: -6px; right: -6px; margin: 0; }
.v2 .review-photos .rp-x { width: 20px; height: 20px; border-radius: 999px; border: 1px solid var(--v2-line); background: var(--v2-surface); color: var(--v2-muted); font-size: 13px; line-height: 1; cursor: pointer; padding: 0; }
.v2 .review-photos .rp-x:hover { color: var(--v2-sale); border-color: var(--v2-sale); }
/* review-reply RR4: 판매자 답글 */
.v2 .review-reply { margin: 8px 0 4px 12px; padding: 10px 12px; border-left: 3px solid var(--v2-ink); background: var(--v2-ink-bg); border-radius: 0 6px 6px 0; }
.v2 .review-reply-h { font-size: 12px; font-weight: 800; color: var(--v2-ink); display: flex; gap: 6px; align-items: baseline; }
/* restock-alert RA1·RA4 */
.v2 .restock { display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.v2 .restock-form { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.v2 .restock-btn.on { border-color: var(--v2-green); color: var(--v2-green); }
.v2 .restock-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.v2 .restock-item { display: flex; flex-direction: column; gap: 6px; }
.v2 .restock-item .inline-form { margin: 0; }
@media (max-width: 900px) { .v2 .restock-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* round93: claim progress box (order detail / guest order) */
.v2 .claim-progress { background: var(--v2-bg-soft, #F7F8FA); border: 1px solid var(--v2-line); border-radius: 8px; padding: 14px 16px; }
.v2 .claim-progress .cp-t { margin: 0 0 10px; font-size: 13px; font-weight: 700; }
.v2 .claim-progress .cp-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; font-size: 13px; line-height: 1.55; }
.v2 .claim-progress .cp-list li { display: flex; gap: 10px; align-items: flex-start; flex-wrap: wrap; }
.v2 .claim-progress .cp-list .badge { flex: none; }
.v2 .claim-progress .cp-kv { margin: 0; flex: 1 1 260px; display: grid; gap: 6px; }
.v2 .claim-progress .cp-kv div { display: grid; grid-template-columns: 110px 1fr; gap: 8px; }
.v2 .claim-progress .cp-kv dt { color: var(--v2-muted, #6B7280); }
.v2 .claim-progress .cp-kv dd { margin: 0; white-space: pre-line; word-break: break-word; }
@media (max-width: 560px) { .v2 .claim-progress .cp-kv div { grid-template-columns: 1fr; gap: 2px; } }
/* round94: banner title size (S/L; M = default 27px) */
.v2 .hero .bnr.ts-S .t { font-size: 22px; }
.v2 .hero .bnr.ts-L .t { font-size: 34px; line-height: 1.28; }
@media (max-width: 720px) { .v2 .hero .bnr.ts-S .t { font-size: 17px; } .v2 .hero .bnr.ts-L .t { font-size: 22px; } }
/* round98 SJ6·EV2: 가입 폼의 확인 버튼(아이디 중복 확인·이메일 인증번호) — 입력칸 오른쪽 끝, 결과는 칸 아래 */
.v2 .ifield .ifield-btn { flex: none; height: 34px; margin-right: 6px; padding: 0 12px; border: 1px solid var(--v2-ink); border-radius: 6px; background: var(--v2-surface); color: var(--v2-ink); font-family: inherit; font-size: 13px; font-weight: 700; white-space: nowrap; cursor: pointer; }
.v2 .ifield .ifield-btn:hover { background: var(--v2-ink-bg); }
.v2 .ifield .ifield-btn:disabled { opacity: .5; cursor: progress; }
.v2 .check-box { margin: -4px 0 10px; }
.v2 .email-code .code-row input { height: 40px; border: 1px solid var(--v2-line); border-radius: 6px; }
/* round102 LS5: 페이지를 옮길 때 스토어 헤더는 그대로 있고 본문만 짧게 바뀐다(문서 간 View Transitions — 지원 브라우저만) */
@media (prefers-reduced-motion: no-preference) {
  @view-transition { navigation: auto; }
  ::view-transition-old(root), ::view-transition-new(root) { animation-duration: .07s; }   /* round103: .12s → .07s — 이동마다 더해지는 시간을 줄인다 */
  .v2 > header { view-transition-name: a2a-store-header; }
  ::view-transition-group(a2a-store-header) { animation: none; }
  ::view-transition-old(a2a-store-header) { display: none; }
  ::view-transition-new(a2a-store-header) { animation: none; }
}
/* >>> a2a-icons (generated — edit scripts/form-system/a2a-icons.css, then run scripts/form-system/sync.py) */
/* ===== 국산24 아이콘 세트 — 단일 원본. sync.py가 세 app.css와 store-v2.css에 같은 내용을 넣는다(스토어 전용 화면은 app.css를 부르지 않는다) ===== */
/* round95-b: icon set — feather line icons as CSS masks (inherit text color). No emoji / text-symbol icons in UI. */
.ic { display: inline-block; width: 1em; height: 1em; vertical-align: -0.125em; background-color: currentColor; flex: none;
  -webkit-mask: var(--ic) center / contain no-repeat; mask: var(--ic) center / contain no-repeat; }
.ic-lock { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E"); }
.ic-x { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E"); }
.ic-check { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E"); }
.ic-heart { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/%3E%3C/svg%3E"); }
.ic-arrow-up { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='19' x2='12' y2='5'/%3E%3Cpolyline points='5 12 12 5 19 12'/%3E%3C/svg%3E"); }
.ic-arrow-down { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='12' y1='5' x2='12' y2='19'/%3E%3Cpolyline points='19 12 12 19 5 12'/%3E%3C/svg%3E"); }
.ic-chevron-right { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E"); }
.ic-chevron-down { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); }
.ic-chevron-up { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='18 15 12 9 6 15'/%3E%3C/svg%3E"); }
.ic-corner { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 10 20 15 15 20'/%3E%3Cpath d='M4 4v7a4 4 0 0 0 4 4h12'/%3E%3C/svg%3E"); }
.ic-external { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E"); }
.ic-trend-up { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='23 6 13.5 15.5 8.5 10.5 1 18'/%3E%3Cpolyline points='17 6 23 6 23 12'/%3E%3C/svg%3E"); }
.ic-trend-down { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='23 18 13.5 8.5 8.5 13.5 1 6'/%3E%3Cpolyline points='17 18 23 18 23 12'/%3E%3C/svg%3E"); }
.ic-star { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/%3E%3C/svg%3E"); }
.ic-heart-fill { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z'/%3E%3C/svg%3E"); }
.ic-user { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E"); }
.ic-lg { width: 1.25em; height: 1.25em; }
.ic-zap-arrow { --ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 7h9l-3.5 9H20'/%3E%3Cpolyline points='16 12 20 16 16 20'/%3E%3C/svg%3E"); }
/* <<< a2a-icons */
