/* ==========================================================================
   Borders & Radius Utilities
   ========================================================================== */

/* Border Width */
.border-none {
    border-width: 0;
}

.border {
    border: 1px solid var(--outline);
}

.border-double {
    border: 2px solid var(--outline);
}

.border-thick {
    border: 4px solid var(--outline);
}

/* Border Sides */
.border-top {
    border-top: 1px solid var(--outline);
}

.border-right {
    border-right: 1px solid var(--outline);
}

.border-bottom {
    border-bottom: 1px solid var(--outline);
}

.border-left {
    border-left: 1px solid var(--outline);
}

.border-block {
    border-block: 1px solid var(--outline);
}

.border-block-start {
    border-block-start: 1px solid var(--outline);
}

.border-block-end {
    border-block-end: 1px solid var(--outline);
}

.border-inline {
    border-inline: 1px solid var(--outline);
}

.border-inline-start {
    border-inline-start: 1px solid var(--outline);
}

.border-inline-end {
    border-inline-end: 1px solid var(--outline);
}

/* Border Style */
.border-style-solid {
    border-style: solid;
}

.border-style-dashed {
    border-style: dashed;
}

.border-style-dotted {
    border-style: dotted;
}

.border-style-double {
    border-style: double;
}

.border-style-none {
    border-style: none;
}

/* Border Color */
.border-color-primary {
    border-color: var(--primary);
}

.border-color-secondary {
    border-color: var(--secondary);
}

.border-color-tertiary {
    border-color: var(--tertiary);
}

.border-color-error {
    border-color: var(--error);
}

.border-color-outline {
    border-color: var(--outline);
}

.border-color-outline-variant {
    border-color: var(--outline-variant);
}

.border-color-transparent {
    border-color: transparent;
}

/* Special Border Utilities */
.outlined {
    border: 1px solid var(--outline);
}

.outlined-variant {
    border: 1px solid var(--outline-variant);
}

.outlined-dashed {
    border: 1px dashed var(--outline);
}

/* Border Radius - MD3 */
.radius-none {
    border-radius: var(--radius-none);
}

.radius-extra-small {
    border-radius: var(--radius-extra-small);
}

.radius-small {
    border-radius: var(--radius-small);
}

.radius-medium {
    border-radius: var(--radius-medium);
}

.radius-large {
    border-radius: var(--radius-large);
}

.radius-extra-large {
    border-radius: var(--radius-extra-large);
}

.radius-full {
    border-radius: var(--radius-full);
}

/* Corner-specific radius */
.radius-top-left-none {
    border-top-left-radius: var(--radius-none);
}

.radius-top-left-small {
    border-top-left-radius: var(--radius-small);
}

.radius-top-left-medium {
    border-top-left-radius: var(--radius-medium);
}

.radius-top-left-large {
    border-top-left-radius: var(--radius-large);
}

.radius-top-right-none {
    border-top-right-radius: var(--radius-none);
}

.radius-top-right-small {
    border-top-right-radius: var(--radius-small);
}

.radius-top-right-medium {
    border-top-right-radius: var(--radius-medium);
}

.radius-top-right-large {
    border-top-right-radius: var(--radius-large);
}

.radius-bottom-left-none {
    border-bottom-left-radius: var(--radius-none);
}

.radius-bottom-left-small {
    border-bottom-left-radius: var(--radius-small);
}

.radius-bottom-left-medium {
    border-bottom-left-radius: var(--radius-medium);
}

.radius-bottom-left-large {
    border-bottom-left-radius: var(--radius-large);
}

.radius-bottom-right-none {
    border-bottom-right-radius: var(--radius-none);
}

.radius-bottom-right-small {
    border-bottom-right-radius: var(--radius-small);
}

.radius-bottom-right-medium {
    border-bottom-right-radius: var(--radius-medium);
}

.radius-bottom-right-large {
    border-bottom-right-radius: var(--radius-large);
}

/* Side-specific radius */
.radius-top {
    border-top-left-radius: var(--radius-medium);
    border-top-right-radius: var(--radius-medium);
}

.radius-right {
    border-top-right-radius: var(--radius-medium);
    border-bottom-right-radius: var(--radius-medium);
}

.radius-bottom {
    border-bottom-left-radius: var(--radius-medium);
    border-bottom-right-radius: var(--radius-medium);
}

.radius-left {
    border-top-left-radius: var(--radius-medium);
    border-bottom-left-radius: var(--radius-medium);
}