.client-catalogue-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.single-product .product-info h1{max-width:18ch;font-size:clamp(34px,3.8vw,58px)}
.single-product .product-selector[hidden]{display:none!important}
.single-product .product-intro:empty,.single-product .product-note:empty{display:none}
.single-product .selected-size-note{font-size:12px;line-height:1.65;color:var(--muted);margin:10px 0 0}
.client-category-breadcrumb{font-size:inherit;color:inherit}
.product-dimensions-list>div{display:flex;justify-content:space-between;gap:18px;padding:9px 0}
.product-dimensions-list dt{font-weight:500;flex-shrink:0}.product-dimensions-list dd{margin:0;text-align:end}
.shop-client-tree{display:flex;flex-wrap:wrap;gap:8px}.shop-client-tree .category-pills{gap:8px}
.shop-client-tree .category-pills a{padding:9px 13px;font-size:12px;line-height:1.4;white-space:normal}
@media(max-width:640px){.single-product .product-info h1{font-size:38px;line-height:1.12}.single-product .product-intro{font-size:13px}.single-product .product-selector{margin-bottom:18px}.single-product .product-gallery{margin-bottom:24px}.single-product .selected-size-note{font-size:12px}.shop-heading h1{font-size:40px}.shop-client-tree .category-pills a{font-size:11px;padding:8px 10px}.product-dimensions-list>div{flex-direction:column;gap:4px}.product-dimensions-list dd{text-align:start}}
body:lang(ar) .single-product .product-info h1{line-height:1.55;font-size:clamp(30px,3vw,45px)}
.product-phone-selector select{width:100%;min-height:48px;background:#faf5eb;border:1px solid #dac9b0;border-radius:4px;padding:10px 12px;color:#38291f;font:inherit}
/* Buttons present exact native variation choices; hidden selects only carry integration state. */
.single-product .product-variation-state[hidden]{display:none!important}
.product-variation-swatches{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.product-option-chip{appearance:none;display:flex;flex:1 1 70px;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:48px;padding:11px 13px;border:1px solid #d8c5a8;border-radius:5px;background:#fbf6ed;color:var(--ink);font:inherit;font-size:12px;line-height:1.5;text-align:center;cursor:pointer;transition:background .18s,border-color .18s}
.product-option-chip small{display:block;color:var(--muted);font-size:10px;line-height:1.5;font-weight:400}
.product-option-chip.active{border-color:#715035;background:#e9d8bd;box-shadow:inset 0 0 0 1px #715035}
.product-option-chip:hover:not(:disabled){border-color:#715035}
.product-option-chip:disabled{opacity:.42;cursor:not-allowed}
.product-option-chip:focus-visible,.product-family-chip:focus-visible{outline:2px solid var(--copper);outline-offset:3px}
.product-phone-families{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 12px;min-width:0}
.product-family-chip{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-width:39px;min-height:40px;padding:8px 11px;border:1px solid #d8c5a8;border-radius:4px;background:#fbf6ed;color:var(--ink);font:inherit;font-size:12px;cursor:pointer}
.product-family-chip.active{color:#fffaf1;background:#573e2b;border-color:#573e2b}
.product-phone-swatches .product-option-chip{flex:1 1 110px;max-width:100%;font-size:11px;min-height:44px}
.product-phone-swatches[hidden]{display:none!important}
.product-phone-selector .product-spec-row{gap:8px;padding-bottom:12px}
#product-selected-phone{font-size:12px;font-weight:500;direction:ltr}
[data-product-size-preview]>.gs-mockup{transform:scale(var(--product-size-scale,1));transform-origin:center;transition:transform .24s ease}
@media(max-width:640px){.product-option-chip{padding:10px 7px;font-size:11px}.product-option-chip small{font-size:9px}.product-family-chip{min-width:36px;padding:7px 10px}.product-phone-swatches .product-option-chip{flex-basis:105px}.product-phone-families{gap:6px}}
@media(prefers-reduced-motion:reduce){[data-product-size-preview]>.gs-mockup,.product-option-chip{transition:none}}

/* Finished products show the actual color model at the point of selection. */
.single-product .wood-options.product-color-models{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;justify-content:initial;min-width:0}
.single-product .product-color-models .wood-option{display:flex;flex-direction:column;align-items:stretch;min-width:0;text-align:center;font-size:11px;line-height:1.6}
.single-product .product-color-models .wood-option>.product-color-model{display:flex;align-items:center;justify-content:center;width:100%;height:86px;padding:7px 9px;margin:0 0 7px;border:1px solid #d8c5a8;border-radius:5px;outline:0;background:#fbf6ed;overflow:hidden}
.single-product .product-color-models .wood-option>.product-color-model>.gs-profile-mockup{display:block;width:100%;height:100%;max-width:100%;max-height:100%}
.single-product .product-color-models .wood-option.active>.product-color-model{border-color:#715035;background:#edddc4;box-shadow:inset 0 0 0 1px #715035}
.single-product .product-color-models .wood-option:hover>.product-color-model{border-color:#715035}
.single-product .product-color-models .wood-option:focus-visible{outline:2px solid var(--copper);outline-offset:3px;border-radius:5px}
@media(max-width:640px){.single-product .wood-options.product-color-models{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.single-product .product-color-models .wood-option{font-size:10px}.single-product .product-color-models .wood-option>.product-color-model{height:78px;padding:6px 7px;margin-bottom:6px}}

/* Recovered products use their original WooCommerce colors/models and regular cart flow. */
.client-native-product .client-native-purchase{margin:0 0 25px;min-width:0}
.client-native-product .variations_form{margin:0;max-width:100%}
.client-native-product .variations{width:100%;margin:0 0 16px;border:0;border-collapse:collapse;background:none}
.client-native-product .variations tbody,.client-native-product .variations tr,.client-native-product .variations th,.client-native-product .variations td{display:block;width:100%;padding:0;border:0;text-align:start;background:none}
.client-native-product .variations label,.client-native-quantity-label{display:block;margin:0 0 9px;color:var(--ink);font-size:12px;font-weight:500;line-height:1.6}
.client-native-product .variations select{display:block;width:100%;max-width:100%;min-height:48px;padding:11px 13px;border:1px solid #d8c5a8;border-radius:5px;background:#fbf6ed;color:var(--ink);font:inherit;font-size:14px;line-height:1.6}
.client-native-product .reset_variations{display:inline-block;margin:9px 0 4px;color:var(--muted);font-size:11px;text-decoration:underline;text-underline-offset:3px}
.client-native-product .single_variation{font-size:12px;line-height:1.7;margin:0 0 13px}
.client-native-product .single_variation:empty{margin:0}
.client-native-product .woocommerce-variation-price:empty,.client-native-product .woocommerce-variation-description:empty,.client-native-product .woocommerce-variation-availability:empty{display:none}
.client-native-product .woocommerce-variation-price{font-size:22px;margin:0 0 8px}
.client-native-product .woocommerce-variation-description p,.client-native-product .stock{margin:0 0 9px}
.client-native-product .woocommerce-variation-add-to-cart{display:grid;grid-template-columns:84px minmax(0,1fr);gap:10px;align-items:end;min-width:0}
.client-native-product .client-native-quantity-label{grid-column:1/-1;margin:0}
.client-native-product .quantity{margin:0;width:100%;min-width:0}
.client-native-product .quantity .qty{width:100%;min-height:49px;padding:10px 8px;border:1px solid #d8c5a8;border-radius:5px;background:#fbf6ed;color:var(--ink);font:inherit;font-size:16px;text-align:center}
.client-native-product .single_add_to_cart_button{width:100%;min-height:49px;margin:0;padding:12px 16px;border-radius:5px;line-height:1.6;font-size:12px}
.client-native-product .single_add_to_cart_button.disabled{opacity:.45;cursor:not-allowed}
.client-native-product input:focus-visible,.client-native-product select:focus-visible,.client-native-product .single_add_to_cart_button:focus-visible{outline:2px solid var(--copper);outline-offset:3px}
@media(max-width:640px){.client-native-product .variations select{font-size:16px}.client-native-product .woocommerce-variation-add-to-cart{grid-template-columns:74px minmax(0,1fr)}}

.client-recovered-studio{margin-block:0 18px;min-height:46px}
.product-order-options{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:start;gap:12px 18px;margin:20px 0 18px}
.product-order-label{display:block;margin:0 0 8px;color:var(--ink);font-size:12px;font-weight:500;line-height:1.6}
.product-order-quantity input,.product-order-designs select{width:100%;min-height:46px;padding:10px 12px;border:1px solid #d8c5a8;border-radius:5px;background:#fbf6ed;color:var(--ink);font:inherit;font-size:14px;line-height:1.5}
.product-order-quantity input{text-align:center}
.product-order-designs{min-width:0}.product-order-designs select{max-width:100%}
.product-order-note{grid-column:1/-1;margin:0;color:var(--muted);font-size:12px;line-height:1.7}
.product-order-quantity input:focus-visible,.product-order-designs select:focus-visible{outline:2px solid var(--copper);outline-offset:3px}
.studio-quantity-ready .woocommerce-variation-add-to-cart{display:block}
.studio-quantity-ready .woocommerce-variation-add-to-cart>.single_add_to_cart_button{width:100%}
.studio-quantity-ready .product-order-quantity .quantity{width:100%}
.product-detail a[aria-disabled="true"]{opacity:.45;cursor:not-allowed}
.product-order-pending .grain-payment-ready{display:none!important}
@media(max-width:640px){.product-order-options{grid-template-columns:86px minmax(0,1fr);gap:10px 12px}.product-order-quantity input,.product-order-designs select{font-size:16px}}
@media(max-width:380px){.product-order-options{grid-template-columns:1fr}.product-order-quantity{max-width:100px}.product-order-designs{grid-column:1}}
/* The live choice is the final gallery panel, with the same frame as real photos. */
.client-product-gallery .product-gallery-preview{margin:0;padding:0;min-width:0}
.client-product-gallery .product-gallery-preview .product-display-wood{aspect-ratio:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:24px;overflow:hidden}
.client-product-gallery .product-gallery-preview .product-display-wood>.gs-mockup{width:100%;height:100%;min-height:0;max-height:100%;object-fit:contain}
.client-product-gallery .product-gallery-live-thumbnail{display:flex;align-items:center;justify-content:center;overflow:hidden;background:#f5ead8}
.client-product-gallery .product-gallery-live-thumbnail>.gs-mockup{width:100%;height:100%;min-height:0;max-height:100%;padding:5px}
.client-native-product.native-swatches-ready .variations select{position:absolute;width:1px;height:1px;min-height:0;overflow:hidden;clip-path:inset(50%);padding:0;border:0;opacity:0;pointer-events:none}
.client-native-swatches{margin-block:12px 18px}.client-native-swatches .product-option-chip{flex:1 1 100px}
.client-native-swatches:has(.product-color-chip){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.client-native-swatches .product-color-chip{background:transparent;border:0;box-shadow:none;padding:7px 3px;min-height:86px;font-size:11px;gap:8px}
.native-color-swatch{display:block;width:48px;height:48px;flex-shrink:0;border:1px solid #c9b79e;border-radius:4px;box-shadow:inset 0 0 0 3px #fff7ed}
.product-color-chip.active .native-color-swatch{outline:2px solid #715035;outline-offset:3px}.product-color-chip:focus-visible{outline:2px solid var(--copper);outline-offset:3px}
.client-native-purchase .client-recovered-studio{margin-block:0 20px}
@media(max-width:640px){.client-product-gallery .product-gallery-preview .product-display-wood{padding:18px}.client-native-swatches .product-option-chip{flex-basis:90px;font-size:11px}.native-color-swatch{width:44px;height:44px}}

/* Selected preview stays blank until its own decoded image is ready. */
.product-display-wood[data-product-size-preview]{position:relative}
.product-preview-status{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;padding:32px;color:var(--muted);font:inherit;font-size:14px;line-height:1.65;text-align:center;background:rgba(248,243,233,.94)}
.product-preview-status[hidden]{display:none!important}
.product-preview-status[role=alert]{color:var(--ink)}
.client-product-gallery [data-gallery-live-thumbnail][data-preview-state=loading]{background:linear-gradient(110deg,#f6efdf,#ede1cd,#f6efdf)}

/* A single keychain product exposes the actual shape, followed only by its available woods. */
[data-keychain-galleries] .client-native-swatches[data-native-swatches=attribute_shape]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-block:12px 22px}
[data-keychain-galleries] .keychain-shape-chip{width:100%;min-width:0;min-height:118px;padding:9px 7px;gap:8px;font-size:11px;line-height:1.35}
[data-keychain-galleries] .keychain-shape-photo{display:flex;align-items:center;justify-content:center;flex:none;width:100%;height:70px;max-width:100%;margin:0;overflow:hidden}
[data-keychain-galleries] .keychain-shape-photo>svg,[data-keychain-galleries] .keychain-shape-photo>img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}
[data-keychain-galleries] .client-native-swatches[data-native-swatches=attribute_wood]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
[data-keychain-galleries] .keychain-wood-chip{width:100%;gap:7px;min-height:82px;padding:8px 5px}
.keychain-wood-swatch{display:block;width:42px;height:36px;flex:none;background-size:cover;background-position:center;border:1px solid #c9b79e;border-radius:4px}
[data-keychain-galleries] .product-option-chip[hidden],[data-keychain-galleries] .variations tr[hidden]{display:none!important}
@media(max-width:640px){[data-keychain-galleries] .client-native-swatches[data-native-swatches=attribute_shape]{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}[data-keychain-galleries] .keychain-shape-chip{min-height:120px;font-size:12px}[data-keychain-galleries] .keychain-shape-photo{height:72px}[data-keychain-galleries] .client-native-swatches[data-native-swatches=attribute_wood]{grid-template-columns:repeat(2,minmax(0,1fr))}}

