.bya_hide {
	display: none;
}

/* Empty state — shown when no products match search/filter criteria */
.bya-no-results-row td.bya-no-results-cell {
	padding: 40px 20px !important;
	text-align: center;
	background: transparent;
	border-bottom: 0;
}

.bya-empty-state {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	color: #666;
}

.bya-empty-state__icon {
	width: 64px;
	height: 64px;
	color: #999;
	margin-bottom: 4px;
}

.bya-empty-state__icon svg {
	width: 100%;
	height: 100%;
}

.bya-empty-state__heading {
	font-size: 1rem;
	font-weight: 600;
	color: #333;
	margin: 0;
}

.bya-empty-state__message {
	font-size: 0.875rem;
	color: #888;
	margin: 0;
}

/* Filter By dropdown tooltip */
.bya-filter-select-wrap {
	position: relative;
	display: inline-block;
}

.bya-filter-tooltip {
	display: none;
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	z-index: 9999;
	background: #333;
	color: #fff;
	font-size: 12px;
	line-height: 1.4;
	padding: 6px 10px;
	border-radius: 4px;
	white-space: nowrap;
	max-width: 280px;
	white-space: normal;
	pointer-events: none;
	box-shadow: 0 2px 6px rgba(0,0,0,0.25);
}

.bya-filter-tooltip::before {
	content: '';
	position: absolute;
	bottom: 100%;
	left: 12px;
	border: 5px solid transparent;
	border-bottom-color: #333;
}

.bya-filter-tooltip.bya-tooltip-visible {
	display: block;
}

a.bya_link {
	text-decoration: none !important;
}

.bya_myaccount_buy_again_wrapper,
.bya_product_table_container,
.bya_product_search_container {
	float: left;
	width: 100%;
}

.bya_product_search_container .bya_product_search_btn {
	margin-left: 10px !important;
}

.bya_product_table_container .bya_buy_again_product_table {
	width: 100%;
}

.bya_product_table_container .bya_buy_again_product_table thead {
	background: #f1f1f1;
}

.bya_product_table_container .bya_buy_again_product_table thead th {
	padding: 15px 10px;
	color: #000;
	text-transform: capitalize;
}

.bya_product_table_container .bya_buy_again_product_table tbody td {
	padding: 10px;
	color: #222;
	border-bottom: 0;
	vertical-align: top;
}

.bya_product_table_container .bya_buy_again_product_table tbody tr:nth-child(even) {
	background: #f1f1f1;
}

.bya_product_table_container .bya_buy_again_product_table tbody td img {
	width: 75px;
	height: auto;
}

.bya_product_table_container .bya_buy_again_product_table tbody td a.bya_link {
	text-decoration: none !important;
}

.bya_product_table_container .bya_buy_again_product_table tbody td a.bya_product_title {
	font-size: 1rem;
	font-weight: 400;
	color: #333;
}

.bya_product_table_container .bya_buy_again_product_table tbody td span {
	color: #f00;
	font-size: 14px;
}

.bya_product_table_container .bya_buy_again_product_table tbody td .bya_out_of_stock {
	color: #f00;
	font-weight: 700;
	font-size: 14px;
}

.bya_product_table_container .bya_buy_again_product_table tbody td button,
.order_details .bya_order_item_fields .bya_add_to_cart_container .button,
.order_details .bya_order_item_fields .bya_buy_again_container .button {
	margin-right: 10px;
	margin-bottom: 10px;
	padding: 7px 15px;
	color: #fff;
	border: none;
	border-radius: 5px;
	box-shadow: none;
	font-size: 14px;
	font-weight: 600;
}

.bya_product_table_container .bya_buy_again_product_table tbody td .bya-add-to-cart,
.order_details .bya_order_item_fields .bya_add_to_cart_container .bya-add-to-cart {
	background: #29b58f;
	color: #fff;
}

.bya_product_table_container .bya_buy_again_product_table tbody td .bya-buy-again,
.order_details .bya_order_item_fields .bya_buy_again_container .bya-buy-again {
	background: #08220D;
	color: #fff;
}

.bya_product_table_container .bya_buy_again_product_table tfoot tr td .page-numbers {
	cursor: pointer;
}

.bya_quantity {
	float: left;
	position: relative;
}

.bya_dialog_box {
	position: absolute;
	background: #333;
	display: block;
	float: left;
	color: #fdfdfd;
	line-height: 30px;
	padding: 5px;
	top: 60px;
	z-index: 1;
	border-radius: 5px;
	width: max-content;
}

.bya_dialog_box p {
	text-align: center;
	margin: 0;
}

.bya-quantity .bya_qty_field {
	width: 75px;
	position: relative;
	height: 40px !important;
}

.bya_dialog_box:after,
.bya_dialog_box:before {
	top: -45%;
	left: 20px;
	border: solid transparent;
	content: "";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
}

.bya_dialog_box:after {
	border-bottom-color: #333;
	border-width: 14px;
	margin-left: 0px;
}

.bya_myaccount_buy_again_wrapper .bya_table_filter_controls_wrap select,
.bya_myaccount_buy_again_wrapper .bya_table_filter_wrap select,
.bya_myaccount_buy_again_wrapper .bya_table_filter_wrap input[type='text'] {
	width: 170px;
	height: 40px;
	border-radius: 5px;
	background: #fdfdfd;
	border: 1px solid #f1f1f1;
}

.bya_myaccount_buy_again_wrapper .bya_table_filter_wrap input[type='search'] {
	padding: 0.6180469716em;
	width: 100%;
	background-color: #ededed;
	color: #43454b;
	box-sizing: border-box;
	font-weight: normal;
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.125);
	border-radius: 5px;
}

.bya-product-categories-filter-container {
	width: 100%;
	float: left;
	margin: 15px 0;
}

.bya_myaccount_buy_again_wrapper .bya-product-categories-filter-container input[type='search'] {
	background: none;
	box-shadow: none;
	border-radius: 0;
	padding: 0;
}

.bya_myaccount_buy_again_wrapper .bya-product-categories-filter-container label {
	width: 100%;
	float: left;
	padding: 0;
	margin: 0 0 15px 0;
	color: #333;
	font-size: 16px;
	font-weight: normal;
}

.bya_myaccount_buy_again_wrapper .bya-product-categories-filter-container .select2-container {
	width: 100% !important;
}

.bya_table_filter_controls_wrap {
	background-color: #ffffff;
	padding: 16px 20px;
	box-shadow: 1px 1px 20px 0px #E9E9E9;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	width: 100%;
	box-sizing: border-box;
}

.bya-filter-controls-left {
	flex: 0 0 auto;
}

.bya-filter-controls-left .bya_product_count {
	margin: 0;
}

.bya-filter-controls-right {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}

.bya_product_stock_filter_container,
.bya_product_sort_container {
	display: flex;
	align-items: center;
	gap: 8px;
}

.bya_product_stock_filter_container label,
.bya_product_sort_container label {
	white-space: nowrap;
	margin: 0;
	font-weight: 600;
	color: #333;
	font-size: 14px;
}

/* "Filters active" indicator + Reset action — base look shared by every
   page style; Modern/Compact refine the colors to match their own palette. */
.bya-active-filters-badge {
	display: inline-flex;
	align-items: center;
	background: #f1f1f1;
	color: #333;
	font-size: 12px;
	font-weight: 600;
	padding: 5px 12px;
	border-radius: 999px;
}

.bya_filter_reset_btn {
	background: none;
	border: none;
	padding: 0;
	color: #666;
	font-size: 13px;
	font-weight: 600;
	text-decoration: underline;
	cursor: pointer;
}

.bya_filter_reset_btn:hover,
.bya_filter_reset_btn:focus-visible {
	color: #000066;
}

.bya-empty-state__reset {
	display: inline-block;
	margin-top: 16px;
	background: #000066;
	color: #fff;
	border: none;
	border-radius: 5px;
	padding: 8px 18px;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
}

.bya-empty-state__reset:hover {
	background: #000;
}

.bya_table_filter_wrap,
.bya_product_table_container {
	background: #ffffff;
	margin: 16px 0;
	box-shadow: 1px 1px 20px 0px #E9E9E9;
	position: relative;
	float: left;
	width: 100%
}

.bya_table_filter_wrap {
	padding: 20px;
	box-sizing: border-box;
}

.bya_table_filter_controls_wrap p {
	margin: 15px 0;
}

.bya-guest-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 20px;
}

.bya-guest-user {
	display: flex;
	align-items: center;
	gap: 10px;
}

.bya-guest-avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
}

.bya-guest-email {
	font-weight: 600;
	color: #333;
}

.bya-guest-logout-button {
	padding: 0.3em 1.8em;
	border-radius: 5px;
	cursor: pointer;
	font-weight: 600;
	color: #ffffff;
	background: #000066;
	border: 1px solid #000066;
}

.bya-guest-logout-button:hover {
	box-shadow: 0 0 3px #000;
	background: #000;
	color: #fff;
	border: 1px solid #000;
}

.bya_table_filter_controls_wrap .bya_filter_button,
.bya_table_filter_wrap .bya-apply-filter .bya_product_search_btn {
	padding: 0.3em 1.41575em;
	border-radius: 5px;
	cursor: pointer;
	text-decoration: none;
	font-weight: 600;
	text-shadow: none;
	display: inline-block;
}

.bya_table_filter_controls_wrap .bya_filter_button,
.bya_table_filter_wrap .bya-apply-filter .bya_product_search_btn {
	color: #ffffff;
	background: #000066;
	border: 1px solid #000066;
}

.bya_table_filter_controls_wrap .bya_filter_button:hover,
.bya_table_filter_wrap .bya-apply-filter .bya_product_search_btn:hover {
	box-shadow: 0 0 3px #000;
	background: #000;
	color: #fff;
	border: 1px solid #000;
}

.bya_product_search_inp {
	width: 100%;
	padding: 10px 20px;
	border-radius: 3px;
	border: 1px solid #cccccc;
}

.bya_product_time_filter_container {
	display: inline-block;
	width: 100%;
	margin-top: 10px;
}

.bya_product_time_filter_container .bya_time_filter_wrap,
.bya_product_time_filter_container .bya_start_date_wrap,
.bya_product_time_filter_container .bya_end_date_wrap {
	width: 33%;
	float: left;
}

.bya_product_time_filter_container .bya_time_filter_wrap {
	text-align: left;
}

.bya_product_time_filter_container .bya_start_date_wrap {
	text-align: center;
}

.bya_product_time_filter_container .bya_end_date_wrap {
	text-align: right;
}

.bya-apply-filter {
	width: 100%;
	display: inline-block;
	text-align: right;
	margin-top: 10px;
}

.bya-current-page {
	height: 32px;
	margin: 0 2px 0 0;
	font-size: 13px;
	text-align: center;
	padding: 0 8px;
	line-height: 2;
	width: 50px;
	min-height: 30px;
	box-shadow: 0 0 0 transparent;
	border-radius: 4px;
	border: 1px solid #8c8f94;
	background-color: #fff;
	color: #2c3338;
}

.bya_readonly {
	opacity: 0.5;
	cursor: not-allowed !important;
	pointer-events: none;
}

@media screen and (max-width: 1024px) {
	.bya_product_table_container .bya_buy_again_product_table tbody tr {
		display: block;
	}

	.bya_product_table_container .bya_buy_again_product_table thead {
		display: none;
	}

	.bya_product_table_container .bya_buy_again_product_table tr td::before {
		content: attr(data-title) ": ";
		font-weight: 700;
		float: left;
	}

	.bya_product_table_container .bya_buy_again_product_table tr td {
		display: block;
		border-right: 0;
		text-align: right !important;

	}

	.bya_product_table_container .bya_buy_again_product_table tbody td button {
		float: none;
		margin-right: 0;
	}

	.bya_table_filter_controls_wrap {
		flex-direction: column;
		align-items: flex-start;
	}

	.bya-filter-controls-right {
		width: 100%;
		flex-direction: column;
		align-items: flex-start;
	}

	.bya_product_time_filter_container {
		display: block;
		margin-top: 15px;
	}

	.bya_product_time_filter_container .bya_time_filter_wrap,
	.bya_product_time_filter_container .bya_start_date_wrap,
	.bya_product_time_filter_container .bya_end_date_wrap {
		width: 100%;
		display: block;
		float: left;
		margin: 5px 0;
	}
}

/* Favourite column */
tr.bya-row-loading {
	opacity: 0.4;
	pointer-events: none;
	transition: opacity 0.15s ease;
}

.bya-favourite-cell {
	text-align: center !important;
	vertical-align: middle !important;
}

.bya-favourite-btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: none !important;
	background-color: transparent !important;
	border: none !important;
	box-shadow: none !important;
	outline: none !important;
	cursor: pointer !important;
	padding: 4px !important;
	margin: 0 !important;
	min-height: 0 !important;
	min-width: 0 !important;
	width: auto !important;
	height: auto !important;
	line-height: 1 !important;
	font-size: inherit !important;
	border-radius: 0 !important;
	color: #cccccc !important;
	transition: color 0.2s ease, transform 0.15s ease;
	vertical-align: middle !important;
}

.bya-favourite-btn:hover,
.bya-favourite-btn:focus {
	color: #f5a623 !important;
	transform: scale( 1.2 );
	background: none !important;
	background-color: transparent !important;
	box-shadow: none !important;
	border: none !important;
	outline: none !important;
}

.bya-favourite-btn.bya-is-favourite {
	color: #f5a623 !important;
}

.bya-favourite-btn:disabled {
	opacity: 0.5 !important;
	cursor: not-allowed !important;
	transform: none !important;
}

.bya-star-icon {
	display: block;
	width: 22px;
	height: 22px;
	fill: currentColor;
	flex-shrink: 0;
	pointer-events: none;
}

.bya-favourite-na {
	color: #aaa;
	font-size: 16px;
	display: block;
	text-align: center;
}

/* Product badge design */
.bya-badge {
	top: 0;
	margin: 0;
	padding: 0 10px;
	position: absolute;
	min-width: 80px;
	height: 35px;
	font-size: 16px;
	text-align: left !important;
	line-height: 35px;
	z-index: 1;
}

.buy-order-again-form-wrapper {
	float: left;
	width: 100%;
}

.buy-order-again-form-wrapper h1 {
	font-size: 24px;
	font-weight: 400;
	color: #000;
}

.buy-order-again-form-wrapper table,
.buy-order-again-form-wrapper table th,
.buy-order-again-form-wrapper table td {
	border: none !important;
}

.buy-order-again-form-wrapper table th {
	padding: 15px 10px;
	color: #000;
	background: #f8f8f8;
}

.buy-order-again-form-wrapper table td {
	padding: 10px;
	color: #222;
	border-bottom: 0;
	vertical-align: top;
}

.buy-order-again-form-wrapper table tr:nth-child(even) {
	background: #fbfbfb;
}

.bya-proceed-buy-order-again {
	border: 0;
	background: #43454b;
	border-color: 1px solid #43454b;
	color: #fff;
	cursor: pointer;
	padding: .6180469716em 1.41575em;
	text-decoration: none;
	font-weight: 600;
	text-shadow: none;
	float: right;
}

.bya-proceed-buy-order-again:disabled,
.bya-check-column:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.buy-order-again-form-wrapper table.bya-order-buy-again-table td p.out-of-stock {
	color: #f00 !important;
	font-weight: 700;
	font-size: 14px;
}

/* Container Styling */
#bya-guest-form-container {
	max-width: 450px;
	margin: 30px auto;
	padding: 25px;
	background: #ffffff;
	border-radius: 10px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

/* Form Row & Labels */
#bya_guest_form .form-row {
	margin-bottom: 20px;
}

#bya_guest_form label {
	display: block;
	font-weight: 600;
	margin-bottom: 8px;
	color: #333;
	font-size: 14px;
}

/* Input Fields */
#bya_guest_form input[type="email"],
#bya_guest_form input[type="text"] {
	width: 100%;
	padding: 12px 15px;
	border: 1px solid #ddd;
	border-radius: 6px;
	font-size: 16px;
	transition: border-color 0.3s, box-shadow 0.3s;
	box-sizing: border-box;
	/* Ensures padding doesn't affect width */
	margin-bottom: 12px;
}

/* Specifically handling the email input with the icon */
#bya_user_email {
	padding-right: 40px !important;
	/* Make room for your base64 icon */
}

#bya_guest_form input:focus {
	border-color: #007cba;
	box-shadow: 0 0 0 2px rgba(0, 124, 186, 0.1);
	outline: none;
}

/* Buttons */
#bya_guest_form button {
	width: 100%;
	padding: 12px 20px;
	font-size: 15px;
	font-weight: 600;
	text-transform: uppercase;
	border: none;
	border-radius: 6px;
	cursor: pointer;
	transition: background 0.3s ease;
}

/* Fetch/Send Button */
.bya-fetch-email-btn {
	background-color: #007cba;
	color: white;
}

.bya-fetch-email-btn:hover {
	background-color: #006799;
}

/* Verify Button */
.bya-verify-otp-btn {
	background-color: #4CAF50;
	color: white;
	margin-top: 10px;
}

.bya-verify-otp-btn:hover {
	background-color: #45a049;
}

/* OTP Section (when it becomes visible) */
#bya_otp_section {
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid #eee;
}

/* OTP Code specific styling */
.bya-otp-code {
	text-align: center;
	letter-spacing: 5px;
	font-weight: bold;
	font-size: 20px !important;
}

/* Feedback Messages */
#bya_form_message {
	margin-top: 15px;
	padding: 10px;
	border-radius: 4px;
	font-size: 14px;
	text-align: center;
	display: none;
}

#bya_form_message.success {
	display: block;
	background-color: #d4edda;
	color: #155724;
	border: 1px solid #c3e6cb;
}

#bya_form_message.error {
	display: block;
	background-color: #f8d7da;
	color: #721c24;
	border: 1px solid #f5c6cb;
}

#bya_resend_container {
	margin-top: 10px;
	font-size: 0.9em;
}

/* Responsive adjust */
@media (max-width: 480px) {
	#bya-guest-form-container {
		margin: 15px;
		padding: 15px;
	}
}

/* Bulk "Buy Again" selection */
.bya_product_table_container .bya_buy_again_product_table th.bya-select-column,
.bya_product_table_container .bya_buy_again_product_table td.bya-select-column {
	width: 30px;
	text-align: center;
	vertical-align: middle;
}

.bya-check-column,
.bya-buy-again-check-all {
	width: 18px;
	height: 18px;
	cursor: pointer;
}

.bya-check-column:disabled {
	cursor: not-allowed;
	opacity: 0.4;
}

.bya-check-column:focus-visible,
.bya-buy-again-check-all:focus-visible {
	outline: 2px solid #29b58f;
	outline-offset: 2px;
}

.bya-bulk-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px 20px;
	margin: 15px 0;
	padding: 14px 20px;
	background-color: #ffffff;
	box-shadow: 1px 1px 20px 0px #E9E9E9;
	border-radius: 6px;
	border-left: 3px solid transparent;
	transition: border-color 0.2s ease;
}

.bya-bulk-actions.bya-has-selection {
	border-left-color: #29b58f;
}

.bya-bulk-actions__summary {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
	flex: 1 1 auto;
	min-width: 180px;
}

.bya-bulk-actions__count {
	display: inline-flex;
	align-items: center;
	color: #555;
	font-size: 13px;
	font-weight: 600;
	background: #f1f1f1;
	padding: 5px 12px;
	border-radius: 999px;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.bya-has-selection .bya-bulk-actions__count {
	background: #e6f7f1;
	color: #1f8f6f;
}

.bya-bulk-actions__clear {
	background: none;
	border: none;
	padding: 0;
	color: #0d3993;
	font-size: 13px;
	text-decoration: underline;
	cursor: pointer;
}

.bya-bulk-actions__clear:hover,
.bya-bulk-actions__clear:focus-visible {
	color: #29b58f;
}

.bya-bulk-actions__controls {
	display: flex;
	align-items: center;
	gap: 10px;
	flex: 0 0 auto;
}

.bya-bulk-action-select-wrap {
	position: relative;
	display: inline-block;
}

.bya-bulk-action-select-wrap::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 12px;
	width: 0;
	height: 0;
	margin-top: -2px;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 5px solid #666;
	pointer-events: none;
}

.bya-bulk-action-select {
	height: 38px;
	min-width: 170px;
	padding: 0 32px 0 12px;
	border-radius: 5px;
	border: 1px solid #ddd;
	background: #fdfdfd;
	font-size: 14px;
	color: #333;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	cursor: pointer;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.bya-bulk-action-select:hover {
	border-color: #bbb;
}

.bya-bulk-action-select:focus-visible {
	outline: none;
	border-color: #29b58f;
	box-shadow: 0 0 0 2px rgba(41, 181, 143, 0.2);
}

.bya-bulk-apply-btn {
	position: relative;
	padding: 8px 20px;
	color: #fff;
	background: #29b58f;
	border: none;
	border-radius: 5px;
	box-shadow: none;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.2s ease, opacity 0.2s ease, transform 0.15s ease;
}

.bya-bulk-apply-btn:not([hidden]) {
	animation: bya-bulk-apply-in 0.15s ease-out;
}

@keyframes bya-bulk-apply-in {
	from {
		opacity: 0;
		transform: translateY(-2px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.bya-bulk-apply-btn:hover:not(:disabled) {
	background: #23a07e;
}

.bya-bulk-apply-btn:focus-visible {
	outline: 2px solid #0d3993;
	outline-offset: 2px;
}

.bya-bulk-apply-btn:disabled {
	background: #a9d9cb;
	cursor: not-allowed;
}

.bya-bulk-apply-btn[aria-busy="true"] {
	color: transparent;
	cursor: progress;
}

.bya-bulk-apply-btn[aria-busy="true"]::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 14px;
	height: 14px;
	margin: -7px 0 0 -7px;
	border: 2px solid rgba(255, 255, 255, 0.5);
	border-top-color: #fff;
	border-radius: 50%;
	animation: bya-bulk-spin 0.6s linear infinite;
}

@keyframes bya-bulk-spin {
	to {
		transform: rotate(360deg);
	}
}

.bya-bulk-actions__result {
	flex-basis: 100%;
	color: #333;
	font-size: 13px;
	min-height: 1px;
}

.bya-bulk-actions__result:empty {
	display: none;
}

.bya-bulk-actions__result--success {
	color: #1f8f6f;
}

.bya-bulk-actions__result--error {
	color: #c0392b;
}

/* When the message is WooCommerce's own notice markup (see wc_print_notice()
   usage server-side), trim its default bottom margin so it sits flush inside
   this compact toolbar instead of leaving extra whitespace below. */
.bya-bulk-actions__result .woocommerce-message,
.bya-bulk-actions__result .woocommerce-error {
	margin: 8px 0 0;
}

@media (max-width: 480px) {
	.bya-bulk-actions {
		flex-direction: column;
		align-items: stretch;
	}

	.bya-bulk-actions__controls {
		flex-wrap: wrap;
	}

	.bya-bulk-action-select-wrap,
	.bya-bulk-action-select {
		width: 100%;
	}

	.bya-bulk-apply-btn {
		width: 100%;
	}
}


/* ==========================================================================
   Buy Again Table — New Display (default, modern card-style layout)
   Scoped under .bya-table-style-new / .bya-display-new so the Classic
   Display (.bya-table-style-old / .bya-display-old) keeps the original
   look untouched above. Selectable via Buy Again → Settings → General →
   Display Settings → "Buy Again Table Display".
   ========================================================================== */

.bya-display-new .bya_product_table_container {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border: 1px solid #d7dde6;
	border-radius: 10px;
}

/* The Advanced Filters form (`#bya_buy_again_table_form`) gets the same
   bordered/rounded card treatment as the table container, and its buttons
   move to the New Display's navy accent, so the whole page reads as one
   consistent style instead of the filter form staying in the old look. */
.bya-display-new .bya_table_filter_wrap {
	border: 1px solid #d7dde6;
	border-radius: 10px;
}

.bya-display-new .bya_table_filter_controls_wrap .bya_filter_button,
.bya-display-new .bya_table_filter_wrap .bya-apply-filter .bya_product_search_btn {
	background: #0d3993;
	border-color: #0d3993;
}

.bya-display-new .bya_table_filter_controls_wrap .bya_filter_button:hover,
.bya-display-new .bya_table_filter_wrap .bya-apply-filter .bya_product_search_btn:hover {
	background: #061c47;
	border-color: #061c47;
}

/* The top filter/sort bar (`bya_table_filter_controls_wrap`) picks up the
   same bordered/rounded card treatment as the rest of New Display, and its
   "Filters active" badge / Reset link move to the navy accent instead of
   the neutral grey used everywhere else. */
.bya-display-new .bya_table_filter_controls_wrap {
	border: 1px solid #d7dde6;
	border-radius: 10px;
}

.bya-display-new .bya-active-filters-badge {
	background: #eaeff8;
	color: #0d3993;
}

.bya-display-new .bya_filter_reset_btn {
	color: #0d3993;
}

.bya-display-new .bya_filter_reset_btn:hover,
.bya-display-new .bya_filter_reset_btn:focus-visible {
	color: #061c47;
}

/* The bulk-actions toolbar (`bya-bulk-actions`) switches from the green
   "Add to Cart" accent it shares with Classic Display to the same navy
   accent as every other New Display control (buttons, filters, pagination,
   the email preferences banner), so it reads as part of the same design. */
.bya-display-new .bya-bulk-actions {
	border: 1px solid #d7dde6;
	border-radius: 10px;
}

.bya-display-new .bya-bulk-actions.bya-has-selection {
	border-left-color: #0d3993;
}

.bya-display-new .bya-has-selection .bya-bulk-actions__count {
	background: #eaeff8;
	color: #0d3993;
}

.bya-display-new .bya-bulk-actions__clear {
	color: #0d3993;
}

.bya-display-new .bya-bulk-actions__clear:hover,
.bya-display-new .bya-bulk-actions__clear:focus-visible {
	color: #061c47;
}

.bya-display-new .bya-bulk-action-select:focus-visible {
	border-color: #0d3993;
	box-shadow: 0 0 0 2px rgba(13, 57, 147, 0.2);
}

.bya-display-new .bya-bulk-apply-btn {
	background: #0d3993;
}

.bya-display-new .bya-bulk-apply-btn:hover:not(:disabled) {
	background: #061c47;
}

/* Banded table (Excel "Light" table-style look): a solid navy header row and
   alternating navy-tinted/white row bands, instead of separated white cards,
   so each row is clearly distinguishable at a glance. */
.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new {
	--bya-new-accent: #0d5493;
	--bya-new-band: #eaeff8;
	border-collapse: collapse;
	border-spacing: 0;
	background: #ffffff;
	width: 100%;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new thead th.bya-select-column {
	width: 4%;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new thead th.bya-col-image {
	width: 9%;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new thead th.bya-col-order-id {
	width: 9%;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new thead th.bya-col-stock {
	width: 10%;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new thead th.bya-col-price {
	width: 11%;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new thead th.bya-col-quantity {
	width: 9%;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new thead th.bya-col-favourite {
	width: 6%;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new thead {
	background: var(--bya-new-accent);
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new thead th {
	/* WordPress core's block-library CSS ships a generic
	   `table:not(.has-background) th { background-color: #f8f8f8; }` rule.
	   background-color isn't inherited, so without setting it here directly
	   that light-grey default paints over the <thead>'s navy background —
	   every <th> needs its own explicit background to actually show navy. */
	background: var(--bya-new-accent);
	padding: 14px 10px;
	color: #ffffff;
	font-size: 13px;
	font-weight: 700;
	text-align: left;
	border-bottom: none;
	overflow-wrap: anywhere;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new thead tr:first-child th:first-child {
	border-top-left-radius: 9px;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new thead tr:first-child th:last-child {
	border-top-right-radius: 9px;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody tr {
	background: #ffffff;
	transition: background-color 0.12s ease;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody tr:hover {
	background: #dde6f5;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody tr:has(.bya-check-column:checked) {
	background: var(--bya-new-band);
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody td {
	background: #f3f3f6;
	padding: 12px 10px;
	color: #344054;
	font-size: 14px;
	border-bottom: 1px solid #e5e7eb;
	vertical-align: middle;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody tr:hover td {
	background: #dde6f5;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody tr:has(.bya-check-column:checked) td {
	background: var(--bya-new-band);
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody tr:last-child td {
	border-bottom: none;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody tr:last-child td:first-child {
	border-bottom-left-radius: 9px;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody tr:last-child td:last-child {
	border-bottom-right-radius: 9px;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody td img.bya_product_img {
	width: 64px;
	height: 64px;
	object-fit: cover;
	border-radius: 10px;
	border: 1px solid #eef0f3;
	background: #f8f9fb;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody td a.bya_product_title {
	font-size: 15px;
	font-weight: 600;
	color: #101828;
	transition: color 0.15s ease;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody td a.bya_product_title:hover {
	color: #0d3993;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody td p.bya_product_description {
	color: #667085;
	font-size: 13px;
	line-height: 1.5;
	margin: 6px 0 0;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody td .bya_out_of_stock {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	color: #b42318;
	background: #fef3f2;
	border: 1px solid #fda29b;
	border-radius: 8px;
	font-size: 12px;
	font-weight: 600;
	padding: 6px 10px;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody td p.stock {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	margin: 0;
	border-radius: 8px;
	font-size: 12px;
	font-weight: 600;
	padding: 4px 10px;
	line-height: 1.4;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody td p.stock.in-stock {
	color: #027a48;
	background: #ecfdf3;
	border: 1px solid #abefc6;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody td p.stock.out-of-stock,
.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody td p.stock.on-backorder {
	color: #b42318;
	background: #fef3f2;
	border: 1px solid #fda29b;
}

/* The base (Classic) styles color *any* <span> inside a cell red — meant for
   an inline error/placeholder indicator, but WooCommerce's price markup
   (`.woocommerce-Price-amount`, its currency-symbol span, etc.) also matches
   that generic selector, so New Display resets span color/size back to
   normal first; the more specific price/stock rules below still win over
   this reset. */
.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody td span {
	color: inherit;
	font-size: inherit;
}

/* Price column — right-aligned and emphasized for quick scanning. */
.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new thead th.bya-col-price,
.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody td.bya-col-price {
	text-align: right;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody td.bya-col-price .woocommerce-Price-amount,
.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody td.bya-col-price .woocommerce-Price-amount * {
	font-weight: 700;
	color: #101828;
	font-size: 15px;
}

/* Quantity input — rounded to match the rest of the New Display, with a
   visible focus ring for keyboard users. */
.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody td .bya_qty_field,
.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody td input[type="number"] {
	width: 60px;
	padding: 7px 8px;
	text-align: center;
	color: #101828;
	background: #f9fafb;
	border: 1px solid #d0d5dd;
	border-radius: 8px;
	font-size: 14px;
	transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody td .bya_qty_field:focus,
.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody td input[type="number"]:focus {
	outline: none;
	background: #fff;
	border-color: #0d3993;
	box-shadow: 0 0 0 3px rgba(13, 57, 147, 0.12);
}

/* Visible keyboard focus across interactive elements. */
.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody td button:focus-visible,
.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody td a:focus-visible {
	outline: 2px solid #0d3993;
	outline-offset: 2px;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody td.bya-col-action {
	/* Each button keeps its own `white-space: nowrap` below so its label
	   never wraps into a "cramped circle" — but the cell itself is left free
	   to wrap Add to Cart / Buy Now onto separate lines when a row doesn't
	   have room for both side by side. Forcing the whole cell to nowrap (as
	   before) made the table's minimum width depend on how many buttons a
	   given page's rows happened to need at once, which could force a
	   horizontal scrollbar on pages with more two-button rows than others. */
	white-space: normal;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody td button,
.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody td .bya-add-to-cart,
.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody td .bya-buy-again {
	/* No `white-space: nowrap` here on purpose: the Action column's own
	   width is a percentage share of the table (see myaccount-buy-again.php),
	   so at a narrow enough container — or a longer admin-configured button
	   label — a nowrap label would rather overflow past the button/column
	   edge into the next column than wrap. `min-width` keeps the button from
	   collapsing into a cramped little circle if its label does wrap onto a
	   second line. */
	display: inline-block;
	max-width: 100%;
	min-width: 56px;
	text-align: center;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	padding: 8px 16px;
	box-shadow: none;
	transition: transform 0.12s ease, box-shadow 0.12s ease, opacity 0.12s ease;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody td button:hover,
.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody td .bya-add-to-cart:hover,
.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody td .bya-buy-again:hover {
	transform: translateY(-1px);
	box-shadow: 0 4px 10px rgba(16, 24, 40, 0.16);
	opacity: 0.95;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody td .bya-add-to-cart {
	background: #0D7493;
	color: #ffffff;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody td .bya-buy-again {
	background: #470646;
	color: #ffffff;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody td .bya-favourite-btn {
	/* The base .bya-favourite-btn rule (above) sets these with !important,
	   which otherwise wins over selector specificity — so the New Display
	   overrides must also use !important to actually take effect. */
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 34px !important;
	height: 34px !important;
	min-width: 34px !important;
	min-height: 34px !important;
	border-radius: 50% !important;
	border: 1px solid #e5e7eb !important;
	background: #fff !important;
	background-color: #fff !important;
	color: #98a2b3 !important;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody td .bya-favourite-btn .bya-star-icon {
	width: 16px;
	height: 16px;
	fill: currentColor;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody td .bya-favourite-btn:hover,
.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody td .bya-favourite-btn:focus {
	border-color: #f5b849 !important;
	color: #f5b849 !important;
	background: #fff !important;
	transform: scale( 1.06 );
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody td .bya-favourite-btn.bya-is-favourite {
	background: #fff8e6 !important;
	border-color: #f5b849 !important;
	color: #f5b849 !important;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new .bya-no-results-row {
	background: transparent;
	box-shadow: none;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new .bya-no-results-row td.bya-no-results-cell {
	background: #ffffff;
	border-radius: 12px;
	box-shadow: 0 1px 3px rgba(16, 24, 40, 0.06);
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tfoot tr td {
	background: transparent;
	border: 0;
	padding-top: 16px;
}

/* Pagination — New Display swaps Classic Display's plain WooCommerce
   pagination look for pill-shaped, navy-accented controls that match the
   rest of the New Display's palette (table header, selected row, buttons). */
.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new .bya-pagination .page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new .bya-pagination .page-numbers.bya_pagination {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 32px;
	height: 32px;
	padding: 0 6px;
	border-radius: 999px;
	background: #eaeff8;
	color: var(--bya-new-accent);
	font-weight: 700;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new .bya-pagination .page-numbers.bya_pagination:hover {
	background: var(--bya-new-accent);
	color: #ffffff;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new .bya-pagination .page-numbers.bya_pagination.bya_readonly {
	background: #f2f4f7;
	color: #98a2b3;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new .bya-pagination .bya-current-page {
	border: 1px solid #d7dde6;
	border-radius: 6px;
	color: var(--bya-new-accent);
	font-weight: 700;
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new .bya-pagination .bya-current-page:focus {
	outline: none;
	border-color: var(--bya-new-accent);
	box-shadow: 0 0 0 3px rgba(13, 57, 147, 0.15);
}

.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new .bya-pagination .bya-paging-text {
	color: #667085;
	font-size: 13px;
}

/* Mobile card layout — New Display only. Classic Display keeps its
   existing label/value stacked rows (defined above) unchanged. */
@media screen and (max-width: 1024px) {
	.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody tr {
		display: flex;
		flex-direction: column;
		border: 1px solid #eef0f3;
		margin-bottom: 12px;
	}

	.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody tr:last-child {
		margin-bottom: 0;
	}

	.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tr td::before {
		content: attr(data-title) "";
		float: none;
		font-weight: 600;
		color: #98a2b3;
		font-size: 11px;
		letter-spacing: 0.03em;
		text-transform: uppercase;
		display: block;
		margin-bottom: 4px;
	}

	.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tr td {
		display: block;
		width: 100%;
		text-align: left !important;
		border-bottom: 1px solid #f2f4f7;
		border-radius: 0 !important;
	}

	.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tr td:last-child {
		border-bottom: 0;
	}

	.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody td img.bya_product_img {
		width: 56px;
		height: 56px;
	}

	.bya_product_table_container .bya_buy_again_product_table.bya-table-style-new tbody td button {
		float: none;
		margin-right: 8px;
	}
}

