.paddingTop-40 {
    padding-top: 40px;
}

.marginTop-40 {
    margin-top: 40px;
}

.badge {
    font-size: 18px !important;
}

.badge.rounded-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 8px;
    background: #e8fff5;
    /* optional styling */
}

.badge.rounded-pill .icon {
    width: 26px;
    height: 26px;
    background: url("../images/check.svg") no-repeat center / contain;
    display: inline-block;
}

.btn-funcs {
    background: var(--white) !important;
    border-radius: 46px !important;
    width: 210px !important;
    height: var(--btns-height);
    padding: 12px 30px !important;
    border: 1px solid var(--btn-purple) !important;
}

.btn-money {
    background: var(--white) !important;
    border-radius: 46px !important;
    width: 140px !important;
    height: var(--btns-height);
    border: 1px solid var(--salmon-pink) !important;
    padding: 12px 30px !important;
}

.btns-info-div {
    padding-top: 100px;
}

.btn-info-general {
    font-size: var(--font-size-small) !important;
    font-style: normal !important;
    font-weight: 600 !important;
    line-height: 26px !important;
    text-align: center !important;
}

.info-title .pinkBtn {
    border-radius: 46px;
    background: var(--btn-pink);
    display: flex;
    padding: 12px 30px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border: none;
    color: #FFF;
    text-align: center;
    font-family: "Plus Jakarta Sans";
    font-size: 17.3px;
    font-style: normal;
    font-weight: 600;
    line-height: 26px;
}


.info-title .purpleBtn {
    z-index: 2;
    border: none;
    background-color: var(--btn-purple);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 46px;
    width: 250px;
    height: var(--btns-height);
}

.info-title .pinkBtn {
    z-index: 2;
    border: none;
    background-color: var(--btn-pink);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: 46px;
    width: 250px;
    height: var(--btns-height);
    margin-left: 20px;
}

.styleBtnsHero {
    color: #FFF;
    text-align: center;
    font-family: var(--font-style);
    font-size: var(--font-size-small);
    font-style: normal;
    font-weight: 600;
}


/* MODULOS SECTION */
.section-testimonial {
    background-color: var(--dark-purple);
    padding-top: 110px;
    padding-bottom: 100px;
    height: auto;
}

.more-adv-substitle {
    color: var(--light-purple);
    font-family: var(--font-style-rubik);
    font-size: var(--font-size-medium);
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    letter-spacing: -0.456px;
}

.more-adv-title {
    color: var(--white);
    font-family: var(--font-style);
    font-size: var(--font-size-banners);
    font-style: normal;
    font-weight: 700;
    line-height: 69.36px;
    letter-spacing: -0.5px;
}

.more-adv-description {
    color: var(--white);
    font-family: var(--font-style-rubik);
    font-size: var(--font-size-medium);
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    margin-top: 1rem;
}

.modulos-card-title {
    color: var(--black-btns);
    text-decoration: none;
    font-family: var(--font-style);
    font-weight: 700;
}


/* --- trigger (bandeira no topo) --- */
.icon-wrapper{
  position: relative;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* anel/rebordo transparente */
.icon-wrapper::before{
  content: "";
  position: absolute;
  inset: 4px; /* espessura do anel */
  border-radius: 999px;
  border: 2px solid rgba(255, 255, 255, .35);
  pointer-events: none;
}

/* glow opcional */
.icon-wrapper::after{
  content: "";
  position: absolute;
  inset: 10px;
  border-radius: 999px;
  box-shadow: 0 0 0 10px rgba(255, 255, 255, .10);
  pointer-events: none;
}

/* --- base das flags --- */
.flag.large{
  width: 32px;
  height: 32px;
  display: inline-block;
  background-repeat: no-repeat;
  background-position: center;
}

/* redonda APENAS no trigger (topo) */
.icon-wrapper .flag.large{
  border-radius: 999px;
  background-size: cover;
}

/* no dropdown, mantém o ícone “original” (não redondo) */
.dropdown-menu .flag.large{
  border-radius: 0;
  background-size: contain; /* preserva o SVG dentro do quadrado */
}

/* --- alinhar bandeira + texto dentro do dropdown --- */
.dropdown-menu .dropdown-item{
  display: flex;
  align-items: center;  /* centra verticalmente */
  gap: 10px;            /* espaço entre bandeira e texto */
  line-height: 1;       /* evita desníveis */
}

/* evita duplicar espaçamento do mr-3 quando usamos gap */
.dropdown-menu .dropdown-item .mr-3{
  margin-right: 0 !important;
}

/* impede a bandeira de encolher */
.dropdown-menu .flag.large{
  flex: 0 0 32px;
}

/* --- imagens --- */
.PT{ background-image: url(../images/icons/PT.svg); }
.ES{ background-image: url(../images/icons/ES.svg); }

/* hover opcional */
.dropdown .btn:hover .icon-wrapper::before{
  border-color: rgba(255, 255, 255, .55);
}