/* ==========================================================================
   HERO CAROUSEL - EXACT PHOTOGRAPHIC SLIDER
   ========================================================================== */

.hero-viewport-carousel {
  position: relative;
  flex-grow: 1;
  /* Automatically fill remaining vertical space */
  min-height: 50vh;
  /* Minimum height for smaller screens */
  overflow: hidden;
  background-color: #0F172A;
}

.hero-viewport-carousel .carousel-inner {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100%;
}

.hero-slide-bg {
  background-size: cover;
  background-position: center bottom;
  background-repeat: no-repeat;
}

/* 1A: Maersk Vessel at Container Terminal */
.hero-slide-1a {
  background-image: url('../img/local/slider-1.jpg');
}

/* 1B: Inland Trucking Trailer Fleet */
.hero-slide-1b {
  background-image: url('../img/local/slider-2.jpg');
}

/* 1C: Airport Air Cargo & Customs Warehouse */
.hero-slide-1c {
  background-image: url('../img/local/slider-3.jpg');
}

.hero-soft-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, rgba(255, 255, 255, 0.05) 30%, rgba(255, 255, 255, 0.75) 68%, rgba(255, 255, 255, 0.95) 100%);
  pointer-events: none;
}

/* Right-aligned text block matching reference image */
.hero-text-panel {
  position: relative;
  z-index: 10;
  text-align: right;
  padding-right: 45px;
}

.hero-big-heading {
  font-size: 2.5rem;
  font-weight: 800;
  color: #0B2545;
  line-height: 1.25;
  margin-bottom: 24px;
  letter-spacing: -0.5px;
}

.hero-credentials-wrapper {
  margin-top: 16px;
}

.hero-license-text {
  font-size: 0.95rem;
  font-weight: 800;
  color: #0B2545;
  margin-bottom: 4px;
}

.hero-cert-text {
  font-size: 0.95rem;
  font-weight: 700;
  color: #0B2545;
  margin-bottom: 3px;
}

/* Bottom Left Slide Indicators */
.carousel-pill-indicators {
  position: absolute;
  bottom: 25px;
  left: 35px;
  z-index: 20;
  display: flex;
  gap: 8px;
}

.carousel-dot-pill {
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid #1E40AF;
  color: #1E40AF;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 4px 14px;
  border-radius: 20px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.carousel-dot-pill.active,
.carousel-dot-pill:hover {
  background: #1E40AF;
  color: #FFFFFF;
}

@media (max-width: 991px) {
  .hero-viewport-carousel {
    min-height: 60vh;
  }

  .hero-soft-overlay {
    background: rgba(255, 255, 255, 0.88);
  }

  .hero-text-panel {
    text-align: left;
    padding: 30px 24px;
  }

  .hero-big-heading {
    font-size: 1.9rem;
  }
}