/* =========================================================================
   Arcenia Aurora — Modern Override (final layer)
   Soft, glassmorphic, violet-led aesthetic. Inspired by avenorcraft /
   soulcraft / aesirmc. Loaded after Falbium.css and cloud-modern.css so
   it has the highest priority. Non-destructive: keeps all functional
   structure intact, only refines visual polish.
   ========================================================================= */

/* ---------- Tokens ---------- */
:root,
body.falbium-theme-shell {
	--aa-violet-50:  #F5F3FF;
	--aa-violet-100: #EDE9FE;
	--aa-violet-200: #DDD6FE;
	--aa-violet-300: #C4B5FD;
	--aa-violet-400: #A78BFA;
	--aa-violet-500: #8B5CF6;
	--aa-violet-600: #7C3AED;
	--aa-violet-700: #6D28D9;
	--aa-violet-800: #5B21B6;
	--aa-violet-900: #4C1D95;

	--aa-pink:       #F472B6;
	--aa-cyan:       #67E8F9;

	--aa-bg-0:       #07050F;
	--aa-bg-1:       #0B0818;
	--aa-bg-2:       #110B22;
	--aa-bg-glass:   rgba(20, 14, 36, 0.62);
	--aa-bg-elev:    rgba(255, 255, 255, 0.035);
	--aa-bg-elev-h:  rgba(255, 255, 255, 0.06);

	--aa-text:       #F4F2FB;
	--aa-text-soft:  #C9C2E0;
	--aa-text-mute:  #8B85A6;
	--aa-text-faint: #5C5778;

	--aa-border:     rgba(255, 255, 255, 0.06);
	--aa-border-h:   rgba(255, 255, 255, 0.10);
	--aa-border-acc: rgba(167, 139, 250, 0.22);

	--aa-r-xs: 8px;
	--aa-r-sm: 12px;
	--aa-r-md: 16px;
	--aa-r-lg: 22px;
	--aa-r-xl: 28px;

	--aa-shadow-sm:  0 4px 16px -4px rgba(0,0,0,0.30), 0 1px 2px rgba(0,0,0,0.18);
	--aa-shadow-md:  0 16px 40px -12px rgba(0,0,0,0.40), 0 4px 12px rgba(0,0,0,0.20);
	--aa-shadow-lg:  0 28px 70px -16px rgba(0,0,0,0.50), 0 8px 24px rgba(0,0,0,0.30);
	--aa-shadow-glow: 0 24px 60px -20px rgba(139, 92, 246, 0.45);

	--aa-grad-violet: linear-gradient(135deg, #A78BFA 0%, #8B5CF6 50%, #6D28D9 100%);
	--aa-grad-aurora: linear-gradient(135deg, #C4B5FD 0%, #A78BFA 30%, #F472B6 70%, #FB7185 100%);
	--aa-grad-cool:   linear-gradient(135deg, #A78BFA 0%, #67E8F9 100%);

	--aa-ease:        cubic-bezier(0.22, 1, 0.36, 1);
	--aa-ease-bouncy: cubic-bezier(0.34, 1.56, 0.64, 1);

	--aa-blur-md: 20px;
	--aa-blur-lg: 32px;
}

/* ---------- Global typography & body ---------- */
body.falbium-theme-shell {
	font-family: 'Plus Jakarta Sans', 'Manrope', 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif !important;
	color: var(--aa-text) !important;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	letter-spacing: -0.005em;
	background:
		radial-gradient(ellipse 80% 60% at 50% -20%, rgba(139, 92, 246, 0.18), transparent 70%),
		radial-gradient(ellipse 60% 40% at 100% 30%, rgba(244, 114, 182, 0.10), transparent 70%),
		radial-gradient(ellipse 60% 40% at 0% 70%, rgba(103, 232, 249, 0.07), transparent 70%),
		linear-gradient(180deg, var(--aa-bg-0) 0%, var(--aa-bg-1) 60%, var(--aa-bg-0) 100%) !important;
	background-attachment: fixed;
	min-height: 100vh;
}

body.falbium-theme-shell h1,
body.falbium-theme-shell h2,
body.falbium-theme-shell h3,
body.falbium-theme-shell h4,
body.falbium-theme-shell h5,
body.falbium-theme-shell h6,
body.falbium-theme-shell .h1,
body.falbium-theme-shell .h2,
body.falbium-theme-shell .h3 {
	font-family: 'Plus Jakarta Sans', 'Manrope', sans-serif !important;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--aa-text);
}

body.falbium-theme-shell h1, body.falbium-theme-shell .h1 { font-weight: 800; letter-spacing: -0.025em; }

body.falbium-theme-shell ::selection { background: rgba(139, 92, 246, 0.35); color: #fff; }

/* ---------- Refined backdrop (replace heavy grid with subtle aurora) ---------- */
body.falbium-theme-shell .site-backdrop { z-index: 0; }
body.falbium-theme-shell .site-backdrop-grid { display: none; }
body.falbium-theme-shell .site-backdrop-edge { display: none; }
body.falbium-theme-shell .site-backdrop-veil { display: none; }
body.falbium-theme-shell .site-backdrop-glow {
	filter: blur(120px);
	opacity: 0.5;
	will-change: transform;
}
body.falbium-theme-shell .site-backdrop-glow-1 {
	background: radial-gradient(circle, rgba(139, 92, 246, 0.55), transparent 65%);
	width: 44rem; height: 44rem; top: -14rem; left: -10rem;
	animation: aaDrift1 22s ease-in-out infinite;
}
body.falbium-theme-shell .site-backdrop-glow-2 {
	background: radial-gradient(circle, rgba(244, 114, 182, 0.32), transparent 65%);
	width: 40rem; height: 40rem; right: -12rem; top: 10rem;
	animation: aaDrift2 28s ease-in-out infinite;
}
@keyframes aaDrift1 {
	0%,100% { transform: translate3d(0,0,0) scale(1); }
	50%     { transform: translate3d(40px, 60px, 0) scale(1.05); }
}
@keyframes aaDrift2 {
	0%,100% { transform: translate3d(0,0,0) scale(1); }
	50%     { transform: translate3d(-50px, 40px, 0) scale(0.95); }
}

/* ---------- Header / Navigation: glass sticky ---------- */
body.falbium-theme-shell .header,
body.falbium-theme-shell .site-header,
body.falbium-theme-shell .demo-header,
body.falbium-theme-shell .demo-navbar,
body.falbium-theme-shell .nav-wrapper {
	background: rgba(11, 8, 24, 0.55) !important;
	backdrop-filter: blur(var(--aa-blur-md)) saturate(140%);
	-webkit-backdrop-filter: blur(var(--aa-blur-md)) saturate(140%);
	border: 0 !important;
	border-bottom: 1px solid var(--aa-border) !important;
	box-shadow: 0 1px 0 rgba(255,255,255,0.02) inset;
}

body.falbium-theme-shell .demo-navbar a,
body.falbium-theme-shell .nav-link,
body.falbium-theme-shell .navbar-nav .nav-link {
	color: var(--aa-text-soft) !important;
	font-weight: 500;
	transition: color .2s var(--aa-ease), transform .2s var(--aa-ease);
}
body.falbium-theme-shell .demo-navbar a:hover,
body.falbium-theme-shell .nav-link:hover,
body.falbium-theme-shell .navbar-nav .nav-link:hover {
	color: var(--aa-text) !important;
}

body.falbium-theme-shell .demo-navbar .nav-link.active,
body.falbium-theme-shell .navbar-nav .nav-link.active {
	color: var(--aa-violet-300) !important;
}

/* ---------- Buttons (modern pill + gradient) ---------- */
body.falbium-theme-shell .btn {
	font-family: 'Plus Jakarta Sans', sans-serif;
	font-weight: 600;
	letter-spacing: -0.005em;
	border-radius: 999px;
	padding: 11px 22px;
	transition: transform .18s var(--aa-ease), box-shadow .18s var(--aa-ease), background .18s var(--aa-ease), opacity .18s var(--aa-ease);
	border: 1px solid transparent;
	position: relative;
	overflow: hidden;
}
body.falbium-theme-shell .btn:hover { transform: translateY(-1px); }
body.falbium-theme-shell .btn:active { transform: translateY(0); }

body.falbium-theme-shell .btn-primary,
body.falbium-theme-shell .btn-secondary {
	background: var(--aa-grad-violet) !important;
	color: #fff !important;
	border: 0 !important;
	box-shadow: 0 10px 28px -10px rgba(139, 92, 246, 0.55), inset 0 1px 0 rgba(255,255,255,0.18) !important;
}
body.falbium-theme-shell .btn-primary:hover,
body.falbium-theme-shell .btn-secondary:hover {
	box-shadow: 0 16px 36px -10px rgba(139, 92, 246, 0.7), inset 0 1px 0 rgba(255,255,255,0.22) !important;
	filter: saturate(1.1);
}

body.falbium-theme-shell .btn-outline-primary,
body.falbium-theme-shell .btn-outline-secondary {
	background: rgba(255,255,255,0.03) !important;
	color: var(--aa-text) !important;
	border: 1px solid var(--aa-border-h) !important;
	backdrop-filter: blur(8px);
}
body.falbium-theme-shell .btn-outline-primary:hover,
body.falbium-theme-shell .btn-outline-secondary:hover {
	background: rgba(167,139,250,0.10) !important;
	border-color: var(--aa-border-acc) !important;
	color: var(--aa-violet-200) !important;
}

body.falbium-theme-shell .btn-success {
	background: linear-gradient(135deg, #34D399, #10B981) !important;
	border: 0 !important;
	color: #fff !important;
	box-shadow: 0 10px 28px -10px rgba(16, 185, 129, 0.55) !important;
}
body.falbium-theme-shell .btn-danger {
	background: linear-gradient(135deg, #FB7185, #E11D48) !important;
	border: 0 !important;
	color: #fff !important;
	box-shadow: 0 10px 28px -10px rgba(225, 29, 72, 0.55) !important;
}

body.falbium-theme-shell .btn-sm,
body.falbium-theme-shell .btn-icon { padding: 8px 14px; }

/* Buttons that should keep square edges (icon buttons in tables, close buttons) */
body.falbium-theme-shell .btn-icon { border-radius: var(--aa-r-xs); padding: 8px; }

/* ---------- Cards: soft glass surface ---------- */
body.falbium-theme-shell .card,
body.falbium-theme-shell .product-card,
body.falbium-theme-shell .demo-product-card {
	background: var(--aa-bg-glass) !important;
	border: 1px solid var(--aa-border) !important;
	border-radius: var(--aa-r-lg) !important;
	backdrop-filter: blur(var(--aa-blur-md));
	-webkit-backdrop-filter: blur(var(--aa-blur-md));
	box-shadow: var(--aa-shadow-md) !important;
	transition: transform .25s var(--aa-ease), box-shadow .25s var(--aa-ease), border-color .25s var(--aa-ease);
}

body.falbium-theme-shell .card:hover,
body.falbium-theme-shell .product-card:hover,
body.falbium-theme-shell .demo-product-card:hover {
	border-color: var(--aa-border-acc) !important;
	box-shadow: var(--aa-shadow-lg), 0 0 0 1px rgba(167,139,250,0.12) !important;
	transform: translateY(-3px);
}

body.falbium-theme-shell .card-header,
body.falbium-theme-shell .card-footer {
	background: transparent !important;
	border-color: var(--aa-border) !important;
}

body.falbium-theme-shell .card-title {
	color: var(--aa-text);
	font-weight: 700;
	letter-spacing: -0.01em;
}

/* ---------- Forms / inputs ---------- */
body.falbium-theme-shell .form-control,
body.falbium-theme-shell .form-select,
body.falbium-theme-shell .input-group-text,
body.falbium-theme-shell input[type="text"],
body.falbium-theme-shell input[type="email"],
body.falbium-theme-shell input[type="password"],
body.falbium-theme-shell input[type="number"],
body.falbium-theme-shell input[type="search"],
body.falbium-theme-shell textarea,
body.falbium-theme-shell select {
	background: rgba(255,255,255,0.03) !important;
	border: 1px solid var(--aa-border) !important;
	color: var(--aa-text) !important;
	border-radius: var(--aa-r-sm) !important;
	padding: 11px 14px;
	transition: border-color .18s var(--aa-ease), box-shadow .18s var(--aa-ease), background .18s var(--aa-ease);
	font-family: inherit;
}
body.falbium-theme-shell .form-control::placeholder,
body.falbium-theme-shell input::placeholder,
body.falbium-theme-shell textarea::placeholder { color: var(--aa-text-faint); }

body.falbium-theme-shell .form-control:focus,
body.falbium-theme-shell input:focus,
body.falbium-theme-shell textarea:focus,
body.falbium-theme-shell select:focus,
body.falbium-theme-shell .form-select:focus {
	background: rgba(255,255,255,0.06) !important;
	border-color: var(--aa-violet-400) !important;
	box-shadow: 0 0 0 4px rgba(139,92,246,0.14) !important;
	outline: 0 !important;
	color: var(--aa-text) !important;
}

body.falbium-theme-shell .form-label,
body.falbium-theme-shell label { color: var(--aa-text-soft); font-weight: 500; }

/* Search inputs (often have icon prefix) */
body.falbium-theme-shell .input-group .form-control,
body.falbium-theme-shell .input-group .input-group-text {
	border-radius: 0 !important;
}
body.falbium-theme-shell .input-group > :first-child { border-top-left-radius: var(--aa-r-sm) !important; border-bottom-left-radius: var(--aa-r-sm) !important; }
body.falbium-theme-shell .input-group > :last-child { border-top-right-radius: var(--aa-r-sm) !important; border-bottom-right-radius: var(--aa-r-sm) !important; }

/* Custom checkbox/radio */
body.falbium-theme-shell .form-check-input {
	background-color: rgba(255,255,255,0.05);
	border: 1px solid var(--aa-border-h);
}
body.falbium-theme-shell .form-check-input:checked {
	background-color: var(--aa-violet-500);
	border-color: var(--aa-violet-500);
}
body.falbium-theme-shell .form-check-input:focus {
	box-shadow: 0 0 0 4px rgba(139,92,246,0.18);
}

/* ---------- Tables ---------- */
body.falbium-theme-shell .table,
body.falbium-theme-shell table {
	color: var(--aa-text);
	border-collapse: separate;
	border-spacing: 0;
}
body.falbium-theme-shell .table thead th,
body.falbium-theme-shell table thead th {
	background: rgba(255,255,255,0.025);
	border: 0;
	border-bottom: 1px solid var(--aa-border) !important;
	color: var(--aa-text-mute);
	font-weight: 600;
	text-transform: uppercase;
	font-size: 12px;
	letter-spacing: 0.04em;
	padding: 14px 16px;
}
body.falbium-theme-shell .table tbody td,
body.falbium-theme-shell table tbody td {
	border: 0;
	border-bottom: 1px solid rgba(255,255,255,0.04) !important;
	padding: 14px 16px;
	color: var(--aa-text-soft);
}
body.falbium-theme-shell .table tbody tr:hover td,
body.falbium-theme-shell table tbody tr:hover td {
	background: rgba(167,139,250,0.04);
}

/* ---------- Modals ---------- */
body.falbium-theme-shell .modal-content {
	background: rgba(15, 11, 28, 0.92) !important;
	backdrop-filter: blur(var(--aa-blur-lg)) saturate(150%);
	-webkit-backdrop-filter: blur(var(--aa-blur-lg)) saturate(150%);
	border: 1px solid var(--aa-border) !important;
	border-radius: var(--aa-r-lg) !important;
	box-shadow: var(--aa-shadow-lg);
}
body.falbium-theme-shell .modal-header,
body.falbium-theme-shell .modal-footer {
	border-color: var(--aa-border) !important;
}
body.falbium-theme-shell .modal-backdrop {
	background: rgba(7, 5, 15, 0.78) !important;
	backdrop-filter: blur(8px);
}
body.falbium-theme-shell .btn-close {
	filter: invert(1) opacity(0.7);
	transition: opacity .2s var(--aa-ease), transform .2s var(--aa-ease);
}
body.falbium-theme-shell .btn-close:hover { opacity: 1; transform: rotate(90deg); }

/* ---------- Alerts ---------- */
body.falbium-theme-shell .alert {
	background: rgba(255,255,255,0.04) !important;
	border: 1px solid var(--aa-border) !important;
	border-left-width: 4px !important;
	border-radius: var(--aa-r-sm) !important;
	color: var(--aa-text);
	backdrop-filter: blur(8px);
}
body.falbium-theme-shell .alert-success { border-left-color: #34D399 !important; color: #6EE7B7; }
body.falbium-theme-shell .alert-danger  { border-left-color: #FB7185 !important; color: #FDA4AF; }
body.falbium-theme-shell .alert-warning { border-left-color: #FBBF24 !important; color: #FCD34D; }
body.falbium-theme-shell .alert-info,
body.falbium-theme-shell .alert-primary { border-left-color: var(--aa-violet-400) !important; color: var(--aa-violet-200); }

/* ---------- Badges & pills ---------- */
body.falbium-theme-shell .badge {
	border-radius: 999px;
	padding: 5px 11px;
	font-weight: 600;
	letter-spacing: 0.01em;
	font-size: 11px;
}
body.falbium-theme-shell .badge.bg-primary,
body.falbium-theme-shell .badge.bg-secondary {
	background: var(--aa-grad-violet) !important;
	color: #fff !important;
	border: 0 !important;
}

/* ---------- Hero (home page) ---------- */
body.falbium-theme-shell .demo-hero,
body.falbium-theme-shell .header-hero,
body.falbium-theme-shell .home-hero {
	position: relative;
}
body.falbium-theme-shell .demo-hero h1,
body.falbium-theme-shell .header-hero h1,
body.falbium-theme-shell .home-hero h1 {
	font-size: clamp(2.4rem, 5vw, 4.4rem);
	line-height: 1.05;
	letter-spacing: -0.035em;
	font-weight: 800;
	background: linear-gradient(135deg, #F4F2FB 0%, #C4B5FD 60%, #A78BFA 100%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	margin-bottom: 0.85em;
}

body.falbium-theme-shell .header-hero-action,
body.falbium-theme-shell .demo-hero-action {
	background: rgba(255,255,255,0.05) !important;
	border: 1px solid var(--aa-border-h) !important;
	border-radius: var(--aa-r-md) !important;
	padding: 14px 22px;
	color: var(--aa-text) !important;
	transition: all .25s var(--aa-ease) !important;
	backdrop-filter: blur(12px);
	font-weight: 600;
}
body.falbium-theme-shell .header-hero-action:hover,
body.falbium-theme-shell .demo-hero-action:hover {
	background: rgba(167,139,250,0.10) !important;
	border-color: var(--aa-border-acc) !important;
	transform: translateY(-2px);
	box-shadow: 0 14px 30px -12px rgba(139,92,246,0.4);
}

body.falbium-theme-shell .header-hero-action-primary,
body.falbium-theme-shell .demo-hero-action-primary {
	background: var(--aa-grad-violet) !important;
	border: 0 !important;
	color: #fff !important;
	box-shadow: 0 14px 36px -12px rgba(139,92,246,0.55);
}
body.falbium-theme-shell .header-hero-action-primary:hover,
body.falbium-theme-shell .demo-hero-action-primary:hover {
	box-shadow: 0 22px 50px -16px rgba(139,92,246,0.75);
	filter: saturate(1.12) brightness(1.06);
}

/* ---------- Sections ---------- */
body.falbium-theme-shell .section,
body.falbium-theme-shell .demo-section {
	padding: clamp(48px, 7vw, 96px) 0;
}
body.falbium-theme-shell .section-title,
body.falbium-theme-shell .demo-section-title {
	font-weight: 800;
	letter-spacing: -0.025em;
	font-size: clamp(1.6rem, 3.5vw, 2.4rem);
}
body.falbium-theme-shell .demo-kicker,
body.falbium-theme-shell .section-kicker {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 12px;
	border-radius: 999px;
	background: rgba(167,139,250,0.10);
	border: 1px solid var(--aa-border-acc);
	color: var(--aa-violet-200);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	margin-bottom: 14px;
}

/* ---------- Product cards / store ---------- */
body.falbium-theme-shell .product-card,
body.falbium-theme-shell .demo-product-card {
	overflow: hidden;
	display: flex;
	flex-direction: column;
}
body.falbium-theme-shell .product-card .price,
body.falbium-theme-shell .demo-product-card .price,
body.falbium-theme-shell .price.price {
	color: var(--aa-violet-200);
	font-weight: 700;
	font-size: 1.15rem;
}
body.falbium-theme-shell .product-card .old-price,
body.falbium-theme-shell .old-price {
	color: var(--aa-text-faint);
	text-decoration: line-through;
	font-weight: 500;
	font-size: 0.9rem;
}
body.falbium-theme-shell .product-card img,
body.falbium-theme-shell .demo-product-card img {
	transition: transform .4s var(--aa-ease);
}
body.falbium-theme-shell .product-card:hover img,
body.falbium-theme-shell .demo-product-card:hover img {
	transform: scale(1.04);
}

/* ---------- Footer ---------- */
body.falbium-theme-shell .footer,
body.falbium-theme-shell .site-footer {
	background:
		linear-gradient(180deg, transparent 0%, rgba(11, 8, 24, 0.85) 30%, var(--aa-bg-1) 100%) !important;
	border: 0 !important;
	border-top: 1px solid var(--aa-border) !important;
}
body.falbium-theme-shell .footer-title,
body.falbium-theme-shell .demo-footer .footer-title {
	color: var(--aa-text) !important;
	font-weight: 700;
	letter-spacing: -0.01em;
	font-size: 1.05rem;
	margin-bottom: 1rem;
}
body.falbium-theme-shell .demo-footer-panel,
body.falbium-theme-shell .footer-panel {
	background: rgba(255,255,255,0.025) !important;
	border: 1px solid var(--aa-border) !important;
	border-radius: var(--aa-r-lg) !important;
	padding: 26px;
	backdrop-filter: blur(12px);
}
body.falbium-theme-shell .footer a,
body.falbium-theme-shell .site-footer a {
	color: var(--aa-text-soft) !important;
	transition: color .18s var(--aa-ease);
}
body.falbium-theme-shell .footer a:hover,
body.falbium-theme-shell .site-footer a:hover {
	color: var(--aa-violet-200) !important;
}

body.falbium-theme-shell .demo-footer-controls .dropdown-toggle {
	background: rgba(255,255,255,0.04) !important;
	border: 1px solid var(--aa-border) !important;
	color: var(--aa-text) !important;
	border-radius: var(--aa-r-sm) !important;
	padding: 11px 14px !important;
	font-weight: 500;
	transition: all .2s var(--aa-ease);
}
body.falbium-theme-shell .demo-footer-controls .dropdown-toggle:hover,
body.falbium-theme-shell .demo-footer-controls .dropdown-toggle:focus {
	background: rgba(167,139,250,0.08) !important;
	border-color: var(--aa-border-acc) !important;
}
body.falbium-theme-shell .demo-footer-controls .dropdown-menu {
	background: rgba(15, 11, 28, 0.95) !important;
	backdrop-filter: blur(var(--aa-blur-md));
	border: 1px solid var(--aa-border) !important;
	border-radius: var(--aa-r-sm) !important;
	padding: 6px !important;
	box-shadow: var(--aa-shadow-md);
	margin-top: 6px !important;
}
body.falbium-theme-shell .demo-footer-controls .dropdown-item {
	color: var(--aa-text-soft) !important;
	border-radius: 8px !important;
	padding: 8px 12px !important;
	transition: background .15s var(--aa-ease), color .15s var(--aa-ease);
}
body.falbium-theme-shell .demo-footer-controls .dropdown-item:hover {
	background: rgba(167,139,250,0.10) !important;
	color: var(--aa-violet-200) !important;
}
body.falbium-theme-shell .demo-footer-controls .dropdown-item.active {
	background: rgba(139,92,246,0.16) !important;
	color: var(--aa-violet-100) !important;
}

/* ---------- Cart / checkout boxes ---------- */
body.falbium-theme-shell .cm-checkout-fee-box {
	background: rgba(167,139,250,0.06) !important;
	border: 1px solid var(--aa-border-acc) !important;
	border-radius: var(--aa-r-md) !important;
	padding: 18px 20px;
	margin-bottom: 14px;
}
body.falbium-theme-shell .cm-checkout-fee-divider {
	border-color: var(--aa-border) !important;
	margin: 14px 0 !important;
}
body.falbium-theme-shell .cm-checkout-fee-label {
	font-weight: 600;
	color: var(--aa-text);
}
body.falbium-theme-shell .cm-checkout-fee-payable {
	font-weight: 800;
	font-size: 1.3rem;
	background: var(--aa-grad-violet);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	letter-spacing: -0.01em;
}

/* ---------- Pagination ---------- */
body.falbium-theme-shell .pagination .page-link {
	background: rgba(255,255,255,0.03) !important;
	border: 1px solid var(--aa-border) !important;
	color: var(--aa-text-soft) !important;
	margin: 0 3px;
	border-radius: 10px !important;
	padding: 8px 14px;
	transition: all .2s var(--aa-ease);
}
body.falbium-theme-shell .pagination .page-link:hover {
	background: rgba(167,139,250,0.10) !important;
	border-color: var(--aa-border-acc) !important;
	color: var(--aa-violet-200) !important;
}
body.falbium-theme-shell .pagination .page-item.active .page-link {
	background: var(--aa-grad-violet) !important;
	border-color: transparent !important;
	color: #fff !important;
	box-shadow: 0 8px 24px -10px rgba(139,92,246,0.55);
}

/* ---------- Tabs ---------- */
body.falbium-theme-shell .nav-tabs,
body.falbium-theme-shell .nav-pills {
	border: 0 !important;
	gap: 4px;
	background: rgba(255,255,255,0.03);
	padding: 5px;
	border-radius: var(--aa-r-md);
	border: 1px solid var(--aa-border) !important;
	display: inline-flex;
}
body.falbium-theme-shell .nav-tabs .nav-link,
body.falbium-theme-shell .nav-pills .nav-link {
	background: transparent !important;
	border: 0 !important;
	color: var(--aa-text-soft) !important;
	border-radius: 10px !important;
	padding: 10px 18px !important;
	font-weight: 600;
	transition: all .2s var(--aa-ease);
}
body.falbium-theme-shell .nav-tabs .nav-link:hover,
body.falbium-theme-shell .nav-pills .nav-link:hover {
	background: rgba(167,139,250,0.08) !important;
	color: var(--aa-text) !important;
}
body.falbium-theme-shell .nav-tabs .nav-link.active,
body.falbium-theme-shell .nav-pills .nav-link.active {
	background: var(--aa-grad-violet) !important;
	color: #fff !important;
	box-shadow: 0 8px 22px -10px rgba(139,92,246,0.55);
}

/* ---------- Dropdowns ---------- */
body.falbium-theme-shell .dropdown-menu {
	background: rgba(15, 11, 28, 0.95) !important;
	backdrop-filter: blur(var(--aa-blur-md));
	border: 1px solid var(--aa-border) !important;
	border-radius: var(--aa-r-sm) !important;
	box-shadow: var(--aa-shadow-md);
	padding: 6px !important;
}
body.falbium-theme-shell .dropdown-item {
	color: var(--aa-text-soft) !important;
	border-radius: 8px !important;
	padding: 8px 12px !important;
}
body.falbium-theme-shell .dropdown-item:hover,
body.falbium-theme-shell .dropdown-item:focus {
	background: rgba(167,139,250,0.10) !important;
	color: var(--aa-violet-200) !important;
}

/* ---------- Breadcrumb ---------- */
body.falbium-theme-shell .breadcrumb {
	background: transparent !important;
	padding: 0;
	margin: 0;
	font-size: 13px;
}
body.falbium-theme-shell .breadcrumb-item a { color: var(--aa-text-mute); }
body.falbium-theme-shell .breadcrumb-item.active { color: var(--aa-text); }
body.falbium-theme-shell .breadcrumb-item + .breadcrumb-item::before {
	content: "›" !important;
	color: var(--aa-text-faint);
	padding: 0 8px;
}

/* ---------- Scrollbar (subtle) ---------- */
body.falbium-theme-shell ::-webkit-scrollbar { width: 12px; height: 12px; }
body.falbium-theme-shell ::-webkit-scrollbar-track { background: var(--aa-bg-0); }
body.falbium-theme-shell ::-webkit-scrollbar-thumb {
	background: linear-gradient(180deg, rgba(139,92,246,0.25), rgba(139,92,246,0.40));
	border-radius: 999px;
	border: 3px solid var(--aa-bg-0);
}
body.falbium-theme-shell ::-webkit-scrollbar-thumb:hover {
	background: linear-gradient(180deg, rgba(139,92,246,0.45), rgba(139,92,246,0.65));
}

/* ---------- Misc polishing ---------- */
body.falbium-theme-shell hr {
	border: 0;
	border-top: 1px solid var(--aa-border);
	opacity: 1;
	margin: 24px 0;
}

body.falbium-theme-shell .progress {
	background: rgba(255,255,255,0.05) !important;
	border-radius: 999px;
	height: 8px !important;
	overflow: hidden;
}
body.falbium-theme-shell .progress-bar {
	background: var(--aa-grad-violet) !important;
	border-radius: 999px;
}

body.falbium-theme-shell .tooltip-inner {
	background: rgba(15,11,28,0.96) !important;
	color: var(--aa-text);
	border-radius: 8px;
	padding: 8px 12px;
	box-shadow: var(--aa-shadow-sm);
	font-weight: 500;
	font-size: 12.5px;
}

/* Auth pages */
body.falbium-theme-shell .auth-card,
body.falbium-theme-shell .login-card,
body.falbium-theme-shell .signup-card {
	background: var(--aa-bg-glass) !important;
	border: 1px solid var(--aa-border) !important;
	border-radius: var(--aa-r-xl) !important;
	backdrop-filter: blur(var(--aa-blur-lg)) saturate(140%);
	box-shadow: var(--aa-shadow-lg);
	padding: clamp(28px, 4vw, 48px);
}

/* User-uploaded content (avatars, banners) */
body.falbium-theme-shell .avatar,
body.falbium-theme-shell img.avatar {
	border-radius: 50% !important;
	border: 2px solid var(--aa-border-h);
}

/* SweetAlert2 polish */
body.falbium-theme-shell .swal2-popup {
	background: rgba(15,11,28,0.96) !important;
	border: 1px solid var(--aa-border) !important;
	border-radius: var(--aa-r-lg) !important;
	color: var(--aa-text) !important;
	backdrop-filter: blur(var(--aa-blur-lg));
}
body.falbium-theme-shell .swal2-title,
body.falbium-theme-shell .swal2-html-container { color: var(--aa-text) !important; }
body.falbium-theme-shell .swal2-styled.swal2-confirm {
	background: var(--aa-grad-violet) !important;
	border-radius: 999px !important;
	font-weight: 600 !important;
	box-shadow: 0 10px 28px -10px rgba(139,92,246,0.55) !important;
}
body.falbium-theme-shell .swal2-styled.swal2-cancel {
	background: rgba(255,255,255,0.06) !important;
	border-radius: 999px !important;
	color: var(--aa-text) !important;
}

/* ---------- Mobile / responsive ---------- */
@media (max-width: 768px) {
	body.falbium-theme-shell {
		font-size: 15px;
	}
	body.falbium-theme-shell .demo-hero h1,
	body.falbium-theme-shell .header-hero h1 {
		font-size: clamp(2rem, 8vw, 2.8rem);
	}
	body.falbium-theme-shell .section,
	body.falbium-theme-shell .demo-section {
		padding: 48px 0;
	}
	body.falbium-theme-shell .card,
	body.falbium-theme-shell .demo-product-card {
		border-radius: var(--aa-r-md) !important;
	}
	body.falbium-theme-shell .demo-footer-panel,
	body.falbium-theme-shell .footer-panel {
		padding: 20px;
		border-radius: var(--aa-r-md) !important;
	}
	body.falbium-theme-shell .btn {
		padding: 10px 18px;
		font-size: 14.5px;
	}
}

@media (max-width: 480px) {
	body.falbium-theme-shell .header-hero-actions,
	body.falbium-theme-shell .demo-hero-actions {
		flex-direction: column;
		gap: 10px !important;
		width: 100%;
	}
	body.falbium-theme-shell .header-hero-action,
	body.falbium-theme-shell .demo-hero-action {
		width: 100%;
		justify-content: center;
	}
}

/* ---------- Reduce motion ---------- */
@media (prefers-reduced-motion: reduce) {
	body.falbium-theme-shell *,
	body.falbium-theme-shell *::before,
	body.falbium-theme-shell *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* ---------- Print ---------- */
@media print {
	body.falbium-theme-shell {
		background: #fff !important;
		color: #000 !important;
	}
}
