/**
 * Theme Name:     Hello Elementor Child
 * Author:         Elementor Team
 * Template:       hello-elementor
 * Text Domain:	   hello-elementor-child
 * Description:    Hello Elementor is a lightweight and minimalist WordPress theme that was built specifically to work seamlessly with the Elementor site builder plugin. The theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
 */

.menu-buttons-section > div:last-child {
   height: 24px;
}

p {
   margin-block-start: unset !important;
   margin-block-end: unset !important;
}

.elementor-element.gradient-border a.elementor-button {
   background: rgba(255, 255, 255, 0.2);

   backdrop-filter: blur(10px) brightness(1.1) contrast(1.05);
   -webkit-backdrop-filter: blur(10px) brightness(1.1) contrast(1.05); /* Safari */

   border: 1px solid rgba(255, 255, 255, 0.3);
   box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
}

.blur-effect {
   backdrop-filter: blur(5px);
}

.homepage-carousel .elementor-swiper-button-next{
   border-color: #fff !important;
}

body .elementor-element.gradient-border-purple {
   position: relative !important;
   background: #0B090A !important;
   box-shadow: 0 -4px 100px 21px rgba(11, 56, 88, 0.16) inset !important;
   overflow: visible !important;
}

body .elementor-element.gradient-border-purple::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 2px;
  border-radius: inherit;
  background: linear-gradient(90deg, #ffffff20, #7511E220);
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}

body .elementor-element.right-side-mask .e-n-carousel {
   -webkit-mask-image: linear-gradient(to right, rgba(0, 0, 0, 1) 50%, rgba(0, 0, 0, 0) 120%);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: 100% 100%;
    mask-image: linear-gradient(to right, rgba(0, 0, 0, 1) 50%, rgba(0, 0, 0, 0) 120%);
    mask-repeat: no-repeat;
    mask-size: 100% 100%;
}

body .elementor-element.slider-with-opinions {
   overflow: hidden;
}
/* body .elementor-element.slider-with-opinions .swiper-wrapper {
   gap: 10px;
} */

@keyframes scroll-left {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(-100%);
  }
}

body .elementor-element.slider-with-opinions .e-n-carousel {
    position: relative;
    overflow: hidden; /* żeby slider nie wystawał poza gradient */
}

body .elementor-element.slider-with-opinions .e-n-carousel::before,
body .elementor-element.slider-with-opinions .e-n-carousel::after {
    content: "";
    position: absolute;
    top: 0;
    width: 200px; /* szerokość efektu */
    height: 100%;
    z-index: 5; /* musi być nad slajdami */
    pointer-events: none; /* żeby nie blokowało klikania */
}

body .elementor-element.slider-with-opinions .swiper-slide {
  padding-right: 20px;
}
   body .elementor-element.slider-with-opinions .swiper-slide {
     animation: scroll-left 30s linear infinite;
     padding-right: 20px;
   }
@media only screen and (min-width:1024px) {


   body .elementor-element.slider-with-opinions .e-n-carousel::before {
      left: 0;
      background: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%);
   }

   body .elementor-element.slider-with-opinions .e-n-carousel::after {
      right: 0;
      background: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 100%);
   }
}

header {
  transition: background 0.5s ease;
}

header.scrolled > .header-white-text.elementor-sticky{
  background: #000;
}

.table-of-contents .elementor-toc__header {
   margin-bottom: 20px;
}

.custom-contact-form input,
.custom-contact-form textarea {
   padding: 15px 25px 15px 25px;
}

.custom-contact-form textarea {
   border-radius: 25px !important;
}


.elementor-nav-menu .menu-item > a {
   padding-top: 20px;
   padding-bottom: 20px;
}

.elementor-nav-menu .menu-item-has-children ul.sub-menu {
    padding: 32px 34px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 9px;
    border-radius: 16px;
    border: 1px solid #5B5B5B;
    background: #000;
}

.elementor-nav-menu .menu-item-has-children ul.sub-menu .menu-item a {
   margin: 0;
   margin-bottom: 15px;
   padding: 0;
   background-color: transparent;
   color: #B9B9B9;
}

.elementor-nav-menu .menu-item-has-children ul.sub-menu .menu-item a:hover {
   padding: 0 !important;
   background-color: transparent;
   color: #ffffff;
}

.elementor-nav-menu--main .elementor-sub-item {
   position: relative;
}

.elementor-nav-menu--main .elementor-sub-item.elementor-item-active::before,
.elementor-nav-menu--main .elementor-sub-item.current-menu-item::before,
.elementor-nav-menu--main .elementor-sub-item.current_page_item::before {
   content: "";
   position: absolute;
   left: -18px;
   top: 50%;
   transform: translateY(-50%);
   width: 8px;
   height: 8px;
   background-color: #7A5AF2;
}

.elementor-nav-menu--main .elementor-sub-item:hover::before {
   content: "";
   position: absolute;
   left: -18px;
   top: 50%;
   transform: translateY(-50%);
   width: 8px;
   height: 8px;
   background-color: #7A5AF2;
}

.elementor-nav-menu--main .elementor-sub-item.elementor-item-active::before,
.elementor-nav-menu--main .elementor-sub-item.current-menu-item::before,
.elementor-nav-menu--main .elementor-sub-item.current_page_item::before {
   content: "";
   position: absolute;
   left: -18px;
   top: 50%;
   transform: translateY(-50%);
   width: 8px;
   height: 8px;
   background-color: #7A5AF2;
}

.elementor-nav-menu--main .elementor-sub-item:hover::before {
   content: "";
   position: absolute;
   left: -18px;
   top: 50%;
   transform: translateY(-50%);
   width: 8px;
   height: 8px;
   background-color: #7A5AF2;
}

.elementor-form-fields-wrapper .elementor-field-type-acceptance {
   margin-top: 10px;
   margin-bottom: 10px;
}

.elementor-form-fields-wrapper .elementor-field-type-acceptance label {
   color: rgba(255, 255, 255, 0.60);
   font-size: 12px !important;
}

.elementor-form-fields-wrapper .elementor-field-type-acceptance label a {
   color: #BC7CFF;
   font-size: 12px;
}

/* Ukrywamy natywny checkbox */
.elementor-field-option input[type="checkbox"] {
  opacity: 0;
  width: 20px;
  height: 20px;
  position: absolute;
  left: 0;
  top: 0;
  cursor: pointer;
}

/* Label – miejsce na fejkowy checkbox */
.elementor-field-option label {
  position: relative;
  padding-left: 28px; /* miejsce na checkbox */
  cursor: pointer;
  display: flex;
  align-items: center;
}

/* Fejkowy checkbox */
.elementor-field-option label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 16px;
  height: 16px;
  border: 1px solid #4C4B4E;
  background: transparent;
  pointer-events: none; /* kliknięcia przechodzą do labela */
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Zaznaczony stan */
.elementor-field-option input[type="checkbox"]:checked + label::before {
  content: "✔";
  font-size: 12px;
  color: #fff;
  background: #7511E2;
  border-color: #7511E2;
}

footer .copyright-text a {
   font-size: 12px;
}

@media only screen and (max-width:1024px){
   .elementor-popup-modal {
       backdrop-filter: blur(1px);
      -webkit-backdrop-filter: blur(1px);
   }

   .mobile-menu .elementor-nav-menu--dropdown .menu-item-has-children .has-submenu{
      justify-content: space-between;
   }

   .mobile-menu .elementor-nav-menu--dropdown .menu-item-has-children .sub-menu {
      padding: 20px 0px;
      border: unset;
   }

   .mobile-menu .elementor-nav-menu--dropdown .menu-item-has-children .sub-menu li a{
      font-size: 14px !important;
      font-style: normal;
      font-weight: 400;
      line-height: 150%;
   }

   .mobile-menu .elementor-nav-menu--dropdown .menu-item-has-children .elementor-sub-item:hover::before {
      content: "";
      width: 8px;
      height: 8px;
      background-color: #7A5AF2;
      margin-right: 12px;
   }

   .mobile-menu .elementor-nav-menu--dropdown .menu-item-has-children .elementor-sub-item.elementor-item-active::before,
   .mobile-menu .elementor-nav-menu--dropdown .menu-item-has-children .elementor-sub-item.current-menu-item::before,
   .mobile-menu .elementor-nav-menu--dropdown .menu-item-has-children .elementor-sub-item.current_page_item::before {
      content: "";
      width: 8px;
      height: 8px;
      background-color: #7A5AF2;
      margin-right: 12px;
   }

   .mobile-menu .elementor-nav-menu--dropdown .menu-item-has-children .elementor-sub-item:hover::before {
      content: "";
      width: 8px;
      height: 8px;
      background-color: #7A5AF2;
      margin-right: 12px;
   }
}