[data-rs-alert] {
position: relative;
display: flex;
flex-direction: column;
gap: var(--alert-gap);
padding-inline: var(--alert-padding-x);
padding-block: var(--alert-padding-y);
border-radius: var(--alert-radius);
border: var(--alert-border-width) solid var(--alert-border-color);
background: var(--alert-bg);
color: var(--alert-fg);
}
[data-rs-alert][data-rs-variant="success"] { background: var(--alert-bg-success); }
[data-rs-alert][data-rs-variant="warning"] { background: var(--alert-bg-warning); }
[data-rs-alert][data-rs-variant="destructive"] { background: var(--alert-bg-error); }
[data-rs-alert-title] {
font-size: var(--alert-title-font-size);
font-weight: var(--alert-title-font-weight);
color: var(--alert-title-fg);
}
[data-rs-alert-description] {
font-size: var(--alert-description-font-size);
line-height: var(--alert-description-line-height);
color: var(--alert-description-fg);
}
[data-rs-alert-close] {
position: absolute;
top: var(--alert-padding-y);
right: var(--alert-padding-x);
display: flex;
align-items: center;
justify-content: center;
width: var(--alert-close-size);
height: var(--alert-close-size);
color: var(--alert-close-fg);
cursor: pointer;
background: none;
border: none;
padding: 0;
}
[data-rs-alert-close][data-rs-state~="hover"] {
color: var(--alert-close-fg-hover);
}
[data-rs-alert-close][data-rs-state~="disabled"] {
opacity: var(--alert-close-opacity-disabled);
cursor: not-allowed;
pointer-events: none;
}
[data-rs-alert][data-rs-state~="error"] { background: var(--alert-bg-error); border-color: var(--alert-border-color-error); }
[data-rs-alert][data-rs-state~="warning"] { background: var(--alert-bg-warning); border-color: var(--alert-border-color-warning); }
[data-rs-alert][data-rs-state~="success"] { background: var(--alert-bg-success); border-color: var(--alert-border-color-success); }
[data-rs-alert][data-rs-state~="closed"] { display: none; }