
/* Top bar */
.ecore-topbar{
  background:#f8f8f8;
  border-bottom:1px solid #e5e5e5;
  font-size:14px;
  padding:8px 0;
}
.ecore-topbar-link{ color:#111; text-decoration:none; }
.ecore-topbar-link:hover{ text-decoration:underline; }
.ecore-topbar i{ color:#7fbf3f; }

.ecore-social{
  width:32px; height:32px;
  display:inline-flex; align-items:center; justify-content:center;
  border:1px solid #7fbf3f; color:#7fbf3f;
  border-radius:2px; text-decoration:none;
  transition: all .25s ease;
}
.ecore-social:hover{ background:#7fbf3f; color:#fff; }

/* Carousel */
.ecore-carousel .ecore-slide{
  background-size:cover;
  background-position:center;
  min-height: 70vh;
}
/* ------------------------------------------------
   Carousel (Hero slider with fade + large height)
   ------------------------------------------------ */

/* Main carousel height */
.ecore-carousel,
.ecore-carousel .carousel,
.ecore-carousel .carousel-inner,
.ecore-carousel .carousel-item{
  height: 85vh;
  min-height: 550px;
}

/* Mobile adjustment */
@media (max-width:768px){
  .ecore-carousel,
  .ecore-carousel .carousel,
  .ecore-carousel .carousel-inner,
  .ecore-carousel .carousel-item{
    height: 60vh;
    min-height: 360px;
  }
}

/* Slide background */
.ecore-carousel .ecore-slide{
  height:100%;
  width:100%;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

/* Smooth fade between slides */
#ecoreCarousel.carousel-fade .carousel-item{
  opacity:0;
  transition:opacity 1.4s ease-in-out;
}

#ecoreCarousel.carousel-fade .carousel-item.active{
  opacity:1;
}

/* Slight zoom effect (modern hero feel) */
.ecore-carousel .carousel-item{
  transform:scale(1);
  transition:transform 8s ease;
}

.ecore-carousel .carousel-item.active{
  transform:scale(1.06);
}

/* Hero fade-in on page load */
.ecore-carousel{
  animation: ecoreHeroFade .8s ease both;
}

@keyframes ecoreHeroFade{
  from{opacity:0; transform:translateY(10px);}
  to{opacity:1; transform:translateY(0);}
}

/* Indicators styling */
.ecore-carousel .carousel-indicators button{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#fff;
  opacity:.5;
}

.ecore-carousel .carousel-indicators .active{
  opacity:1;
  background:#7fbf3f;
}
/* Sections */
.ecore-section{ padding:70px 0; }
.ecore-title-row{ margin-bottom:25px; }
.ecore-title{ font-weight:650; }
.ecore-quote{ font-style:italic; color:#333; }

/* Services */
.ecore-services{ padding:60px 0; background:#fff; }
.ecore-services h6{ font-weight:600; text-transform:uppercase; color:#4a70bb; letter-spacing:.5px; }
.ecore-services h2{ font-weight:600; max-width:980px; margin:0 auto; }
.ecore-services-box{
  background:#fff; border:1px solid #eee; border-radius:10px;
  padding:28px 22px; text-align:center; height:100%;
  transition: transform .2s ease, box-shadow .2s ease;
}
.ecore-services-box:hover{ transform: translateY(-2px); box-shadow:0 10px 24px rgba(0,0,0,.08); }
.ecore-services-icon{ font-size:44px; color:#4a70bb; margin-bottom:14px; }

/* Buttons */
.ecore-btn, .ecore-btn-sm{ border-radius:4px; }
.ecore-btn{ background:#28a745; border-color:#28a745; padding:8px 22px; }
.ecore-btn-sm{ padding:6px 18px; }

/* Units */
.ecore-units{ background:#f7fbf7; }
.ecore-unit-card{
  background:#fff; border:1px solid #eee; border-radius:10px;
  padding:22px; height:100%;
  transition: transform .2s ease, box-shadow .2s ease;
}
.ecore-unit-card:hover{ transform: translateY(-2px); box-shadow:0 10px 24px rgba(0,0,0,.08); }
.ecore-unit-icon{ font-size:34px; color:#4a70bb; min-width:38px; margin-top:2px; }

/* Partners cards */
.ecore-partner-card{
  background:#fff; border:1px solid #eee; border-radius:10px; overflow:hidden;
  height:100%;
  transition: transform .2s ease, box-shadow .2s ease;
}
.ecore-partner-card:hover{ transform: translateY(-2px); box-shadow:0 10px 24px rgba(0,0,0,.08); }
.ecore-partner-card img{ width:100%; height:220px; object-fit:cover; display:block; }
.ecore-partner-body{ padding:18px 18px 22px; }
.ecore-partner-body h3{ font-size:20px; margin-bottom:10px; }

/* News */
.ecore-news-item{
  background:#fff; border:1px solid #eee; border-radius:10px;
  padding:18px 20px; margin-bottom:16px;
}
.ecore-news-item h3{ font-size:18px; margin:0 0 6px; }
.ecore-news-item a{ text-decoration:none; }
.ecore-news-date{ color:#666; font-size:14px; }

/* CTA */
.ecore-cta{ background:#4a70bb; color:#fff; }
.ecore-cta h2{ color:#fff; font-weight:650; }
.ecore-cta p{ color:rgba(255,255,255,.9); margin:0; }
.ecore-cta-btn{
  display:inline-block; background:#fff; color:#4a70bb;
  text-decoration:none; padding:10px 18px; border-radius:4px;
  font-weight:600; white-space:nowrap;
}
