/* ============================================================
   621 GACHA — B2B Wholesale Mall  (Light Clean Theme)
   ============================================================ */

:root{
  --bg:#f7f8fa;
  --surface:#fff;
  --border:#e5e7eb;
  --border-light:#f0f1f3;
  --text:#1a1a2e;
  --text-sub:#6b7280;
  --text-muted:#9ca3af;
  --accent:#6d28d9;
  --accent-light:#ede9fe;
  --accent-hover:#5b21b6;
  --blue:#2563eb;
  --green:#059669;
  --red:#dc2626;
  --shadow:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);
  --shadow-md:0 4px 12px rgba(0,0,0,.07);
  --shadow-lg:0 8px 25px rgba(0,0,0,.09);
  --radius:12px;
}

/* ── Reset & Base ──────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font-family:'Pretendard',system-ui,-apple-system,'Noto Sans KR','Noto Sans JP',sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* ── Layout ────────────────────────────────────────── */
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.container{max-width:1200px;margin:0 auto;padding:0 20px}

/* ── Sticky Header ─────────────────────────────────── */
.top{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.92);backdrop-filter:blur(12px) saturate(1.5);border-bottom:1px solid var(--border)}
.top__in{display:flex;justify-content:space-between;align-items:center;padding:12px 0;gap:12px}
.brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:17px;letter-spacing:-.3px;color:var(--text);white-space:nowrap}
.logoimg{width:36px;height:36px;border-radius:10px;box-shadow:0 2px 8px rgba(109,40,217,.2)}
.logo{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#7c3aed,#2563eb)}

/* ── Navigation ────────────────────────────────────── */
.nav{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.nav a{padding:7px 12px;border-radius:8px;border:1px solid transparent;font-weight:600;font-size:13px;color:var(--text-sub);transition:all .2s;white-space:nowrap}
.nav a:hover{color:var(--text);background:var(--accent-light)}
.nav a.on{color:var(--accent);background:var(--accent-light);border-color:rgba(109,40,217,.15)}

/* ── Language Switcher ────────────────────────────── */
.lang-switch{display:flex;gap:2px;align-items:center;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:2px;margin-left:auto}
.lang-switch a{padding:4px 8px;border-radius:6px;font-size:11px;font-weight:700;color:var(--text-muted);transition:all .2s;letter-spacing:.3px}
.lang-switch a:hover{color:var(--text);background:var(--surface)}
.lang-switch a.active{background:var(--accent);color:#fff;box-shadow:0 1px 4px rgba(109,40,217,.25)}

/* ── Mobile hamburger ─────────────────────────────── */
.hamburger{display:none;background:none;border:none;cursor:pointer;padding:6px;border-radius:8px;color:var(--text)}
.hamburger svg{width:24px;height:24px}
.hamburger:hover{background:var(--accent-light)}

@media(max-width:768px){
  .hamburger{display:flex;align-items:center;justify-content:center}
  .lang-switch{margin-left:auto;margin-right:4px}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--border);padding:8px 16px 12px;flex-direction:column;align-items:stretch;box-shadow:var(--shadow-md);gap:2px}
  .nav.open{display:flex}
  .nav a{padding:10px 14px;border-radius:10px;font-size:14px;text-align:left}
  .nav a:hover,.nav a.on{background:var(--accent-light)}
  .top__in{position:relative}
}

/* ── Buttons ───────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;padding:9px 16px;border:1px solid var(--border);border-radius:8px;font-weight:600;font-size:13px;cursor:pointer;transition:all .2s;background:var(--surface);color:var(--text)}
.btn:hover{border-color:#d1d5db;background:#f9fafb;box-shadow:var(--shadow)}
.primary{background:linear-gradient(135deg,var(--accent),var(--blue));border-color:transparent;color:#fff;font-weight:700}
.primary:hover{opacity:.92;box-shadow:0 4px 16px rgba(109,40,217,.25)}
.primary:active,.primary:focus{color:#fff;background:linear-gradient(135deg,var(--accent-hover),var(--blue));outline:none;box-shadow:0 0 0 3px rgba(109,40,217,.2)}

/* ── Store Header (Smartstore-style) ───────────────── */
.storebar{display:flex;gap:16px;align-items:center;margin:20px 0 8px;padding:16px 20px;border-radius:var(--radius);background:linear-gradient(135deg,#f5f3ff,#eff6ff);border:1px solid #e9e5ff}
.storebadge img{width:52px;height:52px;border-radius:14px;box-shadow:0 2px 12px rgba(109,40,217,.15)}
.storemeta{display:flex;flex-direction:column;gap:3px}
.storemeta .name{font-weight:900;font-size:20px;letter-spacing:-.3px;color:var(--accent)}
.storemeta .sub{color:var(--text-sub);font-size:12px;font-weight:500}
.rating{display:flex;gap:5px;align-items:center;font-size:12px;color:var(--text-sub)}
.star{width:14px;height:14px;display:inline-block;background:linear-gradient(135deg,#facc15,#f97316);clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}

/* ── Hero Banner ───────────────────────────────────── */
.banner{border-radius:16px;overflow:hidden;border:1px solid var(--border-light);margin:12px 0 20px;box-shadow:var(--shadow)}
.banner img{width:100%;height:auto;display:block}

/* ── Category Chips ────────────────────────────────── */
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 16px}
.chip{padding:7px 14px;border-radius:999px;border:1px solid var(--border);font-size:12px;font-weight:600;color:var(--text-sub);transition:all .2s;cursor:pointer;background:var(--surface)}
.chip:hover,.chip.active{background:var(--accent-light);border-color:rgba(109,40,217,.25);color:var(--accent)}

/* ── Section Titles ────────────────────────────────── */
.sectiontitle{display:flex;justify-content:space-between;align-items:end;margin:28px 0 14px;padding-bottom:8px;border-bottom:1px solid var(--border-light)}
.sectiontitle h2{margin:0;font-size:18px;font-weight:800;letter-spacing:-.3px;color:var(--text)}
.sectiontitle a{font-size:12px;color:var(--accent);font-weight:600;transition:color .2s}
.sectiontitle a:hover{color:var(--accent-hover)}

/* ── Product Grid ──────────────────────────────────── */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:960px){.grid4{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.grid4{grid-template-columns:repeat(2,1fr);gap:10px}}
@media(max-width:900px){.grid3{grid-template-columns:1fr}}

/* ── Product Card (Home) ───────────────────────────── */
.productcard{display:block;transition:transform .2s}
.productcard:hover{transform:translateY(-4px)}
.productcard .thumb{aspect-ratio:1/1;overflow:hidden;border-radius:var(--radius);border:1px solid var(--border-light);background:#f9fafb;position:relative}
.productcard .thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}
.productcard:hover .thumb img{transform:scale(1.05)}
.productcard .pname{margin:10px 0 4px;font-weight:700;font-size:13px;line-height:1.35;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.productcard .pmeta{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--text-muted)}
.productcard .pmeta span:last-child{font-weight:700;color:var(--text)}

/* ── Product Card (List Page) ──────────────────────── */
.prod{border:1px solid var(--border-light);background:var(--surface);border-radius:var(--radius);overflow:hidden;transition:all .25s}
.prod:hover{border-color:rgba(109,40,217,.2);box-shadow:var(--shadow-lg);transform:translateY(-3px)}
.prod__img{aspect-ratio:1/1;overflow:hidden;background:#f9fafb}
.prod__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}
.prod:hover .prod__img img{transform:scale(1.04)}
.prod__body{padding:14px}
.sku{font-size:11px;color:var(--accent);font-weight:600;letter-spacing:.3px;opacity:.7}
.name{font-weight:800;margin:4px 0 8px;font-size:14px;line-height:1.3;color:var(--text)}
.meta{display:flex;gap:10px;font-size:12px;color:var(--text-muted);flex-wrap:wrap}
.price{margin-top:8px;font-size:13px;color:var(--text-sub);display:grid;gap:4px}
.wh{color:var(--green);font-weight:700}
.lock{color:var(--text-muted);font-style:italic;font-size:12px}
.ph{height:170px;display:grid;place-items:center;color:var(--text-muted)}
.ph.big{height:320px}

/* ── Series Badge ──────────────────────────────────── */
.series-badge{position:absolute;top:8px;left:8px;padding:4px 10px;border-radius:8px;font-size:10px;font-weight:700;background:rgba(109,40,217,.85);color:#fff;z-index:2}
.preorder-badge{position:absolute;top:8px;right:8px;padding:4px 10px;border-radius:8px;font-size:10px;font-weight:700;background:rgba(220,38,38,.85);color:#fff;z-index:2}

/* ── Detail Page ───────────────────────────────────── */
.detail{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;padding:20px 0}
@media(max-width:900px){.detail{grid-template-columns:1fr}}
.detail__img{border:1px solid var(--border-light);border-radius:16px;overflow:hidden;background:#f9fafb;aspect-ratio:1/1;box-shadow:var(--shadow)}
.detail__img img{width:100%;height:100%;object-fit:cover;display:block}
.desc{color:var(--text-sub);font-size:14px;line-height:1.7}
.kv{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:16px 0;color:var(--text-sub);font-size:13px}
.kv div{padding:10px 12px;border-radius:10px;background:#f9fafb;border:1px solid var(--border-light)}
.kv b{display:block;font-size:11px;color:var(--text-muted);margin-bottom:4px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}
.pricebox{border:1px solid #e9e5ff;border-radius:14px;padding:16px;background:linear-gradient(135deg,#f5f3ff,#eff6ff);margin:12px 0}
.pricebox div{padding:4px 0}
.addcart{display:flex;gap:8px;align-items:center;margin-top:14px;flex-wrap:wrap}
.addcart input{width:100px;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:14px;font-weight:600}

/* ── Cards ─────────────────────────────────────────── */
.card{border:1px solid var(--border-light);background:var(--surface);padding:20px;border-radius:var(--radius);transition:box-shadow .2s;box-shadow:var(--shadow)}
.card:hover{box-shadow:var(--shadow-md)}
.card h3{margin:0;font-size:15px;color:var(--text)}
.muted{color:var(--text-sub);font-size:13px;line-height:1.7}

/* ── Service Cards (Home) — icon = full SVG shown ──── */
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:10px 0 20px}
@media(max-width:900px){.service-grid{grid-template-columns:1fr}}
.service-card{padding:24px 20px;border-radius:var(--radius);border:1px solid var(--border-light);background:var(--surface);transition:all .25s;box-shadow:var(--shadow)}
.service-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.service-card .icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;margin-bottom:14px;overflow:hidden}
.service-card .icon img{width:44px;height:44px;border-radius:12px}
.service-card h3{font-size:14px;margin:0 0 6px;font-weight:800;color:var(--text)}
.service-card p{font-size:12px;color:var(--text-muted);margin:0;line-height:1.7}

/* ── Filters ───────────────────────────────────────── */
.filters{display:flex;gap:8px;margin:14px 0;flex-wrap:wrap}
.filters input,.filters select{flex:1;padding:10px 14px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);min-width:140px;font-size:13px;transition:border-color .2s}
.filters input:focus,.filters select:focus{outline:none;border-color:var(--accent)}
.filters input::placeholder{color:var(--text-muted)}
@media(max-width:600px){.filters{flex-direction:column}.filters input,.filters select{min-width:auto}}

/* ── Table ─────────────────────────────────────────── */
.tbl{width:100%;border-collapse:collapse;margin:12px 0}
.tbl th,.tbl td{border-bottom:1px solid var(--border-light);padding:12px 10px;text-align:left;vertical-align:top;font-size:13px}
.tbl th{color:var(--text-muted);font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.5px}

/* ── Forms ─────────────────────────────────────────── */
.form{display:grid;gap:12px;max-width:560px}
.form input,.form textarea,.form select{padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:14px;transition:border-color .2s}
.form input:focus,.form textarea:focus,.form select:focus{outline:none;border-color:var(--accent)}
.form label{font-size:13px;font-weight:600;color:var(--text-sub);display:grid;gap:4px}

/* ── Footer ────────────────────────────────────────── */
.footer{border-top:1px solid var(--border);margin-top:40px;padding:24px 0;color:var(--text-muted);font-size:12px;background:#fff}
.footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.footer-links{display:flex;gap:16px}
.footer-links a{color:var(--text-sub);font-size:12px;transition:color .2s}
.footer-links a:hover{color:var(--accent)}
.fine{color:var(--text-muted);font-size:12px;line-height:1.7}

/* ── Admin ─────────────────────────────────────────── */
.adminbar{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 18px}
.adminbar a{border:1px solid var(--border);background:var(--surface);padding:8px 12px;border-radius:10px;font-size:13px;transition:all .2s}
.adminbar a:hover{background:#f9fafb;box-shadow:var(--shadow)}
.badge{margin-left:6px;background:var(--accent-light);border:1px solid rgba(109,40,217,.2);padding:2px 8px;border-radius:999px;font-weight:800;font-size:11px;color:var(--accent)}

.inline{display:flex;align-items:center;gap:10px}

/* ── Admin Dashboard Cards ────────────────────────── */
.dash-card{display:flex;align-items:center;gap:16px;padding:20px}
.dash-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;flex-shrink:0}
.dash-icon svg{width:24px;height:24px}
.dash-data{flex:1;min-width:0}
.dash-num{font-size:28px;font-weight:900;letter-spacing:-.5px;color:var(--text);line-height:1.2}
.dash-label{font-size:12px;color:var(--text-muted);font-weight:600;margin-top:2px}
.dash-sub{font-size:11px;font-weight:700;margin-top:4px}

/* ── Stats Grid (Home) ─────────────────────────────── */
.stats-bar{display:flex;gap:12px;margin:16px 0;flex-wrap:wrap}
.stat-item{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:10px;background:var(--surface);border:1px solid var(--border-light);font-size:12px;color:var(--text-sub);box-shadow:var(--shadow)}
.stat-item strong{color:var(--accent);font-size:16px;font-weight:800}
@media(max-width:600px){.stats-bar{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.stat-item{padding:8px 12px}}

/* ── Preorder Card Highlight ───────────────────────── */
.prod.preorder-highlight{border-color:rgba(220,38,38,.15);background:linear-gradient(145deg,#fef2f2,#fff)}
.prod.preorder-highlight:hover{border-color:rgba(220,38,38,.3)}

/* ── Notice/About/Contact Pages ────────────────────── */
h2{font-size:20px;font-weight:800;margin:20px 0 12px;letter-spacing:-.3px;color:var(--text)}
h2+.fine{margin-top:-6px;margin-bottom:16px}

/* ── Scroll Animation ──────────────────────────────── */
@keyframes fadeInUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.grid4 > *,.grid3 > *,.service-grid > *{animation:fadeInUp .4s ease both}
.grid4 > *:nth-child(1),.grid3 > *:nth-child(1),.service-grid > *:nth-child(1){animation-delay:.05s}
.grid4 > *:nth-child(2),.grid3 > *:nth-child(2),.service-grid > *:nth-child(2){animation-delay:.1s}
.grid4 > *:nth-child(3),.grid3 > *:nth-child(3),.service-grid > *:nth-child(3){animation-delay:.15s}
.grid4 > *:nth-child(4){animation-delay:.2s}
.grid4 > *:nth-child(5){animation-delay:.25s}
.grid4 > *:nth-child(6){animation-delay:.3s}
.grid4 > *:nth-child(7){animation-delay:.35s}
.grid4 > *:nth-child(8){animation-delay:.4s}

/* ── Empty state ───────────────────────────────────── */
.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted)}

/* ── Login Page ───────────────────────────────────── */
.login-wrap{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:60px 16px}
.login-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:40px 32px;box-shadow:var(--shadow-lg)}
.login-header{text-align:center;margin-bottom:28px}
.login-header img{margin:0 auto 12px}
.login-header h2{margin:0 0 4px;font-size:22px;font-weight:800}
.login-header p{color:var(--text-muted);font-size:13px;margin:0}
.login-error{background:#fef2f2;color:var(--red);border:1px solid #fecaca;border-radius:8px;padding:10px 14px;margin-bottom:16px;font-size:13px;text-align:center}
.login-form .field{margin-bottom:16px}
.login-form label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--text-sub)}
.login-form input[type="email"],.login-form input[type="password"],.login-form input[type="text"]{width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:10px;font-size:14px;background:var(--bg);color:var(--text);transition:border .2s;box-sizing:border-box}
.login-form input::placeholder{color:var(--text-muted)}
.login-form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(109,40,217,.1)}
.pass-wrap{position:relative}
.pass-wrap input{padding-right:40px}
.pass-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--text-muted);padding:4px;display:flex;align-items:center}
.pass-toggle:hover{color:var(--text)}
.login-btn{width:100%;padding:12px;font-size:15px;margin-top:8px;border-radius:10px}

/* ── Trending Keywords ────────────────────────────── */
.trending-section{margin:16px 0;padding:16px;background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius)}
.trending-title{font-size:14px;font-weight:800;margin:0 0 12px;display:flex;align-items:center;gap:6px}
.trending-tags{display:flex;flex-wrap:wrap;gap:8px}
.trending-tag{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;background:var(--bg);border:1px solid var(--border);border-radius:20px;color:var(--text-sub);font-size:12px;font-weight:600;text-decoration:none;transition:all .2s}
.trending-tag:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}
.trending-tag.hot{border-color:rgba(124,58,237,.3);color:var(--accent);background:rgba(124,58,237,.04)}
.trending-rank{font-weight:800;color:var(--accent);font-size:11px;min-width:16px}
.trending-badge{background:var(--red);color:#fff;font-size:9px;font-weight:800;padding:1px 5px;border-radius:6px;letter-spacing:.5px}

/* ── Announcement Banner ──────────────────────────── */
.announce-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:10px;margin:12px 0 0;font-size:13px;line-height:1.5;border:1px solid rgba(0,0,0,.08)}
.announce-icon{flex-shrink:0;font-size:18px;line-height:1}
.announce-text{flex:1;min-width:0}
.announce-text strong{display:block;font-weight:700;font-size:14px}
.announce-detail{display:block;margin-top:4px;opacity:.8;font-size:12px}
.announce-close{background:none;border:none;font-size:20px;cursor:pointer;padding:4px 8px;opacity:.6;color:inherit;line-height:1;flex-shrink:0}
.announce-close:hover{opacity:1}

/* ── Site Popup Modal ─────────────────────────────── */
.popup-overlay{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;padding:24px}
.popup-modal{background:var(--surface);border-radius:14px;max-width:340px;width:100%;padding:24px 20px;box-shadow:var(--shadow-lg);position:relative;animation:fadeInUp .3s ease}
.popup-modal h3{margin:0 0 10px;font-size:15px;font-weight:800}
.popup-modal p{margin:0 0 14px;color:var(--text-sub);font-size:13px;line-height:1.6}
.popup-close{position:absolute;top:8px;right:8px;background:none;border:none;font-size:20px;cursor:pointer;color:var(--text-muted);padding:4px 8px}
.popup-close:hover{color:var(--text)}
.popup-today{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-muted);margin-top:10px;padding-top:10px;border-top:1px solid var(--border-light)}
.popup-today input{accent-color:var(--accent)}

/* ── Registration Form ────────────────────────────── */
.reg-wrap{max-width:640px;margin:0 auto;padding:20px 0 40px}
.reg-section{margin-bottom:24px}
.reg-section h3{font-size:15px;font-weight:700;color:var(--accent);margin:0 0 14px;padding-bottom:8px;border-bottom:1px solid var(--border-light);display:flex;align-items:center;gap:8px}
.reg-section h3 svg{width:18px;height:18px;opacity:.7}
.reg-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.reg-field{display:grid;gap:4px;margin-bottom:14px}
.reg-field label{font-size:13px;font-weight:600;color:var(--text-sub)}
.reg-field label .req{color:var(--red);margin-left:2px}
.reg-field input,.reg-field select,.reg-field textarea{padding:11px 14px;border:1px solid var(--border);border-radius:10px;font-size:14px;background:var(--bg);color:var(--text);transition:border .2s;width:100%;box-sizing:border-box}
.reg-field input:focus,.reg-field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(109,40,217,.1)}
.reg-field input:read-only{background:#f3f4f6;cursor:default}
.reg-field input::placeholder{color:var(--text-muted)}
.field-hint{font-size:11px;color:var(--text-muted);margin-top:2px}
.field-error{font-size:11px;color:var(--red);margin-top:2px;display:none}
.field-error.show{display:block}
.field-ok{font-size:11px;color:var(--green);margin-top:2px;display:none}
.field-ok.show{display:block}
.input-group{display:flex;gap:8px}
.input-group input{flex:1}
.input-group .btn{flex-shrink:0;white-space:nowrap;height:auto}
.pass-strength{height:4px;border-radius:2px;margin-top:4px;background:var(--border);overflow:hidden}
.pass-strength-bar{height:100%;border-radius:2px;transition:width .3s,background .3s;width:0}
.terms-box{max-height:150px;overflow-y:auto;padding:12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:12px;color:var(--text-sub);margin:6px 0;line-height:1.7;white-space:pre-wrap}
.agree-row{display:flex;align-items:center;gap:8px;padding:8px 0}
.agree-row input[type="checkbox"]{accent-color:var(--accent);width:18px;height:18px;flex-shrink:0}
.agree-row label{font-size:13px;font-weight:600;color:var(--text-sub);cursor:pointer}
.agree-all{padding:12px 14px;background:var(--accent-light);border-radius:10px;margin-bottom:8px;border:1px solid rgba(109,40,217,.1)}
.error-list{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:14px 14px 14px 32px;margin-bottom:16px}
.error-list li{color:var(--red);font-size:13px;margin:4px 0}
.reg-submit{margin-top:8px}
.reg-submit .btn{width:100%;padding:14px;font-size:15px}

/* ── Market (중고장터) ─────────────────────────────── */
.market-card .prod__body{padding:12px}
.market-status-badge{position:absolute;top:8px;left:8px;padding:3px 10px;border-radius:6px;font-size:10px;font-weight:800;z-index:2;letter-spacing:.3px}
.badge-selling{background:rgba(5,150,105,.9);color:#fff}
.badge-reserved{background:rgba(109,40,217,.9);color:#fff}
.badge-completed{background:rgba(107,114,128,.85);color:#fff}

/* ── Equipment (장비시세) ─────────────────────────── */
.equip-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:20px}
@media(max-width:700px){.equip-grid{grid-template-columns:1fr}}
.equip-card{padding:0;overflow:hidden}
.equip-img{width:100%;height:200px;overflow:hidden;background:var(--bg);display:flex;align-items:center;justify-content:center}
.equip-img img{width:100%;height:100%;object-fit:contain;padding:8px}
.equip-card .equip-header,.equip-card .equip-prices,.equip-card>div:not(.equip-img){padding-left:18px;padding-right:18px}
.equip-card .equip-header{padding-top:14px}
.equip-card>a:last-of-type,.equip-card>div:last-child{padding-bottom:16px}
.equip-prices{display:flex;gap:16px;margin:10px 0;flex-wrap:wrap}
.equip-price-item{display:flex;flex-direction:column;gap:2px}
.equip-price-label{font-size:11px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.3px}
.equip-price-value{font-size:15px;font-weight:800;color:var(--text)}

/* ── WSJ Monitor ──────────────────────────────────── */
.wsj-prod{position:relative}
.wsj-sold-out{opacity:.6}
.wsj-sold-out:hover{opacity:.85}
.wsj-imported{border-color:rgba(5,150,105,.2);background:linear-gradient(145deg,#f0fdf4,#fff)}
.wsj-imported:hover{border-color:rgba(5,150,105,.3)}
.wsj-event-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--red);animation:pulse 1.5s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}

/* ── Mobile tweaks ─────────────────────────────────── */
@media(max-width:600px){
  .storebar{flex-direction:column;text-align:center;padding:16px}
  .storemeta{align-items:center}
  .rating{justify-content:center}
  .sectiontitle h2{font-size:16px}
  .productcard .pname{font-size:12px}
  .kv{grid-template-columns:1fr}
  .chips{gap:6px}
  .chip{padding:6px 10px;font-size:11px}
  .reg-row{grid-template-columns:1fr}
  .popup-modal{max-width:280px;padding:18px 14px}
  .equip-prices{flex-direction:column;gap:8px}
}
