@font-face {font-family: 'Alike-Regular'; src: url('../../assets/fonts/Alike-Regular.ttf');}
@font-face {font-family: 'DM Sans Semi Bold'; src: url('../../assets/fonts/DMSans-SemiBold.ttf'); font-weight: 400; font-style: normal;}
@font-face {font-family: 'DM Sans'; src: url('../../assets/fonts/DMSans-Regular.ttf'); font-weight: 400; font-style: normal;}

footer {background-color: #2C5782;}
form {background-color: #AEBFCF; border-radius: 2rem}
header, header * {font-family: 'DM Sans Semi Bold', sans-serif;}
h2 {color: #1a3c5e;font-family: 'Alike-Regular', sans-serif;font-weight: normal;font-size: 1.8rem;letter-spacing: 1px;}
h5 {color: #1a3c5e;font-weight: normal;line-height: 2rem;}
hr {border-color: #6F8DB3;}
section {padding: 0 1rem;}

#institucionalCollapse a {color: #a8c8f0}
#miCarousel .carousel-item {position: relative;}
#miCarousel .carousel-item img {height: 60vh; object-fit: cover;}
#miCarousel .carousel-caption {bottom: auto;top: 50%;transform: translateY(-50%);}
#planesCollapse a {color: #a8c8f0}

.afiliar-section, .primer-dia {background-color: #EAEDF2; color:#2C5782}
.afiliar-section h4, .primer-dia h4 {font-family: 'Alike-Regular', sans-serif;font-size: 1.6rem}
.afiliar-section h5 {font-family: 'Alike-Regular', sans-serif;font-size: 1.4rem;}
.afiliar-section p, .primer-dia p {font-size: 1.2rem}
.banner-interno {align-items: center;background-size: cover; background-position: right;display: flex;height: 150px;position: relative;}
.banner-interno::before {background-color: rgba(111, 141, 179, 0.45);content: '';inset: 0;position: absolute;z-index: 0;}
.banner-interno > * {position: relative;z-index: 1;}
.banner-titulo {color: #ffffff;font-family: 'Alike-Regular', sans-serif;filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.8));letter-spacing: 1px;text-align: center;}
.banner-subtitulo {color: #ffffff;font-family: 'Alike-Regular', sans-serif;font-size: 1rem;letter-spacing: 1px;margin: 0; text-align: center;}
.bg-grey {background-color:#EAEDF2!important;} 
.bg-transparent{background-color: transparent;}

.btn-outline-primary-custom {
  color: #2C5782;
  border: 1.5px solid #2C5782;
  background: white;
  border-radius: 6px;
  padding: 6px 16px;
  font-weight: 500;
  font-size: 14px;
  transition: background 0.2s, color 0.2s;
}
.btn-outline-primary-custom:hover {background: #eef3f9;}
.btn-primary-custom {
  background-color: #2C5782;
  color: white;
  border: none;
  border-radius: 6px;
  padding: 6px 16px;
  font-weight: 500;
  font-size: 14px;
  transition: opacity 0.2s;
}
.btn-primary-custom:hover {opacity: 0.85;}
.btn-secondary-nav{display: inline-block; font-size: 12px; height: 35px; line-height: 23px; text-transform: uppercase;width: 150px; text-align: center;}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    width: 3rem;
    height: 3rem;
    background-size: 100%, 100%;
}

.carousel-control-prev-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%231a3c5e' viewBox='0 0 16 16'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");
}
.carousel-control-next-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%231a3c5e' viewBox='0 0 16 16'%3e%3cpath d='M4.646 1.646a.5.5 0 0 0 0 .708L10.293 8l-5.647 5.646a.5.5 0 0 0 .708.708l6-6a.5.5 0 0 0 0-.708l-6-6a.5.5 0 0 0-.708 0z'/%3e%3c/svg%3e");
}

.carousel .btn-secondary-nav{font-size: 17px;font-weight:bold;height: 45px;text-transform: inherit;transition: transform 0.2s ease, box-shadow 0.2s ease;width: 180px;}
.carousel .btn-secondary-nav:hover {box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);transform: translateY(-1px);}
.carousel-inner h1 {font-family: 'Alike-Regular', sans-serif;font-size: 2rem;}
.carousel-caption {bottom: auto;font-family: 'DM Sans', sans-serif;}
.centros .card-body {width:100%}
.centros .card-title {font-size: 1.5rem; line-height: 1.4rem; margin-top:1rem}
.centros .card-img-top {border-top-left-radius: 1.5rem; border-top-right-radius: 1.5rem;}
.centros p, .centros ul {font-size: 18px;}
.centros hr {border-color: #fff;}
.centros-section {background-color: #ffffff;}

.centro-card {
  align-items: flex-start;
  background-size: cover;
  background-position: top center;
  background-color: #4E7093;
  background-image: url('/assets/img/bg-cmg-home.jpg');
  border-radius: 2rem;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  height: 486px;
  padding: 2rem;
  position: relative;
  overflow: hidden;
}

.centro-card p {margin-bottom: 0.5rem}

.centro-card-canning {background-image: url('/assets/img/bg-canning-home.jpg');}

.centro-nombre {
  font-weight: 500;
  font-size: 1.7rem;
  letter-spacing: 1px;
  margin: 0 0 0.5rem 0;
  position: relative;
  z-index: 1;
}

.centros-separador {margin:2rem;}
.cobertura-salud {background: linear-gradient(to bottom, #ffffff 50%, #EAEDF2 50%);overflow: visible;padding: 3rem 0;}
.cobertura-salud h2 {font-size: 1.4rem}
.cobertura-card {background-color: #6E8AB1;background-image:url('/assets/img/bg-qs.jpg');background-size: cover;background-position: center;border-radius: 2rem;overflow: visible;position: relative;}
.cobertura-img-col {align-items: flex-end;display: flex;justify-content: center;position: relative;}
.cobertura-img-float {display: none;}
.container-min {max-width: 700px;}
.crecimos {background: linear-gradient(to bottom, #ffffff 50%, #EAEDF2 50%);color:#1a3c5e;overflow: visible;padding: 3rem 0;}
.crecimos-card {background-color: #ffffff;background-position: center;border-radius: 2rem;border: 1px solid #6F8DB3;padding: 0;}
.crecimos .card-body {padding: 2rem}
.crecimos .card-img-top {border-top-left-radius: 2rem;border-top-right-radius: 2rem; border-bottom: 12px solid;}
.crecimos h5 {font-size: 1.2rem;font-weight: bold;margin-bottom: 1.5rem;}
/*.dropdown-menu {background-color: rgba(111, 141, 179, 0.8); border: none; border-radius: 5px; box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1); padding: 0.5rem 0;}*/
.dropdown-menu {background-color: rgba(45, 88, 130, 0.8); border: none; border-radius: 5px; box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1); padding: 0.5rem 0;}
.dropdown-item {color: #ffffff; padding: 0.5rem 1rem; font-size: 16px; transition: background-color 0.3s ease, color 0.3s ease;}
.dropdown-item:hover, .dropdown-item:focus {background-color: rgba(53, 111, 156, 0.9); color: #E0E0E0;}
.dropdown-toggle {border-radius: 0; background-color: rgba(70, 143, 196, 0.9); color: #ffffff; border: none;font-size: 16px; padding: 0.5rem 1.5rem; /* Espaciado interno */}
.dropdown-toggle:hover, .dropdown-toggle:focus {background-color: rgba(53, 111, 156, 0.9); color: #E0E0E0;}
.footer-copyright {background-color: #6F8DB3;font-size: 0.9rem;margin-top: 1.2rem;padding: 0.65rem 0;}
.footer-logo {max-height: 100px;width: auto;}
.footer-social {color: #ffffff;font-size: 1.6rem;text-decoration: none;transition: color 0.3s ease;}
.footer-social:hover {color: #a8c8f0;}
.footer-label {color: #a8c8f0;font-size: 0.75rem;font-weight: 700;letter-spacing: 1px;margin-bottom: 0.25rem; margin-top:0.25rem;text-transform: uppercase;}
.footer-value {color: #ffffff;font-size: 0.85rem;margin: 0;}
.footer-legal {border-top: 1px solid rgba(255, 255, 255, 0.15);color: rgba(255, 255, 255, 0.6);font-size: 0.75rem;margin: 0;padding-top: 1rem;}
.footer-legal-link {color: rgba(255, 255, 255, 0.6);text-decoration: underline;}
.footer-legal-link:hover {color: #ffffff;}
.footer-dev-logo {width: 20px}
.form-control {border-radius: 2rem}
.historia-cierre h5 {font-family: 'Alike-Regular', sans-serif;font-size: 1.4rem;}
.institutos .card-body {width: 100%}
.institutos .card-title {font-size: 1.5rem; height: 40px; line-height: 1.4rem; margin-top:1rem}
.institutos .card-img-top {border-top-left-radius: 1.5rem; border-top-right-radius: 1.5rem;}
.institutos p, .institutos ul {font-size: 20px;}
.institutos hr {border-color: #fff;}

.instituto-card {
  align-items: flex-start;
  background-size: cover;
  background-position: top center;
  background-color: #4E7093;
  background-image: url('/assets/img/bg-canning-home.jpg');
  border-radius: 2rem;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  height: 350px;
  padding: 2rem;
  position: relative;
  overflow: hidden;
}

.lh-35 {line-height: 35px}
.logo-fixed {position: absolute;width: 130px;z-index: 999;}

.logo-fixed img {transition: transform 0.3s ease;}

.logo-fixed:hover img {transform: scale(1.05);}

.modal-atencion {
  border: none;
  border-radius: 10px;
  overflow: hidden;
}

.modal-atencion-header {
  background-color: #2C5782;
  padding: 14px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.modal-atencion-titulo {
  color: #FFFFFF;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.3px;
}

.modal-atencion-body {
  background-color: #EAEDF2;
  padding: 28px 20px;
  text-align: center;
}

.modal-atencion-label {
  color: #6F8DB3;
  font-size: 17px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 1rem;
}

.modal-atencion-numero {
  display: block;
  color: #2C5782;
  font-size: 26px;
  font-weight: 700;
  text-decoration: none;
  letter-spacing: 1px;
  transition: color 0.2s ease;
}

.modal-atencion-numero:hover {
  color: #6F8DB3;
}

.navbar-expand-lg {height: 102px;}

.nav-link {color: #2C5782 !important;font-weight: 500;}
.nav-link:hover {opacity: 0.75;}
.nav-top {background-color: #6F8DB3; font-size: 14px;padding: 6px 20px;}
.nav-top a {color: #FFFFFF; text-decoration: none}
.nav-top a:hover {color: #D6E8FF}
.planes-section {background-color: #EAEDF2;}
.planes-bg {
  background-image: url('/assets/img/planes-bg.jpg');
  background-size: cover;
  background-position: center;
  border-radius: 2rem;
  height: auto;
}

.planes-bg .container-fluid .col {flex: 0 0 50%;max-width: 50%;}
.plan-card {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 0;
  padding: 1.25rem 1rem;
  height: 200px;
  display: flex;
  flex-column: column;
  position: relative;
  transition: background 0.3s ease;
}
.plan-card .plan-btn::after {
  content: '';
  position: absolute;
  inset: 0; /* equivale a top/right/bottom/left: 0 */
}

.plan-card:hover {background: rgba(255, 255, 255, 0.15);}

.plan-nombre {
  color: #ffffff;
  font-weight: normal;
  font-size: 1.7rem;
  margin: 0;
  letter-spacing: 0.5px;
}

.plan-btn {
  align-self: flex-end;
  background: transparent;
  border: 2px solid rgba(255, 255, 255, 0.6);
  color: #ffffff;
  border-radius: 50%;
  width: 26px;
  height: 26px;
  font-size: 1.3rem;
  line-height: 1;
  cursor: pointer;
  transition: background 0.3s ease, border-color 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.plan-btn:hover {background: rgba(255, 255, 255, 0.25);border-color: #ffffff;}
.plan-section {color: #2B577E}
.plan-section h2 {border-bottom:1px solid #2B577E;font-size: 1.7rem; margin-top:3rem; padding-bottom: 1rem;}
.planes-btn {font-size: 1.1rem;font-weight: normal;text-transform: uppercase; display: block;}
.primer-dia h5 {font-family: 'Alike-Regular', sans-serif;font-size: 1.4rem}
.primer-dia-card-start {background-color: #AEBFCF; border-radius: 2rem;}
.primer-dia-card-center {background-color: #C2CEDE; border-radius: 2rem;}
.primer-dia-card-end {background-color: #CCDAE5; border-radius: 2rem;}
.redes a {display: inline-block; font-size: 0.9rem}
.redes i {height: 40px}
.rrhh-form {background-color: #EAEDF2; padding-top: 3rem}
.servicio-card {cursor: pointer;}
.servicio-img-wrap {border-radius: 12px;overflow: hidden;position: relative;}
.servicio-img-wrap img {height: auto;object-fit: cover;transition: transform 0.4s ease;width: 60%;}
.servicio-card:hover .servicio-img-wrap img {transform: scale(1.06);}
.servicio-card:hover .servicio-overlay {background: rgba(26, 60, 94, 0.35);}
.servicio-label {color: #1a3c5e;font-weight: 600; font-size: 1.2rem;line-height: 1.3;margin-top: 0.75rem;}
.tabla-cobertura {border-collapse: collapse;}
.tabla-cobertura thead th {border-top: none;border-bottom: 2px solid #2B577E;border-left: none;border-right: none;color: #2B577E;font-size: 1.3rem;}
.tabla-cobertura thead th:first-child {border-right: 1px solid #2B577E;}
.tabla-cobertura tbody td {border-top: none;border-bottom: none;border-left: none;border-right: none;color: #2B577E;}
.tabla-cobertura tbody td:first-child {border-right: 1px solid #2B577E;}
.tabla-cobertura tbody tr:hover {background-color: rgba(43, 87, 126, 0.05);}
.titular-h5 {font-family: 'Alike-Regular', sans-serif;font-size: 1.6rem;text-align: center;}

@media (min-width: 768px) {

  h2 {font-size: 2.3rem;}
  section {padding: 0}

  .afiliar-section h4, .primer-dia h4 {font-size: 2rem}
  .banner-interno {height: 40vh;background-position: center;}
  .banner-titulo {filter: none}
  .banner-subtitulo {font-size: 1.3rem;}
  .carousel-caption {width: 600px;}
  .carousel-inner h1 {font-size: 3rem}
  .centro-card {height: 350px;}
  .centros .card-title {font-size: 1.1rem;}
  .centros p, .centros ul {font-size: 14px;}
  .cobertura-img-float {bottom: 0;display: block;max-height: 120%;position: absolute;width: auto;}
  .institutos .card-title {font-size: 1.1rem;}
  .institutos p, .institutos ul {font-size: 14px;}
  .logo-fixed {width: 225px}

  .navbar-nav .nav-item {
    display: flex;
    align-items: center;
  }

  .navbar-nav .nav-item:not(:last-child)::after {
    content: '';
    display: block;
    width: 1px;
    height: 1.2em;
    margin-left: 1rem;
    background: linear-gradient(
      to bottom,
      transparent 0%,
      #6F8DB3 40%,
      #6F8DB3 60%,
      transparent 100%
    );
  }

  .servicio-img-wrap img {height: 180px; width: 90%;}
  .planes-bg {height: 60vh;}
  .planes-bg .container-fluid .col {flex: 1;max-width: unset;}
  .planes-btn {display: inline;}
  .plan-card {height: 60vh;}
  .primer-dia-card-start {border-bottom-right-radius: 0; border-top-right-radius: 0}
  .primer-dia-card-center {background-color: #C2CEDE; border-radius: 0}
  .primer-dia-card-end {border-radius: 0; border-bottom-right-radius: 2rem; border-top-right-radius: 2rem}
}