/* =============================================
   BAMtube - Complete Dark Design System v2
   ============================================= */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;600;700;900&display=swap');

/* --- Variables --- */
:root {
  --red: #ff385c;
  --red-dark: #d42f4d;
  --red-glow: rgba(255,56,92,0.15);
  --bg0: #080808;
  --bg1: #111111;
  --bg2: #181818;
  --bg3: #222222;
  --bg4: #2c2c2c;
  --border: #2a2a2a;
  --border2: #383838;
  --t1: #f0f0f0;
  --t2: #b0b0b0;
  --t3: #777777;
  --t4: #444444;
  --gold: #f5c518;
  --blue: #3a7fd5;
  --r4: 4px;
  --r6: 6px;
  --r8: 8px;
  --r12: 12px;
  --shadow: 0 4px 24px rgba(0,0,0,0.6);
}

/* --- Base --- */
*, *::before, *::after { box-sizing: border-box; }

html {
  font-size: 62.5%;
  color-scheme: dark;
}

body {
  background: var(--bg0) !important;
  color: var(--t2) !important;
  font-family: 'Noto Sans KR', 'Malgun Gothic', sans-serif !important;
  font-size: 1.4rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

a { color: var(--t2); text-decoration: none; }
a:hover { color: var(--red) !important; }

img { max-width: 100%; height: auto; }

/* ============================================
   LOGO
   ============================================ */
.bt-logo-text {
  display: inline-flex;
  align-items: center;
  gap: 0;
  font-size: 2.8rem;
  font-weight: 900;
  letter-spacing: -1px;
  line-height: 1;
  font-style: italic;
  font-family: 'Arial Black', Arial, sans-serif;
}
.bt-logo-text .bam { color: var(--red); }
.bt-logo-text .tube { color: #ffffff; }
.bt-logo-text .dot {
  display: none;
}

/* ============================================
   TOP UTILITY BAR
   ============================================ */
header {
  background: var(--bg1) !important;
  border-bottom: 1px solid var(--border) !important;
  height: 40px !important;
}
header .wrap1400 {
  display: flex !important;
  align-items: center !important;
  height: 40px !important;
  padding: 0 2rem !important;
  gap: 1.2rem;
}
header p { margin: 0; }
header p a {
  color: var(--t3) !important;
  font-size: 1.25rem !important;
  display: flex;
  align-items: center;
  gap: 4px;
}
header p a i { font-size: 1.6rem; }
header p a:hover { color: var(--red) !important; }

/* Search box in header */
header .search_top.bt-search-box,
.bt-search-box {
  display: flex !important;
  align-items: center !important;
  height: 32px !important;
  background: var(--bg3) !important;
  border: 1px solid var(--border2) !important;
  border-radius: 20px !important;
  overflow: hidden;
  padding: 0 !important;
  flex: 1;
  max-width: 500px;
  transition: border-color 0.2s;
}
.bt-search-box:focus-within { border-color: var(--red) !important; }
.bt-search-box input[type="text"] {
  flex: 1;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  color: var(--t1) !important;
  font-size: 1.35rem !important;
  padding: 0 1.2rem !important;
  height: 100% !important;
  outline: none !important;
}
.bt-search-box input[type="text"]::placeholder { color: var(--t4) !important; }
.bt-search-box button[type="submit"] {
  background: var(--red) !important;
  border: none !important;
  width: 36px !important;
  height: 32px !important;
  color: #fff !important;
  font-size: 1.5rem !important;
  flex-shrink: 0;
  border-radius: 0 20px 20px 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}
.bt-search-box button[type="submit"]:hover { background: var(--red-dark) !important; }

header ul {
  display: flex !important;
  align-items: center;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  margin-left: auto;
}
header ul li {
  font-size: 1.25rem !important;
  color: var(--t3) !important;
  padding: 0 10px !important;
  border-right: 1px solid var(--border) !important;
  line-height: 1;
}
header ul li:last-child { border-right: none !important; }
header ul li a { color: var(--t3) !important; font-size: 1.25rem !important; }
header ul li a:hover { color: var(--red) !important; }
header ul li::after { display: none !important; }

/* ============================================
   MAIN NAV BAR
   ============================================ */
.header_menu {
  background: var(--bg1) !important;
  border-bottom: 2px solid var(--border) !important;
  box-shadow: 0 2px 16px rgba(0,0,0,0.5) !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
}
.header_menu .wrap1400 {
  display: flex !important;
  align-items: center !important;
  height: 60px !important;
  padding: 0 2rem !important;
  gap: 2rem;
}
.header_menu h1.logo {
  flex-shrink: 0;
  min-width: 120px;
}
.header_menu h1.logo a { text-decoration: none !important; }

/* Main nav links */
.header_menu .main_menu {
  display: flex !important;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 0;
  height: 60px;
}
.header_menu .main_menu > li {
  height: 60px;
  display: flex;
  align-items: center;
}
.header_menu .main_menu > li > a {
  display: block;
  padding: 0 1.6rem !important;
  height: 60px;
  line-height: 60px;
  font-size: 1.45rem !important;
  font-weight: 600 !important;
  color: var(--t2) !important;
  border-bottom: 2px solid transparent;
  transition: all 0.2s;
  white-space: nowrap;
}
.header_menu .main_menu > li > a:hover,
.header_menu .main_menu > li.on > a {
  color: var(--red) !important;
  border-bottom-color: var(--red) !important;
  background: rgba(255,56,92,0.04) !important;
}

/* Right side buttons */
.header_menu .s_menu {
  margin-left: auto;
  display: flex !important;
  align-items: center;
  list-style: none;
  margin: 0 0 0 auto;
  padding: 0;
  gap: 6px;
}
.header_menu .s_menu .style1 {
  background: var(--bg3) !important;
  border: 1px solid var(--border2) !important;
  border-radius: var(--r6) !important;
  width: 36px !important;
  height: 36px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.header_menu .s_menu .style1 a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.header_menu .s_menu .style1 i { color: var(--t3) !important; font-size: 1.8rem !important; }
.header_menu .s_menu .style1:hover { background: var(--bg4) !important; border-color: var(--red) !important; }
.header_menu .s_menu .style1:hover i { color: var(--red) !important; }
.header_menu .s_menu .enter_store {
  background: var(--red) !important;
  border-radius: var(--r6) !important;
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  padding: 0 1.4rem !important;
  height: 36px !important;
  display: flex !important;
  align-items: center !important;
}
.header_menu .s_menu .enter_store a { color: #fff !important; font-size: 1.4rem !important; font-weight: 700 !important; white-space: nowrap; }
.header_menu .s_menu .enter_store:hover { background: var(--red-dark) !important; }

/* Mega dropdown */
.header_menu .menu_open {
  background: var(--bg1) !important;
  border-top: 1px solid var(--border) !important;
  border-bottom: 1px solid var(--border) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.5) !important;
}
.header_menu .menu_open .deps1 { background: var(--bg2) !important; }
.header_menu .menu_open .deps1 ul li a {
  background: var(--bg3) !important;
  border: 1px solid var(--border) !important;
  color: var(--t2) !important;
  border-radius: var(--r4) !important;
  font-size: 1.4rem !important;
  font-weight: 500 !important;
  transition: all 0.15s;
}
.header_menu .menu_open .deps1 ul li a:hover,
.header_menu .menu_open .deps1 ul li.on a {
  background: var(--red) !important;
  border-color: var(--red) !important;
  color: #fff !important;
}
.header_menu .menu_open .deps2 { background: var(--bg1) !important; border-top: 1px solid var(--border) !important; }
.header_menu .menu_open .deps2 ul li a {
  color: var(--t3) !important;
  font-size: 1.35rem !important;
}
.header_menu .menu_open .deps2 ul li a:hover {
  color: var(--red) !important;
  background: var(--red-glow) !important;
  border-radius: var(--r4);
}

/* ============================================
   MOBILE MENU
   ============================================ */
.m_nav.m-menu-body- {
  background: var(--bg1) !important;
}
.m_menu { background: var(--bg1) !important; }
.m_menu .m_top { background: linear-gradient(135deg, #1a0a0f 0%, #200d14 100%) !important; }
.m_menu .m_top p { color: var(--t2) !important; }
.m_menu .m_top ul li a { color: var(--t2) !important; }
.m_menu .m_nav_1d > li > a {
  color: var(--t2) !important;
  border-bottom: 1px solid var(--border) !important;
  font-size: 1.5rem !important;
  font-weight: 600 !important;
}
.m_menu .m_nav_1d > li > a.on { color: var(--red) !important; }
.m_menu .m_nav_2d > li > a {
  color: var(--t2) !important;
  font-size: 1.4rem !important;
  background-image: none !important;
}
.m_menu .m_nav_3d { background: var(--bg3) !important; }
.m_menu .m_nav_3d > li a { color: var(--t3) !important; }
.m_menu .m_bottom { background: var(--bg0) !important; border-top: 1px solid var(--border) !important; }
.m_menu .m_bottom ul li { border-color: var(--border) !important; }
.m_menu .m_bottom ul li a p { color: var(--t3) !important; }
.m_menu .m_bottom ul li em { color: var(--t3) !important; font-size: 1.2rem !important; }

/* ============================================
   SHOP DETAIL PAGE
   ============================================ */
.shop_detail { background: var(--bg0); min-height: 80vh; }
.shop_detail .wrap1400 { max-width: 780px; margin: 0 auto; padding: 0 1.6rem; }

/* Hero image slider — centered, constrained */
.shop_detail .visual {
  max-width: 680px;
  margin: 1.2rem auto 0;
  overflow: hidden;
  background: var(--bg2);
  border-radius: 6px;
}
.shop_detail .visual img {
  width: 100% !important;
  height: auto !important;
  max-height: 340px;
  object-fit: contain;
  display: block !important;
}
/* Hide mobile duplicate slider on desktop */
.shop_detail .mobile- { display: none !important; }
@media (max-width: 767px) {
  .shop_detail .mobile- { display: block !important; }
  .shop_detail .visual:not(.mobile-) { display: none !important; }
}

/* ═══════════════════════════════════════════
   POST HEADER — OP Guide style
   ═══════════════════════════════════════════ */
.shop_detail .post_header {
  padding: 1.6rem 0 0;
  border-bottom: 2px solid var(--border);
  margin-bottom: 0;
}

/* ── Theme tags ── */
.shop_detail .post_tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 1rem;
}
.shop_detail .post_tags .tag {
  display: inline-flex;
  align-items: center;
  height: 24px;
  padding: 0 10px;
  background: var(--red-glow);
  border: 1px solid rgba(255,56,92,0.3);
  border-radius: 3px;
  color: var(--red);
  font-size: 1.2rem;
  font-weight: 700;
}

/* ── Post title ── */
.shop_detail .post_title {
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: var(--t1) !important;
  line-height: 1.5 !important;
  margin: 0 0 0.8rem !important;
  word-break: break-word;
  background: none !important;
}

/* ── Meta row: author / views / km / price / hours ── */
.shop_detail .post_meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  font-size: 1.2rem;
  color: var(--t3);
  padding: 0.5rem 0;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  margin-bottom: 0.8rem;
}
.shop_detail .post_meta span {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 0 0.9rem;
  border-right: 1px solid var(--border);
  white-space: nowrap;
  line-height: 2;
}
.shop_detail .post_meta span:first-child { padding-left: 0; }
.shop_detail .post_meta span:last-child { border-right: none; }
.shop_detail .post_meta .meta-author { color: var(--t2); font-weight: 600; }
.shop_detail .post_meta .meta-star i { color: var(--gold); }
.shop_detail .post_meta .meta-price { color: var(--red); font-weight: 700; }

/* ── Action buttons row (OP Guide flat-button row) ── */
.shop_detail .post_act {
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
  padding: 0.8rem 0 1rem;
}
.shop_detail .post_act .pact-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 30px;
  padding: 0 10px;
  border-radius: 3px;
  font-size: 1.2rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s;
  text-decoration: none !important;
  border: 1px solid var(--border2) !important;
  white-space: nowrap;
  background: var(--bg3) !important;
  color: var(--t2) !important;
}
.shop_detail .post_act .pact-btn:hover {
  border-color: var(--t3) !important;
  color: var(--t1) !important;
  background: var(--bg4) !important;
}
/* Phone button — teal/blue-gray like OP Guide */
.shop_detail .post_act .pact-phone {
  background: #1e3a4a !important;
  border-color: #2a5c70 !important;
  color: #7ecbef !important;
  font-weight: 600 !important;
}
.shop_detail .post_act .pact-phone:hover {
  background: #244558 !important;
  border-color: #3a8ab0 !important;
  color: #9adcf8 !important;
}
.shop_detail .post_act .pact-phone i { color: #7ecbef; font-size: 1.2rem; }

/* Telegram button */
.shop_detail .post_act .pact-tg {
  background: #1a3a5c !important;
  border-color: #2060a0 !important;
  color: #60b4f8 !important;
}
.shop_detail .post_act .pact-tg:hover { background: #1e4470 !important; border-color: #3a80c8 !important; }

/* KakaoTalk button */
.shop_detail .post_act .pact-kakao {
  background: #3a2800 !important;
  border-color: #7a5a00 !important;
  color: #f5c518 !important;
}

/* Favorites */
.shop_detail .post_act .pact-fav:hover { border-color: var(--gold) !important; color: var(--gold) !important; }
.shop_detail .post_act .pact-fav i.axi-star3 { color: var(--gold); }

/* Like */
.shop_detail .post_act .pact-like:hover { border-color: var(--red) !important; color: var(--red) !important; }
.shop_detail .post_act .pact-like i.axi-heart2 { color: var(--red); }

/* Message */
.shop_detail .post_act .pact-msg { background: var(--red) !important; border-color: var(--red) !important; color: #fff !important; }
.shop_detail .post_act .pact-msg:hover { background: var(--red-dark) !important; }

/* Report */
.shop_detail .post_act .pact-report { color: var(--t3) !important; }
.shop_detail .post_act .pact-report:hover { border-color: #888 !important; color: var(--t1) !important; }

/* Address copy */
.shop_detail .post_act .pact-addr:hover { border-color: var(--blue) !important; color: var(--blue) !important; }

/* ── Service/icon tags below action bar ── */
.shop_detail .post_icons {
  list-style: none;
  padding: 0.8rem 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  border-top: 1px solid var(--border);
}
.shop_detail .post_icons li {
  background: var(--bg3);
  border: 1px solid var(--border2);
  border-radius: 3px;
  padding: 3px 9px;
  font-size: 1.25rem;
  color: var(--t3);
}

/* ── Detail tabs — NOT sticky, scrolls with page ── */
.shop_detail .tab {
  display: flex !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 1.6rem 0 0 !important;
  gap: 0 !important;
  background: var(--bg1) !important;
  border: none !important;
  border-bottom: 2px solid var(--border) !important;
  position: static !important;
}
.shop_detail .tab li {
  background: var(--bg1) !important;
  border: none !important;
  width: auto !important;
  flex: 1 !important;
}
.shop_detail .tab li a {
  display: block !important;
  padding: 1rem 1rem 1.3rem !important;
  font-size: 1.35rem !important;
  font-weight: 600 !important;
  color: var(--t3) !important;
  text-align: center !important;
  background: var(--bg1) !important;
  border: none !important;
  border-top: none !important;
  border-bottom: 3px solid transparent !important;
  margin-bottom: -2px !important;
  transition: all 0.2s !important;
  white-space: nowrap !important;
}
.shop_detail .tab li.on a,
.shop_detail .tab li a:hover {
  color: var(--red) !important;
  border-bottom-color: var(--red) !important;
  background: var(--bg1) !important;
}

/* ── Tab 1 content ── */
.shop_detail .tab1 { padding: 1.5rem 0; }
.shop_detail .tab1 .pc-content-,
.shop_detail .tab1 .mobile-content- {
  max-width: 680px;
  margin: 0 auto;
  color: var(--t2);
  font-size: 1.35rem;
  line-height: 1.75;
  text-align: center;
}
.shop_detail .tab1 img {
  display: block;
  max-width: 680px;
  width: 100%;
  height: auto !important;
  margin: 1rem auto;
  border-radius: 4px;
}

/* Watermark img centered */
.shop_detail .wrap1400 > img[src*="water"],
.shop_detail img[src*="water"] {
  display: block;
  max-width: 680px;
  width: 100%;
  margin: 0 auto;
  opacity: 0.12;
  pointer-events: none;
}

/* ── Price table (tab2) ── */
.shop_detail .tab2, .shop_detail .tab3, .shop_detail .tab4 { padding: 1.8rem 0; }
.shop_detail .tab2 h3, .shop_detail .tab3 h3, .shop_detail .tab4 h3 {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--t1);
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--border);
  margin-bottom: 1.4rem;
  display: flex;
  align-items: center;
  gap: 8px;
}
.shop_detail .tab2 h3 span, .shop_detail .tab3 h3 span, .shop_detail .tab4 h3 span { color: var(--red); }
.shop_detail .tab2 h4 { font-size: 1.4rem; font-weight: 700; color: var(--t3); padding: 0.8rem 0 0.4rem; }
.shop_detail .tab2 .list ul { list-style: none; padding: 0; margin: 0 0 1.6rem; }
.shop_detail .tab2 .list ul li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 1.2rem;
  border-bottom: 1px solid var(--border);
  background: var(--bg2);
}
.shop_detail .tab2 .list ul li:first-child { border-radius: var(--r6) var(--r6) 0 0; }
.shop_detail .tab2 .list ul li:last-child { border-radius: 0 0 var(--r6) var(--r6); border-bottom: none; }
.shop_detail .tab2 dl.course dt { font-size: 1.4rem; color: var(--t1); }
.shop_detail .tab2 dl.course dd { font-size: 1.3rem; color: var(--t3); margin-top: 2px; }
.shop_detail .tab2 dl.price_info { text-align: right; }
.shop_detail .tab2 dl.price_info dd.price { font-size: 1.6rem; font-weight: 700; color: var(--red); }
.shop_detail .tab2 dl.price_info dt .sale { background: var(--red); color: #fff; padding: 1px 5px; border-radius: 3px; font-size: 1.1rem; margin-right: 4px; }
.shop_detail .tab2 dl.price_info dt .d_price { text-decoration: line-through; color: var(--t4); font-size: 1.2rem; }

/* ── SNS section ── */
.shop_detail .s_sns { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0; margin: 0; }
.shop_detail .s_sns li a {
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--bg3);
  border: 1px solid var(--border2);
  border-radius: var(--r6);
  padding: 10px 16px;
  color: var(--t2) !important;
  font-size: 1.35rem;
  transition: all 0.2s;
}
.shop_detail .s_sns li a dl { display: flex; align-items: center; gap: 8px; margin: 0; }
.shop_detail .s_sns li a img { width: 20px; height: 20px; }
.shop_detail .s_sns li a:hover { border-color: var(--red); color: var(--red) !important; }

/* ── Reviews ── */
.shop_detail .s_review { padding: 2rem 0; }
.shop_detail .s_review .rhead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.4rem;
  flex-wrap: wrap;
  gap: 1rem;
}
.shop_detail .s_review .rhead h3 {
  font-size: 1.7rem;
  font-weight: 700;
  color: var(--t1);
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}
.shop_detail .s_review .rhead h3 span { font-size: 1.35rem; color: var(--t3); font-weight: 400; }
.shop_detail .s_review .rhead h3 p { display: inline-flex; align-items: center; gap: 4px; margin: 0; }
.shop_detail .s_review .rhead h3 b { font-size: 1.6rem; color: var(--gold); }
.shop_detail .s_review .rhead ul {
  display: flex;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
  align-items: center;
}
.shop_detail .s_review .rhead ul select {
  height: 34px;
  padding: 0 10px;
  background: var(--bg3);
  border: 1px solid var(--border2);
  border-radius: var(--r6);
  color: var(--t2);
  font-size: 1.3rem;
}
.shop_detail .s_review .rhead ul li a button,
.shop_detail .s_review .rhead ul li button {
  height: 34px;
  padding: 0 14px;
  background: var(--red);
  color: #fff;
  border: none;
  border-radius: var(--r6);
  font-size: 1.35rem;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s;
}
.shop_detail .s_review .rhead ul li a button:hover,
.shop_detail .s_review .rhead ul li button:hover { background: var(--red-dark); }
.shop_detail .s_review .rbody > ul { list-style: none; padding: 0; margin: 0; }
.shop_detail .s_review .rbody > ul > li {
  border-bottom: 1px solid var(--border);
  padding: 1.4rem 0;
}
.shop_detail .s_review .rbody .no_info {
  text-align: center;
  padding: 3rem;
  color: var(--t4) !important;
  border: 1px dashed var(--border2) !important;
  border-radius: var(--r8) !important;
  display: block;
}
.shop_detail .s_review .rbody > ul > li > div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.6rem;
}
.shop_detail .s_review .rbody .user {
  font-size: 1.3rem;
  color: var(--t3);
  display: flex;
  align-items: center;
  gap: 8px;
}
.shop_detail .s_review .rbody .user span { color: var(--gold); font-weight: 600; }
.shop_detail .s_review .rbody .user em { color: var(--t4); font-style: normal; }
.shop_detail .s_review .rbody .c_btn { display: flex; gap: 6px; }
.shop_detail .s_review .rbody .c_btn button {
  display: flex;
  align-items: center;
  gap: 4px;
  background: var(--bg3);
  border: 1px solid var(--border2);
  border-radius: var(--r4);
  color: var(--t3);
  font-size: 1.25rem;
  padding: 3px 8px;
  cursor: pointer;
}
.shop_detail .s_review .rbody .c_btn button:hover { border-color: var(--red); color: var(--red); }
.shop_detail .s_review .rbody .title { font-size: 1.5rem; color: var(--t1); font-weight: 700; margin-bottom: 4px; }
.shop_detail .s_review .rbody .r_con { font-size: 1.4rem; color: var(--t2); line-height: 1.7; }

/* ── Q&A ── */
.shop_detail .s_qna { padding: 2rem 0; }
.shop_detail .s_qna .rhead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.4rem;
}
.shop_detail .s_qna .rhead h3 {
  font-size: 1.7rem;
  font-weight: 700;
  color: var(--t1);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}
.shop_detail .s_qna .rhead h3 span { font-size: 1.3rem; color: var(--t3); font-weight: 400; }
.shop_detail .s_qna .rhead a button,
.shop_detail .s_qna .rhead button {
  height: 34px;
  padding: 0 14px;
  background: var(--red);
  color: #fff;
  border: none;
  border-radius: var(--r6);
  font-size: 1.35rem;
  font-weight: 700;
  cursor: pointer;
}
.shop_detail .s_qna ul { list-style: none; padding: 0; margin: 0; }
.shop_detail .s_qna ul li { border-bottom: 1px solid var(--border); padding: 1.2rem 0; }
.shop_detail .s_qna ul li.no_info {
  text-align: center;
  padding: 3rem;
  color: var(--t4) !important;
  border: 1px dashed var(--border2) !important;
  border-radius: var(--r8) !important;
}

/* ── Mobile floating buttons ── */
.mobile_call {
  position: fixed;
  bottom: 0; left: 0;
  width: 100%;
  display: none;
  z-index: 9999;
  background: var(--bg1);
  border-top: 1px solid var(--border);
  padding: 1rem;
  gap: 8px;
}
@media (max-width: 768px) {
  .mobile_call { display: flex !important; }
}
.mobile_call a, .mobile_call button {
  flex: 1;
  height: 48px;
  border-radius: var(--r8);
  font-size: 1.45rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  cursor: pointer;
  border: none;
}
.mobile_call .mc_call { background: #1a5e8a; color: #fff !important; }
.mobile_call .mc_msg { background: var(--red); color: #fff !important; }

/* ============================================
   SHOP LIST (partner_list) — Card Grid Layout
   ============================================ */
.partner { margin-top: 0; border-top: none !important; padding-top: 0 !important; }
.partner h2 {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--t1);
  padding: 1.2rem 0 1rem;
  border-bottom: 1px solid var(--border);
  margin-bottom: 1.2rem;
  display: flex;
  align-items: center;
  gap: 10px;
}
.partner h2 b { font-size: 1.25rem; font-weight: 400; color: var(--t3); }
.partner h2 b em { color: var(--red); font-weight: 700; font-style: normal; }
.partner > table.style2 { display: none !important; }

/* 2-column card grid */
.partner_list {
  list-style: none; padding: 0; margin: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.partner_list > li {
  display: flex;
  align-items: center;
  background: var(--bg1);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 0.9rem 1rem;
  transition: border-color 0.15s, background 0.15s;
  cursor: pointer;
  gap: 0;
  min-width: 0;
}
.partner_list > li:hover {
  border-color: var(--red);
  background: var(--bg2);
}
.partner_list > li.no_info {
  grid-column: 1 / -1;
  padding: 4rem !important;
  text-align: center !important;
  color: var(--t4) !important;
  border: 1px dashed var(--border2) !important;
  border-radius: var(--r8) !important;
  display: flex !important;
  justify-content: center;
  align-items: center;
}

/* Area badge */
.partner_list .area { flex: 0 0 72px; text-align: center; }
.partner_list .area p {
  display: inline-block;
  background: rgba(130,80,255,0.12);
  color: #a370f7;
  border: 1px solid rgba(130,80,255,0.25);
  border-radius: 4px;
  padding: 2px 6px;
  font-size: 1.15rem;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 68px;
}

/* Company name */
.partner_list .c_name { flex: 0 0 110px; padding: 0 0.8rem; min-width: 0; }
.partner_list .c_name p {
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--t1);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Title */
.partner_list .title { flex: 1; padding: 0 0.6rem; min-width: 0; }
.partner_list .title p {
  font-size: 1.3rem;
  color: var(--t2);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Stats row */
.partner_list .review { flex: 0 0 auto; padding: 0 0.4rem; }
.partner_list .review .ev {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: nowrap;
  list-style: none;
  padding: 0; margin: 0;
}
.partner_list .review .ev li {
  font-size: 1.2rem;
  color: var(--t3);
  display: flex;
  align-items: center;
  gap: 2px;
  white-space: nowrap;
}
.partner_list .review .ev li::before { display: none !important; }
.partner_list .review .ev .star i { color: var(--gold); font-size: 1.1rem; }
.partner_list .review .ev .heart i { color: var(--red); font-size: 1.1rem; }
.partner_list .review .ev .commu i { color: var(--blue); font-size: 1.1rem; }
.partner_list .review .ev .location { display: none !important; }

/* Price badge */
.partner_list .amount { flex: 0 0 auto; padding-left: 0.6rem; }
.partner_list .amount span {
  display: inline-block;
  background: var(--red);
  color: #fff;
  font-size: 1.2rem;
  font-weight: 800;
  border-radius: 4px;
  padding: 3px 8px;
  white-space: nowrap;
}

/* Premium / Recommended highlights */
.partner_list > li.pri- {
  border-color: rgba(255,56,92,0.4);
  background: linear-gradient(90deg, rgba(255,56,92,0.07), var(--bg1));
}
.partner_list > li.rec- {
  border-color: rgba(58,127,213,0.4);
  background: linear-gradient(90deg, rgba(58,127,213,0.07), var(--bg1));
}

/* Mobile: single column */
@media (max-width: 680px) {
  .partner_list { grid-template-columns: 1fr; }
}

/* ============================================
   CATEGORY TABS
   ============================================ */
.bt-category-tabs {
  display: flex;
  overflow-x: auto;
  scrollbar-width: none;
  border-bottom: 2px solid var(--border);
  background: var(--bg1);
  gap: 0;
}
.bt-category-tabs::-webkit-scrollbar { display: none; }
.bt-category-tabs a {
  white-space: nowrap;
  padding: 1.2rem 1.8rem;
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--t3) !important;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: all 0.2s;
  display: block;
}
.bt-category-tabs a:hover { color: var(--t1) !important; background: rgba(255,255,255,0.02); }
.bt-category-tabs a.on, .bt-category-tabs a.active {
  color: var(--red) !important;
  border-bottom-color: var(--red) !important;
}

/* ============================================
   LOGIN / REGISTER
   ============================================ */
.login_sub {
  background: var(--bg0);
  min-height: calc(100vh - 200px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4rem 1.5rem;
}
.login_sub form {
  width: 100%;
  max-width: 460px;
}
.login_sub .loginborder {
  background: var(--bg2) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r12) !important;
  box-shadow: var(--shadow) !important;
  overflow: hidden;
}
.login_sub .centerwrap { padding: 3rem; }
.login_sub h3 {
  font-size: 2.4rem !important;
  font-weight: 800 !important;
  color: var(--t1) !important;
  margin-bottom: 0.4rem !important;
  text-align: center;
}
.login_sub h3 span {
  display: block;
  font-size: 1.35rem !important;
  color: var(--t3) !important;
  font-weight: 400 !important;
  margin-top: 6px !important;
  text-align: center;
}
.login_sub .logintab {
  display: flex;
  background: var(--bg3);
  border-radius: var(--r8);
  overflow: hidden;
  margin: 2rem 0 2rem;
  border: 1px solid var(--border2);
  gap: 0;
}
.login_sub .logintab li {
  flex: 1;
  text-align: center;
  transition: all 0.2s;
}
.login_sub .logintab li a {
  display: block;
  padding: 1rem;
  font-size: 1.45rem;
  font-weight: 600;
  color: var(--t3) !important;
  transition: all 0.2s;
}
.login_sub .logintab li.on { background: var(--red) !important; }
.login_sub .logintab li.on a { color: #fff !important; }
.login_sub .logintab li:hover:not(.on) { background: var(--bg4); }
.login_sub .logininput input[type="text"],
.login_sub .logininput input[type="password"] {
  width: 100%;
  background: var(--bg3) !important;
  border: 1.5px solid var(--border2) !important;
  border-radius: var(--r8) !important;
  color: var(--t1) !important;
  padding: 0 1.4rem !important;
  height: 50px !important;
  font-size: 1.5rem !important;
  margin-bottom: 1rem;
  transition: border-color 0.2s;
  outline: none;
}
.login_sub .logininput input:focus { border-color: var(--red) !important; }
.login_sub .logininput input::placeholder { color: var(--t4) !important; }
.login_sub .logininput button {
  width: 100%;
  background: var(--red) !important;
  color: #fff !important;
  height: 52px;
  border-radius: var(--r8) !important;
  font-size: 1.6rem !important;
  font-weight: 800 !important;
  border: none;
  cursor: pointer;
  transition: background 0.2s;
  margin-top: 0.4rem;
}
.login_sub .logininput button:hover { background: var(--red-dark) !important; }
.login_sub .loginlink {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 1.4rem;
  font-size: 1.3rem;
  list-style: none;
  padding: 0;
  margin-bottom: 0;
}
.login_sub .loginlink li a { color: var(--t3) !important; }
.login_sub .loginlink li a:hover { color: var(--red) !important; }
.login_sub .loginlink label span { color: var(--t3) !important; font-size: 1.3rem !important; }

/* ============================================
   FORMS GLOBAL
   ============================================ */
input[type="text"],
input[type="password"],
input[type="email"],
input[type="number"],
input[type="tel"],
select,
textarea {
  background: var(--bg3) !important;
  border: 1.5px solid var(--border2) !important;
  border-radius: var(--r6) !important;
  color: var(--t1) !important;
  font-size: 1.4rem;
  color-scheme: dark;
}
input:focus, select:focus, textarea:focus {
  border-color: var(--red) !important;
  outline: none;
}
input::placeholder, textarea::placeholder { color: var(--t4) !important; }
select option { background: #1a1a1a !important; color: #e0e0e0 !important; }

/* ============================================
   TABLE OVERRIDES
   ============================================ */
table.style1 th {
  background: var(--bg3) !important;
  color: var(--t3) !important;
  border-color: var(--border) !important;
  font-size: 1.35rem !important;
}
table.style1 td {
  border-color: var(--border) !important;
  color: var(--t2) !important;
  background: var(--bg2) !important;
  font-size: 1.4rem !important;
}
.boardlist tbody tr:hover { background: var(--bg2) !important; }
.boardlist tbody td { color: var(--t2) !important; border-bottom-color: var(--border) !important; }
.boardlist thead th { background: var(--bg3) !important; color: var(--t3) !important; border-color: var(--border) !important; }
.boardlist .subject a { color: var(--t1) !important; }
.boardlist .subject a:hover { color: var(--red) !important; }

/* ============================================
   PAGINATION
   ============================================ */
.paging {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 2rem 0 !important;
  flex-wrap: wrap !important;
  background: transparent !important;
}
/* Flatten ul/li structure from paging theme B */
.paging ul { display: contents !important; margin: 0 !important; padding: 0 !important; }
.paging ul li {
  float: none !important;
  border: none !important;
  background: transparent !important;
  margin: 0 !important;
  line-height: normal !important;
}
.paging a, .paging strong,
.paging ul li a, .paging ul li.on a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 36px !important; height: 36px !important;
  border-radius: var(--r6) !important;
  font-size: 1.4rem !important;
  border: 1px solid var(--border2) !important;
  background: var(--bg2) !important;
  color: var(--t3) !important;
  transition: all 0.2s !important;
  padding: 0 8px !important;
}
.paging strong,
.paging ul li.on a,
.paging ul li.blue a {
  background: var(--red) !important;
  border-color: var(--red) !important;
  color: #fff !important;
  font-weight: 700 !important;
}
.paging a:hover,
.paging ul li a:hover {
  border-color: var(--red) !important;
  color: var(--red) !important;
  background: var(--red-glow) !important;
}
/* Nav arrow buttons (prev/next images) */
.paging ul li.prev a,
.paging ul li.next a,
.paging ul li.prev_all a,
.paging ul li.next_all a {
  color: var(--t2) !important;
  font-size: 1.6rem !important;
}

/* Tab menu dark theme */
.commu .tab_menu li {
  background: var(--bg2) !important;
  border-color: var(--border2) !important;
}
.commu .tab_menu li a {
  color: var(--t3) !important;
}
.commu .tab_menu li.on {
  border-color: var(--red) !important;
  background: var(--bg2) !important;
}
.commu .tab_menu li.on a {
  background: var(--red) !important;
  color: #fff !important;
}

/* ============================================
   CATEGORY VIEW PAGE
   ============================================ */
.category_view_wrap { background: var(--bg0); min-height: 80vh; }
.bt-search-hero {
  background: linear-gradient(135deg, #0d0d0d 0%, #1a0810 50%, #0d0d0d 100%);
  padding: 2.5rem 0 2rem;
  border-bottom: 1px solid var(--border);
}
.category_view { display: flex; gap: 2rem; align-items: flex-start; padding: 2rem 0; }
.category_view .filter_wrap { flex: 0 0 220px; position: sticky; top: 70px; }
.category_view .wrap1070 { flex: 1; min-width: 0; }

.filter_wrap {
  background: var(--bg2) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r12) !important;
  padding: 1.5rem !important;
}
.filter_wrap > div > h4,
.filter_wrap h4 {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--t1) !important;
  padding-bottom: 0.8rem;
  border-bottom: 1px solid var(--border);
  margin-bottom: 1rem;
}
.filter_wrap label { color: var(--t2) !important; font-size: 1.35rem; }
.filter_wrap .filter_item { margin-bottom: 1.5rem; }

/* ============================================
   BADGES
   ============================================ */
.bt-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 3px;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 20px;
}
.bt-badge-pri { background: var(--red); color: #fff; }
.bt-badge-rec { background: #2d5f9e; color: #fff; }
.bt-badge-new { background: #1e7a45; color: #fff; }

/* ============================================
   MISC UTILITIES
   ============================================ */
.wrap1400 { padding: 0 2rem; max-width: 1400px; margin: 0 auto; }
@media (max-width: 1440px) { .wrap1400 { width: 100%; } }

.no_info {
  background: var(--bg2) !important;
  color: var(--t4) !important;
  border: 1px dashed var(--border2) !important;
  border-radius: var(--r8) !important;
}

.scroll_banner { background: var(--bg1); border-bottom: 1px solid var(--border); }
.scroll_banner .swiper-slide { color: var(--t3); font-size: 1.3rem; }

/* ============================================
   REGISTER PAGE
   ============================================ */
.register.sub { background: var(--bg0); min-height: calc(100vh - 200px); }
.register .box_wrap {
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: var(--r12);
  padding: 3rem;
  max-width: 600px;
  margin: 2rem auto;
}
.register ul.order {
  display: flex;
  justify-content: center;
  gap: 0;
  margin-bottom: 3rem;
  background: var(--bg3);
  border-radius: var(--r8);
  overflow: hidden;
  border: 1px solid var(--border2);
}
.register ul.order li {
  flex: 1;
  text-align: center;
  padding: 1.2rem;
  font-size: 1.4rem;
  color: var(--t4);
  font-weight: 500;
  border-right: 1px solid var(--border);
}
.register ul.order li:last-child { border-right: none; }
.register ul.order li.on { background: var(--red); color: #fff; font-weight: 700; }
.register .next_btn { display: flex; gap: 1rem; justify-content: center; }
.register .next_btn button { flex: 1; max-width: 200px; height: 52px; border-radius: var(--r8); font-size: 1.5rem; font-weight: 700; }
.register .next_btn button.darkbluebtn { background: var(--red) !important; color: #fff !important; border: none; }
.register .next_btn button.base { background: var(--bg3); border: 1.5px solid var(--border2); color: var(--t2); }
.register .next_btn button.base:hover { border-color: var(--red); color: var(--red); }

/* ============================================
   FOOTER
   ============================================ */
footer { background: var(--bg0) !important; }

/* Notice ticker bar */
footer .main_notice {
  padding: 1rem 0 !important;
  border-top: 1px solid var(--border) !important;
  border-bottom: 1px solid var(--border) !important;
  background: var(--bg1) !important;
}
footer .main_notice h3 { display: inline-block; width: 108px; text-align: center; margin-right: 1.5rem; }
footer .main_notice h3 a {
  display: block;
  border-radius: 4px !important;
  background: var(--red) !important;
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  color: #fff !important;
  padding: 0.7rem 1.4rem !important;
}
footer .main_notice .notice_list li dl dt a {
  font-size: 1.4rem !important;
  color: var(--t2) !important;
}
footer .main_notice .notice_list li dl dt::before { background: var(--t3) !important; }
footer .main_notice .notice_list li dl dd { font-size: 1.3rem !important; color: var(--t3) !important; }
footer .main_notice .btn_wrap button { color: var(--t3) !important; }

/* Main footer body */
footer .b_wrap {
  background: #0d0d0d !important;
  border-top: 2px solid var(--border) !important;
  padding-bottom: 0 !important;
}
footer .b_wrap .wrap1400 { padding-top: 0 !important; }
footer .b_wrap .b_main_menu {
  display: grid !important;
  grid-template-columns: 1.4fr 1fr 1.2fr !important;
  gap: 4rem !important;
  padding: 3rem 0 2.5rem !important;
  align-items: start !important;
}

/* Logo + links */
footer .b_wrap .b_menu { width: auto !important; }
footer .b_wrap .b_menu p {
  border-bottom: 1px solid var(--border) !important;
  padding-bottom: 1.2rem !important;
  margin-bottom: 1.2rem !important;
}
footer .b_wrap .b_menu p img { max-height: 40px; width: auto; }
.footer_logo {
  font-size: 2rem;
  font-weight: 900;
  color: #fff;
  letter-spacing: -0.5px;
  display: inline-block;
}
.footer_logo em { color: var(--red); font-style: normal; }
footer .b_wrap .b_menu ul {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
}
footer .b_wrap .b_menu ul li { width: 50% !important; margin: 0 !important; padding: 0.4rem 0 !important; }
footer .b_wrap .b_menu ul li a {
  color: var(--t4) !important;
  font-size: 1.25rem !important;
  transition: color 0.2s;
}
footer .b_wrap .b_menu ul li a:hover { color: var(--red) !important; }
footer .b_wrap .b_menu ul li.boho a { color: var(--blue) !important; }

/* Customer service */
footer .b_wrap .customer_service {
  width: auto !important;
  margin: 0 !important;
  background: none !important;
  padding-left: 2.5rem !important;
  border-left: 1px solid var(--border) !important;
}
footer .b_wrap .customer_service h2 {
  font-size: 1.15rem !important;
  color: var(--t4) !important;
  font-weight: 600 !important;
  margin-bottom: 0.6rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
}
footer .b_wrap .customer_service .tell,
footer .b_wrap .customer_service p.tell {
  color: var(--t1) !important;
  font-size: 2.4rem !important;
  font-weight: 900 !important;
  margin: 0.5rem 0 !important;
  letter-spacing: -0.5px !important;
  line-height: 1.1 !important;
  display: block !important;
}
footer .b_wrap .customer_service .num {
  color: var(--t1) !important;
  font-size: 2.4rem !important;
  font-weight: 900 !important;
  display: block !important;
  line-height: 1.2 !important;
  margin-bottom: 0.5rem !important;
}
footer .b_wrap .customer_service .business_hours {
  font-size: 1.2rem !important;
  color: var(--t4) !important;
  line-height: 1.8 !important;
  margin-top: 0.6rem !important;
}

/* CTA inquiry boxes */
footer .b_wrap .inquiry {
  width: auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
footer .b_wrap .inquiry > div {
  background: var(--bg2) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r8) !important;
  transition: background 0.2s, border-color 0.2s;
}
footer .b_wrap .inquiry > div:hover {
  background: var(--bg3) !important;
  border-color: var(--border2) !important;
}
footer .b_wrap .inquiry > div a {
  padding: 1.2rem 1.5rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem !important;
}
footer .b_wrap .inquiry > div a > div { flex: 1 !important; }
footer .b_wrap .inquiry > div h2 {
  font-size: 1.3rem !important;
  color: var(--t1) !important;
  font-weight: 700 !important;
  margin-bottom: 3px !important;
}
footer .b_wrap .inquiry > div p {
  font-size: 1.2rem !important;
  color: var(--t4) !important;
}
footer .b_wrap .inquiry > div span {
  color: var(--red) !important;
  font-size: 2rem !important;
  flex-shrink: 0 !important;
}

/* Bottom address bar */
footer .address {
  font-size: 1.2rem !important;
  color: var(--t4) !important;
  border-top: 1px solid var(--border) !important;
  padding: 1.5rem 0 !important;
  line-height: 1.9 !important;
}
footer .address p,
footer .address span { color: var(--t4) !important; }
footer .main_con_wrap3 { padding: 0.8rem 0 1.2rem !important; border-top: 1px solid var(--border) !important; }
footer .main_con_wrap3 p { text-align: left; }
footer .main_con_wrap3 img { max-height: 24px; width: auto; opacity: 0.3; filter: grayscale(1); }

/* ============================================
   HOMEPAGE — main visual banner
   ============================================ */
.main_visual { position: relative !important; width: 100% !important; }
.main_visual .slider {
  position: relative !important;
  height: 420px !important;
  background: var(--bg2) !important;
}
.main_visual .slider .slItem {
  height: 100% !important;
  width: 100% !important;
  background-position: center center !important;
  background-size: cover !important;
}

/* Quick search box — redesigned card with 2-col grid */
.main_visual .wrap1260 {
  position: absolute !important;
  right: 0 !important;
  left: auto !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 310px !important;
  margin-right: 2rem !important;
  z-index: 111 !important;
}
.quick_search {
  background: rgba(10,10,10,0.92) !important;
  border: 1px solid var(--border2) !important;
  border-radius: var(--r8) !important;
  padding: 1.6rem !important;
  backdrop-filter: blur(10px);
  box-shadow: 0 8px 32px rgba(0,0,0,0.7) !important;
  position: static !important;
  width: 100% !important;
  right: auto !important;
}
.quick_search .title {
  font-size: 1.45rem !important;
  color: var(--t1) !important;
  margin-bottom: 0 !important;
  font-weight: 700 !important;
  display: block !important;
  border-bottom: 1px solid var(--border) !important;
  padding-bottom: 0.8rem !important;
  letter-spacing: 0 !important;
  word-spacing: 0 !important;
}
.quick_search .title span { color: var(--red) !important; }
/* 2-column grid for the selects */
.quick_search {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 6px !important;
  align-items: end !important;
}
.quick_search .title {
  grid-column: 1 / -1 !important;
}
.quick_search select {
  width: 100% !important;
  background: var(--bg3) !important;
  border: 1px solid var(--border2) !important;
  color: var(--t1) !important;
  border-radius: var(--r6) !important;
  height: 3.2rem !important;
  padding: 0 0.8rem !important;
  margin: 0 !important;
  font-size: 1.25rem !important;
  -webkit-appearance: none;
  appearance: none;
  grid-column: span 1 !important;
}
.quick_search select:focus { border-color: var(--red) !important; outline: none !important; }
.quick_search select option {
  background: #1a1a1a !important;
  color: #e0e0e0 !important;
}
.quick_search .key {
  grid-column: 1 / -1 !important;
  display: flex !important;
  gap: 6px !important;
  margin-top: 2px !important;
}
.quick_search .key input {
  flex: 1 !important;
  background: var(--bg3) !important;
  border: 1px solid var(--border2) !important;
  color: var(--t1) !important;
  border-radius: var(--r6) !important;
  height: 3.2rem !important;
  padding: 0 1rem !important;
  font-size: 1.25rem !important;
  width: auto !important;
}
.quick_search .key input:focus { border-color: var(--red) !important; outline: none !important; }
.quick_search .key input::placeholder { color: var(--t4) !important; }
.quick_search .key button,
.quick_search button {
  background: var(--red) !important;
  color: #fff !important;
  border-radius: var(--r6) !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  height: 3.2rem !important;
  padding: 0 1.4rem !important;
  margin: 0 !important;
  white-space: nowrap !important;
  width: auto !important;
}
.quick_search .key button:hover,
.quick_search button:hover { background: var(--red-dark) !important; }

/* ============================================
   HOMEPAGE — section headings (pri/chu/grand/smart/tema)
   ============================================ */
section.pri,
section.chu,
section.grand,
section.smart,
section.tema,
.partner {
  border-top: 1px solid var(--border) !important;
  padding-top: 2.5rem !important;
  margin-top: 3rem !important;
  background: var(--bg0) !important;
}
section.pri h2,
section.chu h2,
section.grand h2,
section.smart h2,
section.tema h2,
.partner h2 {
  font-size: 1.65rem !important;
  font-weight: 700 !important;
  color: var(--t1) !important;
  margin-bottom: 1.2rem !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}
section h2 img { max-height: 26px; width: auto; }
section.pri h2 b,
section.chu h2 b,
section.grand h2 b,
section.tema h2 b,
.partner h2 b { color: var(--t3) !important; font-size: 1.3rem !important; font-weight: 400 !important; letter-spacing: 0 !important; }
section h2 a span,
section h2 a em { color: var(--red) !important; }

/* "no_info" empty state */
section .no_info { color: var(--t4) !important; font-size: 1.4rem !important; }

/* --- partner_list (grand section table-style rows) --- */
.partner .partner_list > li {
  border-bottom: 1px solid var(--border) !important;
  cursor: pointer !important;
  transition: background 0.15s !important;
}
.partner .partner_list > li > div {
  font-size: 1.4rem !important;
  color: var(--t2) !important;
}
.partner .partner_list > li:hover { background: var(--bg2) !important; }
.partner .partner_list > li .c_name { color: var(--t1) !important; font-weight: 600 !important; }
.partner .partner_list > li .title { color: var(--t2) !important; }
.partner .partner_list > li .amount span {
  background: var(--red-glow) !important;
  color: var(--red) !important;
  border: 1px solid rgba(255,56,92,0.25) !important;
  border-radius: var(--r4) !important;
  font-weight: 700 !important;
  font-size: 1.35rem !important;
}
.partner .partner_list .ev li { color: var(--t3) !important; font-size: 1.25rem !important; }
.partner .partner_list .ev li::before { background: var(--border2) !important; }
.partner .partner_list .ev .star i { color: #ffc41d !important; }
.partner .partner_list .ev .heart i { color: var(--red) !important; }

/* --- list_item cards (pri/chu/tema) --- */
.list_item li.common {
  background: var(--bg2) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r6) !important;
  transition: border-color 0.15s, background 0.15s !important;
  overflow: hidden !important;
  cursor: pointer !important;
}
.list_item li.common:hover {
  border-color: var(--border2) !important;
  background: var(--bg3) !important;
}
.list_item li.common .item_info .tag li.area {
  background: rgba(255,56,92,0.18) !important;
  color: var(--red) !important;
  border-radius: 3px !important;
  font-weight: 700 !important;
}
.list_item li.common .item_info .shop_name,
.list_item li.common .item_info .subject { color: var(--t1) !important; font-size: 1.4rem !important; }
.list_item li.common .item_info .txt { color: var(--t3) !important; }
.list_item li.common .item_info .price span { color: var(--red) !important; font-weight: 700 !important; }
.list_item li.common .item_info .ev li { color: var(--t3) !important; font-size: 1.2rem !important; }
.list_item li.common .item_info .ev .star i { color: #ffc41d !important; }
.list_item li.common .item_info .ev .heart i { color: var(--red) !important; }

/* ── Grand section: clean 2-col card rows ── */
.grand .list_item,
section.grand ul.list_item {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 6px !important;
  flex-wrap: unset !important;
  width: 100% !important;
  list-style: none !important;
  padding: 0 !important;
}
.grand .list_item > li {
  background: var(--bg1) !important;
  border: 1px solid var(--border) !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  transition: border-color 0.15s, background 0.15s !important;
  margin: 0 !important;
  width: auto !important;
  min-width: 0 !important;
  float: none !important;
  box-sizing: border-box !important;
}
.grand .list_item > li:hover {
  border-color: var(--red) !important;
  background: var(--bg2) !important;
}
/* Override nth-child overrides from style.css */
.grand .list_item > li:nth-child(2n) { margin-right: 0 !important; }
.grand .list_item > li:nth-child(-n+2) { margin-top: 0 !important; }

.grand .list_item > li > a {
  display: flex !important;
  flex-direction: column !important;
  padding: 1rem 1.1rem !important;
  gap: 6px !important;
  text-decoration: none !important;
  height: 100% !important;
  box-sizing: border-box !important;
}

/* Top row: area badge + shop name + title */
.grand .list_item > li .wrap1 {
  display: flex !important;
  align-items: flex-start !important;
  gap: 6px !important;
  width: 100% !important;
  margin: 0 !important;
  flex-direction: column !important;
}
/* Area badge */
.grand .list_item > li .area {
  display: inline-flex !important;
  align-items: center !important;
  background: rgba(103,55,192,0.18) !important;
  border: 1px solid rgba(103,55,192,0.35) !important;
  border-radius: 4px !important;
  padding: 2px 7px !important;
  margin: 0 !important;
}
.grand .list_item > li .area em {
  background: none !important;
  color: #a370f7 !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  font-style: normal !important;
  padding: 0 !important;
}
/* Company name inline */
.grand .list_item > li .shop_name {
  color: var(--t1) !important;
  font-size: 1.3rem !important;
  font-weight: 700 !important;
}
/* Title paragraph */
.grand .list_item > li p {
  font-size: 1.25rem !important;
  color: var(--t2) !important;
  line-height: 1.5 !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}
/* Remove the "::" separator after shop_name */
.grand .list_item > li p span::after { content: "" !important; margin: 0 !important; }
.grand .list_item > li p em { display: none !important; }

/* Bottom row: stats + price */
.grand .list_item > li .wrap2 {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  margin-top: 4px !important;
}
.grand .list_item > li .ev {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
  width: auto !important;
  min-width: unset !important;
  font-size: 1.2rem !important;
}
.grand .list_item > li .ev li {
  display: flex !important;
  align-items: center !important;
  gap: 2px !important;
  color: var(--t3) !important;
  font-size: 1.2rem !important;
  margin: 0 !important;
  white-space: nowrap !important;
}
.grand .list_item > li .ev li::before { display: none !important; }
.grand .list_item > li .ev .star i { color: #ffc41d !important; }
.grand .list_item > li .ev .heart i { color: var(--red) !important; }
.grand .list_item > li .ev .commu i { color: var(--blue) !important; }
.grand .list_item > li .ev .location { display: none !important; }

/* Price badge */
.grand .list_item > li .price {
  background: var(--red) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 5px !important;
  padding: 3px 10px !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  letter-spacing: 0 !important;
  width: auto !important;
}

/* Category view: full-width rows */
.category_view .grand .list_item {
  grid-template-columns: 1fr 1fr !important;
}
.category_view .grand .list_item > li { width: auto !important; margin: 0 !important; }
.category_view .grand .list_item > li > a { flex-direction: column !important; }
.category_view .grand .list_item > li .wrap1 { width: 100% !important; }
.category_view .grand .list_item > li .wrap2 { width: 100% !important; }
.category_view .grand .list_item > li p { width: 100% !important; margin-top: 4px !important; }
.category_view .grand .list_item > li .ev { width: auto !important; justify-content: flex-start !important; }

/* Mobile */
@media (max-width: 600px) {
  .grand .list_item { grid-template-columns: 1fr !important; }
}

/* Smart section */
.smart .list_item li.common { background: var(--bg2) !important; }

/* ============================================
   COMPANY / SERVICE / ETC PAGES
   ============================================ */
/* Page wrapper */
.etc.wrap1400 { margin-top: 2rem !important; margin-bottom: 4rem !important; }

/* Left sidebar */
.left_menu {
  background: var(--bg2) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r8) !important;
  overflow: hidden !important;
  width: 180px !important;
  flex-shrink: 0;
}
.left_menu > ul { margin-bottom: 0 !important; }
.left_menu li {
  border-bottom: 1px solid var(--border) !important;
  position: relative !important;
}
.left_menu li:last-child { border-bottom: none !important; }
.left_menu li a {
  display: block !important;
  padding: 1.1rem 1.4rem !important;
  font-size: 1.4rem !important;
  color: var(--t2) !important;
  font-weight: 500 !important;
  height: auto !important;
  line-height: 1.4 !important;
  background: none !important;
  transition: all 0.15s !important;
}
.left_menu li a:hover,
.left_menu li.on a {
  background: var(--red) !important;
  color: #fff !important;
  padding-left: 1.8rem !important;
}
/* Remove the triangle arrow override */
.left_menu li.on a:after,
.left_menu li:hover:after { display: none !important; }

/* Page title bar (mobile nav header) */
.m_title {
  background: var(--bg1) !important;
  color: var(--t1) !important;
  border-top: 1px solid var(--border) !important;
  border-bottom: 1px solid var(--border) !important;
  box-shadow: none !important;
}
.m_title button i { color: var(--t2) !important; }

/* Content area */
.etc_con {
  background: var(--bg2) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r8) !important;
  padding: 2.5rem !important;
  color: var(--t2) !important;
  font-size: 1.4rem !important;
  line-height: 1.8 !important;
  width: calc(100% - 180px - 5%) !important;
}
.etc_con h2, .etc_con h3 { color: var(--t1) !important; margin-bottom: 1rem !important; }
.etc_con a { color: var(--blue) !important; }
.etc_con table { width: 100% !important; border-collapse: collapse !important; }
.etc_con table th { background: var(--bg3) !important; color: var(--t3) !important; border: 1px solid var(--border) !important; padding: 0.8rem 1rem !important; font-size: 1.35rem !important; }
.etc_con table td { background: var(--bg0) !important; color: var(--t2) !important; border: 1px solid var(--border) !important; padding: 0.8rem 1rem !important; font-size: 1.35rem !important; }
.etc_con table tbody tr:hover td { background: var(--bg2) !important; }

/* ============================================
   MY_SUB / MY_CON (board & mypage shared layout)
   ============================================ */
.my_sub.wrap1400 { margin-top: 2rem !important; margin-bottom: 3rem !important; }
.my_con h2 {
  font-size: 1.7rem !important;
  font-weight: 700 !important;
  color: var(--t1) !important;
  border-bottom: 1px solid var(--border) !important;
  padding-bottom: 1.2rem !important;
}
/* Board list controls header */
.commu.board_list .side_con h6 {
  font-size: 1.8rem !important;
  font-weight: 700 !important;
  color: var(--t1) !important;
}
.commu.board_list .side_con .fr button {
  background: var(--red) !important;
  color: #fff !important;
  border-radius: var(--r4) !important;
  font-size: 1.35rem !important;
}
.commu.board_list .side_con .fr select,
.commu.board_list .side_con .fr input[type="text"] {
  background: var(--bg3) !important;
  border: 1px solid var(--border2) !important;
  color: var(--t1) !important;
  font-size: 1.35rem !important;
  border-radius: var(--r4) !important;
}
/* Category filter tabs (전체, 공지, etc.) */
.commu.board_list .side_con .fl.title_btn li a {
  background: var(--bg3) !important;
  border: 1px solid var(--border) !important;
  color: var(--t2) !important;
  font-size: 1.35rem !important;
  border-radius: var(--r4) var(--r4) 0 0 !important;
  border-bottom: none !important;
}
.commu.board_list .side_con .fl.title_btn li.on a,
.commu.board_list .side_con .fl.title_btn li a:hover {
  background: var(--red) !important;
  color: #fff !important;
  border-color: var(--red) !important;
}
/* Board list table — override default.css style3 table */
table.style3 th {
  background: var(--bg2) !important;
  color: var(--t3) !important;
  border-bottom: 1px solid var(--border) !important;
  border-top: 2px solid var(--border2) !important;
  font-size: 1.3rem !important;
  padding: 1rem 0.8rem !important;
  font-weight: 600 !important;
}
table.style3 td {
  background: var(--bg0) !important;
  color: var(--t2) !important;
  border-bottom: 1px solid var(--border) !important;
  font-size: 1.35rem !important;
  padding: 0.9rem 0.8rem !important;
}
table.style3 tr:hover td { background: var(--bg2) !important; }
.commu table.style3 th { border-top-color: var(--red) !important; }

.commu.board_list table { width: 100% !important; border-collapse: collapse !important; }
.commu.board_list table a { color: var(--t2) !important; }
.commu.board_list table a:hover { color: var(--red) !important; }
/* Write button */
.commu.board_list .wr_btn_con button {
  background: var(--red) !important;
  color: #fff !important;
  font-size: 1.4rem !important;
  border-radius: var(--r4) !important;
}

/* ============================================
   COMMUNITY / BOARD / NOTICE PAGES
   ============================================ */
.board_leftmenu h2 {
  background: var(--red) !important;
  color: #fff !important;
  font-size: 1.6rem !important;
  border-radius: var(--r6) var(--r6) 0 0 !important;
  padding: 1.4rem 1rem !important;
}
.board_leftmenu dt {
  background: var(--bg3) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r4) !important;
  color: var(--t2) !important;
}
.board_leftmenu dt a { font-size: 1.4rem !important; color: var(--t2) !important; }
.board_leftmenu dd ul li a {
  font-size: 1.35rem !important;
  color: var(--t2) !important;
  line-height: 3.8rem !important;
  height: 3.8rem !important;
  padding-left: 1rem !important;
}
.board_leftmenu dd ul li:hover a { color: var(--red) !important; background: none !important; text-decoration: underline !important; }
.board_leftmenu li.on a { color: var(--red) !important; font-weight: 700 !important; }
.board_leftmenu .notice h2 {
  background: var(--bg3) !important;
  border: 1px solid var(--border) !important;
  color: var(--t1) !important;
  font-size: 1.45rem !important;
}
.board_leftmenu .notice ul li::before { background: var(--t3) !important; }
.board_leftmenu .notice ul li a { color: var(--t2) !important; }

/* Board / board list wrapper */
.board_wrap { background: var(--bg0) !important; min-height: 80vh; }
.board_list { background: var(--bg0) !important; }

/* Board list table */
table.boardlist,
.board_wrap table {
  background: var(--bg0) !important;
  border-collapse: collapse !important;
  width: 100% !important;
}
table.boardlist th,
.board_wrap table th {
  background: var(--bg2) !important;
  color: var(--t3) !important;
  border: 1px solid var(--border) !important;
  font-size: 1.3rem !important;
  padding: 0.8rem 1rem !important;
  font-weight: 600 !important;
}
table.boardlist td,
.board_wrap table td {
  background: var(--bg0) !important;
  color: var(--t2) !important;
  border-bottom: 1px solid var(--border) !important;
  font-size: 1.35rem !important;
  padding: 0.9rem 1rem !important;
}
table.boardlist tbody tr:hover td,
.board_wrap table tbody tr:hover td { background: var(--bg2) !important; }
table.boardlist .subject a,
.board_wrap table .subject a { color: var(--t1) !important; }
table.boardlist .subject a:hover,
.board_wrap table .subject a:hover { color: var(--red) !important; }

/* Tab filter (전체 / 공지) */
.board_wrap .tab_filter,
.board_tab {
  display: flex !important;
  gap: 0.5rem !important;
  margin-bottom: 1rem !important;
}
.board_wrap .tab_filter a,
.board_tab a,
.board_tab li a {
  display: inline-block !important;
  padding: 0.5rem 1.4rem !important;
  border-radius: var(--r4) !important;
  font-size: 1.35rem !important;
  color: var(--t2) !important;
  background: var(--bg2) !important;
  border: 1px solid var(--border) !important;
  transition: all 0.15s !important;
}
.board_wrap .tab_filter a:hover,
.board_wrap .tab_filter a.on,
.board_tab a.on,
.board_tab li.on a {
  background: var(--red) !important;
  color: #fff !important;
  border-color: var(--red) !important;
}

/* Board search bar */
.board_wrap .search_box select,
.board_search select {
  background: var(--bg3) !important;
  border: 1px solid var(--border2) !important;
  color: var(--t1) !important;
  font-size: 1.35rem !important;
  border-radius: var(--r4) !important;
}
.board_wrap .search_box input,
.board_search input[type="text"] {
  background: var(--bg3) !important;
  border: 1px solid var(--border2) !important;
  color: var(--t1) !important;
  font-size: 1.35rem !important;
  border-radius: var(--r4) !important;
}
.board_wrap .search_box button,
.board_search button {
  background: var(--red) !important;
  color: #fff !important;
  font-size: 1.35rem !important;
  border-radius: var(--r4) !important;
}

/* ============================================
   MYPAGE
   ============================================ */
.mypage_wrap { background: var(--bg0) !important; min-height: 80vh; }
.mypage_wrap .my_leftmenu {
  background: var(--bg2) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r8) !important;
}
.mypage_wrap .my_leftmenu .profile_wrap {
  background: linear-gradient(135deg, #1a0810, #22101a) !important;
  border-radius: var(--r8) var(--r8) 0 0 !important;
  padding: 2rem !important;
  border-bottom: 1px solid var(--border) !important;
}
.mypage_wrap .my_leftmenu .profile_wrap .user_name {
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  color: var(--t1) !important;
}
.mypage_wrap .my_leftmenu ul li a {
  display: block !important;
  padding: 1.1rem 1.6rem !important;
  font-size: 1.4rem !important;
  color: var(--t2) !important;
  border-bottom: 1px solid var(--border) !important;
  transition: all 0.15s !important;
}
.mypage_wrap .my_leftmenu ul li a:hover,
.mypage_wrap .my_leftmenu ul li.on a {
  background: var(--red) !important;
  color: #fff !important;
  padding-left: 2.2rem !important;
}
.mypage_wrap .content {
  background: var(--bg2) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r8) !important;
  padding: 2rem !important;
}

/* ============================================
   GENERAL CONTENT PAGES (sub pages)
   ============================================ */
.sub_content {
  background: var(--bg2) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r8) !important;
  padding: 2.5rem !important;
  color: var(--t2) !important;
  font-size: 1.4rem !important;
  line-height: 1.8 !important;
}
.sub_content h2, .sub_content h3 { color: var(--t1) !important; }
.sub_content a { color: var(--blue) !important; }
.sub_content table th { background: var(--bg3) !important; color: var(--t3) !important; border-color: var(--border) !important; }
.sub_content table td { background: var(--bg0) !important; color: var(--t2) !important; border-color: var(--border) !important; }

/* Page title bar (used in service/board pages) */
.page_title,
.sub_title {
  background: var(--bg1) !important;
  border-bottom: 1px solid var(--border) !important;
  padding: 2rem 0 !important;
}
.page_title h2,
.sub_title h2 {
  font-size: 2rem !important;
  font-weight: 700 !important;
  color: var(--t1) !important;
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 1023px) {
  .category_view { flex-direction: column; }
  .category_view .filter_wrap { flex: none; width: 100%; position: static; }
  .partner_list .review { flex: 0 0 120px; }
}
@media (max-width: 767px) {
  .header_menu .main_menu { display: none !important; }
  .shop_detail .post_title { font-size: 1.45rem !important; }
  .shop_detail .post_meta { font-size: 1.1rem; }
  .shop_detail .post_meta span { padding: 0 0.6rem; }
  .shop_detail .post_act .pact-btn { height: 28px; padding: 0 8px; font-size: 1.15rem; }
  .shop_detail .visual { max-width: 100%; }
  .partner_list > li { flex-wrap: wrap; }
  .partner_list .area { flex: 0 0 70px; }
  .partner_list .c_name { flex: 1; padding: 0 0.5rem; }
  .partner_list .title { flex: 0 0 100%; padding: 0.4rem 0 0; }
  .partner_list .review { flex: 0 0 auto; }
  .partner_list .amount { flex: 0 0 auto; }
  .login_sub .centerwrap { padding: 2rem 1.5rem; }
  .register .box_wrap { padding: 2rem 1.5rem; }
}

/* ============================================
   COMPACT OVERRIDES — tighten text, icons, spacing
   ============================================ */

/* Global form elements — smaller inputs/selects */
select,
input[type="text"],
input[type="password"],
input[type="number"],
input[type="email"],
textarea {
  font-size: 1.3rem !important;
}
select { height: 3.4rem !important; font-size: 1.3rem !important; }
button { font-size: 1.3rem !important; }

/* Board left sidebar — compact + fix text wrapping */
.board_leftmenu h2 {
  font-size: 1.35rem !important;
  padding: 0.85rem 0.8rem !important;
}
.board_leftmenu dt {
  padding: 0.9rem 0.8rem !important;
  text-align: left !important;
}
.board_leftmenu dt a {
  font-size: 1.25rem !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: block !important;
}
.board_leftmenu dd ul li a {
  font-size: 1.2rem !important;
  line-height: 2.6rem !important;
  height: auto !important;
  min-height: 2.6rem !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: block !important;
  padding-right: 0.5rem !important;
}
.board_leftmenu .notice h2 { font-size: 1.25rem !important; padding: 0.75rem 0.8rem !important; }
.board_leftmenu .notice ul li a {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: block !important;
  font-size: 1.2rem !important;
  height: auto !important;
  line-height: 2.6rem !important;
}

/* Left service menu — compact */
.left_menu li a {
  padding: 0.85rem 1.2rem !important;
  font-size: 1.3rem !important;
}
.left_menu li.on a,
.left_menu li a:hover { padding-left: 1.5rem !important; }

/* Board page heading and table — compact */
.my_con h2 {
  font-size: 1.5rem !important;
  padding-bottom: 0.9rem !important;
}
.commu.board_list .side_con h6 { font-size: 1.5rem !important; }
.commu.board_list .side_con .fr button { font-size: 1.25rem !important; }
.commu.board_list .side_con .fr select,
.commu.board_list .side_con .fr input[type="text"] { font-size: 1.25rem !important; }
.commu.board_list .side_con .fl.title_btn li a { font-size: 1.25rem !important; }

table.style3 th { font-size: 1.25rem !important; padding: 0.8rem 0.7rem !important; }
table.style3 td { font-size: 1.25rem !important; padding: 0.75rem 0.7rem !important; }
.commu.board_list .wr_btn_con button { font-size: 1.25rem !important; }

/* Section headings — compact */
section.pri h2,
section.chu h2,
section.grand h2,
section.smart h2,
section.tema h2,
.partner h2 {
  font-size: 1.45rem !important;
  margin-bottom: 0.9rem !important;
}
section.pri h2 b,
section.chu h2 b,
section.grand h2 b,
section.tema h2 b,
.partner h2 b { font-size: 1.2rem !important; }

/* Shop listing cards — compact text */
.list_item li.common .item_info .shop_name,
.list_item li.common .item_info .subject { font-size: 1.25rem !important; }
.list_item li.common .item_info .ev li { font-size: 1.1rem !important; }
.list_item li.common .item_info { padding: 0 1rem 1rem !important; }
.list_item li.common .item_info .tag { margin-top: -0.8rem !important; }
.list_item li.common .item_info .tag li { font-size: 1.1rem !important; height: 20px !important; line-height: 20px !important; }
.partner .partner_list > li > div { font-size: 1.25rem !important; }
.partner .partner_list .ev li { font-size: 1.1rem !important; }
.partner .partner_list > li .amount span { font-size: 1.2rem !important; }

/* Quick Search box — compact (overrides handled in main section) */
.quick_search select:nth-child(odd):not(.key select) { }
/* ensure 업종 select spans full width when alone */
.quick_search select:only-of-type { grid-column: 1 / -1 !important; }

/* Main visual banner — shorter */
.main_visual .slider { height: 320px !important; }

/* Navigation icons — compact */
.header_menu .s_menu .style1 i { font-size: 1.6rem !important; }
.header_menu .s_menu .style1 { width: 32px !important; height: 32px !important; }
.header_menu .s_menu .enter_store { font-size: 1.3rem !important; height: 32px !important; padding: 0 1.2rem !important; }
.header_menu .s_menu .enter_store a { font-size: 1.3rem !important; }

/* Nav bar — slightly compact */
.header_menu .wrap1400 { height: 54px !important; }
.header_menu .main_menu { height: 54px !important; }
.header_menu .main_menu > li { height: 54px !important; }
.header_menu .main_menu > li > a {
  height: 54px !important;
  line-height: 54px !important;
  font-size: 1.35rem !important;
  padding: 0 1.3rem !important;
}

/* Footer — compact (core sizes in main section) */
.footer_logo { font-size: 1.9rem !important; }
.footer_logo em { font-size: 1.9rem !important; }

/* Content area — compact */
.etc_con { font-size: 1.3rem !important; padding: 2rem !important; }
.etc_con h2, .etc_con h3 { font-size: 1.45rem !important; }
.etc_con table th, .etc_con table td { font-size: 1.25rem !important; }

/* Shop detail — keep compact titles */
.shop_detail .post_title { font-size: 1.5rem !important; }
.shop_detail .post_meta { font-size: 1.15rem !important; }
.shop_detail .post_act .pact-btn { height: 28px !important; font-size: 1.15rem !important; }
.shop_detail .tab li a { font-size: 1.25rem !important; padding: 0.8rem 1rem 1.1rem !important; }
.shop_detail .tab2 h3, .shop_detail .tab3 h3, .shop_detail .tab4 h3 { font-size: 1.45rem !important; }
.shop_detail .s_review .rhead h3 { font-size: 1.5rem !important; }

/* Header icons */
header p a i { font-size: 1.4rem !important; }

/* ============================================
   SHOP DETAIL — bottom section improvements
   ============================================ */

/* Watermark images in shop content — don't let them be too large */
.shop_detail img[src*="water.png"],
.shop_detail > img[src*="water.png"] {
  max-width: 100% !important;
  height: auto !important;
  opacity: 0.3 !important;
  display: block !important;
  margin: 1rem auto !important;
  max-height: 60px !important;
}

/* Section dividers before review/QA */
.shop_detail .s_review {
  border-top: 1px solid var(--border) !important;
  padding-top: 2rem !important;
  margin-top: 1rem !important;
}
.shop_detail .s_qa {
  border-top: 1px solid var(--border) !important;
  padding-top: 2rem !important;
  margin-top: 1rem !important;
}

/* Review section header row improvements */
.shop_detail .s_review .rhead,
.shop_detail .s_qa .rhead {
  background: var(--bg1) !important;
  border-radius: var(--r8) !important;
  padding: 1rem 1.2rem !important;
  border: 1px solid var(--border) !important;
  margin-bottom: 1.2rem !important;
}
.shop_detail .s_review .rhead h3,
.shop_detail .s_qa .rhead h3 {
  font-size: 1.4rem !important;
}

/* ============================================
   FOOTER — additional improvements
   ============================================ */

/* Ticker bar notice text */
footer .main_notice .wrap1400 { padding: 0.6rem 0 !important; }
footer .main_notice .wrap1400 .notice_list { flex: 1 !important; overflow: hidden !important; }
footer .main_notice .wrap1400 .notice_list li dl dt a {
  font-size: 1.3rem !important;
  color: var(--t3) !important;
}

/* Footer top padding */
footer .b_wrap .wrap1400 { padding-top: 2.5rem !important; padding-bottom: 1rem !important; }

/* Footer grid — adjust column widths */
footer .b_wrap .b_main_menu {
  grid-template-columns: 1.3fr 1fr 1.1fr !important;
  gap: 3rem !important;
}

/* Quick search — responsive fix for smaller screens */
@media (max-width: 900px) {
  .main_visual .wrap1260 {
    position: static !important;
    width: 100% !important;
    margin: 0 auto !important;
    transform: none !important;
    padding: 0 1rem !important;
  }
  .quick_search {
    width: 100% !important;
    margin: -2rem 0 0 !important;
    border-radius: 0 !important;
    border-left: none !important;
    border-right: none !important;
  }
}

/* Footer responsive */
@media (max-width: 768px) {
  footer .b_wrap .b_main_menu {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }
  footer .b_wrap .customer_service {
    border-left: none !important;
    padding-left: 0 !important;
    border-top: 1px solid var(--border) !important;
    padding-top: 1.5rem !important;
  }
}

/* ============================================
   ANNOUNCEMENT / 공지사항 BUTTON FIX
   ============================================ */
footer .main_notice h3 {
  width: auto !important;
  min-width: 90px !important;
  flex-shrink: 0 !important;
}
footer .main_notice h3 a {
  white-space: nowrap !important;
  font-size: 1.35rem !important;
  padding: 0.6rem 1.2rem !important;
  border-radius: 4px !important;
  display: inline-block !important;
}

/* ============================================
   COMMUNITY / BOARD — WIDER LEFT SIDEBAR
   ============================================ */
/* Sidebar container — wider */
.my_sub .board_leftmenu {
  width: 220px !important;
  min-width: 220px !important;
  flex-shrink: 0 !important;
}
/* Content area adjusts accordingly */
.my_sub .my_con {
  width: calc(100% - 220px - 2.5rem) !important;
  flex: 1 !important;
  min-width: 0 !important;
}
/* Sidebar link items — enough room for text */
.board_leftmenu dt {
  padding: 0.9rem 1.2rem !important;
  text-align: left !important;
}
.board_leftmenu dt a {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: block !important;
  font-size: 1.35rem !important;
  color: var(--t2) !important;
}
.board_leftmenu dd ul li a {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: block !important;
  font-size: 1.3rem !important;
  line-height: 2.8rem !important;
  height: auto !important;
  min-height: 2.8rem !important;
  padding: 0 0.8rem 0 1.2rem !important;
}
.board_leftmenu .notice ul li a {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: block !important;
  font-size: 1.25rem !important;
  line-height: 2.6rem !important;
  height: auto !important;
  padding-left: 1.2rem !important;
}

/* ============================================
   HEADER AREA DROPDOWN — BETTER LAYOUT
   ============================================ */
.header_menu .menu_open .deps1 ul {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  padding: 1rem 1.4rem !important;
  align-items: center !important;
}
.header_menu .menu_open .deps1 ul li {
  margin: 0 !important;
  flex-shrink: 0 !important;
}
.header_menu .menu_open .deps1 ul li a {
  padding: 0.5rem 1.2rem !important;
  font-size: 1.35rem !important;
  display: block !important;
  border-radius: var(--r4) !important;
  white-space: nowrap !important;
}
.header_menu .menu_open .deps2 ul {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
  padding: 0.8rem 1.4rem !important;
}
.header_menu .menu_open .deps2 ul li a {
  padding: 0.4rem 1rem !important;
  font-size: 1.3rem !important;
  white-space: nowrap !important;
  border-radius: var(--r4) !important;
}

/* ============================================
   SHOP DETAIL — STICKY POST HEADER
   ============================================ */
.shop_detail .post_header {
  position: sticky !important;
  top: 60px !important;
  z-index: 90 !important;
  background: var(--bg0) !important;
  border-bottom: 1px solid var(--border) !important;
  padding-bottom: 1rem !important;
  margin-bottom: 0 !important;
}

/* ============================================
   SHOP DETAIL — WIDER PAGE WIDTH
   ============================================ */
.shop_detail .wrap1400 {
  max-width: 1060px !important;
  padding: 0 2rem !important;
}
.shop_detail .visual {
  max-width: 900px !important;
}

/* ============================================
   REVIEW PAGE — IMPROVED LAYOUT
   ============================================ */
.review_pg { margin: 2rem auto 4rem !important; }
.review_pg .best_r_wrap {
  margin-bottom: 3rem !important;
}
.review_pg h2 {
  font-size: 1.8rem !important;
  color: var(--t1) !important;
  font-weight: 700 !important;
  margin-bottom: 1.5rem !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.review_pg h2 img { width: 20px !important; height: auto !important; }

/* Best review cards */
.review_pg .best_r { display: flex !important; gap: 1.2rem !important; flex-wrap: nowrap !important; }
.review_pg .best_r > li {
  background: var(--bg2) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r8) !important;
  box-shadow: none !important;
  padding: 1.4rem !important;
  flex: 1 !important;
  max-width: none !important;
  margin-right: 0 !important;
  overflow: hidden !important;
}
.review_pg .best_r > li:hover {
  border-color: var(--border2) !important;
  background: var(--bg3) !important;
}
.review_pg .best_r > li .class {
  font-size: 1.3rem !important;
  width: 3.6rem !important;
  height: 3.6rem !important;
  line-height: 3.6rem !important;
}
.review_pg .best_r > li:nth-child(1) .class { background: var(--red) !important; }
.review_pg .best_r > li:nth-child(2) .class,
.review_pg .best_r > li:nth-child(3) .class { background: #5068c4 !important; }
.review_pg .best_r > li:nth-child(4) .class,
.review_pg .best_r > li:nth-child(5) .class { background: #444 !important; }
.review_pg .best_r > li .shop_img {
  border-radius: var(--r6) !important;
  max-height: 110px !important;
}
.review_pg .best_r > li .shop_img img { max-height: 110px !important; }
.review_pg .best_r > li .shop_img p {
  font-size: 1.2rem !important;
  padding: 0.6rem !important;
}
.review_pg .ev_wrap { margin-top: 0.8rem !important; }
.review_pg .ev_wrap .ev li {
  font-size: 1.2rem !important;
  padding: 3px 7px !important;
  border-color: var(--border2) !important;
  color: var(--t3) !important;
}
.review_pg .best_r > li dl { margin-top: 0.8rem !important; }
.review_pg .best_r > li dl dt {
  font-size: 1.3rem !important;
  color: var(--t2) !important;
  line-height: 1.5 !important;
  margin-bottom: 4px !important;
}
.review_pg .best_r > li dl dd {
  font-size: 1.25rem !important;
  color: var(--t3) !important;
  line-height: 1.5 !important;
}
/* Review list header bar — two rows: sort buttons + search filters */
.review_pg .r_head {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.8rem !important;
  padding: 1rem 0 !important;
  border: none !important;
  border-bottom: 1px solid var(--border) !important;
  border-radius: 0 !important;
  background: none !important;
  margin-bottom: 1.5rem !important;
}
.review_pg .r_head > div {
  display: flex !important;
  align-items: center !important;
  gap: 1rem !important;
  flex-wrap: wrap !important;
}
.review_pg .r_head .order { display: flex !important; gap: 4px !important; flex-wrap: wrap !important; }
.review_pg .r_head .order li a {
  display: block !important;
  padding: 0.4rem 1rem !important;
  font-size: 1.3rem !important;
  color: var(--t3) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r4) !important;
  background: var(--bg2) !important;
  line-height: 1.8 !important;
  height: auto !important;
}
.review_pg .r_head .order li.on a,
.review_pg .r_head .order li a:hover {
  background: var(--red) !important;
  color: #fff !important;
  border-color: var(--red) !important;
}
.review_pg .r_head .t_num {
  font-size: 1.3rem !important;
  color: var(--t3) !important;
  line-height: 1.8 !important;
  margin: 0 !important;
}
.review_pg .r_head .t_num b { color: var(--t1) !important; font-weight: 700 !important; }
/* Filter row: selects + keyword inline */
.review_pg .r_head .select {
  display: flex !important;
  gap: 6px !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  width: 100% !important;
}
.review_pg .r_head .select li { margin: 0 !important; }
.review_pg .r_head .select select,
.review_pg .r_head .select input[type="text"] {
  background: var(--bg3) !important;
  border: 1px solid var(--border2) !important;
  color: var(--t1) !important;
  border-radius: var(--r4) !important;
  font-size: 1.3rem !important;
  height: 3.2rem !important;
  padding: 0 0.8rem !important;
  width: auto !important;
  min-width: 100px !important;
}
.review_pg .r_head .search_input {
  position: relative !important;
  display: flex !important;
  flex: 1 !important;
  min-width: 180px !important;
}
.review_pg .r_head .search_input input {
  background: var(--bg3) !important;
  border: 1px solid var(--border2) !important;
  color: var(--t1) !important;
  font-size: 1.3rem !important;
  height: 3.2rem !important;
  padding: 0 3.5rem 0 0.8rem !important;
  border-radius: var(--r4) !important;
  width: 100% !important;
  min-width: 0 !important;
}
.review_pg .r_head .search_input .rv_search,
.review_pg .r_head .search_input button {
  position: absolute !important;
  right: 1px !important;
  top: 1px !important;
  background: var(--red) !important;
  color: #fff !important;
  border: none !important;
  height: calc(3.2rem - 2px) !important;
  width: 3.2rem !important;
  border-radius: 0 var(--r4) var(--r4) 0 !important;
  font-size: 1.4rem !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Review list items */
.review_pg .r_body > li {
  background: var(--bg2) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--r8) !important;
  margin-bottom: 1rem !important;
  overflow: hidden !important;
  transition: background 0.15s !important;
}
.review_pg .r_body > li:hover { background: var(--bg3) !important; border-color: var(--border2) !important; }
.review_pg .r_body > li > a {
  display: flex !important;
  gap: 1.5rem !important;
  padding: 1.2rem !important;
  align-items: flex-start !important;
}
.review_pg .r_body .shop_info {
  display: flex !important;
  gap: 1rem !important;
  align-items: flex-start !important;
  flex: 0 0 260px !important;
  min-width: 0 !important;
}
.review_pg .r_body .shop_info > p {
  flex-shrink: 0 !important;
  width: 70px !important;
}
.review_pg .r_body .shop_info > p img {
  width: 70px !important;
  height: 70px !important;
  object-fit: cover !important;
  border-radius: var(--r6) !important;
  border: 1px solid var(--border) !important;
}
.review_pg .r_body .shop_info .shop_name {
  font-size: 1.35rem !important;
  font-weight: 700 !important;
  color: var(--t1) !important;
  margin-bottom: 4px !important;
}
.review_pg .r_body .shop_info .shop_title {
  font-size: 1.25rem !important;
  color: var(--t3) !important;
  line-height: 1.5 !important;
  margin-bottom: 4px !important;
}
.review_pg .r_body .shop_info .ev {
  display: flex !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
}
.review_pg .r_body .shop_info .ev li {
  font-size: 1.2rem !important;
  color: var(--t3) !important;
  display: flex !important;
  align-items: center !important;
  gap: 3px !important;
}
.review_pg .r_body .shop_info .ev .star i { color: var(--gold) !important; }
.review_pg .r_body .shop_info .ev .heart i { color: var(--red) !important; }
.review_pg .r_body .shop_info .ev .location i { color: #5c9e5c !important; }
.review_pg .r_body .r_con { flex: 1 !important; min-width: 0 !important; }
.review_pg .r_body .r_con dl dt {
  font-size: 1.35rem !important;
  color: var(--t1) !important;
  font-weight: 600 !important;
  margin-bottom: 4px !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}
.review_pg .r_body .r_con dl dt img { width: 16px !important; opacity: 0.5 !important; }
.review_pg .r_body .r_con dl dd {
  font-size: 1.3rem !important;
  color: var(--t3) !important;
  line-height: 1.6 !important;
}
.review_pg .r_body .r_con ul {
  display: flex !important;
  gap: 1rem !important;
  margin-top: 0.8rem !important;
  padding-top: 0.6rem !important;
  border-top: 1px solid var(--border) !important;
}
.review_pg .r_body .r_con ul li {
  font-size: 1.25rem !important;
  color: var(--t4) !important;
  display: flex !important;
  align-items: center !important;
  gap: 3px !important;
}
.review_pg .r_body .ev2 {
  background: var(--bg1) !important;
  border-top: 1px solid var(--border) !important;
  padding: 0.7rem 1.2rem !important;
  display: flex !important;
  gap: 1.5rem !important;
}
.review_pg .r_body .ev2 dl { display: flex !important; align-items: center !important; gap: 6px !important; }
.review_pg .r_body .ev2 dl dt { font-size: 1.25rem !important; color: var(--t4) !important; }
.review_pg .r_body .ev2 dl dd {
  font-size: 1.25rem !important;
  color: var(--t2) !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}
.review_pg .r_body .ev2 dl dd i { color: var(--blue) !important; font-size: 1.3rem !important; }
