/* JDR single product detail. Uses site brand tokens (:root --bls-*). */
#jdr-product{padding:40px 0 84px;}
#jdr-product .bls-container{max-width:1200px;margin:0 auto;padding:0 20px;}
.pd-breadcrumb{font-size:13px;color:var(--bls-text,#5f6672);margin:0 0 26px;}
.pd-breadcrumb a{color:var(--bls-text,#5f6672);text-decoration:none;}
.pd-breadcrumb a:hover{color:var(--bls-primary,#00b8a5);}
.pd-breadcrumb span{color:var(--bls-heading,#282c34);}
.pd-top{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
.pd-media{position:sticky;top:20px;}
#pd-main{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px;border:1px solid var(--bls-border,#e6e9ec);background:#fff;display:block;}
.pd-thumbs{display:flex;gap:12px;margin-top:14px;flex-wrap:wrap;}
.pd-thumbs button{width:74px;height:74px;padding:0;border:2px solid var(--bls-border,#e6e9ec);border-radius:8px;overflow:hidden;background:#fff;cursor:pointer;transition:border-color .2s;}
.pd-thumbs button.is-active,.pd-thumbs button:hover{border-color:var(--bls-primary,#00b8a5);}
.pd-thumbs img{width:100%;height:100%;object-fit:cover;display:block;}
.pd-brand{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:700;color:var(--bls-primary,#00b8a5);margin:0 0 8px;}
.pd-info h1{font-size:34px;line-height:1.15;margin:0 0 12px;color:var(--bls-heading,#282c34);}
.pd-tagline{font-size:16px;color:var(--bls-text,#5f6672);margin:0 0 26px;line-height:1.6;}
.pd-quick{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:11px;}
.pd-quick li{display:flex;gap:12px;font-size:14.5px;color:var(--bls-text,#5f6672);}
.pd-quick li b{color:var(--bls-heading,#282c34);min-width:130px;font-weight:600;}
.pd-chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 28px;}
.pd-chip{font-size:12.5px;padding:5px 13px;border:1px solid var(--bls-border,#e6e9ec);border-radius:999px;color:var(--bls-text,#5f6672);}
.pd-btn{display:inline-flex;align-items:center;gap:8px;background:var(--bls-primary,#00b8a5);color:#fff;text-decoration:none;font-weight:700;padding:14px 28px;border-radius:8px;transition:background .2s;}
.pd-btn:hover{background:var(--bls-primary-dark,#009a8b);color:#fff;}
.pd-brochure{display:inline-block;margin-left:16px;font-size:14px;color:var(--bls-primary,#00b8a5);text-decoration:none;font-weight:600;}
.pd-brochure:hover{text-decoration:underline;}
.pd-section{margin-top:60px;}
.pd-section h2{font-size:24px;margin:0 0 20px;color:var(--bls-heading,#282c34);}
.pd-spec-table{width:100%;border-collapse:collapse;font-size:14.5px;}
.pd-spec-table th,.pd-spec-table td{text-align:left;padding:13px 16px;border:1px solid var(--bls-border,#e6e9ec);vertical-align:top;}
.pd-spec-table th{width:230px;background:var(--bls-bg-alt,#f6f8f9);color:var(--bls-heading,#282c34);font-weight:600;}
.pd-spec-table td{color:var(--bls-text,#5f6672);}
.pd-variants{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.pd-variant{border:1px solid var(--bls-border,#e6e9ec);border-radius:10px;overflow:hidden;background:#fff;}
.pd-variant img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;}
.pd-variant .v-body{padding:12px 14px;}
.pd-variant .v-name{font-weight:700;font-size:15px;color:var(--bls-heading,#282c34);}
.pd-variant .v-code{font-size:12.5px;color:var(--bls-text,#5f6672);margin-top:3px;}
.pd-scenes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.pd-scenes img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;display:block;}
.pd-desc{font-size:15px;line-height:1.8;color:var(--bls-text,#5f6672);max-width:920px;}
.pd-desc p{margin:0 0 14px;}
@media(max-width:900px){.pd-top{grid-template-columns:1fr;gap:28px;}.pd-media{position:static;}.pd-variants{grid-template-columns:repeat(2,1fr);}.pd-scenes{grid-template-columns:1fr 1fr;}.pd-info h1{font-size:27px;}}
@media(max-width:560px){.pd-variants,.pd-scenes{grid-template-columns:1fr;}}
/* ---- Products archive / series grid ---- */
.pa-head{padding:56px 0 8px;text-align:center;}
.pa-head .bls-container{max-width:1000px;margin:0 auto;padding:0 20px;}
.pa-kicker{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:700;color:var(--bls-primary,#00b8a5);margin:0 0 10px;}
.pa-head h1{font-size:40px;margin:0 0 12px;color:var(--bls-heading,#282c34);}
.pa-head>.bls-container>p{font-size:16px;color:var(--bls-text,#5f6672);line-height:1.6;margin:0;}
.pa-filter{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:32px auto 0;max-width:1120px;padding:0 20px;}
.pa-filter a{font-size:13.5px;font-weight:600;padding:8px 18px;border:1px solid var(--bls-border,#e6e9ec);border-radius:999px;color:var(--bls-text,#5f6672);text-decoration:none;transition:all .2s;}
.pa-filter a:hover{border-color:var(--bls-primary,#00b8a5);color:var(--bls-primary,#00b8a5);}
.pa-filter a.is-active{background:var(--bls-primary,#00b8a5);border-color:var(--bls-primary,#00b8a5);color:#fff;}
.pa-grid-wrap{padding:44px 0 84px;}
.pa-grid-wrap .bls-container{max-width:1200px;margin:0 auto;padding:0 20px;}
.pa-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.pa-card{display:block;border:1px solid var(--bls-border,#e6e9ec);border-radius:12px;overflow:hidden;background:#fff;text-decoration:none;transition:box-shadow .2s,transform .2s;}
.pa-card:hover{box-shadow:0 14px 34px rgba(40,44,52,.09);transform:translateY(-3px);}
.pa-card__img{aspect-ratio:4/3;background:var(--bls-bg-alt,#f6f8f9);overflow:hidden;}
.pa-card__img img{width:100%;height:100%;object-fit:cover;display:block;}
.pa-card__body{padding:18px 20px 22px;}
.pa-card__series{font-size:11.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--bls-primary,#00b8a5);font-weight:700;}
.pa-card__title{font-size:18px;color:var(--bls-heading,#282c34);margin:6px 0 6px;font-weight:700;}
.pa-card__tag{font-size:13.5px;color:var(--bls-text,#5f6672);line-height:1.5;margin:0;}
.pa-card__more{display:inline-block;margin-top:12px;font-size:13.5px;font-weight:600;color:var(--bls-primary,#00b8a5);}
.pa-empty{text-align:center;color:var(--bls-text,#5f6672);padding:40px 0;}
.pa-pagination{margin-top:40px;text-align:center;}
.pa-pagination .page-numbers{display:inline-block;padding:8px 14px;margin:0 3px;border:1px solid var(--bls-border,#e6e9ec);border-radius:8px;color:var(--bls-text,#5f6672);text-decoration:none;}
.pa-pagination .page-numbers.current{background:var(--bls-primary,#00b8a5);color:#fff;border-color:var(--bls-primary,#00b8a5);}
@media(max-width:900px){.pa-grid{grid-template-columns:repeat(2,1fr);}.pa-head h1{font-size:30px;}}
@media(max-width:560px){.pa-grid{grid-template-columns:1fr;}}
.pa-filter{margin-bottom:40px;}
