/* Produkt-Detailseite (Shop-PDP) */
.pd-top{padding-top:120px}
.pd-crumb{margin-bottom:22px}
.pd-crumb a{color:rgba(255,255,255,.55);font-size:13px;text-decoration:none}
.pd-crumb a:hover{color:var(--cream)}
.pd-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start}

.pd-gallery{position:sticky;top:110px}
.pd-main{border-radius:18px;overflow:hidden;background:#101010;aspect-ratio:4/3}
.pd-main img{width:100%;height:100%;object-fit:cover;display:block}
/* Freisteller-Titelbild auf Weiß: ganzes Produkt zeigen, nicht beschneiden */
.pd-main-full{background:#fff}
.pd-main-full img{object-fit:contain;padding:4% 5%}
.pd-thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.pd-thumbs button{width:72px;height:56px;border-radius:10px;overflow:hidden;border:2px solid transparent;padding:0;cursor:pointer;background:#101010}
.pd-thumbs button img{width:100%;height:100%;object-fit:cover;display:block;opacity:.75;transition:opacity .15s}
.pd-thumbs button:hover img{opacity:1}
.pd-thumbs button[aria-current="true"]{border-color:var(--cream)}
.pd-thumbs button[aria-current="true"] img{opacity:1}

.pd-buy{position:sticky;top:110px}
.pd-brand{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:10px}
.pd-buy h1{font-size:clamp(30px,4vw,44px);margin:0 0 14px}
.pd-short{font-size:15.5px;line-height:1.7;color:rgba(255,255,255,.72);margin:0 0 22px}
.pd-price-row{border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);padding:18px 0;margin-bottom:20px}
.pd-price{font:500 26px 'Inter',sans-serif;color:var(--cream)}
.pd-price-note{font-size:11.5px;color:rgba(255,255,255,.45);margin-top:6px;line-height:1.5}
.pd-swatchrow{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.pd-swatchlabel{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.45)}
.pd-minidots{display:flex;gap:6px}
.pd-minidots span{width:22px;height:22px;border-radius:50%;border:1.5px solid #2a2a2a;background-size:cover;background-position:center}
.pd-ctas{display:flex;flex-direction:column;gap:10px}
.pd-ctas .cream{justify-content:center;text-align:center;padding:15px 22px;font-size:15px}
.pd-configure-hint{font-size:12.5px;color:rgba(255,255,255,.5);line-height:1.6;margin:14px 0 0}
.pd-usps{list-style:none;margin:24px 0 0;padding:18px 0 0;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:9px}
.pd-usps li{font-size:13px;color:rgba(255,255,255,.65);padding-left:24px;position:relative}
.pd-usps li::before{content:"✓";position:absolute;left:0;color:var(--cream)}

.pd-below{padding-top:20px}
.pd-block{margin-top:64px}
.pd-h2{font-size:clamp(22px,2.6vw,30px);margin:0 0 10px}
.pd-sub{color:rgba(255,255,255,.55);font-size:14.5px;margin:0 0 22px;max-width:640px}
.pd-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.pd-fact{background:#141414;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:16px 18px;font-size:13.5px;color:rgba(255,255,255,.7)}
.pd-fact b{display:block;color:#fff;font-weight:500;margin-bottom:5px}
.pd-swatches{display:flex;gap:16px;flex-wrap:wrap}
.pd-swatches .sw{display:flex;flex-direction:column;align-items:center;gap:7px;font-size:11.5px;color:rgba(255,255,255,.6)}
.pd-swatches .sw span.dot{width:56px;height:56px;border-radius:50%;border:2px solid #2a2a2a;background-size:cover;background-position:center;display:block}
.pd-forms{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.pd-form{background:#141414;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:16px 18px}
.pd-form h4{margin:0 0 8px;font:500 14.5px 'Inter',sans-serif;color:#fff}
.pd-form ul{list-style:none;margin:0;padding:0;font-size:12.5px;color:rgba(255,255,255,.6);line-height:1.75}
.pd-gal{columns:3;column-gap:14px}
.pd-gal img{width:100%;border-radius:12px;margin-bottom:14px;display:block;background:#101010}
.pd-final{text-align:center;background:#141414;border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:44px 28px}
.pd-final .pd-sub{margin-left:auto;margin-right:auto}
.pd-final .pd-ctas{flex-direction:row;justify-content:center}

@media(max-width:960px){
  .pd-grid{grid-template-columns:1fr;gap:28px}
  .pd-gallery,.pd-buy{position:static}
  .pd-gal{columns:2}
}
@media(max-width:560px){.pd-gal{columns:1}.pd-final .pd-ctas{flex-direction:column}}
