:root{
	--primary-color			: #040303;
	--secondary-color		: #F4F4F4;
	--text-color			: #808080;
	--accent-color			: #19c3bb;
	/*--dark-color			: #004050;*/
	--dark-color			: #754ad8;
	--white-color			: #FFFFFF;
	--divider-color			: #F3F3F3;
	--dark-divider-color	: #FFFFFF1A;
	--error-color			: rgb(230, 87, 87);
	--default-font			: "DM Sans", sans-serif;
}

html, body{
  background: rgba(117, 74, 215, 1);
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;}

/* ==================== */
/* UTILIDADES */
/* ==================== */

a[href^="tel"] {
  color: white !important;
  text-decoration: none;
}

.mt-n30{margin-top: -30px !important;}
.mt-n120{margin-top: -110px !important;}
.mb-n30{margin-bottom: -30px !important;}

.badge-button{
  color: #ffffff;
  background-color: rgba(117, 74, 215, 1);
}

.badge-button:hover{
  color: #ffffff;
  background-color: rgba(25, 195, 187, 1);
}

.badge-button-green{
  color: #ffffff;
  background-color: rgba(25, 195, 187, 1);

}

.badge-button-green:hover{
  color: #ffffff;
  background-color: #8965dd;

}
.text-purple{color: rgba(117, 74, 215, 1);}
.text-green{color: rgba(25, 195, 187, 1);
}
.ocultar {
  max-height: 0px !important;
}

.mostrar{
  height: auto;
  transition: height 0.05s;
  overflow: hidden;
}

/* ==================== */
/* SECCIÓN HERO */
/* ==================== */

.hero-section {
  min-height: 100vh;
  background-image: url('../images/bg-general.webp');
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  padding: 100px 0;
}

.hero-logo {
  width: 250px;
}

.hero-title {
  font-size: 4.5rem;
  font-weight: 300;
}

.highlight {
  color: #32f2ff;
}

.hero-sub {
  opacity: 0.8;
}

@media screen and (max-width: 990px) {
   .hero-title {
    font-size: 2.5rem;
    } 
}

/* ==================== */
/* TARJETAS SUPERIORES */
/* ==================== */

.header_tarjeta{

overflow: hidden;
    max-height: 100px; /* o lo que mida normalmente */
    transition: max-height 0.5s ease;

}
.section-topcards {
  background: url('../images/bg-caracteristicas.webp') #ffffff;
  background-repeat: repeat-x;
  background-position: center top;
  border-radius: 80px 80px 0 0;
}


.section-topcards .custom-card {
  background: #ffffff;
  border-radius: 40px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.1);
}
.icon-bitcoin{
 width: 75px;
 height: 75px;
 background-color: rgba(117, 74, 215, 1);
;
}
.icon-bitcoin img {
  width:50px;
}

.icon-cellphone{
 width: 75px;
 height: 75px;
 background-color: rgba(25, 195, 187, 1);
}
.icon-cellphone img {
  width:26px;
}

/* ==================== */
/* BENEFICIOS */
/* ==================== */
.section-benefits, .section-title{background-color: #FFFFFF;}
.section-title .main-title {
  color: #6e40ff;
  font-size: 48px;
  font-weight: 800;
}

.benefit-card {
  background-color: rgba(237, 237, 237, 0.7);
  border-radius: 67px;
  overflow: hidden;
}

.benefit-title {
  color: rgba(117, 74, 215, 1);
  font-weight: 800;
}
.benefit-title-green {
  color: rgba(25, 195, 187, 1);

  font-weight: 800;
}

.benefit-buttton{
  width: 55px;
  height: 55px;
  background-color: rgba(117, 74, 215, 1);
  color: #ffffff;
}

.benefit-buttton-green{
  width: 55px;
  height: 55px;
  background-color: rgba(25, 195, 187, 1);
  color: #ffffff;
}

.benefit-list {
  margin-top: 40px;
}

.benefit-item {
  background: #f4f4ff;
  padding: 18px 24px;
  border-radius: 30px;
  margin-bottom: 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 1.05rem;
}

.icon-arrow::after {
  content: "➜";
  font-size: 1.3rem;
  opacity: 0.6;
}

/* ==================== */
/* LEGALES */
/* ==================== */


.section-bg-down {
  background-image: url('../images/bg-down.webp');
  background-repeat: repeat-x;
  background-position: center top;
  border-radius: 0 0 80px 80px ;
  background-size: contain;
  height: 100px;
}



.section-bg-up {
  background-image: url('../images/bg-up.webp');
  background-repeat: repeat-x;
  background-position: center top;
  border-radius: 80px 80px 0 0 ;
  background-size: contain;
  height: 100px;
}

.legal-section {
  background: rgba(117, 74, 215, 1);
  padding: 100px 0 100px 0;
}

.legal-card {
  background: rgba(255,255,255,0.15);
  border-radius: 20px;
}
.icon-box{
  width: 50px;
  height: 50px;
  background: rgba(117, 74, 215, 1);
  display: flex;
}

.icon-box-inv{
  width: 50px;
  height: 50px;
  background: #8965dd;
  display: flex;
}

/* ==================== */
/* JOIN SECTION */
/* ==================== */

.join-section {
  background: #ffffff;
  padding-bottom: 150px;
  padding-top: 120px;
}

@media screen and (max-width: 990px) {
   .join-section {
      padding-bottom: 150px;
      padding-top: 45px;
    } 
}

.small-title {
  color: #00c39f;
}

.highlight2 {
  color: #6b00ff;
  font-weight: bold;
}

.store-btn {
  width: 160px;
}

.bg-app{
  background-color: #f4f4f4;
}

.form-control::placeholder {
  text-align: center;
  color: #ffffff !important;
  opacity: 1;
}
/* ==================== */
/* NEWSLETTER */
/* ==================== */

.newsletter-section {
  background: rgba(117, 74, 215, 1);
  border-radius: 80px 80px 0 0;
}

.newsletter-form {
  max-width: 350px;
  display: flex;
}


.newsletter-form button {
  padding: 10px 18px;
  cursor: pointer;
  background-color: rgba(25, 195, 187, 1);
}

.help-card {
  background: rgba(255,255,255,0.15);
  border-radius: 20px;
}

/* ==================== */
/* FOOTER */
/* ==================== */

.footer {
  background: rgba(117, 74, 215, 1);
  color: #c9b7ff;
}

.footer-links a {
  color: #c9b7ff;
  margin: 0 5px;
  text-decoration: none;
}

/* ==================== */
/* Terminos */
/* ==================== */
.terms-section {
  background: #ffffff;
  padding-bottom: 150px;
}
.h1-terminos{
  font-size: 70px;
  margin-bottom: 42px;
}
.h3-terminos{
  font-size: 40px;
  margin-bottom: 24px;
}
.p-terminos{
  line-height: 1.7em;
  margin-bottom: 20px;
  color: rgb(128, 128, 128);
}
.ul-terminos{
  padding: 0;
    padding-left: 0px;
  margin: 20px 0 20px;
  padding-left: 20px;
}
.ul-terminos li{
  font-size: 18px;
  font-weight: 500;
  color: rgb(128, 128, 128);
  position: relative;
  margin-bottom: 15px;
}

/************************************/
/**** 	   03. Header Css		 ****/
/************************************/

header.main-header{
	background: var(--dark-color);
}

.navbar{
	padding: 25px 0;
	align-items: center;
}

.navbar-brand{
	padding: 0;
	margin: 0;
}

.main-menu .nav-menu-wrapper{
	flex: 1;
	text-align: center;
	margin: 0 20px;
}

.main-menu .nav-menu-wrapper > ul{
	align-items: center;
	display: inline-flex;
}

.main-menu ul li{
	margin: 0;
	position: relative;
}

.main-menu ul li a{
	font-size: 16px;
	font-weight: 500;
	line-height: 1.3em;
	padding: 15px 20px !important;
	color: var(--white-color);
	opacity: 80%;
	text-transform: capitalize;
	transition: all 0.3s ease-in-out;
}

.main-menu ul li.submenu > a:after{
	content: '\f107';
	font-family: 'FontAwesome';
	font-weight: 900;
	font-size: 14px;
	margin-left: 8px;
}

.main-menu ul li a:hover,
.main-menu ul li a:focus{
	color: var(--primary-color);
	opacity: 100%;
}

.main-menu ul ul{
	visibility: hidden;
	opacity: 0;
	transform: scaleY(0.8);
	transform-origin: top;
	padding: 0;
	margin: 0;
	list-style: none;
	width: 230px;
	border-radius: 20px;
	position: absolute;
	left: 0;
	top: 100%;
	background-color: var(--accent-color);
	transition: all 0.3s ease-in-out;
	text-align: left;
}

.main-menu ul li.submenu:first-child ul{
    width: 230px;
}

.main-menu ul ul ul{
	left: 100%;
	top: 0;
	text-align: left;
}
.main-menu ul li:hover > ul{
	visibility: visible;
	opacity: 1;
	transform: scaleY(1);
    padding: 5px 0;
}

.main-menu ul li.submenu ul li.submenu > a:after{
    content: '\f105';
    float: right;
}

.main-menu ul ul li{
	margin: 0;
	padding: 0;
}

.main-menu ul ul li a{
	opacity: 100%;
	padding: 6px 20px !important;
	transition: all 0.3s ease-in-out;
}

.main-menu ul li:hover > ul{
	visibility: visible;
	opacity: 1;
	transform: scaleY(1);
    padding: 5px 0;
}

.main-menu ul ul li a:hover,
.main-menu ul ul li a:focus{
	color: var(--primary-color);
	background-color: transparent;
	padding: 6px 20px 6px 23px !important;
}

.main-menu ul li.highlighted-menu{
    display: none;
}

.slicknav_btn{
	background: var(--accent-color);
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	margin: 0;
	border-radius: 8px;
}


.slicknav_menu{
	background: var(--accent-color);
}

.slicknav_menu ul{
	margin:0;
}



.slicknav_nav .slicknav_row,
.slicknav_nav li a{
	position: relative;
	font-size: 16px;
	font-weight: 500;
	text-transform: capitalize;
	padding: 8px 20px;
	color: var(--white-color);
	line-height: normal;
	margin: 0;
	border-radius: 0 !important;
	transition: all 0.3s ease-in-out;
}



/* Quitamos el icono original */
.navbar-toggler .navbar-toggler-icon {
    background-image: none;
    position: relative;
    width: 24px;
    height: 2px;
    background: transparent;
}

/* Las dos líneas que formarán la X */
.navbar-toggler .navbar-toggler-icon::before,
.navbar-toggler .navbar-toggler-icon::after {
    content: "";
    position: absolute;
    width: 24px;
    height: 2px;
    background-color: #ffffff; /* color del ícono */
    transition: transform .3s ease, top .3s ease, opacity .3s ease;
}

/* Línea superior */
.navbar-toggler .navbar-toggler-icon::before {
    top: -6px;
}

/* Línea inferior */
.navbar-toggler .navbar-toggler-icon::after {
    top: 6px;
}

/* --- NUEVA LÍNEA DEL MEDIO --- */
.navbar-toggler .navbar-toggler-middle {
    position: absolute;
    width: 24px;
    height: 2px;
    background-color: #ffffff;
    top: 50%;
    transform: translateY(-50%);
    transition: opacity .3s ease;
}

/* Cuando está ABIERTO (NO tiene .collapsed) -> ocultar la línea del medio */
.navbar-toggler:not(.collapsed) .navbar-toggler-middle {
    opacity: 0;
}

/* Cuando está ABIERTO (NO tiene .collapsed) -> formar la X */
.navbar-toggler:not(.collapsed) .navbar-toggler-icon::before {
    transform: rotate(45deg);
    top: 0;
}

.navbar-toggler:not(.collapsed) .navbar-toggler-icon::after {
    transform: rotate(-45deg);
    top: 0;
}

.navbar-toggler:focus {
  text-decoration: none;
  outline: 0;
  box-shadow: none !important ;
}