/* Estilos básicos para boxes de serviço */
.service-box {
    padding: 30px;
    border-radius: 5px;
    height: 100%;
    transition: all 0.4s ease;
    position: relative;
    overflow: visible; /* Para evitar cortes nas animações */
    z-index: 1;
    will-change: transform; /* Melhora o desempenho da animação */
}

.service-box:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
}

/* Efeito de cor ao passar o mouse */
.service-box:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(120deg, rgba(14, 42, 56, 0.05) 0%, rgba(14, 42, 56, 0.15) 100%);
    z-index: -1;
    opacity: 0;
    transition: opacity 0.4s ease;
    border-radius: 5px;
}

.service-box:hover:before {
    opacity: 1;
}

/* Estilo para o título do serviço */
.service-box h5 {
    margin-bottom: 15px;
    font-size: 18px;
    transition: color 0.3s ease;
    position: relative;
    z-index: 2;
}

.service-box:hover h5 {
    color: #0e2a38;
}

/* Assegurar que todo o conteúdo esteja visível */
.service-box p, .service-box .service-btn {
    position: relative;
    z-index: 2;
}

/* Botão de serviço */
.service-btn {
    margin-top: 20px;
}

.btn-text {
    display: inline-block;
    color: #0e2a38;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    position: relative;
    transition: all 0.3s ease;
    padding-bottom: 2px;
}

.btn-text:after {
    content: '';
    position: absolute;
    width: 0;
    height: 2px;
    bottom: 0;
    left: 0;
    background-color: #0e2a38;
    transition: width 0.3s ease;
}

.btn-text:hover {
    color: #FF5733;
}

.btn-text:hover:after {
    width: 100%;
    background-color: #FF5733;
}

.btn-text i {
    margin-left: 5px;
    transition: transform 0.3s ease;
    display: inline-block; /* Garante que a animação do ícone funcione corretamente */
}

.btn-text:hover i {
    transform: translateX(5px);
}

/* Estilo para os itens de serviço detalhados */
.service-item {
    margin-bottom: 30px;
    padding: 15px;
    border-radius: 5px;
    transition: all 0.4s ease;
    position: relative;
    overflow: visible;
}

.service-item:hover {
    background-color: #f6f6f6;
    transform: translateY(-3px);
}

.service-item h5 {
    margin-bottom: 10px;
    font-size: 18px;
    transition: color 0.3s ease;
    position: relative;
    z-index: 2;
}

.service-item:hover h5 {
    color: #FF5733;
}

.service-item p {
    margin-bottom: 20px;
    position: relative;
    z-index: 2;
}

/* Estilo para listas em serviços - CORREÇÃO */
.service-details-inner .liststyle.bullet li {
    transition: all 0.3s ease;
    position: relative;
    padding-left: 20px; /* Aumentar o padding inicial para evitar sobreposição */
    margin-bottom: 10px; /* Espaçamento entre itens */
    transform-origin: left center;
    overflow: visible; /* Garantir que o conteúdo não seja cortado */
}

.service-details-inner .liststyle.bullet li:before {
    content: ''; /* Usar um bullet customizado */
    position: absolute;
    left: 5px; /* Posicionamento do bullet */
    top: 0;
    color: inherit;
    transition: all 0.3s ease;
}

.service-details-inner .liststyle.bullet li:hover {
    color: #FF5733;
    transform: translateX(5px);
    padding-left: 25px; /* Aumentar padding no hover para evitar corte */
}

.service-details-inner .liststyle.bullet li:hover:before {
    left: 10px; /* Movimentar o bullet junto */
}

/* Cores e estilos básicos */
.bg-color-gray {
    background-color: #f6f6f6;
}

.text-left {
    text-align: left;
}

/* Links para landing pages na página inicial */
.landing-links {
    font-size: 14px;
    font-weight: 500;
    overflow: visible;
    padding: 5px 0;
}

.landing-links a {
    color: #0e2a38;
    text-decoration: none;
    transition: color 0.3s ease;
    position: relative;
    padding-bottom: 2px;
    display: inline-block;
}

.landing-links a:after {
    content: '';
    position: absolute;
    width: 0;
    height: 1px;
    bottom: 0;
    left: 0;
    background-color: #FF5733;
    transition: width 0.3s ease;
}

.landing-links a:hover {
    color: #FF5733;
}

.landing-links a:hover:after {
    width: 100%;
}

.mr-3 {
    margin-right: 15px;
}

/* Botões outline */
.btn-sm {
    display: inline-block;
    padding: 5px 15px;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.btn-outline-primary {
    color: #0e2a38;
    border: 1px solid #0e2a38;
}

.btn-outline-primary:hover {
    background-color: #0e2a38;
    color: #fff;
}

.mt-2 {
    margin-top: 10px;
}

/* Modo escuro */
.active-dark .bg-color-gray {
    background-color: #1e2125;
}

.active-dark .service-box:hover {
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.25);
}

.active-dark .service-box:before {
    background: linear-gradient(120deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.1) 100%);
}

.active-dark .service-item:hover {
    background-color: #1e2125;
}

.active-dark .service-box:hover h5,
.active-dark .service-item:hover h5 {
    color: #FF5733;
}

.active-dark .service-details-inner .liststyle.bullet li:hover {
    color: #FF5733;
    background-color: rgba(255, 255, 255, 0.05); /* Sutil destaque no modo escuro */
    border-radius: 3px;
}

.active-dark .btn-outline-primary {
    color: #fff;
    border: 1px solid #fff;
}

.active-dark .btn-outline-primary:hover {
    background-color: rgba(255, 255, 255, 0.1);
    color: #fff;
}

.active-dark .btn-text {
    color: #fff;
}

.active-dark .btn-text:after {
    background-color: #fff;
}

.active-dark .btn-text:hover {
    color: #FF5733;
}

.active-dark .btn-text:hover:after {
    background-color: #FF5733;
}

.active-dark .landing-links a {
    color: #fff;
}

.active-dark .landing-links a:hover {
    color: #FF5733;
}

@media (max-width: 767px) {
    .service-box {
        margin-bottom: 20px;
    }
}
