/* ==============================================================
   RANI TICKET / RANI MALL — CLEAN REDESIGN 2026
   This file intentionally replaces ALL legacy CSS.
   No duplicated legacy blocks. No competing layout systems.
   ============================================================== */

:root{
  --bg:#070a12;
  --bg-soft:#0c101b;
  --panel:#111827;
  --panel-2:#151e31;
  --panel-3:#1b2740;
  --line:#25324d;
  --line-soft:rgba(255,255,255,.075);
  --text:#f7f9ff;
  --text2:#b4bfd4;
  --text3:#7f8aa3;
  --accent:#7c6cff;
  --accent2:#4f8cff;
  --accent3:#32d9c5;
  --accent-light:rgba(124,108,255,.15);
  --success:#32d583;
  --danger:#ff5f72;
  --warning:#ffbb55;
  --info:#55b5ff;
  --surface:var(--panel);
  --surface2:var(--panel-2);
  --surface3:var(--panel-3);
  --bd:var(--line);
  --bd2:#34415f;
  --bd3:#435171;
  --shadow-sm:0 8px 24px rgba(0,0,0,.18);
  --shadow:0 14px 42px rgba(0,0,0,.26);
  --shadow-md:0 24px 70px rgba(0,0,0,.38);
  --rad:18px;
  --rad-sm:12px;
  --rad-lg:24px;
}

body.light{
  --bg:#f3f6fc;
  --bg-soft:#eaf0f9;
  --panel:#ffffff;
  --panel-2:#f8faff;
  --panel-3:#eef3fb;
  --line:#dce4f1;
  --line-soft:rgba(20,35,65,.08);
  --text:#172033;
  --text2:#56627a;
  --text3:#8792a7;
  --surface:var(--panel);
  --surface2:var(--panel-2);
  --surface3:var(--panel-3);
  --bd:var(--line);
  --bd2:#ccd7e8;
  --bd3:#b6c2d6;
  --shadow-sm:0 8px 22px rgba(51,68,102,.08);
  --shadow:0 14px 36px rgba(51,68,102,.11);
  --shadow-md:0 24px 60px rgba(51,68,102,.15);
}

*{box-sizing:border-box}
html{min-height:100%;background:var(--bg);scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  color:var(--text);
  background:
    radial-gradient(900px 520px at 12% -10%,rgba(124,108,255,.18),transparent 65%),
    radial-gradient(760px 470px at 105% 8%,rgba(50,217,197,.09),transparent 62%),
    linear-gradient(180deg,#070a12 0%,#080c15 45%,#070a12 100%) !important;
  font-family:'Inter','Noto Sans KR',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:15px;
  line-height:1.55;
  word-break:keep-all;
}
body.light{
  background:
    radial-gradient(850px 500px at 8% -10%,rgba(124,108,255,.10),transparent 65%),
    linear-gradient(180deg,#f7f9fd,#f1f5fb) !important;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  opacity:.32;
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:42px 42px;
}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
img{display:block;max-width:100%}

/* ---------- top bar / header ---------- */
#topbar{
  position:relative !important;
  z-index:310;
  min-height:0;
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
}
.tb-inner{
  max-width:1460px;
  margin:auto;
  min-height:0;
  padding:0 22px;
  display:flex;
  justify-content:flex-end;
  align-items:center;
}
.tb-right{display:flex;gap:10px;align-items:center}
#topbar a{
  display:inline-flex;
  align-items:center;
  padding:7px 12px;
  border-radius:999px;
  color:var(--text2);
  font-size:12px;
  font-weight:700;
}

#giftcard-marquee{
  border:0 !important;
  box-shadow:none !important;
  background:linear-gradient(90deg,#705dff,#a45cff,#5f84ff) !important;
}

#site-header{
  position:sticky;
  top:0;
  z-index:300;
  margin:0;
  background:rgba(7,10,18,.78);
  border-bottom:1px solid var(--line-soft);
  backdrop-filter:blur(22px) saturate(150%);
  -webkit-backdrop-filter:blur(22px) saturate(150%);
}
body.light #site-header{background:rgba(255,255,255,.84)}

.header-inner{
  width:100% !important;
  max-width:1460px !important;
  min-height:74px !important;
  height:auto !important;
  margin:0 auto !important;
  padding:10px 22px !important;
  display:grid !important;
  grid-template-columns:auto 1fr auto !important;
  gap:26px !important;
  align-items:center !important;
}
.site-logo{
  cursor:pointer;
  display:flex;
  align-items:baseline;
  gap:6px;
  white-space:nowrap;
}
.logo-main{
  font-family:'Black Han Sans','Noto Sans KR',sans-serif;
  font-size:27px;
  letter-spacing:-.055em;
  background:linear-gradient(120deg,#ffffff 0%,#b9c4ff 48%,#65efe0 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
body.light .logo-main{
  background:linear-gradient(120deg,#151d31,#6257e9,#1d9c90);
  -webkit-background-clip:text;background-clip:text;
}
.logo-sub{
  color:var(--accent3);
  font-weight:900;
  font-size:11px;
  letter-spacing:.12em;
}
#theme-btn{
  min-height:36px;
  padding:7px 11px !important;
  border:1px solid var(--line) !important;
  border-radius:999px !important;
  background:var(--panel-2) !important;
  color:var(--text) !important;
}
#theme-text{color:var(--text2) !important}

.main-nav{
  justify-self:center;
  margin:0 !important;
  display:flex !important;
  gap:5px !important;
  align-items:center;
  padding:4px;
  border:1px solid var(--line-soft);
  border-radius:999px;
  background:rgba(255,255,255,.025);
}
.main-nav a{
  padding:9px 15px;
  border-radius:999px;
  color:var(--text2);
  font-size:13px;
  font-weight:800;
  transition:.16s ease;
}
.main-nav a:hover,.main-nav a.on{
  color:#fff;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  box-shadow:0 8px 24px rgba(92,108,255,.20);
}
body.light .main-nav a:hover,body.light .main-nav a.on{color:#fff}

.header-right{
  display:flex !important;
  justify-content:flex-end;
  align-items:center !important;
  gap:8px !important;
}
.header-right>a,.header-right>button,.header-right>span{
  white-space:nowrap;
}
.header-right>a{
  padding:8px 10px;
  color:var(--text2) !important;
  font-weight:750;
}

/* ---------- page shell ---------- */
main.wrap{
  width:100%;
  max-width:1460px;
  margin:0 auto;
  padding:20px 22px 60px;
}
#ad-banner-section{
  display:none;
  width:calc(100% - 280px) !important;
  max-width:1120px !important;
  margin:0 0 18px auto !important;
  border:1px solid var(--line) !important;
  border-radius:24px !important;
  overflow:hidden !important;
  background:var(--panel) !important;
  box-shadow:var(--shadow) !important;
}
.banner-container{
  position:relative;
  width:100%;
  height:230px !important;
  overflow:hidden;
  background:var(--panel-2) !important;
}
.banner-slide{position:absolute;inset:0;opacity:0;transition:opacity .4s ease;cursor:pointer}
.banner-slide.active{opacity:1}
.banner-slide img{width:100%;height:100% !important;object-fit:cover !important}
.banner-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:38px;height:38px;
  border:1px solid rgba(255,255,255,.15) !important;
  border-radius:50% !important;
  color:#fff !important;
  background:rgba(0,0,0,.45) !important;
  z-index:10;
}
.banner-nav.prev{left:14px}.banner-nav.next{right:14px}
.banner-title{
  position:absolute;
  left:50%;bottom:14px;
  transform:translateX(-50%);
  max-width:84%;
  padding:8px 18px;
  border-radius:999px;
  background:rgba(5,8,14,.72);
  color:#fff;
  font-size:13px;
  font-weight:850;
  white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;
}

.social-layout{
  display:grid !important;
  grid-template-columns:240px minmax(0,1fr) 310px !important;
  gap:18px !important;
  align-items:start !important;
}
.left-sb,.right-sb,#main-content{min-width:0}
.left-sb,.right-sb{
  position:sticky;
  top:94px;
  max-height:calc(100vh - 110px);
  overflow:auto;
  scrollbar-width:none;
}
.left-sb::-webkit-scrollbar,.right-sb::-webkit-scrollbar{display:none}

#main-content{width:100%}
.page{display:none}
.page.active{display:block}

/* ---------- card system ---------- */
.sb-card,.board-section,.write-card,.detail-card,.admin-panel{
  position:relative;
  margin:0 0 14px;
  overflow:hidden;
  border:1px solid var(--line) !important;
  border-radius:18px !important;
  background:
    linear-gradient(180deg,rgba(22,30,49,.96),rgba(13,19,32,.96)) !important;
  box-shadow:var(--shadow-sm);
}
body.light .sb-card,body.light .board-section,body.light .write-card,
body.light .detail-card,body.light .admin-panel{
  background:#fff !important;
}
.sb-card-head,.write-card-head,.admin-panel-head{
  min-height:48px;
  padding:12px 15px !important;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  border-bottom:1px solid var(--line) !important;
  background:rgba(255,255,255,.025) !important;
  color:var(--text) !important;
  font-weight:900;
  letter-spacing:-.02em;
}
.sb-card-body{padding:14px !important;background:transparent !important}

/* ---------- left menu ---------- */
.side-menu{
  list-style:none;
  display:grid;
  gap:5px;
  margin:0;
  padding:0;
}
.side-menu li{margin:0;padding:0}
.side-menu a{
  min-height:42px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 11px;
  border:1px solid transparent;
  border-radius:12px;
  color:var(--text2);
  font-size:13px;
  font-weight:750;
  transition:.15s ease;
}
.side-menu a:hover,.side-menu a.on{
  color:#fff;
  border-color:rgba(124,108,255,.24);
  background:linear-gradient(90deg,rgba(124,108,255,.18),rgba(79,140,255,.07));
  transform:translateX(2px);
}
.side-menu .mi{width:22px;text-align:center}
.member-avatars{display:flex;flex-wrap:wrap;gap:6px}

/* ---------- HOME redesign ---------- */
#page-home{
  display:none;
}
#page-home.active{
  display:block;
}
#page-home::before{
  content:"RANI TICKET";
  display:block;
  margin:0 0 2px;
  color:var(--accent3);
  font-size:11px;
  font-weight:900;
  letter-spacing:.17em;
}
#page-home::after{
  content:"상품권 매입부터 정산까지, 한 번에.";
  display:block;
  margin:0 0 18px;
  color:var(--text);
  font-size:clamp(23px,3vw,34px);
  font-weight:950;
  letter-spacing:-.055em;
}
.home-block{margin-bottom:16px !important}

.home-notice>div:first-child{
  border:0 !important;
  margin:0 0 8px !important;
}
.home-notice h3{
  background:transparent !important;
  color:var(--text) !important;
  padding:0 !important;
  font-size:13px !important;
  font-weight:900 !important;
}
.home-notice .board-section{
  border-radius:15px !important;
}

.home-giftcard>.sb-card{
  border:1px solid rgba(124,108,255,.36) !important;
  border-radius:24px !important;
  background:
    radial-gradient(600px 240px at 85% -30%,rgba(50,217,197,.14),transparent 70%),
    radial-gradient(520px 230px at 0 0,rgba(124,108,255,.21),transparent 70%),
    linear-gradient(180deg,#151d32,#0c1220) !important;
  box-shadow:0 22px 58px rgba(0,0,0,.34),0 0 0 1px rgba(124,108,255,.06) inset;
}
body.light .home-giftcard>.sb-card{
  background:linear-gradient(145deg,#fff,#f4f6ff) !important;
}
.home-giftcard .sb-card-head{
  min-height:64px;
  justify-content:flex-start !important;
  padding:16px 18px !important;
  border-bottom:1px solid rgba(124,108,255,.20) !important;
  background:transparent !important;
}
.home-giftcard .sb-card-head>span:first-child{
  font-size:18px !important;
}
.home-giftcard .sb-card-body{
  padding:18px !important;
}
.home-giftcard .fi,
#gc-type,#gc-amount,#gc-bank,#gc-account,#gc-phone{
  width:100% !important;
  min-height:46px;
  padding:10px 13px !important;
  border:1px solid var(--line) !important;
  border-radius:12px !important;
  outline:none;
  color:var(--text) !important;
  background:rgba(255,255,255,.045) !important;
}
body.light .home-giftcard .fi{background:#fff !important}
.home-giftcard .fi:focus{
  border-color:rgba(124,108,255,.8) !important;
  box-shadow:0 0 0 3px rgba(124,108,255,.12);
}
.home-giftcard button[onclick="submitGiftcard()"]{
  min-height:50px;
  border:0 !important;
  border-radius:14px !important;
  background:linear-gradient(135deg,var(--accent),var(--accent2)) !important;
  box-shadow:0 12px 30px rgba(92,108,255,.26);
  font-size:14px !important;
  font-weight:900 !important;
}
#pin-inputs-container input{
  min-width:0;
  flex:1 1 110px;
  min-height:44px;
  border:1px solid var(--line) !important;
  border-radius:11px !important;
  background:rgba(255,255,255,.04) !important;
  color:var(--text) !important;
  text-align:center;
}

.home-ticket>.sb-card{
  border-color:rgba(50,217,197,.20) !important;
  background:
    linear-gradient(135deg,rgba(50,217,197,.08),transparent 55%),
    var(--panel) !important;
}
.home-ticket .sb-card-head{
  background:transparent !important;
  color:var(--text) !important;
}
.home-ticket .sb-card-body{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.home-ticket .sb-card-body>div:first-child{
  grid-column:1/-1;
  color:var(--text2);
}
.home-ticket a>div{
  margin:0 !important;
  border-radius:13px !important;
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--panel-2) !important;
  border:1px solid var(--line) !important;
}

.home-exchange{
  border-color:rgba(50,217,197,.18) !important;
}
.home-exchange .sb-card-head{
  background:linear-gradient(90deg,rgba(50,217,197,.10),rgba(124,108,255,.07)) !important;
}

/* ---------- boards / list ---------- */
.board-section{overflow:hidden}
.board-head{
  display:grid;
  grid-template-columns:60px minmax(0,1fr) 100px 90px 60px 60px;
  gap:8px;
  padding:10px 12px;
  border-bottom:1px solid var(--line);
  background:var(--panel-2);
  color:var(--text3);
  font-size:11px;
  font-weight:850;
}
.board-row{
  display:grid;
  grid-template-columns:60px minmax(0,1fr) 100px 90px 60px 60px;
  gap:8px;
  align-items:center;
  min-height:45px;
  padding:8px 12px;
  border-bottom:1px solid var(--line-soft);
  color:var(--text2);
  font-size:12.5px;
}
.board-row:last-child{border-bottom:0}
.board-row:hover{background:rgba(124,108,255,.045)}
.board-row .title{color:var(--text);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.board-row.notice{background:rgba(255,187,85,.045)}
.board-row.notice .title{color:#ffd27b}

.write-card{padding:0}
.write-card-head{font-size:15px}
.fi,.banner-input{
  width:100%;
  min-height:43px;
  padding:10px 12px;
  border:1px solid var(--line) !important;
  border-radius:11px !important;
  background:var(--panel-2) !important;
  color:var(--text) !important;
  outline:none;
}
textarea.fi{min-height:130px;resize:vertical}
.fi:focus,.banner-input:focus{
  border-color:rgba(124,108,255,.75) !important;
  box-shadow:0 0 0 3px rgba(124,108,255,.10);
}

.write-trigger{
  display:flex;
  align-items:center;
  gap:10px;
  padding:13px 14px;
  margin-bottom:14px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--panel);
}
.wt-av{
  width:38px;height:38px;border-radius:50%;
  display:grid;place-items:center;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
}
.wt-input{color:var(--text3);font-size:13px}

/* ---------- right sidebar ---------- */
.right-sb>.sb-card{
  border-radius:17px !important;
}
.right-sb>.sb-card:first-child{
  background:
    linear-gradient(135deg,rgba(124,108,255,.12),rgba(50,217,197,.05)),
    var(--panel) !important;
}
.right-sb>.sb-card:first-child .sb-card-head{
  background:transparent !important;
}
.right-sb>.sb-card:first-child a{
  background:linear-gradient(135deg,var(--accent),var(--accent2)) !important;
  border-radius:12px !important;
  min-height:43px;
  box-shadow:0 10px 25px rgba(92,108,255,.20);
}

#support-chat-messages{
  height:210px !important;
  padding:10px !important;
  border:1px solid var(--line) !important;
  border-radius:12px !important;
  background:#0b101b !important;
  color:var(--text2);
}
body.light #support-chat-messages{background:#f7f9fc !important}
#support-msg{
  min-width:0;
  min-height:39px;
  padding:8px 11px !important;
  border-radius:10px !important;
  border:1px solid var(--line) !important;
  background:var(--panel-2) !important;
  color:var(--text) !important;
}
button[onclick="sendSupportMessage()"]{
  border-radius:10px !important;
  background:linear-gradient(135deg,var(--accent),var(--accent2)) !important;
}
button[onclick="endMyChat()"]{
  border-radius:10px !important;
  background:rgba(255,95,114,.16) !important;
  border:1px solid rgba(255,95,114,.28) !important;
  color:#ff8190 !important;
}

.event-list{list-style:none;margin:0;padding:0}
.event-list li{
  padding:9px 0;
  border-bottom:1px solid var(--line-soft);
  color:var(--text2);
  font-size:12.5px;
}
.event-list li:last-child{border-bottom:0}

.rate-num{color:#c4cbff !important;letter-spacing:-.035em}
.rate-detail{display:flex;justify-content:space-between;margin-top:10px;padding-top:9px;border-top:1px solid var(--line);font-size:12px;color:var(--text3)}

/* ---------- activity / profile ---------- */
.feed-tabs{
  display:flex;
  gap:6px;
  padding:6px;
  margin-bottom:12px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--panel);
}
.feed-tab{
  padding:8px 12px;
  border:0;
  border-radius:10px;
  color:var(--text2);
  background:transparent;
  font-weight:750;
}
.feed-tab.on{color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent2))}
#activity-feed{display:grid;gap:9px}
#profile-box{margin-bottom:14px}

/* ---------- admin ---------- */
.admin-panel{padding:0}
.admin-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}
.astat{
  padding:15px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--panel);
}
.astat .n{font-size:22px;font-weight:900;color:var(--text)}
.astat .l{font-size:11px;color:var(--text3)}
.a-btn{
  min-height:38px;
  padding:8px 12px;
  border:1px solid var(--line);
  border-radius:10px !important;
  background:var(--panel-2);
  color:var(--text);
  font-weight:750;
}
.a-btn-primary{
  border:0;
  color:#fff;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
}
.admin-table,.banner-admin-table{
  width:100%;
  border-collapse:collapse;
  color:var(--text2);
  font-size:12px;
}
.admin-table th,.admin-table td,.banner-admin-table th,.banner-admin-table td{
  padding:10px 11px;
  border-bottom:1px solid var(--line);
  text-align:left;
  white-space:nowrap;
}
.admin-table th,.banner-admin-table th{
  color:var(--text3);
  background:var(--panel-2);
  font-size:11px;
  font-weight:850;
}

/* ---------- modal / login ---------- */
.modal-overlay,.popup-overlay,#extractorModal{
  position:fixed;
  inset:0;
  z-index:10000;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(2,5,11,.76) !important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.modal-overlay{display:none}
.modal-overlay.open,.modal-overlay.active{display:flex}
.glass-modal,.popup-box{
  position:relative;
  width:min(92vw,410px) !important;
  max-width:410px !important;
  overflow:hidden;
  border:1px solid rgba(124,108,255,.28) !important;
  border-radius:24px !important;
  background:
    radial-gradient(450px 220px at 50% -20%,rgba(124,108,255,.20),transparent 70%),
    #111827 !important;
  box-shadow:0 32px 100px rgba(0,0,0,.55) !important;
}
body.light .glass-modal,body.light .popup-box{background:#fff !important}
.glass-header{
  padding:26px 22px 18px !important;
  text-align:center;
  border-bottom:1px solid var(--line) !important;
  background:transparent !important;
}
.glass-logo{
  width:54px !important;height:54px !important;
  margin:0 auto 10px !important;
  display:grid !important;place-items:center !important;
  border-radius:16px !important;
  background:linear-gradient(135deg,var(--accent),var(--accent2)) !important;
  box-shadow:0 12px 28px rgba(92,108,255,.25) !important;
}
.glass-header h2{
  margin:0;
  color:var(--text) !important;
  font-size:22px !important;
  font-weight:900 !important;
  background:none !important;
  -webkit-text-fill-color:initial !important;
}
.glass-header h2 span{color:var(--accent3) !important;background:none !important;-webkit-text-fill-color:initial !important}
.auth-form{padding:20px !important}
.input-group{position:relative;margin-bottom:10px !important}
.input-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);z-index:1;opacity:.65}
.input-group input,.input-group select{
  width:100% !important;
  min-height:44px;
  padding:10px 12px 10px 40px !important;
  border:1px solid var(--line) !important;
  border-radius:11px !important;
  color:var(--text) !important;
  background:var(--panel-2) !important;
  outline:none;
}
.glass-btn{
  width:100%;
  min-height:45px;
  border:0 !important;
  border-radius:12px !important;
  color:#fff !important;
  background:linear-gradient(135deg,var(--accent),var(--accent2)) !important;
  font-weight:900;
}
.modal-close{
  position:absolute;
  top:12px;right:12px;
  width:34px;height:34px;
  z-index:4;
  display:grid;place-items:center;
  border:1px solid var(--line) !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.05) !important;
  color:var(--text);
}

/* extractor modal was hard-coded white: force coherent theme */
#extractorModal>div{
  width:min(92vw,430px) !important;
  max-width:430px !important;
  border:1px solid var(--line) !important;
  border-radius:20px !important;
  background:var(--panel) !important;
  color:var(--text) !important;
}
#extractorModal>div>div{
  background:transparent !important;
  border-color:var(--line) !important;
}
#extractorModal h3,#extractorModal span,#extractorModal textarea{color:var(--text) !important}
#extractorModal textarea{background:var(--panel-2) !important;border-color:var(--line) !important}

/* ---------- popup ---------- */
.popup-overlay{display:none}
.popup-box{padding:0}
#popup-display{padding:18px}
.popup-btns{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line)}
.popup-btns button{flex:1;padding:9px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2);color:var(--text)}

/* ---------- toast/footer ---------- */
.toast{
  position:fixed;
  left:50%;bottom:24px;
  transform:translate(-50%,20px);
  z-index:12000;
  opacity:0;
  pointer-events:none;
  padding:10px 15px;
  border:1px solid var(--line);
  border-radius:999px;
  color:#fff;
  background:#111827;
  box-shadow:var(--shadow);
  transition:.2s ease;
}
.toast.show{opacity:1;transform:translate(-50%,0)}
footer{
  max-width:1460px;
  width:100%;
  margin:0 auto;
  padding:26px 22px 38px;
  border-top:1px solid var(--line-soft);
  color:var(--text3);
  text-align:center;
  font-size:12px;
}

/* ---------- responsive ---------- */
@media(max-width:1180px){
  .social-layout{
    grid-template-columns:220px minmax(0,1fr) !important;
  }
  .right-sb{
    position:static;
    grid-column:1/-1;
    max-height:none;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
  }
  .right-sb>.sb-card{margin:0}
  #ad-banner-section{width:calc(100% - 238px) !important}
}
@media(max-width:820px){
  body{font-size:14px}
  .header-inner{
    grid-template-columns:1fr auto !important;
    gap:10px !important;
    padding:8px 12px !important;
  }
  .main-nav{
    grid-column:1/-1;
    grid-row:2;
    justify-self:stretch;
    overflow:auto;
    border-radius:13px;
  }
  .main-nav a{flex:1;text-align:center;white-space:nowrap;padding:8px 11px}
  .header-right{grid-column:2;grid-row:1}
  #theme-text{display:none}
  main.wrap{padding:12px 10px 34px}
  #ad-banner-section{width:100% !important;margin:0 0 12px !important}
  .banner-container{height:160px !important}
  .social-layout{grid-template-columns:1fr !important;gap:12px !important}
  .left-sb,.right-sb{position:static;max-height:none}
  .left-sb{order:2}
  #main-content{order:1}
  .right-sb{order:3;grid-column:auto;grid-template-columns:1fr}
  .side-menu{grid-template-columns:repeat(2,minmax(0,1fr))}
  .left-sb>.sb-card:nth-child(n+2){display:none}
  .home-ticket .sb-card-body{grid-template-columns:1fr}
  .board-head{display:none}
  .board-row{
    grid-template-columns:1fr auto !important;
    gap:4px 10px;
    padding:10px 12px;
  }
  .board-row>*:not(.title):not(:nth-child(3)){font-size:10px;color:var(--text3)}
  .admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
  .logo-main{font-size:23px}
  .header-right>span{display:none}
  .header-right>a,.header-right>button{font-size:11px !important;padding:6px 8px !important}
  #page-home::after{font-size:24px}
  .sb-card,.board-section,.write-card,.detail-card,.admin-panel{border-radius:15px !important}
  .home-giftcard>.sb-card{border-radius:18px !important}
  .home-giftcard .sb-card-body{padding:14px !important}
  .side-menu{grid-template-columns:1fr 1fr}
  .side-menu a{font-size:12px}
  #support-chat-messages{height:170px !important}
  .admin-stats{grid-template-columns:1fr 1fr}
}

/* ---------- scrollbar ---------- */
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(143,157,188,.22);border-radius:999px}


/* ==============================================================
   COMMUNITY PATCH 2026-08-23
   운영 게시판: 자유게시판 단일화 / 클릭 영역 / 피드 / 모바일 보강
   ============================================================== */

.page-toolbar{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin:0 0 16px;
  padding:2px 2px 0;
}
.eyebrow{
  margin-bottom:4px;
  color:var(--accent3);
  font-size:10px;
  font-weight:900;
  letter-spacing:.17em;
}
.page-title{
  margin:0;
  color:var(--text);
  font-size:26px !important;
  font-weight:950 !important;
  letter-spacing:-.045em;
}
.page-subtitle{
  margin:5px 0 0;
  color:var(--text3);
  font-size:13px;
}
.board-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  flex-wrap:wrap;
}
.board-search{
  display:flex;
  align-items:center;
  gap:7px;
  min-width:min(100%,340px);
}
.board-search input{
  width:240px;
  min-height:42px;
  padding:9px 13px;
  border:1px solid var(--line);
  border-radius:12px;
  outline:none;
  color:var(--text);
  background:var(--panel-2);
  transition:.16s ease;
}
.board-search input:focus{
  border-color:rgba(124,108,255,.85);
  box-shadow:0 0 0 3px rgba(124,108,255,.12);
}
.primary-action,.secondary-action{
  min-height:42px;
  padding:9px 14px;
  border-radius:12px;
  font-weight:850;
  font-size:13px;
  transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease;
}
.primary-action{
  border:0;
  color:#fff;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  box-shadow:0 9px 24px rgba(92,108,255,.22);
}
.secondary-action{
  border:1px solid var(--line);
  color:var(--text2);
  background:var(--panel-2);
}
.primary-action:hover,.secondary-action:hover{transform:translateY(-1px)}

#page-board .board-section{
  overflow:hidden;
  border-radius:16px !important;
}
#page-board .board-head{
  min-height:42px;
  background:rgba(255,255,255,.025);
  color:var(--text3);
}
#page-board .board-row{
  cursor:pointer;
  transition:background .14s ease,transform .14s ease;
}
#page-board .board-row:hover{
  background:rgba(124,108,255,.075);
}
#page-board .board-row:active{transform:scale(.998)}
#page-board .paging{
  display:flex;
  justify-content:center;
  gap:6px;
  margin:16px 0 0;
}
#page-board .paging button{
  min-width:36px;
  height:36px;
  border:1px solid var(--line);
  border-radius:10px;
  color:var(--text2);
  background:var(--panel-2);
}
#page-board .paging button.on{
  border-color:transparent;
  color:#fff;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
}

.feed-tabs{
  display:flex;
  gap:7px;
  margin-bottom:10px;
}
.feed-tab{
  appearance:none;
  border:1px solid var(--line);
  border-radius:999px;
  padding:8px 13px;
  color:var(--text2);
  background:var(--panel-2);
  font-size:12px;
  font-weight:850;
}
.feed-tab.on{
  color:#fff;
  border-color:transparent;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
}
#activity-feed{
  display:grid;
  gap:12px;
}
.activity-item{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(22,30,49,.94),rgba(12,18,31,.96));
  box-shadow:var(--shadow-sm);
}
body.light .activity-item{background:#fff}
.ai-header,.ai-body,.ai-actions,.comments-area,.cmt-write{padding-left:16px !important;padding-right:16px !important}
.ai-header{padding-top:15px !important}
.ai-body{padding-top:9px !important;padding-bottom:13px !important}
.ai-actions{
  display:flex;
  gap:7px;
  padding-top:10px !important;
  padding-bottom:10px !important;
  border-top:1px solid var(--line-soft);
}
.ai-btn{
  border:1px solid var(--line);
  border-radius:10px;
  color:var(--text2);
  background:var(--panel-2);
}
.ai-btn:hover{border-color:var(--bd2);color:var(--text)}
.cmt-write{padding-top:10px !important;padding-bottom:14px !important}

.side-menu a,.main-nav a,.site-logo,
button,[onclick]{touch-action:manipulation}
.side-menu a{position:relative;z-index:1}
.right-sb,.left-sb{z-index:5}
#main-content{position:relative;z-index:1}

@media(max-width:980px){
  .page-toolbar{align-items:flex-start;flex-direction:column}
  .board-actions{width:100%;justify-content:stretch}
  .board-search{flex:1 1 100%}
  .board-search input{width:100%;flex:1}
  .primary-action{flex:0 0 auto}
}
@media(max-width:680px){
  .page-title{font-size:22px !important}
  .board-actions{display:grid;grid-template-columns:1fr}
  .board-search{min-width:0;width:100%}
  .board-search input{min-width:0}
  .primary-action{width:100%}
  .main-nav a{padding:8px 10px !important}
}

/* ---------- modal compatibility fix ---------- */
/* app.js opens the auth modal with class="show". */
.modal-overlay.show{
  display:flex !important;
}

/* ==============================================================
   ACTIVITY FEED — CLEAN CARD REDESIGN
   작성자 중복 아바타 제거 / 댓글 기본 접힘 / 입력창 다크 테마 통일
   ============================================================== */

#activity-feed{
  display:grid;
  gap:14px;
}

.feed-empty{
  padding:48px 20px;
  text-align:center;
  color:var(--text3);
  border:1px dashed var(--line);
  border-radius:18px;
  background:var(--panel);
}

.activity-item{
  overflow:hidden;
  border:1px solid var(--line) !important;
  border-radius:20px !important;
  background:
    linear-gradient(180deg,rgba(18,26,43,.98),rgba(10,15,27,.98)) !important;
  box-shadow:0 12px 35px rgba(0,0,0,.18) !important;
  transition:border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.activity-item:hover{
  border-color:var(--bd2) !important;
  transform:translateY(-1px);
  box-shadow:0 16px 42px rgba(0,0,0,.24) !important;
}

body.light .activity-item{
  background:#fff !important;
}

.ai-header{
  display:flex !important;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:16px 18px 12px !important;
  border-bottom:0 !important;
}

.ai-author-row{
  min-width:0;
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
}

.ai-author{
  min-width:0;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--text);
  cursor:pointer;
  font:inherit;
  text-align:left;
}

.ai-author-name{
  max-width:220px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:14px;
  font-weight:900;
  letter-spacing:-.02em;
}

.ai-header .lv-badge{
  margin:0 !important;
  font-size:10px !important;
  line-height:1 !important;
  padding:5px 7px !important;
  border-radius:999px !important;
}

.ai-cat{
  display:inline-flex !important;
  align-items:center;
  min-height:24px;
  margin:0 !important;
  padding:4px 8px !important;
  border:1px solid rgba(124,108,255,.28);
  border-radius:999px !important;
  background:rgba(124,108,255,.10) !important;
  color:#a99fff !important;
  font-size:10px !important;
  font-weight:850 !important;
}

.ai-time{
  flex:0 0 auto;
  color:var(--text3);
  font-size:11px;
  white-space:nowrap;
}

.ai-content-link{
  width:100%;
  display:block;
  padding:3px 18px 17px;
  border:0;
  background:transparent;
  color:inherit;
  cursor:pointer;
  text-align:left;
  font:inherit;
}

.ai-title{
  display:block;
  margin-bottom:8px;
  color:var(--text);
  font-size:17px;
  line-height:1.45;
  font-weight:900;
  letter-spacing:-.025em;
}

.ai-preview{
  display:block;
  color:var(--text2);
  font-size:13px;
  line-height:1.75;
  overflow-wrap:anywhere;
}

.ai-actions{
  display:flex !important;
  align-items:center;
  gap:7px !important;
  padding:11px 18px 13px !important;
  border-top:1px solid var(--line-soft) !important;
}

.ai-btn{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:7px 10px;
  border:1px solid var(--line) !important;
  border-radius:10px !important;
  background:var(--panel-2) !important;
  color:var(--text2) !important;
  font-size:11px;
  font-weight:800;
  cursor:pointer;
  transition:.16s ease;
}

.ai-btn b{
  color:var(--text);
  font-size:11px;
}

.ai-btn:hover,
.ai-btn.active{
  border-color:rgba(124,108,255,.55) !important;
  background:rgba(124,108,255,.13) !important;
  color:var(--text) !important;
}

.ai-btn.ai-open{
  margin-left:auto;
}

.ai-btn.del{
  border-color:rgba(255,95,114,.22) !important;
  color:#ff8795 !important;
  background:rgba(255,95,114,.06) !important;
}

.feed-comments[hidden]{
  display:none !important;
}

.feed-comments{
  border-top:1px solid var(--line-soft);
  background:rgba(0,0,0,.10);
}

.comments-area{
  padding:4px 18px 0 !important;
}

.cmt-item{
  display:block !important;
  padding:12px 0 !important;
  border-bottom:1px solid var(--line-soft);
}

.cmt-item:last-child{
  border-bottom:0;
}

.cmt-content{
  width:100%;
  min-width:0;
}

.cmt-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:5px;
}

.cmt-nick{
  color:var(--text);
  font-size:12px;
  font-weight:900;
}

.cmt-date{
  color:var(--text3);
  font-size:10px;
}

.cmt-body{
  color:var(--text2);
  font-size:12px;
  line-height:1.6;
  overflow-wrap:anywhere;
}

.feed-no-comments,
.feed-login-hint{
  padding:14px 18px;
  color:var(--text3);
  font-size:11px;
}

.cmt-write{
  display:flex !important;
  align-items:center;
  gap:8px;
  padding:12px 18px 16px !important;
  border-top:1px solid var(--line-soft);
}

.cmt-write input{
  min-width:0;
  flex:1;
  height:40px;
  padding:0 13px;
  border:1px solid var(--line) !important;
  border-radius:11px !important;
  outline:none;
  background:var(--panel-2) !important;
  color:var(--text) !important;
  font:inherit;
  font-size:12px;
}

.cmt-write input::placeholder{
  color:var(--text3);
}

.cmt-write input:focus{
  border-color:rgba(124,108,255,.72) !important;
  box-shadow:0 0 0 3px rgba(124,108,255,.10);
}

.cmt-write button{
  flex:0 0 auto;
  height:40px;
  padding:0 15px;
  border:0 !important;
  border-radius:11px !important;
  background:linear-gradient(135deg,var(--accent),var(--accent2)) !important;
  color:#fff !important;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}

.feed-paging{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  padding:10px 0 2px;
}

.feed-page-status{
  min-width:62px;
  padding:7px 10px;
  text-align:center;
  border:1px solid var(--line);
  border-radius:10px;
  color:var(--text2);
  background:var(--panel);
  font-size:11px;
  font-weight:800;
}

@media(max-width:680px){
  .ai-header{
    align-items:flex-start;
    flex-direction:column;
    gap:6px;
  }

  .ai-time{
    white-space:normal;
  }

  .ai-title{
    font-size:15px;
  }

  .ai-preview{
    font-size:12px;
  }

  .ai-actions{
    flex-wrap:wrap;
  }

  .ai-btn.ai-open{
    margin-left:0;
  }

  .cmt-write{
    align-items:stretch;
  }

  .cmt-write button{
    padding:0 12px;
  }
}

/* ==============================================================
   INLINE POST VIEWER
   게시글 클릭 시 post.php 이동 없이 현재 페이지에서 바로 열기
   ============================================================== */

body.post-viewer-open{
  overflow:hidden;
}

.post-viewer-overlay{
  position:fixed;
  inset:0;
  z-index:99990;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(2,6,14,.78);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.post-viewer-overlay.show{
  display:flex;
}

.post-viewer-shell{
  position:relative;
  width:min(940px,96vw);
  max-height:min(860px,92vh);
  overflow:auto;
  border:1px solid var(--line);
  border-radius:24px;
  background:
    linear-gradient(180deg,rgba(19,27,46,.99),rgba(8,13,24,.99));
  box-shadow:0 30px 90px rgba(0,0,0,.55);
}

body.light .post-viewer-shell{
  background:#fff;
}

.post-viewer-close{
  position:sticky;
  top:14px;
  z-index:5;
  float:right;
  width:40px;
  height:40px;
  margin:14px 14px -54px 0;
  border:1px solid var(--line);
  border-radius:50%;
  background:rgba(20,28,45,.92);
  color:#fff;
  font-size:25px;
  line-height:1;
  cursor:pointer;
}

body.light .post-viewer-close{
  background:#f2f4f8;
  color:#222;
}

#post-viewer-content{
  clear:both;
}

.pv-post{
  padding:30px 32px 22px;
}

.pv-topline{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:10px;
}

.pv-category,
.pv-id{
  display:inline-flex;
  align-items:center;
  padding:5px 9px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--panel-2);
  color:var(--text3);
  font-size:11px;
  font-weight:850;
}

.pv-category{
  border-color:rgba(124,108,255,.35);
  color:#aaa2ff;
  background:rgba(124,108,255,.10);
}

.pv-title{
  margin:0;
  padding-right:52px;
  color:var(--text);
  font-size:25px;
  line-height:1.42;
  letter-spacing:-.035em;
  overflow-wrap:anywhere;
}

.pv-meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px 14px;
  margin-top:12px;
  color:var(--text3);
  font-size:12px;
}

.pv-meta b{
  color:var(--text2);
}

.pv-body{
  min-height:170px;
  margin-top:24px;
  padding:24px 0;
  border-top:1px solid var(--line-soft);
  color:var(--text);
  font-size:15px;
  line-height:1.9;
  overflow-wrap:anywhere;
}

.pv-muted{
  color:var(--text3);
}

.pv-actions{
  display:flex;
  align-items:center;
  gap:8px;
  padding-top:16px;
  border-top:1px solid var(--line-soft);
}

.pv-like,
.pv-delete,
.pv-login-required{
  min-height:40px;
  padding:9px 14px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--panel-2);
  color:var(--text2);
  font-weight:850;
  cursor:pointer;
}

.pv-like:hover{
  border-color:rgba(124,108,255,.55);
  background:rgba(124,108,255,.12);
  color:var(--text);
}

.pv-delete{
  margin-left:auto;
  border-color:rgba(255,95,114,.25);
  color:#ff8695;
  background:rgba(255,95,114,.06);
}

.pv-comments{
  border-top:1px solid var(--line);
  padding:22px 32px 30px;
  background:rgba(0,0,0,.08);
}

.pv-comments-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:12px;
}

.pv-comments h3{
  margin:0;
  color:var(--text);
  font-size:16px;
}

.pv-comments h3 span{
  color:#aaa2ff;
}

.pv-comment-list{
  display:grid;
  gap:9px;
}

.pv-comment{
  padding:13px 14px;
  border:1px solid var(--line-soft);
  border-radius:12px;
  background:var(--panel);
}

.pv-comment-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-bottom:7px;
}

.pv-comment-head b{
  color:var(--text);
  font-size:12px;
}

.pv-comment-head span{
  color:var(--text3);
  font-size:10px;
}

.pv-comment-body{
  color:var(--text2);
  font-size:13px;
  line-height:1.65;
  overflow-wrap:anywhere;
}

.pv-empty{
  padding:24px;
  text-align:center;
  border:1px dashed var(--line);
  border-radius:12px;
  color:var(--text3);
}

.pv-comment-write{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  margin-top:14px;
}

.pv-comment-write textarea{
  width:100%;
  min-height:76px;
  resize:vertical;
  padding:12px 13px;
  border:1px solid var(--line);
  border-radius:12px;
  outline:none;
  background:var(--panel-2);
  color:var(--text);
  font:inherit;
  font-size:13px;
  line-height:1.5;
}

.pv-comment-write textarea:focus{
  border-color:rgba(124,108,255,.72);
  box-shadow:0 0 0 3px rgba(124,108,255,.10);
}

.pv-comment-write button{
  align-self:stretch;
  min-width:96px;
  border:0;
  border-radius:12px;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  color:#fff;
  font-weight:900;
  cursor:pointer;
}

.pv-comment-write button:disabled{
  opacity:.55;
  cursor:not-allowed;
}

.pv-login-required{
  display:block;
  width:100%;
  margin-top:14px;
  border-color:rgba(124,108,255,.32);
  color:#b8b2ff;
}

@media(max-width:680px){
  .post-viewer-overlay{
    padding:0;
    align-items:flex-end;
  }

  .post-viewer-shell{
    width:100vw;
    max-height:94vh;
    border-radius:20px 20px 0 0;
  }

  .pv-post{
    padding:24px 18px 18px;
  }

  .pv-comments{
    padding:18px;
  }

  .pv-title{
    padding-right:42px;
    font-size:20px;
  }

  .pv-comment-write{
    grid-template-columns:1fr;
  }

  .pv-comment-write button{
    min-height:44px;
  }
}

/* ==============================================================
   ONE-PAGE DESKTOP SIDEBARS
   최근 접속 멤버/사이트 통계 제거 + 우측 겹침 방지
   ============================================================== */
@media (min-width:1181px){
  .left-sb{
    max-height:none !important;
    overflow:visible !important;
  }

  .left-sb > .sb-card{
    margin-bottom:0 !important;
  }

  .right-sb{
    max-height:none !important;
    overflow:visible !important;
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
  }

  .right-sb > .sb-card{
    flex:0 0 auto;
    margin:0 !important;
  }

  .right-sb .sb-card-head{
    min-height:42px !important;
    padding:9px 13px !important;
    font-size:13px !important;
  }

  .right-sb .sb-card-body{
    padding:10px 12px !important;
  }

  #support-chat-messages{
    height:132px !important;
    min-height:132px !important;
    max-height:132px !important;
    overflow-y:auto !important;
  }

  #support-msg{
    height:34px !important;
    min-height:34px !important;
  }

  #sb-new-list{
    margin:0 !important;
    padding:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }

  #sb-new-list li{
    margin:0 !important;
    border-bottom:1px solid var(--line-soft);
  }

  #sb-new-list li:last-child{
    border-bottom:0;
  }

  #sb-new-list li a{
    min-height:39px !important;
    padding:7px 2px !important;
    display:flex !important;
    align-items:center !important;
    gap:7px !important;
    overflow:hidden !important;
  }

  #sb-new-list .ev-tag{
    flex:0 0 auto;
    font-size:9px !important;
    padding:3px 5px !important;
  }

  .right-sb .rate-num{
    font-size:1.45rem !important;
    line-height:1.15 !important;
  }

  .right-sb .rate-chg{
    margin-top:2px !important;
    font-size:11px !important;
  }

  .right-sb .rate-detail{
    margin-top:8px !important;
    padding-top:8px !important;
    font-size:10px !important;
  }

  .left-sb .sb-card-head{
    min-height:42px !important;
    padding:9px 13px !important;
  }

  .left-sb .sb-card-body{
    padding:10px !important;
  }

  .left-sb .side-menu{
    gap:4px !important;
  }

  .left-sb .side-menu a{
    min-height:38px !important;
    padding:7px 9px !important;
    font-size:12px !important;
  }
}

/* ==============================================================
   USD/KRW CARD FINAL FIX
   우측 사이드바/환율 카드 하단 잘림 방지
   ============================================================== */
@media (min-width:1181px){
  .right-sb{
    max-height:none !important;
    height:auto !important;
    overflow:visible !important;
  }

  .right-sb > .sb-card{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }

  .right-sb > .sb-card:last-child{
    min-height:132px !important;
    overflow:visible !important;
    margin-bottom:8px !important;
  }

  .right-sb > .sb-card:last-child .sb-card-body{
    display:block !important;
    height:auto !important;
    min-height:82px !important;
    max-height:none !important;
    overflow:visible !important;
    padding:10px 12px 14px !important;
  }

  .right-sb .rate-num{
    display:block !important;
  }

  .right-sb .rate-chg{
    display:block !important;
    min-height:16px !important;
  }

  .right-sb .rate-detail{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    height:auto !important;
    min-height:22px !important;
    max-height:none !important;
    overflow:visible !important;
    margin-top:8px !important;
    padding-top:8px !important;
  }
}

/* ==============================================================
   RANI TICKET — PRODUCT-FIRST HOME / 20260823-ticketshop11
   올티켓의 정보 구조를 참고하되 라니티켓 고유 다크 UI로 재구성
   ============================================================== */

/* product-first header */
.ticketshop-nav{
  display:flex;
  align-items:center;
  gap:4px !important;
  margin:0 !important;
  padding:5px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(11,16,29,.62);
}
.ticketshop-nav a{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 14px !important;
  border-radius:999px;
  color:var(--text2) !important;
  font-size:12px !important;
  font-weight:800 !important;
  white-space:nowrap;
  transition:.16s ease;
}
.ticketshop-nav a:hover,
.ticketshop-nav a.on{
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  color:#fff !important;
  box-shadow:0 8px 22px rgba(92,108,255,.20);
}

/* banner: full-width home hero */
#Ad-banner-section,
#ad-banner-section.ticketshop-banner{
  width:min(1240px,calc(100% - 24px)) !important;
  max-width:1240px !important;
  margin:0 auto 18px !important;
  border-radius:22px !important;
}
.ticketshop-banner .banner-container{
  height:255px !important;
  border-radius:22px !important;
}
.ticketshop-banner .banner-slide img{
  object-fit:cover !important;
  object-position:center center !important;
}
.ticketshop-banner .banner-title{
  bottom:14px;
  padding:7px 14px;
  font-size:11px;
  background:rgba(4,7,13,.72);
}

/* HOME becomes one wide storefront; community pages keep 3-column layout */
body.home-mode .social-layout{
  display:block !important;
  max-width:1240px;
  margin:0 auto;
}
body.home-mode .left-sb,
body.home-mode .right-sb{
  display:none !important;
}
body.home-mode #main-content{
  width:100% !important;
  max-width:none !important;
}
body.home-mode #page-home::before,
body.home-mode #page-home::after{
  display:none !important;
}

/* intro */
.shop-intro{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(270px,.55fr);
  gap:18px;
  margin:0 0 14px;
  padding:30px 32px;
  overflow:hidden;
  border:1px solid rgba(124,108,255,.23);
  border-radius:24px;
  background:
    radial-gradient(700px 340px at 0 0,rgba(124,108,255,.18),transparent 66%),
    radial-gradient(480px 300px at 100% 0,rgba(50,217,197,.11),transparent 66%),
    linear-gradient(145deg,#11182a,#0a101c 70%);
  box-shadow:0 22px 60px rgba(0,0,0,.27);
}
body.light .shop-intro{
  background:linear-gradient(145deg,#fff,#f4f7ff);
}
.shop-kicker,
.shop-section-kicker{
  display:block;
  margin-bottom:7px;
  color:var(--accent3);
  font-size:10px;
  font-weight:950;
  letter-spacing:.16em;
}
.shop-intro h1{
  margin:0;
  color:var(--text);
  font-size:clamp(28px,3.3vw,46px);
  line-height:1.13;
  letter-spacing:-.055em;
  font-weight:650;
}
.shop-intro h1 strong{
  color:#fff;
  font-weight:950;
}
body.light .shop-intro h1 strong{color:#101522}
.shop-intro-copy>p{
  max-width:650px;
  margin:14px 0 0;
  color:var(--text2);
  font-size:14px;
  line-height:1.75;
}
.shop-intro-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:20px;
}
.shop-btn{
  min-height:46px;
  padding:0 18px;
  border-radius:12px;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
}
.shop-btn.primary{
  border:0;
  color:#fff;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  box-shadow:0 12px 28px rgba(79,100,255,.24);
}
.shop-btn.ghost{
  border:1px solid var(--line);
  color:var(--text);
  background:rgba(255,255,255,.04);
}
.shop-trust-row{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:20px;
  color:var(--text3);
  font-size:11px;
  font-weight:750;
}
.shop-rate-highlight{
  min-height:220px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  padding:20px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:19px;
  text-align:center;
  background:rgba(255,255,255,.035);
}
.rate-highlight-label{
  color:var(--text3);
  font-size:11px;
  font-weight:800;
}
.rate-highlight-number{
  margin:6px 0 0;
  color:#fff;
  font-size:66px;
  line-height:1;
  font-weight:950;
  letter-spacing:-.06em;
  text-shadow:0 0 36px rgba(124,108,255,.34);
}
body.light .rate-highlight-number{color:#111827}
.rate-highlight-number small{font-size:22px}
.rate-highlight-name{
  margin-top:7px;
  color:var(--text2);
  font-size:12px;
}
.shop-rate-highlight button{
  margin-top:16px;
  padding:9px 14px;
  border:1px solid var(--line);
  border-radius:10px;
  color:var(--text);
  background:var(--panel-2);
  font-size:11px;
  font-weight:850;
  cursor:pointer;
}

/* quick shortcuts */
.shop-quick-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:0 0 14px;
}
.shop-quick-card{
  min-width:0;
  min-height:92px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  padding:14px 15px;
  border:1px solid var(--line);
  border-radius:17px;
  text-align:left;
  color:var(--text);
  background:var(--panel);
  cursor:pointer;
  transition:.16s ease;
}
.shop-quick-card:hover{
  transform:translateY(-2px);
  border-color:rgba(124,108,255,.44);
  box-shadow:0 14px 34px rgba(0,0,0,.20);
}
.shop-quick-card.main{
  border-color:rgba(124,108,255,.38);
  background:
    linear-gradient(135deg,rgba(124,108,255,.16),rgba(79,140,255,.05)),
    var(--panel);
}
.sq-icon{
  width:42px;height:42px;
  display:grid;place-items:center;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--panel-2);
  font-size:19px;
}
.sq-copy{min-width:0;display:flex;flex-direction:column;gap:4px}
.sq-copy b{font-size:12px}
.sq-copy small{color:var(--text3);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sq-arrow{color:var(--text3);font-size:18px}

/* common storefront sections */
.shop-section,
.shop-process{
  margin:0 0 14px;
  padding:20px;
  border:1px solid var(--line);
  border-radius:20px;
  background:
    linear-gradient(180deg,rgba(20,28,46,.96),rgba(12,18,30,.96));
  box-shadow:var(--shadow-sm);
}
body.light .shop-section,
body.light .shop-process{background:#fff}
.shop-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}
.shop-section-head.simple{margin-bottom:14px}
.shop-section-head h2{
  margin:0;
  color:var(--text);
  font-size:19px;
  line-height:1.25;
  font-weight:950;
  letter-spacing:-.035em;
}
.shop-section-head p{
  margin:5px 0 0;
  color:var(--text3);
  font-size:11px;
  line-height:1.55;
}
.section-toggle{
  min-height:38px;
  padding:0 13px;
  border:1px solid rgba(124,108,255,.30);
  border-radius:10px;
  color:#c5c0ff;
  background:rgba(124,108,255,.09);
  font-size:11px;
  font-weight:900;
  cursor:pointer;
}
.rate-updated,
.live-pill{
  flex:0 0 auto;
  padding:7px 10px;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--text3);
  background:var(--panel-2);
  font-size:10px;
  font-weight:850;
}
.live-pill{color:#fff}
.live-pill i{
  display:inline-block;
  width:7px;height:7px;
  margin-left:5px;
  border-radius:50%;
  background:#ff304f;
  box-shadow:0 0 12px rgba(255,48,79,.7);
}

/* apply form */
.shop-apply-panel{
  padding:18px;
  border:1px solid var(--line-soft);
  border-radius:15px;
  background:rgba(0,0,0,.10);
}
.shop-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.shop-field{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.shop-field.full{grid-column:1/-1}
.shop-field>span{
  color:var(--text2);
  font-size:11px;
  font-weight:850;
}
.shop-field .fi,
.shop-apply-panel .fi{
  width:100%;
  min-height:44px;
  padding:9px 12px !important;
  border:1px solid var(--line) !important;
  border-radius:11px !important;
  color:var(--text) !important;
  background:var(--panel-2) !important;
}
.shop-apply-panel #pin-inputs-container{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.shop-apply-panel #pin-inputs-container input{
  flex:1 1 120px;
}
.mini-helper{
  align-self:flex-start;
  margin-top:6px;
  padding:7px 10px;
  border:1px solid var(--line);
  border-radius:9px;
  color:var(--text2);
  background:var(--panel-2);
  font-size:10px;
  font-weight:750;
  cursor:pointer;
}
.shop-calc{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:14px;
}
.shop-calc>div{
  padding:12px;
  border:1px solid var(--line-soft);
  border-radius:12px;
  background:var(--panel-2);
}
.shop-calc span{color:var(--text3);font-size:10px}
.shop-calc b,.shop-calc strong{
  display:block;
  margin-top:5px;
  color:var(--text);
  font-size:15px;
}
.shop-calc strong{color:#38d996}
.shop-submit{
  width:100%;
  min-height:48px;
  margin-top:12px;
  border:0;
  border-radius:12px;
  color:#fff;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  font-size:13px;
  font-weight:950;
  cursor:pointer;
}
.shop-login-required{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:20px;
  border:1px dashed var(--line);
  border-radius:13px;
  color:var(--text2);
}
.shop-login-required button{
  min-height:40px;
  padding:0 16px;
  border:0;
  border-radius:10px;
  color:#fff;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  font-weight:900;
  cursor:pointer;
}

/* rate cards */
.shop-rate-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.shop-rate-card{
  position:relative;
  padding:17px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--panel-2);
}
.shop-rate-card.best{
  border-color:rgba(124,108,255,.52);
  background:
    radial-gradient(220px 120px at 100% 0,rgba(124,108,255,.16),transparent 70%),
    var(--panel-2);
}
.rate-badge{
  position:absolute;
  top:10px;right:10px;
  padding:4px 7px;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  font-size:8px;
  font-weight:950;
}
.rate-icon{
  width:40px;height:40px;
  display:grid;place-items:center;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--panel);
  font-size:18px;
}
.shop-rate-card h3{
  margin:12px 0 3px;
  color:var(--text);
  font-size:12px;
}
.shop-rate-card p{
  margin:0;
  color:var(--text3);
  font-size:10px;
}
.shop-rate-card strong{
  display:block;
  margin-top:14px;
  color:#fff;
  font-size:29px;
  line-height:1;
  letter-spacing:-.04em;
}
body.light .shop-rate-card strong{color:#111827}
.shop-rate-card strong small{font-size:13px}
.shop-rate-card button{
  width:100%;
  min-height:34px;
  margin-top:13px;
  border:1px solid var(--line);
  border-radius:9px;
  color:var(--text2);
  background:var(--panel);
  font-size:10px;
  font-weight:850;
  cursor:pointer;
}

/* exchange */
.shop-exchange-list{
  overflow:hidden;
  border:1px solid var(--line-soft);
  border-radius:13px;
}
.shop-exchange-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 150px 90px;
  align-items:center;
  gap:12px;
  min-height:58px;
  padding:9px 13px;
  border-bottom:1px solid var(--line-soft);
}
.shop-exchange-row:last-child{border-bottom:0}
.exchange-user{
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
}
.exchange-avatar{
  width:32px;height:32px;
  display:grid;place-items:center;
  flex:0 0 auto;
  border-radius:50%;
  color:#38d996;
  background:rgba(56,217,150,.10);
  border:1px solid rgba(56,217,150,.18);
  font-weight:950;
}
.exchange-user>span:last-child{min-width:0}
.exchange-user b{
  display:block;
  color:var(--text);
  font-size:11px;
}
.exchange-user small{
  display:block;
  margin-top:3px;
  color:var(--text3);
  font-size:9px;
}
.exchange-amount{
  color:var(--text2);
  font-size:11px;
  font-weight:800;
  text-align:right;
}
.exchange-status{
  justify-self:end;
  padding:6px 9px;
  border-radius:999px;
  color:#52e6a8;
  background:rgba(56,217,150,.10);
  font-size:9px;
  font-weight:900;
}

/* process */
.process-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.process-grid>div{
  min-height:128px;
  padding:15px;
  border:1px solid var(--line-soft);
  border-radius:14px;
  background:var(--panel-2);
}
.process-grid span{
  color:var(--accent3);
  font-size:10px;
  font-weight:950;
  letter-spacing:.10em;
}
.process-grid b{
  display:block;
  margin-top:13px;
  color:var(--text);
  font-size:12px;
}
.process-grid p{
  margin:7px 0 0;
  color:var(--text3);
  font-size:10px;
  line-height:1.6;
}

/* bottom notice / support */
.shop-bottom-grid{
  display:grid;
  grid-template-columns:1.3fr .7fr;
  gap:12px;
}
.shop-section.compact{margin:0}
.text-link{
  border:0;
  color:var(--text3);
  background:transparent;
  font-size:10px;
  cursor:pointer;
}
.home-notice-list{
  overflow:hidden;
  border:1px solid var(--line-soft);
  border-radius:12px;
}
.home-notice-item{
  width:100%;
  min-height:45px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  padding:8px 11px;
  border:0;
  border-bottom:1px solid var(--line-soft);
  color:var(--text2);
  background:transparent;
  text-align:left;
  cursor:pointer;
}
.home-notice-item:last-child{border-bottom:0}
.home-notice-item:hover{background:rgba(124,108,255,.045)}
.notice-tag{
  padding:4px 6px;
  border-radius:7px;
  color:#ffd27b;
  background:rgba(255,191,90,.08);
  font-size:9px;
  font-weight:900;
}
.notice-title{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:11px;
}
.notice-date{
  color:var(--text3);
  font-size:9px;
}
.support-cta{
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:
    radial-gradient(280px 160px at 100% 0,rgba(50,217,197,.10),transparent 65%),
    var(--panel) !important;
}
.support-cta h2{
  margin:0;
  color:var(--text);
  font-size:20px;
}
.support-cta p{
  margin:8px 0 16px;
  color:var(--text3);
  font-size:10px;
  line-height:1.6;
}
.support-cta>div{
  display:flex;
  gap:8px;
}
.support-cta button,
.support-cta a{
  flex:1;
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--line);
  border-radius:10px;
  color:var(--text);
  background:var(--panel-2);
  text-decoration:none;
  font-size:10px;
  font-weight:850;
  cursor:pointer;
}
.shop-empty{
  padding:22px 14px;
  color:var(--text3);
  text-align:center;
  font-size:11px;
}

/* footer/one-page home spacing */
body.home-mode main.wrap{
  max-width:1460px;
  padding-top:18px;
}

/* desktop: product home is intentionally sidebar-free */
@media (min-width:1181px){
  body.home-mode #ad-banner-section{
    width:min(1240px,calc(100% - 24px)) !important;
    max-width:1240px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

/* tablet */
@media (max-width:1180px){
  .ticketshop-nav a{padding:0 10px !important;font-size:11px !important}
  .shop-intro{grid-template-columns:1fr .42fr}
  .shop-quick-grid{grid-template-columns:1fr 1fr}
  .shop-rate-grid{grid-template-columns:1fr 1fr}
  .process-grid{grid-template-columns:1fr 1fr}
}

/* mobile */
@media (max-width:720px){
  .ticketshop-nav{
    width:100%;
    overflow-x:auto;
    justify-content:flex-start;
    border-radius:14px;
  }
  .ticketshop-nav a{
    flex:0 0 auto;
    min-height:34px;
    font-size:10px !important;
  }

  #ad-banner-section.ticketshop-banner{
    width:100% !important;
    margin:0 0 10px !important;
    border-radius:16px !important;
  }
  .ticketshop-banner .banner-container{
    height:150px !important;
    border-radius:16px !important;
  }

  .shop-intro{
    grid-template-columns:1fr;
    padding:22px 18px;
    border-radius:18px;
  }
  .shop-rate-highlight{
    min-height:auto;
    align-items:flex-start;
    text-align:left;
  }
  .rate-highlight-number{font-size:48px}
  .shop-quick-grid,
  .shop-rate-grid,
  .process-grid,
  .shop-bottom-grid{
    grid-template-columns:1fr;
  }
  .shop-quick-card{min-height:76px}
  .shop-section,
  .shop-process{padding:15px;border-radius:17px}
  .shop-section-head{align-items:flex-start;flex-direction:column}
  .shop-form-grid{grid-template-columns:1fr}
  .shop-field.full{grid-column:auto}
  .shop-calc{grid-template-columns:1fr}
  .shop-exchange-row{
    grid-template-columns:minmax(0,1fr) auto;
  }
  .exchange-amount{display:none}
  .shop-login-required{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* ==============================================================
   LIGHT SHOP POLISH / 20260823-lightshop12
   ============================================================== */
select,
select.fi,
#gc-type,
#gc-bank{color-scheme:light;}
select option,
select.fi option,
#gc-type option,
#gc-bank option{
  background:#fff !important;
  color:#172033 !important;
  font-weight:700 !important;
}
select option:checked,
select.fi option:checked,
#gc-type option:checked,
#gc-bank option:checked{
  background:#4f7ff5 !important;
  color:#fff !important;
}

body.light .shop-intro{
  border-color:#dbe4f2;
  background:
    radial-gradient(620px 260px at 0 0,rgba(103,92,255,.10),transparent 68%),
    radial-gradient(420px 220px at 100% 0,rgba(33,198,178,.08),transparent 70%),
    linear-gradient(145deg,#fff,#f7f9fe 72%) !important;
  box-shadow:0 18px 48px rgba(51,68,102,.10);
}
body.light .shop-rate-highlight{
  border-color:#dbe4f2;
  background:linear-gradient(145deg,#f9faff,#f0f4ff);
}
body.light .shop-quick-card,
body.light .shop-section,
body.light .shop-process{
  border-color:#dce4f1;
  background:#fff !important;
  box-shadow:0 10px 30px rgba(51,68,102,.07);
}
body.light .shop-quick-card.main{
  background:linear-gradient(135deg,#f2f0ff,#f7f9ff) !important;
  border-color:#ccc5ff;
}
body.light .shop-rate-card,
body.light .process-grid>div,
body.light .shop-apply-panel,
body.light .shop-calc>div,
body.light .home-notice-list{
  background:#f8faff !important;
  border-color:#e0e7f2 !important;
}
body.light .support-cta{
  background:radial-gradient(300px 170px at 100% 0,rgba(33,198,178,.09),transparent 68%),#fff !important;
}
body.light .shop-intro-copy>p,
body.light .shop-section-head p,
body.light .process-grid p,
body.light .support-cta p{color:#6b7690;}
body.light .ticketshop-nav{
  background:rgba(255,255,255,.90);
  border-color:#dce4f1;
  box-shadow:0 8px 24px rgba(51,68,102,.06);
}
body.light #theme-btn{
  background:#fff !important;
  border-color:#dce4f1 !important;
  color:#172033 !important;
  box-shadow:0 5px 16px rgba(51,68,102,.07);
}
body.light #site-header{
  border-bottom:1px solid #e6ebf4;
  box-shadow:0 4px 18px rgba(51,68,102,.04);
}

.shop-notice-strip{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  min-height:56px;
  margin:0 0 14px;
  padding:8px 12px 8px 15px;
  border:1px solid var(--line);
  border-radius:15px;
  background:var(--panel);
  box-shadow:var(--shadow-sm);
}
body.light .shop-notice-strip{
  background:#fff;
  border-color:#dce4f1;
  box-shadow:0 8px 24px rgba(51,68,102,.06);
}
.shop-notice-title{
  display:flex;
  align-items:center;
  gap:7px;
  color:var(--text);
  font-size:11px;
  white-space:nowrap;
}
.notice-dot{
  color:#ffb020;
  font-size:9px;
  text-shadow:0 0 9px rgba(255,176,32,.30);
}
.home-notice-inline{
  min-width:0;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  overflow:hidden;
}
.home-notice-inline .home-notice-item{
  display:none;
  min-height:38px;
  padding:6px 8px;
  border:0 !important;
  background:transparent !important;
}
.home-notice-inline .home-notice-item:first-child{display:grid;}
.home-notice-inline .notice-tag{display:none;}
.home-notice-inline .notice-title{color:var(--text2);font-size:11px;}
.shop-notice-more{
  min-height:34px;
  padding:0 11px;
  border:1px solid var(--line);
  border-radius:9px;
  color:var(--text2);
  background:var(--panel-2);
  font-size:10px;
  font-weight:850;
  cursor:pointer;
  white-space:nowrap;
}
body.light .shop-notice-more{background:#f7f9fd;border-color:#dce4f1;}
.shop-bottom-grid.single{grid-template-columns:1fr !important;}
.shop-bottom-grid.single .support-cta{min-height:170px;}

body.light .shop-field .fi,
body.light .shop-apply-panel .fi,
body.light input,
body.light textarea,
body.light select{
  background:#fff !important;
  color:#172033 !important;
  border-color:#d7e0ed !important;
}
body.light input::placeholder,
body.light textarea::placeholder{color:#9aa5b7 !important;}

@media(max-width:720px){
  .shop-notice-strip{grid-template-columns:auto minmax(0,1fr);gap:8px;}
  .shop-notice-more{display:none;}
  .home-notice-inline .notice-date{display:none;}
}

/* ==============================================================
   CLEAN ONE-PAGE WHITE / 20260823-cleanone13
   ============================================================== */

/* Home is always a clean single-column storefront */
body.home-mode{
  background:#f5f7fb !important;
  color:#172033 !important;
}
body.home-mode .social-layout{
  display:block !important;
  max-width:1280px !important;
  margin:0 auto !important;
}
body.home-mode .left-sb,
body.home-mode .right-sb{
  display:none !important;
}
body.home-mode #main-content{
  width:100% !important;
  max-width:none !important;
}
body.home-mode main.wrap{
  padding-top:14px !important;
}

/* Header */
body.home-mode #site-header{
  background:rgba(255,255,255,.97) !important;
  border-bottom:1px solid #e5eaf2 !important;
  box-shadow:0 2px 12px rgba(29,42,66,.05) !important;
}
body.home-mode .site-logo,
body.home-mode .top-user{
  color:#172033 !important;
}
body.home-mode .ticketshop-nav{
  background:#f4f6fa !important;
  border:1px solid #e1e6ef !important;
  box-shadow:none !important;
}
body.home-mode .ticketshop-nav a{
  color:#44506a !important;
  background:transparent !important;
  box-shadow:none !important;
  font-weight:800 !important;
}
body.home-mode .ticketshop-nav a.on{
  color:#1e2b46 !important;
  background:#ffffff !important;
  box-shadow:0 2px 8px rgba(29,42,66,.08) !important;
  border:1px solid #dde3ed !important;
}
body.home-mode .ticketshop-nav a:hover{
  color:#1e2b46 !important;
  background:#ffffff !important;
}

/* Banner */
body.home-mode #ad-banner-section.ticketshop-banner{
  width:min(1280px,calc(100% - 24px)) !important;
  max-width:1280px !important;
  margin:0 auto 14px !important;
}
body.home-mode .ticketshop-banner .banner-container{
  height:235px !important;
  border-radius:18px !important;
  box-shadow:0 12px 30px rgba(29,42,66,.12) !important;
}

/* Notice */
.clean-noticebar{
  min-height:48px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  margin-bottom:10px;
  padding:7px 10px 7px 12px;
  border:1px solid #e0e6ef;
  border-radius:13px;
  background:#fff;
  box-shadow:0 4px 14px rgba(29,42,66,.04);
}
.clean-notice-label{
  padding:5px 8px;
  border-radius:7px;
  background:#fff5df;
  color:#9a6500;
  font-size:10px;
  font-weight:900;
}
.clean-notice-list{
  min-width:0;
  overflow:hidden;
}
.clean-notice-item{
  width:100%;
  display:none;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  padding:5px 3px;
  border:0;
  background:transparent;
  color:#24314b;
  text-align:left;
  cursor:pointer;
}
.clean-notice-item.show{display:grid}
.clean-notice-title{
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  font-size:11px;
  font-weight:750;
}
.clean-notice-date{
  color:#8b96a9;
  font-size:10px;
}
.clean-notice-more{
  min-height:32px;
  padding:0 10px;
  border:1px solid #e0e6ef;
  border-radius:8px;
  background:#f8f9fc;
  color:#4d5a72;
  font-size:10px;
  font-weight:800;
  cursor:pointer;
}

/* Quick bar */
.clean-quickbar{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  margin-bottom:10px;
}
.clean-quickbar button{
  min-height:70px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:11px 13px;
  border:1px solid #e0e6ef;
  border-radius:13px;
  background:#fff;
  color:#172033;
  text-align:left;
  box-shadow:0 4px 14px rgba(29,42,66,.04);
  cursor:pointer;
  transition:.15s ease;
}
.clean-quickbar button:hover{
  transform:translateY(-1px);
  border-color:#cfd8e8;
  box-shadow:0 8px 18px rgba(29,42,66,.07);
}
.cq-icon{
  width:38px;height:38px;
  display:grid;place-items:center;
  flex:0 0 auto;
  border-radius:10px;
  background:#f2f5fb;
  font-size:17px;
}
.clean-quickbar b{
  display:block;
  color:#172033;
  font-size:12px;
}
.clean-quickbar small{
  display:block;
  margin-top:3px;
  color:#7c8799;
  font-size:9px;
}

/* Main grid */
.clean-main-grid{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(330px,.55fr);
  gap:10px;
  align-items:start;
}
.clean-side-stack{
  display:grid;
  gap:10px;
}
.clean-card{
  border:1px solid #e0e6ef;
  border-radius:16px;
  background:#fff;
  box-shadow:0 7px 22px rgba(29,42,66,.05);
}
.clean-apply-card{
  padding:18px;
}
.clean-card:not(.clean-apply-card){
  padding:16px;
}
.clean-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.clean-card-head.compact{
  align-items:center;
  margin-bottom:10px;
}
.clean-eyebrow{
  display:block;
  margin-bottom:4px;
  color:#5e6cff;
  font-size:9px;
  font-weight:950;
  letter-spacing:.12em;
}
.clean-card h1,
.clean-card h2{
  margin:0;
  color:#172033;
  letter-spacing:-.035em;
}
.clean-card h1{font-size:24px}
.clean-card h2{font-size:16px}
.clean-card-head p{
  margin:5px 0 0;
  color:#7a8598;
  font-size:10px;
  line-height:1.55;
}
.clean-safe,
.clean-live{
  flex:0 0 auto;
  padding:5px 8px;
  border-radius:999px;
  background:#f1f5ff;
  color:#4e5ed7;
  font-size:9px;
  font-weight:900;
}
.clean-live i{
  display:inline-block;
  width:6px;height:6px;
  margin-right:4px;
  border-radius:50%;
  background:#26c281;
}

/* Form */
.clean-form-wrap{
  display:block !important;
}
.clean-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.clean-field{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.clean-field.full{grid-column:1/-1}
.clean-field>span,
.clean-field-top>span{
  color:#36425a;
  font-size:10px;
  font-weight:900;
}
.clean-field-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.clean-mini{
  padding:4px 7px;
  border:1px solid #e0e6ef;
  border-radius:7px;
  background:#f8f9fc;
  color:#526078;
  font-size:9px;
  cursor:pointer;
}
.clean-field .fi,
.clean-form-wrap .fi,
.clean-form-wrap input,
.clean-form-wrap select{
  width:100%;
  min-height:42px;
  padding:9px 11px !important;
  border:1px solid #dce3ee !important;
  border-radius:10px !important;
  outline:none !important;
  background:#fff !important;
  color:#172033 !important;
  box-shadow:none !important;
  font-size:11px !important;
}
.clean-field .fi:focus,
.clean-form-wrap input:focus,
.clean-form-wrap select:focus{
  border-color:#7080ff !important;
  box-shadow:0 0 0 3px rgba(112,128,255,.10) !important;
}
.clean-form-wrap select,
.clean-form-wrap select option{
  color-scheme:light;
  background:#fff !important;
  color:#172033 !important;
}
.clean-form-wrap select option:checked{
  background:#4f7ff5 !important;
  color:#fff !important;
}
.clean-form-wrap #pin-inputs-container{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.clean-form-wrap #pin-inputs-container input{
  flex:1 1 130px;
}
.clean-summary{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:12px;
}
.clean-summary>div{
  padding:10px 11px;
  border:1px solid #e1e7f0;
  border-radius:10px;
  background:#f8f9fc;
}
.clean-summary span{
  display:block;
  color:#7d8899;
  font-size:9px;
}
.clean-summary b,
.clean-summary strong{
  display:block;
  margin-top:4px;
  color:#202c45;
  font-size:13px;
}
.clean-summary .accent{
  background:#f1fff8;
  border-color:#d8f3e5;
}
.clean-summary .accent strong{color:#14a66b}
.clean-submit{
  width:100%;
  min-height:44px;
  margin-top:10px;
  border:0;
  border-radius:10px;
  background:#5368f5;
  color:#fff;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}
.clean-submit:hover{background:#4459e7}
.clean-login-box{
  padding:28px 20px;
  border:1px dashed #d9e0eb;
  border-radius:12px;
  background:#fafbfe;
  text-align:center;
}
.clean-login-box b{color:#172033}
.clean-login-box p{color:#7d8899;font-size:10px}
.clean-login-box button{
  min-height:38px;padding:0 16px;border:0;border-radius:9px;background:#5368f5;color:#fff;font-weight:900;cursor:pointer;
}

/* Rates */
.clean-rate-list{
  display:grid;
  gap:7px;
}
.clean-rate-list button{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:56px;
  padding:9px 11px;
  border:1px solid #e3e8f0;
  border-radius:10px;
  background:#fbfcfe;
  text-align:left;
  cursor:pointer;
}
.clean-rate-list button:hover{
  border-color:#cfd8e8;
  background:#f7f9fd;
}
.clean-rate-list b{
  display:block;
  color:#1c2942;
  font-size:11px;
}
.clean-rate-list small{
  display:block;
  margin-top:3px;
  color:#8a95a6;
  font-size:9px;
}
.clean-rate-list strong{
  color:#4e5ed7;
  font-size:20px;
  letter-spacing:-.03em;
}

/* Live exchange */
.clean-exchange-list{
  overflow:hidden;
  border:1px solid #e5eaf1;
  border-radius:10px;
}
.clean-exchange-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:8px;
  min-height:48px;
  padding:8px 10px;
  border-bottom:1px solid #edf0f5;
}
.clean-exchange-row:last-child{border-bottom:0}
.cer-user{min-width:0}
.cer-user b{
  display:block;
  color:#233049;
  font-size:10px;
}
.cer-user small{
  display:block;
  margin-top:2px;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  color:#8a95a6;
  font-size:8px;
}
.cer-amount{
  color:#4d5a72;
  font-size:9px;
  font-weight:800;
}
.cer-status{
  padding:4px 6px;
  border-radius:999px;
  background:#eafaf2;
  color:#168a5c;
  font-size:8px;
  font-weight:900;
}

/* Bottom */
.clean-bottom-grid{
  display:grid;
  grid-template-columns:1.4fr .6fr;
  gap:10px;
  margin-top:10px;
}
.clean-process{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:7px;
}
.clean-process>div{
  min-height:82px;
  padding:10px;
  border:1px solid #e4e9f1;
  border-radius:10px;
  background:#fbfcfe;
}
.clean-process span{
  color:#5368f5;
  font-size:9px;
  font-weight:950;
}
.clean-process b{
  display:block;
  margin-top:8px;
  color:#1f2c45;
  font-size:10px;
}
.clean-process small{
  display:block;
  margin-top:3px;
  color:#8a95a6;
  font-size:8px;
}
.clean-support h2{
  margin:0;
  color:#172033;
  font-size:18px;
}
.clean-support p{
  margin:7px 0 13px;
  color:#7d8899;
  font-size:9px;
  line-height:1.55;
}
.clean-support-actions{
  display:flex;
  gap:7px;
}
.clean-support-actions button,
.clean-support-actions a{
  flex:1;
  min-height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #dfe5ee;
  border-radius:9px;
  background:#f8f9fc;
  color:#33415a;
  text-decoration:none;
  font-size:9px;
  font-weight:850;
  cursor:pointer;
}
.clean-empty{
  padding:18px 12px;
  color:#8a95a6;
  text-align:center;
  font-size:9px;
}

/* Make the rest of light mode readable, not washed out */
body.light{
  --bg:#f5f7fb !important;
  --panel:#ffffff !important;
  --panel-2:#f8f9fc !important;
  --text:#172033 !important;
  --text2:#44506a !important;
  --text3:#7d8899 !important;
  --line:#dfe5ee !important;
  --line-soft:#edf0f5 !important;
}
body.light .sb-card,
body.light .card,
body.light .modal-box{
  background:#fff !important;
  border-color:#dfe5ee !important;
  color:#172033 !important;
}
body.light .muted,
body.light .sub,
body.light .hint{color:#7d8899 !important}

/* Mobile / tablet */
@media(max-width:980px){
  .clean-main-grid{grid-template-columns:1fr}
  .clean-side-stack{grid-template-columns:1fr 1fr}
  .clean-bottom-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
  body.home-mode #ad-banner-section.ticketshop-banner{width:100% !important}
  body.home-mode .ticketshop-banner .banner-container{height:145px !important}
  .clean-quickbar{grid-template-columns:1fr 1fr}
  .clean-main-grid{grid-template-columns:1fr}
  .clean-side-stack{grid-template-columns:1fr}
  .clean-form-grid{grid-template-columns:1fr}
  .clean-field.full{grid-column:auto}
  .clean-summary{grid-template-columns:1fr}
  .clean-process{grid-template-columns:1fr 1fr}
  .clean-bottom-grid{grid-template-columns:1fr}
  .clean-noticebar{grid-template-columns:auto minmax(0,1fr)}
  .clean-notice-more{display:none}
  .clean-card h1{font-size:20px}
}

/* ==============================================================
   READABILITY + DARK MODE FIX / 20260823-readable14
   ============================================================== */

/* ---- header sizing ---- */
#site-header .header-inner{
  max-width:1460px !important;
  height:76px !important;
  margin:0 auto !important;
  padding:0 22px !important;
}
.site-logo .logo-main{
  font-size:26px !important;
  letter-spacing:-.055em !important;
}
.site-logo .logo-sub{
  font-size:11px !important;
}
.theme-switch{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:0 12px;
  border:1px solid #dbe2ec;
  border-radius:999px;
  background:#fff;
  color:#26334d;
  box-shadow:0 3px 10px rgba(29,42,66,.05);
  cursor:pointer;
  font-size:15px;
  font-weight:850;
}
.theme-switch #theme-text{
  color:inherit !important;
  font-size:12px !important;
  font-weight:850 !important;
}

/* nav: active state is subtle, not pre-pressed */
body.home-mode .ticketshop-nav{
  gap:2px !important;
  padding:4px 6px !important;
}
body.home-mode .ticketshop-nav a{
  min-height:42px !important;
  padding:0 14px !important;
  border:0 !important;
  border-radius:9px !important;
  font-size:13px !important;
}
body.home-mode .ticketshop-nav a.on{
  position:relative;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  color:#18243b !important;
}
body.home-mode .ticketshop-nav a.on::after{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  bottom:3px;
  height:2px;
  border-radius:2px;
  background:#5268f4;
}

/* ---- wider and easier to scan ---- */
body.home-mode .social-layout{
  max-width:1440px !important;
}
body.home-mode #ad-banner-section.ticketshop-banner{
  width:min(1440px,calc(100% - 28px)) !important;
  max-width:1440px !important;
}
body.home-mode .ticketshop-banner .banner-container{
  height:250px !important;
}

/* ---- typography scale ---- */
.clean-noticebar{
  min-height:54px !important;
}
.clean-notice-label{
  font-size:12px !important;
}
.clean-notice-title{
  font-size:13px !important;
}
.clean-notice-date,
.clean-notice-more{
  font-size:11px !important;
}

.clean-quickbar button{
  min-height:82px !important;
  padding:13px 15px !important;
}
.cq-icon{
  width:42px !important;
  height:42px !important;
  font-size:19px !important;
}
.clean-quickbar b{
  font-size:14px !important;
}
.clean-quickbar small{
  margin-top:4px !important;
  font-size:11px !important;
}

.clean-apply-card{
  padding:22px !important;
}
.clean-card:not(.clean-apply-card){
  padding:20px !important;
}
.clean-eyebrow{
  margin-bottom:6px !important;
  font-size:11px !important;
}
.clean-card h1{
  font-size:30px !important;
  line-height:1.2 !important;
}
.clean-card h2{
  font-size:20px !important;
}
.clean-card-head p{
  margin-top:7px !important;
  font-size:13px !important;
  line-height:1.6 !important;
}
.clean-safe,
.clean-live{
  padding:6px 9px !important;
  font-size:11px !important;
}

.clean-form-grid{
  gap:13px !important;
}
.clean-field{
  gap:8px !important;
}
.clean-field>span,
.clean-field-top>span{
  font-size:12px !important;
}
.clean-mini{
  padding:6px 9px !important;
  font-size:10px !important;
}
.clean-field .fi,
.clean-form-wrap .fi,
.clean-form-wrap input,
.clean-form-wrap select{
  min-height:50px !important;
  padding:11px 13px !important;
  border-radius:11px !important;
  font-size:13px !important;
}

.clean-summary{
  gap:10px !important;
  margin-top:15px !important;
}
.clean-summary>div{
  padding:13px 14px !important;
}
.clean-summary span{
  font-size:11px !important;
}
.clean-summary b,
.clean-summary strong{
  margin-top:5px !important;
  font-size:16px !important;
}
.clean-submit{
  min-height:50px !important;
  margin-top:13px !important;
  font-size:14px !important;
}

.clean-rate-list{
  gap:9px !important;
}
.clean-rate-list button{
  min-height:66px !important;
  padding:11px 13px !important;
}
.clean-rate-list b{
  font-size:13px !important;
}
.clean-rate-list small{
  margin-top:4px !important;
  font-size:10px !important;
}
.clean-rate-list strong{
  font-size:24px !important;
}

.clean-exchange-row{
  min-height:56px !important;
  padding:10px 12px !important;
}
.cer-user b{
  font-size:12px !important;
}
.cer-user small{
  font-size:9px !important;
}
.cer-amount{
  font-size:11px !important;
}
.cer-status{
  padding:5px 8px !important;
  font-size:9px !important;
}

.clean-process>div{
  min-height:96px !important;
  padding:12px !important;
}
.clean-process span{
  font-size:10px !important;
}
.clean-process b{
  margin-top:9px !important;
  font-size:12px !important;
}
.clean-process small{
  margin-top:4px !important;
  font-size:10px !important;
}
.clean-support h2{
  font-size:21px !important;
}
.clean-support p{
  font-size:11px !important;
}
.clean-support-actions button,
.clean-support-actions a{
  min-height:42px !important;
  font-size:11px !important;
}

/* ---- dark mode for the CLEAN home ---- */
body.dark{
  --bg:#0b1019 !important;
  --panel:#111827 !important;
  --panel-2:#172033 !important;
  --text:#f4f7fb !important;
  --text2:#c6cfdd !important;
  --text3:#8f9bad !important;
  --line:#28344a !important;
  --line-soft:#202b3d !important;
  background:#0b1019 !important;
  color:#f4f7fb !important;
}
body.dark #site-header,
body.dark.home-mode #site-header{
  background:rgba(11,16,25,.98) !important;
  border-bottom-color:#202b3d !important;
}
body.dark .site-logo,
body.dark .top-user{
  color:#f4f7fb !important;
}
body.dark .theme-switch{
  border-color:#2b3850 !important;
  background:#131c2a !important;
  color:#f4f7fb !important;
  box-shadow:none !important;
}
body.dark.home-mode .ticketshop-nav{
  background:#111827 !important;
  border-color:#28344a !important;
}
body.dark.home-mode .ticketshop-nav a{
  color:#aeb9ca !important;
}
body.dark.home-mode .ticketshop-nav a:hover,
body.dark.home-mode .ticketshop-nav a.on{
  color:#fff !important;
  background:transparent !important;
}
body.dark.home-mode .ticketshop-nav a.on::after{
  background:#7688ff !important;
}

body.dark .clean-noticebar,
body.dark .clean-quickbar button,
body.dark .clean-card{
  background:#111827 !important;
  border-color:#28344a !important;
  box-shadow:0 10px 28px rgba(0,0,0,.20) !important;
}
body.dark .clean-notice-label{
  background:#2a2112 !important;
  color:#ffd27a !important;
}
body.dark .clean-notice-item,
body.dark .clean-notice-title{
  color:#e9edf4 !important;
}
body.dark .clean-notice-date{
  color:#8290a5 !important;
}
body.dark .clean-notice-more,
body.dark .clean-mini,
body.dark .clean-support-actions button,
body.dark .clean-support-actions a{
  background:#172033 !important;
  border-color:#2b3850 !important;
  color:#dbe3ef !important;
}
body.dark .cq-icon{
  background:#172033 !important;
}
body.dark .clean-quickbar b,
body.dark .clean-card h1,
body.dark .clean-card h2,
body.dark .clean-rate-list b,
body.dark .clean-process b,
body.dark .clean-support h2{
  color:#f5f7fb !important;
}
body.dark .clean-quickbar small,
body.dark .clean-card-head p,
body.dark .clean-rate-list small,
body.dark .clean-process small,
body.dark .clean-support p{
  color:#8f9bad !important;
}
body.dark .clean-field>span,
body.dark .clean-field-top>span{
  color:#cbd4e2 !important;
}
body.dark .clean-field .fi,
body.dark .clean-form-wrap .fi,
body.dark .clean-form-wrap input,
body.dark .clean-form-wrap select{
  background:#0f1724 !important;
  border-color:#2b3850 !important;
  color:#f3f6fb !important;
}
body.dark .clean-form-wrap select option{
  background:#111827 !important;
  color:#f3f6fb !important;
}
body.dark .clean-form-wrap select option:checked{
  background:#5368f5 !important;
  color:#fff !important;
}
body.dark .clean-summary>div,
body.dark .clean-rate-list button,
body.dark .clean-process>div{
  background:#151e2d !important;
  border-color:#27344a !important;
}
body.dark .clean-summary span{
  color:#8f9bad !important;
}
body.dark .clean-summary b,
body.dark .clean-summary strong{
  color:#f3f6fb !important;
}
body.dark .clean-summary .accent{
  background:#10271e !important;
  border-color:#1d4b39 !important;
}
body.dark .clean-summary .accent strong{
  color:#53e1a4 !important;
}
body.dark .clean-rate-list button:hover{
  background:#192435 !important;
  border-color:#34435d !important;
}
body.dark .clean-rate-list strong{
  color:#8997ff !important;
}
body.dark .clean-exchange-list{
  border-color:#27344a !important;
}
body.dark .clean-exchange-row{
  border-bottom-color:#222d40 !important;
}
body.dark .cer-user b{
  color:#e9eef7 !important;
}
body.dark .cer-user small,
body.dark .cer-amount{
  color:#94a1b4 !important;
}
body.dark .cer-status{
  background:#10291f !important;
  color:#55d99e !important;
}

/* form placeholders */
body.dark input::placeholder,
body.dark textarea::placeholder{
  color:#65738a !important;
}

/* don't let generic light rules bleed into dark mode */
body.dark .shop-field .fi,
body.dark .shop-apply-panel .fi,
body.dark input,
body.dark textarea,
body.dark select{
  color:#f3f6fb !important;
}

/* responsive font safety */
@media(max-width:980px){
  .clean-card h1{font-size:27px !important}
  .clean-card h2{font-size:19px !important}
}
@media(max-width:720px){
  #site-header .header-inner{
    height:auto !important;
    min-height:70px !important;
    padding:10px 14px !important;
  }
  .site-logo .logo-main{font-size:22px !important}
  .theme-switch{min-height:36px;padding:0 10px}
  .clean-card h1{font-size:24px !important}
  .clean-card h2{font-size:18px !important}
  .clean-card-head p{font-size:12px !important}
  .clean-quickbar b{font-size:13px !important}
  .clean-quickbar small{font-size:10px !important}
}

/* ==============================================================
   UNIFIED COMMUNITY / 20260823-unified15
   전체보기·피드·프로필·글쓰기도 홈과 동일한 디자인 체계
   ============================================================== */

/* Old sidebars must never reappear on unified community pages */
body.unified-content-mode{
  background:#f5f7fb !important;
}
body.unified-content-mode .social-layout{
  display:block !important;
  max-width:1280px !important;
  margin:0 auto !important;
}
body.unified-content-mode .left-sb,
body.unified-content-mode .right-sb{
  display:none !important;
}
body.unified-content-mode #main-content{
  width:100% !important;
  max-width:none !important;
}
body.unified-content-mode main.wrap{
  padding-top:14px !important;
}
body.unified-content-mode #ad-banner-section.ticketshop-banner{
  width:min(1280px,calc(100% - 24px)) !important;
  max-width:1280px !important;
  margin:0 auto 14px !important;
}
body.unified-content-mode .ticketshop-banner .banner-container{
  height:220px !important;
  border-radius:18px !important;
}

/* Consistent white page shell */
.unified-page{
  width:100%;
}
.unified-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:12px;
  padding:20px 22px;
  border:1px solid #e0e6ef;
  border-radius:16px;
  background:#fff;
  box-shadow:0 7px 22px rgba(29,42,66,.05);
}
.unified-kicker{
  display:block;
  margin-bottom:6px;
  color:#5368f5;
  font-size:11px;
  font-weight:950;
  letter-spacing:.11em;
}
.unified-head h1{
  margin:0;
  color:#172033;
  font-size:28px;
  line-height:1.15;
  letter-spacing:-.045em;
}
.unified-head p{
  margin:7px 0 0;
  color:#738096;
  font-size:13px;
  line-height:1.6;
}
.unified-primary,
.unified-secondary{
  min-height:42px;
  padding:0 16px;
  border-radius:10px;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}
.unified-primary{
  border:1px solid #5368f5;
  background:#5368f5;
  color:#fff;
}
.unified-primary:hover{background:#455be9}
.unified-secondary{
  border:1px solid #dce3ee;
  background:#f8f9fc;
  color:#46536b;
}

.unified-card{
  overflow:hidden;
  margin-bottom:12px;
  border:1px solid #e0e6ef;
  border-radius:16px;
  background:#fff;
  box-shadow:0 7px 22px rgba(29,42,66,.05);
}
.unified-card-bar{
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:11px 16px;
  border-bottom:1px solid #e7ebf2;
}
.unified-card-bar strong{
  color:#1b2841;
  font-size:14px;
}
.unified-tab{
  min-height:32px;
  padding:0 10px;
  border:1px solid #dfe5ee;
  border-radius:8px;
  background:#f8f9fc;
  color:#536178;
  font-size:10px;
  font-weight:850;
  cursor:pointer;
}

.unified-board-actions{
  display:flex;
  align-items:center;
  gap:8px;
}
.unified-search{
  display:flex;
  align-items:center;
  overflow:hidden;
  min-width:370px;
  border:1px solid #dce3ee;
  border-radius:10px;
  background:#fff;
}
.unified-search input{
  width:100%;
  min-height:42px;
  padding:0 12px;
  border:0 !important;
  outline:0 !important;
  background:transparent !important;
  color:#1b2841 !important;
  font-size:12px !important;
}
.unified-search input::placeholder{color:#9aa5b7 !important}
.unified-search button{
  align-self:stretch;
  min-width:58px;
  border:0;
  border-left:1px solid #e2e7ef;
  background:#f7f9fc;
  color:#48566f;
  font-size:11px;
  font-weight:850;
  cursor:pointer;
}

.board-card-bar>div{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
#board-total-txt{
  color:#8490a2 !important;
  font-size:11px !important;
}

/* Board table: no old accent tab / no dark legacy card */
.clean-board-section{
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:#fff !important;
}
.clean-board-section .board-head{
  min-height:44px !important;
  display:grid !important;
  grid-template-columns:62px minmax(0,1fr) 120px 100px 70px 70px !important;
  align-items:center !important;
  padding:0 14px !important;
  border-bottom:1px solid #e4e9f1 !important;
  background:#f7f9fc !important;
  color:#69758a !important;
  font-size:11px !important;
  font-weight:850 !important;
}
.clean-board-section .board-row{
  min-height:58px !important;
  display:grid !important;
  grid-template-columns:62px minmax(0,1fr) 120px 100px 70px 70px !important;
  align-items:center !important;
  padding:0 14px !important;
  border-bottom:1px solid #edf0f5 !important;
  background:#fff !important;
  color:#33415a !important;
  font-size:12px !important;
}
.clean-board-section .board-row:last-child{border-bottom:0 !important}
.clean-board-section .board-row:hover{background:#fafbfe !important}
.clean-board-section .board-row>div:nth-child(2){
  min-width:0;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  color:#1d2a43 !important;
  font-weight:750 !important;
}

.clean-paging{
  display:flex !important;
  justify-content:center !important;
  gap:6px !important;
  padding:16px !important;
}
.clean-paging button,
.clean-paging .pg{
  min-width:36px !important;
  height:36px !important;
  border:1px solid #dce3ee !important;
  border-radius:9px !important;
  background:#fff !important;
  color:#4b5870 !important;
  font-size:11px !important;
  font-weight:850 !important;
}
.clean-paging .on,
.clean-paging button.on{
  border-color:#5368f5 !important;
  background:#5368f5 !important;
  color:#fff !important;
}

/* Activity feed */
.unified-write-trigger{
  width:100%;
  min-height:62px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
  padding:10px 14px;
  border:1px solid #e0e6ef;
  border-radius:14px;
  background:#fff;
  color:#718096;
  text-align:left;
  cursor:pointer;
  box-shadow:0 5px 18px rgba(29,42,66,.04);
}
.uw-avatar{
  width:38px;height:38px;
  display:grid;place-items:center;
  border-radius:50%;
  background:#eef1ff;
  color:#5368f5;
  font-weight:950;
}
.unified-write-trigger>b{color:#5368f5;font-size:11px}
body.unified-content-mode .feed-card{
  margin:0 !important;
  border:0 !important;
  border-bottom:1px solid #edf0f5 !important;
  border-radius:0 !important;
  background:#fff !important;
  box-shadow:none !important;
  color:#26334d !important;
}
body.unified-content-mode .feed-card:last-child{border-bottom:0 !important}

/* Profile */
.profile-clean-card{
  padding:18px;
}
body.unified-content-mode #profile-box{
  color:#26334d;
}

/* Write form */
.unified-write-card{
  padding:20px;
}
.unified-field{
  display:flex;
  flex-direction:column;
  gap:7px;
  margin-bottom:12px;
}
.unified-field>span{
  color:#37445b;
  font-size:12px;
  font-weight:900;
}
.unified-write-card .fi{
  width:100%;
  min-height:48px;
  padding:11px 13px !important;
  border:1px solid #dce3ee !important;
  border-radius:10px !important;
  background:#fff !important;
  color:#172033 !important;
  font-size:13px !important;
  outline:0 !important;
}
.unified-write-card textarea.fi{
  min-height:260px;
  resize:vertical;
}
.unified-write-card .fi:focus{
  border-color:#7080ff !important;
  box-shadow:0 0 0 3px rgba(112,128,255,.10) !important;
}
.unified-notice-check{
  margin:8px 0 14px;
  color:#556178;
  font-size:12px;
}
.unified-write-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
}

/* Dark mode: same structure, no old sidebar relapse */
body.dark.unified-content-mode{
  background:#0b1019 !important;
}
body.dark .unified-head,
body.dark .unified-card,
body.dark .unified-write-trigger{
  border-color:#28344a !important;
  background:#111827 !important;
  box-shadow:0 8px 24px rgba(0,0,0,.18) !important;
}
body.dark .unified-head h1,
body.dark .unified-card-bar strong{
  color:#f4f7fb !important;
}
body.dark .unified-head p{
  color:#8f9bad !important;
}
body.dark .unified-secondary,
body.dark .unified-tab{
  border-color:#2b3850 !important;
  background:#172033 !important;
  color:#cbd4e2 !important;
}
body.dark .unified-card-bar{
  border-bottom-color:#27344a !important;
}
body.dark .unified-search{
  border-color:#2b3850 !important;
  background:#0f1724 !important;
}
body.dark .unified-search input{
  color:#eef2f8 !important;
}
body.dark .unified-search button{
  border-left-color:#2b3850 !important;
  background:#172033 !important;
  color:#c4cedc !important;
}
body.dark .clean-board-section{
  background:#111827 !important;
}
body.dark .clean-board-section .board-head{
  border-bottom-color:#28344a !important;
  background:#151e2d !important;
  color:#8795a9 !important;
}
body.dark .clean-board-section .board-row{
  border-bottom-color:#222d40 !important;
  background:#111827 !important;
  color:#aeb9ca !important;
}
body.dark .clean-board-section .board-row:hover{
  background:#151e2d !important;
}
body.dark .clean-board-section .board-row>div:nth-child(2){
  color:#edf2f8 !important;
}
body.dark #board-total-txt{color:#8592a5 !important}
body.dark .clean-paging button,
body.dark .clean-paging .pg{
  border-color:#2b3850 !important;
  background:#151e2d !important;
  color:#bdc7d6 !important;
}
body.dark .clean-paging .on,
body.dark .clean-paging button.on{
  border-color:#6678ff !important;
  background:#6678ff !important;
  color:#fff !important;
}
body.dark .uw-avatar{
  background:#202c45 !important;
  color:#95a0ff !important;
}
body.dark .unified-write-trigger{
  color:#8f9bad !important;
}
body.dark.unified-content-mode .feed-card{
  border-bottom-color:#222d40 !important;
  background:#111827 !important;
  color:#d5dce7 !important;
}
body.dark.unified-content-mode #profile-box{
  color:#d5dce7 !important;
}
body.dark .unified-field>span{
  color:#cbd4e2 !important;
}
body.dark .unified-write-card .fi{
  border-color:#2b3850 !important;
  background:#0f1724 !important;
  color:#f2f5fa !important;
}
body.dark .unified-notice-check{
  color:#aeb9ca !important;
}

/* Tablet */
@media(max-width:900px){
  .unified-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .unified-board-actions{
    width:100%;
  }
  .unified-search{
    flex:1;
    min-width:0;
  }
  .clean-board-section{
    overflow-x:auto;
  }
  .clean-board-section .board-head,
  .clean-board-section .board-row{
    min-width:780px;
  }
}

/* Mobile community becomes card list instead of six cramped columns */
@media(max-width:640px){
  body.unified-content-mode #ad-banner-section.ticketshop-banner{
    width:100% !important;
  }
  body.unified-content-mode .ticketshop-banner .banner-container{
    height:135px !important;
  }
  .unified-head{
    padding:17px;
    border-radius:13px;
  }
  .unified-head h1{font-size:24px}
  .unified-head p{font-size:12px}
  .unified-board-actions{
    align-items:stretch;
    flex-direction:column;
  }
  .unified-primary{width:100%}
  .clean-board-section .board-head{
    display:none !important;
  }
  .clean-board-section .board-row{
    min-width:0 !important;
    min-height:0 !important;
    display:grid !important;
    grid-template-columns:auto 1fr auto !important;
    gap:7px 10px !important;
    padding:13px !important;
  }
  .clean-board-section .board-row>div:nth-child(1){grid-column:1;color:#8b96a9}
  .clean-board-section .board-row>div:nth-child(2){
    grid-column:2/-1;
    white-space:normal !important;
    font-size:13px !important;
  }
  .clean-board-section .board-row>div:nth-child(3){
    grid-column:2;
    color:#667389;
    font-size:10px;
  }
  .clean-board-section .board-row>div:nth-child(4){
    grid-column:3;
    color:#8b96a9;
    font-size:10px;
  }
  .clean-board-section .board-row>div:nth-child(5),
  .clean-board-section .board-row>div:nth-child(6){
    display:none !important;
  }
}

/* ==============================================================
   FINAL READABILITY PASS / 20260823-finalread16
   - 라이트/다크 동일한 구조감
   - 로그인 안내 박스 다크모드 수정
   - 이용방법/고객센터 글자 크기 확대
   - 전체적인 폰트 최소 크기 상향
   ============================================================== */

/* 기본 가독성 */
body.home-mode,
body.unified-content-mode{
  font-size:14px !important;
}
.clean-eyebrow,
.unified-kicker{
  font-size:12px !important;
  letter-spacing:.10em !important;
}
.clean-card h1{
  font-size:32px !important;
}
.clean-card h2,
.unified-head h1{
  font-size:22px !important;
}
.clean-card-head p,
.unified-head p{
  font-size:14px !important;
}
.clean-notice-title,
.clean-quickbar b,
.clean-rate-list b,
.cer-user b{
  font-size:14px !important;
}
.clean-quickbar small,
.clean-rate-list small,
.cer-user small,
.cer-amount,
.clean-notice-date{
  font-size:11px !important;
}

/* 로그인 안내 박스 */
.clean-login-box{
  min-height:180px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  padding:26px 24px !important;
  border:1px solid #dfe5ee !important;
  border-radius:12px !important;
  background:#f8f9fc !important;
}
.clean-login-box b{
  color:#172033 !important;
  font-size:16px !important;
}
.clean-login-box p{
  margin:8px 0 16px !important;
  color:#728096 !important;
  font-size:12px !important;
}
.clean-login-box button{
  min-height:42px !important;
  padding:0 18px !important;
  font-size:13px !important;
}

/* 다크모드 로그인 박스가 흰색으로 남는 문제 */
body.dark .clean-login-box{
  border-color:#2b3850 !important;
  background:#0f1724 !important;
}
body.dark .clean-login-box b{
  color:#f4f7fb !important;
}
body.dark .clean-login-box p{
  color:#8f9bad !important;
}

/* 이용방법: 너무 작았던 부분 전체 확대 */
.clean-bottom-grid{
  align-items:stretch !important;
}
.clean-bottom-grid > .clean-card{
  min-height:210px !important;
}
.clean-process{
  gap:10px !important;
}
.clean-process>div{
  min-height:112px !important;
  padding:16px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}
.clean-process span{
  font-size:12px !important;
  line-height:1 !important;
}
.clean-process b{
  margin-top:12px !important;
  font-size:14px !important;
  line-height:1.35 !important;
}
.clean-process small{
  margin-top:7px !important;
  font-size:11px !important;
  line-height:1.5 !important;
}

/* 고객센터도 같은 시인성 */
.clean-support{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}
.clean-support h2{
  font-size:22px !important;
}
.clean-support p{
  margin:9px 0 16px !important;
  font-size:12px !important;
  line-height:1.6 !important;
}
.clean-support-actions button,
.clean-support-actions a{
  min-height:44px !important;
  font-size:12px !important;
}

/* 폼/요약 값 조금 더 크게 */
.clean-field>span,
.clean-field-top>span{
  font-size:13px !important;
}
.clean-field .fi,
.clean-form-wrap .fi,
.clean-form-wrap input,
.clean-form-wrap select{
  font-size:14px !important;
}
.clean-summary span{
  font-size:11px !important;
}
.clean-summary b,
.clean-summary strong{
  font-size:17px !important;
}
.clean-submit{
  font-size:14px !important;
}

/* 라이트모드 대비 더 선명하게 */
body.light .clean-card,
body.light .clean-quickbar button,
body.light .clean-noticebar,
body.light .unified-head,
body.light .unified-card{
  border-color:#d8e0eb !important;
  box-shadow:0 6px 20px rgba(40,56,86,.06) !important;
}
body.light .clean-card h1,
body.light .clean-card h2,
body.light .unified-head h1{
  color:#111a2b !important;
}
body.light .clean-card-head p,
body.light .unified-head p,
body.light .clean-quickbar small,
body.light .clean-rate-list small{
  color:#66748a !important;
}
body.light .clean-rate-list button,
body.light .clean-process>div,
body.light .clean-summary>div{
  border-color:#dde4ee !important;
  background:#f9fbfd !important;
}

/* 다크모드 대비 정리 */
body.dark .clean-card,
body.dark .clean-quickbar button,
body.dark .clean-noticebar{
  border-color:#2a3650 !important;
}
body.dark .clean-card-head p,
body.dark .clean-quickbar small,
body.dark .clean-rate-list small,
body.dark .clean-process small{
  color:#9ba8ba !important;
}
body.dark .clean-process>div{
  background:#151e2d !important;
  border-color:#2a3650 !important;
}

/* 화면이 넓을 때 아래 블록이 과도하게 작아 보이지 않도록 */
@media(min-width:1180px){
  .clean-main-grid{
    grid-template-columns:minmax(0,1.55fr) minmax(350px,.55fr) !important;
  }
  .clean-bottom-grid{
    grid-template-columns:minmax(0,1.45fr) minmax(360px,.55fr) !important;
  }
}

/* 태블릿 */
@media(max-width:980px){
  .clean-process>div{
    min-height:104px !important;
  }
}

/* 모바일 */
@media(max-width:720px){
  .clean-card h1{
    font-size:26px !important;
  }
  .clean-card h2,
  .unified-head h1{
    font-size:20px !important;
  }
  .clean-card-head p,
  .unified-head p{
    font-size:13px !important;
  }
  .clean-process{
    grid-template-columns:1fr !important;
  }
  .clean-process>div{
    min-height:88px !important;
  }
  .clean-bottom-grid > .clean-card{
    min-height:0 !important;
  }
}

/* ==============================================================
   BUY APPLICATION + GAP FIX / 20260823-buy17
   ============================================================== */

/* 핵심: 기존 grid 한 행의 높이를 오른쪽 긴 열이 잡으면서
   왼쪽 아래에 생기던 큰 빈 공간을 없앰 */
.clean-main-grid-balanced{
  display:grid !important;
  grid-template-columns:minmax(0,1.55fr) minmax(350px,.55fr) !important;
  gap:12px !important;
  align-items:start !important;
}
.clean-left-stack,
.clean-side-stack{
  display:flex !important;
  flex-direction:column !important;
  gap:12px !important;
  min-width:0 !important;
}
.clean-left-stack > .clean-card,
.clean-side-stack > .clean-card{
  margin:0 !important;
}

/* 이용방법이 신청 박스 바로 밑에 붙어 보이게 */
.clean-howto-card{
  padding:20px !important;
}
.clean-howto-card .clean-card-head{
  margin-bottom:12px !important;
}
.clean-howto-card .clean-process{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}
.clean-howto-card .clean-process>div{
  min-height:116px !important;
  padding:16px !important;
}

/* 오른쪽 고객센터가 떠 보이지 않도록 */
.clean-support-fill{
  min-height:164px !important;
  padding:20px !important;
}

/* 로그인 상태가 아닐 때 신청 영역 자체 높이를 과하게 잡지 않음 */
.clean-login-box{
  min-height:170px !important;
}

/* 상품권 매입신청 문구를 주력 액션으로 더 또렷하게 */
.clean-submit{
  background:#4f63ef !important;
  box-shadow:none !important;
}
.clean-submit:hover{
  background:#4054df !important;
}

/* 라이트 */
body.light .clean-howto-card,
body.light .clean-support-fill{
  background:#fff !important;
  border-color:#d8e0eb !important;
}

/* 다크 */
body.dark .clean-howto-card,
body.dark .clean-support-fill{
  background:#111827 !important;
  border-color:#2a3650 !important;
}

/* 푸터가 본문에서 너무 멀어 보이지 않도록 */
body.home-mode footer,
body.home-mode .site-footer{
  margin-top:26px !important;
}

/* 노트북/태블릿 */
@media(max-width:980px){
  .clean-main-grid-balanced{
    grid-template-columns:1fr !important;
  }
  .clean-left-stack,
  .clean-side-stack{
    gap:10px !important;
  }
}

/* 모바일 */
@media(max-width:720px){
  .clean-howto-card .clean-process{
    grid-template-columns:1fr 1fr !important;
  }
}
@media(max-width:480px){
  .clean-howto-card .clean-process{
    grid-template-columns:1fr !important;
  }
}

/* ==============================================================
   CATEGORY PAGINATION / 20260823-catpage18
   카테고리별 독립 페이지네이션
   ============================================================== */
.board-category-shell{
  margin-bottom:10px;
  padding:9px;
  border:1px solid #dfe5ee;
  border-radius:14px;
  background:#fff;
  box-shadow:0 5px 16px rgba(29,42,66,.04);
}
.board-category-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.board-cat-tab{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:0 11px;
  border:1px solid #dfe5ee;
  border-radius:9px;
  background:#f8f9fc;
  color:#4b5870;
  font-size:12px;
  font-weight:850;
  cursor:pointer;
  transition:.14s ease;
}
.board-cat-tab:hover{
  background:#f1f4fa;
  border-color:#cfd8e6;
}
.board-cat-tab b{
  min-width:22px;
  height:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 5px;
  border-radius:999px;
  background:#e9edf5;
  color:#647189;
  font-size:10px;
}
.board-cat-tab.on{
  border-color:#5368f5;
  background:#5368f5;
  color:#fff;
}
.board-cat-tab.on b{
  background:rgba(255,255,255,.18);
  color:#fff;
}

.board-pagination-wrap{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:12px;
  padding:14px 16px 16px;
  border-top:1px solid #edf0f5;
}
.board-page-meta{
  min-width:0;
  display:flex;
  align-items:center;
  gap:7px;
  color:#8a95a6;
  font-size:11px;
}
.board-page-meta span{
  max-width:150px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#4c5a72;
  font-weight:850;
}
.board-page-meta b{
  color:#5368f5;
  font-size:11px;
}
.board-page-meta em{
  font-style:normal;
}
.board-pagination-wrap .clean-paging{
  grid-column:2;
  padding:0 !important;
}
.clean-paging button{
  min-width:38px !important;
  height:38px !important;
  padding:0 8px !important;
  border-radius:9px !important;
  cursor:pointer;
}
.clean-paging button.edge{
  color:#68758b !important;
}
.clean-paging button:disabled{
  opacity:.34;
  cursor:not-allowed;
}
.clean-paging button.on{
  border-color:#5368f5 !important;
  background:#5368f5 !important;
  color:#fff !important;
  box-shadow:0 5px 12px rgba(83,104,245,.18);
}
.board-empty-state{
  min-height:180px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  color:#8793a5;
  text-align:center;
}
.board-empty-state b{
  color:#344159;
  font-size:14px;
}
.board-empty-state span{
  font-size:11px;
}

/* dark */
body.dark .board-category-shell{
  border-color:#28344a;
  background:#111827;
  box-shadow:0 8px 22px rgba(0,0,0,.16);
}
body.dark .board-cat-tab{
  border-color:#2b3850;
  background:#172033;
  color:#b8c2d1;
}
body.dark .board-cat-tab:hover{
  background:#1b2638;
  border-color:#3b4a65;
}
body.dark .board-cat-tab b{
  background:#233047;
  color:#9eabbd;
}
body.dark .board-cat-tab.on{
  border-color:#6678ff;
  background:#6678ff;
  color:#fff;
}
body.dark .board-pagination-wrap{
  border-top-color:#222d40;
}
body.dark .board-page-meta{
  color:#8290a5;
}
body.dark .board-page-meta span{
  color:#c5cfdd;
}
body.dark .board-page-meta b{
  color:#8c99ff;
}
body.dark .board-empty-state b{
  color:#dbe2ec;
}
body.dark .board-empty-state span{
  color:#8996a9;
}

@media(max-width:720px){
  .board-category-shell{
    padding:8px;
    overflow-x:auto;
  }
  .board-category-tabs{
    flex-wrap:nowrap;
    width:max-content;
    min-width:100%;
  }
  .board-cat-tab{
    flex:0 0 auto;
  }
  .board-pagination-wrap{
    grid-template-columns:1fr;
    justify-items:center;
    padding:12px;
  }
  .board-page-meta{
    justify-content:center;
    flex-wrap:wrap;
  }
  .board-pagination-wrap .clean-paging{
    grid-column:auto;
  }
  .clean-paging button{
    min-width:34px !important;
    height:34px !important;
  }
}

/* ==============================================================
   TOP CATEGORIES + INQUIRY + BROWSER/IMAGE UPLOAD / 20260823-topcat19
   ============================================================== */

/* Chrome / Edge / modern browser consistency */
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scroll-behavior:smooth;
}
body{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
button,input,select,textarea{
  font:inherit;
}
button,
a,
input,
select,
textarea{
  -webkit-tap-highlight-color:transparent;
}
select{
  -webkit-appearance:auto;
  appearance:auto;
}
img{
  max-width:100%;
}

/* Product categories under the header */
.top-product-categories{
  display:none;
  position:relative;
  z-index:40;
  border-bottom:1px solid var(--line);
  background:var(--panel);
}
body.home-mode .top-product-categories{
  display:block;
}
.top-product-categories-inner{
  width:min(1440px,calc(100% - 32px));
  min-height:62px;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
  align-items:center;
  margin:0 auto;
  padding:8px 0;
}
.top-product-cat{
  min-width:0;
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:7px 10px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel-2);
  color:var(--text2);
  cursor:pointer;
  transition:border-color .15s ease,background .15s ease,transform .15s ease;
}
.top-product-cat:hover{
  transform:translateY(-1px);
  border-color:#9aa8ff;
}
.top-product-cat span{
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  font-size:12px;
  font-weight:900;
}
.top-product-cat small{
  flex:0 0 auto;
  color:var(--text3);
  font-size:10px;
  font-weight:800;
}
.top-product-cat.on{
  border-color:#5368f5;
  background:#eef1ff;
  color:#3347d7;
}
.top-product-cat.on small{
  color:#5368f5;
}
.top-product-cat.inquiry{
  border-color:#bcebd8;
  background:#effcf6;
  color:#157b55;
}
body.dark .top-product-categories{
  background:#0e1521;
  border-bottom-color:#222e42;
}
body.dark .top-product-cat{
  border-color:#29364d;
  background:#141e2d;
  color:#c6cfdd;
}
body.dark .top-product-cat small{
  color:#8794a7;
}
body.dark .top-product-cat.on{
  border-color:#6678ff;
  background:#202b49;
  color:#fff;
}
body.dark .top-product-cat.on small{
  color:#a8b2ff;
}
body.dark .top-product-cat.inquiry{
  border-color:#245843;
  background:#12281f;
  color:#74e0b2;
}

/* Always-visible real-time inquiry tab */
.realtime-inquiry-tab{
  position:fixed;
  right:20px;
  bottom:22px;
  z-index:800;
  min-width:170px;
  min-height:54px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 14px 8px 12px;
  border:1px solid #d7dfea;
  border-radius:16px;
  background:rgba(255,255,255,.96);
  color:#172033;
  box-shadow:0 12px 34px rgba(23,32,51,.16);
  backdrop-filter:blur(12px);
  cursor:pointer;
}
.rit-dot{
  position:absolute;
  top:8px;
  right:9px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#20c77a;
  box-shadow:0 0 0 4px rgba(32,199,122,.12);
}
.rit-icon{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#eef1ff;
  font-size:17px;
}
.rit-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.rit-copy b{
  font-size:12px;
}
.rit-copy small{
  margin-top:2px;
  color:#7c8799;
  font-size:9px;
}
body.dark .realtime-inquiry-tab{
  border-color:#2c3950;
  background:rgba(17,24,39,.96);
  color:#f5f7fb;
}
body.dark .rit-icon{
  background:#202b45;
}
body.dark .rit-copy small{
  color:#8f9bad;
}

/* Banner automatic upload */
.banner-auto-upload{
  display:grid;
  gap:8px;
}
#banner-file-input{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
}
.banner-upload-label{
  min-height:70px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:12px;
  border:1px dashed #9eabc0;
  border-radius:12px;
  background:var(--panel-2);
  color:var(--text2);
  cursor:pointer;
}
.banner-upload-label:hover{
  border-color:#6678ff;
  background:rgba(102,120,255,.06);
}
.banner-upload-label span{
  font-size:12px;
  font-weight:900;
}
.banner-upload-label small{
  color:var(--text3);
  font-size:9px;
  text-align:center;
}
.banner-upload-state{
  color:var(--text3);
  font-size:10px;
}
.banner-upload-preview{
  width:100%;
  max-height:180px;
  object-fit:cover;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel-2);
}

/* first banner gets stable dimensions = less CLS in Google/Edge */
.ticketshop-banner .banner-slide img{
  width:100%;
  height:100%;
  display:block;
}

/* Mobile */
@media(max-width:820px){
  .top-product-categories-inner{
    width:100%;
    display:flex;
    overflow-x:auto;
    gap:7px;
    padding:8px 12px;
    scrollbar-width:none;
  }
  .top-product-categories-inner::-webkit-scrollbar{display:none}
  .top-product-cat{
    flex:0 0 auto;
    min-width:132px;
  }
  .realtime-inquiry-tab{
    right:12px;
    bottom:14px;
    min-width:0;
    width:52px;
    height:52px;
    padding:0;
    justify-content:center;
    border-radius:50%;
  }
  .rit-icon{
    background:transparent;
  }
  .rit-copy{display:none}
}

/* ==============================================================
   PRODUCT TABS + BOT CHAT + LARGE TYPE / 20260823-producttabs20
   ============================================================== */

/* 전체 글자 크기 상향 */
html{font-size:16px !important}
body{font-size:15px !important;line-height:1.55 !important}
.site-logo .logo-main{font-size:29px !important}
.site-logo .logo-sub{font-size:12px !important}
.ticketshop-nav a{
  min-height:44px !important;
  padding:0 15px !important;
  font-size:14px !important;
}
.top-product-categories-inner{
  min-height:72px !important;
}
.top-product-cat{
  min-height:52px !important;
  padding:8px 13px !important;
}
.top-product-cat span{font-size:13px !important}
.top-product-cat small{font-size:11px !important}

.clean-notice-label{font-size:13px !important}
.clean-notice-title{font-size:14px !important}
.clean-notice-date,.clean-notice-more{font-size:12px !important}

.clean-quickbar b{font-size:15px !important}
.clean-quickbar small{font-size:12px !important}
.clean-card h1{font-size:34px !important}
.clean-card h2{font-size:23px !important}
.clean-card-head p{font-size:14px !important}
.clean-eyebrow{font-size:12px !important}
.clean-field>span,.clean-field-top>span{font-size:13px !important}
.clean-field .fi,.clean-form-wrap .fi,.clean-form-wrap input,.clean-form-wrap select{
  min-height:52px !important;
  font-size:14px !important;
}
.clean-summary span{font-size:12px !important}
.clean-summary b,.clean-summary strong{font-size:18px !important}
.clean-submit{min-height:52px !important;font-size:15px !important}
.clean-rate-list b{font-size:14px !important}
.clean-rate-list small{font-size:11px !important}
.clean-rate-list strong{font-size:26px !important}
.cer-user b{font-size:13px !important}
.cer-user small,.cer-amount{font-size:11px !important}
.clean-process b{font-size:15px !important}
.clean-process small{font-size:12px !important}
.clean-support h2{font-size:23px !important}
.clean-support p{font-size:13px !important}
.clean-support-actions button,.clean-support-actions a{font-size:13px !important}

/* 선택된 상품권 안내 */
.product-filter-note{
  display:flex;
  align-items:center;
  gap:10px;
  margin:-2px 0 15px;
  padding:10px 12px;
  border:1px solid #dfe5ee;
  border-radius:10px;
  background:#f8faff;
}
.product-filter-note b{
  flex:0 0 auto;
  color:#4256e8;
  font-size:13px;
}
.product-filter-note span{
  color:#68758b;
  font-size:12px;
}
body.dark .product-filter-note{
  border-color:#2b3850;
  background:#151e2d;
}
body.dark .product-filter-note b{color:#91a0ff}
body.dark .product-filter-note span{color:#9aa7ba}

/* 로고는 전체 보기 버튼이라는 느낌 */
.site-logo{cursor:pointer}
.site-logo:hover{opacity:.88}

/* 실시간 문의 플로팅 버튼: 사이트/봇 연동임을 명확히 */
.realtime-inquiry-tab{
  min-width:190px !important;
  min-height:60px !important;
  border-radius:18px !important;
}
.rit-icon{width:40px !important;height:40px !important;font-size:20px !important}
.rit-copy b{font-size:14px !important}
.rit-copy small{font-size:10px !important}

/* Telegram bot-backed inquiry drawer */
.inquiry-overlay{
  position:fixed;
  inset:0;
  z-index:10020;
  display:flex;
  align-items:stretch;
  justify-content:flex-end;
  background:rgba(10,14,22,.42);
  backdrop-filter:blur(3px);
}
.inquiry-drawer{
  width:min(440px,100%);
  height:100%;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto auto;
  background:#fff;
  border-left:1px solid #dfe5ee;
  box-shadow:-20px 0 60px rgba(25,35,55,.16);
}
.inquiry-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:22px 20px 18px;
  border-bottom:1px solid #e4e9f1;
}
.inquiry-kicker{
  display:flex;
  align-items:center;
  gap:7px;
  margin-bottom:6px;
  color:#5368f5;
  font-size:10px;
  font-weight:950;
  letter-spacing:.08em;
}
.inquiry-kicker i{
  width:7px;height:7px;border-radius:50%;background:#21c77a;
  box-shadow:0 0 0 4px rgba(33,199,122,.12);
}
.inquiry-head h3{
  margin:0;
  color:#172033;
  font-size:25px;
  letter-spacing:-.035em;
}
.inquiry-head p{
  margin:6px 0 0;
  color:#748096;
  font-size:12px;
}
.inquiry-close{
  width:38px;height:38px;
  display:grid;place-items:center;
  flex:0 0 auto;
  border:1px solid #dfe5ee;
  border-radius:10px;
  background:#f8f9fc;
  color:#4b5870;
  font-size:22px;
  cursor:pointer;
}
.inquiry-messages{
  min-height:0;
  overflow-y:auto;
  padding:16px;
  background:#f6f8fc;
}
.inquiry-empty{
  min-height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  color:#7f8b9d;
  text-align:center;
  font-size:12px;
}
.inquiry-empty b{color:#36435b;font-size:14px}
.inquiry-bubble{
  max-width:86%;
  margin:0 0 10px;
  padding:10px 12px;
  border-radius:13px;
  font-size:13px;
  line-height:1.55;
  white-space:pre-wrap;
  word-break:break-word;
}
.inquiry-bubble.user{
  margin-left:auto;
  background:#5368f5;
  color:#fff;
  border-bottom-right-radius:4px;
}
.inquiry-bubble.admin{
  margin-right:auto;
  border:1px solid #dfe5ee;
  background:#fff;
  color:#22304a;
  border-bottom-left-radius:4px;
}
.inquiry-bubble-meta{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-bottom:4px;
  font-size:10px;
  opacity:.78;
}
.inquiry-compose{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  padding:12px 14px;
  border-top:1px solid #e4e9f1;
  background:#fff;
}
.inquiry-compose textarea{
  min-height:52px;
  max-height:130px;
  resize:none;
  padding:11px 12px;
  border:1px solid #d9e1ec;
  border-radius:11px;
  outline:0;
  background:#fff;
  color:#172033;
  font-size:13px;
}
.inquiry-compose textarea:focus{
  border-color:#7080ff;
  box-shadow:0 0 0 3px rgba(112,128,255,.10);
}
.inquiry-compose button{
  min-width:72px;
  border:0;
  border-radius:11px;
  background:#5368f5;
  color:#fff;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
}
.inquiry-compose button:disabled{opacity:.55;cursor:wait}
.inquiry-footnote{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:5px;
  padding:9px 12px 12px;
  color:#8390a3;
  background:#fff;
  font-size:9px;
}

body.dark .inquiry-drawer{
  border-left-color:#2b3850;
  background:#111827;
}
body.dark .inquiry-head{
  border-bottom-color:#28344a;
}
body.dark .inquiry-head h3{color:#f4f7fb}
body.dark .inquiry-head p{color:#8f9bad}
body.dark .inquiry-close{
  border-color:#2b3850;
  background:#172033;
  color:#cbd4e2;
}
body.dark .inquiry-messages{background:#0d1420}
body.dark .inquiry-empty{color:#8f9bad}
body.dark .inquiry-empty b{color:#dce3ed}
body.dark .inquiry-bubble.admin{
  border-color:#2b3850;
  background:#172033;
  color:#e8edf5;
}
body.dark .inquiry-compose,
body.dark .inquiry-footnote{
  border-top-color:#28344a;
  background:#111827;
}
body.dark .inquiry-compose textarea{
  border-color:#2b3850;
  background:#0f1724;
  color:#f2f5fa;
}

/* customer center one-button version */
.clean-support-actions.single{
  display:block !important;
}
.clean-support-actions.single button{
  width:100% !important;
}

/* 카테고리 탭은 게시판이 아니라 상품권 탭임 */
body:not(.home-mode) .top-product-categories{display:none !important}

/* mobile */
@media(max-width:820px){
  html{font-size:15px !important}
  .top-product-cat{min-width:160px !important}
  .realtime-inquiry-tab{
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
  }
  .inquiry-drawer{
    width:100%;
  }
  .clean-card h1{font-size:28px !important}
  .clean-card h2{font-size:21px !important}
}

/* ==============================================================
   REAL PAGES + CLEAN SUPPORT / 20260823-pages21
   ============================================================== */

/* Header and typography */
body{font-size:16px !important}
.ticketshop-nav a{font-size:14px !important}
.top-product-cat{
  text-decoration:none !important;
}
.top-product-cat span{font-size:14px !important}
.top-product-cat small{font-size:11px !important}
.clean-card h1{font-size:35px !important}
.clean-card h2{font-size:24px !important}
.clean-card-head p{font-size:14px !important}
.clean-process b{font-size:15px !important}
.clean-process small{font-size:12px !important}

/* Dedicated actual pages */
.dedicated-page{
  max-width:1280px;
  margin:0 auto;
}
.dedicated-hero{
  margin-bottom:14px;
  padding:28px 30px;
  border:1px solid #dfe5ee;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 25px rgba(29,42,66,.06);
}
.dedicated-hero h1{
  margin:0;
  color:#111a2b;
  font-size:34px;
  line-height:1.15;
  letter-spacing:-.045em;
}
.dedicated-hero p{
  margin:9px 0 0;
  color:#67758b;
  font-size:14px;
}
.dedicated-rate-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.dedicated-rate-card{
  min-height:130px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:22px 24px;
  border:1px solid #dfe5ee;
  border-radius:16px;
  background:#fff;
  color:#172033;
  text-decoration:none;
  box-shadow:0 8px 22px rgba(29,42,66,.05);
  transition:.15s ease;
}
.dedicated-rate-card:hover{
  transform:translateY(-2px);
  border-color:#aeb9ff;
  box-shadow:0 12px 28px rgba(29,42,66,.09);
}
.dedicated-rate-card span{
  display:block;
  font-size:17px;
  font-weight:900;
}
.dedicated-rate-card small{
  display:block;
  margin-top:5px;
  color:#7b879a;
  font-size:12px;
}
.dedicated-rate-card strong{
  color:#5368f5;
  font-size:34px;
  letter-spacing:-.04em;
}
.dedicated-status-card{overflow:hidden}
.dedicated-status-list{padding:0}
.dedicated-status-row{
  min-height:72px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 150px 100px;
  align-items:center;
  gap:14px;
  padding:12px 18px;
  border-bottom:1px solid #edf0f5;
}
.dedicated-status-row:last-child{border-bottom:0}
.ds-user b{
  display:block;
  color:#1d2a43;
  font-size:14px;
}
.ds-user small{
  display:block;
  margin-top:3px;
  color:#8490a2;
  font-size:11px;
}
.ds-amount{
  color:#4b5870;
  font-size:13px;
  font-weight:850;
  text-align:right;
}
.ds-status{
  justify-self:end;
  padding:6px 9px;
  border-radius:999px;
  background:#eafaf2;
  color:#168a5c;
  font-size:11px;
  font-weight:900;
}

/* Dedicated support page */
.support-page-card{
  overflow:hidden;
  border:1px solid #dfe5ee;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 25px rgba(29,42,66,.06);
}
.support-page-messages{
  min-height:430px;
  max-height:560px;
  overflow-y:auto;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:20px;
  background:#f7f9fc;
}
.support-page-compose{
  display:grid;
  grid-template-columns:minmax(0,1fr) 110px;
  gap:10px;
  padding:16px;
  border-top:1px solid #e4e9f1;
}
.support-page-compose textarea{
  min-height:76px;
  resize:vertical;
  padding:13px 14px;
  border:1px solid #d9e1ec;
  border-radius:12px;
  outline:0;
  color:#172033;
  background:#fff;
  font-size:14px;
}
.support-page-compose button{
  border:0;
  border-radius:12px;
  background:#5368f5;
  color:#fff;
  font-size:14px;
  font-weight:900;
  cursor:pointer;
}

/* Fix chat bubbles: no huge empty blocks */
.inquiry-messages{
  display:flex !important;
  flex-direction:column !important;
  gap:10px !important;
  align-items:stretch !important;
}
.inquiry-bubble{
  width:auto !important;
  max-width:82% !important;
  min-height:0 !important;
  height:auto !important;
  flex:0 0 auto !important;
  display:block !important;
  padding:12px 14px !important;
  margin:0 !important;
  white-space:normal !important;
}
.inquiry-bubble.user{
  align-self:flex-end !important;
  margin-left:auto !important;
}
.inquiry-bubble.admin{
  align-self:flex-start !important;
  margin-right:auto !important;
}
.inquiry-bubble-text{
  min-height:0 !important;
  height:auto !important;
  white-space:pre-wrap !important;
  word-break:break-word !important;
  overflow-wrap:anywhere !important;
  line-height:1.55 !important;
}
.inquiry-bubble-meta{
  margin-bottom:6px !important;
}
.inquiry-kicker{
  font-size:11px !important;
}
.inquiry-head h3{
  font-size:27px !important;
}
.inquiry-head p{
  font-size:13px !important;
}
.inquiry-footnote{
  justify-content:center !important;
  font-size:10px !important;
}

/* Dark dedicated pages */
body.dark .dedicated-hero,
body.dark .dedicated-rate-card,
body.dark .support-page-card{
  border-color:#2b3850;
  background:#111827;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
}
body.dark .dedicated-hero h1,
body.dark .dedicated-rate-card span{
  color:#f4f7fb;
}
body.dark .dedicated-hero p,
body.dark .dedicated-rate-card small{
  color:#95a2b5;
}
body.dark .support-page-messages{
  background:#0d1420;
}
body.dark .support-page-compose{
  border-top-color:#28344a;
}
body.dark .support-page-compose textarea{
  border-color:#2b3850;
  color:#f2f5fa;
  background:#0f1724;
}
body.dark .dedicated-status-row{
  border-bottom-color:#222d40;
}
body.dark .ds-user b{color:#e9eef7}
body.dark .ds-user small,
body.dark .ds-amount{color:#94a1b4}

/* Product category bar only on actual product/home pages */
body:not(.home-mode) .top-product-categories{
  display:none !important;
}

/* Bigger board text as well */
.clean-board-section .board-head{
  font-size:12px !important;
}
.clean-board-section .board-row{
  min-height:64px !important;
  font-size:13px !important;
}
.unified-head h1{
  font-size:31px !important;
}
.unified-head p{
  font-size:14px !important;
}

/* Mobile */
@media(max-width:760px){
  .dedicated-rate-grid{grid-template-columns:1fr}
  .dedicated-hero{padding:21px 18px}
  .dedicated-hero h1{font-size:28px}
  .dedicated-status-row{
    grid-template-columns:minmax(0,1fr) auto;
  }
  .ds-amount{display:none}
  .support-page-compose{
    grid-template-columns:1fr;
  }
  .support-page-compose button{
    min-height:46px;
  }
  .support-page-messages{
    min-height:360px;
  }
  .inquiry-bubble{
    max-width:90% !important;
  }
}

/* ==============================================================
   PRESENCE / IP / SUPPORT CONTROL / 20260823-presence22
   ============================================================== */
.admin-presence-box{
  display:block !important;
  margin-top:14px !important;
  overflow:hidden;
}
.admin-presence-head{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
}
.admin-presence-head>div:first-child{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.admin-presence-head strong{
  font-size:15px;
}
.admin-presence-head span{
  color:var(--text3);
  font-size:10px;
}
.admin-presence-summary{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:11px 14px;
  border-bottom:1px solid var(--line);
  background:var(--panel-2);
}
.admin-presence-summary span{
  padding:6px 9px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--panel);
  color:var(--text2);
  font-size:11px;
}
.admin-presence-summary b{
  color:var(--accent);
}
.admin-presence-table-wrap{
  overflow-x:auto;
}
.admin-presence-table{
  min-width:940px;
}
.admin-presence-table td{
  vertical-align:middle !important;
  font-size:11px !important;
}
.admin-empty-cell{
  padding:28px !important;
  text-align:center !important;
  color:var(--text3) !important;
}
.presence-user{
  display:flex;
  align-items:center;
  gap:8px;
}
.presence-user>div{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.presence-user b{
  color:var(--text);
  font-size:11px;
}
.presence-user small{
  max-width:130px;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  color:var(--text3);
  font-size:9px;
}
.presence-dot{
  width:8px;height:8px;
  flex:0 0 auto;
  border-radius:50%;
}
.presence-dot.on{
  background:#22c55e;
  box-shadow:0 0 0 4px rgba(34,197,94,.12);
}
.presence-dot.off{
  background:#94a3b8;
}
.admin-presence-table code{
  padding:4px 6px;
  border-radius:6px;
  background:var(--panel-2);
  color:var(--text2);
  font-size:10px;
}
.ua-small{
  display:block;
  margin-top:2px;
  color:var(--text3);
  font-size:9px;
}
.presence-page{
  display:inline-block;
  max-width:150px;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.support-state{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:0 8px;
  border-radius:999px;
  font-size:9px;
  font-weight:900;
}
.support-state.open{
  background:#eafaf2;
  color:#15865a;
}
.support-state.closed{
  background:#fff1f2;
  color:#c93445;
}
body.dark .support-state.open{
  background:#10291f;
  color:#55d99e;
}
body.dark .support-state.closed{
  background:#32151c;
  color:#ff8998;
}
.presence-actions{
  white-space:nowrap;
}
.support-reopen-btn{
  min-height:44px;
  padding:0 13px;
  border:1px solid #5368f5;
  border-radius:10px;
  background:#eef1ff;
  color:#3f52dc;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
}
body.dark .support-reopen-btn{
  border-color:#6678ff;
  background:#202b49;
  color:#b6beff;
}
.inquiry-compose .support-reopen-btn{
  grid-column:1/-1;
  width:100%;
}
.support-page-compose .support-reopen-btn{
  grid-column:1/-1;
  width:100%;
}

/* 관리자 통계 5칸 */
.admin-stats{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
}
@media(max-width:900px){
  .admin-stats{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* ==============================================================
   SUPPORT CLOSE BUTTON / 20260823-supportclose23
   ============================================================== */
.inquiry-compose{
  grid-template-columns:minmax(0,1fr) 92px !important;
}
.inquiry-compose-buttons{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.inquiry-compose-buttons button{
  width:100%;
  min-height:38px;
  border:0;
  border-radius:10px;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}
.inquiry-send-btn{
  background:#5368f5 !important;
  color:#fff !important;
}
.inquiry-end-btn{
  background:#fff1f2 !important;
  color:#c93445 !important;
  border:1px solid #fecdd3 !important;
}
.support-page-compose{
  grid-template-columns:minmax(0,1fr) 130px !important;
}
.support-page-buttons{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.support-page-buttons button{
  flex:1;
  min-height:44px;
  border-radius:11px;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
}
.support-send-btn{
  border:0;
  background:#5368f5;
  color:#fff;
}
.support-close-btn{
  border:1px solid #fecdd3;
  background:#fff1f2;
  color:#c93445;
}
body.dark .inquiry-end-btn,
body.dark .support-close-btn{
  border-color:#5b2630 !important;
  background:#32151c !important;
  color:#ff8998 !important;
}
@media(max-width:760px){
  .inquiry-compose{
    grid-template-columns:1fr !important;
  }
  .inquiry-compose-buttons{
    flex-direction:row;
  }
  .support-page-compose{
    grid-template-columns:1fr !important;
  }
  .support-page-buttons{
    flex-direction:row;
  }
}



/* ==============================================================
   STABLE ADMIN/BANNER + PIN/EXTRACTOR FIX / 20260823-stable26
   ============================================================== */

#extractorModal{
  display:none;
}
#extractorModal.is-open{
  display:flex !important;
}

#pin-inputs-container{
  min-height:52px !important;
  display:flex !important;
  align-items:center !important;
  width:100% !important;
  gap:8px !important;
}
.giftcard-pin-input{
  flex:1 1 0 !important;
  min-width:0 !important;
  height:50px !important;
  padding:0 12px !important;
  border:1px solid var(--line) !important;
  border-radius:11px !important;
  background:var(--panel-2) !important;
  color:var(--text) !important;
  text-align:center !important;
  font-size:15px !important;
  font-weight:800 !important;
  outline:none !important;
}
.giftcard-pin-input::placeholder{
  color:var(--text3) !important;
  opacity:.75 !important;
}
.giftcard-pin-input:focus{
  border-color:#6678ff !important;
  box-shadow:0 0 0 3px rgba(102,120,255,.12) !important;
}
.giftcard-pin-sep{
  color:var(--text3) !important;
  font-weight:900 !important;
}

/* extractor */
.extractor-overlay{
  position:fixed;
  inset:0;
  z-index:10050;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(5,10,18,.75);
  backdrop-filter:blur(5px);
}
.extractor-box{
  width:min(94vw,480px);
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--panel);
  color:var(--text);
  box-shadow:0 24px 70px rgba(0,0,0,.38);
}
.extractor-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:17px 18px;
  border-bottom:1px solid var(--line);
}
.extractor-title{
  display:flex;
  align-items:center;
  gap:9px;
}
.extractor-title h3{
  margin:0;
  color:var(--text);
  font-size:19px;
}
.extractor-x{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel-2);
  color:var(--text2);
  font-size:22px;
  cursor:pointer;
}
.extractor-body{
  padding:18px;
}
.extractor-guide{
  margin-bottom:14px;
  padding:11px 12px;
  border:1px solid rgba(83,104,245,.28);
  border-left:4px solid #5368f5;
  border-radius:10px;
  background:rgba(83,104,245,.08);
  color:var(--text2);
  font-size:12px;
  line-height:1.55;
}
.extractor-label{
  display:block;
  margin:0 0 7px;
  color:var(--text2);
  font-size:12px;
  font-weight:850;
}
#extract_field{
  width:100%;
  min-height:150px;
  padding:13px 14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--panel-2);
  color:var(--text);
  caret-color:var(--text);
  resize:vertical;
  outline:none;
  font-size:14px;
  line-height:1.55;
}
#extract_field::placeholder{
  color:var(--text3);
  opacity:.8;
}
.extractor-actions{
  display:grid;
  grid-template-columns:1fr 1.35fr;
  gap:9px;
  margin-top:12px;
}
.extractor-actions button{
  min-height:46px;
  border:0;
  border-radius:11px;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
}
.extractor-clear{
  background:#ef4444;
  color:#fff;
}
.extractor-run{
  background:#5368f5;
  color:#fff;
}
.extractor-note{
  margin-top:10px;
  color:var(--text3);
  text-align:center;
  font-size:10px;
}

/* banner admin: keep it readable in both themes */
#banner-admin-box{
  overflow:hidden;
}
#banner-admin-box .banner-input{
  min-height:38px;
  border:1px solid var(--line) !important;
  background:var(--panel-2) !important;
  color:var(--text) !important;
  border-radius:9px !important;
}
.banner-admin-table{
  width:100%;
  border-collapse:collapse;
}
.banner-admin-table th,
.banner-admin-table td{
  padding:9px 8px;
  border-bottom:1px solid var(--line);
  color:var(--text2);
  vertical-align:middle;
}
.banner-admin-table th{
  color:var(--text3);
  font-size:10px;
  text-align:left;
}
.banner-upload-label{
  color:var(--text2) !important;
}
.banner-upload-state{
  color:var(--text3) !important;
}

/* Banner must keep its place if active banners exist */
.ticketshop-banner{
  width:min(1280px,calc(100% - 32px));
  margin:18px auto 16px;
}
.ticketshop-banner .banner-container{
  position:relative;
  overflow:hidden;
}
.ticketshop-banner .banner-slide{
  width:100%;
  height:100%;
}
.ticketshop-banner .banner-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

@media(max-width:620px){
  #pin-inputs-container{
    flex-wrap:wrap !important;
  }
  .giftcard-pin-input{
    flex:1 1 calc(50% - 8px) !important;
  }
  .giftcard-pin-sep{
    display:none !important;
  }
}
