/* ============================================
   거시기 v4.0 - White + Pink Theme
   ============================================ */

/* === HEADER === */
.site-header{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;}
.hd-wrap{display:flex;align-items:center;height:70px;gap:30px;}
.logo{font-size:32px;font-weight:900;color:var(--text);letter-spacing:-2px;flex-shrink:0;}
.logo span{color:var(--pink);}
.hd-nav{display:flex;gap:28px;flex:1;}
.hd-nav a{font-size:16px;font-weight:600;color:var(--text);white-space:nowrap;}
.hd-nav a:hover{color:var(--pink);}
.hd-right{display:flex;align-items:center;gap:12px;}
.hd-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--text2);font-size:18px;transition:all .2s;}
.hd-icon:hover{color:var(--pink);background:var(--pink-lt);}
.hd-tg{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#0088cc;color:#fff;font-size:16px;}
.mob-btn{display:none;width:40px;height:40px;border:none;background:transparent;font-size:22px;color:var(--text);cursor:pointer;}

/* === TICKER === */
.ticker{background:var(--bg3);border-bottom:1px solid var(--border2);padding:8px 0;}
.ticker-in{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--text2);}
.ticker-icon{color:var(--pink);flex-shrink:0;}
.ticker marquee{flex:1;}
.ticker-stats{flex-shrink:0;font-size:12px;display:flex;gap:14px;align-items:center;}
.ticker-stats span{display:flex;align-items:center;gap:4px;color:var(--text3);}
.ticker-stats span i{color:var(--pink-lt3);font-size:11px;}
.ticker-stats b{color:var(--pink);font-weight:800;}

/* === SEARCH === */
.search-area{padding:16px 0;background:#fff;border-bottom:1px solid var(--border2);}
.search-box{display:flex;max-width:600px;margin:0 auto;border:2px solid var(--border);border-radius:30px;overflow:hidden;transition:border-color .2s;}
.search-box:focus-within{border-color:var(--pink);box-shadow:0 0 0 3px rgba(233,30,99,0.08);}
.search-box input[type="text"]{flex:1;border:none;padding:12px 20px;font-size:15px;outline:none;background:transparent;}
.search-box button{width:50px;border:none;background:var(--pink);color:#fff;cursor:pointer;font-size:16px;}
.search-box button:hover{background:var(--pink2);}

/* === FILTER NAV === */
.filter-nav{background:#fff;border-bottom:1px solid var(--border2);padding:12px 0;}
.cat-tabs{display:flex;gap:6px;margin-bottom:10px;flex-wrap:wrap;}
.ct{display:inline-flex;align-items:center;gap:5px;padding:8px 18px;border-radius:20px;font-size:14px;font-weight:600;color:var(--text2);background:var(--bg3);border:1px solid var(--border2);white-space:nowrap;transition:all .2s;}
.ct:hover,.ct.on{background:var(--pink);color:#fff;border-color:var(--pink);}
.ct i{font-size:12px;}
.rgn-tabs{display:flex;gap:6px;flex-wrap:wrap;}
.rt{padding:6px 16px;border-radius:20px;font-size:13px;font-weight:600;color:var(--text2);background:#fff;border:1px solid var(--border);transition:all .2s;}
.rt:hover,.rt.on{background:var(--pink);color:#fff;border-color:var(--pink);}

/* === SITE LAYOUT (Main + Sidebar) === */
.site-body{padding:24px 0 60px;}
.site-layout{display:grid;grid-template-columns:1fr 260px;gap:28px;}
.site-main{min-width:0;overflow:hidden;}
.site-sidebar{position:sticky;top:90px;align-self:start;}

/* === SECTION LABEL === */
.sec-label{margin-bottom:20px;}
.sl-tag{display:inline-block;padding:10px 28px;background:var(--pink);color:#fff;font-size:16px;font-weight:800;border-radius:6px;letter-spacing:1px;}
.sec-head{margin-bottom:16px;}
.sec-head h2{font-size:18px;font-weight:800;color:var(--text);}
.sec-head h2 em{font-style:normal;font-weight:400;font-size:14px;color:var(--text3);margin-left:6px;}

/* === SHOP GRID (5 columns) === */
.shop-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;}
.sc{display:block;background:#fff;border-radius:var(--r2);overflow:hidden;border:1px solid var(--border2);transition:all .3s;}
.sc:hover{transform:translateY(-4px);box-shadow:var(--shadow2);border-color:var(--pink-lt2);}
.sc-img{position:relative;overflow:hidden;background:var(--bg3);border-radius:var(--r2) var(--r2) 0 0;}
.sc-img img{width:100%;height:auto;display:block;}
.sc-noimg{display:flex;align-items:center;justify-content:center;min-height:180px;background:var(--bg3);color:var(--text4);font-size:36px;}
.sc-badge{position:absolute;top:8px;right:8px;background:rgba(0,0,0,0.6);color:#fff;font-size:11px;padding:3px 8px;border-radius:10px;}
.sc-st{position:absolute;top:8px;left:8px;padding:3px 10px;border-radius:10px;font-size:11px;font-weight:800;color:#fff;}
.sc-st.new{background:var(--pink);}
.sc-st.hot{background:var(--gold);}
.sc-body{padding:12px;}
.sc-region{font-size:12px;color:var(--text3);margin-bottom:2px;}
.sc-name{font-size:15px;font-weight:700;color:var(--text);line-height:1.3;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.sc-desc{font-size:12px;color:var(--pink);margin-bottom:4px;}
.sc-price{font-size:16px;font-weight:900;color:var(--text);}

/* === SIDEBAR WIDGETS === */
.sb-widget{background:#fff;border:1px solid var(--border2);border-radius:var(--r2);margin-bottom:16px;overflow:hidden;}
.sb-auth{padding:14px;}
.sb-login-msg{font-size:15px;font-weight:600;color:var(--text);text-align:center;margin-bottom:16px;}
.sb-auth-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px;}
.sb-btn{display:flex;align-items:center;justify-content:center;padding:12px;border-radius:var(--r);font-size:14px;font-weight:700;}
.sb-btn.login{background:var(--text);color:#fff;}
.sb-btn.login:hover{background:#333;}
.sb-btn.reg{background:#fff;color:var(--text);border:1px solid var(--border);}
.sb-btn.reg:hover{border-color:var(--pink);color:var(--pink);}
.sb-quick{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border2);border-bottom:1px solid var(--border2);}
.sb-quick a{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;font-size:11px;color:var(--text2);border-right:1px solid var(--border2);transition:color .2s;}
.sb-quick a:last-child{border-right:none;}
.sb-quick a:hover{color:var(--pink);}
.sb-quick i{font-size:20px;}
.sb-user-info{text-align:center;margin-bottom:12px;}
.sb-hello{font-size:15px;margin-bottom:4px;}
.sb-hello strong{font-weight:700;}
.sb-pts{font-size:14px;color:var(--gold);font-weight:700;}
.sb-links{display:flex;gap:8px;padding-top:12px;justify-content:center;}
.sb-links a{font-size:13px;color:var(--text3);padding:4px 12px;border:1px solid var(--border);border-radius:var(--r);}
.sb-links a:hover{color:var(--pink);border-color:var(--pink);}

.sb-head{display:flex;align-items:center;gap:6px;padding:10px 12px;border-bottom:1px solid var(--border2);font-size:14px;font-weight:700;color:var(--text);}
.sb-head i{color:var(--pink);}
.sb-cnt{font-weight:400;font-size:12px;color:var(--text3);margin-left:auto;}
.sb-more{font-size:12px;color:var(--text3);margin-left:8px;}
.sb-more:hover{color:var(--pink);}
.sb-date{font-weight:400;font-size:11px;color:var(--text3);margin-left:auto;}
.sb-body{padding:10px 12px;}
.sb-empty{font-size:13px;color:var(--text3);text-align:center;padding:16px 0;}

/* Ranking */
.sb-ranking{padding:8px 0;}
.sb-rank-item{display:flex;align-items:center;gap:10px;padding:8px 16px;font-size:13px;color:var(--text);transition:background .2s;}
.sb-rank-item:hover{background:var(--bg3);}
.sb-rnum{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:11px;font-weight:800;background:var(--bg3);color:var(--text3);}
.sb-rnum.r1{background:var(--pink);color:#fff;}
.sb-rnum.r2{background:var(--pink-lt3);color:#fff;}
.sb-rnum.r3{background:var(--pink-lt2);color:var(--pink2);}
.sb-rname{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;}

/* === SHOP DETAIL === */
.sd-crumb{font-size:13px;color:var(--text3);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border2);display:flex;align-items:center;gap:6px;flex-wrap:nowrap;overflow:hidden;}
.sd-crumb a{color:var(--text3);}
.sd-crumb a:hover{color:var(--pink);}
.sd-crumb i{font-size:8px;color:var(--text4);flex-shrink:0;}
.sd-crumb span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-weight:600;max-width:300px;display:inline-block;vertical-align:bottom;}
.sd-top{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-bottom:28px;overflow:hidden;}
.sd-gallery{border-radius:var(--r2);overflow:hidden;background:var(--bg3);}
.sd-gallery img{width:100%;height:auto;display:block;}
.sd-info{display:flex;flex-direction:column;overflow:hidden;min-width:0;}
.sd-title{font-size:26px;font-weight:900;color:var(--text);line-height:1.3;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;}
.sd-subtitle{font-size:14px;color:var(--text3);margin-bottom:12px;}
.sd-price{font-size:30px;font-weight:900;color:var(--text);margin-bottom:20px;}
.sd-tbl{width:100%;margin-bottom:20px;}
.sd-tbl th{padding:10px 0;font-size:14px;color:var(--text3);text-align:left;width:80px;border-bottom:1px solid var(--border2);font-weight:500;}
.sd-tbl td{padding:10px 12px;font-size:14px;color:var(--text);border-bottom:1px solid var(--border2);}
.sd-btns{display:flex;gap:10px;margin-top:auto;}
.sd-call{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;background:var(--text);color:#fff;border-radius:var(--r);font-size:16px;font-weight:700;transition:all .2s;}
.sd-call:hover{background:#333;}
.sd-fav{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--r);background:#fff;font-size:22px;color:var(--text3);cursor:pointer;transition:all .2s;}
.sd-fav:hover{color:var(--pink);border-color:var(--pink);}

/* Detail Tabs */
.sd-tabs{display:flex;border-bottom:2px solid var(--border);margin-bottom:24px;}
.sd-tab{padding:14px 24px;font-size:15px;font-weight:600;color:var(--text3);background:transparent;border:none;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s;}
.sd-tab.on,.sd-tab:hover{color:var(--pink);border-bottom-color:var(--pink);}
.sd-panel{display:none;}
.sd-panel.on{display:block;}
.sd-content{font-size:15px;line-height:2;color:var(--text2);}
.sd-schedule-box{margin-top:20px;background:var(--bg3);border-radius:var(--r);padding:20px;}
.sd-schedule-box h3{font-size:16px;font-weight:700;color:var(--text);margin-bottom:12px;}
.sd-schedule-box h3 i{color:var(--pink);margin-right:6px;}
.sd-schedule{font-size:15px;line-height:2.2;white-space:pre-line;}
.sd-empty{text-align:center;padding:40px;color:var(--text3);}
.sd-empty i{font-size:40px;display:block;margin-bottom:12px;}
.sd-related{margin-top:32px;padding-top:24px;border-top:1px solid var(--border2);}
.sd-related h3{font-size:18px;font-weight:800;color:var(--text);margin-bottom:16px;}
.sd-back{text-align:center;margin-top:24px;}
.sd-back a{display:inline-flex;align-items:center;gap:6px;padding:10px 24px;border:1px solid var(--border);border-radius:var(--r);font-size:14px;color:var(--text2);}
.sd-back a:hover{color:var(--pink);border-color:var(--pink);}

/* Review write */
.rv-write{display:flex;gap:8px;margin-bottom:16px;}
.rv-write textarea{flex:1;padding:12px;border:1px solid var(--border);border-radius:var(--r);font-size:14px;resize:vertical;outline:none;}
.rv-write textarea:focus{border-color:var(--pink);}
.rv-login{font-size:14px;color:var(--text3);text-align:center;padding:16px;margin-bottom:16px;}
.rv-login a{color:var(--pink);font-weight:700;}
.btn-pink{padding:12px 20px;background:var(--pink);color:#fff;border:none;border-radius:var(--r);font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap;}
.btn-pink:hover{background:var(--pink2);}

/* Inquiry */
.inquiry-box{display:flex;gap:12px;flex-wrap:wrap;padding:20px 0;}
.iq-btn{display:flex;align-items:center;gap:8px;padding:14px 24px;border-radius:var(--r);font-size:14px;font-weight:700;background:var(--text);color:#fff;}
.iq-btn:hover{opacity:.9;}
.iq-btn.kakao{background:#fee500;color:#3c1e1e;}
.iq-btn.tg{background:#0088cc;color:#fff;}

/* === BOARD TABLE === */
.brd-tbl{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--r);overflow:hidden;}
.brd-tbl thead{background:var(--bg3);}
.brd-tbl th{padding:10px 12px;font-size:13px;font-weight:600;color:var(--text2);text-align:left;border-bottom:2px solid var(--border);}
.brd-tbl td{padding:10px 12px;font-size:13px;color:var(--text);border-bottom:1px solid var(--border2);}
.brd-tbl .c-n{width:50px;text-align:center;color:var(--text3);}
.brd-tbl .c-a{width:120px;font-size:12px;white-space:nowrap;}
.brd-tbl .c-d{width:90px;font-size:12px;color:var(--text3);white-space:nowrap;}
.brd-tbl .c-v{width:50px;text-align:center;font-size:12px;color:var(--text3);}
.brd-tbl a{color:var(--text);}
.brd-tbl a:hover{color:var(--pink);}

/* === AUTH PAGES === */
.auth-page{min-height:calc(100vh - 400px);display:flex;align-items:center;justify-content:center;padding:40px 0;}
.auth-box{width:100%;max-width:440px;background:#fff;border-radius:var(--r2);border:1px solid var(--border2);box-shadow:var(--shadow);overflow:hidden;}
.auth-header{text-align:center;padding:28px 24px 12px;}
.auth-header .logo{font-size:36px;display:inline-block;}
.auth-desc{font-size:15px;color:var(--text2);font-weight:600;margin-top:4px;}
.login-tabs{display:flex;margin:0 24px 16px;border-radius:var(--r);overflow:hidden;border:1px solid var(--border);}
.login-tab{flex:1;padding:13px;font-size:14px;font-weight:700;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;background:#fff;color:var(--text3);transition:all .2s;}
.login-tab:first-child{border-right:1px solid var(--border);}
.login-tab.on{background:var(--pink);color:#fff;}
.login-tab:hover:not(.on){background:var(--bg3);}
.login-panel{animation:fadeIn .3s;}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}

.auth-form{padding:0 24px 20px;}
.af-group{margin-bottom:14px;}
.af-group label{display:block;font-size:13px;font-weight:600;color:var(--text2);margin-bottom:5px;}
.af-group label em{color:var(--pink);}
.af-group input{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:var(--r);font-size:14px;outline:none;transition:border-color .2s;}
.af-group input:focus{border-color:var(--pink);}
.af-hint{display:block;font-size:11px;margin-top:4px;}
.af-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.af-check{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text2);cursor:pointer;}
.af-check input[type="checkbox"]{accent-color:var(--pink);}
.af-link{font-size:13px;color:var(--text3);}
.af-link:hover{color:var(--pink);}
.af-agree{margin-bottom:16px;}
.af-agree a{color:var(--pink);}

.auth-btn{width:100%;padding:14px;border:none;border-radius:var(--r);font-size:15px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--text);color:#fff;transition:all .2s;}
.auth-btn:hover{background:#333;}
.auth-btn.shop{background:var(--pink);color:#fff;}
.auth-btn.shop:hover{background:var(--pink2);}
.auth-btn.reg{background:var(--pink);color:#fff;}
.auth-btn.reg:hover{background:var(--pink2);}
.auth-alert{margin:0 24px 14px;padding:11px 14px;border-radius:var(--r);font-size:13px;}
.auth-alert.error{background:#fce4ec;color:var(--pink2);border:1px solid var(--pink-lt2);}
.auth-alert.success{background:#e8f5e9;color:#2e7d32;border:1px solid #c8e6c9;}
.auth-alert i{margin-right:6px;}
.auth-footer{text-align:center;padding:14px 24px 20px;border-top:1px solid var(--border2);}
.auth-footer p{font-size:13px;color:var(--text3);}
.auth-footer a{color:var(--pink);font-weight:700;}
.shop-notice{display:flex;gap:12px;margin:0 24px 16px;padding:14px;background:var(--pink-lt);border:1px solid var(--pink-lt2);border-radius:var(--r);}
.shop-notice > i{font-size:24px;color:var(--pink);flex-shrink:0;}
.shop-notice strong{display:block;font-size:14px;color:var(--pink2);margin-bottom:2px;}
.shop-notice p{font-size:12px;color:var(--text2);line-height:1.5;margin:0;}
.shop-ft{text-align:center;}
.shop-ft p{margin-bottom:10px;font-weight:600;}
.contact-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 20px;background:#0088cc;color:#fff;border-radius:var(--r);font-size:13px;font-weight:600;}
.contact-btn:hover{opacity:.9;}

/* === MYPAGE === */
.mypage{padding:0;}
.my-header{display:flex;align-items:center;gap:20px;background:#fff;border:1px solid var(--border2);border-radius:var(--r2);padding:24px;margin-bottom:16px;}
.my-avatar{font-size:56px;color:var(--pink-lt3);}
.my-info h1{font-size:20px;font-weight:800;margin-bottom:6px;}
.my-badges{display:flex;gap:8px;align-items:center;margin-bottom:8px;}
.my-pts{font-size:14px;color:var(--gold);font-weight:700;}
.my-stats-row{display:flex;gap:20px;}
.my-stat{text-align:center;}
.my-stat b{display:block;font-size:16px;font-weight:800;color:var(--text);}
.my-stat em{font-style:normal;font-size:12px;color:var(--text3);}
.my-tabs{display:flex;gap:4px;margin-bottom:16px;}
.my-tab{padding:10px 20px;border-radius:var(--r);font-size:14px;font-weight:600;color:var(--text2);background:#fff;border:1px solid var(--border);}
.my-tab.on{background:var(--pink);color:#fff;border-color:var(--pink);}
.my-tab:hover:not(.on){border-color:var(--pink);color:var(--pink);}
.my-card{background:#fff;border:1px solid var(--border2);border-radius:var(--r2);padding:24px;}
.my-card h3{font-size:16px;font-weight:700;margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid var(--pink-lt2);}
.my-card h3 i{color:var(--pink);margin-right:6px;}
.my-tbl{width:100%;}
.my-tbl th{padding:10px 12px;font-size:13px;color:var(--text3);text-align:left;width:100px;border-bottom:1px solid var(--border2);}
.my-tbl td{padding:10px 12px;font-size:14px;border-bottom:1px solid var(--border2);}
.my-form label{display:block;font-size:13px;font-weight:600;color:var(--text2);margin-bottom:4px;margin-top:12px;}
.my-form input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--r);font-size:14px;outline:none;}
.my-form input:focus{border-color:var(--pink);}

/* === ATTENDANCE === */
.att-box{background:#fff;border:1px solid var(--border2);border-radius:var(--r2);padding:24px;text-align:center;margin-bottom:16px;}
.att-btn{display:inline-flex;align-items:center;gap:8px;padding:16px 40px;background:var(--pink);color:#fff;border:none;border-radius:30px;font-size:18px;font-weight:800;cursor:pointer;transition:all .2s;}
.att-btn:hover{background:var(--pink2);transform:scale(1.02);}
.att-btn.pulse{animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(233,30,99,0.3);}50%{box-shadow:0 0 0 12px rgba(233,30,99,0);}}
.att-btn.done{background:var(--green);pointer-events:none;}

/* === BOARD === */
.brd-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.brd-head h2{font-size:18px;font-weight:800;}
.btn-wr{display:inline-flex;align-items:center;gap:5px;padding:8px 16px;background:var(--pink);color:#fff;border-radius:var(--r);font-size:13px;font-weight:700;}
.btn-wr:hover{background:var(--pink2);}

.btn-submit{padding:10px 20px;background:var(--pink);color:#fff;border:none;border-radius:var(--r);font-size:14px;font-weight:700;cursor:pointer;}
.btn-submit:hover{background:var(--pink2);}
.btn-more{padding:12px 40px;border:1px solid var(--border);border-radius:var(--r);background:#fff;font-size:14px;font-weight:600;color:var(--text2);cursor:pointer;}
.btn-more:hover{border-color:var(--pink);color:var(--pink);}
.btn-cancel{padding:10px 20px;background:var(--bg3);color:var(--text2);border:1px solid var(--border);border-radius:var(--r);font-size:14px;cursor:pointer;}

/* Write form */
.wf{background:var(--bg3);border:1px solid var(--border2);border-radius:var(--r);padding:16px;margin-bottom:16px;}
.wf input,.wf textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--r);margin-bottom:8px;font-size:14px;outline:none;}
.wf input:focus,.wf textarea:focus{border-color:var(--pink);}
.wf-btns{display:flex;gap:6px;justify-content:flex-end;}

/* Comments */
.cm-item{padding:12px 0;border-bottom:1px solid var(--border2);}
.cm-hd{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:13px;}
.cm-dt{font-size:12px;color:var(--text3);}

/* Pagination */
.paging{display:flex;justify-content:center;gap:4px;margin-top:24px;}
.paging a,.paging span{padding:8px 14px;border-radius:var(--r);border:1px solid var(--border);font-size:13px;color:var(--text2);}
.paging .current{background:var(--pink);color:#fff;border-color:var(--pink);}

/* No data */
.no-data{text-align:center;padding:40px 20px;color:var(--text3);font-size:14px;}

/* Level badge */
.lv{font-size:12px;font-weight:700;padding:2px 10px;border-radius:12px;white-space:nowrap;}

/* === MOBILE SIDEBAR === */
.mob-ov{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.4);z-index:998;}
.mob-ov.on{display:block;}
.mob-sb{position:fixed;top:0;right:-300px;width:280px;height:100vh;background:#fff;z-index:999;transition:right .3s;overflow-y:auto;box-shadow:-4px 0 20px rgba(0,0,0,0.1);}
.mob-sb.on{right:0;}
.msb-top{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border);}
.msb-top .logo{font-size:24px;}
.msb-top button{width:36px;height:36px;border:none;background:transparent;font-size:20px;cursor:pointer;color:var(--text2);}
.msb-user{padding:16px;font-size:14px;border-bottom:1px solid var(--border2);}
.msb-pts{float:right;color:var(--gold);font-weight:700;}
.msb-auth{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:16px;border-bottom:1px solid var(--border2);}
.msb-login{padding:10px;text-align:center;background:var(--pink);color:#fff;border-radius:var(--r);font-weight:700;font-size:13px;}
.msb-reg{padding:10px;text-align:center;background:#fff;border:1px solid var(--border);border-radius:var(--r);font-weight:700;font-size:13px;}
.msb-nav{padding:8px 0;}
.msb-lbl{padding:8px 16px;font-size:12px;font-weight:700;color:var(--pink);text-transform:uppercase;}
.msb-nav a{display:flex;align-items:center;gap:10px;padding:10px 16px;font-size:14px;color:var(--text);}
.msb-nav a:hover{background:var(--bg3);color:var(--pink);}
.msb-nav a i{width:18px;text-align:center;color:var(--text3);}
.msb-foot{padding:16px;border-top:1px solid var(--border2);}
.msb-btn{display:block;text-align:center;padding:10px;background:var(--bg3);border-radius:var(--r);font-size:14px;font-weight:600;color:var(--text2);}

/* === FOOTER === */
.site-footer{background:var(--text);color:rgba(255,255,255,0.7);padding:30px 0;text-align:center;}
.ft-logo{color:#fff;font-size:28px;display:inline-block;margin-bottom:6px;}
.ft-logo span{color:var(--pink-lt3);}
.ft-in p{font-size:13px;margin-bottom:4px;}
.ft-copy{font-size:12px;color:rgba(255,255,255,0.4);margin-top:8px;}

/* === RESPONSIVE === */
@media(max-width:1100px){
    .shop-grid{grid-template-columns:repeat(4,1fr);}
    .site-layout{grid-template-columns:1fr 240px;}
}
@media(max-width:900px){
    .shop-grid{grid-template-columns:repeat(3,1fr);}
    .site-layout{grid-template-columns:1fr;}
    .site-sidebar{display:none;}
    .hd-nav{display:none;}
    .mob-btn{display:block;}
    .sd-top{grid-template-columns:1fr;}
}
@media(max-width:640px){
    .shop-grid{grid-template-columns:repeat(2,1fr);gap:10px;}
    .sd-title{font-size:22px;}
    .sd-price{font-size:24px;}
    .sd-tabs{overflow-x:auto;}
    .sd-tab{padding:12px 16px;font-size:14px;white-space:nowrap;}
    .container{padding:0 12px;}
    .hd-wrap{height:56px;gap:12px;}
    .logo{font-size:26px;}
    .sc-body{padding:10px;}
    .sc-name{font-size:14px;}
    .sc-price{font-size:14px;}
    .sec-label .sl-tag{font-size:14px;padding:8px 20px;}
}
