.elementor-kit-4{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-4 e-page-transition{background-color:#FFBC7D;}.elementor-widget:not(:last-child){margin-block-end:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Ensuring html and body take full height, no scrollbars at the page level */
html, body {
    height: auto !important;
    overflow: visible !important;
    margin: 0;
    padding: 0;
}

body.home {
    height: 100%;
    overflow: hidden;
}

body.page-id-19 {
    overflow: visible !important;
    height: auto !important;
}

/* Scroll container with no visible scrollbars on desktop */
.scroll-container {
    display: flex;
    flex-direction: column;  /* Stack containers vertically */
    width: 100vw;            /* Full width of viewport */
    height: 100vh;           /* Full height of viewport */
    overflow: hidden;        /* Prevent scrollbars from appearing */
    scroll-snap-type: y mandatory;
    scroll-padding-top: 0px;
    scroll-behavior: smooth;
    position: relative;      /* Ensure it stays in place */
    margin: 0;               /* Remove any default margin */
    padding: 0;              /* Remove any default padding */
}

/* Containers inside the scroll container (each image) */
.scroll-container > div {
    width: 100vw;            /* Ensure each container takes full width of viewport */
    height: 100vh;           /* Each container takes full viewport height */
    flex-shrink: 0;          /* Prevent flex shrinking */
    scroll-snap-align: start;
    margin: 0;               /* Remove any default margin */
    padding: 0;              /* Remove any default padding */
}

@media (max-width: 767px) {
     .scroll-container {
        display: block !important;  /* Force block layout */
        width: 100vw;
        height: 100vh;
        overflow-x: hidden;
        overflow-y: scroll !important;  /* Enable vertical scrolling */
        scroll-snap-type: y mandatory;
        -webkit-overflow-scrolling: touch; /* Smooth scrolling for iOS */
    }

    .scroll-container > div {
        width: 100vw;  /* Full width */
        height: 100vh;  /* Full height */
        scroll-snap-align: start;
    }

    /* Hide scrollbar for cleaner look */
    .scroll-container::-webkit-scrollbar {
        display: none;
    }
    .scroll-container {
        scrollbar-width: none;
        -ms-overflow-style: none;
    }
    
    .elementor-nav-menu {
        display: none; /* Hide the menu */
    }
    .menu-toggle {
        display: block; /* Show the hamburger icon */
        cursor: pointer;
        font-size: 28px;
        position: absolute;
        right: 20px;
        top: 20px;
        z-index: 1000; /* Ensure the button is on top */
    }
}

/* ===== HEADER FIX + MOBILE VISIBILITY ===== */
.site-header {
  position: fixed !important;
  top: 0; left: 0; right: 0;
  width: 100%;
  z-index: 99999 !important;
  background: transparent;
}

/* Dropdown vizibil peste containerele full-screen */
@media (max-width: 1025px) {
  .site-header .elementor-menu-toggle,
  .site-header .elementor-nav-menu__container,
  .site-header .elementor-nav-menu--dropdown {
    position: relative !important;
    z-index: 100000 !important;
  }
}

/* Previne ca secțiunile 100vh să taie meniul */
body .e-con[style*="overflow: hidden"],
body .elementor-section[style*="overflow: hidden"] {
  overflow: visible !important;
}

/* Header fix și ancoră pentru dropdown */
.hdr{
  position: fixed !important;
  top:0; left:0; right:0;
  z-index:99999 !important;
  display:flex;                 /* ține logo + buton pe aceeași linie */
  align-items:center;
  justify-content:space-between;
}

/* Nu lăsa headerul să se rescaleze când se deschide meniul */
@media (max-width:1025px){
    /* 1. Definirea Panoului de Meniu (Dropdown) */
    .hdr .elementor-nav-menu--dropdown{
        position: fixed !important; /* Fixed position pentru a acoperi tot viewport-ul */
        top: 0 !important;          /* Start de sus */
        right: 0 !important;        /* Start din dreapta */
        left: auto !important;      /* Asigură că nu se extinde la stânga */
        
        /* Setăm dimensiunile: 100% înălțime, lățime definită */
        height: 100vh !important;   /* Ocupă toată înălțimea ecranului */
        width: 300px !important;    /* Lățimea panoului (alege o valoare fixă sau o lățime vw) */
        max-width: 90vw !important; /* Limitează la 90% din lățimea viewport-ului */

        /* Adăugăm padding intern pentru a împinge conținutul sub butonul Close */
        /*padding-top: 50px !important;*/
        padding: 170px 20px 20px 20px !important;
        
        background-color: rgba(255, 255, 255, 0.7) !important;
        z-index: 100000 !important;
    }
    
    /* 2. Alinierea Textului Meniului la Dreapta */
    .hdr .elementor-nav-menu--dropdown .elementor-nav-menu__container {
        /* Păstrează display: flex, flex-direction: column, align-items: flex-end */
        display: flex;
        flex-direction: column;
        align-items: flex-end; /* Asigură că lista se aliniază la dreapta */
        width: 100%;
        padding-right: 20px !important; /* Spațiu la dreapta containerului, sub butonul X */
        padding-left: 60px !important;  /* Mărim spațiul din stânga pentru a depărta de marginea panoului */
    }

    /* 2. Neutralizarea stării Hover (la atingere/mouse-over) */
    .hdr .elementor-nav-menu--dropdown a.elementor-item:hover {
        color: #333333 !important;      /* Aplicăm aceeași culoare de bază */
        background-color: transparent !important; /* Eliminăm orice fundal la hover */
    }

    /* 3. Neutralizarea stării Active (pentru pagina curentă) */
    .hdr .elementor-nav-menu--dropdown a.elementor-item.elementor-item-active {
        color: #333333 !important;      /* Aplicăm aceeași culoare de bază */
        background-color: transparent !important; /* Eliminăm orice fundal */
    }

    /* 3. Aliniază fiecare element individual (link) la dreapta */
    .hdr .elementor-nav-menu--dropdown a.elementor-item {
        text-align: right !important;   /* Păstrează alinierea textului la dreapta */
        font-size: 22px !important;     /* Mărim font-ul (poți ajusta valoarea) */
        padding: 18px 0 !important;     /* Spațiu vertical (sus/jos) între elemente */
        color: #333333 !important;      /* Culoarea textului (dacă vrei să o schimbi) */
        width: 100%;                    /* Asigură că link-ul ocupă toată lățimea disponibilă */
    }

    /* 4. Asigură-te că elementele din header sunt deasupra panoului */
    .hdr .elementor-menu-toggle{ z-index:100001 !important; }
    .hdr .elementor-widget-container{ z-index:100001 !important; }
}

.portfolio-item {
  overflow: hidden;
  position: relative;
}

.portfolio-item::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: inherit;
  background-size: cover;
  background-position: center;
  transition: transform 0.6s ease;
  transform: scale(1);
  z-index: 0;
}

.portfolio-item:hover::after {
  transform: scale(1.1);
}

/* Overlay de intunecare */
.portfolio-item::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0);
  transition: background 0.6s ease;
  z-index: 1;
}

.portfolio-item:hover::before {
  background: rgba(0, 0, 0, 0.5);
}

/* Titlul */
.portfolio-title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  font-size: 1.5rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  opacity: 0;
  transition: opacity 0.6s ease;
  z-index: 2;
  text-align: center;
  white-space: nowrap;
}

.portfolio-item:hover .portfolio-title {
  opacity: 1;
}

.portfolio-item > * {
  position: relative;
  z-index: 2;
}

.portfolio-item.intro-animate::after {
  animation: introZoomOut 3.5s ease forwards;
  transform: scale(1.3);
}

.portfolio-item.intro-animate:nth-child(1)::after { animation-delay: 0s; }
.portfolio-item.intro-animate:nth-child(2)::after { animation-delay: 0.2s; }
.portfolio-item.intro-animate:nth-child(3)::after { animation-delay: 0.4s; }
.portfolio-item.intro-animate:nth-child(4)::after { animation-delay: 0.6s; }
.portfolio-item.intro-animate:nth-child(5)::after { animation-delay: 0.8s; }
.portfolio-item.intro-animate:nth-child(6)::after { animation-delay: 1s; }

@keyframes introZoomOut {
  from { transform: scale(1.3); }
  to { transform: scale(1); }
}

.portfolio-item.intro-reset::after {
  animation: none;
  transform: scale(1);
  transition: transform 0.6s ease;
}/* End custom CSS */