/* Componente aislado: Botón circular con texto rotando */
.s14-rotbtn {
  cursor: pointer;
  border: none;
  background: #50c878;
  color: #fff;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  overflow: hidden;
  position: relative;
  display: grid;
  place-content: center;
  transition: background 300ms, transform 200ms;
  font-weight: 600;

  /* Resets anti-Bootstrap */
  padding: 0;
  line-height: 1;
  text-align: center;
  box-shadow: none;
  outline: none;
  appearance: none;
  /* Evita estilos del navegador */
  -webkit-appearance: none;
}

.s14-rotbtn__text {
  position: absolute;
  inset: 0;
  margin: 0;
  /* Evita margin por defecto en <p> de BS */
  animation: s14-text-rotation 8s linear infinite;
  pointer-events: none;
  /* No interfiere con el click */
}

.s14-rotbtn__text > span {
  position: absolute;
  transform: rotate(calc(19deg * var(--index)));
  inset: 7px;
}

.s14-rotbtn__circle {
  position: relative;
  width: 40px;
  height: 40px;
  overflow: hidden;
  background: #fff;
  color: #000;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;

  /* Resets anti-Bootstrap */
  box-shadow: none;
}

.s14-rotbtn__icon {
  display: block;
}

.s14-rotbtn__icon--copy {
  position: absolute;
  transform: translate(-150%, 150%);
}

.s14-rotbtn:hover {
  background: #000;
  transform: scale(1.05);
}

.s14-rotbtn:hover .s14-rotbtn__icon {
  color: #000;
}

.s14-rotbtn:hover .s14-rotbtn__icon:first-child {
  transition: transform 0.3s ease-in-out;
  transform: translate(150%, -150%);
}

.s14-rotbtn:hover .s14-rotbtn__icon--copy {
  transition: transform 0.3s ease-in-out 0.1s;
  transform: translate(0);
}

@keyframes s14-text-rotation {
  to {
    rotate: 360deg;
  }
}

.Btn {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 200px;
  border-radius: 40px;
  height: 45px;
  border: none;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition-duration: 0.3s;
  box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.199);
  background-color: rgb(255, 65, 65);
}

/* plus sign */
.sign {
  width: 100%;
  transition-duration: 0.3s;
  display: flex;
  align-items: center;
  justify-content: center;
}

.sign svg {
  width: 17px;
}

.sign svg path {
  fill: white;
}

/* text */
.text {
  position: absolute;
  right: 0%;
  width: 0%;
  opacity: 0;
  color: white;
  font-size: 1.2em;
  font-weight: 600;
  transition-duration: 0.3s;
}

/* hover effect on button width */
.Btn:hover {
  width: 200px;
  border-radius: 40px;
  transition-duration: 0.3s;
}

.Btn:hover .sign {
  width: 40%;
  transition-duration: 0.3s;
  padding-left: 20px;
}

/* hover effect button's text */
.Btn:hover .text {
  opacity: 1;
  width: 70%;
  transition-duration: 0.3s;
  padding-right: 10px;
}

/* button click effect*/
.Btn:active {
  transform: translate(2px, 2px);
}

.cardEsp {
  width: 100%;
  height: 350px;
  border-radius: 30px;
  background: #e0e0e0;
  box-shadow: 15px 15px 30px #bebebe, -15px -15px 30px #ffffff;
  display: flex;
  align-items: center;
  padding: 20px 30px;
  gap: 20px;
  overflow: hidden;
}

/* Imagen del lado izquierdo */
.cardEsp img {
  object-fit: cover;
  border-radius: 15px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
}

/* Contenedor de los datos */
.cardEsp .datos {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
  font-family: "Nunito", sans-serif;
}

/* Estilo de cada línea de dato */
.cardEsp .dato {
  font-size: 1rem;
  padding: 8px 12px;
}

/* Encabezado o nombre principal */
.cardEsp .nombre {
  font-size: 1.3rem;
  font-weight: bold;
  margin-bottom: 10px;
}

/* Responsive para móvil */
@media (max-width: 767.98px) {
  .cardEsp {
    flex-direction: column;
    height: auto;
    text-align: center;
  }

  .cardEsp img {
    width: 100px;
    height: 120px;
  }

  .cardEsp .datos {
    align-items: center;
  }

  .cardEsp .dato {
    width: 80%;
  }
}

.parent {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-template-rows: repeat(5, 1fr);
  gap: 7px;
}

.div3 {
  grid-column: span 2 / span 2;
  grid-row: span 2 / span 2;
  grid-column-start: 1;
  grid-row-start: 2;
}

.div5 {
  grid-column: span 2 / span 2;
  grid-column-start: 1;
  grid-row-start: 4;
}

.div6 {
  grid-column: span 2 / span 2;
  grid-column-start: 1;
  grid-row-start: 5;
}

.div7 {
  grid-column: span 3 / span 3;
  grid-row: span 5 / span 5;
  grid-column-start: 3;
  grid-row-start: 1;
}
@media (max-width: 767.98px) {
  .div7 {
    display: none !important;
  }
}

.icon-big {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  /* tamaño del contenedor */
  height: 64px;
  /* círculo opcional */
  /* fondo verde translúcido opcional */
  font-size: 2rem;
  /* tamaño del ícono */
}

.icon-color-green i {
  color: #28a745;
  /* verde Bootstrap */
}

.icon-color-red i {
  color: #dc3545;
}

/* Permite que la etiqueta “salga” un poco del borde izquierdo como en la captura */
.retiro-card {
  overflow: visible;
  /* importante para que se vea por fuera */
  border-radius: 12px;
}

/* Etiqueta vertical “Retiro” */
.retiro-label {
  position: absolute;
  left: 5px;
  /* sobresale un poco del borde, ajusta a tu gusto */
  top: 90%;
  transform: translateY(-50%) rotate(-90deg);
  transform-origin: left top;
  /* asegura buena referencia al rotar */
  /* texto oscuro como en la imagen */
  line-height: 1;
  letter-spacing: 0.3px;
  white-space: nowrap;
  background: transparent;
  /* sin fondo, como la captura */
  padding: 0;
  /* sin padding */
}
  .truncate-text {
               white-space: nowrap;
               overflow: hidden;
               text-overflow: ellipsis;
               display: block;
               max-width: 100%;
          }

           .bajorrelieve {
               background: #31312fff;
               -webkit-background-clip: text;
               -moz-background-clip: text;
               background-clip: text;
               color: transparent;
               font: ;
               font-size: 2rem;
               text-shadow: 0px 3px 3px rgba(255, 255, 255, 0.5), 0px -1px 1px rgba(0, 0, 0, .3);
          }