/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
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 */
h1, h2 h3, h4, h5, h6 { letter-spacing: 0px!important; }
.lowercase { text-transform: lowercase!important; }

.drop-shadow1 { box-shadow: rgba(0, 0, 0, 0.05) 0px 6px 24px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px; }
.drop-shadow2 { box-shadow: rgba(136, 165, 191, 0.48) 6px 2px 16px 0px, rgba(255, 255, 255, 0.8) -6px -2px 16px 0px; } 

input[type="number"]::-webkit-outer-spin-button, input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}
  
input[type="number"] {
    -moz-appearance: textfield !important;
}
.uc_long_content_box_holder > .uc_long_content_box_box .uc_image_box { transform: translateY(0) scale(1); transition: 1s ease all; }
.uc_long_content_box_holder:hover > .uc_long_content_box_box .uc_image_box { overflow: hidden; scale: 1.1; transform: translateY(-2px) scale(1.1); }

/* Post */
.elementor-posts .elementor-post__thumbnail {
  position: relative;
  overflow: hidden;
}

.elementor-posts .elementor-post__thumbnail::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--post-thumb-bg);
  background-size: cover;
  background-position: center;
  transition: transform 0.6s ease-in-out;
  z-index: 1;
}

.elementor-posts .elementor-post__thumbnail:hover::before {
  transform: scale(1.1);
}

/* keep the real <img> as fallback (z-index under background) */
.elementor-posts .elementor-post__thumbnail img {
  display: block;
  width: 100%;
  height: auto;
  z-index: 0;
  position: relative;
}

/* =========================================================
   Shared Background Zoom (zoom-bg + zoom-bg-heading)
   ========================================================= */
.zoom-bg,
.zoom-bg-heading {
  position: relative;
  overflow: hidden;
  cursor: pointer;
}

/* Carousel cloned slides: allow scaling */
.elementor-swiper .swiper-slide .zoom-bg-heading,
.elementor-swiper .swiper-slide .zoom-bg {
  overflow: visible !important;
}

/* Background ::after */
.zoom-bg::after,
.zoom-bg-heading::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--zoom-bg-image);
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  transform: scale(1);
  transition: transform 0.6s ease;
  z-index: 1;
  pointer-events: none;
}

/* Scale on hover */
.zoom-bg:hover::after,
.zoom-bg-heading:hover::after,
.zoom-bg .elementor-widget-wrap:hover::after,
.zoom-bg-heading .elementor-widget-wrap:hover::after {
  transform: scale(1.1);
}

/* Overlay ::before */
.zoom-bg::before,
.zoom-bg-heading::before {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}

/* Content wrapper above overlay */
.zoom-bg .elementor-widget-wrap,
.zoom-bg-heading .elementor-widget-wrap {
  position: relative;
  z-index: 3;
  overflow: visible;
}

/* =========================================================
   H4 Heading: smooth slide-up animation (50px)
   ========================================================= */
.zoom-bg-heading h4 {
  display: inline-block;
  transform: translateY(0);
  transition: transform 0.6s ease;
  position: relative;
  z-index: 4;
  will-change: transform;
}

.zoom-bg-heading:hover h4,
.zoom-bg-heading .elementor-widget-wrap:hover h4 {
  transform: translateY(-50px); /* slide up 50px */
}

/* =========================================================
   Paragraph: hidden below heading, slides up without overlap
   ========================================================= */
.zoom-bg-heading p,
.zoom-bg-heading .elementor-widget-wrap p,
.zoom-bg-heading .elementor-widget-container p {
  position: absolute !important;
  top: calc(100% + 10px);       /* start just below heading */
  left: 0;
  right: 0;
  opacity: 0 !important;
  transform: translateY(30px) !important;  /* start 20px higher than before */
  overflow: hidden !important;
  transition: opacity 0.6s ease 0.3s, transform 0.4s ease 0.2s !important;
  z-index: 5 !important;
  pointer-events: auto;
}

/* Paragraph appears on hover */
.zoom-bg-heading:hover p,
.zoom-bg-heading .elementor-widget-wrap:hover p,
.zoom-bg-heading .elementor-widget-container:hover p {
  opacity: 1 !important;
  transform: translateY(-20px) !important;  /* slides up 20px higher into place */
}

/* Zoom effect applied to container, not img */
.zoom-bg-container {
  overflow: hidden; /* prevent overflow when scaling */
}

.zoom-bg-container img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
  transform-origin: center center;
}

.zoom-bg-container:hover img {
  transform: scale(1.1);
}



/* Testi Carousel */
/* Keep only SVGs inside .testi-wrapper visible (dimmed by slide state) */
.e-n-carousel.offset-both .swiper-slide:not(.swiper-slide-active) svg {
  display: none !important;
}

.e-n-carousel.offset-both .swiper-slide:not(.swiper-slide-active) .testi-wrapper svg {
  display: inline-block !important;
}

/* --- Active (center) slide --- */
.e-n-carousel.offset-both .swiper-slide.swiper-slide-active .testi-wrapper {
  opacity: 1;
  transform: scale(1);
}
.e-n-carousel.offset-both .swiper-slide.swiper-slide-active .testi-wrapper svg {
  opacity: 1 !important;
}
.e-n-carousel.offset-both .swiper-slide.swiper-slide-active h4 {
  opacity: 1 !important;
}

/* --- Prev/Next slides --- */
.e-n-carousel.offset-both .swiper-slide.swiper-slide-prev .testi-wrapper,
.e-n-carousel.offset-both .swiper-slide.swiper-slide-next .testi-wrapper {
  opacity: 0.5;
  background: transparent !important;
  box-shadow: none !important;
  transform: scale(0.97);
}
.e-n-carousel.offset-both .swiper-slide.swiper-slide-prev .testi-wrapper svg,
.e-n-carousel.offset-both .swiper-slide.swiper-slide-next .testi-wrapper svg {
  opacity: 0.5 !important;
}
.e-n-carousel.offset-both .swiper-slide.swiper-slide-prev h4,
.e-n-carousel.offset-both .swiper-slide.swiper-slide-next h4 {
  opacity: 0.5 !important;
}

/* --- Further away slides --- */
.e-n-carousel.offset-both 
  .swiper-slide:not(.swiper-slide-active):not(.swiper-slide-prev):not(.swiper-slide-next) 
  .testi-wrapper {
  opacity: 0.2;
  background: transparent !important;
  box-shadow: none !important;
  transform: scale(0.95);
}
.e-n-carousel.offset-both 
  .swiper-slide:not(.swiper-slide-active):not(.swiper-slide-prev):not(.swiper-slide-next) 
  .testi-wrapper svg {
  opacity: 0.2 !important;
}
.e-n-carousel.offset-both 
  .swiper-slide:not(.swiper-slide-active):not(.swiper-slide-prev):not(.swiper-slide-next) 
  h4 {
  opacity: 0.2 !important;
}

/* --- Transitions --- */
.e-n-carousel.offset-both .swiper-slide .testi-wrapper,
.e-n-carousel.offset-both .swiper-slide .testi-wrapper svg,
.e-n-carousel.offset-both .swiper-slide h4 {
  transition: opacity 0.3s ease, transform 0.3s ease;
}



/* --- Vertical centering of slides --- */
.e-n-carousel.offset-both .swiper-wrapper {
  display: flex;
  align-items: center;
}
/*
.e-n-carousel.offset-both .swiper-slide {
  display: flex;
  flex-direction: column; 
  align-items: center;
  justify-content: center;
} */

/* Default nav arrows 
.elementor-widget-n-carousel .elementor-swiper-button.elementor-swiper-button-next, .elementor-widget-n-carousel .elementor-swiper-button.elementor-swiper-button-prev {
  transition: transform 0.3s ease;
  transform-origin: center center;
}*/

/* Scale on hover
.elementor-widget-n-carousel .elementor-swiper-button.elementor-swiper-button-next:hover,
.elementor-widget-n-carousel .elementor-swiper-button.elementor-swiper-button-prev:hover {
  transform: scale(1.2);
} */

/* Make all slides equal height */
.e-n-carousel.offset-both .swiper-wrapper {
  display: flex;
  align-items: stretch; /* stretch children to same height */
}

.e-n-carousel.offset-both .swiper-slide {
  display: flex;
  flex-direction: column;
  height: auto !important;  /* allow flexible height */
}

.e-n-carousel.offset-both .swiper-slide .testi-wrapper {
  flex: 1;                  /* stretch wrapper to fill */
  display: flex;
  flex-direction: column;
  justify-content: center;  /* vertical center */
}


