@import url("jewellery-media.css?v=391");
.product-image>a{display:block;height:100%}.product-image>a>img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.product:hover .product-image>a>img{transform:scale(1.035)}.product-page{width:94%;max-width:1640px}.breadcrumbs{justify-content:flex-start;gap:13px;border:0;padding:24px 0 32px;font-size:12px;letter-spacing:0;color:var(--muted);overflow:visible;flex-wrap:wrap}.breadcrumbs a:hover{color:var(--wine)}.product-layout{
 --layout-gap:clamp(32px,4vw,72px);
 --previous-gallery-share:.583333333333;
 --previous-thumbnail-size:clamp(68px,6vw,94px);
 --previous-gallery-gap:16px;
 --gallery-share:.6;
 --thumbnail-size:clamp(44px,4.2vw,64px);
 display:grid;
 /* v78: extend the main gallery to the right; keep the existing jewel scale. */
 grid-template-columns:minmax(0,calc((100% - var(--layout-gap)) * var(--gallery-share))) minmax(0,1fr);
 gap:var(--layout-gap);align-items:start
}.gallery{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"photo" "thumbnails" "caption";align-items:start}.expand-hint{position:absolute;bottom:20px;right:21px;font-size:27px;line-height:1;color:#77696d}.zoom-lens{position:absolute;width:190px;height:190px;pointer-events:none;display:none;z-index:10}.zoom-lens.visible{display:block}.gallery-caption{grid-area:caption;display:flex;justify-content:flex-end;margin:12px 0 0;color:var(--muted);font-size:12px}.mobile-hint{display:none}.thumbnails{
 grid-area:thumbnails;display:flex;flex-direction:row;flex-wrap:wrap;
 align-items:center;justify-content:center;justify-self:stretch;
 width:100%;max-width:100%;box-sizing:border-box;gap:10px;margin-top:14px;padding:8px 10px;
 border:1px solid #e9e3e0;border-radius:4px;background:#fcfbfa
}.thumbnails button{flex-shrink:0;width:var(--thumbnail-size);height:var(--thumbnail-size);padding:2px;border:.5px solid #e8e1df99;transition:border-color .2s}.thumbnails button:hover{border-color:#5c01204d}.thumbnails button[aria-pressed=true]{border-color:#5c012080}.thumbnails img{width:100%;height:100%;object-fit:cover}.product-info{min-width:0;padding-top:0}.product-info h1{font-size:52px;line-height:1.1;margin-bottom:12px}.product-subtitle{font-size:20px;margin-bottom:22px}.product-summary{font-size:16px;line-height:1.8;color:var(--muted);max-width:430px}.price-block{margin:29px 0 15px;display:flex;align-items:baseline;gap:17px;flex-wrap:wrap}.product-price{font-size:29px;letter-spacing:-.025em}.tax-note{color:var(--muted);font-size:12px}.availability{color:var(--wine);font-size:14px;font-weight:500}.availability span{color:var(--muted);font-weight:400}.quick-specs{margin:23px 0 28px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14px}.quick-specs div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:18px;padding:6px 0}.quick-specs dt{color:var(--muted);overflow-wrap:anywhere}.quick-specs dd{margin:0;text-align:right;overflow-wrap:anywhere}.spec-note{display:block;color:var(--muted);font-size:12px;margin-top:2px}.buy-row{display:flex;gap:12px}.button-wine{color:#fff;background:var(--wine);border:1px solid var(--wine)}.button-wine:hover{background:#750d30}.buy-row .button{flex:1;min-height:53px}.favorite-product{border:1px solid var(--line);width:55px;display:grid;place-items:center;color:var(--wine)}.favorite-product[aria-pressed=true] svg{fill:var(--wine)}.cart-feedback{color:var(--wine);font-size:13px;line-height:1.5;min-height:20px;margin:10px 0 13px}.service-line{font-size:13px;color:var(--muted);margin-bottom:5px}.product-code{margin-top:19px;color:var(--muted);font-size:12px}.product-details{margin-top:56px;padding-top:34px;border-top:1px solid var(--line)}[hidden]{display:none!important}.detail-content{display:grid;grid-template-columns:1fr 1.3fr;gap:60px}.detail-content h2{font-size:35px;line-height:1.3}.detail-content>div>p:not(.eyebrow){font-size:16px;line-height:1.8;color:var(--muted)}.detail-content .eyebrow{margin-bottom:14px}dialog{border:0;padding:0;max-height:94dvh;box-shadow:0 16px 70px #0004;color:var(--ink)}dialog::backdrop{background:#13090ed9}body.dialog-open{overflow:hidden}.photo-dialog{width:min(900px,96vw);background:white;overflow:auto}.photo-dialog-head{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:10px 22px;border-bottom:1px solid var(--line)}.photo-dialog-head>span:first-child{font-family:Georgia,serif;font-size:22px}.photo-dialog-head>span:nth-child(2){font-size:13px;color:var(--muted);margin-left:auto}.photo-dialog-head button,.cart-dialog-head button{font-size:30px;line-height:1;padding:4px 8px}.large-photo{position:relative;overflow:auto;max-height:calc(94dvh - 116px);height:min(75dvh,760px);background:#fafafa;scrollbar-width:thin}.large-photo>img{width:100%;height:100%;object-fit:contain;max-width:none}.large-photo.zoomed>img{width:200%;height:200%;object-fit:contain}.photo-prev,.photo-next{position:sticky;bottom:45%;float:left;margin-top:calc(-40dvh);left:18px;font-size:40px;line-height:1.1;width:44px;height:48px;background:#ffffffd9;color:var(--wine);z-index:2}.photo-next{float:right;left:auto;right:18px}.photo-dialog-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:13px 22px;font-size:12px;color:var(--muted)}.photo-dialog-bottom button{font-size:14px;color:var(--wine);white-space:nowrap}.cart-dialog{width:min(520px,92vw);padding:27px}.cart-dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.cart-dialog-head h2{font-size:33px;margin:0}.cart-item{display:grid;grid-template-columns:115px 1fr;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:24px}.cart-item img{width:115px;aspect-ratio:1;object-fit:contain}.cart-item h3{font-family:Georgia,serif;font-size:21px;font-weight:400;margin-bottom:5px}.cart-item p{font-size:13px;color:var(--muted);margin-bottom:6px}.cart-item strong{font-size:17px;font-weight:500}.cart-item button{display:block;font-size:12px;margin-top:13px}.cart-demo-note{font-size:13px;color:var(--muted);margin:22px 0}.cart-dialog>.button{width:100%}.product-info button:disabled{opacity:.65;cursor:default}
@media(max-width:1000px){.product-layout{--layout-gap:36px;--previous-gallery-share:.545454545455;--previous-thumbnail-size:64px;--previous-gallery-gap:14px;--thumbnail-size:48px}.product-info{padding-top:0}.product-info h1{font-size:42px}.product-subtitle{font-size:18px}.detail-content{gap:35px}.gallery-caption{font-size:11px}}
@media(max-width:900px){.product-layout{grid-template-columns:1fr;gap:30px}.product-info{padding-top:0}}
@media(max-width:720px){.product-page{width:92%}.product-layout{--thumbnail-size:44px}.thumbnails{gap:9px;padding:7px 8px;margin-top:12px}.breadcrumbs{font-size:11px;gap:9px;padding:20px 0}.product-layout{grid-template-columns:1fr;gap:30px}.product-info h1{font-size:43px}.gallery-caption{margin:10px 0 0;line-height:1.5}.product-info{padding-top:0}.product-summary{max-width:none}.product-price{font-size:28px}.product-details{margin-top:36px;padding-top:26px}.detail-content{grid-template-columns:1fr;gap:7px}.detail-content h2{font-size:30px;margin-bottom:10px}.photo-dialog-head{padding:9px 13px}.photo-dialog-head>span:first-child{font-size:19px}.photo-dialog-bottom{padding:12px 14px}.photo-dialog-bottom>span{font-size:11px}}
@media(hover:none),(pointer:coarse){.zoom-lens.visible{display:none}}
/* A clear centre, a quiet convex edge and a pen-drawn frame. */
.photo-stage>img{transition:filter .16s ease}
.photo-stage.loupe-active{cursor:none}
.photo-stage.loupe-active>img{filter:blur(1.6px)}
.zoom-glass{position:absolute;inset:0;border-radius:50%;overflow:hidden;background-color:#fff;background-repeat:no-repeat;box-shadow:0 5px 18px #23111d20;z-index:2}
.zoom-optic{position:absolute;inset:0;border-radius:inherit;background-color:#fff;background-repeat:no-repeat;-webkit-mask-image:radial-gradient(circle closest-side,#000 38%,#000e 57%,transparent 100%);mask-image:radial-gradient(circle closest-side,#000 38%,#000e 57%,transparent 100%)}
.zoom-glass::before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:3;background:radial-gradient(ellipse at 30% 19%,#fff2,transparent 50%),radial-gradient(circle closest-side,transparent 83%,#6b58640d 96%,#fff7 100%);box-shadow:inset 2px 3px 5px #ffffff6b,inset -2px -3px 6px #3f263a14;pointer-events:none}
.zoom-glass::after{content:"";position:absolute;left:24px;top:13px;width:66px;height:26px;border-top:1.2px solid #ffffff6b;border-radius:50%;transform:rotate(-25deg);z-index:4;pointer-events:none}
.zoom-lens::after{content:"";position:absolute;left:-4px;top:-4px;width:260px;height:260px;background:url("assets/loupe-frame.svg") left top / 260px 260px no-repeat;z-index:5;pointer-events:none}
@media(hover:none),(pointer:coarse){.photo-stage.loupe-active{cursor:zoom-in}.photo-stage.loupe-active>img{filter:none}}
@media(prefers-reduced-motion:reduce){.photo-stage>img{transition:none}}

.large-frame{position:relative}.large-frame .photo-prev,.large-frame .photo-next{position:absolute;top:50%;bottom:auto;float:none;margin:0;transform:translateY(-50%);left:18px}.large-frame .photo-next{left:auto;right:18px}

#add-cart{display:flex;align-items:center;justify-content:center;gap:11px}
#add-cart>svg{width:23px;height:23px;flex-shrink:0;stroke-width:1.05}

/* Product titles start beside the photograph, with a quiet description label. */
.product-page{padding-bottom:60px}
.detail-content .product-description-heading{font-family:inherit;font-size:12px;line-height:1.6;font-weight:500;letter-spacing:.22em;margin:0}
@media(max-width:720px){.product-page{padding-bottom:40px}}

/* Only a slight rounding of product photos and their purchase controls. */
.product-page{--product-corner-radius:var(--jewellery-frame-radius)}
.product-page .thumbnails button,.product-page .buy-row .button,.product-page .favorite-product{border-radius:var(--product-corner-radius)}
.product-page .thumbnails img{border-radius:3px}

/* Keep the description between availability and material / gemstone details. */
.product-info .product-details{margin:22px 0 0;padding:0;border:0}
.product-info .detail-content{display:block}
.product-info .product-description-heading{margin-bottom:8px}
.product-info .detail-content>div>p+p{margin-top:10px}
