body.single-product .site-content{max-width:1560px}.woocommerce div.product{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:36px;align-items:start}.woocommerce div.product:before,.woocommerce div.product:after{display:none}.woocommerce div.product div.summary{width:auto;float:none;margin:0;min-width:0}.sn-product-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0}.sn-product-gallery>a{display:block;overflow:hidden;background:#f5f3ef}.sn-product-gallery img{display:block;width:100%;height:100%;aspect-ratio:3/4;object-fit:cover;border-radius:3px}.sn-product-gallery>a:only-child{grid-column:1/-1}.woocommerce div.product .product_title{font:600 clamp(24px,2.5vw,36px)/1.18 system-ui,sans-serif;letter-spacing:-.025em;margin:14px 0 18px}.woocommerce div.product p.price{font-size:28px;color:#20212c;font-weight:600;margin:0 0 26px}.woocommerce div.product p.price ins{text-decoration:none}.woocommerce div.product p.price del{font-size:17px;color:#7c7b80}.sn-single-badges{display:flex;gap:6px}.sn-single-badges:empty{display:none}.sn-single-badges span{padding:5px 10px;font:600 11px/1.4 system-ui}.woocommerce div.product form.cart{margin:26px 0}.woocommerce div.product form.cart .button{background:#20212c;color:#f5e4c6;border-radius:3px;padding:15px 22px;font-size:14px;min-height:50px}.woocommerce div.product form.cart .quantity .qty{min-height:50px;border-radius:3px}.woocommerce div.product form.cart .variations{margin-bottom:18px}.sn-matrix-native{display:none!important}.sn-size-matrix{margin:0 0 24px}.sn-size-matrix[hidden]{display:none}.sn-size-matrix h3{font:600 16px/1.4 system-ui;margin:0 0 16px}.sn-matrix-scroll{overflow-x:auto;max-width:100%;padding-bottom:4px}.woocommerce div.product .sn-matrix-table{border:0;border-collapse:collapse;margin:0;width:100%;table-layout:auto}.sn-matrix-table caption{text-align:left;font-size:11px;color:#73737b;padding:0 0 12px}.sn-matrix-table th{font:500 12px/1.4 system-ui;text-align:center;padding:8px 5px;min-width:36px}.sn-matrix-table th:first-child{font-size:11px}.sn-matrix-table td{padding:1px;border:0}.sn-matrix-table button{display:block;min-width:32px;width:100%;height:40px;padding:0 4px;background:#eeeeef;color:#a5a4a8;border:0;border-radius:0;cursor:not-allowed;font:12px system-ui}.sn-matrix-table button.is-available{background:#8b8c90;color:#fff;cursor:pointer}.sn-matrix-table button.is-available:hover{background:#555761}.sn-matrix-table button[aria-pressed=true]{background:#20212c;box-shadow:inset 0 0 0 2px #c3a76e}.sn-matrix-table button[aria-pressed=true]:after{content:'✓';color:#f5e4c6}.sn-matrix-legend{display:flex;flex-wrap:wrap;gap:12px 20px;font-size:10px;margin:14px 0}.sn-matrix-legend span{display:flex;gap:7px;align-items:center}.sn-matrix-legend span:before{content:'';width:15px;height:15px;background:#8b8c90}.sn-matrix-legend .sn-matrix-key-out:before{background:#eeeeef}.sn-matrix-legend .sn-matrix-key-selected:before{background:#20212c;border:1px solid #c3a76e}.sn-matrix-status{font-size:12px;line-height:1.6;margin:12px 0 8px}.sn-matrix-reset{background:none;border:0;padding:4px 0;text-decoration:underline;text-underline-offset:4px;cursor:pointer;color:#73737b;font-size:11px}.woocommerce div.product .product_meta{display:grid;gap:8px;font-size:12px;color:#73737b;border-top:1px solid #e6e2db;padding-top:20px}.woocommerce div.product .product_meta a{color:#20212c}.woocommerce div.product>.onsale{position:absolute;top:12px;left:12px}.sn-product-details{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:48px;border-top:1px solid #e6e2db;padding-top:36px;margin-top:12px;min-width:0}.sn-product-details>section{min-width:0}.sn-product-details>section:only-child{grid-column:1/-1;max-width:960px}.sn-product-details h2{font:400 30px/1.2 Georgia,serif;margin:0 0 24px;color:#20212c}.sn-product-description{font-size:15px;line-height:1.85;color:#56565e;overflow-wrap:anywhere}.sn-product-description img{height:auto}.woocommerce .sn-product-details table.shop_attributes{border:0;font-size:14px}.woocommerce .sn-product-details table.shop_attributes th,.woocommerce .sn-product-details table.shop_attributes td{padding:13px 12px;border:0;border-bottom:1px solid #e8e2d8;font-style:normal;background:#fff;text-align:left}.woocommerce .sn-product-details table.shop_attributes th{width:40%;color:#73737b;font-weight:400}.woocommerce div.product>.woocommerce-tabs,.woocommerce div.product>.related,.woocommerce div.product>.up-sells{grid-column:1/-1;width:100%}.sn-photo-dialog{padding:0;border:0;background:#20212c;max-width:95vw;max-height:95dvh}.sn-photo-dialog::backdrop{background:#20212cdc}.sn-photo-dialog img{display:block;max-width:90vw;max-height:90dvh;width:auto;height:auto;object-fit:contain}.sn-photo-dialog button{position:absolute;right:10px;top:10px;width:44px;height:44px;border:0;border-radius:50%;font-size:30px;color:#20212c;background:#fff;cursor:pointer}@media(max-width:1050px){.woocommerce div.product{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.sn-product-gallery{grid-template-columns:1fr}}@media(max-width:760px){.woocommerce div.product{grid-template-columns:1fr;gap:26px}.sn-product-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:8px}.sn-product-gallery>a{flex:0 0 90%;scroll-snap-align:start}.sn-product-gallery>a:only-child{flex-basis:100%}.sn-product-gallery img{aspect-ratio:3/4}.sn-product-details{grid-template-columns:1fr;gap:30px;padding-top:28px}.woocommerce div.product .product_title{font-size:27px}.woocommerce div.product p.price{font-size:26px}.sn-matrix-table button{height:38px}}
/* Product information accordions beneath the purchase controls. */
.woocommerce div.product .summary .sn-product-details{display:block;margin-top:30px;padding:0;border-top:1px solid #dedee2}.sn-product-details>details{border-bottom:1px solid #dedee2}.sn-product-details>details>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;padding:18px 0;color:#20212c;font:400 14px/1.5 system-ui,sans-serif;min-height:52px}.sn-product-details>details>summary::-webkit-details-marker{display:none}.sn-product-details>details>summary:after{content:'';width:10px;height:10px;border-right:1px solid #73737b;border-bottom:1px solid #73737b;transform:rotate(45deg);margin:0 4px 5px 0;flex-shrink:0}.sn-product-details>details[open]>summary:after{transform:rotate(225deg);margin-top:7px}.sn-product-details .sn-product-description,.sn-product-specifications{padding:0 0 20px;font-size:14px}.sn-product-description>:first-child{margin-top:0}.sn-product-description>:last-child{margin-bottom:0}.woocommerce .sn-product-specifications table.shop_attributes{margin:0}.sn-product-specifications{overflow-x:auto}
/* Purchase controls shared by the product page and the quick-buy window. */
.woocommerce div.product form.cart:not(.variations_form):not(.grouped_form),.woocommerce .woocommerce-variation-add-to-cart{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.woocommerce div.product form.cart div.quantity.sn-purchase-quantity,.woocommerce .sn-purchase-quantity{display:inline-flex;align-items:center;float:none;margin:0;height:52px;border:1px solid #dedee2;border-radius:3px;overflow:hidden;background:#fff;flex-shrink:0}.woocommerce .sn-purchase-quantity .qty{width:46px!important;min-height:50px!important;height:50px;padding:0!important;margin:0;border:0!important;border-radius:0!important;box-shadow:none;text-align:center;font:500 15px/1 system-ui;color:#20212c;appearance:textfield;-moz-appearance:textfield;background:#fff}.sn-purchase-quantity input::-webkit-inner-spin-button,.sn-purchase-quantity input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.woocommerce .sn-purchase-quantity .sn-quantity-step{display:grid;place-items:center;width:42px;min-height:50px;margin:0;padding:0;border:0;border-radius:0;background:#fff;color:#20212c;font:400 23px/1 system-ui;cursor:pointer;box-shadow:none}.woocommerce .sn-purchase-quantity .sn-quantity-step:hover:not(:disabled){background:#f5f1e9}.woocommerce .sn-purchase-quantity .sn-quantity-step:disabled{color:#c3c3c9;cursor:not-allowed}.woocommerce .sn-purchase-quantity .sn-quantity-step[hidden]{display:none}.woocommerce .sn-purchase-quantity:has(input[type=hidden]){display:none!important}.woocommerce div.product form.cart .single_add_to_cart_button,.sn-quick-dialog .single_variation_wrap .single_add_to_cart_button{min-height:52px;border-radius:3px;padding:16px 30px;background:#20212c;color:#f5e4c6;font:600 14px/1.4 system-ui;letter-spacing:.01em;flex:1;float:none;transition:background .15s}.woocommerce div.product form.cart .single_add_to_cart_button:hover{background:#343642}.woocommerce div.product .stock{font:500 12px/1.5 system-ui;margin:18px 0 12px}.woocommerce div.product .stock.in-stock{color:#537058}.woocommerce div.product .stock.out-of-stock{color:#8e5555}.woocommerce div.product .summary>.sn-favorite-toggle{min-height:46px;border-color:#dedee2;border-radius:3px;padding:12px 18px;background:#fff;color:#20212c}.woocommerce div.product .summary>.sn-favorite-toggle:hover{background:#faf8f4}@media(max-width:420px){.woocommerce div.product form.cart .single_add_to_cart_button,.sn-quick-dialog .single_variation_wrap .single_add_to_cart_button{padding-inline:16px}.woocommerce .sn-purchase-quantity .sn-quantity-step{width:36px}.woocommerce .sn-purchase-quantity .qty{width:38px!important}}
/* Balanced desktop product layout; override WooCommerce's legacy summary width. */
body.single-product .woocommerce div.product{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(24px,3vw,48px)}
body.single-product .woocommerce div.product>div.summary{width:100%!important;max-width:none!important;min-width:0;float:none!important;justify-self:stretch}
body.single-product .woocommerce div.product>.sn-product-gallery{width:100%;min-width:0}
body.single-product .woocommerce div.product .summary form.cart,body.single-product .woocommerce div.product .summary .sn-size-matrix{width:100%;max-width:none}
@media(min-width:1001px){body.single-product .woocommerce div.product{grid-template-columns:minmax(0,1.1fr) minmax(420px,1fr)}}
@media(max-width:760px){body.single-product .woocommerce div.product{grid-template-columns:minmax(0,1fr);gap:26px}}
.sn-purchase-total{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-basis:100%;padding:16px 18px;margin-top:12px;background:#faf8f4;border-radius:3px;font-size:13px;color:#73737b}.sn-purchase-total strong{font-size:19px;font-weight:600;color:#20212c}.sn-purchase-total[hidden]{display:none!important}.sn-quantity-step:active:not(:disabled){transform:scale(.92)}
/* WooCommerce can put .woocommerce on body itself, not on a nested wrapper. */
body.single-product #content div.product:not(.product-small){grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:32px}
body.single-product #content div.product>div.summary{width:100%!important;max-width:none!important;min-width:0!important;float:none!important;justify-self:stretch;box-sizing:border-box}
body.single-product #content .summary .sn-product-details,body.single-product #content .summary form.cart,body.single-product #content .summary .sn-size-matrix{width:100%;max-width:none;min-width:0}
body.single-product #content .sn-product-specifications table.shop_attributes{width:100%;table-layout:fixed}
body.single-product #content .sn-product-specifications table.shop_attributes th{width:32%}
body.single-product #content .sn-product-specifications table.shop_attributes td{overflow-wrap:anywhere}
@media(max-width:760px){body.single-product #content div.product:not(.product-small){grid-template-columns:minmax(0,1fr);gap:24px}}
/* Favorite control beside the product heading. */
body.single-product #content div.product>div.summary{position:relative}
body.single-product #content div.product .summary>.sn-favorite-toggle{position:absolute;top:0;right:0;width:46px;height:46px;min-height:46px;display:grid;place-items:center;padding:10px;border:1px solid #e6e2db;border-radius:50%;background:#fff;z-index:2}
body.single-product #content div.product .summary>.sn-favorite-toggle>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body.single-product #content div.product .summary>.sn-favorite-toggle svg{width:24px;height:24px}
body.single-product #content div.product .summary>.product_title{padding-right:60px}
body.single-product #content div.product .summary>.sn-single-badges{padding-right:60px;min-height:0}
/* Keep native WooCommerce/theme button and quantity styles from splitting the purchase row. */
body.single-product #content form.cart .woocommerce-variation-add-to-cart,.sn-quick-dialog form.cart .woocommerce-variation-add-to-cart{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:12px!important}
body.single-product #content form.cart .quantity.sn-purchase-quantity,.sn-quick-dialog form.cart .quantity.sn-purchase-quantity{display:flex!important;flex:0 0 132px!important;float:none!important;width:132px!important;max-width:none!important;height:52px!important;margin:0!important;padding:0!important;align-items:center!important;overflow:hidden;border:1px solid #dedee2;border-radius:3px;box-sizing:border-box;background:#fff}
body.single-product #content form.cart .sn-purchase-quantity input.qty,.sn-quick-dialog form.cart .sn-purchase-quantity input.qty{display:block!important;float:none!important;flex:0 0 44px!important;width:44px!important;min-width:0!important;max-width:44px!important;height:50px!important;min-height:50px!important;margin:0!important;padding:0!important;border:0!important;text-align:center!important;box-sizing:border-box}
body.single-product #content form.cart .sn-purchase-quantity .sn-quantity-step,.sn-quick-dialog form.cart .sn-purchase-quantity .sn-quantity-step{display:grid!important;place-items:center;float:none!important;flex:0 0 43px!important;width:43px!important;min-width:0!important;height:50px!important;min-height:50px!important;margin:0!important;padding:0!important;border:0!important;background:#fff!important;color:#20212c!important;box-sizing:border-box}
body.single-product #content form.cart .sn-purchase-quantity .sn-quantity-step:disabled,.sn-quick-dialog form.cart .sn-purchase-quantity .sn-quantity-step:disabled{color:#c3c3c9!important}
body.single-product #content form.cart .single_add_to_cart_button,.sn-quick-dialog form.cart .single_add_to_cart_button{float:none!important;flex:1 1 150px!important;width:auto!important;min-height:52px!important;margin:0!important;padding:15px 24px!important;border:0!important;border-radius:3px!important;background:#20212c!important;color:#f5e4c6!important;line-height:1.4!important;box-sizing:border-box}
body.single-product #content form.cart .single_add_to_cart_button:hover,.sn-quick-dialog form.cart .single_add_to_cart_button:hover{background:#353744!important}
body.single-product #content form.cart .single_add_to_cart_button.disabled,.sn-quick-dialog form.cart .single_add_to_cart_button.disabled{opacity:.5!important}
body.single-product #content form.cart .sn-purchase-quantity:has(input[type=hidden]),.sn-quick-dialog form.cart .sn-purchase-quantity:has(input[type=hidden]){display:none!important}

.sn-purchase-quantity.is-unavailable{opacity:.45;cursor:not-allowed}
.sn-purchase-quantity.is-unavailable input,.sn-purchase-quantity.is-unavailable button{cursor:not-allowed!important}

/* Store invitation sits across both product columns, directly before related items. */
body.single-product #content div.product>.sn-product-showroom{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);width:100%;min-width:0;margin:32px 0 12px;background:#f6f3ee;color:#20212c;overflow:hidden}
.sn-showroom-photo{min-width:0;max-height:660px}
.sn-showroom-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.sn-showroom-copy{padding:clamp(26px,4vw,60px);align-self:center;min-width:0}
.sn-showroom-logo{font:600 24px/1.2 Georgia,serif;margin:0 0 26px}
.sn-showroom-logo img{display:block;width:auto;max-width:240px;max-height:80px;object-fit:contain}
.sn-showroom-eyebrow{font:500 10px/1.5 system-ui;letter-spacing:.18em;color:#927b55;margin:0 0 12px}
.sn-showroom-copy h2{font:400 clamp(28px,3vw,40px)/1.15 Georgia,serif;margin:0 0 20px}
.sn-showroom-copy>p:not(.sn-showroom-eyebrow){font-size:14px;line-height:1.8;color:#62616a}
.sn-showroom-benefits{padding:0;list-style:none;display:grid;gap:10px;margin:20px 0 24px;font-size:13px}
.sn-showroom-benefits li{position:relative;padding-left:19px}
.sn-showroom-benefits li:before{content:'';position:absolute;left:0;top:.7em;width:6px;height:6px;border:1px solid #b09361;transform:rotate(45deg)}
.sn-showroom-address{display:grid;gap:7px;border-top:1px solid #dfd8cc;padding-top:20px;font-size:14px}
.sn-showroom-address strong{font-weight:500}.sn-showroom-address span,.sn-showroom-address small{color:#73737b}.sn-showroom-address small{font-size:12px}
.sn-showroom-actions{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;margin-top:24px}
.sn-showroom-actions a{color:#20212c;text-decoration:none;font-size:13px}
.sn-showroom-actions .sn-showroom-route{display:inline-flex;align-items:center;gap:24px;background:#20212c;color:#f5e4c6;padding:14px 20px;min-height:46px}
.sn-showroom-actions .sn-showroom-route:hover{background:#393b48}
@media(max-width:760px){body.single-product #content div.product>.sn-product-showroom{grid-template-columns:minmax(0,1fr);margin-top:16px}.sn-showroom-photo{height:340px}.sn-showroom-photo img{object-position:center 22%}.sn-showroom-copy{padding:28px 24px}.sn-showroom-logo img{max-width:210px}}

.sn-showroom-copy{isolation:isolate;background:#f6f3ee}
.sn-showroom-logo img{width:340px;max-width:100%;max-height:115px;mix-blend-mode:multiply}
@media(max-width:760px){.sn-showroom-logo img{width:280px;max-width:100%;max-height:100px}}

.sn-showroom-copy .sn-showroom-logo{background:transparent;border:0;box-shadow:none}
.sn-showroom-copy .sn-showroom-logo img{background:transparent;border:0;box-shadow:none;mix-blend-mode:multiply}

/* Square editorial photo: natural proportions, no crop or side gutters. */
.sn-product-showroom .sn-showroom-photo{display:block;align-self:center;width:100%;height:auto;max-height:none;min-width:0}
.sn-product-showroom .sn-showroom-photo img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:1;object-fit:contain;object-position:center}

/* Explicit choices for products with only one or two size/height pairs. */
.sn-size-matrix-compact .sn-matrix-table caption,.sn-size-matrix-compact .sn-matrix-table thead,.sn-size-matrix-compact .sn-matrix-table tbody th,.sn-size-matrix-compact .sn-matrix-legend{display:none}
.sn-size-matrix-compact .sn-matrix-table tbody{display:flex;flex-wrap:wrap;gap:10px}
.sn-size-matrix-compact .sn-matrix-table tr{display:contents}
.sn-size-matrix-compact .sn-matrix-table td{display:block;padding:0;max-width:100%}
.sn-size-matrix-compact .sn-matrix-table button{height:auto;min-height:76px;min-width:0;padding:14px 18px;border:1px solid #dedee1;border-radius:6px;text-align:left;white-space:normal}
.sn-size-matrix-compact .sn-matrix-table button.is-available{background:#8b8c90;color:#fff;border-color:#8b8c90}
.sn-size-matrix-compact .sn-matrix-table button.is-available:not([aria-pressed=true]):hover{background:#555761;color:#fff;border-color:#555761}
.sn-size-matrix-compact .sn-matrix-table button[aria-pressed=true],.sn-size-matrix-compact .sn-matrix-table button.is-available[aria-pressed=true]:hover{background:#20212c;color:#fff;border-color:#20212c}
.sn-size-matrix-compact .sn-matrix-table button[aria-pressed=true]:after{content:none!important;display:none}
.sn-matrix-table button:focus-visible{outline:2px solid #20212c;outline-offset:3px}
.sn-matrix-choice-title{display:block;font:600 14px/1.5 system-ui}
.sn-matrix-choice-action{display:block;margin-top:5px;font:12px/1.5 system-ui}
.sn-size-matrix-compact .sn-matrix-scroll{padding:4px}

/* Give size selection a clear visual boundary and keep its instructions close. */
.sn-size-matrix{padding:18px 20px;background:#faf7f0;border:1px solid #dfcfb3;border-left:3px solid #b79a66;border-radius:6px}
.sn-size-matrix h3,.sn-quick-dialog .sn-size-matrix h3{margin:0 0 6px;color:#20212c;font:700 17px/1.4 system-ui,sans-serif}
.sn-size-matrix .sn-matrix-table caption{color:#625b50;padding-bottom:10px}
@media(max-width:600px){.sn-size-matrix{padding:15px 12px}.sn-size-matrix h3,.sn-quick-dialog .sn-size-matrix h3{font-size:16px}}

/* Small matrices stay aligned left instead of stretching a handful of choices. */
.sn-size-matrix .sn-matrix-instruction{margin:0 0 12px;color:#625b50;font:12px/1.6 system-ui,sans-serif}
body .sn-size-matrix-narrow .sn-matrix-table{width:auto;max-width:100%;margin:0 auto 0 0;table-layout:fixed;border-collapse:separate;border-spacing:4px}
body .sn-size-matrix-narrow .sn-matrix-table th{width:56px;min-width:44px;padding:7px 4px;font-weight:600}
body .sn-size-matrix-narrow .sn-matrix-table td{width:64px;min-width:44px;padding:0}
body .sn-size-matrix-narrow .sn-matrix-table button{width:100%;min-width:44px;height:44px;border:1px solid #ded9ce;border-radius:6px;transition:background-color .18s ease,border-color .18s ease}
body .sn-size-matrix-narrow .sn-matrix-table button.is-available{background:#8b8c90;color:#fff;border-color:#8b8c90}
body .sn-size-matrix-narrow .sn-matrix-table button.is-available:not([aria-pressed=true]):hover{background:#555761;border-color:#555761}
body .sn-size-matrix-narrow .sn-matrix-table button[aria-pressed=true]{background:#20212c;color:#fff;border-color:#b79a66}
@media(prefers-reduced-motion:reduce){body .sn-size-matrix-narrow .sn-matrix-table button{transition:none}}

.sn-product-showroom .sn-showroom-logo{isolation:auto;background:inherit}
.sn-product-showroom .sn-showroom-logo img{background:transparent;mix-blend-mode:multiply}

/* Product gallery: hover affordance and a single viewer for every image. */
.sn-product-gallery [data-product-photo]{position:relative;cursor:zoom-in}
.sn-photo-zoom{position:absolute;right:16px;bottom:16px;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#fff;color:#20212c;box-shadow:0 3px 18px #0002;opacity:0;transform:translateY(5px);transition:opacity .2s,transform .2s;pointer-events:none}
[data-product-photo]:hover .sn-photo-zoom,[data-product-photo]:focus-visible .sn-photo-zoom{opacity:1;transform:none}
html.sn-photo-open,html.sn-photo-open body{overflow:hidden}
.sn-photo-dialog:not([open]){display:none}
.sn-photo-dialog[open]{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:12px;position:fixed;inset:0;margin:auto;width:96vw;height:94dvh;max-width:1600px;max-height:94dvh;box-sizing:border-box;padding:60px 18px 20px;border-radius:10px;background:#17181d;color:#fff}
.sn-photo-dialog figure{grid-column:2;grid-row:1;margin:0;min-width:0;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%}
.sn-photo-dialog img{display:block;max-width:100%;max-height:calc(94dvh - 130px);object-fit:contain;width:auto;height:auto}
.sn-photo-dialog .sn-photo-count{margin-top:12px;font:14px/1.5 system-ui;color:#fff}
.sn-photo-dialog button{position:static;width:44px;height:44px;flex:none;background:#ffffff18;color:#fff;border:1px solid #ffffff40;font-size:32px;line-height:1}
.sn-photo-dialog button:hover{background:#ffffff30}.sn-photo-dialog button:focus-visible{outline:2px solid #d6b777;outline-offset:3px}
.sn-photo-dialog .sn-photo-close{position:absolute;top:10px;right:14px}
.sn-photo-dialog button[hidden],.sn-photo-error[hidden]{display:none!important}
.sn-photo-error{font:14px/1.5 system-ui;text-align:center;color:#fff}
@media(hover:none){.sn-photo-zoom{opacity:1;transform:none}}
@media(max-width:600px){.sn-photo-dialog[open]{width:100%;height:100dvh;max-height:100dvh;grid-template-columns:36px minmax(0,1fr) 36px;gap:4px;padding:64px 6px max(16px,env(safe-area-inset-bottom));border-radius:0}.sn-photo-dialog button{width:36px;height:44px}.sn-photo-dialog img{max-height:calc(100dvh - 140px)}.sn-photo-zoom{width:40px;height:40px;right:10px;bottom:10px}}
@media(prefers-reduced-motion:reduce){.sn-photo-zoom{transition:none}}

.sn-photo-dialog .sn-photo-prev{grid-column:1;grid-row:1}.sn-photo-dialog .sn-photo-next{grid-column:3;grid-row:1}

/* Light gallery; explicit SVG controls avoid inherited close-button glyphs. */
.sn-photo-dialog[open]{background:#fff;color:#20212c;box-shadow:0 12px 60px #20212c12}
.sn-photo-dialog::backdrop{background:rgba(255,255,255,.92)}
.sn-photo-dialog .sn-photo-count,.sn-photo-dialog .sn-photo-error{color:#56565e}
.sn-photo-dialog button{display:grid;place-items:center;padding:0;background:#fff;color:#20212c;border:1px solid #e6e2db;font-size:0;box-shadow:none}
.sn-photo-dialog button:hover{background:#f5f3ef}
.sn-photo-dialog button::before,.sn-photo-dialog button::after{content:none!important;display:none!important}
.sn-photo-dialog button>svg{display:block!important;width:24px;height:24px;flex:none}
@media(prefers-reduced-motion:no-preference){.sn-photo-dialog[open]{animation:sn-photo-reveal .25s ease-out}@keyframes sn-photo-reveal{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}}

.sn-showroom-actions>a[href^="tel:"]{display:flex;align-items:center;justify-content:center;flex:0 0 100%;width:100%;min-height:48px;text-align:center;font-size:clamp(20px,3.5vw,28px);font-weight:600;line-height:1.35;white-space:nowrap}

.sn-size-help{margin:20px 0 26px}
.sn-size-help>p{margin:0 0 10px;font-size:15px;font-weight:600}
.sn-size-help summary{display:flex;align-items:center;justify-content:center;list-style:none;cursor:pointer;background:#471aff;color:#fff;font:600 16px/1.4 system-ui;padding:16px 20px;min-height:52px;box-sizing:border-box;border-radius:6px;transition:background .2s}
.sn-size-help summary::-webkit-details-marker{display:none}
.sn-size-help summary:hover{background:#3912d9}
.sn-size-help summary:focus-visible{outline:2px solid #20212c;outline-offset:3px}
.sn-size-help-content{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:18px 0 0}
.sn-size-help-content a{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 18px;box-sizing:border-box;border-radius:6px;font:600 16px/1.4 system-ui;text-decoration:none}
.sn-size-help-content .sn-size-help-phone{flex:1;color:#20212c;font-size:clamp(20px,3.5vw,26px);white-space:nowrap}
@media(max-width:760px){.sn-size-help-content a{width:100%}}

.sn-mobile-purchase{display:none}
@media(max-width:760px){
  body.sn-has-mobile-purchase{padding-bottom:calc(88px + env(safe-area-inset-bottom))}
  .sn-mobile-purchase:not([hidden]){position:fixed;inset:auto 0 0;z-index:990;display:flex;align-items:center;gap:14px;box-sizing:border-box;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#fffdf9;border-top:1px solid #e6e2db;box-shadow:0 -4px 20px #20212c0d}
  .sn-mobile-purchase-price{flex:1;min-width:0;font:600 19px/1.3 system-ui;color:#20212c}
  .sn-mobile-purchase-price del{display:block;font-size:12px;font-weight:400;color:#777}
  .sn-mobile-purchase-price ins{text-decoration:none}
  .sn-mobile-purchase button{flex:0 0 auto;min-height:48px;padding:12px 18px;background:#20212c;color:#f5e4c6;border:0;border-radius:5px;font:600 15px/1.3 system-ui;cursor:pointer}
  .sn-mobile-purchase button:disabled{opacity:.5;cursor:wait}
  body:has(.sn-cookie-banner:not([hidden])) .sn-mobile-purchase,body:has(dialog[open]) .sn-mobile-purchase{display:none}
}

/* Separate size cells in both the product page and quick-buy dialog. */
body .woocommerce .sn-size-matrix:not(.sn-size-matrix-compact) .sn-matrix-table{border-collapse:separate;border-spacing:6px}
body .woocommerce .sn-size-matrix:not(.sn-size-matrix-compact) .sn-matrix-table td{padding:0}

/* One cell design regardless of the number of size columns or viewing context. */
body .woocommerce .sn-size-matrix:not(.sn-size-matrix-compact) .sn-matrix-table button{box-sizing:border-box;height:44px;min-height:44px;min-width:44px;width:100%;padding:0 4px;border:1px solid #ded9ce;border-radius:6px;background:#eeeeef;color:#a5a4a8;box-shadow:none;opacity:1}
body .woocommerce .sn-size-matrix .sn-matrix-table button.is-available{background:#8b8c90;color:#fff;border-color:#8b8c90}
body .woocommerce .sn-size-matrix .sn-matrix-table button.is-available:not([aria-pressed=true]):hover{background:#555761;color:#fff;border-color:#555761}
body .woocommerce .sn-size-matrix .sn-matrix-table button[aria-pressed=true],body .woocommerce .sn-size-matrix .sn-matrix-table button[aria-pressed=true]:hover{background:#20212c;color:#fff;border-color:#c3a76e;box-shadow:inset 0 0 0 1px #c3a76e}

.sn-photo-lens{position:absolute;z-index:2;pointer-events:none;border:2px solid #c3a76e;border-radius:50%;background-color:#fff;background-repeat:no-repeat;box-shadow:0 6px 30px #20212c30;opacity:0;visibility:hidden;transition:opacity .16s ease;box-sizing:border-box}
.sn-photo-lens.is-visible{opacity:1;visibility:visible}
.sn-photo-zoom-hint{margin:8px 0 0;font:12px/1.4 system-ui;color:#73737b;text-align:center}
.sn-photo-dialog img{max-height:calc(94dvh - 160px)}
@media(hover:hover) and (pointer:fine){.sn-photo-dialog img{cursor:crosshair}}
@media(hover:none),(pointer:coarse){.sn-photo-zoom-hint,.sn-photo-lens{display:none}}
@media(max-width:600px){.sn-photo-dialog img{max-height:calc(100dvh - 160px)}}
@media(prefers-reduced-motion:reduce){.sn-photo-lens{transition:none}}

.sn-product-gallery .sn-photo-inline-lens{display:block;pointer-events:none}
@media(hover:none),(pointer:coarse){.sn-product-gallery .sn-photo-inline-lens{display:none}}

/* WooCommerce is also a class on body: do not require a nested .woocommerce. */
.sn-size-matrix table.sn-matrix-table{border-collapse:separate!important;border-spacing:6px!important}
.sn-size-matrix table.sn-matrix-table td{padding:0!important}
.sn-size-matrix.sn-size-matrix-narrow table.sn-matrix-table{width:auto!important;margin-left:0;margin-right:auto}
.sn-size-matrix table.sn-matrix-table button{box-sizing:border-box;height:44px;min-height:44px;min-width:44px;border-radius:6px}

/* Equal touch-target dimensions keep gallery controls circular on phones. */
@media(max-width:600px){
  .sn-photo-dialog[open]{grid-template-columns:44px minmax(0,1fr) 44px}
  .sn-photo-dialog button{box-sizing:border-box;width:44px;height:44px;min-width:44px;max-width:44px;min-height:44px;max-height:44px;padding:0;aspect-ratio:1;border-radius:50%;align-self:center;justify-self:center}
}

.sn-product-gallery-group{min-width:0}
.sn-product-gallery-dots{display:none}
@media(max-width:760px){
  .sn-product-gallery-dots{display:flex;justify-content:center;flex-wrap:wrap;gap:0;margin:10px 0 0}
  .sn-product-gallery-dots button{display:grid;place-items:center;flex:0 0 32px;width:32px;min-width:32px;max-width:32px;height:36px;min-height:36px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;cursor:pointer}
  .sn-product-gallery-dots button::before{content:'';display:block;width:7px;height:7px;border-radius:50%;background:#d8d4ce;transition:background .18s,width .18s}
  .sn-product-gallery-dots button[aria-current=true]::before{width:20px;border-radius:5px;background:#92784e}
  .sn-product-gallery-dots button:focus-visible{outline:2px solid #92784e;outline-offset:0}
}
@media(prefers-reduced-motion:reduce){.sn-product-gallery-dots button::before{transition:none}}
