/* 상품 상세 페이지 (woocommerce/single-product.php) */
:root{ --bg-soft:var(--panel-2); --sale:#c0392b; --gold:#c8922f; }
.pd .crumb{font-size:12.5px; color:var(--ink-soft); padding:22px 0 0;}
.pd .crumb a:hover{color:var(--ink);}
.pd .pd-top{display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:56px; padding:24px 0 72px; align-items:start;}
@media(max-width:900px){
  .pd .pd-top{grid-template-columns:1fr; gap:28px;}
}
.pd .gal-main{background:var(--bg-soft); border-radius:10px; overflow:hidden; aspect-ratio:1/1; display:flex; align-items:center; justify-content:center;}
.pd .gal-main img{width:100%; height:100%; object-fit:contain; background:#fff;}
.pd .gal-thumbs{display:grid; grid-template-columns:repeat(9,1fr); gap:8px; margin-top:12px;}
@media(max-width:640px){
  .pd .gal-thumbs{grid-template-columns:repeat(5,1fr);}
}
.pd .gal-thumbs button{padding:0; border:1.5px solid var(--line); border-radius:6px; overflow:hidden; background:#fff; cursor:pointer; aspect-ratio:1/1;}
.pd .gal-thumbs button img{width:100%; height:100%; object-fit:cover;}
.pd .gal-thumbs button.active{border-color:var(--ink);}
.pd .gal-thumbs button:focus-visible{outline:2px solid var(--ink); outline-offset:2px;}
.pd .buy{position:sticky; top:88px;}
@media(max-width:900px){
  .pd .buy{position:static;}
}
.pd .buy .brandline{font-size:12.5px; letter-spacing:.14em; color:var(--ink-soft); font-weight:600;}
.pd .buy h1{font-size:clamp(22px,2.6vw,28px); font-weight:800; letter-spacing:-.02em; margin:10px 0 8px; line-height:1.3;}
.pd .buy .sub{font-size:14.5px; color:var(--ink-soft);}
.pd .rating-link{display:inline-flex; gap:8px; align-items:center; margin-top:12px; font-size:13px; color:var(--ink-soft); background:none; border:none; padding:0; cursor:pointer; text-decoration:underline; text-underline-offset:3px;}
.pd .price{margin-top:22px; padding-bottom:22px; border-bottom:1px solid var(--line);}
.pd .price .was{font-size:14px; color:var(--ink-soft); text-decoration:line-through;}
.pd .price .now-row{display:flex; align-items:baseline; gap:10px; margin-top:4px;}
.pd .price .off{color:var(--sale); font-weight:800; font-size:22px;}
.pd .price .now{font-weight:800; font-size:28px; letter-spacing:-.02em;}
.pd .price .now small{font-size:17px; font-weight:700;}
.pd .info-rows{padding:18px 0; border-bottom:1px solid var(--line); font-size:13.5px;}
.pd .info-rows div{display:grid; grid-template-columns:84px 1fr; padding:5px 0;}
.pd .info-rows dt{color:var(--ink-soft);}
.pd .info-rows dd{margin:0;}
.pd .info-rows b{color:var(--gold);}
.pd .opt-block{padding:20px 0 4px;}
.pd .opt-label{font-size:13.5px; font-weight:700; margin-bottom:8px; display:block;}
.pd .opt-select{width:100%; appearance:none; -webkit-appearance:none; border:1px solid var(--line); border-radius:8px; background:#fff; padding:13px 40px 13px 14px; font-size:14px; font-family:inherit; color:var(--ink); background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%); background-position:calc(100% - 20px) 50%, calc(100% - 15px) 50%; background-size:5px 5px; background-repeat:no-repeat; cursor:pointer;}
.pd .opt-select:focus{outline:2px solid var(--ink); outline-offset:1px;}
.pd .lines{margin-top:14px; display:flex; flex-direction:column; gap:10px;}
.pd .line{background:var(--bg-soft); border-radius:8px; padding:14px 14px 12px;}
.pd .line-top{display:flex; justify-content:space-between; gap:10px; font-size:13.5px;}
.pd .line-top .nm{font-weight:600; line-height:1.45;}
.pd .line-top .nm em{font-style:normal; font-size:11px; font-weight:700; color:var(--ink-soft); margin-right:6px;}
.pd .line-x{border:none; background:none; cursor:pointer; color:var(--ink-soft); font-size:17px; line-height:1; padding:0 2px;}
.pd .line-x:hover{color:var(--ink);}
.pd .line-bot{display:flex; justify-content:space-between; align-items:center; margin-top:10px;}
.pd .qty{display:flex; align-items:center; border:1px solid var(--line); border-radius:999px; background:#fff; overflow:hidden;}
.pd .qty button{width:32px; height:30px; border:none; background:transparent; cursor:pointer; font-size:15px; color:var(--ink);}
.pd .qty button:hover{background:var(--bg-soft);}
.pd .qty span{width:30px; text-align:center; font-size:13.5px;}
.pd .line-price{font-weight:700; font-size:14px;}
.pd .totals{margin-top:20px; padding-top:16px; border-top:1px solid var(--line); font-size:14px;}
.pd .totals .row{display:flex; justify-content:space-between; padding:4px 0; color:var(--ink-soft);}
.pd .totals .row.grand{color:var(--ink); font-weight:800; font-size:17px; padding-top:10px;}
.pd .totals .row.grand .v{font-size:22px;}
.pd .ship-nudge{margin-top:10px; padding:10px 12px; border-radius:8px; background:#fff; border:1px solid var(--line); font-size:12.5px; color:var(--ink-soft);}
.pd .ship-nudge b{color:var(--gold);}
.pd .ship-bar{height:4px; border-radius:99px; background:var(--line); margin-top:8px; overflow:hidden;}
.pd .ship-bar i{display:block; height:100%; background:var(--gold); border-radius:99px; transition:width .25s ease;}
.pd .btns{display:grid; grid-template-columns:1fr 1.4fr; gap:10px; margin-top:18px;}
.pd .demo-note{margin-top:12px; font-size:11.5px; color:var(--ink-soft); text-align:center;}
.pd .tabs{position:sticky; top:64px; z-index:40; background:#fff; border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.pd .tabs-row{display:grid; grid-template-columns:repeat(3,1fr);}
.pd .tabs a{text-align:center; padding:16px 0; font-size:14.5px; color:var(--ink-soft); font-weight:600; border-bottom:2px solid transparent;}
.pd .tabs a.active, .pd .tabs a:hover{color:var(--ink); border-bottom-color:var(--ink);}
.pd .detail{padding:48px 0 32px;}
.pd .detail-imgs{max-width:780px; margin:0 auto;}
.pd .detail-imgs img{width:100%; height:auto;}
.pd .sec{padding:72px 0; border-top:1px solid var(--line);}
.pd .sec h2{font-size:22px; font-weight:800; letter-spacing:-.015em; margin:0 0 20px;}
.pd .sec-inner{max-width:780px; margin:0 auto;}
.pd .rv-cta{display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; background:var(--bg-soft); border-radius:10px; padding:22px 24px; font-size:14px; color:var(--ink-soft);}
.pd .rv-cta .btn{padding:12px 22px; font-size:14px;}
.pd .ship-table{width:100%; border-collapse:collapse; font-size:14px;}
.pd .ship-table th, .pd .ship-table td{padding:14px 4px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top;}
.pd .ship-table th{width:130px; color:var(--ink-soft); font-weight:500;}
.pd .todo{color:var(--sale); font-size:13px;}
.pd .m-bar{display:none; position:fixed; left:0; right:0; bottom:0; z-index:70; background:#fff; border-top:1px solid var(--line); padding:10px 16px calc(10px + env(safe-area-inset-bottom)); align-items:center; gap:12px;}
.pd .m-bar .t{font-size:12px; color:var(--ink-soft);}
.pd .m-bar .v{font-weight:800; font-size:17px;}
.pd .m-bar .btn{flex:1; padding:14px 16px;}
@media(max-width:900px){
  .pd .m-bar{display:flex;}
.single-product .rv-toast{bottom:84px !important;}
.pd .nav-links{display:none;}
}

/* WordPress 연결용 추가 */
.pd .btns .btn{justify-content:center; width:100%; padding:16px 20px;}
.pd .detail-imgs img{display:block; margin:0 auto;}
.pd .detail-imgs p{margin:0;}
.pd .notice-bar{margin:18px 0 0;}
.single-product .wc-main{padding:0;}
