/* Product detail concept layout: gallery left,
purchase panel right. */
.product-detail-page:not(.bullion-page) .detail-price-wishlist{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px}
.product-detail-page:not(.bullion-page) .detail-price-wishlist .detail-wishlist{position:static;display:flex;align-items:center;justify-content:center;width:58px;height:58px;min-width:58px;min-height:58px;margin:0;padding:0;border:1px solid var(--gold);border-radius:0;background:transparent;color:var(--navy);font-size:1.8rem;line-height:1;cursor:pointer}
.product-detail-page:not(.bullion-page) .detail-price-wishlist .detail-wishlist:hover,.product-detail-page:not(.bullion-page) .detail-price-wishlist .detail-wishlist.is-loved{background:var(--gold);color:var(--navy)}
.product-detail-page .related-piece-card .related-piece-wish.wish{position:static;opacity:1;visibility:visible;transform:none}
.product-detail-page .detail-wishlist:focus-visible,.product-detail-page .related-piece-wish:focus-visible{outline:2px solid var(--navy);outline-offset:3px}
.product-detail-page{
  background:#fbf8f2;
  color:var(--navy);
}
.product-detail-main{background:#fbf8f2}
.detail-hero{padding:100px 0 86px;background:linear-gradient(180deg,#fbf8f2 0%,#fffdf9 100%)}
.detail-shell{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr);gap:70px;align-items:start}
.detail-gallery{min-width:0}
.product-detail-page .gallery-main{position:relative;display:grid;place-items:center;aspect-ratio:1/1;min-height:0;padding:34px;border-radius:0;background:#eee2cf;box-shadow:none;overflow:hidden}
.product-detail-page .gallery-main img{display:block;width:100%;height:100%;object-fit:contain;cursor:zoom-in;transform-origin:center;transition:transform .28s ease}
.product-detail-page .gallery-main.is-zoomed{touch-action:none}
.product-detail-page .gallery-main.is-zoomed img{cursor:grab;will-change:transform;transition:transform .12s ease-out}
.product-detail-page .gallery-main.is-dragging img{cursor:grabbing;transition:none}
.product-detail-page .gallery-main #mainProduct{-webkit-user-drag:none;user-select:none;-webkit-user-select:none;touch-action:none}
.gallery-arrow{position:absolute;top:50%;z-index:2;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:var(--navy);font:400 2rem/1 'Cormorant Garamond',serif;cursor:pointer;transform:translateY(-50%);box-shadow:0 6px 16px rgba(13,27,61,.08)}
.gallery-prev{left:18px}.gallery-next{right:18px}
.image-zoom-pill{position:absolute;right:18px;bottom:18px;display:inline-flex;align-items:center;gap:9px;padding:11px 16px;border:0;border-radius:999px;background:rgba(255,255,255,.92);color:var(--navy);font-size:.78rem;cursor:pointer;box-shadow:0 6px 18px rgba(13,27,61,.08)}
.image-zoom-pill[aria-pressed="true"]{background:var(--navy);color:#fff}
.thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:24px}
.product-detail-page .thumb{width:100%;height:auto;aspect-ratio:1/1;border:1px solid transparent;border-radius:5px;padding:0;background:#f5efe5;overflow:hidden;cursor:pointer;}
.product-detail-page .thumb.is-active{border:2px solid var(--navy)}
.product-detail-page .thumb img{display:block;width:100%;height:100%;padding:8px;box-sizing:border-box;object-fit:contain}
.detail-info{padding:10px 0 0;min-width:0}
.detail-title-card{margin-bottom:24px;padding:24px 30px 22px;background:#efe2ce;border-radius:4px}
.detail-info h1{margin:0;color:#171717;font:500 clamp(2.25rem,3.2vw,3.6rem)/1.03 'Cormorant Garamond',serif;letter-spacing:-.025em;overflow-wrap:anywhere}
.detail-product-code{margin:17px 0 0;color:#777;font-size:1.05rem;letter-spacing:.03em}
.detail-product-purity{margin:0 0 9px;color:var(--navy);font:500 1.8rem/1.1 'Cormorant Garamond',serif}
.detail-info>.price,.detail-info .detail-price-wishlist .price{margin:0;color:var(--navy);font-size:2rem;font-weight:700}
.detail-specs{margin:28px 0 22px}
.product-detail-page .detail-summary-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #d9d9d5;border-bottom:1px solid #d9d9d5}
.product-detail-page .detail-summary-row .detail-summary-spec{display:grid;justify-content:start;align-content:center;gap:3px;min-width:0;padding:12px 18px 12px 0;border:0}
.product-detail-page .detail-summary-row .detail-summary-spec+.detail-summary-spec{padding-left:22px;border-left:1px solid #d9d9d5}
.product-detail-page .detail-summary-spec>span{font-size:.78rem;color:#88785e}
.product-detail-page .detail-summary-spec>b{justify-content:flex-start;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.product-detail-page .detail-spec{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:52px;padding:9px 0;border-bottom:1px solid #d9d9d5;color:var(--navy)}
.product-detail-page .detail-spec>span{font-size:.95rem}
.product-detail-page .detail-spec>b{display:flex;justify-content:flex-end;align-items:center;min-width:0;font-size:.95rem}
.product-detail-page .detail-spec .variant-picker{display:block!important;width:180px!important;min-width:180px!important;margin:0!important;left:auto!important;position:relative!important}
.product-detail-page .detail-spec .variant-choose{min-height:38px;padding:8px 34px 8px 12px;border:1px solid #d8d8d8;background:#fff;color:var(--navy);font-size:.78rem}
.product-detail-page .detail-spec .variant-menu{z-index:1000!important;background:#07142f!important;opacity:0;isolation:isolate}
.product-detail-page .detail-spec .variant-menu.is-open{opacity:1!important}
.product-detail-page .detail-spec .variant-menu .variant-option{background:#07142f!important;color:#fff!important}
.product-detail-page .detail-spec .variant-menu .variant-option:hover,.product-detail-page .detail-spec .variant-menu .variant-option:focus-visible,.product-detail-page .detail-spec .variant-menu .variant-option.is-selected{background:#d9a847!important;color:#0d1b3d!important}
.product-detail-page .detail-quantity-row{display:flex!important;grid-template-columns:none!important;align-items:center;justify-content:space-between!important;gap:24px;margin:22px 0 18px}
.detail-quantity-label{color:var(--navy);font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.product-detail-page .detail-quantity-row .quantity-control{display:grid;grid-template-columns:47px 52px 47px;width:146px;height:52px;margin-left:auto;border:1px solid #d9d9d5;border-radius:16px;overflow:hidden;background:#fff}
.product-detail-page .detail-quantity-row .quantity-control button,
.product-detail-page .detail-quantity-row .quantity-control input{width:100%;height:100%;border:0;border-radius:0;background:#fff;color:var(--navy);text-align:center}
.product-detail-page .detail-quantity-row .quantity-control button{font-size:1.15rem;cursor:pointer}
.product-detail-page .detail-quantity-row .quantity-control input{border-left:1px solid #e3e0db;border-right:1px solid #e3e0db;font-size:.95rem}
.product-detail-page .detail-add-cart{display:flex;align-items:center;justify-content:center;width:100%;min-height:68px;border:1px solid var(--navy);border-radius:16px;background:var(--navy);color:#fff;font-size:1rem;letter-spacing:.16em;text-transform:uppercase}
.product-detail-page .detail-buy-now{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:68px;margin-top:12px;border:0;border-radius:16px;background:linear-gradient(135deg,#ebcf87,#b37f40);color:#fff;font-size:1rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;}
.detail-description{margin-top:30px;padding:24px 0 0;border-top:1px solid #d9d9d5}.detail-description h2{margin:0 0 10px;color:var(--navy);font:500 1.8rem/1 'Cormorant Garamond',serif}.detail-description p{margin:0;color:#697487;font-size:.9rem;line-height:1.75;white-space:pre-line}
.detail-secondary-actions{display:flex;align-items:center;justify-content:center;gap:26px;margin-top:28px;color:var(--navy)}
.detail-secondary-actions button{display:inline-flex;align-items:center;gap:9px;border:0;background:transparent;color:var(--navy);font-size:.9rem;cursor:pointer}
.detail-secondary-actions .wish{position:static!important;top:auto;right:auto;width:auto;height:auto;min-height:0;border:0;background:transparent;z-index:auto}
.detail-secondary-actions button:first-child{font-size:1.65rem}.detail-secondary-actions button:first-child span,
.detail-secondary-actions .detail-share span{font-size:.9rem}
.product-detail-page .related-section{padding:100px 0 130px;background:#fffaf4}
.product-detail-page .related-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}
.product-detail-page .related-heading-row .section-title{margin:0;color:var(--navy);font:500 clamp(2.5rem,4vw,4rem)/1 'Cormorant Garamond',serif}
.product-detail-page .related-heading-row .eyebrow{margin:0 0 8px}
.product-detail-page .related-heading-row .related-view-all{margin:0 0 8px;padding:0 0 8px;border-bottom:1px solid var(--navy);color:var(--navy);font-size:.88rem}
.product-detail-page .related-products-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:24px!important}
.product-detail-page .related-piece-card{position:relative;display:flex;flex-direction:column;min-width:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
.product-detail-page .related-piece-open{display:block}
.product-detail-page .related-piece-image{display:block;aspect-ratio:1/1;margin:0;width:100%;border:0;border-radius:5px;background:#f3eadc;overflow:hidden}
.product-detail-page .related-piece-image img{width:100%;height:100%;padding:12px;box-sizing:border-box;object-fit:contain;}
.product-detail-page .related-piece-wish{top:12px;right:12px;width:34px;height:34px;border:0;background:rgba(255,255,255,.78);color:var(--navy);font-size:1.55rem;line-height:1}
.product-detail-page .related-piece-info{display:grid;grid-template-rows:2.75rem 1.4em auto;gap:4px;flex:1;min-width:0;min-height:112px;padding:14px 2px 0}
.product-detail-page .related-piece-category,
.product-detail-page .related-piece-actions{display:none}
.product-detail-page .related-piece-name{display:-webkit-box;min-width:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;max-height:2.2em;color:#171717;font:500 1.25rem/1.1 'Cormorant Garamond',serif;white-space:normal}
.product-detail-page .related-piece-code{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#858585;font-size:.82rem;letter-spacing:.03em}
.product-detail-page .related-piece-price{display:block;align-self:end;margin:0;color:var(--navy);font-size:1rem;font-weight:700}
.product-detail-page .related-piece-price-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.product-detail-page .related-piece-price-row .related-piece-price{align-self:center;min-width:0}
.product-detail-page .related-piece-price-row .related-piece-wish{display:grid;place-items:center;flex-shrink:0;margin:0;padding:0}
.product-detail-page .related-piece-image.catalogue-image-pair{display:grid!important}
.product-detail-page .related-piece-image.catalogue-image-pair>img{grid-area:1/1;min-width:0;min-height:0;transition:opacity .28s ease}
.product-detail-page .related-piece-image .catalogue-image-hover{opacity:0;pointer-events:none}
@media(hover:hover) and (pointer:fine){
  .product-detail-page .related-piece-card:hover .hover-image-ready .catalogue-image-main{opacity:0}
  .product-detail-page .related-piece-card:hover .hover-image-ready .catalogue-image-hover{opacity:1}
}
@media(prefers-reduced-motion:reduce){
  .product-detail-page .related-piece-image.catalogue-image-pair>img{transition:none!important}
}
@media(max-width:760px){
  /* Enlarge only the inner image; keep the existing square frame dimensions. */
  body.product-detail-page .related-piece-image{padding:6px!important;box-sizing:border-box}
  body.product-detail-page .related-piece-image img{padding:0!important}
}
.product-detail-page .mobile-product-actions{display:none!important}

/* The jewelry detail clock shares the catalogue's refresh status. */
body.product-detail-page:not(.bullion-page) .detail-refresh-bar{
  position:sticky;top:calc(var(--gf-topbar-height,34px) + var(--gf-header-height,82px));z-index:1450;
  display:grid;align-items:center;min-height:56px;background:#fffdf9;
  border-top:1px solid #eadfc9;border-bottom:1px solid #e5ded3;
}
body.product-detail-page .detail-refresh-bar .container{width:100%}
body.product-detail-page .detail-refresh-bar .jewelry-refresh-clock{
  justify-content:center;margin:0;text-align:center;
}
.product-detail-page .related-view-more{
  display:block;min-width:180px;min-height:46px;margin:38px auto 0;padding:10px 24px;
  border:1px solid var(--navy);background:transparent;color:var(--navy);
  font:600 .82rem/1.4 Montserrat,Arial,sans-serif;letter-spacing:.04em;cursor:pointer;
}
.product-detail-page .related-view-more:hover,.product-detail-page .related-view-more:focus-visible{background:var(--navy);color:#fff}
.product-detail-page .related-view-more[hidden]{display:none!important}
@media(max-width:900px){
  .detail-hero{padding:108px 0 65px}
  .detail-shell{grid-template-columns:1fr;gap:48px}
  .detail-info{padding:0}
  .product-detail-page .related-products-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:640px){
  .detail-hero{padding:96px 0 52px}
  .product-detail-page .gallery-main{padding:18px}
  .gallery-arrow{width:36px;height:36px;font-size:1.6rem}
  .gallery-prev{left:10px}.gallery-next{right:10px}
  .image-zoom-pill{right:10px;bottom:10px;padding:9px 12px;font-size:.7rem}
  .thumbs{gap:7px;margin-top:12px}
  .detail-info h1{font-size:3rem}
  .detail-product-code{margin:14px 0 16px;font-size:.9rem}
  .detail-product-purity{font-size:1.5rem}
  .detail-info>.price,.detail-info .detail-price-wishlist .price{font-size:1.65rem}
  .product-detail-page .detail-spec .variant-picker{width:150px!important;min-width:150px!important}
  .product-detail-page .detail-quantity-row{gap:10px}
  .product-detail-page .detail-quantity-row .quantity-control{grid-template-columns:42px 48px 42px;width:132px}
  .product-detail-page .related-section{padding:72px 0 92px}
  .product-detail-page .related-heading-row{align-items:flex-start;flex-direction:column;gap:10px}
  .product-detail-page .related-heading-row .related-view-all{display:none}
  .product-detail-page .related-piece-name{font-size:1.1rem}
}

@media(max-width:760px){
  body.product-detail-page:not(.bullion-page) .detail-refresh-bar{top:var(--gf-mobile-header-height,64px);min-height:52px}
  /* Contain the Back button margin so the navy body cannot show through. */
  html body.product-detail-page>main.product-detail-main{display:flow-root;background:#fbf8f2}
  body.product-detail-page .detail-refresh-bar .jewelry-refresh-clock{justify-content:center;width:100%;gap:2px 14px;margin:0;padding:8px 0;font-size:13px}
  html body.product-detail-page .mobile-page-back{
    position:relative!important;top:auto!important;left:auto!important;transform:none!important;
    width:max-content;margin:8px 12px 0!important;
  }
  body.product-detail-page .detail-hero{padding-top:12px!important}
  html body.product-detail-page .gallery-arrow{display:none!important}
}
@media(max-width:760px){
  html body.product-detail-page{padding-bottom:calc(86px + env(safe-area-inset-bottom))!important}
  html body.product-detail-page .mobile-product-actions{
    position:fixed;left:0;right:0;bottom:0;
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    align-items:stretch;gap:10px;z-index:8500;
    padding:10px max(12px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));
    background:rgba(248,245,239,.97);border-top:1px solid rgba(198,161,91,.34);box-shadow:0 -14px 35px rgba(13,27,61,.14);
  }
  html body.product-detail-page .mobile-product-actions .btn{min-height:50px;border-radius:0;font-size:.76rem;letter-spacing:.04em;text-transform:uppercase}
  html body.product-detail-page .mobile-product-actions .btn.outline{
    border-color:var(--navy)!important;color:var(--navy)!important;
  }
  html body.product-detail-page:not(.bullion-page) .detail-title-card{padding:17px 24px 16px}
  html body.product-detail-page:not(.bullion-page) .detail-info h1{font-size:clamp(2rem,8vw,2.75rem)}
  html body.product-detail-page:not(.bullion-page) .detail-title-card .detail-product-code{margin:9px 0 0}
  html body.product-detail-page .detail-info>.detail-add-cart,
  html body.product-detail-page .detail-info>.detail-buy-now{display:none!important}
  html body.product-detail-page .mobile-product-actions .btn:disabled{opacity:.5;cursor:not-allowed}
  html body.product-detail-page .gf-messenger[data-position^="bottom"]{bottom:calc(86px + env(safe-area-inset-bottom))!important}
  html body.product-detail-page .gf-inbox-panel{bottom:calc(150px + env(safe-area-inset-bottom))!important;max-height:calc(100dvh - 175px)}
}

/* Keep the main jewellery gallery and every thumbnail on the global 1:1
   product-image system while preserving each source image in full. */
body.product-detail-page:not(.bullion-page) .gallery-main{
  width:100%!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  overflow:hidden!important;
}
body.product-detail-page:not(.bullion-page) .gallery-main #mainProduct{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}
body.product-detail-page:not(.bullion-page) .thumb{
  aspect-ratio:1/1!important;
  overflow:hidden!important;
}
body.product-detail-page:not(.bullion-page) .thumb img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
}

/* Localized product magnifier: the source image stays at its natural frame
   size while the lens shows a closer inspection of only the hovered area. */
.product-detail-page .gallery-main{cursor:crosshair;isolation:isolate}
.product-detail-page .gallery-main #mainProduct{transform:none!important;transition:none!important;cursor:crosshair}
.product-magnifier-lens{
  position:absolute;z-index:4;left:0;top:0;width:148px;height:148px;display:none;
  pointer-events:none;transform:translate(-50%,-50%);border:3px solid #fff;border-radius:50%;
  background-color:#f8f1e7;background-repeat:no-repeat;background-size:250% 250%;
  box-shadow:0 10px 26px rgba(13,27,61,.28),0 0 0 1px rgba(13,27,61,.2);
}
.product-magnifier-lens.is-visible{display:block}
@media(min-width:641px){
  .product-magnifier-lens{width:340px;height:340px}
}
.product-detail-page .image-zoom-pill[aria-pressed="true"]{background:var(--gold2);color:var(--navy)}
.mobile-product-image-viewer,.mobile-image-view-hint{display:none}
@media(max-width:760px){
  .product-detail-page .gallery-main,
  .product-detail-page .gallery-main #mainProduct{touch-action:pan-y!important}
  .product-magnifier-lens,
  .image-zoom-pill{display:none!important}
  .product-detail-page .gallery-main #mainProduct{cursor:pointer!important}
  .mobile-image-view-hint{
    position:absolute;z-index:3;left:50%;bottom:10px;display:block;padding:6px 10px;
    border:1px solid rgba(13,27,61,.12);border-radius:999px;background:rgba(255,255,255,.9);
    color:var(--navy);font:600 .56rem/1 Montserrat,Arial,sans-serif;letter-spacing:.04em;
    pointer-events:none;transform:translateX(-50%);
  }
  html.mobile-image-viewer-open,
  html body.mobile-image-viewer-open{overflow:hidden!important;overscroll-behavior:none!important}
  html body.mobile-image-viewer-open{position:fixed!important;left:0!important;right:0!important;width:100%!important}
  .mobile-product-image-viewer[hidden]{display:none!important}
  .mobile-product-image-viewer.is-open{
    position:fixed;z-index:9000;inset:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;
    width:100vw;height:100dvh;background:rgba(3,10,27,.97);color:#fff;
    touch-action:pan-x pan-y pinch-zoom;overscroll-behavior:contain;
  }
  .mobile-image-viewer-bar{display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:8px 14px;border-bottom:1px solid rgba(255,255,255,.16);font:600 .72rem/1 Montserrat,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}
  .mobile-image-viewer-bar button{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:transparent;color:#fff;font:300 1.65rem/1 Arial,sans-serif}
  .mobile-image-viewer-stage{display:grid;place-items:center;min-width:0;min-height:0;overflow:auto;padding:14px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y pinch-zoom}
  .mobile-image-viewer-stage img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;background:#fff;user-select:none;-webkit-user-select:none;touch-action:pan-x pan-y pinch-zoom}
  .mobile-product-image-viewer>p{margin:0;padding:13px 16px calc(13px + env(safe-area-inset-bottom));color:rgba(255,255,255,.72);font:500 .64rem/1.45 Montserrat,Arial,sans-serif;text-align:center}
}
