/* Product purchase stays available while the photographs are browsed. */
/* All gallery panels share one square stage; raw detail views remain complete. */
.product-purchase-dock{display:none}
.single-product .client-product-gallery .product-gallery-stage,.single-product .client-product-gallery .product-gallery-panels{height:auto;min-height:0;max-height:none}
.single-product .client-product-gallery .product-gallery-photo .product-photo-frame{position:relative;display:block;aspect-ratio:1;width:100%;height:auto;min-height:0;padding:0;overflow:hidden;background:#f9f5ed}
.single-product .client-product-gallery .product-gallery-photo .product-photo-open{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:0;margin:0;padding:0;border:0;background:transparent;line-height:0;overflow:hidden}
.single-product .client-product-gallery .product-gallery-photo .product-gallery-image{display:block;width:100%;height:100%;min-height:0;max-width:none;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center}
.single-product .client-product-gallery .product-gallery-photo[data-gallery-fit="cover"] .product-gallery-image,.single-product .client-product-gallery .product-gallery-photo .product-gallery-image[data-image-fit="cover"]{object-fit:cover}
.single-product .product-detail.purchase-layout-ready{align-items:start}
.single-product .product-purchase-heading{min-width:0}
.single-product .product-purchase-heading>.eyebrow{display:block;margin:0 0 12px;font-size:10px}
.single-product .product-purchase-heading>h1{margin-bottom:14px}
.single-product .product-purchase-heading>.detail-price{margin:0;padding:0;border:0}
.product-purchase-dock__copy{min-width:0}
.product-purchase-dock__title{display:block;font-size:12px;line-height:1.35;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.product-purchase-dock__price{display:block;font-size:15px;line-height:1.5;font-weight:500}
.product-purchase-dock__price del{opacity:.6;font-size:11px;font-weight:400}
.product-purchase-dock__price ins{text-decoration:none}
.product-purchase-dock__action{display:flex;align-items:center;justify-content:center;min-width:0;min-height:48px;padding:12px 16px;border:1px solid var(--forest,#3b281f);border-radius:4px;background:var(--forest,#3b281f);color:#fff8ed;font:inherit;font-size:12px;font-weight:500;line-height:1.4;text-align:center;text-decoration:none}
.product-purchase-dock__action:hover{background:#68472f;border-color:#68472f}
.single-product .product-purchase-dock .product-purchase-dock__action,.single-product .product-purchase-dock .product-purchase-dock__action:is(:link,:visited,:hover,:focus,:active){color:#fff8ed!important;-webkit-text-fill-color:#fff8ed}
.product-purchase-dock__action:focus-visible{outline:2px solid var(--copper,#a77544);outline-offset:3px}
.product-purchase-dock__action[aria-disabled=true],.product-purchase-dock__action:disabled{opacity:.5;cursor:not-allowed}
.single-product .product-purchase-dock.is-floating{position:fixed;z-index:42;inset-inline:0;bottom:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,230px);gap:24px;align-items:center;padding:12px var(--page-gutter,32px) calc(12px + env(safe-area-inset-bottom,0px));margin:0;border-top:1px solid #d5c2a4;background:#faf5ecef;box-shadow:0 -5px 24px #35291b10;backdrop-filter:blur(12px)}
.single-product .product-purchase-dock.is-floating .product-purchase-dock__copy{display:block}
.single-product .product-purchase-dock.is-floating.is-suspended{display:none}
@media(min-width:1024px){
 .single-product .purchase-layout-ready{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:clamp(28px,4.3vw,64px)}
 .single-product .purchase-layout-ready>.client-product-gallery{position:relative;top:auto;align-self:start;margin:0;min-width:0}
 .single-product .purchase-layout-ready>.product-info{position:relative;top:auto;display:block;min-width:0;height:auto;max-height:none;overflow:visible}
 .single-product .purchase-layout-ready.purchase-info-fits>.product-info{position:sticky;top:var(--product-purchase-top,110px)}
 .single-product .product-purchase-heading{padding-bottom:18px;border-bottom:1px solid var(--line,#ddcfbc)}
 .single-product .product-purchase-heading>h1{font-size:clamp(28px,3vw,43px);line-height:1.16;max-width:22ch}
 .single-product .product-purchase-heading>.detail-price{font-size:25px;line-height:1.3}
 .single-product .product-purchase-scroll{height:auto;min-height:0;max-height:none;overflow:visible;padding:20px 0 0}
 .single-product .product-purchase-scroll>.product-intro{margin-bottom:18px}
 .single-product .product-purchase-scroll>.product-review-link{margin-bottom:16px}
 .single-product .product-purchase-scroll .product-selector{margin-bottom:18px}
 .single-product .product-purchase-scroll .product-order-options{margin-block:16px}
 .single-product .product-purchase-scroll .product-accordion{margin:0}
 .single-product .product-purchase-dock{display:none}
 .single-product .product-purchase-dock__action{width:100%;font-size:13px;min-height:49px}
 body:lang(ar).single-product .product-purchase-heading>h1{font-size:clamp(26px,2.8vw,37px);line-height:1.5}
}
@media(max-width:1023px){
 .single-product .purchase-layout-ready{display:block}
 .single-product .purchase-layout-ready>.client-product-gallery{position:relative;top:auto;margin-bottom:28px}
 .single-product .purchase-layout-ready>.product-info{position:static;max-height:none;overflow:visible}
 .single-product .product-purchase-heading>.detail-price{margin-bottom:22px}
 .single-product .product-purchase-scroll{overflow:visible}
 .single-product .product-purchase-dock{position:fixed;z-index:42;inset-inline:0;bottom:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(135px,auto);gap:14px;align-items:center;padding:11px 20px calc(11px + env(safe-area-inset-bottom,0px));margin:0;border-top:1px solid #d5c2a4;background:#faf5ecef;box-shadow:0 -5px 24px #35291b10;backdrop-filter:blur(12px)}
 .single-product .product-purchase-dock.is-suspended{display:none}
 .single-product .product-purchase-dock__action{max-width:230px;min-height:45px}
 .single-product .product-purchase-scroll :is(input,select,textarea){scroll-margin-bottom:110px}
 .single-product .product-purchase-scroll .product-accordion{scroll-margin-bottom:110px}
 body:has(dialog[open]) .product-purchase-dock{display:none}
}
@media(max-width:380px){.single-product .product-purchase-dock{padding-inline:14px;gap:10px;grid-template-columns:minmax(0,1fr) minmax(125px,.95fr)}.product-purchase-dock__title{font-size:11px}.product-purchase-dock__action{font-size:11px;padding-inline:10px}}
@media(prefers-reduced-motion:reduce){.product-purchase-dock,*[data-product-purchase-scroll]{scroll-behavior:auto}}

.product-selection-message{color:#743b23;background:#f1e4d2;border:1px solid #c6a17b;border-radius:6px;padding:12px 14px;font-size:14px;line-height:1.5;margin:0 0 14px}.product-selection-message[hidden]{display:none}

.product-magnet-option{display:flex;align-items:center;gap:10px;margin:0 0 22px;padding:14px 16px;border:1px solid #d6c3ac;border-radius:6px;font-size:15px;cursor:pointer}.product-magnet-option input{width:20px;height:20px;accent-color:#3b281f;flex:none}.review-magnet-option{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--line,#d6c3ac);border-radius:8px;margin:18px 0}.review-magnet-option input{width:20px;height:20px;accent-color:#3b281f}

@media(max-width:600px){[data-coaster-galleries] .client-native-swatches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}[data-coaster-galleries] .client-native-swatches .product-option-chip{min-width:0;width:100%}}


/* A photograph or shape on every product choice, matching the keychain cards. */
.single-product .product-variation-swatches,.single-product .wood-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:10px}
.single-product .product-option-chip.product-visual-chip,.single-product .wood-option.product-visual-chip{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;min-width:0;min-height:142px;padding:10px;border-radius:8px;line-height:1.35;text-align:center}
.single-product .product-option-chip.product-visual-chip>span:not(.product-option-visual){display:block;white-space:normal}
.single-product .product-option-visual{display:flex;width:100%;height:100px;align-items:center;justify-content:center;overflow:hidden;background:#f8f2e8;border-radius:5px}
.single-product .product-option-visual svg.gs-profile-mockup,.single-product .product-option-visual svg.gs-mockup{display:block;width:calc(100% * var(--option-scale,1));height:calc(100% * var(--option-scale,1));max-width:100%;max-height:100%;margin:0}
.single-product .product-option-visual svg svg{max-width:none;max-height:none}
.single-product .product-option-chip.active,.single-product .wood-option.active{border-color:#68472f;box-shadow:inset 0 0 0 1px #68472f;background:#f4e8d7}
.single-product .product-option-chip:focus-visible,.single-product .wood-option:focus-visible{outline:2px solid #a77544;outline-offset:3px}
.single-product .product-magnet-option{display:grid;grid-template-columns:20px 36px minmax(0,1fr) auto;gap:12px;align-items:center;padding:16px;border-radius:10px;background:#fffaf2;border:1px solid #d6c3ac}
.single-product .product-magnet-option:has(input:checked){border-color:#68472f;background:#f2e5d3}
.product-magnet-icon{font-size:26px;line-height:1}.product-magnet-copy{display:grid;gap:3px}.product-magnet-copy strong{font-size:14px;font-weight:600}.product-magnet-copy small{font-size:12px;color:#80674e}.product-magnet-free{align-self:start;padding:3px 8px;border-radius:20px;color:#416043;background:#e7eedf;font-size:11px;font-weight:600}
@media(max-width:600px){.single-product .product-variation-swatches,.single-product .wood-options{grid-template-columns:repeat(2,minmax(0,1fr))}.single-product .product-option-visual{height:94px}.single-product .product-magnet-option{grid-template-columns:20px 30px minmax(0,1fr);gap:10px}.product-magnet-free{grid-column:3;justify-self:start;margin-top:-6px}}
.single-product .wood-option>.product-option-visual{width:100%;height:100px;border:0;outline:0;margin:0;background:#f8f2e8}.single-product .wood-option.product-visual-chip{border:1px solid #d8c5a8;background:#fbf6ed}.single-product .wood-option.product-visual-chip.active{border-color:#68472f;background:#f4e8d7}
