/* Fraztech Elementor V4.4 editor-safe shell.
   The Elementor widget is only an editing shell. The original Fraztech
   top-level element lives inside it and owns all visual/layout behavior. */
.elementor-widget-ft-v44-section,
.elementor-widget-ft-v43-section{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  min-width:0 !important;
}
.elementor-widget-ft-v44-section > :first-child,
.elementor-widget-ft-v43-section > :first-child{
  position:relative;
}
/* Prevent Elementor's generic widget spacing from changing approved section rhythm. */
.elementor-widget-ft-v44-section.elementor-element,
.elementor-widget-ft-v43-section.elementor-element{
  margin-block-end:0 !important;
}


/* V4.6 direct-element styling. These individual transform properties compose
   with the site's existing transform property instead of replacing it. */
.ft-v46-style-target{
  translate:var(--ft-v46-move-x,0px) var(--ft-v46-move-y,0px);
  scale:var(--ft-v46-scale,1);
}
.ft-v46-root{
  translate:var(--ft-v46-section-x,0px) var(--ft-v46-section-y,0px);
}

/* V4.8 nested card/container controls. Individual transform properties preserve legacy transform: rotate(...). */
.ft-v48-box-target{
  translate:var(--ft-v48-box-x,0px) var(--ft-v48-box-y,0px);
  scale:var(--ft-v48-box-scale,1);
}

/* V4.9.1 — premium liquid-glass hero frame */
.hero-visual{
  position:relative!important;
  isolation:isolate!important;
  border:4px solid transparent!important;
  outline:none!important;
  border-radius:46px 46px 112px 46px!important;
  background:
    linear-gradient(145deg,rgba(255,255,255,.20),rgba(205,255,232,.08)) padding-box,
    linear-gradient(135deg,rgba(255,255,255,.98) 0%,rgba(222,255,240,.70) 18%,rgba(138,208,177,.42) 48%,rgba(255,255,255,.78) 74%,rgba(191,247,221,.62) 100%) border-box!important;
  box-shadow:
    0 0 0 1px rgba(123,173,151,.22),
    0 0 0 8px rgba(255,255,255,.13),
    0 24px 70px rgba(18,72,56,.20),
    0 8px 24px rgba(41,114,86,.12),
    inset 0 1px 0 rgba(255,255,255,.92),
    inset 0 -1px 0 rgba(72,145,116,.18)!important;
  -webkit-backdrop-filter:blur(24px) saturate(155%)!important;
  backdrop-filter:blur(24px) saturate(155%)!important;
  transform:rotate(1.25deg)!important;
  transition:transform .35s ease,box-shadow .35s ease!important;
}
.hero-visual:hover{
  transform:rotate(.4deg) translateY(-4px)!important;
  box-shadow:
    0 0 0 1px rgba(123,173,151,.24),
    0 0 0 9px rgba(255,255,255,.16),
    0 30px 82px rgba(18,72,56,.24),
    0 10px 30px rgba(41,114,86,.15),
    inset 0 1px 0 rgba(255,255,255,.96),
    inset 0 -1px 0 rgba(72,145,116,.20)!important;
}
.hero-visual::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:4;
  pointer-events:none;
  border-radius:42px 42px 108px 42px;
  background:
    linear-gradient(115deg,rgba(255,255,255,.30) 0%,rgba(255,255,255,.08) 22%,transparent 40%,transparent 68%,rgba(183,255,223,.13) 82%,rgba(255,255,255,.24) 100%);
  mix-blend-mode:screen;
  opacity:.82;
}
.hero-visual::after{
  content:"";
  position:absolute;
  z-index:5;
  pointer-events:none;
  width:42%;
  height:24%;
  left:8%;
  top:3%;
  border-radius:999px;
  background:radial-gradient(ellipse at center,rgba(255,255,255,.32) 0%,rgba(255,255,255,.10) 42%,transparent 74%);
  filter:blur(10px);
  transform:rotate(-8deg);
  opacity:.72;
}
.hero-visual img{
  border-radius:42px 42px 108px 42px!important;
}
.hero-visual .bottom-tag{
  z-index:7!important;
  border:1px solid rgba(255,255,255,.42)!important;
  background:linear-gradient(135deg,rgba(18,61,49,.72),rgba(37,93,74,.56))!important;
  box-shadow:0 14px 34px rgba(8,42,32,.18),inset 0 1px 0 rgba(255,255,255,.26)!important;
  -webkit-backdrop-filter:blur(22px) saturate(150%)!important;
  backdrop-filter:blur(22px) saturate(150%)!important;
}
.hero-visual .top-tag{z-index:7!important;}

@media(max-width:800px){
  .hero-visual{
    border-radius:34px 34px 76px 34px!important;
    transform:none!important;
    box-shadow:0 0 0 1px rgba(123,173,151,.20),0 0 0 6px rgba(255,255,255,.12),0 18px 48px rgba(18,72,56,.18),inset 0 1px 0 rgba(255,255,255,.9)!important;
  }
  .hero-visual:hover{transform:translateY(-2px)!important;}
  .hero-visual::before,.hero-visual img{border-radius:30px 30px 72px 30px!important;}
}
@media(max-width:480px){
  .hero-visual{border-width:3px!important;border-radius:28px 28px 58px 28px!important;}
  .hero-visual::before,.hero-visual img{border-radius:25px 25px 55px 25px!important;}
}


/* V4.9.2 — centered liquid-glass secondary hero card */
.hero-visual .bottom-tag{
  left:50%!important;
  right:auto!important;
  bottom:24px!important;
  width:min(72%,430px)!important;
  max-width:calc(100% - 64px)!important;
  min-width:300px!important;
  transform:translateX(-50%) rotate(-1deg)!important;
  padding:16px 20px!important;
  border:1px solid rgba(255,255,255,.78)!important;
  border-radius:24px!important;
  color:#12372d!important;
  background:
    linear-gradient(135deg,rgba(255,255,255,.66) 0%,rgba(235,255,246,.46) 42%,rgba(212,247,232,.34) 100%)!important;
  box-shadow:
    0 14px 36px rgba(18,72,56,.18),
    0 4px 12px rgba(22,83,63,.10),
    inset 0 1px 0 rgba(255,255,255,.96),
    inset 0 -1px 0 rgba(111,174,148,.18)!important;
  -webkit-backdrop-filter:blur(28px) saturate(175%)!important;
  backdrop-filter:blur(28px) saturate(175%)!important;
  overflow:hidden!important;
}
.hero-visual .bottom-tag::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  background:linear-gradient(120deg,rgba(255,255,255,.42) 0%,rgba(255,255,255,.10) 32%,transparent 54%,rgba(174,239,208,.14) 78%,rgba(255,255,255,.26) 100%);
  mix-blend-mode:screen;
  opacity:.86;
}
.hero-visual .bottom-tag::after{
  content:"";
  position:absolute;
  width:46%;
  height:70%;
  left:-4%;
  top:-35%;
  pointer-events:none;
  border-radius:999px;
  background:radial-gradient(ellipse at center,rgba(255,255,255,.52),rgba(255,255,255,.12) 48%,transparent 72%);
  filter:blur(10px);
  transform:rotate(-10deg);
  opacity:.78;
}
.hero-visual .bottom-tag > *{position:relative;z-index:2;}
.hero-visual .bottom-tag b{color:#2e7b4f!important;font-weight:650!important;}
.hero-visual .bottom-tag .visual-star{
  color:#6ea63f!important;
  text-shadow:0 0 18px rgba(168,227,99,.28)!important;
}
.hero-visual .bottom-tag:hover{
  transform:translateX(-50%) rotate(-.3deg) translateY(-2px)!important;
  box-shadow:
    0 18px 44px rgba(18,72,56,.22),
    0 6px 16px rgba(22,83,63,.12),
    inset 0 1px 0 rgba(255,255,255,.98),
    inset 0 -1px 0 rgba(111,174,148,.20)!important;
}
@media(max-width:800px){
  .hero-visual .bottom-tag{
    width:78%!important;
    max-width:calc(100% - 42px)!important;
    min-width:0!important;
    bottom:18px!important;
    padding:14px 16px!important;
    border-radius:20px!important;
    transform:translateX(-50%)!important;
  }
  .hero-visual .bottom-tag:hover{transform:translateX(-50%) translateY(-1px)!important;}
}
@media(max-width:480px){
  .hero-visual .bottom-tag{
    width:82%!important;
    max-width:calc(100% - 28px)!important;
    bottom:14px!important;
    padding:12px 14px!important;
    border-radius:18px!important;
    font-size:14px!important;
  }
  .hero-visual .bottom-tag .visual-star{font-size:38px!important;}
}
