/* Scope the main gallery and title explicitly: bundles have their own .images and .product_title. */
.swatcom-design.sc-product-page{--sc-product-card-gap:14px;--sc-product-section-gap:clamp(28px,3.4vw,52px)}
/* Purchase trust boxes remain outside native cart and variation forms. */
.sc-product-page .sc-product-purchase{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:var(--sc-product-card-gap);min-width:0}
#content .sc-product-page .sc-product-trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:var(--sc-product-card-gap);list-style:none;margin:0;padding:0;min-width:0}
#content .sc-product-page .sc-product-trust__item{list-style:none;display:flex;min-width:0;margin:0;padding:0}
#content .sc-product-page .sc-product-trust__box{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;min-width:0;height:100%;padding:20px 12px;border:1px solid var(--sc-border);border-radius:var(--sc-radius);background:var(--sc-card);color:var(--sc-text);text-align:center;text-decoration:none;box-shadow:none}
#content .sc-product-page .sc-product-trust__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;color:var(--sc-link)}
#content .sc-product-page .sc-product-trust__icon svg{display:block;width:28px;height:28px;overflow:visible}
#content .sc-product-page .sc-product-trust__item--reviews .sc-product-trust__icon{color:#00b67a}
#content .sc-product-page .sc-product-trust__item--reviews .sc-product-trust__icon svg{fill:currentColor;stroke:none}
#content .sc-product-page .sc-product-trust__copy{display:block;min-width:0;width:100%}
#content .sc-product-page .sc-product-trust__title{display:block;margin:0;padding:0;color:var(--sc-text);font:600 18px/1.15 var(--display);text-transform:uppercase;letter-spacing:0;overflow-wrap:break-word}
#content .sc-product-page .sc-product-trust__text{display:block;margin:7px 0 0;color:var(--sc-soft);font:400 12px/1.5 var(--body);overflow-wrap:anywhere}
#content .sc-product-page a.sc-product-trust__link{display:inline;margin:0;padding:0;border:0;background:transparent;color:var(--sc-link);font:inherit;font-weight:700;text-decoration:none;text-underline-offset:3px;box-shadow:none}
#content .sc-product-page a.sc-product-trust__link:is(:hover,:focus-visible){background:transparent;color:var(--sc-link);text-decoration:underline}
#content .sc-product-page a.sc-product-trust__link:focus-visible{outline:2px solid var(--sc-focus);outline-offset:3px}
@media(max-width:600px){
 #content .sc-product-page .sc-product-trust{grid-template-columns:minmax(0,1fr)}
 #content .sc-product-page .sc-product-trust__box{flex-direction:row;align-items:center;gap:14px;padding:16px 18px;text-align:left}
 #content .sc-product-page .sc-product-trust__copy{width:auto;flex:1}
 #content .sc-product-page .sc-product-trust__text{margin-top:4px}
}
.swatcom-design.sc-product-page .sc-commerce-content{padding-top:48px;padding-bottom:80px}
.sc-product-page .sc-product-notices{margin:0;padding:0}
.swatcom-design.sc-product-page .sc-product-detail{margin:0;clear:both}
.swatcom-design.sc-product-page .sc-product-overview{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--sc-product-section-gap);align-items:start;padding:0 0 var(--sc-product-section-gap);scroll-margin-top:155px}
.swatcom-design.sc-product-page .sc-product-overview:focus{outline:none}
.swatcom-design.sc-product-page .sc-product-media{--sc-gallery:#fff;--sc-zoom-bg:#080808;--sc-zoom-ink:var(--yellow);--sc-zoom-border:#555;position:relative;min-width:0;border:0;background:transparent;padding:0}
.swatcom-design.sc-product-page .sc-product-media.sc-gallery-dark{--sc-gallery:#000}
.swatcom-design.sc-product-page.sc-product-light .sc-product-media{--sc-zoom-bg:#fff;--sc-zoom-ink:#121212;--sc-zoom-border:#d9dad4}
/* !important only on widths/floats that Astra declares against #content. Never override the slider transform. */
#content .sc-product-page .sc-product-overview>.sc-product-media>.woocommerce-product-gallery{width:100%!important;max-width:100%!important;float:none!important;margin:0;position:relative;background:transparent}
.sc-product-page .sc-product-media .woocommerce-product-gallery__wrapper{margin:0}
.sc-product-page .sc-product-media :is(.woocommerce-product-gallery__image,.woocommerce-product-gallery__image--placeholder){position:relative;background:var(--sc-gallery);border:0;border-radius:var(--sc-radius);overflow:hidden;box-sizing:border-box}
/* Frame the viewport, not its slide: FlexSlider measures the image's height without borders. */
#content .sc-product-page .sc-product-media .flex-viewport{border-radius:var(--sc-radius);background:var(--sc-gallery);overflow:hidden}
#content .sc-product-page .sc-product-media .flex-viewport::after,
#content .sc-product-page .sc-product-media .woocommerce-product-gallery>.woocommerce-product-gallery__wrapper>:is(.woocommerce-product-gallery__image,.woocommerce-product-gallery__image--placeholder)::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border:1px solid var(--sc-border);border-radius:inherit;box-sizing:border-box}
#content .sc-product-page .sc-product-media .flex-viewport .woocommerce-product-gallery__image{border-radius:0}
.sc-product-page .sc-product-media .woocommerce-product-gallery__image>a{display:block}
#content .sc-product-page .sc-product-media :is(.woocommerce-product-gallery__image,.woocommerce-product-gallery__image--placeholder) img:not(.zoomImg){display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:var(--sc-gallery);mix-blend-mode:normal;padding:0;border:0;box-shadow:none}
.sc-product-page .sc-product-media .woocommerce-product-gallery__image img.zoomImg{aspect-ratio:auto;max-width:none;background:var(--sc-gallery)}
/* WooCommerce sets a white zoom canvas: override its background only, retaining native zoom dimensions. */
#content .sc-product-page .sc-product-media.sc-gallery-dark .woocommerce-product-gallery__image img.zoomImg{background:#000!important}
#content .sc-product-page .sc-product-media.sc-gallery-light .woocommerce-product-gallery__image img.zoomImg{background:#fff!important}
#content .sc-product-page .sc-product-media .woocommerce-product-gallery__trigger{right:14px;top:14px;width:44px;height:44px;background:var(--sc-zoom-bg);color:var(--sc-zoom-ink);border:1px solid var(--sc-zoom-border);box-shadow:none;border-radius:50%;z-index:5}
#content .sc-product-page .sc-product-media .woocommerce-product-gallery__trigger::before{content:"";display:block;position:absolute;left:11px;top:11px;width:13px;height:13px;border:2px solid var(--sc-zoom-ink);border-radius:50%;background:transparent;box-sizing:border-box}
#content .sc-product-page .sc-product-media .woocommerce-product-gallery__trigger::after{content:"";display:block;position:absolute;left:25px;top:23px;width:2px;height:8px;border:0;background:var(--sc-zoom-ink);transform:rotate(-45deg)}
#content .sc-product-page .sc-product-media .woocommerce-product-gallery__trigger>span[aria-hidden=true]{display:none}
#content .sc-product-page .sc-product-media .woocommerce-product-gallery__trigger:hover{border-color:var(--sc-zoom-ink)}
#content .sc-product-page .sc-product-media .flex-control-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sc-product-card-gap);overflow:visible;max-height:none;margin:var(--sc-product-card-gap) 0 0;padding:0;list-style:none}
#content .sc-product-page .sc-product-media .flex-control-thumbs::before,#content .sc-product-page .sc-product-media .flex-control-thumbs::after{display:none}
#content .sc-product-page .sc-product-media .flex-control-thumbs li{float:none;width:auto;max-width:none;margin:0;padding:0;min-width:0;list-style:none}
#content .sc-product-page .sc-product-media .flex-control-thumbs img{border:1px solid var(--sc-border);border-radius:var(--sc-radius);aspect-ratio:1;object-fit:contain;opacity:.75;padding:0;background:var(--sc-gallery);width:100%;height:auto;display:block;box-shadow:none;cursor:pointer;transition:opacity .2s,border-color .2s}
#content .sc-product-page .sc-product-media .flex-control-thumbs img.flex-active{border-color:var(--sc-focus);box-shadow:inset 0 -3px var(--yellow);opacity:1}
#content .sc-product-page .sc-product-media .flex-control-thumbs img:hover{opacity:1;border-color:var(--sc-soft)}
#content .sc-product-page :is(.sc-product-overview,.sc-product-purchase)>.summary.sc-product-summary{width:100%!important;max-width:none!important;float:none!important;margin:0;padding:clamp(22px,2.4vw,32px);min-width:0;border:1px solid var(--sc-border);border-radius:var(--sc-radius);background:var(--sc-card)}
#content .sc-product-page .sc-product-summary>.woocommerce-breadcrumb{padding:0;margin:0 0 20px;font:400 11px/1.8 var(--body);color:var(--sc-soft)}
#content .sc-product-page .sc-product-summary>h1.product_title{font:600 clamp(28px,2.6vw,40px)/1.08 var(--display);letter-spacing:-.025em;text-transform:uppercase;color:var(--sc-text);margin:0 0 18px;padding:0;word-break:normal;overflow-wrap:break-word;hyphens:none}
.sc-product-page .sc-product-summary .woocommerce-product-rating{margin:0 0 18px;font-size:12px;color:var(--sc-soft)}
.sc-product-page .woocommerce-product-rating .star-rating{color:var(--sc-link)}
.sc-product-page .woocommerce-review-link{color:var(--sc-soft);text-decoration:underline;text-underline-offset:3px}
#content .sc-product-page .sc-product-summary>.price{font:700 clamp(24px,2vw,29px)/1.4 var(--body);color:var(--sc-text);margin:0 0 20px;padding:0}
.sc-product-page .price del{color:var(--sc-soft);opacity:1;margin-right:8px;font-size:.8em}
.sc-product-page .price ins{background:none;text-decoration:none;color:inherit}
.sc-product-page .woocommerce-price-suffix{font:400 12px/1.5 var(--body);color:var(--sc-soft);margin-left:5px;white-space:normal}
.sc-product-page .woocommerce-product-details__short-description{font:400 15px/1.7 var(--body);color:var(--sc-description);margin:0 0 20px}
/* Own description sizing from first paint. A tab/reveal script may temporarily
   write an inline width; keep the text full-width without overriding visibility. */
#content .sc-product-page .sc-product-summary>.woocommerce-product-details__short-description,
#content .sc-product-page .woocommerce-tabs>.woocommerce-Tabs-panel{box-sizing:border-box;width:100%!important;min-width:0;max-width:100%}
.sc-product-page .woocommerce-product-details__short-description p{margin:0 0 14px}
.sc-product-page .woocommerce-product-details__short-description :is(ul,ol){padding-left:20px;margin:12px 0}
.sc-product-page .woocommerce-product-details__short-description li{margin:6px 0}
#content .sc-product-page .sc-product-summary>.woocommerce-product-details__short-description>:last-child{margin-bottom:0}
.sc-product-page .woocommerce-product-details__short-description a{color:var(--sc-link);text-decoration:underline;text-underline-offset:3px}
/* The summary supplies bottom padding for every product, with or without add-ons.
   Variation forms remain block-based and keep WooCommerce's visibility rules. */
#content .sc-product-page .sc-product-summary>form.cart{display:block;margin:22px 0 0;padding:0;border:0}
#content .sc-product-page .sc-product-summary>form.cart.variations_form{margin-top:20px}
.sc-product-page .sc-product-summary form.cart::after{content:"";display:block;clear:both}
.sc-product-page form.cart .quantity{float:none;margin:0 12px 12px 0;display:inline-flex;align-items:center;vertical-align:middle;max-width:100%}
.sc-product-page form.cart .quantity .qty{width:72px;min-height:52px;padding:12px 6px;background:var(--sc-control);border-color:var(--sc-border);color:var(--sc-text);font-size:16px;border-radius:var(--sc-radius)}
#content .sc-product-page form.cart .single_add_to_cart_button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:52px;min-height:52px;min-width:180px;max-width:100%;margin:0 0 12px;padding:0 28px;font-size:13px;font-weight:800;line-height:18px;float:none;vertical-align:middle}
/* Native simple-product controls share the available row. Other direct form
   content, including add-ons and extension fields, keeps its own full-width row. */
#content .sc-product-page .sc-product-summary>form.cart:not(.variations_form):has(>.single_add_to_cart_button){display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:12px;row-gap:0;align-items:stretch}
#content .sc-product-page .sc-product-summary>form.cart:not(.variations_form):has(>.single_add_to_cart_button)>*{grid-column:1/-1;min-width:0}
#content .sc-product-page .sc-product-summary>form.cart:not(.variations_form)>.quantity{grid-column:1;margin:0}
#content .sc-product-page .sc-product-summary>form.cart:not(.variations_form)>.single_add_to_cart_button{grid-column:2;width:100%;min-width:0;margin:0}
/* Sold-individually products retain their hidden quantity value in the form,
   while the button uses the complete row when no visible quantity is present. */
#content .sc-product-page .sc-product-summary>form.cart:not(.variations_form)>.quantity:has(>input.qty[type=hidden]){display:none}
#content .sc-product-page .sc-product-summary>form.cart:not(.variations_form):not(:has(>.quantity input.qty:not([type=hidden])))>.single_add_to_cart_button{grid-column:1/-1}
#content .sc-product-page .sc-product-summary>form.cart:not(.variations_form):has(>.single_add_to_cart_button)::before,#content .sc-product-page .sc-product-summary>form.cart:not(.variations_form):has(>.single_add_to_cart_button)::after{display:none}
.sc-product-page .woocommerce-variation-add-to-cart:not(.variations_button){width:100%}
#content .sc-product-page .sc-product-summary form.cart .single_variation_wrap>.woocommerce-variation-add-to-cart{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch}
#content .sc-product-page .sc-product-summary form.cart .single_variation_wrap>.woocommerce-variation-add-to-cart>.quantity{margin:0}
#content .sc-product-page .sc-product-summary form.cart .single_variation_wrap>.woocommerce-variation-add-to-cart>.single_add_to_cart_button{flex:1;margin:0}
.sc-product-page .woocommerce-variation{width:100%;margin-bottom:20px}
.sc-product-page .woocommerce-variation-price,.sc-product-page .bundle_price{color:var(--sc-text);font-size:23px;font-weight:700}
/* Astra colours span.price directly, so the selected variation price needs its own rule. */
#content .sc-product-page .sc-product-summary .woocommerce-variation-price .price{color:var(--sc-text)}
.sc-product-page .stock{font-size:13px;line-height:1.6;margin:0 0 14px;color:var(--sc-stock)}
.sc-product-page .out-of-stock{color:var(--sc-error)}
.sc-product-page .ast-stock-detail{font-size:13px;margin:18px 0}
.sc-product-page .ast-stock-avail{color:var(--sc-soft)}
/* Native status classes remain intact; the label shows the SKU or Availability. */
#content .sc-product-page .sc-product-summary :is(.ast-stock-detail,p.stock){display:inline-flex;align-items:stretch;box-sizing:border-box;width:max-content;max-width:100%;min-height:36px;margin:0;padding:0;border:1px solid var(--sc-stock-border);border-radius:var(--sc-radius);background:var(--sc-stock-bg);font:600 12px/1.5 var(--body);color:var(--sc-stock);overflow:hidden;vertical-align:top}
#content .sc-product-page .sc-product-summary .ast-stock-avail{display:flex;align-items:center;flex:0 1 auto;min-width:0;max-width:none;overflow-wrap:anywhere;margin:0;padding:8px 11px;border-right:1px solid var(--sc-stock-border);background:var(--sc-stock-label-bg);color:var(--sc-stock-label);font:700 10px/1.5 var(--body);letter-spacing:.025em;text-transform:uppercase}
#content .sc-product-page .sc-product-summary [data-sc-stock-sku]{text-transform:none}
/* Status phrases stay intact; a long SKU can wrap in the separate label. */
#content .sc-product-page .sc-product-summary .ast-stock-detail>.stock{display:flex;align-items:center;gap:8px;flex-shrink:0;min-width:0;margin:0;padding:8px 12px;line-height:1.5;font-size:12px;font-weight:600;color:var(--sc-stock);white-space:nowrap;overflow-wrap:normal}
#content .sc-product-page .sc-product-summary p.stock{align-items:center;gap:8px;padding:8px 12px;white-space:nowrap;overflow-wrap:normal}
#content .sc-product-page .sc-product-summary :is(.ast-stock-detail>.stock,p.stock)::before{content:"";display:block;flex:0 0 6px;width:6px;height:6px;border-radius:50%;background:var(--sc-stock-dot)}
#content .sc-product-page .sc-product-summary :is(.ast-stock-detail:has(.out-of-stock),p.stock.out-of-stock){--sc-stock:var(--sc-error);--sc-stock-dot:var(--sc-error)}
#content .sc-product-page .sc-product-summary :is(.ast-stock-detail:has(.available-on-backorder),p.stock.available-on-backorder){--sc-stock:#806000;--sc-stock-dot:#806000}
#content .sc-product-page.sc-product-dark .sc-product-summary :is(.ast-stock-detail:has(.available-on-backorder),p.stock.available-on-backorder){--sc-stock:var(--yellow);--sc-stock-dot:var(--yellow)}
/* Reset accumulated theme spacing without changing WooCommerce's show/hide logic. */
#content .sc-product-page .sc-product-summary form.variations_form>.single_variation_wrap>.single_variation{margin:0;padding:0}
#content .sc-product-page .sc-product-summary form.variations_form>.single_variation_wrap>.single_variation>:is(.woocommerce-variation-description,.woocommerce-variation-price,.woocommerce-variation-availability){margin:0;padding:0 0 16px}
#content .sc-product-page .sc-product-summary form.variations_form>.single_variation_wrap>.single_variation>:is(.woocommerce-variation-description,.woocommerce-variation-price,.woocommerce-variation-availability):empty{display:none;padding:0}
#content .sc-product-page .sc-product-summary .woocommerce-variation-description>:last-child,#content .sc-product-page .sc-product-summary .woocommerce-variation-price>.price{margin-bottom:0}
/* Separate gaps keep empty variation fields from adding space. Native show/hide,
   stock content and the purchase/bundle nodes remain controlled by WooCommerce. */
#content .sc-product-page .sc-product-summary form.sc-variation-status-layout>.single_variation_wrap>.single_variation>:is(.woocommerce-variation-description,.woocommerce-variation-price,.woocommerce-variation-availability){margin:0;padding:0}
#content .sc-product-page .sc-product-summary form.sc-variation-status-layout>.single_variation_wrap>.single_variation>:is(.woocommerce-variation-description,.woocommerce-variation-price):not(:empty){margin-top:20px}
#content .sc-product-page .sc-product-summary form.sc-variation-status-layout>.single_variation_wrap>.single_variation>.woocommerce-variation-availability:not(:empty){margin-top:28px}
#content .sc-product-page .sc-product-summary form.sc-variation-status-layout>.single_variation_wrap>.woocommerce-variation-add-to-cart{margin-top:28px}
#content .sc-product-page .sc-product-summary .sc-variation-status-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:12px;width:100%;max-width:100%;box-sizing:border-box}
#content .sc-product-page .sc-product-summary .sc-variation-status-row>:is(.ast-stock-detail,p.stock){grid-column:1;grid-row:1;justify-self:start;min-width:0}
#content .sc-product-page .sc-product-summary .sc-variation-clear-slot{display:flex;justify-content:flex-end;margin:28px 0 0;padding:0}
#content .sc-product-page .sc-product-summary .sc-variation-clear-slot[hidden]{display:none}
/* Undo Astra's all:initial reset. Share the stock row's height and box geometry,
   retaining neutral grey colours and WooCommerce's own visibility state. */
#content .sc-product-page .sc-product-summary :is(.sc-variation-status-row,.sc-variation-clear-slot)>:is(.reset_variations,.sc-variation-clear-spacer){display:inline-flex;align-items:center;justify-content:center;align-self:stretch;justify-self:end;grid-column:2;grid-row:1;flex:none;box-sizing:border-box;width:auto;max-width:100%;min-height:36px;min-width:64px;margin:0;padding:8px 12px;border:1px solid var(--sc-border);border-radius:var(--sc-radius);background:var(--sc-control);box-shadow:none;opacity:1;font:700 12px/1.5 var(--body);text-transform:uppercase;color:var(--sc-soft);text-decoration:none;cursor:pointer;transition:background .18s,border-color .18s}
/* A non-interactive, unannounced placeholder holds Clear's exact text sizing
   while the original link is parked outside WooCommerce's replaceable HTML. */
#content .sc-product-page .sc-product-summary .sc-variation-clear-spacer{visibility:hidden;pointer-events:none}
#content .sc-product-page .sc-product-summary :is(.sc-variation-status-row,.sc-variation-clear-slot)>.reset_variations:hover{background:var(--sc-tab-active);border-color:var(--sc-soft);color:var(--sc-soft);text-decoration:none}
#content .sc-product-page .sc-product-summary :is(.sc-variation-status-row,.sc-variation-clear-slot)>.reset_variations:focus-visible{outline:2px solid var(--sc-soft);outline-offset:3px}
/* Support the Back In Stock Notifications extension (ID wrapper/text email)
   and WooCommerce core (class wrapper/email input). Fill both stock/Clear columns. */
#content .sc-product-page .sc-product-summary :is(#wc_bis_product_form,.wc_bis_form){grid-column:1/-1;box-sizing:border-box;width:100%;max-width:100%;min-width:0;margin:28px 0 0;padding:0}
/* The availability grid supplies the other 12px of the 28px message gap. */
#content .sc-product-page .sc-product-summary .sc-variation-status-row>:is(#wc_bis_product_form,.wc_bis_form){margin-top:16px}
#content .sc-product-page .sc-product-summary :is(#wc_bis_product_form,.wc_bis_form)>:is(p,h3){margin:0 0 16px}
#content .sc-product-page .sc-product-summary :is(#wc_bis_product_form,.wc_bis_form) :is(form,.wc_bis_form_fields,.wc_bis_form__form-row){box-sizing:border-box;width:100%;max-width:100%;min-width:0;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:0}
#content .sc-product-page .sc-product-summary :is(#wc_bis_product_form,.wc_bis_form) input:is([type=email],[name=wc_bis_email]:not([type=hidden])){display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;float:none;margin:0}
#content .sc-product-page .sc-product-summary :is(#wc_bis_product_form,.wc_bis_form) :is(button,input[type=submit]){align-self:flex-start;max-width:100%;float:none;margin:0}
#content .sc-product-page .sc-product-summary :is(#wc_bis_product_form,.wc_bis_form):has(input:is([type=email],[name=wc_bis_email]:not([type=hidden]))) :is(button,input[type=submit]){margin-top:14px}
#content .sc-product-page form.cart .variations{border:0;margin:0 0 20px;width:100%;border-collapse:collapse}
#content .sc-product-page form.cart .variations :is(td,th){border:0;padding:0 0 12px;vertical-align:top;text-align:left;background:transparent;display:block;width:100%}
#content .sc-product-page form.cart .variations th{padding-bottom:8px}
#content .sc-product-page form.cart .variations label{font:700 11px/1.5 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--sc-text)}
#content .sc-product-page form.cart .variations select{width:100%;max-width:100%;margin:0;min-width:0;min-height:48px;background:var(--sc-choice-canvas)}
#content .sc-product-page form.cart .variations select option{background:var(--sc-choice-canvas)}
.sc-product-page .reset_variations{display:inline-block;color:var(--sc-soft);font-size:12px;margin-top:10px;text-decoration:underline;text-underline-offset:3px}
#content .sc-product-page .sc-product-summary form.variations_form>.variations.sc-variation-table{margin:0}
#content .sc-product-page .sc-product-summary .sc-variation-table>tbody>tr>:is(th,td){margin:0;line-height:1.5}
#content .sc-product-page .sc-product-summary .sc-variation-table>tbody>tr>th{font-size:11px;padding:0 0 8px}
#content .sc-product-page .sc-product-summary .sc-variation-table>tbody>tr>td{padding:0 0 16px}
#content .sc-product-page .sc-product-summary .sc-variation-table>tbody>tr:last-child>td{padding-bottom:0}
/* Keep accessible attribute names without an empty heading row. Native
   dropdown labels remain visible until the thumbnail/name choices initialise. */
#content .sc-product-page .sc-product-summary .sc-variation-table>tbody>tr:has(.sc-choices-enhanced)>.label label{position:absolute;width:1px;height:1px;padding:0;border:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}
#content .sc-product-page .sc-product-summary .sc-variation-table>tbody>tr:has(.sc-choices-enhanced)>.label{padding:0;min-height:0;height:0}
/* Native variation choices: the underlying select retains submission and WooCommerce events. */
.sc-product-page .sc-variation-picker{--sc-choice-canvas:#fff;min-width:0}
.sc-product-page .sc-variation-picker.sc-choice-surface-dark{--sc-choice-canvas:#000}
#content .sc-product-page .sc-variation-picker.sc-choices-enhanced>select[hidden],#content .sc-product-page .sc-variation-options[hidden]{display:none!important}
#content .sc-product-page .sc-variation-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,90px),1fr));gap:8px;width:100%;min-width:0;margin:0;padding:0}
/* Swatch canvases and labels stay white/black in both page colour themes. */
#content .sc-product-page .sc-variation-choice{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:100%;min-width:0;max-width:none;box-sizing:border-box;min-height:44px;padding:9px 12px;margin:0;border:1px solid var(--sc-border);border-radius:var(--sc-radius);background:#fff;color:#000;font:700 11px/1.35 var(--body);letter-spacing:.03em;text-transform:uppercase;box-shadow:none;cursor:pointer;white-space:normal;float:none;text-align:center;transition:border-color .18s,box-shadow .18s,transform .18s}
#content .sc-product-page .sc-variation-options.sc-has-images .sc-variation-choice{min-height:94px;padding:5px 5px 8px}
#content .sc-product-page .sc-variation-choice img{display:block;width:64px;max-width:100%;height:64px;object-fit:contain;background:#fff;border:0;border-radius:var(--sc-radius);margin:0;padding:0;box-shadow:none;mix-blend-mode:normal}
#content .sc-product-page .sc-variation-choice img[hidden]{display:none}
#content .sc-product-page .sc-choice-name{display:block;overflow-wrap:anywhere;color:#000}
#content .sc-product-page .sc-variation-choice[aria-pressed=true]{border-color:var(--sc-focus);box-shadow:inset 0 -3px var(--yellow)}
#content .sc-product-page .sc-variation-choice:disabled{opacity:.35;cursor:not-allowed;text-decoration:line-through}
#content .sc-product-page .sc-variation-choice:focus-visible{outline:2px solid var(--sc-focus);outline-offset:3px}
@media(hover:hover) and (pointer:fine){
 #content .sc-product-page .sc-variation-choice:hover:not(:disabled){border-color:var(--yellow);box-shadow:inset 0 0 0 2px var(--yellow),0 6px 16px rgba(254,219,2,.25);transform:translateY(-3px)}
}
@media(prefers-reduced-motion:reduce){
 #content .sc-product-page .sc-variation-choice{transition:none}
 #content .sc-product-page .sc-variation-choice:hover:not(:disabled){transform:none}
}
#content .sc-product-page .sc-product-summary .product_meta{font:400 12px/1.9 var(--body);color:var(--sc-soft);margin:20px 0 0;padding:0;border:0}
/* Keep SKU / extension hooks; suppress category, tag and brand metadata rows. */
#content .sc-product-page .sc-product-summary .product_meta :is(.posted_in,.tagged_as,.product_brand,.product-brands,.wc-brands){display:none}
/* Keep the native SKU node for WooCommerce's updates, but display it in stock.
   Product types without a stock area retain their existing metadata fallback. */
#content .sc-product-page .sc-product-summary:has(>form.variations_form,[data-sc-stock-sku])>.product_meta .sku_wrapper{display:none}
.sc-product-page .product_meta>span{display:block}
.sc-product-page .product_meta a{color:var(--sc-text);text-decoration:underline;text-underline-offset:3px}
#content .sc-product-page .sc-product-summary .bundle_sells_title{display:none;margin:0;padding:0}
#content .sc-product-page .sc-product-summary .bundle_sells_title h3{font:700 11px/1.5 var(--body);text-transform:uppercase;letter-spacing:.08em;margin:0;color:var(--sc-soft)}
#content .sc-product-page .sc-product-summary .sc-bundle-sells-heading{display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:0;border:0;background:transparent;color:var(--sc-soft);font:700 11px/1.5 var(--body);letter-spacing:.08em;text-transform:uppercase;text-align:center;overflow-wrap:anywhere}
#content .sc-product-page .sc-product-summary .sc-bundle-sells-heading::before,#content .sc-product-page .sc-product-summary .sc-bundle-sells-heading::after{content:"";display:block;flex:1;min-width:0;height:1px;background:var(--sc-border)}
#content .sc-product-page .sc-product-summary .bundle_sells_form{margin:0 0 20px;padding:0;border:0}
/* The add-ons gap belongs above the bundle; all purchase forms have no trailing margin. */
#content .sc-product-page .sc-product-summary .bundle_sells_form.sc-bundle-sells-after-cart{clear:both;width:100%;margin:28px 0 0}
/* Hidden metadata must not add a blank gap below the last purchase/bundle row.
   Keep the normal margin when another metadata element is present. */
#content .sc-product-page .sc-product-summary>.product_meta:not(:has(>:not(.posted_in,.tagged_as,.product_brand,.product-brands,.wc-brands))),
#content .sc-product-page .sc-product-summary:has(>form.variations_form,[data-sc-stock-sku])>.product_meta:not(:has(>:not(.sku_wrapper,.posted_in,.tagged_as,.product_brand,.product-brands,.wc-brands))){margin-top:0}
#content .sc-product-page .bundle_sells_form .bundle_wrap{margin:0;padding:0}
/* Product Bundles: only div-based inline items become compact cards; table/grid layouts retain their structure. */
#content .sc-product-page div.bundled_product_summary{display:grid;grid-template-columns:92px minmax(0,1fr);gap:0;align-items:stretch;padding:0;border:1px solid var(--sc-border);border-radius:var(--sc-radius);background:var(--sc-page);margin:0 0 10px;min-width:0;transition:border-color .2s}
#content .sc-product-page div.bundled_product_summary:has(.bundled_product_checkbox:checked){border-color:var(--sc-focus)}
/* Keep keyboard focus on the actual checkbox/link; do not ring the whole add-on. */
#content .sc-product-page div.bundled_product_summary:is(:focus,:focus-within){outline:none!important}
#content .sc-product-page div.bundled_product_summary:last-of-type{margin-bottom:0}
/* Bundle-Sells appends a data div after the cards, so :last-of-type misses them. */
#content .sc-product-page .bundle_sells_form div.bundled_product_summary:not(:has(~.bundled_product_summary)){margin-bottom:0}
#content .sc-product-page div.bundled_product_summary::before,#content .sc-product-page div.bundled_product_summary::after{display:none}
#content .sc-product-page div.bundled_product_summary.thumbnail_hidden{grid-template-columns:minmax(0,1fr)}
#content .sc-product-page div.bundled_product_summary>.bundled_product_images{position:relative;align-self:stretch;min-height:92px;width:100%!important;max-width:none!important;float:none!important;margin:0;padding:0;background:#fff;border:0;border-radius:calc(var(--sc-radius) - 1px) 0 0 calc(var(--sc-radius) - 1px);overflow:hidden}
#content .sc-product-page div.bundled_product_summary>.bundled_product_images>.bundled_product_image{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0}
#content .sc-product-page div.bundled_product_summary>.bundled_product_images>.bundled_product_image>a{display:block;width:100%;height:100%;margin:0;padding:0}
#content .sc-product-page div.bundled_product_summary>.bundled_product_images>.bundled_product_image>a:focus-visible{outline-offset:-3px}
#content .sc-product-page div.bundled_product_summary>.details{width:100%!important;float:none!important;align-self:center;padding:15px!important;min-width:0}
#content .sc-product-page .bundled_product_images :is(figure,img){margin:0}
#content .sc-product-page .bundled_product_images img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#fff;padding:0;border-radius:var(--sc-radius);box-shadow:none}
#content .sc-product-page div.bundled_product_summary>.bundled_product_images img{width:100%;height:100%;aspect-ratio:auto;border-radius:0}
#content .sc-product-page .bundled_product_title{font:600 16px/1.25 var(--display);text-transform:uppercase;letter-spacing:0;color:var(--sc-text);margin:0 0 5px;padding:0;word-break:normal;overflow-wrap:break-word}
#content .sc-product-page .bundled_product_title_link{margin-left:4px;font-size:12px}
#content .sc-product-page .bundled_product_permalink{color:var(--sc-soft);text-decoration:none}
#content .sc-product-page .bundled_product_permalink:hover{color:var(--sc-link)}
#content .sc-product-page div.bundled_product_summary .bundled_product_excerpt{display:none}
#content .sc-product-page .bundled_product_excerpt p{margin:0 0 10px}
#content .sc-product-page .bundled_product_optional_checkbox{display:block;line-height:1.7;color:var(--sc-text);font-size:12px;font-weight:400;cursor:pointer;margin:0;padding:2px 0;background:transparent;border:0;min-height:28px}
#content .sc-product-page .bundled_product_checkbox{width:17px;height:17px;min-height:17px;position:static;margin:0 7px 0 0;vertical-align:middle;accent-color:var(--sc-focus)}
#content .sc-product-page .bundled_product_summary .price{font:700 13px/1.7 var(--body);color:var(--sc-text)}
#content .sc-product-page .bundled_product_summary .price del{font-size:13px;font-weight:500;color:var(--sc-text);opacity:1;text-decoration:line-through;text-decoration-thickness:1px}
#content .sc-product-page .bundled_product_summary .price del :is(.amount,bdi){color:inherit;opacity:1}
#content .sc-product-page .bundled_product_summary .woocommerce-price-suffix{font-size:11px}
#content .sc-product-page .bundled_product_summary .cart{margin:0;padding:0;border:0;display:block}
#content .sc-product-page .bundled_product_summary .quantity .qty{min-height:42px;width:60px}
#content .sc-product-page .bundled_product_summary .variations label{font-size:10px}
.sc-product-page .bundle_wrap{margin-top:22px}
.sc-product-page .bundle_error .woocommerce-info{font-size:13px;margin:12px 0}
#content .sc-product-page ul.products.bundled_products{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
#content .sc-product-page ul.bundled_products li.bundled_product .details{padding:12px 0;min-width:0}
#content .sc-product-page table.bundled_products{width:100%;background:var(--sc-card);border-color:var(--sc-border);font-size:13px}
#content .sc-product-page table.bundled_products :is(td,th){border-color:var(--sc-border);padding:12px;color:var(--sc-text);white-space:normal}
#content .sc-product-page .group_table{border:0;font-size:14px}
#content .sc-product-page .group_table :is(td,th){border:0;border-bottom:1px solid var(--sc-border);padding:12px 8px;vertical-align:middle;color:var(--sc-text)}
#content .sc-product-page .group_table a{color:var(--sc-link)}
/* Native WooCommerce tabs also carry Barn2's filtered content and ordering. */
.sc-product-page .sc-product-information{display:block;width:100%;min-width:0;clear:both;border:0;padding:0}
#content .sc-product-page .woocommerce-tabs{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding:0;margin:0;border:1px solid var(--sc-tab-border);border-radius:var(--sc-radius);background:var(--sc-card);overflow:hidden;box-shadow:none}
#content .sc-product-page .woocommerce-tabs ul.tabs{display:flex;gap:0;flex-wrap:wrap;list-style:none;margin:0;padding:0;border:0;border-bottom:1px solid var(--sc-tab-border);overflow:visible;background:transparent;box-shadow:none}
#content .sc-product-page .woocommerce-tabs::before,#content .sc-product-page .woocommerce-tabs::after,#content .sc-product-page .woocommerce-tabs ul.tabs::after,#content .sc-product-page .woocommerce-tabs ul.tabs::before,#content .sc-product-page .woocommerce-tabs ul.tabs li::before,#content .sc-product-page .woocommerce-tabs ul.tabs li::after{display:none}
/* Astra's generated rule restores these pseudo-elements above the tabs. */
#content .sc-product-page .woocommerce-tabs ul.tabs::before,#content .sc-product-page .woocommerce-tabs ul.tabs::after{display:none!important;content:none!important}
#content .sc-product-page .woocommerce-tabs ul.tabs li{border:0;border-radius:0;background:none;margin:0;padding:0;box-shadow:none;position:relative;float:none}
#content .sc-product-page .woocommerce-tabs ul.tabs li+li{border-left:1px solid var(--sc-tab-border)}
#content .sc-product-page .woocommerce-tabs ul.tabs li:last-child{border-right:1px solid var(--sc-tab-border)}
#content .sc-product-page .woocommerce-tabs ul.tabs li a{font:700 18px/1.5 var(--body);letter-spacing:.015em;text-transform:uppercase;color:var(--sc-soft);display:block;padding:18px 26px;text-shadow:none;text-decoration:none}
#content .sc-product-page .woocommerce-tabs ul.tabs li a:hover{color:var(--sc-text);background:var(--sc-control)}
#content .sc-product-page .woocommerce-tabs ul.tabs li.active{background:var(--sc-tab-active);box-shadow:none}
#content .sc-product-page .woocommerce-tabs ul.tabs li.active a{color:var(--sc-text);background:var(--sc-tab-active)}
#content .sc-product-page .woocommerce-tabs ul.tabs :is(li,a):focus{outline:none;box-shadow:none}
#content .sc-product-page .woocommerce-tabs ul.tabs li a:focus-visible{outline:2px solid var(--sc-focus);outline-offset:-5px}
/* Barn2 Pro hides its tab list when it supplies accordion headings. Preserve that choice. */
#content .sc-product-page .woocommerce-tabs.wpt-accordion ul.tabs{display:none}
#content .sc-product-page .woocommerce-tabs.wpt-accordion .wpt-acc-title{border-top:1px solid var(--sc-border);background:transparent;color:var(--sc-text);font:600 24px/1.2 var(--display);text-transform:uppercase;margin:0;padding:18px 24px;cursor:pointer}
#content .sc-product-page .woocommerce-tabs.wpt-accordion .wpt-acc-title:first-of-type{border-top:0}
#content .sc-product-page .woocommerce-tabs .panel{background:none;color:var(--sc-description);padding:28px 30px 30px;margin:0;border:0;box-shadow:none;font:600 18px/1.8 var(--body);max-width:100%;overflow-wrap:break-word}
.sc-product-page .woocommerce-tabs .panel :is(h2,h3,h4){font-family:var(--display);color:var(--sc-description);text-transform:none;letter-spacing:0;margin:24px 0 10px;padding:0;border:0;line-height:1.25}
#content .sc-product-page .woocommerce-tabs .panel>:first-child{margin-top:0}
#content .sc-product-page .woocommerce-tabs .panel>:last-child{margin-bottom:0}
#content .sc-product-page .woocommerce-tabs .panel::before,#content .sc-product-page .woocommerce-tabs .panel::after{display:none}
#content .sc-product-page #tab-description>hr:first-child{display:none}
#content .sc-product-page.sc-product-dark :is(.woocommerce-tabs .panel,.woocommerce-product-details__short-description){color:#fff}
#content .sc-product-page.sc-product-dark :is(.woocommerce-tabs .panel,.woocommerce-product-details__short-description) :is(p,li,blockquote,dt,dd,h2,h3,h4){color:#fff}
.sc-product-page .woocommerce-tabs .panel h2{font-size:26px}
.sc-product-page .woocommerce-tabs .panel h3{font-size:24px}
.sc-product-page .woocommerce-tabs .panel h4{font-size:20px}
.sc-product-page .woocommerce-tabs .panel p{margin:0 0 20px}
.sc-product-page .woocommerce-tabs .panel :is(ul,ol){padding-left:22px;margin:12px 0 20px}
.sc-product-page .woocommerce-tabs .panel li{margin-bottom:5px}
.sc-product-page .woocommerce-tabs .panel a{color:var(--sc-link);text-decoration:underline;text-underline-offset:3px}
/* Only description text links switch their underline on hover. */
#content .sc-product-page :is(.woocommerce-product-details__short-description,#tab-description) a:not(.button,.wp-block-button__link){text-decoration:none}
#content .sc-product-page :is(.woocommerce-product-details__short-description,#tab-description) a:not(.button,.wp-block-button__link):hover{text-decoration:underline}
.sc-product-page .woocommerce-tabs .panel :is(img,video,iframe){max-width:100%}
.sc-product-page .woocommerce-tabs .panel video{width:100%;height:auto;background:#000}
.sc-product-page .woocommerce-tabs .panel table{width:100%;border-collapse:collapse;border:1px solid var(--sc-border);font:14px/1.65 var(--body);overflow-wrap:anywhere}
.sc-product-page .woocommerce-tabs .panel table :is(th,td){padding:14px;border:1px solid var(--sc-border);background:var(--sc-card);color:var(--sc-text);text-align:left}
.sc-product-page .woocommerce-tabs .panel table th{font-weight:700}
/* Override Astra's separate heading colour on native specification cells. */
#content .sc-product-page .woocommerce-tabs table.shop_attributes :is(th,td){color:var(--sc-description)}
.sc-product-page .woocommerce-tabs .panel table p{margin:0}
#content .sc-product-page #reviews #comments ol.commentlist li .comment-text{border-color:var(--sc-border);color:var(--sc-text)}
#content .sc-product-page #reviews #comments ol.commentlist li .comment-text p.meta{color:var(--sc-soft)}
#content .sc-product-page :is(.related,.up-sells){margin:54px 0 0;border:0;padding:0;clear:both;box-shadow:none}
#content .sc-product-page .up-sells{margin-top:70px}
.sc-product-page :is(.related,.up-sells)>h2{font:600 clamp(26px,3vw,38px)/1.1 var(--display);text-transform:uppercase;color:var(--sc-text);margin:0 0 28px}
body.sc-product-theme-light .pswp__bg{background:#fff}
body.sc-product-theme-dark .pswp__bg{background:#000}
/* Full-width film lives outside the content shell. Height accounts for the actual site header. */
.sc-product-page .sc-product-film{--sc-film-header-space:112px;position:relative;isolation:isolate;min-height:calc(100vh - var(--sc-film-header-space));min-height:calc(100svh - var(--sc-film-header-space));background:#000;overflow:hidden;margin:0;color:#fff;display:grid;place-items:center;text-align:center;padding:72px var(--gutter)}
.sc-product-page .sc-product-film::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,rgba(0,0,0,.18),rgba(0,0,0,.56) 35%,rgba(0,0,0,.56) 65%,rgba(0,0,0,.18));pointer-events:none}
.sc-product-page .sc-product-film::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,transparent 68%,var(--sc-page) 100%);pointer-events:none}
.sc-product-page .sc-product-film :is(.sc-film-poster,.sc-film-video){position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;pointer-events:none}
.sc-product-page .sc-film-focus-left :is(.sc-film-poster,.sc-film-video){object-position:left center}
.sc-product-page .sc-film-focus-right :is(.sc-film-poster,.sc-film-video){object-position:right center}
.sc-product-page .sc-film-video{opacity:0;transition:opacity .6s ease}
.sc-product-page .sc-product-film.sc-film-ready .sc-film-video{opacity:1}
.sc-product-page .sc-film-copy{position:relative;z-index:2;width:100%;max-width:1000px;margin:0 auto;text-align:center;text-shadow:0 2px 24px rgba(0,0,0,.45)}
.sc-product-page .sc-film-eyebrow{display:flex;justify-content:center;align-items:center;gap:12px;color:#fff;font:700 10px/1.5 var(--body);letter-spacing:.12em;text-transform:uppercase;margin:0 0 22px}
.sc-product-page .sc-film-eyebrow::before{content:"";width:25px;height:2px;background:var(--yellow);flex:none}
.sc-product-page .sc-film-title{font:600 clamp(32px,4.4vw,64px)/1.02 var(--display);letter-spacing:-.025em;text-transform:uppercase;color:#fff;margin:0;text-wrap:balance;overflow-wrap:break-word}
.sc-product-page .sc-film-heading-image{width:min(100%,var(--sc-title-image-width,320px));margin:0 auto}
#content .sc-product-page .sc-film-heading-image img{display:block;width:100%;height:auto;max-height:200px;object-fit:contain;margin:0 auto;border:0;background:transparent;box-shadow:none;filter:none}
.sc-product-page .sc-film-text{font:400 16px/1.7 var(--body);max-width:580px;margin:24px auto 0;color:#fff;text-wrap:pretty}
.sc-product-page .sc-film-cta{display:inline-flex;align-items:center;justify-content:center;gap:12px;margin:28px 0 0;padding:12px 2px;background:transparent;color:#fff;font:700 12px/1.4 var(--body);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border:0;box-shadow:none;min-height:44px;transition:color .2s,border-color .2s}
.sc-product-page .sc-film-cta:hover{background:transparent;color:var(--yellow);text-decoration:none}
.sc-product-page .sc-film-cta .sc-icon{width:17px;height:17px;transform:rotate(90deg)}
.sc-product-page .sc-film-start{position:absolute;bottom:24px;right:var(--gutter);z-index:3;border:1px solid #aaa;background:rgba(0,0,0,.75);color:#fff;display:flex;align-items:center;gap:8px;min-height:44px;padding:10px 14px;font:700 10px/1.3 var(--body);text-transform:uppercase;border-radius:var(--sc-radius);box-shadow:none;cursor:pointer}
.sc-product-page .sc-film-start[hidden]{display:none}
.sc-product-page .sc-film-start svg{width:15px;height:15px}
.sc-product-page .sc-product-film :is(a,button):focus-visible{outline-color:var(--yellow)}
.sc-product-page .sc-film-fallback{position:absolute;right:20px;top:20px;z-index:3;color:#fff;text-decoration:underline}
@media(max-width:1000px){
 .swatcom-design.sc-product-page{--sc-product-section-gap:34px}
 .swatcom-design.sc-product-page .sc-product-overview{grid-template-columns:minmax(0,1fr)}
 .sc-product-page .sc-product-media{width:100%;max-width:700px;justify-self:center}
 #content .sc-product-page .sc-product-summary>h1.product_title{font-size:clamp(30px,4.2vw,40px);max-width:800px}
 .sc-product-page :is(.related,.up-sells) ul.products{--sc-columns:3}
}
@media(max-width:700px){
 .swatcom-design.sc-product-page{--sc-product-section-gap:28px}
 .swatcom-design.sc-product-page .sc-commerce-content{padding-top:28px;padding-bottom:48px}
 .swatcom-design.sc-product-page .sc-product-overview{scroll-margin-top:115px}
 #content .sc-product-page .sc-product-summary>h1.product_title{font-size:30px;margin-bottom:18px}
 .sc-product-page .woocommerce-product-details__short-description{font-size:14px}
 #content .sc-product-page form.cart .single_add_to_cart_button{min-width:160px;padding-inline:20px}
 #content .sc-product-page div.bundled_product_summary{grid-template-columns:82px minmax(0,1fr);gap:0;padding:0}
 #content .sc-product-page div.bundled_product_summary>.bundled_product_images{min-height:82px}
 #content .sc-product-page ul.products.bundled_products{grid-template-columns:minmax(0,1fr)}
 #content .sc-product-page table.bundled_products td.bundled_item_images_col{min-width:52px;width:20%}
 #content .sc-product-page table.bundled_products :is(td,th){padding:8px 4px;font-size:12px}
 /* One full-width tab per row; WooCommerce continues to own panel activation. */
 #content .sc-product-page .woocommerce-tabs ul.tabs{gap:0;flex-direction:column;flex-wrap:nowrap;align-items:stretch;width:100%;overflow:visible;margin:0}
 #content .sc-product-page .woocommerce-tabs ul.tabs li{flex:none;width:100%;text-align:left}
 #content .sc-product-page .woocommerce-tabs ul.tabs li+li{border-left:0;border-top:1px solid var(--sc-tab-border)}
 #content .sc-product-page .woocommerce-tabs ul.tabs li:last-child{border-right:0}
 #content .sc-product-page .woocommerce-tabs ul.tabs li a{font-size:13px;padding:15px 18px;min-height:48px;width:100%;box-sizing:border-box}
 #content .sc-product-page .woocommerce-tabs .panel{font-size:16px;padding:20px}
 #content .sc-product-page :is(.sc-product-overview,.sc-product-purchase)>.summary.sc-product-summary{padding:20px}
 .sc-product-page .woocommerce-tabs .panel h2{font-size:24px}
 .sc-product-page .woocommerce-tabs .panel h3{font-size:21px}
 .sc-product-page .woocommerce-tabs .panel table :is(th,td){padding:10px}
 #content .sc-product-page :is(.related,.up-sells){margin-top:38px}
 #content .sc-product-page .up-sells{margin-top:50px}
}
/* Compact bundle rows retain their thumbnail/name relationship on phones. */
@media(max-width:480px){
 #content .sc-product-page div.bundled_product_summary{grid-template-columns:56px minmax(0,1fr)}
 #content .sc-product-page div.bundled_product_summary>.bundled_product_images{max-width:none!important}
 .sc-product-page .sc-product-film{--sc-film-header-space:94px;padding:64px var(--gutter)}
 .sc-product-page .sc-film-title{font-size:clamp(30px,8vw,38px)}
 .sc-product-page .sc-film-text{font-size:14px;margin-top:20px}
 .sc-product-page .sc-film-cta{margin-top:22px}
}
@media(max-width:360px){
 #content .sc-product-page .sc-product-summary>h1.product_title{font-size:28px}
 #content .sc-product-page div.bundled_product_summary{grid-template-columns:50px minmax(0,1fr);padding:0;gap:0}
 #content .sc-product-page form.cart .single_add_to_cart_button{min-width:135px;padding-inline:14px}
}


@media(max-width:360px){#content .sc-product-page :is(.sc-product-overview,.sc-product-purchase)>.summary.sc-product-summary{padding:16px}}

/* Keep the existing upsell section heading and dividers. */
#content .sc-product-page .up-sells>h2{display:flex;align-items:center;justify-content:center;gap:22px;width:100%;text-align:center;white-space:nowrap}
#content .sc-product-page .up-sells>h2::before,#content .sc-product-page .up-sells>h2::after{content:"";display:block;flex:1 1 0;min-width:12px;height:1px;background:#4c4d46}
@media(max-width:700px){#content .sc-product-page .up-sells>h2{gap:12px;white-space:normal}}

/* Product archive card design, scoped to this module's recommendation loops. */
#content .sc-product-page :is(.related,.up-sells) ul.products{--sc-card:#101010;--sc-border:#303030;--sc-soft:#b9b9b9;--sc-columns:4;display:grid;grid-template-columns:repeat(var(--sc-columns),minmax(0,1fr));gap:26px 22px;margin:0;padding:0;list-style:none;clear:both;align-items:stretch}
#content .sc-product-page :is(.related,.up-sells) ul.products::before,#content .sc-product-page :is(.related,.up-sells) ul.products::after{display:none}
#content .sc-product-page :is(.related,.up-sells) ul.products li.product{float:none!important;width:auto!important;max-width:none;min-width:0;margin:0!important;padding:0!important;position:relative;display:flex;flex-direction:column;align-items:stretch;background:var(--sc-card);color:#f5f5f1;border:1px solid #2c2c2c;border-radius:var(--sc-radius,0px);text-align:left;box-shadow:none;transition:border-color .2s;transform:none!important}
#content .sc-product-page :is(.related,.up-sells) ul.products li.product:is(:hover,:focus-within){border-color:var(--yellow);transform:none}
#content .sc-product-page :is(.related,.up-sells) ul.products li.product a,#content .sc-product-page :is(.related,.up-sells) ul.products li.product a:is(:hover,:focus){text-decoration:none}
#content .sc-product-page :is(.related,.up-sells) ul.products li.product>a.woocommerce-LoopProduct-link{display:flex;flex-direction:column;flex:1 0 auto;min-width:0;border-radius:var(--sc-radius,0px)}
#content .sc-product-page :is(.related,.up-sells) ul.products li.product .sc-recommendation-image{position:relative;isolation:isolate;aspect-ratio:1;width:100%;min-width:0;flex:none;overflow:hidden;background:#fff;border-radius:calc(var(--sc-radius,0px) - 1px) calc(var(--sc-radius,0px) - 1px) 0 0}
#content .sc-product-page :is(.related,.up-sells) ul.products li.product .sc-recommendation-image img{display:block;width:100%;max-width:100%;height:100%;aspect-ratio:auto;object-fit:contain;margin:0;padding:0;border:0;border-radius:0;background:#fff;box-shadow:none;mix-blend-mode:normal;box-sizing:border-box;transition:transform .4s}
#content .sc-product-page :is(.related,.up-sells) ul.products li.product:hover .sc-recommendation-image img{transform:scale(1.025)}
/* A compatible child-theme loop can still use an unwrapped thumbnail. */
#content .sc-product-page :is(.related,.up-sells) ul.products li.product>a>img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;margin:0;padding:0;border:0;background:#fff;box-shadow:none;border-radius:calc(var(--sc-radius,0px) - 1px) calc(var(--sc-radius,0px) - 1px) 0 0;mix-blend-mode:normal;box-sizing:border-box}
#content .sc-product-page :is(.related,.up-sells) .sc-recommendation-info{display:flex;flex-direction:column;flex:1 0 auto;min-width:0;padding:24px 18px 0}
#content .sc-product-page :is(.related,.up-sells) ul.products li.product .woocommerce-loop-product__title{font:600 21px/1.2 var(--display);min-height:2.4em;height:auto;max-height:none;flex-shrink:0;letter-spacing:-.02em;text-transform:uppercase;color:#f5f5f1;margin:0;padding:0;word-break:normal;overflow-wrap:break-word;hyphens:none;text-align:left;transition:color .2s}
#content .sc-product-page :is(.related,.up-sells) ul.products li.product:is(:hover,:focus-within) .woocommerce-loop-product__title{color:var(--yellow)}
#content .sc-product-page :is(.related,.up-sells) ul.products li.product .price{display:block;flex-shrink:0;min-width:0;height:auto;max-height:none;margin:auto 0 0;padding:18px 0 0;font:700 17px/1.55 var(--body);color:#f5f5f1;text-align:left}
#content .sc-product-page :is(.related,.up-sells) ul.products li.product .price del{color:#b5b5b5;font-size:13px;opacity:1;margin-right:6px}
#content .sc-product-page :is(.related,.up-sells) ul.products li.product .price ins{background:transparent;color:var(--yellow);text-decoration:none}
#content .sc-product-page :is(.related,.up-sells) ul.products li.product .price .woocommerce-price-suffix{font:400 11px/1.5 var(--body);color:var(--sc-soft);white-space:normal}
#content .sc-product-page :is(.related,.up-sells) ul.products li.product .star-rating{flex:none;margin:12px 0 0;color:var(--yellow);font-size:11px}
#content .sc-product-page :is(.related,.up-sells) ul.products li.product>.button{display:flex;align-items:center;justify-content:space-between;align-self:stretch;gap:10px;min-height:47px;max-width:none;width:auto;margin:18px 18px 0;padding:14px 0 15px;border:0;border-top:1px solid #313131;background:transparent;color:#f5f5f1;border-radius:0;box-shadow:none;text-align:left;font:700 10px/1.3 var(--body);letter-spacing:.07em;text-transform:uppercase;white-space:normal;transition:color .2s;transform:none}
#content .sc-product-page :is(.related,.up-sells) ul.products li.product>.button:is(:hover,:focus-visible){background:transparent;color:var(--yellow);border-color:#313131;transform:none}
#content .sc-product-page :is(.related,.up-sells) ul.products li.product>.button .sc-icon{width:18px;height:18px;flex:none;color:var(--yellow)}
#content .sc-product-page :is(.related,.up-sells) ul.products li.product>.added_to_cart{display:block;align-self:flex-start;margin:0 18px 18px;font:700 12px/1.5 var(--body);color:var(--yellow);text-decoration:none}
#content .sc-product-page :is(.related,.up-sells) ul.products li.product>.added_to_cart:hover{color:#fff}
#content .sc-product-page :is(.related,.up-sells) .sc-recommendation-badges{position:absolute;top:12px;right:12px;bottom:auto;left:12px;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
#content .sc-product-page :is(.related,.up-sells) .sc-recommendation-badges:empty{display:none}
#content .sc-product-page :is(.related,.up-sells) ul.products li.product :is(.onsale,.ast-onsale-card),#content .sc-product-page :is(.related,.up-sells) .sc-recommendation-stock{position:static;inset:auto;opacity:1;visibility:visible;min-width:0;min-height:0;max-width:100%;margin:0;padding:6px 10px;border:0;border-radius:var(--sc-radius,0px);background:var(--yellow);color:#080808;font:700 10px/1.4 var(--body);letter-spacing:.04em;text-transform:uppercase;box-sizing:border-box}
#content .sc-product-page :is(.related,.up-sells) .sc-recommendation-stock{background:#000;color:#fff;border:1px solid #000;font-size:9px}
#content .sc-product-page :is(.related,.up-sells) ul.products li.product .ast-woo-product-category{display:none}
@media(max-width:1100px){#content .sc-product-page :is(.related,.up-sells) .sc-recommendation-info{padding:22px 14px 0}#content .sc-product-page :is(.related,.up-sells) ul.products li.product .woocommerce-loop-product__title{font-size:19px}#content .sc-product-page :is(.related,.up-sells) ul.products li.product>.button{margin-inline:14px}}
@media(min-width:701px) and (max-width:1023px){#content .sc-product-page :is(.related,.up-sells) ul.products{--sc-columns:3}}
@media(max-width:850px){#content .sc-product-page :is(.related,.up-sells) ul.products{--sc-columns:2}}
@media(max-width:700px){
 #content .sc-product-page :is(.related,.up-sells) ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}
 #content .sc-product-page :is(.related,.up-sells) ul.products li.product .sc-recommendation-image,#content .sc-product-page :is(.related,.up-sells) ul.products li.product>a>img{aspect-ratio:1}
 #content .sc-product-page :is(.related,.up-sells) ul.products li.product .sc-recommendation-image img,#content .sc-product-page :is(.related,.up-sells) ul.products li.product>a>img{padding:0}
 #content .sc-product-page :is(.related,.up-sells) .sc-recommendation-info{padding:18px 12px 0}
 #content .sc-product-page :is(.related,.up-sells) ul.products li.product .woocommerce-loop-product__title{font-size:18px;line-height:1.2}
 #content .sc-product-page :is(.related,.up-sells) ul.products li.product .price{font-size:15px;padding-top:15px}
 #content .sc-product-page :is(.related,.up-sells) ul.products li.product .price del{font-size:11px}
 #content .sc-product-page :is(.related,.up-sells) ul.products li.product .price .woocommerce-price-suffix{font-size:10px}
 #content .sc-product-page :is(.related,.up-sells) ul.products li.product>.button{margin:13px 12px 0;font-size:9px;gap:5px;padding:12px 0}
 #content .sc-product-page :is(.related,.up-sells) ul.products li.product>.button .sc-icon{width:15px}
 #content .sc-product-page :is(.related,.up-sells) ul.products li.product>.added_to_cart{margin:0 12px 14px;font-size:11px}
 #content .sc-product-page :is(.related,.up-sells) .sc-recommendation-badges{top:9px;right:9px;left:9px}
 #content .sc-product-page :is(.related,.up-sells) ul.products li.product :is(.onsale,.ast-onsale-card),#content .sc-product-page :is(.related,.up-sells) .sc-recommendation-stock{padding:5px 8px;font-size:9px}
}
@media(max-width:359px){#content .sc-product-page :is(.related,.up-sells) ul.products{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){#content .sc-product-page :is(.related,.up-sells) ul.products li.product,#content .sc-product-page :is(.related,.up-sells) ul.products li.product :is(img,a,.woocommerce-loop-product__title){transition:none!important}#content .sc-product-page :is(.related,.up-sells) ul.products li.product:hover .sc-recommendation-image img{transform:none}}

/* Square is the default. The opt-in setting restores the original radii above.
   Include third-party product controls and the separate WooCommerce lightbox.
   Icon pseudo-elements (magnifying glass, stock dot) retain their icon shapes. */
body.swatcom-product-active.sc-product-corners-square .sc-product-page{--sc-radius:0px}
body.swatcom-product-active.sc-product-corners-square .sc-product-page,
body.swatcom-product-active.sc-product-corners-square .sc-product-page *,
body.swatcom-product-active.sc-product-corners-square .pswp,
body.swatcom-product-active.sc-product-corners-square .pswp *{border-radius:0!important}
