.generic-product{max-width:1280px;margin:auto;padding:32px 20px}.generic-summary{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:50px}.generic-summary h1{font-size:clamp(28px,4vw,44px);line-height:1.15}.generic-summary p{white-space:pre-line}#generic-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#generic-gallery button{padding:12px;background:#fff;border:1px solid #ddd;border-radius:8px}#generic-gallery img{width:100%;height:200px;object-fit:contain}#generic-gallery span{display:block;overflow-wrap:anywhere}#generic-options label{display:grid;gap:8px;margin:16px 0}#generic-options select{padding:12px;border:1px solid #ccc;border-radius:6px}#generic-price{font-size:26px;color:#d71920}#generic-zoom{max-width:90vw;width:900px;border:0;border-radius:12px;padding:30px}#generic-zoom img{width:100%;max-height:75vh;object-fit:contain}#generic-zoom::backdrop{background:#0009}.box-features,.optional-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}.box-features p,.optional-grid p,[data-managed-details] dd{overflow-wrap:anywhere}[hidden]{display:none!important}@media(max-width:700px){.generic-summary{grid-template-columns:1fr}#generic-gallery img{height:140px}}
.product-availability{padding:14px 16px;margin:16px 0;border:1px solid #e5b6b6;border-radius:8px;background:#fff1f1;color:#9c2424;font-weight:600;line-height:1.5}.product-availability[data-state="checking"]{background:#f6f7f8;color:#555;border-color:#ddd}#colour-options small{display:block;font-size:11px;color:#9c2424;margin-top:4px}
.gallery-stage,#generic-gallery>button{position:relative;overflow:hidden}.sold-out-ribbon{position:absolute;top:0;right:0;width:160px;height:160px;overflow:hidden;pointer-events:none;z-index:3}.sold-out-ribbon>span{position:absolute;top:34px;right:-48px;width:220px;padding:10px 0;transform:rotate(45deg);background:#c91d27;color:#fff;font-size:16px;font-weight:800;letter-spacing:1.5px;text-align:center;box-shadow:0 3px 8px #0002}#generic-gallery .sold-out-ribbon>span{display:block} @media(max-width:480px){.sold-out-ribbon{width:130px;height:130px}.sold-out-ribbon>span{top:25px;right:-52px;width:195px;font-size:13px;padding:8px 0}}
