.woocommerce .elementor-508 .elementor-element.elementor-element-631b145 .woocommerce-product-details__short-description{color:var(--color-ink-2);font-family:"Inter", Sans-serif;font-size:15px;font-weight:400;line-height:1.68em;}.elementor-widget-woocommerce-product-add-to-cart .added_to_cart{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-508 .elementor-element.elementor-element-dd47820 .cart button, .elementor-508 .elementor-element.elementor-element-dd47820 .cart .button{font-family:"Inter", Sans-serif;font-size:12px;font-weight:400;text-transform:uppercase;letter-spacing:0.08em;border-style:solid;border-width:1px 1px 1px 1px;border-radius:999px 999px 999px 999px;padding:16px 32px 16px 32px;color:var(--color-inverse);background-color:var(--color-ink);border-color:var(--color-ink);transition:all 0.2s;}.elementor-508 .elementor-element.elementor-element-dd47820 .cart button:hover, .elementor-508 .elementor-element.elementor-element-dd47820 .cart .button:hover{color:var(--color-inverse);background-color:var(--color-ink-50);border-color:var(--color-ink-50);}.elementor-508 .elementor-element.elementor-element-dd47820{--button-spacing:12px;}.elementor-508 .elementor-element.elementor-element-dd47820 .quantity .qty{transition:all 0.2s;}.elementor-widget-woocommerce-product-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-508 .elementor-element.elementor-element-d5dafb8{color:var(--color-ink-2);font-family:"Inter", Sans-serif;font-size:15px;font-weight:400;line-height:1.68em;}.elementor-508 .elementor-element.elementor-element-551081c{--swiper-slides-to-display:4;--swiper-slides-gap:24px;--arrow-prev-left-align:0%;--arrow-prev-translate-x:0px;--arrow-prev-left-position:0px;--arrow-prev-top-align:50%;--arrow-prev-translate-y:-50%;--arrow-prev-top-position:0px;--arrow-next-right-align:0%;--arrow-next-translate-x:0%;--arrow-next-right-position:0px;--arrow-next-top-align:50%;--arrow-next-translate-y:-50%;--arrow-next-top-position:0px;--arrow-size:16px;--arrow-normal-color:var(--color-ink);--arrow-hover-color:var(--color-inverse);--swiper-pagination-size:8px;--dots-normal-color:var(--color-line-2);--dots-hover-color:var(--color-ink);--swiper-pagination-spacing:24px;}.elementor-508 .elementor-element.elementor-element-551081c :is(.elementor-swiper-button-prev, .elementor-swiper-button-next) {background-color:var(--color-canvas);box-shadow:0px 2px 10px 0px var(--color-shadow);border-radius:999px 999px 999px 999px;padding:12px 12px 12px 12px;}.elementor-508 .elementor-element.elementor-element-551081c :is(.elementor-swiper-button-prev:hover, .elementor-swiper-button-next:hover) {background-color:var(--color-ink);}.elementor-508 .elementor-element.elementor-element-551081c .swiper-slide > .elementor-element{height:100%;}.elementor-508 .elementor-element.elementor-element-551081c .swiper-pagination-bullet{--swiper-pagination-bullet-horizontal-gap:8px;--swiper-pagination-bullet-vertical-gap:8px;}@media(max-width:1200px){.elementor-508 .elementor-element.elementor-element-551081c{--swiper-slides-to-display:3;}}@media(max-width:1024px){.elementor-508 .elementor-element.elementor-element-551081c{--swiper-slides-to-display:3;--swiper-slides-gap:20px;}}@media(max-width:767px){.elementor-508 .elementor-element.elementor-element-551081c{--swiper-slides-to-display:2;--swiper-slides-gap:12px;}}/* Start custom CSS */.elementor-508 .meta-val a,
.elementor-508 .eyebrow a { color: inherit; text-decoration: underline; text-decoration-color: var(--color-line-2); text-underline-offset: 3px; }
.elementor-508 .meta-val a:hover,
.elementor-508 .eyebrow a:hover { color: var(--color-accent); text-decoration-color: currentColor; }
.elementor-508 .elementor-widget-woocommerce-product-content p,
.elementor-508 .elementor-widget-woocommerce-product-short-description p { margin: 0 0 var(--sp-4); max-width: var(--w-read); }
.elementor-508 .elementor-widget-woocommerce-product-content p:last-child,
.elementor-508 .elementor-widget-woocommerce-product-short-description p:last-child { margin-bottom: 0; }
/* pdp-cart:start */
.elementor-508 .variations_form table.variations { margin: 0; border: 0; }
.elementor-508 .variations_form table.variations tbody,
.elementor-508 .variations_form table.variations tr { display: block; }
.elementor-508 .variations_form table.variations tr { margin: 0 0 var(--sp-5); }
.elementor-508 .variations_form table.variations th,
.elementor-508 .variations_form table.variations td { display: block; padding: 0; border: 0; background: transparent; text-align: left; }
.elementor-508 .variations_form table.variations th.label label { display: block; margin: 0 0 var(--sp-3); font-family: var(--font-body); font-size: var(--fs-12); font-weight: 400; letter-spacing: var(--ls-mid); text-transform: uppercase; color: var(--color-ink-3); }
.elementor-508 .variations_form table.variations .cfvsw-selected-label { color: inherit; font: inherit; letter-spacing: inherit; text-transform: inherit; }
.elementor-508 .variations_form table.variations .cfvsw-selected-label::before { content: ": "; }
body.cfvsw-label-none .elementor-508 .variations_form table.variations th.label { display: block !important; visibility: visible !important; }
body.cfvsw-label-none .elementor-508 .variations_form table.variations th.label label { display: block !important; }
.elementor-508 .variations_form .cfvsw-swatches-container { display: flex; flex-wrap: wrap; gap: var(--sp-2); margin: 0; }
.elementor-508 .variations_form [swatches-attr="attribute_pa_color"] { gap: var(--sp-3); }
.elementor-508 .variations_form [swatches-attr="attribute_pa_color"] .cfvsw-swatches-option { width: var(--sp-7) !important; height: var(--sp-7) !important; min-width: var(--sp-7) !important; min-height: var(--sp-7) !important; padding: 0 !important; margin: 0; border: var(--bd) solid var(--color-line-2) !important; border-radius: var(--r-pill) !important; box-shadow: inset 0 0 0 3px var(--color-canvas); background: var(--color-canvas); cursor: pointer; transition: border-color 220ms; }
.elementor-508 .variations_form [swatches-attr="attribute_pa_color"] .cfvsw-swatch-inner { width: 100%; height: 100%; border-radius: var(--r-pill) !important; }
.elementor-508 .variations_form [swatches-attr="attribute_pa_color"] .cfvsw-swatches-option:hover { border-color: var(--color-ink) !important; }
.elementor-508 .variations_form [swatches-attr="attribute_pa_color"] .cfvsw-swatches-option.cfvsw-selected-swatch { border: 3px solid var(--color-ink) !important; }
.elementor-508 .variations_form [swatches-attr="attribute_pa_size"] .cfvsw-swatches-option { display: inline-flex; align-items: center; justify-content: center; min-width: 64px !important; min-height: 0 !important; margin: 0; padding: var(--sp-3) var(--sp-4) !important; border: var(--bd) solid var(--color-line-2) !important; border-radius: var(--r-sm) !important; background: var(--color-canvas); color: var(--color-ink); font-family: var(--font-body); font-size: var(--fs-13); line-height: 1; cursor: pointer; transition: background-color 220ms, border-color 220ms, color 220ms; }
.elementor-508 .variations_form [swatches-attr="attribute_pa_size"] .cfvsw-swatch-inner { color: inherit; font: inherit; background: transparent; }
.elementor-508 .variations_form [swatches-attr="attribute_pa_size"] .cfvsw-swatches-option:hover { border-color: var(--color-ink) !important; }
.elementor-508 .variations_form [swatches-attr="attribute_pa_size"] .cfvsw-swatches-option.cfvsw-selected-swatch { background: var(--color-ink); color: var(--color-inverse); border-color: var(--color-ink) !important; }
.elementor-508 .variations_form .cfvsw-swatches-option.cfvsw-swatches-disabled,
.elementor-508 .variations_form .cfvsw-swatches-option.cfvsw-swatches-out-of-stock { border-style: dashed !important; border-color: var(--color-line-2) !important; color: var(--color-line-2); background: var(--color-canvas); opacity: 1 !important; filter: none !important; cursor: not-allowed; }
.elementor-508 .variations_form .cfvsw-swatches-option.cfvsw-swatches-disabled .cfvsw-swatch-inner,
.elementor-508 .variations_form .cfvsw-swatches-option.cfvsw-swatches-out-of-stock .cfvsw-swatch-inner { opacity: 1 !important; filter: none !important; }
.elementor-508 .variations_form table.variations { position: relative !important; }
.elementor-508 .variations_form table.variations th.label { padding: 0 !important; }
.elementor-508 .variations_form .reset_variations { position: absolute !important; top: 0 !important; right: 0 !important; left: auto !important; display: inline-block !important; margin: 0 !important; padding: 0 !important; font-family: var(--font-body) !important; font-size: var(--fs-12) !important; font-weight: 400 !important; line-height: 20px !important; letter-spacing: var(--ls-mid) !important; text-transform: uppercase !important; color: var(--color-accent) !important; text-decoration: underline !important; transition: color 220ms; }
.elementor-508 .variations_form .reset_variations:hover { color: var(--color-ink) !important; }
.elementor-508 .woocommerce-variation-add-to-cart,
.elementor-508 form.cart:not(.variations_form) { display: flex; flex-wrap: nowrap; align-items: stretch; gap: var(--sp-3); margin: 0; padding-right: calc(48px + var(--sp-3)); }
.elementor-508 .cart .quantity { display: flex; align-items: center; flex: 0 0 auto; height: 48px; margin: 0 !important; padding: 0; border: var(--bd) solid var(--color-line-2); border-radius: var(--r-pill); background: transparent; overflow: hidden; }
.elementor-508 .cart .quantity .minus,
.elementor-508 .cart .quantity .plus { display: flex; align-items: center; justify-content: center; width: auto; height: 100%; margin: 0; padding: 0 var(--sp-4); border: 0; background: transparent; color: var(--color-ink); font-family: var(--font-body); font-size: var(--fs-16); line-height: 1; text-decoration: none; box-shadow: none; }
.elementor-508 .cart .quantity .qty { width: 40px; height: 100%; min-height: 0; margin: 0; padding: 0; border: 0 !important; border-radius: 0 !important; background: transparent; box-shadow: none; text-align: center; font-family: var(--font-body); font-size: var(--fs-14); color: var(--color-ink); -moz-appearance: textfield; appearance: textfield; }
.elementor-508 .cart .quantity .qty::-webkit-inner-spin-button,
.elementor-508 .cart .quantity .qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.elementor-508 .cart .single_add_to_cart_button { flex: 1 1 auto; height: 48px; margin: 0 !important; }
.elementor-508 .cart .single_add_to_cart_button { border-radius: var(--r-pill) !important; font-size: var(--fs-12) !important; }
.elementor-508 .cart .single_add_to_cart_button:not(.disabled):not(:disabled):hover { color: var(--color-inverse) !important; background-color: var(--color-accent) !important; border-color: var(--color-accent) !important; }
.elementor-508 .cart .single_add_to_cart_button.disabled,
.elementor-508 .cart .single_add_to_cart_button:disabled { opacity: 1 !important; cursor: not-allowed; color: var(--color-inverse) !important; background-color: var(--color-ink-50) !important; border-color: var(--color-ink-50) !important; }
.elementor-508 .wishlist-slot .elementor-widget-shortcode,
.elementor-508 .wishlist-slot .elementor-shortcode { margin: 0; }
.elementor-508 .wishlist-slot .woosw-btn { position: relative; display: flex; align-items: center; justify-content: center; gap: var(--sp-2); width: 48px; height: 48px; margin: 0; padding: 0; border: var(--bd) solid var(--color-line-2); border-radius: var(--r-pill); background: transparent; color: var(--color-ink); font-family: var(--font-body); font-size: var(--fs-13); letter-spacing: var(--ls-mid); text-transform: uppercase; line-height: 1; cursor: pointer; transition: background-color 220ms, border-color 220ms, color 220ms; }
.elementor-508 .wishlist-slot .woosw-btn .woosw-btn-icon { font-size: 18px; }
.elementor-508 .wishlist-slot .woosw-btn .woosw-btn-text { display: none; }
.elementor-508 .wishlist-slot .woosw-btn:hover,
.elementor-508 .wishlist-slot .woosw-btn:focus-visible { background: var(--color-ink); border-color: var(--color-ink); color: var(--color-surface); }
.elementor-508 .wishlist-slot .woosw-btn::after { content: "Add to Wishlist"; position: absolute; bottom: calc(100% + var(--sp-2)); left: 50%; transform: translateX(-50%); padding: var(--sp-1) var(--sp-3); border-radius: var(--r-sm); background: var(--color-ink); color: var(--color-surface); font-family: var(--font-body); font-size: var(--fs-12); letter-spacing: 0; text-transform: none; white-space: nowrap; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 220ms, visibility 220ms; }
.elementor-508 .wishlist-slot .woosw-btn:hover::after,
.elementor-508 .wishlist-slot .woosw-btn:focus-visible::after { opacity: 1; visibility: visible; }
@media (max-width: 767px) {
  .elementor-508 .woocommerce-variation-add-to-cart,
  .elementor-508 form.cart:not(.variations_form) { padding-right: 0; }
  .elementor-508 .wishlist-slot .woosw-btn { width: 100%; }
  .elementor-508 .wishlist-slot .woosw-btn .woosw-btn-text { display: inline; }
  .elementor-508 .wishlist-slot .woosw-btn::after { content: none; }
}
/* pdp-cart:end */
/* pdp-length:start */
.elementor-508 .variations_form .sn-length { margin: calc(var(--sp-3) - var(--sp-5)) 0 var(--sp-5); font-family: var(--font-body); font-size: var(--fs-14); font-weight: 400; line-height: var(--lh-body); color: var(--color-ink-3); }
.elementor-508 .variations_form .sn-length-line { margin: 0; }
/* WooCommerce slides its variation box open and shut on every pick. It is empty here (price and stock are shown elsewhere), but its margin animated with it and nudged the quantity and cart button. */
.elementor-508 .variations_form .single_variation { margin: 0 !important; padding: 0 !important; }
/* pdp-length:end */
/* pdp-stock:start */
@keyframes seranee-stock-pulse {
  0% { box-shadow: 0 0 0 0 var(--color-success-soft); }
  70% { box-shadow: 0 0 0 8px rgba(63, 143, 90, 0); }
  100% { box-shadow: 0 0 0 0 rgba(63, 143, 90, 0); }
}
.elementor-508 .stock-dot { animation: seranee-stock-pulse 1.8s ease-out infinite; }
.elementor-508 .stock-out { display: none; }
.elementor-508.outofstock .stock-in,
.elementor-508.outofstock .stock-note { display: none; }
.elementor-508.outofstock .stock-out { display: block; }
.elementor-508.outofstock .stock-dot { background-color: var(--color-line-2) !important; animation: none; }
.elementor-508 .variations_form table.variations { border: 0 !important; }
.elementor-508 .woocommerce-variation-availability { display: none; }
/* The stock line follows the colour and size picked (seranee-stock-line.php): amber when only a few are left, grey when that size is sold out. */
.elementor-508 [data-sn-stock].is-low .stock-dot { background-color: var(--color-warning) !important; animation: none; }
.elementor-508 [data-sn-stock].is-sold-out .stock-dot { background-color: var(--color-line-2) !important; animation: none; }
.elementor-508.product .meta-list.product_meta { margin: var(--sp-4) 0 0; padding: var(--sp-4) 0 0; border-top: var(--bd) solid var(--color-line); }
@media (prefers-reduced-motion: reduce) {
  .elementor-508 .stock-dot { animation: none; }
}
/* Nothing to buy (sold out, or no colour and size on sale): the stock line says so once, so the picker heading and WooCommerce's notice go, and the wishlist takes the cart button's place with its label. */
.elementor-508.outofstock .elementor-element-c9f7e71,
.elementor-508.outofstock .elementor-element-dd47820 { display: none; }
.elementor-508.outofstock .wishlist-slot { position: static; flex: 1 1 100%; width: 100%; }
.elementor-508.outofstock .wishlist-slot .woosw-btn { width: 100%; }
.elementor-508.outofstock .wishlist-slot .woosw-btn .woosw-btn-text { display: inline; }
.elementor-508.outofstock .wishlist-slot .woosw-btn::after { content: none; }
/* pdp-stock:end */
/* product-notices:start */
/* WooCommerce notices on the product page, for example "has been added to your cart". WooCommerce prints the wrapper
   just before this template, so these rules are not scoped to it. Same component as the cart page notices. */
.single-product .woocommerce-notices-wrapper:empty { display: none; }
.single-product .woocommerce-notices-wrapper { box-sizing: border-box; width: 100%; max-width: var(--w-page); margin: var(--sp-5) auto 0; padding: 0 var(--sp-6); }
.single-product .woocommerce-notices-wrapper .woocommerce-message,
.single-product .woocommerce-notices-wrapper .woocommerce-info,
.single-product .woocommerce-notices-wrapper .woocommerce-error { box-sizing: border-box; position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-3) var(--sp-4); width: 100%; margin: 0 0 var(--sp-3) !important; padding: var(--sp-4) var(--sp-5) var(--sp-4) calc(var(--sp-5) + 20px) !important; font-family: var(--font-body), sans-serif; font-size: var(--fs-14); font-weight: 400; line-height: 1.5; color: var(--color-ink-2); text-align: left; list-style: none; background-color: var(--color-surface); border: var(--bd) solid var(--color-line); border-radius: var(--r-md); box-shadow: none; outline: 0; }
.single-product .woocommerce-notices-wrapper .woocommerce-message::before,
.single-product .woocommerce-notices-wrapper .woocommerce-info::before,
.single-product .woocommerce-notices-wrapper .woocommerce-error::before { content: "" !important; position: absolute; top: calc(var(--sp-4) + 7px); left: var(--sp-5); width: 8px; height: 8px; margin: 0; font-size: 0; background-color: var(--color-accent); border-radius: var(--r-pill); }
.single-product .woocommerce-notices-wrapper .woocommerce-message::after,
.single-product .woocommerce-notices-wrapper .woocommerce-info::after,
.single-product .woocommerce-notices-wrapper .woocommerce-error::after { display: none; }
.single-product .woocommerce-notices-wrapper .woocommerce-message::before { background-color: var(--color-success); }
.single-product .woocommerce-notices-wrapper .woocommerce-error { flex-direction: column; align-items: flex-start; color: var(--color-ink); border-color: var(--sw-red); }
.single-product .woocommerce-notices-wrapper .woocommerce-error::before { background-color: var(--sw-red); }
.single-product .woocommerce-notices-wrapper .woocommerce-error li { margin: 0; padding: 0; list-style: none; }
.single-product .woocommerce-notices-wrapper .sn-notice-text { flex: 1 1 280px; min-width: 0; }
.single-product .woocommerce-notices-wrapper strong { font-family: var(--font-head), serif; font-weight: 400; color: var(--color-ink); }
.single-product .woocommerce-notices-wrapper a:not(.button) { color: var(--color-accent); text-decoration: underline; }
/* Selector includes the notice type so it outranks the theme's general button rule */
.single-product .woocommerce-notices-wrapper :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) a.button { order: 2; display: inline-flex; align-items: center; justify-content: center; float: none; min-height: 40px; margin: 0 0 0 auto; padding: 0 var(--sp-5); font-family: var(--font-body), sans-serif; font-size: var(--fs-12); font-weight: 400; line-height: 1.2; letter-spacing: var(--ls-mid); text-transform: uppercase; text-decoration: none; color: var(--color-ink); background: transparent; border: var(--bd) solid var(--color-line-2); border-radius: var(--r-pill); box-shadow: none; transition: border-color 220ms; }
.single-product .woocommerce-notices-wrapper :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) a.button:hover,
.single-product .woocommerce-notices-wrapper :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) a.button:focus { color: var(--color-ink); background: transparent; border-color: var(--color-ink); outline: none; }
.single-product .woocommerce-notices-wrapper :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) a.button:focus-visible { outline: var(--bd-2) solid var(--color-accent); outline-offset: 2px; }
@media (max-width: 767px) {
	.single-product .woocommerce-notices-wrapper { margin-top: var(--sp-4); padding: 0 var(--sp-5); }
	.single-product .woocommerce-notices-wrapper :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) a.button { width: 100%; margin-left: 0; }
}
/* product-notices:end *//* End custom CSS */