/**
 * Wooforlab Frontend Styles
 *
 * @package Wooforlab
 */

/* ===========================
   Bank Logos Grid
   =========================== */
.wooforlab-bank-logos-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 16px 0;
	padding: 16px;
	background: #f8fafc;
	border-radius: 10px;
}

.wooforlab-bank-logos-grid--large {
	gap: 16px;
	padding: 20px;
}

.wooforlab-bank-logo-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 10px 16px;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	min-width: 80px;
	transition: all 0.2s ease;
}

.wooforlab-bank-logo-item:hover {
	border-color: #818cf8;
	box-shadow: 0 2px 8px rgba(99, 102, 241, 0.1);
	transform: translateY(-2px);
}

.wooforlab-bank-logo-item img {
	max-height: 36px;
	max-width: 100px;
	object-fit: contain;
}

.wooforlab-bank-logos-grid--large .wooforlab-bank-logo-item img {
	max-height: 48px;
	max-width: 120px;
}

.wooforlab-bank-logo-item span {
	font-size: 11px;
	font-weight: 600;
	color: #475569;
	text-align: center;
}

/* ===========================
   BACS Icons (inline in payment label)
   =========================== */
.wooforlab-bacs-icons {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.wooforlab-bacs-icon {
	max-height: 24px;
	vertical-align: middle;
}

/* ===========================
   Bank Logos on Thank You
   =========================== */
.wooforlab-bank-logos-thankyou {
	margin: 24px 0;
	padding: 0;
}

.wooforlab-bank-logos-thankyou h3 {
	font-size: 16px;
	font-weight: 700;
	color: #1e293b;
	margin-bottom: 12px;
}

/* ===========================
   QRIS Container
   =========================== */
.wooforlab-qris-container {
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	padding: 28px;
	margin: 24px 0;
	max-width: 480px;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}

.wooforlab-qris-image-wrap {
	text-align: center;
	margin-bottom: 20px;
}

.wooforlab-qris-image-wrap h3 {
	font-size: 18px;
	font-weight: 700;
	color: #1e293b;
	margin-bottom: 16px;
}

.wooforlab-qris-image {
	display: inline-block;
	background: #fff;
	border: 3px solid #e2e8f0;
	border-radius: 12px;
	padding: 12px;
	margin-bottom: 16px;
}

.wooforlab-qris-image img {
	max-width: 280px;
	width: 100%;
	height: auto;
	display: block;
}

/* ===========================
   QRIS Details
   =========================== */
.wooforlab-qris-details {
	margin-bottom: 20px;
}

.wooforlab-qris-details p {
	margin: 6px 0;
	font-size: 14px;
	color: #334155;
}

.wooforlab-qris-total {
	font-size: 16px !important;
	margin-top: 12px !important;
	padding: 12px 16px;
	background: linear-gradient(135deg, #eef2ff, #e0e7ff);
	border-radius: 10px;
}

.wooforlab-amount {
	color: #4338ca;
	font-weight: 700;
	font-size: 20px;
}

.wooforlab-qris-instructions {
	margin-top: 16px;
	padding: 14px 16px;
	background: #fefce8;
	border: 1px solid #fde68a;
	border-radius: 8px;
	font-size: 13px;
	color: #713f12;
	line-height: 1.6;
}

/* ===========================
   Buttons
   =========================== */
.wooforlab-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 12px 24px;
	border-radius: 10px;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: all 0.2s ease;
	border: none;
	text-align: center;
	justify-content: center;
}

.wooforlab-btn--download {
	background: linear-gradient(135deg, #6366f1, #8b5cf6);
	color: #fff;
	width: 100%;
	margin-top: 8px;
}

.wooforlab-btn--download:hover {
	color: #fff;
	box-shadow: 0 4px 16px rgba(99, 102, 241, 0.4);
	transform: translateY(-2px);
}

.wooforlab-btn--whatsapp {
	background: linear-gradient(135deg, #25D366, #128C7E);
	color: #fff;
	width: 100%;
	font-size: 16px;
	padding: 14px 24px;
}

.wooforlab-btn--whatsapp:hover {
	color: #fff;
	box-shadow: 0 4px 16px rgba(37, 211, 102, 0.4);
	transform: translateY(-2px);
}

/* ===========================
   QRIS WhatsApp Section
   =========================== */
.wooforlab-qris-wa {
	margin-top: 20px;
	text-align: center;
}

/* ===========================
   Subscription Badge
   =========================== */
.wooforlab-sub-badge {
	display: inline-block;
	font-size: 12px;
	font-weight: 600;
	color: #6366f1;
	background: #eef2ff;
	padding: 2px 8px;
	border-radius: 4px;
	margin-left: 4px;
}

/* ===========================
   Subscription Info in Variation
   =========================== */
.wooforlab-sub-info {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-top: 6px;
	font-size: 13px;
	color: #6366f1;
	font-weight: 500;
}

/* ===========================
   Simplified Checkout Form
   =========================== */
.woocommerce-checkout .wooforlab-simplified .form-row {
	margin-bottom: 16px;
}

.woocommerce-checkout .wooforlab-simplified input[type="text"],
.woocommerce-checkout .wooforlab-simplified input[type="email"],
.woocommerce-checkout .wooforlab-simplified input[type="tel"] {
	padding: 12px 16px;
	border: 2px solid #e2e8f0;
	border-radius: 10px;
	font-size: 15px;
	transition: border-color 0.2s;
}

.woocommerce-checkout .wooforlab-simplified input:focus {
	border-color: #6366f1;
	box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1);
	outline: none;
}

/* ===========================
   Responsive
   =========================== */
@media (max-width: 600px) {
	.wooforlab-qris-container {
		padding: 20px;
		border-radius: 12px;
	}

	.wooforlab-qris-image img {
		max-width: 220px;
	}

	.wooforlab-bank-logos-grid {
		gap: 8px;
		padding: 12px;
	}

	.wooforlab-bank-logo-item {
		min-width: 60px;
		padding: 8px 10px;
	}
}

/* ===========================
   Tiered Subscription Frontend UI
   =========================== */
.wooforlab-tiered-sub-wrap {
	margin: 20px 0 24px;
	padding: 18px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
}

.wooforlab-tiered-header {
	margin-bottom: 12px;
}

.wooforlab-tiered-title {
	font-size: 14px;
	font-weight: 700;
	color: #1e293b;
	display: flex;
	align-items: center;
	gap: 6px;
}

.wooforlab-tiered-cards {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.wooforlab-tier-card {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 16px;
	background: #ffffff;
	border: 2px solid #e2e8f0;
	border-radius: 12px;
	cursor: pointer;
	transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1);
	position: relative;
	user-select: none;
}

.wooforlab-tier-card:hover {
	border-color: #a5b4fc;
	background: #fdfdff;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(99, 102, 241, 0.08);
}

.wooforlab-tier-card.is-active {
	border-color: #6366f1;
	background: #f5f6ff;
	box-shadow: 0 0 0 1px #6366f1, 0 4px 14px rgba(99, 102, 241, 0.12);
}

/* Custom Radio Dot */
.wooforlab-tier-radio {
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	border: 2px solid #cbd5e1;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	transition: all 0.2s ease;
}

.wooforlab-tier-card.is-active .wooforlab-tier-radio {
	border-color: #6366f1;
	background: #fff;
}

.wooforlab-radio-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: transparent;
	transition: all 0.2s ease;
}

.wooforlab-tier-card.is-active .wooforlab-radio-dot {
	background: #6366f1;
}

/* Content */
.wooforlab-tier-content {
	flex: 1;
	min-width: 0;
}

.wooforlab-tier-top-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 4px;
}

.wooforlab-tier-name {
	font-size: 14px;
	font-weight: 700;
	color: #0f172a;
}

.wooforlab-tier-badge {
	font-size: 11px;
	font-weight: 700;
	padding: 2px 8px;
	border-radius: 20px;
	background: linear-gradient(135deg, #4f46e5, #7c3aed);
	color: #fff;
	letter-spacing: 0.02em;
	display: inline-block;
	white-space: nowrap;
}

.wooforlab-tier-badge--save {
	background: linear-gradient(135deg, #16a34a, #059669);
}

.wooforlab-tier-price-row {
	display: flex;
	align-items: baseline;
	gap: 6px;
	flex-wrap: wrap;
}

.wooforlab-tier-promo-val {
	font-size: 17px;
	font-weight: 800;
	color: #0f172a;
}

.wooforlab-tier-card.is-active .wooforlab-tier-promo-val {
	color: #4338ca;
}

.wooforlab-tier-reg-val {
	font-size: 13px;
	color: #94a3b8;
	text-decoration: line-through;
}

.wooforlab-tier-cycle {
	font-size: 13px;
	font-weight: 500;
	color: #64748b;
}

.wooforlab-tier-subtext {
	font-size: 12px;
	font-weight: 600;
	color: #059669;
	margin-top: 3px;
}

.wooforlab-price-from {
	font-size: 0.85em;
	font-weight: 600;
	color: #64748b;
	margin-right: 4px;
}

/* ===========================
   Multi Variant Component
   =========================== */
.wooforlab-multivariant-wrap {
	margin: 20px 0 24px;
	padding: 18px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
}

.wooforlab-variant-header {
	margin-bottom: 12px;
}

.wooforlab-variant-title {
	font-size: 14px;
	font-weight: 700;
	color: #1e293b;
	display: flex;
	align-items: center;
	gap: 8px;
}

.wooforlab-variant-cards {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.wooforlab-variant-card {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 16px;
	background: #ffffff;
	border: 2px solid #e2e8f0;
	border-radius: 12px;
	cursor: pointer;
	transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1);
	position: relative;
	user-select: none;
}

.wooforlab-variant-card:hover {
	border-color: #a5b4fc;
	background: #fdfdff;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(99, 102, 241, 0.08);
}

.wooforlab-variant-card.is-active {
	border-color: #6366f1;
	background: #f5f6ff;
	box-shadow: 0 0 0 1px #6366f1, 0 4px 14px rgba(99, 102, 241, 0.12);
}

/* Custom Radio Dot */
.wooforlab-variant-radio {
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	border: 2px solid #cbd5e1;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	transition: all 0.2s ease;
}

.wooforlab-variant-card.is-active .wooforlab-variant-radio {
	border-color: #6366f1;
	background: #fff;
}

.wooforlab-variant-radio-dot {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: transparent;
	transition: all 0.2s ease;
}

.wooforlab-variant-card.is-active .wooforlab-variant-radio-dot {
	background: #6366f1;
}

/* Content */
.wooforlab-variant-content {
	flex: 1;
	min-width: 0;
}

.wooforlab-variant-top-row {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.wooforlab-variant-name {
	font-size: 14px;
	font-weight: 700;
	color: #0f172a;
}

.wooforlab-variant-badge {
	font-size: 11px;
	font-weight: 700;
	padding: 2px 8px;
	border-radius: 20px;
	background: linear-gradient(135deg, #4f46e5, #7c3aed);
	color: #fff;
	letter-spacing: 0.02em;
	display: inline-block;
	white-space: nowrap;
}

.wooforlab-variant-badge--save {
	background: linear-gradient(135deg, #16a34a, #059669);
}

.wooforlab-variant-desc {
	font-size: 12px;
	color: #64748b;
	margin-top: 3px;
	line-height: 1.4;
}

/* Price Column */
.wooforlab-variant-price-col {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
	flex-shrink: 0;
	gap: 2px;
}

.wooforlab-variant-promo-val {
	font-size: 16px;
	font-weight: 800;
	color: #0f172a;
}

.wooforlab-variant-card.is-active .wooforlab-variant-promo-val {
	color: #4338ca;
}

.wooforlab-variant-reg-val {
	font-size: 12px;
	color: #94a3b8;
	text-decoration: line-through;
}

/* ===========================
   Modern Price Display Box
   =========================== */
.wooforlab-price-display-box {
	display: flex;
	flex-direction: column;
	gap: 4px;
	width: 100%;
	line-height: normal;
	margin-bottom: 4px;
}

/* Top Row: Struck-through Regular Price & Discount Pill Placed Above Promo */
.wooforlab-price-top-row {
	display: flex;
	align-items: center;
	gap: 8px 10px;
	flex-wrap: wrap;
	line-height: 1;
	margin-bottom: 2px;
}

.wooforlab-price-prefix {
	display: inline-flex;
	align-items: center;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #4f46e5;
	background: #eef2ff;
	padding: 2px 7px;
	border-radius: 6px;
	border: 1px solid #e0e7ff;
	line-height: 1.4;
}

.wooforlab-price-regular {
	font-size: 15px;
	font-weight: 500;
	color: #94a3b8;
	text-decoration: line-through !important;
	text-decoration-line: line-through !important;
	line-height: 1;
	white-space: nowrap;
}

.wooforlab-price-discount-pill {
	display: inline-flex;
	align-items: center;
	padding: 2px 7px;
	font-size: 10.5px;
	font-weight: 700;
	border-radius: 999px;
	background: #fef2f2;
	color: #e11d48;
	border: 1px solid #fecdd3;
	line-height: 1.35;
	white-space: nowrap;
	letter-spacing: 0.02em;
	box-shadow: 0 1px 2px rgba(225, 29, 72, 0.06);
}

/* Main Row: Big Promo Price & Period */
.wooforlab-price-main-row {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 2px 6px;
	line-height: 1;
}

.wooforlab-price-current,
.ef-single-current-price .wooforlab-price-current {
	font-size: 34px;
	font-weight: 800;
	color: #0f172a;
	letter-spacing: -0.025em;
	line-height: 1.1;
	display: inline-flex;
	align-items: baseline;
	text-decoration: none !important;
	text-decoration-line: none !important;
}

.wooforlab-price-current ins,
.wooforlab-price-current .woocommerce-Price-amount {
	text-decoration: none !important;
	text-decoration-line: none !important;
	color: inherit;
}

.wooforlab-price-current .woocommerce-Price-currencySymbol {
	font-size: 0.72em;
	font-weight: 700;
	margin-right: 2px;
}

.wooforlab-price-period {
	font-size: 16px;
	font-weight: 600;
	color: #64748b;
	line-height: 1;
	white-space: nowrap;
	margin-left: 2px;
}

/* Ensure Absolutely NO Underlines in Price Containers */
.ef-single-price-box,
.ef-single-price-box *,
.ef-single-current-price,
.ef-single-current-price *,
.wooforlab-price-display-box,
.wooforlab-price-display-box *,
.price ins,
ins {
	text-decoration: none !important;
	text-decoration-line: none !important;
}

.wooforlab-price-regular,
.ef-single-price-box del,
.ef-single-current-price del,
.wooforlab-tier-reg-val,
del {
	text-decoration: line-through !important;
	text-decoration-line: line-through !important;
}

.ef-single-price-box {
	border-bottom: none !important;
	padding-bottom: 0 !important;
}

/* Card Catalog Price Display (Row 1: Strikethrough + Badge Promo, Row 2: Promo Price) */
.ef-product-card .wooforlab-price-display-box {
	display: flex;
	flex-direction: column;
	gap: 3px;
	width: 100%;
	margin-bottom: 0;
}

.ef-product-card .wooforlab-price-top-row {
	display: flex;
	align-items: center;
	gap: 8px;
	line-height: 1;
	margin-bottom: 2px;
	flex-wrap: wrap;
}

.ef-product-card .wooforlab-price-regular {
	display: inline !important;
	font-size: 12.5px;
	font-weight: 500;
	color: #94a3b8;
	text-decoration: line-through !important;
	text-decoration-line: line-through !important;
	text-decoration-color: #94a3b8 !important;
	text-decoration-thickness: 1.5px !important;
	line-height: 1.2;
	white-space: nowrap;
}

.ef-product-card .wooforlab-price-regular * {
	display: inline !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	color: inherit !important;
	margin: 0 !important;
	padding: 0 !important;
	text-decoration: inherit !important;
	text-decoration-line: inherit !important;
	text-decoration-color: inherit !important;
}


.ef-product-card .wooforlab-price-discount-pill {
	display: inline-flex;
	align-items: center;
	padding: 2px 7px;
	font-size: 10.5px;
	font-weight: 700;
	border-radius: 999px;
	background: #fef2f2;
	color: #e11d48;
	border: 1px solid #fecdd3;
	line-height: 1.35;
	white-space: nowrap;
	letter-spacing: 0.02em;
	box-shadow: 0 1px 2px rgba(225, 29, 72, 0.06);
}

.ef-product-card .wooforlab-price-main-row {
	display: flex;
	align-items: baseline;
	gap: 3px;
	line-height: 1.2;
}

.ef-product-card .wooforlab-price-current {
	font-size: 1.2rem;
	font-weight: 800;
	color: var(--ef-secondary, #0f172a);
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.ef-product-card .wooforlab-price-period {
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--ef-text-muted, #64748b);
	line-height: 1;
}

/* Mobile Responsiveness */
@media (max-width: 640px) {
	.wooforlab-price-current,
	.ef-single-current-price .wooforlab-price-current {
		font-size: 26px;
	}
	.ef-product-card .wooforlab-price-current {
		font-size: 1.08rem !important;
	}
	.wooforlab-price-main-row {
		gap: 2px 4px;
	}
	.wooforlab-price-period {
		font-size: 14px;
	}
	.wooforlab-price-regular {
		font-size: 13px;
	}
	.wooforlab-price-discount-pill {
		font-size: 10px;
		padding: 2px 7px;
	}
}

/* Hide default quantity input and default button inside single product actions */
.ef-single-actions form.cart .quantity,
.ef-single-actions form.cart .single_add_to_cart_button,
.ef-single-actions form.cart > button[type="submit"] {
	display: none !important;
}

.ef-single-actions form.cart {
	margin-bottom: 0 !important;
}

/* =============================================================
   Wooforlab Modern Checkout UI (Lengkapi Data & Metode Pembayaran)
   ============================================================= */

/* Section Headings with Divider Line */
.wooforlab-checkout-section-title {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	color: var(--ef-secondary, #0f172a) !important;
	margin: 0 0 1.25rem 0 !important;
	padding: 0 !important;
	border: none !important;
	line-height: 1.3 !important;
	letter-spacing: -0.01em !important;
}

.wooforlab-checkout-section-title::after {
	content: "" !important;
	flex: 1 !important;
	height: 1.5px !important;
	background: linear-gradient(90deg, #cbd5e1 0%, #e2e8f0 70%, rgba(226, 232, 240, 0.4) 100%) !important;
	border-radius: 2px !important;
}

/* Form Container & Boxes */
.wooforlab-checkout-main-card {
	background: var(--ef-surface, #ffffff);
	border: 1px solid var(--ef-border, #e2e8f0);
	border-radius: var(--ef-radius-lg, 12px);
	padding: 24px 28px;
	box-shadow: var(--ef-shadow-sm, 0 1px 3px rgba(15, 23, 42, 0.05));
}

@media (max-width: 640px) {
	.wooforlab-checkout-main-card {
		padding: 18px 16px;
	}
}

/* Billing Form Rows */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
	display: flex !important;
	flex-direction: column !important;
	gap: 16px !important;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	float: none !important;
	clear: both !important;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row label {
	display: flex !important;
	align-items: center !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: #1e293b !important;
	margin: 0 0 8px 0 !important;
	padding: 0 !important;
	line-height: 1.4 !important;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row label .required {
	color: #ef4444 !important;
	text-decoration: none !important;
	font-weight: 700 !important;
	margin-left: 3px !important;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .woocommerce-input-wrapper {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: normal !important;
}

/* Modern Unified Input Styling */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper input[type="text"],
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper input[type="email"] {
	display: block !important;
	width: 100% !important;
	height: 46px !important;
	min-height: 46px !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	padding: 0 14px !important;
	border: 1.5px solid #cbd5e1 !important;
	border-radius: 9px !important;
	font-size: 14px !important;
	color: #0f172a !important;
	background: #ffffff !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease !important;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
	outline: none !important;
	line-height: normal !important;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper input[type="text"]:hover,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper input[type="email"]:hover {
	border-color: #94a3b8 !important;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper input[type="text"]::placeholder,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper input[type="email"]::placeholder {
	color: #94a3b8 !important;
	opacity: 1 !important;
	font-size: 13.5px !important;
}

.woocommerce-checkout .woocommerce-billing-fields__field-wrapper input[type="text"]:focus,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper input[type="email"]:focus {
	border-color: var(--ef-primary, #4f46e5) !important;
	box-shadow: 0 0 0 3.5px rgba(79, 70, 229, 0.12) !important;
	background: #ffffff !important;
}

/* WhatsApp Phone Input Group with Country Code & Flag */
.wooforlab-wa-input-group {
	display: flex !important;
	align-items: stretch !important;
	width: 100% !important;
	height: 46px !important;
	min-height: 46px !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1.5px solid #cbd5e1 !important;
	border-radius: 9px !important;
	background: #ffffff !important;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease !important;
	overflow: hidden !important;
}

.wooforlab-wa-input-group:hover {
	border-color: #94a3b8 !important;
}

.wooforlab-wa-input-group:focus-within {
	border-color: var(--ef-primary, #4f46e5) !important;
	box-shadow: 0 0 0 3.5px rgba(79, 70, 229, 0.12) !important;
}

.wooforlab-wa-prefix {
	display: inline-flex !important;
	align-items: center !important;
	gap: 7px !important;
	margin: 0 !important;
	padding: 0 12px !important;
	background: #f8fafc !important;
	border-right: 1.5px solid #e2e8f0 !important;
	border-top: none !important;
	border-bottom: none !important;
	border-left: none !important;
	user-select: none !important;
	flex-shrink: 0 !important;
	height: 100% !important;
	box-sizing: border-box !important;
	transition: border-color 0.2s ease, background-color 0.2s ease !important;
}

.wooforlab-wa-input-group:focus-within .wooforlab-wa-prefix {
	border-right-color: rgba(79, 70, 229, 0.2) !important;
	background: #f5f7ff !important;
}

.wooforlab-flag-icon {
	display: block !important;
	width: 20px !important;
	height: 14px !important;
	border-radius: 2px !important;
	overflow: hidden !important;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08) !important;
}

.wooforlab-country-code {
	font-size: 13.5px !important;
	font-weight: 600 !important;
	color: #334155 !important;
	letter-spacing: 0.01em !important;
}

.wooforlab-chevron-down {
	display: block !important;
	width: 8px !important;
	height: 5px !important;
	opacity: 0.6 !important;
}

.wooforlab-wa-input-group input[type="tel"] {
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
	background: transparent !important;
	padding: 0 14px !important;
	font-size: 14px !important;
	color: #0f172a !important;
	flex: 1 !important;
	width: 100% !important;
	min-width: 0 !important;
	height: 100% !important;
	box-sizing: border-box !important;
	line-height: normal !important;
}

.wooforlab-wa-input-group input[type="tel"]::placeholder {
	color: #94a3b8 !important;
	opacity: 1 !important;
	font-size: 13.5px !important;
}

/* Payment Section Styling */
.woocommerce-checkout #payment.wooforlab-checkout-payment-box,
.woocommerce-checkout #payment {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	box-shadow: none !important;
}

.woocommerce-checkout #payment ul.payment_methods {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 1.25rem 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
	border: none !important;
	background: transparent !important;
}

/* Individual Payment Card */
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	background: #ffffff !important;
	border: 1.5px solid #e2e8f0 !important;
	border-radius: 10px !important;
	padding: 14px 18px !important;
	margin: 0 !important;
	cursor: pointer !important;
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
	position: relative !important;
	user-select: none !important;
}

.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:hover {
	border-color: #cbd5e1 !important;
	background: #fbfcfe !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 3px 10px rgba(15, 23, 42, 0.04) !important;
}

/* Active / Selected Card State */
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method.is-selected,
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:has(input[type="radio"]:checked) {
	border-color: var(--ef-primary, #4f46e5) !important;
	background: #f8faff !important;
	box-shadow: 0 0 0 1px var(--ef-primary, #4f46e5), 0 4px 14px rgba(79, 70, 229, 0.08) !important;
}

/* Hide native radio button visually while keeping it fully accessible */
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > input[type="radio"] {
	position: absolute !important;
	opacity: 0 !important;
	width: 0 !important;
	height: 0 !important;
	pointer-events: none !important;
}

/* Payment Label (Card Body) */
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method label.wooforlab-payment-label,
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	cursor: pointer !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	color: #1e293b !important;
	line-height: 1.4 !important;
}

/* Custom Styled Radio Button */
.wooforlab-custom-radio {
	width: 20px !important;
	height: 20px !important;
	border-radius: 50% !important;
	border: 2px solid #cbd5e1 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: #ffffff !important;
	flex-shrink: 0 !important;
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.wooforlab-radio-inner {
	width: 10px !important;
	height: 10px !important;
	border-radius: 50% !important;
	background: transparent !important;
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Radio Checked State */
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method.is-selected .wooforlab-custom-radio,
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:has(input[type="radio"]:checked) .wooforlab-custom-radio {
	border-color: var(--ef-primary, #4f46e5) !important;
	background: #ffffff !important;
}

.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method.is-selected .wooforlab-radio-inner,
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:has(input[type="radio"]:checked) .wooforlab-radio-inner {
	background: var(--ef-primary, #4f46e5) !important;
}

/* Gateway Icon Container */
.wooforlab-payment-icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
	min-width: 32px !important;
	max-height: 28px !important;
}

.wooforlab-payment-icon img,
.wooforlab-payment-icon svg,
.wooforlab-gateway-icon,
.wooforlab-bacs-icon {
	max-height: 26px !important;
	max-width: 68px !important;
	width: auto !important;
	height: auto !important;
	object-fit: contain !important;
	vertical-align: middle !important;
}

/* Gateway Title */
.wooforlab-payment-title {
	font-size: 15px !important;
	font-weight: 600 !important;
	color: #1e293b !important;
	flex: 1 !important;
	letter-spacing: -0.01em !important;
}

.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method.is-selected .wooforlab-payment-title,
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:has(input[type="radio"]:checked) .wooforlab-payment-title {
	color: var(--ef-secondary, #0f172a) !important;
	font-weight: 700 !important;
}

/* Payment Details / Instructions Box (Accordion) */
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method div.payment_box {
	width: 100% !important;
	margin-top: 14px !important;
	padding: 14px 16px !important;
	background: #f8fafc !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 8px !important;
	font-size: 13px !important;
	color: #475569 !important;
	line-height: 1.6 !important;
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.02) !important;
}

.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method div.payment_box::before {
	display: none !important;
}

.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method div.payment_box p {
	margin: 0 0 6px 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method div.payment_box p:last-child {
	margin-bottom: 0 !important;
}

/* Place Order Button */
.woocommerce-checkout #payment div.place-order {
	margin-top: 1.5rem !important;
	padding: 0 !important;
	float: none !important;
}

.woocommerce-checkout #payment button#place_order.ef-btn-place-order,
.woocommerce-checkout #payment button#place_order {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	width: 100% !important;
	padding: 15px 24px !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	background: linear-gradient(135deg, var(--ef-primary, #4f46e5) 0%, #4338ca 100%) !important;
	border: none !important;
	border-radius: 10px !important;
	cursor: pointer !important;
	box-shadow: 0 4px 14px rgba(79, 70, 229, 0.35) !important;
	transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1) !important;
	text-decoration: none !important;
	letter-spacing: 0.01em !important;
}

.woocommerce-checkout #payment button#place_order:hover {
	background: linear-gradient(135deg, #4338ca 0%, #3730a3 100%) !important;
	box-shadow: 0 6px 20px rgba(79, 70, 229, 0.45) !important;
	transform: translateY(-2px) !important;
}

.woocommerce-checkout #payment button#place_order:active {
	transform: translateY(0) !important;
	box-shadow: 0 2px 8px rgba(79, 70, 229, 0.3) !important;
}

/* Terms and Privacy policy notice */
.woocommerce-checkout #payment div.place-order .woocommerce-privacy-policy-text,
.woocommerce-checkout #payment div.place-order .woocommerce-terms-and-conditions-wrapper {
	font-size: 12.5px !important;
	color: #64748b !important;
	line-height: 1.5 !important;
	margin-bottom: 12px !important;
}

.woocommerce-checkout #payment div.place-order .woocommerce-privacy-policy-text a,
.woocommerce-checkout #payment div.place-order .woocommerce-terms-and-conditions-wrapper a {
	color: var(--ef-primary, #4f46e5) !important;
	text-decoration: underline !important;
}

/* ==========================================================================
   Wooforlab Bank Sub-Gateways (Split Bank Transfer)
   ========================================================================== */

.wooforlab-bank-payment-box {
	margin-top: 2px;
}

.wooforlab-bank-box-desc {
	margin: 0 0 10px 0 !important;
	font-size: 13px !important;
	color: #475569 !important;
}

.wooforlab-bank-acc-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	padding: 12px 14px;
	margin-bottom: 10px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.03);
}

.wooforlab-bank-acc-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 6px 0;
	border-bottom: 1px dashed #e2e8f0;
	font-size: 13px;
}

.wooforlab-bank-acc-row:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.wooforlab-bank-acc-row:first-child {
	padding-top: 0;
}

.wooforlab-bank-acc-label {
	color: #64748b;
	font-weight: 500;
}

.wooforlab-bank-acc-val {
	color: #1e293b;
	font-weight: 600;
}

.wooforlab-account-number-box {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.wooforlab-account-number {
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: 14.5px;
	font-weight: 700;
	color: #0f172a;
	letter-spacing: 0.5px;
	user-select: all;
}

.wooforlab-copy-btn {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 3px 9px;
	font-size: 11.5px;
	font-weight: 600;
	color: var(--ef-primary, #4f46e5);
	background: #eef2ff;
	border: 1px solid rgba(79, 70, 229, 0.2);
	border-radius: 6px;
	cursor: pointer;
	transition: all 0.18s ease;
	line-height: 1.4;
}

.wooforlab-copy-btn:hover {
	background: var(--ef-primary, #4f46e5);
	color: #ffffff;
	border-color: var(--ef-primary, #4f46e5);
}

.wooforlab-copy-btn.copied {
	background: #ecfdf5 !important;
	color: #059669 !important;
	border-color: #a7f3d0 !important;
}

.wooforlab-bank-box-note {
	margin: 0 !important;
	color: #64748b !important;
	font-size: 12px !important;
}

/* ==========================================================================
   Wooforlab Simple & Compact Thank You / Order Received Page
   ========================================================================== */

.wooforlab-thankyou-wrapper {
	max-width: 580px;
	margin: 0 auto 3rem auto;
	padding: 0 1rem;
	font-family: inherit;
	color: #334155;
}

/* Single Receipt Card */
.wooforlab-ty-receipt-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 16px;
	padding: 30px 26px;
	box-shadow: 0 4px 20px rgba(15, 23, 42, 0.04);
}

/* Header */
.wooforlab-ty-receipt-header {
	text-align: center;
	padding-bottom: 20px;
	border-bottom: 1px dashed #e2e8f0;
	margin-bottom: 20px;
}

.wooforlab-ty-status-icon {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	font-weight: 700;
	margin: 0 auto 14px auto;
}

.wooforlab-ty-status-icon--success,
.wooforlab-ty-status-icon--pending {
	background: #ecfdf5;
	color: #059669;
	border: 2px solid #a7f3d0;
}

.wooforlab-ty-status-icon--failed {
	background: #fef2f2;
	color: #dc2626;
	border: 2px solid #fecaca;
}

.wooforlab-ty-main-title {
	font-size: 20px !important;
	font-weight: 800 !important;
	color: #0f172a !important;
	margin: 0 0 6px 0 !important;
	letter-spacing: -0.01em !important;
}

.wooforlab-ty-main-desc {
	font-size: 13.5px !important;
	color: #64748b !important;
	margin: 0 !important;
	line-height: 1.5 !important;
}

.wooforlab-ty-main-desc strong {
	color: #1e293b;
}

/* Payment Box */
.wooforlab-ty-pay-box {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 18px 20px;
	margin-bottom: 22px;
}

.wooforlab-ty-pay-amount-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 14px;
	margin-bottom: 14px;
	border-bottom: 1px solid #e2e8f0;
}

.wooforlab-ty-pay-amount-label {
	font-size: 12px;
	font-weight: 600;
	color: #64748b;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	display: block;
	margin-bottom: 2px;
}

.wooforlab-ty-pay-amount-val {
	font-size: 20px;
	font-weight: 800;
	color: var(--ef-primary, #4f46e5);
	letter-spacing: -0.01em;
}

.wooforlab-copy-btn--amount {
	padding: 6px 12px !important;
	font-size: 12px !important;
	background: #ffffff !important;
	color: var(--ef-primary, #4f46e5) !important;
	border: 1px solid #cbd5e1 !important;
	border-radius: 6px !important;
}

.wooforlab-copy-btn--amount:hover {
	background: var(--ef-primary, #4f46e5) !important;
	color: #ffffff !important;
	border-color: var(--ef-primary, #4f46e5) !important;
}

/* Bank info rows */
.wooforlab-ty-bank-info {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 16px;
}

.wooforlab-ty-bank-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 13px;
}

.wooforlab-ty-bank-lbl {
	color: #64748b;
	font-weight: 500;
}

.wooforlab-ty-bank-val {
	color: #0f172a;
}

.wooforlab-ty-bank-row--method .wooforlab-ty-bank-val {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.wooforlab-ty-bank-logo-wrap {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 6px;
	padding: 3px 6px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.wooforlab-ty-bank-logo-wrap img,
.wooforlab-ty-bank-logo-wrap .wooforlab-order-payment-logo,
.wooforlab-ty-bank-logo-wrap .wooforlab-gateway-icon {
	max-height: 22px;
	width: auto;
	object-fit: contain;
	display: block;
}

.wooforlab-ty-meta-row--payment .wooforlab-ty-meta-pay-val {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 500;
	color: #1e293b;
}

.wooforlab-ty-inline-logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 4px;
	padding: 2px 5px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
}

.wooforlab-ty-inline-logo img,
.wooforlab-ty-inline-logo .wooforlab-order-payment-logo,
.wooforlab-ty-inline-logo .wooforlab-gateway-icon {
	max-height: 16px;
	width: auto;
	object-fit: contain;
	display: block;
}

.wooforlab-ty-bank-row--number .wooforlab-account-number {
	font-size: 16px;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-weight: 800;
	color: #0f172a;
	letter-spacing: 0.5px;
}

/* WhatsApp Button */
.wooforlab-ty-action-btn--wa {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	padding: 12px 18px;
	background: #25D366;
	color: #ffffff !important;
	border: none;
	border-radius: 9px;
	font-size: 13.5px;
	font-weight: 700;
	text-decoration: none !important;
	box-shadow: 0 4px 12px rgba(37, 211, 102, 0.3);
	transition: all 0.18s ease;
	box-sizing: border-box;
}

.wooforlab-ty-action-btn--wa:hover {
	background: #1eb857;
	box-shadow: 0 6px 16px rgba(37, 211, 102, 0.4);
	transform: translateY(-1px);
}

/* Summary Section */
.wooforlab-ty-summary-section {
	margin-top: 18px;
}

.wooforlab-ty-section-heading {
	font-size: 12px !important;
	font-weight: 700 !important;
	color: #94a3b8 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
	margin: 0 0 12px 0 !important;
}

.wooforlab-ty-items-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding-bottom: 14px;
	border-bottom: 1px solid #f1f5f9;
	margin-bottom: 14px;
}

.wooforlab-ty-item-row {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	font-size: 13.5px;
}

.wooforlab-ty-item-title {
	color: #0f172a;
	font-weight: 600;
	display: block;
}

.wooforlab-ty-item-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 4px;
}

.wooforlab-ty-item-meta-pill {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	color: #64748b;
	padding: 2px 8px;
	border-radius: 6px;
	font-size: 11.5px;
	line-height: 1.4;
}

.wooforlab-ty-item-meta-pill strong {
	color: #1e293b;
	font-weight: 600;
}

.wooforlab-ty-item-price {
	font-weight: 700;
	color: #1e293b;
	white-space: nowrap;
}

.wooforlab-ty-summary-meta {
	display: flex;
	flex-direction: column;
	gap: 8px;
	font-size: 13px;
}

.wooforlab-ty-meta-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	color: #64748b;
}

.wooforlab-ty-meta-row span:last-child {
	color: #1e293b;
	font-weight: 500;
	text-align: right;
}

.wooforlab-ty-meta-row--total {
	padding-top: 10px;
	margin-top: 6px;
	border-top: 1px dashed #e2e8f0;
	font-size: 14.5px;
}

.wooforlab-ty-meta-row--total strong:first-child {
	color: #0f172a;
}

.wooforlab-ty-final-price {
	color: var(--ef-primary, #4f46e5);
	font-size: 17px;
	font-weight: 800;
}

.wooforlab-ty-status-pill {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 4px;
	font-size: 11.5px;
	font-weight: 700;
}

.wooforlab-ty-status-pill--on-hold,
.wooforlab-ty-status-pill--pending {
	background: #fef3c7;
	color: #92400e;
}

.wooforlab-ty-status-pill--processing {
	background: #e0f2fe;
	color: #0369a1;
}

.wooforlab-ty-status-pill--completed {
	background: #ecfdf5;
	color: #047857;
}

/* Footer Navigation */
.wooforlab-ty-receipt-footer {
	margin-top: 24px;
	padding-top: 18px;
	border-top: 1px solid #f1f5f9;
	display: flex;
	gap: 10px;
}

.wooforlab-ty-action-btn {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 10px 16px;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none !important;
	transition: all 0.18s ease;
	text-align: center;
}

.wooforlab-ty-action-btn--primary {
	background: var(--ef-primary, #4f46e5);
	color: #ffffff !important;
	border: none;
}

.wooforlab-ty-action-btn--primary:hover {
	background: #4338ca;
}

.wooforlab-ty-action-btn--outline {
	background: #ffffff;
	color: #475569 !important;
	border: 1px solid #cbd5e1;
}

.wooforlab-ty-action-btn--outline:hover {
	background: #f8fafc;
	border-color: #94a3b8;
}

.wooforlab-ty-action-btn--subtle {
	background: #f8fafc;
	color: #64748b !important;
	border: 1px solid #e2e8f0;
}

.wooforlab-ty-action-btn--subtle:hover {
	background: #f1f5f9;
}

/* Hide any remaining native woocommerce elements inside order received if injected */
.woocommerce-order-details,
.woocommerce-customer-details,
.woocommerce-thankyou-order-details.order_details {
	display: none !important;
}

@media (max-width: 480px) {
	.wooforlab-thankyou-wrapper {
		padding: 0 0.5rem;
	}

	.wooforlab-ty-receipt-card {
		padding: 20px 16px;
	}

	.wooforlab-ty-pay-amount-row {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}

	.wooforlab-copy-btn--amount {
		width: 100%;
		justify-content: center;
	}

	.wooforlab-ty-receipt-footer {
		flex-direction: column;
	}
}

/* ==========================================================================
   Wooforlab Floating WhatsApp (Lightweight, Zero-JS Frontend)
   ========================================================================== */
.wooforlab-wa-float {
	position: fixed;
	z-index: 99999;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 8px;
	pointer-events: auto;
	user-select: none;
	-webkit-tap-highlight-color: transparent;
}

.wooforlab-wa-float--left {
	align-items: flex-start;
}

.wooforlab-wa-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background-color: #25D366;
	color: #ffffff !important;
	text-decoration: none !important;
	box-shadow: 0 4px 16px rgba(37, 211, 102, 0.4);
	transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.25s ease, background-color 0.2s ease;
	line-height: 1;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	position: relative;
}

.wooforlab-wa-link:hover {
	background-color: #22bf5b;
	color: #ffffff !important;
	transform: translateY(-3px) scale(1.03);
	box-shadow: 0 8px 24px rgba(37, 211, 102, 0.5);
}

.wooforlab-wa-link:active {
	transform: translateY(-1px) scale(0.97);
}

/* Style: Badge (Pill with icon and text) */
.wooforlab-wa-float--badge .wooforlab-wa-link {
	padding: 10px 18px 10px 12px;
	border-radius: 50px;
}

.wooforlab-wa-float--badge .wooforlab-wa-label {
	color: #ffffff;
	font-weight: 600;
	letter-spacing: 0.2px;
	white-space: nowrap;
}

/* Style: Tooltip & Icon Only (Round circular button) */
.wooforlab-wa-float--tooltip .wooforlab-wa-link,
.wooforlab-wa-float--icon_only .wooforlab-wa-link {
	width: 58px;
	height: 58px;
	border-radius: 50%;
	justify-content: center;
	padding: 0;
}

.wooforlab-wa-icon-box {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.wooforlab-wa-svg {
	width: 32px;
	height: 32px;
	display: block;
}

.wooforlab-wa-float--badge .wooforlab-wa-svg {
	width: 28px;
	height: 28px;
}

/* Tooltip Popup */
.wooforlab-wa-tooltip {
	background: #1e293b;
	color: #ffffff;
	font-size: 12px;
	font-weight: 500;
	padding: 6px 14px;
	border-radius: 6px;
	white-space: nowrap;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
	position: relative;
	pointer-events: none;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}

.wooforlab-wa-tooltip::after {
	content: '';
	position: absolute;
	bottom: -5px;
	border-width: 5px 5px 0;
	border-style: solid;
	border-color: #1e293b transparent transparent transparent;
}

.wooforlab-wa-float--right .wooforlab-wa-tooltip::after {
	right: 22px;
}

.wooforlab-wa-float--left .wooforlab-wa-tooltip::after {
	left: 22px;
}

.wooforlab-wa-float:hover .wooforlab-wa-tooltip {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/* Gentle CSS Pulse Animation */
.wooforlab-wa-pulse .wooforlab-wa-link {
	animation: wflWaPulseRing 2.4s cubic-bezier(0.45, 0, 0.55, 1) infinite;
}

.wooforlab-wa-pulse .wooforlab-wa-link:hover {
	animation: none;
}

@keyframes wflWaPulseRing {
	0% {
		box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.7);
	}
	70% {
		box-shadow: 0 0 0 16px rgba(37, 211, 102, 0);
	}
	100% {
		box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
	}
}

/* Mobile Responsiveness */
@media (max-width: 480px) {
	.wooforlab-wa-float {
		bottom: 16px !important;
	}
	.wooforlab-wa-float--right {
		right: 16px !important;
	}
	.wooforlab-wa-float--left {
		left: 16px !important;
	}
	.wooforlab-wa-float--badge .wooforlab-wa-link {
		padding: 8px 14px 8px 10px;
		font-size: 13px;
	}
	.wooforlab-wa-float--tooltip .wooforlab-wa-link,
	.wooforlab-wa-float--icon_only .wooforlab-wa-link {
		width: 52px;
		height: 52px;
	}
	.wooforlab-wa-svg {
		width: 28px;
		height: 28px;
	}
	.wooforlab-wa-float--badge .wooforlab-wa-svg {
		width: 24px;
		height: 24px;
	}
}

/* ==========================================================================
   Wooforlab Page Access & Content Paywall
   ========================================================================== */
.wooforlab-paywall-container {
	margin: 36px auto;
	max-width: 820px;
	width: 100%;
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.wooforlab-paywall-card {
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.wooforlab-paywall-card:hover {
	box-shadow: 0 16px 36px -6px rgba(99, 102, 241, 0.12), 0 6px 16px -4px rgba(0, 0, 0, 0.04) !important;
}

.wooforlab-paywall-prod-item {
	transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.2s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.2s ease !important;
}

.wooforlab-paywall-prod-item:hover {
	transform: translateY(-3px);
	border-color: #a5b4fc !important;
	box-shadow: 0 10px 20px -3px rgba(99, 102, 241, 0.12) !important;
}

.wooforlab-paywall-prod-item img {
	transition: transform 0.3s ease;
}

.wooforlab-paywall-prod-item:hover img {
	transform: scale(1.05);
}

.wooforlab-paywall-prod-item .button:hover {
	background: linear-gradient(135deg, #4338ca 0%, #4f46e5 100%) !important;
	transform: translateY(-1px);
}

@media (max-width: 640px) {
	.wooforlab-paywall-container {
		margin: 20px auto;
		padding: 0 4px;
	}
	.wooforlab-paywall-products-grid {
		grid-template-columns: 1fr !important;
	}
}

