
.btn-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 20px;
  border-radius: 12px;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(135deg, var(--brand-1), var(--brand-2));
  box-shadow: 0 8px 22px rgba(108, 99, 255, 0.28);
  border: none;
  transition: 0.28s ease;
}

.btn-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(108, 99, 255, 0.40);
}

.btn-cta:active {
  transform: translateY(0px) scale(0.98);
  box-shadow: 0 4px 14px rgba(108, 99, 255, 0.25);
}

.btn-cta:focus {
  outline: 2px solid var(--brand-2);
  outline-offset: 3px;
}

.email {
     text-decoration: none;
}


/* ESCOLHE DE TEMA */

.theme-toggle {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    font-size: 1rem;
    color: var(--cor-texto-secundario);
}

/* Esconde o checkbox nativo */
.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

/* Trilho do switch */
.switch {
    position: relative;
    display: inline-block;
    width: 52px;
    height: 28px;
}

/* fundo do trilho */
.switch .slider {
    position: absolute;
    cursor: pointer;
    inset: 0;
    background: rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.5);
    transition: background 0.25s ease, box-shadow 0.25s ease;
}

/* “bolinha” */
.switch .slider::before {
    content: "";
    position: absolute;
    height: 22px;
    width: 22px;
    left: 3px;
    top: 3px;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.45);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

/* Estado “ligado” (escuro) */
.switch input:checked + .slider {
    background: linear-gradient(135deg, var(--cor-marca-primaria), var(--cor-marca-secundaria));
    box-shadow: 0 0 0 1px rgba(135, 78, 254, 0.6);
}

.switch input:checked + .slider::before {
    transform: translateX(24px);
}

/* Foco via teclado */
.switch input:focus-visible + .slider {
    outline: 2px solid var(--cor-acento-vibrante);
    outline-offset: 3px;
}

/* Labels ao lado */
.theme-label {
    user-select: none;
}