/* Independent template: scoped final presentation refinements. */
/* Product summary: shared title, contained artwork and one clear purchase panel. */
body.fs08-unified #productGeneral .fs22-product-heading { margin:0 0 22px; padding:0 0 18px; border-bottom:1px solid #e3e8e2; }
body.fs08-unified #productGeneral .fs22-product-heading::before { content:""; display:block; width:32px; height:3px; margin-bottom:13px; border-radius:3px; background:#ac9465; }
body.fs08-unified #productGeneral #productName { margin:0 0 9px!important; padding:0!important; border:0; background:none; color:#253d32; font:600 clamp(23px,1.8vw,29px)/1.35 Arial,Helvetica,sans-serif!important; letter-spacing:-.025em; overflow-wrap:anywhere; }
body.fs08-unified #productGeneral .instock { display:flex; flex-wrap:wrap; gap:4px 16px; margin:0; padding:0; list-style:none; color:#687169; font:13px/1.6 Arial,Helvetica,sans-serif; }
body.fs08-unified #productGeneral .instock li { margin:0; padding:0; list-style:none; }
body.fs08-unified #productGeneral .instock strong { margin-right:4px; font-weight:400; }
body.fs08-unified #productGeneral .fs08-product-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:24px; align-items:start; margin-bottom:26px; }
body.fs08-unified #productGeneral .fs08-product-gallery { min-width:0; padding:8px 0; }
body.fs08-unified #productGeneral #productMainImage { width:100%; margin:0; }
body.fs08-unified #productGeneral #productMainImage .image { height:auto; min-height:0; }
body.fs08-unified #productGeneral #productMainImage .image a { display:flex; align-items:center; justify-content:center; min-height:0; height:auto; aspect-ratio:auto; padding:18px; box-sizing:border-box; border:1px solid #e5e8e2; border-radius:10px; background:#fff; box-shadow:0 5px 18px #263d3210; }
body.fs08-unified #productGeneral #productMainImage img { width:auto!important; min-width:0!important; max-width:100%!important; height:auto!important; max-height:320px; border-radius:5px; object-fit:contain; }
/* The native columnar wrappers must not inherit the old 43px thumbnail layout. */
body.fs08-unified #productGeneral #productAdditionalImages { display:block; clear:both; width:100%; max-width:100%; height:auto; box-sizing:border-box; margin:14px 0 0; padding:0; border:0; overflow:visible; }
body.fs08-unified #productGeneral #productAdditionalImages #gallery { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,96px),1fr)); align-items:stretch; gap:12px; width:100%; margin:0; padding:0; list-style:none; }
body.fs08-unified #productGeneral #productAdditionalImages #gallery div { width:auto!important; min-width:0; height:auto; float:none; margin:0; padding:0; position:static; overflow:visible; box-sizing:border-box; }
body.fs08-unified #productGeneral #productAdditionalImages #gallery > div,
body.fs08-unified #productGeneral #productAdditionalImages #gallery > div > div,
body.fs08-unified #productGeneral #productAdditionalImages #gallery > div > div > div:not(.additionalImages) { display:contents; }
body.fs08-unified #productGeneral #productAdditionalImages #gallery .clearBoth { display:none; }
body.fs08-unified #productGeneral #productAdditionalImages #gallery .additionalImages { display:flex; align-items:stretch; }
body.fs08-unified #productGeneral #productAdditionalImages .additionalImages a { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0; width:100%; height:auto; min-height:44px; padding:6px; box-sizing:border-box; border:1px solid #e0e6db; border-radius:9px; background:#fff; color:#526451; font:400 0/0 Arial,Helvetica,sans-serif; text-align:center; text-transform:none; text-decoration:none; overflow:visible; overflow-wrap:normal; word-break:normal; transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease; }
body.fs08-unified #productGeneral #productAdditionalImages .additionalImages a :is(br,.imgLinkAdditional) { display:none; }
body.fs08-unified #productGeneral #productAdditionalImages img { display:block; width:100%!important; max-width:100%!important; height:auto!important; max-height:none; aspect-ratio:4/3; object-fit:contain; box-sizing:border-box; padding:3px; border:0; border-radius:5px; background:#f7f8f4; box-shadow:none; transform:none; }
body.fs08-unified #productGeneral #productAdditionalImages .additionalImages a:hover { color:#253d32; border-color:#8c9d83; background:#f8faf5; box-shadow:0 3px 10px #263d3210; }
body.fs08-unified #productGeneral #productAdditionalImages .additionalImages a:focus-visible { outline:2px solid #526b49; outline-offset:3px; }
body.fs08-unified #productGeneral #productAdditionalImages .additionalImages a:is(:hover,:focus-visible) img { transform:none; box-shadow:none; }
body.fs08-unified #productGeneral .fs08-product-purchase { min-width:0; padding:23px; box-sizing:border-box; border:1px solid #e0e6db; border-radius:11px; background:#f5f7f2; box-shadow:0 3px 12px #263d3205; }
body.fs08-unified #productGeneral .fs21-product-availability { display:inline-flex; flex-wrap:wrap; align-items:center; gap:5px 9px; max-width:100%; box-sizing:border-box; margin:0 0 15px; padding:7px 10px; border:1px solid #cad9c2; border-radius:6px; background:#e9f0e3; color:#334d30; font:600 14px/1.5 Arial,Helvetica,sans-serif; }
body.fs08-unified #productGeneral .fs21-product-availability::before { content:""; flex:0 0 7px; width:7px; height:7px; border-radius:50%; background:#668057; }
body.fs08-unified #productGeneral .fs21-product-availability.is-presale { color:#84374b; background:#f6eaf0; border-color:#e5cdd5; }
body.fs08-unified #productGeneral .fs21-product-availability a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
body.fs08-unified #productGeneral #productPrices { display:block; margin:0 0 8px; padding:0; border:0; background:none; color:#263d32; font:600 28px/1.5 Arial,Helvetica,sans-serif!important; letter-spacing:-.02em; }
body.fs08-unified #productGeneral #productPrices .price-text { font-size:14px; font-weight:400; color:#626f62; letter-spacing:0; }
body.fs08-unified #productGeneral #productPrices .normalprice { margin-right:9px; color:#737d71; font-size:16px!important; font-weight:400; letter-spacing:0; }
body.fs08-unified #productGeneral #productPrices :is(.productSpecialPrice,.productSalePrice) { color:#e32636; font-size:28px; }
body.fs08-unified #productGeneral #productRewards { margin:0 0 16px; padding:0; border:0; border-radius:0; background:none; color:#58674f; font:13px/1.65 Arial,Helvetica,sans-serif; }
body.fs08-unified #productGeneral .fs08-product-purchase #productAttributes { margin:18px 0; padding:16px 0 0; border:0; border-top:1px solid #dce3d7; background:none; }
body.fs08-unified #productGeneral #productAttributes #attribsOptionsText { margin:0 0 10px; padding:0; border:0; background:none; color:#34483c; font:600 15px/1.4 Arial,Helvetica,sans-serif; }
body.fs08-unified #productGeneral #productAttributes .attribBlock { margin:0 0 10px; padding:0; }
body.fs08-unified #productGeneral #productAttributes .attribBlock:last-child { margin-bottom:0; }
body.fs08-unified #productGeneral #productAttributes .wrapperAttribsOptions { margin:0; padding:0; font:14px/1.65 Arial,Helvetica,sans-serif; }
body.fs08-unified #productGeneral #productAttributes .wrapperAttribsOptions > .back { float:none; width:auto; margin:0; }
body.fs08-unified #productGeneral #productAttributes .optionName { float:none; margin:0 0 6px; padding:0; font:600 14px/1.5 Arial,Helvetica,sans-serif; }
body.fs08-unified #productGeneral #productAttributes .attribBlock > br.clearBoth { display:none; }
body.fs08-unified #productGeneral #productAttributes :is(select,textarea,input[type=text],input[type=file]) { box-sizing:border-box; width:100%; max-width:100%; min-width:0; }
body.fs08-unified #productGeneral #productAttributes :is(input[type=radio],input[type=checkbox]) { accent-color:#314d40; }
body.fs08-unified #productGeneral .fs21-purchase-actions { display:flex; flex-direction:column; align-items:stretch; gap:5px; margin:18px 0 0; padding:0; }
body.fs08-unified #column-center #productGeneral #cartAdd { display:block; float:none; width:100%; min-width:0; max-width:100%; margin:0; padding:0; border:0; border-radius:0; background:none; box-shadow:none; }
body.fs08-unified #column-center #productGeneral #cartAdd .fs22-quantity-row { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0 0 12px; }
body.fs08-unified #column-center #productGeneral #cartAdd .fs22-quantity-row label { margin:0; color:#52614e; font:14px/1.5 Arial,Helvetica,sans-serif; }
body.fs08-unified #column-center #productGeneral #cartAdd input.qty { flex:0 0 66px; width:66px; min-width:0; height:40px; margin:0; padding:7px; box-sizing:border-box; border:1px solid #cbd5c5; border-radius:6px; background:#fff; text-align:center; font:15px/1.5 Arial,Helvetica,sans-serif; }
body.fs08-unified #productGeneral .fs22-quantity-rules { color:#616e5d; font:12px/1.5 Arial,Helvetica,sans-serif; }
/* Keep both purchase buttons the same size on desktop and mobile. */
body.fs08-unified #column-center #productGeneral #cartAdd .fs22-add-to-cart,
body.fs08-unified #column-center #productGeneral #wishlistLink { display:flex; flex-wrap:nowrap; align-items:center; justify-content:center; box-sizing:border-box; width:100%!important; min-width:0; max-width:100%; min-height:46px; margin:0; padding:11px 18px; border:1px solid; border-radius:7px; font:600 16px/1.4 Arial,Helvetica,sans-serif; letter-spacing:0; white-space:normal; text-transform:none; cursor:pointer; }
body.fs08-unified #column-center #productGeneral #cartAdd .fs22-add-to-cart { border-color:#314d40; background:#314d40; box-shadow:0 3px 9px #314d4015; color:#fff; transition:background .18s,border-color .18s,box-shadow .18s; }
body.fs08-unified #column-center #productGeneral #cartAdd .fs22-add-to-cart:hover { background:#813449; border-color:#813449; box-shadow:0 5px 13px #81344924; }
body.fs08-unified #column-center #productGeneral #cartAdd > p { margin:8px 0 0; color:#677167; font-size:13px; }
body.fs08-unified #column-center #productGeneral #wishlistLink { flex:0 0 auto; align-self:stretch; gap:7px; float:none; clear:none; border-color:#cbd5c5; background:transparent; box-shadow:none; color:#596957; transition:color .18s,background .18s; }
body.fs08-unified #column-center #productGeneral #wishlistLink svg { flex:0 0 17px; }
body.fs08-unified #column-center #productGeneral #wishlistLink:hover { color:#813449; background:#eee8e6; }
body.fs08-unified #column-center #productGeneral :is(.fs22-add-to-cart,#wishlistLink):focus-visible { outline:3px solid #b98191; outline-offset:3px; }
body.fs08-unified #productGeneral .fs21-product-delivery { margin:12px 0 0; padding:11px 12px; border:1px solid #dce3d7; border-left:3px solid #9a855b; border-radius:6px; background:#fff; color:#3f5341; text-align:left; font:500 14px/1.65 Arial,Helvetica,sans-serif; }
/* The legacy banner container was fixed at 590x129; resize the container and image together. */
body.fs08-unified #productGeneral #productDescription { min-width:0; max-width:100%; box-sizing:border-box; margin:24px 0; padding:24px 0; overflow-wrap:anywhere; }
body.fs08-unified #productGeneral #productDescription > h2 { margin:0 0 18px; font:600 21px/1.4 Arial,Helvetica,sans-serif; }
body.fs08-unified #productGeneral #productDescription #banner3 { float:none!important; width:100%!important; min-width:0!important; max-width:590px!important; height:auto!important; min-height:0!important; margin:0 0 18px; padding:0; box-sizing:border-box; }
body.fs08-unified #productGeneral #productDescription #banner3 a { display:block; width:100%; max-width:100%; height:auto; }
body.fs08-unified #productGeneral #productDescription #banner3 img,
body.fs08-unified #productGeneral #productDescription img[src*="chanpye.jpg"] { display:block!important; width:auto!important; min-width:0!important; max-width:100%!important; height:auto!important; max-height:none!important; margin:0!important; object-fit:contain; }
body.fs08-unified .fs21-recommendations { clear:both; min-width:0; margin:28px 0; padding:0; border:0; background:transparent; }
body.fs08-unified .fs21-recommendations h2.centerBoxHeading { margin:0 0 22px; padding:0 0 12px; border:0; border-bottom:1px solid #e1e6e2; background:none; color:#253c33; font:600 23px/1.35 Arial,Helvetica,sans-serif; letter-spacing:-.025em; text-align:left; }
body.fs08-unified .fs21-card-grid { display:grid; grid-template-columns:repeat(var(--fs21-columns,3),minmax(0,1fr)); gap:26px 20px; width:100%; margin:0; padding:0; }
body.fs08-unified .fs21-product-card { display:flex; flex-direction:column; min-width:0; max-width:340px; margin:0; padding:0; border:0; background:transparent; color:#283c33; text-align:left; }
body.fs08-unified .fs21-product-card .product-link { display:block; min-width:0; color:inherit; text-decoration:none; }
body.fs08-unified .fs21-product-card .product-visual { display:flex; align-items:center; justify-content:center; width:100%; aspect-ratio:4/3; padding:10px; box-sizing:border-box; overflow:hidden; border:1px solid #e5e7e2; border-radius:9px; background:#fff; box-shadow:0 3px 12px #263d3210; transition:box-shadow .18s,border-color .18s,transform .18s; }
body.fs08-unified .fs21-product-card .product-visual img { display:block; width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain; margin:0; border:0; border-radius:4px; }
body.fs08-unified .fs21-product-card .product-link:hover .product-visual { border-color:#c7b3b8; box-shadow:0 8px 20px #4d273419; transform:translateY(-2px); }
body.fs08-unified .fs21-product-card .product-copy { padding:13px 0 9px; }
body.fs08-unified .fs21-product-card h3 { margin:0 0 8px; color:#293c33; font:600 17px/1.45 Arial,Helvetica,sans-serif; letter-spacing:0; white-space:normal; overflow-wrap:anywhere; }
body.fs08-unified .fs21-product-card .product-link:hover h3 { color:#813449; }
body.fs08-unified .fs21-product-card .product-prices { display:block; color:#31483c; font:600 17px/1.55 Arial,Helvetica,sans-serif; }
body.fs08-unified .fs21-product-card .normalprice { margin-right:7px; color:#788079; font-size:14px; font-weight:400; text-decoration:line-through; }
body.fs08-unified .fs21-product-card :is(.productSpecialPrice,.productSalePrice,.productSpecialPriceSale) { color:#e32636; font-size:17px; }
body.fs08-unified .fs21-product-card .fs08-card-action { margin-top:auto; padding-top:4px; }
body.fs08-unified .fs21-product-card .fs08-purchase-form { display:block; margin:0; padding:0; }
body.fs08-unified .fs21-product-card .list-addcart { display:flex; align-items:center; justify-content:center; width:100%; min-height:42px; box-sizing:border-box; margin:0; padding:9px 12px; border:1px solid #314d40; border-radius:7px; background:#314d40; color:#fff; font:600 15px/1.4 Arial,Helvetica,sans-serif; text-decoration:none; white-space:normal; cursor:pointer; transition:background .18s,border-color .18s,box-shadow .18s; }
body.fs08-unified .fs21-product-card .list-addcart:hover { background:#813449; border-color:#813449; color:white; box-shadow:0 4px 12px #81344922; }
body.fs08-unified #column-center .fs21-product-card .list-addcart { font:600 14px/1.4 Arial,Helvetica,sans-serif; text-transform:none; letter-spacing:0; }
body.fs08-unified .fs21-product-card :focus-visible { outline:3px solid #b98191; outline-offset:3px; }
body.fs08-unified .fs21-listing-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:12px 18px; clear:both; width:100%; box-sizing:border-box; margin:0 0 22px; padding:12px 14px; border:1px solid #e2e6e2; border-radius:8px; background:#f7f8f5; }
body.fs08-unified .fs21-listing-toolbar #sorter { display:flex; align-items:center; float:none; width:auto; min-width:0; max-width:100%; margin:0; padding:0; border:0; background:none; }
body.fs08-unified #column-center .fs21-listing-toolbar :is(#sorter,.tie2-indent) { padding:0!important; border:0!important; background:none!important; }
body.fs08-unified .fs21-listing-toolbar form { display:flex; align-items:center; gap:10px; min-width:0; max-width:100%; margin:0; padding:0; }
body.fs08-unified .fs21-listing-toolbar .fs21-alpha-filter { margin-left:auto; }
body.fs08-unified .fs21-listing-toolbar label { margin:0; font-size:14px; white-space:nowrap; }
body.fs08-unified .fs21-listing-toolbar select { width:auto; min-width:0; max-width:100%; min-height:40px; margin:0; padding:7px 25px 7px 10px; border:1px solid #cbd4cc; border-radius:5px; background-color:#fff; font:14px/1.4 Arial,Helvetica,sans-serif; }
body.fs08-unified .fs21-alpha-filter label { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
body.fs08-unified .fs21-pagination { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; clear:both; margin:20px 0; }
body.fs08-unified .fs21-pagination > div { float:none; max-width:100%; }
body.fs08-unified #checkoutSuccessMainContent { margin:20px 0; padding:22px 24px; border:1px solid #dfe5df; border-left:3px solid #54765d; border-radius:8px; background:#f7f9f5; color:#354039; font:16px/1.7 Arial,Helvetica,sans-serif; overflow-wrap:anywhere; }
body.fs08-unified #checkoutSuccessMainContent p { margin:0 0 14px; }
body.fs08-unified #checkoutSuccessMainContent p:last-child { margin-bottom:0; }
body.fs08-unified #checkoutSuccessMainContent a { color:#813449; text-decoration:underline; text-underline-offset:3px; }
body.fs08-unified #checkoutSuccessMainContent .fs21-checkout-intro { margin:0 0 16px; font-size:17px; }
body.fs08-unified #checkoutSuccessMainContent .fs21-file-reminder { padding:12px 14px; margin:0 0 20px; border-radius:6px; background:#eef2e9; font-size:14px; }
body.fs08-unified .fs21-checkout-help { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
body.fs08-unified #checkoutSuccessMainContent h2 { margin:0 0 7px; padding:0; border:0; background:none; color:#293c33; font:600 17px/1.4 Arial,Helvetica,sans-serif; text-align:left; }
body.fs08-unified .fs21-checkout-help p { font-size:15px; }
body.fs08-unified .fs21-file-tools { margin-top:20px; padding-top:18px; border-top:1px solid #dfe5df; }
body.fs08-unified .fs21-file-tools ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 20px; list-style:none; margin:12px 0 0; padding:0; }
body.fs08-unified .fs21-file-tools li { display:flex; flex-direction:column; gap:3px; margin:0; padding:0; font-size:14px; line-height:1.5; }
body.fs08-unified .fs21-file-tools li span { color:#606b61; font-size:13px; }
body.fs08-unified .fs21-file-tools a { width:fit-content; max-width:100%; }
body.fs08-unified .fs21-download-list { display:grid; gap:12px; }
body.fs08-unified .fs21-download-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(180px,auto); align-items:center; gap:18px; padding:18px; border:1px solid #e2e6e2; border-radius:8px; background:white; }
body.fs08-unified .fs21-download-name { min-width:0; font:600 16px/1.5 Arial,Helvetica,sans-serif; overflow-wrap:anywhere; }
body.fs08-unified .fs21-download-name .download-updated { display:block; margin-top:4px; color:#a0394c; font-size:12px; }
body.fs08-unified .fs21-download-actions { min-width:0; overflow-wrap:anywhere; }
body.fs08-unified .fs21-download-actions a { display:inline-flex; align-items:center; min-height:40px; white-space:normal; }
@media (max-width:767px) {
 body.fs08-unified #productGeneral .fs08-product-layout { grid-template-columns:minmax(0,1fr); gap:18px; margin-bottom:20px; }
 body.fs08-unified #productGeneral #productMainImage { max-width:300px; margin:0 auto; }
 body.fs08-unified #productGeneral #productMainImage .image a { padding:12px; }
 body.fs08-unified #productGeneral .fs22-product-heading { margin-bottom:16px; padding-bottom:14px; }
 body.fs08-unified #productGeneral #productName { font-size:22px!important; line-height:1.35; }
 body.fs08-unified #productGeneral .fs08-product-purchase { padding:17px; }
 body.fs08-unified #productGeneral #productPrices { font-size:26px!important; margin:0 0 8px; }
 body.fs08-unified #productGeneral .fs21-purchase-actions { gap:4px; margin-top:14px; }
 body.fs08-unified #productGeneral #productDescription { margin:20px 0; padding:20px 0; }
 body.fs08-unified #productGeneral #productDescription > h2 { margin-bottom:14px; font-size:19px; }
 body.fs08-unified .fs21-recommendations { margin:22px 0; }
 body.fs08-unified .fs21-recommendations h2.centerBoxHeading { margin-bottom:14px; padding-bottom:10px; font-size:19px; }
 body.fs08-unified .fs21-card-grid { grid-template-columns:repeat(var(--fs21-mobile-columns,2),minmax(0,1fr)); gap:19px 12px; }
 body.fs08-unified .fs21-product-card .product-visual { padding:6px; border-radius:7px; }
 body.fs08-unified .fs21-product-card .product-copy { padding:10px 0 6px; }
 body.fs08-unified .fs21-product-card h3 { font-size:15px; line-height:1.45; }
 body.fs08-unified .fs21-product-card .product-prices { font-size:15px; }
 body.fs08-unified .fs21-product-card :is(.productSpecialPrice,.productSalePrice,.productSpecialPriceSale) { font-size:15px; }
 body.fs08-unified .fs21-product-card .normalprice { font-size:12px; }
 body.fs08-unified .fs21-product-card .list-addcart { min-height:42px; padding:8px; font-size:14px; }
 body.fs08-unified .fs21-listing-toolbar { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:8px; padding:10px; }
 body.fs08-unified .fs21-listing-toolbar #sorter, body.fs08-unified .fs21-listing-toolbar #sorter form { display:block; width:100%; }
 body.fs08-unified .fs21-listing-toolbar .fs21-alpha-filter { align-self:end; width:100%; margin:0; }
 body.fs08-unified .fs21-listing-toolbar select { display:block; width:100%; font-size:13px; }
 body.fs08-unified .fs21-listing-toolbar #sorter label { display:block; margin-bottom:5px; font-size:13px; }
 body.fs08-unified #productDescription img[src*="chanpye.jpg"], body.fs08-unified #column-center img[src*="/chanpye.jpg"] { display:block!important; width:auto!important; max-width:100%!important; height:auto!important; max-height:none!important; aspect-ratio:auto!important; object-fit:contain; margin:12px auto!important; }
 body.fs08-unified #checkoutSuccessMainContent { margin:16px 0; padding:16px; font-size:15px; }
 body.fs08-unified #checkoutSuccessMainContent .fs21-checkout-intro { font-size:16px; }
 body.fs08-unified .fs21-checkout-help, body.fs08-unified .fs21-file-tools ul { grid-template-columns:minmax(0,1fr); gap:16px; }
 body.fs08-unified .fs21-download-row { grid-template-columns:minmax(0,1fr); gap:10px; padding:14px; }
 body.fs08-unified .fs21-download-name { font-size:15px; }
}
/* Minimal viewer: image, overlaid arrows and close; labels remain accessible. */
body .fs-product-viewer { position:fixed; inset:0; z-index:100000; display:flex; align-items:center; justify-content:center; padding:24px; box-sizing:border-box; background:rgb(17 29 24 / 88%); font:14px/1.5 Arial,Helvetica,sans-serif; color:#253d32; }
body .fs-product-viewer[hidden], body .fs-product-viewer [hidden] { display:none!important; }
body.fs08-storefront .fs-product-viewer .fs-product-viewer__dialog { position:relative; display:flex; align-items:center; justify-content:center; width:max-content; max-width:100%; max-height:calc(100vh - 48px); max-height:calc(100dvh - 48px); min-width:min(112px,100%); min-height:min(160px,calc(100vh - 48px)); min-height:min(160px,calc(100dvh - 48px)); overflow:hidden; border:0; border-radius:10px; background:#fff; box-shadow:0 20px 70px #0006; }
body.fs08-storefront .fs-product-viewer .fs-product-viewer__toolbar { position:absolute; top:10px; right:10px; z-index:3; display:block; margin:0; padding:0; border:0; }
body.fs08-storefront .fs-product-viewer :is(.fs-product-viewer__title,.fs-product-viewer__count,.fs-product-viewer__caption) { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); clip-path:inset(50%); white-space:nowrap; border:0; }
body.fs08-storefront .fs-product-viewer .fs-product-viewer__button, body.fs08-storefront .fs-product-viewer .fs-product-viewer__original { display:inline-flex; align-items:center; justify-content:center; flex:none; min-width:44px; min-height:44px; margin:0; padding:9px 14px; border:1px solid #d9e1d2; border-radius:8px; background:#fff; color:#304c3d; font:600 14px/1.4 Arial,Helvetica,sans-serif; text-transform:none; text-decoration:none; cursor:pointer; box-sizing:border-box; }
body.fs08-storefront .fs-product-viewer .fs-product-viewer__button:hover, body.fs08-storefront .fs-product-viewer .fs-product-viewer__original:hover { background:#edf2e8; border-color:#93a486; color:#253d32; }
body.fs08-storefront .fs-product-viewer .fs-product-viewer__button:focus-visible, body.fs08-storefront .fs-product-viewer .fs-product-viewer__original:focus-visible { outline:2px solid #526b49; outline-offset:3px; }
body.fs08-storefront .fs-product-viewer .fs-product-viewer__stage { display:flex; align-items:center; justify-content:center; position:relative; min-width:0; min-height:0; padding:0; overflow:auto; background:#fff; }
body.fs08-storefront .fs-product-viewer .fs-product-viewer__image { display:block; width:auto; height:auto; max-width:calc(100vw - 48px); max-height:calc(100vh - 48px); max-height:calc(100dvh - 48px); object-fit:contain; border:0; margin:0; }
body.fs08-storefront .fs-product-viewer:is(.is-loading,.is-error) .fs-product-viewer__stage { width:420px; max-width:calc(100vw - 48px); min-height:200px; box-sizing:border-box; padding:56px; }
body.fs08-storefront .fs-product-viewer .fs-product-viewer__status { width:24px; height:24px; margin:0; padding:0; border:2px solid #dce3d7; border-top-color:#526b49; border-radius:50%; font-size:0; color:transparent; animation:fs-gallery-loading .8s linear infinite; }
body.fs08-storefront .fs-product-viewer .fs-product-viewer__error { max-width:100%; padding:0; text-align:center; color:#5c654f; }
body.fs08-storefront .fs-product-viewer .fs-product-viewer__error p { margin:0 0 12px; }
body.fs08-storefront .fs-product-viewer .fs-product-viewer__error .fs-product-viewer__button, body.fs08-storefront .fs-product-viewer .fs-product-viewer__error .fs-product-viewer__original { margin:4px; }
body.fs08-storefront .fs-product-viewer .fs-product-viewer__controls { position:absolute; inset:0; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0; padding:10px; border:0; pointer-events:none; box-sizing:border-box; }
body.fs08-storefront .fs-product-viewer :is(.fs-product-viewer__close,.fs-product-viewer__previous,.fs-product-viewer__next) { width:44px; height:44px; min-width:44px; min-height:44px; padding:0; border:1px solid #ffffff45; border-radius:50%; background:rgb(17 29 24 / 72%); color:#fff; font:400 30px/1 Arial,Helvetica,sans-serif; box-shadow:0 2px 10px #0003; pointer-events:auto; }
body.fs08-storefront .fs-product-viewer :is(.fs-product-viewer__close,.fs-product-viewer__previous,.fs-product-viewer__next):is(:hover,:active) { background:rgb(17 29 24 / 92%); border-color:#ffffff80; color:#fff; }
body.fs08-storefront .fs-product-viewer :is(.fs-product-viewer__close,.fs-product-viewer__previous,.fs-product-viewer__next):focus-visible { outline:2px solid #fff; outline-offset:3px; }
body.fs08-storefront .fs-product-viewer :is(.fs-product-viewer__previous,.fs-product-viewer__next):disabled { display:none; }
@keyframes fs-gallery-loading { to { transform:rotate(360deg); } }
@media (max-width:600px) {
 body.fs08-unified #productGeneral #productAdditionalImages #gallery { gap:10px; }
 body .fs-product-viewer { padding:10px; }
 body.fs08-storefront .fs-product-viewer .fs-product-viewer__dialog { max-height:calc(100vh - 20px); max-height:calc(100dvh - 20px); border-radius:8px; }
 body.fs08-storefront .fs-product-viewer .fs-product-viewer__image { max-width:calc(100vw - 20px); max-height:calc(100vh - 20px); max-height:calc(100dvh - 20px); }
 body.fs08-storefront .fs-product-viewer:is(.is-loading,.is-error) .fs-product-viewer__stage { max-width:calc(100vw - 20px); }
 body.fs08-storefront .fs-product-viewer .fs-product-viewer__toolbar { top:6px; right:6px; }
 body.fs08-storefront .fs-product-viewer .fs-product-viewer__controls { padding:6px; }
}
@media (prefers-reduced-motion:reduce) {
 body.fs08-storefront .fs-product-viewer .fs-product-viewer__status { animation:none; }
 body.fs08-unified #productGeneral #productAdditionalImages .additionalImages a { transition:none; }
 body.fs08-unified #productGeneral :is(.fs22-add-to-cart,#wishlistLink), body.fs08-unified .fs21-product-card .product-visual, body.fs08-unified .fs21-product-card .list-addcart { transition:none; transform:none!important; }
}
