/*
Theme Name: De Ferro Brasil
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: Backspace Agency
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.1.2
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 */

/* =============================================
   PRELOADER — jednom po sesiji
   ============================================= */

.site-loader {
  position: fixed;
  inset: 0;
  background: #007532;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

/* Dekorativni pattern overlay */
.site-loader__overlay {
  position: absolute;
  inset: -20%;
  background-image: url('/wp-content/uploads/2026/03/overlay.svg');
  background-size: cover;
  background-position: center;
  opacity: 0.05;
  pointer-events: none;
  transform-origin: center center;
	  mix-blend-mode: multiply;

}

.site-loader__inner {
  position: relative;
  z-index: 1;
  text-align: center;
  will-change: transform;
}

.site-loader__logo {
  width: clamp(120px, 25vw, 220px);
  will-change: opacity;
}

.site-loader__logo svg {
  width: 100%;
  height: auto;
  display: block;
}

/* Scroll scale clip */
.scroll-scale-parent {
  overflow: hidden;
}



/* Scroll Emerge — clip-path umjesto overflow:hidden da nema GPU glitcha */
.scroll-emerge {
  background: transparent !important;
}

/* Background Parallax — ::before overlay na .second-section sekciji */
.second-section::before {
  background-position: center center !important;
  background-size: calc(var(--bg-scale, 1.15) * 100%) !important;
  background-attachment: scroll !important;
  transition: none !important;
}

/* Sticky header fix za Locomotive Scroll */
.elementor-location-header,
header.site-header,
#masthead {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  width: 100%;
  background: transparent !important;
  transition: background 0.4s ease, backdrop-filter 0.4s ease, box-shadow 0.4s ease;
}

/* Svi child elementi unutar headera — transparentni po defaultu */
.elementor-location-header .e-con,
.elementor-location-header .e-con-inner,
.elementor-location-header .elementor-container,
.elementor-location-header .elementor-section,
.elementor-location-header .elementor-column,
.elementor-location-header .elementor-column-wrap,
.elementor-location-header .elementor-widget-wrap {
  background: transparent !important;
  background-color: transparent !important;
}

/* Elementor Background Overlay (::before pseudo-element) — ukloni iz headera */
.elementor-location-header .e-con::before,
.elementor-location-header .e-con-inner::before,
.elementor-location-header .elementor-section::before {
  display: none !important;
}

/* Scrolled state — dark overlay samo na header elementu, djeca ostaju transparent */
.elementor-location-header.header--scrolled {
  background: rgba(0, 0, 0, 0.92) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}


/* Reveal Link — Lucky Folks stil */
/* Elementor container koji drži reveal linkove — isolation stvara stacking context
   unutar kojeg z-index: -1 na visual-u ide IZA teksta ali ISPRED pozadine */
.e-con:has(.reveal-link),
.elementor-section:has(.reveal-link) {
  isolation: isolate;
  overflow: visible !important;
}

/* Overflow visible kroz cijeli DOM chain do linka */
.elementor-widget-text-editor:has(.reveal-link),
.elementor-widget-container:has(.reveal-link),
h1:has(.reveal-link), h2:has(.reveal-link),
h3:has(.reveal-link), h4:has(.reveal-link) {
  overflow: visible !important;
}

.reveal-link {
  position: relative;
  display: inline-block;
  cursor: pointer;
  overflow: visible;
}

.reveal-link .reveal-title {
  position: relative;
  z-index: 2;
  display: inline-block;
  color: #ffffff;
  text-decoration: none;
}

/* Underline — uvijek vidljiv */
.reveal-link .reveal-title::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #FFD964;
}

/* Sakrij reveal efekat na tablet i mobile */
@media (max-width: 1023px) {
  .reveal-visual {
    display: none !important;
  }
}

/* Visual iza teksta — z-index: -1 unutar isolation stacking contexta */
.reveal-visual {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 380px;
  height: 470px;
  pointer-events: none;
  z-index: -1;
  overflow: hidden;
  opacity: 0;
}

.reveal-visual .visual__container {
  display: block;
  position: absolute;
  inset: 0;
  opacity: 0;
}

.reveal-visual .visual__container.is--visible {
  opacity: 1;
}

.reveal-visual .visual__container img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ── POPUP ANIMACIJA ─────────────────────────────────────────────────────── */
.elementor-popup-modal {
  overflow: hidden !important;
}

.elementor-popup-modal .dialog-widget-content {
  animation: popupIn 0.85s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.elementor-popup-modal .dialog-widget-content.is-closing {
  animation: popupOut 0.6s cubic-bezier(0.55, 0, 1, 0.45) both !important;
}

@keyframes popupIn {
  from { transform: translateX(100%); }
  to   { transform: translateX(0); }
}

@keyframes popupOut {
  from { transform: translateX(0); }
  to   { transform: translateX(100%); }
}

