/* Styles shared across sites */
/* Product page */
/* hide the variations dropdown for swatch products */
.woocommerce div.product form.cart .variations select {
    display:none;
}
.product table.variations, .product table.variations tr, li.product table:not( .has-background ) tbody tr:nth-child(2n) {
   background:none;
   padding:.5rem 0;
   margin-bottom: 0;
}
.product table:not( .has-background ) tbody td { 
    background:none;
    padding: 0;
}

.product .variations .label label {
    text-transform: uppercase;
    margin-bottom: .25rem;
    display: block;
}
.product .variations .reset_variations {
    text-align: center;
    display: block;
    margin-top:.25rem;
    margin:.25rem auto 0;
}
.product .variations .variation-radios {
    display:flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: .5rem;
}

.product .variations .variation-radios  label.out-of-stock {
   opacity: .5;
}
.product .variations  input[type=radio]{
   visibility: hidden; 
   height:0;
}
/* reset variations is now a button instead of link */
.single-product div.product table.variations td {
   text-align: center;
}
button.reset_variations {
   background:none;
}
/* previous style brought back*/
button.reset_variations:before {
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
   display: inline-block;
   font-style: normal;
   font-variant: normal;
   font-weight: normal;
   line-height: 1;
   font-family: "Font Awesome 5 Free";
   font-weight: 900;
   line-height: inherit;
   vertical-align: baseline;
   content: "";
   margin-right: .5407911001em;
}


/* hide label when shop page, products block, upsell, or combination/cross-sell */
.products .label{
    display: none !important;
}
.products .reset_variations, .post-type-archive .woocommerce-variation-price {
    display: none !important;
}

/* Nikwax specific styles */
.nikwax-child-theme .product .variations .variation-radios label{
    width:70px; 
    height:70px; 
    overflow:hidden; display:block; 
    cursor:pointer;
    border-radius: 50%;
    border: 3px solid black;
    font-size: 1.6rem;
    line-height: 70px;
    text-align: center; margin-right:.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
}
/*.nikwax-swatches.variation-radios label  span {
    padding: 5px;
    white-space: break-spaces;
    line-height: 1;
    letter-spacing: -1px;
    font-weight: bold;
}*/

.gfs-nikwax-child-theme .product .variations  label.active { border:3px solid var(--brand-green); }

.gfs-nikwax-child-theme.full-ecommerce-usa .product .variations .variation-radios  label.out-of-stock, .nikax-child-theme.full-ecommerce.product .variations .variation-radios  label.out-of-stock { border-color:red; opacity:.7;}

/* Paramo Specific styles */
/* this means colour always needs to be first in variations to show */
.gfs-paramo-child-theme li.product table:not( .has-background ) tbody tr:not(:nth-child(1)) {
   display: none;
}
/* add flex to shop page to even up swatches */
.gfs-paramo-child-theme ul li.product {
   display: flex;
   flex-direction:column;
}
.gfs-paramo-child-theme ul li.product .variations_form {
    margin-top:auto;
}
.gfs-paramo-child-theme .product .variations .variation-radios label{
  overflow:hidden; display:block; 
  cursor:pointer;
  border: 1px solid black;
  font-size: 1rem;
  padding:0 4px;
  min-width:30px;
  line-height: 25px;
  text-align: center; 
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}
.gfs-paramo-child-theme .product .variations label.tooltip.colour:has(input[name="attribute_pa_colour-t"]:checked) {
   outline: 2px solid #000;
   outline-offset: 2px;
   border: 0 !important;
}

label.tooltip.colour.active {
  outline: 2px solid #000;
    outline-offset: 2px;
    border: 0 !important;
}
.gfs-paramo-child-theme .product .variations .variation-radios label:last-child {
  margin-right:0;
}
.gfs-paramo-child-theme .product .variations .variation-radios label.colour{
    color:transparent;
    width:30px; 
    height:30px;
    border-radius: 50%;
}
/* Out of stock All Sizes of specific Colour */

.gfs-paramo-child-theme .variation-radios label.is-oos {
  opacity: .4;
  cursor: not-allowed;
  position: relative;
}
.gfs-paramo-child-theme .variation-radios label.is-oos::after {
  content: "×";
  position: absolute;
  right: 4px;
  top: 2px;
  font-weight: 700;
  line-height: 1;
}

/* Help with image swap flicker */
/* The card image wrapper on the shop grid */
.gfs-paramo-child-theme .archive-img-wrap { 
  position: relative;
}
.gfs-paramo-child-theme .archive-img-wrap img {
  transition: opacity 180ms ease;
}

/* PDP main slide wrapper (Woo default class) */
.gfs-paramo-child-theme .woocommerce-product-gallery__image { 
  position: relative;
  /*aspect-ratio: 1 / 1;     what is our image ratio (e.g., 4 / 5) */
}
.gfs-paramo-child-theme .woocommerce-product-gallery__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  transition: opacity 180ms ease;
}
/* If you also disable the input elsewhere, keep it click-safe */
.gfs-paramo-child-theme .variation-radios label.is-oos input { pointer-events: none; }

.gfs-paramo-child-theme .product .variations label.active { 
   border:3px solid var(--brand-green); 
}
.gfs-paramo-child-theme.full-ecommerce .product .variations .variation-radios  label.out-of-stock { 
   border-color:rgb(203, 8, 8);
   opacity: 1;cursor: 
   not-allowed; pointer-events: 
   none;
}

.gfs-paramo-child-theme .product .variations label input[disabled]:after {
  background-color:rgba(255, 255, 255, 0.4);
  width:100%;
  position: absolute;
  top:0;
  height: 100%;
  visibility: visible;
  content:"";
}
.gfs-paramo-child-theme .product .variations label input[disabled]:before {
    background-position: 50%;
    background-repeat: no-repeat;
    display: block;
    position: absolute;
    top:0;
    left:0;
    right:0;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
    content: url("data:image/svg+xml;utf8,%3Csvg filter='drop-shadow(0px 0px 5px rgb(255 255 255 / .6))' xmlns='http://www.w3.org/2000/svg' width='96%' height='96%' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23ff0000' stroke-linecap='round' stroke-width='0.6' d='M5 5L19 19M19 5L5 19'/%3E%3C/svg%3E");
   background-color:rgba(255, 255, 255, 0.4);
    visibility: visible;
}

/*hide sizing for upsells, blocks, combinations */
li:not(.product_cat-nikwax-aftercare) .variation-radios.size {
   display: none;
}