.ca-wrapper-3b49bf00 {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0 auto; /* Center wrapper if width is set */
}

.ca-item-3b49bf00 {
    display: flex;
    flex-direction: column;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    overflow: hidden;
}

.ca-header-3b49bf00 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
    cursor: pointer;
    background: #f9f9f9;
    font-weight: 600;
    transition: background 0.3s;
    gap: 15px; /* ensure gap between title and icon */
}

/* Icon Alignment Logic via prefix class */
.ca-icon-align-left .ca-header-3b49bf00 {
    flex-direction: row-reverse;
}

.ca-header-3b49bf00:hover {
    background: #f1f1f1;
}

.ca-title-3b49bf00 {
    flex-grow: 1;
    text-align: left; /* default overridable via controls */
}

.ca-icon-3b49bf00 {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.ca-icon-expand-3b49bf00 {
    display: inline-flex;
}

.ca-icon-collapse-3b49bf00 {
    display: none;
}

.ca-item-3b49bf00.active .ca-icon-expand-3b49bf00 {
    display: none;
}

.ca-item-3b49bf00.active .ca-icon-collapse-3b49bf00 {
    display: inline-flex;
}

.ca-content-3b49bf00 {
    display: none;
    padding: 15px 20px;
    border-top: 1px solid #e5e5e5;
    background: #fff;
}

.ca-item-3b49bf00.active .ca-content-3b49bf00 {
    display: block;
}

.ca-content-3b49bf00 ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.ca-content-3b49bf00 ul li {
    padding: 5px 0;
}

.ca-content-3b49bf00 ul li a {
    text-decoration: none;
    transition: color 0.3s;
}
