.page-template-default{
  top:0 !important;
}
/* keep the header menu on one line and vertically centered */
.hfe-nav-menu {
  /* display: flex; */           /* prevent wrap to next line */
  flex-wrap: nowrap;
  align-items: center;
  gap: 16px;               /* space between items, adjust if needed */
}

/* the flags container that sits after "Reviews" */
.hfe-nav-menu .lang-switch {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-left: 4px;        /* tiny nudge away from "Reviews" */
}

/* flag buttons */
.hfe-nav-menu .lang-flag {
  display: inline-flex;
  width: 36px;             /* compact; matches your screenshot scale */
  height: 24px;
  padding: 2px;            /* room for the 2px border */
  border: 2px solid transparent;
  border-radius: 6px;
  box-sizing: border-box;
  text-decoration: none;
  line-height: 0;
}

/* the SVG flags */
.hfe-nav-menu .lang-flag svg {
  width: 100%;
  height: 100%;
  display: block;
  border-radius: 3px;
}

/* selected + hover state */
.hfe-nav-menu .lang-flag.selected { border-color: #EC9631; }
.hfe-nav-menu .lang-flag:hover,
.hfe-nav-menu .lang-flag:focus {
  border-color: #EC9631;
  outline: none;
  transition: border-color 120ms ease-in-out;
}

/* safety on smaller screens if Elementor changes layout */
@media (max-width: 1024px) {
  .hfe-nav-menu { gap: 12px; }
  .hfe-nav-menu .lang-flag { width: 32px; height: 22px; }
}
/* Centered mobile flags row (for the "flags here" container) */
.mobile-flags {
  display: flex;
  justify-content: center;   /* <-- centers horizontally */
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 4px 0;
}

/* Reuse the same flag button look */
.mobile-flags .lang-flag {
  display: inline-flex;
  width: 36px;
  height: 24px;
  padding: 2px;               /* space for 2px border */
  border: 2px solid transparent;
  border-radius: 6px;
  line-height: 0;
  text-decoration: none;
  box-sizing: border-box;
}

.mobile-flags .lang-flag svg {
  width: 100%;
  height: 100%;
  display: block;
  border-radius: 3px;
}

.mobile-flags .lang-flag.selected { border-color: #EC9631; }
.mobile-flags .lang-flag:hover,
.mobile-flags .lang-flag:focus { border-color: #EC9631; outline: none; }
/* ===== Desktop header layout: put nav + flags inline ===== */
@media (min-width:1025px){
  /* keep Elementor’s grid, but define columns and spacing explicitly */
  .elementor-element-1b7e60b{
    display:grid !important;
    grid-template-columns: auto 1fr auto auto; /* logo | hours/phone | nav | flags */
    align-items:center;
    column-gap:16px;
  }

  /* keep the nav flush right within its grid cell */
  .elementor-element-1f677a2{
    justify-self:end;
  }

  /* your flags block that sits right after the nav */
  .language-select{
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-left:10px;     /* small gap from menu */
  }
}

/* ===== Flag button look (reused on desktop + mobile) ===== */
.language-select .lang-flag,
.mobile-flags .lang-flag {
  display: inline-flex;
  width: 36px;
  height: 24px;
  padding: 2px;                 /* room for the 2px border */
  border: 2px solid transparent;
  border-radius: 6px;
  box-sizing: border-box;
  line-height: 0;
  text-decoration: none;
}
.language-select .lang-flag svg,
.mobile-flags .lang-flag svg {
  width: 100%;
  height: 100%;
  display: block;
  border-radius: 3px;
}
.language-select .lang-flag.selected,
.mobile-flags .lang-flag.selected { border-color: #EC9631; }
.language-select .lang-flag:hover,
.language-select .lang-flag:focus,
.mobile-flags .lang-flag:hover,
a.lang-flag.eng.selected { border-color: #EC9631; outline: none; }
a.lang-flag.ro.selected { border-color: #EC9631; outline: none; }

/* Video */

/* --- HERO VIDEO --- */
.hero-video {
  position: relative;
  width: 100%;
  /* lock desktop aspect similar to the old image (800x641) */
  aspect-ratio: 800 / 641;
  overflow: hidden;
  border-radius: 12px;
}

.hero-video__tag {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Big blue play button (center) */
.hero-video__play {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 140px;
  height: 140px;
  border: none;
  border-radius: 12px;
  background: rgba(34, 102, 197, 0.9);
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: transform .2s ease, opacity .2s ease;
}

.hero-video__play:hover { transform: scale(1.03); }
.hero-video__play:active { transform: scale(0.98); }

.hero-video__play-triangle {
  width: 0; height: 0;
  border-left: 42px solid #fff;
  border-top: 28px solid transparent;
  border-bottom: 28px solid transparent;
  margin-left: 6px; /* optical centering */
}

/* Sound toggle (top-right) */
.hero-video__sound {
  position: absolute;
  top: 12px; right: 12px;
  width: 46px; height: 46px;
  border: none;
  border-radius: 999px;
  background: rgba(17, 24, 39, 0.85); /* dark bg */
  display: grid;
  place-items: center;
  cursor: pointer;
  color: #fff;
  overflow: hidden;
}

/* Animated waves (visible when sound ON) */
.hero-video__sound-waves {
  position: relative;
  width: 22px; height: 18px;
  display: none;
}
.hero-video__sound-waves i {
  position: absolute;
  bottom: 0;
  width: 4px;
  height: 40%;
  background: #fff;
  border-radius: 2px;
  animation: soundPulse 0.9s infinite ease-in-out;
}
.hero-video__sound-waves i:nth-child(1) { left: 2px;  animation-delay: 0s; }
.hero-video__sound-waves i:nth-child(2) { left: 9px;  animation-delay: .15s; }
.hero-video__sound-waves i:nth-child(3) { left: 16px; animation-delay: .3s; }

@keyframes soundPulse {
  0%, 100% { height: 30%; }
  50% { height: 90%; }
}

/* “X” icon when muted */
.hero-video__sound-x {
  font-size: 22px;
  line-height: 1;
  display: block;
}

/* Toggle visibility based on state */
.hero-video--sound-on .hero-video__sound-waves { display: block; }
.hero-video--sound-on .hero-video__sound-x { display: none; }

/* Seek bar (bottom) */
.hero-video__seek {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 10px;
  background: rgba(34,102,197,0.25); /* blue track */
  cursor: pointer;
}
.hero-video__progress {
  height: 100%;
  width: 0%;
  background: #2266C5; /* solid blue progress */
}

/* Mobile: full width already; ensure nice tap targets */
@media (max-width: 767px) {
  .hero-video__play { width: 110px; height: 110px; }
  .hero-video__play-triangle { border-left-width: 34px; border-top-width: 22px; border-bottom-width: 22px; }
}
/* SOUND BUTTON — keep it perfectly centered */
.hero-video__sound {
  position: absolute;
  top: 12px; right: 12px;
  width: 46px; height: 46px;
  border: 0; border-radius: 999px;
  background: rgba(17, 24, 39, 0.85);
  display: grid;            /* exact centering */
  place-items: center;      /* exact centering */
  cursor: pointer;
  color: #fff;
  overflow: visible;        /* needed for tooltip */
}

/* Loudspeaker icon sizing */
.hero-video__icon { display:block; width:22px; height:22px; }

/* Waves default: hidden when muted */
.hero-video__icon .wave { opacity: 0; transform-origin: left center; }

/* When sound is ON, show & animate waves */
.hero-video--sound-on .hero-video__icon .wave { opacity: 1; animation: hv-wave 1.2s ease-in-out infinite; }
.hero-video--sound-on .hero-video__icon .w2 { animation-delay: .15s; }
.hero-video--sound-on .hero-video__icon .w3 { animation-delay: .30s; }

@keyframes hv-wave {
  0%, 100% { transform: scale(1);   opacity: .75; }
  50%      { transform: scale(1.07); opacity: 1;  }
}

/* Hover tooltip */
.hero-video__sound::after {
  content: attr(data-tip);
  position: absolute;
  right: 54px;                 /* bubble to the left of the circle */
  top: 50%; transform: translateY(-50%);
  background: rgba(0,0,0,.9);
  color: #fff;
  font-size: 13px;
  padding: 8px 12px;
  border-radius: 12px;
  white-space: nowrap;
  line-height: 1;
  opacity: 0;
  pointer-events: none;
  transition: opacity .15s ease, transform .15s ease;
}
.hero-video__sound:hover::after {
  opacity: 1;
  transform: translateY(-50%) translateX(-2px);
}

/* Optional: tiny arrow on bubble */
.hero-video__sound::before {
  content: "";
  position: absolute;
  right: 44px; top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 10px; height: 10px;
  background: rgba(0,0,0,.9);
  opacity: 0;
  transition: opacity .15s ease;
}
.hero-video__sound:hover::before { opacity: 1; }
/* Controls bar container */
.hero-video__controls{
  position:absolute; left:0; right:0; bottom:0;
  height:44px; display:grid; grid-template-columns:auto 56px 1fr 56px auto;
  align-items:center; gap:10px; padding:0 12px 0 10px;
  background:linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,0));
}

/* Tiny buttons */
.hv-ctrl{
  width:28px; height:28px; border:0; border-radius:8px;
  display:grid; place-items:center; background:transparent; color:#fff; cursor:pointer;
}

/* Play/Pause icon */
.hv-icon{display:block}
.hv-icon-play{
  width:0;height:0;border-left:9px solid #fff;border-top:6px solid transparent;border-bottom:6px solid transparent;
  margin-left:2px;
}
.hv-play.is-playing .hv-icon-play{
  width:12px;height:12px;border:none;margin:0;position:relative;
}
.hv-play.is-playing .hv-icon-play::before,
.hv-play.is-playing .hv-icon-play::after{
  content:""; position:absolute; top:0; bottom:0; width:4px; background:#fff; border-radius:1px;
}
.hv-play.is-playing .hv-icon-play::before{ left:0; }
.hv-play.is-playing .hv-icon-play::after{ right:0; }

/* Time labels */
.hv-time{color:#fff;font-size:13px;opacity:.95}

/* Seek track with buffer + progress + handle */
.hero-video__seek{
  position:relative; height:10px; background:rgba(34,102,197,.25);
  border-radius:999px; cursor:pointer;
}
.hero-video__buffer{
  position:absolute; left:0; top:0; bottom:0; width:0%;
  background:rgba(255,255,255,.25); border-radius:999px;
}
.hero-video__progress{
  position:absolute; left:0; top:0; bottom:0; width:0%;
  background:#2266C5; border-radius:999px;
}
.hero-video__handle{
  position:absolute; top:50%; transform:translate(-50%,-50%);
  width:14px; height:14px; background:#fff; border-radius:50%;
  box-shadow:0 2px 6px rgba(0,0,0,.25);
}

/* Tooltip from previous message still applies to .hero-video__sound */

/* Mobile touch target bump */
@media (max-width:767px){
  .hero-video__controls{height:48px}
  .hero-video__handle{width:16px;height:16px}
  .elementor-element-4e69002 {
    display: block !important;
  }
  .elementor-element.elementor-element-1cbfde2.e-con-full.price_card.e-flex.e-con.e-child, .elementor-element.elementor-element-62b623a.e-con-full.price_card.e-flex.e-con.e-child, .elementor-element.elementor-element-7fe5654.e-con-full.e-flex.e-con.e-child, .elementor-element.elementor-element-a9253b8.e-con-full.e-flex.e-con.e-child {
    margin-top: 30px;
  }
  .elementor-element.elementor-element-55dd4b8.elementor-widget__width-initial.elementor-widget.elementor-widget-text-editor {
    width: 80%;
  }
}
.title-custom{
    font-size:45px;
    font-weight:bold;
    font-family: "Manrope", Sans-serif;
    text-align: left;
}
.contact-content p{
    font-size: 20px;
    font-weight:600;
    font-family: "Manrope", Sans-serif;
    text-align: left;
}
