/* IT STORE — 프론트 스타일 */
:root{
  --c-primary:#1b64da; --c-primary-dark:#1552b8; --c-text:#1a1a1a; --c-sub:#6b7280;
  --c-line:#e5e7eb; --c-bg:#f7f8fa; --c-danger:#dc2626; --c-ok:#059669;
  --radius:8px; --wrap:1280px;
}
*{box-sizing:border-box}
body{margin:0;font:15px/1.6 -apple-system,BlinkMacSystemFont,"Malgun Gothic","맑은 고딕",sans-serif;color:var(--c-text);background:#fff}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;vertical-align:middle}
ul,ol{list-style:none;margin:0;padding:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.empty{padding:60px 20px;text-align:center;color:var(--c-sub);background:var(--c-bg);border-radius:var(--radius)}

/* 헤더 */
.hd{border-bottom:1px solid var(--c-line)}
.hd-top .wrap{display:flex;align-items:center;gap:28px;padding-top:18px;padding-bottom:18px}
.logo{font-size:26px;font-weight:800;letter-spacing:-.5px}
.logo span{color:var(--c-primary)}
.srch{flex:1;display:flex;border:2px solid var(--c-primary);border-radius:var(--radius);overflow:hidden}
.srch input{flex:1;border:0;padding:11px 14px;font-size:15px;outline:none}
.srch button{border:0;background:var(--c-primary);color:#fff;padding:0 22px;font-size:15px;cursor:pointer}
.hd-util{display:flex;gap:18px;font-size:14px;color:var(--c-sub);white-space:nowrap}
.gnb{background:var(--c-bg);border-top:1px solid var(--c-line)}
.gnb ul{display:flex;flex-wrap:wrap;gap:2px}
.gnb a{display:block;padding:12px 14px;font-size:14px;font-weight:600}
.gnb a:hover{color:var(--c-primary);text-decoration:none}

/* 알림 */
.alert{margin:16px 0;padding:12px 16px;border-radius:var(--radius);font-size:14px}
.alert-ok{background:#ecfdf5;color:var(--c-ok);border:1px solid #a7f3d0}
.alert-err{background:#fef2f2;color:var(--c-danger);border:1px solid #fecaca}

/* 히어로/섹션 */
.hero{margin:28px 0;padding:48px 40px;background:linear-gradient(120deg,#1b64da,#0f3d8a);color:#fff;border-radius:12px}
.hero h2{margin:0 0 8px;font-size:30px;letter-spacing:-.5px}
.hero p{margin:0 0 20px;opacity:.9}
.hero-btns{display:flex;gap:10px}
.sec{margin:40px 0}
.sec-tit{margin:0 0 16px;font-size:20px;font-weight:700}
.sec-tit small{margin-left:8px;font-size:14px;font-weight:400;color:var(--c-sub)}

.cate-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.cate-grid a{display:block;padding:18px 16px;border:1px solid var(--c-line);border-radius:var(--radius);transition:.15s}
.cate-grid a:hover{border-color:var(--c-primary);text-decoration:none;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.cate-grid strong{display:block;font-size:15px}
.cate-grid em{font-size:12px;color:var(--c-sub);font-style:normal}
.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.theme-grid a{display:block;padding:20px;background:var(--c-bg);border-radius:var(--radius)}
.theme-grid strong{display:block;font-size:16px;margin-bottom:4px}
.theme-grid span{font-size:13px;color:var(--c-sub)}

/* 상품 카드 */
.plist{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:20px}
.pcard a{display:block}
.pcard a:hover{text-decoration:none}
.pcard-thumb{display:block;aspect-ratio:1;background:var(--c-bg);border:1px solid var(--c-line);border-radius:var(--radius);overflow:hidden}
.pcard-thumb img{width:100%;height:100%;object-fit:contain}
.pcard-body{display:block;padding:10px 2px}
.pcard-brand{display:block;font-size:12px;color:var(--c-sub);font-style:normal}
.pcard-name{display:block;font-size:14px;font-weight:500;line-height:1.45;margin:2px 0 4px}
.pcard-sum{display:block;font-size:12px;color:var(--c-sub);margin-bottom:6px}
.pcard-price{display:block;font-size:13px;color:var(--c-sub)}
.pcard-price del{margin-right:6px}
.pcard-price b{font-size:18px;color:var(--c-text)}
.pcard-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;font-size:11px;color:var(--c-sub)}
.pcard-meta i{font-style:normal}
.tag-free{color:var(--c-ok);font-weight:600}
.tag-out{color:var(--c-danger);font-weight:600}

/* 빵부스러기 */
.crumb{display:flex;flex-wrap:wrap;gap:6px;padding:16px 0;font-size:13px;color:var(--c-sub)}

/* 카테고리 페이지 */
.cate-tit{margin:4px 0 16px;font-size:24px}
.cate-tit small{margin-left:10px;font-size:14px;font-weight:400;color:var(--c-sub)}
.subcate{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.subcate a{display:block;padding:7px 14px;border:1px solid var(--c-line);border-radius:20px;font-size:13px}
.subcate a:hover{border-color:var(--c-primary);color:var(--c-primary);text-decoration:none}
.subcate em{font-style:normal;color:var(--c-sub)}
.cate-body{display:grid;grid-template-columns:230px 1fr;gap:28px;align-items:start;padding-bottom:60px}
.filters{position:sticky;top:16px}
.fbox{padding:14px 0;border-bottom:1px solid var(--c-line)}
.fbox h4{margin:0 0 10px;font-size:14px}
.fopts{font-size:13px}
.fopts.scroll{max-height:220px;overflow-y:auto}
.fopts li{padding:3px 0}
.fopts label{display:flex;align-items:center;gap:6px;cursor:pointer}
.fopts em{font-style:normal;color:var(--c-sub);font-size:11px}
.frange{display:flex;align-items:center;gap:6px}
.frange input{width:100%;min-width:0;padding:6px 8px;border:1px solid var(--c-line);border-radius:4px;font-size:13px}
.fchk{display:flex;align-items:center;gap:6px;padding:3px 0;font-size:13px;cursor:pointer}
.fbtns{padding-top:14px;display:grid;gap:8px}
.sortbar{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:2px solid var(--c-text);margin-bottom:20px}
.sortbar .cnt{font-size:14px;color:var(--c-sub)}
.sorts{display:flex;gap:14px;font-size:13px}
.sorts a.on{color:var(--c-primary);font-weight:700}

/* 상품 상세 */
.prod-top{display:grid;grid-template-columns:440px 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid var(--c-line)}
.prod-gallery img#mainImg{width:100%;aspect-ratio:1;object-fit:contain;background:var(--c-bg);border:1px solid var(--c-line);border-radius:var(--radius)}
.thumbs{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.thumbs img{width:64px;height:64px;object-fit:contain;background:var(--c-bg);border:1px solid var(--c-line);border-radius:4px;cursor:pointer}
.prod-brand{margin:0;font-size:13px;color:var(--c-sub)}
.prod-name{margin:4px 0 6px;font-size:24px;line-height:1.35}
.prod-model{margin:0;font-size:13px;color:var(--c-sub)}
.prod-sum{margin:8px 0;font-size:14px;color:#444}
.prod-price{padding:16px 0;border-bottom:1px solid var(--c-line)}
.prod-price del{color:var(--c-sub);margin-right:8px}
.prod-price em{color:var(--c-danger);font-style:normal;font-weight:700;margin-right:8px}
.prod-price strong{font-size:30px}
.prod-price span{font-size:18px;margin-left:2px}
.prod-meta{width:100%;margin:16px 0;font-size:14px;border-collapse:collapse}
.prod-meta th{width:96px;text-align:left;color:var(--c-sub);font-weight:400;padding:5px 0;vertical-align:top}
.prod-meta td{padding:5px 0}
.prod-buy{margin-top:20px}
.opt-label,.qty-label{display:block;margin-bottom:10px;font-size:14px}
.opt-label select,.qty-label input{display:block;width:100%;margin-top:4px;padding:9px 10px;border:1px solid var(--c-line);border-radius:4px}
.qty-label input{width:120px}
.buy-btns{display:flex;gap:8px;margin-top:14px}
.buy-btns .btn{flex:1}
.broker-notice{margin-top:18px;padding:11px 14px;background:var(--c-bg);border-radius:6px;font-size:12px;color:var(--c-sub);line-height:1.6}
.grade{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:10px;font-size:11px;background:var(--c-bg);color:var(--c-sub)}
.grade-platinum{background:#eef2ff;color:#4338ca}
.grade-gold{background:#fffbeb;color:#b45309}
.spec-group{margin:20px 0 8px;font-size:15px}
.prod-detail{padding:20px 0;line-height:1.8}

/* 테이블 */
.tbl{width:100%;border-collapse:collapse;font-size:14px}
.tbl th,.tbl td{padding:11px 12px;border-bottom:1px solid var(--c-line);text-align:left}
.tbl thead th{background:var(--c-bg);font-weight:600;font-size:13px}
.tbl .num{text-align:right}
.tbl-spec th{width:200px;background:var(--c-bg);color:var(--c-sub);font-weight:500}

/* 버튼 */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:9px 16px;border:1px solid var(--c-line);border-radius:6px;background:#fff;font-size:14px;color:var(--c-text);cursor:pointer;text-align:center}
.btn:hover{border-color:#c9ced6;text-decoration:none}
.btn-primary{background:var(--c-primary);border-color:var(--c-primary);color:#fff}
.btn-primary:hover{background:var(--c-primary-dark)}
.btn-line{border-color:var(--c-primary);color:var(--c-primary)}
.btn-lg{padding:13px 22px;font-size:15px}
.btn-sm{padding:5px 11px;font-size:13px}
.btn-block{width:100%}
.btn:disabled{opacity:.45;cursor:not-allowed}

/* 페이저 */
.pager{display:flex;justify-content:center;gap:5px;margin:36px 0}
.pager a,.pager strong{display:flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 8px;border:1px solid var(--c-line);border-radius:5px;font-size:13px}
.pager strong{background:var(--c-primary);border-color:var(--c-primary);color:#fff}

/* 푸터 */
.ft{margin-top:60px;padding:32px 0 48px;background:var(--c-bg);border-top:1px solid var(--c-line);font-size:13px;color:var(--c-sub)}
.ft-notice{padding:12px 16px;background:#fff;border:1px solid var(--c-line);border-radius:6px;line-height:1.6}
.ft-links{display:flex;flex-wrap:wrap;gap:18px;margin:20px 0}
.ft-biz{font-style:normal;line-height:1.9}
.ft-copy{margin-top:14px;font-size:12px}

@media (max-width:1024px){
  .cate-body{grid-template-columns:1fr}
  .filters{position:static}
  .prod-top{grid-template-columns:1fr;gap:24px}
}
@media (max-width:640px){
  .hd-top .wrap{flex-wrap:wrap;gap:12px}
  .srch{order:3;flex-basis:100%}
  .plist{grid-template-columns:repeat(2,1fr);gap:14px}
  .hero{padding:32px 22px}
  .hero h2{font-size:22px}
}
