/* DF 쇼핑 v0.1.0 */
.dfsp{--dfsp-a:#111;--dfsp-ink:#111;--dfsp-mut:#6b6b6b;--dfsp-line:#e4e4e4;--dfsp-bg:#f6f6f6;--dfsp-red:#e5322d;--dfsp-r:4px;--dfsp-cols:4;color:var(--dfsp-ink);font-size:15px;line-height:1.6;word-break:keep-all;letter-spacing:-.01em}
.dfsp *,.dfsp *::before,.dfsp *::after{box-sizing:border-box}
.dfsp a{color:inherit;text-decoration:none}
/* 블록 테마의 좁은 본문 폭을 넓힘 */
.dfsp.dfsp-list,.dfsp.dfsp-cart,.dfsp.dfsp-co,.dfsp.dfsp-pd{width:100%;max-width:1200px!important;margin-left:auto!important;margin-right:auto!important}
.dfsp img{display:block;max-width:100%;height:auto}
.dfsp button{font-family:inherit}
.dfsp input,.dfsp select,.dfsp textarea{font-family:inherit;font-size:15px}
.dfsp-h{font-size:24px;font-weight:800;margin:0 0 20px;letter-spacing:-.03em}
.dfsp-empty{padding:60px 0;text-align:center;color:var(--dfsp-mut)}
.dfsp-hint{font-size:13.5px;color:var(--dfsp-mut);margin:8px 0 0}
.dfsp-alert{background:#fff4f4;border:1px solid #f3c9c7;color:#a2231f;padding:14px 16px;border-radius:var(--dfsp-r);margin:0 0 20px;font-size:14px}
.dfsp-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* 버튼 */
.dfsp-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:52px;padding:0 24px;border-radius:var(--dfsp-r);font-weight:700;font-size:16px;border:1px solid var(--dfsp-a);cursor:pointer;transition:background .2s,color .2s,opacity .2s;background:#fff;color:var(--dfsp-a)}
.dfsp-btn.pri{background:var(--dfsp-a);color:#fff}
.dfsp-btn.pri:hover{opacity:.88}
.dfsp-btn.line:hover{background:var(--dfsp-a);color:#fff}
.dfsp-btn.full{width:100%}
.dfsp-btn:disabled{opacity:.5;cursor:wait}
.dfsp-btn:focus-visible,.dfsp button:focus-visible,.dfsp a:focus-visible{outline:2px solid var(--dfsp-a);outline-offset:2px}

/* 가격 · 배지 */
.dfsp-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px}
.dfsp-price em{font-style:normal;font-weight:800;color:var(--dfsp-red)}
.dfsp-price b{font-weight:800;font-size:17px}
.dfsp-price s{color:#a5a5a5;font-size:13.5px}
.dfsp-price.big em{font-size:24px}.dfsp-price.big b{font-size:28px;letter-spacing:-.02em}.dfsp-price.big s{font-size:16px}
.dfsp-badge{position:absolute;top:10px;left:10px;font-size:11.5px;font-weight:800;letter-spacing:.06em;padding:4px 8px;background:#111;color:#fff;z-index:2}
.dfsp-badge.b-sale,.dfsp-badge.b-hot{background:var(--dfsp-red)}
.dfsp-badge.b-new{background:#fff;color:#111;border:1px solid #111}
.dfsp-chip{display:inline-block;margin-top:6px;font-size:12px;font-weight:600;color:var(--dfsp-mut);border:1px solid var(--dfsp-line);padding:2px 7px}

/* 목록 */
.dfsp-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 22px}
.dfsp-tabs a{padding:9px 16px;border:1px solid var(--dfsp-line);border-radius:var(--dfsp-r);font-size:14.5px;font-weight:600;color:#444;transition:border-color .2s}
.dfsp-tabs a:hover{border-color:#999}
.dfsp-tabs a.on{background:var(--dfsp-a);border-color:var(--dfsp-a);color:#fff}
.dfsp-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 0 14px;margin:0 0 24px;border-bottom:1px solid var(--dfsp-ink);font-size:14px}
.dfsp-bar b{font-weight:800}
.dfsp-sort{display:flex;gap:14px}
.dfsp-sort a{color:#999}.dfsp-sort a.on{color:var(--dfsp-ink);font-weight:700}
.dfsp-grid{display:grid;grid-template-columns:repeat(var(--dfsp-cols),minmax(0,1fr));gap:36px 20px}
.dfsp-card{display:block}
.dfsp-card-im{position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--dfsp-bg)}
.dfsp-card-im img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.dfsp-card:hover .dfsp-card-im img{transform:scale(1.05)}
.dfsp-card.is-out .dfsp-card-im img{opacity:.45}
.dfsp-out{position:absolute;inset:auto 0 0;background:rgba(17,17,17,.78);color:#fff;text-align:center;font-weight:700;font-size:13px;padding:8px}
.dfsp-card-tx{padding:14px 2px 0}
.dfsp-card-tx h3{margin:0 0 6px;font-size:15.5px;font-weight:600;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dfsp-pager{display:flex;justify-content:center;gap:6px;margin:48px 0 0}
.dfsp-pager a{min-width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid var(--dfsp-line);font-size:14px;border-radius:var(--dfsp-r)}
.dfsp-pager a.on{background:var(--dfsp-a);border-color:var(--dfsp-a);color:#fff}

/* 상세 */
.dfsp-pd{max-width:1200px;margin:0 auto}
.dfsp-pd-top{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px;align-items:start;margin:0 0 72px}
.dfsp-gal-main{position:relative;aspect-ratio:1/1;background:var(--dfsp-bg);overflow:hidden}
.dfsp-gal-main img{width:100%;height:100%;object-fit:cover}
.dfsp-gal-th{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:10px}
.dfsp-gal-th button{padding:0;border:1px solid transparent;background:var(--dfsp-bg);cursor:pointer;aspect-ratio:1/1;overflow:hidden}
.dfsp-gal-th button img{width:100%;height:100%;object-fit:cover}
.dfsp-gal-th button.on{border-color:var(--dfsp-ink)}
.dfsp-buy{position:sticky;top:110px}
.dfsp-cat{display:inline-block;font-size:13.5px;font-weight:600;color:var(--dfsp-mut);margin-bottom:8px}
.dfsp-name{font-size:28px!important;line-height:1.35!important;font-weight:800!important;letter-spacing:-.035em;margin:0 0 10px!important}
.dfsp-sum{color:#555;margin:0 0 18px}
.dfsp-info{margin:22px 0;padding:16px 0;border-top:1px solid var(--dfsp-ink);border-bottom:1px solid var(--dfsp-line);display:grid;gap:8px;font-size:14.5px}
.dfsp-info div{display:grid;grid-template-columns:90px 1fr}
.dfsp-info dt{color:var(--dfsp-mut)}.dfsp-info dd{margin:0}.dfsp-info small{color:var(--dfsp-mut)}
.dfsp-opt{display:block;margin:0 0 12px}
.dfsp-opt span{display:block;font-size:14px;font-weight:700;margin-bottom:6px}
.dfsp select,.dfsp input[type=text],.dfsp input[type=tel],.dfsp input[type=email],.dfsp input[type=password],.dfsp input[type=number]{width:100%;height:48px;padding:0 14px;border:1px solid #cfcfcf;border-radius:var(--dfsp-r);background:#fff;color:var(--dfsp-ink)}
.dfsp select:focus,.dfsp input:focus{outline:none;border-color:var(--dfsp-ink);box-shadow:0 0 0 1px var(--dfsp-ink)}
.dfsp-sel{display:grid;gap:8px}
.dfsp-sel-row{display:grid;grid-template-columns:1fr auto auto auto;gap:12px;align-items:center;background:var(--dfsp-bg);padding:12px 14px}
.dfsp-sel-row .nm{font-size:14.5px}
.dfsp-sel-row b{min-width:84px;text-align:right}
.dfsp-qty{display:inline-flex;border:1px solid #cfcfcf;background:#fff;height:36px}
.dfsp-qty button{width:34px;border:0;background:none;cursor:pointer;font-size:17px;color:#333}
.dfsp-qty button:hover{background:var(--dfsp-bg)}
.dfsp .dfsp-qty input{width:46px;height:34px;border:0;border-left:1px solid #e3e3e3;border-right:1px solid #e3e3e3;border-radius:0;text-align:center;padding:0;-moz-appearance:textfield;box-shadow:none}
.dfsp-qty input::-webkit-inner-spin-button,.dfsp-qty input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.dfsp-del{border:0;background:none;cursor:pointer;font-size:20px;line-height:1;color:#999;padding:4px}
.dfsp-del:hover{color:var(--dfsp-ink)}
.dfsp-total{display:flex;justify-content:space-between;align-items:baseline;margin:20px 0 16px;padding-top:16px;border-top:1px solid var(--dfsp-line)}
.dfsp-total span{font-weight:700}
.dfsp-total b{font-size:26px;font-weight:800;color:var(--dfsp-a);letter-spacing:-.02em}
.dfsp-btns{display:grid;grid-template-columns:1fr 1.4fr;gap:8px}
.dfsp-msg{min-height:22px;margin:10px 0 0;font-size:14px;color:var(--dfsp-red)}
.dfsp-soldout{margin-top:20px;padding:18px;text-align:center;background:var(--dfsp-bg);font-weight:700;color:var(--dfsp-mut)}
.dfsp-tabbar{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--dfsp-ink);position:sticky;top:0;background:#fff;z-index:5}
.dfsp-tabbar a{padding:16px;text-align:center;font-weight:700;color:#999;border:1px solid transparent;border-bottom:0}
.dfsp-tabbar a.on{color:var(--dfsp-ink);border-color:var(--dfsp-ink);background:#fff;margin-bottom:-1px}
.dfsp-detail{padding:48px 0;max-width:900px;margin:0 auto}
.dfsp-detail img{margin:0 auto}
.dfsp-guide{max-width:900px;margin:0 auto;padding:40px 0 20px;border-top:1px solid var(--dfsp-line)}
.dfsp-guide h3{font-size:17px;font-weight:800;margin:0 0 10px}
.dfsp-guide p{margin:0 0 30px;color:#555;font-size:14.5px;line-height:1.9}

/* 토스트 */
.dfsp-toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#111;color:#fff;padding:14px 20px;display:flex;gap:18px;align-items:center;font-size:15px;z-index:99999;transition:opacity .25s,transform .25s;box-shadow:0 10px 30px rgba(0,0,0,.25);border-radius:var(--dfsp-r)}
.dfsp-toast.on{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.dfsp-toast a{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:3px}

/* 단계 */
.dfsp-steps{list-style:none;margin:0 0 32px;padding:0;display:flex;gap:10px;font-size:14.5px;color:#aaa;font-weight:600;counter-reset:s}
.dfsp-steps li{counter-increment:s;display:flex;align-items:center;gap:10px}
.dfsp-steps li::before{content:"0" counter(s);font-weight:800}

.dfsp-steps li:not(:last-child)::after{content:"›";color:#ccc;margin-left:4px}
.dfsp-steps li.on{color:var(--dfsp-ink)}

/* 장바구니 · 주문 */
.dfsp-cart-wrap,.dfsp-co-wrap{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;align-items:start}
.dfsp-lines{border-top:1px solid var(--dfsp-ink)}
.dfsp-line{display:grid;grid-template-columns:88px minmax(0,1fr) auto 110px 28px;gap:16px;align-items:center;padding:18px 0;border-bottom:1px solid var(--dfsp-line)}
.dfsp-line.busy{opacity:.5;pointer-events:none}
.dfsp-line .im{display:block;aspect-ratio:1/1;background:var(--dfsp-bg);overflow:hidden}
.dfsp-line .im img{width:100%;height:100%;object-fit:cover}
.dfsp-line .tx{display:flex;flex-direction:column;gap:2px;min-width:0}
.dfsp-line .tx a,.dfsp-line .tx b{font-weight:700}
.dfsp-line .tx span{font-size:13.5px;color:var(--dfsp-mut)}
.dfsp-line .tx small{font-size:13.5px;color:#999}
.dfsp-line .tx em{font-style:normal;font-size:13px;color:var(--dfsp-red);font-weight:700}
.dfsp-line .sum{text-align:right;font-weight:800}
.dfsp-line.mini{grid-template-columns:64px minmax(0,1fr) auto;padding:12px 0}
.dfsp-line.has-issue{background:#fffafa}
.dfsp-sum-box{position:sticky;top:110px;border:1px solid var(--dfsp-ink);padding:24px;background:#fff;display:grid;gap:8px}
.dfsp-sum-box h3{margin:0 0 6px;font-size:17px;font-weight:800}
.dfsp-sum-box dl{margin:0 0 10px;display:grid;gap:10px}
.dfsp-sum-box dl div,.dfsp-amt div,.dfsp-bank dl div{display:flex;justify-content:space-between;gap:12px}
.dfsp-sum-box dt,.dfsp-amt dt{color:#555}
.dfsp-sum-box dd,.dfsp-amt dd{margin:0;font-weight:600;text-align:right}
.dfsp-sum-box .tot,.dfsp-amt .tot{padding-top:14px;margin-top:4px;border-top:1px solid var(--dfsp-line)}
.dfsp-sum-box .tot dt,.dfsp-amt .tot dt{color:var(--dfsp-ink);font-weight:800}
.dfsp-sum-box .tot dd,.dfsp-amt .tot dd{font-size:22px;font-weight:800;color:var(--dfsp-a)}
.dfsp-note{margin:0 0 6px;font-size:13.5px;color:var(--dfsp-red)}
.dfsp-empty-box{text-align:center;padding:70px 20px;border-top:1px solid var(--dfsp-ink);border-bottom:1px solid var(--dfsp-line)}
.dfsp-empty-box p{margin:0 0 20px;color:var(--dfsp-mut)}

.dfsp-box{border:1px solid var(--dfsp-line);padding:24px;margin:0 0 16px;background:#fff}
.dfsp-box h3{margin:0 0 16px;font-size:17px;font-weight:800;display:flex;align-items:center;gap:10px}
.dfsp-box h3 small{font-weight:600;color:var(--dfsp-mut);font-size:14px}
.dfsp-f{display:block;margin:0 0 14px}
.dfsp-f .lb{display:block;font-size:14px;font-weight:700;margin-bottom:6px}
.dfsp-f .lb i{font-style:normal;color:var(--dfsp-red)}
.dfsp-f input+input{margin-top:8px}
.dfsp-f.is-err input,.dfsp-f.is-err select{border-color:var(--dfsp-red);box-shadow:0 0 0 1px var(--dfsp-red)}
.dfsp-chk.is-err{color:var(--dfsp-red)}
.dfsp-f2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.dfsp-zip{display:grid;grid-template-columns:160px auto;gap:8px;margin-bottom:8px;justify-content:start}
.dfsp-zip .dfsp-btn{min-height:48px;padding:0 18px;font-size:15px}
.dfsp-memo{margin-top:8px}
.dfsp-chk{display:flex;gap:8px;align-items:flex-start;margin:0 0 10px;cursor:pointer;font-size:14.5px}
.dfsp-chk input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--dfsp-a);flex:none}
.dfsp-chk.inline{margin:0 0 0 auto;font-size:14px;font-weight:500}
.dfsp-chk.all{padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--dfsp-line)}
.dfsp-agree details{margin:-4px 0 12px 26px;font-size:13.5px;color:var(--dfsp-mut)}
.dfsp-agree summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.dfsp-agree details p{background:var(--dfsp-bg);padding:12px 14px;margin:8px 0 0;line-height:1.8}
.dfsp-pay{display:flex;gap:8px;margin:0 0 16px}
.dfsp-pay label{display:flex;align-items:center;gap:8px;border:1px solid var(--dfsp-line);padding:12px 18px;font-weight:700;cursor:pointer}
.dfsp-pay label.on{border-color:var(--dfsp-a);box-shadow:0 0 0 1px var(--dfsp-a)}
.dfsp-pay input{accent-color:var(--dfsp-a)}
.dfsp-biz{margin-top:40px;padding-top:20px;border-top:1px solid var(--dfsp-line);font-size:12.5px;color:#888;line-height:1.9}
.dfsp-biz i{font-style:normal;margin:0 8px;color:#ddd}

/* 주문 완료 · 조회 */
.dfsp-ov,.dfsp-lookup{max-width:760px;margin:0 auto}
.dfsp-done{text-align:center;padding:10px 0 32px}
.dfsp-done svg{color:var(--dfsp-a);margin:0 auto 12px}
.dfsp-done h2{font-size:26px;font-weight:800;margin:0 0 8px;letter-spacing:-.03em}
.dfsp-done p{margin:0;color:#555}
.dfsp-ohead{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.dfsp-ohead span{display:block;font-size:13px;color:var(--dfsp-mut)}
.dfsp-ohead b{font-size:16px}
.dfsp .st{font-style:normal;display:inline-block;font-size:13px;font-weight:700;padding:3px 10px;background:var(--dfsp-bg);border-radius:var(--dfsp-r)}
.dfsp .st-pending{background:#fff4e0;color:#9a5b00}
.dfsp .st-paid,.dfsp .st-preparing{background:#e8f1ff;color:#1a4fb4}
.dfsp .st-shipping{background:#e6f7ef;color:#0b7a4b}
.dfsp .st-done{background:#111;color:#fff}
.dfsp .st-cancelled,.dfsp .st-refunded{background:#f1f1f1;color:#888}
.dfsp-bank{border:2px solid var(--dfsp-a);padding:22px 24px;margin:0 0 16px}
.dfsp-bank h3{margin:0 0 12px;font-size:17px;font-weight:800}
.dfsp-bank dl{margin:0;display:grid;gap:8px}
.dfsp-bank dt{color:#555}.dfsp-bank dd{margin:0;font-weight:700}
.dfsp-bank dd b{font-size:20px;color:var(--dfsp-a)}
.dfsp-track{display:flex;justify-content:space-between;align-items:center;gap:12px}
.dfsp-track .dfsp-btn{min-height:42px;font-size:14.5px}
.dfsp-amt{margin:16px 0 0;display:grid;gap:8px}
.dfsp-kv{margin:0;display:grid;gap:8px}
.dfsp-kv div{display:grid;grid-template-columns:90px 1fr}
.dfsp-kv dt{color:var(--dfsp-mut)}.dfsp-kv dd{margin:0}
.dfsp-ov-btns{display:flex;gap:8px;justify-content:center;margin:28px 0 10px}
.dfsp-olist{border-top:1px solid var(--dfsp-ink)}
.dfsp-olist a{display:grid;grid-template-columns:120px 1fr auto auto;gap:14px;align-items:center;padding:16px 4px;border-bottom:1px solid var(--dfsp-line)}
.dfsp-olist a:hover{background:var(--dfsp-bg)}
.dfsp-olist .d small{display:block;color:#999;font-size:12.5px}
.dfsp-lk-form{max-width:420px;border:1px solid var(--dfsp-line);padding:24px}

/* 장바구니 아이콘 */
.dfsp-cart-ic{position:relative;display:inline-flex;align-items:center;color:inherit}
.dfsp-cart-ic .dfsp-cnt{position:absolute;top:-7px;right:-9px;min-width:18px;height:18px;border-radius:9px;background:var(--dfsp-red,#e5322d);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 5px}
.dfsp-cart-ic .dfsp-cnt[hidden]{display:none}

@media(max-width:1024px){
.dfsp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.dfsp-pd-top{gap:32px}
.dfsp-cart-wrap,.dfsp-co-wrap{grid-template-columns:1fr}
.dfsp-sum-box{position:static}
}
@media(max-width:760px){
.dfsp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 12px}
.dfsp-bar{flex-direction:column;align-items:flex-start}
.dfsp-pd-top{grid-template-columns:1fr;gap:24px;margin-bottom:40px}
.dfsp-buy{position:static}
.dfsp-name{font-size:23px!important}
.dfsp-price.big b{font-size:24px}
.dfsp-sel-row{grid-template-columns:1fr auto;row-gap:8px}
.dfsp-sel-row .nm{grid-column:1/-1}
.dfsp-sel-row b{text-align:left}
.dfsp-line{grid-template-columns:72px minmax(0,1fr) 24px;grid-template-areas:"im tx del" "im qty sum";row-gap:10px}
.dfsp-line .im{grid-area:im}.dfsp-line .tx{grid-area:tx}.dfsp-line .dfsp-qty{grid-area:qty}.dfsp-line .sum{grid-area:sum}.dfsp-line .dfsp-del{grid-area:del;align-self:start}
.dfsp-line.mini{grid-template-columns:56px minmax(0,1fr) auto;grid-template-areas:none}
.dfsp-line.mini .im,.dfsp-line.mini .tx,.dfsp-line.mini .sum{grid-area:auto}
.dfsp-f2{grid-template-columns:1fr}
.dfsp-box{padding:18px}
.dfsp-ohead{grid-template-columns:1fr 1fr}
.dfsp-olist a{grid-template-columns:1fr auto;row-gap:4px}
.dfsp-olist .t{grid-column:1/-1;order:-1}
.dfsp-steps{font-size:13px;gap:6px}
.dfsp-toast{left:12px;right:12px;transform:translateY(20px);bottom:16px;justify-content:space-between}
.dfsp-toast.on{transform:none}
}

/* ===== 0.3.0 테마 영향 막기 · 상세 페이지 틀 · 분류 탭 ===== */
/* 테마(Avada 등)의 제목 글꼴·크기가 상품 화면에 끼어들지 않게 */
.dfsp h1,.dfsp h2,.dfsp h3,.dfsp h4{font-family:inherit!important;letter-spacing:-.01em!important;text-transform:none!important;color:inherit}
.dfsp h2{font-size:22px!important;font-weight:700!important;line-height:1.35!important}
.dfsp h3{font-size:17px!important;font-weight:700!important;line-height:1.4!important}
.dfsp h3 small,.dfsp h3 span{font-size:13px!important;font-weight:400!important}
.dfsp .dfsp-card-tx h3{margin:0 0 6px!important;font-size:15.5px!important;font-weight:600!important;line-height:1.45!important}
.dfsp .dfsp-name{margin:6px 0 10px!important;font-size:26px!important;font-weight:700!important;line-height:1.35!important}
.dfsp .dfsp-guide h3,.dfsp .dfsp-sum-box h3{font-size:16px!important;font-weight:700!important;line-height:1.4!important;margin:0 0 10px!important}
.dfsp .dfsp-price b{font-family:inherit!important}
/* 상품 상세 — 플러그인 템플릿 바깥 틀 */
.dfsp-single-page{width:100%;max-width:1240px;margin:0 auto;padding:36px 20px 100px;box-sizing:border-box}
.dfsp-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 26px;font-size:13px;color:#888}
.dfsp-crumb a{color:#888!important;text-decoration:none!important}
.dfsp-crumb a:hover{color:#111!important}
.dfsp-crumb i{font-style:normal;color:#ccc}
/* 플러그인 템플릿을 못 쓰는 테마에서도 테마 글 보기 장식 숨김 */
body.single-df_product .single-navigation,body.single-df_product .fusion-sharing-box,body.single-df_product .about-author,body.single-df_product .related-posts,body.single-df_product .fusion-comments,body.single-df_product #comments,body.single-df_product .fusion-flexslider.fusion-post-slideshow,body.single-df_product .post-navigation,body.single-df_product .nav-links{display:none!important}
/* 분류 탭 — 직각, 서로 붙은 모양 (DF 화면 공통) */
.dfsp .dfsp-tabs{gap:0}
.dfsp .dfsp-tabs a{margin:0 0 -1px -1px;border-radius:0!important;font-weight:500;color:#555;text-decoration:none!important}
.dfsp .dfsp-tabs a:first-child{margin-left:0}
.dfsp .dfsp-tabs a.on{position:relative;z-index:1;font-weight:700}
@media(max-width:768px){
	.dfsp-single-page{padding:20px 20px 64px}
	.dfsp .dfsp-name{font-size:21px!important}
	.dfsp .dfsp-card-tx h3{font-size:14px!important}
	.dfsp .dfsp-tabs a{padding:8px 13px;font-size:13.5px}
}
/* 0.3.0 상단 띠 (선택) */
.dfsp-band{position:relative;display:flex;align-items:flex-end;height:300px;width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);margin-top:calc(-1 * var(--dfsp-main-pt,0px));box-sizing:border-box;background:#222 center/cover no-repeat;color:#fff}
.dfsp-band::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,.55))}
.dfsp-band-in{position:relative;width:100%;max-width:1240px;margin:0 auto;padding:0 20px 44px;box-sizing:border-box}
.dfsp .dfsp-band-in h2{margin:0!important;color:#fff!important;font-size:34px!important;font-weight:700!important;line-height:1.3!important}
@media(max-width:768px){.dfsp-band{height:220px}.dfsp-band-in{padding-bottom:28px}.dfsp .dfsp-band-in h2{font-size:24px!important}}
body.single-df_product{overflow-x:hidden}
body.single-df_product #main{padding-top:0!important}

/* 사진 크게 보기 (0.3.2) */
.dfsp-gal-main{cursor:zoom-in}
.dfsp-zoom{position:absolute;right:12px;bottom:12px;display:flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:0;border-radius:0;background:rgba(255,255,255,.92);color:var(--dfsp-ink);cursor:zoom-in;box-shadow:0 2px 8px rgba(0,0,0,.12)}
html.dfsp-lb-open{overflow:hidden}
.dfsp-lb{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;background:rgba(10,10,10,.92);animation:dfspLb .2s ease}
@keyframes dfspLb{from{opacity:0}to{opacity:1}}
.dfsp-lb-stage{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:60px 70px}
.dfsp-lb-stage img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;cursor:default;user-select:none}
.dfsp-lb button{position:absolute;padding:0;border:0;border-radius:0;background:transparent;color:#fff;cursor:pointer;line-height:1;opacity:.85}
.dfsp-lb button:hover{opacity:1}
.dfsp-lb-x{top:14px;right:18px;width:44px;height:44px;font-size:34px}
.dfsp-lb-pv,.dfsp-lb-nx{top:50%;width:54px;height:80px;margin-top:-40px;font-size:46px}
.dfsp-lb-pv{left:8px}.dfsp-lb-nx{right:8px}
.dfsp-lb-cnt{position:absolute;left:0;right:0;bottom:20px;color:rgba(255,255,255,.8);font-size:13px;text-align:center;letter-spacing:.06em}
@media(max-width:768px){.dfsp-lb-stage{padding:56px 0}.dfsp-lb-pv,.dfsp-lb-nx{width:40px;font-size:36px}.dfsp-zoom{width:32px;height:32px;right:8px;bottom:8px}}

/* 0.3.3 — 분류 탭 선택 글자색, 상세 사진 영역 */
.dfsp .dfsp-tabs a.on,.dfsp .dfsp-tabs a.on:hover{background:var(--dfsp-a)!important;border-color:var(--dfsp-a)!important;color:#fff!important;position:relative;z-index:1}
.dfsp-pd-top{transition:grid-template-columns .2s}
