/* ============================================================
   신일등식품 상품 상세 페이지 전용 CSS
   시안 item.html 의 <style> 블록을 그대로 떼어낸 것.
   ⚠ 선택자·수치를 바꾸지 말 것 — §20-10 픽셀 검증의 기준이다.
      url(../img/…) 만 css/ 기준에 맞춰 ../img/ 로 고쳤다.
   ============================================================ */

.item-wrap{max-width:1400px;margin:0 auto;padding:28px 24px 90px}
.item-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:44px;align-items:start;margin-bottom:56px}
/* 갤러리 */
.gal .main{border-radius:18px;overflow:hidden;aspect-ratio:1/1;background:#eee;position:relative}
.gal .main img{width:100%;height:100%;object-fit:cover;display:block}
.gal .main .flag{position:absolute;left:16px;top:16px;display:flex;gap:6px}
.gal .main .flag i{font-style:normal;font-size:11.5px;font-weight:800;padding:5px 11px;border-radius:7px;color:#fff;background:var(--ink)}
.gal .main .flag i.f-new{background:var(--green)}.gal .main .flag i.f-best{background:var(--chili)}.gal .main .flag i.f-biz{background:var(--biz)}.gal .main .flag i.f-frz{background:#3b7ea1}
.gal .thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:10px}
.gal .thumbs img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px;border:2px solid transparent;cursor:pointer;display:block}
.gal .thumbs img.on{border-color:var(--cur)}
.gal .badges{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.gal .badges span{font-size:12px;font-weight:700;padding:6px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--ink2);display:inline-flex;align-items:center;gap:5px}
/* 정보 */
.info .cat-s{font-size:12.5px;color:var(--mut);margin-bottom:6px}
.info .cat-s a{color:var(--cur-d);font-weight:700}
.info h1{font-size:clamp(22px,2.1vw,30px);font-weight:800;letter-spacing:-.03em;line-height:1.3;margin-bottom:8px}
.info .sum{font-size:14px;color:var(--ink2);margin-bottom:18px}
.info .review{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--mut);margin-bottom:18px}
.info .review b{color:var(--cur)}
/* 가격 블록 */
.pbox{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-bottom:16px}
.pbox .row{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;gap:12px;border-bottom:1px solid var(--line2)}
.pbox .row:last-child{border:0}
.pbox .row .l{font-size:13px;color:var(--mut);font-weight:700;display:flex;align-items:center;gap:8px;flex-shrink:0}
.pbox .row .l i{font-style:normal;font-size:10px;font-weight:800;letter-spacing:.08em;padding:2px 7px;border-radius:5px}
.pbox .row.per .l i{background:var(--cur-bg);color:var(--cur-d)}
.pbox .row.biz .l i{background:var(--biz-bg);color:var(--biz)}
.pbox .row .v{font-size:24px;font-weight:900;letter-spacing:-.02em}
.pbox .row .v small{font-size:13px;font-weight:700;color:var(--mut);margin-left:2px}
.pbox .row .v del{font-size:13px;color:var(--mut);font-weight:500;margin-right:8px}
.pbox .row.biz{background:var(--biz-bg)}
.pbox .row.biz .lock{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--biz)}
.pbox .row.biz .lock svg{width:14px;height:14px}
.pbox .row.biz .lock a{background:var(--biz);color:#fff;padding:6px 12px;border-radius:999px;font-size:12px;margin-left:6px;white-space:nowrap}
.pbox .row .na{font-size:13.5px;color:var(--mut);font-weight:600}
/* 등급/수량 할인 표 */
.tier{margin:0 20px 16px;border:1px solid var(--line);border-radius:12px;overflow:hidden;font-size:12.5px}
.tier .th{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;background:var(--bg);font-weight:700;color:var(--ink2)}
.tier .tr{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;border-top:1px solid var(--line2)}
.tier .th>span,.tier .tr>span{padding:9px 10px;text-align:center}
.tier .th>span:first-child,.tier .tr>span:first-child{text-align:left}
.tier .tr b{color:var(--biz)}
.tier .tr .lk{color:var(--mut);letter-spacing:.1em}
.tier-note{margin:0 20px 16px;font-size:12px;color:var(--mut);display:flex;gap:6px;align-items:flex-start}
/* 옵션/수량 */
.opt{display:grid;gap:12px;margin-bottom:16px}
.opt .f-row{margin:0}
.opt .qty{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.opt .qty .stepper{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.opt .qty .stepper button{width:40px;height:42px;border:0;background:#fff;font-size:18px;color:var(--ink2)}
.opt .qty .stepper input{width:56px;text-align:center;border:0;border-left:1px solid var(--line);border-right:1px solid var(--line);font-size:15px;font-weight:800}
.opt .qty .moq{font-size:12.5px;color:var(--mut)}
.total{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-top:2px solid var(--ink);margin-bottom:14px}
.total .l{font-size:14px;font-weight:700}
.total .v{font-size:26px;font-weight:900;letter-spacing:-.02em}
.total .v small{font-size:13px;color:var(--mut);font-weight:700;margin-left:2px}
.total .v.na{font-size:15px;color:var(--biz)}
.acts{display:grid;grid-template-columns:52px 1fr 1fr;gap:8px}
.acts .btn{border-radius:12px;padding:15px 0;font-size:15px}
.acts .wish{border:1px solid var(--line);background:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--ink2)}
.acts .wish svg{width:20px;height:20px}
.acts.biz-acts{grid-template-columns:52px 1fr 1fr}
.deliv{margin-top:18px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 18px;display:grid;gap:8px;font-size:13px}
.deliv div{display:grid;grid-template-columns:86px 1fr;gap:10px}
.deliv div b{color:var(--mut);font-weight:700}
/* 탭 */
.itabs{display:flex;position:sticky;top:var(--hd-h,150px);z-index:5;background:var(--bg);border-bottom:2px solid var(--ink);margin-bottom:26px}
.itabs a{flex:1;text-align:center;padding:14px 6px;font-size:14.5px;font-weight:700;color:var(--mut);white-space:nowrap}
.itabs a.on{color:var(--ink);box-shadow:inset 0 -3px 0 var(--ink)}
.itabs a small{font-size:11px;margin-left:4px;color:var(--cur)}
.sec-t{font-size:20px;font-weight:800;letter-spacing:-.02em;margin:0 0 16px;padding-top:8px}
/* 상세 (템플릿형) */
.detail{display:grid;gap:14px;margin-bottom:56px}
.dt-hero{border-radius:18px;overflow:hidden;position:relative;aspect-ratio:21/9;background:#222}
.dt-hero img{width:100%;height:100%;object-fit:cover;display:block;opacity:.85}
.dt-hero .tx{position:absolute;left:0;right:0;bottom:0;padding:28px 32px;background:linear-gradient(transparent,rgba(0,0,0,.75));color:#fff}
.dt-hero .tx h3{font-size:clamp(20px,2vw,30px);font-weight:800;letter-spacing:-.03em}
.dt-hero .tx p{font-size:14px;color:#ddd;margin-top:4px}
.dt-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.dt-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.dt-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.dt-card .b{padding:18px 20px}
.dt-card .b b{display:block;font-size:16px;font-weight:800;margin-bottom:6px}
.dt-card .b p{font-size:13.5px;color:var(--ink2)}
.dt-points{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.dt-points li{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 14px;text-align:center}
.dt-points li b{display:block;font-size:22px;font-weight:900;color:var(--cur-d)}
.dt-points li span{font-size:12.5px;color:var(--mut)}
.dt-use{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 24px}
.dt-use ol{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;counter-reset:s}
.dt-use ol li{counter-increment:s;background:var(--bg);border-radius:12px;padding:16px;font-size:13.5px;color:var(--ink2)}
.dt-use ol li::before{content:"STEP "counter(s);display:block;font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--cur-d);margin-bottom:6px}
.dt-use ol li b{display:block;color:var(--ink);margin-bottom:4px}
/* 원재료 · 제조공정 · 납품규격 · 인증 (09-02) */
.dt-raw{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 24px}
.dt-raw>b{display:block;font-size:16px;font-weight:800;margin-bottom:3px}
.dt-raw>p{font-size:13px;color:var(--mut);margin-bottom:14px}
.dt-raw ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.dt-raw li{border-radius:12px;overflow:hidden;background:var(--bg);border:1px solid var(--line2)}
.dt-raw img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.dt-raw .t{padding:10px 12px 13px}
.dt-raw .t b{display:block;font-size:13.5px;font-weight:800}
.dt-raw .t span{display:block;font-size:12px;color:var(--mut);line-height:1.5;margin-top:2px}
.dt-proc{background:var(--cur-bg);border:1px solid var(--cur-l);border-radius:16px;padding:22px 24px}
.dt-proc>b{display:block;font-size:16px;font-weight:800;margin-bottom:13px;color:var(--cur-d)}
.dt-proc ol{list-style:none;display:grid;gap:9px;counter-reset:pc}
.dt-proc li{counter-increment:pc;display:grid;grid-template-columns:30px minmax(0,1fr);gap:13px;align-items:center;background:#fff;border-radius:12px;padding:13px 16px;font-size:13.5px;color:var(--ink2);line-height:1.65}
.dt-proc li::before{content:counter(pc);width:30px;height:30px;border-radius:50%;background:var(--cur);color:#fff;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center}
.dt-pack{display:grid;grid-template-columns:minmax(0,280px) minmax(0,1fr);gap:22px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 24px;align-items:center}
.dt-pack img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;display:block}
.dt-pack b{display:block;font-size:16px;font-weight:800;margin-bottom:7px}
.dt-pack p{font-size:13.5px;color:var(--ink2);line-height:1.75}
.dt-cert{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:-38px 0 56px}
.dt-cert a{display:grid;grid-template-columns:54px minmax(0,1fr);gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px 16px}
.dt-cert a:hover{border-color:var(--cur-l);background:var(--cur-bg)}
.dt-cert img{width:54px;border:1px solid var(--line2);border-radius:6px;display:block}
.dt-cert b{display:block;font-size:13.5px;font-weight:800}
.dt-cert span{display:block;font-size:12px;color:var(--mut);margin-top:2px}
@media (max-width:1024px){.dt-raw ul{grid-template-columns:repeat(2,minmax(0,1fr))}.dt-pack{grid-template-columns:1fr}.dt-cert{grid-template-columns:1fr}}
@media (max-width:640px){.dt-raw,.dt-proc,.dt-pack{padding:18px}.dt-cert{margin:-24px 16px 34px}}
/* 규격 표 */
.spec{width:100%;border-collapse:collapse;font-size:13.5px;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:56px}
.spec th{width:180px;text-align:left;background:var(--bg);padding:12px 16px;font-weight:700;color:var(--ink2);border-bottom:1px solid var(--line2);vertical-align:top}
.spec td{padding:12px 16px;border-bottom:1px solid var(--line2)}
.spec tr:last-child th,.spec tr:last-child td{border:0}
/* 배송 */
.ship{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:56px}
.ship .c{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 24px}
.ship .c h4{font-size:15px;font-weight:800;margin-bottom:10px;display:flex;align-items:center;gap:8px}
.ship .c h4 i{font-style:normal;font-size:10px;font-weight:800;letter-spacing:.08em;padding:2px 7px;border-radius:5px}
.ship .c.biz h4 i{background:var(--biz-bg);color:var(--biz)}.ship .c.per h4 i{background:var(--cur-bg);color:var(--cur-d)}
.ship .c li{font-size:13.5px;color:var(--ink2);padding:5px 0;display:flex;gap:8px}
.ship .c li::before{content:"·";color:var(--cur)}
/* 후기/문의 */
.rv{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 24px;margin-bottom:56px}
.rv .sum{display:flex;align-items:center;gap:20px;padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:8px;flex-wrap:wrap}
.rv .sum .score{font-size:36px;font-weight:900}
.rv .sum .stars{color:var(--cur);font-size:18px}
.rv .sum .btn{margin-left:auto}
.rv li{padding:14px 0;border-bottom:1px solid var(--line2);font-size:13.5px}
.rv li:last-child{border:0}
.rv li .m{display:flex;gap:10px;font-size:12px;color:var(--mut);margin-bottom:6px;flex-wrap:wrap}
.rv li .m b{color:var(--cur)}
.rv li .m i{font-style:normal;font-size:10px;font-weight:800;padding:2px 7px;border-radius:5px;background:var(--biz-bg);color:var(--biz)}
.rv li .m i.p{background:var(--cur-bg);color:var(--cur-d)}
.rv .qa .q{font-weight:700}
.rv .qa .a{margin-top:8px;padding:10px 12px;background:var(--bg);border-radius:8px;color:var(--ink2)}
.rv .qa .a::before{content:"답변 ";font-weight:800;color:var(--cur-d)}
/* 모바일 하단 고정바 */
.m-buybar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:40;background:#fff;border-top:1px solid var(--line);padding:10px 14px calc(10px + env(safe-area-inset-bottom));gap:8px}
.m-buybar .btn{flex:1;border-radius:12px;padding:14px 0;font-size:14.5px}
.m-buybar .wish{width:48px;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;justify-content:center;background:#fff;color:var(--ink2)}
.m-buybar .wish svg{width:20px;height:20px}
@media (max-width:1280px){.item-top{gap:28px}}
@media (max-width:1024px){
  .item-wrap{padding:0 0 90px}
  .crumb{padding:12px 16px 0}
  .item-top{grid-template-columns:1fr;gap:16px;margin-bottom:28px}
  .gal .main{border-radius:0;aspect-ratio:1/1}
  .gal .thumbs{padding:0 16px}
  .gal .badges{padding:0 16px}
  .info{padding:0 16px}
  .info h1{font-size:21px}.info .sum{font-size:13.5px;margin-bottom:12px}
  .pbox .row{padding:12px 14px}.pbox .row .v{font-size:20px}
  .pbox .row.biz .lock{font-size:12px;flex-wrap:wrap}
  .tier{margin:0 12px 12px;font-size:11.5px}.tier .th>span,.tier .tr>span{padding:8px 6px}
  .tier-note{margin:0 12px 12px}
  .opt .qty .stepper button{width:40px}
  .total .v{font-size:22px}
  .acts{display:none}
  .m-buybar{display:flex}
  .deliv{padding:12px 14px;font-size:12.5px}.deliv div{grid-template-columns:72px 1fr}
  .itabs{top:var(--hd-h,158px);margin:0 0 18px}.itabs a{font-size:13px;padding:12px 4px}
  .sec-t{font-size:17px;padding:0 16px}
  .detail,.spec,.ship,.rv{margin-left:16px;margin-right:16px;margin-bottom:34px}
  .detail{gap:10px}
  .dt-hero{aspect-ratio:4/3;border-radius:14px}.dt-hero .tx{padding:16px}.dt-hero .tx h3{font-size:19px}.dt-hero .tx p{font-size:12.5px}
  .dt-cols{grid-template-columns:1fr}
  .dt-points{grid-template-columns:repeat(2,1fr)}.dt-points li b{font-size:19px}
  .dt-use{padding:16px}.dt-use ol{grid-template-columns:1fr}
  .spec{font-size:12.5px;display:block;overflow-x:auto;width:auto}.spec th{width:110px;padding:10px 12px}.spec td{padding:10px 12px}
  .ship{grid-template-columns:1fr}.ship .c{padding:16px}
  .rv{padding:16px}.rv .sum .score{font-size:28px}.rv .sum .btn{margin-left:0;width:100%}
  .prods-rel{padding:0 16px}
}
