.gallery-browse{position:relative;touch-action:pan-y pinch-zoom;cursor:pointer;overflow:visible;margin-left:52px;margin-right:52px;}
.gallery-browse>img{user-select:none;-webkit-user-drag:none;}
.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid var(--gold-antique);border-radius:50%;background:var(--black);color:var(--gold);cursor:pointer;opacity:.85;z-index:2;}
.gallery-arrow:hover,.gallery-arrow:focus-visible{opacity:1;}
.gallery-arrow:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
.gallery-arrow svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;}
.gallery-previous{left:-52px;}.gallery-next{right:-52px;}
.gallery-swipe-hint{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);padding:9px 14px;border:1px solid var(--gold-antique);border-radius:20px;background:var(--black);color:var(--gold);font-family:'EB Garamond',serif;font-size:16px;white-space:nowrap;pointer-events:none;z-index:3;animation:gallery-hint 2.5s ease both;}
.gallery-status{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
.color-swatches-with-arrows{display:inline-flex;align-items:center;gap:9px;width:fit-content;max-width:100%;margin-bottom:20px;}
.color-swatches-with-arrows>.color-swatches{flex:0 1 auto;min-width:0;margin-bottom:0;}
.color-swatch-arrow{flex:0 0 auto;width:22px;height:30px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:#fff;cursor:pointer;opacity:.82;transition:opacity .18s ease,transform .18s ease;}
.color-swatch-arrow:hover{opacity:1;transform:scale(1.12);}
.color-swatch-arrow:focus-visible{outline:2px solid #fff;outline-offset:3px;}
.color-swatch-arrow svg{width:15px;height:21px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}
.swatch-note{font-size:14px;opacity:.72;}
.swatch-tip{font-size:12px;color:var(--cream);}
.gallery-main-wrap{flex:1;min-width:0;}
.gallery-main-wrap>.gallery-main{margin-bottom:8px;}
.gallery-color-label{text-align:center;font-family:'Cinzel',sans-serif;font-size:13.5px;font-weight:700;line-height:1.3;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-antique);opacity:.88;margin:0 52px;min-height:18px;}
.purchase-controls{display:flex;align-items:center;flex-wrap:wrap;gap:14px 18px;margin:0 0 24px;}
.purchase-controls .size-select-wrap,.purchase-controls .color-select-wrap{margin:0;}
.purchase-controls .buy-actions{display:flex;align-items:center;flex-wrap:wrap;gap:0;}
.purchase-controls .buy-note{flex-basis:100%;font-size:13px;line-height:1.45;opacity:.6;margin:0;}
.quantity-select-wrap{display:flex;align-items:center;gap:10px;}
.quantity-control{display:inline-flex;align-items:center;border:1.5px solid rgba(201,162,39,.4);background:rgba(10,10,12,.6);}
.quantity-button{width:30px;height:38px;padding:0;border:0;background:transparent;color:var(--cream);font-family:'Cinzel',sans-serif;font-size:17px;line-height:1;cursor:pointer;}
.quantity-button:hover,.quantity-button:focus-visible{color:var(--gold);}
.quantity-button:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
.quantity-select{box-sizing:border-box;width:44px;height:38px;min-width:38px;margin:0;padding:5px 4px;border:0;border-left:1px solid rgba(201,162,39,.25);border-right:1px solid rgba(201,162,39,.25);border-radius:0;background:transparent;color:var(--cream);font-family:'EB Garamond',serif;font-size:15px;text-align:center;cursor:text;-webkit-appearance:none;appearance:none;}
.quantity-select:focus{outline:none;}
.quantity-control:focus-within{border-color:var(--gold);}
.quantity-note{flex-basis:100%;margin:0;font-size:13px;line-height:1.45;color:var(--cream);}
.quantity-note[hidden]{display:none;}
.quantity-note a{color:var(--gold);text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere;}
.quantity-note a:hover,.quantity-note a:focus-visible{color:#4fb8ff;}
.related-collections{margin-top:42px;padding-top:24px;border-top:1px solid rgba(201,162,39,.25);}
.related-collections-title{text-align:center;font-family:'Cinzel',sans-serif;font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-antique);margin-bottom:16px;}
.related-collections-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,554px);margin:0 auto;gap:14px;}
.related-collection-card{display:block;width:100%;color:var(--cream);text-decoration:none;text-align:center;}
.related-collection-card:only-child,.related-collection-card:last-child:nth-child(odd){grid-column:1 / -1;justify-self:center;max-width:270px;}
.related-collection-card img{display:block;width:100%;aspect-ratio:1/1;object-fit:contain;background:rgba(255,255,255,.025);border:1px solid rgba(201,162,39,.22);transition:border-color .2s,transform .2s,filter .2s;}
.related-collection-card:hover img,.related-collection-card:focus-visible img{border-color:var(--gold);transform:translateY(-3px);filter:drop-shadow(0 0 8px rgba(255,200,0,.24));}
.related-collection-label{display:block;margin-top:9px;font-family:'Cinzel',sans-serif;font-size:11px;line-height:1.35;letter-spacing:.05em;color:var(--cream);opacity:.85;}
.related-collection-card:focus-visible{outline:2px solid var(--gold);outline-offset:4px;}
.gallery-thumbs-vertical{align-self:flex-start;margin-top:0;padding-top:0;}
.gallery-thumbs-vertical>.thumb-group{margin-top:0;padding-top:0;}
.gallery-thumbs-vertical>.thumb-group:empty{display:none;}
.color-select-wrap{display:flex;align-items:center;gap:12px;margin-bottom:22px;}
.color-select{background:rgba(10,10,12,0.6);border:1.5px solid rgba(201,162,39,0.4);color:var(--cream);font-family:'EB Garamond',serif;font-size:15px;padding:8px 14px;cursor:pointer;}
.color-select:focus{outline:none;border-color:var(--gold);}
.color-select-label{margin-left:10px;}
/* Extended Color Collection (only on pages with a [data-color-extended] <details>). */
.thumb-extended-hidden{display:none!important;}
.color-extended-hint{font-size:15px;font-weight:600;color:rgba(255,255,255,.92);margin:0 0 10px;}
.color-extended{margin:-6px 0 20px;}
.color-extended-toggle{display:flex;align-items:center;gap:10px;min-height:32px;cursor:pointer;list-style:none;font-family:'Cinzel',sans-serif;font-size:12.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--gold);}
.color-extended-toggle::-webkit-details-marker{display:none;}
.color-extended-toggle:hover{color:#fff;}
.color-extended-toggle:hover .color-extended-arrow{color:#fff;}
.color-extended-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}
.color-extended-arrow{display:inline-block;color:var(--gold);font-size:17px;line-height:1;transition:transform .2s ease;}
.color-extended[open] .color-extended-arrow{transform:rotate(180deg);}
.color-extended .color-swatches-extended{margin:14px 0 0;}
/* The arrows (product-gallery.js) wrap the row in .color-swatches-with-arrows
   and align-center the two; the row's own top margin above would then be
   centered along with it, sitting the arrows above the swatches' true
   center by half that margin. Move the spacing onto the wrapper instead, so
   the wrapper's align-items:center only ever centers zero-margin content. */
.color-extended .color-swatches-with-arrows{margin-top:14px;}
.color-extended .color-swatches-with-arrows>.color-swatches-extended{margin-top:0;}
.color-extended-preview-hint{margin:12px 0 0;}
.color-extended{scroll-margin-top:110px;}
@media(prefers-reduced-motion:reduce){.color-extended-arrow{transition:none;}}
@keyframes gallery-hint{0%,100%{opacity:0;}12%,85%{opacity:1;}}
@media(prefers-reduced-motion:reduce){.gallery-swipe-hint{animation:none;}}

/* Reserve real space for controls outside the image, before the thumbnail rail. */
.product-row{max-width:1320px;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:48px;}
.product-row>.gallery,.product-row>.product-info{min-width:0;}
@media(max-width:860px){
  .product-row{grid-template-columns:minmax(0,1fr);}
  .gallery-flex{flex-direction:column;align-items:stretch;gap:12px;}
  .gallery-main-wrap{width:100%;}
  .gallery-thumbs-vertical{order:2;width:100%;height:auto!important;max-height:none;display:flex;flex-direction:row;gap:10px;padding:0 0 6px;overflow-x:auto;overflow-y:hidden;}
  .gallery-thumbs-vertical>.thumb-group{display:flex;flex-direction:row;gap:8px;flex:0 0 auto;}
  .gallery-thumbs-vertical>.thumb-group-label{display:none;}
  .gallery-thumbs-vertical>button.thumb,.gallery-thumbs-vertical>.thumb-group>button.thumb{width:68px;height:68px;flex:0 0 68px;}
  .gallery-browse{margin-left:40px;margin-right:40px;}
  .gallery-color-label{margin-left:40px;margin-right:40px;}
  .color-extended-toggle{width:100%;min-height:44px;}
  .color-extended-swatch-arrow{width:44px;height:44px;}
  .related-collections{margin-top:34px;padding-top:20px;}
  .related-collections-grid{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:9px;}
  .related-collection-card:last-child:nth-child(odd){grid-column:auto;max-width:none;justify-self:stretch;}
  .related-collection-card:only-child{grid-column:1 / -1;max-width:270px;justify-self:center;}
  .related-collection-label{font-size:10px;}
  .gallery-previous{left:-48px;}.gallery-next{right:-48px;}
  .gallery-swipe-hint{font-size:14px;padding:7px 8px;}
  .purchase-controls{align-items:stretch;gap:12px 10px;margin-bottom:22px;}
  .purchase-controls .size-select-wrap{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 10px;}
  .purchase-controls .size-select-wrap .size-select,.purchase-controls .size-select-wrap .color-select{width:100%;min-width:0;font-size:14px;padding:6px 8px;}
  .purchase-controls .size-select-wrap .color-select-label{margin-left:0;}
  .purchase-controls .color-select-wrap{max-width:100%;display:flex;flex-wrap:wrap;gap:8px;}
  .purchase-controls .color-select-wrap .color-select{max-width:100%;font-size:14px;padding:6px 8px;}
  .quantity-select-wrap{gap:8px;}
  .quantity-button,.quantity-select{height:34px;}
  .quantity-button{width:27px;}
  .quantity-select{width:42px;min-width:34px;font-size:16px;}
  .quantity-note{font-size:12.5px;}
  .purchase-controls .buy-actions{width:100%;}
  .purchase-controls .buy-note{font-size:12.5px;}
}
