.spptb-all-atc.button {
	background: #3B82F6;
	color: #fff;
	text-decoration: none!important;
	padding: 8px 15px;
	display: inline-block;
	margin-bottom: 10px;
	font-size: 14px;
	line-height: 1.5;
	border-radius: 4px;
	cursor: pointer;
}
.spptb-all-atc.button:hover {
	background: #2563EB;
	color: #fff;
	text-decoration: none!important;
}
/* Style for the overall container */
.spptb-checkbox-container {
    display: flex;
    position: relative;
}

/* Hides the default checkbox */
.spptb-checkbox-container input[type="checkbox"] {
    visibility: hidden;
    position: absolute;
}

/* Style for the custom checkbox */
.spptb-checkbox-container .spptb-checkbox-label {
	width: 20px;
	height: 20px;
	border: 1px solid #ADB0B3;
	display: inline-block;
	position: relative;
	cursor: pointer;
	background-color: #fff;
	border-radius: 3px;
	margin: 0 !important;
	box-sizing: border-box;
}

/* Style when the checkbox is checked */
.spptb-checkbox-container input[type="checkbox"]:checked + .spptb-checkbox-label {
    background-color: #fff; /* Change background color when checked */
}
.spptb-checkbox-container input[type="checkbox"]:disabled + .spptb-checkbox-label {
	cursor: no-drop;
    opacity: 0.5;
}

/* Adding a checkmark when the checkbox is checked */
.spptb-checkbox-container input[type="checkbox"]:checked + .spptb-checkbox-label::after {
	content: "";
	position: absolute;
	left: 5px;
	top: 2px;
	width: 5px;
	height: 10px;
	border: solid #555;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

/* Button loading spinner */
.spptb_add_cart_button.spptb_loading {
    pointer-events: none; /* Disables interaction with the button while loading */
    color: transparent; /* Makes the button text invisible */
    position: relative;
}

.spptb_add_cart_button.spptb_loading::after {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    top: 50%;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px; /* Centers the spinner */
    border-radius: 50%;
    border: 2px solid #000;
    border-color: #000 transparent #000 transparent;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

/* Floating cart widget */
.spptb_floating-cart-widget {
	position: fixed;
	bottom: 0;
	right: 0;
	background: #3B82F6;
	padding: 18px 20px 15px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 14px;
	line-height: 1.5;
	color: #fff;
	z-index: 9999;
}
.spptb_floating-cart-widget .woocommerce-Price-amount.amount {
	font-weight: bold;
}
.spptb_floating-cart-widget .spptb_cart-link-btn {
	display: flex;
	align-items: center;
	font-weight: bold;
	text-decoration: none;
	margin-left: 25px;
	color: inherit;
}
.spptb_floating-cart-widget .cart-icon {
	width: 24px;
	height: 24px;
	margin-left: 4px;
	padding-bottom: 2px;
}
.spptb_cart-display-table-page,
.spptb-table-enabled .spptb_cart-display-table-page.spptb_floating-cart-widget.spptb_floating-cart-hide {
	display: none!important;
}
.spptb-table-enabled .spptb_cart-display-table-page{
	display: flex!important;
}


/* Table default style */
table.spptb-table {
	border: 1px solid #CBD5E1;
	border-collapse: collapse;
	margin-bottom: 0;
	position: relative;
	background: #fff;
}
table.spptb-table thead {
	background: #F8FAFC;
}
table.spptb-table th, table.spptb-table td {
	padding: 16px;
	border: 1px solid #CBD5E1;
}
table.spptb-table .text-center {
	text-align: center;
}

/*-- Link style --*/
table.spptb-table a {
	color: #5046E5;
	text-decoration: none;
}


table.spptb-table .star-rating {
	/* float: right; */
	overflow: hidden;
	position: relative;
	height: 1em;
	line-height: 1;
	font-size: 1em;
	width: 5.9em;
	font-family: star;
	color: #FFCC00;
	display: inline-block;
}
table.spptb-table .star-rating::before {
	content: "sssss";
	float: left;
	top: 0;
	left: 0;
	position: absolute;
	opacity: 1;
	letter-spacing: 2px;
}
table.spptb-table .star-rating span::before {
	content: "SSSSS";
	top: 0;
	position: absolute;
	left: 0;
	color: #FFCC00;
	letter-spacing: 2px;
}
table.spptb-table .star-rating span {
	overflow: hidden;
	float: left;
	top: 0;
	left: 0;
	position: absolute;
	padding-top: 1.5em;
}

/* Pagination */
.spptb-pagination-wrapper {
	width: 100%;
	overflow: hidden;
}
.spptb-pagination {
	float: right;
}
.spptb-pagination ul.page-numbers {
	padding: 5px 1px;
	margin: 0;
}
.spptb-pagination ul.page-numbers li {
	display: inline-block;
	margin-left: 5px;
}
.spptb-pagination ul.page-numbers li:first-child {
	margin-left: 0;
}
.spptb-pagination ul.page-numbers li .page-numbers {
	width: 35px;
	height: 35px;
	display: flex;
	background: rgba(0,0,0,.025);
	align-items: center;
	justify-content: center;
	color: #6d6d6d;
	text-decoration: none;
	border-radius: 5px;
	border: 1px solid #ccc;
}
.spptb-pagination ul.page-numbers li .page-numbers.current,
.spptb-pagination ul.page-numbers li .page-numbers:hover {
	background: #5046E5;
	color: #fff;
	border-color: #5046E5;
}
.spptb-pagination ul.page-numbers li span.page-numbers.dots,
.spptb-pagination ul.page-numbers li span.page-numbers.dots:hover {
	background-color: transparent!important;
	border: 0!important;
}


/* Cell style */
.spptb-price-cell,
.spptb_add_cart_button {
	white-space: nowrap;
}

.spptb-td-title {
	min-width: 200px;
}
.spptb-td-description,
.spptb-td-excerpt{
	min-width: 250px;
}

/* Hide column is Desktop, Tablet, Mobile */
/* Hide on desktop (992px and wider) */
@media (min-width: 992px) {
	.spptb-hide-col-in-desktop {
		display: none;
	}
}
/* Hide on tablet (768px to 991px) */
@media (min-width: 768px) and (max-width: 991px) {
	.spptb-hide-col-in-tablet {
		display: none;
	}
}
/* Hide on mobile (767px and narrower) */
@media (max-width: 767px) {
	.spptb-hide-col-in-mobile,
	.spptb-auto-responsive td.spptb-hide-col-in-mobile {
		display: none;
	}
}

/* Thumbnail */
.spptb-td-thumbnail img {
	width: 100px;
	height: auto;
}

/* Add to cart button */
.spptb_add_cart_button.button {
	background: #6366F1;
	font-size: 14px;
	line-height: 1.5;
	padding: 8px 12px;
	border: 1px solid #6366F1;
	border-radius: 4px;
	display: inline-block;
	color: #fff;
	text-decoration: none!important;
}
.spptb_add_cart_button.button:hover {
	background: #4F46E5;
	color: #fff;
	border-color: #4F46E5;
	text-decoration: none!important;
}
.spptb_add_cart_button.button:focus,
.spptb-all-atc.button:focus {
	outline: none;
}
.spptb_add_cart_button.button.disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

/* Variation form */
form.variations_form {
	margin-bottom: 0;
}

/* Variation select */
.spptb-variation-dropdown {
	margin-bottom: 2px;
}
.spptb-td-variations select,
.spptb-td-action select {
	padding: 5px 10px 5px 12px;
	min-width: 100px;
	border: 1px solid #CBD5E1;
	border-radius: 3px;
}
.spptb-td-variations .reset_variations,
.spptb-td-action .reset_variations {
	font-size: 14px;
	margin-top: 4px;
	display: inline-block;
}

/* Action */
.spptb-variation-action-btn {
	display: flex;
	gap: 10px;
	align-items: center;
}

/* Quantity input */
.spptb-td-quantity .quantity input,
.spptb-td-action .quantity input {
	height: 36px;
	border: 1px solid #CBD5E1;
	padding: 5px 0 5px 10px;
	width: 55px;
	border-radius: 2px;
}

/* Table Width overflow */
.spptb-table-wrapper{
	overflow-x: auto;
	max-width: 100%;
	position: relative;
	margin-bottom: 20px;
}

/*--- Space --*/
.spptb-space {
	display: block;
	height: 1px;
	width: 1px;
}
.spptb-space.spptb-space-horizontal {
	width: var(--spptb-space-size);
	display: inline-block;
}
.spptb-space.spptb-space-vertical {
	height: var(--spptb-space-size);
	width: 100%;
}

/*-------- Auto Responsive ------*/
@media only screen and (max-width: 767px){
	table.spptb-auto-responsive, .spptb-auto-responsive thead, .spptb-auto-responsive tbody, .spptb-auto-responsive th, .spptb-auto-responsive td, .spptb-auto-responsive tr {
	  display: block;
	  position: relative;
	}
	.spptb-auto-responsive thead tr th:not(.spptb-checkbox-th){
	  display: none;
	}
	.spptb-auto-responsive td {
	  position: relative;
	  border-width: 0!important;
	  border-bottom-width: 1px!important;
	}
	.spptb-auto-responsive:not(.spptb-hide-responsive-header) td:not(.spptb-checkbox-td) {
	  padding-left: 150px !important;
	}
	.spptb-auto-responsive td::before {
	  content: attr(data-label);
	  position: absolute;
	  left: 0;
	  width: 150px;
	  padding-left: 15px;
	  text-align: left;
	  font-weight: bold;
	  padding-right: 5px;
	}
	.spptb-auto-responsive.spptb-hide-responsive-header td::before,
	.spptb-auto-responsive td.spptb-checkbox-td::before {
	  display: none;
	}
	.spptb-auto-responsive td.spptb-checkbox-td {
		position: absolute;
		z-index: 999;
		height: 20px;
		width: 20px;
		display: flex;
		justify-content: center;
		align-items: center;
		background: #F8FAFC;
		padding: 0;
		border: 0;
		right: 2px;
		top: 2px;
	}
	.spptb-auto-responsive .spptb-checkbox-container {
		height: 20px;
		width: 20px;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.spptb-table-wrapper.spptb-auto-responsive-wrapper {
		overflow: unset;
	}
	.spptb-auto-responsive .spptb-checkbox-th {
		position: absolute;
		right: 75px;
		top: -38px;
		border: 0;
		padding: 0;
		z-index: 999;
	}
	.spptb-auto-responsive .spptb-checkbox-th::before {
		content: attr(data-label);
		position: absolute;
		left: 20px;
		width: 70px;
		padding-left: 5px;
		line-height: 18px;
	}
  }

/* table pagination animation */
.spptb-table.loading-spinner::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.4);
	z-index: 9;
}
.spptb-table.loading-spinner::after {
	content: "";
	position: absolute;
	top: calc(50% - 40px);
	left: calc(50% - 40px);
	border: 10px solid #ccc;
	border-radius: 50%;
	border-top: 10px solid #fff;
	width: 80px;
	height: 80px;
	-webkit-animation: pagispin 2s linear infinite;
	animation: pagispin 2s linear infinite;
	z-index: 10;
}
@-webkit-keyframes pagispin {
    0% { -webkit-transform: rotate(0deg); }
    100% { -webkit-transform: rotate(360deg); }
}

@keyframes pagispin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Tooltip styles for variation ATC */
.spptb-tooltip {
	display: none;
	position: absolute;
	z-index: 1000;
	background-color: black;
	color: #fff;
	text-align: center;
	border-radius: 6px;
	padding: 5px 0;
	width: 180px;
}
.spptb-tooltip::after {
	content: '';
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -5px;
	border-width: 5px;
	border-style: solid;
	border-color: black transparent transparent transparent;
}


/*---- Search and Filter ---*/
/* Search form */
/* .spptb-search {
	width: 100%;
	max-width: 400px;
	margin: 20px auto;
	position: relative;
} */
.spptb-search {
    flex: 1 1 100%; /* Full width */
    position: relative; /* Set position to contain the absolute icon */
}

.spptb-search .spptb-search-input {
	width: 100%;
	padding: 5px 40px 5px 12px;
	font-size: 16px;
	border: 1px solid #ccc;
	border-radius: 4px;
	box-sizing: border-box;
}

.spptb-search .spptb-search-submit {
    position: absolute; /* Position the icon inside the input field */
    top: 50%; /* Center vertically */
    right: 10px; /* Align to the right with some padding */
    transform: translateY(-50%); /* Adjust for vertical centering */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px; /* Size of the icon */
    height: 24px; /* Size of the icon */
    cursor: pointer;
    color: #888; /* Icon color */
}
/*
.spptb-search input.spptb-search-input {
	width: 100%;
	padding: 10px 15px 10px 15px;
	padding-right: 35px;
	font-size: 16px;
	border: 1px solid #ccc;
	outline: none;
	transition: border-color 0.3s ease-in-out;
	box-shadow: none;
}

.spptb-search-input:focus {
	border-color: #007bff;
}

.spptb-search-icon {
	position: absolute;
	top: 0;
	right: 10px;
	cursor: pointer;
	display: flex;
	height: 100%;
	align-items: center;
}
	*/

.spptb-search-icon svg {
	width: 20px;
	height: 20px;
	/*fill: #888; */
}


.spptb-table-filter-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 16px; /* Add spacing between elements */
    margin-bottom: 20px; /* Optional: add spacing below the wrapper */
}
.spptb-category-filter,
.spptb-tag-filter {
    /* flex: 1 1 calc(50% - 40px); /* Half width minus gap */
    /* display: flex; */
    align-items: center;
}
.spptb-attribute-filter {
	/* display: flex;
	flex: 1 1 calc(33% - 30px); */
}

.spptb-category-filter-select,
.spptb-tag-filter-select,
.spptb-attribute-filter select {
	flex: 1;
	padding: 6px 12px;
	font-size: 16px;
	border: 1px solid #ccc;
	border-radius: 4px;
	background-color: #fff;
}

.spptb-reset-filters {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	cursor: pointer;
}

.spptb-reset-filters:focus {
	outline: none; /* Remove default focus outline */
}

.spptb-reset-filters svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	margin-right: 4px;
}