/* Estilos para elementos específicos */
.logo-scroll {
    display: none;
}

.header.scrolled .logo-default {
    display: none;
}

.header.scrolled .logo-scroll {
    display: inline;
}

.circle-icon.circle-icon-link {
    background-color: var(--cor-primaria);
    color: white !important;
}

.circle-icon {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.25s ease-in-out;
    border: 0;
    font-size: 1.125rem;
}

button {
    -webkit-appearance: button;
}

.dark-background {
    --background-color: var(--cor-secundaria);
    --default-color: #ffffff;
    --heading-color: #ffffff;
    --surface-color: #252525;
}

.btn {
    padding: .625rem 1rem;
    font-size: var(--bs-body-font-size);
    font-weight: 400;
    text-decoration: none
}

.btn.btn-uppercase {
    text-transform: uppercase;
    font-size: .95rem;
    letter-spacing: .115rem;
    padding: .72rem 1rem
}

.btn-primary {
    --bs-btn-bg: var(--cor-primaria);
    --bs-btn-border-color: var(--cor-primaria);
    --bs-btn-hover-bg: var(--cor-secundaria);
    --bs-btn-hover-border-color: var(--cor-secundaria);
    --bs-btn-focus-shadow-rgb: 58, 224, 233;
    --bs-btn-active-bg: var(--cor-secundaria);
    --bs-btn-active-border-color: var(--cor-secundaria);
    --bs-btn-disabled-bg: var(--cor-primaria);
    --bs-btn-disabled-border-color: var(--cor-primaria);
}

.btn-custom:hover {
    background-color: var(--cor-secundaria);
}

.btn-video-play {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    box-sizing: content-box;
    width: 74px;
    height: 74px;
    padding-left: 5px;
    border-radius: 50%
}

.btn-video-play::before,
.btn-video-play::after {
    content: "";
    position: absolute;
    display: inline-block;
    width: 64px;
    height: 64px;
    background: var(--cor-primaria);
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: all 0.25s ease-in-out;
    z-index: 0
}

.btn-video-play::before {
    animation: pulse-border 1500ms ease-out infinite
}

.btn-video-play:hover::before,
.btn-video-play:hover::after {
    opacity: .55
}

.btn-video-play span {
    display: block;
    width: 0;
    height: 0;
    border-left: 16px solid #fff;
    border-top: 10px solid #fff0;
    border-bottom: 10px solid #fff0;
    position: relative;
    z-index: 3
}

.btn-video-play.btn-video-play-sm {
    width: 56px;
    height: 56px
}

.btn-video-play.btn-video-play-sm::before,
.btn-video-play.btn-video-play-sm::after {
    width: 48px;
    height: 48px
}

.btn-video-play.btn-video-play-sm span {
    border-left: 12px solid #fff;
    border-top: 8px solid #fff0;
    border-bottom: 8px solid #fff0
}

@keyframes pulse-border {
    0% {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1)
    }

    to {
        opacity: 0;
        transform: translate(-50%, -50%) scale(1.5)
    }
}

.btn-facebook,
.btn-google {
    background-color: var(--bs-light-gray);
    border-color: var(--bs-border-color)
}

.btn-facebook:hover,
.btn-facebook:focus,
.btn-google:hover,
.btn-google:focus {
    border-color: var(--bs-border-color)
}

.btn {
    padding: .625rem 1rem;
    font-size: var(--bs-body-font-size);
    font-weight: 400;
    text-decoration: none;
}

.logo-container {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    border: 5px solid #fff;
    box-shadow: 0 0 0 4px var(--cor-primaria);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    margin: 0 auto 20px;
}

.logo {
    width: 100%;
    height: auto;
}

.social-icons {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-top: 20px;
}

.social-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: var(--cor-primaria);
    /* Cor primária padrão */
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    text-decoration: none;
    transition: background-color 0.3s ease;
    /* Suaviza a troca da cor */
}

.social-icon:hover {
    background-color: var(--cor-secundaria);
    /* Agora com hífen, certo */
}

.social-icon i {
    margin: 0;
}

/* Estilos para elementos específicos */
.logo-scroll {
    display: none;
}

.header.scrolled .logo-default {
    display: none;
}

.header.scrolled .logo-scroll {
    display: inline;
}

.circle-icon.circle-icon-link {
    background-color: var(--cor-primaria);
    color: white !important;
}

.circle-icon {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.25s ease-in-out;
    border: 0;
    font-size: 1.125rem;
}

button {
    -webkit-appearance: button;
}

.dark-background {
    --background-color: var(--cor-secundaria);
    --default-color: #ffffff;
    --heading-color: #ffffff;
    --surface-color: #252525;
}