/* ==========================================================================
   FrontBaz WooCommerce Framework
   Package     : FrontBaz Store Framework
   Module      : My Account (صفحه حساب کاربری)
   File        : assets/css/fb-myaccount.css
   Author      : Sina Samipour (FrontBaz)
   Description : Native RTL styling for My Account. Inherits design tokens from fb-base.css.
   Namespace   : All custom classes strictly adhere to .fb- prefix.
   ========================================================================== */

/* Master Wrapper (Zero-spacing for Elementor container control) */
.fb-myaccount-wrapper {
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	text-align: start !important;
	font-family: var(--fb-font-family) !important;
	box-sizing: border-box !important;
	clear: both !important;
}

.fb-myaccount-wrapper *,
.fb-myaccount-wrapper *::before,
.fb-myaccount-wrapper *::after {
	box-sizing: border-box !important;
}

/* Hide Default WooCommerce Account Elements outside our custom grid */
.fb-myaccount-wrapper > .woocommerce-MyAccount-navigation:not(.fb-myaccount-nav),
.woocommerce-account .page-content > .woocommerce > .woocommerce-MyAccount-navigation:not(.fb-myaccount-nav) {
	display: none !important;
}

/* Two-Column Grid */
.fb-myaccount-grid {
	display: grid !important;
	grid-template-columns: 290px minmax(0, 1fr) !important;
	gap: 28px !important;
	align-items: start !important;
	width: 100% !important;
}

@media (max-width: 991px) {
	.fb-myaccount-grid {
		display: flex !important;
		flex-direction: column !important;
		gap: 24px !important;
	}
	.fb-myaccount-sidebar,
	.fb-myaccount-main {
		width: 100% !important;
		max-width: 100% !important;
	}
}

/* ==========================================================================
   Sidebar: Profile Card & Navigation
   ========================================================================== */
.fb-myaccount-sidebar {
	position: sticky !important;
	top: 24px !important;
}

@media (max-width: 991px) {
	.fb-myaccount-sidebar {
		position: static !important;
	}
}

.fb-account-nav-card {
	background: var(--fb-bg-card, #ffffff) !important;
	border: 1px solid var(--fb-border-color) !important;
	border-radius: var(--fb-radius-lg, 8px) !important;
	box-shadow: var(--fb-shadow-card) !important;
	overflow: hidden !important;
}

/* User Profile Header */
.fb-user-profile-header {
	padding: 24px 20px !important;
	text-align: center !important;
	background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%) !important;
	border-bottom: 1px solid var(--fb-border-light) !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
}

.fb-user-avatar-wrap {
	width: 72px !important;
	height: 72px !important;
	border-radius: 50% !important;
	overflow: hidden !important;
	margin-bottom: 12px !important;
	padding: 3px !important;
	background: linear-gradient(135deg, var(--fb-primary) 0%, #10b981 100%) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-shadow: 0 4px 12px var(--fb-primary-border) !important;
}

.fb-user-avatar-img,
.fb-user-avatar-wrap img,
.elementor .fb-user-avatar-wrap img {
	width: 100% !important;
	height: 100% !important;
	border-radius: 50% !important;
	object-fit: cover !important;
	display: block !important;
	background: #ffffff !important;
}

.fb-user-avatar-fallback {
	width: 100% !important;
	height: 100% !important;
	border-radius: 50% !important;
	background: #ffffff !important;
	color: var(--fb-primary) !important;
	font-size: 24px !important;
	font-weight: 800 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.fb-user-info-meta {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	width: 100% !important;
}

.fb-user-name {
	font-size: 16px !important;
	font-weight: 700 !important;
	color: var(--fb-text-main) !important;
	font-family: var(--fb-font-family) !important;
	margin: 0 0 4px 0 !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	max-width: 240px !important;
}

.fb-user-email {
	font-size: 12.5px !important;
	color: var(--fb-text-muted) !important;
	font-family: var(--fb-font-family) !important;
	direction: ltr !important;
	margin-bottom: 8px !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	max-width: 240px !important;
}

.fb-user-badge-wrap {
	margin-top: 4px !important;
}

.fb-user-badge {
	display: inline-block !important;
	padding: 3px 10px !important;
	background: var(--fb-primary-light) !important;
	color: var(--fb-primary) !important;
	font-family: var(--fb-font-family) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	border-radius: var(--fb-radius-pill, 20px) !important;
	border: 1px solid var(--fb-primary-border) !important;
}

/* Nav Menu List */
.fb-myaccount-nav {
	padding: 10px !important;
	float: none !important;
	width: 100% !important;
	background: transparent !important;
	border: none !important;
	margin: 0 !important;
}

.fb-nav-list {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
	background: transparent !important;
	border: none !important;
}

.fb-nav-item {
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: none !important;
}

.fb-nav-item a {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	padding: 11px 14px !important;
	border-radius: var(--fb-radius-md, 8px) !important;
	background: #ffffff !important;
	color: var(--fb-text-body) !important;
	font-family: var(--fb-font-family) !important;
	font-size: 13.5px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	transition: all 0.2s ease !important;
	position: relative !important;
	border: 1px solid transparent !important;
	box-sizing: border-box !important;
	width: 100% !important;
	text-align: start !important;
}

.fb-nav-icon {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: var(--fb-text-muted) !important;
	transition: all 0.2s ease !important;
	flex-shrink: 0 !important;
}

.fb-nav-label {
	flex: 1 !important;
}

.fb-nav-badge {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-width: 20px !important;
	height: 20px !important;
	padding: 0 6px !important;
	background: #f59e0b !important;
	color: #ffffff !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	border-radius: 10px !important;
}

.fb-nav-item:hover a {
	background: var(--fb-bg-subtle) !important;
	color: var(--fb-primary) !important;
	border-color: var(--fb-border-color) !important;
}

.fb-nav-item:hover .fb-nav-icon {
	color: var(--fb-primary) !important;
}

/* Active Nav Item */
.fb-nav-item.fb-active a,
.fb-nav-item.is-active a {
	background: var(--fb-primary-light) !important;
	color: var(--fb-primary) !important;
	border-color: var(--fb-primary-border) !important;
	font-weight: 700 !important;
}

.fb-nav-item.fb-active .fb-nav-icon,
.fb-nav-item.is-active .fb-nav-icon {
	color: var(--fb-primary) !important;
}

/* Logout Item */
.fb-nav-item.woocommerce-MyAccount-navigation-link--customer-logout {
	margin-top: 8px !important;
	border-top: 1px solid var(--fb-border-light) !important;
	padding-top: 8px !important;
}

.fb-nav-item.woocommerce-MyAccount-navigation-link--customer-logout a {
	color: var(--fb-danger) !important;
}

.fb-nav-item.woocommerce-MyAccount-navigation-link--customer-logout .fb-nav-icon {
	color: var(--fb-danger) !important;
}

.fb-nav-item.woocommerce-MyAccount-navigation-link--customer-logout:hover a {
	background: var(--fb-danger-light);
	color: var(--fb-danger-hover) !important;
}

/* ==========================================================================
   Main Content Card Area
   ========================================================================== */
.fb-myaccount-main {
	float: none !important;
	width: 100% !important;
}

.fb-myaccount-content-card {
	background: var(--fb-bg-card, #ffffff) !important;
	border: 1px solid var(--fb-border-color) !important;
	border-radius: var(--fb-radius-lg, 8px) !important;
	padding: 30px !important;
	box-shadow: var(--fb-shadow-card) !important;
}

.fb-myaccount-content-card .woocommerce-MyAccount-content-wrapper {
	padding: 0 !important;
	border: none !important;
}

@media (max-width: 640px) {
	.fb-myaccount-content-card {
		padding: 20px 16px !important;
		border-radius: var(--fb-radius-md, 8px) !important;
	}
}

/* Common Card Header inside content */
.fb-content-card-header {
	margin-bottom: 24px !important;
	padding-bottom: 18px !important;
	border-bottom: 1px solid var(--fb-border-light) !important;
}

.fb-header-icon-title {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
}

.fb-card-icon {
	width: 38px !important;
	height: 38px !important;
	border-radius: var(--fb-radius-sm, 6px) !important;
	background: var(--fb-primary-light) !important;
	color: var(--fb-primary) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
}

.fb-card-title,
.fb-myaccount-wrapper h2,
.fb-myaccount-wrapper h3,
.elementor-widget-woocommerce-my-account .e-my-account-tab .woocommerce h2,
.elementor-widget-woocommerce-my-account .e-my-account-tab .woocommerce h3,
.fb-card-title {
	font-family: var(--fb-font-family) !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	color: var(--fb-text-main, #111827) !important;
	margin: 0 0 4px 0 !important;
	line-height: 1.3 !important;
}

.fb-card-desc,
.fb-myaccount-wrapper p,
.elementor-widget-woocommerce-my-account .e-my-account-tab .woocommerce p,
.fb-card-desc {
	font-family: var(--fb-font-family) !important;
	font-size: 13px !important;
	color: var(--fb-text-muted, #6b7280) !important;
	margin: 0 !important;
	line-height: 1.6 !important;
}

/* ==========================================================================
   Dashboard Overview
   ========================================================================== */
/* Welcome Banner */
.fb-welcome-banner {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 20px !important;
	background: var(--fb-primary-light) !important;
	border: 1px solid var(--fb-primary-border) !important;
	border-radius: var(--fb-radius-md) !important;
	padding: 20px 24px !important;
	margin-bottom: 24px !important;
}

.fb-welcome-action {
	flex-shrink: 0 !important;
}

.fb-welcome-action .fb-btn-primary {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	background-color: var(--fb-btn-bg) !important;
	background: var(--fb-btn-bg) !important;
	color: #ffffff !important;
	border-radius: var(--fb-radius-btn) !important;
	box-shadow: var(--fb-btn-shadow) !important;
	font-family: var(--fb-font-family) !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
	border: none !important;
}

.fb-welcome-action .fb-btn-primary:hover {
	background-color: var(--fb-btn-bg-hover) !important;
	background: var(--fb-btn-bg-hover) !important;
	box-shadow: var(--fb-btn-shadow-hover) !important;
	color: #ffffff !important;
}

@media (max-width: 640px) {
	.fb-welcome-banner {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 16px !important;
		padding: 16px !important;
	}
	.fb-welcome-action {
		width: 100% !important;
	}
	.fb-welcome-action .fb-btn-primary {
		width: 100% !important;
		justify-content: center !important;
	}
}

.fb-welcome-title {
	font-size: 17.5px !important;
	font-weight: 800 !important;
	color: var(--fb-text-main) !important;
	margin: 0 0 6px 0 !important;
}

.fb-welcome-desc {
	font-size: 13px !important;
	color: var(--fb-text-muted) !important;
	margin: 0 !important;
	line-height: 1.6 !important;
}

/* Stats Counter Grid - 4 Column Balanced Grid */
.fb-stats-grid {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 14px !important;
	margin-bottom: 28px !important;
}

@media (max-width: 1024px) {
	.fb-stats-grid {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 12px !important;
	}
}

@media (max-width: 480px) {
	.fb-stats-grid {
		grid-template-columns: 1fr !important;
	}
}

.fb-stat-card,
.fb-stat-card {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	padding: 12px 14px !important;
	background: #ffffff !important;
	border: 1.5px solid var(--fb-border-color) !important;
	border-radius: var(--fb-radius-md, 8px) !important;
	text-decoration: none !important;
	color: var(--fb-text-main) !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
	transition: all 0.2s ease !important;
}

.fb-stat-card:hover,
.fb-stat-card:hover {
	transform: translateY(var(--fb-hover-lift, 0px)) !important;
	border-color: var(--fb-border-hover) !important;
	box-shadow: 0 4px 14px -2px rgba(0, 0, 0, 0.05) !important;
}

.fb-stat-icon {
	width: 38px !important;
	height: 38px !important;
	border-radius: var(--fb-radius-sm, 6px) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
}

.fb-stat-processing .fb-stat-icon {
	background: #fef3c7 !important;
	color: #d97706 !important;
}

.fb-stat-completed .fb-stat-icon {
	background: #d1fae5 !important;
	color: #059669 !important;
}

.fb-stat-cancelled .fb-stat-icon {
	background: #fee2e2 !important;
	color: var(--fb-danger-hover) !important;
}

.fb-stat-total .fb-stat-icon {
	background: var(--fb-primary-light) !important;
	color: var(--fb-primary) !important;
}

.fb-stat-info {
	display: flex !important;
	flex-direction: column !important;
	min-width: 0 !important;
	overflow: hidden !important;
}

.fb-stat-num {
	font-size: 18px !important;
	font-weight: 800 !important;
	color: var(--fb-text-main) !important;
	line-height: 1.2 !important;
	font-family: var(--fb-font-family) !important;
}

.fb-stat-label {
	font-size: 11.5px !important;
	font-weight: 500 !important;
	color: var(--fb-text-muted) !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	margin-top: 2px !important;
	font-family: var(--fb-font-family) !important;
}

/* Dashboard Sections */
.fb-dashboard-section {
	margin-bottom: 30px !important;
}

.fb-section-header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	margin-bottom: 16px !important;
}

.fb-section-title {
	font-size: 15.5px !important;
	font-weight: 700 !important;
	color: var(--fb-text-main) !important;
	margin: 0 !important;
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
}

.fb-section-more {
	font-family: var(--fb-font-family) !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	color: var(--fb-primary) !important;
	background: transparent !important;
	box-shadow: none !important;
	text-decoration: none !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 6px 12px !important;
	border-radius: var(--fb-radius-sm, 6px) !important;
	border: 1px solid transparent !important;
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
	line-height: 1.4 !important;
}

.fb-section-more:hover {
	text-decoration: none !important;
	color: var(--fb-primary-hover) !important;
	background: var(--fb-primary-light) !important;
	box-shadow: none !important;
	border-color: transparent !important;
}

.fb-section-more .fb-arrow-icon {
	width: 14px !important;
	height: 14px !important;
	stroke: currentColor !important;
	transition: transform 0.2s ease !important;
	flex-shrink: 0 !important;
}

.fb-section-more:hover .fb-arrow-icon {
	transform: translateX(-3px) !important;
}

/* Recent Orders List */
.fb-orders-list {
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
}

.fb-order-card {
	border: 1px solid var(--fb-border-color) !important;
	border-radius: var(--fb-radius-md, 8px) !important;
	padding: 16px 20px !important;
	background: #ffffff !important;
	transition: all 0.2s ease !important;
}

.fb-order-card:hover {
	border-color: var(--fb-border-hover) !important;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04) !important;
}

.fb-order-card-header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	margin-bottom: 12px !important;
	padding-bottom: 10px !important;
	border-bottom: 1px solid var(--fb-border-light) !important;
}

.fb-order-meta-info {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-size: 13px !important;
	color: var(--fb-text-muted) !important;
	flex-wrap: wrap !important;
}

.fb-order-id {
	font-weight: 700 !important;
	color: var(--fb-text-main) !important;
}

.fb-order-dot {
	color: #cbd5e1 !important;
}

.fb-order-card-body {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	flex-wrap: wrap !important;
	gap: 12px !important;
}

.fb-order-total-wrap {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
}

.fb-order-total-label {
	font-size: 13px !important;
	color: var(--fb-text-muted) !important;
}

.fb-order-total-val {
	font-size: 14.5px !important;
	font-weight: 700 !important;
	color: var(--fb-primary) !important;
}

/* Status Badges */
.fb-order-status {
	display: inline-flex !important;
	align-items: center !important;
	padding: 4px 10px !important;
	border-radius: var(--fb-radius-pill, 20px) !important;
	font-size: 11.5px !important;
	font-weight: 700 !important;
	flex-shrink: 0 !important;
}

.fb-status-processing,
.fb-status-on-hold,
.fb-status-pending {
	background: #fef3c7 !important;
	color: #b45309 !important;
	border: 1px solid rgba(245, 158, 11, 0.25) !important;
}

.fb-status-completed {
	background: #d1fae5 !important;
	color: #065f46 !important;
	border: 1px solid rgba(16, 185, 129, 0.25) !important;
}

.fb-status-cancelled,
.fb-status-failed,
.fb-status-refunded {
	background: #fee2e2 !important;
	color: #991b1b !important;
	border: 1px solid rgba(239, 68, 68, 0.25) !important;
}

/* Shortcuts Grid */
.fb-shortcuts-grid {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 16px !important;
}

@media (max-width: 640px) {
	.fb-shortcuts-grid {
		grid-template-columns: 1fr !important;
	}
}

.fb-shortcut-card {
	border: 1px solid var(--fb-border-color) !important;
	border-radius: var(--fb-radius-md, 8px) !important;
	padding: 20px !important;
	background: #ffffff !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
	transition: all 0.2s ease !important;
}

.fb-shortcut-card:hover {
	border-color: var(--fb-border-hover) !important;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04) !important;
}

.fb-shortcut-header {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	margin-bottom: 10px !important;
}

.fb-shortcut-icon {
	color: var(--fb-primary) !important;
	display: flex !important;
	align-items: center !important;
}

.fb-shortcut-title {
	font-size: 14.5px !important;
	font-weight: 700 !important;
	color: var(--fb-text-main) !important;
	margin: 0 !important;
}

.fb-shortcut-desc {
	font-size: 13px !important;
	color: var(--fb-text-muted) !important;
	line-height: 1.6 !important;
	margin: 0 0 14px 0 !important;
}

.fb-shortcut-footer {
	margin-top: auto !important;
}

.fb-btn-link {
	font-family: var(--fb-font-family) !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	color: var(--fb-primary) !important;
	background: transparent !important;
	box-shadow: none !important;
	text-decoration: none !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 6px 12px !important;
	border-radius: var(--fb-radius-sm, 6px) !important;
	border: 1px solid transparent !important;
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
	line-height: 1.4 !important;
}

.fb-btn-link:hover {
	text-decoration: none !important;
	color: var(--fb-primary-hover) !important;
	background: var(--fb-primary-light) !important;
	box-shadow: none !important;
	border-color: transparent !important;
}

.fb-btn-link .fb-arrow-icon {
	width: 14px !important;
	height: 14px !important;
	stroke: currentColor !important;
	transition: transform 0.2s ease !important;
	flex-shrink: 0 !important;
}

.fb-btn-link:hover .fb-arrow-icon {
	transform: translateX(-3px) !important;
}

/* ==========================================================================
   Full Orders Page Styles
   ========================================================================== */
.fb-orders-cards-container {
	display: flex !important;
	flex-direction: column !important;
	gap: 14px !important;
}

.fb-order-full-card {
	border: 1.5px solid var(--fb-border-color) !important;
	border-radius: var(--fb-radius-md, 8px) !important;
	background: #ffffff !important;
	padding: 18px 22px !important;
	transition: all 0.2s ease !important;
}

.fb-order-full-card:hover {
	border-color: var(--fb-border-hover) !important;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.04) !important;
}

.fb-order-full-top {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding-bottom: 12px !important;
	border-bottom: 1px solid var(--fb-border-light) !important;
	margin-bottom: 14px !important;
}

.fb-order-id-meta {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
}

.fb-order-badge-num {
	font-size: 15px !important;
	font-weight: 800 !important;
	color: var(--fb-text-main) !important;
}

.fb-order-date-text {
	font-size: 12.5px !important;
	color: var(--fb-text-muted) !important;
	display: flex !important;
	align-items: center !important;
	gap: 5px !important;
}

/* Order Cards Items Preview List */
.fb-order-items-preview {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
	padding: 12px 0 !important;
	margin-bottom: 12px !important;
	border-bottom: 1px solid var(--fb-border-light, #f1f5f9) !important;
}

.fb-order-preview-row {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 10px !important;
}

.fb-preview-product-col {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	flex: 1 !important;
	min-width: 0 !important;
}

.fb-preview-thumb {
	width: 42px !important;
	height: 42px !important;
	border-radius: var(--fb-radius-sm, 6px) !important;
	overflow: hidden !important;
	border: 1px solid var(--fb-border-color, #e5e7eb) !important;
	flex-shrink: 0 !important;
	background: #ffffff !important;
}

.fb-preview-thumb img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}

.fb-preview-thumb-placeholder {
	width: 100% !important;
	height: 100% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: var(--fb-text-subtle) !important;
	background: var(--fb-bg-subtle) !important;
}

.fb-preview-meta {
	display: flex !important;
	flex-direction: column !important;
	gap: 2px !important;
	min-width: 0 !important;
	flex: 1 !important;
}

.fb-preview-name {
	font-size: 13px !important;
	font-weight: 700 !important;
	color: var(--fb-text-main) !important;
	text-decoration: none !important;
	line-height: 1.4 !important;
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: normal !important;
	word-break: break-word !important;
	transition: color 0.2s ease !important;
}

.fb-preview-name:hover {
	color: var(--fb-primary) !important;
}

.fb-preview-meta .wc-item-meta {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	font-size: 11px !important;
	color: var(--fb-text-muted) !important;
}

.fb-preview-qty-col {
	flex-shrink: 0 !important;
}

.fb-preview-qty-col .fb-item-qty-badge {
	font-size: 11.5px !important;
	padding: 2.5px 8px !important;
	white-space: nowrap !important;
}

.fb-preview-price-col {
	flex-shrink: 0 !important;
	text-align: end !important;
}

.fb-preview-price {
	font-size: 13px !important;
	font-weight: 700 !important;
	color: var(--fb-text-main) !important;
	white-space: nowrap !important;
}

@media (max-width: 640px) {
	.fb-order-full-card {
		padding: 14px 12px !important;
	}
	.fb-order-preview-row {
		gap: 6px !important;
	}
	.fb-preview-product-col {
		gap: 6px !important;
	}
	.fb-preview-thumb {
		width: 34px !important;
		height: 34px !important;
		border-radius: 5px !important;
	}
	.fb-preview-name {
		font-size: 12px !important;
		line-height: 1.35 !important;
	}
	.fb-preview-qty-col .fb-item-qty-badge {
		font-size: 10.5px !important;
		padding: 2px 5px !important;
		border-radius: 4px !important;
	}
	.fb-preview-price {
		font-size: 12px !important;
	}
}

.fb-order-full-bottom {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 16px !important;
	flex-wrap: wrap !important;
}

.fb-order-total-summary {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-size: 13.5px !important;
}

.fb-meta-label {
	color: var(--fb-text-muted) !important;
	font-weight: 600 !important;
}

.fb-meta-total {
	font-weight: 800 !important;
	font-size: 15.5px !important;
	color: var(--fb-primary) !important;
}

.fb-order-actions-wrap {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
}

/* Pagination */
.fb-pagination-wrap {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 14px !important;
	margin-top: 24px !important;
	padding-top: 18px !important;
	border-top: 1px solid var(--fb-border-light) !important;
}

.fb-pagination-btn {
	padding: 8px 16px !important;
	border-radius: var(--fb-btn-radius, 8px) !important;
	background: #ffffff !important;
	border: 1px solid var(--fb-border-color) !important;
	color: var(--fb-text-main) !important;
	text-decoration: none !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	transition: all 0.2s ease !important;
}

.fb-pagination-btn:hover {
	background: var(--fb-bg-subtle) !important;
	border-color: var(--fb-border-hover) !important;
	color: var(--fb-primary) !important;
}

.fb-pagination-current {
	font-size: 13px !important;
	color: var(--fb-text-muted) !important;
	font-weight: 600 !important;
}

/* ==========================================================================
   Addresses Page Styles
   ========================================================================== */
.fb-addresses-grid {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 20px !important;
}

@media (max-width: 768px) {
	.fb-addresses-grid {
		grid-template-columns: 1fr !important;
	}
}

.fb-address-card {
	border: 1.5px solid var(--fb-border-color) !important;
	border-radius: var(--fb-radius-md, 8px) !important;
	background: #ffffff !important;
	padding: 20px !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
	transition: all 0.2s ease !important;
}

.fb-address-card:hover {
	border-color: var(--fb-border-hover) !important;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04) !important;
}

.fb-address-card-header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	padding-bottom: 12px !important;
	border-bottom: 1px solid var(--fb-border-light) !important;
	margin-bottom: 14px !important;
}

.fb-address-card-title-wrap {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
}

.fb-address-icon {
	color: var(--fb-primary) !important;
	display: flex !important;
	align-items: center !important;
}

.fb-address-title {
	font-size: 14.5px !important;
	font-weight: 700 !important;
	color: var(--fb-text-main) !important;
	margin: 0 !important;
}

.fb-address-edit-link {
	display: inline-flex !important;
	align-items: center !important;
	gap: 5px !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	color: var(--fb-primary) !important;
	text-decoration: none !important;
	padding: 4px 10px !important;
	border-radius: var(--fb-radius-sm, 6px) !important;
	background: var(--fb-primary-light) !important;
	transition: all 0.2s ease !important;
}

.fb-address-edit-link:hover {
	background: var(--fb-primary-border) !important;
}

.fb-address-content {
	font-style: normal !important;
	font-size: 13.5px !important;
	color: var(--fb-text-muted) !important;
	line-height: 1.8 !important;
}

/* ==========================================================================
   Edit Account Form Styles
   ========================================================================== */
.fb-edit-account-form {
	display: flex !important;
	flex-direction: column !important;
	gap: 24px !important;
}

.fb-form-section {
	padding-bottom: 20px !important;
	border-bottom: 1px solid var(--fb-border-light) !important;
}

.fb-form-section-title {
	font-size: 15.5px !important;
	font-weight: 700 !important;
	color: var(--fb-text-main) !important;
	margin: 0 0 4px 0 !important;
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
}

.fb-form-section-subtitle {
	font-size: 12.5px !important;
	color: var(--fb-text-muted) !important;
	margin: 0 0 16px 0 !important;
}

.fb-form-row-grid {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 16px !important;
}

@media (max-width: 640px) {
	.fb-form-row-grid {
		grid-template-columns: 1fr !important;
		gap: 12px !important;
	}
}

.fb-form-group {
	display: flex !important;
	flex-direction: column !important;
	margin: 0 0 14px 0 !important;
	width: 100% !important;
	float: none !important;
}

.fb-form-group label {
	font-size: 13px !important;
	font-weight: 600 !important;
	color: var(--fb-text-body) !important;
	margin-bottom: 6px !important;
	font-family: var(--fb-font-family) !important;
}

.fb-form-group label .required {
	color: var(--fb-danger) !important;
	text-decoration: none !important;
}

.fb-input,
.elementor-widget-woocommerce-my-account
	.e-my-account-tab:not(.e-my-account-tab__dashboard--custom)
	.woocommerce
	.form-row
	input.input-text,
.elementor-widget-woocommerce-my-account
	.e-my-account-tab:not(.e-my-account-tab__dashboard--custom)
	.woocommerce
	.form-row
	select:not(.select2-hidden-accessible),
.elementor-widget-woocommerce-my-account
	.e-my-account-tab:not(.e-my-account-tab__dashboard--custom)
	.woocommerce
	.form-row
	textarea,
.woocommerce-EditAccountForm input.input-text,
.woocommerce-address-fields input.input-text,
.fb-myaccount-wrapper input.input-text,
.fb-myaccount-wrapper input[type="text"],
.fb-myaccount-wrapper input[type="email"],
.fb-myaccount-wrapper input[type="password"] {
	width: 100% !important;
	height: 46px !important;
	padding: 0 14px !important;
	background: #ffffff !important;
	border: 1.5px solid var(--fb-border-color) !important;
	border-radius: var(--fb-radius-btn, 8px) !important;
	font-size: 14px !important;
	color: var(--fb-text-main) !important;
	outline: none !important;
	font-family: var(--fb-font-family) !important;
	box-sizing: border-box !important;
	transition: all 0.2s ease !important;
}

.fb-input:focus,
.elementor-widget-woocommerce-my-account
	.e-my-account-tab:not(.e-my-account-tab__dashboard--custom)
	.woocommerce
	.form-row
	input.input-text:focus,
.woocommerce-EditAccountForm input.input-text:focus,
.woocommerce-address-fields input.input-text:focus,
.fb-myaccount-wrapper input.input-text:focus,
.fb-myaccount-wrapper input[type="text"]:focus,
.fb-myaccount-wrapper input[type="email"]:focus,
.fb-myaccount-wrapper input[type="password"]:focus {
	border-color: var(--fb-primary) !important;
	box-shadow: 0 0 0 3px var(--fb-primary-light, rgba(2, 74, 76, 0.12)) !important;
}

.fb-field-hint {
	font-size: 11.5px !important;
	color: var(--fb-text-muted) !important;
	margin-top: 4px !important;
}

.fb-password-change-section {
	background: var(--fb-bg-subtle) !important;
	border: 1px solid var(--fb-border-color) !important;
	border-radius: var(--fb-radius-md, 8px) !important;
	padding: 20px !important;
	margin-top: 8px !important;
}

.fb-form-submit-row {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	margin-top: 14px !important;
	width: 100% !important;
}

/* ==========================================================================
   Edit Address Form Styles
   ========================================================================== */
.fb-edit-address-wrap {
	width: 100% !important;
	font-family: var(--fb-font-family) !important;
}

.fb-address-fields-wrap {
	display: flex !important;
	flex-direction: column !important;
	gap: 20px !important;
	width: 100% !important;
}

.fb-fields-grid,
.woocommerce-address-fields__field-wrapper {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 16px !important;
	width: 100% !important;
	float: none !important;
}

@media (max-width: 640px) {
	.fb-fields-grid,
	.woocommerce-address-fields__field-wrapper {
		grid-template-columns: 1fr !important;
		gap: 12px !important;
	}
}

.fb-fields-grid p.form-row,
.woocommerce-address-fields__field-wrapper p.form-row {
	display: flex !important;
	flex-direction: column !important;
	margin: 0 0 14px 0 !important;
	padding: 0 !important;
	float: none !important;
	width: 100% !important;
}

.fb-fields-grid p.form-row-wide,
.woocommerce-address-fields__field-wrapper p.form-row-wide,
.fb-fields-grid #billing_address_1_field,
.fb-fields-grid #billing_address_2_field,
.fb-fields-grid #shipping_address_1_field,
.fb-fields-grid #shipping_address_2_field,
.woocommerce-address-fields__field-wrapper #billing_address_1_field,
.woocommerce-address-fields__field-wrapper #billing_address_2_field,
.woocommerce-address-fields__field-wrapper #shipping_address_1_field,
.woocommerce-address-fields__field-wrapper #shipping_address_2_field {
	grid-column: 1 / -1 !important;
}

.fb-fields-grid label,
.woocommerce-address-fields__field-wrapper label {
	font-family: var(--fb-font-family) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: var(--fb-text-body) !important;
	margin-bottom: 6px !important;
	line-height: 1.4 !important;
}

.fb-fields-grid label .required,
.woocommerce-address-fields__field-wrapper label .required {
	color: var(--fb-danger) !important;
	text-decoration: none !important;
}

.fb-fields-grid input.input-text,
.woocommerce-address-fields__field-wrapper input.input-text,
.fb-fields-grid select:not(.select2-hidden-accessible),
.woocommerce-address-fields__field-wrapper select:not(.select2-hidden-accessible),
.fb-fields-grid textarea,
.woocommerce-address-fields__field-wrapper textarea {
	width: 100% !important;
	height: 46px !important;
	padding: 0 14px !important;
	background: #ffffff !important;
	border: 1.5px solid var(--fb-border-color) !important;
	border-radius: var(--fb-btn-radius, 8px) !important;
	font-size: 14px !important;
	color: var(--fb-text-main) !important;
	font-family: var(--fb-font-family) !important;
	outline: none !important;
	box-sizing: border-box !important;
	transition: all 0.2s ease !important;
}

.fb-fields-grid textarea,
.woocommerce-address-fields__field-wrapper textarea {
	height: auto !important;
	min-height: 90px !important;
	padding: 10px 14px !important;
}

.fb-fields-grid input.input-text:focus,
.woocommerce-address-fields__field-wrapper input.input-text:focus,
.fb-fields-grid select:not(.select2-hidden-accessible):focus,
.woocommerce-address-fields__field-wrapper select:not(.select2-hidden-accessible):focus,
.fb-fields-grid textarea:focus,
.woocommerce-address-fields__field-wrapper textarea:focus {
	border-color: var(--fb-primary) !important;
	box-shadow: 0 0 0 3px var(--fb-primary-light, rgba(2, 74, 76, 0.12)) !important;
}

/* Select2 Accessibility Protection: Prevent hidden select from causing RTL layout overflow */
select.select2-hidden-accessible {
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	border: 0 !important;
	clip: rect(0, 0, 0, 0) !important;
	-webkit-clip-path: inset(50%) !important;
	clip-path: inset(50%) !important;
	overflow: hidden !important;
	position: absolute !important;
	white-space: nowrap !important;
}

/* Select2 / Dropdown Overrides in Address & Account Forms */
.fb-myaccount-wrapper .select2-container .select2-selection--single {
	height: 46px !important;
	border: 1.5px solid var(--fb-border-color) !important;
	border-radius: var(--fb-btn-radius, 8px) !important;
	display: flex !important;
	align-items: center !important;
	font-family: var(--fb-font-family) !important;
}

.fb-myaccount-wrapper .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 44px !important;
	padding-right: 14px !important;
	padding-left: 28px !important;
	color: var(--fb-text-main) !important;
	font-family: var(--fb-font-family) !important;
	font-size: 14px !important;
}

.fb-myaccount-wrapper .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 44px !important;
	left: 10px !important;
	right: auto !important;
}

/* ==========================================================================
   Buttons (Matching Figma Specs & FrontBaz Design Tokens)
   Scoped to defeat Elementor Pro defaults reliably
   ========================================================================== */
.fb-btn-primary,
.woocommerce-address-fields button.button,
.woocommerce-address-fields .button,
button[name="save_address"],
.woocommerce-EditAccountForm button.button,
.woocommerce-EditAccountForm .button,
button[name="save_account_details"],
.woocommerce-form-login button.button,
.woocommerce-form-login__submit,
.woocommerce-ResetPassword button.button,
.elementor-widget-woocommerce-my-account .woocommerce-address-fields .button,
.elementor-widget-woocommerce-my-account .woocommerce-EditAccountForm .button,
.elementor-widget-woocommerce-my-account
	.e-my-account-tab:not(.e-my-account-tab__dashboard--custom)
	.woocommerce-address-fields
	.button,
.elementor-widget-woocommerce-my-account
	.e-my-account-tab:not(.e-my-account-tab__dashboard--custom)
	.woocommerce-EditAccountForm
	.button,
.elementor-widget-woocommerce-my-account
	.e-my-account-tab:not(.e-my-account-tab__dashboard--custom)
	.woocommerce
	.login
	.button,
.elementor-widget-woocommerce-my-account
	.e-my-account-tab:not(.e-my-account-tab__dashboard--custom)
	.woocommerce
	.register
	.button,
.elementor-widget-woocommerce-my-account
	.e-my-account-tab:not(.e-my-account-tab__dashboard--custom)
	.woocommerce
	.woocommerce-ResetPassword
	.button {
	height: var(--fb-btn-height, 48px) !important;
	min-height: var(--fb-btn-height, 48px) !important;
	border-radius: var(--fb-btn-radius, 8px) !important;
	background-color: var(--fb-btn-bg) !important;
	background: var(--fb-btn-bg) !important;
	color: var(--fb-btn-text-color, #ffffff) !important;
	border: none !important;
	font-family: var(--fb-font-family) !important;
	font-size: 14.5px !important;
	font-weight: 700 !important;
	cursor: pointer !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	padding: 0 24px !important;
	box-shadow: var(--fb-btn-shadow) !important;
	text-decoration: none !important;
	user-select: none !important;
	margin: 0 !important;
	line-height: 1 !important;
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.fb-btn-primary:hover,
.woocommerce-address-fields button.button:hover,
.woocommerce-address-fields .button:hover,
button[name="save_address"]:hover,
.woocommerce-EditAccountForm button.button:hover,
.woocommerce-EditAccountForm .button:hover,
button[name="save_account_details"]:hover,
.woocommerce-form-login button.button:hover,
.woocommerce-form-login__submit:hover,
.woocommerce-ResetPassword button.button:hover,
.elementor-widget-woocommerce-my-account .woocommerce-address-fields .button:hover,
.elementor-widget-woocommerce-my-account .woocommerce-EditAccountForm .button:hover,
.elementor-widget-woocommerce-my-account
	.e-my-account-tab:not(.e-my-account-tab__dashboard--custom)
	.woocommerce-address-fields
	.button:hover,
.elementor-widget-woocommerce-my-account
	.e-my-account-tab:not(.e-my-account-tab__dashboard--custom)
	.woocommerce-EditAccountForm
	.button:hover,
.elementor-widget-woocommerce-my-account
	.e-my-account-tab:not(.e-my-account-tab__dashboard--custom)
	.woocommerce
	.login
	.button:hover,
.elementor-widget-woocommerce-my-account
	.e-my-account-tab:not(.e-my-account-tab__dashboard--custom)
	.woocommerce
	.register
	.button:hover,
.elementor-widget-woocommerce-my-account
	.e-my-account-tab:not(.e-my-account-tab__dashboard--custom)
	.woocommerce
	.woocommerce-ResetPassword
	.button:hover {
	background-color: var(--fb-btn-bg-hover) !important;
	background: var(--fb-btn-bg-hover) !important;
	color: #ffffff !important;
	box-shadow: var(--fb-btn-shadow-hover) !important;
	transform: none !important;
}

.fb-btn-sm {
	height: 38px !important;
	min-height: 38px !important;
	font-size: 13px !important;
	padding: 0 14px !important;
	font-family: var(--fb-font-family) !important;
}

.fb-btn-outline,
.fb-btn-outline {
	height: 38px !important;
	border-radius: var(--fb-btn-radius, 8px) !important;
	background: transparent !important;
	border: 1.5px solid var(--fb-border-color) !important;
	color: var(--fb-text-main, #1f2937) !important;
	font-family: var(--fb-font-family) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 14px !important;
	text-decoration: none !important;
	transition: all 0.2s ease !important;
}

.fb-btn-outline:hover,
.fb-btn-outline:hover {
	border-color: var(--fb-primary) !important;
	color: var(--fb-primary) !important;
	background: var(--fb-primary-light) !important;
}

/* Empty State */
.fb-empty-state {
	text-align: center !important;
	padding: 40px 20px !important;
	background: var(--fb-bg-subtle) !important;
	border-radius: var(--fb-radius-md, 8px) !important;
	border: 1.5px dashed var(--fb-border-color) !important;
}

.fb-empty-icon {
	color: var(--fb-text-subtle) !important;
	margin-bottom: 14px !important;
}

.fb-empty-title {
	font-size: 16px !important;
	font-weight: 700 !important;
	color: var(--fb-text-main) !important;
	margin: 0 0 6px 0 !important;
}

.fb-empty-desc {
	font-size: 13px !important;
	color: var(--fb-text-muted) !important;
	margin: 0 0 18px 0 !important;
	max-width: 400px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* ==========================================================================
   View Order / Digital Invoice Page Styles (.fb-invoice-*)
   ========================================================================== */
.fb-view-order-wrap {
	width: 100% !important;
	box-sizing: border-box !important;
}

.fb-view-order-topbar {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 16px !important;
	margin-bottom: 20px !important;
	padding-bottom: 16px !important;
	border-bottom: 1px solid var(--fb-border-color) !important;
}

.fb-btn-print {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	height: 38px !important;
	padding: 0 16px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: var(--fb-text-main) !important;
	background: #ffffff !important;
	border: 1.5px solid var(--fb-border-color) !important;
	border-radius: var(--fb-radius-btn, 8px) !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	box-shadow: none !important;
}

.fb-btn-print:hover {
	background: var(--fb-bg-surface, #f9fafb) !important;
	border-color: var(--fb-border-hover, #cbd5e1) !important;
	color: var(--fb-primary) !important;
}

.fb-invoice-card {
	background: #ffffff !important;
	border: 1px solid var(--fb-border-color) !important;
	border-radius: var(--fb-radius-card, 8px) !important;
	box-shadow: 0 4px 16px -2px rgba(0, 0, 0, 0.04) !important;
	overflow: hidden !important;
}

.fb-invoice-header {
	padding: 24px 28px !important;
	background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%) !important;
	border-bottom: 1px solid var(--fb-border-color) !important;
}

.fb-invoice-title-row {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 14px !important;
	flex-wrap: wrap !important;
	margin-bottom: 6px !important;
}

.fb-invoice-title {
	font-size: 20px !important;
	font-weight: 800 !important;
	color: var(--fb-text-main) !important;
	margin: 0 !important;
	letter-spacing: -0.01em !important;
}

.fb-invoice-subtitle {
	font-size: 13px !important;
	color: var(--fb-text-muted) !important;
	margin: 0 !important;
}

/* 4-Grid Key Meta Highlights */
.fb-invoice-meta-grid {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 14px !important;
	padding: 20px 28px !important;
	background: #ffffff !important;
	border-bottom: 1px solid var(--fb-border-light) !important;
}

@media (max-width: 768px) {
	.fb-invoice-meta-grid {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 480px) {
	.fb-invoice-meta-grid {
		grid-template-columns: 1fr !important;
	}
}

.fb-meta-item {
	background: var(--fb-bg-subtle) !important;
	border: 1px solid #edf2f7 !important;
	border-radius: var(--fb-radius-box, 8px) !important;
	padding: 12px 14px !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
}

.fb-meta-label {
	font-size: 12px !important;
	font-weight: 600 !important;
	color: var(--fb-text-muted) !important;
}

.fb-meta-val {
	font-size: 14px !important;
	font-weight: 700 !important;
	color: var(--fb-text-main) !important;
	line-height: 1.4 !important;
}

.fb-meta-val.fb-order-num,
.fb-meta-val.fb-total-num {
	color: var(--fb-primary) !important;
	font-weight: 800 !important;
}

/* Items Table */
.fb-invoice-table-wrap {
	padding: 24px 28px 16px !important;
}

.fb-invoice-section-title {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	color: var(--fb-text-main) !important;
	margin: 0 0 16px 0 !important;
}

.fb-invoice-section-title svg {
	color: var(--fb-primary) !important;
}

.fb-invoice-table {
	width: 100% !important;
	border-collapse: collapse !important;
	text-align: start !important;
}

.fb-invoice-table thead th {
	padding: 12px 14px !important;
	font-size: 12.5px !important;
	font-weight: 700 !important;
	color: var(--fb-text-muted) !important;
	background: var(--fb-bg-subtle) !important;
	border-bottom: 2px solid #e2e8f0 !important;
	text-align: start !important;
}

.fb-invoice-table thead th.fb-th-qty {
	text-align: center !important;
	width: 80px !important;
}

.fb-invoice-table thead th.fb-th-price,
.fb-invoice-table thead th.fb-th-total {
	text-align: end !important;
	width: 140px !important;
}

.fb-invoice-row td {
	padding: 16px 14px !important;
	border-bottom: 1px solid var(--fb-border-light) !important;
	vertical-align: middle !important;
	font-size: 13.5px !important;
	color: var(--fb-text-main) !important;
}

.fb-invoice-row:last-child td {
	border-bottom: none !important;
}

.fb-product-cell {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
}

.fb-product-thumb {
	width: 52px !important;
	height: 52px !important;
	border-radius: var(--fb-radius-box, 8px) !important;
	overflow: hidden !important;
	border: 1px solid var(--fb-border-color) !important;
	flex-shrink: 0 !important;
	background: #ffffff !important;
}

.fb-product-thumb img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}

.fb-product-info {
	display: flex !important;
	flex-direction: column !important;
	gap: 4px !important;
}

.fb-product-link,
.fb-product-name {
	font-size: 14px !important;
	font-weight: 700 !important;
	color: var(--fb-text-main) !important;
	text-decoration: none !important;
	line-height: 1.4 !important;
	transition: color 0.2s ease !important;
}

.fb-product-link:hover {
	color: var(--fb-primary) !important;
}

.fb-product-info .wc-item-meta {
	margin: 2px 0 0 0 !important;
	padding: 0 !important;
	list-style: none !important;
	font-size: 12px !important;
	color: var(--fb-text-muted) !important;
}

.fb-td-price {
	text-align: end !important;
	font-size: 13.5px !important;
	font-weight: 600 !important;
	color: var(--fb-text-muted) !important;
	white-space: nowrap !important;
}

.fb-td-qty {
	text-align: center !important;
}

.fb-item-qty-badge {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: #f1f5f9 !important;
	color: var(--fb-text-body) !important;
	font-size: 12.5px !important;
	font-weight: 700 !important;
	padding: 3px 10px !important;
	border-radius: var(--fb-radius-sm, 6px) !important;
	border: 1px solid var(--fb-border-color) !important;
}

.fb-td-total {
	text-align: end !important;
	font-size: 14.5px !important;
	font-weight: 800 !important;
	color: var(--fb-primary) !important;
	white-space: nowrap !important;
}

/* Financial Totals Breakdown Box (Desktop Base) */
.fb-invoice-totals-section {
	padding: 0 28px 24px !important;
	display: flex !important;
	justify-content: flex-end !important;
}

.fb-invoice-totals-box {
	width: 360px !important;
	max-width: 100% !important;
	background: var(--fb-bg-subtle) !important;
	border: 1px solid var(--fb-border-color) !important;
	border-radius: var(--fb-radius-box, 8px) !important;
	padding: 16px 20px !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
}

.fb-totals-row {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	font-size: 13.5px !important;
	color: var(--fb-text-body) !important;
	padding: 4px 0 !important;
}

.fb-total-label {
	color: var(--fb-text-muted) !important;
	font-weight: 600 !important;
}

.fb-total-val {
	font-weight: 700 !important;
	color: var(--fb-text-main) !important;
}

.fb-totals-row-final {
	border-top: 1px dashed #cbd5e1 !important;
	padding-top: 12px !important;
	margin-top: 6px !important;
}

.fb-totals-row-final .fb-total-label {
	font-size: 15px !important;
	font-weight: 800 !important;
	color: var(--fb-text-main) !important;
}

.fb-totals-row-final .fb-total-val {
	font-size: 18px !important;
	font-weight: 900 !important;
	color: var(--fb-primary) !important;
}

.fb-total-discount .fb-total-val {
	color: var(--fb-success) !important;
}

/* Customer Addresses Section */
.fb-invoice-addresses-section {
	padding: 24px 28px !important;
	border-top: 1px solid var(--fb-border-color) !important;
	background: #ffffff !important;
}

.fb-addresses-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
	gap: 16px !important;
}

.fb-address-box {
	background: var(--fb-bg-subtle) !important;
	border: 1px solid #edf2f7 !important;
	border-radius: var(--fb-radius-card, 8px) !important;
	padding: 18px 20px !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
}

.fb-address-box-header {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	padding-bottom: 10px !important;
	border-bottom: 1px solid var(--fb-border-color) !important;
}

.fb-address-box-header svg {
	color: var(--fb-primary) !important;
}

.fb-address-box-header h5 {
	font-size: 14px !important;
	font-weight: 700 !important;
	color: var(--fb-text-main) !important;
	margin: 0 !important;
}

.fb-address-box-body {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
}

.fb-address-text {
	font-size: 13.5px !important;
	line-height: 1.7 !important;
	color: var(--fb-text-body) !important;
	margin: 0 !important;
}

.fb-address-contacts {
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
	padding-top: 8px !important;
	border-top: 1px dashed #e2e8f0 !important;
}

.fb-contact-item {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-size: 13px !important;
	color: var(--fb-text-muted) !important;
}

.fb-contact-item svg {
	color: var(--fb-primary) !important;
	flex-shrink: 0 !important;
}

.fb-contact-email {
	direction: ltr !important;
	unicode-bidi: embed !important;
}

/* Customer Note Box */
.fb-invoice-note-box {
	margin: 0 28px 24px !important;
	padding: 16px 20px !important;
	background: #fffbeb !important;
	border: 1px solid #fef3c7 !important;
	border-radius: var(--fb-radius-box, 8px) !important;
}

.fb-note-title {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	font-size: 13.5px !important;
	font-weight: 700 !important;
	color: #92400e !important;
	margin: 0 0 6px 0 !important;
}

.fb-note-content {
	font-size: 13px !important;
	line-height: 1.6 !important;
	color: #78350f !important;
	margin: 0 !important;
}

/* Order Updates Timeline */
.fb-invoice-updates-section {
	padding: 20px 28px !important;
	border-top: 1px solid var(--fb-border-color) !important;
	background: var(--fb-bg-subtle) !important;
}

.fb-updates-title {
	font-size: 14px !important;
	font-weight: 700 !important;
	color: var(--fb-text-main) !important;
	margin: 0 0 14px 0 !important;
}

.fb-updates-list {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
}

.fb-update-item {
	padding: 12px 16px !important;
	background: #ffffff !important;
	border: 1px solid var(--fb-border-color) !important;
	border-radius: var(--fb-radius-sm, 6px) !important;
}

.fb-update-date {
	font-size: 12px !important;
	font-weight: 600 !important;
	color: var(--fb-text-muted) !important;
	display: block !important;
	margin-bottom: 4px !important;
}

.fb-update-content {
	font-size: 13px !important;
	color: var(--fb-text-body) !important;
	line-height: 1.5 !important;
}

/* Highlight Removal & Fallback Safety */
mark.order-number,
mark.order-date,
mark.order-status {
	background: transparent !important;
	font-weight: 700 !important;
	color: var(--fb-primary) !important;
	padding: 0 !important;
}

/* ==========================================================================
   Mobile Responsive Alignment & Card Transformation for Invoice (View Order)
   ========================================================================== */
@media (max-width: 640px) {
	.fb-invoice-card {
		padding: 0 !important;
	}

	.fb-invoice-header {
		padding: 16px 14px 14px !important;
	}

	.fb-invoice-meta-grid {
		padding: 14px !important;
		grid-template-columns: 1fr 1fr !important;
		gap: 10px !important;
	}

	.fb-invoice-table-wrap {
		padding: 14px 14px 8px !important;
		overflow: visible !important;
	}

	.fb-invoice-table {
		display: block !important;
		width: 100% !important;
	}

	.fb-invoice-table thead {
		display: none !important;
	}

	.fb-invoice-table tbody {
		display: flex !important;
		flex-direction: column !important;
		gap: 10px !important;
		width: 100% !important;
	}

	.fb-invoice-table tbody tr.fb-invoice-row {
		display: flex !important;
		flex-wrap: wrap !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 8px 12px !important;
		padding: 12px 14px !important;
		background: var(--fb-bg-subtle) !important;
		border: 1px solid var(--fb-border-color, #e2e8f0) !important;
		border-radius: var(--fb-radius-md, 8px) !important;
		box-sizing: border-box !important;
		width: 100% !important;
	}

	.fb-invoice-table tbody tr.fb-invoice-row td {
		padding: 0 !important;
		border: none !important;
		box-sizing: border-box !important;
	}

	.fb-invoice-table tbody tr.fb-invoice-row td.fb-td-product {
		width: 100% !important;
		order: 1 !important;
		padding-bottom: 8px !important;
		border-bottom: 1px dashed #e2e8f0 !important;
	}

	.fb-product-cell {
		display: flex !important;
		align-items: flex-start !important;
		gap: 10px !important;
	}

	.fb-product-thumb {
		width: 44px !important;
		height: 44px !important;
		border-radius: var(--fb-radius-sm, 6px) !important;
		flex-shrink: 0 !important;
	}

	.fb-product-info {
		flex: 1 !important;
		min-width: 0 !important;
	}

	.fb-product-link,
	.fb-product-name {
		font-size: 13px !important;
		font-weight: 700 !important;
		line-height: 1.45 !important;
		display: block !important;
		word-break: break-word !important;
	}

	/* Row 2: Quantity Badge + Unit Price */
	.fb-invoice-table tbody tr.fb-invoice-row td.fb-td-qty {
		order: 2 !important;
		display: flex !important;
		align-items: center !important;
	}

	.fb-invoice-table tbody tr.fb-invoice-row td.fb-td-qty .fb-item-qty-badge {
		font-size: 11px !important;
		font-weight: 700 !important;
		padding: 2px 7px !important;
		border-radius: 4px !important;
		background: #ffffff !important;
		border: 1px solid var(--fb-border-hover) !important;
		white-space: nowrap !important;
	}

	.fb-invoice-table tbody tr.fb-invoice-row td.fb-td-qty .fb-item-qty-badge::after {
		content: " عدد" !important;
	}

	.fb-invoice-table tbody tr.fb-invoice-row td.fb-td-price {
		order: 3 !important;
		font-size: 12px !important;
		color: var(--fb-text-muted) !important;
		display: flex !important;
		align-items: center !important;
		gap: 4px !important;
		white-space: nowrap !important;
	}

	.fb-invoice-table tbody tr.fb-invoice-row td.fb-td-price::before {
		content: "قیمت واحد:" !important;
		font-size: 11px !important;
		color: var(--fb-text-muted) !important;
	}

	/* Row 3: Total price (Full width flex row with label) */
	.fb-invoice-table tbody tr.fb-invoice-row td.fb-td-total {
		width: 100% !important;
		order: 4 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		padding-top: 6px !important;
		border-top: 1px dashed #e2e8f0 !important;
		font-size: 13.5px !important;
		font-weight: 800 !important;
		color: var(--fb-primary) !important;
		white-space: nowrap !important;
	}

	.fb-invoice-table tbody tr.fb-invoice-row td.fb-td-total::before {
		content: "مجموع کل این قلم:" !important;
		font-size: 11.5px !important;
		font-weight: 600 !important;
		color: var(--fb-text-muted) !important;
	}

	.fb-invoice-table tbody tr.fb-invoice-row td.fb-td-total .fb-item-line-total {
		color: var(--fb-primary) !important;
		font-weight: 800 !important;
	}

	/* Financial Totals Breakdown Box: Perfect 100% width and aligned padding */
	.fb-invoice-totals-section {
		padding: 0 14px 16px !important;
		width: 100% !important;
		box-sizing: border-box !important;
		display: block !important;
	}

	.fb-invoice-totals-box {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		padding: 14px !important;
	}

	.fb-invoice-addresses-section {
		padding: 14px !important;
	}

	.fb-invoice-note-box {
		margin: 0 14px 14px !important;
		padding: 14px !important;
	}

	.fb-invoice-updates-section {
		padding: 14px !important;
	}
}

/* Print Rules */
@media print {
	.fb-myaccount-sidebar,
	.fb-view-order-topbar,
	header,
	footer,
	#wpadminbar {
		display: none !important;
	}
	.fb-myaccount-grid {
		display: block !important;
	}
	.fb-myaccount-main,
	.fb-myaccount-content-card,
	.fb-invoice-card {
		border: none !important;
		box-shadow: none !important;
		padding: 0 !important;
		margin: 0 !important;
	}
}
