/* 
Theme Name: NSPE Theme
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Md Abul Bashar. It is designed to be a lightweight and customizable theme for Elementor users, allowing you to easily create beautiful websites with the power of Elementor's page builder. With its clean and minimalistic design, Hello Elementor Child provides a solid foundation for your website, while giving you the freedom to customize it to your liking.
Author: Md Abul Bashar
Author URI: https://hmbashar.com
Template: hello-elementor
Version: 2.0.0
Text Domain: nspe
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/*----------------------------
 * Heading
 * ---------------------------*/
.nigel-heading .elementor-heading-title {
  position: relative;
}
.nigel-heading .elementor-heading-title:before {
  content: "";
  width: 40px;
  height: 2px;
  background-color: #000000;
  display: block;
  position: absolute;
  left: -50px;
  top: 44%;
}

/*----------------------------
 * Slider
 * --------------------------*/
.nspe-main-slider
  span.swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #000 !important;
  width: 40px;
}

.nspe-main-slider span.swiper-pagination-bullet {
  border-radius: 0 !important;
}


/* DESKTOP: make side slides shorter like Figma */
/* @media (min-width: 1025px) { */


  .nspe-main-slider .swiper-wrapper {
    align-items: center; /* keep active slide centered vertically */
  }

  /* default: all slides slightly smaller */
  .nspe-main-slider .swiper-slide {
    transform: scaleY(0.82);
    transform-origin: center;
    transition: transform .35s ease, opacity .35s ease;
    opacity: 0.55;
  }

  /* active slide = full height */
  .nspe-main-slider .swiper-slide.swiper-slide-active {
    transform: scaleY(1);
    opacity: 1;
    z-index: 3;
  }

  /* optional: make next/prev a bit bigger than far slides */
  .nspe-main-slider .swiper-slide.swiper-slide-next,
  .nspe-main-slider .swiper-slide.swiper-slide-prev {
    transform: scaleY(0.88);
    opacity: 0.75;
    z-index: 2;
  }
/* } */




.nspe-brand-line-shape .elementor-divider-separator {
  width: 1px;
  height: 100%;
  background-color: #e7e7e7;
}
.nspe-brand-line-shape .elementor-divider {
  height: 100%;
}

.cat-badges {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}
.cat-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
}
.cat-icon {
  width: 22px;
  height: 22px;
  object-fit: contain;
}
a.cat-badge {
  display: flex;
  align-content: center;
  gap: 6px;
  align-items: center;
}

a.cat-badge img {
  height: 18px !important;
  width: auto;
}
.nspe-team-view-btn {
  bottom: -60px !important;
  opacity: 0;
  visibility: hidden;

  transition: all 0.3s ease !important; /* MUST be here only */
}

.nspe-team-single-item:hover .nspe-team-view-btn {
  bottom: 25px !important;
  opacity: 1;
  visibility: visible;
}

.nspe-bottom-shadow-img {
  position: relative;
  display: inline-block;
  overflow: hidden;
}

.nspe-team-single-item:hover .nspe-bottom-shadow-img::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 40%; /* Adjust shadow height */

  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.6) 0%,
    rgba(0, 0, 0, 0) 100%
  );

  pointer-events: none;
  transition: all 0.3s ease;
}
.elementor-sticky--effects {
  background-color: #fff !important;
}

/* Let wrapper show glow */
.nspe-elementor-video-play .elementor-wrapper,
.nspe-elementor-video-play .elementor-custom-embed {
  overflow: visible !important;
}

/* Play button */
.nspe-elementor-video-play .elementor-custom-embed-play {
  background: #fff !important;
  width: clamp(64px, 6vw, 80px) !important; /* responsive */
  height: clamp(64px, 6vw, 80px) !important; /* responsive */
  border-radius: 50%;
  display: flex !important;
  align-items: center;
  justify-content: center;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  z-index: 3;
}

/* Glow ring */
.nspe-elementor-video-play .elementor-custom-embed-play::before {
  content: "";
  position: absolute;
  width: 140%;
  height: 140%;
  background: rgba(255, 255, 255, 0.35);
  border-radius: 50%;
  z-index: -1;
  animation: softPulse 2.5s infinite ease-in-out;
}

/* Icon sizes responsive too */
.nspe-elementor-video-play .elementor-custom-embed-play i {
  color: #000 !important;
  font-size: clamp(18px, 2vw, 26px) !important;
}
.nspe-elementor-video-play .elementor-custom-embed-play svg {
  fill: #000 !important;
  width: clamp(20px, 2vw, 28px) !important;
  height: clamp(20px, 2vw, 28px) !important;
}

/* Hover stays centered */
.nspe-elementor-video-play .elementor-custom-embed-play:hover {
  transform: translate(-50%, -50%) scale(1.05) !important;
  transition: all 0.3s ease;
}

@keyframes softPulse {
  0% {
    transform: scale(0.9);
    opacity: 0.6;
  }
  50% {
    transform: scale(1.1);
    opacity: 0.2;
  }
  100% {
    transform: scale(0.9);
    opacity: 0.6;
  }
}

.nspe-testimonials .ti-controls > div {
  background-color: #0319601f !important;
  color: #03196096 !important;
}
.nspe-testimonials .ti-controls > div:hover {
  background-color: #031960 !important;
  color: #ffffff !important;
}
.nspe-testimonials .ti-widget.ti-goog .ti-controls .ti-next:hover {
  background-color: #031960 !important;
}
.nspe-testimonials .ti-widget.ti-goog .ti-controls .ti-prev:hover {
  background-color: #031960 !important;
}


.nspe-testimonials .ti-name {
font-family: 'Inter' !important;
font-style: normal !important;
font-weight: 600 !important;
font-size: 20px !important;
line-height: 100%;
letter-spacing: -0.02em;
color: #070707 !important;
}

.nspe-testimonials .ti-date {
font-family: 'Inter';
font-style: normal;
font-weight: 500;
font-size: 14px;
line-height: 100%;
color: #777980;
}

.nspe-testimonials .ti-review-text-container.ti-review-content {
font-family: 'Inter';
font-style: normal;
font-weight: 500;
font-size: 16px;
line-height: 150%;
color: rgba(78, 83, 98, 0.65);
}

.nspe-testimonials span.ti-read-more .ti-read-more-active{font-family: 'Inter' !important;font-style: normal;font-weight: 500 !important;font-size: 16px !important;line-height: 100% !important;color: #031960 !important;opacity: 1 !important;}

@media screen and (max-width: 600px) {
  .nspe-testimonials .ti-widget.ti-goog .ti-controls {
    display: flex;
    margin-top: 0;
    top: 109% !important;
    justify-content: center;
    gap: 20px !important;
    flex-direction: row-reverse;
  }
  .nspe-testimonials .ti-widget.ti-goog .ti-controls-line {
    display: none !important;
  }

  .nspe-testimonials .ti-widget.ti-goog .ti-controls .ti-next {
    right: unset;
    position: relative;
  }

  .nspe-testimonials .ti-widget.ti-goog .ti-controls .ti-prev {
    left: unset;
    position: relative;
  }
  .cat-icon {
    width: 18px;
    height: 18px;
  }
}



@media screen and (max-width:600px) {
    .nspe-btn a{
        display: flex;
    justify-content: center;
    }
}

