
/* Product page purchase layout only — original theme retained */
.product-detail .detail-text{min-width:0}.product-detail .detail-text h1{margin-bottom:12px}.product-detail .product-purchase{max-width:none;margin:24px 0}.product-choice-title{font-size:13px;font-weight:600;margin:20px 0 12px}.product-choice-title strong{font-weight:500;margin-left:9px;color:var(--brand)}.colour-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.colour-option{position:relative;min-width:0;background:none;border:0;padding:0;cursor:pointer;color:var(--ink);font:inherit;text-align:center}.colour-option>img,.colour-fallback{width:100%;aspect-ratio:1/1;border:2px solid var(--border);border-radius:11px;object-fit:cover;display:flex;align-items:center;justify-content:center;overflow:hidden}.colour-fallback{flex-direction:column;gap:8px;background:var(--warm);font-size:11px}.colour-dot{display:block;background:#ddd;width:42%;aspect-ratio:1;border-radius:50%;border:1px solid #0002}.colour-option:hover>img,.colour-option:hover .colour-fallback,.colour-option.is-selected>img,.colour-option.is-selected .colour-fallback{border-color:var(--brand)}.colour-caption{display:block;overflow-wrap:anywhere;font-size:11px;line-height:1.4;text-transform:uppercase;margin-top:7px}.colour-option.is-selected .colour-caption{color:var(--brand);font-weight:700}.colour-sold{position:absolute;top:7px;left:7px;border-radius:4px;background:#fffdf7e8;color:#9c2538;padding:2px 6px;font-size:10px}.product-stock{font-size:13px;font-weight:600;color:#159555;margin:13px 0}.product-stock.is-out{color:#bd3548}.product-detail .purchase-actions{display:flex;gap:12px;align-items:stretch;margin:28px 0 0}.qty-stepper{width:116px;flex:0 0 116px;min-height:52px;display:flex;align-items:center;border:1px solid var(--border);border-radius:10px;overflow:hidden}.qty-stepper button{width:35px;height:50px;padding:0;border:0;background:transparent;color:var(--ink);font-size:20px;cursor:pointer}.qty-stepper input[type=number]{border:0;padding:0;width:44px;min-width:0;background:transparent;font:500 15px 'DM Sans',sans-serif;text-align:center;appearance:textfield;-moz-appearance:textfield}.qty-stepper input::-webkit-outer-spin-button,.qty-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.product-add-button{min-width:0;flex:1;min-height:52px;border:1px solid var(--brand);border-radius:10px;background:#fff;color:var(--brand);font:600 14px 'DM Sans',sans-serif;letter-spacing:.8px;cursor:pointer}.product-add-button:hover:not(:disabled){background:var(--brand);color:white}.product-add-button:disabled{cursor:not-allowed;opacity:.45}.product-wishlist{width:52px;flex:0 0 52px;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--brand);font-size:29px;cursor:pointer}.product-wishlist[aria-pressed=true]{background:var(--warm)}@media(max-width:1150px){.colour-options{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:740px){.colour-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.product-detail .purchase-actions{gap:7px}.qty-stepper{width:104px;flex-basis:104px}.product-wishlist{width:46px;flex-basis:46px}.product-detail .detail-text{padding-top:8px}}@media(max-width:390px){.colour-options{grid-template-columns:repeat(2,minmax(0,1fr))}.qty-stepper{width:96px;flex-basis:96px}.product-add-button{font-size:12px;letter-spacing:0}.product-wishlist{width:40px;flex-basis:40px}}

/* Per-colour gallery links */
.colour-option .colour-gallery-link{display:block;position:relative;z-index:2;color:var(--brand);font-size:11px;text-decoration:underline;margin:5px 0;line-height:1.5}.colour-option .colour-gallery-link:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.product-gallery .thumbs button{cursor:pointer}.product-gallery .thumbs img{object-fit:cover}.colour-option:focus-within{outline:2px solid var(--brand);outline-offset:3px}

/* Product photograph fills frame; zoom tools at lower centre. */
.product-gallery .main-photo{position:relative;overflow:hidden}
.product-gallery .main-photo #zoom-photo{width:100%;height:100%;object-fit:cover;transform:scale(1);transform-origin:center center}
.product-gallery .main-photo .zoom-actions{position:absolute;z-index:5;bottom:15px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:6px;margin:0;padding:6px 8px;border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 3px 15px #0002;white-space:nowrap}
.product-gallery .main-photo .zoom-actions button{cursor:pointer}
/* Jewellery follows product details and precedes customer reviews. */
.jewellery-picker[hidden],.jewellery-card[hidden]{display:none!important}
.jewellery-picker{margin:22px 0;padding:22px;border:1px solid var(--border);border-radius:14px;background:#fff}
.jewellery-picker h2{margin:0 0 6px}
.jewellery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;margin-top:18px}
.jewellery-card{display:flex;flex-direction:column;gap:9px;padding:12px;border:1px solid var(--border);border-radius:11px;min-width:0}
.jewellery-card img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px}
.jewellery-card strong{font-size:14px;overflow-wrap:anywhere}
.jewellery-card .button{text-align:center;margin-top:auto}
@media(max-width:640px){.jewellery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-gallery .main-photo .zoom-actions{bottom:10px}.product-gallery .main-photo .zoom-actions button{padding:5px 8px}}
