@font-face {
  font-family: 'Walkway Expand Black';
  src: url('../fonts/WalkwayExpandBlack.ttf') format('truetype');
}
@font-face {
  font-family: 'Walkway Bold';
  src: url('../fonts/WalkwayBold.ttf') format('truetype');
}
body {
  font-family: 'Walkway Bold', sans-serif;
}
.carousel-indicators [data-bs-target] {
  background-color: #007bff;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  opacity: 0.5;
}
.carousel-indicators .active {
  opacity: 1;
}
.section-title {
  margin-top: 60px;
  margin-bottom: 30px;
}
.solution-img, .logo-img {
  width: 100%;
  max-height: 180px;
  object-fit: contain;
  margin-bottom: 15px;
}
.carousel-item {
  padding: 60px 0;
}
.carousel-item .row {
  align-items: center;
}
.carousel-item img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}
.carousel-text {
  padding-left: 30px;
}
.bg-custom-blue {
  background-color: #007DA6 !important;
}
.text-primary {
  color: #007DA6 !important;
}
.navbar-dark {
  background-color: #004C71 !important;
}
.bg-light {
  background-color: #7F7D89 !important;
}
h1, h2, h3, h4, h5, h6 {
  font-family: 'Walkway Expand Black', sans-serif;
  color: #444042;
}
p, a, li, label, input, textarea {
  color: #444042;
}

/* === Hero (image left, text right) === */
.hero-title-nooverlay {
  font-size: clamp(1.75rem, 3.5vw + .5rem, 3rem);
  line-height: 1.15;
  color: #444042;
}
.hero-subtitle-nooverlay {
  font-size: clamp(1rem, 1.1vw + .75rem, 1.35rem);
  color: #444042;
}
.carousel .container { max-width: 1140px; } /* keep it tidy */

/* Remove caption overlay gradient if existed */
.carousel-item::after { display: none !important; }

/* CTA buttons (reuse) */
.btn-cta-primary, .btn-cta-secondary {
  font-weight: 700;
  border-radius: 9999px;
  padding: .7rem 1.2rem;
  box-shadow: 0 6px 18px rgba(0,0,0,.12);
  transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease, color .15s ease;
}
.btn-cta-primary { background:#007DA6; color:#fff; border:2px solid #007DA6; }
.btn-cta-primary:hover { transform: translateY(-1px); box-shadow:0 8px 22px rgba(0,0,0,.18); background:#056786; border-color:#056786; }
.btn-cta-secondary { background:transparent; color:#007DA6; border:2px solid #007DA6; }
.btn-cta-secondary:hover { transform: translateY(-1px); box-shadow:0 8px 22px rgba(0,0,0,.18); background:rgba(0,125,166,.06); color:#056786; border-color:#056786; }

/* === Perfect circles fix (override .img-fluid) === */
.img-circle {
  --circle-size: clamp(140px, 18vw, 220px);
  width: var(--circle-size) !important;
  height: var(--circle-size) !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  display: inline-block !important;
}
/* If Bootstrap's .img-fluid is present, keep our fixed square */
.img-circle.img-fluid { max-width: none !important; }

/* === Consistent carousel height (image left / text right) === */
.carousel-item {
  --hero-h: min(68vh, clamp(360px, 52vw, 560px));
  min-height: var(--hero-h);
  display: flex;
  align-items: stretch;
}
.carousel-item .container { height: var(--hero-h); display: flex; align-items: center; }
.hero-row { min-height: var(--hero-h); }
.hero-img-wrap { height: var(--hero-h); overflow: hidden; }
.hero-img-wrap > img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
@media (max-width: 768px) {
  .carousel-item { --hero-h: min(68vh, clamp(360px, 52vw, 560px)); }
  .carousel-item .container { height: auto; }
  .hero-row { min-height: auto; }
  .hero-img-wrap { height: clamp(220px, 60vw, 360px); }
}

/* === Force perfect circles and avoid interference === */
.img-circle {
  --circle-size: clamp(140px, 20vw, 220px);
  width: var(--circle-size) !important;
  height: var(--circle-size) !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  display: inline-block !important;
}
.img-circle.img-fluid { max-width: none !important; }
.img-uniform.img-circle { aspect-ratio: 1 / 1 !important; } /* safety */

/* Soporte caption style */
.soporte-caption { text-align: center; }
.soporte-caption h5 { color: #444042; }
.soporte-caption p { color: #444042; opacity: .85; }

/* Soporte en Ingeniería: captions debajo de cada imagen */
.soporte-item h6 { color: #444042; }
.soporte-item p { color: #6c757d; }
@media (max-width: 576px) {
  .soporte-item h6 { font-size: .95rem; }
  .soporte-item p { font-size: .85rem; }
}

/* --- Soporte en Ingeniería: separación entre círculos y captions --- */
.soporte-item { margin-bottom: 1.25rem; }
.soporte-item img { margin-bottom: 0.75rem; }\n\n/* Soporte en Ingeniería: captions debajo de cada imagen (restaurado) */
.soporte-item h6 { color: #444042; }
.soporte-item p { color: #6c757d; }
@media (max-width: 576px) {
  .soporte-item h6 { font-size: .95rem; }
  .soporte-item p { font-size: .85rem; }
}\n

/* Strong, visible section titles on white backgrounds */
.section-title {
  color: #1f2937;            /* dark slate */
  font-weight: 800;
  text-align: center;
  letter-spacing: .2px;
  margin-bottom: 2rem;
}
/* Optional subtle accent underline */
.section-title::after {
  content: "";
  display: block;
  width: 64px;
  height: 3px;
  margin: .75rem auto 0;
  background: #007DA6;
  border-radius: 3px;
}


/* Servicio Personalizado: caption under image */
.servicio-personalizado-item h6 { color: #444042 !important; }
.servicio-personalizado-item p { color: #6c757d !important; }

/* Ensure dark titles and grey descriptions */
.soporte-item h6, .servicio-personalizado-item h6 { color: #444042 !important; }
.soporte-item p,  .servicio-personalizado-item p  { color: #6c757d !important; }

/* Swiper slides for circular items */
.soporte-swiper { padding-bottom: 1rem; }
.soporte-swiper .swiper-slide { display: flex; justify-content: center; }
.soporte-swiper .soporte-item { width: 100%; max-width: 320px; }\n\n/* Ensure Swiper spans container and shows multiple slides */
.soporte-swiper { width: 100%; padding-bottom: 1rem; }
.soporte-swiper .swiper-wrapper { align-items: stretch; }
.soporte-swiper .swiper-slide { display: flex; justify-content: center; }
.soporte-swiper .soporte-item { width: 100%; max-width: 320px; }\n

/* Swiper layout for Soporte, Servicio Personalizado y Nuestras Soluciones */
.soporte-swiper, .servicio-swiper, .soluciones-swiper { width: 100%; padding-bottom: 1rem; }
.soporte-swiper .swiper-wrapper, .servicio-swiper .swiper-wrapper, .soluciones-swiper .swiper-wrapper { align-items: stretch; }
.soporte-swiper .swiper-slide, .servicio-swiper .swiper-slide, .soluciones-swiper .swiper-slide { display: flex; justify-content: center; }
.soporte-swiper .soporte-item, .servicio-swiper .servicio-personalizado-item, .soluciones-swiper .soluciones-item { width: 100%; max-width: 320px; }


/* Swiper layout (tres secciones) */
.soporte-swiper, .servicio-swiper, .soluciones-swiper { width: 100%; padding-bottom: 1rem; }
.soporte-swiper .swiper-wrapper, .servicio-swiper .swiper-wrapper, .soluciones-swiper .swiper-wrapper { align-items: stretch; }
.soporte-swiper .swiper-slide, .servicio-swiper .swiper-slide, .soluciones-swiper .swiper-slide { display: flex; justify-content: center; }
.soporte-swiper .soporte-item, .servicio-swiper .servicio-personalizado-item, .soluciones-swiper .soluciones-item { width: 100%; max-width: 320px; }
