*{box-sizing:border-box}
html{overflow-x:hidden}
body{font-family:-apple-system,BlinkMacSystemFont,'Malgun Gothic',sans-serif;margin:0;color:#1f2937;background:#fff;line-height:1.6;overflow-x:clip}
.wrap{max-width:960px;margin:0 auto;padding:0 20px}
@media(max-width:600px){
  .wrap{padding:0 6px}
  header.site{padding:12px 0}
  .hero{padding:32px 0}
  .section{padding:24px 0}
  .cat-card-grid{gap:8px}
  .cat-card{padding:14px 14px}
  .card-grid{gap:8px}
  .grid{gap:8px}
}
header.site{border-bottom:1px solid #eee;padding:16px 0}
header.site .wrap{display:flex;justify-content:space-between;align-items:center}
.logo{font-weight:700;font-size:20px;color:#111827;text-decoration:none}
nav.main a{color:#374151;text-decoration:none;margin-left:20px;font-size:14px}
nav.main a:hover{color:#7c3aed}
nav.main a.nav-shop{background:#fef2f2;color:#e11d48;font-weight:700;padding:8px 14px;border-radius:999px;margin-left:16px}
nav.main a.nav-shop:hover{background:#fee2e2;color:#dc2626}
.hero{background:#f9fafb;padding:56px 0}
.hero .tag{display:inline-block;background:#ede9fe;color:#5b21b6;font-size:12px;padding:4px 10px;border-radius:999px;margin-bottom:12px}
.hero h1{font-size:32px;margin:0 0 12px}
.hero p{color:#6b7280;font-size:15px;margin:0}
.section{padding:40px 0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.grid a{display:block;background:#f9fafb;border:1px solid #eee;border-radius:10px;padding:18px;text-decoration:none;color:#111827;font-size:14px}
.grid a:hover{border-color:#7c3aed;color:#7c3aed}
.blog a{display:block;padding:12px 0;border-bottom:1px solid #f0f0f0;text-decoration:none;color:#111827;font-size:15px}
.blog a:hover{color:#7c3aed}
.check{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.check div{background:#f9fafb;padding:14px;border-radius:8px;font-size:14px}
.article p{font-size:15px;color:#374151;margin-bottom:14px}
.article h2{font-size:20px;margin:28px 0 12px;color:#111827}
.faq{margin-top:8px}
.faq-item{background:#f9fafb;border-radius:8px;padding:14px 16px;margin-bottom:10px}
.faq-q{font-weight:600;color:#111827;margin:0 0 6px;font-size:14px}
.faq-a{color:#4b5563;margin:0;font-size:14px}
footer.site{border-top:1px solid #eee;padding:24px 0;color:#9ca3af;font-size:13px;margin-top:40px}

/* --- 목차 --- */
.toc{background:#f9fafb;border:1px solid #eee;border-radius:10px;padding:16px 20px;margin:24px 0}
.toc strong{display:block;margin-bottom:10px;font-size:14px;color:#111827}
.toc-links{display:flex;flex-wrap:wrap;gap:8px 16px}
.toc-links a{font-size:13px;color:#4b5563;text-decoration:none}
.toc-links a:hover{color:#7c3aed}

/* --- 카드 그리드 (퀵파인드/관련항목) --- */
.section.alt{background:#f9fafb}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-top:14px}
.card{display:block;background:#fff;border:1px solid #eee;border-radius:10px;padding:16px 18px;text-decoration:none;color:#111827}
.card h3{margin:0 0 6px;font-size:15px}
.card .arrow{font-size:12px;color:#7c3aed}
.card:hover{border-color:#7c3aed}

/* --- info-strip --- */
.info-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:20px 0;background:#f9fafb;border-radius:10px;padding:16px}
.info-strip div{font-size:13px}
.info-strip b{display:block;color:#111827;margin-bottom:4px}
.info-strip span{color:#6b7280}

/* --- 표 --- */
.table-wrap{overflow-x:auto;margin:20px 0}
.table-wrap table{width:100%;border-collapse:collapse;font-size:14px}
.table-wrap th,.table-wrap td{border:1px solid #eee;padding:10px 12px;text-align:left}
.table-wrap th{background:#f9fafb;color:#111827}
.table-wrap td{color:#4b5563}

/* --- 카드 설명(blurb) --- */
.card p{font-size:13px;color:#6b7280;margin:0 0 8px}

/* --- 체크리스트 노트카드 --- */
.note-card{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:16px 20px;margin:20px 0}
.note-card strong{display:block;margin-bottom:8px;color:#111827;font-size:14px}
.check-list{margin:0;padding-left:18px;font-size:14px;color:#374151}
.check-list li{margin-bottom:4px}

/* --- 메인 카테고리 카드 (제목+내용 묶음, 탭/스크롤 없음) --- */
.cat-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.cat-card{background:#fff;border:1px solid #eee;border-radius:12px;padding:20px 22px;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.cat-card-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:12px}
.cat-card-title h3{margin:0;font-size:16.5px;color:#111827}
.cat-card-title a{font-size:12px;color:#7c3aed;text-decoration:none;white-space:nowrap}
.cat-card-desc{font-size:13px;color:#9ca3af;margin:0 0 12px;line-height:1.5}
.cat-card-items{display:flex;flex-wrap:wrap;gap:7px}
.cat-card-items a{font-size:12.5px;color:#4b5563;background:#f3f4f6;border-radius:6px;padding:6px 10px;text-decoration:none;transition:.15s}
.cat-card-items a:hover{background:#ede9fe;color:#7c3aed}
.cat-card-items .more{color:#9ca3af;font-size:12px;padding:6px 4px}

@media (max-width:560px){
  .cat-card-grid{grid-template-columns:1fr 1fr}
  .cat-card{padding:16px 16px}
}
@media (max-width:400px){
  .cat-card-grid{grid-template-columns:1fr}
}

/* --- 상세페이지 설명 라인 (h1 아래) --- */
.node-desc{color:#6b7280;font-size:14.5px;margin:10px 0 0;max-width:640px}

/* --- 해시태그 (본문 하단) --- */
.hashtags{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 4px;padding-top:20px;border-top:1px solid #f0f0f0}
.hashtags a{font-size:13px;color:#7c3aed;background:#eff6ff;border-radius:999px;padding:6px 12px;text-decoration:none;transition:.15s}
.hashtags a:hover{background:#dbeafe}

/* --- 태그 클라우드 (tag.php 전체 인덱스) --- */
.tag-cloud{display:flex;flex-wrap:wrap;gap:10px}
.tag-cloud a{font-size:13.5px;color:#374151;background:#f9fafb;border:1px solid #eee;border-radius:999px;padding:8px 14px;text-decoration:none;transition:.15s}
.tag-cloud a:hover{border-color:#7c3aed;color:#7c3aed}
.tag-cloud a span{color:#9ca3af;font-size:12px;margin-left:4px}

/* ============================================================
 * 광고 스키마 (상/중/하 가로 슬라이딩 스트립 + PC 퀵메뉴 좌우 고정 레일)
 * 관리자 > 광고 스키마 관리 에서 카테고리별로 등록한 상품이 여기 스타일로 노출됨
 * ============================================================ */
.ads-strip-wrap{padding:28px 0}
.ads-strip-title{font-size:19px;font-weight:900;color:#0f172a;margin:0 0 4px}
.ads-strip-disclosure{font-size:11.5px;color:#94a3b8;margin:0 0 12px}
.ads-strip-viewport{position:relative;overflow:hidden}
.ads-strip-track{display:flex;gap:14px;overflow-x:auto;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0 2px 6px}
.ads-strip-track::-webkit-scrollbar{display:none}
.ads-strip-card{flex:0 0 auto;width:210px;background:#fff;border:1px solid #eef0f2;border-radius:14px;overflow:hidden;text-decoration:none;color:#0f172a;display:block;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.ads-strip-thumb{width:100%;height:210px;background:#f1f5f9;overflow:hidden}
.ads-strip-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ads-strip-body{padding:12px}
.ads-strip-name{font-size:14px;font-weight:800;margin:0 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ads-strip-desc{font-size:12px;color:#64748b;line-height:1.4;margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:34px}
.ads-strip-saleline{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap}
.ads-strip-pct{font-size:15px;font-weight:900;color:#e11d48}
.ads-strip-sale{font-size:16px;font-weight:900;color:#0f172a}
.ads-strip-price{font-size:12px;color:#94a3b8;text-decoration:line-through}
.ads-strip-arrow{position:absolute;top:95px;width:38px;height:38px;border-radius:50%;background:rgba(15,23,42,.55);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;z-index:5;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.ads-strip-arrow:hover{background:rgba(15,23,42,.75)}
.ads-strip-arrow.is-hidden{opacity:0;pointer-events:none}
.ads-strip-arrow-next{right:8px}
.ads-strip-arrow-prev{left:8px}

/* 그리드 모드(관리자에서 표시방식=그리드로 설정한 스킴): 슬라이딩 트랙을 grid로 전환, 화살표 없이 컨텐츠 너비에 맞춰 줄바꿈 */
.ads-strip-wrap.ads-strip-grid .ads-strip-track{display:grid;grid-template-columns:repeat(var(--cols,4),1fr);gap:14px;overflow:visible;padding:0}
.ads-strip-wrap.ads-strip-grid .ads-strip-card{width:auto;min-width:0}
.ads-strip-wrap.ads-strip-grid .ads-strip-thumb{height:auto;aspect-ratio:1/1}
.ads-strip-wrap.ads-strip-grid .ads-strip-banner{height:auto;min-height:150px}
@media(max-width:1024px){
  .ads-strip-wrap.ads-strip-grid .ads-strip-track{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:600px){
  .ads-strip-wrap.ads-strip-grid .ads-strip-track{grid-template-columns:repeat(var(--cols-mobile,2),1fr);gap:10px}
}

/* --- 이미지 없이 등록된 상품: 썸네일 대신 그라디언트 배너 느낌으로 대체 --- */
.ads-strip-card.is-banner{border:none}
.ads-strip-banner{width:100%;height:210px;display:flex;flex-direction:column;justify-content:flex-end;padding:18px;box-sizing:border-box;color:#fff}
.ads-banner-badge{align-self:flex-start;font-size:10px;font-weight:800;letter-spacing:.04em;background:rgba(255,255,255,.22);padding:2px 7px;border-radius:5px;margin-bottom:auto}
.ads-banner-title{font-size:16.5px;font-weight:900;line-height:1.35;margin:0 0 6px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 2px rgba(0,0,0,.15)}
.ads-banner-desc{font-size:12px;opacity:.92;line-height:1.4;margin:0 0 10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ads-banner-cta{font-size:12.5px;font-weight:800;display:inline-flex;align-items:center;gap:3px;background:rgba(255,255,255,.18);padding:5px 10px;border-radius:999px;align-self:flex-start}
.ads-bg-1{background:linear-gradient(135deg,#6366f1,#8b5cf6)}
.ads-bg-2{background:linear-gradient(135deg,#0ea5e9,#22d3ee)}
.ads-bg-3{background:linear-gradient(135deg,#f43f5e,#fb923c)}
.ads-bg-4{background:linear-gradient(135deg,#10b981,#34d399)}
.ads-bg-5{background:linear-gradient(135deg,#f59e0b,#f97316)}
.ads-bg-6{background:linear-gradient(135deg,#334155,#0f172a)}
@media(max-width:640px){
  .ads-strip-banner{height:150px;padding:14px}
  .ads-banner-title{font-size:14px}
  .ads-banner-desc{font-size:11px}
  .ads-banner-cta{font-size:11px}
}
@media(max-width:640px){
  .ads-strip-wrap{padding:14px 0}
  .ads-strip-title{font-size:16px}
  .ads-strip-card{width:150px}
  .ads-strip-thumb{height:150px}
  .ads-strip-name{font-size:13px}
  .ads-strip-desc{font-size:11px;min-height:30px}
  .ads-strip-sale{font-size:14px}
  .ads-strip-arrow{width:32px;height:32px;font-size:14px;top:60px}
}

/* --- PC 전용 퀵메뉴(좌/우 고정 사이드 레일) --- */
.ads-quick{position:fixed;top:50%;transform:translateY(-50%);width:130px;display:flex;flex-direction:column;gap:10px;z-index:40}
.ads-quick-left{left:max(8px, calc(50% - 660px))}
.ads-quick-right{right:max(8px, calc(50% - 660px))}
.ads-quick-card{display:block;background:#fff;border:1px solid #eef0f2;border-radius:10px;overflow:hidden;text-decoration:none;color:#0f172a;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.ads-quick-thumb{display:block;width:100%;height:130px;background:#f1f5f9}
.ads-quick-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ads-quick-name{display:block;font-size:11.5px;font-weight:700;padding:6px 8px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ads-quick-price{display:block;font-size:12px;font-weight:900;color:#e11d48;padding:2px 8px 8px}
.ads-quick-banner{display:flex;align-items:flex-end;width:100%;height:88px;padding:8px;box-sizing:border-box;color:#fff}
.ads-quick-banner-title{font-size:11.5px;font-weight:800;line-height:1.3;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-shadow:0 1px 2px rgba(0,0,0,.15)}
@media(max-width:1400px){
  .ads-quick{display:none}
}

/* --- 아이템 채팅 패널 (오섹시 이식) --- */
/* 아이템 채팅 패널 (2026-09) */
.jc-chat .jc-chat-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.jc-chat .jc-chat-head h2 { margin: 0; }
.jc-chat .jc-chat-toggle { border: 1px solid #ccc; background: #fff; border-radius: 6px; padding: 4px 10px; cursor: pointer; font-size: .85em; }
.jc-chat .jc-chat-desc { margin: 8px 0; font-size: .92em; color: #555; }
.jc-chat .jc-chat-list { height: 320px; overflow-y: auto; border: 1px solid #ddd; border-radius: 10px; background: #fafafa; padding: 10px; }
.jc-chat .jc-chat-empty { color: #888; text-align: center; padding: 24px 0; font-size: .92em; }
.jc-chat .jc-msg { margin: 0 0 6px; line-height: 1.5; word-break: break-word; font-size: .95em; }
.jc-chat .jc-msg .n { font-weight: 700; margin-right: 6px; color: #444; }
.jc-chat .jc-msg.me .n { color: #1a73e8; }
.jc-chat .jc-msg .tm { margin-left: 6px; font-size: .75em; color: #999; }
.jc-chat .jc-msg .act { margin-left: 6px; border: 0; background: none; color: #b33; font-size: .75em; cursor: pointer; padding: 0; }
.jc-chat .jc-msg.sys { color: #666; background: #eef3ff; border-radius: 8px; padding: 8px 10px; font-size: .88em; }
.jc-chat .jc-chat-form { display: flex; gap: 6px; margin-top: 8px; }
.jc-chat .jc-chat-form input[name=m] { flex: 1; min-width: 0; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 1em; }
.jc-chat .jc-chat-form button { padding: 10px 16px; border: 0; border-radius: 8px; background: #1a73e8; color: #fff; cursor: pointer; font-size: 1em; }
.jc-chat .jc-chat-form button:disabled { opacity: .6; cursor: default; }
.jc-chat .jc-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.jc-chat .jc-chat-note { min-height: 1.2em; margin-top: 4px; font-size: .85em; color: #b33; }
.jc-chat .jc-chat-open { display: inline-block; margin-top: 6px; font-size: .9em; }
.jc-chat-link { margin: 10px 0; }

/* 채팅 관리자/공지/HTML (2026-09) */
.jc-chat [hidden] { display: none !important; }
.jc-chat .jc-chat-tools { display: flex; gap: 6px; }
.jc-chat .jc-admin-btn { border: 1px solid #ccc; background: #fff; border-radius: 6px; padding: 4px 10px; cursor: pointer; font-size: .85em; color: #555; }
.jc-chat .jc-chat-pin { display: block; margin: 8px 0; padding: 8px 12px; border-radius: 8px; background: #fff7d6; border: 1px solid #f0d878; font-size: .92em; }
.jc-chat .jc-chat-pin-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 4px; }
.jc-chat .jc-chat-pin-label { font-weight: 700; }
.jc-chat .jc-chat-pin-actions { display: flex; gap: 10px; flex: none; }
.jc-chat .jc-chat-pin button { border: 0; background: none; color: #b33; font-size: .8em; cursor: pointer; flex: none; padding: 0; }
.jc-chat .jc-chat-pin-more { color: #1a73e8 !important; }
.jc-chat .jc-chat-pin .t { white-space: pre-line; overflow-wrap: break-word; word-break: break-word; min-width: 0; }
.jc-chat .jc-admin-login { display: flex; gap: 6px; margin: 8px 0; }
.jc-chat .jc-admin-login input { flex: 1; min-width: 0; padding: 8px 10px; border: 1px solid #ccc; border-radius: 8px; }
.jc-chat .jc-admin-login button { padding: 8px 14px; border: 0; border-radius: 8px; background: #444; color: #fff; cursor: pointer; }
.jc-chat .jc-msg.adm { background: #fff1f0; border-radius: 8px; padding: 6px 10px; }
.jc-chat .jc-msg .n { }
.jc-chat .jc-msg.adm .n { color: #c0392b; }
.jc-chat .jc-msg.notice { background: #fff7d6; }
.jc-chat .jc-msg.rich .t { display: block; margin-top: 4px; }
.jc-chat .jc-msg.rich img { max-width: 100%; height: auto; }
.jc-chat .jc-msg.rich table { border-collapse: collapse; margin: 6px 0; font-size: .92em; }
.jc-chat .jc-msg.rich th, .jc-chat .jc-msg.rich td { border: 1px solid #ddd; padding: 4px 8px; }
.jc-chat .jc-msg.rich ol, .jc-chat .jc-msg.rich ul { margin: 6px 0 6px 1.2em; padding: 0; }
.jc-chat .jc-chat-form { flex-wrap: wrap; }
.jc-chat .jc-chat-form select { padding: 8px; border: 1px solid #ccc; border-radius: 8px; }
.jc-chat .jc-chat-form textarea { flex: 1 1 100%; min-width: 0; padding: 10px 12px; border: 1px solid #ccc; border-radius: 8px; font-size: 1em; font-family: inherit; }
.jc-chat .jc-admin-bar { margin-top: 8px; font-size: .85em; color: #555; }
.jc-chat .jc-admin-bar button { border: 1px solid #ccc; background: #fff; border-radius: 6px; padding: 2px 8px; cursor: pointer; margin: 0 6px; }
.jc-chat .jc-admin-hint { display: block; margin-top: 4px; color: #888; }

/* 관리자 쪽지 (2026-09) */
.jc-chat .jc-note-btn { border: 1px solid #ccc; background: #fff; border-radius: 6px; padding: 4px 10px; cursor: pointer; font-size: .85em; color: #1a73e8; }
.jc-chat .jc-note, .jc-chat .jc-inbox { margin: 8px 0; padding: 10px 12px; border: 1px solid #cfe0ff; border-radius: 10px; background: #f5f9ff; }
.jc-chat .jc-note-desc { margin: 0 0 8px; font-size: .9em; color: #444; }
.jc-chat .jc-note textarea, .jc-chat .jc-note input[name=nf] { display: block; width: 100%; box-sizing: border-box; padding: 9px 11px; margin-bottom: 6px; border: 1px solid #ccc; border-radius: 8px; font-size: 1em; font-family: inherit; }
.jc-chat .jc-note-row { display: flex; align-items: center; gap: 10px; }
.jc-chat .jc-note-send { padding: 8px 14px; border: 0; border-radius: 8px; background: #1a73e8; color: #fff; cursor: pointer; }
.jc-chat .jc-note-msg { font-size: .88em; color: #555; }
.jc-chat .jc-note-privacy { margin: 6px 0 0; font-size: .78em; color: #888; }
.jc-chat .jc-inbox-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.jc-chat .jc-inbox-head button { border: 1px solid #ccc; background: #fff; border-radius: 6px; padding: 2px 8px; cursor: pointer; font-size: .8em; }
.jc-chat .jc-inbox-list { max-height: 320px; overflow-y: auto; }
.jc-chat .jc-inbox-item { padding: 8px 10px; margin-bottom: 6px; background: #fff; border: 1px solid #e3e3e3; border-radius: 8px; }
.jc-chat .jc-inbox-item.unread { border-color: #1a73e8; background: #f0f6ff; }
.jc-chat .jc-inbox-item .hd { font-size: .78em; color: #777; }
.jc-chat .jc-inbox-item .bd { margin: 4px 0; white-space: pre-wrap; word-break: break-word; }
.jc-chat .jc-inbox-item .ac button { border: 0; background: none; color: #b33; cursor: pointer; font-size: .8em; margin-right: 8px; padding: 0; }
.jc-chat .jc-unread { display: inline-block; min-width: 1.4em; padding: 0 5px; border-radius: 10px; background: #999; color: #fff; text-align: center; font-size: .85em; }
.jc-chat .jc-unread.on { background: #e53935; }

/* 채팅 말풍선 스킨 (2026-09) — 메신저 스타일 */
.jc-chat .jc-chat-list { background: #eef2f7; border: 1px solid #dfe5ee; padding: 12px 10px; }
.jc-chat .jc-msg { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 2px 6px; margin: 0 0 10px; padding: 0; background: none; border-radius: 0; }
.jc-chat .jc-msg .n { flex: 0 0 100%; order: -1; margin: 0 0 1px 6px; font-size: .76em; font-weight: 600; color: #667; }
.jc-chat .jc-msg .t { order: 1; max-width: 78%; padding: 8px 12px; background: #fff; border: 1px solid #e3e8ef; border-radius: 4px 16px 16px 16px; line-height: 1.5; box-shadow: 0 1px 1px rgba(0,0,0,.04); }
.jc-chat .jc-msg .tm { order: 2; margin: 0; font-size: .7em; color: #99a; }
.jc-chat .jc-msg .act { order: 3; margin: 0; font-size: .7em; }
.jc-chat .jc-msg.me { justify-content: flex-end; }
.jc-chat .jc-msg.me .n { display: none; }
.jc-chat .jc-msg.me .t { order: 2; background: #1a73e8; border-color: #1a73e8; color: #fff; border-radius: 16px 4px 16px 16px; }
.jc-chat .jc-msg.me .tm { order: 1; }
.jc-chat .jc-msg.me .act { order: 0; }
.jc-chat .jc-msg.adm .n { color: #c0392b; }
.jc-chat .jc-msg.adm .t { background: #fff1f0; border-color: #f3c9c4; }
.jc-chat .jc-msg.adm.me .t { color: #222; background: #fff1f0; border-color: #f3c9c4; }
.jc-chat .jc-msg.notice .t { background: #fff7d6; border-color: #f0d878; }
.jc-chat .jc-msg.rich .t { max-width: 100%; width: 100%; box-sizing: border-box; margin-top: 0; }
.jc-chat .jc-msg.rich.me .t { color: #222; background: #fff1f0; border-color: #f3c9c4; }
.jc-chat .jc-msg.sys { justify-content: center; }
.jc-chat .jc-msg.sys .t { max-width: 92%; background: rgba(26,115,232,.08); border: 0; box-shadow: none; color: #557; font-size: .82em; text-align: center; border-radius: 12px; }
.jc-chat .jc-chat-form { margin-top: 10px; }
.jc-chat .jc-chat-form input[name=m] { border-radius: 22px; padding: 11px 16px; }
.jc-chat .jc-chat-form button[type=submit] { border-radius: 22px; padding: 0 20px; }

/* 말풍선 스킨 보정: 이전 행 배경/패딩 규칙 무력화 */
.jc-chat .jc-msg.adm, .jc-chat .jc-msg.notice, .jc-chat .jc-msg.sys, .jc-chat .jc-msg.rich { background: none; padding: 0; border-radius: 0; }
.jc-chat .jc-msg.sys .t { background: rgba(26,115,232,.08); }
.jc-chat .jc-msg.notice .t { background: #fff7d6; }
.jc-chat .jc-msg.adm .t { background: #fff1f0; }
.jc-chat .jc-msg.rich .t { background: #fff; }
.jc-chat .jc-msg.rich.adm .t { background: #fff8f7; }

/* 채팅 헤더 모바일 보정 */
.jc-chat .jc-chat-head { flex-wrap: wrap; }
.jc-chat .jc-chat-head h2 { flex: 1 1 200px; min-width: 0; font-size: 1.1em; }
.jc-chat .jc-chat-tools { flex: none; }
.jc-chat .jc-chat-tools button { white-space: nowrap; }
@media (max-width: 480px) { .jc-chat .jc-chat-head h2 { flex-basis: 100%; } .jc-chat .jc-chat-list { height: 300px; } }

/* 접속 인원 표시 + 반응형 보정 (2026-09) */
.jc-chat .jc-online { flex: none; align-self: center; font-size: .82em; font-weight: 700; color: #1a7f37; background: #e9f7ee; border: 1px solid #bfe6cc; border-radius: 999px; padding: 3px 10px; white-space: nowrap; }
.jc-chat .jc-chat-head { align-items: center; }

@media (max-width: 900px) {
  .jc-chat .jc-chat-list { height: 300px; }
}
@media (max-width: 480px) {
  .jc-chat .jc-chat-head { gap: 6px 8px; }
  .jc-chat .jc-chat-head h2 { font-size: 1.05em; }
  .jc-chat .jc-chat-tools { flex-basis: 100%; justify-content: flex-end; order: 3; }
  .jc-chat .jc-online { order: 2; margin-left: auto; }
  .jc-chat .jc-chat-list { height: 280px; }
  .jc-chat .jc-msg .t { max-width: 86%; }
  .jc-chat .jc-chat-form input[name=m] { font-size: 16px; }   /* iOS 자동 확대 방지 */
  .jc-chat .jc-admin-hint { display: none; }                  /* 좁은 화면에서는 긴 안내문 숨김 */
  .jc-note-row { flex-wrap: wrap; }
}
@media (min-width: 1481px) {
  .jc-chat { margin-left: 8px; margin-right: 8px; }           /* 좌우 레일 광고와의 최소 간격 확보 */
}

.jc-chat .jc-log { margin: 8px 0; padding: 10px 12px; border: 1px solid #e3e3e3; border-radius: 10px; background: #fafafa; }
.jc-chat .jc-log-hint { font-size: .8em; color: #999; }
.jc-chat .jc-log-list { max-height: 320px; overflow-y: auto; }

/* 접속자 목록(우측 칸, 2026-09) */
.jc-chat .jc-chat-main { display: flex; gap: 10px; align-items: stretch; }
.jc-chat .jc-chat-main .jc-chat-list { flex: 1 1 auto; min-width: 0; }
.jc-chat .jc-members { flex: 0 0 150px; width: 150px; border: 1px solid #dfe5ee; border-radius: 10px; background: #fff; padding: 8px; height: 320px; overflow-y: auto; box-sizing: border-box; }
.jc-chat .jc-members-head { font-size: .78em; font-weight: 700; color: #667; margin-bottom: 6px; padding-bottom: 6px; border-bottom: 1px solid #eee; }
.jc-chat .jc-member { font-size: .85em; padding: 4px 2px; color: #333; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.jc-chat .jc-member.adm { color: #c0392b; font-weight: 700; }
.jc-chat .jc-online { cursor: pointer; }

/* 좁은 화면: 우측 칸 대신 채팅 목록 "위"에 접속자 목록을 항상 표시(PC처럼 상시 노출) */
@media (max-width: 700px) {
  .jc-chat .jc-chat-main { flex-direction: column; }
  .jc-chat .jc-members { display: block; position: static; width: 100%; height: 130px; box-shadow: none; order: -1; }
}
@media (min-width: 701px) {
  .jc-chat .jc-members { display: block; }   /* 데스크톱에서는 항상 오른쪽 칸으로 상시 노출 */
}

/* 매니저/부매니저/스텝 역할 UI (2026-09) */
.jc-chat .jc-role-label { font-weight: 700; }
.jc-chat .jc-broadcast, .jc-chat .jc-welcome { margin: 8px 0; padding: 10px 12px; border: 1px solid #ffd9b3; border-radius: 10px; background: #fff8f0; }
.jc-chat .jc-broadcast textarea, .jc-chat .jc-welcome textarea { display: block; width: 100%; box-sizing: border-box; padding: 9px 11px; margin-bottom: 6px; border: 1px solid #ccc; border-radius: 8px; font-size: 1em; font-family: inherit; }
.jc-chat .jc-broadcast-send, .jc-chat .jc-welcome-send { padding: 8px 14px; border: 0; border-radius: 8px; background: #e07b1a; color: #fff; cursor: pointer; }
.jc-chat .jc-broadcast-msg, .jc-chat .jc-welcome-msg { font-size: .88em; color: #555; }
.jc-chat .jc-msg .n { }
.jc-chat .jc-member.adm { font-weight: 700; }
.jc-chat .jc-msg.sys .t { white-space: pre-wrap; text-align: left; max-width: 100%; }

/* 접속자 목록 - 본인 강조 (2026-09) */
.jc-chat .jc-member.me { background: #eef4ff; border-radius: 6px; font-weight: 700; color: #1a73e8; }
.jc-chat .jc-member.me.adm { color: #c0392b; }

/* 닉네임 변경 (2026-09) */
.jc-chat .jc-mynick { font-size: .82em; color: #667; margin: 6px 0 4px; }
.jc-chat .jc-mynick-btn { border: 1px solid #ccc; background: #fff; border-radius: 6px; padding: 2px 8px; font-size: .95em; cursor: pointer; margin-left: 4px; }
.jc-chat .jc-nickbox { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 4px 0 8px; }
.jc-chat .jc-nickbox input { flex: 1 1 160px; min-width: 0; padding: 8px 10px; border: 1px solid #ccc; border-radius: 8px; }
.jc-chat .jc-nickbox button { padding: 8px 12px; border: 0; border-radius: 8px; background: #1a73e8; color: #fff; cursor: pointer; }
.jc-chat .jc-nick-reset { background: #888 !important; }
.jc-chat .jc-nick-msg { font-size: .85em; color: #555; flex-basis: 100%; }
/* ── 채팅 좌우 광고 구간 + 광고문의(관리자에게 쪽지/메일) ── */
.jc-chat-flank { display: flex; gap: 14px; align-items: flex-start; margin-top: 32px; }
.jc-chat-flank-main { flex: 1 1 auto; min-width: 0; max-width: 640px; margin: 0 auto; order: 2; }
.jc-chat-ad { flex: 0 0 160px; width: 160px; position: sticky; top: 80px; box-sizing: border-box; }
.jc-chat-ad-l { order: 1; }
.jc-chat-ad-r { order: 3; }
@media (max-width: 980px) {
  .jc-chat-flank { flex-direction: column; }
  .jc-chat-ad { width: 100%; flex: none; position: static; top: auto; }
}
.jc-ad-inquiry { border: 1px dashed rgba(0,0,0,.15); border-radius: 8px; padding: 14px 10px; text-align: center; background: rgba(0,0,0,.02); box-sizing: border-box; }
.jc-ad-inquiry-label { font-weight: 700; font-size: .85em; color: #555; margin-bottom: 4px; }
.jc-ad-inquiry-desc { font-size: .78em; color: #8a95a8; margin-bottom: 8px; }
.jc-ad-inquiry-form { margin-top: 8px; display: flex; flex-direction: column; gap: 6px; text-align: left; }
.jc-ad-inquiry-form textarea { width: 100%; box-sizing: border-box; padding: 6px; border: 1px solid #ccc; border-radius: 6px; font-size: .85em; resize: vertical; }
.jc-ad-inquiry-form input[type=text] { width: 100%; box-sizing: border-box; padding: 6px; border: 1px solid #ccc; border-radius: 6px; font-size: .85em; }
.jc-ad-inquiry-form input.jc-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.jc-ad-inquiry-send { padding: 6px 10px; border: 0; border-radius: 6px; background: #1a73e8; color: #fff; font-size: .85em; cursor: pointer; }
.jc-ad-inquiry-msg { font-size: .75em; color: #b33; min-height: 1.2em; }

/* ── 채팅방 카페 커뮤니티 초대 배너(공지인사, 라우팅에 맞는 지역/대표카페 노출) ── */
.jc-chat-cafe-invite { margin: 10px 0; padding: 12px 14px; border-radius: 10px; background: #f3f7ff; border: 1px solid #d7e6ff; }
.jc-cafe-invite-title { font-weight: 700; font-size: .95em; margin-bottom: 4px; }
.jc-cafe-invite-desc { font-size: .85em; color: #555; margin: 0 0 8px; }
.jc-cafe-invite-links { display: flex; flex-wrap: wrap; gap: 8px; }
.jc-cafe-chip { display: inline-block; padding: 6px 12px; border-radius: 999px; font-size: .85em; text-decoration: none; background: #fff; border: 1px solid #b9d3ff; color: #1a73e8; }
.jc-cafe-chip-region { background: #1a73e8; color: #fff; border-color: #1a73e8; }
.jc-cafe-invite-note { font-size: .78em; color: #8a95a8; margin: 6px 0 0; }

/* 환영 인사(시스템 메시지) 접기/펼치기 — max-height 방식(줄바꿈/폭 상관없이 안정적으로 동작) */
.jc-chat .jc-welcome-more { display: block; margin: 4px auto 0; font-size: 12px; color: #1a73e8; background: none; border: none; cursor: pointer; padding: 0; text-align: center; }
.jc-hub-banner { width: 100%; margin: 18px 0; }
.jc-hub-banner a { display: block; line-height: 0; border-radius: 14px; overflow: hidden; }
.jc-hub-banner img { display: block; width: 100%; height: auto; }

/* 쿠팡 파트너스 위젯(ads-slot) 위아래 여백 — item/지역(시도·시군구·동읍면리) 페이지 공통 (2026-09-28) */
.ads-slot{ width:100%; margin:36px 0 40px; }
.ads-slot-toc{ margin-top:36px; margin-bottom:40px; }
@media (max-width:700px){
  .ads-slot{ margin:28px 0 32px; }
  .ads-slot-toc{ margin-top:28px; margin-bottom:32px; }
}
/* 쿠팡+챗 한쌍: h1/p(또는 목차) 다음 배치, 위아래 여백 (2026-09-28) */
.jc-chat-flank{ margin-top:0; margin-bottom:40px; }
@media (max-width:700px){ .jc-chat-flank{ margin-bottom:32px; } }

/* ===== 쿠팡+챗 한쌍 (오섹시 이식, 2026-09-28) ===== */
section.info.jc-chat{ margin-bottom:0; }
section.info.jc-chat h2{ font-size:20px; font-weight:800; margin:0 0 10px; border-left:4px solid #2563eb; padding-left:12px; }
section.info.jc-chat p{ max-width:none; margin:0 0 10px; font-size:14px; color:#374151; }
.rp-pair{ }

/* ── (오섹시엔터 이식) 채팅 좌우 CPA 광고: PC = 좌2·우2 세로(160px 레일 그대로) / 모바일 = 채팅 아래 2개(2열) ── */
.jc-chat-ad-cpa { display: flex; flex-direction: column; gap: 12px; }
.jc-cpa-card { display: block; background: #fff; border: 1px solid #eef0f2; border-radius: 10px; overflow: hidden; text-decoration: none; color: #000; box-sizing: border-box; min-width: 0; }
.jc-cpa-thumb { display: block; position: relative; width: 100%; aspect-ratio: 1 / 1; background: #f1f5f9; overflow: hidden; }
.jc-cpa-thumb img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.jc-cpa-ad { position: absolute; top: 4px; left: 4px; font-style: normal; font-size: 10px; line-height: 1; padding: 2px 5px; border-radius: 3px; background: rgba(15,23,42,.6); color: #fff; }
.jc-cpa-body { display: block; padding: 8px 9px 9px; }
.jc-cpa-name { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 13px; font-weight: 800; line-height: 1.3; margin: 0 0 3px; min-height: 2.6em; word-break: keep-all; }
.jc-cpa-desc { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 11.5px; line-height: 1.4; color: #64748b; word-break: keep-all; min-height: 2.8em; }
.jc-cpa-sale { display: block; font-style: normal; font-size: 13px; font-weight: 900; color: #e11d48; margin-top: 4px; }
@media (max-width: 980px) {
  .jc-chat-flank.has-cpa { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; align-items: stretch; }
  .jc-chat-flank.has-cpa .jc-chat-flank-main > .jc-chat { margin-bottom: 0; }
  .jc-chat-flank.has-cpa { margin-bottom: 32px; }
  .jc-chat-flank.has-cpa .jc-chat-flank-main { grid-column: 1 / -1; order: 1; max-width: none; width: 100%; margin: 0 0 6px; }
  .jc-chat-flank.has-cpa .jc-chat-ad:not(.jc-chat-ad-cpa) { grid-column: 1 / -1; }
  .jc-chat-flank.has-cpa .jc-chat-ad-l:not(.jc-chat-ad-cpa) { order: 2; }
  .jc-chat-flank.has-cpa .jc-chat-ad-r:not(.jc-chat-ad-cpa) { order: 3; }
  .jc-chat-flank.has-cpa .jc-chat-ad-cpa { display: contents; }
  .jc-chat-flank.has-cpa .jc-chat-ad-l .jc-cpa-card { order: 2; }
  .jc-chat-flank.has-cpa .jc-chat-ad-r .jc-cpa-card { order: 3; }
  .jc-cpa-card { border-radius: 8px; }
  .jc-cpa-ad { top: 3px; left: 3px; font-size: 9px; padding: 2px 4px; }
  .jc-cpa-body { padding: 5px 4px 6px; }
  .jc-cpa-name { font-size: 13px; line-height: 1.3; margin: 0; min-height: 0; -webkit-line-clamp: 2; }
  .jc-cpa-desc { display: none; }
  .jc-cpa-sale { font-size: 13px; margin-top: 2px; }
}

/* (오섹시엔터 이식) 고정공지 더보기 */
.jc-chat .jc-chat-pin .t.is-clamped { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.jc-chat .jc-chat-pin .jc-pin-more { align-self: center; flex: 0 0 auto; margin-top: 2px; padding: 3px 14px; border: 1px solid rgba(138,109,0,.4); border-radius: 999px; background: #fff; color: #8a6d00; font-size: .75em; line-height: 1.4; cursor: pointer; font-family: inherit; white-space: nowrap; }
.jc-chat .jc-chat-pin .jc-pin-more:hover { background: #fffbe8; }

/* (오섹시엔터 이식) 스크롤 동작: 앵커 부드럽게 이동 + 채팅 좌우 배너는 스크롤 따라 sticky(.jc-chat-ad) */
html{scroll-behavior:smooth}
section.info{scroll-margin-top:20px}
