@import url("../fonts/bootstrap-icons.woff");
@import url("../fonts/bootstrap-icons.woff2");

:root {
    --primary-color: #D9001A;
    --primary-color-bg: #D9001A;
    --primary-color-hover: #C00117;
    --neutral-color-gray: #FAFAFA;
    --neutral-color-white: #FFFFFF;
    --neutral-color-black: #333333;

    --card-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);

    --bg-primary-color: #F5F6FA;
    --bg-accordion: rgba(253, 74, 74, 0.07);
}

body {
    background: var(--neutral-color-gray);

    /* Ajustes para espaçamento quando o menu estiver fixo */
    padding-top: 72px;
    /* Ajuste conforme a altura do menu */

    font-family: "Nunito", sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Georama", sans-serif;
}

h1, h2 {
    font-size: 3.5rem;
}

/* Estilo base para os pseudo-elementos */
h1::after,
h2::after {
    content: '';
    display: block;
    width: 0;
    /* Começamos com largura zero */
    height: 4px;
    background: var(--primary-color);
    margin: 8px 0;
    border-radius: 8px;
    transition: width 0.6s ease-out;
    /* Adicionamos a transição à propriedade width */
}

/* Quando o elemento h1/h2 entra na viewport ou recebe foco/hover */
h1:hover::after,
h2:hover::after,
h1.visible::after,
h2.visible::after {
    width: 3.3rem;
    /* Expandimos para a largura final */
}

/* Aplicando a animação automaticamente */
h1.auto-animate::after,
h2.auto-animate::after {
    animation: expandWidth 0.8s ease-out forwards;
}

#beneficios h2::after,
#parceiros h2::after,
#como-funciona h2::after,
#faq h2::after,
#contato h2::after {
    margin: 8px auto;
}
.custom-tooltip {
  --bs-tooltip-bg: var(--neutral-color-black);
  --bs-tooltip-color: var(--neutral-color-white);
}

.accent-color {
    color: var(--primary-color);
}

.telefone {
    font-size: 1.5rem;
    color: var(--primary-color);

}
.telefone a{
    text-decoration: none;
}

#menu {
    background: var(--neutral-color-white);
}

/* Estilos para o menu */
.navbar {
    transition: all 0.3s ease;
    background-color: white;
}

.navbar-shrink {
    padding-top: 0rem !important;
    padding-bottom: 0rem !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.navbar-shrink .navbar-brand img {
    transition: all 0.3s ease;
    transform: scale(0.85);
}

.navbar-nav .nav-link {
    color: var(--neutral-color-black);
    font-size: .875rem;
    font-weight: 500;
    padding: 0.5rem 1rem;
    transition: color 0.3s ease;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active {
    color: var(--primary-color);
}

.nav-cta {
    font-size: .875rem;;
    font-weight: 700;
    --bs-btn-color: var(--neutral-color-white);
    background: var(--primary-color-bg);
    border: var(--primary-color);
    padding: 10px 24px;
    transition: all 0.3s ease;
}

.nav-cta:hover {
    background: var(--primary-color-hover);
}

.navbar-shrink .nav-cta {
    padding: 0.4rem 1.2rem;
}

.navbar-collapse .collapse .show {
    text-align: end;
}

.nav-cta .btn-check:checked+.btn,
.btn.active,
.btn.show,
.btn:first-child:active,
:not(.btn-check)+.btn:active {
    background-color: var(--primary-color-hover);
}

/* Estilo para o menu fixo */
.fixed-top {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1030;
}

/*Banner*/

.carousel-item {
    position: relative;
}

.banner-image {
    position: relative;
    width: 100%;
}

.banner-image img {
    width: 100%;
}

.banner-overlay {
    position: absolute;
    top: 0;
    left: 0;
    margin-right: -10px !important;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
}

.banner-titulo{
    margin-top:200px;
    font-size: 2.5rem;
    font-weight: 700;
}

.banner-titulo::after{
    display: none;
}

.banner-content {
    color: var(--neutral-color-white);
}

.banner-copy {
    font-size: 1.25rem;
    font-weight: 400;
}

.banner-cta {
    font-size: .875rem;
    font-weight: 500;
    background: var(--neutral-color-white);
    padding: 0.5rem 1.5rem;
    transition: all 0.3s ease;
}

.banner-cta:hover {
    color: var(--primary-color);
    background: var(--neutral-color-white);
}

.carousel-control-next, .carousel-control-prev {
    width: unset;
}

.carousel-control-prev {
    left: 5%;
}

.carousel-control-next {
    right: 5%;
}

/*Diferenciais*/

#diferenciais h3 {
    font-size: 1rem;
}

#diferenciais,
#depoimentos {
    overflow: hidden;
}

#diferenciais .swiper-slide {
    height: auto;
    /*padding: 2rem;*/
    background: var(--neutral-color-white);
    box-shadow: var(--card-box-shadow);
    text-align: center;
    transition: all 0.3s ease;
}

#diferenciais .swiper-slide:hover {
    transform: translateY(-5px)
}

#diferenciais .swiper-slide:hover i {
    transform: rotate(-30deg) translate(4px, 0);
}

#diferenciais .swiper-slide a {
    text-decoration: none;
    color: var(--neutral-color-black);
}

.cta-beneficio {
    color: var(--primary-color);
    font-size: .75rem;
    font-weight: 500;
    text-decoration: none;
    letter-spacing: .05rem;
    padding: 4px 14px 4px 14px;
    margin-bottom: 0;
    display: inline-flex;
    align-items: center;
    transition: 0.3s
}

.cta-beneficio:hover {
    color: var(--primary-color-hover);
}

.cta-beneficio i {
    font-size: 1rem !important;
    margin-left: 5px;
    transition: transform .4s ease;
    transform: rotate(-30deg);
    position: relative;
}

.icon-wrapper {
    width: 32px;
}

.btn-slide {
    border-radius: 50%;
    padding: .5rem .75rem;
    color: var(--neutral-color-white);
    background: var(--primary-color-bg);
    border-color: var(--primary-color-bg);
    transition: all .3s linear 0s;
}

.btn-slide:hover {
    color: var(--neutral-color-white);
    background: var(--primary-color-hover);
    border-color: var(--primary-color-hover);
    transition: all .3s linear 0s;
}

.cta-link-secondary {
    font-weight: 500;
    letter-spacing: .05rem;
    color: var(--primary-color);
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.cta-link-secondary i {
    font-size: 1.75rem !important;
    margin-left: 5px;
    transition: transform .4s ease;
    position: relative;
}

.cta-link-secondary:hover i {
    transform: translate(6px);
}

.beneficio-card {
    min-height: 250px;
    height: 100%;
    transition: all 0.3s ease;
    box-shadow: var(--card-box-shadow);
}

.beneficio-card h3 {
    font-size: 1.5rem;
}

.beneficio-card:hover {
    transform: translateY(-5px);
}

.beneficio-icon {
    color: var(--primary-color);
    font-size: 2rem;
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background-color: rgba(160, 23, 20, 0.05);
    margin: 0 auto 1rem;
    transition: all 0.3s ease;
}

.beneficio-card:hover .beneficio-icon {
    background-color: var(--primary-color);
    color: var(--neutral-color-white);
    transform: scale(1.1);
}

.icon-lg {
    font-size: 1.5rem;
    color: var(--primary-color);
    transition: all 0.3s ease;
}

.beneficio-card:hover .icon-lg {
    color: var(--neutral-color-white);
}

.parceiros {
    background-color: var(--primary-color);
}

.parceiros .container {
    background: var(--neutral-color-white)
}

.parceiros-logo {
    padding: 1.5rem;
    transition: transform 0.3s ease;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 150px;
}

.parceiros-logo:hover {
    transform: scale(1.05);
}

.parceiros-img {
    width: 250px;
    height: auto;
    object-fit: contain;
    filter: grayscale(100%);
    opacity: 0.7;
    transition: all 0.3s ease;
}

.parceiros-img:hover {
    filter: grayscale(0%);
    opacity: 1;
}

/*Seção - Como funciona*/

#como-funciona h3 {
    font-size:  1.25rem;
}

.line {
    width: 6px;
    position: absolute;
    top: 18px;
    bottom: 0;
    z-index: 0;
    /* Aplicando o gradiente que vai de rosa sólido até rosa claro (transparente) */
    background: linear-gradient(to bottom, var(--primary-color) 0%, rgba(8, 158, 57, 0.05) 100%);
}

.registration__stepper-title {
    font-weight: 600;
}

.ms-4 {
    margin-left: 1.5rem;
}

.box {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 48px;
    height: 48px;
    border-radius: 12% !important;
    background-color: var(--neutral-color-white);
    box-shadow: var(--card-box-shadow);
}

.step-icon {
    position: relative;
    z-index: 1;
}

.step-icon i {
    font-size: 20px;
    color: var(--primary-color);
}

/* Estilos para animação */
.step-item {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}

.step-item.visible {
    opacity: 1;
    transform: translateY(0);
}

.step-number {
    transition: transform 0.3s ease, background-color 0.3s ease;
}

.step-item.visible .step-number {
    transform: scale(1.1);
}

.step-item.visible .line {
    animation: growLine 1s ease forwards;
}

@keyframes growLine {
    from {
        height: 0;
    }

    to {
        height: 100%;
    }
}

.line {
    height: 0;
}

/* Depoimentos */

#depoimentos h3 {
    font-size: 1.25rem;
}

.testimonial-card {
    height: 100%;
    border-radius: 15px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease-in-out;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.testimonial-card:hover {
    transform: translateY(-5px);
}

.testimonial-content {
    flex: 1;
    padding: 25px 25px 0 25px;
    background-color: #fff;
}

.testimonial-text {
    font-style: italic;
    font-size: 1rem;
    line-height: 1.6;
    color: #555;
    position: relative;
    padding-left: 20px;
    border-left: 3px solid var(--primary-color);
}

.testimonial-footer {
    padding: 15px 25px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #FFFFFF;
}

.client-info {
    display: flex;
    align-items: center;
}

.client-details h5 {
    margin-bottom: 0;
    font-weight: 600;
    font-size: 1rem;
    color: #333;
}

.client-profession {
    margin: 0;
    color: #6c757d;
    font-size: 0.85rem;
}

.rating {
    color: #ffc107;
}

.depoimentos-container {
    position: relative;
    padding: 20px 0;
}

.swiper-navigation {
    position: absolute;
    top: -60px;
    right: 0;
    display: flex;
    gap: 10px;
}

.swiper-slide {
    height: auto;
}

.accordion-item {
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 1rem;
    border: 1px solid rgba(0, 0, 0, .125);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
}

.accordion-item:hover {
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.accordion-button {
    font-weight: 600;
    padding: 1.25rem 1.5rem;
}

.accordion-button:not(.collapsed) {
    background-color: var(--bg-accordion);
    color: var(--primary-color);
}

.accordion-button:focus {
    box-shadow: none;
    border-color: rgba(0, 0, 0, .125);
}

.accordion-body {
    padding: 1.5rem;
    line-height: 1.6;
    background-color: var(--neutral-color-white);
}

.accordion-item:not(:first-of-type) {
    border-top: 1px solid rgba(0, 0, 0, .125);
}

/*CTA Final*/

#cta-final {
    color: var(--neutral-color-white);
    overflow: hidden;
}

.cta-final-content {
    background: var(--primary-color);
    box-shadow: 0 5px 15px rgba(0, 0, 0, .2);
}

.cta-final-content h2::after {
    background: var(--neutral-color-white);
}

.cta-final-img {
    background-size: cover;
    background-position: right;
    background-repeat: no-repeat;
}

.cta-final-btn {
    background: var(--neutral-color-white);
    padding: 0.5rem 1.5rem;
    font-weight: 500;
    transition: all 0.3s ease;
}

.cta-final-btn:hover {
    background: var(--neutral-color-white);
    color: var(--primary-color);
}

#contato {
    overflow: hidden;
}

.contato-form {
    background: var(--neutral-color-white);
    box-shadow: 0 5px 15px rgba(0, 0, 0, .2);
    padding: 12px;
}

/*Footer*/

#footer {
    background: var(--primary-color);
    color: var(--neutral-color-white);
}

#footer a {
    color: var(--neutral-color-white);
}

#footer h3 {
    font-size: 1.25rem
}

.footer-logo {
    max-width: 128px;
}

.footer-logo-secundario {
    max-width: 88px;
}

.ans {
    padding: 2px;
    margin-top: 8px;
    line-height: normal;
    width: fit-content;
    color: var(--neutral-color-white);
    background: var(--neutral-color-black)
}

.ans-numero {
    padding: 1px;
    font-size: .65rem;
    font-family: Arial;
    font-weight: bold;
    margin: 0 auto;
    text-align: center;
    border: 1px solid var(--neutral-color-white);
}

.app-logo {
    max-width: 132px;
}

/*Adicionais dinamicos 29/05/2025*/
.fundo-moldura {
    width: 79%;
    height: 512px;
    background-color: var(--primary-color-bg);
    border-radius: 20px;
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
  }

  .imagem-operadora {
    width: 100%;
    height: 512px;
    border-radius: 20px;
    object-fit: cover;
    margin-top: 28px;
    margin-left: 28px;
  }
  /*SVG Cores*/
  
.svg-image svg {
    width: 40px;
    height: 40px;
}

#svg-telemedicina .fill-primary{
    fill: var(--primary-color);
}
#svg-telemedicina .fill-secondary{
    fill: var(--primary-color-bg);
}

#svg-clube-de-vantagens .fill-primary{
    fill: var(--primary-color);
}
#svg-clube-de-vantagens .fill-secondary{
    fill: var(--primary-color-bg);
}

#svg-desconto-em-vacinas .fill-primary{
    fill: var(--primary-color);
}
#svg-desconto-em-vacinas .fill-secondary{
    fill: var(--primary-color-bg);
}

#svg-desconto-farmacia .fill-primary{
    fill: var(--primary-color);
}
#svg-desconto-farmacia .fill-secondary{
    fill: var(--primary-color-bg);
}

#svg-blog-da-saude .fill-primary{
    fill: var(--primary-color);
}
#svg-blog-da-saude .fill-secondary{
    fill: var(--primary-color-bg);
}

#svg-podcast-allcare .fill-primary{
    fill: var(--primary-color);
}
#svg-podcast-allcare .fill-secondary{
    fill: var(--primary-color-bg);
}

#svg-alem-da-gestacao .fill-primary{
    fill: var(--primary-color);
}
#svg-alem-da-gestacao .fill-secondary{
    fill: var(--primary-color-bg);
}

#svg-clube-de-turismo .fill-primary{
    fill: var(--primary-color);
}
#svg-clube-de-turismo .fill-secondary{
    fill: var(--primary-color-bg);
}

#cookies { width: 410px; position: fixed; bottom: 20px; left: 10px; z-index: 999;}
.shadow { -webkit-box-shadow: 0px 3px 29px -17px rgba(0,0,0,0.61) !important; -moz-box-shadow: 0px 3px 29px -17px rgba(0,0,0,0.61) !important; box-shadow: 0px 3px 29px -17px rgba(0,0,0,0.61) !important; }
.btn-outline-success { border: 1px solid var(--primary-color); bottom: -17px; right: 148px; }

  /*RDStation*/
  .form-overlay {
   position: absolute;
   top: 35px;
   right: 10%;
   width: 400px;
   max-width: 90%;
   z-index: 10;
}
.bricks-form__fieldset{
   padding-top:-15px !important;
}
.bricks-form__input.error{
   margin-top:-5px !important;
}

.bricks-form__field.error {
    margin-top:25px !important;
}
.bricks-form__label{
   display: none !important;
}

.rd-button{
    background: var(--primary-color)!important;
    border-color: var(--primary-color)!important;
    border-radius: 0.375rem !important;
    transition: all 0.3s ease !important
}

.js-field-cf_mensagem{
    display: none !important
}
.bricks--column.rd-column{
    margin-top:-20px !important;
    -background:transparent !important;
}
.bricks--section.rd-section{
    -background:transparent !important;    
}

.bricks--component.bricks--component-text{
    padding-bottom: 20px !important;
}

.bricks--component.bricks--component-button.rdstation-popup-js-submit-button {
    margin-top:25px !important;
    background:#32bc2d !important;
}

.bricks--row {
    min-height: 50px !important;
}

.bricks--row .bricks--column > div {
    min-height: 50px !important;
}

.bricks-form__input.required.phone.js-phone.js-field-mobile_phone{
    border-top-left-radius: 0px !important;
    border-bottom-left-radius: 0px !important;
}

.form-control.phone-country{
    border-top-left-radius: 8px !important;
    border-bottom-left-radius: 8px !important;
}

.choices__inner.rd-choices__inner{
    border-color: var(--primary-color-hover) !important;
}

.bricks--component-button{
    border-radius: 7px !important;   
    padding: 7px 20px !important;
	font-size: 12pt !important;
    margin-top:10px !important;
    background-color: var(--primary-color) !important;
}
.phone{
	width:100% !important;
	color: var(--primary-color-hover)!important;
	font-size: .8rem !important;
	border-radius: 8px !important;
}

.bricks-form__field.bricks-form__terms .bricks-form__static {
    font-size: 9pt !important;
    color: #555555 !important;
    font-family: "Nunito", sans-serif !important;
    line-height: 1.5 !important;
    margin-top:-12px !important;
    margin-bottom: 8px !important;
}

.bricks-form__field.bricks-form__terms .bricks-form__static a {
    color: var(--primary-color) !important;
    text-decoration: underline !important;
    font-weight: bold !important;
}

.bricks-form__static span{
    padding-left:20px!important;
}

.bricks-form__static span span{
    padding-left:0px!important;
}


.bricks-form__field.bricks-form__terms span{
    margin-top:3px!important;
}

#s2id_autogen1{
	display:none !important;
}
#s2id_autogen3{
	display:none !important;
}
#s2id_autogen4{
    display:none !important;
}
#s2id_autogen6{
	display:none !important;
}
#s2id_autogen9{
	display:none !important;
}
.bricks-form__input{
	border: 1px solid var(--primary-color-hover) !important;
	box-shadow: 0 0 0 0; outline: 0 !important;
	border-radius: 8px !important;
}
.bricks-form__submit{
   margin-top:-18px !important;
}
.div-principal-rd{
   height:260px !important;
}

#diferenciais{
   background:transparent !important;
}
.div-form-rd{
   min-height: 72px !important;
   top: 50px !important;
}
.buttons-banners{
   z-index:99;
}
.bricks-form__input::placeholder {
   color: #333333 !important;
   font-family: "Nunito", sans-serif !important;
   font-size: 10pt !important;
   opacity: 1 !important;
}
input.phone.js-phone {
   color: #333333 !important;
   font-family: "Nunito", sans-serif !important;
   font-size: 10pt !important;
   opacity: 1 !important;
}
.titulo-form {
font-size: 16pt !important;
padding: 10px !important;
}

.video-container video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 20px;
}

.fundo-moldura-alt {
   display: flex;
   align-items: center;
   justify-content: center;
   position: relative;
}

.fundo-moldura-alt .video-container {
   margin: 0;
   right: 0;
   left: 0;
   top: 0;
}
#centrais a {
    color: var(--neutral-color-black);
    text-decoration: none;
}

.centrais-numero {
    background: var(--neutral-color-white);
}

.svg-telefone svg {
    width: 60px;
    height: 60px;
}

#svg-telefone svg path {
  fill: var(--primary-color-bg) !important;
}

#svg-whatsapp .fill-secondary{
    fill: var(--primary-color-bg);
}
/* Efeito de carregamento */
.skeleton {
  display: inline-block;
  width: 100%;
  min-height: 60px; /* altura mínima para simular o bloco */
  background: transparent;
  position: relative;
  overflow: hidden;
  border-radius: 4px;
  margin-bottom: 8px;
}

/* Animação de brilho */
.skeleton::after {
  content: "";
  position: absolute;
  top: 0;
  left: -150px;
  height: 100%;
  width: 150px;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0), transparent);
  animation: shimmer 1.5s infinite;
}

@keyframes shimmer {
  0% { left: -150px; }
  100% { left: 100%; }
}