* {
    font-family: 'Metropolis', sans-serif;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-weight: 500;
}

form.user .custom-checkbox.small label {
    line-height: 1.5rem;
}

form.user .form-control-user {
    font-size: 0.8rem;
    border-radius: 10rem;
    padding: 1rem 1rem;
}

form.user .btn-user {
    font-size: 0.8rem;
    border-radius: 10rem;
    padding: 0.75rem 1rem !important;
}

.card {
    border-radius: 1.5rem;
}

.bg-terracota {
    background-color: #e67e22 !important;
    /* Exemplo de cor terracota */
}

.text-terracota {
    color: #e67e22 !important;
}

.btn-terracota {
    background-color: #e67e22 !important;
    color: #fff !important;
    border: none;
}

.btn-terracota:hover,
.btn-terracota:focus {
    background-color: #d66f1f !important;
    color: #fff !important;
}

.bg-marinho {
    background-color: #2c3e50 !important;
    /* Exemplo de cor marinho */
}

.text-marinho {
    color: #2c3e50 !important;
}

.btn-marinho {
    background-color: #2c3e50 !important;
    color: #fff !important;
    border: none;
}

.btn-marinho:hover,
.btn-marinho:focus {
    background-color: #1a252f !important;
    color: #fff !important;
}

.logo-login {
    font-size: 24px;
    color: #2c3e50;
    text-decoration: none;
    font-weight: 700;
    position: relative;
    transition: color 0.3s ease;
}

.logo-login::after {
    content: '';
    display: block;
    width: 80px;
    height: 4px;
    background-color: #e67e22;
    margin: 15px auto 0;
}

.link-animado {
    color: #e67e22;
    text-decoration: none;
    font-weight: 600;
    position: relative;
    transition: color 0.3s ease;
}

.link-animado::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -3px;
    width: 100%;
    height: 2px;
    background-color: #e67e22;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.3s ease;
}

.link-animado:hover {
    text-decoration: none;
    color: #d35400;
}

.link-animado:hover::after {
    transform: scaleX(1);
    transform-origin: left;
}

.btn {
    border-radius: 1.5rem !important;
}

.fw-bold {
    color: gray;
}

.bold {
    color: gray;
}

.card {
    border-radius: 1rem !important;
}

.card-header {
    border-radius: 1rem !important;
}

.search {
    border-radius: 1rem 0rem 0rem 1rem !important;
}

.modal-content {
    border-radius: 1rem !important;
}

input {
    border-radius: 1.5rem !important;
}

select {
    border: 1px solid #ccc;
    border-radius: 1rem;
    color: gray;
    padding: 3px;
}

.form-select {
    border-radius: 1rem !important;
}

.page-link {
    z-index: 3;
    color: #e67e22;
}

.page-link:hover {
    z-index: 3;
    color: #e67e22;
}

.page-item.active .page-link {
    z-index: 3;
    color: #fff;
    background-color: #e67e22;
    border-color: #e67e22;
}

.page-item:first-child .page-link {
    border-radius: 1rem 0rem 0rem 1rem !important;
}

.page-item:last-child .page-link {
    border-radius: 0rem 1rem 1rem 0rem !important;
}


.bg-terracota {
    background-color: #e67e22 !important;
    /* Exemplo de cor terracota */
}

.text-terracota {
    color: #e67e22 !important;
}

.btn-terracota {
    border-radius: 40px;
    font-weight: 500;
    background-color: #e67e22 !important;
    color: #fff !important;
    border: none;
}

.bg-marinho {
    background-color: #2c3e50 !important;
    /* Exemplo de cor marinho */
}

.text-marinho {
    color: #2c3e50 !important;
}

.btn-marinho {
    border-radius: 40px;
    font-weight: 500;
    background-color: #2c3e50 !important;
    color: #fff !important;
    border: none;
}

.btn-marinho:hover,
.btn-marinho:focus {
    background-color: #1a252f !important;
    color: #fff !important;
}

.accordion,
.accordion-collapse,
.accordion-item,
.accordion-header,
.collapse,
.accordion-button,
.accordion-body {
    border-radius: 30px !important;
}

.link-animado {
    color: #e67e22;
    text-decoration: none;
    font-weight: 400;
    position: relative;
    transition: color 0.3s ease;
}

.link-animado::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -3px;
    width: 100%;
    height: 2px;
    background-color: #e67e22;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.3s ease;
}

.link-animado:hover {
    text-decoration: none;
    color: #d35400;
}

.link-animado:hover::after {
    transform: scaleX(1);
    transform-origin: left;
}

.footer-md {
    padding: 20px 0;
    text-align: center;
    font-size: 0.870rem;
}

.card {
    border-radius: 20px !important;
}

.card-header {
    font-size: 1.25rem;
    color: #2c3e50 !important;
    background-color: #fff;
    border-radius: 20px !important;
}

.table {
    border-collapse: separate !important;
    /* sobrepõe Bootstrap */
    border-spacing: 0;
    border-radius: 20px;
    overflow: hidden;
}

/* Cabeçalho com cantos arredondados no topo */
.table thead th:first-child {
    border-top-left-radius: 20px;
}

.table thead th:last-child {
    border-top-right-radius: 20px;
}

/* Rodapé com cantos arredondados na base */
.table tfoot th:first-child {
    border-bottom-left-radius: 20px;
}

.table tfoot th:last-child {
    border-bottom-right-radius: 20px;
}

.table th {
    font-weight: 600;
    /* Negrito médio para o cabeçalho */
    color: #2c3e50;
    /* Tom escuro mas não preto */
    letter-spacing: 0.03em;
    /* Espaço entre letras, opcional */
    background-color: #f8f9fa;
    /* Fundo mais claro, ajuda na separação */
}

.table td {
    font-weight: 400;
    /* Peso normal para os dados */
    color: #4a4a4a;
    /* Cor padrão para o texto */
}

.data-calendario-span {
    border-top-left-radius: 1.5rem !important;
    border-top-right-radius: 0rem !important;
    border-bottom-left-radius: 1.5rem !important;
    border-bottom-right-radius: 0rem !important;
}

.data-calendario-input {
    border-top-left-radius: 0rem !important;
    border-top-right-radius: 1.5rem !important;
    border-bottom-left-radius: 0rem !important;
    border-bottom-right-radius: 1.5rem !important;
}

textarea.form-control {
    height: 150px;
    border-radius: 20px !important;
    resize: vertical;
}

.nav-link:hover {
    color: #e67e22 !important;
}

.alert{
    border-radius: 2rem !important;
}