/* HEADER */
.header-custom {
  background-color: #ffffff;
  position: fixed;
  width: 100%;
  z-index: 1030;
  padding: 10px 0 25px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
  gap: 10px;
  transition: padding 0.3s ease-in-out; /* Suaviza la transición del padding */
}

/* DEGRADADO INFERIOR */
.header-custom::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -18px;
  width: 100%;
  height: 18px;
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.10),
    rgba(0, 0, 0, 0.05),
    transparent
  );
  pointer-events: none;
}

/* LOGO */
.logotipo {
  height: 78px;
  display: block;
  transform: translateY(2px); /* micro ajuste fino */
  margin-right: 12px;
  transition: opacity 0.3s ease-in-out; /* Transición suave en la opacidad */
}

/* CONTENEDOR TITULOS */
.texto-header {
  display: flex;
  flex-direction: column;
  justify-content: center; /* asegura equilibrio interno */
  line-height: 1.2;
  transition: opacity 0.3s ease-in-out; /* Transición suave al ocultar el texto */
}

/* TITULO */
.titulo-sitio {
  color: #020226;     /* color del texto */
  font-size: 2.6rem;    /* tamaño */
  font-weight: 700;   /* grosor (negrita) */
  margin: 0;
}

/* SUBTITULO */
.subtitulo-sitio {
  font-size: 1rem;
  font-weight: 550;
  color: #020226;
  margin-top: 4px;
  margin-bottom: 0;
}


/* NAVBAR */
.navbar {
  padding: 0;
  background: transparent !important;
  border: none;
  box-shadow: none;
  margin-top: 18px;

  transition: padding 0.3s ease-in-out, margin-top 0.3s ease-in-out;
}

/* LINKS */
.navbar-nav .nav-link {
  display: block;
  color: #2c3e50;
  font-size: 14px;
  font-weight: 500;
  text-transform: uppercase;
  font-family: "Roboto", sans-serif;

  padding: 8px 18px;
  border-radius: 6px;

  transition: background-color 0.25s ease, color 0.25s ease;
}

/* ESPACIADO ENTRE ITEMS */
.navbar-nav .nav-item {
  margin: 0 6px;
}

/* HOVER (CORREGIDO) */
.navbar-nav .nav-link:hover {
  background-color: #0d6efd;
  color: #ffffff;
  text-decoration: none; /* evita salto */
}

/* ACTIVO */
.nav-link.active {
  color: #ffffff !important;
  background-color: #007bff;
  border-radius: 6px;
}

/* BOTÓN MOBILE */
.navbar-toggler {
  border: none;
}

/* RESPONSIVE */
@media (max-width: 991px) {
  .navbar-nav {
    text-align: center;
    margin-top: 10px;
  }

  .navbar-nav .nav-link {
    margin: 6px 0;
  }
}

/* LOGO OCULTO */
.hidden-logo {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease-in-out;
}

/* NAVBAR AL HACER SCROLL */
.hidden-navbar {
  padding-top: 0 !important;
  margin-top: -70px;

  transition: padding 0.3s ease-in-out, margin-top 0.3s ease-in-out;

}


/* CARRUSEL INICIO - FULL WIDTH */


/* CONTENEDOR */
.slideshow {
  position: relative;
  width: 100%;
  height: 512px;
  overflow: hidden;
  background: #000;
}

/* CADA SLIDE */
.slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 2s ease-in-out;
}
/* capa oscura encima de la imagen */
.slide::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45); /* ajusta intensidad aquí */
  z-index: 1;
}

/* ACTIVO */
.slide.active {
  opacity: 1;
}

/* IMAGEN */
.slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
   position: relative;
  z-index: 0;
}

/* TEXTO ENCIMA */

.slide .text {
  position: absolute;
  inset: 0;
  z-index: 2;


  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;

  text-align: center;
  color: #fff;
  text-shadow: 0 2px 12px rgba(0,0,0,0.6);
  padding: 0 20px;
  text-shadow: 0 2px 12px rgba(0,0,0,0.6);
}

.slide .text {
  justify-content: center;
  padding-top: 90px; /* 👈 esto lo baja */
}

.slide .text h2 {
  font-size: 55px;
  margin: 0;
}

.slide .text p {
  font-size: 25px;
  margin-top: 10px;
}


/* SECCION SERVICIOS  PAGINA INICIO*/

.servicios-inicio {
  padding: 80px 20px;
  background: transparent;
}

/* GRID */
.servicios-inicio__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px 22px;
  max-width: 1200px;
  margin: auto;
}

/* TARJETA */
.servicios-inicio__card {
  display: flex;
  align-items: center;
  gap: 14px;

  padding: 20px 18px;
  border-radius: 16px;

  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(8px);

  border: 1px solid rgba(0, 0, 0, 0.06);

  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.06),
              0 2px 6px rgba(0, 0, 0, 0.04);

  text-decoration: none;
  color: #1e293b;

  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

/* ICONO */
.servicios-inicio__icono {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #eaf2ff;

  display: flex;
  align-items: center;
  justify-content: center;

  flex-shrink: 0;
  transition: all 0.3s ease;
}

.servicios-inicio__icono i {
  font-size: 20px;
  color: #0d6efd;
}

/* TEXTO */
.servicios-inicio__texto {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.3px;
}

/* HOVER */
.servicios-inicio__card:hover {
  transform: translateY(-5px);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.12);
  border-color: rgba(13, 110, 253, 0.25);
}

.servicios-inicio__card:hover .servicios-inicio__icono {
  background: #0d6efd;
}

.servicios-inicio__card:hover .servicios-inicio__icono i {
  color: #ffffff;
}

/* RESPONSIVE */
@media (max-width: 992px) {
  .servicios-inicio__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 576px) {
  .servicios-inicio__grid {
    grid-template-columns: 1fr;
  }
}

/* PAGINA DOCUMENTOS PRIVADOS*/
.doc-privado__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 20px;
  margin-top: 50px;
  row-gap: 40px;
}

/* Titulo */
.section-title-priva {
  font-size: 40px;
  font-weight: 700;
  color: #1c2e40;
  letter-spacing: 0.5px;
  margin-bottom: 10px;
  position: relative;
}

/* línea decorativa sutil */
.section-title::after {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  background: #1f4e79;
  margin: 10px auto 0;
  border-radius: 2px;
}

/* Parrafo Informativo */
.info-box {
  max-width: 750px;
  margin: 20px auto 0;
  padding: 20px 25px;
  background: #f8fafc;

  /* borde institucional */
  border-left: 5px solid #1f4e79;

  border-radius: 8px;

  /* sombra suave */
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);

  text-align: center;
}

.info-box p {
  margin: 0;
  font-size: 18px;
  color: #4a4a4a;
  line-height: 1.6;
  text-align: left;
}

/* ===== TARJETA ===== */
.doc-privado__card {
  display: flex;
  align-items: center;
  gap: 14px;

  padding: 18px 16px;
  border-radius: 14px;

  background: #fff;
  border: 1px solid rgba(0,0,0,0.18);

  box-shadow: 0 4px 8px rgba(0,0,0,0.04),
              0 14px 28px rgba(0,0,0,0.08);

  cursor: pointer;
  transition: all 0.25s ease;

  max-width: 280px;
}

.doc-privado__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 35px rgba(0,0,0,0.12),
              0 22px 45px rgba(0,0,0,0.12);
  border-color: rgba(13, 110, 253, 0.25);

}

/* ICONO */
.doc-privado__icon {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #eef4ff;

  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.doc-privado__icon i {
  font-size: 25px;
  color: #0d6efd;
}

/* TEXTO */
.doc-privado__text {
  font-size: 14px;
  font-weight: 600;
}




/* =========================
   MODAL OVERLAY
========================= */
.doc-modal {
  display: none; /* JS lo cambia a flex */
  position: fixed;
  top: 0;
  left: 0;

  width: 100%;
  height: 100%;

  background: rgba(0,0,0,0.55);

  z-index: 9999;

  align-items: center;
  justify-content: center;

  padding: 20px;
}

/* =========================
   CONTENIDO MODAL
========================= */
.doc-modal__content {
  background: #fff;

  width: 90%;
  max-width: 900px;
  height: 92vh;
  max-height: 92vh;

  border-radius: 14px;

  display: flex;
  flex-direction: column;

  overflow: hidden;

  box-shadow: 0 20px 60px rgba(0,0,0,0.25);

  position: relative;
}

/* =========================
   BOTÓN CERRAR
========================= */
.doc-modal__close {
  position: absolute;
  top: 12px;
  right: 16px;

  font-size: 26px;
  font-weight: bold;

  cursor: pointer;

  width: 36px;
  height: 36px;

  border-radius: 50%;

  display: flex;
  align-items: center;
  justify-content: center;

  background: #f1f5f9;

  transition: 0.2s;
}

.doc-modal__close:hover {
  background: #e2e8f0;
}

/* =========================
   TÍTULO
========================= */
#docTitle {
  padding: 20px 24px 10px;
  font-size: 20px;
  font-weight: 700;
  color: #0f172a;
}

/* =========================
   LISTA IZQUIERDA
========================= */
#docList {
  padding: 0 24px;

  display: flex;
  flex-direction: column;
  gap: 5px;

  flex: 0 0 260px;
  overflow-y: auto;
  align-items: flex-start;
}

.doc-autorizaciones__item {
  width: 100%;
  text-align: left;
  padding: 10px 12px;

  border-radius: 8px;

  cursor: pointer;

  background: #f8fafc;

  transition: 0.2s;
}

.doc-autorizaciones__item:hover {
  background: #e2e8f0;
}

/* =========================
   CONTENIDO DERECHO
========================= */
#docInfo {
  padding: 16px 24px;

  flex: 0 0 40%;

  overflow-y: auto;

  border-top: 1px solid #e5e7eb;

  font-size: 15px;
  line-height: 1.7;

  color: #1f2937;
  text-align: left;
}

/* =========================
   TEXTO VACÍO CENTRADO
========================= */
#docInfo:empty::before {
  content: "Selecciona un ítem para ver información";

  display: flex;
  align-items: center;
  justify-content: center;

  height: 100%;

  color: #6b7280;
}


/* ESCRITURAS PUBLICAS */

.section-title-escrito {
  font-size: 40px;
  font-weight: 700;
  color: #1c2e40;
  letter-spacing: 0.5px;
  margin-bottom: 10px;
  position: relative;
}

/* CONTENEDOR DEL ICONO */
.icono-escrito {
  width: 70px;
  height: 70px;
  margin: 0 auto 15px;

  display: flex;
  align-items: center;
  justify-content: center;

  background: #f4f7fb;
  border-radius: 50%;

  transition: all 0.3s ease;
}

/* ICONO (Font Awesome) */
.icono-escrito i {
  font-size: 30px;
  color: #0d6efd;

  transition: all 0.3s ease;
}





/* TITULO */

/* CAJA TEXTO */
.info-box {
  with: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 18px 22px;
  background: #f8fafc;
  border-left: 4px solid #1f4e79;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.18);

}

/* SOLO esta sección */
.proc-section .info-box {
  text-align: left;
}

/* lista más limpia */
.proc-section ol {
  margin: 0;
  padding-left: 22px;
  line-height: 2;
}

/* título alineado a la izquierda SOLO aquí */
.proc-section .title-left {
  text-align: left;
  margin-bottom: 15px;
}


/* CONTENEDOR PRINCIPAL TRANFERENCIA ELECTRONICA */
.transferencia-box {
  max-width: 850px;
  margin: 40px auto;
  padding: 22px 26px;
  background: #ffffff;
  text-align: left !important;

  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 10px;

  box-shadow: 0 10px 18px rgba(0,0,0,0.06);
}

/* TÍTULO IZQUIERDA */
.titulo-transferencia {
  text-align: left;
  font-size: 20px;
  font-weight: 600;
  color: #1c2e40;
  margin-bottom: 18px;
}

/* CADA DATO EN BLOQUE VERTICAL */
.dato-transferencia {
  text-align: left !important;
  display: flex;
  flex-direction: column;
 align-items: flex-start; /* 👈 clave real */
}

/* ETIQUETA */
.dato-transferencia .label {
  font-size: 14px;
  font-weight: 600;
  color: #1f4e79;
  text-align: left !important;
}

/* VALOR */
.dato-transferencia .valor {
  font-size: 15px;
  color: #333;
  margin-top: 2px;
  text-align: left !important;
}

/* ÚLTIMO SIN LÍNEA */
.dato-transferencia:last-child {
  border-bottom: none;
}
/* ===== PROCESO ===== */
.proceso-linea {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
  gap: 30px;
  margin-top: 60px;
}

/* LINEA */
.proceso-linea::before {
  content: "";
  position: absolute;
  top: 35px;
  left: 10%;
  width: 80%;
  height: 2px;
  background: #d6dde5;
  z-index: 0;
}

/* PASOS */
.paso {
  position: relative;
  background: #fff;
  padding: 25px 20px;
  border-radius: 8px;
  width: 100%;
  z-index: 1;
  transition: 0.3s;

  /* 🔥 ahora sí visible */
  border: 1px solid rgba(0,0,0,0.08);
  box-shadow: 0 6px 14px rgba(0,0,0,0.06);
}

/* ICONO */
.paso .icono {
  width: 65px;
  height: 65px;
  margin: 0 auto 12px;
  border-radius: 50%;
  background: #1f4e79;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}

.paso svg {
  width: 30px;
  height: 30px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.6;
}

/* HOVER */
.paso:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 24px rgba(0,0,0,0.10);
}

/* CONTENEDOR DE LOS BLOQUES */
.info-extra {
  margin-top: 70px; /* espacio desde las tarjetas */
  display: flex;
  flex-direction: column;
  gap: 50px; /* espacio entre las dos cajas */

  }

/* ===== REQUISITOS ===== */
.subsection-title {
  font-size: 24px;
  font-weight: 600;
  color: #1c2e40;
}

.requisitos-box {
  max-width: 700px;
  margin: auto;
  padding: 25px;
  background: #fff;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 6px 18px rgba(0,0,0,0.05);
}

/* ITEM */
.requisito {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid #eee;
}

.requisito:last-child {
  border-bottom: none;
}

.requisito span {
  color: #1f4e79;
  font-size: 18px;
}

.requisito p {
  margin: 0;
}

/* ===== CTA ===== */
.cta-title {
  font-size: 22px;
  margin-bottom: 15px;
  color: #1c2e40;
}

.btn-cta {
  background: #1f4e79;
  color: #fff;
  padding: 12px 28px;
  border-radius: 6px;
  text-decoration: none;
  transition: 0.3s;
}

.btn-cta:hover {
  background: #163a5a;
}

/* CONSERVADOR DE MINAS */

/* TITULO MINAS */
.section-title-minas {
  font-size: 40px;
  font-weight: 700;
  color: #1c2e40;
  letter-spacing: 0.5px;
  margin-bottom: 10px;
  position: relative;
}

.card-info {
  background: #fff;
  padding: 25px;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 6px 14px rgba(0,0,0,0.05);
  height: 100%;
  text-align: center;
  transition: 0.3s;
}

.card-info:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 22px rgba(0,0,0,0.10);
}

.card-info h5 {
  font-weight: 600;
  margin-bottom: 10px;
  color: #1c2e40;
}

.card-info p {
  margin: 0;
  color: #555;
  line-height: 1.6;
}

/*-- FORMULARIO SOLICITUD MINAS--*/
#solicitud_documentos .titulo {
  background-color: #ffffff;
  color: #383838;

  padding-bottom: 5px;   /* espacio interno para la línea */
  margin-bottom: 20px;    /* 👈 espacio con lo de abajo */
}


.container h4 {
  font-family: 'Montserrat', sans-serif;
  font-size: 30px;
  color: #383838;
  text-align: center;
  line-height: 40px;
  font-weight: bold;
}



  #resumen .section-title {
    text-align: center;
    padding-bottom: 0;

  }

  .solicitud-pendiente {
    position: fixed;
    bottom: 5px;
    right: 5px;
    margin-top: 0px;
    margin-right: 0px;
    background-color: transparent;
    vertical-align: sub;
    z-index: 1123456;
    width: 250px;
    font-size: 0.8em;
  }
  .solicitud-pendiente a {
    font-size: 1em;
  }

  .form-group .btn-primary {
    color: #fff;
    background-color: #007bff;     /*  rgb(87, 117, 145);*/
    border-color: rgb(91, 99, 104);
  }
  .form-group .btn-danger {
    color: #fff;
    background-color: #e61010;
    border-color: rgb(91, 99, 104);
    padding: 6px 35px;
}




/* MARCO SOLICITUD MINAS EXTERNO SOLO VISUAL */
.marco-solicitud {
  width: 100%;
  max-width: 1200px;
  margin: 40px auto;

  background: #ffffff;

  /* borde institucional suave */
  border: 1px solid rgba(31, 78, 121, 0.18);

  /* refuerzo inferior */
  border-bottom: 3px solid rgba(31, 78, 121, 0.30);

  border-radius: 12px;

  /* sombra solo hacia abajo */
  box-shadow: 0 14px 26px rgba(0,0,0,0.08);

  padding: 25px 20px;
}




/* PAGINA NOTARIA */

/* TITULO */
.notaria-title {
  font-size: 40px;
  font-weight: 700;
  color: #1c2e40;
  margin-bottom: 35px;
}

/* FICHA PRINCIPAL (AQUÍ CAMBIA TODO) */
.ficha-notario {
  display: flex;
  align-items: stretch;
  background: linear-gradient(90deg, #ffffff 70%, #f4f7fb 100%);
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 12px 30px rgba(0,0,0,0.06);
}

/* FOTO INTEGRADA */
.ficha-foto {
  width: 260px;
  background: #e9eef5;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ficha-foto img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* INFO */
.ficha-info {
  flex: 1;
  padding: 35px 40px;
}

/* CARGO */
.cargo {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #1f4e79;
  margin-bottom: 10px;
}

/* NOMBRE (PROTAGONISTA REAL) */
.ficha-notario .nombre {
  font-size: 30px;
  font-weight: 700;
  color: #1c2e40;
  letter-spacing: -0.5px;
}

/* SEPARADOR ELEGANTE */
.separador {
  width: 60px;
  height: 2px;
  background: #1f4e79;
  margin-bottom: 18px;
  opacity: 0.6;
}

/* DESCRIPCION */
.descripcion {
  font-size: 15px;
  color: #555;
  line-height: 1.8;
  max-width: 650px;
}

/* RESPONSIVE */
@media (max-width: 768px) {
  .ficha-notario {
    flex-direction: column;
  }

  .ficha-foto {
    width: 100%;
    height: 260px;
  }

  .ficha-info {
    padding: 25px;
  }
}
/* ===== SUPLENTE (NUEVO BLOQUE) ===== */
.suplente-box {
  background: #fff;
  border: 1px solid rgba(0,0,0,0.08);
  border-left: 4px solid #9aa7b3;
  border-radius: 10px;
  padding: 20px 25px;
  box-shadow: 0 8px 18px rgba(0,0,0,0.04);
}

/* CARGO SUPLENTE */
.suplente-label {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #6b7b8c;
  margin-bottom: 8px;
}

/* NOMBRE SUPLENTE */
.suplente-nombre {
  font-size: 26px;
  font-weight: 700;
  color: #1c2e40;
}

/* RESPONSIVE */
@media (max-width: 768px) {
  .ficha-notario {
    flex-direction: column;
  }

  .ficha-foto {
    width: 100%;
    height: 260px;
  }
}

/* DIVISOR INSTITUCIONAL */
.separador-seccion {
  height: 1px;
  background: linear-gradient(to right, transparent, rgba(0,0,0,0.15), transparent);
  margin: 30px 0;
}


/* TITULOS */
.titulo-seccion {
  font-size: 30px;
  font-weight: 700;
  color: #1c2e40;
  margin-bottom: 10px;
 text-align: center; /* 👈 centrado */
}

/* TEXTO */
.texto-seccion {
  color: #555;
  font-size: 15px;
  line-height: 1.8;
  max-width: 850px;
  margin: 0 auto;

}

/* LINEA DIVISORIA */
.linea-divisoria {
  height: 1px;
  background: rgba(0,0,0,0.12);
  margin: 25px 0;
}
.espacio-extra {
  margin-bottom: 60px;
}


/* ===== EQUIPO ===== */


/* CONTENEDOR GENERAL */
.equipo-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  padding: 0 40px; /* 👈 espacio interno para que respiren las flechas */
}

/* CARRUSEL */
.equipo-carrusel {
  display: flex;
  gap: 15px;
  overflow: hidden; /* 👈 oculta scroll */
  scroll-behavior: smooth;
  width: 100%;
}

/* TARJETAS */
.miembro-card {
  min-width: 220px;
  flex: 0 0 auto;

  background: #fff;
  border: 1px solid rgba(0,0,0,0.08);
  border-bottom: 3px solid #1f4e79;
  border-radius: 10px;
  padding: 15px;

  box-shadow: 0 6px 14px rgba(0,0,0,0.05);
  transition: 0.25s;
}

.miembro-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 20px rgba(0,0,0,0.08);
}

/* TEXTO */
.nombre {
  font-weight: 700;
  color: #1c2e40;
  font-size: 22px;
}

.detalle {
  font-size: 16px;
  color: #555;
}

.correo {
  font-size: 16px;
  color: #1f4e79;
}

/* BOTONES */
.btn-carrusel {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: #fff;
  border: 1px solid rgba(0,0,0,0.1);
  width: 38px;
  height: 38px;
  border-radius: 50%;
  cursor: pointer;
  z-index: 2;

  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  transition: 0.2s;
}

/* POSICION */
.btn-carrusel.left {
  left: 0;
}

.btn-carrusel.right {
  right: 0;
}

/* HOVER */
.btn-carrusel:hover {
  background: #1f4e79;
  color: #fff;
}

/* TRANSPARENCIA ACTIVA */

/* TEXTO CENTRADO */
.texto-seccion.centrado {
  max-width: 700px;
  margin: 0 auto;
}

/* ===== CAJA DECLARACION ===== */
.contenedor-boxes {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 25px;
  max-width: 1100px;
  margin: 0 auto;
  margin-top: 30px;
}

.declara-linea {
   grid-column: span 2;
  height: 1px;
  background: linear-gradient(to right, transparent, #ccc, transparent);
  margin: 30px 0;
}


.declaracion-box {
  max-width: 400px;
  margin: 0 auto;
  padding: 30px 80px;

  background: #fff;
  border: 1px solid rgba(0,0,0,0.08);
  border-top: 4px solid #1f4e79;
  border-radius: 10px;

  box-shadow: 0 10px 25px rgba(0,0,0,0.06);
}

/* TITULO */
.declaracion-titulo {
  font-size: 20px;
  font-weight: 700;
  color: #1c2e40;
  margin-bottom: 8px;
}

/* SUB */
.declaracion-sub {
  font-size: 17px;
  color: #6c7a89;
  margin-bottom: 10px;
}

/* FECHA */
.declaracion-fecha {
  font-size: 13px;
  color: #555;
  margin-bottom: 20px;
}

/* BOTON */

.btn-declaracion {
  display: inline-block;
  background: #1f4e79;   /* azul institucional */
  color: #ffffff;        /* blanco real */
  padding: 10px 22px;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 500;
  border: 1px solid rgba(0,0,0,0.1);
  box-shadow: 0 4px 10px rgba(0,0,0,0.08);
  transition: all 0.25s ease;
}

/* IMPORTANTE: evita azul de links */
.btn-declaracion:link,
.btn-declaracion:visited {
  color: #ffffff;
}

/* HOVER */
.btn-declaracion:hover {
  background: #163a5a;
  color: #ffffff;
  transform: translateY(-2px);
}

/* CARRUSEL INICIO   */
.carousel-item img {
  height: 500px;
  object-fit: cover;
}

.carousel {
  margin-top: 0;
  margin-bottom: 60px;
}

/* INICIO ACCESSOS RAPIDOS */
.accesos-rapidos {
  padding: 50px 0;
  background: #f8fafc;
}

.accesos-rapidos .icon-box {
  background: #fff;
  padding: 30px 20px;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,0.06);
  box-shadow: 0 6px 16px rgba(0,0,0,0.05);

  /* 🔥 CENTRADO REAL */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;

  text-align: center;
  height: 100%;
}

.accesos-rapidos .icon-box:hover {
  transform: translateY(-6px);
  box-shadow: 0 10px 22px rgba(0,0,0,0.10);
}

.accesos-rapidos .icon-box i {
  font-size: 38px;
  margin-bottom: 15px;
  display: inline-block;
}

.accesos-rapidos h3 {
  font-size: 16px;
  font-weight: 600;
  margin: 0;
}

.accesos-rapidos h3 a {
  color: #1c2e40;
  text-decoration: none;
}

.accesos-rapidos h3 a:hover {
  color: #1f4e79;
}

/* INICIO TRAMITES VIGENTES */
.tramites-vigentes {
  padding-top: 60px;
  padding-bottom: 60px;
}

/* imagen */
.tramites-img {
  position: relative; /* Asegura que el contenedor tenga un contexto para las sombras */
}


.tramites-img img {
  width: 100%;
  height: auto;
  object-fit: contain;
  border-radius: 10px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.12);
  display: block;
  margin:  0 auto;
}

/* contenedor texto */
.tramites-texto {
  padding: 20px;
  text-align: center;
}

/* título */
.tramites-titulo {
  font-size: 28px;
  font-weight: 700;
  color: #1c2e40;
  margin-bottom: 20px;
}

/* párrafo */
.tramites-parrafo {
  font-size: 16px;
  line-height: 1.8;
  color: #555;
  max-width: 600px;
  margin: 0 auto;
}
/* SEPARADOR DE BLOQUES */
.separador-bloques {
  height: 40px;
  position: relative;
}

.separador-bloques::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 120px;
  height: 2px;
  background: #1f4e79;
  transform: translate(-50%, -50%);
  opacity: 0.3;
}

/* INICIO ENLACES DE INTERES */

/* SECCION */
.enlaces-interes {
  padding: 60px 0;
  background: #fff;
}

.enlaces-titulo {
  font-size: 28px;
  font-weight: 700;
  text-align: center;
  color: #1c2e40;
  margin-bottom: 40px;
}

.enlaces-slider {
  overflow: hidden;
  position: relative;
}

.enlaces-track {
  display: flex;
  gap: 40px;
  width: max-content;
  will-change: transform;
}

.enlaces-slide {
  flex: 0 0 auto;
  width: 180px;
}

.enlaces-slide img {
  width: 120px;
  object-fit: contain;
  transition: 0.3s;
}

.enlaces-slide img:hover {
  transform: scale(1.05);
}

/* PAGINA INICIO -  UBICACION Y HORARIO */
/* SECCION */
.ubc-section {
  padding: 80px 20px;
  background: #f4f6f9;
}

/* CONTENEDOR */
.ubc-container {
  max-width: 1200px;
  margin: 0 auto;
}

/* CAJA */
.ubc-box {
  background: #ffffff;
  padding: 45px 35px;
  border-radius: 12px;
  box-shadow: 0 12px 30px rgba(0,0,0,0.08);
  text-align: center;
}

/* TITULO */
section.ubc-section h3.ubc-title {
  font-size: 36px;
  font-weight: 700;
  margin-bottom: 16px;
   color: #1c2e40;
}
.ubc-title {
  letter-spacing: 0.5px;
}

/* DESCRIPCION */
.ubc-desc {
  font-size: 16px;
  color: #555;
  margin-bottom: 30px;
  line-height: 1.6;
}

/* ITEMS (direccion / horario) */
.ubc-item {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  font-size: 20px;
  color: #333;
  margin-bottom: 12px;
}
.ubc-item strong,
.ubc-turno strong {
  font-weight: 700;
  color: #1c2e40;
}

/* ICONOS */
.ubc-item i,
.ubc-turno i {
  font-size: 28px;
  color: #ffffff;
}

.ubc-contacto {
  display: flex;
  justify-content: center;
  gap: 50px; /* espacio entre correo y teléfono */
  margin-top: 10px;
}

.ubc-item {
  display: flex;
  align-items: center;
  gap: 8px;
}

.ubc-item i {
  font-size: 25px;
  color: #0d6efd; /* azul bootstrap */
}

.ubc-item i.bi-telephone {
  transform: rotate(20deg);
}

/* TURNO (tipo boton elegante) */
.ubc-turno {
  margin-top: 30px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 12px 22px;
  border: 1px solid #dcdcdc;
  border-radius: 8px;
  background: #0d6efd;
  font-size: 18px;
  font-weight: 500;
  color: #ffffff;
}

/* ESPACIO ENTRE TURNO Y MAPA */
.ubc-space {
  height: 30px;
}

/* MAPA */
.ubc-mapa-box {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 25px rgba(0,0,0,0.10);
  border: 1px solid #e6e6e6;
}


/* FOOTER GENERAL */
.ft-footer {
  background: #1c2e40;
  color: #ffffff;
  padding: 60px 20px 20px;
  font-size: 14px;
}

/* CONTENEDOR */
.ft-container {
  max-width: 1100px;
  margin: auto;
}

/* GRID */
.ft-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 25px;
}

/* TITULOS */
.ft-box h5 {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 15px;
  color: #ffffff;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* TEXTO */
.ft-box p {
  margin: 0;
  color: #d6d6d6;
  line-height: 1.3;
  font-size: 16px;
}

/* LISTAS */
.ft-box ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.ft-box ul li {
  margin-bottom: 8px;
}

.ft-box ul li a {
  color: #d6d6d6;
  text-decoration: none;
  transition: 0.3s;
}

.ft-box ul li a:hover {
  color: #ffffff;
  text-decoration: underline;
}

/* ICONOS */
.ft-box i {
  font-size: 20px;
}

/* BOTTOM */
.ft-bottom {
  margin-top: 40px;
  text-align: center;
  border-top: 1px solid rgba(255,255,255,0.15);
  padding-top: 15px;
  color: #b8b8b8;
  font-size: 13px;
}

/* RESPONSIVE */
@media (max-width: 992px) {
  .ft-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 576px) {
  .ft-grid {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .ft-box h5 {
    justify-content: center;
  }
}


/* 🔥 UNIFICAR TIPOGRAFIA DEL FOOTER */
.ft-footer {
  font-size: 14px;
}

/* textos */
.ft-footer p,
.ft-footer a,
.ft-footer li {
  font-size: 16px;
  color: #d6d6d6;
}

/* links consistentes */
.ft-footer a {
  text-decoration: none;
}

/* títulos más grandes */
.ft-footer h5 {
  font-size: 18px;
  font-weight: 700;
}

/* PAGINA CONTACTO*/


/* SECCION GENERAL */
.ctz-section {
  padding: 80px 20px;
  background: #f4f6f9;
  
}

/* HEADER */
.ctz-header {
  text-align: center;
  margin-bottom: 40px;
}

.ctz-header h2 {
  font-size: 40px;
  font-weight: 790;
  color: #1c2e40;
  letter-spacing: 0.5px;
  margin-bottom: 10px;
  position: relative;
}

.ctz-header p {
  font-size: 15px;
  color: #666;
}

/* GRID */
.ctz-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  max-width: 1100px;
  margin: auto;
}

/* CARD */
.ctz-card {
  background: #ffffff;
  padding: 30px;
  border-radius: 12px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.08);
}

/* TITULO */
.ctz-title {
  text-align: center;
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 20px;
  color: #1c2e40;
}

/* SUBTEXTO */
.ctz-sub {
  font-size: 16px;
  color: #555;
  text-align: center;
  margin-bottom: 20px;
}

/* ITEMS INFO */
.ctz-item {
  display: flex;
  gap: 12px;
  margin-bottom: 15px;
  align-items: flex-start;
}

.ctz-item i {
  font-size: 28px;
  margin-top: 2px;
  color: #0d6efd;
}

.ctz-item strong {
  font-size: 18px;
  display: block;
}

.ctz-item p {
  margin: 0;
  font-size: 16px;
  color: #555;
}

/* MAPA */
.ctz-map {
  margin-top: 20px;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid #ddd;
}

/* FORMULARIO */
.ctz-form {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ctz-form label {
  font-size: 15px;
  font-weight: 600;
  color: #333;
}

.ctz-form input,
.ctz-form select,
.ctz-form textarea {
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 6px;
  font-size: 15px;
  outline: none;
}

/* BOTON */
.ctz-form button {
  margin-top: 10px;
  padding: 12px;
  background: #1c2e40;
  color: white;
  border: none;
  border-radius: 6px;
  font-weight: 600;
  cursor: pointer;
  transition: 0.3s;
}

.ctz-form button:hover {
  background: #152232;
}

/* RESPONSIVE */
@media (max-width: 768px) {
  .ctz-grid {
    grid-template-columns: 1fr;
  }
}


/* MENSAJE */
.ctz-msg {
  margin-top: 10px;
  font-size: 14px;
  text-align: center;
  display: none;
}

/* EXITO */
.ctz-msg.ok {
  color: #1e7e34;
}

/* ERROR */
.ctz-msg.error {
  color: #c82333;
}

/* INPUT ERROR */
.ctz-form input.error,
.ctz-form select.error,
.ctz-form textarea.error {
  border: 1px solid #c82333;
}

.ctz-msg {
  margin-top: 10px;
  font-size: 14px;
  text-align: center;
  display: none;
}

.ctz-msg.ok {
  color: #1e7e34;
}

.ctz-msg.error {
  color: #c82333;
}

/* MODAL DE TURNO*/
/* MODAL - Estilos Generales */
.home-modal {
  display: none; /* Oculto por defecto */
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.7); /* Fondo oscuro con más opacidad */
  z-index: 9999; /* Asegura que esté encima de otros elementos */
  justify-content: center;
  align-items: center;
}

.home-modal.show {
  display: flex; /* Se muestra cuando tiene la clase 'show' */
  animation: fadeIn 0.5s ease-in-out; /* Animación de aparición */
}

.home-modal__content {
  background-color: #fff; /* Fondo blanco */
  border-radius: 12px; /* Bordes redondeados */
  padding: 30px;
  text-align: center;
  max-width: 400px; /* Modal menos ancho */
  width: 80%;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
  position: relative;
}

/* Título Principal - Turno: Mes de Julio */
.modal-title {
  font-size: 28px;
  font-weight: bold;
  color: #044770; /* Color destacado */
  margin-bottom: 20px;
  line-height: 1.2;
}

/* Subtítulo - Sábado de 10:30 a 14:00 hrs */
.modal-subtitle {
  font-size: 22px;
  font-weight: 600;
  color: #020226;
  margin-top: 0;
  line-height: 1.5;
  font-family: 'Arial', sans-serif;
}

/* Botón Aceptar */
.modal-accept {
  background-color: #044770;
  color: white;
  padding: 12px 24px;
  border-radius: 6px;
  font-size: 16px;
  font-weight: bold;
  border: none;
  cursor: pointer;
  margin-top: 20px;
  transition: background-color 0.3s;
}

.modal-accept:hover {
  background-color: #032f51; /* Color más oscuro cuando pasa el mouse */
}

/* Animación de aparición */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* PAGINA INDICE */

/* ===== PAGINA INDICES ===== */

.doc-indice {
    margin-top: 40px;
    margin-bottom: 20px;
}

/* Header horizontal */
.doc-indice-header {
    display: flex;
    align-items: center;
    gap: 18px;
}

/* Icono */
.doc-indice-icono i {
    font-size: 42px;
    color: #0d6efd;
}

/* Texto pequeño */
.doc-indice-sub {
    display: block;
    font-size: 0.95rem;
    color: #6c757d;
    letter-spacing: 1px;
    text-transform: uppercase;
}

/* Título */
.doc-indice-titulo {
    margin: 0;
    font-size: 2.4rem;
    font-weight: 700;
    color: #212529;
}

/* Línea elegante */
.doc-indice-linea {
    width: 100%;
    height: 2px;
    margin-top: 20px;
    background: linear-gradient(to right, #0d6efd, transparent);
}

/* ===== PANEL CONSULTA  INDICE ===== */

.doc-indice-panel {
    margin-top: 40px;
    padding: 25px;
    border: 1px solid #e5e5e5;
    border-radius: 10px;
    background: #fafafa;
}

/* Título del panel */
.doc-indice-panel-title {
    font-size: 1.1rem;
    margin-bottom: 20px;
    color: #444;
}

/* FORMULARIO */
.doc-indice-form {
    display: flex;
    gap: 25px;
    align-items: flex-end;
    flex-wrap: wrap;
}

/* Campo */
.doc-indice-field {
    display: flex;
    flex-direction: column;
}

.doc-indice-field label {
    font-weight: 600;
    margin-bottom: 6px;
}

/* Selects */
.doc-indice-field select {
    padding: 8px 12px;
    border: 1px solid #ccc;
    border-radius: 6px;
    min-width: 160px;
}

/* BOTON */
.doc-indice-btn button {
    padding: 9px 18px;
    border: none;
    background: #0d6efd;
    color: white;
    border-radius: 6px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
}

.doc-indice-btn button:hover {
    background: #0b5ed7;
}

/* RESULTADO */
.doc-indice-resultado {
    margin-top: 25px;
    padding-top: 15px;
    display: flex;
}


/* ===== ALERTA SUAVE ===== */

.doc-indice-alerta {
    margin-top: 20px;
    padding: 14px 18px;
    display: inline-flex;
    align-items: center;
    gap: 12px;

    background: #f5f6f8;
    border: 1px solid #e4e6ea;
    border-radius: 10px;
    color: #555;
    max-width: 520px;
    width: auto;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}

/* Icono */
.doc-indice-alerta i {
    font-size: 24px;
    color: #6c757d;
}

/* Texto */
.doc-indice-alerta strong {
    display: block;
    font-size: 1rem;
    color: #333;
}

.doc-indice-alerta p {
    margin: 0;
    font-size: 0.9rem;
    color: #666;
}

.doc-indice-info {
    margin-top: 35px;

    padding: 18px 22px;

    border: 1px solid #e9ecef;
    border-radius: 10px;

    background: #ffffff;

    max-width: 700px;
    margin-left: auto;
    margin-right: auto;

    color: #6c757d;

    box-shadow: 0 2px 10px rgba(0,0,0,0.03);
    margin-bottom: 60px;
}

.doc-indice-info p {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.6;
    text-align: center;
}


/* ===== MODAL VERIFICAR DOCUMENTOS ===== */

.modal-servicio {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

.modal-contenido {
    width: 80%;  /* Ajustable según necesidad */
    max-width: 900px;
    height: auto;
    background: #fff;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
    overflow: hidden;
}

/* Header del Modal */
.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 20px;
    background-color: #007bff;
    color: white;
    font-size: 1.2rem;
}

.modal-header h2 {
    margin: 0;
}

.modal-header button {
    border: none;
    background: none;
    font-size: 20px;
    cursor: pointer;
    color: white;
}

/* Subtítulo dentro del modal */
.modal-subtitulo {
    text-align: center;
    font-size: 1.9rem;
    margin: 20px 0;
}

/* Marco para el iframe */
.modal-frame {
    padding: 20px;
    border: 1px solid #007bff;
    border-radius: 8px;
    margin-bottom: 20px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); /* Sombra tenue */
    height: 280px;  /* Ajustamos el tamaño del marco */
}

.modal-frame iframe {
    width: 85%;
    height: 250px;  /* Ajusta el tamaño del iframe según lo necesites */
    display: block;
    margin: 0 auto;     /* Centra el marco iframe */

}

/* Párrafos informativos fuera del marco */
.modal-informacion {
    font-size: 1rem;
    margin-top: 20px;
    text-align: center;
}

.modal-informacion p {
    margin: 10px 0;
}

/* ===== TARJETA EXISTENTE ===== */
.servicios-inicio__card {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px;
    background-color: #f8f9fa;
    border-radius: 8px;
    text-decoration: none;
    color: #333;
    transition: transform 0.2s ease;
}

.servicios-inicio__card:hover {
    transform: scale(1.05);
}

.servicios-inicio__icono {
    font-size: 24px;
    margin-right: 10px;
}

.servicios-inicio__texto {
    font-weight: bold;
}
