@charset "utf-8";
:root{
  --gs-bg:#f3f7f4;
  --gs-bg-2:#f8fbf8;
  --gs-panel:#ffffff;
  --gs-line:#dfe8e3;
  --gs-line-soft:#ebf1ed;
  --gs-text:#132017;
  --gs-sub:#6f8275;
  --gs-sub-2:#8ea093;
  --gs-green:#1f7a45;
  --gs-green-2:#2d9b59;
  --gs-green-deep:#10361d;
  --gs-green-soft:#e8f5ec;
  --gs-blue-soft:#ecf4ff;
  --gs-blue:#2563eb;
  --gs-orange-soft:#fff5e8;
  --gs-orange:#c2410c;
  --gs-red:#ef4444;
  --gs-shadow:0 18px 40px rgba(15,26,17,.08);
  --gs-shadow-lg:0 26px 70px rgba(15,26,17,.12);
  --gs-radius-xl:28px;
  --gs-radius-lg:22px;
  --gs-radius-md:18px;
  --gs-radius-sm:14px;
  --gs-border:#dfe8e3;
}

/* ============================================================
   다크모드 토큰 오버라이드 — html[data-theme="dark"]
   운영 footer JS의 토글 방식과 동일
============================================================ */
html[data-theme="dark"]{
  color-scheme: dark;

  --gs-bg:#0e1924;
  --gs-bg-2:#162233;
  --gs-panel:#162233;
  --gs-line:rgba(122,160,184,.18);
  --gs-line-soft:rgba(122,160,184,.10);
  --gs-text:#d4e8f4;
  --gs-sub:#8aa3b6;
  --gs-sub-2:#6b859a;
  --gs-green:#34d399;
  --gs-green-2:#22c55e;
  --gs-green-deep:#0e2f1a;
  --gs-green-soft:rgba(34,197,94,.14);
  --gs-blue-soft:rgba(96,165,250,.16);
  --gs-blue:#60a5fa;
  --gs-orange-soft:rgba(251,146,60,.14);
  --gs-orange:#fb923c;
  --gs-red:#f87171;
  --gs-shadow:0 18px 40px rgba(0,0,0,.42);
  --gs-shadow-lg:0 26px 70px rgba(0,0,0,.55);
  --gs-border:rgba(122,160,184,.18);
}

/* 기존 상단 메뉴/탭 제거 */
.myclub-links{ display:none !important; }
.tab-container{ display:none !important; }

html,body{
  background:
    radial-gradient(circle at top left, rgba(43,154,86,.08), transparent 22%),
    linear-gradient(180deg,#f8fbf8 0%, var(--gs-bg) 100%);
}
html[data-theme="dark"] body{
  background:
    radial-gradient(circle at top left, rgba(34,197,94,.10), transparent 22%),
    linear-gradient(180deg,#0e1924 0%, #0a121a 100%) !important;
}



.gsCard{
  border-radius:var(--gs-radius-lg);
  box-shadow:var(--gs-shadow);
  overflow:hidden;
  border: 1px solid var(--gs-border);
  background: var(--gs-panel);
}

.gsSideCard{ padding:0; }

.gsSideHero{
  position:relative;
  padding:18px 18px 16px;
  border-bottom:1px solid var(--gs-line-soft);
}

.gsSideHero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 86% 12%, rgba(45,155,89,.10), transparent 22%),
    radial-gradient(circle at 8% 92%, rgba(37,99,235,.05), transparent 18%);
  pointer-events:none;
}
html[data-theme="dark"] .gsSideHero:before{
  background:
    radial-gradient(circle at 86% 12%, rgba(34,197,94,.14), transparent 22%),
    radial-gradient(circle at 8% 92%, rgba(96,165,250,.10), transparent 18%);
}

.gsHeroKicker{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:28px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(31,122,69,.10);
  background:var(--gs-panel);
  color:var(--gs-green);
  font-size:11px;
  font-weight:1000;
  letter-spacing:.08em;
  text-transform:uppercase;
}
html[data-theme="dark"] .gsHeroKicker{
  border-color: rgba(52,211,153,.30);
  background: rgba(52,211,153,.10);
}

.gsClubMe{
  position:relative;
  z-index:1;
  display:flex;
  align-items:flex-start;
  gap:14px;
  margin-top:14px;
}

.gsClubMeAvatar{
  width:68px;
  height:68px;
  flex:0 0 68px;
  border-radius:22px;
  background:#edf3ee center/cover no-repeat;
  border:1px solid rgba(31,122,69,.10);
  box-shadow:0 16px 30px rgba(15,26,17,.12);
}
html[data-theme="dark"] .gsClubMeAvatar{
  border-color: rgba(52,211,153,.28);
  box-shadow:0 16px 30px rgba(0,0,0,.4);
}

.gsClubMeMeta{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}

.gsClubMeNick{
  font-size:20px;
  font-weight:1000;
  color:var(--gs-text);
  line-height:1.15;
  letter-spacing:-.03em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.gsClubMeId{
  font-size:12px;
  color:var(--gs-sub);
  font-weight:900;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.gsClubMeBadge{
  margin-top:6px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:74px;
  height:30px;
  padding:0 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:1000;
  border:1px solid var(--gs-line);
  background:var(--gs-panel);
  color:var(--gs-text);
  align-self:flex-start;
}
.gsClubMeBadge.badge-wait{
  background:var(--gs-orange-soft);
  border-color:#fed7aa;
  color:var(--gs-orange);
}
.gsClubMeBadge.badge-member{
  background:var(--gs-blue-soft);
  border-color:#bfdbfe;
  color:#1d4ed8;
}
.gsClubMeBadge.badge-admin{
  background:var(--gs-green-soft);
  border-color:#bbf7d0;
  color:#166534;
}
.gsClubMeBadge.badge-subadmin{
  background:#fef9c3;
  border-color:#fde68a;
  color:#a16207;
}
html[data-theme="dark"] .gsClubMeBadge.badge-wait{
  border-color: rgba(251,146,60,.35);
  color:#fdba74;
}
html[data-theme="dark"] .gsClubMeBadge.badge-member{
  border-color: rgba(96,165,250,.35);
  color:#93c5fd;
}
html[data-theme="dark"] .gsClubMeBadge.badge-admin{
  border-color: rgba(52,211,153,.35);
  color:#6ee7b7;
}
html[data-theme="dark"] .gsClubMeBadge.badge-subadmin{
  background: rgba(250,204,21,.15);
  border-color: rgba(250,204,21,.35);
  color:#fde047;
}

.gsClubHeroTitle{
  position:relative;
  z-index:1;
  margin:14px 0 0;
  font-size:18px;
  line-height:1.16;
  letter-spacing:-.04em;
  font-weight:1000;
  color:var(--gs-text);
  word-break:keep-all;
}

.gsClubHeroSub{
  position:relative;
  z-index:1;
  margin:8px 0 0;
  font-size:13px;
  line-height:1.65;
  color:var(--gs-sub);
  font-weight:900;
}

.gsClubQuick{
  padding:14px 18px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  border-bottom:1px solid var(--gs-line-soft);
}

.gsQuickItem{
  border:1px solid var(--gs-line-soft);
  border-radius:18px;
  padding:12px 13px;
  min-width:0;
  background: var(--gs-panel);
}
html[data-theme="dark"] .gsQuickItem{
  background: rgba(255,255,255,.03);
}

.gsQuickLabel{
  font-size:11px;
  color:var(--gs-sub);
  font-weight:1000;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.gsQuickValue{
  margin-top:6px;
  font-size:22px;
  color:var(--gs-text);
  font-weight:1000;
  line-height:1;
}

.gsQuickHelp{
  margin-top:6px;
  font-size:11px;
  color:var(--gs-sub-2);
  font-weight:900;
  line-height:1.35;
}

.gsClubStatusBlock{
  padding:16px 18px 0;
}

.gsClubStatusNote{
  padding:13px 14px;
  border-radius:18px;
  border:1px solid var(--gs-line-soft);
  background:
    linear-gradient(180deg, rgba(248,250,252,.98), rgba(241,245,249,.92));
  color:#334155;
  font-size:12.5px;
  line-height:1.7;
  font-weight:900;
}
.gsClubStatusNote b{
  color:var(--gs-text);
  font-weight:1000;
}
html[data-theme="dark"] .gsClubStatusNote{
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  color: #b8cad8;
}

.gsClubStatusActions{
  margin-top:12px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.gsIGBtn{
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid var(--gs-line);
  background:var(--gs-panel);
  color:var(--gs-text);
  font-size:12px;
  font-weight:1000;
  text-decoration:none !important;
  box-shadow:0 10px 20px rgba(15,23,42,.05);
  transition:transform .06s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
  cursor:pointer;
}
.gsIGBtn:hover{
  background:#f9fcfa;
  border-color:#cfe0d3;
  box-shadow:0 14px 26px rgba(15,23,42,.07);
}
html[data-theme="dark"] .gsIGBtn:hover{
  background: rgba(52,211,153,.10);
  border-color: rgba(52,211,153,.35);
}
.gsIGBtn:active{ transform:translateY(1px); }

.gsIGBtnPrimary{
  color:#fff;
  border-color:transparent;
  background:linear-gradient(135deg, var(--gs-green) 0%, var(--gs-green-2) 100%);
  box-shadow:0 14px 26px rgba(31,122,69,.18);
}
.gsIGBtnPrimary:hover{
  filter:brightness(.98);
  border-color:transparent;
  background:linear-gradient(135deg, var(--gs-green) 0%, var(--gs-green-2) 100%);
}
html[data-theme="dark"] .gsIGBtnPrimary{
  color:#0a1218;
  box-shadow:0 14px 26px rgba(34,197,94,.30);
}

/* ──────────────────────────────────────────────────
   ★ NEW: 메인 컨텐츠 상단 탭바 (현황메뉴)
   - 좌측 사이드 nav 대신 main 영역 최상단에 위치
   - 어떤 화면을 보는지 굵직하게 표시
────────────────────────────────────────────────── */
.gsTopTabsCard{
  position: sticky;
  top: 12px;
  z-index: 800;
}

.gsTopTabsHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 18px 0;
  flex-wrap:wrap;
}

.gsTopTabsTitle{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  font-weight:1000;
  color:var(--gs-sub);
  letter-spacing:.08em;
  text-transform:uppercase;
}
.gsTopTabsTitle::before{
  content:"";
  width:6px;
  height:6px;
  border-radius:999px;
  background:var(--gs-green);
  box-shadow:0 0 0 4px rgba(31,122,69,.16);
  animation: gsTabPulse 1.8s infinite;
}
@keyframes gsTabPulse{
  0%,100%{ box-shadow:0 0 0 0 rgba(31,122,69,.30); }
  60%{ box-shadow:0 0 0 6px rgba(31,122,69,0); }
}

.gsTopTabsLive{
  font-size:11px;
  color:var(--gs-green);
  font-weight:1000;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.gsTopTabs{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:8px;
  padding:14px 18px 18px;
}

.gsTopTab{
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
  min-height:54px;
  padding:8px 14px;
  border-radius:14px;
  border:1px solid var(--gs-line);
  background:var(--gs-panel);
  color:var(--gs-text);
  text-decoration:none !important;
  cursor:pointer;
  transition:transform .08s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
  overflow:hidden;
}

.gsTopTab:hover{
  border-color:#cfe0d3;
  background:#f9fcfa;
  box-shadow:0 10px 22px rgba(15,23,42,.05);
  transform:translateY(-1px);
}
html[data-theme="dark"] .gsTopTab:hover{
  background: rgba(52,211,153,.06);
  border-color: rgba(52,211,153,.30);
  box-shadow:0 10px 22px rgba(0,0,0,.35);
}

.gsTopTab.is-active{
  background:linear-gradient(135deg, rgba(31,122,69,.10) 0%, rgba(45,155,89,.06) 100%), var(--gs-panel);
  border-color:#9ec9aa;
  box-shadow:0 16px 26px rgba(31,122,69,.12);
}
html[data-theme="dark"] .gsTopTab.is-active{
  background:linear-gradient(135deg, rgba(52,211,153,.18) 0%, rgba(34,197,94,.10) 100%), var(--gs-panel);
  border-color: rgba(52,211,153,.5);
  box-shadow:0 16px 26px rgba(0,0,0,.45);
}

/* 활성 탭 하단 그라디언트 라인 */
.gsTopTab.is-active::after{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  bottom:6px;
  height:3px;
  border-radius:2px;
  background:linear-gradient(90deg, var(--gs-green) 0%, var(--gs-green-2) 60%, #2563eb 100%);
}

.gsTopTabIcon{
  flex:0 0 auto;
  width:36px;
  height:36px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--gs-panel);
  border:1px solid var(--gs-line-soft);
  color:var(--gs-green);
  font-size:14px;
  transition: background .16s ease, border-color .16s ease, color .16s ease;
}
html[data-theme="dark"] .gsTopTabIcon{
  background: rgba(255,255,255,.04);
}

.gsTopTab.is-active .gsTopTabIcon{
  background:var(--gs-green-soft);
  border-color:#bbf7d0;
  color:var(--gs-green);
}
html[data-theme="dark"] .gsTopTab.is-active .gsTopTabIcon{
  background: rgba(52,211,153,.20);
  border-color: rgba(52,211,153,.4);
}

.gsTopTabBody{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
  text-align:left;
}

.gsTopTabLabel{
  font-size:14.5px;
  font-weight:1000;
  letter-spacing:-.02em;
  color:var(--gs-text);
  line-height:1.1;
}

.gsTopTabSub{
  font-size:11px;
  color:var(--gs-sub);
  font-weight:900;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.gsTopTabBadge{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:30px;
  height:24px;
  padding:0 9px;
  border-radius:999px;
  background:var(--gs-bg-2);
  border:1px solid var(--gs-line-soft);
  font-size:11px;
  font-weight:1000;
  color:var(--gs-text);
}
html[data-theme="dark"] .gsTopTabBadge{
  background: rgba(255,255,255,.05);
  color: var(--gs-text);
}

.gsTopTab.is-active .gsTopTabBadge{
  background:var(--gs-green-soft);
  border-color:#bbf7d0;
  color:#166534;
}
html[data-theme="dark"] .gsTopTab.is-active .gsTopTabBadge{
  background: rgba(52,211,153,.25);
  border-color: rgba(52,211,153,.45);
  color: #6ee7b7;
}

.gsTopTabBadge .gsCouponIn{ color:var(--gs-red); font-weight:1000; }
.gsTopTabBadge .gsCouponTot{ color:inherit; font-weight:1000; }
.gsTopTabBadge .gsCouponSlash{ color:#94a3b8; opacity:.8; padding:0 2px; font-weight:1000; }

/* 좌측 사이드 - 기존 nav 영역은 숨김(상단 탭으로 대체) */
.gsSideNavWrap{ display:none; }

.gsMain{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:16px;
}

.gsHeroStage{ overflow:hidden; }

.gsPane{ display:none; }
.gsPane.is-active{ display:block; }

.gsPaneInner{ padding:18px; }

.gsPaneHead{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:14px;
}

.gsPaneTitleWrap{ min-width:0; }

.gsPaneEyebrow{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:28px;
  padding:0 11px;
  border-radius:999px;
  background:var(--gs-green-soft);
  color:var(--gs-green);
  border:1px solid #d9ecdf;
  font-size:11px;
  font-weight:1000;
  letter-spacing:.07em;
  text-transform:uppercase;
}
html[data-theme="dark"] .gsPaneEyebrow{
  border-color: rgba(52,211,153,.35);
}

.gsPaneTitle{
  margin:10px 0 0;
  font-size:28px;
  line-height:1.18;
  letter-spacing:-.04em;
  color:var(--gs-text);
  font-weight:1000;
}

.gsPaneDesc{
  margin:8px 0 0;
  font-size:13px;
  line-height:1.7;
  color:var(--gs-sub);
  font-weight:900;
}

.gsPaneActions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.gsGhostBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid var(--gs-line);
  background:var(--gs-panel);
  color:var(--gs-text);
  font-size:12px;
  font-weight:1000;
  text-decoration:none !important;
  cursor:pointer;
  transition: background .16s ease, border-color .16s ease;
}
.gsGhostBtn:hover{
  background:#f9fcfa;
  border-color:#cfe0d3;
}
html[data-theme="dark"] .gsGhostBtn:hover{
  background: rgba(52,211,153,.10);
  border-color: rgba(52,211,153,.35);
}

/* 메인 액션 - 글쓰기는 그라디언트 강조 */
.gsGhostBtn.is-primary{
  border:none;
  background:linear-gradient(135deg, var(--gs-green) 0%, var(--gs-green-2) 100%);
  color:#fff !important;
  box-shadow:0 12px 22px rgba(31,122,69,.16);
}
.gsGhostBtn.is-primary:hover{
  filter:brightness(.98);
  background:linear-gradient(135deg, var(--gs-green) 0%, var(--gs-green-2) 100%);
}

.gsBoardShell{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.gsBoardTopBar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}

.gsBoardMeta{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.gsMetaPill{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid var(--gs-line-soft);
  background:var(--gs-panel);
  color:var(--gs-sub);
  font-size:12px;
  font-weight:1000;
}

.gsCategoryBox{
  margin-top:6px;
  padding:14px;
  border:1px solid var(--gs-line-soft);
  border-radius:18px;
  background:var(--gs-panel);
}

.gsBoardGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

/* ──────────────────────────────────────────────────
   피드 카드 — 컨텐츠 오버플로우 수정 + 다크모드
────────────────────────────────────────────────── */
.gsFeedCard{
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;            /* 그리드 셀에서 글 줄넘김 보장 */
  min-height:240px;
  padding:18px 18px 16px;
  border:1px solid var(--gs-line);
  border-radius:22px;
  background:
    radial-gradient(circle at 92% 12%, rgba(31,122,69,.05), transparent 18%),
    linear-gradient(180deg, #ffffff 0%, #f7fbf8 100%);
  box-shadow:0 14px 28px rgba(15,26,17,.06);
  transition:transform .10s ease, box-shadow .18s ease, border-color .18s ease;
  overflow: hidden;        /* ★ 카드 밖으로 튀어나오지 않게 */
}
html[data-theme="dark"] .gsFeedCard{
  background:
    radial-gradient(circle at 92% 12%, rgba(34,197,94,.10), transparent 18%),
    linear-gradient(180deg, #1a2738 0%, #14202c 100%);
  box-shadow:0 14px 28px rgba(0,0,0,.45);
}

.gsFeedCard:hover{
  transform:translateY(-2px);
  border-color:#cfe0d3;
  box-shadow:0 18px 34px rgba(15,26,17,.09);
}
html[data-theme="dark"] .gsFeedCard:hover{
  border-color: rgba(52,211,153,.35);
  box-shadow:0 18px 34px rgba(0,0,0,.55);
}

.gsFeedTop{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.gsFeedAuthor{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  flex:1;
}

.gsFeedAvatar{
  width:52px;
  height:52px;
  flex:0 0 52px;
  border-radius:18px;
  overflow:hidden;
  background:#eef4ef;
  border:1px solid var(--gs-line-soft);
}
.gsFeedAvatar img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.gsFeedAuthorMeta{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:4px;
}

.gsFeedAuthorName{
  font-size:14px;
  font-weight:1000;
  color:var(--gs-text);
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.gsFeedTime{
  font-size:12px;
  color:var(--gs-sub);
  font-weight:900;
}

.gsFeedNo{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:40px;
  height:28px;
  padding:0 10px;
  border-radius:999px;
  background:var(--gs-panel);
  border:1px solid var(--gs-line-soft);
  font-size:11px;
  color:var(--gs-sub);
  font-weight:1000;
  flex:0 0 auto;
}

.gsFeedSubject{
  margin:16px 0 0;
  font-size:22px;
  line-height:1.35;
  letter-spacing:-.04em;
  color:var(--gs-text);
  font-weight:1000;
  word-break:break-word;          /* ★ 한국어/영문 모두 줄바꿈 */
  overflow-wrap:anywhere;          /* ★ 너무 긴 문자열도 강제 줄바꿈 */

  /* 2줄 클램프 */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.gsFeedSubject a{
  color:inherit;
  text-decoration:none;
}

.gsFeedExcerpt{
  margin:10px 0 0;
  font-size:13px;
  line-height:1.8;
  color:#425244;
  font-weight:900;
  min-height:auto;                 /* min-height 제거 */
  word-break:break-word;           /* ★ */
  overflow-wrap:anywhere;          /* ★ */

  /* 4줄 클램프 */
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
html[data-theme="dark"] .gsFeedExcerpt{ color:#a8c0d0; }

.gsFeedThumb{
  margin-top:14px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--gs-line-soft);
  background:#eef4ef;
}
.gsFeedThumb img{
  width:100%;
  height:220px;
  object-fit:cover;
  display:block;
}

.gsFeedBottom{
  margin-top:auto;
  padding-top:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}

.gsFeedInfo{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  min-width:0;
}

.gsInfoChip{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 11px;
  border-radius:999px;
  border:1px solid var(--gs-line-soft);
  background:var(--gs-panel);
  color:#334155;
  font-size:12px;
  font-weight:1000;
  gap:6px;
  white-space:nowrap;
}
html[data-theme="dark"] .gsInfoChip{ color: #b8cad8; }

.gsReadBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 15px;
  border-radius:999px;
  background:linear-gradient(135deg, var(--gs-green) 0%, var(--gs-green-2) 100%);
  color:#fff !important;
  text-decoration:none !important;
  font-size:12px;
  font-weight:1000;
  box-shadow:0 12px 22px rgba(31,122,69,.16);
  flex:0 0 auto;
  border:none;
  cursor:pointer;
}
.gsReadBtn:hover{ filter:brightness(.98); }

.gsEmptyState{
  padding:44px 20px;
  border-radius:24px;
  border:1px dashed #cfe0d3;
  background:linear-gradient(180deg, #ffffff 0%, #f7fbf8 100%);
  text-align:center;
}
html[data-theme="dark"] .gsEmptyState{
  border-color: rgba(52,211,153,.30);
  background:linear-gradient(180deg, #1a2738 0%, #14202c 100%);
}
.gsEmptyState strong{
  display:block;
  color:var(--gs-text);
  font-size:18px;
  font-weight:1000;
}
.gsEmptyState span{
  display:block;
  margin-top:8px;
  font-size:13px;
  line-height:1.7;
  color:var(--gs-sub);
  font-weight:900;
}

.gsPaging{ margin-top:8px; padding-top:8px; }

.gsGreetingShell{
  background:
    radial-gradient(circle at top right, rgba(37,99,235,.04), transparent 18%),
    linear-gradient(180deg, rgba(255,255,255,.99) 0%, rgba(247,251,248,.98) 100%);
}
html[data-theme="dark"] .gsGreetingShell{
  background:
    radial-gradient(circle at top right, rgba(96,165,250,.10), transparent 18%),
    linear-gradient(180deg, #162233 0%, #14202c 100%);
}

.gsCouponShell{
  background:
    radial-gradient(circle at 10% 10%, rgba(239,68,68,.04), transparent 18%),
    linear-gradient(180deg, rgba(255,255,255,.99) 0%, rgba(248,251,248,.98) 100%);
}
html[data-theme="dark"] .gsCouponShell{
  background:
    radial-gradient(circle at 10% 10%, rgba(248,113,113,.10), transparent 18%),
    linear-gradient(180deg, #162233 0%, #14202c 100%);
}

/* ──────────────────────────────────────────────────
   ★ NEW: 글쓰기/글보기 iframe 모달
────────────────────────────────────────────────── */
.gsFeedModal{
  display:none;
  position:fixed;
  inset:0;
  z-index:5000;
  background:rgba(2,6,23,.62);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  align-items:center;
  justify-content:center;
  padding:18px;
}
.gsFeedModal.show{ display:flex; }

.gsFeedModalPanel{
  position:relative;
  width:min(96vw, 1100px);
  height:min(92vh, 920px);
  background:var(--gs-panel);
  border:1px solid var(--gs-line);
  border-radius:22px;
  box-shadow:0 30px 70px rgba(0,0,0,.35);
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
html[data-theme="dark"] .gsFeedModalPanel{
  box-shadow:0 30px 70px rgba(0,0,0,.7);
}

.gsFeedModalHeader{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 18px;
  border-bottom:1px solid var(--gs-line-soft);
  background:linear-gradient(180deg, rgba(31,122,69,.04), transparent);
}
html[data-theme="dark"] .gsFeedModalHeader{
  background:linear-gradient(180deg, rgba(34,197,94,.10), transparent);
}

.gsFeedModalTitle{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:14px;
  font-weight:1000;
  color:var(--gs-text);
  letter-spacing:-.01em;
  min-width:0;
}
.gsFeedModalTitle i{ color:var(--gs-green); }
.gsFeedModalTitleSub{
  font-size:11px;
  color:var(--gs-sub);
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.gsFeedModalActions{
  display:flex;
  align-items:center;
  gap:6px;
  flex-shrink:0;
}

.gsFeedModalIconBtn{
  width:38px;
  height:38px;
  border-radius:999px;
  border:1px solid var(--gs-line);
  background:var(--gs-panel);
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--gs-text);
  font-size:13px;
  transition: background .16s ease, border-color .16s ease, transform .08s ease;
}
.gsFeedModalIconBtn:hover{
  background:#f9fcfa;
  border-color:#cfe0d3;
}
html[data-theme="dark"] .gsFeedModalIconBtn:hover{
  background: rgba(52,211,153,.10);
  border-color: rgba(52,211,153,.35);
}
.gsFeedModalIconBtn:active{ transform:translateY(1px); }

.gsFeedModalBody{
  flex:1;
  min-height:0;
  background:#fff;
  position:relative;
}
html[data-theme="dark"] .gsFeedModalBody{
  background: var(--gs-panel);
}

.gsFeedModalIframe{
  width:100%;
  height:100%;
  border:0;
  background:#fff;
  display:block;
}
html[data-theme="dark"] .gsFeedModalIframe{
  background: #fff; /* iframe 내부는 그누보드 자체 스타일이라 흰 유지 */
}

.gsFeedModalLoading{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:var(--gs-panel);
  color:var(--gs-sub);
  font-size:13px;
  font-weight:900;
  pointer-events:none;
  opacity:0;
  transition: opacity .2s ease;
}
.gsFeedModalLoading.is-on{ opacity:1; }
.gsFeedModalLoading::before{
  content:"";
  width:18px;
  height:18px;
  border-radius:50%;
  border:2px solid var(--gs-line);
  border-top-color: var(--gs-green);
  animation: gsFeedSpin .9s linear infinite;
}
@keyframes gsFeedSpin{ to{ transform: rotate(360deg); } }

@media (max-width:680px){
  .gsFeedModal{ padding:0; }
  .gsFeedModalPanel{
    width:100%;
    height:100%;
    max-height:100%;
    border-radius:0;
    border:0;
  }
}

/* 클럽추천 버튼 폭발 */
.gsClubRecommendBtn{
  position:relative !important;
  overflow:visible !important;
  transform:translateZ(0);
  will-change:transform, filter;
}
.gsClubRecommendBtn i.fa,
.gsClubRecommendBtn .fa{
  color:#94a3b8;
  transition:transform .15s ease, color .15s ease;
}
.gsClubRecommendBtn.is-liked i.fa,
.gsClubRecommendBtn.is-liked .fa,
.gsClubRecommendBtn.is-burst i.fa,
.gsClubRecommendBtn.is-burst .fa{
  color:#ef4444;
}
.gsClubRecommendBtn.is-burst{
  filter:drop-shadow(0 10px 18px rgba(239,68,68,.24));
}
.gsClubRecommendBtn.is-burst i.fa,
.gsClubRecommendBtn.is-burst .fa{
  transform:scale(1.22) rotate(-8deg);
}
.gsClubRecommendBtn::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:8px;
  height:8px;
  border-radius:999px;
  transform:translate(-50%,-50%) scale(0);
  opacity:0;
  pointer-events:none;
  border:2px solid rgba(239,68,68,.55);
}
.gsClubRecommendBtn.is-burst::after{
  animation:gsLikeRing 520ms ease-out forwards;
}
@keyframes gsLikeRing{
  0%{ transform:translate(-50%,-50%) scale(.2); opacity:.9; }
  60%{ opacity:.45; }
  100%{ transform:translate(-50%,-50%) scale(3.6); opacity:0; }
}
.gsBurstParticles{
  position:absolute;
  inset:-18px;
  pointer-events:none;
  z-index:3;
}
.gsBurstParticles span{
  position:absolute;
  left:50%;
  top:50%;
  width:8px;
  height:8px;
  border-radius:999px;
  background:hsl(var(--h, 320), 92%, 60%);
  transform:translate(-50%,-50%) rotate(var(--a, 0deg)) translateY(0px) scale(1);
  opacity:0;
  filter:drop-shadow(0 10px 16px rgba(0,0,0,.08));
  animation:gsSpark 640ms cubic-bezier(.18,.86,.2,1) forwards;
}
.gsBurstParticles span.is-star{
  width:10px;
  height:10px;
  border-radius:2px;
  transform:translate(-50%,-50%) rotate(calc(var(--a, 0deg) + 18deg)) translateY(0px) rotate(45deg) scale(1);
}
@keyframes gsSpark{
  0%{
    opacity:0;
    transform:translate(-50%,-50%) rotate(var(--a, 0deg)) translateY(0px) scale(.6);
  }
  15%{ opacity:1; }
  100%{
    opacity:0;
    transform:translate(-50%,-50%) rotate(var(--a, 0deg)) translateY(var(--d, -28px)) scale(0);
  }
}

/* 클럽매력도 버튼/레이어 */
.gsCharmBtn{
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid var(--gs-line);
  background:var(--gs-panel);
  color:var(--gs-text);
  font-size:12px;
  font-weight:1000;
  cursor:pointer;
  text-decoration:none !important;
  box-shadow:0 10px 20px rgba(15,23,42,.06);
}
.gsCharmBtn:hover{
  background:#f8fafc;
  border-color:#dbeafe;
}
html[data-theme="dark"] .gsCharmBtn:hover{
  background: rgba(96,165,250,.10);
  border-color: rgba(96,165,250,.35);
}

.gsLayer{
  display:none;
  position:fixed;
  inset:0;
  z-index:4200;
  background:rgba(2,6,23,.55);
  align-items:center;
  justify-content:center;
  padding:18px;
  -webkit-overflow-scrolling:touch;
}
.gsLayer.show{ display:flex; }
.gsLayerPanel{
  width:min(92vw, 620px);
  max-height:88vh;
  overflow:auto;
  background:var(--gs-panel);
  border:1px solid var(--gs-line);
  border-radius:22px;
  box-shadow:0 24px 70px rgba(0,0,0,.30);
  padding:20px 20px 18px;
  position:relative;
}
.gsLayerClose{
  position:absolute;
  top:12px;
  right:12px;
  width:40px;
  height:40px;
  border-radius:999px;
  border:1px solid var(--gs-line);
  background:var(--gs-panel);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 22px rgba(15,23,42,0.08);
  color: var(--gs-text);
}
.gsLayerClose:hover{ background:#f8fafc; }
html[data-theme="dark"] .gsLayerClose:hover{ background: rgba(255,255,255,.05); }
.gsLayerTitle{
  font-size:18px;
  font-weight:1000;
  letter-spacing:-.02em;
  color:var(--gs-text);
  margin-bottom:6px;
}
.gsLayerSub{
  font-size:12px;
  color:var(--gs-sub);
  margin-bottom:12px;
  line-height:1.6;
}
.gsLayerBody{
  font-size:13px;
  color:var(--gs-text);
  line-height:1.7;
}
.gsLayerBody .gsKpi{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin:10px 0 6px;
}
.gsLayerBody .gsKpiItem{
  border:1px solid var(--gs-line);
  border-radius:16px;
  padding:12px 13px;
  background:linear-gradient(180deg, rgba(248,250,252,.96), rgba(241,245,249,.84));
}
html[data-theme="dark"] .gsLayerBody .gsKpiItem{
  background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
}
.gsLayerBody .gsKpiItem b{
  display:block;
  margin-bottom:4px;
  font-weight:1000;
}
.gsLayerHint{
  margin-top:10px;
  font-size:12px;
  color:var(--gs-sub);
}

/* 쿠폰 모달 */
.modal{
  display:none;
  position:fixed;
  inset:0;
  z-index:1000;
  background:rgba(0,0,0,.42);
  align-items:center;
  justify-content:center;
  padding:24px;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
.modal.show{ display:flex; }
.modal-content{
  margin:0;
  background:var(--gs-panel);
  border:1px solid var(--gs-line);
  border-radius:20px;
  width:min(92vw, 620px);
  max-height:90vh;
  overflow:auto;
  position:relative;
  padding:22px;
  box-shadow:0 20px 46px rgba(0,0,0,.18);
}
.modal-header{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding-bottom:14px;
  border-bottom:1px solid var(--gs-line-soft);
  margin-bottom:14px;
}
.modal-title{
  font-size:18px;
  font-weight:1000;
  color:var(--gs-text);
}
.modal-sub{
  font-size:13px;
  color:var(--gs-sub);
  margin-top:4px;
  line-height:1.5;
}
.modal-section{ margin-top:14px; }
.modal-section h4{
  font-size:14px;
  color:var(--gs-text);
  margin:0 0 10px;
  font-weight:1000;
}
.btn{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid var(--gs-line);
  background:var(--gs-panel);
  color:var(--gs-text);
  border-radius:12px;
  cursor:pointer;
  padding:8px 12px;
  transition:background .15s, border-color .15s, box-shadow .2s, transform .05s;
  font-weight:1000;
}
.btn:hover{
  background:#f9fafb;
  border-color:#d1d5db;
  box-shadow:0 4px 12px rgba(0,0,0,.06);
}
html[data-theme="dark"] .btn:hover{
  background: rgba(255,255,255,.05);
  border-color: rgba(122,160,184,.35);
}
.btn:active{ transform:translateY(1px); }
.btn-primary{
  background:#111827;
  color:#fff;
  border-color:#111827;
}
.btn-primary:hover{ background:#000; border-color:#000; }
html[data-theme="dark"] .btn-primary{
  background: var(--gs-green);
  color:#0a1218;
  border-color: var(--gs-green);
}
.close-btn{
  position:absolute;
  top:14px;
  right:14px;
  width:38px;
  height:38px;
  padding:0;
  border-radius:9999px;
  border:1px solid var(--gs-line);
  background:var(--gs-panel);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  cursor:pointer;
  box-shadow:0 1px 2px rgba(0,0,0,.05);
  color: var(--gs-text);
}
.close-btn:hover{
  background:#f9fafb;
  border-color:#d1d5db;
  box-shadow:0 4px 12px rgba(0,0,0,.08);
}
html[data-theme="dark"] .close-btn:hover{
  background: rgba(255,255,255,.05);
}
.close-btn i{ pointer-events:none; }

#stampsContainer{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.row{
  text-align:center;
  padding:2px 0;
}
.stamp{
  width:70px;
  height:70px;
  border-radius:50%;
  display:inline-block;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  margin:4px;
  transition:transform .05s;
  border:1px solid var(--gs-line);
}
.stamp:hover{ transform:scale(1.02); }
.stamp.empty{ background-color: var(--gs-bg-2); }

#settingsContainer{
  display:none;
  margin-top:0;
  padding-top:14px;
  border-top:1px solid var(--gs-line-soft);
}
.form-grid{
  display:grid;
  grid-template-columns:110px 1fr;
  gap:10px;
  align-items:center;
}
.form-grid input[type="text"],
.form-grid input[type="date"],
.form-grid select{
  border:1px solid var(--gs-line);
  border-radius:10px;
  padding:10px 12px;
  min-height:42px;
  background: var(--gs-panel);
  color: var(--gs-text);
}

/* QR 오버레이 */
.gsQrOverlay{
  display:none;
  position:fixed;
  inset:0;
  z-index:3500;
  background:rgba(0,0,0,.88);
  align-items:center;
  justify-content:center;
  padding:18px;
}
.gsQrOverlay.is-open{ display:flex; }
.gsQrOverlay #gsQrBig{
  width:min(92vw, 560px);
  max-height:92vh;
  height:auto;
  object-fit:contain;
  background:#fff;
  border-radius:18px;
  padding:14px;
  box-shadow:0 20px 60px rgba(0,0,0,.35);
}
.gsQrClose{
  position:fixed;
  top:16px;
  right:16px;
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(0,0,0,.35);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index:3501;
}
.gsQrClose:hover{ background:rgba(0,0,0,.55); }
.gsQrThumb{ cursor:zoom-in; }

/* 매장정보 수정 버튼 */
.gsStoreManageFoot{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid var(--gs-line);
  display:flex;
  justify-content:flex-end;
}
.gsStoreManageBtn{
  position:static;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:38px;
  padding:0 14px;
  border-radius:999px;
  background:#111827;
  color:#fff;
  border:1px solid #111827;
  font-size:12px;
  font-weight:1000;
  text-decoration:none !important;
  box-shadow:0 10px 22px rgba(15,23,42,0.10);
}
.gsStoreManageBtn:hover{ background:#000; border-color:#000; }
html[data-theme="dark"] .gsStoreManageBtn{
  background: var(--gs-green);
  color: #0a1218;
  border-color: var(--gs-green);
}
html[data-theme="dark"] .gsStoreManageBtn:hover{
  background: var(--gs-green-2);
  border-color: var(--gs-green-2);
}

/* 공통 소소한 부분 */
.good_btn{ float:right; }
.good_btn span{
  display:inline-block;
  padding-right:20px;
  font-size:85%;
  padding-top:20px
}
p.writer{ color:var(--gs-sub); font-size:90%; padding-top:10px }

@media (max-width:1180px){
  .gsClubShell{
    grid-template-columns:290px minmax(0,1fr);
  }
  .gsBoardGrid{
    grid-template-columns:1fr;
  }
}

@media (max-width:980px){
  .gsClubShell{
    grid-template-columns:1fr;
    padding:0 12px;
    gap:14px;
  }

  .gsSideHero{
    padding:16px 16px 14px;
  }

  .gsClubHeroTitle{
    font-size:24px;
  }

  .gsClubQuick{
    grid-template-columns:repeat(4,minmax(0,1fr));
    padding:12px 16px;
  }

  .gsQuickItem{
    padding:10px 10px;
    border-radius:16px;
  }

  .gsQuickValue{
    font-size:18px;
  }

  .gsTopTabsCard{
    position: relative;
    top: auto;
  }

  .gsTopTabs{
    grid-template-columns:repeat(4, minmax(0,1fr));
    padding:12px;
    gap:6px;
  }
  .gsTopTab{
    flex-direction:column;
    align-items:flex-start;
    min-height:64px;
    padding:10px;
    gap:6px;
  }
  .gsTopTab.is-active::after{ left:10px; right:10px; }
  .gsTopTabIcon{
    width:32px;
    height:32px;
    border-radius:10px;
    font-size:13px;
  }
  .gsTopTabLabel{ font-size:13.5px; }
  .gsTopTabSub{ display:none; }
  .gsTopTabBadge{
    position:absolute;
    top:8px;
    right:8px;
    height:20px;
    min-width:24px;
    font-size:10px;
    padding:0 7px;
  }

  .gsPaneInner{
    padding:16px;
  }

  .gsPaneTitle{
    font-size:24px;
  }

  .form-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:640px){
  .gsClubShell{
    margin:14px auto 22px;
    padding:0 10px;
  }

  .gsCard{
    border-radius:20px;
  }

  .gsClubMe{
    gap:12px;
  }

  .gsClubMeAvatar{
    width:58px;
    height:58px;
    flex-basis:58px;
    border-radius:18px;
  }

  .gsClubMeNick{
    font-size:18px;
  }

  .gsClubHeroTitle{
    font-size:22px;
  }

  .gsClubQuick{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }

  .gsTopTabs{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }

  .gsPaneTitle{
    font-size:22px;
  }

  .gsFeedCard{
    padding:16px;
    min-height:auto;
  }

  .gsFeedSubject{
    font-size:19px;
  }

  .gsFeedThumb img{
    height:180px;
  }

  .modal-content{
    width:min(96vw, 620px);
    padding:18px;
  }
}
/* 게시판 목록 */
#bo_list {position:relative;margin-bottom:20px}
#bo_list:after {display:block;visibility:hidden;clear:both;content:""}
#bo_list .td_board {width:120px;text-align:center}
#bo_list .td_chk {width:30px;text-align:center;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1}
#bo_list .td_date {width:60px;text-align:center}
#bo_list .td_datetime {width:60px;text-align:center}
#bo_list .td_group {width:100px;text-align:center}
#bo_list .td_mb_id {width:100px;text-align:center}
#bo_list .td_mng {width:80px;text-align:center}
#bo_list .td_name {width:90px;text-align:left;padding:10px 0}
#bo_list .td_nick {width:100px;text-align:center}
#bo_list .td_num {width:50px;text-align:center}
#bo_list .td_num2 {width:50px;text-align:center}
#bo_list .td_numbig {width:80px;text-align:center}
#bo_list .txt_active {color:#5d910b}
#bo_list .txt_expired {color:#ccc}
#bo_list tbody tr {border-left:2px solid transparent}
#bo_list tbody tr:hover {border-left:2px solid #253dbe}
#bo_list tbody .even td {background:#fbfbfb}

#bo_cate {margin:25px 0}
#bo_cate h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_cate ul {zoom:1}
#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""}
#bo_cate li {display:inline-block;padding:2px}
#bo_cate a {display:block;line-height:28px;padding:5px 15px;border-radius:30px;border:1px solid #d6e9ff;color:#6794d3}
#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none;background:#3a8afd;color:#fff}
#bo_cate #bo_cate_on {z-index:2;background:#3a8afd;color:#fff;font-weight:bold;border:1px solid #3a8afd;
-webkit-box-shadow:inset 0 2px 5px rgb(33, 135, 202);
-moz-box-shadow:inset 0 2px 5px rgb(33, 135, 202);
box-shadow:inset 0 2px 5px rgb(33, 135, 202)}
.td_subject img {margin-left:5px}

/* 게시판 목록 공통 */
.selec_chk {position:absolute;top:0;left:0;width:0;height:0;opacity:0;outline:0;z-index:-1;overflow:hidden}
.chk_box {position:relative}
.chk_box input[type="checkbox"] + label {position:relative;color:#676e70}
.chk_box input[type="checkbox"] + label:hover {color:#2172f8}
.chk_box input[type="checkbox"] + label span {float:left;width:15px;height:15px;display:block;background:#fff;border:1px solid #d0d4df;border-radius:3px}
.write_div .chk_box input[type="checkbox"] + label, .bo_vc_w .chk_box input[type="checkbox"] + label {padding-left:20px}
.write_div .chk_box input[type="checkbox"] + label span, .bo_vc_w .chk_box input[type="checkbox"] + label span {position:absolute;top:2px;left:0;width:15px;height:15px;display:block;margin:0;background:#fff;border:1px solid #d0d4df;border-radius:3px}
.chk_box input[type="checkbox"]:checked + label {color:#000}
.chk_box input[type="checkbox"]:checked + label span {background:url(./img/chk.png) no-repeat 50% 50% #3a8afd;border-color:#1471f6;border-radius:3px}


#bo_btn_top {margin:10px 0}
#bo_btn_top:after {display:block;visibility:hidden;clear:both;content:""}
.bo_fx {margin-bottom:5px;float:right;zoom:1}
.bo_fx:after {display:block;visibility:hidden;clear:both;content:""}
.bo_fx ul {margin:0;padding:0;list-style:none}
#bo_list_total {float:left;line-height:34px;font-size:0.92em;color:#4e546f}

.btn_bo_user {float:right;margin:0;padding:0;list-style:none}
.btn_bo_user li {float:left;width:40px;text-align:center;margin-left:5px;background:#fff}
.btn_bo_user > li {position:relative}
.btn_bo_adm {float:left}
.btn_bo_adm li {float:left;margin-right:5px}
.btn_bo_adm input {padding:0 8px;border:0;background:#d4d4d4;color:#666;text-decoration:none;vertical-align:middle}
.bo_notice td {background:#fff6fa !important;border-bottom:1px solid #f8e6ee}
.bo_notice td a {font-weight:bold}
.bo_notice .notice_icon {display:inline-block;line-height:25px;border-radius:5px;font-weight:bold;color:#f9267f}

.more_opt {display:none;position:absolute;top:45px;right:0;background:#fff;border:1px solid #b8bfc4;z-index:999}
.more_opt:before {content:"";position:absolute;top:-8px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent}
.more_opt:after {content:"";position:absolute;top:-6px;right:13px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent}
.more_opt li {border-bottom:1px solid #f1f1f1;padding:10px;float:inherit;width:90px;margin:0;color:#6b757c;text-align:left}
.more_opt li:last-child {border-bottom:0}
.more_opt li button, .more_opt li a {width:100%;border:0;background:#fff;color:#6b757c}
.more_opt li:hover a,
.more_opt li:hover button {color:#000}
.more_opt li i {float:right;line-height:20px}

.td_num strong {color:#000}
.bo_cate_link {float:left;display:inline-block;margin-right:10px;background:#e2eaf6;color:#3a8afd;font-weight:normal !important;height:20px;line-height:10px;padding:5px 8px;border-radius:5px;font-size:0.95em} /* 글제목줄 분류스타일 */
.bo_cate_link:hover {text-decoration:none}
.bo_tit {display:block;color:#000;font-weight:bold}
.bo_current {color:#e8180c}
#bo_list .profile_img img {border-radius:50%}
#bo_list .cnt_cmt {background:#e9eff5;color:#3a8afd;font-size:11px;height:16px;line-height:16px;padding:0 5px;border-radius:3px;vertical-align:middle}

#bo_list .bo_tit .title_icon {margin-right:2px}
#bo_list .bo_tit .fa-heart {color:#ff0000}
#bo_list .bo_tit .fa-lock {display:inline-block;line-height:14px;width:16px;font-size:0.833em;color:#4f818c;background:#cbe3e8;text-align:center;border-radius:2px;font-size:12px;border:1px solid #cbe3e8;vertical-align:middle}
#bo_list .bo_tit .new_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#23db79;background:#b9ffda;text-align:center;border-radius:2px;margin-left:2px;font-weight:bold;vertical-align:middle}
#bo_list .bo_tit .hot_icon {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#ff0000;background:#ffb9b9;text-align:center;border-radius:2px;vertical-align:middle}
#bo_list .bo_tit .fa-caret-right {color:#bbb}
#bo_list .bo_tit .fa-download {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#daae37;background:#ffefb9;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle}
#bo_list .bo_tit .fa-link {display:inline-block;width:16px;line-height:16px;font-size:0.833em;color:#b451fd;background:#edd3fd;text-align:center;border-radius:2px;margin-left:5px;vertical-align:middle}

.bo_sch_wrap {display:none;width:100%;height:100%;position:fixed;top:0;left:0;z-index:999}
.bo_sch {position:absolute;top:50%;left:50%;background:#fff;text-align:left;width:330px;max-height:300px;margin-left:-125px;margin-top:-180px;overflow-y:auto;border-radius:5px;-webkit-box-shadow:1px 1px 18px rgba(0,0,0,0.2);-moz-box-shadow:1px 1px 18px rgba(0,0,0,0.2);box-shadow:1px 1px 18px rgba(0,0,0,0.2);border:1px solid #dde7e9;background:#fff;border-radius:3px}
.bo_sch:after {display:block;visibility:hidden;clear:both;content:""}
.bo_sch h3 {padding:15px;border-bottom:1px solid #e8e8e8}
.bo_sch legend {background:red}
.bo_sch form {padding:15px;display:block}
.bo_sch select {border:0;width:100%;height:40px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)}
.bo_sch .sch_bar {display:inline-block;width:100%;clear:both;margin-top:15px;border:1px solid #d0d3db;border-radius:2px;-webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
-moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075)}
.bo_sch .sch_input {width:250px;height:38px;border:0;padding:0;background-color:transparent;float:left}
.bo_sch .sch_btn {height:38px;float:right;color:#656565;background:none;border:0;width:40px;font-size:15px}
.bo_sch .bo_sch_cls {position:absolute;right:0;top:0;color:#b5b8bb;border:0;padding:12px 15px;font-size:16px;background:#fff}
.bo_sch_bg {background:#000;background:rgba(0,0,0,0.1);width:100%;height:100%}

/* 게시판 쓰기 */
#char_count_desc {display:block;margin:0 0 5px;padding:0}
#char_count_wrap {margin:5px 0 0;text-align:right}
#char_count {font-weight:bold}

#autosave_wrapper {position:relative}
#autosave_pop {display:none;z-index:10;position:absolute !important;top:34px;right:0;width:350px;height:auto !important;height:180px;max-height:180px;border:1px solid #565656;background:#fff;
-webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2);
-moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2);
box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)}
#autosave_pop:before {content:"";position:absolute;top:-8px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #000 transparent}
#autosave_pop:after {content:"";position:absolute;top:-7px;right:45px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent}
html.no-overflowscrolling #autosave_pop {height:auto;max-height:10000px !important} /* overflow 미지원 기기 대응 */
#autosave_pop strong {position:absolute;font-size:0;line-height:0;overflow:hidden}
#autosave_pop div {text-align:center;margin:0 !important}
#autosave_pop button {margin:0;padding:0;border:0}
#autosave_pop ul {padding:15px;border-top:1px solid #e9e9e9;list-style:none;overflow-y:scroll;height:130px;border-bottom:1px solid #e8e8e8}
#autosave_pop li {padding:8px 5px;border-bottom:1px solid #fff;background:#eee;zoom:1}
#autosave_pop li:after {display:block;visibility:hidden;clear:both;content:""}
#autosave_pop a {display:block;float:left}
#autosave_pop span {display:block;float:right;font-size:0.92em;font-style:italic;color:#999}
.autosave_close {cursor:pointer;width:100%;height:30px;background:none;color:#888;font-weight:bold;font-size:0.92em}
.autosave_close:hover {background:#f3f3f3;color:#3597d9}
.autosave_content {display:none}
.autosave_del {background:url(./img/close_btn.png) no-repeat 50% 50%;text-indent:-999px;overflow:hidden;height:20px;width:20px}

/* 게시판 읽기 */
#bo_v {margin-bottom:20px;background:#fff;box-sizing:border-box}

#bo_v_table {position:absolute;top:0;right:16px;margin:0;padding:0 5px;height:25px;background:#ff3061;color:#fff;font-weight:bold;line-height:2.2em}

#bo_v_title {}
#bo_v_title .bo_v_cate {display:inline-block;line-height:20px;background:#e2eaf6;color:#3a8afd;padding:0 10px;border-radius:3px;}
#bo_v_title .bo_v_tit {display:block;font-size:2em;margin:5px 0 0;word-break:break-all}

#bo_v_info {margin:0;border-bottom:1px solid #f1f1f1;color:#666}
#bo_v_info:after {display:block;visibility:hidden;clear:both;content:""} 
#bo_v_info h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}

#bo_v_info .profile_info {margin:20px 0 10px;display:inline-block;float:left}
#bo_v_info .profile_info .pf_img {float:left;margin-right:10px}
#bo_v_info .profile_info .pf_img img {border-radius:50%;width:50px;height:50px}
#bo_v_info .profile_info .profile_info_ct {float:left;padding:5px 0;line-height:18px}

#bo_v_info strong {display:inline-block;margin:0 10px 0 0;font-weight:normal}
#bo_v_info .sv_member,
#bo_v_info .sv_guest,
#bo_v_info .member,
#bo_v_info .guest {font-weight:bold}
#bo_v_info .profile_img {display:none}
#bo_v_info .sv_member {color:#000}
#bo_v_info .if_date {margin:0;color:#888}

#bo_v_file h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_file ul {margin:0;list-style:none}
#bo_v_file li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px;
-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%);
-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%);
box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)}
#bo_v_file li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px}
#bo_v_file a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000}
#bo_v_file a:focus, #bo_v_file li:hover a, #bo_v_file a:active {text-decoration:underline;color:#3a8afd}
#bo_v_file img {float:left;margin:0 10px 0 0}
#bo_v_file .bo_v_file_cnt {color:#b2b2b2;font-size:0.92em}
#bo_v_file li:hover {border-color:#bed4f4;color:#bed4f4}
#bo_v_file li:hover i {color:#3a8afd}
#bo_v_file li:hover .bo_v_file_cnt {color:#99c2fc}


#bo_v_link h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_file ul {margin:0;list-style:none}
#bo_v_link li {padding:15px;position:relative;margin:10px 0;border:1px solid #dfdfdf;border-radius:5px;
-webkit-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%);
-moz-box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%);
box-shadow:1px 1px 5px 0px hsl(232, 36%, 96%)}
#bo_v_link li i {float:left;color:#b2b2b2;font-size:2.35em;margin-right:20px}
#bo_v_link a {float:left;display:block;text-decoration:none;word-wrap:break-word;color:#000}
#bo_v_link a:focus, #bo_v_link li:hover a, #bo_v_link a:active {text-decoration:underline;color:#3a8afd}
#bo_v_link .bo_v_link_cnt {color:#b2b2b2;font-size:0.92em}
#bo_v_link li:hover {border-color:#bed4f4;color:#bed4f4}
#bo_v_link li:hover i {color:#3a8afd}
#bo_v_link li:hover .bo_v_link_cnt {color:#99c2fc}

#bo_v_top {zoom:1}
#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_top h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_top ul {padding:0;list-style:none;word-break:break-all;background:#fff}

#bo_v_bot {zoom:1}
#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_bot h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_v_bot ul {padding:0;list-style:none}

.bo_v_com {margin:20px 0;float:right}
.bo_v_com > li {position:relative;float:left;margin-left:5px}

.bo_v_nb {position:relative;margin:20px 0;clear:both;text-align:left}
.bo_v_nb:after {display:block;visibility:hidden;clear:both;content:""}
.bo_v_nb li {border-top:1px solid #f1f1f1;padding:13px}
.bo_v_nb li:last-child {border-bottom:1px solid #f1f1f1}
.bo_v_nb li:hover {background:#f6f6f6}
.bo_v_nb li i {font-size:13px;color:#b3b3b3}
.bo_v_nb li .nb_tit {display:inline-block;padding-right:20px;color:#b3b3b3}
.bo_v_nb li .nb_date {float:right;color:#b3b3b3}

#bo_v_atc {min-height:200px;height:auto !important;height:200px}
#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden}

#bo_v_img {width:100%;overflow:hidden;zoom:1}
#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_img a.view_image {display:block}
#bo_v_img img {margin-bottom:20px;max-width:100%;height:auto}

#bo_v_con {margin:10px 0 30px;width:100%;line-height:1.7em;min-height:200px;word-break:break-all;overflow:hidden}
#bo_v_con a {color:#000;text-decoration:underline}
#bo_v_con img {max-width:100%;height:auto}

#bo_v_act {margin-bottom:30px;text-align:center}
#bo_v_act .bo_v_act_gng {position:relative}
#bo_v_act a {margin-right:5px;vertical-align:middle;color:#4a5158}
#bo_v_act a:hover {background-color:#fff;color:#ff484f;border-color:#ff484f}
#bo_v_act i {font-size:1.4em;margin-right:5px}
#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;left:0;z-index:9999;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center}
#bo_v_act .bo_v_good {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px}
#bo_v_act .bo_v_nogood {display:inline-block;border:1px solid #dedede;width:70px;line-height:46px;border-radius:30px}

#bo_v_sns {padding:0;list-style:none;zoom:1;float:left;display:inline-block}
#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_sns li {float:left;width:135px;margin-right:5px;text-align:left}
#bo_v_sns li a {height:35px;line-height:35px;text-align:center;border-radius:5px;color:#fff;font-size:0.95em}
#bo_v_sns li img {vertical-align:middle;margin-right:5px}
#bo_v_sns li .sns_f {display:block;background:#3b5997}
#bo_v_sns li .sns_t {display:block;background:#09aeee}
#bo_v_sns li .sns_g {display:block;background:#ea4026}
#bo_v_sns li .sns_k {display:block;background:#fbe300}

#bo_v_share {position:relative;padding:20px 0}
#bo_v_share:after {display:block;visibility:hidden;clear:both;content:""}
#bo_v_share .btn {padding:0 10px;color:#555;font-weight:normal;font-size:1em;width:80px;line-height:35px;height:35px;border-color:#d5d5d5;border-radius:5px}
#bo_v_share .btn:hover {background:#fff}
#bo_v_share .btn i {margin-right:5px;color:#4b5259;vertical-align:middle}

/* 게시판 댓글 */
.cmt_btn {width:100%;text-align:left;border:0;border-bottom:1px solid #f0f0f0;background:#fff;font-weight:bold;margin:30px 0 0px;padding:0 0 15px}
.cmt_btn span.total {position:relative;display:inline-block;margin-right:5px;font-size:1em;color:#3a8afd}
.cmt_btn span.cmt_more {float:right;display:inline-block;width:15px;height:10px;background:url(./img/btn_cmt.png) no-repeat right 2px;margin-top:5px}
.cmt_btn_op span.cmt_more {background-position:right -8px}
.cmt_btn b {font-size:1.2em;color:#000}
.cmt_btn span.total:after {position:absolute;bottom:-17px;left:0;display:inline-block;background:#3a8afd;content:"";width:100%;height:2px}
#bo_vc {}
#bo_vc h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_vc article {margin:20px 0;position:relative;border-bottom:1px solid #f0f0f0}
#bo_vc article:after {display:block;visibility:hidden;clear:both;content:""}
#bo_vc article .profile_img img {border-radius:50%}
#bo_vc article .pf_img {float:left;margin-right:10px}
#bo_vc article .pf_img img {border-radius:50%;width:50px;height:50px}
#bo_vc article .cm_wrap {float:left;max-width:870px;width:90%}
#bo_vc header {position:relative;width:100%}
#bo_vc header:after {display:block;visibility:hidden;clear:both;content:""}
#bo_vc header .profile_img {display:none}
#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px}
#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold}
.bo_vc_hdinfo {color:#777}
#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#bo_vc .cmt_contents {line-height:1.8em;padding:0 0 20px}
#bo_vc p a {text-decoration:underline}
#bo_vc p a.s_cmt {text-decoration:underline;color:#ed6479}
#bo_vc_empty {margin:0;padding:80px 0 !important;color:#777;text-align:center}
#bo_vc #bo_vc_winfo {float:left}
#bo_vc .bo_vl_opt {position:absolute;top:0;right:0}

.bo_vc_act {display:none;position:absolute;right:0;top:40px;width:58px;text-align:right;border:1px solid #b8bfc4;margin:0;list-style:none;background:#fff;zoom:1;z-index:9999}
.bo_vc_act:before {content:"";position:absolute;top:-8px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #b8bfc4 transparent}
.bo_vc_act:after {content:"";position:absolute;top:-6px;right:5px;width:0;height:0;border-style:solid;border-width:0 6px 8px 6px;border-color:transparent transparent #fff transparent}
.bo_vc_act li {border-bottom:1px solid #f0f0f0}
.bo_vc_act li:last-child {border-bottom:0}
.bo_vc_act li a {display:inline-block;padding:10px 15px}
.bo_vc_act li a:hover {color:#3a8afd}

.bo_vc_w {position:relative;margin:10px 0;display:block}
.bo_vc_w:after {display:block;visibility:hidden;clear:both;content:""}
.bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
.bo_vc_w #char_cnt {display:block;margin:0 0 5px}
.bo_vc_w textarea {border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;width:100%;height:120px;
-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);
-moz-box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1);
box-shadow:inset 0 1px 2px rgba(0, 0, 0, 0.1)}
#wr_secret {}
.bo_vc_w_info {margin:10px 0;float:left}
.bo_vc_w_info:after {display:block;visibility:hidden;clear:both;content:""}
.bo_vc_w_info .frm_input {float:left;margin-right:5px}
.bo_vc_w_info #captcha {padding-top:10px;display:block;clear:both}
.bo_vc_w .btn_confirm {clear:both;margin-top:10px}
.bo_vc_w .btn_confirm label {display:inline-block;margin-right:10px;border-radius:3px;font-size:1.5em;text-align:center}
.bo_vc_w .btn_submit {height:45px;padding:0 20px;border-radius:3px;font-weight:bold;font-size:1.083em}
.bo_vc_w .btn_confirm .secret_cm label {font-size:1em !important}
.bo_vc_w_wr:after {display:block;visibility:hidden;clear:both;content:""}
.secret_cm {display:inline-block;float:left}

#bo_vc_send_sns {display:inline-block;float:left}
#bo_vc_sns {display:inline-block;margin:0;padding:0;list-style:none;zoom:1}
#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""}
#bo_vc_sns li {float:left;margin:0 5px 0 0}
#bo_vc_sns .sns_li_f {border-radius:3px;background:#3a589b;height:40px;line-height:40px;padding:0 0 0 10px}
#bo_vc_sns .sns_li_t {border-radius:3px;background:#00aced;height:40px;line-height:40px;padding:0 0 0 10px}
#bo_vc_sns .sns_li_off {background:#bbb}
#bo_vc_sns a {display:inline-block;padding:0 15px 0 5px}
#bo_vc_sns input {margin:0 5px 0 0}

/*글쓰기*/
#bo_w .bo_v_option li {display:inline-block;float:left;text-align:left;margin:0 5px 0 0}
#bo_w .bo_v_option li label {vertical-align:baseline}
#bo_w .bo_v_option .chk_box input[type="checkbox"] + label span {margin-left:0;margin-right:5px}
#bo_w .write_div {margin:10px 0;position:relative}
#bo_w .write_div:after {display:block;visibility:hidden;clear:both;content:""}
#bo_w .bo_w_info:after {display:block;visibility:hidden;clear:both;content:""}
#bo_w .bo_w_info .frm_input {float:left;margin-bottom:1%}
#bo_w #wr_password, #bo_w #wr_homepage {margin-left:1%}
#bo_w .wr_content.smarteditor2 iframe {background:#fff}
#bo_w .bo_w_tit {position:relative}
#bo_w .bo_w_tit .frm_input {padding-right:120px}
#bo_w .bo_w_tit #btn_autosave {position:absolute;top:5px;right:5px;line-height:30px;height:30px}
#bo_w .bo_w_link label {position:absolute;top:1px;left:1px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2}
#bo_w .bo_w_link .frm_input {padding-left:50px}
#bo_w .bo_w_flie .lb_icon {position:absolute;top:0px;left:0px;border-radius:3px 0 0 3px;height:38px;line-height:38px;width:40px;font-size:1.2em;text-align:center;color:#b2b2b2}
#bo_w .bo_w_flie .frm_file {padding-left:50px;margin-top:3px}
#bo_w .bo_w_flie .file_wr {position:relative;border:1px solid #ccc;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;height:40px;margin:0}
#bo_w .bo_w_flie .frm_input {margin:10px 0 0}
#bo_w .bo_w_flie .file_del {position:absolute;top:10px;right:10px;font-size:0.92em;color:#7d7d7d}
#bo_w .bo_w_select select {border:1px solid #d0d3db;width:100%;height:40px;border-radius:3px}
#bo_w .btn_submit {padding:0 20px;font-size:1.167em}
#bo_w .btn_cancel {border-radius:3px;font-size:1.167em}

 
    /* ---------------------------
   쿠폰 모달 (화이트/라운드/중앙)
---------------------------- */
    .modal {
        display: none;
        position: fixed;
        inset: 0;
        z-index: 1000;
        background: rgba(0, 0, 0, .4);
        align-items: center;
        justify-content: center;
        padding: 24px;
        overflow: auto;
        -webkit-overflow-scrolling: touch
    }

    .modal.show {
        display: flex
    }

    .modal-content {
        margin: 0;
        background: #fff;
        border: 1px solid #e5e7eb;
        border-radius: 16px;
        width: min(92vw, 560px);
        max-height: 90vh;
        overflow: auto;
        position: relative;
        padding: 20px;
        box-shadow: 0 12px 32px rgba(0, 0, 0, .18)
    }

    .modal-header {
        display: block;
        align-items: center;
        gap: 12px;
        padding-bottom: 12px;
        border-bottom: 1px solid #eee;
        margin-bottom: 12px
    }

    .modal-header p em {
        display: inline-block;
        width: 80px;
    }

    .modal-header p b {
        color: var(--brand);
    }

    .modal-title {
        font-size: 18px;
        font-weight: 700;
        color: #111827
    }

    .modal-sub {
        font-size: 13px;
        color: #6b7280
    }

    .modal-section {
        margin-top: 12px
    }

    .modal-section h4 {
        font-size: 14px;
        color: #374151;
        margin: 10px 0 8px
    }

    .btn {
        appearance: none;
        -webkit-appearance: none;
        border: 1px solid #e5e7eb;
        background: #fff;
        color: #111827;
        border-radius: 10px;
        cursor: pointer;
        padding: 8px 12px;
        transition: background .15s, border-color .15s, box-shadow .2s, transform .05s
    }

    .btn:hover {
        background: #f9fafb;
        border-color: #d1d5db;
        box-shadow: 0 4px 12px rgba(0, 0, 0, .06)
    }

    .btn:active {
        transform: translateY(1px)
    }

    .btn-primary {
        background: #111827;
        color: #fff;
        border-color: #111827
    }

    .btn-primary:hover {
        background: #000;
        border-color: #000
    }

    /* 닫기 버튼(우상단 동그라미) */
    .close-btn {
        position: absolute;
        top: 12px;
        right: 12px;
        width: 36px;
        height: 36px;
        padding: 0;
        border-radius: 9999px;
        border: 1px solid #e5e7eb;
        background: #fff;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 18px;
        cursor: pointer;
        box-shadow: 0 1px 2px rgba(0, 0, 0, .05)
    }

    .close-btn:hover {
        background: #f9fafb;
        border-color: #d1d5db;
        box-shadow: 0 4px 12px rgba(0, 0, 0, .08)
    }

    .close-btn i {
        pointer-events: none
    }

    /* 스탬프 영역 */
    #stampsContainer {
        display: flex;
        flex-direction: column;
        gap: 8px
    }

    .row {
        text-align: center;
        padding: 6px
    }

    .stamp {
        width: 70px;
        height: 70px;
        border-radius: 50%;
        display: inline-block;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        margin: 2px;
        transition: transform .05s
    }

    .stamp:hover {
        transform: scale(1.02)
    }

    .stamp.empty {
        background-color: #e5e7eb
    }

    /* 설정 섹션 */
    #settingsContainer {
        display: none;
        margin-top: 0px;
        padding-top: 12px;
        border-top: 1px solid #eee;
        max-height: auto;
        overflow: auto
    }

    .form-grid {
        display: grid;
        grid-template-columns: 100px 1fr;
        gap: 10px;
        align-items: center
    }

    .form-grid input[type="text"],
    .form-grid input[type="date"],
    .form-grid select {
        border: 1px solid #e5e7eb;
        border-radius: 8px;
        padding: 8px
    }

    /* 상단 탭 */
    .tab-container {
        display: flex;
        gap: 8px;
        margin-bottom: 12px
    }

    .tab {
        padding: 8px 12px;
        border-radius: 8px;
        border: 1px solid #eee;
        cursor: pointer
    }

    .tab.active {
        background: #111827;
        color: #fff;
        border-color: #111827
    }

    .tab-content {
        display: none
    }

    .tab-content.active {
        display: block
    }

    /* 기타(리스트 카드 일부) */
    .good_btn {
        float: right
    }

    .good_btn span {
        display: inline-block;
        padding-right: 20px;
        font-size: 85%;
        padding-top: 20px
    }

    p.writer {
        color: #999;
        font-size: 90%;
        padding-top: 10px
    }

    
    
        /* ─────────────────────────────
     * 클럽 사업자 정보 & 매장 사진 카드
     * ──────────────────────────── */
    .club-info-wrap{
        width:100%;
        margin:18px auto 24px;
        padding:0 16px;
    }
    .club-info-card,
    .club-photo-card{
        border-radius:18px;
        box-shadow:0 14px 30px rgba(15,23,42,0.06);
        padding:18px 20px 20px;
        margin-bottom:14px;
    }
    .club-info-header{
        display:flex;
        justify-content:space-between;
        align-items:flex-end;
        gap:12px;
        margin-bottom:12px;
    }
    .club-info-title{
        font-size:16px;
        font-weight:800;
        color:#111827;
    }
    .club-info-sub{
        font-size:12px;
        color:#9ca3af;
        text-align:right;
    }
    .club-info-grid{
        display:grid;
        grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
        gap:8px 16px;
        margin-bottom:10px;
    }
    .club-info-item{
        font-size:13px;
    }
    .club-info-label{
        display:block;
        font-size:11px;
        font-weight:600;
        color:#9ca3af;
        margin-bottom:3px;
    }
    .club-info-value{
        font-size:13px;
        color:#111827;
        word-break:keep-all;
    }
    .club-info-empty{
        display:inline-block;
        padding:2px 8px;
        border-radius:999px;
        background:#f3f4f6;
        color:#9ca3af;
        font-size:11px;
    }
    .club-info-tags-row{
        display:flex;
        gap:8px;
        align-items:flex-start;
        margin-top:4px;
        flex-wrap:wrap;
    }
    .club-info-tags{
        flex:1;
        display:flex;
        flex-wrap:wrap;
        gap:4px;
    }
    .club-info-tag{
        display:inline-flex;
        align-items:center;
        padding:4px 9px;
        border-radius:999px;
        background:#eef2ff;
        font-size:11px;
        color:#4338ca;
        white-space:nowrap;
    }
    .club-info-oneliner{
        margin-top:10px;
        font-size:13px;
        color:#4b5563;
    }

    .club-photo-header{
        display:flex;
        justify-content:space-between;
        align-items:flex-end;
        gap:12px;
        margin-bottom:12px;
    }
    .club-photo-title{
        font-size:15px;
        font-weight:700;
    }
    .club-photo-sub{
        font-size:11px;
        color:#9ca3af;
        text-align:right;
    }
    .club-photo-grid{
        display:grid;
        grid-template-columns:repeat(4,1fr);
        gap:6px;
    }
    .club-photo-item{
        position:relative;
        overflow:hidden;
        border-radius:0px;
        background:#e5e7eb;
        aspect-ratio:1/1;
    }
    .club-photo-item img{
        width:100%;
        height:100%;
        object-fit:cover;
        display:block;
        transition:transform .25s ease-out;
    }
    .club-photo-item:hover img{
        transform:scale(1.05);
    }

    @media (max-width:768px){
        .club-info-wrap{
            margin-top:14px;
            padding:0 12px;
        }
        .club-photo-grid{
            grid-template-columns:repeat(3,1fr);
        }
    }
