/* ============================================================
   EYUB' - componentes.css
   Piezas reutilizables · fotografia protagonista
   ============================================================ */

/* ============================================================
   1. DUO: fotografia + texto lado a lado
   ============================================================ */
.duo {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: clamp(2rem, 5vw, 5rem);
}
@media (max-width: 900px) { .duo { grid-template-columns: 1fr; } }

/* Invierte el orden en pantallas grandes */
.duo--invertido .duo__foto { order: 2; }
@media (max-width: 900px) { .duo--invertido .duo__foto { order: -1; } }

.duo__foto { position: relative; }
.duo__texto h2 { margin-bottom: 1.1rem; }
.duo__texto .lede { margin-bottom: 1.8rem; }
.duo__acciones { display: flex; gap: .8rem; flex-wrap: wrap; margin-top: 1.8rem; }

/* Insignia flotante sobre la foto */
.duo__dato {
  position: absolute;
  right: -18px; bottom: -22px;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: .9rem;
  padding: 1.05rem 1.4rem;
  border-radius: var(--radio);
  background: var(--fondo);
  border: 1px solid var(--borde);
  box-shadow: var(--sombra-lg);
  max-width: 260px;
}
@media (max-width: 560px) { .duo__dato { right: 8px; bottom: -16px; padding: .8rem 1rem; } }

.duo__dato .ico { color: var(--azul-interactivo); flex-shrink: 0; }
.duo__dato strong {
  display: block;
  font-family: var(--fuente-titulo);
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.03em;
}
.duo__dato span { font-size: .78rem; color: var(--texto-ter); line-height: 1.35; display: block; margin-top: .2rem; }


/* ============================================================
   2. MOSAICO DE IMAGENES
   ============================================================ */
.mosaico {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: minmax(150px, auto);
  gap: clamp(.7rem, 1.4vw, 1.1rem);
}
.mosaico > * { grid-column: span 2; grid-row: span 1; }

.mosaico .m-grande { grid-column: span 2; grid-row: span 2; }
.mosaico .m-ancho  { grid-column: span 4; }
.mosaico .m-alto   { grid-row: span 2; }

@media (max-width: 760px) {
  .mosaico { grid-template-columns: repeat(2, 1fr); }
  .mosaico > *, .mosaico .m-grande, .mosaico .m-ancho { grid-column: span 2; }
  .mosaico .m-grande, .mosaico .m-alto { grid-row: span 1; }
}

/* Celda del mosaico */
.celda {
  position: relative;
  overflow: hidden;
  border-radius: var(--radio);
  background: var(--superficie-2);
  box-shadow: var(--sombra-sm);
  transition: transform var(--normal) var(--ease), box-shadow var(--normal) var(--ease);
}
.celda img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease-out); }
.celda:hover { transform: translateY(-5px); box-shadow: var(--sombra); }
.celda:hover img { transform: scale(1.07); }

.celda::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 46%, rgba(3, 11, 29, .68) 100%);
  opacity: .88;
  transition: opacity var(--normal) var(--ease);
}
.celda__texto {
  position: absolute;
  inset: auto 0 0 0;
  z-index: 2;
  padding: 1.15rem 1.25rem;
  color: #fff;
}
.celda__texto strong {
  display: block;
  font-family: var(--fuente-titulo);
  font-size: 1.02rem;
  font-weight: 750;
  letter-spacing: -.015em;
}
.celda__texto small { font-size: .78rem; color: rgba(255,255,255,.74); }

.celda__ico {
  position: absolute;
  top: 1rem; left: 1rem;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 42px; height: 42px;
  border-radius: 12px;
  color: #fff;
  background: rgba(255, 255, 255, .16);
  border: 1px solid rgba(255, 255, 255, .26);
  backdrop-filter: blur(10px);
  transition: all var(--normal) var(--ease-out);
}
.celda:hover .celda__ico { background: var(--azul-interactivo); border-color: var(--azul-interactivo); transform: rotate(-8deg); }


/* ============================================================
   3. TARJETA CON FOTOGRAFIA
   ============================================================ */
.tarjeta-foto {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: var(--radio);
  background: var(--superficie);
  border: 1px solid var(--borde);
  box-shadow: var(--sombra-sm);
  transition: transform var(--normal) var(--ease), box-shadow var(--normal) var(--ease), border-color var(--normal) var(--ease);
}
.tarjeta-foto:hover {
  transform: translateY(-6px);
  box-shadow: var(--sombra);
  border-color: var(--borde-fuerte);
}

.tarjeta-foto__img {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--superficie-2);
}
.tarjeta-foto__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s var(--ease-out); }
.tarjeta-foto:hover .tarjeta-foto__img img { transform: scale(1.07); }

.tarjeta-foto__ico {
  position: absolute;
  left: 1.1rem; bottom: -22px;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 52px; height: 52px;
  border-radius: 15px;
  color: #fff;
  background: linear-gradient(140deg, var(--azul-800), var(--azul-interactivo));
  box-shadow: 0 10px 24px rgba(1, 28, 89, .38);
  transition: transform var(--normal) var(--ease-out);
}
.tarjeta-foto:hover .tarjeta-foto__ico { transform: translateY(-4px) rotate(-8deg); }

.tarjeta-foto__cuerpo {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 2.1rem 1.4rem 1.5rem;
}
.tarjeta-foto__cuerpo h3,
.tarjeta-foto__cuerpo h4 { margin-bottom: .5rem; }
.tarjeta-foto__cuerpo p { flex: 1; font-size: .92rem; color: var(--texto-sec); margin-bottom: 1.1rem; }

.tarjeta-foto__insignia { position: absolute; top: .9rem; right: .9rem; z-index: 2; }


/* ============================================================
   4. VITRINA: fotografia a sangre con texto encima
   ============================================================ */
.vitrina {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: clamp(360px, 50vh, 560px);
  overflow: hidden;
  border-radius: var(--radio-xl);
  color: #fff;
  box-shadow: var(--sombra-lg);
}
.vitrina__fondo { position: absolute; inset: 0; z-index: 0; }
.vitrina__fondo img { width: 100%; height: 100%; object-fit: cover; }
.vitrina__fondo::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, rgba(3, 11, 29, .82) 0%, rgba(6, 27, 58, .50) 48%, rgba(11, 61, 145, .12) 100%);
}
.vitrina__contenido {
  position: relative;
  z-index: 2;
  padding: clamp(1.8rem, 4vw, 3.4rem);
  max-width: 640px;
}
.vitrina__contenido h2, .vitrina__contenido h3 { color: #fff; margin-bottom: .9rem; }
.vitrina__contenido p { color: rgba(255,255,255,.84); margin-bottom: 1.6rem; }
.vitrina .etiqueta-seccion { color: #BCD5FF; }

/* Vitrina alta, tipo tarjeta vertical */
.vitrina--alta { min-height: 480px; align-items: flex-end; }
.vitrina--centrada { align-items: center; justify-content: center; text-align: center; }
.vitrina--centrada .vitrina__contenido { max-width: 720px; }
.vitrina--centrada .vitrina__fondo::after {
  background: linear-gradient(180deg, rgba(3, 11, 29, .58) 0%, rgba(6, 27, 58, .72) 100%);
}


/* ============================================================
   5. SISTEMA ORBITAL
   ============================================================ */
.sistema {
  position: relative;
  width: min(540px, 88vw);
  aspect-ratio: 1;
  margin-inline: auto;
  --vel-ext: 54s;
  --vel-int: 34s;
}

.anillo {
  position: absolute;
  border-radius: 50%;
  border: 1px solid rgba(11, 61, 145, .16);
  transform-origin: center;
}
.anillo--ext {
  inset: 0;
  border-style: dashed;
  animation: girar var(--vel-ext) linear infinite;
}
.anillo--int {
  inset: 22%;
  border-color: rgba(1, 28, 89, .30);
  animation: girar-inv var(--vel-int) linear infinite;
}
.anillo--guia { inset: 11%; border-color: rgba(11, 61, 145, .08); border-style: dotted; }

[data-tema="oscuro"] .anillo, .inverso .anillo { border-color: rgba(134, 180, 255, .18); }
[data-tema="oscuro"] .anillo--int, .inverso .anillo--int { border-color: rgba(134, 180, 255, .32); }

.sistema:hover .anillo,
.sistema:hover .satelite__cara,
.sistema:focus-within .anillo,
.sistema:focus-within .satelite__cara { animation-play-state: paused; }

.brazo {
  position: absolute;
  inset: 0;
  transform: rotate(var(--a, 0deg));
  pointer-events: none;
}
.satelite {
  position: absolute;
  top: 0; left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: auto;
}

.satelite__cara {
  display: grid;
  place-items: center;
  width: clamp(48px, 11vw, 66px);
  height: clamp(48px, 11vw, 66px);
  border-radius: 50%;
  color: var(--acento);
  background: var(--fondo);
  border: 1px solid var(--borde);
  box-shadow: var(--sombra);
  cursor: pointer;
  transform: rotate(calc(-1 * var(--a, 0deg)));
  transition: color var(--normal) var(--ease),
              border-color var(--normal) var(--ease),
              box-shadow var(--normal) var(--ease),
              background var(--normal) var(--ease),
              scale var(--normal) var(--ease-out);
}
.anillo--ext .satelite__cara { animation: girar-inv var(--vel-ext) linear infinite; }
.anillo--int .satelite__cara { animation: girar var(--vel-int) linear infinite; }

.satelite__cara:hover,
.satelite__cara:focus-visible,
.satelite__cara[aria-selected="true"] {
  color: #fff;
  scale: 1.16;
  background: linear-gradient(140deg, var(--azul-800), var(--azul-interactivo));
  border-color: var(--azul-interactivo);
  box-shadow: 0 0 0 1px var(--azul-interactivo), 0 12px 30px rgba(1, 28, 89, .40);
}

.satelite__nombre {
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%) rotate(calc(-1 * var(--a, 0deg)));
  font-size: .68rem;
  font-weight: 700;
  white-space: nowrap;
  color: var(--texto-ter);
  opacity: 0;
  transition: opacity var(--normal) var(--ease);
  pointer-events: none;
}
.satelite:hover .satelite__nombre,
.satelite__cara[aria-selected="true"] + .satelite__nombre { opacity: 1; color: var(--texto-sec); }

/* Nucleo: el sello EYUB' */
.nucleo {
  position: absolute;
  inset: 33%;
  display: grid;
  place-items: center;
  border-radius: 50%;
  z-index: 3;
}
.nucleo::before {
  content: '';
  position: absolute;
  inset: -22%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(1, 28, 89, .22), transparent 68%);
  filter: blur(18px);
  animation: respirar 5s var(--ease) infinite;
}
@keyframes respirar {
  0%, 100% { opacity: .55; transform: scale(1); }
  50%      { opacity: 1;   transform: scale(1.09); }
}
.nucleo img {
  position: relative;
  width: 100%; height: 100%;
  object-fit: contain;
  border-radius: 50%;
  filter: drop-shadow(0 14px 34px rgba(6, 27, 58, .26));
  transition: transform .9s var(--ease-out);
}
.sistema:hover .nucleo img { transform: scale(1.04); }

.orbe-info {
  margin-top: 1.7rem;
  padding: 1.25rem 1.4rem;
  min-height: 122px;
  border-radius: var(--radio);
  border: 1px solid var(--borde);
  background: var(--superficie);
  box-shadow: var(--sombra-sm);
}
.orbe-info__titulo {
  display: flex;
  align-items: center;
  gap: .6rem;
  font-family: var(--fuente-titulo);
  font-size: 1.08rem;
  font-weight: 800;
  margin-bottom: .45rem;
}
.orbe-info__titulo .ico { color: var(--azul-interactivo); }
.orbe-info p { font-size: .93rem; color: var(--texto-sec); margin-bottom: .8rem; }
.orbe-info.cambiando { animation: parpadeo .4s var(--ease); }
@keyframes parpadeo {
  0%   { opacity: 0; transform: translateY(6px); }
  100% { opacity: 1; transform: none; }
}


/* ============================================================
   6. CONTADORES
   ============================================================ */
.numeros {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: clamp(1rem, 2.5vw, 2rem);
}
.numero { text-align: center; padding: 1.4rem .8rem; }

.numero__ico {
  display: inline-grid;
  place-items: center;
  width: 48px; height: 48px;
  border-radius: 14px;
  margin-bottom: .8rem;
  color: var(--acento);
  background: var(--azul-100);
  border: 1px solid rgba(1, 28, 89, .18);
}
.inverso .numero__ico, [data-tema="oscuro"] .numero__ico {
  background: rgba(255, 255, 255, .20);
  border-color: rgba(134, 180, 255, .26);
}

.numero__valor {
  font-family: var(--fuente-titulo);
  font-size: clamp(2.5rem, 6vw, 3.8rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.045em;
  background: linear-gradient(170deg, var(--azul-800), var(--azul-interactivo));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.inverso .numero__valor, [data-tema="oscuro"] .numero__valor {
  background: linear-gradient(170deg, #FFFFFF, #86B4FF);
  -webkit-background-clip: text;
  background-clip: text;
}
.numero__etiqueta { display: block; margin-top: .6rem; font-size: .86rem; color: var(--texto-sec); line-height: 1.4; }
.numero__nota { font-size: .74rem; color: var(--texto-ter); margin-top: .3rem; display: block; }


/* ============================================================
   7. SOLUCIONES (bento)
   ============================================================ */
.solucion { display: flex; flex-direction: column; min-height: 215px; }
.solucion h3 { margin-bottom: .5rem; }
.solucion p { flex: 1; margin-bottom: 1.1rem; }

.etiquetas { display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: 1rem; }
.etiquetas span {
  font-size: .74rem;
  font-weight: 600;
  padding: .26rem .68rem;
  border-radius: var(--radio-full);
  background: var(--superficie-2);
  border: 1px solid var(--borde);
  color: var(--texto-sec);
}


/* ============================================================
   8. RECOMENDADOR
   ============================================================ */
.recomendador {
  position: relative;
  padding: clamp(1.6rem, 3.5vw, 3rem);
  border-radius: var(--radio-xl);
  border: 1px solid var(--borde);
  background: var(--superficie);
  box-shadow: var(--sombra);
  overflow: hidden;
}

.recomendador__pasos {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin-bottom: 1.9rem;
  flex-wrap: wrap;
}
.paso-punto { display: flex; align-items: center; gap: .5rem; font-size: .78rem; font-weight: 650; color: var(--texto-ter); }
.paso-punto__num {
  display: grid;
  place-items: center;
  width: 28px; height: 28px;
  border-radius: 50%;
  font-size: .74rem;
  font-weight: 800;
  border: 1px solid var(--borde);
  background: var(--superficie-2);
  transition: all var(--normal) var(--ease);
}
.paso-punto.activo { color: var(--texto); }
.paso-punto.activo .paso-punto__num {
  background: var(--azul-interactivo);
  border-color: var(--azul-interactivo);
  color: #fff;
  box-shadow: 0 0 0 4px rgba(1, 28, 89, .16);
}
.paso-punto.hecho .paso-punto__num { background: rgba(37,211,102,.16); border-color: var(--whatsapp); color: #0F7B39; }
.paso-punto__linea { width: 26px; height: 1px; background: var(--borde); }

.recomendador__panel { display: none; animation: entrar-panel .45s var(--ease-out); }
.recomendador__panel.activo { display: block; }
@keyframes entrar-panel { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }

.recomendador h3 { margin-bottom: 1.4rem; }

.opciones { display: grid; grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)); gap: .7rem; }
.opcion {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .6rem;
  padding: 1.05rem;
  text-align: left;
  border-radius: var(--radio-sm);
  border: 1px solid var(--borde);
  background: var(--superficie);
  color: var(--texto-sec);
  font-size: .9rem;
  font-weight: 650;
  box-shadow: var(--sombra-sm);
  transition: all var(--rapido) var(--ease);
}
.opcion .ico { color: var(--acento); transition: transform var(--normal) var(--ease-out); }
.opcion:hover {
  border-color: var(--azul-interactivo);
  color: var(--texto);
  transform: translateY(-3px);
  box-shadow: var(--sombra);
}
.opcion:hover .ico { transform: scale(1.14) rotate(-6deg); color: var(--azul-interactivo); }
.opcion.elegida {
  border-color: var(--azul-interactivo);
  background: var(--azul-050);
  color: var(--texto);
  box-shadow: 0 0 0 1px var(--azul-interactivo);
}
.opcion.elegida .ico { color: var(--azul-interactivo); }

.resultado {
  text-align: center;
  padding: clamp(1.5rem, 3vw, 2.6rem);
  border-radius: var(--radio-lg);
  border: 1px solid var(--borde-fuerte);
  background: linear-gradient(170deg, var(--azul-050), var(--superficie));
}
.resultado__ico {
  display: inline-grid;
  place-items: center;
  width: 74px; height: 74px;
  border-radius: 50%;
  margin-bottom: 1.2rem;
  color: #fff;
  background: linear-gradient(140deg, var(--azul-800), var(--azul-interactivo));
  box-shadow: 0 14px 34px rgba(1, 28, 89, .38);
  animation: aparecer-resultado .6s var(--ease-out);
}
@keyframes aparecer-resultado {
  from { transform: scale(.6) rotate(-25deg); opacity: 0; }
  to   { transform: none; opacity: 1; }
}
.resultado h3 { margin-bottom: .6rem; }
.resultado p { color: var(--texto-sec); max-width: 54ch; margin-inline: auto; margin-bottom: 1.6rem; }
.resultado__acciones { display: flex; gap: .7rem; justify-content: center; flex-wrap: wrap; }
.resultado__reiniciar { margin-top: 1.3rem; font-size: .83rem; color: var(--texto-ter); }
.resultado__reiniciar:hover { color: var(--azul-interactivo); text-decoration: underline; }


/* ============================================================
   9. LINEA DE TIEMPO
   ============================================================ */
.tiempo { position: relative; padding-left: 2.5rem; }
.tiempo::before {
  content: '';
  position: absolute;
  left: 9px; top: 8px; bottom: 8px;
  width: 2px;
  border-radius: 2px;
  background: linear-gradient(180deg, var(--azul-interactivo), var(--borde) 70%, transparent);
}
.tiempo__item { position: relative; padding-bottom: 2.4rem; }
.tiempo__item:last-child { padding-bottom: 0; }
.tiempo__item::before {
  content: '';
  position: absolute;
  left: -2.5rem; top: 5px;
  width: 20px; height: 20px;
  border-radius: 50%;
  background: var(--fondo);
  border: 3px solid var(--azul-interactivo);
  box-shadow: 0 0 0 5px rgba(1, 28, 89, .10);
}
.tiempo__anio {
  display: inline-block;
  font-size: .74rem;
  font-weight: 750;
  letter-spacing: .11em;
  text-transform: uppercase;
  color: var(--acento);
  margin-bottom: .35rem;
}
.tiempo__item h4 { margin-bottom: .4rem; }
.tiempo__item p { font-size: .94rem; color: var(--texto-sec); }


/* ============================================================
   10. PROCESO
   ============================================================ */
.proceso { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 1rem; }
.proceso__item {
  position: relative;
  padding: 1.6rem 1.3rem 1.3rem;
  border-radius: var(--radio);
  border: 1px solid var(--borde);
  background: var(--superficie);
  box-shadow: var(--sombra-sm);
  transition: all var(--normal) var(--ease);
}
.proceso__item:hover { border-color: var(--borde-fuerte); transform: translateY(-5px); box-shadow: var(--sombra); }
.proceso__num {
  display: inline-block;
  font-family: var(--fuente-titulo);
  font-size: .92rem;
  font-weight: 800;
  letter-spacing: .1em;
  /* --acento se da la vuelta con el ambito; --azul-interactivo no,
     y sobre las secciones azules el numero salia azul sobre azul. */
  color: var(--acento);
  margin-bottom: .6rem;
}
.proceso__item h4 { margin-bottom: .4rem; }
.proceso__item p { font-size: .88rem; color: var(--texto-sec); }
.proceso__item::after {
  content: '';
  position: absolute;
  top: 50%; right: -1rem;
  width: 1rem; height: 1px;
  background: var(--borde);
}
.proceso__item:last-child::after { display: none; }
@media (max-width: 700px) { .proceso__item::after { display: none; } }


/* ============================================================
   11. ACORDEON
   ============================================================ */
.acordeon { border-top: 1px solid var(--borde); }
.acordeon__item { border-bottom: 1px solid var(--borde); }

.acordeon__boton {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.2rem .3rem;
  text-align: left;
  font-family: var(--fuente-titulo);
  font-size: 1.04rem;
  font-weight: 700;
  color: var(--texto);
  transition: color var(--rapido) var(--ease);
}
.acordeon__boton:hover { color: var(--azul-interactivo); }

.acordeon__mas {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 30px; height: 30px;
  border-radius: 50%;
  border: 1px solid var(--borde);
  color: var(--acento);
  transition: transform var(--normal) var(--ease), background var(--normal) var(--ease), color var(--normal) var(--ease);
}
.acordeon__item.abierto .acordeon__mas {
  transform: rotate(45deg);
  background: var(--azul-interactivo);
  border-color: var(--azul-interactivo);
  color: #fff;
}

.acordeon__cuerpo {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows var(--normal) var(--ease);
}
.acordeon__item.abierto .acordeon__cuerpo { grid-template-rows: 1fr; }
.acordeon__cuerpo > div { overflow: hidden; }
.acordeon__cuerpo p { padding: 0 .3rem 1.3rem; font-size: .95rem; color: var(--texto-sec); max-width: 68ch; }


/* ============================================================
   12. GALERIA
   ============================================================ */
.galeria {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: .9rem;
}
.galeria__item {
  position: relative;
  aspect-ratio: 4 / 3;
  border-radius: var(--radio);
  overflow: hidden;
  border: 1px solid var(--borde);
  background: var(--superficie-2);
  box-shadow: var(--sombra-sm);
  cursor: zoom-in;
  transition: transform var(--normal) var(--ease), box-shadow var(--normal) var(--ease);
}
.galeria__item:hover { transform: translateY(-4px); box-shadow: var(--sombra); }
.galeria__item--alto { grid-row: span 2; aspect-ratio: 4 / 5; }
.galeria__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease-out); }
.galeria__item:hover img { transform: scale(1.07); }

.galeria__pie {
  position: absolute;
  inset: auto 0 0 0;
  padding: 1.8rem 1rem .95rem;
  background: linear-gradient(180deg, transparent, rgba(3, 11, 29, .88));
  color: #fff;
  font-size: .87rem;
  font-weight: 650;
  transform: translateY(6px);
  opacity: 0;
  transition: all var(--normal) var(--ease);
}
.galeria__item:hover .galeria__pie { transform: none; opacity: 1; }

.visor {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: grid;
  place-items: center;
  padding: 2rem;
  background: rgba(3, 11, 29, .94);
  backdrop-filter: blur(14px);
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--normal) var(--ease), visibility var(--normal);
}
.visor.abierto { opacity: 1; visibility: visible; }
.visor img { max-width: min(1100px, 94vw); max-height: 86vh; border-radius: var(--radio); box-shadow: var(--sombra-lg); }
.visor__cerrar {
  position: absolute;
  top: 1.4rem; right: 1.4rem;
  display: grid; place-items: center;
  width: 46px; height: 46px;
  border-radius: 50%;
  color: #fff;
  background: rgba(255, 255, 255, .12);
  border: 1px solid rgba(255, 255, 255, .22);
}
.visor__cerrar:hover { background: rgba(255, 255, 255, .24); }
.visor__pie { position: absolute; bottom: 1.6rem; color: #fff; font-size: .9rem; opacity: .85; }


/* ============================================================
   13. TESTIMONIOS
   ============================================================ */
.testimonio {
  position: relative;
  padding: 2rem 1.7rem 1.6rem;
  border-radius: var(--radio);
  border: 1px solid var(--borde);
  background: var(--superficie);
  box-shadow: var(--sombra-sm);
  transition: all var(--normal) var(--ease);
}
.testimonio:hover { border-color: var(--borde-fuerte); transform: translateY(-5px); box-shadow: var(--sombra); }
.testimonio::before {
  content: '“';
  position: absolute;
  top: -.3rem; left: 1.1rem;
  font-family: var(--fuente-titulo);
  font-size: 4.6rem;
  line-height: 1;
  color: var(--azul-interactivo);
  opacity: .18;
}
.testimonio p { position: relative; font-size: .97rem; color: var(--texto-sec); line-height: 1.68; margin-bottom: 1.35rem; }
.testimonio__autor { display: flex; align-items: center; gap: .85rem; }
.testimonio__foto { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; border: 1px solid var(--borde); flex-shrink: 0; }
.testimonio__inicial {
  display: grid; place-items: center;
  width: 46px; height: 46px;
  border-radius: 50%;
  font-family: var(--fuente-titulo);
  font-weight: 800;
  color: #fff;
  background: linear-gradient(140deg, var(--azul-800), var(--azul-interactivo));
  flex-shrink: 0;
}
.testimonio__autor strong { display: block; font-size: .93rem; }
.testimonio__autor span  { display: block; font-size: .78rem; color: var(--texto-ter); }

.estrellas { display: flex; gap: .1rem; color: #F5A524; margin-bottom: .9rem; }
.estrellas .ico { fill: currentColor; }


/* ============================================================
   14. CASO DE EXITO
   ============================================================ */
.caso {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 1px;
  border-radius: var(--radio);
  overflow: hidden;
  border: 1px solid var(--borde);
  background: var(--borde);
}
.caso__bloque { padding: 1.7rem 1.5rem; background: var(--superficie); }
.caso__etiqueta {
  display: inline-flex; align-items: center; gap: .4rem;
  font-size: .7rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
  margin-bottom: .8rem;
}
.caso__bloque--antes     .caso__etiqueta { color: #C42630; }
.caso__bloque--solucion  .caso__etiqueta { color: var(--azul-interactivo); }
.caso__bloque--resultado .caso__etiqueta { color: #0F7B39; }
.caso__bloque p { font-size: .93rem; color: var(--texto-sec); }


/* ============================================================
   15. SEDES · EQUIPO
   ============================================================ */
.sede {
  padding: 1.7rem 1.6rem;
  border-radius: var(--radio);
  border: 1px solid var(--borde);
  background: var(--superficie);
  box-shadow: var(--sombra-sm);
  transition: all var(--normal) var(--ease);
}
.sede:hover { border-color: var(--borde-fuerte); transform: translateY(-5px); box-shadow: var(--sombra); }
.sede--principal {
  border-color: var(--borde-fuerte);
  background: linear-gradient(160deg, var(--azul-050), var(--superficie));
}
.sede__cabeza { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1.1rem; }
.sede h4, .sede h3 { margin-bottom: .2rem; }
.sede__tipo { font-size: .74rem; color: var(--texto-ter); letter-spacing: .09em; text-transform: uppercase; font-weight: 700; }
.sede__datos li { display: flex; align-items: flex-start; gap: .6rem; font-size: .89rem; color: var(--texto-sec); margin-bottom: .6rem; }
.sede__datos .ico { color: var(--acento); flex-shrink: 0; margin-top: .2rem; }
.sede__acciones { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: 1.3rem; }

.miembro { text-align: center; }
.miembro__foto {
  position: relative;
  width: 148px; height: 148px;
  margin: 0 auto 1.2rem;
  border-radius: 50%;
  overflow: hidden;
  border: 3px solid var(--fondo);
  background: var(--superficie-2);
  box-shadow: var(--sombra);
}
.miembro__foto img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease-out); }
.miembro:hover .miembro__foto img { transform: scale(1.08); }
.miembro__foto::after {
  content: '';
  position: absolute;
  inset: -7px;
  border-radius: 50%;
  border: 2px solid transparent;
  border-top-color: var(--azul-interactivo);
  opacity: 0;
  transition: opacity var(--normal) var(--ease);
}
.miembro:hover .miembro__foto::after { opacity: 1; animation: girar 2.6s linear infinite; }
.miembro__inicial {
  display: grid; place-items: center;
  width: 100%; height: 100%;
  font-family: var(--fuente-titulo);
  font-size: 2.8rem; font-weight: 800;
  color: #fff;
  background: linear-gradient(150deg, var(--azul-800), var(--azul-interactivo));
}
.miembro h4 { margin-bottom: .2rem; }
.miembro__puesto { font-size: .86rem; color: var(--acento); font-weight: 650; }
.miembro__area   { font-size: .78rem; color: var(--texto-ter); }


/* ============================================================
   16. PRODUCTO
   ============================================================ */
.producto__precio {
  font-family: var(--fuente-titulo);
  font-size: 1.3rem;
  font-weight: 800;
  color: var(--texto);
  margin-bottom: 1rem;
}
.producto__categoria {
  font-size: .72rem; letter-spacing: .11em; text-transform: uppercase;
  color: var(--texto-ter); font-weight: 700; margin-bottom: .4rem;
}


/* ============================================================
   17. BUSCADOR
   ============================================================ */
.buscador { position: relative; max-width: 640px; }
.buscador input {
  width: 100%;
  padding: 1.1rem 3.5rem 1.1rem 3.2rem;
  font-size: 1rem;
  color: var(--texto);
  background: var(--superficie);
  border: 1px solid var(--borde);
  border-radius: var(--radio-full);
  box-shadow: var(--sombra);
  transition: all var(--normal) var(--ease);
}
.buscador input:focus {
  outline: none;
  border-color: var(--azul-interactivo);
  box-shadow: 0 0 0 5px rgba(1, 28, 89, .13), var(--sombra);
}
.buscador__ico { position: absolute; left: 1.2rem; top: 50%; transform: translateY(-50%); color: var(--texto-ter); pointer-events: none; }
.buscador__enviar {
  position: absolute;
  right: .45rem; top: 50%;
  transform: translateY(-50%);
  display: grid; place-items: center;
  width: 44px; height: 44px;
  border-radius: 50%;
  color: #fff;
  background: var(--azul-interactivo);
  transition: all var(--rapido) var(--ease);
}
.buscador__enviar:hover { transform: translateY(-50%) scale(1.06); box-shadow: 0 8px 20px rgba(18,107,255,.4); }

.sugerencias { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 1.1rem; }
.sugerencias span { font-size: .82rem; color: var(--texto-ter); align-self: center; margin-right: .2rem; }


/* ============================================================
   18. CONSEJO EYUB'
   ============================================================ */
.consejo {
  display: flex;
  align-items: flex-start;
  gap: 1.1rem;
  padding: 1.4rem 1.6rem;
  border-radius: var(--radio);
  border: 1px solid rgba(139, 92, 246, .24);
  background: linear-gradient(120deg, rgba(139, 92, 246, .07), var(--superficie) 70%);
  box-shadow: var(--sombra-sm);
}
.consejo__ico {
  display: grid; place-items: center;
  width: 44px; height: 44px;
  border-radius: 13px;
  flex-shrink: 0;
  color: #6A3BD6;
  background: rgba(139, 92, 246, .12);
  border: 1px solid rgba(139, 92, 246, .26);
}
.consejo strong { display: block; font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; color: #6A3BD6; margin-bottom: .3rem; }
.consejo p { font-size: .94rem; color: var(--texto-sec); }


/* ============================================================
   19. FUTURO / INNOVACION
   ============================================================ */
.futuro {
  position: relative;
  padding: 1.8rem 1.6rem;
  border-radius: var(--radio);
  border: 1px solid rgba(139, 92, 246, .20);
  background: linear-gradient(150deg, rgba(139, 92, 246, .06), var(--superficie) 60%);
  box-shadow: var(--sombra-sm);
  overflow: hidden;
  transition: all var(--normal) var(--ease);
}
.futuro:hover { border-color: rgba(139, 92, 246, .45); transform: translateY(-5px); box-shadow: 0 18px 46px rgba(139, 92, 246, .16); }
.futuro__ico {
  display: grid; place-items: center;
  width: 54px; height: 54px;
  border-radius: 16px;
  margin-bottom: 1.1rem;
  color: #6A3BD6;
  background: rgba(139, 92, 246, .11);
  border: 1px solid rgba(139, 92, 246, .26);
}
.futuro h4 { margin-bottom: .45rem; }
.futuro p { font-size: .9rem; color: var(--texto-sec); }
.futuro__estado { position: absolute; top: 1.3rem; right: 1.3rem; }

.inverso .futuro { background: rgba(139, 92, 246, .10); border-color: rgba(196, 174, 255, .28); }
.inverso .futuro__ico { color: #C4AEFF; background: rgba(139, 92, 246, .22); border-color: rgba(196, 174, 255, .30); }


/* ============================================================
   20. WHATSAPP POR AREA
   ============================================================ */
.area-wa {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.15rem 1.3rem;
  border-radius: var(--radio);
  border: 1px solid var(--borde);
  background: var(--superficie);
  box-shadow: var(--sombra-sm);
  transition: all var(--normal) var(--ease);
}
.area-wa:hover {
  border-color: rgba(37, 211, 102, .45);
  transform: translateX(5px);
  box-shadow: var(--sombra);
}
.area-wa__ico {
  display: grid; place-items: center;
  width: 48px; height: 48px;
  border-radius: 14px;
  flex-shrink: 0;
  color: var(--acento);
  background: var(--azul-100);
  border: 1px solid rgba(1, 28, 89, .18);
  transition: all var(--normal) var(--ease);
}
.area-wa:hover .area-wa__ico { color: #fff; background: var(--whatsapp); border-color: var(--whatsapp); }
.area-wa strong { display: block; font-size: .97rem; font-weight: 700; }
.area-wa small  { display: block; font-size: .8rem; color: var(--texto-ter); }
.area-wa__flecha { margin-left: auto; color: var(--texto-ter); flex-shrink: 0; }
.area-wa:hover .area-wa__flecha { color: var(--whatsapp); }

.inverso .area-wa__ico { background: rgba(18,107,255,.20); border-color: rgba(134,180,255,.28); }


/* ============================================================
   21. ESTADO VACIO
   ============================================================ */
.vacio {
  text-align: center;
  padding: clamp(2.5rem, 6vw, 4.5rem) 1.5rem;
  border-radius: var(--radio);
  border: 1px dashed var(--borde-fuerte);
  background: var(--fondo-alt);
}
.vacio__ico {
  display: inline-grid; place-items: center;
  width: 66px; height: 66px;
  border-radius: 50%;
  margin-bottom: 1.1rem;
  color: var(--texto-ter);
  background: var(--superficie);
  border: 1px solid var(--borde);
}
.vacio h4 { margin-bottom: .5rem; }
.vacio p { color: var(--texto-sec); font-size: .94rem; max-width: 48ch; margin-inline: auto; }


/* ============================================================
   22. FRANJA (marquesina)
   ============================================================ */
.franja {
  overflow: hidden;
  padding-block: 1.2rem;
  border-block: 1px solid var(--borde);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
}
.franja__pista { display: flex; gap: 3rem; width: max-content; animation: desfilar 34s linear infinite; }
.franja:hover .franja__pista { animation-play-state: paused; }
@keyframes desfilar { to { transform: translateX(-50%); } }

.franja__item {
  display: flex;
  align-items: center;
  gap: 0;
  font-family: var(--fuente-titulo);
  font-size: .95rem;
  font-weight: 750;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--texto-ter);
  white-space: nowrap;
}
.franja__item .ico { color: var(--azul-interactivo); margin-right: .6rem; }


/* ============================================================
   23. PESTANAS
   ============================================================ */
.pestanas { display: flex; gap: .4rem; flex-wrap: wrap; padding-bottom: 1.6rem; margin-bottom: 1.6rem; border-bottom: 1px solid var(--borde); }
.pestana { padding: .62rem 1.2rem; font-size: .88rem; font-weight: 650; color: var(--texto-ter); border-radius: var(--radio-full); transition: all var(--rapido) var(--ease); }
.pestana:hover { color: var(--texto); background: var(--superficie-2); }
.pestana.activa { color: #fff; background: var(--azul-interactivo); box-shadow: 0 6px 18px rgba(1, 28, 89, .3); }
.panel-pestana { display: none; }
.panel-pestana.activo { display: block; animation: entrar-panel .4s var(--ease-out); }


/* ============================================================
   25. VARIANTES PARA SECCIONES INVERSAS (fondo azul profundo)
   ------------------------------------------------------------
   Lo mismo que ya existía para numeros, futuros, insignias,
   anillos y botones: ahora para el resto de los componentes,
   para que cualquier sección pueda vestirse de noche con la
   clase "inverso".
   ============================================================ */

/* Lista con checks */
.inverso .lista-check li   { color: rgba(255, 255, 255, .85); }
.inverso .lista-check .ico { color: #6EA8FF; }

/* Insignia "pronto" (las de colores ya tenían variante) */
.inverso .insignia--pronto {
  background: rgba(255, 255, 255, .08);
  color: rgba(255, 255, 255, .68);
  border-color: rgba(255, 255, 255, .18);
}

/* Dato flotante del bloque duo: vidrio azul sobre la foto */
.inverso .duo__dato {
  background: rgba(4, 16, 36, .88);
  border-color: rgba(134, 180, 255, .30);
  box-shadow: 0 18px 44px rgba(2, 10, 26, .55);
}
.inverso .duo__dato strong { color: #fff; }
.inverso .duo__dato span   { color: rgba(255, 255, 255, .66); }
.inverso .duo__dato .ico   { color: #6EA8FF; }

/* Panel de información del sistema orbital */
.inverso .orbe-info {
  background: rgba(255, 255, 255, .06);
  border-color: rgba(255, 255, 255, .14);
  box-shadow: none;
}
.inverso .orbe-info__titulo { color: #fff; }
.inverso .orbe-info__titulo .ico { color: #93C5FD; }
.inverso .orbe-info p { color: rgba(255, 255, 255, .78); }

/* Satélites de la órbita: azul profundo en vez de blanco */
.inverso .satelite__cara {
  color: #93C5FD;
  background: rgba(10, 31, 61, .92);
  border-color: rgba(134, 180, 255, .30);
  box-shadow: 0 10px 28px rgba(2, 10, 26, .50);
}
.inverso .satelite__nombre { color: rgba(255, 255, 255, .55); }
.inverso .satelite:hover .satelite__nombre,
.inverso .satelite__cara[aria-selected="true"] + .satelite__nombre {
  color: rgba(255, 255, 255, .88);
}

/* Tarjetas de área con WhatsApp */
.inverso .area-wa {
  background: rgba(255, 255, 255, .05);
  border-color: rgba(255, 255, 255, .14);
  box-shadow: none;
}
.inverso .area-wa strong { color: #fff; }
.inverso .area-wa small   { color: rgba(255, 255, 255, .60); }
.inverso .area-wa__flecha { color: rgba(255, 255, 255, .55); }
.inverso .area-wa__ico {
  color: #93C5FD;
  background: rgba(255, 255, 255, .16);
  border-color: rgba(134, 180, 255, .28);
}

/* Enlaces con flecha */
.inverso .enlace-flecha { color: #8DB4FF; }
.inverso .enlace-flecha:hover { color: #BCD5FF; }


/* ============================================================
   26. MÁS VARIANTES INVERSAS  ·  tarjetas, faq, formularios
   ------------------------------------------------------------
   Completan el set de la sección 25: con esto cualquier
   sección "inverso" del sitio puede contener los componentes
   más comunes sin quedar texto claro sobre fondo claro.
   ============================================================ */

/* Tarjetas de rejilla */
.inverso .tarjeta {
  border-color: rgba(255, 255, 255, .14);
  background: rgba(255, 255, 255, .05);
  box-shadow: none;
}
.inverso .tarjeta:hover { border-color: rgba(134, 180, 255, .42); }
.inverso .tarjeta p { color: rgba(255, 255, 255, .70); }
.inverso .tarjeta-ico {
  color: #93C5FD;
  background: rgba(255, 255, 255, .16);
  border-color: rgba(134, 180, 255, .28);
}

/* Insignia suave */
.inverso .insignia--suave {
  background: rgba(255, 255, 255, .08);
  color: rgba(255, 255, 255, .70);
  border-color: rgba(255, 255, 255, .18);
}

/* Pasos de "mira cómo trabajamos" */
.inverso .proceso__item {
  border-color: rgba(255, 255, 255, .14);
  background: rgba(255, 255, 255, .05);
}
.inverso .proceso__item p { color: rgba(255, 255, 255, .70); }

/* Testimonios */
.inverso .testimonio {
  border-color: rgba(255, 255, 255, .14);
  background: rgba(255, 255, 255, .05);
}
.inverso .testimonio p { color: rgba(255, 255, 255, .84); }
.inverso .testimonio__autor span { color: rgba(255, 255, 255, .60); }

/* Vacantes */
.inverso .vacante {
  border-color: rgba(255, 255, 255, .14);
  background: rgba(255, 255, 255, .05);
}
.inverso .vacante small, .inverso .vacante p { color: rgba(255, 255, 255, .66); }

/* Acordeón de preguntas */
.inverso .acordeon__item {
  border-color: rgba(255, 255, 255, .14);
  background: rgba(255, 255, 255, .04);
}
.inverso .acordeon__boton { color: rgba(255, 255, 255, .90); }
.inverso .acordeon__cuerpo p { color: rgba(255, 255, 255, .74); }
.inverso .acordeon__mas {
  color: #93C5FD;
  border-color: rgba(134, 180, 255, .30);
  background: rgba(255, 255, 255, .14);
}

/* Consejo EYUB' (variante genérica) */
.inverso .consejo {
  border-color: rgba(196, 181, 253, .30);
  background: rgba(255, 255, 255, .06);
}
.inverso .consejo strong { color: #C4B5FD; }
.inverso .consejo p { color: rgba(255, 255, 255, .82); }

/* Formularios sobre sección inversa */
.inverso .campo label { color: rgba(255, 255, 255, .86); }
.inverso .campo input,
.inverso .campo select,
.inverso .campo textarea {
  color: #fff;
  background: rgba(255, 255, 255, .07);
  border-color: rgba(255, 255, 255, .22);
}
.inverso .campo input::placeholder,
.inverso .campo textarea::placeholder { color: rgba(255, 255, 255, .38); }
.inverso .campo input:focus,
.inverso .campo select:focus,
.inverso .campo textarea:focus { border-color: var(--azul-interactivo); }
.inverso .ayuda { color: rgba(255, 255, 255, .55); }

/* Opciones del cotizador rápido */
.inverso .cotiza-opcion {
  border-color: rgba(255, 255, 255, .14);
  background: rgba(255, 255, 255, .05);
}
.inverso .cotiza-opcion small, .inverso .cotiza-opcion p { color: rgba(255, 255, 255, .66); }
.inverso .cotiza-opcion__ico {
  color: #93C5FD;
  background: rgba(255, 255, 255, .16);
  border-color: rgba(134, 180, 255, .28);
}
.inverso .ayuda-caja {
  border-color: rgba(196, 181, 253, .30);
  background: rgba(139, 92, 246, .12);
}
.inverso .ayuda-caja p { color: rgba(255, 255, 255, .78); }


/* ============================================================
   27. ACORDEÓN REDISEÑADO  ·  cada pregunta en su tarjeta
   ------------------------------------------------------------
   Antes eran líneas sueltas; ahora son tarjetas redondeadas
   con borde, que se elevan al abrirse. La variante inversa
   hereda la forma y solo cambia el vidrio.
   ============================================================ */
.acordeon {
  display: grid;
  gap: .85rem;
  border-top: none;
}
.acordeon__item {
  border: 1px solid var(--borde);
  border-radius: var(--radio-lg);
  background: var(--superficie);
  overflow: hidden;
  transition: all var(--normal) var(--ease);
}
.acordeon__item:hover {
  border-color: var(--borde-fuerte);
  box-shadow: var(--sombra-sm);
}
.acordeon__item.abierto {
  border-color: rgba(1, 28, 89, .35);
  box-shadow: 0 12px 32px rgba(1, 28, 89, .10);
}
.acordeon__boton { padding: 1.15rem 1.35rem; }
.acordeon__cuerpo p { padding: 0 1.35rem 1.3rem; }

/* En sección inversa, la tarjeta es de vidrio y el acento claro */
.inverso .acordeon__item.abierto {
  border-color: rgba(134, 180, 255, .45);
  box-shadow: 0 12px 32px rgba(2, 10, 26, .35);
}


/* ============================================================
   28. VARIANTES INVERSAS  ·  buscador, agenda y portal
   ============================================================ */

/* Buscador grande (página de búsqueda en sección oscura) */
.inverso .buscador input {
  color: #fff;
  background: rgba(255, 255, 255, .07);
  border-color: rgba(255, 255, 255, .24);
}
.inverso .buscador input::placeholder { color: rgba(255, 255, 255, .40); }
.inverso .buscador__ico { color: #93C5FD; }

/* Días y horas del agenda, en azul */
.inverso .agenda-dia > span,
.inverso .agenda-dia label {
  color: rgba(255, 255, 255, .85);
  border-color: rgba(255, 255, 255, .20);
  background: rgba(255, 255, 255, .05);
}
.inverso .agenda-hora > span {
  color: rgba(255, 255, 255, .85);
  border-color: rgba(255, 255, 255, .20);
  background: rgba(255, 255, 255, .05);
}
.inverso .agenda-dia input:checked + span,
.inverso .agenda-hora input:checked + span {
  color: #fff;
  background: var(--azul-interactivo);
  border-color: var(--azul-interactivo);
}

/* Pasos 1-2-3 del agenda */
.inverso .paso-punto { color: rgba(255, 255, 255, .75); }
.inverso .paso-punto__num {
  color: #fff;
  border-color: rgba(134, 180, 255, .40);
  background: rgba(255, 255, 255, .18);
}
.inverso .paso-punto.activo .paso-punto__num {
  background: var(--azul-interactivo);
  border-color: var(--azul-interactivo);
}

/* Panel de acceso al portal del cliente */
.inverso .portal-acceso {
  border-color: rgba(255, 255, 255, .14);
  background: rgba(255, 255, 255, .05);
  box-shadow: none;
}

/* Chips de sugerencias del buscador, en sección oscura */
.inverso .chip {
  color: rgba(255, 255, 255, .85);
  border-color: rgba(255, 255, 255, .22);
  background: rgba(255, 255, 255, .06);
}
.inverso .chip:hover {
  color: #fff;
  background: var(--azul-interactivo);
  border-color: var(--azul-interactivo);
}
