/* =====================================
   📚 TABLA DE CONTENIDO - CSS THE TIKET
=======================================

  1. Variables y Base
  2. Tipografía Global
  3. Layout y Contenedores
  4. Navbar y Menú
  5. Botones
  6. Hero Section
  7. Secciones Principales
     - Identidad
     - Carta CEO
     - Registro
     - Beneficios
     - Calculadora
     - Contador
     - Inversionistas
  8. Componentes
     - Tarjetas
     - Modales
     - Carousels
     - Tooltips
  9. Footer
 10. Animaciones
 11. Responsive (Media Queries)

=======================================
  Este archivo centraliza los estilos de
  THE TIKET. Agrupa cualquier regla nueva
  dentro de la sección correspondiente y
  evita duplicar selectores para facilitar
  su mantenimiento.
===================================== */

/* 1. Variables y Base */
/* ========================
   🔹 VARIABLES Y BASE
   ======================== */
:root {
  --font-scale: 1;
}

html {
  box-sizing: border-box;
  font-size: calc(62.5% * var(--font-scale));
  /* base 10px escalable */
  scroll-behavior: smooth;
  transition: font-size 0.3s ease;
}

html,
body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  box-sizing: border-box;
  background-color: #0B1220;
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

/* Reset de padding para contenedores
   Las dimensiones se definen en la
   sección CONTENEDORES */
.container,
.container-fluid {
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100%;
}


body {
  margin: 0;
  font-family: "Space Grotesk", sans-serif;
  font-optical-sizing: auto;
  line-height: 1.6;
  color: #fff;
  font-size: 1.6rem;
  /* 16px por defecto con 62.5% base */
}

/* Asegura que todas las imágenes se escalen correctamente */
img {
  max-width: 100%;
  height: auto;
}

.navbar-nav .nav-link:hover {
  color: #9136E9 !important;
}

.navbar-nav .nav-link.active {
  color: #9136E9 !important;
}

.icon-header:hover {
  color: #9136E9 !important;
}

input,
select,
textarea {
  min-height: 48px;
  font-size: 1rem;
  padding: 0.75rem 1rem;
  border-radius: 0.6rem;
}


/* Ajustes para la calculadora Business */
#form-business input,
#form-business select,
#form-business textarea {
  min-height: 56px;
  font-size: 1.2rem;
  padding: 1rem;
  border-radius: 10px;
}

button {
  cursor: pointer;
  transition: background 0.3s ease;
}

button:focus-visible,
input:focus-visible {
  outline: 2px solid #A158E8;
  outline-offset: 2px;
}


/* ========================
     🔹 TIPOGRAFÍA GLOBAL
     ======================== */
h1,
h2,
h3,
h4,
h5,
h6 {
  color: #fff;
  line-height: 1.2;
  margin: 0 0 1rem;
}

h1 {
  font-size: clamp(2.4rem, 4vw + 1rem, 3.6rem);
}

h2 {
  font-size: clamp(2rem, 3vw + 0.5rem, 3rem);
}

h3 {
  font-size: clamp(1.8rem, 2.5vw + 0.5rem, 2.4rem);
}

h4 {
  font-size: clamp(1.6rem, 2vw + 0.4rem, 2rem);
}

h5 {
  font-size: clamp(1.4rem, 1.5vw + 0.4rem, 1.8rem);
}

h6 {
  font-size: clamp(1.2rem, 1vw + 0.3rem, 1.6rem);
}

p,
li,
a,
label,
button,
input,
textarea {
  font-size: clamp(1.4rem, 0.5vw + 1rem, 1.6rem);
}

/* Utilidades */
.text-center {
  text-align: center;
}



/* ========================
   🔹 TIPOGRAFÍA GENERAL
======================== */
.tipography {
  font-family: "Space Grotesk", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-size: 2rem;
  color: #D1D5DB;
}


/* ==============================
   🔹 RESPONSIVE DESIGN
============================== */
@media (max-width: 768px) {
  .terms-container {
    padding: 40px 15px;
  }

  .terms-container h1 {
    font-size: 2.5rem;
  }

  .terms-container h2 {
    font-size: 2rem;
  }

  .terms-container p {
    font-size: 1.5rem;
  }

  .terms-container ul li {
    font-size: 1.5rem;
  }
}

.epoch-section {
  max-width: 900px;
  margin: auto;
  padding: 2rem 1rem;
  display: flex;
  justify-content: center;
}

.form-container-full {
  background-color: #161f2d;
  padding: 3rem;
  border-radius: 1rem;
  width: 100%;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.4);
}

.form-container-full h2 {
  margin-top: 0;
  margin-bottom: 2rem;
  color: #fff;
  text-align: center;
  font-size: 1.8rem;
}

.form-group {
  margin-bottom: 1.5rem;
  display: flex;
  flex-direction: column;
}

.form-group label {
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: #ccc;
}

.form-group input,
.form-group select {
  padding: 1rem;
  font-size: 1.6rem;
  border-radius: 0.5rem;
  border: none;
  background-color: #f4f4f4;
}

/* NUEVO: Layout grid para el formulario */
.grid-form {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}

@media (min-width: 768px) {
  .grid-form {
    grid-template-columns: 1fr 1fr;
  }

  .grid-form .full-width {
    grid-column: 1 / -1;
  }
}

.summary-box {
  margin-top: 2rem;
  background-color: #2b1f47;
  padding: 1rem;
  color: #fff;
  text-align: center;
  border-radius: 1rem;
}

/* PLANES */

.pricing-card {
  background: #060F2B;
  border-radius: 16px;
  padding: 2.5rem;
  color: #fff;
  border: none;
  box-shadow: 0 0 18px rgba(0, 0, 0, 0.3);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  text-align: center;
}

.pricing-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.4);
}

.plan-title {
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.plan-price {
  font-size: 1.6rem;
  margin-bottom: 1rem;
}

.plan-features {
  font-size: 1.4rem;
  line-height: 2;
  list-style: none;
  padding: 0;
  margin: 0 auto 2rem auto;
  max-width: 260px;
}

.plan-features li::before {
  content: "✔️";
  margin-right: 0.6rem;
  color: #00d1ff;
  font-size: 1.4rem;
}

/* BOTONES */
.pricing-card .btn {
  padding: 0.75rem 1.5rem;
  font-size: 1.2rem;
  border-radius: 6px;
}

.recommended {
  border: 3px solid #00d1ff !important;
}

/* Estilos generales del Wizard */
.wizard-container {
  background: linear-gradient(90deg, #1E3A8A, #0F172A);
  padding: 3rem 2rem;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.4);
  color: #fff;
  border-radius: 12px;
}

/* Pestañas */
#wizardTabs .nav-link {
  background-color: #1e293b;
  color: #cbd5e1;
  border: none;
  margin: 0 6px;
  border-radius: 10px;
  padding: 0.75rem 1.5rem;
  font-size: 1.5rem;
  font-weight: 500;
  transition: all 0.2s ease-in-out;
}

#wizardTabs .nav-link:hover {
  background-color: #334155;
  color: #fff;
}

#wizardTabs .nav-link.active {
  background-color: #00d1ff;
  color: #000;
  font-weight: bold;
  box-shadow: 0 0 6px #00d1ffaa;
}

/* Módulos y inputs */
.form-check-label {
  font-size: 1.5rem;
  margin-left: 0.75rem;
}

.module-check {
  transform: scale(1.3);
  cursor: pointer;
  accent-color: #00d1ff;
}

input[type="number"] {
  font-size: 1.5rem;
  padding: 0.6rem;
  border-radius: 8px;
  border: 1px solid #334155;
  background-color: #0f172a;
  color: #fff;
}

/* Resumen del plan */
.list-group-item {
  font-size: 1.5rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background-color: transparent;
  padding: 1rem 1.5rem;
}

/* Selector de divisa con chips */
.currency-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
}

.chip {
  border: none;
  border-radius: 2rem;
  padding: 0.5rem 1.2rem;
  background: #1e293b;
  color: #fff;
  cursor: pointer;
  transition: all 0.3s ease;
  font-weight: 500;
  font-size: 1.4rem;
  outline: none;
}

.chip:hover {
  background: #334155;
}

.chip.selected,
.chip.active {
  background: #00d1ff;
  color: #000;
  box-shadow: 0 0 0 2px #00d1ff;
}

/* Botones */
.btn {
  border-radius: 8px;
  font-size: 1.6rem;
  padding: 0.75rem 1.5rem;
  transition: all 0.3s ease;
}

.btn-primary {
  background-color: #00d1ff;
  border: none;
  color: #000;
  font-weight: 600;
}

.btn-primary:hover {
  background-color: #00bce4;
  color: #000;
}

.btn-secondary {
  background-color: #475569;
  border: none;
  color: #fff;
  font-weight: 500;
}

.btn-secondary:hover {
  background-color: #64748b;
}

.btn-success {
  background-color: #16a34a;
  border: none;
  color: #fff;
  font-weight: 600;
}

.btn-success:hover {
  background-color: #15803d;
}

/* Responsive */
@media (max-width: 768px) {
  #wizardTabs .nav-link {
    font-size: 1.1rem;
    padding: 0.6rem 1rem;
  }

  .wizard-container {
    padding: 2rem 1rem;
  }

  .btn {
    font-size: 1.4rem;
    padding: 0.65rem 1.4rem;
  }

  .list-group-item {
    font-size: 1.4rem;
  }
}

.text-container {
  padding: 1rem;
  max-width: 500px;
  display: flex;
  flex-direction: column;
  align-items: baseline;
}

.offers-section {
  background: linear-gradient(135deg, #2e1065, #0f172a);
}

.offer-card {
  background-color: rgba(255, 255, 255, 0.05);
  border-radius: 12px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
  transition: transform 0.3s;
}

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

.offer-card .icon {
  width: 40px;
  height: 40px;
  color: #00d1ff;
}

.industry-box {
  background-color: #1e293b;
  color: #fff;
  padding: 1rem;
  border-radius: 8px;
  text-align: center;
  font-weight: 500;
  font-size: 1.2rem;
}

.employment-card {
  background-color: #060F2B;
  padding: 2rem;
  border-radius: 12px;
  box-shadow: 0 0 16px rgba(0, 0, 0, 0.3);
  color: #fff;
  text-align: center;
}

.employment-card h5 {
  font-size: 1.6rem;
  margin-bottom: 0.5rem;
}


/* --- HERO --- */
.job-hero {
  background: linear-gradient(135deg, #1e3a8a, #0f172a);
  padding: 4rem 2rem;
  color: #fff;
  text-align: center;
}

.job-hero h1 {
  font-size: 2.8rem;
  font-weight: 700;
}

.job-hero p {
  font-size: 1.3rem;
  margin-top: 1rem;
}

/* --- FILTRO --- */
.filter-bar {
  background: #0f172a;
  padding: 1rem 2rem;
  color: #fff;
  border-radius: 8px;
}

.filter-bar label {
  font-size: 1.2rem;
  margin-right: 10px;
}

.filter-bar select {
  background: #1e293b;
  color: #fff;
  border: 1px solid #334155;
  padding: 0.4rem 0.8rem;
  border-radius: 6px;
}

/* --- TARJETAS DE EMPLEO --- */
.job-card {
  background: #060f2b;
  border-radius: 12px;
  padding: 2rem;
  color: #fff;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
  transition: transform 0.3s ease-in-out;
}

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

.job-card h5 {
  font-size: 1.5rem;
  color: #00d1ff;
}

.job-card .job-location {
  font-size: 1rem;
  color: #ccc;
}

.job-card p {
  font-size: 1.2rem;
}

.job-card .btn-outline-light {
  margin-top: 1rem;
  font-size: 1rem;
  padding: 0.6rem 1.2rem;
  border-radius: 6px;
}

/* --- EQUIPO CARRUSEL --- */
.team-carousel .carousel-item img {
  max-height: 400px;
  object-fit: cover;
  border-radius: 12px;
}

/* --- ¿POR QUÉ TRABAJAR? --- */
.why-section {
  background: linear-gradient(90deg, #0f172a, #1e3a8a);
  color: #fff;
  padding: 4rem 2rem;
  border-radius: 16px;
  margin-top: 3rem;
}

.why-section h2 {
  font-weight: 700;
  font-size: 2.2rem;
}

.why-section p {
  font-size: 1.6rem;
}

.why-section .btn-primary {
  background-color: #00d1ff;
  border: none;
  color: #000;
  font-weight: 600;
  font-size: 1.4rem;
  padding: 0.6rem 1.4rem;
  border-radius: 6px;
}

/* --- RESPONSIVE --- */
@media (max-width: 768px) {
  .job-hero h1 {
    font-size: 2rem;
  }

  .job-card {
    padding: 1.5rem;
  }

  .why-section h2 {
    font-size: 1.6rem;
  }

  .why-section p {
    font-size: 1.2rem;
  }
}

.equipo-section {
  background: linear-gradient(135deg, #1e3a8a, #0f172a);
  color: #fff;
}

.equipo-section h2 {
  color: #fff;
  font-size: 2.5rem;
  font-weight: 700;
}

.equipo-card {
  background: #060f2b;
  border-radius: 12px;
  padding: 1rem;
  margin: 0.5rem;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.3);
  transition: transform 0.3s ease-in-out;
}

.equipo-card:hover {
  transform: scale(1.03);
}

.equipo-card h5 {
  font-size: 1.6rem;
  color: #00d1ff;
}

.equipo-card .cargo {
  font-size: 1.4rem;
  color: #ccc;
  font-weight: 500;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
  background-color: #00d1ff;
  border-radius: 50%;
  padding: 0.6rem;
}


/* SALA DE PRENSA */

.press-card {
  background-color: #060F2B;
  border-radius: 12px;
  padding: 1.5rem;
  color: #fff;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.press-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.3);
}

.press-image {
  width: 100%;
  height: 180px;
  object-fit: cover;
  border-radius: 8px;
}

.press-title {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 0.75rem;
}

.press-excerpt {
  font-size: 1.4rem;
  color: #d1d5db;
  margin-bottom: 1rem;
  flex-grow: 1;
}

.press-author {
  font-size: 1rem;
  color: #94a3b8;
  margin-bottom: 1rem;
}

.press-card .btn {
  font-size: 0.95rem;
  padding: 0.4rem 1rem;
  border-radius: 6px;
}

@media (max-width: 768px) {
  .press-title {
    font-size: 1.2rem;
  }

  .press-excerpt {
    font-size: 1.1rem;
  }

  .press-card .btn {
    font-size: 0.9rem;
  }
}

.btn-outline-info {
  text-decoration: none;
  border-radius: 5px;
  border: 1px solid #00d1ff;
  text-align: center;
  font-weight: 700;
  color: #00d1ff;
  font-size: 1.6rem;
  padding: 0.4rem 1rem;
  transition: all 0.2s ease-in-out;
}

.btn-outline-info:hover {
  background-color: #00d1ff;
  color: #000;
}

/* Estilos para artículos individuales */
.article-page {
  background: #121212;
  color: #f8f8f8;
  font-family: "Space Grotesk", sans-serif;
}

.article-page main.article-container {
  max-width: 70ch;
  margin: 0 auto;
  padding: 3rem 1.5rem;
  font-size: 1.8rem;
  line-height: 1.8;
}

.article-page .article-title {
  font-size: 3rem;
  font-weight: 700;
  margin-bottom: 1rem;
  color: #ffffff;
  line-height: 1.2;
}

.article-page .article-meta {
  font-size: 1.3rem;
  color: #a0aec0;
  margin-bottom: 2rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.article-page .article-meta strong {
  color: #00e5a0;
}

.article-page .article-meta .reading-time {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-left: auto;
  background: rgba(0, 229, 160, 0.1);
  padding: 0.3rem 0.8rem;
  border-radius: 20px;
  font-size: 1.2rem;
  color: #00e5a0;
}

.article-page .article-meta .reading-time i {
  width: 1.2rem;
  height: 1.2rem;
}

.article-page .article-image {
  width: 100%;
  border-radius: 12px;
  margin-bottom: 2.5rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}

.article-page .article-content {
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: 0.01em;
}

.article-page .article-content .lead {
  font-size: 1.9rem;
  line-height: 1.7;
  color: #00e5a0;
  font-weight: 400;
  margin-bottom: 2.5rem;
  border-left: 4px solid #00e5a0;
  padding-left: 1.5rem;
  font-style: italic;
}

.article-page .article-content p {
  margin-bottom: 1.8rem;
  font-size: 1.7rem;
  line-height: 1.8;
  color: #f0f0f0;
}

.article-page .article-content ul,
.article-page .article-content ol {
  margin-bottom: 1.8rem;
  padding-left: 2rem;
}

.article-page .article-content li {
  margin-bottom: 0.8rem;
  line-height: 1.6;
}

.article-page .article-content a {
  color: #00e5a0;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color 0.3s ease;
}

.article-page .article-content a:hover {
  border-color: #00e5a0;
}

.article-page h2,
.article-page h3 {
  border-left: 4px solid #00e5a0;
  padding-left: 1rem;
  margin-top: 3rem;
  margin-bottom: 1.5rem;
  line-height: 1.3;
  color: #ffffff;
}

.article-page h2 {
  font-size: 2.4rem;
}

.article-page h3 {
  font-size: 2rem;
  margin-top: 2rem;
}

.article-page blockquote {
  background: #1a1a1a;
  font-style: italic;
  margin: 2rem 0;
  padding: 1.5rem 2rem;
  border-left: 4px solid #00e5a0;
  border-radius: 0 8px 8px 0;
}

.article-page blockquote p:last-child {
  margin-bottom: 0;
}

.article-page hr {
  border: none;
  border-top: 1px solid #2a2a2a;
  margin: 2.5rem 0;
}

.article-page .share-buttons {
  display: flex;
  align-items: center;
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid #2a2a2a;
}

.article-page .share-buttons span {
  margin-right: 1.5rem;
  font-size: 1.4rem;
  font-weight: 600;
  color: #a0aec0;
}

.article-page .share-buttons a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.8rem;
  height: 3.8rem;
  background: #1a1a1a;
  color: #f2f2f2;
  border-radius: 50%;
  transition: all 0.3s ease;
  margin-right: 1.2rem;
  text-decoration: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.article-page .share-buttons a:hover {
  background: #00e5a0;
  color: #121212;
  transform: translateY(-3px);
  box-shadow: 0 4px 12px rgba(0, 229, 160, 0.3);
}

/* Navegación entre artículos */
.article-navigation {
  display: flex;
  justify-content: space-between;
  margin-top: 3rem;
  padding-top: 1.5rem;
  border-top: 1px solid #2a2a2a;
}

.article-nav-previous, 
.article-nav-next {
  max-width: 45%;
}

.article-nav-next {
  text-align: right;
}

.article-navigation .nav-link {
  display: block;
  padding: 0.8rem 1rem;
  color: #f2f2f2;
  text-decoration: none;
  border-radius: 8px;
  transition: all 0.3s ease;
  background: #1a1a1a;
}

.article-navigation .nav-link:hover {
  background: rgba(0, 229, 160, 0.1);
  transform: translateY(-2px);
}

.article-navigation .nav-label {
  display: block;
  font-size: 1.2rem;
  color: #a0aec0;
  margin-bottom: 0.3rem;
}

.article-navigation .nav-title {
  display: block;
  font-size: 1.4rem;
  font-weight: 600;
  color: #00e5a0;
}

@media (max-width: 576px) {
  .article-navigation {
    flex-direction: column;
    gap: 1rem;
  }
  
  .article-nav-previous, 
  .article-nav-next {
    max-width: 100%;
  }
  
  .article-nav-next {
    text-align: left;
  }
}

.article-page .reading-progress-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 5px;
  background: rgba(255, 255, 255, 0.1);
  z-index: 10000;
}

.article-page .reading-progress-bar {
  height: 100%;
  width: 0;
  background: linear-gradient(90deg, #00e5a0, #00b3e6);
}

/* Accesibilidad y ajustes de lectura */
.article-page .font-resizer {
  position: fixed;
  right: 2rem;
  bottom: 2rem;
  display: flex;
  gap: 0.5rem;
  z-index: 999;
}

.article-page .font-resizer button {
  width: 3.5rem;
  height: 3.5rem;
  border: none;
  border-radius: 50%;
  background: #1a1a1a;
  color: #f2f2f2;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.article-page .font-resizer button:hover {
  background: #00e5a0;
  color: #121212;
  transform: translateY(-2px);
}

/* Ajustes responsive */
@media (min-width: 768px) {
  .article-page main.article-container {
    font-size: 2rem;
    padding: 4rem 0;
  }
  
  .article-page .article-content p {
    font-size: 1.8rem;
  }
  
  .article-page .article-title {
    font-size: 3.5rem;
  }
  
  .article-page h2 {
    font-size: 2.6rem;
  }
  
  .article-page h3 {
    font-size: 2.2rem;
  }
}

@media (max-width: 576px) {
  .article-page main.article-container {
    padding: 2rem 1.2rem;
  }
  
  .article-page .article-title {
    font-size: 2.4rem;
  }
  
  .article-page .article-content p {
    font-size: 1.6rem;
  }
  
  .article-page h2 {
    font-size: 2rem;
  }
  
  .article-page h3 {
    font-size: 1.8rem;
  }
  
  .article-page .share-buttons {
    flex-wrap: wrap;
  }
  
  .article-page .share-buttons span {
    width: 100%;
    margin-bottom: 1rem;
  }
}

/* 🔐 Seguridad - Estilos específicos */
.security-section {
  background: linear-gradient(90deg, #1E3A8A, #0F172A);
  padding: 4rem 0;
  color: #fff;
}

.security-section h1,
.security-section h2,
.security-section h3,
.security-section h4 {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 600;
}

.security-section h1 {
  font-size: 2.8rem;
}

.security-section h3 {
  font-size: 1.8rem;
  margin-top: 2rem;
}

.security-section h4 {
  font-size: 1.4rem;
  margin-top: 1.5rem;
  color: #0ff;
  /* celeste llamativo */
}

.security-section ul {
  list-style: none;
  padding-left: 0;
  margin-bottom: 2rem;
}

.security-section ul li::before {
  content: "✔️";
  color: #00d1ff;
  margin-right: 0.5rem;
}

.security-section ul li {
  margin-bottom: 0.6rem;
  font-size: 1.1rem;
}

.security-section p {
  font-size: 1.1rem;
  line-height: 1.6;
}

.security-section .btn-primary {
  background-color: #00d1ff;
  border: none;
  color: #000;
  font-weight: 600;
  font-size: 1.1rem;
  padding: 0.8rem 2rem;
  border-radius: 8px;
  transition: background-color 0.3s ease;
}

.security-section .btn-primary:hover {
  background-color: #00b3e6;
  color: #000;
}

/* Responsive ajustes */
@media (max-width: 768px) {
  .security-section h1 {
    font-size: 2rem;
  }

  .security-section h3 {
    font-size: 1.4rem;
  }

  .security-section h4 {
    font-size: 1.2rem;
  }

  .security-section ul li {
    font-size: 1rem;
  }
}

.hero-planta {
  background: #f5f9f6;
  padding: 3rem 0;
}

.hero-planta h2 {
  font-size: 2rem;
  color: #256029;
}

.hero-planta p {
  font-size: 1.1rem;
  color: #333;
  line-height: 1.7;
}

.hero-planta a {
  color: #2e7d32;
  font-weight: bold;
  text-decoration: underline;
}

.hero-planta img {
  max-width: 600px;
  width: 100%;
  height: auto;
}


.sustentabilidad-hero {
  background: linear-gradient(135deg, #00d1ff, #9136E9);
  text-align: center;
  padding: 4rem 1rem;
}

.sustentabilidad-hero h1 {
  font-size: 2.8rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

.sustentabilidad-hero .intro {
  font-size: 1.4rem;
  max-width: 700px;
  margin: auto;
}

.sustentabilidad-contenido {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: 4rem 1rem;
}

.sustentabilidad-contenido .texto {
  flex: 1 1 45%;
}

.sustentabilidad-contenido h2 {
  font-size: 2rem;
  color: #00d1ff;
  margin-bottom: 1rem;
}

.sustentabilidad-contenido p {
  font-size: 1.2rem;
  line-height: 1.6;
  margin-bottom: 1.2rem;
}

.btn-tiket {
  background-color: #00d1ff;
  color: #000;
  padding: 0.8rem 1.5rem;
  text-decoration: none;
  font-weight: 600;
  border-radius: 6px;
  display: inline-block;
  transition: background 0.3s ease;
}

.btn-tiket:hover {
  background-color: #00b3e6;
}

.sustentabilidad-contenido .imagen {
  flex: 1 1 45%;
  text-align: center;
}

.sustentabilidad-contenido .imagen img {
  width: 100%;
  max-width: 500px;
  border-radius: 12px;
}

/* Responsive */
@media (max-width: 768px) {
  .sustentabilidad-contenido {
    flex-direction: column;
  }

  .sustentabilidad-contenido .texto,
  .sustentabilidad-contenido .imagen {
    flex: 1 1 100%;
  }

  .sustentabilidad-contenido .texto {
    text-align: center;
  }
}




/* ✅ Wrapper del preloader */
#loader-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1001;
  background: linear-gradient(to right, #5B9CEC, #1A1E2C);
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ✅ Logo centrado */
#loader {
  position: relative;
  width: 360px;
  height: 360px;
}

/* ✅ Estilo del logo */
#loader-logo {
  width: 250px;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* ✅ Círculos giratorios alrededor del logo */
#loader::before,
#loader::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  border: 6px solid transparent;
}

/* Primer círculo (Azul Claro) */
#loader::before {
  top: -20px;
  left: -20px;
  right: -20px;
  bottom: -20px;
  border-top-color: #5B9CEC;
  animation: spin 2s linear infinite;
}

/* Segundo círculo (Morado) */
#loader::after {
  top: -30px;
  left: -30px;
  right: -30px;
  bottom: -30px;
  border-top-color: #9136E9;
  animation: spin-reverse 1.5s linear infinite;
}

/* ✅ Animación de giro */
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

@keyframes spin-reverse {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(-360deg);
  }
}

/* ✅ Desaparición del preloader */
.loaded #loader-wrapper {
  visibility: hidden;
  transform: translateY(-100%);
  transition: all 0.5s ease-out;
}

.loaded #loader {
  opacity: 0;
  transition: opacity 0.3s ease-out;
}




/* ========================
     🔹 CONTENEDORES
     ======================== */
/* Reglas unificadas para .container
   usadas en todo el sitio */

.container {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
  box-sizing: border-box;
}

.font-resizer {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  z-index: 9999;
}

.font-resizer button {
  background: #9136E9;
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 3.6rem;
  height: 3.6rem;
  font-size: 1.6rem;
  cursor: pointer;
  transition: background 0.3s ease;
}

.font-resizer button:hover {
  background: #5B9CEC;
}





/* ========================
   🔹 ESTILOS DEL NAVBAR
======================== */
.navbar-brand img {
  max-height: 50px;
  /* Ajusta el tamaño del logo */
  width: auto;
  /* Mantiene la proporción */
}

.logo {
  width: 100% !important;
  height: 50px !important;
}

/* ✅ Corrección del navbar para alineación */
.navb {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
}

/* ✅ Menú Hamburguesa en Blanco */
.navbar-toggler {
  border-color: rgba(255, 255, 255, 0.8) !important;
  /* Borde blanco */
}

.navbar-toggler-icon {
  filter: invert(1);
  /* Invierte el color (de negro a blanco) */
}



/* ========================
   🔹 RESPONSIVE DESIGN
======================== */
@media (max-width: 991px) {

  /* ✅ Ajustes para que el menú sea más responsivo */
  .navbar-collapse {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }

  .navbar-nav {
    flex-direction: column;
    width: 100%;
  }

  .nav-item {
    width: 100%;
    text-align: center;
  }

  .navb {
    flex-direction: column;
    align-items: center;
    width: 100%;
  }

  /* ✅ Botones adaptables en móviles */
  .btn-out-primary {
    font-size: 1.8rem !important;
    text-align: center !important;
    padding: 8px 16px !important;
    border-radius: 30px !important;
    width: auto !important;
    min-width: 160px !important;
    margin-bottom: 20px;
  }

  .btn-out-pcolor2 {
    text-align: center !important;
    font-size: 1.8rem !important;
    padding: 8px 16px !important;
    border-radius: 30px !important;
    width: auto !important;
    min-width: 160px !important;
  }

  /* ✅ Centrado del selector de idioma */
  .nav-item.language {
    width: 100%;
    display: flex;
    justify-content: center;
  }

  .nav-item.language a {
    justify-content: center;
  }
}

@media (max-width: 768px) {

  /* ✅ Asegura que el menú y botones estén bien alineados */
  .navbar-nav {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .navbar-collapse {
    justify-content: center;
  }
}



/* ✅ Sección Hero */
.section-hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  max-width: 1500px;
  margin: 4rem auto;
  padding: 2rem;
}

/* ✅ Contenedor del texto */
.hero {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  text-align: left;
  padding: 2rem;
}

/* ✅ Texto descriptivo */
.text-hero {

  font-size: 1.8rem;
  color: #D1D5DB;
  line-height: 1.6;
  margin-bottom: 2rem;
}

.container-video {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  z-index: 1;
}

#video-t {
  position: absolute;
  /* Cambiado de fixed a absolute */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
}

.cover {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(0, 0, 0, 0.55);
  /* Oscurece para legibilidad */
}

.cover-info {
  text-align: center;
  padding: 2rem;
  color: white;
}

.cover-info h1 {
  font-size: 4rem;
  font-weight: 700;
}

/* Animación fade-in desde abajo */
.slide-up {
  opacity: 0;
  transform: translateY(30px);
  animation: slideFade 1s forwards;
}

@keyframes slideFade {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 🔹 Estilo degradado solo para .title-highlight dentro de #slider-text */



.title-highlight-2 {
  background: linear-gradient(to right, #5B9CEC, #9136E9);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  font-size: inherit;
  /* ✅ Usa el mismo tamaño que el h2 */
  font-weight: inherit;
  /* ✅ Mantiene consistencia visual */
  font-family: "Space Grotesk", sans-serif;
  font-optical-sizing: auto;

}

/* Fade-in suave */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fade-in {
  animation: fadeInUp 1.2s ease-out forwards;
  animation-delay: 0.3s;
}



/*FIN VIDEO - VARIOS*/

/* ✅ Diseño para Escritorio (1000px en adelante) */
@media (min-width: 1000px) {
  .section-hero {
    flex-direction: row;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .hero {
    flex: 1;
    max-width: 50%;
    text-align: left;
  }

  .gif-container {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}



/* ==========================
   🔹 SECCIÓN DE CONTACTO
   ========================== */

.background {
  padding: 3rem 1rem;
   background-color: #0B1220;
  min-height: 100vh;
  display: block;
}

/* Estilo para títulos de sección */
.section-title {
  text-align: center;
  margin: 2rem auto;
}

/* ✅ Centrar el título */
.contact-t {
  display: block;
  font-size: 1.8rem;
  font-weight: bold;
  color: white;
  text-align: center;
  margin-bottom: 30px;
}

/* ✅ Imagen alineada correctamente */
.img-contact {
  width: 100%;
  max-width: 450px;
  /* Ajusta según necesidad */
  border-radius: 15px;
}

/* ✅ Estilos del texto */
.contact-text {
  text-align: left;
  color: white;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: 40px;
}

.features-wow {
  background-color: #0B1220;
  padding: 4rem 2rem;
  color: #fff;
}

.features-wow-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  max-width: 1200px;
  margin: 3rem auto 0;
}

.wow-feature-card {
  background-color: #1A1E2C;
  border: 2px solid transparent;
  border-radius: 1rem;
  padding: 2rem;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  position: relative;
  text-align: center;
  transition: transform 0.3s ease;
}

.wow-feature-card::before {
  content: '';
  position: absolute;
  top: -2px;
  left: -2px;
  right: -2px;
  bottom: -2px;
  z-index: -1;
  border-radius: inherit;
  background: linear-gradient(to right, #5B9CEC, #9136E9);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  -webkit-mask-composite: destination-out;
}

.wow-feature-card:hover {
  transform: scale(1.02);
}

.wow-feature-icon {
  background-color: #5B9CEC;
  color: #fff;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  margin: 0 auto 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
}

.wow-feature-card h4 {
  font-size: 1.4rem;
  font-weight: 600;
  color: #ffffff;
  margin-bottom: 0.8rem;
}

.wow-feature-card p {
  font-size: 1.4rem;
  color: #D1D5DB;
  line-height: 1.6;
}

/* 🔁 Responsive */
@media (min-width: 768px) {
  .features-wow-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .features-wow-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}




/* ✅ Botón de contacto */


.contact-button:hover {
  background-color: transparent;
  color: #5B9CEC;
}

/* ✅ Ajuste responsive para móviles */
@media (max-width: 768px) {
  .contact-text {
    text-align: center;
    padding-left: 0;
    padding-top: 20px;
  }

  .img-contact {
    max-width: 300px;
  }
}

/* Contenedor sin fondo y con separación */
.button-container-2 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
  /* Agrega espacio entre los botones */
  padding: 20px;
}

@media (min-width: 768px) {
  .button-container-2 {
    flex-direction: row;
    /* Los botones estarán en fila */
    justify-content: center;
  }
}

.hotspot-container {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

.responsive-image {
  width: 100%;
  height: auto;
  display: block;
}

.hotspot {
  position: absolute;
  transform: translate(-50%, -50%);
  z-index: 2;
}

.dot {
  width: 16px;
  height: 16px;
  border: 3px solid #B478F1;
  background: #1a1e2c;
  border-radius: 50%;
  cursor: pointer;
  transition: background 0.3s;
}

.dot:focus {
  outline: 2px solid #66aad7;
  outline-offset: 3px;
}

.tooltip {
  position: absolute;
  bottom: calc(100% + 0.8rem);
  left: 50%;
  transform: translateX(-50%);
  background: #9136E9;
  color: #ffffff;
  padding: 1rem 1.5rem;
  border-radius: 8px;
  white-space: nowrap;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.2);
  font-family: "Space Grotesk", sans-serif;
  font-size: 1.5rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  z-index: 10;
}

.tooltip.visible {
  opacity: 1;
  pointer-events: auto;
}

.tooltip h4 {
  margin: 0 0 0.3rem;
  font-size: 2rem;
  font-weight: bold;
}

.tooltip p {
  margin: 0;
  font-size: 1.8rem;
}

/* Responsive */
@media (max-width: 768px) {
  .tooltip {
    font-size: 1.4rem;
    white-space: normal;
    padding: 0.6rem 1rem;
    max-width: 280px;
  }

  .tooltip h4 {
    font-size: 1.4rem;
  }

  .tooltip p {
    font-size: 1.4rem;
  }

  .dot {
    width: 18px;
    height: 18px;
    border-width: 2px;
  }
}

.casos-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem;
  padding: 2rem;
}

.caso-card {
  background: rgba(255, 255, 255, 0.04);
  border-radius: 1rem;
  text-align: center;
  padding: 2rem;
  width: 260px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
  transition: transform 0.3s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
}

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

.caso-img-1 {
  width: 100px;
  height: 100px;
  object-fit: cover;
  border-radius: 50%;
  border: 2px solid #fff;
  margin-bottom: 1rem;
}

.caso-industria {
  font-size: 1.8rem;
  color: #a688f7;
  margin-bottom: 0.6rem;
  font-weight: 600;
}

.caso-resumen {
  font-size: 1.4rem;
  color: #fff;
  margin-bottom: 1.2rem;
}

.caso-firma {
  font-size: 1.4rem;
  color: #aaa;
  margin-bottom: auto;
  /* 👈 empuja el botón hacia abajo */
}

.caso-link {
  color: #66aad7;
  font-weight: bold;
  text-decoration: none;
  font-size: 1.4rem;
}

.caso-link:hover {
  text-decoration: underline;
}

@media (max-width: 600px) {
  .caso-card {
    width: 100%;
    max-width: 320px;
  }
}

.exito-container {
  background-color: #0B1220;
  padding: 4rem 1.5rem;
  color: #f2f2f2;
  max-width: 1300px;
  margin: 0 auto;
}

.exito-container h2 {
  font-size: 2.8rem;
  text-align: center;
  margin-bottom: 3rem;
  color: #ffffff;
}

/* Grid de tarjetas */
.exito-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  /* 3 columnas en escritorio */
  gap: 2rem;
}

/* Tarjeta individual */
.exito-card {
  background-color: rgba(255, 255, 255, 0.05);
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  transition: transform 0.3s ease;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.exito-card:hover {
  transform: translateY(-6px);
}

/* Imagen */
.exito-card img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
}

/* Contenido */
.exito-card-body {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-grow: 1;
}

.exito-card-title {
  font-size: 1.6rem;
  font-weight: 600;
  margin-bottom: 0.8rem;
  color: #fff;
}

.exito-card-text {
  font-size: 1.4rem;
  color: #ccc;
  margin-bottom: 1rem;
}

.exito-card-link {
  text-decoration: none;
  color: #66aad7;
  font-weight: bold;
  font-size: 1.3rem;
}

/* Paginación */
.exito-paginacion {
  text-align: center;
  margin-top: 3rem;
}

.exito-paginacion button {
  margin: 0 5px;
  padding: 0.6rem 1.2rem;
  background: none;
  border: 1px solid #66aad7;
  color: #fff;
  border-radius: 5px;
  cursor: pointer;
  transition: background 0.3s ease;
}

.exito-paginacion button.active,
.exito-paginacion button:hover {
  background-color: #66aad7;
  color: #0B1220;
}

/* RESPONSIVE */
@media (max-width: 1024px) {
  .exito-grid {
    grid-template-columns: repeat(2, 1fr);
    /* 2 tarjetas en tablets */
  }
}

@media (max-width: 768px) {
  .exito-grid {
    grid-template-columns: 1fr;
    /* 1 tarjeta en móviles */
  }

  .exito-card-body {
    text-align: center;
  }

  .exito-card-title {
    font-size: 1.4rem;
  }

  .exito-card-text {
    font-size: 1.2rem;
  }
}





/* ========================
   🔹 SECCIÓN DE Botones
======================== */
.btn-out-primary {
  all: unset;
  border: 2px solid #5B9CEC !important;
  border-radius: 50px !important;
  padding: 8px 20px !important;
  color: #5B9CEC !important;
  font-family: "Space Grotesk", sans-serif !important;
  font-optical-sizing: auto !important;
  font-weight: 500 !important;
  font-size: 2rem !important;
  background: transparent !important;
  background-color: transparent !important;
  display: inline-block !important;
  text-align: center !important;
}

.btn-out-pcolor2 {
  all: unset;
  border: 2px solid#9136e9 !important;
  border-radius: 50px !important;
  padding: 8px 20px !important;
  color: #9136e9 !important;
  font-family: "Space Grotesk", sans-serif !important;
  font-optical-sizing: auto !important;
  font-weight: 500 !important;
  font-size: 2rem !important;
  background: transparent !important;
  background-color: transparent !important;
  display: inline-block !important;
  text-align: center !important;
}

.custom-button {
  border: none;
  border-radius: 2rem;
  background: linear-gradient(to right, #5B9CEC, #9136E9);
  color: white;
  font-weight: bold;
  font-size: 1.8rem;
  width: 100%;
  padding: 0.85rem 1.2rem;
  margin-top: 1rem;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  transition: background 0.3s ease, transform 0.2s ease;
}

/* Sección "Somos THE TIKET" */
.about-section {
  padding: 5rem 2rem;
}

.about-section .text-hero {
  font-size: 1.6rem;
  margin-bottom: 2rem;
  line-height: 1.8;
  color: #ccc;
}

/* Sección Carta CEO */
.carta-ceo-section {
  padding: 5rem 2rem;
}

.carta-ceo-section .text-hero {
  font-size: 1.6rem;
  margin-bottom: 2rem;
  line-height: 1.8;
  color: #ccc;
}

/* Botón */
.button-container {
  margin-top: 2rem;
  text-align: center;
}

/* Modal Estilos */
.modal {
  display: none;
  position: fixed;
  z-index: 9999;
  padding-top: 10vh;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(10, 10, 10, 0.8);
  backdrop-filter: blur(5px);
}

.modal-content {
  background-color: #1A1E2C;
  margin: auto;
  padding: 3rem;
  border-radius: 12px;
  width: 90%;
  max-width: 600px;
  color: #fff;
  font-size: 1.4rem;
  position: relative;
}

.close {
  color: #aaa;
  position: absolute;
  top: 1rem;
  right: 2rem;
  font-size: 2rem;
  font-weight: bold;
  cursor: pointer;
  transition: color 0.3s ease;
}

.close:hover {
  color: #fff;
}

.contact-button {
  background-color: #5B9CEC;
  border: 2px solid #5B9CEC;
  color: white;
  font-size: 1.6rem;
  padding: 12px 24px;
  border-radius: 25px;
  margin-top: 15px;
  transition: 0.3s;
}

/* 🔹 Sección de Registro (Business y TIKER) */
.registro-seccion {
  padding: 6rem 2rem;
}

.registro-grid {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  align-items: center;
  justify-content: center;
}

@media (min-width: 992px) {
  .registro-grid {
    flex-direction: row;
    gap: 4rem;
  }
}

.registro-card {
  background-color: #1A1E2C;
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: 3rem;
  border-radius: 1.5rem;
  text-align: center;
  color: #ffffff;
  width: 100%;
  max-width: 480px;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  transition: transform 0.3s ease;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.2);
}

.registro-card:hover {
  transform: translateY(-8px);
}

.icono-contenedor {
  background-color: #9136E9;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.icono-contenedor i {
  color: #ffffff;
  width: 42px;
  height: 42px;
}

.registro-card h3 {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.registro-card p {
  font-size: 1.6rem;
  color: #ccc;
}

/* Botón dentro de la tarjeta */
.registro-card .btn-out-primary {
  margin-top: auto;
  padding: 1rem 2rem;
  font-size: 1.4rem;
  border-radius: 2rem;
}


/* 🔹 Contenedor general */
.form-section {
  padding: 5rem 1rem;
  background-color: #0e0e17;
  display: flex;
  justify-content: center;
}

/* 🔹 Formulario principal */
.registro-formulario {
  width: 100%;
  max-width: 700px;
  background-color: #161F2D;
  padding: 3rem;
  border-radius: 1.2rem;
  box-shadow: 0 0 25px rgba(0, 0, 0, 0.2);
  color: #fff;
  font-family: 'Space Grotesk', sans-serif;
  transition: all 0.3s ease;
}

/* 🔹 Título */
.registro-formulario h2 {
  text-align: center;
  color: #66AAD7;
  margin-bottom: 2.5rem;
  font-size: 2.2rem;
  font-weight: 600;
}

/* 🔹 Campo */
.registro-formulario .form-group {
  margin-bottom: 2rem;
}

.registro-formulario label {
  display: block;
  margin-bottom: 0.8rem;
  font-weight: 600;
  font-size: 1.5rem;
  color: #cccccc;
}

.registro-formulario input,
.registro-formulario select {
  width: 100%;
  padding: 1.2rem;
  border-radius: 0.7rem;
  border: none;
  background-color: #2A2F40;
  color: #fff;
  font-size: 1.4rem;
  transition: background-color 0.3s ease;
}

.registro-formulario input:focus,
.registro-formulario select:focus {
  outline: none;
  background-color: #3b435a;
}

/* 🔹 Botón */
.registro-formulario .submit-btn {
  width: 100%;
  background: linear-gradient(to right, #5B9CEC, #9136E9);
  padding: 1.2rem;
  font-size: 1.5rem;
  font-weight: 600;
  border: none;
  border-radius: 2rem;
  color: #fff;
  cursor: pointer;
  transition: background 0.3s ease;
}

.registro-formulario .submit-btn:hover {
  background: linear-gradient(to right, #66AAD7, #A158E8);
}

/* 🔹 Responsive - Mobile */
@media (max-width: 576px) {
  .registro-formulario {
    padding: 2rem;
    border-radius: 1rem;
  }

  .registro-formulario h2 {
    font-size: 1.8rem;
  }

  .registro-formulario label {
    font-size: 1.3rem;
  }

  .registro-formulario input,
  .registro-formulario select {
    font-size: 1.2rem;
    padding: 1rem;
  }

  .registro-formulario .submit-btn {
    font-size: 1.3rem;
    padding: 1rem;
  }
}

/* 🔹 Responsive - Desktop XL */
@media (min-width: 1200px) {
  .registro-formulario {
    padding: 4rem;
  }

  .registro-formulario h2 {
    font-size: 2.5rem;
  }
}

/* ========================
   🔹 SECCIÓN DE EXPERIENCIA
   ======================== */

.experience-section {
  background-color: #0B1220;
  padding: 4rem 1rem;
}

.experience-container {
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 1rem;
}

.experience-title {
  font-size: 2.8rem;
  font-weight: 700;
  color: #fff;
  text-align: center;
  margin-bottom: 3rem;
}

.experience-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem;
  align-items: stretch;
}

.detail-experiencie {
  text-align: center;
}

.experience-box {
  background-color: #1A1E2C;
  color: #fff;
  padding: 2rem;
  border-radius: 1rem;
  flex: 1 1 calc(50% - 2rem);
  max-width: 700px;
  border: 0.5px solid #aeaeae;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: auto;
  box-sizing: border-box;
  transition: transform 0.3s ease;
  min-height: 100%;
}

.experience-box:hover {
  transform: translateY(-4px);
}

.experience-heading {
  font-size: 2.1rem;
  font-weight: 700;
  color: #a688f7;
  text-align: center;
  margin-bottom: 1rem;
}

.experience-text {
  font-size: 1.8rem;
  text-align: left;
  margin-bottom: 2rem;
  flex-grow: 1;
  display: block;
  line-height: 1.6;
}

.button-container {
  text-align: center;
  margin-top: auto;
}

/* 🔁 Responsive */
@media (max-width: 768px) {
  .experience-box {
    height: 100%;
    display: flex;
    flex-direction: column;
  }

  .experience-title {
    font-size: 2.2rem;
  }

  .experience-text {
    flex-grow: 1;
    font-size: 1.6rem;
  }

  .experience-heading {
    font-size: 1.6rem;
  }
}



/* Botón universal */


.custom-button:hover {
  background: linear-gradient(to right, #4a84d3, #7e30d1);
  transform: translateY(-2px);
}

/* Botón contenedor */
.button-container {
  text-align: center;
}

/* Responsive: tarjetas en columna en pantallas pequeñas */
@media (max-width: 991px) {
  .experience-box {
    flex: 1 1 100%;
  }
}

/* 🔹 SECCIÓN WOW ESTILO DASHBOARD */
.wow-section {
  background-color: #0B1220;
  color: #fff;
  padding: 4rem 2rem;
}

.wow-container {
  max-width: 1200px;
  margin: auto;
  padding: 0 2rem;
}

.wow-header {
  text-align: center;
  margin-bottom: 4rem;
}

.wow-title {
  font-size: 2.8rem;
  font-weight: 700;
  text-align: center;
  color: #5B9CEC;
  margin-bottom: 0.5rem;
}

.wow-title .title-highlight {
  font-size: inherit;
  /* ✅ Usa el mismo tamaño que el h2 */
  font-weight: inherit;
  /* ✅ Mantiene consistencia visual */
  background: linear-gradient(to right, #5B9CEC, #9136E9);
  -webkit-background-clip: text;
  background-clip: text;
  /* ✅ Estándar para otros navegadores */
  color: transparent;
  display: inline;
}

.wow-title span {
  display: block;
  color: #ffffff;
  font-weight: 400;
  font-size: 2.2rem;
}

.wow-subtitle {
  text-align: center;
  font-size: 2rem;
  color: #D1D5DB;
}

/* Tarjetas contenedor */
.wow-cards {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

/* CARD VISUAL */
.wow-card {
  background-color: #1A1E2C;
  border-left: 3px solid;
  border-bottom: 0.5px solid;
  border-top: 0.5px solid;
  border-right: 0.5px solid;
  border-radius: 1rem;
  padding: 2rem;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* Bordes por estado */
.border-error {
  border-color: #EF4444;
}

.border-focus {
  border-color: #F59E0B;
}

.border-success {
  border-color: #42C374;
}

/* ÍCONO + TÍTULO */
.wow-icon-label {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}

.wow-icon {
  font-size: 2rem;
}

.wow-label {
  font-size: 1.8rem;
  font-weight: bold;
}

/* LISTA Y TEXTOS */
.wow-list {
  list-style: none;
  padding-left: 0;
  font-size: 1.6rem;
  color: #D1D5DB;
  margin: 0;
}

.wow-list li {
  margin-bottom: 0.8rem;
}

.wow-desc,
.wow-highlight {
  font-size: 1.8rem;
  line-height: 1.6;
  color: #ffffff;
}

.wow-highlight {
  font-weight: 500;
}

/* RESPONSIVE */
@media (max-width: 768px) {
  .wow-title {
    font-size: 2.2rem;
  }

  .wow-title span {
    font-size: 1.6rem;
  }

  .wow-label {
    font-size: 1.6rem;
  }

  .wow-icon {
    font-size: 1.8rem;
  }

  .wow-card {
    padding: 1.5rem;
  }
}

@media (min-width: 1024px) {
  .wow-cards {
    flex-direction: row;
    justify-content: space-between;
    gap: 2rem;
  }

  .wow-card {
    flex: 1;
  }
}

.hero-card {
  background-color: #161F2D;
  border: 0.5px solid #aeaeae;
  border-radius: 1rem;
  overflow: hidden;
  margin: 4rem 0;
  max-width: 800px;
}

.hero-image {
  height: 300px;
  width: 100%;
  max-width: 800px;

}

.hero-image img {
  height: 100%;
  width: 100%;
  display: block;
  object-fit: cover;
}

.hero-content {
  padding: 2.5rem 2rem;
  color: #ffffff;
}

.hero-text {
  font-size: 1.8rem;
  line-height: 1.7;
  margin-bottom: 1.5rem;
}

.hero-slogan {
  font-size: 3rem;
  font-style: italic;
  font-weight: 500;
  color: #ffffff;
  margin-bottom: 2rem;
}


/* Responsive */
@media (max-width: 768px) {
  .hero-content {
    padding: 2rem 1.5rem;
  }

  .hero-text {
    font-size: 1.5rem;
  }

  .hero-slogan {
    font-size: 1.3rem;
  }
}

.hero-wrapper {
  display: flex;
  justify-content: center;
}



/* ✅ SECCIÓN PRINCIPAL */
.about-section {
  text-align: center;
  padding: 50px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  opacity: 0;
  transform: translateX(-100px);
  /* ✅ Inicia desde la izquierda */
  transition: opacity 1s ease-in-out, transform 1s ease-in-out;
  overflow: hidden;
  /* ✅ Evita desbordamientos */
}

/* ✅ EFECTO DE APARICIÓN DESDE LA IZQUIERDA */
.about-section.visible {
  opacity: 1;
  transform: translateX(0);
}

/* ✅ CONTENEDOR DE IMAGEN */
.img-container-ab {
  width: 100%;
  max-width: 800px;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 20px 20px 0 0;
  /* ✅ Bordes redondeados solo en la parte superior */
  position: relative;
}

/* ✅ IMAGEN CON DEGRADADO HACIA LA TARJETA */
.img-about {
  width: 100%;
  height: auto;
  object-fit: cover;
  position: relative;
  z-index: 1;

  /* ✅ Bordes superiores redondeados */
  border-radius: 20px 20px 0 0;

  /* ✅ Degradado inferior para fusionarse con la tarjeta */
  -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 85%, rgba(0, 0, 0, 0));
  mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 85%, rgba(0, 0, 0, 0));
}

/* ✅ TARJETA DE TEXTO */
.about-container {
  background: linear-gradient(to bottom, rgba(42, 26, 77, 0.9), rgba(255, 255, 255, 0.1));
  border-radius: 0px 0px 20px 20px;
  /* ✅ Solo redondeado abajo */
  padding: 30px;
  max-width: 800px;
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.3);
  position: relative;
  z-index: 2;
}

/* ✅ TÍTULO */
.about-title {
  font-size: 3rem;
  font-weight: bold;
  color: #D1D5DB;
  margin-bottom: 20px;
}


/* ✅ Degradado en la palabra "SOMOS" */
.title-highlight {
  background: linear-gradient(to right, #5B9CEC, #9136E9);
  background-clip: text;
  -webkit-background-clip: text;
  -moz-background-clip: text;
  -o-background-clip: text;
  -ms-background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  /* Para Safari y Chrome */
  font-size: inherit;
  /* ✅ Usa el mismo tamaño que el h2 */
  font-weight: 700;
  /* ✅ Mantiene consistencia visual */
  font-family: "Space Grotesk", sans-serif;
  font-optical-sizing: auto;
}

/* ✅ TEXTO */
.about-text {
  font-size: 1.8rem;
  color: #D1D5DB;
  line-height: 1.6;
}

/* ✅ BOTÓN CON DEGRADADO */


/* ✅ Efecto hover en el botón */
.about-btn:hover {
  filter: brightness(1.3);
}

/* ✅ RESPONSIVE PARA MÓVILES */
@media (max-width: 768px) {
  .about-content {
    width: 100%;
    text-align: center;
  }

  .img-container-ab,
  .about-container {
    width: 100%;
  }
}

/* ✅ TEXTO */
.about-text {
  font-size: 1.8rem;
  color: #D1D5DB;
  line-height: 1.6;
}

/* ✅ BOTÓN CON DEGRADADO */


/* ✅ Efecto hover en el botón */
.about-btn:hover {
  filter: brightness(1.3);
}

/* ✅ RESPONSIVE PARA MÓVILES */
@media (max-width: 768px) {
  .about-content {
    width: 100%;
    text-align: center;
  }

  .img-container-ab,
  .about-container {
    width: 100%;
  }
}

.plans-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 4rem;
  padding: 1.5rem;
  opacity: 0;
  transform: translateX(-100px);
  transition: opacity 1s ease-out, transform 1s ease-out;
}

.plans-section.visible {
  opacity: 1;
  transform: translateX(0);
}

.plan-cimage {
  margin-top: 2rem;
  height: auto;
  width: 100%;
  max-width: 700px;
  display: flex;
  justify-content: center;
}

.img-plan {
  width: 100%;
  object-fit: cover;
}

/* ✅ Ajuste para pantallas de escritorio grandes (1200px - 1440px) */
@media (min-width: 1200px) {
  .plans-section {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    max-width: 1500px;
    margin: auto;
  }

  .plan-cimage {
    flex: 1;
    max-width: 50%;
    margin-right: 2rem;
  }

  .img-plan {
    max-width: 100%;
    height: auto;
  }

  .plan-content {
    flex: 1;
    max-width: 50%;
  }
}

/* ✅ Ajuste para pantallas 1440px */
@media (min-width: 1440px) {
  .plans-section {
    max-width: 1500px;
  }

  .plan-cimage {
    max-width: 48%;
  }

  .plan-content {
    max-width: 48%;
  }
}

.button-container {
  margin-top: 2rem;
}



/* ========================
   🔹 Footer
   ======================== */

.footer {
  background: linear-gradient(to right, #0B1220, #1A1E2C);
  border-top: 0.5px solid #aeaeae;
  color: white;
  padding: 4rem 2rem;
  text-align: center;
}

.footer-main {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  max-width: 1440px;
  margin: 0 auto 3rem auto;
  gap: 2rem;
}

.logo-col {
  flex: 1.2;
  min-width: 220px;
  text-align: left;
}

.footer-sections {
  display: flex;
  gap: 3rem;
  flex: 4;
  flex-wrap: wrap;
  justify-content: space-between;
}

.footer-col {
  min-width: 160px;
}

.footer-logo {
  max-width: 160px;
  margin-bottom: 1rem;
}

.footer-title {
  font-weight: bold;
  text-transform: uppercase;
  font-size: 1.6rem;
}

.footer-heading {
  text-transform: uppercase;
  font-weight: bold;
  margin-bottom: 1rem;
  font-size: 1.6rem;
}

.footer-links {
  list-style: none;
  padding: 0;
}

.footer-links li {
  margin-bottom: 0.6rem;
}

.footer-links a {
  text-align: center;
  color: #fff;
  text-decoration: none;
  font-size: 1.4rem;
  transition: color 0.3s ease-in-out;
}

.footer-links a:hover {
  color: #9136E9;
}

/* Redes Sociales */
.social-links {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-bottom: 1rem;
}

.social-icon {
  font-size: 1.6rem;
  color: white;
  text-decoration: none;
  transition: color 0.3s ease-in-out, transform 0.3s ease-in-out;
}

.social-icon:hover {
  color: #9136E9;
  transform: scale(1.2);
}

/* App Store */
.app-links {
  display: flex;
  justify-content: center;
  gap: 1rem;
  margin-bottom: 1rem;
}

.app-links img {
  width: 120px;
}

/* Idioma y ciudad */
.language-location {
  font-size: 1.2rem;
  margin-bottom: 1rem;
}

/* Políticas */
.footer-policies {
  font-size: 1.2rem;
  margin-bottom: 1rem;
}

.footer-policies a {
  color: white;
  margin: 0 0.5rem;
  text-decoration: none;
}

.footer-policies a:hover {
  color: #9136E9;
}

/* Créditos */
.footer-bottom {
  font-size: 1.2rem;
  color: #777;
  border-top: 1px solid #333;
  padding-top: 1rem;
  margin-top: 2rem;
}

/* Responsive */
@media (max-width: 768px) {
  .footer-main {
    flex-direction: column;
    align-items: center;
  }

  .footer-sections {
    flex-direction: column;
    align-items: center;
  }

  .logo-col {
    text-align: center;
  }
}


.site-hero {
  position: relative;
  width: 100%;
  height: 50vh;
  overflow: hidden;
}

/* 🔹 Imagen de fondo */
.hero-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
}

/* 🔹 Capa con opacidad */
.hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(51, 51, 51, 0.6);
  /* Opacidad del 20% */
  z-index: 0;
}

/* 🔹 Contenido */
.contenido-site-hero {
  position: relative;
  max-width: 1500px;
  padding: 2rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: left;
  text-align: left;
}

/* 🧩 Contenedor padre de las tarjetas */
.ahorro-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-areas:
    "calc ahorro"
    "calc registro";
  gap: 2rem;
  width: 100%;
  margin-top: 2rem;
}

.calculator-container {
  grid-area: calc;
}

.ahorro-total-section {
  grid-area: ahorro;
}

.registro-business-section {
  grid-area: registro;
}



/* ========================
     🔹 RESPONSIVE
  ======================== */
@media (max-width: 991px) {
  .ahorro-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "calc"
      "ahorro"
      "registro";
  }

  .ahorro-total-section,
  .registro-business-section {
    width: 100%;
  }
}



.benefits-list {
  margin-top: 1.5rem;
  list-style: none;
  padding: 0;
}

.benefits-list li {
  display: flex;
  align-items: center;
  color: #D1D5DB;
  font-size: 1.8rem;
  font-weight: 500;
  margin-bottom: 30px;
}

.benefits-list i {
  color: #9136E9;
  /* Ícono en negro */
  font-size: 2rem;
  margin-right: 10px;
}

/* Sección ¿Qué hacemos? */
.que-hacemos {
  background-color: #0B1220;
  color: #fff;
  padding: 4rem 2rem;
  text-align: center;
}

.que-hacemos p {
  font-size: 1.8rem;
  color: #D1D5DB;
  max-width: 800px;
  margin: 1.5rem auto 0 auto;
}

/* Grilla de beneficios */
.beneficios-grid {
  background-color: #0B1220;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem;
  padding: 4rem 2rem;
}

.beneficio {
  padding: 2rem;
  border-radius: 1.2rem;
  border: 1px solid transparent;
  background: linear-gradient(#161F2D, #161F2D) padding-box,
    linear-gradient(to right, #5B9CEC, #9136E9) border-box;
  text-align: left;
  color: #fff;
  max-width: 320px;
  flex: 1 1 300px;
  transition: transform 0.3s ease;
}

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

.beneficio h4 {
  font-size: 1.8rem;
  margin-bottom: 0.8rem;
}

.beneficio p {
  font-size: 1.6rem;
  color: #ffffff;
}

/* CTA final */
.cta {
  background-color: #0B1220;
  padding: 3rem 2rem;
  text-align: center;
}

.cta h3 {
  font-size: 2rem;
  color: #fff;
}

/* Responsive */
@media (max-width: 768px) {
  .beneficios-grid {
    flex-direction: column;
    align-items: center;
  }

  .beneficio {
    width: 100%;
    max-width: 100%;
  }

  .que-hacemos p,
  .cta h3 {
    font-size: 1.5rem;
  }
}


.about-section {
  color: white;
  padding: 60px 20px;
  text-align: center;
}

.about-text h2 {
  font-size: 2.4rem;
  color: #5B9CEC;
  margin-bottom: 10px;
}

.about-text p {
  font-size: 1.8rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.9);
}

.about-image img {
  width: 100%;
  max-width: 500px;
  border-radius: 10px;
}

/* ✅ Misión y Visión */
.mission-vision-section {
  background: linear-gradient(to right, #5B9CEC, #1A1E2C);
  padding: 60px 20px;
  color: white;
  text-align: center;
}

.hero-page {
  position: relative;
  width: 100%;
  height: 60vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background-color: #0B1220;
}

.hero-bg-page {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}

.hero-overlay-page {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.55);
  z-index: 2;
}

.hero-content-page {
  position: relative;
  z-index: 3;
  max-width: 950px;
  padding: 0 2rem;
  text-align: center;
}

.hero-title-page {
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.4;
  color: #ffffff;
}



/* Responsive */
@media (max-width: 768px) {
  .hero-page {
    height: 50vh;
  }

  .hero-title-page {
    font-size: 1.6rem;
  }
}

.mission-box,
.vision-box {
  background: rgba(0, 209, 255, 0.1);
  padding: 30px;
  border-radius: 10px;
  margin-bottom: 20px;
}

.mission-box h3,
.vision-box h3 {
  color: #5B9CEC;
  font-size: 2rem;
}

/* ✅ Valores */
.values-section {
  background: #1A1E2C;
  padding: 60px 20px;
  text-align: center;
  color: white;
}

.values-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  max-width: 1000px;
  margin: 0 auto;
}

.value-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 20px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 10px;
}

.value-item i {
  font-size: 40px;
  color: #5B9CEC;
  margin-bottom: 10px;
}

.value-item h4 {
  font-size: 2rem;
  color: white;
}

.value-item p {
  font-size: 1.8rem;
  color: rgba(255, 255, 255, 0.8);
}

/* ✅ Responsive */
@media (max-width: 768px) {
  .values-grid {
    grid-template-columns: 1fr;
  }
}


/* 🔹 CALCULADORA DE INGRESOS */
.income-calculator {
  background-color: #0b1440;
  padding: 2rem 2rem;
  border-radius: 1rem;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
  color: white;
  font-family: 'Space Grotesk', sans-serif;
  font-size: 1.6rem;
  gap: 1rem;
}

/* Grupo de input y select */
.income-calculator .input-group {
  display: flex;
  align-items: center;
  margin-bottom: 1.5rem;
  gap: 1rem;
}

.income-calculator .input-group input,
.income-calculator .input-group select {
  padding: 0.75rem 1rem;
  font-size: 1.4rem;
  border-radius: 8px;
  border: none;
  flex: 1;
}

.income-calculator .input-group select {
  max-width: 180px;
  background-color: #fff;
  color: #000;
}

/* Responsive */
@media (max-width: 500px) {
  .income-calculator .input-group {
    flex-direction: column;
    align-items: stretch;
  }
}

/* Resultados */
.income-calculator .results {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.income-calculator .result-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 1.4rem;
}

.income-calculator .result-item .icon {
  font-size: 1.6rem;
  color: #00d1ff;
}

.income-calculator .result-label {
  flex: 1;
  color: #ccc;
}

.income-calculator .result-value {
  font-weight: bold;
  color: #42C374;
}

.industry-btn.selected {
  border: 2px solid #00f0ff;
  border-radius: 8px;
}


.tiker-section {
  padding: 2rem 2rem;
  border-radius: 1rem;
  background: #0B1220;
  color: white;
  text-align: center;
  font-family: 'Space Grotesk', sans-serif;
}

.tiker-header {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: center;
  justify-content: center;
  margin-bottom: 2rem;
}

.tiker-controls {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 1.6rem;
}

.tiker-controls select {
  padding: 0.5rem 1rem;
  border-radius: 8px;
  font-size: 1.6rem;
  border: none;
}

.tiker-count-box {
  margin-bottom: 2rem;
}

.tiker-count-box h3 {
  font-size: 2.8rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.tiker-count-box p {
  font-size: 1.6rem;
  color: #ccc;
}

/* Tabla de resultados para los TIKERS */
.tiker-table {
  width: 100%;
  border-collapse: collapse;
  margin: 1rem 0;
}

.tiker-table th,
.tiker-table td {
  padding: 0.75rem;
  text-align: left;
  border-bottom: 1px solid #333;
}

.tiker-table th {
  background-color: #1A1E2C;
  color: #fff;
}

.tiker-table tr:nth-child(even) {
  background-color: rgba(255, 255, 255, 0.05);
}

.tiker-table tr.recommended {
  background: linear-gradient(to right, #5B9CEC, #9136E9);
  color: #0B1220;
  font-weight: bold;
}

/* 🔹 BARRA DE RECOMPENSAS */
.rewards-bar {
  display: flex;
  justify-content: center;
  gap: 1.5rem;
  flex-wrap: wrap;
  margin-top: 2rem;
}

.reward-item {
  background-color: #1a1a3c;
  padding: 1rem;
  border-radius: 1rem;
  text-align: center;
  transition: transform 0.3s ease;
  width: 120px;
}

.reward-icon {
  width: 60px;
  height: 60px;
  background-color: #333;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto;
  font-size: 2.2rem;
  color: #fff;
}

.reward-item.unlocked .reward-icon {
  background-color: #42C374;
  color: #0B1220;
  font-weight: bold;
}

/* 🔹 Texto de conteo de TIKERS */
.reward-count {
  margin-top: 0.5rem;
  font-size: 1.2rem;
  color: #ccc;
}

.reward-item.unlocked .reward-count {
  color: #42C374;
  font-weight: bold;
}

.reward-item .no-canjes {
  opacity: 0.5;
  font-style: italic;
  font-size: 1rem;
}

/* Animación POP */
@keyframes pop-reward {
  0% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.3);
  }

  100% {
    transform: scale(1.1);
  }
}

.reward-item.pop .reward-icon {
  animation: pop-reward 0.5s ease-out;
}

.registro-tiker-section {
  background-color: #1A1E2C;
  border-radius: 1rem;
  padding: 2rem;
  margin-top: 2rem;
  color: white;
  height: 100%;
  text-align: center;
  border: 0.5px solid #aeaeae;
}

.registro-tiker-container h3 {
  font-size: 1.8rem;
  margin-bottom: 0.5rem;
}

.registro-tiker-container p {
  font-size: 1.3rem;
  margin-bottom: 1rem;
}

.icon-tiker {
  width: 32px;
  height: 32px;
  margin-bottom: 1rem;
  color: white;
}

/* Sección de beneficios TIKER */
.features-section {
  background: linear-gradient(to right, #0B1220, #1A1E2C);
  padding: 4rem 2rem;
  color: #fff;
}

.features-grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 2rem;
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 1rem;
}

@media (min-width: 768px) {
  .features-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .features-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.feature-item {
  background-color: rgba(255, 255, 255, 0.05);
  border-radius: 1rem;
  padding: 2rem;
  text-align: center;
  transition: transform 0.3s ease;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.feature-item:hover {
  transform: translateY(-5px);
}

.icon-container-2 {
  width: 80px;
  height: 80px;
  margin: 0 auto 1rem;
  background: #9136E9;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.icon-container-2 i {
  color: #fff;
  width: 30px;
  height: 30px;
}

.feature-item h4 {
  font-size: 1.6rem;
  margin-bottom: 0.5rem;
  font-weight: 600;
}

.feature-item p {
  font-size: 1.4rem;
  color: #ccc;
  margin: 0;
}

/* Responsive ajustes */
@media (max-width: 768px) {
  .feature-item h4 {
    font-size: 1.4rem;
  }

  .feature-item p {
    font-size: 1.2rem;
  }

  .icon-container-2 {
    width: 60px;
    height: 60px;
  }

  .icon-container-2 i {
    width: 24px;
    height: 24px;
  }
}




/* ========================

/* ========================
   🔹 ESTILOS GENERALES
======================== */
.contenedor {
  width: 95%;
  max-width: 120rem;
  /* = 1200px */
  margin: 0 auto;
}

h1 {
  font-size: 4rem;
}

h2 {
  font-size: 3.8rem;
}

h3 {
  font-size: 3.4rem;
}

h4 {
  font-size: 3rem;
}



/* ========================
   🔹 UTILIDADES GENERALES
======================== */
.seccion {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.fw-300 {
  font-weight: 300;
}

.centrar-texto {
  text-align: center;
}

.d-block {
  display: block !important;
}

.contenido-centrado {
  max-width: 800px;
}

.icon-header {
  height: 3rem;
  width: auto;
}

.nav-bg {
  background: linear-gradient(to right, #0B1220, #1A1E2C);
  padding-top: 2rem;
  padding-bottom: 1.5rem;
  border-bottom: 0.5px solid #aeaeae;
}



/* ========================
   🔹 FONDO DEGRADADO
======================== */
.degrade-bg {
  background: linear-gradient(to right, #0B1220, #1A1E2C);
  padding-top: 2rem;
  padding-bottom: 1.5rem;
}




/* ========================
   🔹 CENTRADO DEL SELECTOR DE IDIOMA
======================== */
.nav-item.language {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  /* Ocupará todo el ancho disponible */
  text-align: center;
}

.nav-item.language a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  /* Espacio entre el icono y el texto */
}

@keyframes changeText {

  0%,
  50% {
    content: "TIME";
  }

  50.01%,
  100% {
    content: "LIFE";
  }
}

/* ✅ Aplicamos la animación al segundo span */
.animated-text::after {
  content: "TIME";
  /* Texto inicial */
  animation: changeText 3s infinite alternate ease-in-out;
}



/* ==============================
   🔹 SECCIÓN CARRUSEL DE CLIENTES
   ============================== */

.client-section {
  text-align: center;
  padding: 8rem 0;
  background: linear-gradient(to right, #0B1220, #1A1E2C);
}

h2.client-title {
  font-size: 3.4rem !important;
}

h3.client-title {
  font-size: 3.4rem !important;
}

.nowrap {
  white-space: nowrap;
}



.carousel-wrapper {
  overflow: hidden;
  margin-top: 4rem;
  width: 100%;
  padding: 4rem 0;
}

.carousel-track-continuous {
  display: flex;
  gap: 4rem;
  animation: scroll-logos 45s linear infinite;
}

.logo-client {
  max-width: 220px;
  max-height: 160px;
  object-fit: contain;
  transition: transform 0.3s ease-in-out;
}

@keyframes scroll-logos {
  0% {
    transform: translateX(0%);
  }

  100% {
    transform: translateX(-50%);
  }
}

/* Sección general */
.feature-grid-section {
  background-color: #0B1220;
  padding: 6rem 2rem;
  color: #fff;
  text-align: center;
}

/* Título */
.central-head {
  color: #FFFFFF;
  font-size: inherit;
  /* ✅ Usa el mismo tamaño que el h2 */
  font-weight: inherit;
  /* ✅ Mantiene consistencia visual */
  font-family: "Space Grotesk", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  margin-bottom: 1.5rem;
}

/* Subtítulo */
.feature-intro {
  max-width: 900px;
  margin: 0 auto 3rem auto;
  font-size: 1.5rem;
  color: #D1D5DB;
  line-height: 1.6;
}

/* Grilla responsiva */
.feature-grid-3col {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 3rem;
  max-width: 1200px;
  margin: 0 auto;
}

@media (min-width: 992px) {
  .feature-grid-3col {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* Ítems */
.feature-grid-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 0 1rem;
}

/* Ícono con animación */
.icon-circle {
  background-color: #5B9CEC;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  margin: 0 auto 1.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  color: #fff;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.icon-circle:hover {
  transform: scale(1.08);
  box-shadow: 0 0 12px rgba(91, 156, 236, 0.4);
}

/* Títulos */
.feature-grid-item h4 {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 0.8rem;
}

/* Texto */
.feature-grid-item p {
  font-size: 1.4rem;
  color: #D1D5DB;
  line-height: 1.6;
}

/* Responsive */
@media (max-width: 768px) {

  .feature-intro {
    font-size: 1.4rem;
  }

  .feature-grid-item h4 {
    font-size: 1.4rem;
  }

  .feature-grid-item p {
    font-size: 1.3rem;
  }
}

.industry {
  background: linear-gradient(to right, #0B1220, #1A1E2C);
  padding: 4rem 2rem;
  color: white;
  text-align: center;
}

.industry-container {
  max-width: 1400px;
  margin: 0 auto;
}

.industry-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  /* 5 columnas fijas */
  gap: 4rem 2rem;
  justify-content: center;
  margin-top: 4rem;
  padding: 0 1rem;
}

.seccion-industry {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.industry-title {
  font-size: 3.4rem;
}


.icon-container {
  width: 7rem;
  height: 7rem;
  border-radius: 50%;
  background-color: #9136E9;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 1.5rem;
  transition: transform 0.3s ease, background-color 0.3s ease;
}

.icon-container:hover {
  transform: scale(1.08);
  background-color: #a14dec;
}

.icon-industry {
  width: auto;
  height: 5rem;
}

.seccion-industry h4 {
  font-size: 1.6rem;
  margin: 0;
  font-weight: 600;
}

/* Responsive: Móvil */
@media (max-width: 1024px) {
  .industry-grid {
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  }
}

@media (max-width: 768px) {
  .icon-container {
    width: 9rem;
    height: 9rem;
  }

  .icon-industry {
    height: 5.5rem;
  }

  .seccion-industry h4 {
    font-size: 1.4rem;
  }
}



/* 🔹 SECCIÓN WOW - NUEVAS FUNCIONALIDADES */
.wow-release {
  background-color: #0B1220;
  color: #fff;
  padding: 4rem 2rem;
}

.wow-container {
  max-width: 1200px;
  margin: auto;
  padding: 0 2rem;
}

.wow-title {
  font-size: 2.8rem;
  font-weight: 700;
  text-align: center;
  color: #ffffff;
  margin-bottom: 4rem;
}

.wow-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
}

.wow-card {
  background-color: #1A1E2C;
  border-radius: 1rem;
  padding: 2rem;
  transition: transform 0.3s ease;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
}

.wow-card:hover {
  transform: translateY(-6px);
}

/* Degradado en el borde */
.border-gradient {
  border-left: 4px solid;
  border-image: linear-gradient(to right, #5B9CEC, #9136E9);
  border-image-slice: 1;
}

.wow-icon-label {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}

.wow-icon-circle {
  background-color: #5B9CEC;
  width: 48px;
  height: 48px;
  min-width: 48px;
  min-height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  flex-shrink: 0;
}

.wow-icon-circle i {
  font-size: 20px;
  width: 20px;
  height: 20px;
  display: block;
}

.wow-label {
  font-size: 1.6rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.wow-desc {
  font-size: 1.4rem;
  color: #D1D5DB;
  line-height: 1.6;
}

/* Responsive */
@media (max-width: 768px) {
  .wow-title {
    font-size: 2.2rem;
  }

  .wow-label {
    font-size: 1.5rem;
  }

  .wow-desc {
    font-size: 1.3rem;
  }

  .wow-icon-label {
    flex-direction: column;
    align-items: flex-start;
  }
}


.degrade-bg-2 {
  padding-top: 2rem;
  padding-bottom: 2rem;
  background: linear-gradient(to right, #5B9CEC, #1A1E2C);
}

/* Contenedor Principal */
.container-info {
  background-color: #161F2D; /* Fondo oscuro */
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 6rem 2rem;
}

/* Contenedor padre si usas .row */
.qr-row {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  justify-content: center;
}

/* Contenedor individual */
.content-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 2rem;
  background-color: rgba(255, 255, 255, 0.04);
  border-radius: 1rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  gap: 1.5rem;
  height: 100%;
  margin-bottom: 2rem;
  /* 🔹 separación vertical entre tarjetas */
}

/* Imagen QR */
.qr-image {
  width: 120px;
  height: auto;
}

/* Título */
.download-text {
  font-size: 2rem;
  color: #ffffff;
  font-weight: 700;
  line-height: 1.2;
}

/* Subtexto */
.info-text {
  font-size: 1.4rem;
  color: #ccc;
  margin: 0;
}

/* Botón */
.store-button {
  background: linear-gradient(to right, #5B9CEC, #9136E9);
  color: #fff;
  padding: 12px 24px;
  border: none;
  border-radius: 30px;
  font-weight: 600;
  font-size: 1.4rem;
  cursor: pointer;
  text-align: center;
  transition: background 0.3s ease;
  width: 100%;
  max-width: 260px;
}

/* Control visibilidad por dispositivo */
.desktop-only {
  display: block;
}

.mobile-only {
  display: none;
}

/* Responsive */
@media (max-width: 768px) {
  .content-wrapper {
    margin-bottom: 2rem;
    padding: 1.5rem;
  }

  .download-text {
    font-size: 1.6rem;
  }

  .info-text {
    font-size: 1.2rem;
  }

  .desktop-only {
    display: none !important;
  }

  .mobile-only {
    display: inline-block !important;
  }

  .text-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 1rem;
  }

  .store-button {
    width: 100%;
    max-width: 260px;
  }
}



/* Botón con gradiente */
.store-button {
  background: linear-gradient(to right, #5B9CEC, #9136E9);
  color: #fff;
  padding: 12px 24px;
  border: none;
  border-radius: 30px;
  font-weight: 600;
  font-size: 1.4rem;
  cursor: pointer;
  text-align: center;
  transition: background 0.3s ease;
}

/* ========================
   🔹 CALCULADORA BUSINESS
======================== */
.calculadora-business {
  background-color: #1A1E2C;
  padding: 3rem 2rem;
  border-radius: 1.2rem;
  color: white;
  border: 0.5px solid #aeaeae;
  max-width: 700px;
  margin: 0 auto;
}

.calculadora-business h2 {
  text-align: center;
  font-size: 2.4rem;
  margin-bottom: 2rem;
}

.calculadora-business .input-group {
  margin-bottom: 1.6rem;
  display: flex;
  flex-direction: column;
}

.calculadora-business .input-group label {
  color: #c0c0ff;
  margin-bottom: 0.5rem;
  font-weight: 500;
}

.calculadora-business .input-group input,
.calculadora-business .input-group select {
  width: 100%;
  background-color: #1e1e30;
  color: #fff;
  border: 1px solid #3e3e5e;
  border-radius: 0.6rem;
  padding: 0.85rem;
  font-size: 0.95rem;
  transition: border 0.3s ease;
}

.calculadora-business .input-group input::placeholder {
  color: #999;
}

.industry-options {
  display: grid;
  grid-template-columns: repeat(5, 72px);
  gap: 1rem;
  justify-content: center;
  margin-top: 1rem;
}

.industry-btn {
  background-color: #1A1E2C;
  border: 2px solid #6f6f6f;
  border-radius: 50%;
  width: 72px;
  height: 72px;
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: border 0.3s, transform 0.2s;
}

.industry-btn img {
  width: 28px;
  height: 28px;
  object-fit: contain;
  filter: brightness(1.2);
}

.industry-btn.active {
  border-color: #A15EFF;
  background-color: rgba(161, 94, 255, 0.2);
  transform: scale(1.08);
}

/* ========================
   🔹 RESULTADOS BUSINESS
======================== */
.resultados-business {
  background-color: #0b1220;
  border-top: 1px solid #444;
  padding: 2rem 1rem;
  margin-top: 2rem;
  border-radius: 0.8rem;
}

.resultados-business h3,
.resultados-business h4 {
  color: #ffffff;
  margin-bottom: 1rem;
}

.resultados-business ul {
  list-style: none;
  padding-left: 0;
  margin-bottom: 1.5rem;
}

.resultados-business li {
  font-size: 1.4rem;
  margin-bottom: 0.7rem;
  color: #ddd;
}

.resultados-business strong {
  color: #a688f7;
}

#beneficios-extra,
#aclaraciones-extra {
  font-size: 1.3rem;
  color: #ccc;
  margin-bottom: 1.5rem;
}

.progress-box {
  margin-top: 1.5rem;
}

.progress {
  background-color: #333;
  height: 25px;
  border-radius: 20px;
  overflow: hidden;
}

.progress-bar {
  background: linear-gradient(to right, #5B9CEC, #9136E9);
  color: #1A1E2C;
  font-weight: bold;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  width: 0%;
  transition: width 0.8s ease;
}



/* ========================
     🔹 AHORRO TOTAL
  ======================== */
.ahorro-total-section {
  background-color: #1A1E2C;
  border-radius: 1rem;
  padding: 2rem;
  color: white;
  text-align: center;
  border: 0.5px solid #aeaeae;
}


.custom-button {
  border: none;
  border-radius: 2rem;
  background: linear-gradient(to right, #5B9CEC, #9136E9);
  color: white;
  font-weight: bold;
  font-size: 1.8rem;
  width: 100%;
  padding: 0.85rem 1.2rem;
  margin-top: 1rem;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  transition: background 0.3s ease, transform 0.2s ease;
}

.custom-button:hover {
  opacity: 0.92;
}
/* Responsive ajustes */
@media (max-width: 600px) {
  .calculadora-business {
    padding: 2rem 1rem;
  }

  .industry-btn img {
    max-width: 32px;
    max-height: 32px;
  }
}

.industry-btn.selected {
  border: 2px solid #a14dec;
  border-radius: 50px;
}

/* Hover effect */
.industry-btn:hover {
  border-color: #a15eff;
  transform: scale(1.05);
}
.industry-btn:hover img {
  filter: invert(46%) sepia(51%) saturate(3205%) hue-rotate(246deg) brightness(98%) contrast(101%);
}

/* Tooltip with industry name */
.industry-btn {
  position: relative;
}
.industry-btn::after {
  content: attr(data-value);
  position: absolute;
  bottom: -1.6rem;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  border-radius: 8px;
  pointer-events: none;
  z-index: 10;
  opacity: 0;
  transition: opacity 0.2s;
  white-space: nowrap;
}
.industry-btn:hover::after {
  opacity: 1;
}

/* Icon color when selected */
.industry-btn.selected img {
  filter: invert(46%) sepia(51%) saturate(3205%) hue-rotate(246deg) brightness(98%) contrast(101%);
}


/* ========================
     🔹 REGISTRO
  ======================== */
.registro-business-section {
  background-color: #1A1E2C;
  border-radius: 1rem;
  padding: 2rem;
  color: white;
  text-align: center;
  border: 0.5px solid #aeaeae;
}

.registro-business-section h3 {
  font-size: 2rem;
  margin: 1rem 0 0.5rem;
}

.registro-business-section p {
  font-size: 1.8rem;
  margin-bottom: 1rem;
}

.icon-business {
  width: 2.5rem;
  height: 2.5rem;
  stroke: #ffffff;
  margin-bottom: 1rem;
}



/* ========================
   🔹 Roadmap Styling
   ======================== */
.roadmap-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 2rem;
  padding: 2rem;
  margin-top: 2rem;
}

.roadmap-card {
  background: linear-gradient(135deg, rgba(22, 28, 36, 0.9), rgba(30, 36, 42, 0.9));
  border-radius: 1.2rem;
  padding: 2.5rem;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  position: relative;
  overflow: hidden;
  color: #ffffff;
}

.roadmap-card::before {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle at center, rgba(255, 255, 255, 0.1), transparent 70%);
  transform: rotate(45deg);
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 1;
}

.roadmap-card:hover::before {
  opacity: 0.3;
}

.roadmap-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.5);
}

.roadmap-header {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
  gap: 0.5rem;
}

.roadmap-header i {
  font-size: 2.2rem;
  color: #a688f7;
}

.roadmap-header h3 {
  font-size: 2.2rem;
  color: #a688f7;
  margin: 0;
}

.roadmap-card p {
  font-size: 1.6rem;
  line-height: 1.5;
  margin-bottom: 0.8rem;
  color: #c4c4c4;
  z-index: 2;
  position: relative;
}

/* Contenedor del selector */
.selector-container {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
}

.selector-label {
  font-size: 1.8rem;
  margin-right: 1rem;
  color: #ffffff;
}

#roadmap-year {
  background: #1c2331;
  border: 1px solid #666;
  border-radius: 0.5rem;
  padding: 0.5rem 1rem;
  font-size: 1.6rem;
  color: #ffffff;
  outline: none;
  cursor: pointer;
  transition: background 0.3s ease;
}

#roadmap-year:hover {
  background: #2e3a4b;
}

/* Responsive */
@media (max-width: 768px) {
  .roadmap-container {
    grid-template-columns: 1fr;
  }
}


/* ==========================
   🔹 SECCIÓN DE INVERSIONISTAS
   ========================== */
.investors-section {
  background: linear-gradient(to right, #060F2B, #1A1E2C);
  padding: 60px 20px;
  text-align: center;
  color: white;
}

.investors-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 20px;
}

.investors-title {
  font-size: 2.5rem;
  font-weight: bold;
  margin-bottom: 20px;
}

.investors-text {
  font-size: 1.6rem;
  color: rgba(255, 255, 255, 0.8);
  margin-bottom: 30px;
}



/* ==========================
   🔹 GRID DE INFORMACIÓN
   ========================== */
.investors-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  max-width: 1200px;
  margin: 0 auto;
  text-align: left;
}

.investors-item {
  background-color: rgba(255, 255, 255, 0.1);
  padding: 20px;
  border-radius: 10px;
  transition: transform 0.3s ease-in-out;
}

.investors-item:hover {
  transform: scale(1.05);
}

.investors-item h4 {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 10px;
  color: white;
}

.investors-item p {
  font-size: 1.4rem;
  color: rgba(255, 255, 255, 0.8);
}



/* ========================
     🔹 Dataroom Inversionistas
  ======================== */
.dataroom-section {
  background-color: #0B1220;
  color: #ffffff;
  padding: 5rem 2rem;
  text-align: center;
}

.dataroom-section h2 {
  font-size: 2.8rem;
  margin-bottom: 2rem;
  color: #ffffff;
}

.dataroom-section p {
  font-size: 1.6rem;
  color: #ccc;
  margin-bottom: 2rem;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.dataroom-section .btn-out-primary {
  background: linear-gradient(to right, #5B9CEC, #9136E9);
  color: #fff;
  padding: 1rem 2.5rem;
  border: none;
  border-radius: 30px;
  font-size: 1.4rem;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.3s ease;
  display: inline-block;
}

.dataroom-section .btn-out-primary:hover {
  background: linear-gradient(to right, #4a8bdd, #7c30cf);
}

@media (max-width: 768px) {
  .dataroom-section h2 {
    font-size: 2.2rem;
  }

  .dataroom-section p {
    font-size: 1.4rem;
  }

  .dataroom-section .btn-out-primary {
    font-size: 1.2rem;
    padding: 0.8rem 2rem;
  }
}



/* ==============================
   🔹 ESTILOS GENERALES
============================== */
.terms-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 60px 20px;
  background: linear-gradient(to right, #060F2B, #1A1E2C);
  /* Degradado THE TIKET */
  border-radius: 10px;
}

.terms-container h1 {
  font-size: 3rem;
  font-weight: bold;
  text-align: center;
  color: #5B9CEC;
  margin-bottom: 30px;
}

.terms-container h2 {
  font-size: 2.2rem;
  font-weight: bold;
  color: #FFFFFF;
  margin-top: 40px;
}

.terms-container h3 {
  font-size: 1.8rem;
  font-weight: bold;
  color: #FFFFFF;
  margin-top: 40px;
}


.terms-container p {
  font-size: 1.6rem;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.8;
  margin-bottom: 15px;
}



/* ==============================
   🔹 LISTAS
============================== */
.terms-container ul {
  list-style: none;
  padding-left: 0;
}

.terms-container ul li {
  font-size: 1.6rem;
  color: rgba(255, 255, 255, 0.8);
  padding-left: 25px;
  position: relative;
  margin-bottom: 10px;
}

.terms-container ul li::before {
  content: "✔";
  color: #5B9CEC;
  font-size: 1.8rem;
  position: absolute;
  left: 0;
}



/* ==============================
   🔹 BOTÓN DE VOLVER
============================== */
.back-button {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 24px;
  font-size: 1.8rem;
  font-weight: bold;
  color: #5B9CEC;
  background: transparent;
  border: 2px solid #5B9CEC;
  border-radius: 30px;
  text-decoration: none;
  transition: all 0.3s ease-in-out;
  margin-top: 30px;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}

.back-button:hover {
  background: #5B9CEC;
  color: #1A1E2C;
}









/* ==========================
   🔹 RESPONSIVE DESIGN
   ========================== */
@media (max-width: 768px) {
  .investors-grid {
    grid-template-columns: 1fr;
  }
}

/* 🔒 Overlay oscurecido centrado */
.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(11, 18, 32, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  backdrop-filter: blur(4px);
  /* Desenfoque del fondo */
  animation: fadeIn 0.3s ease-in-out;
}

/* 💬 Contenido centrado y estilizado */
.modal-content {
  background: #1A1E2C;
  padding: 40px 30px;
  border-radius: 16px;
  text-align: center;
  box-shadow: 0 0 20px rgba(0, 209, 255, 0.25);
  color: #ffffff;
  max-width: 90%;
  width: 420px;
  font-family: 'Space Grotesk', sans-serif;
  animation: popUp 0.3s ease-in-out;
}

/* ✨ Título */
.modal-content h2 {
  color: #00d1ff;
  font-size: 1.9rem;
  margin-bottom: 24px;
}

/* 🧭 Botones del modal */
.modal-buttons {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 20px;
}

.btn-modal {
  background: linear-gradient(to right, #9136E9, #00d1ff);
  color: white;
  border: none;
  padding: 14px 20px;
  font-size: 1.6rem;
  font-weight: 600;
  border-radius: 8px;
  cursor: pointer;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.btn-modal:hover {
  transform: scale(1.03);
  opacity: 0.95;
}

/* ❌ Botón cancelar */
.cerrar-modal {
  background: none;
  border: none;
  color: #bbb;
  font-size: 1.2rem;
  cursor: pointer;
  margin-top: 15px;
}

.cerrar-modal:hover {
  color: #ffffff;
  text-decoration: underline;
}

/* 🎞️ Animaciones */
@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes popUp {
  from {
    transform: scale(0.9);
    opacity: 0;
  }

  to {
    transform: scale(1);
    opacity: 1;
  }
}

.form-section {
  padding: 5rem 1rem;
  background-color: #0e0e17;
  display: flex;
  justify-content: center;
}

.form-box {
  background-color: #181828;
  padding: 2.5rem;
  border-radius: 1.5rem;
  max-width: 640px;
  width: 100%;
  color: #ffffff;
  border: 1px solid #2c2c44;
  box-shadow: 0 0 30px rgba(0,0,0,0.2);
}

.central-head {
  font-size: 1.8rem;
  font-weight: 600;
  text-align: center;
  color: #ffffff;
  margin-bottom: 2rem;
  font-family: "Space Grotesk", sans-serif;
}




@keyframes toastOut {
  to {
    opacity: 0;
    transform: translateY(20px);
  }
}
/* ==============================
   🔹 NEW RESPONSIVE RULES
============================== */

@media (max-width: 767px) {
  .container,
  .input-group,
  .tarjeta {
    width: 100%;
    padding: 1rem;
  }

  input,
  select,
  button {
    width: 100%;
    font-size: calc(1.4rem + 0.5vw);
    padding: 0.8rem;
  }

  button.btn, 
  a.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px; /* Better touch target */
    margin-bottom: 0.5rem;
    width: auto;
    min-width: 160px;
  }

  .hero-title-page {
    font-size: 1.6rem;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .container-xl {
    padding: 2rem;
    width: 100%;
  }

  .hero-title-page {
    font-size: 2rem;
  }

  .row.g-4 {
    flex-direction: column;
  }
}

@media (min-width: 1500px) {
  .container-xl {
    max-width: 100%;
    width: 100%;
  }

  body {
    font-size: 1.1rem;
  }

  .hero-title-page {
    font-size: 2.5rem;
    line-height: 1.4;
  }

  .row.g-4 {
    gap: 3rem;
  }
}

@media (min-width: 992px) {
  .row.g-4 {
    display: flex;
    align-items: flex-start;
    gap: 2rem;
  }

  .tarjeta {
    flex: 1;
  }
}

.section-padding {
  padding: 4rem 1rem;
}
/* ===================================
   Custom responsive breakpoints
   =================================== */
@media (max-width: 360px) {
  html { --font-scale: 0.85; }
  .container { width: 100%; }
  h1 {font-size: 2.4rem;}
  h2 {font-size: 2rem;}
  h3 {font-size: 1.8rem;}
  h4 {font-size: 1.6rem;}
  .navbar-brand img.logo {max-width: 120px;}
  .btn, .btn-primary, .btn-secondary, .btn-success {
    font-size: 1.5rem;
    padding: 10px 16px;
  }
  .btn-out-primary, .btn-out-pcolor2 {
    font-size: 1.6rem !important;
    padding: 8px 16px !important;
  }
  .custom-button {
    font-size: 1.5rem;
    padding: 10px 16px;
  }
}
@media (min-width: 361px) and (max-width: 375px) {
  html { --font-scale: 0.9; }
  .container { width: 100%; }
  h1 {font-size: 2.6rem;}
  h2 {font-size: 2.2rem;}
  .btn, .btn-primary, .btn-secondary, .btn-success {
    font-size: 1.5rem;
    padding: 10px 16px;
  }
  .btn-out-primary, .btn-out-pcolor2 {
    font-size: 1.7rem !important;
    padding: 8px 16px !important;
  }
  .custom-button {
    font-size: 1.7rem;
    padding: 10px 16px;
  }
}
@media (min-width: 376px) and (max-width: 720px) {
  html { --font-scale: 0.95; }
  .container { width: 100%; }
  h1 {font-size: 3rem;}
  h2 {font-size: 2.4rem;}
  .btn, .btn-primary, .btn-secondary, .btn-success {
    font-size: 1.6rem;
    padding: 12px 20px;
  }
  .btn-out-primary, .btn-out-pcolor2 {
    font-size: 1.8rem !important;
    padding: 10px 18px !important;
  }
  .custom-button {
    font-size: 1.8rem;
    padding: 12px 20px;
  }
}
@media (min-width: 721px) and (max-width: 1366px) {
  html { --font-scale: 1; }
  .container,
  .container-fluid {padding-left: 1.5rem!important;padding-right: 1.5rem!important;}
}
@media (min-width: 1367px) and (max-width: 1440px) {
  html { --font-scale: 1.05; }
  .container,
  .container-fluid {
    max-width: 100%;
    width: 100%;
  }
}
@media (min-width: 1441px) and (max-width: 1919px) {
  html { --font-scale: 1.1; }
  .container,
  .container-fluid {
    max-width: 100%;
    width: 100%;
  }
  h1 {font-size: 4.2rem;}
  h2 {font-size: 3.8rem;}
}

@media (min-width: 1920px) {
  html { --font-scale: 1.15; }
  .container {
    max-width: none;
    width: 95%;

  }
  .container-fluid {
    max-width: none;
    width: 100%;
  }
  h1 {font-size: 4.4rem;}
  h2 {font-size: 4rem;}
}

@media (min-width: 2560px) {
  html { --font-scale: 1.25; }
  .container {
    max-width: none;
    width: 80%;

  }
  .container-fluid {
    max-width: none;
    width: 100%;
  }
  h1 {font-size: 4.8rem;}
  h2 {font-size: 4.4rem;}
}

@media (min-width: 3440px) {
  html { --font-scale: 1.35; }
  .container {
    max-width: none;
    width: 75%;

  }
  .container-fluid {
    max-width: none;
    width: 100%;
  }
  h1 {font-size: 5.2rem;}
  h2 {font-size: 4.8rem;}
}

@media (min-width: 3840px) {
  html { --font-scale: 1.4; }
  .container {
    max-width: none;
    width: 70%;

  }
  .container-fluid {
    max-width: none;
    width: 100%;
  }
  h1 {font-size: 5.6rem;}
  h2 {font-size: 5rem;}
}

@media (min-width: 7680px) {
  html { --font-scale: 1.6; }
  .container {
    max-width: none;
    width: 60%;

  }
  .container-fluid {
    max-width: none;
    width: 100%;
  }
  h1 {font-size: 6.4rem;}
  h2 {font-size: 6rem;}
}

/* =============================
   🔹 Ajustes por orientación
   ============================= */
@media (max-width: 812px) and (orientation: landscape) {
  .container-video {
    height: 70vh;
  }

  .cover-info h1 {
    font-size: 2.5rem;
  }

  .text-hero {
    font-size: 1.4rem;
  }

  .experience-row {
    flex-direction: row;
  }

  .experience-box {
    flex: 1 1 45%;
  }

.img-contact {
    max-width: 200px;
  }
}

@media (min-width: 813px) and (max-width: 1024px) and (orientation: landscape) {
  html { --font-scale: 1; }
  .container-video { height: 70vh; }
}

@media (min-width: 1025px) and (max-width: 1366px) and (orientation: landscape) {
  html { --font-scale: 1.05; }
}

@media (min-width: 1367px) and (max-width: 1920px) and (orientation: landscape) {
  html { --font-scale: 1.1; }
}

@media (min-width: 1921px) and (max-width: 2560px) and (orientation: landscape) {
  html { --font-scale: 1.15; }
}

@media (min-width: 2561px) and (max-width: 3840px) and (orientation: landscape) {
  html { --font-scale: 1.25; }
}

@media (min-width: 3841px) and (orientation: landscape) {
  html { --font-scale: 1.4; }
}


