h1 {
    font-size: 32px;
    font-weight: 600;
    margin-bottom: 10px;
}

h3 {
    font-size: 18px;
    font-weight: 500;
    margin-top: 20px;
    margin-bottom: 15px;
}

h1:has(span), h2:has(span), h3:has(span), h4:has(span) {
    display: flex;
    gap: 10px;
}

p {
    line-height: 1.6;
}

.card .card-body h3 {
    /* margin-top: 30px;
    margin-bottom: 15px;
    margin-left: -15px;
    padding-left: 15px;
    border-left: var(--second) 3px solid; */
}

.gap-2 {
    gap: 0.5rem;
}

.gap-3 {
    gap: 1rem;
}

/* Estilos para texto */
.text-left { text-align: left; }
.text-center { text-align: center; }
.text-right { text-align: right; }

.text-uppercase { text-transform: uppercase; }
.text-lowercase { text-transform: lowercase; }
.text-capitalize { text-transform: capitalize; }

/* Cores de texto */
.text-primary { color: var(--theme-color); }
.text-secondary { color: #6c757d; }
.text-success { color: #28a745; }
.text-danger { color: #dc3545; }
.text-warning { color: #ffc107; }
.text-info { color: #17a2b8; }

ul.list,
ol.list {
    margin: 0;
    padding: 0;
    list-style: none;
}

ul.list li {
    position: relative;
    padding-left: 24px;
    margin: 6px 0;
}

ul.list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 10px;
    height: 10px;
    transform: translateY(-50%);
    border-radius: 50%;
    background: var(--border-color);
}

ul.list.primary li::before {
    background: var(--primary);
}

ul.list.success li::before {
    background: var(--success);
}

ul.list.warning li::before {
    background: var(--warning);
}

ul.list.danger li::before {
    background: var(--danger);
}

ul.list.dense li {
    margin: 4px 0;
}

ul.list.check li {
    padding-left: 32px;
}

ul.list.check li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 18px;
    height: 18px;
    transform: translateY(-50%);
    border-radius: 50%;
    background: var(--success30);
    border: 2px solid var(--success);
}

ul.list.check li::after {
    content: '';
    position: absolute;
    left: 6px;
    top: 50%;
    width: 6px;
    height: 10px;
    transform: translateY(-50%) rotate(45deg);
    border-right: 2px solid var(--success);
    border-bottom: 2px solid var(--success);
}

ol.list-numbered {
    counter-reset: listcounter;
    margin: 0;
    padding: 0;
    list-style: none;
}

ol.list-numbered li {
    position: relative;
    padding-left: 28px;
    margin: 6px 0;
}

ol.list-numbered li::before {
    counter-increment: listcounter;
    content: counter(listcounter) '.';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    color: var(--primary-text);
    opacity: .7;
}

ul.list-striped li,
ol.list-striped li {
    padding: 8px 12px 8px 36px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
}

ul.list.list-striped li {
    position: relative;
}

ul.list.list-striped li::before {
    left: 14px;
    width: 10px;
    height: 10px;
}

ul.list-striped li:nth-child(odd),
ol.list-striped li:nth-child(odd) {
    background: var(--card-bg);
}

ul.list-inline {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

ul.list-inline li {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border: 1px solid var(--border-color);
    border-radius: 8px;
}