.pd{padding:28px 4.3% 10px}
.pd-crumb{margin-bottom:18px}
.pd-top{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;align-items:start}
.gallery{position:relative}
.gallery-main{position:relative;background:#f3f1ec}
.gallery-main img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;border:0;background:#fff;box-shadow:0 2px 8px #0002;cursor:pointer;font-size:18px}
.gallery-nav.prev{left:12px}
.gallery-nav.next{right:12px}
.gallery-zoom{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;border:0;background:#fff;box-shadow:0 2px 8px #0002;cursor:pointer}
.thumbs{display:flex;gap:10px;margin-top:12px}
.thumbs button{border:2px solid transparent;padding:0;background:none;cursor:pointer;width:92px}
.thumbs button.is-active{border-color:var(--red)}
.thumbs img{width:100%;height:68px;object-fit:cover;display:block}
.pd-kicker{color:var(--red);font-size:12px;font-weight:700;letter-spacing:1.4px;margin-bottom:8px}
.pd-buy h1{font-size:34px;margin-bottom:8px}
.pd-rating{color:#e0a106;font-size:14px;margin-bottom:12px}
.pd-rating span{color:#666;margin-left:6px}
.pd-buy>p{font-size:15px;line-height:1.5;margin-bottom:16px}
.opt-row{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}
.opt-row strong{width:92px;font-size:14px;color:#222}
.opt-row button,.finish-dot{border:1px solid #e4e4e4;background:#fff;min-width:64px;padding:7px 8px;font-size:13px;cursor:pointer}
.opt-row button.is-selected{border:2px solid var(--red);color:var(--red);font-weight:700}
.finish-row{align-items:center}
.finish-dot{width:28px;height:28px;min-width:28px;padding:0;border-radius:4px}
.finish-dot.is-selected{outline:2px solid var(--red);outline-offset:2px}
.pd-actions{display:flex;gap:12px;margin:18px 0}
.pd-actions .btn{flex:1;justify-content:center;text-align:center;cursor:pointer}
.pd-dialog form .btn{width:100%;cursor:pointer}
.pd-perks{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;text-align:center;margin-top:8px}
.pd-perks svg{width:28px;height:28px;margin:0 auto 6px;display:block}
.pd-perks span{display:block;font-size:12px;font-weight:700;color:#333;line-height:1.3}
.pd-tabs{display:flex;gap:22px;border-bottom:1px solid #eee;margin:28px 0 22px;overflow-x:auto}
.pd-tabs button{border:0;background:none;padding:0 0 12px;font-weight:700;font-size:15px;color:#666;cursor:pointer;white-space:nowrap}
.pd-tabs button.is-active{color:var(--red);box-shadow:inset 0 -2px 0 var(--red)}
.pd-split{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.pd-copy h2{font-size:26px;margin-bottom:10px}
.pd-copy p{font-size:15px;line-height:1.55}
.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;margin:18px 0 22px}
.feature-grid article{display:flex;gap:10px}
.feature-grid svg{width:28px;height:28px;color:var(--red)}
.feature-grid h3{font-size:15px;margin-bottom:2px}
.feature-grid p{font-size:13px;margin:0}
.spec{width:100%;border-collapse:collapse;font-size:14px}
.spec th{text-align:left;background:#fafafa;padding:10px 12px;font-size:15px}
.spec td{padding:10px 12px;border-top:1px solid #f0f0f0;vertical-align:top}
.spec td:first-child{color:#666;width:42%}
.side-photo{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;margin-bottom:18px}
.variation h3{font-size:16px;margin-bottom:10px}
.variation-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}
.variation-row figure{margin:0}
.variation-row img{width:100%;height:72px;object-fit:cover;display:block}
.variation-row figcaption{font-size:12px;color:#666;margin-top:4px}
.also{margin-top:34px}
.also-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:14px}
.also-head h2{margin:0;font-size:26px}
.also-head a{color:var(--red);font-weight:700;font-size:14px}
.also .product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:991px){
  .pd-top,.pd-split{grid-template-columns:1fr}
  .pd-perks{grid-template-columns:1fr 1fr;gap:14px}
  .also .product-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .pd{padding:20px 5% 8px}
  .pd-buy h1{font-size:28px}
  .pd-actions,.feature-grid,.variation-row,.also .product-grid{grid-template-columns:1fr;display:grid}
  .pd-actions{display:grid}
  .thumbs button{width:72px}
}
.pd-custom-value{flex-basis:100%;margin:4px 0 8px 100px;max-width:340px}
.pd-custom-value[hidden]{display:none}
.pd-custom-value label{display:block;font-size:12px;font-weight:600;margin-bottom:6px}
.pd-custom-value input{min-height:42px;font-size:14px;border-color:#ddd}
.pd-custom-value input:focus{border-color:var(--red);box-shadow:0 0 0 3px #e0000010}
@media(max-width:480px){.pd-custom-value{margin-left:0;max-width:none}}
