.elementor-1001 .elementor-element.elementor-element-8bb27d3{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--padding-top:4%;--padding-bottom:4%;--padding-left:4%;--padding-right:4%;}.elementor-1001 .elementor-element.elementor-element-eea05a2{--display:flex;}.elementor-1001 .elementor-element.elementor-element-b8e5ee6{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--padding-top:4%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-1001 .elementor-element.elementor-element-d1adf83 .elementor-heading-title{font-size:12px;color:var( --e-global-color-text );}.elementor-1001 .elementor-element.elementor-element-f6f7bf6{font-size:18px;font-weight:500;}.elementor-1001 .elementor-element.elementor-element-3994a3b .elementor-heading-title{font-size:12px;}.elementor-1001 .elementor-element.elementor-element-8e5cf32{font-size:18px;font-weight:500;}.elementor-1001 .elementor-element.elementor-element-3aff07c .elementor-heading-title{font-size:12px;}.elementor-1001 .elementor-element.elementor-element-3f6183f{font-size:18px;font-weight:500;}.elementor-1001 .elementor-element.elementor-element-ede3049 .cart button, .elementor-1001 .elementor-element.elementor-element-ede3049 .cart .button{font-family:"Poppins", Sans-serif;font-size:16px;font-weight:400;text-transform:capitalize;font-style:normal;text-decoration:none;line-height:1em;letter-spacing:0px;word-spacing:0em;border-style:solid;border-width:1px 1px 1px 1px;border-radius:30px 30px 30px 30px;padding:15px 50px 15px 50px;color:#FFFFFF;background-color:#467FF7;border-color:#467FF7;transition:all 0.2s;}.elementor-1001 .elementor-element.elementor-element-ede3049 .cart button:hover, .elementor-1001 .elementor-element.elementor-element-ede3049 .cart .button:hover{color:#467FF7;background-color:#02010100;border-color:#467FF7;}.elementor-1001 .elementor-element.elementor-element-ede3049{--button-spacing:38px;}.elementor-1001 .elementor-element.elementor-element-ede3049 .quantity .qty{border-radius:0px 0px 0px 0px;color:#1C244B;border-color:#1C244B;transition:all 0.2s;}.woocommerce .elementor-1001 .elementor-element.elementor-element-ede3049 form.cart .variations{width:100%;margin-bottom:23px;}.woocommerce .elementor-1001 .elementor-element.elementor-element-ede3049 form.cart table.variations tr th, .woocommerce .elementor-1001 .elementor-element.elementor-element-ede3049 form.cart table.variations tr td{padding-top:calc( 3px/2 );padding-bottom:calc( 3px/2 );}.elementor-1001 .elementor-element.elementor-element-3636ef8{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:42px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1001 .elementor-element.elementor-element-ec0a7cc .elementor-button{background-color:#F5F2E900;font-family:"gotham", Sans-serif;font-size:16px;font-weight:600;text-transform:uppercase;text-decoration:none;fill:var( --e-global-color-text );color:var( --e-global-color-text );border-style:solid;border-width:0px 0px 2px 0px;border-radius:0px 0px 0px 0px;padding:0px 7px 5px 2px;}.elementor-1001 .elementor-element.elementor-element-ec0a7cc{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;}@media(max-width:1024px){.elementor-1001 .elementor-element.elementor-element-ede3049 .cart button, .elementor-1001 .elementor-element.elementor-element-ede3049 .cart .button{font-size:14px;}}@media(min-width:768px){.elementor-1001 .elementor-element.elementor-element-8bb27d3{--content-width:1400px;}}@media(max-width:767px){.elementor-1001 .elementor-element.elementor-element-8bb27d3{--padding-top:6%;--padding-bottom:10%;--padding-left:6%;--padding-right:6%;}.elementor-1001 .elementor-element.elementor-element-eea05a2{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}/* Start custom CSS for woocommerce-product-add-to-cart, class: .elementor-element-ede3049 *//* ============================================
   COLOUR SWATCHES - circles + labels
   Sized so two-word names fit without clipping
   ============================================ */
.variable-items-wrapper.button-variable-items-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0;
  padding: 0;
}

.variable-items-wrapper.button-variable-items-wrapper .variable-item.button-variable-item {
  /* The plugin draws the ring with a box-shadow fed by these vars.
     A 1px border used to sit on top of it, reading as a 2px stroke.
     Drive the vars instead so there is exactly one crisp ring. */
  --wvs-item-box-shadow: 0 0 0 1px #d0d0d0;
  --wvs-hover-item-box-shadow: 0 0 0 1px #9a9a9a;
  --wvs-selected-item-box-shadow: 0 0 0 2px rgb(35, 31, 32);
  width: 96px;
  height: 96px;
  border: 0;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  margin: 0;
  box-sizing: border-box;
  overflow: visible;
}

.variable-items-wrapper.button-variable-items-wrapper .variable-item .variable-item-contents {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 13px;
  line-height: 1.3;
  font-weight: 500;
  color: rgb(35, 31, 32);
  letter-spacing: 0.2px;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  overflow: visible;
}

/* Phones: a tidy 2 x 2 grid so the names stay at a readable size
   instead of being squeezed into four tiny circles on one row. */
@media (max-width: 480px) {
  .variable-items-wrapper.button-variable-items-wrapper {
    gap: 10px;
  }
  .variable-items-wrapper.button-variable-items-wrapper .variable-item.button-variable-item {
    width: calc(50% - 5px);
    max-width: 110px;
    height: auto;
    aspect-ratio: 1 / 1;
    padding: 8px;
  }
  .variable-items-wrapper.button-variable-items-wrapper .variable-item .variable-item-contents {
    font-size: 12px;
  }
}

/* Remove add-to-cart purchase controls, keep swatches + image swap */
.woocommerce-variation-add-to-cart,
.single_add_to_cart_button,
.quantity {
  display: none !important;
}

/* Remove the grey background behind Colour/swatches */
table.variations th.label,
table.variations td.value {
  background: transparent !important;
}

/* Align flush left with the other field headings */
table.variations th.label {
  padding-left: 0 !important;
}

/* Match "Colour" label to the WIDTH/WEIGHT/STYLE/FIBRE heading style */
table.variations th.label label {
  font-family: optima-lt-pro, sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: rgb(35, 31, 32) !important;
  text-transform: uppercase !important;
  letter-spacing: normal !important;
  margin: 0 0 8px !important;
}

/* Hide "Colour: Vanilla Bean" text that appears after picking a swatch */
.woo-selected-variation-item-name {
  display: none !important;
}

/* "Clear" link that appears once a colour is chosen - branded lime.
   Lime text on white is only 1.6:1 contrast, so it's a lime pill
   with the brand near-black text instead (13:1). */
table.variations a.reset_variations,
.woo-variation-items-wrapper a.reset_variations {
  display: inline-block;
  margin-top: 10px;
  padding: 4px 12px;
  border-radius: 999px;
  background: var(--e-global-color-accent, #C1D82F);
  color: var(--e-global-color-text, #231F20) !important;
  font-size: 11px !important;
  font-weight: 600;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  text-decoration: none !important;
  line-height: 1.6;
  transition: filter 0.15s ease;
}

table.variations a.reset_variations:hover,
table.variations a.reset_variations:focus,
.woo-variation-items-wrapper a.reset_variations:hover,
.woo-variation-items-wrapper a.reset_variations:focus {
  background: var(--e-global-color-accent, #C1D82F);
  color: var(--e-global-color-text, #231F20) !important;
  filter: brightness(0.92);
  text-decoration: none !important;
}


/* ============================================
   FIX: colour names clipped (e.g. "Mocha")
   The swatch plugin puts border-radius: 100% +
   overflow: hidden on the inner label span. On a
   short single-word name the span is wide and only
   one line tall, so that circular mask cuts the
   first and last letters off. Square the mask off
   and let the text show in full.
   ============================================ */
.variable-items-wrapper.button-variable-items-wrapper .variable-item .variable-item-span,
.variable-items-wrapper.button-variable-items-wrapper .variable-item .variable-item-span-button {
  border-radius: 0 !important;
  overflow: visible !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  line-height: 1.3 !important;
  text-overflow: clip !important;
}/* End custom CSS */