/* header */
#wpadminbar + .site > .site-header {
  /* margin-top: 32px; */
  top: 32px;
}
header.site-header {
  position: sticky;
  top: 0;
  z-index: 99;
  left: 0;
  transition:
    transform 0.3s ease-in-out,
    top 0.3s ease-in-out;
}

header.site-header.header-hidden {
  transform: translateY(-100%);
}

header ul.elementskit-navbar-nav li a {
  position: relative;
}

header ul.elementskit-navbar-nav li a::before {
  content: "";
  width: 0; /* Start with 0 width */
  left: 14px; /* Start from the left (14px offset accounts for the -28px width reduction) */
  bottom: 0;
  height: 2px;
  border-radius: 99px;
  position: absolute;
  background: linear-gradient(90deg, rgb(124, 5, 241), rgb(210, 92, 210));
  opacity: 0;
  transition:
    width 0.3s ease,
    opacity 0.3s ease; /* Animate the width from left to right */
}

header ul.elementskit-navbar-nav li a.active::before,
header ul.elementskit-navbar-nav li a:hover::before {
  width: calc(100% - 28px); /* Grow to full width (minus 28px margins) */
  opacity: 1;
}

header.site-header .ekit-menu-nav-link .elementskit-submenu-indicator {
  color: rgba(255, 255, 255, 0.4) !important;
  fill: rgba(255, 255, 255, 0.4) !important;
  transform: rotate(0deg) !important;
}
header.site-header .ekit-menu-nav-link:hover .elementskit-submenu-indicator {
  transform: rotate(180deg) !important;
  color: var(--primary) !important;
  fill: var(--primary) !important;
}

header.site-header
  .elementor-widget-ekit-nav-menu
  .elementskit-navbar-nav
  > li.current-page-ancestor
  > a {
  color: #c084fc;
}
header.site-header
  .elementor-widget-ekit-nav-menu
  .elementskit-navbar-nav
  > li.current-page-ancestor
  > a::before {
  content: "";
  width: calc(100% - 28px); /* Grow to full width (minus 28px margins) */
  opacity: 1;
  left: 14px; /* Start from the left (14px offset accounts for the -28px width reduction) */
  bottom: 0;
  height: 2px;
  border-radius: 99px;
  position: absolute;
  background: linear-gradient(90deg, rgb(124, 5, 241), rgb(210, 92, 210));
  transition:
    width 0.3s ease,
    opacity 0.3s ease; /* Animate the width from left to right */
}

/* Desktop */
.header-contact-btn {
  display: inline-flex;
  align-items: center;
}

/* Mobile */
@media (max-width: 1024px) {
  .elementskit-menu-container .header-contact-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin-top: 10px;
    padding: 14px 20px;
  }
}

/* footer */
.footer-subscribe-form p {
  margin: 0;
}
.footer-subscribe-form form {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}
@media (max-width: 767px) {
  .footer-subscribe-form form {
    justify-content: flex-start;
    width: 100%;
  }
}

.footer-subscribe-form form p input[type="email"] {
  border-radius: 99px !important;
}

.site-footer .ekit_social_media li a {
  display: flex !important;
  align-items: center;
  justify-content: center;
}
.site-footer .ekit_social_media li a:hover {
  transform: translateY(-4px);
}

.site-footer .custom-footer-links h5 {
  font-size: 16px; /* 14px */
  font-weight: 800;
  line-height: 1.6;
  letter-spacing: 0.16em;
  margin: 0 0 20px;
  text-transform: uppercase;
  color: var(--color-primary);
}
.site-footer .custom-footer-links .menu li a {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
  color: #4b5563;
  position: relative;
}
.site-footer .custom-footer-links .menu li a:hover {
  color: var(--color-primary);
}
.site-footer .custom-footer-links .menu,
.site-footer .custom-footer-links .menu li {
  margin: 0;
  padding: 0;
  list-style: none;
}
.site-footer .custom-footer-links .menu li:not(:last-child) {
  margin-bottom: 6px !important;
}

.site-footer .custom-footer-links .menu li a::before {
  content: "";
  width: 0; /* Start with 0 width */
  left: 0; /* Start from the left (14px offset accounts for the -28px width reduction) */
  bottom: -4px;
  height: 2px;
  border-radius: 99px;
  position: absolute;
  background: linear-gradient(90deg, rgb(124, 5, 241), rgb(210, 92, 210));
  opacity: 0;
  transition:
    width 0.3s ease,
    opacity 0.3s ease; /* Animate the width from left to right */
}

.site-footer .custom-footer-links .menu li a.active::before,
.site-footer .custom-footer-links .menu li a:hover::before {
  width: 100%; /* Grow to full width (minus 28px margins) */
  opacity: 1;
}

.footer-subscribe-form form .wpcf7-response-output {
  margin-top: 0;
}

/* Home page */

/* hero section */
.masthead {
  position: relative;
}

.masthead::after {
  content: "";
  display: block; /* Added to ensure dimensions and filters render */
  position: absolute;
  bottom: 0;
  left: -6%;
  width: 440px;
  height: 440px;
  border-radius: 9999px;
  z-index: 10; /* Increased to ensure visibility */
  opacity: 0.09;
  pointer-events: none;
  filter: blur(64px);
  animation: floatB 3s ease-in-out infinite;
  background: rgb(210, 92, 210);
}

@keyframes floatB {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-20px);
  }
}

.masthead::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: -6rem !important;
  right: 13%;
  width: 600px !important;
  height: 600px !important;
  border-radius: 9999px !important;
  z-index: 2 !important;
  opacity: 0.1 !important;
  pointer-events: none;
  filter: blur(64px);
  background: radial-gradient(circle, rgb(124, 5, 241) 0%, transparent 65%);
  animation: blob 7s infinite;
  left: auto !important;
}

@keyframes blob {
  /* Add your custom keyframes for animate-blob here if needed */
  0%,
  100% {
    transform: translate(0px, 0px) scale(1);
  }
  33% {
    transform: translate(30px, -50px) scale(1.1);
  }
  66% {
    transform: translate(-20px, 20px) scale(0.9);
  }
}

.masthead .dotted-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  pointer-events: none;
  display: block;
  background-image: radial-gradient(
    circle,
    rgba(255, 255, 255, 0.06) 1px,
    transparent 1px
  );
  background-size: 32px 32px;
  -webkit-mask-image: radial-gradient(
    80% 80% at 50% 50%,
    black 30%,
    transparent 100%
  );
  mask-image: radial-gradient(80% 80% at 50% 50%, black 30%, transparent 100%);
}

/* trusted logo slider */

.trusted-logo::before {
  content: "" !important;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -16px !important;
  height: 100% !important;
  width: 8rem !important;
  z-index: 10;
  pointer-events: none;
  background: linear-gradient(90deg, rgb(255, 255, 255) 55%, transparent);
}
.trusted-logo::after {
  content: "" !important;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -16px !important;
  height: 100% !important;
  width: 8rem !important;
  z-index: 10;
  pointer-events: none;
  background: linear-gradient(270deg, rgb(255, 255, 255) 55%, transparent);
}

.trusted-logo .elementskit-client-slider-item {
  height: auto;
}
.trusted-logo .elementskit-client-slider-item .swiper-slide-inner {
  height: 100%;
}
.trusted-logo
  .elementskit-client-slider-item
  .swiper-slide-inner
  .single-client {
  height: 100%;
}

/* portfolio section */
.home-portfolio
  .home-portfolio-grid
  .elementor-widget-elementskit-icon-box
  .elementskit-info-box-icon {
  width: 100% !important;
  height: 100% !important;
  height: 220px !important;
}
.home-portfolio
  .home-portfolio-grid
  .elementor-widget-elementskit-icon-box
  .elementskit-info-box-icon
  img {
  width: 100% !important;
  height: 100% !important;
}
/* .home-portfolio
  .home-portfolio-grid
  .elementor-widget-elementskit-icon-box
  .elementskit-info-box-icon::after {
  content: "";
  background: linear-gradient(
    to top in oklab,
    color-mix(in oklab, var(--color-violet-600) 30%, transparent),
    color-mix(in oklab, var(--color-purple-900) 60%, transparent),
    transparent
  );
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  pointer-events: none;
} */

/* counter */
.home-counter
  .elementor-widget-counter
  .elementor-counter
  .elementor-counter-title {
  text-align: center;
}

/* testimonial */
.home-testimonial
  .elementor-widget-elementskit-testimonial
  .swiper-slide
  .swiper-slide-inner
  .xs-overlay {
  background: transparent !important;
}



/* Our team section */
.our-team .ekit-wid-con .ekit-img-overlay::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  border: 4px solid #e9d4ff;
  width: 100%;
  height: 100%;
  border-radius: 99px;
  padding: 2px;
}

.our-team .ekit-wid-con .ekit-img-overlay::after {
  content: "";
  position: absolute;
  bottom: -4px;
  right: -4px;
  width: 24px;
  height: 24px;
  background-image:
    url("../icons/white-check-icon.svg"),
    linear-gradient(90deg, rgb(124, 5, 241), rgb(210, 92, 210));
  background-position:
    center center,
    center center;
  background-repeat: no-repeat, no-repeat;
  background-size:
    12px 12px,
    cover;
  border-radius: 9999px;
  z-index: 2;
}

.our-team .profile-card .ekit-team-img {
  overflow: visible;
}

/* contact us page */
.contact-section .enquiry-form-wrp .project-enquiry-form form p {
  display: flex;
  flex-wrap: wrap;
  gap: 25px;
}
.contact-section .enquiry-form-wrp .project-enquiry-form form p br {
  display: none;
}
.contact-section .enquiry-form-wrp .project-enquiry-form form p label,
.contact-section .enquiry-form-wrp .project-enquiry-form form p label span {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.contact-section .enquiry-form-wrp .project-enquiry-form form p label {
  width: 100%;
  color: #6a7282;
  font-size: 12px;
  font-weight: 600;
  line-height: 20px;
  text-align: left;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.contact-section
  .enquiry-form-wrp
  .project-enquiry-form
  form
  p
  label:has([data-name="full-name"]),
.contact-section
  .enquiry-form-wrp
  .project-enquiry-form
  form
  p
  label:has([data-name="email"]),
.contact-section
  .enquiry-form-wrp
  .project-enquiry-form
  form
  p
  label:has([data-name="phone-number"]),
.contact-section
  .enquiry-form-wrp
  .project-enquiry-form
  form
  p
  label:has([data-name="company-name"]) {
  width: calc((100% - 25px) / 2);
  max-width: calc((100% - 25px) / 2);
}

@media (max-width: 768px) {
  .contact-section
    .enquiry-form-wrp
    .project-enquiry-form
    form
    p
    label:has([data-name="full-name"]),
  .contact-section
    .enquiry-form-wrp
    .project-enquiry-form
    form
    p
    label:has([data-name="email"]),
  .contact-section
    .enquiry-form-wrp
    .project-enquiry-form
    form
    p
    label:has([data-name="phone-number"]),
  .contact-section
    .enquiry-form-wrp
    .project-enquiry-form
    form
    p
    label:has([data-name="company-name"]) {
    width: 100%;
    max-width: 100%;
  }
}

/* How it works card arrow line */
.how-it-works-card {
  position: relative;
}

@media (min-width: 1024px) {
  .how-it-works-card:not(:last-child)::after {
    content: "";
    display: block;
    position: absolute;
    top: 2rem; /* top-8 */
    left: 100%; /* left-full */
    width: 100%; /* w-full */
    height: 1px; /* h-px */
    background-image: linear-gradient(
      to right,
      color-mix(in srgb, oklch(62.7% 0.265 303.9) 50%, transparent),
      transparent
    );
    z-index: 10; /* z-10 */
  }
}

/* industries section */
/* .development-process .elementor-widget-icon-list ul li span,
.development-process .elementor-widget-icon-list ul li span svg {
  stroke: #7c05f1;
  color: #7c05f1 !important;
} */
.development-process .development-process-wrp::after {
  content: "" !important;
  width: 100%;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(124, 5, 241, 0.4) 20%,
    rgba(210, 92, 210, 0.4) 80%,
    transparent
  );
  top: 32px;
  left: 0;
  position: absolute;
  z-index: 0;
}

@media (max-width: 1024px) {
  .development-process .development-process-wrp::after {
    content: "" !important;
    top: 20px;
    left: 0;
    position: absolute;
    z-index: 0;
  }
}
@media (max-width: 768px) {
  .development-process .development-process-wrp::after {
    display: none;
  }
}

.development-process .development-process-wrp .ekit-heading--title span:hover {
  scale: 1.1;
}

/* industry solution section */
.industry-solution .industry-solution-wrp .industry-solution-card {
  overflow: hidden;
}
.industry-solution
  .industry-solution-wrp
  .industry-solution-card
  .elementor-shape-rounded.elementor-widget.elementor-widget-icon
  .elementor-icon-wrapper {
  display: flex;
}
.industry-solution .industry-solution-wrp .industry-solution-card::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 6px;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  z-index: 9;
  background: linear-gradient(
    to right in oklab,
    var(--color-violet-600),
    var(--color-purple-600),
    var(--color-fuchsia-600)
  );
}

.two-grid-layout ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}

@media (max-width: 768px) {
  .two-grid-layout ul {
    grid-template-columns: repeat(1, 1fr);
  }
}

.what-we-build .elementor-widget-elementskit-icon-box .ekit-icon-box-badge {
  top: 28px;
  left: 28px;
}
@media (max-width: 768px) {
  .what-we-build .elementor-widget-elementskit-icon-box .ekit-icon-box-badge {
    top: 20px;
    left: 20px;
  }
}

/* industries detail why choose us */
.industries-detail-why-choose-us
  .industries-detail-why-choose-us-cards::before {
  content: "";
  width: 12rem;
  height: 12rem;
  position: absolute;
  top: -2rem;
  left: auto;
  right: 1rem;
  border-radius: 9999px;
  background-color: color-mix(
    in srgb,
    oklch(89.4% 0.057 293.283) 50%,
    transparent
  );
  filter: blur(40px);
  pointer-events: none;
  animation: blob 9s ease-in-out infinite;
}

@supports (color: color-mix(in lab, red, red)) {
  .industries-detail-why-choose-us
    .industries-detail-why-choose-us-cards::before {
    background-color: color-mix(
      in oklab,
      oklch(89.4% 0.057 293.283) 50%,
      transparent
    );
  }
}

/* services page style */
.services-tabing
  .elementor-widget-n-tabs
  .e-n-tabs-heading
  button[aria-selected="true"]
  .e-n-tab-icon {
  width: 36px;
  height: 36px;
  background: linear-gradient(
    135deg,
    rgb(124, 5, 241),
    rgba(124, 5, 241, 0.733)
  );
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.services-tabing
  .elementor-widget-n-tabs
  .e-n-tabs-heading
  button[aria-selected="false"]
  .e-n-tab-icon {
  width: 36px;
  height: 36px;
  background: rgba(167, 29, 233, 0.08);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.services-tabing
  .elementor-widget-n-tabs
  .e-n-tabs-heading
  button[aria-selected="true"]
  .e-n-tab-icon
  svg {
  width: 16px;
  height: 16px;
  opacity: 1 !important;
  transform: none !important;
}

.services-tabing
  .elementor-widget-n-tabs
  .e-n-tabs-heading
  .e-n-tab-title
  .e-n-tab-icon
  svg:last-of-type {
  display: none;
}

.services-tabing
  .elementor-widget-n-tabs
  .e-n-tabs-heading
  button[aria-selected="true"]::before {
  background: var(--color-primary);
  content: "";
  width: 2px;
  left: 16px;
  position: absolute;
  top: 14px; /* functionally equivalent to top: 50%; transform: translateY(-50%) but allows top-down animation */
  z-index: 9;
  border-radius: 10px;
  animation: tabLineGrow 0.4s ease-out forwards;
}

@keyframes tabLineGrow {
  0% {
    height: 0;
  }
  100% {
    height: calc(100% - 28px);
  }
}

.services-tabing .services-listing-card {
  border-radius: 24px;
  overflow: hidden;
}

.services-tabing .services-listing-card::before {
  content: "" !important;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  z-index: 1;
  background: linear-gradient(
    90deg,
    rgb(124, 5, 241),
    rgba(124, 5, 241, 0.333),
    transparent
  );
  display: flex;
  align-items: center;
  justify-content: center;
}

.services-tabing
  .elementor-widget-n-tabs
  .e-n-tabs-heading
  button[aria-selected="true"] {
  background-color: #fff !important;
}

.services-tabing .elementor-widget-n-tabs .e-n-tabs-heading button:hover {
  background-color: #7c05f10d !important;
}

/* career page design */
.open-job-positions
  .elementor-widget-elementskit-accordion
  .ekit-accordion--content
  h4 {
  margin: 0 0 12px;
  color: #ffffff66;
  font-weight: 600;
  font-size: 12px;
  line-height: 24px;
  text-transform: uppercase;
}
.open-job-positions
  .elementor-widget-elementskit-accordion
  .ekit-accordion--content
  ul {
  padding-left: 20px;
  margin-bottom: 20px;
}
.open-job-positions
  .elementor-widget-elementskit-accordion
  .ekit-accordion--content
  ul
  li {
  margin-bottom: 8px;
  color: #ffffff99;
  font-size: 14px;
  font-weight: 400;
  line-height: 24px;
}
.open-job-positions
  .elementor-widget-elementskit-accordion
  .ekit-accordion--content
  ul
  li::marker {
  color: #a71de9;
}
.open-job-positions
  .elementor-widget-elementskit-accordion
  .ekit-accordion--content
  p {
  color: #ffffff66;
  margin-bottom: 20px !important;
  font-size: 14px;
  font-weight: 400;
  line-height: 24px;
}
.open-job-positions
  .elementor-widget-elementskit-accordion
  .ekit-accordion--content
  p:has(> a) {
  margin-bottom: 0px !important;
}
.open-job-positions
  .elementor-widget-elementskit-accordion
  .ekit-accordion--content
  p
  a {
  background: linear-gradient(135deg, #7c05f1, #a71de9) !important;
  color: white !important;
  padding: 13px 28px !important;
  border-radius: 50px !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  line-height: 22px !important;
  transition: all 0.3s ease !important;
  position: relative !important;
  overflow: hidden !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  white-space: nowrap !important;
}
.open-job-positions
  .elementor-widget-elementskit-accordion
  .ekit-accordion--content
  p
  a:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 36px rgba(124, 5, 241, 0.42) !important;
  transition: all 0.3s ease !important;
}
.open-job-positions
  .elementor-widget-elementskit-accordion
  .ekit-accordion--content
  p
  a:hover::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: -10% !important;
  width: 40% !important;
  height: 100% !important;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.22),
    transparent
  ) !important;
  transform: skewX(-15deg);
  animation: shimmerBtn 3.5s ease-in-out infinite !important;
  opacity: 1 !important;
  z-index: 0 !important;
}
@keyframes shimmerBtn {
  0% {
    transform: translateX(-100%) skewX(-15deg);
  }
  100% {
    transform: translateX(250%) skewX(-15deg);
  }
}


.blog-cont-nospace p:last-child {
  margin-bottom: 0px !important;
}

.inner-blog-content .inner-blog-right-wrp,
.policy-content-wrp .policy-page-right {
  position: sticky;
  top: 100px;
  left: 0;
  height: 100%;
}

.inner-blog-right-wrp .inner-blog-toc-list {
  max-height: 250px;
  overflow: auto;
}

.inner-blog-right-wrp .inner-blog-toc-list ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.inner-blog-right-wrp .inner-blog-toc-list ul li {
  padding: 4px 0 4px 12px;
  list-style: none;
  margin-bottom: 8px;
  position: relative;
}
.inner-blog-right-wrp .inner-blog-toc-list ul li.active::before,
.inner-blog-right-wrp .inner-blog-toc-list ul li:hover::before {
  background: var(--color-primary);
}
.inner-blog-right-wrp .inner-blog-toc-list ul li.active a,
.inner-blog-right-wrp .inner-blog-toc-list ul li:hover a {
  color: var(--color-primary);
}

.inner-blog-right-wrp .inner-blog-toc-list ul li a {
  color: var(--color-gray-500);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
}
.inner-blog-right-wrp .inner-blog-toc-list ul li a:hover {
  color: var(--color-primary);
}
.inner-blog-right-wrp .inner-blog-toc-list ul li::before {
  background: var(--color-gray-200);
  content: "";
  width: 1.5px;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
}
.inner-blog-right-wrp .inner-blog-toc-list ul li::before:hover {
  color: var(--color-primary);
}

/* privacy policy page */
.policy-content-wrp .policy-page-left ul li::marker,
.policy-content-wrp .policy-page-left ul li,
.policy-content-wrp .policy-page-left ol li,
.policy-content-wrp .policy-page-left ol li::marker {
  color: #ffffffa6;
}

.policy-content-wrp .policy-page-left ul li,
.policy-content-wrp .policy-page-left ol li {
  margin-bottom: 8px;
}

.policy-content-wrp .policy-page-left ul li strong,
.policy-content-wrp .policy-page-left ol li strong {
  color: #ffffffd9;
}
.policy-content-wrp .policy-page-left p a,
.policy-content-wrp .policy-page-left ul li a,
.policy-content-wrp .policy-page-left ol li a {
  color: var(--color-purple-400);
  text-decoration: underline;
}

.policy-page-right .policy-page-toc-list {
  max-height: 250px;
  overflow: auto;
}

.policy-page-right .policy-page-toc-list ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.policy-page-right .policy-page-toc-list ul li {
  padding: 4px 0 4px 12px;
  list-style: none;
  margin-bottom: 8px;
  position: relative;
}
.policy-page-right .policy-page-toc-list ul li.active::before,
.policy-page-right .policy-page-toc-list ul li:hover::before {
  background: var(--color-primary);
}
.policy-page-right .policy-page-toc-list ul li.active a,
.policy-page-right .policy-page-toc-list ul li:hover a {
  color: var(--color-primary);
}

.policy-page-right .policy-page-toc-list ul li a {
  color: var(--color-gray-500);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
}
.policy-page-right .policy-page-toc-list ul li a:hover {
  color: var(--color-primary);
}
.policy-page-right .policy-page-toc-list ul li::before {
  background: var(--color-gray-200);
  content: "";
  width: 1.5px;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
}
.policy-page-right .policy-page-toc-list ul li::before:hover {
  color: var(--color-primary);
}

/* Custom Table Widget Responsive */
@media (max-width: 767px) {
  .custom-elementor-table-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    width: 100%;
    margin-bottom: 1rem;
    padding-bottom: 5px; /* space for scrollbar */
  }
  .custom-elementor-table-wrapper table {
    min-width: 700px; /* Prevents 6 columns from squishing, enables horizontal scroll */
  }
}


@media (max-width: 767px) {
  .mob-box-slider.slick-initialized,
  .full-mob-box-slider-sec.slick-initialized {
    display: block !important;
  }

  /* Add gap between sliders */
  .mob-box-slider .slick-slide {
    margin: 0 10px;
    height: auto;
    display: flex;
  }

  .full-mob-box-slider-sec .slick-slide {
    height: auto;
    display: flex;
  }

  .mob-box-slider .slick-list .slick-track,
  .full-mob-box-slider-sec .slick-list .slick-track {
    display: flex;
  }
  .mob-box-slider .slick-list {
    margin: 0 -10px;
  }
}

@media (max-width: 576px) {
  .mob-box-slider
    .slick-slide
    .elementor-widget-elementskit-icon-box
    .elementskit-infobox.text-left,
  .full-mob-box-slider-sec
    .slick-slide
    .elementor-widget-elementskit-icon-box
    .elementskit-infobox.text-left {
    flex-direction: column;
    gap: 10px;
  }
}

/* Home Portfolio Grid Slider */
.home-portfolio-grid.slick-initialized {
  display: block !important;
  position: relative;
}

.home-portfolio-grid .slick-slide {
  margin: 0 15px;
  height: auto;
  display: flex;
}

.home-portfolio-grid .slick-list .slick-track {
  display: flex;
  padding: 20px 0;
}

.home-portfolio-grid .slick-list {
  margin: 0 -15px;
}

.home-portfolio-grid
  .elementor-widget-elementskit-icon-box
  .elementskit-infobox {
  display: flex;
  flex-direction: column;
}
.home-portfolio-grid
  .elementor-widget-elementskit-icon-box
  .elementskit-infobox
  .box-body {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.home-portfolio-grid
  .elementor-widget-elementskit-icon-box
  .elementskit-infobox
  .box-body
  .box-footer {
  margin-top: auto;
}

/* Light, small arrows for dark background */
.home-portfolio-grid .slick-prev,
.home-portfolio-grid .slick-next {
  width: 36px;
  height: 36px;
  background: #ffffff;
  border-radius: 50%;
  z-index: 10;
  transition: all 0.3s ease;
  display: flex !important;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.home-portfolio-grid .slick-prev:hover,
.home-portfolio-grid .slick-next:hover {
  background: #f0f0f0;
}

.home-portfolio-grid .slick-prev.slick-disabled,
.home-portfolio-grid .slick-next.slick-disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.home-portfolio-grid .slick-prev {
  left: -50px;
}

.home-portfolio-grid .slick-next {
  right: -50px;
}

.home-portfolio-grid .slick-prev::before,
.home-portfolio-grid .slick-next::before {
  color: #000000;
  font-size: 16px;
  font-family: sans-serif;
  opacity: 1;
  line-height: 1;
}

.home-portfolio-grid .slick-prev::before {
  content: "\276E";
}

.home-portfolio-grid .slick-next::before {
  content: "\276F";
}

/* Keep arrows inside on smaller screens */
@media (max-width: 1024px) {
  .home-portfolio-grid {
    padding: 0 20px;
  }
  .home-portfolio-grid .slick-prev {
    left: -10px;
  }
  .home-portfolio-grid .slick-next {
    right: -10px;
  }
}

@media (max-width: 767px) {
  .home-portfolio-grid {
    padding: 0 10px;
  }
  .home-portfolio-grid .slick-prev {
    left: -5px;
  }
  .home-portfolio-grid .slick-next {
    right: -5px;
  }
}

/* Portfolio Dynamic Filter */
.portfolio-filter-container {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 30px;
  padding: 0 15px; /* align with slick margins */
  gap: 12px;
}

.portfolio-filter-container::before {
  content: "Filter:";
  color: #ffffff;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  opacity: 0.8;
}

.portfolio-filter-select {
  padding: 12px 42px 12px 20px;
  border-radius: 50px;
  background-color: #ffffff;
  color: #1a1a1a;
  border: 2px solid transparent;
  font-size: 15px;
  font-weight: 600;
  outline: none;
  cursor: pointer;
  min-width: 240px;
  transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);
  appearance: none;
  /* Custom elegant black chevron */
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%231a1a1a%22%20stroke-width%3D%222.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 16px auto;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.portfolio-filter-select:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
  border-color: rgba(167, 29, 233, 0.3); /* subtle purple border on hover */
}

.portfolio-filter-select:focus {
  border-color: #a71de9; /* Purple accent */
  box-shadow: 0 6px 20px rgba(167, 29, 233, 0.25);
}

.portfolio-filter-select option {
  background-color: #ffffff;
  color: #1a1a1a;
  font-weight: 500;
}


/* customizer style */
a[href*="/category/uncategorized/"] {
  pointer-events: none;
  cursor: default !important;
  text-decoration: none;
}

.box-btn-last .elementor-widget-elementskit-icon-box .elementskit-infobox {
  display: flex;
  flex-direction: column;
}
.box-btn-last
  .elementor-widget-elementskit-icon-box
  .elementskit-infobox
  .box-body {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.box-btn-last
  .elementor-widget-elementskit-icon-box
  .elementskit-infobox
  .box-body
  .box-footer {
  margin-top: auto;
}
/* customizer style ends */

/* accordian section style */
.mesh-light .elementor-widget-elementskit-accordion {
  width: 100%;
}

/* =========================================
   CONTACT FORM SUBMISSION OVERLAY
========================================= */

.wpcf7-form {
  position: relative;
}

/* Simple white overlay */
.wpcf7-form.is-submitting::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;

  background: rgba(255, 255, 255, 0.7);

  border-radius: inherit;
}

/* Loader container */
.cf7-loading {
  position: absolute;
  top: 50%;
  left: 50%;

  transform: translate(-50%, -50%);

  z-index: 1000;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  gap: 12px;

  color: #111827;

  font-size: 14px;
  font-weight: 500;

  pointer-events: none;
}

/* Spinner */
.cf7-loading-spinner {
  width: 38px;
  height: 38px;

  border: 3px solid rgba(37, 99, 235, 0.15);
  border-top-color: #2563eb;

  border-radius: 50%;

  animation: cf7Spin 0.75s linear infinite;
}

/* Text */
.cf7-loading-text {
  white-space: nowrap;
}

/* Hide default CF7 spinner */
.wpcf7-spinner {
  display: none !important;
}

/* Lock the form */
.wpcf7-form.is-submitting {
  pointer-events: none;
}

@keyframes cf7Spin {
  to {
    transform: rotate(360deg);
  }
}


/* case studies style */

/* slick nav dots style */
.slick-dots li button {
  width: 25px;
  height: 25px;
}

.slick-dots li button:before {
  width: 25px;
  height: 25px;
  font-size: 10px;
}

.full-mob-box-slider-sec .case-study-wrp {
  height: 100%;
}
