:root{--accent:#D43D12;--accent-dark:#B23209;--accent-tint:#FFF1EC;--ink:#1A1A22;--ink2:#3A3A44;--muted:#55555F;--muted2:#6B6B76;
--line:#E6E6EA;--line2:#F0F0F3;--bg:#F6F6F8;--card:#FFFFFF;--blue:#1A4FB5;--blue-tint:#E6EEFF;--evt:#6B4A00;--evt-tint:#FFF2CC}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Noto Sans KR',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}
button,input,select{font-family:inherit}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* 머리 */
.top{background:var(--card);border-bottom:1px solid var(--line)}
.top .row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;padding:14px 0}
.logo{display:flex;align-items:center;gap:8px;font-size:24px;font-weight:900;letter-spacing:-.5px;color:var(--ink)}
.logo i{width:36px;height:36px;border-radius:10px;background:var(--accent);display:flex;align-items:center;justify-content:center}
.logo b{color:var(--accent)}
.search{flex:1 1 320px;display:flex;align-items:center;gap:10px;background:#F2F2F5;border-radius:12px;padding:0 16px;height:46px}
.search input{flex:1;border:0;background:transparent;font-size:15px;outline:none;min-width:0}
.nav{display:flex;gap:4px;flex-wrap:wrap}
.nav a{padding:10px 12px;font-size:14px;font-weight:500;color:var(--ink2)}
.tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs a{flex:none;padding:12px 14px;font-size:15px;font-weight:500;color:var(--muted2);border-bottom:3px solid transparent}
.tabs a.on{font-weight:700;color:var(--ink);border-bottom-color:var(--accent)}

/* 본문 */
main{padding:28px 0 48px}
h1{margin:0;font-size:28px;font-weight:900;letter-spacing:-.6px}
.lead{margin:6px 0 0;font-size:15px;color:var(--muted)}
.head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:8px 24px}
.fresh{font-size:13px;color:var(--muted2)}
.warn{margin-top:14px;padding:12px 16px;border-radius:12px;background:var(--evt-tint);color:var(--evt);font-size:14px}
.picks{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin-top:16px}
.pick{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.pick .img{height:130px;background:#EFEFF3;position:relative;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--muted2)}
.pick .img img{width:100%;height:100%;object-fit:cover}
.pick .img .badge{position:absolute;top:12px;left:12px}
.pick .body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px}
.pick .t{font-size:15px;font-weight:500;line-height:1.4;height:42px;overflow:hidden}
.price{font-size:22px;font-weight:900}
.unit{font-size:13px;color:var(--muted)}
.meta{font-size:13px;color:var(--muted)}
.badge{display:inline-block;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:700;background:#EFEFF2;color:#4A4A55}
.badge.hot{background:var(--accent);color:#fff}
.badge.pop{background:var(--blue-tint);color:var(--blue)}
.badge.evt{background:var(--evt-tint);color:var(--evt)}
.badge.end{background:#E4E4E8;color:#4A4A55}

.cols{display:flex;flex-wrap:wrap;gap:24px;margin-top:36px;align-items:flex-start}
.list{flex:999 1 560px;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:16px}
.list .bar{padding:16px 20px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #EEEEF1}
.list h2{margin:0;font-size:19px;font-weight:900}
.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.chip{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 14px;border-radius:999px;font-size:14px;font-weight:700;border:1px solid #DCDCE2;background:#fff;color:var(--ink2)}
.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
select{height:38px;border:1px solid #DCDCE2;border-radius:10px;padding:0 10px;font-size:14px;background:#fff}
.rows{list-style:none;margin:0;padding:0}
.rows li{border-bottom:1px solid var(--line2)}
.rows a.r{display:flex;align-items:center;gap:16px;padding:14px 20px}
.th{flex:none;width:64px;height:64px;border-radius:12px;background:#EFEFF3;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--muted2);overflow:hidden;text-align:center}
.th img{width:100%;height:100%;object-fit:cover}
.mid{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:5px}
.mid .top1{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;color:var(--muted2)}
.mid .name{font-size:15px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mid .name.ended{color:var(--muted2);text-decoration:line-through}
.right{flex:none;text-align:right;display:flex;flex-direction:column;gap:4px}
.right .p{font-size:18px;font-weight:900}
.more{padding:16px;display:flex;justify-content:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 24px;border-radius:12px;border:1px solid #DCDCE2;background:#fff;font-size:14px;font-weight:700;color:var(--ink2);cursor:pointer}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;height:54px;font-size:17px;font-weight:900}
.btn.primary:hover{color:#fff;background:var(--accent-dark)}
.empty{padding:48px 20px;text-align:center;color:var(--muted)}

aside{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:16px}
.box{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:12px}
.box h2{margin:0;font-size:16px;font-weight:900}
.box.tint{background:var(--accent-tint);border:0}
.kw{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}
.kw li{display:flex;gap:12px;font-size:14px}
.kw b{width:18px;color:var(--muted2)}
.kw li:nth-child(-n+3) b{color:var(--accent)}

/* 이미지 없을 때: 분류 아이콘 + 분류 색 + 쇼핑몰 이름 */
.pick .img .ph{width:100%;height:100%;display:flex}
.ph-alt:not([hidden]){display:contents}
.ph-in{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  color:var(--c);background:radial-gradient(circle at 30% 20%,#fff 0,var(--t) 70%)}
.ph-in svg{width:42%;height:42%;max-width:72px;max-height:72px;opacity:.85}
.ph-in em{font-style:normal;font-size:11px;font-weight:700;line-height:1.2;max-width:92%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pick .ph-in em{font-size:14px}.hero .ph-in em{font-size:18px}
.mini .ph-in em{font-size:10px}
.c-dig{--t:#DCE7FF;--c:#1A4FB5}.c-life{--t:#DCF1E4;--c:#1F7A4D}.c-food{--t:#FFE3D8;--c:#C2410C}
.c-fash{--t:#FBDDEB;--c:#B4236B}.c-game{--t:#E7DFFF;--c:#5B3CC4}.c-evt{--t:#FFEDB3;--c:#7A5300}.c-trip{--t:#D6F0F6;--c:#0E7490}

/* 사이드 작은 카드 */
.minis{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.minis li+li{border-top:1px solid var(--line2)}
.mini{display:flex;gap:12px;align-items:center;padding:12px 0}
.mini .th{width:60px;height:60px}
.mini .mid{gap:3px}
.name2{font-size:14px;font-weight:500;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.name2.ended{color:var(--muted2);text-decoration:line-through}
.mini .p{font-size:16px;font-weight:900}
.mini .meta{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

#newbar{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);display:none;z-index:10;box-shadow:0 6px 24px rgba(0,0,0,.18)}

/* 상세 */
.crumb{font-size:13px;color:var(--muted2);display:flex;gap:6px;flex-wrap:wrap}
.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:14px}
.hero{display:flex;flex-wrap:wrap;gap:24px}
.hero .ph{flex:1 1 240px;max-width:320px;aspect-ratio:1/1;background:#EFEFF3;border-radius:16px;display:flex;align-items:center;justify-content:center;color:var(--muted2);font-size:14px;overflow:hidden}
.hero .ph img{width:100%;height:100%;object-fit:cover}
.hero .info{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:12px}
.hero h1{font-size:26px;line-height:1.35}
.big{font-size:34px;font-weight:900}
.judge{background:var(--accent-tint);border-radius:14px;padding:16px;font-size:14px;line-height:1.55;color:var(--ink2)}
.judge strong{display:block;font-size:16px;font-weight:900;color:var(--ink);margin-bottom:4px}
.note{font-size:12px;color:var(--muted2)}
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;color:var(--muted2);font-weight:500;font-size:13px;padding:10px 8px;border-bottom:1px solid #EEEEF1}
td{padding:12px 8px;border-bottom:1px solid #F3F3F5}
.scroll{overflow-x:auto}
.src{display:flex;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:12px;background:var(--bg);font-size:14px}

footer{background:var(--card);border-top:1px solid var(--line)}
footer .wrap{padding:28px 24px;display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted2);line-height:1.6}
footer b{color:var(--ink);font-size:15px}

@media (max-width:640px){
  .wrap{padding:0 16px}
  h1{font-size:22px}
  .rows a.r{padding:12px 14px;gap:12px}
  .th{width:56px;height:56px}
  .right .p{font-size:16px}
  .nav{display:none}
  .picks{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:72%;overflow-x:auto;scrollbar-width:none;margin:16px -16px 0;padding:0 16px}
  .pick .img{height:100px}
  .price{font-size:19px}
}
