/* Task 07: product detail, scoped to the HAL product body. */
#catalogueProduct{overflow-wrap:anywhere}
.pdp-crumbs{display:flex;flex-wrap:wrap;gap:.5rem;padding:1.2rem 0;font-size:.82rem;color:var(--ink-40)}
.pdp-crumbs a{color:var(--ink-70)}
.pdp-crumbs a:hover,.pdp-company:hover{color:var(--yellow)}
.pdp-preview{padding:1rem;border:1px solid var(--yellow);color:var(--yellow)}
.pdp-section{padding:clamp(2.4rem,5vw,4rem) 0;border-bottom:1px solid var(--line)}
.pdp-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.pdp-gallery{display:flex;gap:.8rem;height:min(70vh,480px);min-width:0}
.pdp-thumbs{width:74px;flex:none;display:flex;flex-direction:column;gap:.6rem;overflow-y:auto}
.pdp-thumbs button{flex:none;width:100%;aspect-ratio:1;border:2px solid transparent;border-radius:10px;overflow:hidden;background:var(--plate);cursor:pointer}
.pdp-thumbs button[aria-pressed=true]{border-color:var(--yellow)}
.pdp-thumbs img{width:100%;height:100%;object-fit:cover}
.pdp-main-image{position:relative;flex:1;min-width:0;background:var(--plate);border:0;border-radius:22px;overflow:hidden;cursor:zoom-in}
.pdp-main-image img{width:100%;height:100%;object-fit:contain}
.pdp-main-image>span{position:absolute;right:1rem;bottom:1rem;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#0a0a0b;color:white;font-size:1.5rem}
.pdp-no-image{width:100%;display:grid;place-items:center;background:var(--panel);border:1px solid var(--line);border-radius:22px;color:var(--ink-40)}
.pdp-lightbox{margin:auto;width:min(1000px,94vw);max-height:94vh;padding:3.5rem 1rem 1rem;background:var(--panel);color:var(--ink);border:1px solid var(--line-strong);border-radius:16px}
.pdp-lightbox::backdrop{background:rgba(0,0,0,.9)}
.pdp-lightbox img{display:block;max-height:78vh;max-width:100%;margin:auto;object-fit:contain}
.pdp-lightbox form{position:absolute;right:.5rem;top:.5rem}
.pdp-lightbox button{width:44px;height:44px;background:transparent;color:var(--ink);border:1px solid var(--line-strong);cursor:pointer}
.pdp-company{display:inline-flex;align-items:center;gap:.6rem;font-size:.85rem;font-weight:700;color:var(--ink-70);margin-bottom:1rem}
.pdp-company img{width:32px;height:32px;object-fit:contain;border-radius:6px;background:var(--plate)}
.pdp-info h1{font-size:clamp(1.9rem,3.6vw,2.7rem);line-height:1.08;letter-spacing:-.03em;font-weight:900}
.pdp-price{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;margin-top:1rem;font-size:1.7rem;font-weight:800}
.pdp-price del{font-size:1.1rem;color:var(--ink-40);font-weight:500}
.pdp-lede,.pdp-text{font-size:1.02rem;line-height:1.7;color:var(--ink-70)}
.pdp-lede{margin-top:1rem}
.pdp-unavailable{margin-top:1rem;color:var(--yellow);font-weight:700}
.pdp-options{margin:1.7rem 0 0;border:0;padding:0;min-width:0}
.pdp-options legend{font-size:.75rem;text-transform:uppercase;font-weight:800;letter-spacing:.1em;color:var(--ink-70);margin-bottom:.7rem}
.pdp-options>div{display:flex;flex-wrap:wrap;gap:.6rem}
.pdp-option{position:relative;cursor:pointer;max-width:100%;overflow-wrap:anywhere}
.pdp-option input{position:absolute;opacity:0;width:1px;height:1px}
.pdp-option>span{display:flex;align-items:center;gap:.6rem;min-height:44px;padding:.6rem 1.1rem;border:1px solid var(--line-strong);border-radius:99px;font-size:.85rem;font-weight:600}
.pdp-option input:checked+span{background:var(--yellow);color:#0a0a0b;border-color:var(--yellow)}
.pdp-option input:focus-visible+span{outline:2px solid var(--ink);outline-offset:4px}
.pdp-option i{width:20px;height:20px;border:1px solid rgba(127,127,127,.6);border-radius:50%;display:block;flex:none}
.pdp-buy-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.pdp-quantity{display:flex;border:1px solid var(--line-strong);height:52px}
.pdp-quantity button{width:38px;border:0;background:transparent;color:var(--ink);font-size:1.2rem;cursor:pointer}
.pdp-quantity input{width:54px;min-width:0;padding:0;background:transparent;border:0;color:var(--ink);text-align:center;font:inherit;appearance:textfield}
.pdp-quantity input::-webkit-inner-spin-button,.pdp-quantity input::-webkit-outer-spin-button{appearance:none;margin:0}
#productAdd{flex:1;min-width:140px;padding:.8rem;border:1px solid var(--ink);background:var(--ink);color:#0a0a0b;font:inherit;font-size:.82rem;font-weight:800;text-transform:uppercase;cursor:pointer}
#productAdd:hover{background:var(--yellow);border-color:var(--yellow)}
#productAdd:disabled{background:transparent;border-color:var(--line-strong);color:var(--ink-40);cursor:default}
.pdp-wish{width:52px;height:52px;background:transparent;color:var(--ink);border:1px solid var(--line-strong);font-size:1.6rem;cursor:pointer}
.pdp-wish[aria-pressed=true]{background:var(--yellow);color:#0a0a0b}
#productStatus{font-size:.85rem;line-height:1.6;margin-top:1rem;color:var(--ink-70)}
#productStatus a{text-decoration:underline}
.pdp-shop-link{display:inline-block;margin-top:1.4rem;padding:.85rem 1.3rem;border:1px solid var(--line-strong);font-size:.86rem;font-weight:700}
.pdp-section h2,.pdp-missing h1{font-size:clamp(1.4rem,2.6vw,1.9rem);font-weight:900;text-transform:uppercase;margin-bottom:1.2rem}
.pdp-text{max-width:75ch}
.pdp-description{background:var(--yellow);color:#0a0a0b}
.pdp-description .pdp-text{color:rgba(10,10,11,.8)}
.pdp-related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
.pdp-related-card{border:1px solid var(--line);background:var(--panel);border-radius:16px;overflow:hidden}
.pdp-related-image{aspect-ratio:1;background:var(--plate);display:grid;place-items:center;color:#555}
.pdp-related-image img{width:100%;height:100%;object-fit:contain}
.pdp-related-body{padding:1rem}
.pdp-related-body h3{font-size:1rem;line-height:1.4}
.pdp-related-body p{margin:.5rem 0;font-weight:800}
.pdp-related-body small{color:var(--ink-70)}
.pdp-missing{padding:4rem 0}
@media(max-width:900px){.pdp-grid{grid-template-columns:1fr}}
@media(max-width:640px){.pdp-gallery{flex-direction:column-reverse;height:auto}.pdp-thumbs{width:100%;flex-direction:row;overflow-x:auto}.pdp-thumbs button{width:64px}.pdp-main-image,.pdp-no-image{aspect-ratio:1;flex:auto}.pdp-related{grid-template-columns:1fr 1fr}.pdp-buy-row{gap:.5rem}.pdp-wish{width:44px}}
@media(prefers-reduced-motion:reduce){#catalogueProduct *{scroll-behavior:auto;transition:none}}
