.wcplprohide, .vartablehide { display: none !important; }

.wcpl_group:after {
	visibility: hidden;
	display: block;
	content: "";
	clear: both;
	height: 0;
	}
* html .wcpl_group             { zoom: 1; } /* IE6 */
*:first-child+html .wcpl_group { zoom: 1; } /* IE7 */

.wcpl_group {
	display: flex;
    flex-direction: row;
    width: 100%;
    align-items: center;
    justify-content: flex-start;
}
.wcpl_group .wcplpro_pagination_wrap,
.wcpl_group .wcplpro_filters_wrap {
	display: flex;
    flex-direction: row;
    flex-shrink: 0;
    width: 66%;
}
.wcpl_group .wcplpro_pagination_wrap {
	width: 34%;
    justify-content: flex-end;
}

table.wcplprotable td, table.wcplprotable th { padding: 5px; vertical-align: middle; }
table.wcplprotable form { margin: 0; }
table.wcplprotable button { white-space: nowrap; }
span.in-stock { color: #449D44;  }
span.out-of-stock { color: #D9534F;  }
span.low-stock, span.available-on-backorder { color: #F0AD4E;  }
.qtycol input.input-text.qty.text { border: 0 !important; margin: 0; }
.cartcol { position: relative; }
.wcplprotable .cartcol label { display: none; }
.added2cartwrap { 
  display: inline-block;
  background-color: #449D44;
  padding: 0 6px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 20px;
  position: absolute;
  top: 0;
  right: 0;
  display: none;
}
.added2cartwrap.notvisible {
  display: none !important;
  background-color: transparent;
  padding: 0;
}
.added2cart { color: #ffffff;  }
.added2cartglobal { color: #449D44; display: none; display: none; float: right; margin-right: 5px; margin-top: 8px; }
.globalcartbtn, .wcplprotable_selectall { float: right; cursor: pointer; clear: right; overflow-y: auto; zoom: 1; }

.vtspinner img { width: 16px; height: 16px;   vertical-align: baseline; }

.vtspinner {
  display: inline-block;
  width: 16px;
  height: 16px;
  float: right;
  margin-right: 5px;
  margin-top: 8px;
	-webkit-animation-name: spinnerRotate;
	-webkit-animation-duration: 1.3s;
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-timing-function: linear;
  display: none;
}

.vtspinner img { 
  background: transparent !important; 
  border: 0 !important; 
  width: 16px !important; 
  height: 16px !important; 
  margin: 0 !important; 
  padding: 0 !important; 
}

.type-page .offercol img, .offercol img { background: transparent; border: 0; }

.vtspinner.singlebtn { 
  float: none;
  position: absolute;
  top: 2px;
  right: 0;
}

.single_add_to_cart_button.working, .globalcartbtn.working { opacity: 0.5; }

.qtywrap {
  width: 142px !important;
  clear: both;
  overflow-y: auto;
  border: 0;
  padding: 0;
}

table.wcplprotable .qtywrap .qtycontrol {
	background-color: #333;
    color: #fff;
    border-radius: 8px;
    width: 100%;
    height: 26px;
    font-size: 20px;
    line-height: 20px;
    border: 1px solid #fff;
}
table.wcplprotable .qtywrap .qtycontrol.plusqty {
    line-height: 22px;
}

table.wcplprotable .qtywrap td { 
  border: 0;
  padding: 0;
  vertical-align: middle;
  width: 25%;
}
table.wcplprotable .qtywrap td:nth-child(2) { 
	width: 50%;
}

table.wcplprotable .qtywrap .quantity {
	width: 100%;
}
table.wcplprotable .qtywrap input.qty  {
  margin: 0;
  text-align: center;
  padding: 5px;
  text-align: center;
  width: 100%;
  max-width: 40px;
}

table.wcplprotable .qtywrap td>div {
  display: inline-block;
  width: 100%;
}

.qtywrap .qtycontrol {
  width: 100%;
  min-width: 20px;
  text-align: center;
  font-weight: bold;
  height: 100%;
  padding: 1px 0;
  cursor: pointer;
}

table.wcplprotable .single_add_to_cart_button.has_icon {
	display: flex;
    justify-content: center;
    align-items: center;
	width: 100%;
}
table.wcplprotable .single_add_to_cart_button.has_icon svg {
	margin-right: 10px;
}

.product.has-default-attributes.has-children>.images {
  opacity: 1;
}

@-webkit-keyframes spinnerRotate {
	from {
		-webkit-transform:rotate(0deg);
    -webkit-transform-origin: 50% 50%;
    -moz-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    -o-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
	}
	to {
		-webkit-transform:rotate(360deg);
    -webkit-transform-origin: 50% 50%;
    -moz-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    -o-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
	}
}

.is_sortable th.sortable_th {
  cursor: pointer;
}

.is_sortable th.sortable_th:after {
  content: '\2191 \2193';
  opacity: 0.4;
}
.is_sortable th.sortable_th.sorting-asc:after {
  content: '\2191';
  opacity: 0.9;
}
.is_sortable th.sortable_th.sorting-desc:after {
  content: '\2193';
  opacity: 0.9;
}

.gc_wrap {
  clear: both;
  overflow: auto;
  margin-bottom: 10px;
}

#wcplpro_added_to_cart_notification {
  display: block;
  position: fixed;
  width: 80%;
  left: 10%;
  top: 0;
  padding: 20px;
  background-color: #ffffff;
  text-align: center;
  color: #333;
  font-size: 18px;
  border: 1px solid #ddd;
  border-top: 0;
  z-index: 10001;
}

body.admin-bar #wcplpro_added_to_cart_notification {
  top: 32px;
}
.wishcol a { color: #dd0000; }
.wishcol .yith-wcwl-add-button { text-align: center; }
.wishcol img, .wishcol img.emoji { min-width: 16px; height: auto; }

.globalcartcol  { text-align: center; }
.slideup_panel { display: inline-block; font-size: 24px; float: right; margin-right: 20px; color: #D00; }

select.wcplpro_filter, div.wcplpro_filter  { width: auto; display: block; }
.wcplpro_submit, input.wcplpro_submit { min-width: 100%; width: 100%; display: block; height: 100%; white-space: nowrap; }
.wcplpro_filters_form { display: flex; align-items: baseline; }
input.wcplpro_submit[type=submit], a.wcplpro_reset, .wcplpro_filters_form a.wcplpro_reset { margin-top: 3px; }
a.wcplpro_reset, .wcplpro_filters_form a.wcplpro_reset { display: inline-block; white-space: nowrap; }
form.wcplpro_pagination_form { display: none; }
input.wcpl_search[type="text"] { max-width: 98%; min-width: 98%; padding: 7px; background-color: #fff; border: 1px solid #aaa; }

.wcpl_span img { max-width: 100%; height: auto; }

.wcpl_span1 { width: 7.3%; }
.wcpl_span2 { width: 15.6%; }
.wcpl_span3 { width: 24%; }
.wcpl_span4 { width: 32.3%; }
.wcpl_span5 { width: 40.6%; }
.wcpl_span6 { width: 49%; }
.wcpl_span7 { width: 57.3%; }
.wcpl_span8 { width: 65.6%; }
.wcpl_span9 { width: 74%; }
.wcpl_span10 { width: 82.3%; }
.wcpl_span11 { width: 90.6%; }
.wcpl_span12 { width: 100%; }

.wcpl_span { margin-right: 1%; float: left; }
.wcpl_span.last { margin-right: 0; }

/* Pagination - deliberately neutral (black/white overlays via rgba, no brand color) so it
   sits comfortably on top of any theme's palette without a colour clash. Every colour is
   exposed as a CSS custom property so a site that wants to match its own brand can override
   them from a child theme / customizer without touching this file. */
.wcplpro_pagination_wrap {
	list-style: none;
	font-size: 14px;
	margin: 20px 0;
}
.wcplpro_pagination_wrap ul.page-numbers {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 0;
	float: none;
}
.wcplpro_pagination_wrap li {
	display: block;
}
.wcplpro_pagination_wrap li a.page-numbers,
.wcplpro_pagination_wrap li span.page-numbers {
	display: flex;
	box-sizing: border-box;
	align-items: center;
	justify-content: center;
	min-width: 34px;
	height: 34px;
	padding: 0 8px;
	border: 1px solid var( --wcplpro-pagination-border, rgba( 0, 0, 0, .15 ) );
	border-radius: var( --wcplpro-pagination-radius, 6px );
	color: inherit;
	text-decoration: none;
	line-height: 1;
	transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.wcplpro_pagination_wrap li a.page-numbers:hover,
.wcplpro_pagination_wrap li a.page-numbers:focus {
	background-color: var( --wcplpro-pagination-hover-bg, rgba( 0, 0, 0, .06 ) );
	border-color: var( --wcplpro-pagination-border-hover, rgba( 0, 0, 0, .3 ) );
	color: inherit;
}
.wcplpro_pagination_wrap li span.current {
	background-color: var( --wcplpro-pagination-current-bg, #333 );
	border-color: var( --wcplpro-pagination-current-bg, #333 );
	color: var( --wcplpro-pagination-current-text, #fff );
	font-weight: 600;
}
.wcplpro_pagination_wrap li span.dots {
	border-color: transparent;
	color: inherit;
	opacity: .6;
}
.wcplpro_pagination_wrap li a.prev.page-numbers,
.wcplpro_pagination_wrap li a.next.page-numbers {
	font-weight: 600;
}

.wcplpro_attributes { font-size: 12px; clear: both; }
.wcplpro_attributes span { font-weight: 600; }

table.wcplprotable .wcplpro_brand_image {
	max-width: 60px;
	max-height: 60px;
	width: auto;
	height: auto;
	vertical-align: middle;
}

/* "Brand Image and Name" display mode: image on top, title below, 10px apart. */
table.wcplprotable .wcplpro_brand_stack {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

table.wcplprotable.shop_table tr { height: auto; }
table.wcplprotable .qtycol table.qtywrap, table.wcplprotable .qtycol table.qtywrap td, table.wcplprotable .qtycol table.qtywrap tr { border: 0; margin: 0;  padding: 0; text-align: center; }

.qtywrap div.quantity label {
	display: none;
}

.select2-container,
.select2-container--default .select2-selection--multiple {
	max-width: 100%;
	border-radius: 0;
}

.wcpl_span .select2-container .select2-selection {
	border-radius: 0;
}
input.wcpl_search[type="text"],
.wcpl_span .select2-container input[type=text], 
.wcpl_span .select2-container input.input-text {
	box-shadow: none;
	-webkit-box-shadow: none;
}
.wcpl_span .select2-container {
	max-width: 100%;
	margin-top: -3px;
}

.cartcol .quantity {
    display: none;
}

@media screen and (max-width: 767px) {
	
	.wcpl_group {
		display: flex;
		flex-direction: column;
		width: 100%;
		align-items: center;
		justify-content: flex-start;
	}

  .wcplprotable th, .wcplprotable td { overflow: auto; }
  
  .wcpl_span1,
  .wcpl_span2,
  .wcpl_span3,
  .wcpl_span4,
  .wcpl_span5,
  .wcpl_span6,
  .wcpl_span7,
  .wcpl_span8,
  .wcpl_span9,
  .wcpl_span10,
  .wcpl_span11,
  .wcpl_span12 { width: 100%; }

  .wcpl_span { margin-right: 0; float: none; }  
  
  
  .wcplpro_filters_form {
	  flex-direction: column;
	  gap: 10px;
  }
  .wcplpro_filters_form input,
  .wcplpro_filters_form .wcplpro_reset,
  .wcplpro_filters_form .wcplpro_submit[type=submit],
  .wcplpro_filters_form input.wcpl_search[type="text"],
  .wcplpro_filters_form a.wcplpro_reset,
  .wcplpro_filters_form select {
	  width: 100%;
	  max-width: 100%;
  }
  .wcplpro_filters_wrap>.wcpl_span,
  .wcpl_group .wcplpro_pagination_wrap, 
  .wcpl_group .wcplpro_filters_wrap {
	  width: 100%;
  }
  table.wcplprotable .qtywrap .qtycontrol {
	  width: 30px;
  }
  
  table.wcplprotable.shop_table_responsive thead { display: none; }
  table.wcplprotable.shop_table_responsive { max-width; 100%; }
  table.wcplprotable.shop_table_responsive tr { display: block; width: 100%; border-bottom: 2px solid #6C6360; }

  table.wcplprotable.shop_table_responsive td { display: block; width: 100%; clear: both; text-align: right; }
  table.wcplprotable.shop_table_responsive td.pricecol { max-width: 100%; }
  table.wcplprotable.shop_table_responsive td span { display: inline; }
  table.wcplprotable.shop_table_responsive td span.vtspinner { display: none; }
  
  table.withhead.wcplprotable.shop_table_responsive td:before {
    content: attr(data-title);
    float: left;
    text-transform: uppercase;
    font-weight: bold;
  }
  
  
  table.withhead.wcplprotable.shop_table_responsive td img, table.withhead.wcplprotable td>div { display: inline-block; }
  table.withhead.wcplprotable.shop_table_responsive td>div.wcplpro_attributes { display: block; }
  
  table.nohead.wcplprotable.shop_table_responsive.shop_table_responsive td { text-align: center; }
  table.nohead.wcplprotable td img, table.nohead td div { margin-left: auto; margin-right: auto; }
  
   	table.withhead.wcplprotable.shop_table_responsive .qtywrap td:before {
		content: '';
	}
	.qtywrap td {
		display: table-cell !important;
	}

	.qtywrap {
		width: 120px !important;
		float: right;
	}
	table.wcplprotable .qtywrap .quantity {
		width: 80px;
		text-align: center;
	}
	.qtycol input.input-text.qty.text {
		border: 1px solid #999 !important;
		border-radius: 4px;
		width: 86px;
		max-width: 65px;
	}
	table.wcplprotable .single_add_to_cart_button {
		width: 100%;
	}

}

/* Stock as pill (not mobile-only - moved outside the max-width:767px block above, where it
   had accidentally landed, meaning it never applied on desktop).
   The span itself carries the "pill" class (not just its .stockcol <td> ancestor) so the
   styling survives the stock column being folded into the Info column, where the .stockcol
   wrapper no longer exists. */
table.wcplprotable .stockcol.pill span,
table.wcplprotable span.pill {
	display: inline-block;
	padding: 3px 12px;
	border-radius: 999px;
	font-size: 12px;
}
table.wcplprotable .stockcol.pill span.instock,
table.wcplprotable span.pill.instock {
	color: var( --wcplpro-instock-text, #2a7a2a );
	background-color: var( --wcplpro-instock-bg, #eaf7ea );
}
table.wcplprotable .stockcol.pill span.outofstock,
table.wcplprotable span.pill.outofstock {
	color: var( --wcplpro-outofstock-text, #a02222 );
	background-color: var( --wcplpro-outofstock-bg, #fbeaea );
}
table.wcplprotable .stockcol.pill span.lowstock,
table.wcplprotable span.pill.lowstock {
	color: var( --wcplpro-lowstock-text, #8a6100 );
	background-color: var( --wcplpro-lowstock-bg, #fff6e0 );
}
table.wcplprotable .stockcol.pill span.backorder,
table.wcplprotable span.pill.backorder {
	color: var( --wcplpro-backorder-text, #305a8a );
	background-color: var( --wcplpro-backorder-bg, #e8f1fb );
}

/* Merged Info column: each folded-in field stacks on its own line instead of running
   together inline with the others. */
table.wcplprotable .infocol .wcplpro_info_line {
	display: block;
}
table.wcplprotable .infocol .wcplpro_info_line:not(:last-child) {
	margin-bottom: 4px;
}

/* Quantity control pill (light/dark), only when "Style Quantity Controls" is enabled */
table.wcplprotable .qtywrap.styled.pill-light,
table.wcplprotable .qtywrap.styled.pill-dark {
	display: inline-flex !important;
	width: auto !important;
	border-radius: 999px;
	padding: 4px;
}
table.wcplprotable .qtywrap.styled.pill-light {
	background-color: #eef0f1;
	border: 1px solid #e2e5e6;
}
table.wcplprotable .qtywrap.styled.pill-dark {
	background-color: #2b3034;
	border: 1px solid #3a4045;
}
table.wcplprotable .qtywrap.styled .qtycontrol {
	border-radius: 50% !important;
	width: 32px !important;
	height: 32px !important;
	line-height: 32px !important;
	font-size: 18px !important;
}
table.wcplprotable .qtywrap.styled.pill-light .qtycontrol {
	background-color: transparent;
	color: #5b6670;
	border: 0;
}
table.wcplprotable .qtywrap.styled.pill-light .qtycontrol:hover {
	background-color: #e2e5e6;
}
table.wcplprotable .qtywrap.styled.pill-dark .qtycontrol {
	background-color: transparent;
	color: #c7cdd1;
	border: 0;
}
table.wcplprotable .qtywrap.styled.pill-dark .qtycontrol:hover {
	background-color: #3a4045;
}
table.wcplprotable .qtywrap.styled input.qty {
	border-radius: 999px !important;
	width: 42px !important;
	max-width: 42px !important;
	height: 32px !important;
	margin: 0 2px !important;
	text-align: center;
}
table.wcplprotable .qtywrap.styled.pill-light input.qty {
	background-color: #ffffff;
	color: #4caf50;
	border: 0 !important;
}
table.wcplprotable .qtywrap.styled.pill-dark input.qty {
	background-color: #3a4045;
	color: #ffffff;
	border: 0 !important;
	box-shadow: none;
}

/* Subtle in-flight indicator while an AJAX filter/pagination refresh is loading */
.wcplpro_ajax_wrap.wcplpro_ajax_loading {
	opacity: 0.5;
	pointer-events: none;
}