/* Product-page only. Theme fonts, no external assets, no fixed promotional overlays. */
.msd-pc-delivery[hidden], .msd-pc-delivery [hidden] { display:none !important; }
.msd-pc-delivery { margin:16px 0 22px; padding:12px 0; border-block:1px solid #e5e0d9; font:inherit; font-size:.875rem; line-height:1.5; overflow-wrap:anywhere; }
.msd-pc-delivery label { display:block; margin-bottom:5px; font-weight:600; }
.msd-pc-delivery select { max-width:100%; min-height:44px; font:inherit; }
.msd-pc-delivery p { margin:5px 0; }
.msd-pc-delivery small { display:block; color:#625f59; font-size:.8rem; }
.msd-pc-shipments { margin-top:12px !important; color:#625f59; }
.msd-pc-colours { margin:12px 0; font:inherit; font-size:.875rem; }
.msd-pc-colours > div { display:flex; flex-wrap:wrap; gap:8px; margin-top:6px; }
.msd-pc-colours a { display:block; border:1px solid #ddd; border-radius:4px; overflow:hidden; }
.msd-pc-colours img { display:block; width:56px; height:56px; object-fit:contain; }
.msd-pc-language { max-width:1240px; margin:0 auto 10px; display:flex; flex-wrap:wrap; gap:8px 14px; align-items:center; font:inherit; font-size:.85rem; }
.msd-pc-language a { text-decoration:underline; color:inherit; }
.msd-pc-language button { font:inherit; color:inherit; background:transparent; padding:8px; border:0; min-height:44px; text-decoration:underline; }
.msd-gallery-controls { display:flex; justify-content:center; align-items:center; gap:14px; margin:8px 0; font:inherit; }
.msd-gallery-controls button { width:44px; height:44px; padding:0; background:#fff; color:#2c2c2c; border:1px solid #ddd; border-radius:4px; font:inherit; font-size:1.3rem; }
.msd-gallery-controls button:disabled { opacity:.4; }
.gallery-thumb[role="button"]:focus-visible, .hero-image[role="button"]:focus-visible,
.msd-gallery-controls button:focus-visible, .msd-pc-colours a:focus-visible, .msd-pc-language :focus-visible { outline:2px solid #8f7a64; outline-offset:3px; }
.hero-image, #lightbox-image { touch-action:pan-y pinch-zoom; }
.gallery-thumb::after { content:none !important; }
@media (max-width:768px) {
    .luxury-gallery .gallery-main { min-width:0; }
    .luxury-gallery .gallery-thumbs { flex-wrap:nowrap; justify-content:flex-start; overflow-x:auto; padding:5px 2px; gap:8px; }
    .luxury-gallery .gallery-thumb { flex:0 0 60px; width:60px; height:60px; object-fit:contain; }
    .luxury-gallery .hero-image { width:100%; height:auto; max-height:52svh; object-fit:contain; }
    .luxury-gallery .hero-image-container { margin-bottom:8px; }
}
@media (prefers-reduced-motion:reduce) { .hero-image, .gallery-thumb { transition:none !important; } }
