.rte-container {
    border: 1px solid #ccc;
    border-radius: 4px;
    overflow: hidden;
    background: #fff;
}

.rte-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding: 8px;
    background: #f5f5f5;
    border-bottom: 1px solid #ddd;
    gap: 4px;
}

.rte-toolbar-group {
    display: flex;
    align-items: center;
    gap: 2px;
}

.rte-divider {
    width: 1px;
    height: 24px;
    background: #ddd;
    margin: 0 4px;
}

.rte-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: none;
    background: transparent;
    border-radius: 4px;
    cursor: pointer;
    color: #555;
    transition: background-color 0.2s, color 0.2s;
}

.rte-btn:hover {
    background: #e0e0e0;
    color: #1976d2;
}

.rte-btn:active {
    background: #d0d0d0;
}

.rte-select {
    height: 32px;
    padding: 0 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
    background: #fff;
    font-size: 13px;
    cursor: pointer;
    min-width: 70px;
}

.rte-select:hover {
    border-color: #1976d2;
}

.rte-color-picker {
    position: relative;
    display: flex;
    align-items: center;
}

.rte-color-input {
    position: absolute;
    width: 32px;
    height: 32px;
    opacity: 0;
    cursor: pointer;
}

.rte-content {
    padding: 16px;
    outline: none;
    overflow-y: auto;
    line-height: 1.6;
    font-size: 14px;
}

.rte-content:focus {
    outline: none;
}

.rte-content:empty:before {
    content: 'Enter text here...';
    color: #999;
    pointer-events: none;
}

/* Table styling within editor */
.rte-content table {
    border-collapse: collapse;
    width: 100%;
    margin: 8px 0;
}

.rte-content td,
.rte-content th {
    border: 1px solid #ccc;
    padding: 8px;
    min-width: 50px;
}

.rte-content th {
    background: #f5f5f5;
    font-weight: bold;
}

/* Link styling */
.rte-content a {
    color: #1976d2;
    text-decoration: underline;
}

/* Image styling */
.rte-content img {
    max-width: 100%;
    height: auto;
}

/* List styling */
.rte-content ul,
.rte-content ol {
    margin: 8px 0;
    padding-left: 24px;
}

/* Disabled state */
.rte-container.disabled .rte-toolbar {
    opacity: 0.6;
    pointer-events: none;
}

.rte-container.disabled .rte-content {
    background: #f9f9f9;
    color: #666;
}
