/**
 * All of the CSS for your public-facing functionality should be
 * included in this file.
 */
p.wccs-bulk-pricing-table-title {
	margin-bottom: 2px !important;
	margin-top: 5px !important;
}
.wccs-live-price-container {
	font-size: 1.41575em;
	padding: 1em 0;
}
.wccs-live-price-container .wccs-live-price-qty-container {
	display: table !important;
	margin-bottom: 5px !important;
	border-bottom: 1px solid #aaa !important;
}
.wccs-live-price-container .wccs-live-price-qty-container .wccs-live-price-qty {
	display: table-row !important;
}
.wccs-live-price-container
	.wccs-live-price-qty-container
	.wccs-live-price-qty-price {
	display: table-cell !important;
}
.wccs-live-price-container
	.wccs-live-price-qty-container
	.wccs-live-price-qty-quantity {
	padding-left: 0.5em !important;
}
.wccs-live-price-container .wccs-live-price-qty-total {
	text-align: left !important;
}
/* ── Outer wrapper for shadow padding ────────────────────────── */
:root {
	--asnp-wccs-theme-color: #6c7ae0;
	--asnp-wccs-theme-bg: #f8f6ff;
	--asnp-wccs-theme-text: #6c7ae0;
	--asnp-wccs-theme-border: #c3caf7;
	--asnp-wccs-header-bg: #6c7ae0;
	--asnp-wccs-header-text: #ffffff;
	--asnp-wccs-body-bg: #ffffff;
	--asnp-wccs-body-text: #808080;
	--asnp-wccs-stripe-bg: #f8f6ff;
	--asnp-wccs-scrollbar-thumb: rgba( 0, 0, 0, 0.25 );
	--asnp-wccs-hover-bg: #f1f3ff;
}
.asnp-wccs-table-wrapper-outer {
	padding: 0 20px 0 0 !important;
	box-sizing: border-box !important;
	width: 100% !important;
}

.wccs-bulk-pricing-table-container {
	margin: 1em 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	border-radius: 10px;
	box-shadow: 0 10px 30px 0px rgba( 0, 0, 0, 0.15 ) !important;
	-moz-box-shadow: 0 10px 30px 0px rgba( 0, 0, 0, 0.15 ) !important;
	-webkit-box-shadow: 0 10px 30px 0px rgba( 0, 0, 0, 0.15 ) !important;
	-o-box-shadow: 0 10px 30px 0px rgba( 0, 0, 0, 0.15 ) !important;
	-ms-box-shadow: 0 10px 30px 0px rgba( 0, 0, 0, 0.15 ) !important;
	box-sizing: border-box;
	background: var( --asnp-wccs-body-bg );
	font-family: 'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
		'Helvetica Neue', Arial, sans-serif !important;
	border: none !important;
	overflow: hidden !important;
}

/* ── Custom scrollbars for scroll wrappers ───────────────────── */
.asnp-wccs-vertical-scroll::-webkit-scrollbar {
	width: 8px;
}
.asnp-wccs-horizontal-scroll::-webkit-scrollbar {
	width: 8px;
	height: 8px;
}
.asnp-wccs-vertical-scroll::-webkit-scrollbar-track {
	background: transparent !important;
}
.asnp-wccs-horizontal-scroll::-webkit-scrollbar-track {
	background: transparent !important;
}
.asnp-wccs-vertical-scroll::-webkit-scrollbar-thumb,
.asnp-wccs-horizontal-scroll::-webkit-scrollbar-thumb {
	background-color: var(
		--asnp-wccs-scrollbar-thumb,
		rgba( 0, 0, 0, 0.25 )
	) !important;
	border-radius: 10px !important;
}
.asnp-wccs-vertical-scroll::-webkit-scrollbar-thumb:hover,
.asnp-wccs-horizontal-scroll::-webkit-scrollbar-thumb:hover {
	background-color: var(
		--asnp-wccs-scrollbar-thumb,
		rgba( 0, 0, 0, 0.45 )
	) !important;
}
.asnp-wccs-vertical-scroll {
	scrollbar-width: thin;
	scrollbar-color: var( --asnp-wccs-scrollbar-thumb, rgba( 0, 0, 0, 0.25 ) )
		transparent;
}
.asnp-wccs-horizontal-scroll {
	scrollbar-width: thin;
	scrollbar-color: var( --asnp-wccs-scrollbar-thumb, rgba( 0, 0, 0, 0.25 ) )
		transparent;
}

/* ── Scroll limits & Split Table Layout ───────────────────────── */
.wccs-bulk-pricing-table-container.asnp-wccs-table-container {
	position: relative;
	padding-top: 56px; /* Space for the absolute header row */
	overflow: hidden;
}
.wccs-bulk-pricing-table-container .asnp-wccs-table-head {
	position: absolute;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 10;
}
.wccs-bulk-pricing-table-container .asnp-wccs-table-body {
	max-height: 380px;
	overflow-y: auto;
	overflow-x: hidden;
	background: var( --asnp-wccs-body-bg );
}
.asnp-wccs-horizontal-scroll {
	overflow-x: auto;
	overflow-y: hidden;
}

/* ── Table base ─────────────────────────────────────────────── */
.wccs-bulk-pricing-table-container table,
.wccs-bulk-pricing-table-container table thead,
.wccs-bulk-pricing-table-container table tbody,
.wccs-bulk-pricing-table-container table tr,
.wccs-bulk-pricing-table-container table th,
.wccs-bulk-pricing-table-container table td {
	border: none !important;
}
.wccs-bulk-pricing-table-container table {
	border-spacing: 0;
	width: 100%;
	border-collapse: separate;
	margin: 0 !important;
}
.wccs-vertical-table {
	table-layout: fixed !important;
}
.asnp-wccs-table-head table {
	table-layout: fixed !important;
}
.wccs-horizontal-table {
	table-layout: auto !important;
}
.wccs-bulk-pricing-table-container table tbody {
	display: table-row-group !important;
	vertical-align: middle;
}
.wccs-bulk-pricing-table-container table tr {
	display: table-row !important;
	vertical-align: inherit;
}

/* ── First Column Padding (Colorlib column1 style) ──────────── */
.wccs-vertical-table td:first-child,
.wccs-vertical-table th:first-child,
.asnp-wccs-table-head table th:first-child {
	padding-left: 20px !important;
}
.wccs-vertical-table td.asnp-wccs-column-select,
.wccs-vertical-table th.asnp-wccs-column-select,
.asnp-wccs-table-head table th.asnp-wccs-column-select {
	padding-left: 10px !important;
	padding-right: 10px !important;
	text-align: center !important;
}
.wccs-horizontal-table td:first-child,
.wccs-horizontal-table th:first-child {
	padding-left: 15px !important;
}

/* ── Header cells (Colorlib ver1 style) ──────────────────────── */
.wccs-bulk-pricing-table-container table th {
	padding: 18px 20px !important;
	text-align: center !important;
	vertical-align: middle;
	font-weight: 700;
	font-size: 15px;
	line-height: 1.4;
	text-transform: uppercase;
	white-space: nowrap;
	color: var( --asnp-wccs-header-text ) !important;
	background-color: var( --asnp-wccs-header-bg ) !important;
	border: none !important;
	transition: background-color 0.2s;
}

/* ── Sticky header for vertical table ──────────────────────── */
.wccs-vertical-table thead th {
	position: sticky;
	top: 0;
	z-index: 10;
}

/* ── Body cells ─────────────────────────────────────────────── */
.wccs-bulk-pricing-table-container table td {
	padding: 16px 20px !important;
	text-align: center !important;
	vertical-align: middle;
	color: var( --asnp-wccs-body-text ) !important;
	font-size: 14px;
	line-height: 1.4;
	white-space: nowrap;
	border: none !important;
	transition: background-color 0.18s ease, color 0.18s ease;
}

/* ── Striped rows (vertical) ─────────────────────────────────── */
.wccs-vertical-table tbody tr:nth-child( even ) td {
	background-color: var( --asnp-wccs-stripe-bg ) !important;
}
.wccs-vertical-table tbody tr:nth-child( odd ) td {
	background-color: var( --asnp-wccs-body-bg ) !important;
}

/* ── Split Layout for Horizontal Table ───────────────────────── */
.wccs-bulk-pricing-table-container.asnp-wccs-horizontal-split-container {
	display: flex;
	flex-direction: row !important;
	overflow: hidden !important;
}
.asnp-wccs-table-left {
	flex-shrink: 0 !important;
	width: 110px !important;
	z-index: 5 !important;
	background-color: var( --asnp-wccs-header-bg ) !important;
	border-right: none !important;
}
.asnp-wccs-table-right {
	flex-grow: 1 !important;
	min-width: 0 !important;
	overflow-x: auto !important;
}
.wccs-bulk-pricing-table-container table {
	box-shadow: none !important;
	-webkit-box-shadow: none !important;
	-moz-box-shadow: none !important;
}
.asnp-wccs-table-left table th,
.asnp-wccs-table-right table td {
	height: 54px !important;
	line-height: 1.4 !important;
	vertical-align: middle !important;
	box-sizing: border-box !important;
	text-align: center !important;
}
.asnp-wccs-table-left table th {
	padding: 16px 12px !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	text-transform: uppercase !important;
	white-space: nowrap !important;
}
.asnp-wccs-table-right table td {
	padding: 16px 20px !important;
}

/* ── Striped rows (horizontal data columns) ──────────────────── */
.wccs-horizontal-table tbody tr:nth-child( even ) td {
	background-color: var( --asnp-wccs-stripe-bg ) !important;
}
.wccs-horizontal-table tbody tr:nth-child( odd ) td {
	background-color: var( --asnp-wccs-body-bg ) !important;
}

/* ── Hover on vertical rows ──────────────────────────────────── */
.wccs-vertical-table tbody tr:hover td:not( .wccs-active-tier ) {
	background-color: var(
		--asnp-wccs-hover-bg,
		rgba( 108, 122, 224, 0.08 )
	) !important;
	cursor: pointer;
}

/* ── Hover on horizontal data cells ─────────────────────────── */
.wccs-horizontal-table tbody tr:hover td:not( .wccs-active-tier ) {
	background-color: var(
		--asnp-wccs-hover-bg,
		rgba( 108, 122, 224, 0.08 )
	) !important;
	cursor: pointer;
}
.wccs-vertical-table tbody tr:hover td .wccs-tier-radio:not( :checked ) {
	border-color: var( --asnp-wccs-theme-color ) !important;
}
.wccs-bulk-pricing-table-container .wccs-tier-radio:hover {
	border-color: var( --asnp-wccs-theme-color ) !important;
}

/* ── Active Highlight Styling ───────────────────────────────── */
.wccs-bulk-pricing-table .wccs-active-tier,
.wccs-vertical-table tr.wccs-active-tier td,
.wccs-horizontal-table td.wccs-active-tier,
.wccs-horizontal-table th.wccs-active-tier {
	background-color: var( --asnp-wccs-theme-bg ) !important;
	color: var( --asnp-wccs-theme-text ) !important;
	font-weight: 700 !important;
}

/* ── Active Tier Borders — Vertical ─────────────────────────── */
.wccs-vertical-table tr.wccs-active-tier td {
	border-top: none !important;
	border-bottom: none !important;
	box-shadow: inset 0 1px 0 0 var( --asnp-wccs-theme-border ),
		inset 0 -1px 0 0 var( --asnp-wccs-theme-border ) !important;
}
.wccs-vertical-table tr.wccs-active-tier td:first-child,
.wccs-bulk-pricing-table-container:not( .wccs-tier-selection-enabled )
	.wccs-vertical-table
	tr.wccs-active-tier
	td.asnp-wccs-column1 {
	box-shadow: inset 4px 0 0 0 var( --asnp-wccs-theme-color ),
		inset 0 1px 0 0 var( --asnp-wccs-theme-border ),
		inset 0 -1px 0 0 var( --asnp-wccs-theme-border ) !important;
}
.wccs-bulk-pricing-table-container:has( .wccs-vertical-table
		tr:first-child.wccs-active-tier )
	.asnp-wccs-table-head
	table
	th {
	border-bottom: 1px solid var( --asnp-wccs-theme-border ) !important;
}
.wccs-vertical-table tr.wccs-active-tier:last-child td {
	box-shadow: inset 0 1px 0 0 var( --asnp-wccs-theme-border ) !important;
}
.wccs-vertical-table tr.wccs-active-tier:last-child td:first-child,
.wccs-bulk-pricing-table-container:not( .wccs-tier-selection-enabled )
	.wccs-vertical-table
	tr.wccs-active-tier:last-child
	td.asnp-wccs-column1 {
	box-shadow: inset 4px 0 0 0 var( --asnp-wccs-theme-color ),
		inset 0 1px 0 0 var( --asnp-wccs-theme-border ) !important;
}

/* ── Active Tier Borders — Horizontal ──────────────────────── */
.wccs-horizontal-table tr:first-child td.wccs-active-tier {
	border-top: 4px solid var( --asnp-wccs-theme-color ) !important;
}
.wccs-horizontal-table th.wccs-active-tier {
	border-top: 4px solid var( --asnp-wccs-theme-color ) !important;
	border-left: 1px solid var( --asnp-wccs-theme-border ) !important;
	border-right: 1px solid var( --asnp-wccs-theme-border ) !important;
}
.wccs-horizontal-table td.wccs-active-tier {
	border-left: 1px solid var( --asnp-wccs-theme-border ) !important;
	border-right: 1px solid var( --asnp-wccs-theme-border ) !important;
}
.wccs-horizontal-table tr:last-child td.wccs-active-tier {
	border-bottom: 2px solid var( --asnp-wccs-theme-border ) !important;
}
.wccs-horizontal-table td.wccs-active-tier:last-child,
.wccs-horizontal-table th.wccs-active-tier:last-child {
	border-right: none !important;
}

/* ── Last row: no border ─────────────────────────────────────── */
.wccs-bulk-pricing-table-container table tr:last-child td {
	border-bottom: none !important;
}
.wccs_prices {
	display: inline-block;
}
.wccs_prices_price {
	clear: both;
}
.wccs_prices_price_container {
	float: left;
}
.wccs_prices_quantity_container {
	float: right;
	padding-left: 1em;
}
div.wccs-purchase-message {
	padding: 1em 1.618em;
	margin-bottom: 2.617924em;
	background-color: #0f834d;
	margin-left: 0;
	border-radius: 2px;
	color: #fff;
	clear: both;
	border-left: 0.6180469716em solid rgba( 0, 0, 0, 0.15 );
}
.wccs-countdown-timer-container {
	margin: 1em 0;
}
.wccs-countdown-timer-title {
	font-size: 20px;
	color: #000000;
}

/* 1. Turn the Cart and Checkout summary blocks into flex layouts */
.wp-block-woocommerce-cart-order-summary-block,
.wc-block-components-checkout-order-summary__content {
	display: flex !important;
	flex-direction: column !important;
}

/* 2. Unwrap slot containers so children become independent flex items */
.slot-wrapper,
.wc-block-components-order-meta {
	display: contents !important;
}

/* 3. Global structural layout for you-saved row only */
.asnp-ewd-you-saved-row {
	order: 5 !important; /* Positions it right above the grand total */
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	width: 100% !important;
	box-sizing: border-box !important;
	padding-top: 12px !important;
	padding-bottom: 12px !important;
}

/* 4. Match Cart Padding (Always 0, as per WooCommerce Cart CSS) */
.wc-block-cart .asnp-ewd-you-saved-row {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* 5. Match Checkout Padding (Responsive, as per WooCommerce Sidebar CSS) */
.wc-block-checkout__sidebar .asnp-ewd-you-saved-row {
	padding-left: 0 !important;
	padding-right: 0 !important;
}
@container (min-width: 700px) {
	.wc-block-checkout__sidebar .asnp-ewd-you-saved-row {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
}

/* 6. Enforce Grand/Estimated Total layout block priority position */
.wp-block-woocommerce-cart-order-summary-block
	> .wc-block-components-totals-wrapper:has( .wc-block-components-totals-footer-item ),
.wc-block-components-checkout-order-summary__content
	> .wc-block-components-totals-wrapper:has( .wc-block-components-totals-footer-item ) {
	order: 10 !important;
}

/* 7. ISOLATION: Safe-fallback to push any OTHER third-party plugin items to the very bottom */
.wc-block-components-order-meta > *:not( .asnp-ewd-you-saved-row ) {
	order: 15 !important;
}

/* ── Custom Tier Selection Radio Styling ───────────────────── */
.wccs-bulk-pricing-table-container input[type='radio'].wccs-tier-radio {
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	width: 18px !important;
	height: 18px !important;
	border: 2px solid var( --asnp-wccs-body-text ) !important;
	border-radius: 50% !important;
	outline: none !important;
	cursor: pointer !important;
	position: relative !important;
	display: inline-block !important;
	vertical-align: middle !important;
	margin: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	background-image: none !important;
	transition: border-color 0.2s, background-color 0.2s !important;
}
.wccs-bulk-pricing-table-container input[type='radio'].wccs-tier-radio::before {
	display: none !important;
	content: none !important;
}
.wccs-bulk-pricing-table-container input[type='radio'].wccs-tier-radio:checked {
	border-color: var( --asnp-wccs-theme-color ) !important;
	background: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
}
.wccs-bulk-pricing-table-container input[type='radio'].wccs-tier-radio::after {
	content: '' !important;
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	transform: translate( -50%, -50% ) scale( 0 ) !important;
	width: 8px !important;
	height: 8px !important;
	border-radius: 50% !important;
	background-color: var( --asnp-wccs-theme-color ) !important;
	transition: transform 0.2s !important;
	box-shadow: none !important;
	background-image: none !important;
}
.wccs-bulk-pricing-table-container
	input[type='radio'].wccs-tier-radio:checked::after {
	transform: translate( -50%, -50% ) scale( 1 ) !important;
	background-color: var( --asnp-wccs-theme-color ) !important;
	background: var( --asnp-wccs-theme-color ) !important;
}

/* Allow entire row/column click selection */
.wccs-vertical-table tbody tr {
	cursor: pointer;
}
.wccs-horizontal-table td {
	cursor: pointer;
}

/* ── Live Preview Styles for Tier Selection Column/Row ─────── */
.asnp-wccs-preview-sticky-card .asnp-wccs-column-select,
.asnp-wccs-preview-sticky-card .wccs-row-select {
	display: none;
}
.asnp-wccs-preview-sticky-card
	.wccs-bulk-pricing-table-container.wccs-tier-selection-enabled
	.asnp-wccs-column-select {
	display: table-cell !important;
}
.asnp-wccs-preview-sticky-card
	.wccs-bulk-pricing-table-container.wccs-tier-selection-enabled
	.wccs-row-select {
	display: table-row !important;
}

/* Adjust cell widths dynamically on the preview vertical table when selection is enabled */
.asnp-wccs-preview-sticky-card
	.wccs-bulk-pricing-table-container:not( .wccs-tier-selection-enabled )
	td.asnp-wccs-column-select,
.asnp-wccs-preview-sticky-card
	.wccs-bulk-pricing-table-container:not( .wccs-tier-selection-enabled )
	th.asnp-wccs-column-select {
	display: none !important;
}
.asnp-wccs-preview-sticky-card
	.wccs-bulk-pricing-table-container:not( .wccs-tier-selection-enabled )
	td:not( .asnp-wccs-column-select ),
.asnp-wccs-preview-sticky-card
	.wccs-bulk-pricing-table-container:not( .wccs-tier-selection-enabled )
	th:not( .asnp-wccs-column-select ) {
	width: 33.33% !important;
}
.asnp-wccs-preview-sticky-card
	.wccs-bulk-pricing-table-container.wccs-tier-selection-enabled
	td.asnp-wccs-column-select,
.asnp-wccs-preview-sticky-card
	.wccs-bulk-pricing-table-container.wccs-tier-selection-enabled
	th.asnp-wccs-column-select {
	width: 10% !important;
	text-align: center !important;
}
.asnp-wccs-preview-sticky-card
	.wccs-bulk-pricing-table-container.wccs-tier-selection-enabled
	td.asnp-wccs-column1,
.asnp-wccs-preview-sticky-card
	.wccs-bulk-pricing-table-container.wccs-tier-selection-enabled
	th.asnp-wccs-column1 {
	width: 26% !important;
}
.asnp-wccs-preview-sticky-card
	.wccs-bulk-pricing-table-container.wccs-tier-selection-enabled
	td.asnp-wccs-column2,
.asnp-wccs-preview-sticky-card
	.wccs-bulk-pricing-table-container.wccs-tier-selection-enabled
	th.asnp-wccs-column2 {
	width: 24% !important;
}
.asnp-wccs-preview-sticky-card
	.wccs-bulk-pricing-table-container.wccs-tier-selection-enabled
	td.asnp-wccs-column3,
.asnp-wccs-preview-sticky-card
	.wccs-bulk-pricing-table-container.wccs-tier-selection-enabled
	th.asnp-wccs-column3 {
	width: 40% !important;
}
