:root {
    --tt-primary: #004aad;
    --tt-secondary: #d72d1d;
    --tt-medium: #f3847a;
    --tt-dark: #2b2b2b;
    --tt-light: #f8f9fb;
}

.btn-tp {
    background: var(--tt-secondary);
    border: 2px solid var(--tt-secondary);
    color: #fff;
}

.btn-tp:hover {
    border: 2px solid var(--tt-secondary);
    background-color: transparent;
    color: var(--tt-secondary);
}

.btn-tt {
    background: var(--tt-secondary);
    border: 2px solid var(--tt-secondary);
    color: #fff;
}

.btn-tt:hover {
    border: 2px solid var(--tt-secondary);
    background-color: transparent;
    color: var(--tt-secondary);
}

.btn-tt-outline {
    border: 2px solid var(--tt-light);
    color: var(--tt-light);
    background: transparent;
}

.btn-tt-outline:hover {
    background: var(--tt-light);
    color: var(--tt-dark);
}

.text-tp {
    color: var(--tt-primary)
}

.text-tt {
    color: var(--tt-secondary)
}

.bg-tt {
    background: var(--tt-primary);
}

.bg-tt-soft {
    background: var(--tt-light);
}

.accent-bar {
    width: 100px;
    height: 4px;
    background: linear-gradient(90deg, var(--tt-primary), var(--tt-secondary));
    border-radius: 2px;
}

.shadow-soft {
    box-shadow: 0 8px 24px rgba(0, 0, 0, .06)
}

.rounded-2xl {
    border-radius: 1.25rem;
}

.nav-link {
    font-weight: 600
}

.navbar {
    box-shadow: 0 4px 18px rgba(0, 0, 0, .04)
}

.navbar img {
    max-width: 110px;
}

.hero {
    background: url('imgs/hero.jpg') center/cover no-repeat;
    color: #fff;
    position: relative;
}

.hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
}

.hero .container {
    position: relative;
    z-index: 1;
}

#sobre .sobre-img {
    position: relative;
    margin: 30px 30px 30px 30px;
}

#sobre .sobre-img video {
    width: 100%;
    border: 8px solid var(--tt-light);
    transition: 0.5s;
}

#sobre .sobre-img video:hover {
    width: 100%;
    transform: scale(1.03);
}

#sobre .sobre-img::before {
    position: absolute;
    left: -31px;
    top: -30px;
    width: 90%;
    height: 92%;
    z-index: -1;
    content: "";
    background-color: var(--tt-medium);
    transition: 0.5s;
}

#sobre .sobre-img::after {
    position: absolute;
    right: -31px;
    bottom: -30px;
    width: 90%;
    height: 92%;
    z-index: -1;
    content: "";
    background-color: var(--tt-medium);
    transition: 0.5s;
}

@media (max-width: 768px) {
    #sobre .sobre-content img {
        width: 90%;
        margin-left: 5%;
        float: center;
    }
}

.feature-icon {
    width: 56px;
    height: 56px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: rgba(137, 197, 64, .12);
}

.badge-brand {
    background: rgba(189, 13, 13, 0.5);
    color: var(--tt-light);
    border: 1px solid var(--tt-secondary);
}

.whatsapp-fab {
    position: fixed;
    right: 16px;
    bottom: 16px;
    z-index: 1030;
    display: flex;
    flex-direction: column;
    gap: .5rem
}

.whatsapp-fab .btn {
    border-radius: 999px;
    padding: .75rem 1rem
}

.card img {
    width: 100%;
    height: 220px
}

.accordion-button:not(.collapsed) {
    color: var(--tt-light) !important;
    background-color: var(--tt-medium) !important;
    box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--tt-secondary) !important;
}

.accordion-button:not(.collapsed) {
    color: var(--tt-secondary);
    background-color: var(var(--tt-medium));
}

.logo-placeholder {
    width: 140px;
    height: auto
}

footer {
    background-color: var(--tt-primary);
    color: var(--tt-light);
}

footer a {
    text-decoration: none;
    color: var(--tt-light)
}

/*
==============================================
  NOVOS ESTILOS PARA NAVBAR E LINKS
==============================================
*/

/* Transição suave para a navbar e a logo */
.navbar {
    transition: padding 0.3s ease-in-out;
}

.navbar .navbar-brand img {
    transition: max-width 0.3s ease-in-out;
}

/* Estilos da navbar quando a página é rolada */
.navbar.navbar-scrolled {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    box-shadow: 0 6px 20px rgba(0, 0, 0, .08);
}

.navbar.navbar-scrolled .navbar-brand img {
    max-width: 90px;
    /* Novo tamanho da logo ao rolar */
}


/*
==============================================
  NOVO ESTILO PARA O LINK ATIVO
==============================================
*/

/* Estilo para o link ativo (efeito de "quadrado") */
.navbar-nav .nav-link.active,
.navbar-nav .nav-link:hover {
    background-color: var(--tt-primary);
    /* Cor de fundo do quadrado (azul primário) */
    color: #fff !important;
    /* Força o texto a ficar branco */
    border-radius: 0.5rem;
    /* Bordas arredondadas para o quadrado */
}

/* Adiciona uma transição suave para o efeito de fundo e cor */
.navbar-nav .nav-link {
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* Garante que o link ocupe o espaço vertical e tenha preenchimento */
@media (min-width: 992px) {
    .navbar-nav .nav-item {
        margin: 0 0.25rem;
    }

    .navbar-nav .nav-link {
        padding-top: 1rem;
        padding-bottom: 1rem;
    }
}

/*--------------------------------------------------------------
# Clients Section
--------------------------------------------------------------*/
.clients {
    padding: 15px 0;
}

.clients .swiper {
    padding: 10px 0;
}

.clients .swiper-wrapper {
    height: auto;
}

.clients .swiper-slide img {
    transition: 0.3s;
}

.clients .swiper-slide img:hover {
    transform: scale(1.1);
}