/* Product page: own code, every value transcribed from the origin's rendered section styles (EcomWize product01 / banner05 / benefit02 / faq04) and the merchant's halv-wb / halv-gift blocks (carried verbatim). */
.pd{background:#fff;padding:32px 16px;letter-spacing:normal;font-family:'Google Sans',sans-serif;color:#000;line-height:1.8}
.pd *{box-sizing:border-box}
.pd__wrap{max-width:1200px;margin:0 auto}
.pd__layout{display:flex;flex-direction:column;gap:24px}
.pd__gallery{width:100%}
.pd__main{aspect-ratio:1;background:#f5f5f5;overflow:hidden;margin-bottom:12px;position:relative}
.pd__track{display:flex;height:100%;transition:transform .3s ease;will-change:transform}
.pd__slide{flex:0 0 100%;width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.pd__slide img{width:100%;height:100%;object-fit:cover}
.pd__nav{position:absolute;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.9);border:1px solid rgba(0,0,0,.1);cursor:pointer;display:flex;align-items:center;justify-content:center;color:#000;z-index:10;transition:all .2s ease;padding:1px 6px}
.pd__nav:hover{background:#fff}
.pd__nav--prev{left:12px}.pd__nav--next{right:12px}
.pd__nav:disabled{opacity:.3;cursor:not-allowed}
.pd__thumbs{display:flex;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.pd__thumbs::-webkit-scrollbar{display:none}
.pd__thumb{flex:0 0 72px;width:72px;height:72px;margin-right:8px;overflow:hidden;cursor:pointer;opacity:.6;transition:opacity .2s ease;border:2px solid transparent;padding:0;background:none}
.pd__thumb:hover{opacity:.85}
.pd__thumb.is-active{opacity:1;border-color:#000}
.pd__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.pd__info{width:100%;min-width:0;overflow:hidden}
.pd__snip{margin-bottom:24px}
.pd__snip:last-child{margin-bottom:0}
.pd__title{font-family:'Google Sans',sans-serif;font-size:28px;font-weight:400;color:#000;text-transform:none;letter-spacing:normal;margin:0;line-height:1.2}
.pd__pricerow{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.pd__price{font-family:'Google Sans',sans-serif;font-size:24px;font-weight:600;color:#000;margin:0}
.pd__bullets{display:flex;flex-direction:column;gap:12px}
.pd__bullet{display:flex;align-items:center;gap:8px}
.pd__bullet-ic{flex-shrink:0;display:inline-flex;align-items:center;width:18px;height:18px;color:#000}
.pd__bullet-ic svg{width:100%;height:100%}
.pd__bullet-tx{font-family:'Google Sans',sans-serif;font-size:14px;font-weight:400;color:#000;line-height:1.5;margin:0}
.pd__variants{display:flex;flex-direction:column;gap:8px}
.pd__vlabel{display:block;font-family:'Google Sans',sans-serif;font-size:12px;font-weight:500;color:#000;margin:0}
.pd__vlabel span{font-weight:400}
.pd__vopts{display:flex;flex-wrap:wrap;gap:8px}
.pd__vbtn{display:flex;align-items:center;gap:10px;padding:8px;border-radius:0;border:2px solid #e5e5e5;background:transparent;color:#000;font-family:'Google Sans',sans-serif;font-size:12px;font-weight:400;cursor:pointer;transition:all .2s;text-align:left}
.pd__vbtn.is-selected{border-color:#000;background:#00000010}
.pd__vbtn img{width:32px;height:32px;flex-shrink:0;border-radius:4px;overflow:hidden;object-fit:cover}
.pd__atc{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:12px 24px;background:#15803d;color:#fff;border:0 solid #fff;border-radius:0;font-family:'Google Sans',sans-serif;font-size:14px;font-weight:500;text-transform:none;cursor:pointer;transition:background-color .2s,color .2s}
.pd__atc:hover{background:#21ce60;color:#fff}
.pd__three{display:flex;flex-direction:row;gap:8px}
.pd__three-item{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:12px;background:#f9f9f9;border-radius:0;border:1px solid #e5e5e5}
.pd__three-ic{margin-bottom:12px;display:inline-flex;align-items:center;justify-content:center;color:#000}
.pd__three-ic svg{display:block}
.pd__three-t{font-family:'Google Sans',sans-serif;font-size:12px;font-weight:600;color:#000;margin:0 0 4px;line-height:1.3;width:100%}
.pd__three-d{font-family:'Google Sans',sans-serif;font-size:10px;font-weight:400;color:#000;opacity:.7;margin:0;line-height:1.4;width:100%}
.pd__acc{display:flex;flex-direction:column}
.pd__acc-item{border-bottom:1px solid #00000066}
.pd__acc-h{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 0;gap:12px;cursor:pointer;background:none;border:none;text-align:left}
.pd__acc-q{flex:1;font-family:'Google Sans',sans-serif;font-size:14px;font-weight:600;color:#000;margin:0}
.pd__acc-ic{display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .2s ease}
.pd__acc-item.is-open .pd__acc-ic{transform:rotate(45deg)}
.pd__acc-c{max-height:0;opacity:0;overflow:hidden;transition:max-height .3s ease,opacity .3s ease}
.pd__acc-item.is-open .pd__acc-c{opacity:1;max-height:500px}
.pd__acc-a{padding:2px 2px 16px;font-family:'Google Sans',sans-serif;font-size:12px;font-weight:400;color:#000;line-height:1.6;margin:0}
/* sticky bar */
.pd-sticky{position:fixed;bottom:0;left:0;right:0;z-index:50;background:#fff;border-top:1px solid #00000015;box-shadow:0 -2px 12px rgba(0,0,0,.08);padding:10px 16px;transform:translateY(100%);transition:transform .3s ease;font-family:'Google Sans',sans-serif}
.pd-sticky.is-visible{transform:translateY(0)}
.pd-sticky__in{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:16px}
.pd-sticky__desk{display:none}
.pd-sticky .pd__atc{width:100%;flex-shrink:0}
/* badges (banner05) */
.pd-badges{background:#f9f9f9;padding:24px 16px;letter-spacing:normal}
.pd-badges__wrap{max-width:1200px;margin:0 auto;width:100%}
.pd-badges__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.pd-badge{display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;border:2px solid #000;border-radius:0}
.pd-badge span{font-family:'Google Sans',sans-serif;font-size:18px;font-weight:400;font-style:normal;color:#000;line-height:1.3;margin:0}
/* benefits (benefit02) */
.pd-ben{background:#fff;padding:32px 16px;letter-spacing:normal}
.pd-ben__wrap{max-width:1200px;margin:0 auto}
.pd-ben__row{display:flex;flex-direction:column-reverse;gap:32px;align-items:center}
.pd-ben__b1,.pd-ben__b2{width:100%}
.pd-ben__h{font-family:'Google Sans',sans-serif;color:#000;font-size:28px;font-weight:400;margin-bottom:16px;text-align:left;line-height:120%;text-transform:none}
.pd-ben__h p,.pd-ben__sub p{margin:0;padding:0}
.pd-ben__sub{font-family:'Google Sans',sans-serif;color:#000;font-size:14px;font-weight:400;margin-bottom:24px;text-align:left;line-height:160%}
.pd-ben__list{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}
.pd-ben__card{display:flex;align-items:flex-start;gap:16px;padding:16px;background:#f9f9f9;border-radius:0;text-align:left}
.pd-ben__ic{flex-shrink:0;display:inline-flex;align-items:center}
.pd-ben__ic svg{width:32px;height:32px}
.pd-ben__ct{display:flex;flex-direction:column;gap:8px;flex:1}
.pd-ben__t{font-family:'Google Sans',sans-serif;color:#000;font-size:14px;font-weight:600;line-height:160%}
.pd-ben__d{font-family:'Google Sans',sans-serif;color:#000;font-size:12px;font-weight:400;line-height:160%}
.pd-ben__btn{display:flex;align-items:center;justify-content:center;width:100%;background:#15803d;color:#fff;padding:12px 24px;border-radius:0;border:0 solid #fff;text-decoration:none;font-family:'Google Sans',sans-serif;font-weight:500;font-size:14px;line-height:160%;text-transform:none;transition:background-color .2s ease,color .2s ease}
.pd-ben__btn:hover{background:#21ce60;color:#fff}
.pd-ben__img{position:relative;overflow:hidden;border-radius:0;aspect-ratio:1/1}
.pd-ben__img img{width:100%;height:100%;object-fit:cover;display:block}
/* faq (faq04) */
.pd-faq{background:#fff;padding:32px 16px;letter-spacing:normal}
.pd-faq__wrap{max-width:1200px;margin:0 auto}
.pd-faq__in{max-width:800px;margin:0 auto;width:100%}
.pd-faq__head{display:flex;flex-direction:column;gap:16px;margin-bottom:32px}
.pd-faq__t{font-family:'Google Sans',sans-serif;color:#000;font-size:28px;font-weight:400;margin:0;text-align:center;line-height:120%;text-transform:none}
.pd-faq__s{font-family:'Google Sans',sans-serif;color:#000;font-size:14px;font-weight:400;margin:0;text-align:center;line-height:160%}
.pd-faq__t p,.pd-faq__s p{margin:0;padding:0}
.pd-faq__list{display:flex;flex-direction:column;gap:12px}
.pd-faq__item{border:1px solid #00000020;border-radius:0;background:#f9f9f9;overflow:hidden;transition:all .2s ease}
.pd-faq__h{display:flex;align-items:center;justify-content:space-between;padding:12px;gap:12px;cursor:pointer;user-select:none;width:100%;background:none;border:0;text-align:left}
.pd-faq__q{font-family:'Google Sans',sans-serif;font-size:14px;font-weight:400;color:#000;line-height:160%;text-align:left;margin:0;flex:1}
.pd-faq__ic{flex-shrink:0;display:inline-flex;align-items:center;transition:transform .3s ease;color:#000;padding:4px}
.pd-faq__item.is-open .pd-faq__ic{transform:rotate(180deg)}
.pd-faq__c{max-height:0;opacity:0;overflow:hidden;transition:max-height .3s ease,opacity .3s ease}
.pd-faq__item.is-open .pd-faq__c{max-height:500px;opacity:1}
.pd-faq__a{padding:0 12px 12px;font-family:'Google Sans',sans-serif;font-size:12px;font-weight:400;color:#000;line-height:160%;text-align:left;margin:0}
.pd-faq__btnw{display:flex;justify-content:center;margin-top:24px}
.pd-faq__btn{display:flex;width:100%;align-items:center;justify-content:center;padding:12px 24px;background:#15803d;color:#fff;font-family:'Google Sans',sans-serif;font-size:14px;font-weight:500;text-decoration:none;border-radius:0;border:0 solid #fff;cursor:pointer;transition:background-color .2s,color .2s;line-height:160%;text-transform:none}
.pd-faq__btn:hover{background:#21ce60;color:#fff}
/* merchant blocks: bundle box + gift (verbatim origin CSS) */
.halv-wb{margin:12px 0 4px} .halv-wb__h{font-size:15px;font-weight:600;margin:0 0 8px;color:#2f2a24} .halv-wb__o{display:flex;align-items:center;gap:10px;padding:11px 12px;margin-bottom:8px;border:1px solid #d9d2c5;border-radius:8px;background:#fff;cursor:pointer;line-height:1.3} .halv-wb__o:has(input:checked){border-color:#2f2a24;background:#fbf8f3;box-shadow:0 0 0 1px #2f2a24} .halv-wb__o input{width:18px;height:18px;flex:0 0 18px;margin:0;accent-color:#2f2a24} .halv-wb__o img{width:44px;height:44px;flex:0 0 44px;object-fit:cover;border-radius:6px} .halv-wb__t{display:flex;flex-direction:column;flex:1;min-width:0;font-size:15px;color:#2f2a24} .halv-wb__t small{font-size:13px;color:#6b6358;margin-top:2px} .halv-wb__p{font-size:15px;font-weight:600;color:#2f2a24;white-space:nowrap} .halv-wb__p s{font-weight:400;color:#8a8175;margin-right:4px}
.halv-gift{margin:10px 0 12px} .halv-gift__row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #d9d2c5;border-radius:8px;background:#fbf8f3;cursor:pointer;line-height:1.3} .halv-gift__cb{width:20px;height:20px;flex:0 0 20px;margin:0;accent-color:#2f2a24;cursor:pointer} .halv-gift__img{width:52px;height:52px;flex:0 0 52px;object-fit:cover;border-radius:6px} .halv-gift__txt{display:flex;flex-direction:column;min-width:0} .halv-gift__t{font-size:14px;color:#2f2a24} .halv-gift__s{font-size:12.5px;color:#6b6358;margin-top:2px}
@media (min-width:1024px){
  .pd{padding:64px 32px}
  .pd__layout{flex-direction:row;gap:64px;align-items:flex-start}
  .pd__gallery{width:55%;position:sticky;top:24px}
  .pd__info{width:45%}
  .pd__title{font-size:32px}
  .pd__price{font-size:28px}
  .pd__bullet-ic{width:20px;height:20px}
  .pd__bullet-tx{font-size:16px}
  .pd__vlabel{font-size:14px}.pd__vbtn{font-size:14px}
  .pd__atc{font-size:16px}
  .pd__three-t{font-size:14px}.pd__three-d{font-size:12px}
  .pd__acc-q{font-size:16px}.pd__acc-a{font-size:14px}
  .pd-sticky{padding:12px 32px}
  .pd-sticky__desk{display:flex}
  .pd-sticky__thumb{width:52px;height:52px;overflow:hidden;flex-shrink:0}
  .pd-sticky__thumb img{width:100%;height:100%;object-fit:cover}
  .pd-sticky__info{display:flex;flex:1;min-width:0;flex-direction:column}
  .pd-sticky__t{font-size:14px;font-weight:600;color:#000;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pd-sticky__p{font-size:13px;font-weight:500;color:#000;margin:2px 0 0;opacity:.7}
  .pd-sticky .pd__atc{width:auto;flex-shrink:0}
  .pd-badges{padding:24px 32px}
  .pd-badges__grid{grid-template-columns:repeat(6,1fr);gap:16px}
  .pd-badge span{font-size:20px}
  .pd-ben{padding:64px 32px}
  .pd-ben__row{flex-direction:row-reverse;gap:48px}
  .pd-ben__b1,.pd-ben__b2{width:50%}
  .pd-ben__h{font-size:32px}.pd-ben__sub{font-size:16px}.pd-ben__t{font-size:16px}.pd-ben__d{font-size:14px}
  .pd-ben__btn{display:inline-flex;width:auto;font-size:16px}
  .pd-faq{padding:64px 32px}
  .pd-faq__t{font-size:32px}.pd-faq__s{font-size:16px}.pd-faq__q{font-size:16px}.pd-faq__a{font-size:14px}
  .pd-faq__btn{display:inline-flex;width:auto;font-size:16px}
}
