/**
 * Nelsons Dashboard - Modern Styles with CSS Variables
 *
 * CSS Class Naming Convention: nd-{component}-{element}
 * Uses CSS Custom Properties for theming
 *
 * @package NELSONS_Membership
 * @since 2.0.0
 */

/* ==========================================================================
	CSS Custom Properties (Root Variables)
	These can be overridden by admin settings
	========================================================================== */

:root {
	/* Primary Colors */
	--nd-primary: #2d7ef7;
	--nd-primary-hover: #1b64d0;
	--nd-primary-active: #155aa0;
	--nd-primary-light: #e8f2ff;
	--nd-primary-lighter: #d0e5ff;

	/* Secondary Colors */
	--nd-secondary: #6c757d;
	--nd-secondary-hover: #5a6268;

	/* Status Colors */
	--nd-success: #28a745;
	--nd-success-bg: #d4edda;
	--nd-success-border: #c3e6cb;
	--nd-success-text: #155724;

	--nd-warning: #ffc107;
	--nd-warning-bg: #fff3cd;
	--nd-warning-border: #ffeaa7;
	--nd-warning-text: #856404;

	--nd-danger: #dc3545;
	--nd-danger-bg: #f8d7da;
	--nd-danger-border: #f5c6cb;
	--nd-danger-text: #721c24;

	--nd-info: #17a2b8;
	--nd-info-bg: #d1ecf1;
	--nd-info-border: #b3d7ff;
	--nd-info-text: #0c5460;

	/* Neutral Colors */
	--nd-dark: #343434;
	--nd-gray-darkest: #333;
	--nd-gray-dark: #495057;
	--nd-gray: #666;
	--nd-gray-light: #ccc;
	--nd-gray-lighter: #ddd;
	--nd-gray-lightest: #e0e0e0;
	--nd-white: #ffffff;
	--nd-off-white: #f8f9fa;
	--nd-background: #f5f5f5;

	/* Typography */
	--nd-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	--nd-font-size-base: 1rem;
	--nd-font-size-sm: 0.875rem;
	--nd-font-size-xs: 0.75rem;
	--nd-font-size-lg: 1.25rem;
	--nd-font-size-xl: 1.5rem;
	--nd-font-size-xxl: 1.75rem;
	--nd-font-size-xxxl: 2rem;
	--nd-line-height: 1.6;
	--nd-font-weight-normal: 400;
	--nd-font-weight-medium: 500;
	--nd-font-weight-semibold: 600;
	--nd-font-weight-bold: 700;

	/* Spacing */
	--nd-space-xs: 0.25rem;
	--nd-space-sm: 0.5rem;
	--nd-space-md: 1rem;
	--nd-space-lg: 1.5rem;
	--nd-space-xl: 2rem;
	--nd-space-xxl: 3rem;

	/* Border Radius */
	--nd-radius-sm: 4px;
	--nd-radius-md: 6px;
	--nd-radius-lg: 8px;
	--nd-radius-xl: 12px;
	--nd-radius-full: 50%;

	/* Shadows */
	--nd-shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.1);
	--nd-shadow-md: 0 4px 8px rgba(0, 0, 0, 0.1);
	--nd-shadow-lg: 0 10px 40px rgba(0, 0, 0, 0.3);
	--nd-shadow-primary: 0 4px 8px rgba(45, 126, 247, 0.2);

	/* Transitions */
	--nd-transition-fast: 0.15s ease;
	--nd-transition-base: 0.2s ease;
	--nd-transition-slow: 0.3s ease;

	/* Z-Index Scale */
	--nd-z-base: 1;
	--nd-z-dropdown: 10;
	--nd-z-sticky: 100;
	--nd-z-fixed: 1000;
	--nd-z-modal-backdrop: 999998;
	--nd-z-modal: 999999;

	/* Admin Bar Offset */
	--nd-adminbar-offset: 0px;

	/* Nelson Ecosystem aliases consumed by integrated plugins */
	--nelson-text: var(--nd-gray-darkest);
	--nelson-text-light: var(--nd-gray);
	--nelson-text-dark: var(--nelson-text);
	--nelson-text-on-dark: var(--nd-white);
	--nelson-card-muted: var(--nelson-text-light);
	--nelson-card-text: var(--nelson-text);
	--nelson-dashboard-bg: var(--nd-background);
	--nelson-sidebar-bg: var(--nd-gray-dark);
	--nelson-sidebar-text: var(--nd-white);
	--nelson-bg-white: var(--nd-white);
	--nelson-bg-light: var(--nd-off-white);
	--nelson-bg-gray: var(--nd-gray-lightest);
	--nelson-bg-darker: var(--nd-dark);
	--nelson-card-bg: var(--nd-white);
	--nelson-card-border: var(--nd-gray-lighter);
	--nelson-media-bg: var(--nd-off-white);
	--nelson-overlay-bg: rgba(0, 0, 0, 0.55);
	--nelson-section-bg: var(--nd-gray-dark);
	--nelson-section-text: var(--nd-white);
	--nelson-section-muted: rgba(255, 255, 255, 0.82);
	--nelson-section-border: var(--nd-gray-lighter);
	--nelson-border: var(--nd-gray-lighter);
	--nelson-radius: var(--nd-radius-md);
	--nelson-primary: var(--nd-primary);
	--nelson-primary-light: var(--nd-primary-light);
	--nelson-primary-dark: var(--nd-primary-hover);
	--nelson-primary-hover: var(--nd-primary-hover);
	--nelson-secondary: var(--nd-secondary);
	--nelson-secondary-button-bg: var(--nd-secondary);
	--nelson-button-text: var(--nd-white);
	--nelson-secondary-button-text: var(--nd-white);
	--nelson-nav-active-bg: var(--nd-white);
	--nelson-nav-active-text: var(--nd-primary);
	--nelson-admin-link-bg: var(--nd-secondary);
	--nelson-admin-link-text: var(--nd-white);
	--nelson-admin-link-hover-bg: var(--nd-secondary-hover);
	--nelson-focus-ring: var(--nd-primary);
	--nelson-success: var(--nd-success);
	--nelson-warning: var(--nd-warning);
	--nelson-error: var(--nd-danger);
	--nelson-danger: var(--nd-danger);
	--nelson-info: var(--nd-info);
	--nelson-success-bg: var(--nd-success-bg);
	--nelson-success-text: var(--nd-success-text);
	--nelson-success-border: var(--nd-success-border);
	--nelson-warning-bg: var(--nd-warning-bg);
	--nelson-warning-text: var(--nd-warning-text);
	--nelson-warning-border: var(--nd-warning-border);
	--nelson-error-bg: var(--nd-danger-bg);
	--nelson-error-text: var(--nd-danger-text);
	--nelson-error-border: var(--nd-danger-border);
	--nelson-info-bg: var(--nd-info-bg);
	--nelson-info-text: var(--nd-info-text);
	--nelson-info-border: var(--nd-info-border);
	--nelson-shadow: var(--nd-shadow-sm);
	--nelson-shadow-sm: var(--nd-shadow-sm);
	--nelson-shadow-lg: var(--nd-shadow-lg);
	--nelson-text-shadow: none;
}

/* Admin bar height adjustments */
body.admin-bar {
	--nd-adminbar-offset: 32px;
}

@media screen and (max-width: 782px) {
	body.admin-bar {
	--nd-adminbar-offset: 46px;
	}
}

/* ==========================================================================
	Admin Bar Adjustments
	========================================================================== */

body.admin-bar .nd-dashboard-sidebar {
	top: 32px !important;
	height: calc(100vh - 32px - 24px) !important;
}

@media screen and (max-width: 782px) {
	body.admin-bar .nd-dashboard-sidebar {
	top: 46px !important;
	height: calc(100vh - 46px - 24px) !important;
	}
}


/* ==========================================================================
	Base Styles
	========================================================================== */

.nd-dashboard-root {
	font-family: var(--nd-font-family);
	line-height: var(--nd-line-height);
	color: var(--nelson-text, var(--nd-gray-darkest));
	font-size: var(--nd-font-size-base);
}

/**
 * Nelsons Dashboard - Sidebar Navigation Fix
 * Restores the left sidebar layout that was changed to full-width buttons
 *
 * Add this to your membership.css or nelsons-dashboard.css file
 */

/* ==========================================================================
	Dashboard Container
	========================================================================== */

.nd-dashboard-container {
	display: flex !important;
	flex-direction: row !important;
	gap: var(--nd-space-xl, 2rem);
	max-width: 1400px;
	margin: 0 auto;
	padding: var(--nd-space-xl, 2rem) var(--nd-space-md, 1rem);
}

/* ==========================================================================
	Sidebar
	========================================================================== */

.nd-dashboard-sidebar {
	flex: 0 0 280px !important;
	width: 280px !important;
	max-width: 280px !important;
	min-width: 280px !important;
	position: sticky !important;
	position: -webkit-sticky !important;
	top: var(--nd-adminbar-offset, 0px) !important;
	align-self: flex-start !important;
	height: calc(100vh - var(--nd-adminbar-offset, 0px) - 24px) !important;
	overflow-y: auto !important;
	z-index: var(--nd-z-sticky, 100) !important;
}

/* Make sure the navigation stays in the sidebar */
.nd-nav {
	width: 100%;
	max-width: 280px;
	background-color: var(--nelson-sidebar-bg, var(--nd-gray-dark)) !important;
	color: var(--nelson-sidebar-text, var(--nd-white)) !important;
}

/* ==========================================================================
	Main Content
	========================================================================== */

.nd-dashboard-content {
	flex: 1 !important;
	min-width: 0 !important;
	max-width: calc(100% - 280px - 2rem);
}

/* ==========================================================================
	Cards and Sections
	========================================================================== */

.nd-section {
	background: var(--nelson-section-bg, var(--nd-gray-dark));
	color: var(--nelson-section-text, var(--nd-white));
	border: 1px solid var(--nelson-section-border, var(--nd-gray-lighter));
	border-radius: var(--nd-radius-lg);
	padding: var(--nd-space-xl);
	margin-bottom: var(--nd-space-lg);
	box-shadow: var(--nd-shadow-sm);
}

.nd-section h1 {
	color: var(--nelson-section-text, var(--nd-white));
}

.nd-section--home {
	background: var(--nelson-card-bg, var(--nd-white));
	color: var(--nelson-text, var(--nd-gray-darkest));
}

.nd-section--home h1,
.nd-section--home .nd-welcome-header h1 {
	color: var(--nelson-text, var(--nd-gray-darkest));
}

.nd-section--home .nd-welcome-date {
	color: var(--nelson-text, var(--nd-gray-darkest));
	opacity: 0.68;
}

.nd-card {
	background: var(--nelson-card-bg, var(--nd-white));
	border: 1px solid var(--nelson-card-border, var(--nd-gray-lightest));
	border-radius: var(--nd-radius-lg);
	padding: var(--nd-space-lg);
	margin-bottom: var(--nd-space-md);
	box-shadow: var(--nd-shadow-sm);
	transition: box-shadow var(--nd-transition-base);
}

.nd-card--featured {
	border-color: var(--nd-primary);
	box-shadow: var(--nd-shadow-primary);
}

.nd-quick-action-card {
	background: var(--nd-white);
	border: 1px solid var(--nd-gray-lighter);
	border-radius: var(--nd-radius-lg);
	padding: var(--nd-space-lg);
	transition: all var(--nd-transition-base);
	cursor: pointer;
}

.nd-quick-action-card:hover {
	box-shadow: var(--nd-shadow-md);
	transform: translateY(-2px);
}

/* ==========================================================================
	Headers
	========================================================================== */

.nd-header {
	background: var(--nd-dark);
	color: var(--nd-white);
	padding: var(--nd-space-xl);
	border-radius: var(--nd-radius-xl);
	margin: var(--nd-space-xl) auto;
	text-align: center;
}

.nd-header h2 {
	color: var(--nd-white);
	margin: 0;
}

.nd-welcome-header {
	margin-bottom: var(--nd-space-xl);
}

.nd-welcome-header h1 {
	margin: 0 0 var(--nd-space-sm) 0;
	font-size: var(--nd-font-size-xxxl);
	font-weight: var(--nd-font-weight-bold);
	color: var(--nd-white);
}

.nd-welcome-date {
	color: var(--nd-gray);
	margin: 0;
	font-size: var(--nd-font-size-base);
}

.nd-heading {
	color: var(--nd-primary);
	font-weight: var(--nd-font-weight-semibold);
	margin-bottom: var(--nd-space-md);
	border-bottom: 2px solid var(--nd-gray-lightest);
	padding-bottom: var(--nd-space-sm);
}

.nd-heading--large {
	font-size: var(--nd-font-size-xxl);
}

.nd-heading--medium {
	font-size: var(--nd-font-size-lg);
}

.nd-heading--small {
	font-size: var(--nd-font-size-base);
}

/* ==========================================================================
	Buttons
	========================================================================== */

.nd-button,
.nd-admin-button,
.nd-admin-link,
.nd-form button,
.nd-form input[type="submit"],
.nd-form input[type="submit"].button {
	display: inline-block;
	padding: 0.75rem 1.5rem;
	background-color: var(--nelson-primary, var(--nd-primary));
	color: var(--nelson-button-text, var(--nd-white));
	text-align: center;
	text-decoration: none;
	border: none;
	border-radius: var(--nd-radius-md);
	font-size: var(--nd-font-size-sm);
	font-weight: var(--nd-font-weight-medium);
	cursor: pointer;
	transition: all var(--nd-transition-base);
	margin-bottom: var(--nd-space-sm);
	margin-right: var(--nd-space-sm);
	line-height: 1.5;
	width: 100%;
}

.nd-button:hover,
.nd-admin-button:hover,
.nd-admin-link:hover,
.nd-form button:hover,
.nd-form input[type="submit"]:hover {
	background-color: var(--nelson-primary-dark, var(--nd-primary-hover));
	color: var(--nelson-button-text, var(--nd-white));
	text-decoration: none;
	transform: translateY(-1px);
	box-shadow: var(--nd-shadow-sm);
}

.nd-button:active {
	transform: translateY(0);
}

/* Button Variants */
.nd-button--primary {
	background-color: var(--nelson-primary, var(--nd-primary));
}

.nd-button--primary:hover {
	background-color: var(--nelson-primary-dark, var(--nd-primary-hover));
}

.nd-button--secondary {
	background-color: var(--nelson-secondary, var(--nd-secondary));
	color: var(--nelson-secondary-button-text, var(--nd-white));
}

.nd-button--secondary:hover {
	background-color: var(--nelson-primary-dark, var(--nd-secondary-hover));
	color: var(--nelson-secondary-button-text, var(--nd-white));
}

.nd-button--success {
	background-color: var(--nd-success);
}

.nd-button--danger {
	background-color: var(--nd-danger);
}

.nd-button--warning {
	background-color: var(--nd-warning);
	color: var(--nd-gray-darkest);
}

.nd-button--small {
	padding: var(--nd-space-sm) var(--nd-space-md);
	font-size: var(--nd-font-size-xs);
}

.nd-button--large {
	padding: var(--nd-space-md) var(--nd-space-xl);
	font-size: var(--nd-font-size-base);
}

.nd-button--full-width {
	width: 100%;
	display: block;
}

/* ==========================================================================
	Forms
	========================================================================== */

.nd-form {
	display: flex;
	flex-direction: column;
	gap: var(--nd-space-md);
	max-width: 800px;
	margin: 0 auto var(--nd-space-lg) auto;
	background-color: var(--nd-gray-light);
	padding: var(--nd-space-lg);
	border-radius: var(--nd-radius-lg);
	border: 1px solid var(--nd-gray-lightest);
	box-shadow: var(--nd-shadow-sm);
}

.nd-form--compact {
	gap: 0.75rem;
	padding: var(--nd-space-md);
}

.nd-form__field,
.nd-form-field {
	display: flex;
	flex-direction: column;
	gap: var(--nd-space-sm);
	margin-bottom: var(--nd-space-lg);
}

.nd-form__field--inline {
	flex-direction: row;
	align-items: center;
	gap: var(--nd-space-md);
}

.nd-form label {
	font-weight: var(--nd-font-weight-semibold);
	color: var(--nd-primary);
	margin-bottom: var(--nd-space-xs);
	display: block;
}

.nd-form input[type="text"],
.nd-form input[type="email"],
.nd-form input[type="password"],
.nd-form input[type="number"],
.nd-form input[type="date"],
.nd-form input[type="url"],
.nd-form select,
.nd-form textarea,
.nd-input {
	width: 100%;
	padding: 0.75rem;
	border: 1px solid var(--nd-gray-light);
	border-radius: var(--nd-radius-md);
	box-sizing: border-box;
	font-size: var(--nd-font-size-base);
	font-family: var(--nd-font-family);
	transition: all var(--nd-transition-base);
	background: var(--nd-white);
}

.nd-form input:focus,
.nd-form select:focus,
.nd-form textarea:focus,
.nd-input:focus {
	outline: 2px solid var(--nelson-focus-ring, var(--nd-primary));
	outline-offset: 2px;
	border-color: var(--nd-primary);
	box-shadow: 0 0 0 3px rgba(45, 126, 247, 0.1);
}

.nd-form input[type="checkbox"] {
	margin-right: var(--nd-space-sm);
	transform: scale(1.1);
	cursor: pointer;
}

/* Auth pages need a contained card, even when site/theme tokens customize
   dashboard surfaces for a tenant brand. */
.nd-auth-form {
	width: min(100%, 520px);
	max-width: 520px;
	margin: var(--nd-space-xl) auto;
	padding: var(--nd-space-xl);
	background: var(--nd-white);
	color: var(--nd-gray-darkest);
	border: 1px solid var(--nd-gray-lighter);
	border-radius: var(--nd-radius-xl);
	box-shadow: var(--nd-shadow-md);
	gap: var(--nd-space-lg);
}

.nd-auth-form h2 {
	margin: 0;
	color: var(--nd-gray-darkest);
	font-size: var(--nd-font-size-xxl);
	line-height: 1.2;
}

.nd-auth-form__form {
	display: flex;
	flex-direction: column;
	gap: var(--nd-space-md);
}

.nd-auth-field {
	display: flex;
	flex-direction: column;
	gap: var(--nd-space-sm);
	margin: 0;
}

.nd-auth-field label {
	color: var(--nd-gray-darkest);
	font-size: var(--nd-font-size-sm);
	font-weight: var(--nd-font-weight-semibold);
	margin: 0;
}

.nd-auth-field input[type="text"],
.nd-auth-field input[type="password"],
.nd-auth-field input[type="email"] {
	width: 100%;
	min-height: 48px;
	padding: 0.75rem 1rem;
	background: var(--nd-white);
	color: var(--nd-gray-darkest);
	border: 1px solid var(--nd-gray-lighter);
	border-radius: var(--nd-radius-md);
	box-sizing: border-box;
	font-size: var(--nd-font-size-base);
}

.nd-auth-field input:focus {
	outline: 2px solid var(--nd-primary);
	outline-offset: 2px;
	border-color: var(--nd-primary);
	box-shadow: none;
}

.nd-auth-remember label {
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	gap: var(--nd-space-sm);
	color: var(--nd-gray-darkest);
}

.nd-auth-remember input[type="checkbox"] {
	width: 18px;
	height: 18px;
	margin: 0;
	transform: none;
	flex: 0 0 auto;
}

.nd-auth-actions {
	align-items: stretch;
}

.nd-auth-submit {
	width: 100%;
	margin: 0;
	color: var(--nd-white) !important;
}

.nd-auth-form .nd-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--nd-space-sm);
	margin-top: var(--nd-space-sm);
	font-size: var(--nd-font-size-sm);
}

.nd-auth-form .nd-links a {
	color: var(--nd-primary);
	text-decoration: none;
	font-weight: var(--nd-font-weight-medium);
}

.nd-auth-form .nd-links a:hover {
	color: var(--nd-primary-hover);
	text-decoration: underline;
}

.nd-form textarea {
	min-height: 120px;
	resize: vertical;
}

.nd-field-description {
	display: block;
	font-size: var(--nd-font-size-sm);
	color: var(--nd-gray);
	font-weight: var(--nd-font-weight-normal);
	margin-top: var(--nd-space-xs);
}

/* Form Error States */
.nd-form__field--error input,
.nd-form__field--error textarea,
.nd-form__field--error select {
	border-color: var(--nd-danger);
}

.nd-form__error-message {
	color: var(--nd-danger);
	font-size: var(--nd-font-size-sm);
	margin-top: var(--nd-space-xs);
}

.nd-form-row--two-column {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--nd-space-md);
}

.nd-form-section {
	margin-bottom: var(--nd-space-xl);
	padding-bottom: var(--nd-space-xl);
	border-bottom: 1px solid var(--nd-gray-lighter);
}

.nd-form-section:last-child {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.nd-form-actions {
	margin-top: var(--nd-space-xl);
	display: flex;
	gap: var(--nd-space-md);
}

/* ==========================================================================
	Navigation Sidebar
	========================================================================== */

.nd-nav {
	background: var(--nelson-sidebar-bg, var(--nd-gray-dark));
	color: var(--nelson-sidebar-text, var(--nd-white));
	border: 1px solid var(--nelson-section-border, var(--nd-gray-lighter));
	border-radius: var(--nd-radius-lg);
	padding: var(--nd-space-md);
}

.nd-nav-user {
	display: flex;
	align-items: center;
	gap: var(--nd-space-md);
	padding: var(--nd-space-md);
	margin-bottom: var(--nd-space-lg);
	background: var(--nelson-dashboard-bg, var(--nd-background));
	border-radius: var(--nd-radius-md);
}

.nd-nav-separator--label {
	margin: 15px 0 10px;
	padding: 5px 10px;
	font-size: var(--nd-font-size-xs);
	font-weight: var(--nd-font-weight-semibold);
	color: color-mix(in srgb, var(--nelson-sidebar-text, var(--nd-white)) 70%, transparent);
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.nd-nav-separator--rule {
	margin: 15px 0 10px;
	height: 1px;
	background: color-mix(in srgb, var(--nelson-sidebar-text, var(--nd-white)) 25%, transparent);
}

.nd-nav-avatar img {
	border-radius: var(--nd-radius-full);
	display: block;
}

.nd-nav-user-info {
	flex: 1;
}

.nd-nav-user-name {
	font-weight: var(--nd-font-weight-semibold);
	font-size: var(--nd-font-size-base);
	margin-bottom: var(--nd-space-xs);
	color: var(--nelson-text, var(--nd-gray-darkest));
}

.nd-nav-user-role {
	font-size: var(--nd-font-size-sm);
	color: var(--nd-gray);
}

/* ==========================================================================
	Navigation Items - Sidebar Styling
	========================================================================== */

.nd-nav-list {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100%;
}

.nd-nav-item {
	margin-bottom: var(--nd-space-sm, 0.5rem) !important;
	width: 100%;
}

.nd-nav-link {
	display: flex !important;
	align-items: center !important;
	gap: 0.75rem !important;
	width: 100% !important;
	padding: 0.75rem 1rem !important;
	margin: 0 !important;
	text-align: left !important;
	background-color: var(--nelson-primary, var(--nd-primary, #2db34a)) !important;
	color: var(--nelson-button-text, var(--nd-white)) !important;
	border-radius: var(--nd-radius-md, 6px) !important;
	text-decoration: none !important;
	transition: all var(--nd-transition-base, 0.2s ease) !important;
	font-weight: var(--nd-font-weight-medium, 500) !important;
	cursor: pointer !important;
}

.nd-nav-link:hover {
	background-color: var(--nelson-primary-dark, var(--nd-primary-hover, #24963b)) !important;
	color: var(--nelson-button-text, var(--nd-white)) !important;
	text-decoration: none !important;
	transform: translateX(4px);
}

.nd-nav-link.active {
	background-color: var(--nelson-nav-active-bg, var(--nelson-card-bg, #ffffff)) !important;
	color: var(--nelson-nav-active-text, var(--nelson-primary, var(--nd-primary, #2db34a))) !important;
	font-weight: var(--nd-font-weight-semibold, 600) !important;
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--nelson-primary, var(--nd-primary, #2db34a)) 18%, transparent);
}

.nd-nav-link.active:hover {
	background-color: var(--nelson-nav-active-bg, var(--nelson-card-bg, #ffffff)) !important;
	color: var(--nelson-nav-active-text, var(--nelson-primary, var(--nd-primary, #2db34a))) !important;
}

.nd-nav-link--backend {
	background-color: var(--nelson-admin-link-bg, #6c757d) !important;
	color: var(--nelson-admin-link-text, var(--nd-white)) !important;
}

.nd-nav-link--backend:hover {
	background-color: var(--nelson-admin-link-hover-bg, #5a6268) !important;
	color: var(--nelson-admin-link-text, var(--nd-white)) !important;
}

/* ==========================================================================
	Responsive - Mobile Layout
	========================================================================== */

@media (max-width: 968px) {
	.nd-dashboard-container {
	flex-direction: column !important;
	}

	.nd-dashboard-sidebar {
	position: relative !important;
	flex: 0 0 auto !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 100% !important;
	height: auto !important;
	margin-bottom: var(--nd-space-lg, 1.5rem);
	}

	.nd-nav {
	max-width: 100%;
	}

	.nd-dashboard-content {
	max-width: 100%;
	}
}

.nd-nav-icon {
	display: flex;
	align-items: center;
	font-size: var(--nd-font-size-lg);
}

.nd-nav-icon .dashicons {
	width: 20px;
	height: 20px;
	font-size: 20px;
}

.nd-nav-text {
	flex: 1;
}

.nd-nav-notification {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	background: var(--nd-danger);
	color: var(--nd-white);
	border-radius: 10px;
	font-size: var(--nd-font-size-xs);
	font-weight: var(--nd-font-weight-semibold);
}

/* ==========================================================================
	Tables
	========================================================================== */

.nd-table {
	width: 100%;
	border-collapse: collapse;
	margin: var(--nd-space-md) 0;
	background: var(--nelson-card-bg, var(--nd-white));
	color: var(--nelson-text, var(--nd-gray-darkest));
	border-radius: var(--nd-radius-lg);
	overflow: hidden;
	box-shadow: var(--nd-shadow-sm);
}

.nd-table th,
.nd-table td {
	padding: 0.75rem;
	text-align: left;
	border-bottom: 1px solid var(--nd-gray-lightest);
	color: var(--nelson-text, var(--nd-gray-darkest));
}

.nd-table th {
	background-color: var(--nelson-bg-light, var(--nd-off-white));
	font-weight: var(--nd-font-weight-semibold);
	color: var(--nelson-text, var(--nd-gray-dark));
	text-transform: uppercase;
	font-size: var(--nd-font-size-sm);
	letter-spacing: 0.05em;
}

.nd-table tbody tr {
	transition: background-color var(--nd-transition-fast);
}

.nd-poker-table tr:nth-child(even) td {
	background-color: var(--nd-primary);
}

.nd-poker-table tr:nth-child(odd) td {
	background-color: var(--nd-secondary);
}

.nd-table tbody tr:hover {
	background-color: var(--nelson-bg-light, var(--nd-off-white));
}

.nd-table tbody tr:last-child td {
	border-bottom: none;
}

/* ==========================================================================
	Status Indicators
	========================================================================== */

.nd-status {
	display: inline-block;
	padding: var(--nd-space-xs) 0.75rem;
	border-radius: var(--nd-radius-sm);
	font-size: var(--nd-font-size-xs);
	font-weight: var(--nd-font-weight-semibold);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.nd-status--pending {
	background-color: var(--nd-warning-bg);
	color: var(--nd-warning-text);
	border: 1px solid var(--nd-warning-border);
}

.nd-status--approved,
.nd-status--active {
	background-color: var(--nd-success-bg);
	color: var(--nd-success-text);
	border: 1px solid var(--nd-success-border);
}

.nd-status--inactive,
.nd-status--banned {
	background-color: var(--nd-danger-bg);
	color: var(--nd-danger-text);
	border: 1px solid var(--nd-danger-border);
}

/* ==========================================================================
	Notices and Messages
	========================================================================== */

.nd-notice {
	padding: var(--nd-space-md);
	margin: var(--nd-space-md) 0;
	border-radius: var(--nd-radius-md);
	border-left: 4px solid var(--nd-primary);
}

.nd-notice--success {
	background-color: var(--nd-success-bg);
	border-left-color: var(--nd-success);
	color: var(--nd-success-text);
}

.nd-notice--warning {
	background-color: var(--nd-warning-bg);
	border-left-color: var(--nd-warning);
	color: var(--nd-warning-text);
}

.nd-notice--error {
	background-color: var(--nd-danger-bg);
	border-left-color: var(--nd-danger);
	color: var(--nd-danger-text);
}

.nd-notice--info {
	background-color: var(--nd-info-bg);
	border-left-color: var(--nd-info);
	color: var(--nd-info-text);
}

/* ==========================================================================
	Modal
	========================================================================== */

.nd-modal {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	z-index: var(--nd-z-modal) !important;
	display: none;
	align-items: center !important;
	justify-content: center !important;
	padding: 20px !important;
}

.nd-modal[style*="display: flex"],
.nd-modal[style*="display:flex"] {
	display: flex !important;
}

.nd-modal-backdrop {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	background: rgba(0, 0, 0, 0.6) !important;
	cursor: pointer !important;
	z-index: var(--nd-z-modal-backdrop) !important;
}

.nd-modal-content {
	position: relative !important;
	z-index: var(--nd-z-modal) !important;
	width: 90% !important;
	max-width: 800px !important;
	max-height: 85vh !important;
	margin: 0 auto !important;
	background: var(--nd-white) !important;
	border-radius: var(--nd-radius-lg) !important;
	box-shadow: var(--nd-shadow-lg) !important;
	display: flex !important;
	flex-direction: column !important;
	animation: bgeModalSlideIn var(--nd-transition-slow) !important;
}

@keyframes bgeModalSlideIn {
	from {
	opacity: 0;
	transform: translateY(-50px);
	}
	to {
	opacity: 1;
	transform: translateY(0);
	}
}

.nd-modal-header {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	padding: var(--nd-space-lg) var(--nd-space-xl) !important;
	border-bottom: 1px solid var(--nd-gray-lighter) !important;
	background: var(--nd-off-white) !important;
	border-radius: var(--nd-radius-lg) var(--nd-radius-lg) 0 0 !important;
}

.nd-modal-header h2 {
	margin: 0 !important;
	font-size: var(--nd-font-size-xl) !important;
	color: var(--nd-gray-darkest) !important;
}

.nd-modal-close {
	background: none !important;
	border: none !important;
	font-size: var(--nd-font-size-xl) !important;
	cursor: pointer !important;
	padding: 0 !important;
	width: 32px !important;
	height: 32px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-radius: var(--nd-radius-sm) !important;
	color: var(--nd-gray) !important;
	transition: all var(--nd-transition-base) !important;
}

.nd-modal-close:hover {
	background: var(--nd-gray-lightest) !important;
	color: var(--nd-gray-darkest) !important;
}

.nd-modal-body {
	padding: var(--nd-space-xl) !important;
	overflow-y: auto !important;
	flex: 1 !important;
}

.nd-modal-footer {
	padding: var(--nd-space-lg) var(--nd-space-xl) !important;
	border-top: 1px solid var(--nd-gray-lighter) !important;
	background: var(--nd-off-white) !important;
	display: flex !important;
	justify-content: flex-end !important;
	gap: var(--nd-space-md) !important;
	border-radius: 0 0 var(--nd-radius-lg) var(--nd-radius-lg) !important;
}

/* ==========================================================================
	Loading States
	========================================================================== */

.nd-loading {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: var(--nd-space-xl);
}

.nd-spinner {
	width: 2rem;
	height: 2rem;
	border: 3px solid var(--nd-gray-lightest);
	border-top: 3px solid var(--nd-primary);
	border-radius: var(--nd-radius-full);
	animation: nd-spin 1s linear infinite;
}

@keyframes nd-spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

/* ==========================================================================
	Quick Actions Grid
	========================================================================== */

.nd-quick-actions-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: var(--nd-space-lg);
	margin-bottom: var(--nd-space-xl);
}

.nd-card-icon {
	font-size: var(--nd-font-size-xxxl);
	margin-bottom: var(--nd-space-md);
	color: var(--nd-primary);
}

.nd-card-icon .dashicons {
	width: 48px;
	height: 48px;
	font-size: 48px;
}

.nd-card-content h3 {
	margin: 0 0 var(--nd-space-sm) 0;
	font-size: var(--nd-font-size-lg);
	color: var(--nd-gray-darkest);
}

.nd-card-content p {
	color: var(--nd-gray);
	margin-bottom: var(--nd-space-md);
}

/* ==========================================================================
	Avatar
	========================================================================== */

.nd-avatar-container {
	display: flex;
	gap: var(--nd-space-lg);
	align-items: flex-start;
}

.nd-avatar-preview img {
	border-radius: var(--nd-radius-full);
	display: block;
}

/* ==========================================================================
	Utility Classes
	========================================================================== */

.nd-text-center {
	text-align: center;
}

.nd-text-right {
	text-align: right;
}

.nd-margin-bottom {
	margin-bottom: var(--nd-space-md);
}

.nd-margin-top {
	margin-top: var(--nd-space-md);
}

.nd-padding {
	padding: var(--nd-space-md);
}

.nd-hidden {
	display: none;
}

.nd-visible {
	display: block;
}

/* ==========================================================================
	Accessibility Enhancements
	========================================================================== */

.nd-screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.nd-button:focus,
.nd-form input:focus,
.nd-form select:focus,
.nd-form textarea:focus {
	outline: 2px solid var(--nd-primary);
	outline-offset: 2px;
}

@media (prefers-contrast: high) {
	.nd-section,
	.nd-card {
	border-width: 2px;
	}

	.nd-button {
	border: 2px solid currentColor;
	}
}

/* ==========================================================================
	Responsive Design
	========================================================================== */

@media (max-width: 1024px) {
	.nd-dashboard-sidebar {
	flex: 0 0 240px;
	width: 240px;
	}
}

@media (max-width: 768px) {
	.nd-dashboard-container {
	flex-direction: column;
	padding: var(--nd-space-md) var(--nd-space-sm);
	}

	.nd-dashboard-sidebar {
	flex: 1;
	width: 100%;
	position: relative;
	height: auto;
	}

	.nd-dashboard-content {
	width: 100%;
	}

	.nd-form {
	padding: var(--nd-space-md);
	}

	.nd-form-row--two-column {
	grid-template-columns: 1fr;
	}

	.nd-table {
	font-size: var(--nd-font-size-sm);
	}

	.nd-table th,
	.nd-table td {
	padding: var(--nd-space-sm) var(--nd-space-xs);
	}

	.nd-form__field--inline {
	flex-direction: column;
	align-items: stretch;
	}

	.nd-button {
	width: 100%;
	margin-right: 0;
	margin-bottom: var(--nd-space-sm);
	}

	.nd-nav-link {
	padding: 0.6rem 0.75rem !important;
	font-size: 0.9rem;
	}

	.nd-quick-actions-grid {
	grid-template-columns: 1fr;
	}

	.nd-modal-content {
	width: 95% !important;
	max-height: 90vh !important;
	}

	.nd-modal-header,
	.nd-modal-body,
	.nd-modal-footer {
	padding: var(--nd-space-md) !important;
	}

	.nd-modal-footer {
	flex-direction: column;
	}

	.nd-modal-footer button {
	width: 100% !important;
	}
}

@media (max-width: 640px) {
	:root {
	--nd-font-size-xxxl: 1.5rem;
	--nd-font-size-xxl: 1.375rem;
	}

	.nd-section {
	padding: var(--nd-space-md);
	}
}

/* ==========================================================================
   PUBLIC PROFILE STYLES
   ========================================================================== */

/* Public Profile Styles */
.nd-public-profile-page {
	max-width: 1200px;
	margin: 2rem auto;
	padding: 0 1rem;
}

.nd-profile-container {
	background: var(--nelson-bg-darker);
	border-radius: 8px;
	box-shadow: var(--nelson-shadow-sm);
	overflow: hidden;
}

.nd-profile-header {
	background: linear-gradient(135deg, var(--nelson-primary) 0%, var(--nelson-warning) 100%);
	color: var(--nelson-text-on-dark);
	padding: 2rem;
	display: flex;
	align-items: center;
	gap: 2rem;
}

.nd-profile-avatar {
	flex-shrink: 0;
}

.nd-profile-avatar-img {
	border-radius: 50%;
	border: 4px solid color-mix(in srgb, var(--nelson-text-on-dark) 20%, transparent);
	width: 150px;
	height: 150px;
	object-fit: cover;
}

.nd-profile-header-info {
	flex: 1;
}

.nd-profile-name {
	margin: 0 0 0.5rem 0;
	font-size: 2rem;
	font-weight: 700;
}

.nd-profile-meta {
	opacity: 0.9;
	font-size: 0.95rem;
}

.nd-profile-games-nav {
	border-bottom: 2px solid var(--nelson-bg-gray);
	background: var(--nelson-bg-light);
	padding: 0;
}

.nd-profile-game-switcher {
	display: flex;
	gap: 0;
	justify-content: center;
	padding: 0;
}

.nd-game-switch-btn {
	padding: 1rem 2rem;
	text-decoration: none;
	color: var(--nelson-text-light);
	font-weight: 600;
	border-bottom: 3px solid transparent;
	transition: all 0.3s ease;
	background: transparent;
	border-radius: 0;
}

.nd-game-switch-btn:hover {
	color: var(--nelson-text);
	background: var(--nelson-bg-gray);
}

.nd-game-switch-btn.active {
	color: var(--nelson-primary);
	border-bottom-color: var(--nelson-primary);
	background: var(--nelson-bg-white);
}

.nd-profile-content {
	padding: 2rem;
}

/* 2-Column Flex Layout with 30/70 split */
.nd-profile-content-columns {
	display: flex;
	gap: 2rem;
	align-items: flex-start;
}

/* Mobile: Stack columns */
@media (max-width: 767px) {
	.nd-profile-content-columns {
		flex-direction: column;
	}
}

.nd-profile-no-games {
	text-align: center;
	padding: 3rem 1rem;
	color: var(--nelson-text-light);
}

/* Responsive */
@media (max-width: 768px) {
	.nd-profile-header {
		flex-direction: column;
		text-align: center;
	}
	
	.nd-profile-name {
		font-size: 1.5rem;
	}
	
	.nd-game-switch-btn {
		padding: 0.75rem 1rem;
		font-size: 0.9rem;
	}
	
	.nd-profile-content {
		padding: 1rem;
	}
	
	.nd-profile-content-grid {
		gap: 1.5rem;
	}
}

/* ==========================================================================
   USER PROFILE STYLES
   ========================================================================== */


/* ==========================================================================
   Resource Library Styles - Card-Based Layout
   Add these styles to your nelsons-dashboard.css file
   ========================================================================== */

/* Browse Section Header */
.nd-rl-browse-section .nd-header {
    margin-bottom: var(--nd-space-xl);
}

.nd-rl-browse-subtitle {
    color: var(--nelson-section-text, rgba(255, 255, 255, 0.9));
    margin: var(--nd-space-sm) 0 0 0;
    font-size: var(--nd-font-size-base);
}

/* Search & Filter Section */
.nd-rl-search-section {
    margin-bottom: var(--nd-space-xl);
    padding: var(--nd-space-lg);
}

.nd-rl-search-wrapper {
    display: flex;
    gap: var(--nd-space-md);
    margin-bottom: var(--nd-space-md);
}

.nd-rl-search-input {
    flex: 1;
    padding: var(--nd-space-md);
    border: 1px solid var(--nd-gray-lighter);
    border-radius: var(--nd-radius-md);
    font-size: var(--nd-font-size-base);
}

.nd-rl-search-input:focus {
    outline: 2px solid var(--nd-primary);
    outline-offset: 2px;
}

.nd-rl-search-btn {
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: var(--nd-space-sm);
}

.nd-rl-search-btn .dashicons {
    width: 20px;
    height: 20px;
    font-size: 20px;
}

.nd-rl-filter-wrapper {
    display: flex;
    gap: var(--nd-space-md);
}

.nd-rl-type-filter {
    flex: 1;
    padding: var(--nd-space-md);
    border: 1px solid var(--nd-gray-lighter);
    border-radius: var(--nd-radius-md);
    font-size: var(--nd-font-size-base);
    background: var(--nd-white);
}

/* Folder Tabs */
.nd-rl-folder-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: var(--nd-space-sm);
    margin-bottom: var(--nd-space-xl);
    padding: var(--nd-space-md);
    background: var(--nd-gray-dark);
    border-radius: var(--nd-radius-lg);
}

.nd-rl-folder-tab {
    display: flex;
    align-items: center;
    gap: var(--nd-space-sm);
    padding: var(--nd-space-md) var(--nd-space-lg);
    background: var(--nd-secondary);
    color: var(--nd-white);
    border: none;
    border-radius: var(--nd-radius-md);
    font-size: var(--nd-font-size-sm);
    font-weight: var(--nd-font-weight-medium);
    cursor: pointer;
    transition: all var(--nd-transition-base);
}

.nd-rl-folder-tab:hover {
    background: var(--nd-secondary-hover);
    transform: translateY(-1px);
}

.nd-rl-folder-tab--active {
    background: var(--nd-primary);
    box-shadow: var(--nd-shadow-primary);
}

.nd-rl-folder-tab .dashicons {
    width: 18px;
    height: 18px;
    font-size: 18px;
}

.nd-rl-folder-count {
    opacity: 0.8;
    font-size: var(--nd-font-size-xs);
}

/* Folders Container */
.nd-rl-folders-container {
    display: flex;
    flex-direction: column;
    gap: var(--nd-space-xl);
}

/* Folder Section */
.nd-rl-folder-section {
    padding: var(--nd-space-lg);
    background: var(--nd-white);
    border-radius: var(--nd-radius-lg);
    box-shadow: var(--nd-shadow-sm);
}

.nd-rl-folder-heading {
    display: flex;
    align-items: center;
    gap: var(--nd-space-sm);
    margin: 0 0 var(--nd-space-md) 0;
    padding-bottom: var(--nd-space-sm);
    border-bottom: 2px solid var(--nd-gray-lightest);
    color: var(--nd-dark);
    font-size: var(--nd-font-size-xl);
    font-weight: var(--nd-font-weight-bold);
}

.nd-rl-folder-heading .dashicons {
    width: 24px;
    height: 24px;
    font-size: 24px;
    color: var(--nd-primary);
}

.nd-rl-folder-description {
    color: var(--nd-gray);
    margin: 0 0 var(--nd-space-lg) 0;
    font-size: var(--nd-font-size-base);
}

/* Resource Cards Grid */
.nd-rl-resources-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: var(--nd-space-lg);
}

/* Individual Resource Card */
.nd-rl-resource-card {
    background: var(--nd-secondary);
    border: 1px solid var(--nd-gray-lightest);
    border-radius: var(--nd-radius-lg);
    overflow: hidden;
    transition: all var(--nd-transition-base);
    display: flex;
    flex-direction: column;
    box-shadow: var(--nd-shadow-sm);
}

.nd-rl-resource-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--nd-shadow-md);
    border-color: var(--nd-primary);
}

/* Card Icon */
.nd-rl-card-icon {
    background: linear-gradient(135deg, var(--nd-primary), var(--nd-primary-hover));
    padding: var(--nd-space-lg);
    display: flex;
    align-items: center;
    justify-content: center;
}

.nd-rl-card-icon .dashicons {
    width: 48px;
    height: 48px;
    font-size: 48px;
    color: var(--nd-white);
}

/* Card Thumbnail */
.nd-rl-card-thumbnail {
    width: 100%;
    height: 160px;
    overflow: hidden;
}

.nd-rl-card-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--nd-transition-base);
}

.nd-rl-resource-card:hover .nd-rl-card-thumbnail img {
    transform: scale(1.05);
}

/* Card Content */
.nd-rl-card-content {
    padding: var(--nd-space-lg);
    flex: 1;
}

.nd-rl-card-title {
    margin: 0 0 var(--nd-space-sm) 0;
    font-size: var(--nd-font-size-lg);
    font-weight: var(--nd-font-weight-semibold);
    color: var(--nd-primary);
    line-height: 1.4;
}

.nd-rl-card-type {
    display: inline-block;
    padding: var(--nd-space-xs) var(--nd-space-md);
    background: var(--nd-primary-light);
    color: var(--nd-primary);
    border-radius: var(--nd-radius-sm);
    font-size: var(--nd-font-size-xs);
    font-weight: var(--nd-font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: var(--nd-space-sm);
}

.nd-rl-card-excerpt {
    margin: var(--nd-space-sm) 0 0 0;
    color: var(--nd-gray);
    font-size: var(--nd-font-size-sm);
    line-height: 1.5;
}

/* Card Actions */
.nd-rl-card-actions {
    padding: var(--nd-space-md) var(--nd-space-lg);
    border-top: 1px solid var(--nd-gray-lightest);
    background: var(--nd-off-white);
}

.nd-rl-view-btn {
    width: 100%;
    text-align: center;
    justify-content: center;
}

/* Responsive Design */
@media (max-width: 1200px) {
    .nd-rl-resources-grid {
        grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
        gap: var(--nd-space-md);
    }
}

@media (max-width: 768px) {
    .nd-rl-search-wrapper {
        flex-direction: column;
    }
    
    .nd-rl-search-btn {
        width: 100%;
        justify-content: center;
    }
    
    .nd-rl-folder-tabs {
        flex-direction: column;
    }
    
    .nd-rl-folder-tab {
        width: 100%;
        justify-content: center;
    }
    
    .nd-rl-resources-grid {
        grid-template-columns: 1fr;
        gap: var(--nd-space-md);
    }
}

@media (max-width: 480px) {
    .nd-rl-folder-section {
        padding: var(--nd-space-md);
    }
    
    .nd-rl-card-content {
        padding: var(--nd-space-md);
    }
    
    .nd-rl-card-actions {
        padding: var(--nd-space-sm) var(--nd-space-md);
    }
}   

/**
 * Add this CSS to: modules/resource-library/assets/css/resource-library-dashboard.css
 * 
 * Folder Management Styles
 */

/* ============================================
   Folders Header
   ============================================ */
.nd-rl-folders-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 2px solid var(--nelson-border);
}

.nd-rl-folders-header h2 {
    margin: 0;
    font-size: 24px;
    font-weight: 600;
    color: var(--nelson-text);
}

/* ============================================
   Folder Form
   ============================================ */
.folder-form-container {
    background: var(--nelson-bg-light);
    border: 1px solid var(--nelson-border);
    border-radius: 8px;
    padding: 24px;
    margin-bottom: 30px;
}

.folder-form {
    max-width: 600px;
}

.form-row {
    margin-bottom: 20px;
}

.form-group {
    display: flex;
    flex-direction: column;
}

.form-label {
    font-size: 14px;
    font-weight: 500;
    color: var(--nelson-text);
    margin-bottom: 8px;
}

.form-label.required::after {
	content: " *";
	color: var(--nelson-error);
}

.form-control {
    width: 100%;
    padding: 10px 12px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--nelson-text);
    background-color: var(--nelson-bg-white);
    border: 1px solid var(--nelson-border);
    border-radius: 6px;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.form-control:focus {
    outline: 2px solid var(--nelson-focus-ring);
    outline-offset: 2px;
    border-color: var(--nelson-focus-ring);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--nelson-focus-ring) 16%, transparent);
}

.form-control::placeholder {
    color: var(--nelson-text-light);
}

textarea.form-control {
    resize: vertical;
    min-height: 80px;
}

.form-actions {
    display: flex;
    gap: 12px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid var(--nelson-border);
}

#save-folder-btn .spinner {
    position: static;
    float: none;
    margin: 0 0 0 8px;
    width: 16px;
    height: 16px;
    background-size: 16px 16px;
}

/* ============================================
   Folders Grid
   ============================================ */
.nd-rl-folders-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 24px;
    margin-bottom: 30px;
}

/* ============================================
   Folder Card
   ============================================ */
.folder-card {
    background: var(--nelson-card-bg);
    border: 1px solid var(--nelson-card-border);
    border-radius: 8px;
    overflow: hidden;
    transition: all 0.2s ease;
}

.folder-card:hover {
    border-color: var(--nelson-primary);
    box-shadow: var(--nelson-shadow);
}

.folder-card.updated-flash {
    animation: flashUpdate 1s ease;
}

@keyframes flashUpdate {
    0%, 100% {
        background-color: var(--nelson-card-bg);
    }
    50% {
        background-color: var(--nelson-primary-light);
    }
}

.folder-card-header {
    display: flex;
    gap: 16px;
    padding: 20px;
    border-bottom: 1px solid var(--nelson-border);
}

.folder-icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--nelson-primary) 0%, var(--nelson-primary-dark) 100%);
    border-radius: 8px;
}

.folder-icon .dashicons {
    font-size: 24px;
    width: 24px;
    height: 24px;
    color: var(--nelson-button-text);
}

.folder-info {
    flex: 1;
    min-width: 0;
}

.folder-name {
    margin: 0 0 4px 0;
    font-size: 16px;
    font-weight: 600;
    color: var(--nelson-text);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.folder-description {
    margin: 0;
    font-size: 13px;
    color: var(--nelson-text-light);
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.folder-card-body {
    padding: 16px 20px;
    background: var(--nelson-bg-light);
}

.folder-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.stat-value {
    font-size: 24px;
    font-weight: 700;
    color: var(--nelson-text);
}

.stat-label {
    font-size: 12px;
    color: var(--nelson-text-light);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 4px;
}

.folder-card-footer {
    padding: 16px 20px;
}

.folder-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.folder-actions .button {
    flex: 1;
    min-width: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 12px;
    font-size: 13px;
    white-space: nowrap;
    text-decoration: none;
}

.folder-actions .button .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
}

.button-danger {
    background-color: var(--nelson-error);
    color: var(--nelson-button-text);
    border-color: var(--nelson-error);
}

.button-danger:hover:not(:disabled) {
    background-color: color-mix(in srgb, var(--nelson-error) 82%, var(--nelson-text));
    border-color: color-mix(in srgb, var(--nelson-error) 82%, var(--nelson-text));
    color: var(--nelson-button-text);
}

.button-disabled {
    background-color: var(--nelson-bg-gray);
    color: var(--nelson-text-light);
    border-color: var(--nelson-border);
    cursor: not-allowed;
}

/* ============================================
   Empty State
   ============================================ */
.nd-rl-empty-state {
    text-align: center;
    padding: 60px 20px;
    background: var(--nelson-bg-light);
    border: 2px dashed var(--nelson-border);
    border-radius: 8px;
    margin-bottom: 30px;
}

.empty-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--nelson-bg-gray);
    border-radius: 50%;
}

.empty-icon .dashicons {
    font-size: 40px;
    width: 40px;
    height: 40px;
    color: var(--nelson-text-light);
}

.nd-rl-empty-state h3 {
    margin: 0 0 10px 0;
    font-size: 20px;
    font-weight: 600;
    color: var(--nelson-text);
}

.nd-rl-empty-state p {
    margin: 0 0 24px 0;
    font-size: 14px;
    color: var(--nelson-text-light);
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
}

/* ============================================
   Help Box
   ============================================ */
.nd-rl-help-box {
    background: var(--nelson-info-bg);
    border: 1px solid var(--nelson-info-border);
    border-radius: 8px;
    padding: 20px;
}

.nd-rl-help-box h4 {
    margin: 0 0 12px 0;
    font-size: 14px;
    font-weight: 600;
    color: var(--nelson-info-text);
}

.nd-rl-help-box ul {
    margin: 0;
    padding-left: 20px;
}

.nd-rl-help-box li {
    font-size: 13px;
    color: var(--nelson-info-text);
    line-height: 1.6;
    margin-bottom: 6px;
}

.nd-rl-help-box li:last-child {
    margin-bottom: 0;
}

/* ============================================
   Notifications
   ============================================ */
.nd-rl-notification {
    display: none;
    padding: 16px 20px;
    margin-bottom: 20px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    animation: slideDown 0.3s ease;
}

@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.nd-rl-notification-success {
    background-color: var(--nelson-success-bg);
    color: var(--nelson-success-text);
    border: 1px solid var(--nelson-success-border);
}

.nd-rl-notification-error {
    background-color: var(--nelson-error-bg);
    color: var(--nelson-error-text);
    border: 1px solid var(--nelson-error-border);
}

/* ============================================
   Responsive Design
   ============================================ */
@media (max-width: 768px) {
    .nd-rl-folders-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    .nd-rl-folders-grid {
        grid-template-columns: 1fr;
    }

    .folder-actions {
        flex-direction: column;
    }

    .folder-actions .button {
        width: 100%;
    }

    .form-actions {
        flex-direction: column;
    }

    .form-actions .button {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .nd-rl-folders-header h2 {
        font-size: 20px;
    }

    .folder-card-header {
        flex-direction: column;
        text-align: center;
    }

    .folder-icon {
        margin: 0 auto;
    }
}

/* ========================================
   Privacy Consent Field Container
   ======================================== */

.nd-consent-field {
	margin: 1.5rem 0;
	padding: 1rem;
	background: var(--nelson-bg-light);
	border: 1px solid var(--nelson-border);
	border-radius: 4px;
}

.nd-consent-label {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	margin: 0;
	cursor: pointer;
	font-size: 0.95rem;
	line-height: 1.5;
}

/* ========================================
   Checkbox Styling
   ======================================== */

.nd-consent-label input[type="checkbox"] {
	flex-shrink: 0;
	margin: 0.25rem 0 0 0;
	width: 18px;
	height: 18px;
	cursor: pointer;
}

/* Enhanced checkbox for modern browsers */
.nd-consent-label input[type="checkbox"]:focus {
	outline: 2px solid var(--nelson-focus-ring);
	outline-offset: 2px;
}

.nd-consent-label input[type="checkbox"]:checked {
	accent-color: var(--nelson-primary);
}

/* ========================================
   Consent Text
   ======================================== */

.nd-consent-text {
	flex: 1;
	color: var(--nelson-text);
}

.nd-consent-text a {
	color: var(--nelson-primary);
	text-decoration: underline;
	font-weight: 500;
}

.nd-consent-text a:hover,
.nd-consent-text a:focus {
	color: var(--nelson-primary-dark);
	text-decoration: none;
}

/* External link icon (optional) */
.nd-consent-text a[target="_blank"]::after {
	content: " ↗";
	font-size: 0.85em;
	margin-left: 0.2em;
	opacity: 0.7;
}

/* ========================================
   Required Indicator
   ======================================== */

.nd-consent-text .required-indicator {
	color: var(--nelson-error);
	margin-left: 0.25rem;
	font-weight: bold;
}

/* ========================================
   Description Text
   ======================================== */

.nd-consent-field .description {
	display: block;
	margin: 0.5rem 0 0 0;
	padding-left: 2rem; /* Align with checkbox text */
	font-size: 0.875rem;
	color: var(--nelson-text-light);
	line-height: 1.4;
}

/* ========================================
   Error States
   ======================================== */

.nd-consent-field.error {
	border-color: var(--nelson-error);
	background: var(--nelson-error-bg);
}

.nd-consent-field.error .nd-consent-text {
	color: var(--nelson-error-text);
}

/* Highlight checkbox when validation fails */
.nd-consent-field input[type="checkbox"]:invalid,
.nd-consent-field input[type="checkbox"]:required:not(:checked) {
	outline: 2px solid var(--nelson-error);
	outline-offset: 2px;
}

/* ========================================
   Responsive Design
   ======================================== */

@media screen and (max-width: 600px) {
	.nd-consent-field {
		padding: 0.75rem;
		margin: 1rem 0;
	}
	
	.nd-consent-label {
		gap: 0.5rem;
		font-size: 0.9rem;
	}
	
	.nd-consent-field .description {
		padding-left: 1.5rem;
		font-size: 0.8rem;
	}
}

/* ========================================
   Accessibility Enhancements
   ======================================== */

/* Focus visible for keyboard navigation */
.nd-consent-label:focus-within {
	outline: 2px solid var(--nelson-focus-ring);
	outline-offset: 2px;
	border-radius: 4px;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
	.nd-consent-field {
		border-width: 2px;
	}
	
	.nd-consent-text a {
		text-decoration-thickness: 2px;
	}
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
	.nd-consent-text a {
		transition: none;
	}
}

/* ========================================
   Dark Mode Support (Optional)
   ======================================== */

@media (prefers-color-scheme: dark) {
	.nd-consent-field {
		background: var(--nelson-bg-darker);
		border-color: var(--nelson-border);
	}
	
	.nd-consent-text {
		color: var(--nelson-text-on-dark);
	}
	
	.nd-consent-text a {
		color: var(--nelson-primary-light);
	}
	
	.nd-consent-text a:hover,
	.nd-consent-text a:focus {
		color: var(--nelson-primary-light);
	}
	
	.nd-consent-field .description {
		color: var(--nelson-section-muted);
	}
}

/* ========================================
   Print Styles
   ======================================== */

@media print {
	.nd-consent-field {
		border: 1px solid var(--nelson-text);
		background: var(--nelson-bg-white);
	}

	.nd-consent-text a::after {
		content: " (" attr(href) ")";
		font-size: 0.8em;
	}
}

/* ==========================================================================
	Template Utility Classes (replaces inline layout styles)
	========================================================================== */

/* Error list inside notices (manage-profile) */
.nd-notice-list {
	margin: 0;
	padding-left: 20px;
}

/* Horizontal spacing between adjacent buttons (e.g. avatar remove) */
.nd-button--spaced {
	margin-left: 5px;
}

/* Full-width public profile privacy panel (manage-profile) */
.nd-profile-privacy-panel {
	grid-column: 1 / -1;
	margin-top: 30px;
	padding: 20px;
	background: var(--nelson-bg-light, var(--nd-bg-light));
	border-radius: 5px;
}

/* Stacked radio options (manage-profile name display choices) */
.nd-radio-option {
	display: block;
	margin-bottom: 0.5rem;
}

.nd-radio-option--last {
	margin-bottom: 0;
}

/* User statistics section spacing (manage-profile) */
.nd-section--stats {
	margin-top: 40px;
}.nd-editor-wrapper{margin-bottom:1rem}.nd-editor-wrapper .wp-editor-wrap{border:1px solid var(--nd-gray-lightest,#e0e0e0);border-radius:var(--nd-radius-md,6px);overflow:hidden;box-shadow:var(--nd-shadow-sm,0 2px 4px rgb(0 0 0 / .1))}.nd-editor-wrapper .wp-editor-tabs{background:var(--nd-off-white,#f8f9fa);border-bottom:1px solid var(--nd-gray-lightest,#e0e0e0)}.nd-editor-wrapper .wp-switch-editor{background:#fff0;border:0;color:var(--nd-gray,#666);padding:8px 12px;font-size:13px;cursor:pointer;transition:all .2s ease}.nd-editor-wrapper .wp-switch-editor.switch-tmce{border-right:1px solid var(--nd-gray-lightest,#e0e0e0)}.nd-editor-wrapper .wp-switch-editor:hover{background:var(--nd-gray-lightest,#e9ecef);color:var(--nd-gray-darkest,#333)}.nd-editor-wrapper .wp-switch-editor.active{background:var(--nd-white,#fff);color:var(--nd-primary,#2d7ef7);font-weight:600}.nd-editor-wrapper .wp-editor-container{background:var(--nd-white,#fff)}.nd-editor-wrapper textarea.wp-editor-area{border:0;box-shadow:none;font-family:Consolas,Monaco,monospace;font-size:13px;line-height:1.5;padding:10px}.nd-simple-editor-wrapper textarea{width:100%;border:1px solid var(--nd-gray-lightest,#e0e0e0);border-radius:var(--nd-radius-md,6px);padding:12px;font-family:var(--nd-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif);font-size:14px;line-height:1.5;resize:vertical;box-shadow:var(--nd-shadow-sm,0 2px 4px rgb(0 0 0 / .1));transition:border-color .2s ease}.nd-simple-editor-wrapper textarea:focus{outline:none;border-color:var(--nd-primary,#2d7ef7);box-shadow:0 0 0 3px rgb(45 126 247 / .1)}.nd-editor-loading{position:relative;opacity:.6;pointer-events:none}.nd-editor-loading::after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid var(--nd-off-white,#f3f3f3);border-top:2px solid var(--nd-primary,#2d7ef7);border-radius:50%;animation:nd-spin 1s linear infinite}:root{--woocommerce:#720eec;--wc-green:#007518;--wc-red:#a00;--wc-orange:#ffba00;--wc-blue:#2ea2cc;--wc-primary:#720eec;--wc-primary-text:#fcfbfe;--wc-secondary:#e9e6ed;--wc-secondary-text:#515151;--wc-highlight:#958e09;--wc-highligh-text:white;--wc-content-bg:#fff;--wc-subtext:#767676;--wc-form-border-color:rgba(32, 7, 7, 0.8);--wc-form-border-radius:4px;--wc-form-border-width:1px;--wc-destructive:#cc1818;--wc-card-border-radius:8px}.woocommerce .woocommerce-error .button,.woocommerce .woocommerce-info .button,.woocommerce .woocommerce-message .button,.woocommerce-page .woocommerce-error .button,.woocommerce-page .woocommerce-info .button,.woocommerce-page .woocommerce-message .button{float:right}.woocommerce .col2-set,.woocommerce-page .col2-set{width:100%}.woocommerce .col2-set::after,.woocommerce .col2-set::before,.woocommerce-page .col2-set::after,.woocommerce-page .col2-set::before{content:" ";display:table}.woocommerce .col2-set::after,.woocommerce-page .col2-set::after{clear:both}.woocommerce .col2-set .col-1,.woocommerce-page .col2-set .col-1{float:left;width:48%}.woocommerce .col2-set .col-2,.woocommerce-page .col2-set .col-2{float:right;width:48%}.woocommerce img,.woocommerce-page img{height:auto;max-width:100%}.woocommerce #content div.product div.images,.woocommerce div.product div.images,.woocommerce-page #content div.product div.images,.woocommerce-page div.product div.images{float:left;width:48%}.woocommerce #content div.product div.thumbnails::after,.woocommerce #content div.product div.thumbnails::before,.woocommerce div.product div.thumbnails::after,.woocommerce div.product div.thumbnails::before,.woocommerce-page #content div.product div.thumbnails::after,.woocommerce-page #content div.product div.thumbnails::before,.woocommerce-page div.product div.thumbnails::after,.woocommerce-page div.product div.thumbnails::before{content:" ";display:table}.woocommerce #content div.product div.thumbnails::after,.woocommerce div.product div.thumbnails::after,.woocommerce-page #content div.product div.thumbnails::after,.woocommerce-page div.product div.thumbnails::after{clear:both}.woocommerce #content div.product div.thumbnails a,.woocommerce div.product div.thumbnails a,.woocommerce-page #content div.product div.thumbnails a,.woocommerce-page div.product div.thumbnails a{float:left;width:30.75%;margin-right:3.8%;margin-bottom:1em}.woocommerce #content div.product div.thumbnails a.last,.woocommerce div.product div.thumbnails a.last,.woocommerce-page #content div.product div.thumbnails a.last,.woocommerce-page div.product div.thumbnails a.last{margin-right:0}.woocommerce #content div.product div.thumbnails a.first,.woocommerce div.product div.thumbnails a.first,.woocommerce-page #content div.product div.thumbnails a.first,.woocommerce-page div.product div.thumbnails a.first{clear:both}.woocommerce #content div.product div.thumbnails.columns-1 a,.woocommerce div.product div.thumbnails.columns-1 a,.woocommerce-page #content div.product div.thumbnails.columns-1 a,.woocommerce-page div.product div.thumbnails.columns-1 a{width:100%;margin-right:0;float:none}.woocommerce #content div.product div.thumbnails.columns-2 a,.woocommerce div.product div.thumbnails.columns-2 a,.woocommerce-page #content div.product div.thumbnails.columns-2 a,.woocommerce-page div.product div.thumbnails.columns-2 a{width:48%}.woocommerce #content div.product div.thumbnails.columns-4 a,.woocommerce div.product div.thumbnails.columns-4 a,.woocommerce-page #content div.product div.thumbnails.columns-4 a,.woocommerce-page div.product div.thumbnails.columns-4 a{width:22.05%}.woocommerce #content div.product div.thumbnails.columns-5 a,.woocommerce div.product div.thumbnails.columns-5 a,.woocommerce-page #content div.product div.thumbnails.columns-5 a,.woocommerce-page div.product div.thumbnails.columns-5 a{width:16.9%}.woocommerce #content div.product div.summary,.woocommerce div.product div.summary,.woocommerce-page #content div.product div.summary,.woocommerce-page div.product div.summary{float:right;width:48%;clear:none}.woocommerce #content div.product .woocommerce-tabs,.woocommerce div.product .woocommerce-tabs,.woocommerce-page #content div.product .woocommerce-tabs,.woocommerce-page div.product .woocommerce-tabs{clear:both}.woocommerce #content div.product .woocommerce-tabs ul.tabs::after,.woocommerce #content div.product .woocommerce-tabs ul.tabs::before,.woocommerce div.product .woocommerce-tabs ul.tabs::after,.woocommerce div.product .woocommerce-tabs ul.tabs::before,.woocommerce-page #content div.product .woocommerce-tabs ul.tabs::after,.woocommerce-page #content div.product .woocommerce-tabs ul.tabs::before,.woocommerce-page div.product .woocommerce-tabs ul.tabs::after,.woocommerce-page div.product .woocommerce-tabs ul.tabs::before{content:" ";display:table}.woocommerce #content div.product .woocommerce-tabs ul.tabs::after,.woocommerce div.product .woocommerce-tabs ul.tabs::after,.woocommerce-page #content div.product .woocommerce-tabs ul.tabs::after,.woocommerce-page div.product .woocommerce-tabs ul.tabs::after{clear:both}.woocommerce #content div.product .woocommerce-tabs ul.tabs li,.woocommerce div.product .woocommerce-tabs ul.tabs li,.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li,.woocommerce-page div.product .woocommerce-tabs ul.tabs li{display:inline-block}.woocommerce #content div.product #reviews .comment::after,.woocommerce #content div.product #reviews .comment::before,.woocommerce div.product #reviews .comment::after,.woocommerce div.product #reviews .comment::before,.woocommerce-page #content div.product #reviews .comment::after,.woocommerce-page #content div.product #reviews .comment::before,.woocommerce-page div.product #reviews .comment::after,.woocommerce-page div.product #reviews .comment::before{content:" ";display:table}.woocommerce #content div.product #reviews .comment::after,.woocommerce div.product #reviews .comment::after,.woocommerce-page #content div.product #reviews .comment::after,.woocommerce-page div.product #reviews .comment::after{clear:both}.woocommerce #content div.product #reviews .comment img,.woocommerce div.product #reviews .comment img,.woocommerce-page #content div.product #reviews .comment img,.woocommerce-page div.product #reviews .comment img{float:right;height:auto}.woocommerce ul.products,.woocommerce-page ul.products{clear:both}.woocommerce ul.products::after,.woocommerce ul.products::before,.woocommerce-page ul.products::after,.woocommerce-page ul.products::before{content:" ";display:table}.woocommerce ul.products::after,.woocommerce-page ul.products::after{clear:both}.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{float:left;margin:0 3.8% 2.992em 0;padding:0;position:relative;width:22.05%;margin-left:0}.woocommerce ul.products li.first,.woocommerce-page ul.products li.first{clear:both}.woocommerce ul.products li.last,.woocommerce-page ul.products li.last{margin-right:0}.woocommerce ul.products.columns-1 li.product,.woocommerce-page ul.products.columns-1 li.product{width:100%;margin-right:0}.woocommerce ul.products.columns-2 li.product,.woocommerce-page ul.products.columns-2 li.product{width:48%}.woocommerce ul.products.columns-3 li.product,.woocommerce-page ul.products.columns-3 li.product{width:30.75%}.woocommerce ul.products.columns-5 li.product,.woocommerce-page ul.products.columns-5 li.product{width:16.95%}.woocommerce ul.products.columns-6 li.product,.woocommerce-page ul.products.columns-6 li.product{width:13.5%}.woocommerce-page.columns-1 ul.products li.product,.woocommerce.columns-1 ul.products li.product{width:100%;margin-right:0}.woocommerce-page.columns-2 ul.products li.product,.woocommerce.columns-2 ul.products li.product{width:48%}.woocommerce-page.columns-3 ul.products li.product,.woocommerce.columns-3 ul.products li.product{width:30.75%}.woocommerce-page.columns-5 ul.products li.product,.woocommerce.columns-5 ul.products li.product{width:16.95%}.woocommerce-page.columns-6 ul.products li.product,.woocommerce.columns-6 ul.products li.product{width:13.5%}.woocommerce .woocommerce-result-count,.woocommerce-page .woocommerce-result-count{float:left}.woocommerce .woocommerce-ordering,.woocommerce-page .woocommerce-ordering{float:right}.woocommerce .woocommerce-pagination ul.page-numbers::after,.woocommerce .woocommerce-pagination ul.page-numbers::before,.woocommerce-page .woocommerce-pagination ul.page-numbers::after,.woocommerce-page .woocommerce-pagination ul.page-numbers::before{content:" ";display:table}.woocommerce .woocommerce-pagination ul.page-numbers::after,.woocommerce-page .woocommerce-pagination ul.page-numbers::after{clear:both}.woocommerce .woocommerce-pagination ul.page-numbers li,.woocommerce-page .woocommerce-pagination ul.page-numbers li{display:inline-block}.woocommerce #content table.cart img,.woocommerce table.cart img,.woocommerce-page #content table.cart img,.woocommerce-page table.cart img{height:auto}.woocommerce #content table.cart td.actions,.woocommerce table.cart td.actions,.woocommerce-page #content table.cart td.actions,.woocommerce-page table.cart td.actions{text-align:right}.woocommerce #content table.cart td.actions .input-text,.woocommerce table.cart td.actions .input-text,.woocommerce-page #content table.cart td.actions .input-text,.woocommerce-page table.cart td.actions .input-text{width:80px}.woocommerce #content table.cart td.actions .coupon,.woocommerce table.cart td.actions .coupon,.woocommerce-page #content table.cart td.actions .coupon,.woocommerce-page table.cart td.actions .coupon{float:left}.woocommerce .cart-collaterals,.woocommerce-page .cart-collaterals{width:100%}.woocommerce .cart-collaterals::after,.woocommerce .cart-collaterals::before,.woocommerce-page .cart-collaterals::after,.woocommerce-page .cart-collaterals::before{content:" ";display:table}.woocommerce .cart-collaterals::after,.woocommerce-page .cart-collaterals::after{clear:both}.woocommerce .cart-collaterals .related,.woocommerce-page .cart-collaterals .related{width:30.75%;float:left}.woocommerce .cart-collaterals .cross-sells,.woocommerce-page .cart-collaterals .cross-sells{width:48%;float:left}.woocommerce .cart-collaterals .cross-sells ul.products,.woocommerce-page .cart-collaterals .cross-sells ul.products{float:none}.woocommerce .cart-collaterals .cross-sells ul.products li,.woocommerce-page .cart-collaterals .cross-sells ul.products li{width:48%}.woocommerce .cart-collaterals .shipping_calculator,.woocommerce-page .cart-collaterals .shipping_calculator{width:48%;clear:right;float:right}.woocommerce .cart-collaterals .shipping_calculator::after,.woocommerce .cart-collaterals .shipping_calculator::before,.woocommerce-page .cart-collaterals .shipping_calculator::after,.woocommerce-page .cart-collaterals .shipping_calculator::before{content:" ";display:table}.woocommerce .cart-collaterals .shipping_calculator::after,.woocommerce-page .cart-collaterals .shipping_calculator::after{clear:both}.woocommerce .cart-collaterals .shipping_calculator .col2-set .col-1,.woocommerce .cart-collaterals .shipping_calculator .col2-set .col-2,.woocommerce-page .cart-collaterals .shipping_calculator .col2-set .col-1,.woocommerce-page .cart-collaterals .shipping_calculator .col2-set .col-2{width:47%}.woocommerce .cart-collaterals .cart_totals,.woocommerce-page .cart-collaterals .cart_totals{float:right;width:48%}.woocommerce ul.cart_list li::after,.woocommerce ul.cart_list li::before,.woocommerce ul.product_list_widget li::after,.woocommerce ul.product_list_widget li::before,.woocommerce-page ul.cart_list li::after,.woocommerce-page ul.cart_list li::before,.woocommerce-page ul.product_list_widget li::after,.woocommerce-page ul.product_list_widget li::before{content:" ";display:table}.woocommerce ul.cart_list li::after,.woocommerce ul.product_list_widget li::after,.woocommerce-page ul.cart_list li::after,.woocommerce-page ul.product_list_widget li::after{clear:both}.woocommerce ul.cart_list li img,.woocommerce ul.product_list_widget li img,.woocommerce-page ul.cart_list li img,.woocommerce-page ul.product_list_widget li img{float:right;height:auto}.woocommerce form .form-row::after,.woocommerce form .form-row::before,.woocommerce-page form .form-row::after,.woocommerce-page form .form-row::before{content:" ";display:table}.woocommerce form .form-row::after,.woocommerce-page form .form-row::after{clear:both}.woocommerce form .form-row label,.woocommerce-page form .form-row label{display:block}.woocommerce form .form-row label.checkbox,.woocommerce-page form .form-row label.checkbox{display:inline}.woocommerce form .form-row select,.woocommerce-page form .form-row select{width:100%}.woocommerce form .form-row .input-text,.woocommerce-page form .form-row .input-text{box-sizing:border-box;width:100%}.woocommerce form .form-row-first,.woocommerce form .form-row-last,.woocommerce-page form .form-row-first,.woocommerce-page form .form-row-last{width:47%;overflow:visible}.woocommerce form .form-row-first,.woocommerce-page form .form-row-first{float:left}.woocommerce form .form-row-last,.woocommerce-page form .form-row-last{float:right}.woocommerce form .form-row-wide,.woocommerce-page form .form-row-wide{clear:both}.woocommerce form .password-input,.woocommerce-page form .password-input{display:flex;flex-direction:column;justify-content:center;position:relative}.woocommerce form .password-input input[type=password],.woocommerce-page form .password-input input[type=password]{padding-right:2.5rem}.woocommerce form .password-input input::-ms-reveal,.woocommerce-page form .password-input input::-ms-reveal{display:none}.woocommerce form .show-password-input,.woocommerce-page form .show-password-input{background-color:#fff0;border-radius:0;border:0;color:var(--wc-form-color-text,#000);cursor:pointer;font-size:inherit;line-height:inherit;margin:0;padding:0;position:absolute;right:.7em;text-decoration:none;top:50%;transform:translateY(-50%);-moz-osx-font-smoothing:inherit;-webkit-appearance:none;-webkit-font-smoothing:inherit}.woocommerce form .show-password-input::before,.woocommerce-page form .show-password-input::before{background-repeat:no-repeat;background-size:cover;background-image:url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17.3 3.3C16.9 2.9 16.2 2.9 15.7 3.3L13.3 5.7C12.2437 5.3079 11.1267 5.1048 10 5.1C6.2 5.2 2.8 7.2 1 10.5C1.2 10.9 1.5 11.3 1.8 11.7C2.6 12.8 3.6 13.7 4.7 14.4L3 16.1C2.6 16.5 2.5 17.2 3 17.7C3.4 18.1 4.1 18.2 4.6 17.7L17.3 4.9C17.7 4.4 17.7 3.7 17.3 3.3ZM6.7 12.3L5.4 13.6C4.2 12.9 3.1 11.9 2.3 10.7C3.5 9 5.1 7.8 7 7.2C5.7 8.6 5.6 10.8 6.7 12.3ZM10.1 9C9.6 8.5 9.7 7.7 10.2 7.2C10.7 6.8 11.4 6.8 11.9 7.2L10.1 9ZM18.3 9.5C17.8 8.8 17.2 8.1 16.5 7.6L15.5 8.6C16.3 9.2 17 9.9 17.6 10.8C15.9 13.4 13 15 9.9 15H9.1L8.1 16C8.8 15.9 9.4 16 10 16C13.3 16 16.4 14.4 18.3 11.7C18.6 11.3 18.8 10.9 19.1 10.5C18.8 10.2 18.6 9.8 18.3 9.5ZM14 10L10 14C12.2 14 14 12.2 14 10Z" fill="%23111111"/></svg>');content:"";display:block;height:22px;width:22px}.woocommerce form .show-password-input.display-password::before,.woocommerce-page form .show-password-input.display-password::before{background-image:url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M18.3 9.49999C15 4.89999 8.50002 3.79999 3.90002 7.19999C2.70002 8.09999 1.70002 9.29999 0.900024 10.6C1.10002 11 1.40002 11.4 1.70002 11.8C5.00002 16.4 11.3 17.4 15.9 14.2C16.8 13.5 17.6 12.8 18.3 11.8C18.6 11.4 18.8 11 19.1 10.6C18.8 10.2 18.6 9.79999 18.3 9.49999ZM10.1 7.19999C10.6 6.69999 11.4 6.69999 11.9 7.19999C12.4 7.69999 12.4 8.49999 11.9 8.99999C11.4 9.49999 10.6 9.49999 10.1 8.99999C9.60003 8.49999 9.60003 7.69999 10.1 7.19999ZM10 14.9C6.90002 14.9 4.00002 13.3 2.30002 10.7C3.50002 8.99999 5.10002 7.79999 7.00002 7.19999C6.30002 7.99999 6.00002 8.89999 6.00002 9.89999C6.00002 12.1 7.70002 14 10 14C12.2 14 14.1 12.3 14.1 9.99999V9.89999C14.1 8.89999 13.7 7.89999 13 7.19999C14.9 7.79999 16.5 8.99999 17.7 10.7C16 13.3 13.1 14.9 10 14.9Z" fill="%23111111"/></svg>')}.woocommerce #payment .form-row select,.woocommerce-page #payment .form-row select{width:auto}.woocommerce #payment .terms,.woocommerce #payment .wc-terms-and-conditions,.woocommerce-page #payment .terms,.woocommerce-page #payment .wc-terms-and-conditions{text-align:left;padding:0 1em 0 0;float:left}.woocommerce #payment #place_order,.woocommerce-page #payment #place_order{float:right}.woocommerce .woocommerce-billing-fields::after,.woocommerce .woocommerce-billing-fields::before,.woocommerce .woocommerce-shipping-fields::after,.woocommerce .woocommerce-shipping-fields::before,.woocommerce-page .woocommerce-billing-fields::after,.woocommerce-page .woocommerce-billing-fields::before,.woocommerce-page .woocommerce-shipping-fields::after,.woocommerce-page .woocommerce-shipping-fields::before{content:" ";display:table}.woocommerce .woocommerce-billing-fields::after,.woocommerce .woocommerce-shipping-fields::after,.woocommerce-page .woocommerce-billing-fields::after,.woocommerce-page .woocommerce-shipping-fields::after{clear:both}.woocommerce .woocommerce-terms-and-conditions,.woocommerce-page .woocommerce-terms-and-conditions{margin-bottom:1.618em;padding:1.618em}.woocommerce .woocommerce-oembed,.woocommerce-page .woocommerce-oembed{position:relative}.woocommerce-account .woocommerce-MyAccount-navigation{float:left;width:30%}.woocommerce-account .woocommerce-MyAccount-content{float:right;width:68%}.woocommerce-account .woocommerce-MyAccount-content mark{background-color:#fff0;color:inherit;font-weight:700}.woocommerce-page.left-sidebar #content.twentyeleven{width:58.4%;margin:0 7.6%;float:right}.woocommerce-page.right-sidebar #content.twentyeleven{margin:0 7.6%;width:58.4%;float:left}.twentyfourteen .tfwc{padding:12px 10px 0;max-width:474px;margin:0 auto}.twentyfourteen .tfwc .product .entry-summary{padding:0!important;margin:0 0 1.618em!important}.twentyfourteen .tfwc div.product.hentry.has-post-thumbnail{margin-top:0}@media screen and (min-width:673px){.twentyfourteen .tfwc{padding-right:30px;padding-left:30px}}@media screen and (min-width:1040px){.twentyfourteen .tfwc{padding-right:15px;padding-left:15px}}@media screen and (min-width:1110px){.twentyfourteen .tfwc{padding-right:30px;padding-left:30px}}@media screen and (min-width:1218px){.twentyfourteen .tfwc{margin-right:54px}.full-width .twentyfourteen .tfwc{margin-right:auto}}.twentyfifteen .t15wc{padding-left:7.6923%;padding-right:7.6923%;padding-top:7.6923%;margin-bottom:7.6923%;background:#fff;box-shadow:0 0 1px rgb(0 0 0 / .15)}.twentyfifteen .t15wc .page-title{margin-left:0}@media screen and (min-width:38.75em){.twentyfifteen .t15wc{margin-right:7.6923%;margin-left:7.6923%;margin-top:8.3333%}}@media screen and (min-width:59.6875em){.twentyfifteen .t15wc{margin-left:8.3333%;margin-right:8.3333%;padding:10%}.single-product .twentyfifteen .entry-summary{padding:0!important}}.twentysixteen .site-main{margin-right:7.6923%;margin-left:7.6923%}.twentysixteen .entry-summary{margin-right:0;margin-left:0}#content .twentysixteen div.product div.images,#content .twentysixteen div.product div.summary{width:46.42857%}@media screen and (min-width:44.375em){.twentysixteen .site-main{margin-right:23.0769%}}@media screen and (min-width:56.875em){.twentysixteen .site-main{margin-right:0;margin-left:0}.no-sidebar .twentysixteen .site-main{margin-right:15%;margin-left:15%}.no-sidebar .twentysixteen .entry-summary{margin-right:0;margin-left:0}}.rtl .woocommerce .col2-set .col-1,.rtl .woocommerce-page .col2-set .col-1{float:right}.rtl .woocommerce .col2-set .col-2,.rtl .woocommerce-page .col2-set .col-2{float:left}