.footer-net__container--contact iconify-icon,
.footer-net__list iconify-icon {
  margin-bottom: -2px;
  font-size: 14px;
}

.footer-net__container,
hr.hrfooter {
  border-top: 1px solid #d2d2d2;
}

.bg-custom {
  /* background-image: url(/Portals/27/Skins/skin-bem/assets/images/footer.svg) !important;*/
  background-color: #2c2a29 !important;
  background-position: 50%;
  background-size: cover;
  background-repeat: no-repeat;
}

.footer-net {
  max-width: 1164px;
  margin: 0 auto 20px;
  width: 100%;
}

.footer-net__container {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 20px;
}

.footer-net__logo {
  width: 130px;
}

.footer-net__link {
  font-size: 14px;
}

.footer-net__link:hover {
  color: #fff !important;
  text-decoration: none !important;
}

.footer-net__text {
  color: #fff;
  line-height: 18px;
  font-size: 12px;
}

.footer-net__list {
  display: flex;
  gap: 3px;
  flex-direction: column;
}

.footer-net__list.w-60.net-mb-4 {
  display: block;
}

.footer-net__list--row {
  flex-direction: row;
  flex-wrap: wrap;
}

.footer-net__list--center {
  align-items: center;
}

.footer-net__logos {
  justify-content: space-between;
}

.footer-net__item,
.footer-net__item p,
.footer-net__link,
.net-accordion__title {
  color: #fff !important;
  font-size: 12px;
  margin-top: 5px;
}

.net-accordion__title {
  font-weight: 700;
  font-size: 18px;
}

.net-accordion__title span {
  font-size: 14px;
  font-weight: 400;
  position: relative;
  display: inline-block;
}

.footer-net__list--logos {
  padding-left: 0 !important;
}

.footer-net__list--logos li {
  list-style-type: none;
}

@media (min-width: 1025px) {
  .footer-net {
    margin: 0 auto;
  }
  footer hr {
    margin: 0 !important;
    border-top: 1px solid #cccccc !important;
    max-width: none;
    width: 100%;
  }

  .footer-net__list.w-60.net-mb-4 {
    display: flex;
  }

  .footer-net__list--logos {
    padding: 16px 0 0.5rem;
  }

  .footer-net__container--redes,
  .footer-net__list--redes {
    gap: 5px;
  }

  .footer-net__container--center,
  .footer-net__list--center {
    align-items: center;
  }

  .footer-net__container {
    padding: 10px;
  }

  .footer-net::before {
    border-top: 1px solid #d2d2d2;
    content: "";
    width: 100%;
    position: absolute;
    left: 0;
  }
  .footer-net__list-lg--row {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .footer-net
    .net-accordion__child.active:has(.net-accordion__body)
    .net-accordion__title::after {
    content: "\f106";
  }
}

.logos {
  padding: 0 !important;
  margin: 3rem 0 !important;
}

#dnn_dnnLOGO_imgLogo {
  width: 183px !important;
}

@media (max-width: 1024px) {
  footer hr {
    border-top: none !important;
    display: none;
  }
  .net-accordion__title span {
    display: contents;
  }
  .footer-net {
    padding: 10px 25px;
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

  .footer-net__container {
    gap: 20px;
    padding: 20px 0;
  }

  .footer-net .net-accordion__child {
    border-bottom: 1px solid #e6e6e6;
  }
  .net-accordion__child.active .net-accordion__body {
    padding-bottom: 2rem;
    padding-top: 0;
  }

  .footer-net__list--logos {
    justify-content: space-between;
    flex-wrap: wrap;
  }

  .logos {
    justify-content: center;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
  }
}

@media (min-width: 1025px) {
  .footer-net {
    padding: 25px 0 20px;
  }
  .footer-net.pt-0 {
    padding-top: 0 !important;
  }

  .footer-net__container,
  .footer-net__list {
    gap: 1px;
    flex-direction: row;
    justify-content: space-between;
    margin-top: 5px;
    padding-left: 1.2rem;
  }

  .footer-net__container--logos,
  .footer-net__list--logos {
    min-height: 50px;
  }

  .footer-net__container--column,
  .footer-net__list--column {
    flex-direction: column;
  }

  .footer-net__container--redes,
  .footer-net__list--redes {
    gap: 5px;
  }

  .footer-net__container {
    padding: 10px 0 15px;
  }

  .footer-net__link {
    font-size: 14px;
  }

  .footer-net::before {
    content: initial;
  }

  .net-accordion__container {
    padding: 10px 0;
    justify-content: space-between;
  }

  .net-accordion__title {
    padding: 10px 0 5px;
  }

  .net-accordion__body {
    padding: 0;
  }

  .w-60 {
    width: 60%;
    margin: auto;
  }

  .net-accordion__container {
    display: flex;
  }
  .net-accordion__container > div {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .net-accordion__container > div:first-child {
    flex: 0 0 auto;
    width: 25%;
  }
}

/* POP ALERT */

.container-alert {
  width: 652px;
  height: 158px;
  border-radius: 8px;
  padding-top: 16px;
  padding-right: 16px;
  padding-bottom: 16px;
  padding-left: 24px;
  border-left: 8px solid #fdda24;
  background: #353537;
  position: relative;
}
.container-alert-body {
  padding: 0 42px;
}

h3.container-alert__title {
  font-family: CIBFont Sans;
  font-weight: 700;
  font-size: 18px;
  line-height: 26px;
  letter-spacing: 0px;
  color: #ffffff;
}

p.container-alert__description {
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0px;
  color: #ffffff;
}

.container-alert__container-btn a {
  border-radius: 100px;
  padding-top: 8px;
  padding-right: 16px;
  padding-bottom: 8px;
  padding-left: 16px;
  border-width: 1px;
  border: 1px solid #ffffff;
  font-weight: 700;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0px;
  text-align: center;
  color: #fff;
}

.container-alert__container-btn {
  margin-top: 16px;
}

.container-alert__img {
  position: absolute;
  left: 15px;
}

.container-alert__img img {
  width: 32px;
  height: 32px;
}

.container-alert__btn-close {
  position: absolute;
  right: 20px;
  cursor: pointer;
}

.container-alert__btn-close img {
  width: 25px;
  height: 25px;
}

.container-stiky-alert {
  position: fixed;
  animation-name: msAnimateBanner;
  animation-duration: 4s;
  bottom: 35px;
  z-index: 999999;
  left: 50%;
  transform: translateX(-50%);
}

/**
 * ----------------------------------------
 * animation heartbeat
 * ----------------------------------------
 */
.heartbeat {
  -webkit-animation: heartbeat 4s steps(2, end) 8s infinite both;
  animation: heartbeat 4s steps(2, end) 8s infinite both;
}
@-webkit-keyframes heartbeat {
  from {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  10% {
    -webkit-transform: scale(0.91);
    transform: scale(0.91);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  17% {
    -webkit-transform: scale(0.98);
    transform: scale(0.98);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  33% {
    -webkit-transform: scale(0.87);
    transform: scale(0.87);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  45% {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
}
@keyframes heartbeat {
  from {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  10% {
    -webkit-transform: scale(0.91);
    transform: scale(0.91);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  17% {
    -webkit-transform: scale(0.98);
    transform: scale(0.98);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  33% {
    -webkit-transform: scale(0.87);
    transform: scale(0.87);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  45% {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
}

@keyframes msAnimateBanner {
  0% {
    bottom: -200px;
  }
  100% {
    bottom: 35px;
  }
}

@media (max-width: 768px) {
  .container-alert {
    width: 390px;
    height: 223px;
  }
}

.container-btn-open-alert {
  position: fixed;
  bottom: 10px;
  right: 90px;
  z-index: 99998;
  animation: 4s steps(2, end) 2s infinite normal both running heartbeat;
  cursor: pointer;
}

.footer-net__text1 {
  font-size: 14px !important;
}
/* Botón de prueba para abrir el modal */
.test-trigger-btn {
  padding: 12px 24px;
  background-color: #333;
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 16px;
  cursor: pointer;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* ============================
           ESTILOS DEL MODAL (VAINILLA CSS)
           ============================ */
.session-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.65); /* Fondo oscuro semitransparente */
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 99999;

  /* Animación de entrada */
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.3s ease,
    visibility 0.3s ease;
}

.session-overlay.active {
  opacity: 1;
  visibility: visible;
}

.session-modal {
  background-color: #ffffff;
  width: 90%;
  max-width: 340px; /* Tamaño similar al de la imagen en móvil */
  border-radius: 16px;
  padding: 24px 20px 32px 20px;
  position: relative;
  text-align: center;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);

  /* Animación del cuadro modal */
  transform: scale(0.95) translateY(10px);
  transition: transform 0.3s ease;
}

.session-overlay.active .session-modal {
  transform: scale(1) translateY(0);
}

/* Botón Cerrar 'X' */
.session-close-btn {
  position: absolute;
  top: 14px;
  right: 14px;
  background: none;
  border: none;
  cursor: pointer;
  color: #666;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* Estilo para el Logo Dinámico */
.session-logo {
  display: none;
  margin: 0 auto 16px auto;
  max-width: 180px;
  max-height: 45px;
  object-fit: contain;
}

.session-close-btn:hover {
  color: #2c2a29;
}

/* Círculo con Ícono */
.session-icon-circle {
  width: 54px;
  height: 54px;
  background-color: #fdda24; /* Nuevo azul solicitado */
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 12px auto 20px auto;
}

/* Textos */
.session-title {
  font-size: 21px;
  font-weight: 700;
  color: #2c2a29; /* Nuevo color oscuro solicitado */
  margin-bottom: 12px;
  letter-spacing: -0.3px;
}

.session-desc {
  font-size: 15px;
  color: #2c2a29; /* Alineado al nuevo color oscuro */
  line-height: 1.45;
  margin: 0 auto 28px auto;
  max-width: 280px;
}

/* Botón de Acción Principal */
.session-action-btn {
  background-color: #fdda24; /* Nuevo amarillo solicitado */
  color: #2c2a29; /* Nuevo color oscuro para el texto del botón */
  border: none;
  border-radius: 30px; /* Forma de píldora */
  padding: 14px 20px;
  width: 100%;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.session-action-btn:hover {
  background-color: #e5c420; /* Amarillo un poco más oscuro al pasar el mouse */
}

/* Estilo para el link de ejemplo */
.footer-net__link {
  color: #2c2a29;
  text-decoration: underline;
  cursor: pointer;
}

footer #dnn_dnnLOGO_imgLogo {
  margin: 10px 0;
}

/* ============================
           NUEVA CAJA DE COPIAR URL (CLON IMAGEN)
           ============================ */
.url-box {
  display: flex;
  align-items: center;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 10px 16px;
  margin-top: 32px;
  background-color: #ffffff;
}

.url-left {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
  overflow: hidden;
}

.url-icon {
  background-color: #f3f4f6;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #2c2a29;
}

.url-text {
  font-weight: 700;
  color: #2c2a29;
  font-size: 15px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.url-divider {
  width: 1px;
  height: 36px;
  background-color: #e5e7eb;
  margin: 0 16px;
}

.url-copy-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  background: none;
  border: none;
  cursor: pointer;
  font-weight: 700;
  font-size: 15px;
  color: #2c2a29;
  padding: 8px 0;
  transition: opacity 0.2s;
}

.url-copy-btn:hover {
  opacity: 0.6;
}
