/* ════════════════════════════════════════════════════════════════════════════════
   S-TEXT UTILITIES (Nuclear Consolidation - FIXED + AMBER)
   ════════════════════════════════════════════════════════════════════════════════ */

/* GRADIENT TEXT SHADOW VARIABLE */

/* UNIVERSAL COLOR TRANSITIONS */
[class^="s-text-"]:not([class*="gradient"]):not([class*="opacity"]) {
   transition: color 0.2s ease !important;
}

/* BASE SEMANTIC TEXT COLORS */
.s-text-primary {
   color: var(--s-primary) !important;
}

.s-text-primary:hover {
   color: var(--s-primary-dark) !important;
}

.s-text-secondary {
   color: var(--s-gray-600) !important;
}

.s-text-secondary:hover {
   color: var(--s-gray-700) !important;
}

.s-text-success {
   color: var(--s-success) !important;
}

.s-text-success:hover {
   color: var(--s-success-soft) !important;
}

.s-text-success-soft {
   color: var(--s-success-lime) !important;
}

.s-text-success-soft:hover {
   color: var(--s-success-lime-soft) !important;
}

.s-text-danger {
   color: var(--s-danger) !important;
}

.s-text-danger:hover {
   color: var(--s-danger-soft) !important;
}

.s-text-warning {
   color: var(--s-warning) !important;
}

.s-text-warning:hover {
   color: var(--s-warning-soft) !important;
}

.s-text-amber {
   color: var(--s-amber) !important;
}

.s-text-amber:hover {
   color: var(--s-amber-soft) !important;
}

.s-text-info {
   color: var(--s-info) !important;
}

.s-text-info:hover {
   color: var(--s-info-soft) !important;
}

.s-text-info-special {
   color: var(--s-info-special) !important;
}

.s-text-info-special:hover {
   color: var(--s-info-special-soft) !important;
}

.s-text-attention {
   color: var(--s-attention) !important;
}

.s-text-attention:hover {
   color: var(--s-attention-soft) !important;
}

.s-text-royal {
   color: var(--s-royal) !important;
}

.s-text-royal:hover {
   color: var(--s-royal-soft) !important;
}

.s-text-pop {
   color: var(--s-pop) !important;
}

.s-text-pop:hover {
   color: var(--s-pop-soft) !important;
}

.s-text-dark {
   color: var(--s-gray-800) !important;
}

.s-text-dark:hover {
   color: var(--s-gray-900) !important;
}

.s-text-black {
   color: var(--s-black) !important;
}

.s-text-white {
   color: var(--s-white) !important;
}

/* GRAY SCALE */
.s-text-gray-50 {
   color: var(--s-gray-50) !important;
}

.s-text-gray-100 {
   color: var(--s-gray-100) !important;
}

.s-text-gray-100:hover {
   color: var(--s-gray-200) !important;
}

.s-text-gray-200 {
   color: var(--s-gray-200) !important;
}

.s-text-gray-200:hover {
   color: var(--s-gray-300) !important;
}

.s-text-gray-300 {
   color: var(--s-gray-300) !important;
}

.s-text-gray-300:hover {
   color: var(--s-gray-400) !important;
}

.s-text-gray-400 {
   color: var(--s-gray-400) !important;
}

.s-text-gray-400:hover {
   color: var(--s-gray-500) !important;
}

.s-text-gray-500 {
   color: var(--s-gray-500) !important;
}

.s-text-gray-500:hover {
   color: var(--s-gray-600) !important;
}

.s-text-gray-600 {
   color: var(--s-gray-600) !important;
}

.s-text-gray-600:hover {
   color: var(--s-gray-700) !important;
}

.s-text-gray-700 {
   color: var(--s-gray-700) !important;
}

.s-text-gray-700:hover {
   color: var(--s-gray-800) !important;
}

.s-text-gray-800 {
   color: var(--s-gray-800) !important;
}

.s-text-gray-800:hover {
   color: var(--s-gray-900) !important;
}

.s-text-gray-900 {
   color: var(--s-gray-900) !important;
}

.s-text-gray-900:hover {
   color: var(--s-black) !important;
}

/* NEUTRAL ALIASES */
.s-text-neutral-100 {
   color: var(--s-neutral-100) !important;
}

.s-text-neutral-200 {
   color: var(--s-neutral-200) !important;
}

.s-text-neutral-300 {
   color: var(--s-neutral-300) !important;
}

.s-text-neutral-500 {
   color: var(--s-neutral-500) !important;
}

.s-text-neutral-600 {
   color: var(--s-neutral-600) !important;
}

.s-text-neutral-700 {
   color: var(--s-neutral-700) !important;
}

.s-text-neutral-800 {
   color: var(--s-neutral-800) !important;
}

/* EXTENDED PALETTE */


.s-text-green {
   color: var(--s-green-500) !important;
}

.s-text-green:hover {
   color: var(--s-green-600) !important;
}

.s-text-amber {
   color: var(--s-amber-500) !important;
}

.s-text-amber:hover {
   color: var(--s-amber-600) !important;
}

.s-text-purple {
   color: var(--s-purple-500) !important;
}

.s-text-purple:hover {
   color: var(--s-purple-600) !important;
}

.s-text-indigo {
   color: var(--s-indigo-500) !important;
}

.s-text-indigo:hover {
   color: var(--s-indigo-600) !important;
}



.s-text-red {
   color: var(--s-red-600) !important;
}

.s-text-red:hover {
   color: var(--s-red-700) !important;
}

/* SEMANTIC ALIASES */
.s-text-muted {
   color: var(--s-text-muted) !important;
}

.s-text-muted:hover {
   color: var(--s-gray-600) !important;
}

.s-text-link {
   color: var(--s-link) !important;
}

.s-text-link:hover {
   color: var(--s-link-hover) !important;
}

.s-text-error {
   color: var(--s-error) !important;
}

.s-text-error:hover {
   color: var(--s-danger-soft) !important;
}

.s-text-body {
   color: var(--s-text-primary) !important;
}

.s-text-heading {
   color: var(--s-gray-900) !important;
}

/* OPACITY VARIANTS (Universal transition) */
[class*="s-text-opacity-"] {
   transition: opacity 0.2s ease !important;
}

.s-text-opacity-90 {
   opacity: 0.9 !important;
}

.s-text-opacity-80 {
   opacity: 0.8 !important;
}

.s-text-opacity-70 {
   opacity: 0.7 !important;
}

.s-text-opacity-60 {
   opacity: 0.6 !important;
}

.s-text-opacity-50 {
   opacity: 0.5 !important;
}

/* ================================================
   TEXT GRADIENTS - COMPLETE SYSTEM
   Ultra Nuclear Consolidation
   ================================================ */

/* Base properties for ALL gradient text */
.s-text-gradient-primary,
.s-text-gradient-primary-dark,
.s-text-gradient-secondary,
.s-text-gradient-success,
.s-text-gradient-success-soft,
.s-text-gradient-danger,
.s-text-gradient-warning,
.s-text-gradient-amber,
.s-text-gradient-info,
.s-text-gradient-info-special,
.s-text-gradient-attention,
.s-text-gradient-royal,
.s-text-gradient-royal-light, 
.s-text-gradient-pop,
.s-text-gradient-dark,
.s-text-gradient-black,
.s-text-gradient-white,
.s-text-gradient-neutral,

.s-text-gradient-green,
.s-text-gradient-purple,
.s-text-gradient-indigo,

.s-text-gradient-red,
.s-text-gradient-slate,
.s-text-gradient-light,
.s-text-gradient-subtle,
.s-text-gradient-overlay {
   background-clip: text !important;
   -webkit-background-clip: text !important;
   -webkit-text-fill-color: transparent !important;
   /* color: transparent !important; */
   background-size: 200% 200% !important;
   background-position: 0% 50% !important;
   transition: background-position 0.5s ease, filter 0.3s ease !important;
   padding-right: 0.15em;
   margin-right: -0.15em;
   filter: var(--s-text-drop-shadow);
   /* text-shadow: var(--s-text-shadow); */
}

/* Hover animation - ALL gradients */
.s-text-gradient-primary:hover,
.s-text-gradient-primary-dark:hover,
.s-text-gradient-secondary:hover,
.s-text-gradient-success:hover,
.s-text-gradient-success-soft:hover,
.s-text-gradient-danger:hover,
.s-text-gradient-warning:hover,
.s-text-gradient-amber:hover,
.s-text-gradient-info:hover,
.s-text-gradient-info-special:hover,
.s-text-gradient-attention:hover,
.s-text-gradient-royal:hover,
.s-text-gradient-royal-light:hover,
.s-text-gradient-pop:hover,
.s-text-gradient-dark:hover,
.s-text-gradient-black:hover,
.s-text-gradient-white:hover,
.s-text-gradient-neutral:hover,

.s-text-gradient-green:hover,
.s-text-gradient-purple:hover,
.s-text-gradient-indigo:hover,

.s-text-gradient-red:hover,
.s-text-gradient-slate:hover,
.s-text-gradient-light:hover,
.s-text-gradient-subtle:hover,
.s-text-gradient-overlay:hover {
   background-position: 100% 50% !important;
}

/* PRIMARY GRADIENTS */
.s-text-gradient-primary {
   background-image: linear-gradient(135deg, #0066cc, #3399ff, #0066cc) !important;
}

.s-text-gradient-primary:hover {
   filter: var(--s-text-drop-shadow) brightness(1.08) !important;
}

.s-text-gradient-primary-dark {
   background-image: linear-gradient(135deg, #004d99, #0066cc, #004d99) !important;
}

.s-text-gradient-primary-dark:hover {
   filter: var(--s-text-drop-shadow) brightness(1.12) !important;
}

.s-text-gradient-secondary {
   background-image: linear-gradient(135deg, #64748b, #94a3b8, #cbd5e1) !important;
}

.s-text-gradient-secondary:hover {
   filter: var(--s-text-drop-shadow) contrast(1.15) !important;
}

.s-text-gradient-success {
   background-image: linear-gradient(135deg, #16a34a, #22c55e, #10b981, #16a34a) !important;
}

.s-text-gradient-success:hover {
   filter: var(--s-text-drop-shadow) saturate(1.2) !important;
}

.s-text-gradient-success-soft {
   background-image: linear-gradient(135deg, #5acc17, #a3e635, #bef264, #5acc17) !important;
}

.s-text-gradient-success-soft:hover {
   filter: var(--s-text-drop-shadow) saturate(1.15) !important;
}

.s-text-gradient-danger {
   background-image: linear-gradient(135deg, #dc2626, #ef4444, #f87171, #dc2626) !important;
}

.s-text-gradient-danger:hover {
   filter: var(--s-text-drop-shadow) brightness(1.08) saturate(1.1) !important;
}

.s-text-gradient-warning {
   background-image: linear-gradient(135deg, #eab308, #fbbf24, #fcd34d, #eab308) !important;
}

.s-text-gradient-warning:hover {
   filter: var(--s-text-drop-shadow) saturate(1.1) !important;
}

.s-text-gradient-amber {
   background-image: linear-gradient(135deg, #b45309, #d97706, #f59e0b, #b45309) !important;
}

.s-text-gradient-amber:hover {
   filter: var(--s-text-drop-shadow) brightness(1.08) saturate(1.12) !important;
}

.s-text-gradient-info {
   background-image: var(--s-gradient-info) !important;
}

.s-text-gradient-info:hover {
   filter: var(--s-text-drop-shadow) saturate(1.15) !important;
}

.s-text-gradient-info-special {
   background-image: var(--s-gradient-info-special) !important;
}

.s-text-gradient-info-special:hover {
   filter: var(--s-text-drop-shadow) brightness(1.08) !important;
}

.s-text-gradient-attention {
   background-image: linear-gradient(135deg, #ea580c, #f97316, #fb923c, #ea580c) !important;
}

.s-text-gradient-attention:hover {
   filter: var(--s-text-drop-shadow) brightness(1.1) saturate(1.08) !important;
}

.s-text-gradient-royal {
   background-image: linear-gradient(135deg, #7c3aed, #a78bfa, #c4b5fd, #7c3aed) !important;
}

.s-text-gradient-royal:hover {
   filter: var(--s-text-drop-shadow) brightness(1.01) !important;
}

.s-text-gradient-royal-light {
   background-image: linear-gradient(135deg, #a78bfa, #c4b5fd, #ddd6fe, #a78bfa) !important;
}

.s-text-gradient-royal-light:hover {
   filter: var(--s-text-drop-shadow) brightness(1.05) !important;
}

.s-text-gradient-pop {
   background-image: linear-gradient(135deg, #ec4899, #f472b6, #fbcfe8, #ec4899) !important;
}

.s-text-gradient-pop:hover {
   filter: var(--s-text-drop-shadow) saturate(1.2) brightness(1.05) !important;
}



.s-text-gradient-green {
   background-image: linear-gradient(135deg, #22c55e, #16a34a, #4ade80, #22c55e) !important;
}

.s-text-gradient-green:hover {
   filter: var(--s-text-drop-shadow) saturate(1.2) brightness(1.05) !important;
}

.s-text-gradient-purple {
   background-image: linear-gradient(135deg, #8b5cf6, #6d28d9, #a78bfa, #8b5cf6) !important;
}

.s-text-gradient-purple:hover {
   filter: var(--s-text-drop-shadow) brightness(1.1) !important;
}

.s-text-gradient-indigo {
   background-image: linear-gradient(135deg, #6366f1, #4f46e5, #818cf8, #6366f1) !important;
}

.s-text-gradient-indigo:hover {
   filter: var(--s-text-drop-shadow) saturate(1.15) !important;
}



.s-text-gradient-red {
   background-image: linear-gradient(135deg, #dc2626, #b91c1c, #f87171, #dc2626) !important;
}

.s-text-gradient-red:hover {
   filter: var(--s-text-drop-shadow) brightness(1.1) saturate(1.12) !important;
}

.s-text-gradient-slate {
   background-image: linear-gradient(135deg, #64748b, #475569, #94a3b8, #64748b) !important;
}

.s-text-gradient-slate:hover {
   filter: var(--s-text-drop-shadow) brightness(1.12) !important;
}

.s-text-gradient-dark {
   background-image: linear-gradient(135deg, #334155, #475569, #64748b, #334155) !important;
}

.s-text-gradient-dark:hover {
   filter: var(--s-text-drop-shadow) brightness(1.2) !important;
}

.s-text-gradient-black {
   background-image: linear-gradient(135deg, #000, #1e293b, #334155, #000) !important;
}

.s-text-gradient-black:hover {
   filter: var(--s-text-drop-shadow) brightness(1.35) !important;
}

.s-text-gradient-white {
   background-image: linear-gradient(135deg, #fff, #f8fafc, #e2e8f0, #fff) !important;
}

.s-text-gradient-white:hover {
   filter: var(--s-text-drop-shadow) contrast(1.1) !important;
}

.s-text-gradient-neutral {
   background-image: linear-gradient(135deg, #64748b, #94a3b8, #cbd5e1, #64748b) !important;
}

.s-text-gradient-neutral:hover {
   filter: var(--s-text-drop-shadow) brightness(1.1) !important;
}

/* SPECIAL EFFECT GRADIENTS */
.s-text-gradient-light {
   background-image: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
}

.s-text-gradient-light:hover {
   filter: var(--s-text-drop-shadow) brightness(1.15) saturate(1.1) !important;
}

.s-text-gradient-subtle {
   background-image: linear-gradient(135deg, rgba(0, 102, 204, 0.05) 0%, rgba(0, 102, 204, 0.02) 100%) !important;
}

.s-text-gradient-subtle:hover {
   filter: var(--s-text-drop-shadow) contrast(1.5) !important;
}

.s-text-gradient-overlay {
   background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.15) 0%, rgba(255, 255, 255, 0) 100%) !important;
}

.s-text-gradient-overlay:hover {
   filter: var(--s-text-drop-shadow) brightness(1.3) !important;
}


/* TEXT DECORATION */
.s-text-underline {
   text-decoration: underline !important;
}

.s-text-no-underline {
   text-decoration: none !important;
}

.s-text-line-through {
   text-decoration: line-through !important;
}

/* TEXT TRANSFORM */
.s-text-uppercase {
   text-transform: uppercase !important;
}

.s-text-lowercase {
   text-transform: lowercase !important;
}

.s-text-capitalize {
   text-transform: capitalize !important;
}

.s-text-normal-case {
   text-transform: none !important;
}

/* TEXT WEIGHT */
.s-text-normal {
   font-weight: var(--s-font-normal) !important;
}

.s-text-medium {
   font-weight: var(--s-font-medium) !important;
}

.s-text-semibold {
   font-weight: var(--s-font-semibold) !important;
}

.s-text-bold {
   font-weight: var(--s-font-bold) !important;
}

.s-text-extrabold {
   font-weight: var(--s-font-extrabold) !important;
}

.s-font-black {
   font-weight: var(--s-font-black) !important;
}

/* TEXT SIZE */
.s-text-xs {
   font-size: var(--s-text-xs) !important;
}

.s-text-sm {
   font-size: var(--s-text-sm) !important;
}

.s-text-base {
   font-size: var(--s-text-base) !important;
}

.s-text-lg {
   font-size: var(--s-text-lg) !important;
}

.s-text-xl {
   font-size: var(--s-text-xl) !important;
}

.s-text-2xl {
   font-size: var(--s-text-2xl) !important;
}

.s-text-3xl {
   font-size: var(--s-text-3xl) !important;
}

.s-text-4xl {
   font-size: var(--s-text-4xl) !important;
}

.s-text-5xl {
   font-size: var(--s-text-5xl) !important;
}

.s-text-6xl {
   font-size: var(--s-text-6xl) !important;
}

/* TEXT ALIGNMENT */
.s-text-left {
   text-align: left !important;
}

.s-text-center {
   text-align: center !important;
}

.s-text-right {
   text-align: right !important;
}

.s-text-justify {
   text-align: justify !important;
}

/* LINE HEIGHT */
.s-leading-tight {
   line-height: var(--s-leading-tight) !important;
}

.s-leading-snug {
   line-height: var(--s-leading-snug) !important;
}

.s-leading-normal {
   line-height: var(--s-leading-normal) !important;
}

.s-leading-relaxed {
   line-height: var(--s-leading-relaxed) !important;
}

.s-leading-loose {
   line-height: var(--s-leading-loose) !important;
}

/* === BACKGROUND COLOR UTILITIES (Ultra Nuclear Consolidation) === */
.s-bg-primary,
.s-bg-primary-dark,
.s-bg-primary-soft,
.s-bg-success,
.s-bg-success-soft,
.s-bg-danger,
.s-bg-error,
.s-bg-warning,
.s-bg-amber,
.s-bg-info,
.s-bg-info-special,
.s-bg-attention,
.s-bg-royal,
.s-bg-pop,
.s-bg-secondary,
.s-bg-dark,
.s-bg-gray-500,
.s-bg-gray-600,
.s-bg-gray-700,
.s-bg-gray-800,
.s-bg-gray-900,
.s-bg-black {
   color: var(--s-white) !important
}

.s-bg-warning,
.s-bg-soft {
   color: var(--s-gray-900) !important
}

.s-bg-primary {
   background-color: var(--s-primary) !important
}

.s-bg-primary-dark {
   background-color: var(--s-primary-dark) !important
}

.s-bg-primary-soft {
   background-color: var(--s-primary-soft) !important
}

.s-bg-secondary {
   background-color: var(--s-gray-600) !important
}

.s-bg-success {
   background-color: var(--s-success) !important
}

.s-bg-success-soft {
   background-color: var(--s-success-lime) !important
}

.s-bg-danger,
.s-bg-error {
   background-color: var(--s-danger) !important
}

.s-bg-warning {
   background-color: var(--s-warning) !important
}

.s-bg-amber {
   background-color: var(--s-amber) !important
}

.s-bg-info {
   background-color: var(--s-info) !important
}

.s-bg-info-special {
   background-color: var(--s-info-special) !important
}

.s-bg-attention {
   background-color: var(--s-attention) !important
}

.s-bg-royal {
   background-color: var(--s-royal) !important
}

.s-bg-pop {
   background-color: var(--s-pop) !important
}

.s-bg-dark {
   background-color: var(--s-gray-800) !important
}

.s-bg-black {
   background-color: var(--s-black) !important
}

.s-bg-white {
   background-color: var(--s-white) !important
}

.s-bg-soft {
   background-color: var(--s-gray-100) !important
}

.s-bg-gray-50 {
   background-color: var(--s-gray-50) !important
}

.s-bg-gray-100 {
   background-color: var(--s-gray-100) !important
}

.s-bg-gray-200 {
   background-color: var(--s-gray-200) !important
}

.s-bg-gray-300 {
   background-color: var(--s-gray-300) !important
}

.s-bg-gray-400 {
   background-color: var(--s-gray-400) !important
}

.s-bg-gray-500 {
   background-color: var(--s-gray-500) !important
}

.s-bg-gray-600 {
   background-color: var(--s-gray-600) !important
}

.s-bg-gray-700 {
   background-color: var(--s-gray-700) !important
}

.s-bg-gray-800 {
   background-color: var(--s-gray-800) !important
}

.s-bg-gray-900 {
   background-color: var(--s-gray-900) !important
}

.s-bg-neutral {
   background-color: var(--s-neutral-600) !important
}

/* Gradient Backgrounds */
.s-bg-gradient-primary,
.s-bg-gradient-success,
.s-bg-gradient-success-soft,
.s-bg-gradient-danger,
.s-bg-gradient-warning,
.s-bg-gradient-amber,
.s-bg-gradient-info,
.s-bg-gradient-info-special,
.s-bg-gradient-attention,
.s-bg-gradient-royal,
.s-bg-gradient-pop,
.s-bg-gradient-secondary,
.s-bg-gradient-dark,
.s-bg-gradient-black {
   color: var(--s-white) !important
}

.s-bg-gradient-warning {
   color: var(--s-gray-900) !important
}

.s-bg-gradient-primary {
   background: var(--s-gradient-primary) !important
}

.s-bg-gradient-secondary {
   background: var(--s-gradient-secondary) !important
}

.s-bg-gradient-success {
   background: var(--s-gradient-success) !important
}

.s-bg-gradient-success-soft {
   background: var(--s-gradient-success-soft) !important
}

.s-bg-gradient-danger {
   background: var(--s-gradient-danger) !important
}

.s-bg-gradient-warning {
   background: var(--s-gradient-warning) !important
}

.s-bg-gradient-amber {
   background: var(--s-gradient-amber) !important
}

.s-bg-gradient-info {
   background: var(--s-gradient-info) !important
}

.s-bg-gradient-info-special {
   background: var(--s-gradient-info-special) !important
}

.s-bg-gradient-attention {
   background: var(--s-gradient-attention) !important
}

.s-bg-gradient-royal {
   background: var(--s-gradient-royal) !important
}

.s-bg-gradient-pop {
   background: var(--s-gradient-pop) !important
}

.s-bg-gradient-dark {
   background: var(--s-gradient-dark) !important
}

.s-bg-gradient-black {
   background: var(--s-gradient-black) !important
}

/* === TEXT ALIGNMENT === */
.s-text-left {
   text-align: left !important
}

.s-text-center {
   text-align: center !important
}

.s-text-right {
   text-align: right !important
}

.s-text-justify {
   text-align: justify !important
}

/* === TEXT TRANSFORM === */
.s-text-uppercase {
   text-transform: uppercase !important;
   letter-spacing: .05em
}

.s-text-lowercase {
   text-transform: lowercase !important
}

.s-text-capitalize {
   text-transform: capitalize !important
}

.s-text-normal-case {
   text-transform: none !important
}

/* === FONT WEIGHTS === */
.s-font-normal {
   font-weight: var(--s-font-normal) !important
}

.s-font-medium {
   font-weight: var(--s-font-medium) !important
}

.s-font-semibold {
   font-weight: var(--s-font-semibold) !important
}

.s-font-bold {
   font-weight: var(--s-font-bold) !important
}

.s-font-extrabold {
   font-weight: var(--s-font-extrabold) !important
}

.s-font-black {
   font-weight: var(--s-font-black) !important
}

/* === FONT STYLES === */
.s-italic {
   font-style: italic !important
}

.s-not-italic {
   font-style: normal !important
}

/* === TEXT DECORATION === */
.s-underline {
   text-decoration: underline !important
}

.s-line-through {
   text-decoration: line-through !important
}

.s-no-underline {
   text-decoration: none !important
}

/* === TEXT SIZES === */
.s-text-xs {
   font-size: var(--s-text-xs) !important
}

.s-text-sm {
   font-size: var(--s-text-sm) !important
}

.s-text-base {
   font-size: var(--s-text-base) !important
}

.s-text-lg {
   font-size: var(--s-text-lg) !important
}

.s-text-xl {
   font-size: var(--s-text-xl) !important
}

.s-text-2xl {
   font-size: var(--s-text-2xl) !important
}

.s-text-3xl {
   font-size: var(--s-text-3xl) !important
}

.s-text-4xl {
   font-size: var(--s-text-4xl) !important
}

.s-text-5xl {
   font-size: var(--s-text-5xl) !important
}

.s-text-6xl {
   font-size: var(--s-text-6xl) !important
}

/* === LINE HEIGHTS === */
.s-leading-tight {
   line-height: var(--s-leading-tight) !important
}

.s-leading-snug {
   line-height: var(--s-leading-snug) !important
}

.s-leading-normal {
   line-height: var(--s-leading-normal) !important
}

.s-leading-relaxed {
   line-height: var(--s-leading-relaxed) !important
}

.s-leading-loose {
   line-height: var(--s-leading-loose) !important
}

/* === OPACITY UTILITIES === */
.s-opacity-0 {
   opacity: 0 !important
}

.s-opacity-25 {
   opacity: 0.25 !important
}

.s-opacity-50 {
   opacity: 0.5 !important
}

.s-opacity-75 {
   opacity: 0.75 !important
}

.s-opacity-100 {
   opacity: 1 !important
}

/* === SHADOW UTILITIES === */
.s-shadow-none {
   box-shadow: none !important
}

.s-shadow-xs {
   box-shadow: var(--s-shadow-xs) !important
}

.s-shadow-sm {
   box-shadow: var(--s-shadow-sm) !important
}

.s-shadow-md {
   box-shadow: var(--s-shadow-md) !important
}

.s-shadow-lg {
   box-shadow: var(--s-shadow-lg) !important
}

.s-shadow-xl {
   box-shadow: var(--s-shadow-xl) !important
}

.s-shadow-2xl {
   box-shadow: var(--s-shadow-2xl) !important
}

.s-shadow-glow {
   box-shadow: var(--s-shadow-glow) !important
}

/* === BORDER RADIUS UTILITIES === */
.s-rounded-none {
   border-radius: var(--s-radius-none) !important
}

.s-rounded-xs {
   border-radius: var(--s-radius-xs) !important
}

.s-rounded-sm {
   border-radius: var(--s-radius-sm) !important
}

.s-rounded,
.s-rounded-md {
   border-radius: var(--s-radius-md) !important
}

.s-rounded-lg {
   border-radius: var(--s-radius-lg) !important
}

.s-rounded-xl {
   border-radius: var(--s-radius-xl) !important
}

.s-rounded-2xl {
   border-radius: var(--s-radius-2xl) !important
}

.s-rounded-full {
   border-radius: var(--s-radius-full) !important
}

/* Rounded corners - Individual sides */
.s-rounded-t-none {
   border-top-left-radius: var(--s-radius-none) !important;
   border-top-right-radius: var(--s-radius-none) !important
}

.s-rounded-t-sm {
   border-top-left-radius: var(--s-radius-sm) !important;
   border-top-right-radius: var(--s-radius-sm) !important
}

.s-rounded-t-md {
   border-top-left-radius: var(--s-radius-md) !important;
   border-top-right-radius: var(--s-radius-md) !important
}

.s-rounded-t-lg {
   border-top-left-radius: var(--s-radius-lg) !important;
   border-top-right-radius: var(--s-radius-lg) !important
}

.s-rounded-b-none {
   border-bottom-left-radius: var(--s-radius-none) !important;
   border-bottom-right-radius: var(--s-radius-none) !important
}

.s-rounded-b-sm {
   border-bottom-left-radius: var(--s-radius-sm) !important;
   border-bottom-right-radius: var(--s-radius-sm) !important
}

.s-rounded-b-md {
   border-bottom-left-radius: var(--s-radius-md) !important;
   border-bottom-right-radius: var(--s-radius-md) !important
}

.s-rounded-b-lg {
   border-bottom-left-radius: var(--s-radius-lg) !important;
   border-bottom-right-radius: var(--s-radius-lg) !important
}


/* ─────────────────────────────────────────────────────────────────────────────
   LAYER 4: Text Size Utilities (Attribute Scoped)
   ───────────────────────────────────────────────────────────────────────────── */

.s-text-xs {
   font-size: var(--s-text-xs);
}

.s-text-sm {
   font-size: var(--s-text-sm);
}

.s-text-base {
   font-size: var(--s-text-base);
}

.s-text-lg {
   font-size: var(--s-text-lg);
}

.s-text-xl {
   font-size: var(--s-text-xl);
}

.s-text-2xl {
   font-size: var(--s-text-2xl);
}

.s-text-3xl {
   font-size: var(--s-text-3xl);
}

.s-text-4xl {
   font-size: var(--s-text-4xl);
}

.s-text-5xl {
   font-size: var(--s-text-5xl);
}

.s-text-6xl {
   font-size: var(--s-text-6xl);
}

/* ─────────────────────────────────────────────────────────────────────────────
   LAYER 5: Font Weight Utilities (Attribute Scoped)
   ───────────────────────────────────────────────────────────────────────────── */

.s-font-normal {
   font-weight: var(--s-font-normal);
}

.s-font-medium {
   font-weight: var(--s-font-medium);
}

.s-font-semibold {
   font-weight: var(--s-font-semibold);
}

.s-font-bold {
   font-weight: var(--s-font-bold);
}

.s-font-extrabold {
   font-weight: var(--s-font-extrabold);
}

.s-font-black {
   font-weight: var(--s-font-black);
}


/* ─────────────────────────────────────────────────────────────────────────────
   LAYER 6: Shadow Utilities (Attribute Scoped)
   ───────────────────────────────────────────────────────────────────────────── */
/* Base shadows */
.s-shadow-xs {
   box-shadow: var(--s-shadow-xs);
}

.s-shadow-sm {
   box-shadow: var(--s-shadow-sm);
}

.s-shadow-md {
   box-shadow: var(--s-shadow-md);
}

.s-shadow-lg {
   box-shadow: var(--s-shadow-lg);
}

.s-shadow-xl {
   box-shadow: var(--s-shadow-xl);
}

.s-shadow-2xl {
   box-shadow: var(--s-shadow-2xl);
}

.s-shadow-glow {
   box-shadow: var(--s-shadow-glow);
}

.s-shadow-none {
   box-shadow: none;
}

/* Hover variants */
.s-shadow-hover-xs:hover,
.s-shadow-hover-sm:hover,
.s-shadow-hover-md:hover,
.s-shadow-hover-lg:hover,
.s-shadow-hover-xl:hover,
.s-shadow-hover-2xl:hover,
.s-shadow-hover-glow:hover {
   transition: box-shadow 0.3s ease;
}

.s-shadow-hover-xs:hover {
   box-shadow: var(--s-shadow-xs);
}

.s-shadow-hover-sm:hover {
   box-shadow: var(--s-shadow-sm);
}

.s-shadow-hover-md:hover {
   box-shadow: var(--s-shadow-md);
}

.s-shadow-hover-lg:hover {
   box-shadow: var(--s-shadow-lg);
}

.s-shadow-hover-xl:hover {
   box-shadow: var(--s-shadow-xl);
}

.s-shadow-hover-2xl:hover {
   box-shadow: var(--s-shadow-2xl);
}

.s-shadow-hover-glow:hover {
   box-shadow: var(--s-shadow-glow);
}



/* ─────────────────────────────────────────────────────────────────────────────
   LAYER 7: Animation Keyframes (Shared)
   ───────────────────────────────────────────────────────────────────────────── */
@keyframes border-glow-pulse {

   0%,
   100% {
      box-shadow: 0 0 8px rgba(0, 102, 204, 0.3), inset 0 0 8px rgba(0, 102, 204, 0.1)
   }

   50% {
      box-shadow: 0 0 20px rgba(0, 102, 204, 0.6), inset 0 0 16px rgba(0, 102, 204, 0.2)
   }
}

@keyframes border-shimmer {
   0% {
      background-position: -1000px 0
   }

   100% {
      background-position: 1000px 0
   }
}

@keyframes border-dash {
   0% {
      stroke-dashoffset: 0
   }

   100% {
      stroke-dashoffset: -100
   }
}

@keyframes border-gradient-rotate {

   0%,
   100% {
      filter: hue-rotate(0deg);
      box-shadow: 0 0 15px rgba(0, 102, 204, 0.4)
   }

   50% {
      box-shadow: 0 0 25px rgba(51, 153, 255, 0.6)
   }
}

@keyframes border-pulse-wave {

   0%,
   100% {
      box-shadow: 0 0 0 0 rgba(0, 102, 204, 0.7)
   }

   70% {
      box-shadow: 0 0 0 15px rgba(0, 102, 204, 0)
   }
}

/* ─────────────────────────────────────────────────────────────────────────────
   LAYER 7: Animation Modifiers (Attribute Scoped)
   ───────────────────────────────────────────────────────────────────────────── */
[class*="border-animate-glow"] {
   animation: border-glow-pulse 2.5s ease-in-out infinite
}

[class*="border-animate-shimmer"] {
   background-size: 200% 100%;
   animation: border-shimmer 3s linear infinite
}

[class*="border-animate-dash"] {
   animation: border-dash 1.5s linear infinite;
   border-style: dashed
}

[class*="border-animate-gradient-rotate"] {
   animation: border-gradient-rotate 4s ease-in-out infinite
}

[class*="border-animate-pulse-wave"] {
   animation: border-pulse-wave 2s cubic-bezier(0.4, 0, 0.6, 1) infinite
}


/* ─────────────────────────────────────────────────────────────────────────────
  LAYER 8: Text Color Modifiers (For Gradient Text in Headings) - Attribute Scoped
  ───────────────────────────────────────────────────────────────────────────── */
[class*="s-gradient-text"] {
   -webkit-background-clip: text;
   -webkit-text-fill-color: transparent;
   background-clip: text
}

.s-gradient-text {
   background: var(--s-gradient-primary)
}

.s-gradient-text-primary {
   background: var(--s-gradient-primary)
}

.s-gradient-text-secondary {
   background: var(--s-gradient-secondary)
}

.s-gradient-text-success {
   background: var(--s-gradient-success)
}

.s-gradient-text-success-soft {
   background: var(--s-gradient-success-soft)
}

.s-gradient-text-danger {
   background: var(--s-gradient-danger)
}

.s-gradient-text-warning {
   background: var(--s-gradient-warning)
}

.s-gradient-text-attention {
   background: var(--s-gradient-attention)
}

.s-gradient-text-info {
   background: var(--s-gradient-info)
}

.s-gradient-text-info-special {
   background: var(--s-gradient-info-special)
}

.s-gradient-text-royal {
   background: var(--s-gradient-royal)
}

.s-gradient-text-royal-soft {
   background: var(--s-gradient-royal-soft)
}

.s-gradient-text-pop {
   background: var(--s-gradient-pop)
}



.s-gradient-text-green {
   background: var(--s-gradient-green)
}

.s-gradient-text-amber {
   background: var(--s-gradient-amber)
}

.s-gradient-text-purple {
   background: var(--s-gradient-purple)
}

.s-gradient-text-indigo {
   background: var(--s-gradient-indigo)
}



.s-gradient-text-red {
   background: var(--s-gradient-red)
}

.s-gradient-text-slate {
   background: var(--s-gradient-slate)
}

.s-gradient-text-neutral {
   background: var(--s-gradient-neutral)
}