:root {
    --cheery-primary: #727cf5;
    --cheery-primary-light: #a8afff;
    --cheery-secondary: #c9ccd6;
    --cheery-success: #b3f0c7;
    --cheery-warning: #ffe8a3;
    --cheery-danger: #ffb6b9;
    --cheery-info: #b5e3f2;
    --cheery-dark: #6a6d8f;
}

.feather-sm {
    width: 14px;
    height: 14px;
}

.fs-6 {
    font-size: 0.80rem !important;
}

.hidden {
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transition: opacity 0.5s ease-out, max-height 0.5s ease-out;
}

.visible {
    opacity: 1;
    max-height: 500px;
    /* Ajuste conforme necessário */
    transition: opacity 0.5s ease-in, max-height 0.5s ease-in;
}


#simulationForm label {
    display: block;
    box-shadow: 2px 2px 5px rgba(0, 115, 187, 0.2);
    border-radius: 15px;
    padding: 15px;
    background-color: #e3e8ed;
    text-align: center;
    color: black;
    transition: box-shadow 0.3s ease-in-out;
}

#simulationForm label.info-customer {
    background-color: transparent;
    color: #ffffff !important;
    box-shadow: none;
    padding-bottom: 0;
    text-align: left;
}

#simulationForm input.info-customer,
textarea.info-customer {
    background-color: transparent;
    border-color: #ffffff;
    color: #ffffff !important;

}

#simulationForm input.info-customer:focus,
textarea.info-customer:focus {
    background-color: rgba(255, 255, 255, 0.2);
    border-color: #ffffff;
    color: #ffffff !important;
}

#simulationForm label.form-check-label {
    cursor: pointer;
}

#simulationForm label img {
    filter: grayscale(0%);
    opacity: 1;
}

#simulationForm label.selected img {
    filter: grayscale(0%);
    opacity: 1;
}

#simulationForm label.unselected img {
    filter: grayscale(60%) !important;
    opacity: 0.7 !important;
}

#simulationForm label.unselected {
    background-color: #ffffff;

    color: #6c757d;
}

#simulationForm label.selected {
    box-shadow: 3px 3px 6px rgba(0, 115, 187, 0.5);
    color: black;

}

/* Opções de equipamento mais compactas no simulador do backoffice. */
#simulationForm #equipmentOptionsContainer .equipment-option {
    padding: 8px;
    border-radius: 10px;
    line-height: 1.15;
}

#simulationForm #equipmentOptionsContainer .equipment-option > img {
    width: 100%;
    height: 65px;
    object-fit: contain;
    margin-bottom: 4px !important;
}

#simulationForm #equipmentOptionsContainer .equipment-option > .mb-1 {
    margin-bottom: 2px !important;
    font-size: 0.85rem;
    line-height: 1.15;
}

#simulationForm #equipmentOptionsContainer .equipment-option small.text-muted {
    display: -webkit-box !important;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    font-size: 0.72rem;
    line-height: 1.15;
}

#simulationForm #equipmentOptionsContainer .equipment-option p {
    margin-top: 3px !important;
    line-height: 1;
}


#simulationForm label.form-label-price-list{
    display: block;
    box-shadow: none;

    padding: 2px;
    background-color:transparent;
    text-align: center;
    color: black;
    transition: box-shadow 0.3s ease-in-out;
}

#simulationForm input[type="radio"] {
    display: none;
}

.btn-outline-primary {
    color: #0073bb;
    border-color: #0073bb;
}

.btn-outline-primary:hover {
    color: #ffffff;
    background-color: #0073bb;
    border-color: #0073bb;
}

.list-style-4 {
    list-style: none;
    margin: 0;
    padding: 0;
}

.list-style-4 li {
    position: relative;
    padding: 0 0 10px 22px;
    margin: 0 0 10px 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.list-style-4 li:before {
    content: "\f00c";
    position: absolute;
    top: 1px;
    left: 0;
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 16px;
}

.list-style-4 li:last-child {
    border-bottom: 0;
}

.list-style-4.list-style-color li {
    border-color: rgba(255, 255, 255, .15);
}

.list-style-4.list-style-color li:before {
    color: var(--base-color);
}

.dropdown-toggle::after {
    display: none;
}

.fa-chevron-down:before {
    display: inline-block;
    font-family: 'Font Awesome 6 Free';
    content: "\f078";
    font-weight: 900;
    border: 0;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0 0 0 4px;
    font-size: 0.6rem;
}

.fs-6 {
    font-size: 0.80rem !important;
}

.pagination .page-item .page-link {
    font-size: 0.80rem !important;
}
#DataTables_Table_0_info {
    font-size: 0.80rem !important;
}
.page-item.active .page-link{
    background-color: #727cf5 !important;
    border-color: #727cf5 !important;
}



/* Generic style for outline buttons */
.btn-outline-primary {
    color: var(--cheery-primary);
    border-color: var(--cheery-primary-light);
}
.btn-outline-primary:hover,
.btn-outline-primary.active {
    background-color: var(--cheery-primary-light);
    color: #fff;
}

.btn-outline-secondary {
    color: var(--cheery-dark);
    border-color: var(--cheery-secondary);
}
.btn-outline-secondary:hover,
.btn-outline-secondary.active {
    background-color: var(--cheery-secondary);
    color: #000;
}

.btn-outline-success {
    color: #198754;
    border-color: var(--cheery-success);
}
.btn-outline-success:hover,
.btn-outline-success.active {
    background-color: var(--cheery-success);
    color: #000;
}

.btn-outline-warning {
    color: #a98200;
    border-color: var(--cheery-warning);
}
.btn-outline-warning:hover,
.btn-outline-warning.active {
    background-color: var(--cheery-warning);
    color: #000;
}

.btn-outline-danger {
    color: #b02a37;
    border-color: var(--cheery-danger);
}
.btn-outline-danger:hover,
.btn-outline-danger.active {
    background-color: var(--cheery-danger);
    color: #000;
}

.btn-outline-info {
    color: #0a6c86;
    border-color: var(--cheery-info);
}
.btn-outline-info:hover,
.btn-outline-info.active {
    background-color: var(--cheery-info);
    color: #000;
}

.btn-outline-dark {
    color: var(--cheery-dark);
    border-color: var(--cheery-dark);
}
.btn-outline-dark:hover,
.btn-outline-dark.active {
    background-color: var(--cheery-dark);
    color: #fff;
}

/* Subtle glow for active filters */
.btn.active {
    box-shadow: 0 0 0 0.2rem rgba(114, 124, 245, 0.25);
}

.form-label {
    margin-bottom: 0.35rem;
    font-size: 0.875rem;
    font-weight: 600;
}

.form-control,
.form-select {
    min-height: 38px;
}

.card-title {
    font-size: 1.1rem;
}

.tab-content {
    background-color: #fff;
}

.tox-tinymce {
    min-height: 220px !important;
}
.list-equipment-simulation {
    padding: 0.25rem 1.25rem;
}
.table.equipments-table td{
    padding: 0.35rem;
    line-height: 0.2;
    font-size: 0.83rem;
}
.table.equipments-table th{
    padding: 0.75rem 0.35rem;
    line-height: 0.2;
    font-size: 0.83rem;
}
.table.equipments-table tfoot td{
    padding: 0.75rem 0.35rem;
    line-height: 0.2;
    font-size: 0.83rem;
}