/**
 * CNC My Account Style.
 *
 * Designed with premium aesthetics, clean spacing, and modern typography.
 */

:root {
	--cnc-primary: #1F2937;
	--cnc-secondary: #F97316;
	--cnc-active-bg: #FFF7ED;
	--cnc-active-text: #F97316;
	--cnc-hover-bg: #F9FAFB;
	--cnc-radius: 16px;
	
	/* Neutral shades */
	--cnc-gray-50: #F9FAFB;
	--cnc-gray-100: #F3F4F6;
	--cnc-gray-200: #E5E7EB;
	--cnc-gray-300: #D1D5DB;
	--cnc-gray-400: #9CA3AF;
	--cnc-gray-500: #6B7280;
	--cnc-gray-600: #4B5563;
	--cnc-gray-700: #374151;
	--cnc-gray-800: #1F2937;
	--cnc-gray-900: #111827;
}

/* Base Wrapper Settings */
.cnc-my-account-wrapper {
	display: flex;
	flex-direction: row;
	gap: 32px;
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
	color: var(--cnc-gray-800);
	background-color: transparent;
	width: 100%;
	max-width: 1320px;
	margin: 40px auto;
	padding: 0 24px;
	box-sizing: border-box;
	line-height: 1.5;
	height: auto !important;
	min-height: 0 !important;
}

.cnc-my-account-wrapper * {
	box-sizing: border-box;
}

/* ==========================================================================
   SIDEBAR STYLING
   ========================================================================== */
.cnc-sidebar-col {
	width: 300px;
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	gap: 24px;
	align-self: flex-start;
	height: auto !important;
	min-height: 0 !important;
}

.cnc-sidebar {
	width: 100%;
	background: #FFFFFF;
	border: 1px solid var(--cnc-gray-200);
	border-radius: var(--cnc-radius);
	padding: 24px;
	box-shadow: 0 4px 12px -2px rgba(0, 0, 0, 0.03), 0 2px 6px -1px rgba(0, 0, 0, 0.02);
	display: flex;
	flex-direction: column;
	gap: 28px;
	position: relative;
	height: auto !important;
	min-height: 0 !important;
}

/* Profile Card */
.cnc-profile-card {
	display: flex;
	align-items: center;
	gap: 16px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--cnc-gray-100);
}

.cnc-avatar-container {
	position: relative;
	width: 54px;
	height: 54px;
}

.cnc-avatar-wrapper {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	overflow: hidden;
	background: var(--cnc-gray-100);
	display: flex;
	align-items: center;
	justify-content: center;
	border: 2px solid #FFFFFF;
	box-shadow: 0 0 0 2px var(--cnc-gray-200);
	position: relative;
	transition: all 0.3s ease;
}

.cnc-avatar-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cnc-avatar-initials {
	font-family: 'Outfit', sans-serif;
	font-size: 18px;
	font-weight: 700;
	color: var(--cnc-primary);
}

/* Avatar Upload styling */
.cnc-upload-enabled .cnc-avatar-wrapper {
	cursor: pointer;
}

.cnc-upload-enabled .cnc-avatar-wrapper:hover {
	box-shadow: 0 0 0 2px var(--cnc-secondary);
}

.cnc-avatar-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(31, 41, 55, 0.6);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: opacity 0.2s ease;
}

.cnc-upload-enabled .cnc-avatar-wrapper:hover .cnc-avatar-overlay {
	opacity: 1;
}

.cnc-camera-icon {
	width: 18px;
	height: 18px;
	color: #FFFFFF;
}

.cnc-upload-status {
	position: absolute;
	bottom: -8px;
	left: 50%;
	transform: translateX(-50%);
	background: var(--cnc-primary);
	color: #FFFFFF;
	font-size: 9px;
	font-weight: 600;
	padding: 2px 8px;
	border-radius: 20px;
	white-space: nowrap;
	box-shadow: 0 2px 4px rgba(0,0,0,0.1);
	opacity: 0;
	visibility: hidden;
	transition: all 0.2s ease;
}

.cnc-upload-status.cnc-show {
	opacity: 1;
	visibility: visible;
	bottom: -4px;
}

.cnc-avatar-wrapper.cnc-loading .cnc-avatar-overlay {
	opacity: 1;
}

.cnc-profile-info {
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.cnc-profile-name {
	font-family: 'Outfit', sans-serif;
	font-size: 16px;
	font-weight: 700;
	color: var(--cnc-gray-900);
	margin: 0 0 2px 0;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}

.cnc-profile-email {
	font-size: 12px;
	color: var(--cnc-gray-500);
	margin: 0;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}

/* Sidebar Navigation Menu */
.cnc-nav-menu {
	width: 100%;
}

.cnc-nav-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.cnc-nav-item {
	margin: 0;
}

.cnc-nav-item a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 11px 16px;
	border-radius: 10px;
	color: var(--cnc-gray-600);
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.cnc-nav-item a:hover {
	background-color: var(--cnc-hover-bg);
	color: var(--cnc-gray-900);
}

.cnc-nav-icon-box {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	transition: transform 0.2s ease;
}

.cnc-nav-item a:hover .cnc-nav-icon-box {
	transform: scale(1.05);
}

.cnc-icon {
	width: 18px;
	height: 18px;
	stroke-width: 2;
}

.cnc-nav-text {
	line-height: 1;
}

/* Active navigation state */
.cnc-nav-item.cnc-active a {
	background-color: var(--cnc-active-bg);
	color: var(--cnc-active-text);
	font-weight: 600;
}

.cnc-nav-item.cnc-active .cnc-icon {
	color: var(--cnc-active-text);
}

/* Need Help Card */
.cnc-help-card {
	background: var(--cnc-gray-50);
	border: 1px solid var(--cnc-gray-100);
	border-radius: 12px;
	padding: 20px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	margin-top: auto;
}

.cnc-help-icon-wrapper {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--cnc-active-bg);
	display: flex;
	align-items: center;
	justify-content: center;
}

.cnc-help-icon {
	width: 20px;
	height: 20px;
	color: var(--cnc-secondary);
}

.cnc-help-title {
	font-family: 'Outfit', sans-serif;
	font-size: 15px;
	font-weight: 700;
	color: var(--cnc-gray-900);
	margin: 0;
}

.cnc-help-description {
	font-size: 12px;
	color: var(--cnc-gray-500);
	line-height: 1.6;
	margin: 0;
}

.cnc-help-btn {
	width: 100%;
	padding: 10px 16px;
	border: 1px solid var(--cnc-secondary);
	border-radius: 8px;
	color: var(--cnc-secondary);
	background: #FFFFFF;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	text-align: center;
	transition: all 0.2s ease;
	cursor: pointer;
}

.cnc-help-btn:hover {
	background: var(--cnc-secondary);
	color: #FFFFFF;
}

/* ==========================================================================
   MAIN CONTENT AREA STYLING
   ========================================================================== */
.cnc-content {
	flex-grow: 1;
	width: calc(100% - 332px);
	display: flex;
	flex-direction: column;
	gap: 32px;
}

/* Dashboard Header */
.cnc-dashboard-header {
	margin-bottom: 8px;
}

.cnc-dashboard-title {
	font-family: 'Outfit', sans-serif;
	font-size: 32px;
	font-weight: 800;
	color: var(--cnc-primary);
	margin: 0 0 8px 0;
	letter-spacing: -0.02em;
}

.cnc-dashboard-greeting {
	font-family: 'Outfit', sans-serif;
	font-size: 20px;
	font-weight: 700;
	color: var(--cnc-gray-900);
	margin: 0 0 6px 0;
}

.cnc-dashboard-subtext {
	font-size: 14px;
	color: var(--cnc-gray-500);
	margin: 0;
}

/* Stats Cards Grid */
.cnc-stats-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	height: auto !important;
	min-height: 0 !important;
}

.cnc-stat-card {
	background: #FFFFFF;
	border: 1px solid var(--cnc-gray-200);
	border-radius: 12px;
	padding: 20px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.01);
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
}

.cnc-stat-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.03), 0 4px 6px -2px rgba(0, 0, 0, 0.01);
	border-color: var(--cnc-gray-300);
}

.cnc-stat-card-inner {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	height: 100% !important;
	flex-grow: 1 !important;
}

.cnc-stat-icon-wrapper {
	width: 44px;
	height: 44px;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.cnc-stat-icon {
	width: 20px;
	height: 20px;
}

.cnc-stat-currency-symbol {
	font-family: 'Outfit', sans-serif;
	font-size: 20px;
	font-weight: 700;
}

/* Stat card category specific colors */
.cnc-stat-orders .cnc-stat-icon-wrapper {
	background-color: rgba(99, 102, 241, 0.08); /* Light Indigo */
	color: #6366F1;
}
.cnc-stat-downloads .cnc-stat-icon-wrapper {
	background-color: rgba(16, 185, 129, 0.08); /* Light Green */
	color: #10B981;
}
.cnc-stat-spent .cnc-stat-icon-wrapper {
	background-color: rgba(249, 115, 22, 0.08); /* Light Orange */
	color: #F97316;
}
.cnc-stat-cart .cnc-stat-icon-wrapper {
	background-color: rgba(59, 130, 246, 0.08); /* Light Blue */
	color: #3B82F6;
}

.cnc-stat-info {
	display: flex;
	flex-direction: column;
	width: 100%;
	justify-content: space-between;
	height: 100% !important;
	flex-grow: 1 !important;
}

.cnc-stat-label {
	font-size: 11px;
	font-weight: 600;
	color: var(--cnc-gray-400);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: 2px;
}

.cnc-stat-value {
	font-family: 'Outfit', sans-serif;
	font-size: 24px;
	font-weight: 800;
	color: var(--cnc-gray-900);
	line-height: 1.2;
	margin-bottom: 8px;
}

.cnc-stat-link {
	font-size: 11px;
	font-weight: 600;
	color: var(--cnc-secondary);
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	transition: opacity 0.2s ease;
}

.cnc-stat-link:hover {
	opacity: 0.85;
}

/* Dashboard Sections (Recent Orders & Downloads) */
.cnc-dashboard-section {
	background: #FFFFFF !important;
	border: 1px solid var(--cnc-gray-200) !important;
	border-radius: var(--cnc-radius) !important;
	padding: 28px !important;
	box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.02), 0 8px 16px -6px rgba(0, 0, 0, 0.01) !important;
}

.cnc-section-header {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	margin-bottom: 24px !important;
	padding-bottom: 0 !important;
	border-bottom: none !important;
}

.cnc-section-title-wrapper {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
}

.cnc-section-title-icon {
	width: 20px !important;
	height: 20px !important;
	color: var(--cnc-gray-400) !important;
}

.cnc-section-title {
	font-family: 'Outfit', sans-serif !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	color: var(--cnc-primary) !important;
	margin: 0 !important;
}

.cnc-section-action-btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 8px 16px !important;
	background-color: #FFFFFF !important;
	border: 1px solid var(--cnc-gray-200) !important;
	color: var(--cnc-gray-700) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	border-radius: 20px !important; /* Premium pill shape */
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03) !important;
}

.cnc-section-action-btn:hover {
	background-color: var(--cnc-hover-bg) !important;
	border-color: var(--cnc-gray-300) !important;
	color: var(--cnc-gray-900) !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05) !important;
}

/* Responsive Tables & Modern Grid Borders */
.cnc-table-responsive {
	overflow-x: auto !important;
	width: 100% !important;
	border: 1px solid var(--cnc-gray-200) !important;
	border-radius: 8px !important;
	overflow: hidden !important;
	background: #FFFFFF !important;
}

.cnc-table {
	width: 100% !important;
	border-collapse: collapse !important;
	text-align: left !important;
	font-size: 13px !important;
}

.cnc-table th, 
.cnc-table td {
	border: 1px solid var(--cnc-gray-200) !important;
}

.cnc-table thead {
	background-color: var(--cnc-gray-50) !important;
}

.cnc-table th {
	padding: 14px 18px !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	color: var(--cnc-gray-500) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
}

.cnc-table td {
	padding: 16px 18px !important;
	vertical-align: middle !important;
	color: var(--cnc-gray-700) !important;
}

.cnc-table tbody tr {
	transition: background-color 0.2s ease !important;
}

.cnc-table tbody tr:hover {
	background-color: var(--cnc-hover-bg) !important;
}

/* Keep last row border intact for unified grid look */

/* Product Info Cell */
.cnc-product-cell {
	min-width: 220px !important;
}

.cnc-product-info {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
}

.cnc-product-thumbnail {
	width: 44px !important;
	height: 44px !important;
	border-radius: 8px !important;
	object-fit: cover !important;
	border: 1px solid var(--cnc-gray-100) !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
}

.cnc-product-name {
	font-weight: 600 !important;
	color: var(--cnc-gray-900) !important;
}

.cnc-product-version {
	font-size: 11px !important;
	color: var(--cnc-gray-400) !important;
	margin-top: 2px !important;
}

.cnc-order-number {
	font-weight: 600 !important;
	color: var(--cnc-gray-800) !important;
}

/* Badges */
.cnc-badge {
	display: inline-block !important;
	padding: 5px 12px !important;
	border-radius: 20px !important; /* Rounded pill style */
	font-size: 11px !important;
	font-weight: 600 !important;
	text-align: center !important;
	letter-spacing: 0.02em !important;
}

.cnc-badge-success {
	background-color: #ECFDF5 !important; /* Light emerald tint */
	color: #047857 !important; /* Emerald text */
}

.cnc-badge-info {
	background-color: #EFF6FF !important; /* Light blue tint */
	color: #1D4ED8 !important; /* Blue text */
}

.cnc-badge-warning {
	background-color: #FFFBEB !important; /* Light amber tint */
	color: #B45309 !important; /* Amber text */
}

.cnc-badge-danger {
	background-color: #FEF2F2 !important; /* Light red tint */
	color: #B91C1C !important; /* Red text */
}

.cnc-badge-default {
	background-color: var(--cnc-gray-100) !important;
	color: var(--cnc-gray-600) !important;
}

.cnc-actions-column {
	text-align: right !important;
	width: 195px !important;
}

.cnc-date-cell, .cnc-expires-cell {
	color: var(--cnc-gray-500) !important;
}

/* Download Actions Split Button */
.cnc-download-btn-split {
	display: inline-flex !important;
	align-items: stretch !important;
	background-color: #FFFFFF !important;
	border: 1px solid #DDD6FE !important; /* Soft violet border */
	border-radius: 8px !important;
	text-decoration: none !important;
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
	cursor: pointer !important;
	overflow: hidden !important;
	padding: 0 !important;
}

.cnc-download-btn-left {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	padding: 8px 14px !important;
	color: #6D28D9 !important; /* Rich violet text */
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	white-space: nowrap !important; /* Keep words on one line */
	transition: all 0.2s ease !important;
}

.cnc-download-btn-divider {
	width: 1px !important;
	background-color: #E9D5FF !important; /* Soft purple divider */
	align-self: stretch !important;
	transition: all 0.2s ease !important;
}

.cnc-download-btn-right {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 8px 12px !important;
	color: #6D28D9 !important; /* Rich violet icon */
	transition: all 0.2s ease !important;
}

.cnc-download-btn-split:hover {
	border-color: #7C3AED !important; /* Deeper violet on hover */
	background-color: #F5F3FF !important; /* Soft violet tint on hover */
	box-shadow: 0 4px 12px -2px rgba(109, 40, 217, 0.12) !important;
}

.cnc-download-btn-split:hover .cnc-download-btn-divider {
	background-color: #C084FC !important;
}

.cnc-download-btn-split:hover .cnc-download-btn-left,
.cnc-download-btn-split:hover .cnc-download-btn-right,
.cnc-download-btn-split:hover .cnc-btn-icon,
.cnc-download-btn-split:hover .cnc-arrow-icon {
	color: #5B21B6 !important; /* Deeper purple on hover */
}

.cnc-btn-icon {
	width: 14px !important;
	height: 14px !important;
	color: #6D28D9 !important;
	stroke-width: 2 !important;
	transition: all 0.2s ease !important;
}

.cnc-arrow-icon {
	width: 12px !important;
	height: 12px !important;
	color: #6D28D9 !important;
	stroke-width: 2.5 !important;
	transition: all 0.2s ease !important;
}

/* View Order Link */
.cnc-view-order-link {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 6px 16px !important;
	border: 1px solid var(--cnc-secondary) !important;
	border-radius: 20px !important; /* Pill style */
	color: var(--cnc-secondary) !important;
	font-weight: 600 !important;
	font-size: 12px !important;
	text-decoration: none !important;
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
	background-color: #FFFFFF !important;
}

.cnc-view-order-link:hover {
	background-color: var(--cnc-secondary) !important;
	color: #FFFFFF !important;
	box-shadow: 0 4px 12px -2px rgba(249, 115, 22, 0.25) !important;
	transform: translateY(-1px) !important;
}

.cnc-link-arrow {
	display: none !important; /* Hide raw arrow text */
}

/* Empty states */
.cnc-empty-state {
	text-align: center;
	padding: 40px 20px;
	color: var(--cnc-gray-400);
}

.cnc-empty-icon {
	width: 40px;
	height: 40px;
	margin-bottom: 12px;
	stroke-width: 1.5;
}

.cnc-empty-state p {
	font-size: 14px;
	margin: 0;
}

/* ==========================================================================
   WOOCOMMERCE CORE ENDPOINT STYLE OVERRIDES
   ========================================================================== */
.cnc-endpoint-container {
	background: #FFFFFF;
	border: 1px solid var(--cnc-gray-200);
	border-radius: var(--cnc-radius);
	padding: 28px;
	box-shadow: 0 4px 10px -2px rgba(0, 0, 0, 0.02);
	height: auto !important;
	min-height: 0 !important;
}

.cnc-endpoint-header {
	margin-bottom: 24px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--cnc-gray-100);
}

.cnc-endpoint-title {
	font-family: 'Outfit', sans-serif;
	font-size: 22px;
	font-weight: 700;
	color: var(--cnc-primary);
	margin: 0;
}

/* Forms general styling */
.cnc-endpoint-container form {
	margin-top: 10px;
}

.cnc-endpoint-container p.form-row {
	display: block;
	margin-bottom: 22px;
	width: 100%;
}

.cnc-endpoint-container p.form-row label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: var(--cnc-gray-700);
	margin-bottom: 8px;
}

.cnc-endpoint-container input[type="text"],
.cnc-endpoint-container input[type="email"],
.cnc-endpoint-container input[type="tel"],
.cnc-endpoint-container input[type="password"],
.cnc-endpoint-container select,
.cnc-endpoint-container textarea {
	width: 100% !important;
	padding: 12px 16px !important;
	border-radius: 8px !important;
	border: 1px solid var(--cnc-gray-200) !important;
	background-color: var(--cnc-gray-50) !important;
	font-size: 14px !important;
	color: var(--cnc-gray-800) !important;
	outline: none !important;
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.cnc-endpoint-container input:focus,
.cnc-endpoint-container select:focus,
.cnc-endpoint-container textarea:focus {
	border-color: var(--cnc-secondary) !important;
	background-color: #FFFFFF !important;
	box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.1) !important;
}

/* Modern fieldset & legend overrides */
.cnc-endpoint-container fieldset {
	border: 0 !important;
	padding: 0 !important;
	margin: 32px 0 0 0 !important;
}

.cnc-endpoint-container legend {
	font-family: 'Outfit', sans-serif !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	color: var(--cnc-primary) !important;
	padding: 0 0 10px 0 !important;
	margin-bottom: 24px !important;
	border-bottom: 1px solid var(--cnc-gray-100) !important;
	width: 100% !important;
	display: block !important;
}

/* Form description/subtext overrides */
.cnc-endpoint-container span.description,
.cnc-endpoint-container em,
.cnc-endpoint-container small {
	font-style: normal !important;
	font-size: 12px !important;
	color: var(--cnc-gray-500) !important;
	display: block !important;
	margin-top: 8px !important;
	line-height: 1.5 !important;
}

/* WooCommerce shop_table custom overrides */
.cnc-endpoint-container table.shop_table {
	width: 100% !important;
	border-collapse: collapse !important;
	border: 0 !important;
	margin: 20px 0 !important;
	font-size: 13px !important;
}

.cnc-endpoint-container table.shop_table thead {
	background: var(--cnc-gray-50) !important;
}

.cnc-endpoint-container table.shop_table th {
	padding: 12px 16px !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	color: var(--cnc-gray-500) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
	border-bottom: 1px solid var(--cnc-gray-200) !important;
	border-top: 0 !important;
	border-left: 0 !important;
	border-right: 0 !important;
}

.cnc-endpoint-container table.shop_table td {
	padding: 16px !important;
	border-bottom: 1px solid var(--cnc-gray-100) !important;
	border-top: 0 !important;
	border-left: 0 !important;
	border-right: 0 !important;
	color: var(--cnc-gray-700) !important;
}

.cnc-endpoint-container table.shop_table tbody tr:hover {
	background-color: var(--cnc-gray-50) !important;
}

.cnc-endpoint-container table.shop_table tbody tr:last-child td {
	border-bottom: 0 !important;
}

.cnc-endpoint-container table.shop_table a.button {
	padding: 8px 16px !important;
	font-size: 12px !important;
	background-color: var(--cnc-primary) !important;
	color: #FFFFFF !important;
	border-radius: 6px !important;
	display: inline-block !important;
}

.cnc-endpoint-container table.shop_table a.button:hover {
	background-color: var(--cnc-secondary) !important;
}

/* Col layouts inside forms */
@media (min-width: 768px) {
	.cnc-endpoint-container p.form-row-first,
	.cnc-endpoint-container p.form-row-last {
		width: 48%;
		float: left;
	}
	.cnc-endpoint-container p.form-row-first {
		margin-right: 4%;
	}
	.cnc-endpoint-container .clear {
		clear: both;
	}
}

/* Buttons */
.cnc-endpoint-container button.button,
.cnc-endpoint-container a.button,
.woocommerce-edit-address button.button {
	display: inline-block;
	padding: 12px 28px;
	background-color: var(--cnc-primary);
	color: #FFFFFF !important;
	border-radius: 8px;
	border: none;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
	line-height: 1.4;
	text-align: center;
}

.cnc-endpoint-container button.button:hover,
.cnc-endpoint-container a.button:hover,
.woocommerce-edit-address button.button:hover {
	background-color: var(--cnc-secondary);
	box-shadow: 0 10px 15px -3px rgba(249, 115, 22, 0.2), 0 4px 6px -2px rgba(249, 115, 22, 0.1) !important;
	transform: translateY(-1px);
}

/* Address Card Overrides */
.woocommerce-Addresses {
	display: flex;
	gap: 20px;
	margin-top: 10px;
}

.woocommerce-Address {
	flex: 1;
	border: 1px solid var(--cnc-gray-200);
	border-radius: 12px;
	padding: 20px;
	background: var(--cnc-gray-50);
}

.woocommerce-Address-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
	border-bottom: 1px solid var(--cnc-gray-200);
	padding-bottom: 8px;
}

.woocommerce-Address-title h3 {
	font-family: 'Outfit', sans-serif;
	font-size: 15px;
	font-weight: 700;
	color: var(--cnc-gray-900);
	margin: 0;
}

.woocommerce-Address-title a {
	font-size: 12px;
	color: var(--cnc-secondary);
	font-weight: 600;
	text-decoration: none;
}

.woocommerce-Address address {
	font-style: normal;
	font-size: 13px;
	color: var(--cnc-gray-600);
	line-height: 1.6;
}

/* Notices styling */
.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
	position: relative !important;
	padding: 16px 20px 16px 48px !important;
	border-radius: 8px !important;
	margin-bottom: 24px !important;
	list-style: none !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	border-left: 4px solid var(--cnc-gray-400) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
}

.woocommerce-error::before,
.woocommerce-info::before,
.woocommerce-message::before {
	position: absolute !important;
	left: 16px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	font-family: WooCommerce !important;
	font-size: 18px !important;
	line-height: 1 !important;
	margin: 0 !important;
}

.woocommerce-message {
	background-color: #DEF7EC !important;
	color: #03543F !important;
	border-left-color: #31C48D !important;
}

.woocommerce-error {
	background-color: #FDE8E8 !important;
	color: #9B1C1C !important;
	border-left-color: #F05252 !important;
}

.woocommerce-info {
	background-color: #EBF5FF !important;
	color: #1E429F !important;
	border-left-color: #3F83F8 !important;
}

.woocommerce-message a.button,
.woocommerce-info a.button,
.woocommerce-error a.button {
	padding: 6px 12px;
	font-size: 11px;
	background: rgba(0,0,0,0.1);
	color: inherit !important;
	box-shadow: none;
	border-radius: 6px;
}

.woocommerce-message a.button:hover,
.woocommerce-info a.button:hover {
	background: rgba(0,0,0,0.2);
}

/* Login/Register Panel Styling */
.cnc-login-container {
	max-width: 800px;
	margin: 40px auto;
	background: #FFFFFF;
	border: 1px solid var(--cnc-gray-200);
	border-radius: var(--cnc-radius);
	padding: 32px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.03);
}

.cnc-login-container .u-columns {
	display: flex;
	gap: 32px;
}

.cnc-login-container .u-column1,
.cnc-login-container .u-column2 {
	flex: 1;
}

.cnc-login-container h2 {
	font-family: 'Outfit', sans-serif;
	font-size: 20px;
	font-weight: 700;
	color: var(--cnc-primary);
	margin-top: 0;
	margin-bottom: 20px;
}

/* ==========================================================================
   RESPONSIVE DESIGN (MEDIA QUERIES)
   ========================================================================== */
@media (max-width: 1024px) {
	.cnc-my-account-wrapper {
		flex-direction: column;
		gap: 24px;
	}

	.cnc-sidebar-col {
		width: 100%;
	}

	.cnc-sidebar {
		width: 100%;
		position: static;
	}

	.cnc-content {
		width: 100%;
	}

	.cnc-stats-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 640px) {
	.cnc-stats-grid {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.cnc-sidebar {
		padding: 20px;
	}

	.cnc-profile-card {
		flex-direction: column;
		text-align: center;
	}

	.cnc-endpoint-container {
		padding: 20px;
	}

	.woocommerce-Addresses {
		flex-direction: column;
		gap: 16px;
	}

	.cnc-login-container .u-columns {
		flex-direction: column;
		gap: 24px;
	}
}

/* Hide WordPress Theme My Account Page Title */
.woocommerce-account h1.entry-title,
.woocommerce-account h1.page-title,
.woocommerce-account .page-header,
.woocommerce-account .title-bar,
.woocommerce-account .post-title,
.woocommerce-account .entry-title-wrapper {
	display: none !important;
}

/* ==========================================================================
   LAYOUT TEMPLATE 2: Glassmorphism Accent
   ========================================================================== */
.cnc-layout-template_2 .cnc-sidebar,
.cnc-layout-template_2 .cnc-dashboard-section,
.cnc-layout-template_2 .cnc-endpoint-container {
	background: rgba(255, 255, 255, 0.75) !important;
	backdrop-filter: blur(16px) !important;
	-webkit-backdrop-filter: blur(16px) !important;
	border: 1px solid rgba(255, 255, 255, 0.6) !important;
	border-top: 4px solid var(--cnc-secondary) !important; /* Top accent bar */
	box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.04) !important;
}

.cnc-layout-template_2 .cnc-sidebar {
	border-top: 1px solid rgba(255, 255, 255, 0.6) !important;
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.9)) !important;
}

/* Accent Profile Avatar */
.cnc-layout-template_2 .cnc-avatar-wrapper {
	box-shadow: 0 0 0 2px #FFFFFF, 0 0 0 4px var(--cnc-secondary) !important;
}

/* Gradient Stats Cards */
.cnc-layout-template_2 .cnc-stat-orders {
	background: linear-gradient(135deg, #6366F1, #4F46E5) !important;
	border: none !important;
}
.cnc-layout-template_2 .cnc-stat-downloads {
	background: linear-gradient(135deg, #10B981, #059669) !important;
	border: none !important;
}
.cnc-layout-template_2 .cnc-stat-spent {
	background: linear-gradient(135deg, #F97316, #EA580C) !important;
	border: none !important;
}
.cnc-layout-template_2 .cnc-stat-cart {
	background: linear-gradient(135deg, #3B82F6, #2563EB) !important;
	border: none !important;
}

.cnc-layout-template_2 .cnc-stat-card * {
	color: #FFFFFF !important;
}

.cnc-layout-template_2 .cnc-stat-icon-wrapper {
	background: rgba(255, 255, 255, 0.2) !important;
}

.cnc-layout-template_2 .cnc-stat-label {
	color: rgba(255, 255, 255, 0.8) !important;
}

.cnc-layout-template_2 .cnc-stat-link {
	text-decoration: underline !important;
	font-weight: 700 !important;
}

/* Soft grid borders in glass mode */
.cnc-layout-template_2 .cnc-table-responsive {
	border: 1px solid rgba(229, 231, 235, 0.5) !important;
	background: rgba(255, 255, 255, 0.4) !important;
}

.cnc-layout-template_2 .cnc-table th,
.cnc-layout-template_2 .cnc-table td {
	border: 1px solid rgba(229, 231, 235, 0.5) !important;
}

/* ==========================================================================
   LAYOUT TEMPLATE 3: Floating Flat Minimalist
   ========================================================================== */
.cnc-layout-template_3 .cnc-sidebar {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 12px !important;
}

.cnc-layout-template_3 .cnc-sidebar .cnc-profile-card {
	padding-bottom: 24px !important;
	border-bottom: 1px solid var(--cnc-gray-200) !important;
	margin-bottom: 8px !important;
}

.cnc-layout-template_3 .cnc-sidebar .cnc-help-card {
	background: #FFFFFF !important;
	border: 1px solid var(--cnc-gray-200) !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02) !important;
}

.cnc-layout-template_3 .cnc-sidebar .cnc-nav-item a {
	padding: 10px 12px !important;
	border-radius: 8px !important;
}

.cnc-layout-template_3 .cnc-sidebar .cnc-nav-item.cnc-active a {
	background-color: var(--cnc-primary) !important;
	color: #FFFFFF !important;
}

.cnc-layout-template_3 .cnc-sidebar .cnc-nav-item.cnc-active .cnc-icon {
	color: #FFFFFF !important;
}

/* Sections & Panels */
.cnc-layout-template_3 .cnc-dashboard-section,
.cnc-layout-template_3 .cnc-endpoint-container {
	background: #FFFFFF !important;
	border: 1px solid var(--cnc-gray-200) !important;
	box-shadow: none !important; /* Flat card look */
	border-radius: 12px !important;
	padding: 24px !important;
}

/* Minimalist Stats Row */
.cnc-layout-template_3 .cnc-stat-card {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 12px 0 !important;
}

.cnc-layout-template_3 .cnc-stat-icon-wrapper {
	display: none !important; /* Hide stats icons for true text-only minimalism */
}

.cnc-layout-template_3 .cnc-stat-info {
	padding: 0 !important;
}

.cnc-layout-template_3 .cnc-stat-label {
	font-size: 11px !important;
	font-weight: 600 !important;
	color: var(--cnc-gray-400) !important;
	text-transform: uppercase !important;
	margin-bottom: 4px !important;
}

.cnc-layout-template_3 .cnc-stat-value {
	font-size: 30px !important;
	font-weight: 800 !important;
	color: var(--cnc-gray-900) !important;
	margin-bottom: 4px !important;
}

.cnc-layout-template_3 .cnc-stat-link {
	font-size: 12px !important;
	color: var(--cnc-secondary) !important;
	text-decoration: none !important;
}

/* Clean Borderless Tables */
.cnc-layout-template_3 .cnc-table-responsive {
	border: none !important;
	border-radius: 0 !important;
	background: transparent !important;
	overflow: visible !important;
}

.cnc-layout-template_3 .cnc-table {
	border-collapse: collapse !important;
	border: none !important;
}

.cnc-layout-template_3 .cnc-table th,
.cnc-layout-template_3 .cnc-table td {
	border-left: none !important;
	border-right: none !important;
	border-top: none !important;
	border-bottom: 1px solid var(--cnc-gray-200) !important;
	padding: 14px 12px !important;
}

.cnc-layout-template_3 .cnc-table thead {
	background-color: transparent !important;
}

.cnc-layout-template_3 .cnc-table th {
	font-size: 11px !important;
	font-weight: 700 !important;
	color: var(--cnc-gray-400) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	border-bottom: 2px solid var(--cnc-gray-200) !important;
}

.cnc-layout-template_3 .cnc-table td {
	padding: 16px 12px !important;
	color: var(--cnc-gray-700) !important;
}

.cnc-layout-template_3 .cnc-table tbody tr:hover {
	background-color: var(--cnc-hover-bg) !important;
}

.cnc-layout-template_3 .cnc-table tbody tr:last-child td {
	border-bottom: none !important;
}

/* Minimalist view link */
.cnc-layout-template_3 .cnc-view-order-link {
	border: none !important;
	background: transparent !important;
	padding: 0 !important;
	color: var(--cnc-secondary) !important;
	text-decoration: underline !important;
}

.cnc-layout-template_3 .cnc-view-order-link:hover {
	color: var(--cnc-primary) !important;
	box-shadow: none !important;
	transform: none !important;
}

.cnc-layout-template_3 .cnc-help-card {
	background: transparent !important;
	border: 1px dashed var(--cnc-gray-200) !important;
}

/* ==========================================================================
   LAYOUT TEMPLATE 4: Glassmorphism Circle
   ========================================================================== */
.cnc-layout-template_4 .cnc-sidebar,
.cnc-layout-template_4 .cnc-dashboard-section,
.cnc-layout-template_4 .cnc-endpoint-container {
	background: rgba(255, 255, 255, 0.75) !important;
	backdrop-filter: blur(16px) !important;
	-webkit-backdrop-filter: blur(16px) !important;
	border: 1px solid rgba(255, 255, 255, 0.6) !important;
	border-top: 4px solid var(--cnc-secondary) !important; /* Top accent bar */
	box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.04) !important;
}

.cnc-layout-template_4 .cnc-sidebar {
	border-top: 1px solid rgba(255, 255, 255, 0.6) !important;
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.9)) !important;
}

/* Accent Profile Avatar */
.cnc-layout-template_4 .cnc-avatar-wrapper {
	box-shadow: 0 0 0 2px #FFFFFF, 0 0 0 4px var(--cnc-secondary) !important;
}

/* Shield Shape Stats Grid */
.cnc-layout-template_4 .cnc-stats-grid {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	gap: 24px !important;
}

.cnc-layout-template_4 .cnc-stat-card {
	width: 165px !important;
	height: 210px !important;
	border-radius: 0 0 82.5px 82.5px !important; /* Flat top corners, rounded semi-circular bottom */
	padding: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	border: none !important;
	margin: 0 !important;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
	flex-shrink: 0 !important;
}

.cnc-layout-template_4 .cnc-stat-card:hover {
	transform: translateY(-6px) scale(1.03) !important;
	box-shadow: 0 12px 24px rgba(31, 38, 135, 0.1) !important;
}

.cnc-layout-template_4 .cnc-stat-orders {
	background: linear-gradient(135deg, #6366F1, #4F46E5) !important;
}
.cnc-layout-template_4 .cnc-stat-downloads {
	background: linear-gradient(135deg, #10B981, #059669) !important;
}
.cnc-layout-template_4 .cnc-stat-spent {
	background: linear-gradient(135deg, #F97316, #EA580C) !important;
}
.cnc-layout-template_4 .cnc-stat-cart {
	background: linear-gradient(135deg, #3B82F6, #2563EB) !important;
}

.cnc-layout-template_4 .cnc-stat-card-inner {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: flex-start !important; /* Start from top to flow into curve */
	text-align: center !important;
	gap: 8px !important;
	padding: 22px 10px 16px 10px !important;
	width: 100% !important;
	height: 100% !important;
}

.cnc-layout-template_4 .cnc-stat-icon-wrapper {
	background: rgba(255, 255, 255, 0.2) !important;
	width: 40px !important;
	height: 40px !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin-bottom: 2px !important;
}

.cnc-layout-template_4 .cnc-stat-icon {
	width: 20px !important;
	height: 20px !important;
	color: #FFFFFF !important;
}

.cnc-layout-template_4 .cnc-stat-currency-symbol {
	color: #FFFFFF !important;
	font-size: 20px !important;
}

.cnc-layout-template_4 .cnc-stat-info {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	height: auto !important;
	width: auto !important;
}

.cnc-layout-template_4 .cnc-stat-label {
	font-size: 11px !important;
	font-weight: 700 !important;
	color: rgba(255, 255, 255, 0.8) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
	margin-bottom: 2px !important;
}

.cnc-layout-template_4 .cnc-stat-value {
	font-size: 22px !important;
	font-weight: 800 !important;
	color: #FFFFFF !important;
	margin-bottom: 4px !important;
	line-height: 1.1 !important;
}

.cnc-layout-template_4 .cnc-stat-link {
	font-size: 11px !important;
	color: #FFFFFF !important;
	text-decoration: underline !important;
	font-weight: 700 !important;
}

/* Soft grid borders in glass mode */
.cnc-layout-template_4 .cnc-table-responsive {
	border: 1px solid rgba(229, 231, 235, 0.5) !important;
	background: rgba(255, 255, 255, 0.4) !important;
}

.cnc-layout-template_4 .cnc-table th,
.cnc-layout-template_4 .cnc-table td {
	border: 1px solid rgba(229, 231, 235, 0.5) !important;
}

/* ==========================================================================
   LAYOUT TEMPLATE 5: Modern Classic Shield
   ========================================================================== */
.cnc-layout-template_5 .cnc-stats-grid {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	gap: 24px !important;
}

.cnc-layout-template_5 .cnc-stat-card {
	width: 165px !important;
	height: 210px !important;
	border-radius: 0 0 82.5px 82.5px !important; /* Shield curve bottom */
	padding: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: #FFFFFF !important;
	border: 1px solid var(--cnc-gray-200) !important;
	margin: 0 !important;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
	flex-shrink: 0 !important;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.01) !important;
}

.cnc-layout-template_5 .cnc-stat-card:hover {
	transform: translateY(-6px) scale(1.03) !important;
	box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.05) !important;
	border-color: var(--cnc-gray-300) !important;
}

.cnc-layout-template_5 .cnc-stat-card-inner {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: flex-start !important;
	text-align: center !important;
	gap: 8px !important;
	padding: 22px 10px 16px 10px !important;
	width: 100% !important;
	height: 100% !important;
}

.cnc-layout-template_5 .cnc-stat-icon-wrapper {
	width: 40px !important;
	height: 40px !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin-bottom: 2px !important;
}

/* Color-coded icons matching template 1 */
.cnc-layout-template_5 .cnc-stat-orders .cnc-stat-icon-wrapper {
	background-color: rgba(99, 102, 241, 0.08) !important;
	color: #6366F1 !important;
}
.cnc-layout-template_5 .cnc-stat-downloads .cnc-stat-icon-wrapper {
	background-color: rgba(16, 185, 129, 0.08) !important;
	color: #10B981 !important;
}
.cnc-layout-template_5 .cnc-stat-spent .cnc-stat-icon-wrapper {
	background-color: rgba(249, 115, 22, 0.08) !important;
	color: #F97316 !important;
}
.cnc-layout-template_5 .cnc-stat-cart .cnc-stat-icon-wrapper {
	background-color: rgba(59, 130, 246, 0.08) !important;
	color: #3B82F6 !important;
}

.cnc-layout-template_5 .cnc-stat-icon {
	width: 20px !important;
	height: 20px !important;
}

.cnc-layout-template_5 .cnc-stat-currency-symbol {
	font-size: 20px !important;
	font-weight: 700 !important;
}

.cnc-layout-template_5 .cnc-stat-info {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	height: auto !important;
	width: auto !important;
}

.cnc-layout-template_5 .cnc-stat-label {
	font-size: 11px !important;
	font-weight: 700 !important;
	color: var(--cnc-gray-400) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.05em !important;
	margin-bottom: 2px !important;
}

.cnc-layout-template_5 .cnc-stat-value {
	font-size: 22px !important;
	font-weight: 800 !important;
	color: var(--cnc-gray-900) !important;
	margin-bottom: 4px !important;
	line-height: 1.1 !important;
}

.cnc-layout-template_5 .cnc-stat-link {
	font-size: 11px !important;
	color: var(--cnc-secondary) !important;
	text-decoration: underline !important;
	font-weight: 700 !important;
}

/* Recently Viewed Products Grid & Card Styles */
.cnc-products-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 20px;
	margin-top: 16px;
}

.cnc-product-card-item {
	background: #FFFFFF;
	border: 1px solid var(--cnc-gray-200);
	border-radius: 12px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: all 0.3s ease;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02);
}

.cnc-product-card-item:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 16px rgba(0, 0, 0, 0.06);
	border-color: var(--cnc-gray-300);
}

.cnc-product-card-image-box {
	position: relative;
	width: 100%;
	padding-top: 100%; /* 1:1 Aspect Ratio */
	background-color: var(--cnc-gray-50);
	overflow: hidden;
	border-bottom: 1px solid var(--cnc-gray-100);
}

.cnc-product-card-image-box a {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.cnc-product-card-image-box img.cnc-viewed-thumbnail {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.cnc-product-card-item:hover img.cnc-viewed-thumbnail {
	transform: scale(1.06);
}

.cnc-product-card-details {
	padding: 16px;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	justify-content: space-between;
	gap: 12px;
}

.cnc-product-card-title {
	font-family: 'Outfit', sans-serif;
	font-size: 14px;
	font-weight: 600;
	color: var(--cnc-gray-900);
	text-decoration: none;
	line-height: 1.4;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	height: 38px;
}

.cnc-product-card-title:hover {
	color: var(--cnc-secondary);
}

.cnc-product-card-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: auto;
}

.cnc-product-card-price {
	font-size: 14px;
	font-weight: 700;
	color: var(--cnc-gray-800);
}

.cnc-product-card-price del {
	font-size: 11px;
	color: var(--cnc-gray-400);
	margin-right: 4px;
	font-weight: 400;
}

.cnc-product-card-price ins {
	text-decoration: none;
}

.cnc-product-card-action-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 6px 14px;
	border: 1px solid var(--cnc-secondary);
	border-radius: 20px;
	font-size: 12px;
	font-weight: 700;
	color: var(--cnc-secondary);
	text-decoration: none;
	background: transparent;
	transition: all 0.2s ease;
}

.cnc-product-card-action-btn:hover {
	background: var(--cnc-secondary);
	color: #FFFFFF;
	box-shadow: 0 2px 6px rgba(249, 115, 22, 0.2);
}

/* Sidebar Recently Viewed Widget Card */
.cnc-sidebar-recently-viewed-card {
	background: #FFFFFF;
	border: 1px solid var(--cnc-gray-200);
	border-radius: var(--cnc-radius);
	padding: 20px;
	box-shadow: 0 4px 12px -2px rgba(0, 0, 0, 0.03), 0 2px 6px -1px rgba(0, 0, 0, 0.02);
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
	transition: all 0.3s ease;
}

.cnc-sidebar-recently-viewed-card:hover {
	border-color: var(--cnc-gray-300);
	box-shadow: 0 6px 16px -2px rgba(0, 0, 0, 0.05), 0 3px 8px -1px rgba(0, 0, 0, 0.03);
}

.cnc-sidebar-recently-viewed-card .cnc-sidebar-section-title {
	font-family: 'Outfit', sans-serif;
	font-size: 14px;
	font-weight: 700;
	color: var(--cnc-primary);
	margin: 0;
	display: flex;
	align-items: center;
	gap: 8px;
	border-bottom: 1px solid var(--cnc-gray-100);
	padding-bottom: 12px;
}

.cnc-sidebar-viewed-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
	width: 100%;
}

.cnc-sidebar-viewed-item {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	justify-content: space-between;
}

.cnc-sidebar-viewed-img {
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	background: var(--cnc-gray-50);
	border: 1px solid var(--cnc-gray-200);
	border-radius: 8px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.2s ease;
}

.cnc-sidebar-viewed-img:hover {
	border-color: var(--cnc-secondary);
	transform: scale(1.04);
}

.cnc-sidebar-viewed-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cnc-sidebar-viewed-details {
	flex-grow: 1;
	min-width: 0; /* Ensures text truncation is honored in nested flexbox */
}

.cnc-sidebar-viewed-title {
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	font-weight: 600;
	color: var(--cnc-gray-800);
	text-decoration: none;
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	line-height: 1.3;
	margin-bottom: 2px;
	transition: color 0.2s ease;
}

.cnc-sidebar-viewed-title:hover {
	color: var(--cnc-secondary);
}

.cnc-sidebar-viewed-price {
	font-size: 12px;
	font-weight: 700;
	color: var(--cnc-secondary);
}

.cnc-sidebar-viewed-price del {
	font-size: 10px;
	color: var(--cnc-gray-400);
	margin-right: 4px;
	font-weight: 400;
}

.cnc-sidebar-viewed-price ins {
	text-decoration: none;
}

.cnc-sidebar-viewed-action {
	flex-shrink: 0;
}

.cnc-sidebar-view-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 5px 12px;
	border: 1px solid var(--cnc-secondary);
	border-radius: 20px;
	font-size: 11px;
	font-weight: 700;
	color: var(--cnc-secondary);
	text-decoration: none;
	background: transparent;
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
	white-space: nowrap;
	cursor: pointer;
}

.cnc-sidebar-view-btn:hover {
	background: var(--cnc-secondary);
	color: #FFFFFF;
	box-shadow: 0 4px 8px -2px rgba(249, 115, 22, 0.2);
	transform: translateY(-1px);
}

