/**
 * Border Utility Classes
 * Theme-aware borders
 */

/* Border Colors - Theme */
.border-primary {
    border-color: var(--theme-primary) !important;
}

.border-primary-light {
    border-color: var(--theme-primary-light) !important;
}

.border-primary-dark {
    border-color: var(--theme-primary-dark) !important;
}

.border-secondary {
    border-color: var(--theme-secondary) !important;
}

.border-accent {
    border-color: var(--theme-accent) !important;
}

/* Border Colors - System */
.border-base {
    border-color: var(--theme-border) !important;
}

.border-light {
    border-color: var(--theme-border-light) !important;
}

.border-dark {
    border-color: var(--theme-border-dark) !important;
}

/* Border Colors - Semantic */
.border-success {
    border-color: var(--theme-success) !important;
}

.border-warning {
    border-color: var(--theme-warning) !important;
}

.border-danger {
    border-color: var(--theme-danger) !important;
}

.border-info {
    border-color: var(--theme-info) !important;
}

/* Border Width */
.border-0 { border-width: 0 !important; }
.border-1 { border-width: 1px !important; }
.border-2 { border-width: 2px !important; }
.border-3 { border-width: 3px !important; }
.border-4 { border-width: 4px !important; }

/* Border Top */
.border-t-0 { border-top-width: 0 !important; }
.border-t-1 { border-top-width: 1px !important; }
.border-t-2 { border-top-width: 2px !important; }
.border-t-4 { border-top-width: 4px !important; }

/* Border Right */
.border-r-0 { border-right-width: 0 !important; }
.border-r-1 { border-right-width: 1px !important; }
.border-r-2 { border-right-width: 2px !important; }
.border-r-4 { border-right-width: 4px !important; }

/* Border Bottom */
.border-b-0 { border-bottom-width: 0 !important; }
.border-b-1 { border-bottom-width: 1px !important; }
.border-b-2 { border-bottom-width: 2px !important; }
.border-b-4 { border-bottom-width: 4px !important; }

/* Border Left */
.border-l-0 { border-left-width: 0 !important; }
.border-l-1 { border-left-width: 1px !important; }
.border-l-2 { border-left-width: 2px !important; }
.border-l-4 { border-left-width: 4px !important; }

/* Border Style */
.border-solid { border-style: solid !important; }
.border-dashed { border-style: dashed !important; }
.border-dotted { border-style: dotted !important; }
.border-none { border-style: none !important; }

/* Border Radius */
.rounded-none { border-radius: var(--radius-none) !important; }
.rounded-sm { border-radius: var(--radius-sm) !important; }
.rounded { border-radius: var(--radius-md) !important; }
.rounded-md { border-radius: var(--radius-md) !important; }
.rounded-lg { border-radius: var(--radius-lg) !important; }
.rounded-xl { border-radius: var(--radius-xl) !important; }
.rounded-2xl { border-radius: var(--radius-2xl) !important; }
.rounded-3xl { border-radius: var(--radius-3xl) !important; }
.rounded-full { border-radius: var(--radius-full) !important; }
.rounded-circle { border-radius: 50% !important; }

/* Border Radius - Top */
.rounded-t-none { border-top-left-radius: var(--radius-none) !important; border-top-right-radius: var(--radius-none) !important; }
.rounded-t-sm { border-top-left-radius: var(--radius-sm) !important; border-top-right-radius: var(--radius-sm) !important; }
.rounded-t { border-top-left-radius: var(--radius-md) !important; border-top-right-radius: var(--radius-md) !important; }
.rounded-t-lg { border-top-left-radius: var(--radius-lg) !important; border-top-right-radius: var(--radius-lg) !important; }

/* Border Radius - Bottom */
.rounded-b-none { border-bottom-left-radius: var(--radius-none) !important; border-bottom-right-radius: var(--radius-none) !important; }
.rounded-b-sm { border-bottom-left-radius: var(--radius-sm) !important; border-bottom-right-radius: var(--radius-sm) !important; }
.rounded-b { border-bottom-left-radius: var(--radius-md) !important; border-bottom-right-radius: var(--radius-md) !important; }
.rounded-b-lg { border-bottom-left-radius: var(--radius-lg) !important; border-bottom-right-radius: var(--radius-lg) !important; }

/* Border Radius - Left */
.rounded-l-none { border-top-left-radius: var(--radius-none) !important; border-bottom-left-radius: var(--radius-none) !important; }
.rounded-l-sm { border-top-left-radius: var(--radius-sm) !important; border-bottom-left-radius: var(--radius-sm) !important; }
.rounded-l { border-top-left-radius: var(--radius-md) !important; border-bottom-left-radius: var(--radius-md) !important; }
.rounded-l-lg { border-top-left-radius: var(--radius-lg) !important; border-bottom-left-radius: var(--radius-lg) !important; }

/* Border Radius - Right */
.rounded-r-none { border-top-right-radius: var(--radius-none) !important; border-bottom-right-radius: var(--radius-none) !important; }
.rounded-r-sm { border-top-right-radius: var(--radius-sm) !important; border-bottom-right-radius: var(--radius-sm) !important; }
.rounded-r { border-top-right-radius: var(--radius-md) !important; border-bottom-right-radius: var(--radius-md) !important; }
.rounded-r-lg { border-top-right-radius: var(--radius-lg) !important; border-bottom-right-radius: var(--radius-lg) !important; }

/* Hover Border Colors */
.hover\:border-primary:hover {
    border-color: var(--theme-primary) !important;
}

.hover\:border-accent:hover {
    border-color: var(--theme-accent) !important;
}

.hover\:border-primary-dark:hover {
    border-color: var(--theme-primary-dark) !important;
}

/* Focus Border Colors */
.focus\:border-primary:focus {
    border-color: var(--theme-primary) !important;
}

.focus\:border-accent:focus {
    border-color: var(--theme-accent) !important;
}
