/* 
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 */

/* Ustawienia startowe dropdownu */
.elementor-nav-menu--dropdown {
  opacity: 0;
  transform: translateX(-20px);
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.5s ease, transform 0.5s ease;
  will-change: opacity, transform;
  background-color: #3e3937;
  border-radius: 4px;
  padding: 10px 0;
  box-shadow: 0 15px 30px rgba(0,0,0,0.25);
  position: absolute !important;
  z-index: 999;
  backface-visibility: hidden;
}

/* Pokazywanie dropdownu */
.elementor-nav-menu > li:hover > .elementor-nav-menu--dropdown {
  opacity: 1;
  transform: translateX(0);
  visibility: visible;
  pointer-events: auto;
}

/* Płynne przesuwanie podpunktu */
.elementor-nav-menu--dropdown li {
  transition: transform 0.3s ease;
}

.elementor-nav-menu--dropdown li:hover {
  transform: translateX(6px);
}

/* Styl linków z podkreśleniem */
.elementor-nav-menu--dropdown a {
  position: relative;
  display: inline-block;
  padding: 10px 20px;
  color: #fff;
  text-decoration: none;
  overflow: hidden;
}

/* Animacja podkreślenia */
.elementor-nav-menu--dropdown a::after {
  content: "";
  position: absolute;
  bottom: 8px;
  left: 20px;
  width: calc(100% - 40px);
  height: 2px;
  background-color: #fff;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s ease;
}

.elementor-nav-menu--dropdown a:hover::after {
  transform: scaleX(1);
}

/* Styl podstawowy strzałki */
.elementor-nav-menu .menu-item-has-children > a .sub-arrow svg {
  width: 0.95em;
  height: 0.95em;
  fill: #C99D3F !important;
  transition: transform 0.4s ease;
  transform: rotate(-90deg); /* domyślnie wskazuje w prawo */
}

/* Po najechaniu (lub rozwinięciu) strzałka obraca się w dół */
.elementor-nav-menu .menu-item-has-children:hover > a .sub-arrow svg,
.elementor-nav-menu .menu-item-has-children.focus > a .sub-arrow svg,
.elementor-nav-menu .menu-item-has-children.current-menu-item > a .sub-arrow svg {
  transform: rotate(0deg);
}

/* Kontener opcjonalny – jeśli chcesz pełną kontrolę centrowania */
.unic-h1-wrapper {
  text-align: left;
  width: 100%;
}

/* Główna klasa nagłówka */
.unic-h1 {
  text-transform: none;
  font-size: 80px;
  color: #f5f5f5;
  position: relative;
  display: inline-block;
  background: linear-gradient(
    to right,
    #f5f5f5 50%,
    #b88900 55%,
    #d4af37 60%,
    #f7c948 65%,
    #C99D3F 70%
  );
  background-size: 200% 100%;
  background-position: right bottom;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: goldReveal 1.5s ease forwards;
  animation-delay: 1s;
  padding: 0 10px;
  margin: 0 auto;
  text-align: left;
}

/* Linia pod tekstem */
.unic-h1::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -8px;
  height: 2px;
  width: 0%;
  background-color: #C99D3F;
  animation: underlineReveal 1.5s ease forwards;
  animation-delay: 1s;
}

/* Animacje */
@keyframes goldReveal {
  to {
    background-position: left bottom;
  }
}

@keyframes underlineReveal {
  to {
    width: 100%;
  }
}

/* Responsywność */
@media (max-width: 1200px) {
  .unic-h1 {
    font-size: 64px;
  }
}

@media (max-width: 768px) {
  .unic-h1 {
    font-size: 48px;
  }
}

@media (max-width: 480px) {
  .unic-h1 {
    font-size: 36px;
  }
}
/* koniec unic-h1 */

/* MEDIA QUERIES dla responsywności */
@media (max-width: 768px) {
  .unic-h1 {
    font-size: 48px;
  }

  .unic-h1::after {
    bottom: -6px;
  }
}

@media (max-width: 480px) {
  .unic-h1 {
    font-size: 36px;
  }

  .unic-h1::after {
    bottom: -5px;
  }
}

.unic-section {
  position: relative;
  overflow: hidden;
}

/* Pseudo-elementy jako linie */
.unic-section::before,
.unic-section::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 1px;
  background: linear-gradient(to right, #C99D3F, #F8D878, #C99D3F);
  background-size: 200% 100%;
  background-position: left;
  transform: scaleX(0);
  transition: transform 1s ease;
  z-index: 1;
}

.unic-section::before {
  top: 0;
  left: 0;
  transform-origin: left;
}

.unic-section::after {
  bottom: 0;
  right: 0;
  transform-origin: right;
}

/* Etap 1 – pojawienie się */
.unic-section.visible::before,
.unic-section.visible::after {
  transform: scaleX(1);
}

/* Etap 2 – płynne przesunięcie gradientu */
.unic-section.visible.animate-gradient::before {
  background-position: right;
  transition: background-position 1s ease;
}

.unic-section.visible.animate-gradient::after {
  background-position: left;
  transition: background-position 1s ease;
}

.elementor-icon-list-item a {
  position: relative;
  display: inline-block;
  color: inherit;
  text-decoration: none;
}

.elementor-icon-list-item a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  height: 1px;
  width: 0%;
  background-color: #c99d3f;
  transition: width 0.4s ease;
}

.elementor-icon-list-item a:hover::after {
  width: 100%;
}

/*list mob menu*/
.mob-menu-list {
  position: relative;
  display: inline-block;
  transform: translateX(100%);
  opacity: 0;
  animation: slideIn 0.8s ease-out forwards;
}

/* Podkreślenie */
.mob-menu-list::after {
  content: "";
  position: absolute;
  bottom: -3px; /* linia 3px pod elementem */
  left: 0;
  height: 1px; /* grubość podkreślenia */
  width: 0%;
  background-color: #ba964d;
  transition: width 0.6s ease-out;
  opacity: 0;
}

/* Animacja przesunięcia */
@keyframes slideIn {
  0% {
    transform: translateX(100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}

/* Każdy element z innym opóźnieniem pojawienia się i animacją linii */
.mob-menu-list:nth-of-type(1) {
  animation-delay: 0s;
}
.mob-menu-list:nth-of-type(1)::after {
  animation: underline 0.3s ease-out forwards 0.3s;
}

.mob-menu-list:nth-of-type(2) {
  animation-delay: 0.03s;
}
.mob-menu-list:nth-of-type(2)::after {
  animation: underline 0.3s ease-out forwards 0.33s;
}

.mob-menu-list:nth-of-type(3) {
  animation-delay: 0.06s;
}
.mob-menu-list:nth-of-type(3)::after {
  animation: underline 0.3s ease-out forwards 0.36s;
}

.mob-menu-list:nth-of-type(4) {
  animation-delay: 0.09s;
}
.mob-menu-list:nth-of-type(4)::after {
  animation: underline 0.3s ease-out forwards 0.39s;
}

.mob-menu-list:nth-of-type(5) {
  animation-delay: 0.12s;
}
.mob-menu-list:nth-of-type(5)::after {
  animation: underline 0.3s ease-out forwards 0.42s;
}

.mob-menu-list:nth-of-type(6) {
  animation-delay: 0.15s;
}
.mob-menu-list:nth-of-type(6)::after {
  animation: underline 0.3s ease-out forwards 0.45s;
}

.mob-menu-list:nth-of-type(7) {
  animation-delay: 0.18s;
}
.mob-menu-list:nth-of-type(7)::after {
  animation: underline 0.3s ease-out forwards 0.48s;
}

/* Animacja podkreślenia */
@keyframes underline {
  0% {
    width: 0%;
    opacity: 0;
  }
  100% {
    width: 100%;
    opacity: 1;
  }
}

/* Animacja powiększania się grafiki wewnątrz kontenera po najechaniu */
.zoom-hover-section {
    position: relative;
    overflow: hidden;
}

.zoom-hover-section::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-image: inherit;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 0;
    transition: transform 0.6s ease;
    transform: scale(1);
    will-change: transform;
}

.zoom-hover-section:hover::before {
    transform: scale(1.1);
}

.zoom-hover-section > * {
    position: relative;
    z-index: 1;
}

