
.sfmh{
  --sfmh-header-bg:#F8F4EE;
  --sfmh-overlay-bg:#F8F4EE;
  --sfmh-text:#232833;
  --sfmh-accent:#B5161B;
  --sfmh-menu-size:46px;
  --sfmh-glass-opacity:88%;
  --sfmh-menu-blur:20px;
  width:100%;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  position:relative;
  z-index:99990;
}
.sfmh__bar{
  width:100%;
  box-sizing:border-box;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:10px 14px;
  background:var(--sfmh-header-bg);
  border-bottom:1px solid rgba(35,40,51,.08);
}
.sfmh__logo{
  justify-self:start;
  display:flex;
  align-items:center;
  text-decoration:none!important;
  color:var(--sfmh-text)!important;
  min-width:0;
}
.sfmh__logo img{
  display:block;
  max-width:100%;
  height:auto;
}
.sfmh__logo span,
.sfmh__overlay-logo span{
  font-size:13px;
  font-weight:800;
  color:var(--sfmh-text);
  white-space:nowrap;
}
.sfmh__menu-btn{
  justify-self:center;
  appearance:none;
  -webkit-appearance:none;
  width:var(--sfmh-menu-size);
  height:var(--sfmh-menu-size);
  min-width:var(--sfmh-menu-size);
  min-height:var(--sfmh-menu-size);
  padding:0;
  border:1px solid rgba(35,40,51,.16);
  background:rgba(255,255,255,.28);
  color:var(--sfmh-text);
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font:700 12px/1 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  cursor:pointer;
  white-space:nowrap;
  box-shadow:none;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.sfmh__menu-btn:hover{
  background:rgba(255,255,255,.6);
  border-color:rgba(35,40,51,.24);
}
.sfmh__menu-btn:active{transform:scale(.97)}
.sfmh__menu-btn--icon-text{
  width:auto;
  min-width:96px;
  padding:0 15px;
}
.sfmh__menu-btn--pill{
  width:auto;
  min-width:92px;
  padding:0 18px;
  background:#fff;
  border-color:rgba(35,40,51,.16);
}
.sfmh__menu-label{display:inline-block}
.sfmh__hamb{
  width:15px;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.sfmh__hamb i{
  display:block;
  height:1.5px;
  width:100%;
  background:currentColor;
  border-radius:2px;
}
.sfmh__cta{
  justify-self:end;
  min-height:44px;
  padding:0 16px;
  border-radius:16px;
  background:var(--sfmh-accent);
  color:#fff!important;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none!important;
  font-size:12px;
  line-height:1;
  font-weight:800;
  white-space:nowrap;
  box-shadow:0 8px 24px rgba(181,22,27,.14);
}

.sfmh__overlay{
  position:fixed;
  inset:0;
  z-index:999999;
  background:var(--sfmh-overlay-bg);
  color:var(--sfmh-text);
  opacity:0;
  visibility:hidden;
  transform:translateY(-14px);
  transition:opacity .28s cubic-bezier(.2,.7,.2,1),transform .28s cubic-bezier(.2,.7,.2,1),visibility .28s;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
.sfmh.is-open .sfmh__overlay{
  opacity:1;
  visibility:visible;
  transform:none;
}
.sfmh__overlay-top{
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 18px;
  box-sizing:border-box;
  border-bottom:1px solid rgba(35,40,51,.08);
}
.sfmh__overlay-logo img{
  width:124px;
  height:auto;
  display:block;
}
.sfmh__close{
  width:46px;
  height:46px;
  border:0;
  background:rgba(35,40,51,.05);
  color:var(--sfmh-text);
  border-radius:14px;
  font:300 34px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  cursor:pointer;
}
.sfmh__overlay-inner{
  width:min(100%,540px);
  margin:0 auto;
  padding:54px 26px 34px;
  box-sizing:border-box;
}
.sfmh__eyebrow{
  font-size:10px;
  line-height:1;
  font-weight:800;
  letter-spacing:.2em;
  color:var(--sfmh-accent);
  margin-bottom:25px;
}
.sfmh__nav{
  display:flex;
  flex-direction:column;
}
.sfmh__nav a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:22px 0;
  border-bottom:1px solid rgba(35,40,51,.11);
  color:var(--sfmh-text)!important;
  text-decoration:none!important;
  font-family:"Bebas Neue",Inter,sans-serif;
  font-weight:400;
  line-height:.96;
  letter-spacing:-.01em;
}
.sfmh__nav a:first-child{border-top:1px solid rgba(35,40,51,.11)}
.sfmh__nav a b{
  font:400 24px/1 Inter,sans-serif;
  color:var(--sfmh-accent);
  transition:transform .22s ease;
}
.sfmh__nav a:active b,
.sfmh__nav a:hover b{transform:translateX(4px)}
.sfmh__overlay-cta{
  margin-top:34px;
  min-height:56px;
  padding:0 22px;
  border-radius:18px;
  background:var(--sfmh-accent);
  color:#fff!important;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none!important;
  font-size:15px;
  font-weight:800;
}
.sfmh__locations{
  margin-top:24px;
  font-size:10px;
  line-height:1.55;
  font-weight:750;
  letter-spacing:.1em;
  color:rgba(35,40,51,.58);
}

body.sfmh-lock{
  overflow:hidden!important;
  touch-action:none;
}

@media(min-width:768px){
  .sfmh:not(.sfmh--desktop){display:none!important}
}
@media(max-width:390px){
  .sfmh__bar{grid-template-columns:minmax(0,1fr) auto auto;gap:7px;padding-left:10px;padding-right:10px}
  .sfmh__menu-btn--icon-text,.sfmh__menu-btn--pill{padding-left:10px;padding-right:10px;font-size:11px}
  .sfmh__cta{padding:0 12px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){
  .sfmh__overlay{transition:none!important}
}


/* DESKTOP — osobny, czysty header */
.sfmh__desktop-bar{
  display:none;
  width:100%;
  background:var(--sfmh-header-bg);
  border-bottom:1px solid rgba(35,40,51,.08);
}
.sfmh__bar-inner{
  width:calc(100% - 48px);
  margin:0 auto;
  min-height:inherit;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:38px;
}
.sfmh__desktop-logo{
  display:flex;
  align-items:center;
  justify-self:start;
  text-decoration:none!important;
  color:var(--sfmh-text)!important;
}
.sfmh__desktop-logo img{
  display:block;
  height:auto;
  max-width:100%;
}
.sfmh__desktop-logo span{
  font-size:16px;
  font-weight:800;
  color:var(--sfmh-text);
  white-space:nowrap;
}
.sfmh__desktop-nav{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:36px;
  min-width:0;
}
.sfmh__desktop-nav a{
  position:relative;
  color:var(--sfmh-text)!important;
  text-decoration:none!important;
  font-weight:750;
  line-height:1;
  letter-spacing:.02em;
  white-space:nowrap;
  padding:15px 0;
  opacity:.82;
  transition:opacity .2s ease,color .2s ease;
}
.sfmh__desktop-nav a:after{
  content:"";
  position:absolute;
  left:50%;
  right:50%;
  bottom:8px;
  height:2px;
  border-radius:3px;
  background:var(--sfmh-accent);
  transition:left .22s ease,right .22s ease;
}
.sfmh__desktop-nav a:hover,
.sfmh__desktop-nav a:focus-visible{
  color:var(--sfmh-text)!important;
  opacity:1;
}
.sfmh__desktop-nav a:hover:after,
.sfmh__desktop-nav a:focus-visible:after{
  left:0;
  right:0;
}
.sfmh__desktop-cta{
  justify-self:end;
  min-height:46px;
  padding:0 22px;
  border-radius:14px;
  background:var(--sfmh-accent);
  color:#fff!important;
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none!important;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
  box-shadow:0 8px 24px rgba(181,22,27,.13);
  transition:transform .22s ease,box-shadow .22s ease;
}
.sfmh__desktop-cta:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 30px rgba(181,22,27,.18);
}
@media(min-width:768px){
  .sfmh__mobile-bar{display:none!important}
  .sfmh.sfmh--desktop .sfmh__desktop-bar{display:block}
  .sfmh.sfmh--desktop[data-sticky-desktop="1"] .sfmh__desktop-bar{
    position:sticky;
    top:0;
    z-index:99990;
    backdrop-filter:saturate(180%) blur(14px);
    -webkit-backdrop-filter:saturate(180%) blur(14px);
    background:color-mix(in srgb,var(--sfmh-header-bg) 92%,transparent);
  }
}
@media(min-width:768px) and (max-width:980px){
  .sfmh__bar-inner{width:calc(100% - 28px);gap:22px}
  .sfmh__desktop-nav{gap:20px}
  .sfmh__desktop-nav a{font-size:12px!important}
  .sfmh__desktop-cta{padding:0 16px;font-size:12px}
}


/* =========================
   V5 — FULL BLEED + GLASS
   ========================= */

.sfmh--full-bleed{
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
}
.sfmh--full-bleed .sfmh__mobile-bar,
.sfmh--full-bleed .sfmh__desktop-bar{
  width:100vw!important;
  max-width:none!important;
}

/* Desktop bar — zero boxed-card look */
.sfmh__desktop-bar{
  background:var(--sfmh-header-bg);
  border-bottom:1px solid rgba(35,40,51,.065);
  box-shadow:none;
}
.sfmh__bar-inner{
  width:calc(100% - 48px);
  margin:0 auto;
  padding:0;
}
.sfmh__desktop-nav a{
  opacity:.78;
  font-weight:700;
}
.sfmh__desktop-nav a:after{
  bottom:5px;
  height:1.5px;
}

/* Fullscreen overlay */
.sfmh__overlay{
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  min-height:100vh!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

.sfmh--surface-glass .sfmh__overlay{
  background:color-mix(in srgb, #F8F4EE var(--sfmh-glass-opacity), transparent)!important;
  backdrop-filter:blur(var(--sfmh-menu-blur)) saturate(150%);
  -webkit-backdrop-filter:blur(var(--sfmh-menu-blur)) saturate(150%);
}
.sfmh--surface-cream .sfmh__overlay{
  background:#F8F4EE!important;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.sfmh--surface-white .sfmh__overlay{
  background:#FFFDFC!important;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.sfmh--surface-dark .sfmh__overlay{
  --sfmh-text:#FFFDFC;
  background:rgba(35,40,51,.96)!important;
  color:#FFFDFC;
}

.sfmh__overlay-top{
  min-height:82px;
  padding:0 22px;
  border-bottom:0!important;
  background:transparent!important;
}
.sfmh__overlay-logo img{
  width:126px;
}
.sfmh__overlay-inner{
  width:min(100%,640px);
  min-height:calc(100dvh - 82px);
  margin:0 auto;
  padding:42px 28px 32px;
  display:flex;
  flex-direction:column;
  box-sizing:border-box;
  background:transparent!important;
}
.sfmh--menu-center .sfmh__overlay-inner{
  justify-content:center;
  padding-top:18px;
  padding-bottom:30px;
}
.sfmh--menu-top .sfmh__overlay-inner{
  justify-content:flex-start;
}

.sfmh__eyebrow{
  margin-bottom:28px;
  font-size:9px;
  letter-spacing:.22em;
  opacity:.9;
}

/* Nav — no cards, no blocks */
.sfmh__nav{
  width:100%;
}
.sfmh__nav a{
  min-height:72px;
  padding:14px 2px;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--sfmh-text)!important;
  transition:opacity .2s ease,transform .22s ease;
}
.sfmh__nav a:first-child{border-top:0!important}
.sfmh--dividers .sfmh__nav a{
  border-bottom:1px solid rgba(35,40,51,.10)!important;
}
.sfmh--dividers .sfmh__nav a:first-child{
  border-top:1px solid rgba(35,40,51,.10)!important;
}
.sfmh__nav a:hover{
  opacity:.68;
  transform:translateX(3px);
}
.sfmh__nav a b{
  font-size:20px;
  font-weight:400;
  color:var(--sfmh-accent);
}

/* CTA in overlay — still strong but not giant */
.sfmh__overlay-cta{
  min-height:52px;
  margin-top:30px;
  border-radius:16px;
  box-shadow:0 10px 28px rgba(181,22,27,.12);
}

/* Locations */
.sfmh__locations{
  margin-top:22px;
  font-size:9px;
  line-height:1.55;
  letter-spacing:.12em;
  opacity:.68;
}

/* X — tiny Apple-like, no red square */
.sfmh__close{
  position:relative;
  width:42px;
  height:42px;
  flex:0 0 42px;
  padding:0;
  border:0!important;
  border-radius:999px;
  background:transparent!important;
  color:var(--sfmh-text)!important;
  box-shadow:none!important;
}
.sfmh__close span{
  position:absolute;
  left:50%;
  top:50%;
  width:19px;
  height:1.6px;
  background:currentColor;
  border-radius:2px;
  transform-origin:center;
}
.sfmh__close span:first-child{transform:translate(-50%,-50%) rotate(45deg)}
.sfmh__close span:last-child{transform:translate(-50%,-50%) rotate(-45deg)}
.sfmh__close:hover{
  background:rgba(35,40,51,.055)!important;
}
.sfmh--close-soft .sfmh__close{
  background:rgba(255,255,255,.48)!important;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(35,40,51,.08)!important;
}
.sfmh--surface-dark .sfmh__close:hover{
  background:rgba(255,255,255,.07)!important;
}

/* Mobile bar — make it one clean strip */
.sfmh__mobile-bar{
  width:100%;
  background:var(--sfmh-header-bg);
}
.sfmh__bar{
  border-bottom:1px solid rgba(35,40,51,.065);
  box-shadow:none!important;
}

/* Prevent Elementor wrapper from visually boxing the widget */
.elementor-widget-sf-mobile-header,
.elementor-widget-sf-mobile-header > .elementor-widget-container{
  max-width:none!important;
  overflow:visible!important;
}

@media(max-width:767px){
  .sfmh__overlay-inner{
    width:100%;
    min-height:calc(100dvh - 76px);
    padding-left:22px;
    padding-right:22px;
  }
  .sfmh--menu-center .sfmh__overlay-inner{
    justify-content:center;
    padding-top:8px;
  }
  .sfmh__nav a{
    min-height:68px;
  }
  .sfmh__overlay-top{
    min-height:76px;
    padding-left:16px;
    padding-right:16px;
  }
  .sfmh__close{
    width:40px;
    height:40px;
    flex-basis:40px;
  }
}


/* =========================
   V6 — CLEAN MOBILE HEADER
   ========================= */

/* Remove "widget bar" look completely */
.sfmh,
.sfmh__mobile-bar,
.sfmh__bar{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

/* Clean compact mobile strip */
.sfmh__bar{
  min-height:68px!important;
  padding:8px 14px!important;
  grid-template-columns:minmax(0,1fr) 42px auto!important;
  gap:10px!important;
}

/* Logo */
.sfmh__logo img{
  width:118px!important;
  max-width:118px!important;
}

/* MENU = only hamburger, no red/white pill no matter what global theme styles do */
.sfmh__menu-btn,
.sfmh__menu-btn--icon,
.sfmh__menu-btn--icon-text,
.sfmh__menu-btn--pill{
  width:42px!important;
  min-width:42px!important;
  height:42px!important;
  min-height:42px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:999px!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  color:#232833!important;
  box-shadow:none!important;
  outline:0!important;
}
.sfmh__menu-btn:hover,
.sfmh__menu-btn:focus,
.sfmh__menu-btn:active{
  background:rgba(35,40,51,.045)!important;
  background-color:rgba(35,40,51,.045)!important;
  color:#232833!important;
  border:0!important;
  box-shadow:none!important;
}
.sfmh__menu-label{
  display:none!important;
}
.sfmh__hamb{
  width:18px!important;
  gap:4px!important;
}
.sfmh__hamb i{
  height:1.6px!important;
  background:#232833!important;
}

/* CTA stays the only red object */
.sfmh__cta{
  min-height:42px!important;
  padding:0 14px!important;
  border-radius:14px!important;
  background:#B5161B!important;
  background-color:#B5161B!important;
  color:#fff!important;
  border:0!important;
  box-shadow:none!important;
  font-size:11px!important;
}

/* Fullscreen menu top has no white strip */
.sfmh__overlay-top{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

/* Overlay stays clean glass */
.sfmh--surface-glass .sfmh__overlay{
  background:color-mix(in srgb,#F8F4EE 86%,transparent)!important;
  backdrop-filter:blur(20px) saturate(145%)!important;
  -webkit-backdrop-filter:blur(20px) saturate(145%)!important;
}

/* X minimal and transparent */
.sfmh__close,
.sfmh--close-minimal .sfmh__close{
  width:40px!important;
  height:40px!important;
  flex-basis:40px!important;
  background:transparent!important;
  background-color:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.sfmh__close:hover{
  background:rgba(35,40,51,.045)!important;
}

/* No unnecessary top/bottom lines in nav by default */
.sfmh:not(.sfmh--dividers) .sfmh__nav a{
  border:0!important;
}

/* Desktop: also remove boxed white strip effect */
.sfmh__desktop-bar{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.sfmh__bar-inner{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

@media(max-width:767px){
  .sfmh--full-bleed{
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
  }
}


/* ===================================================
   V7 STABLE — editable mobile / desktop / fullscreen
   =================================================== */
.sfmh{
  --sfmh-mobile-bg:#F8F4EE;
  --sfmh-mobile-border:rgba(35,40,51,.08);
  --sfmh-mobile-height:72px;
  --sfmh-mobile-pad:14px;
  --sfmh-mobile-logo:118px;
  --sfmh-hamburger:#232833;
  --sfmh-hamburger-bg:rgba(255,255,255,0);
  --sfmh-mobile-cta-bg:#B5161B;
  --sfmh-mobile-cta-text:#fff;
  --sfmh-mobile-cta-radius:14px;

  --sfmh-desktop-bg:#F8F4EE;
  --sfmh-desktop-text:#232833;
  --sfmh-desktop-cta-bg:#B5161B;
  --sfmh-desktop-cta-text:#fff;

  --sfmh-overlay-bg-v7:rgba(248,244,238,.92);
  --sfmh-overlay-text-v7:#232833;
  --sfmh-overlay-accent-v7:#B5161B;
  --sfmh-overlay-blur-v7:18px;
  --sfmh-close-v7:#232833;
  --sfmh-close-bg-v7:rgba(255,255,255,0);
}

/* MOBILE: entire strip owns one background */
.sfmh__mobile-bar,
.sfmh__bar{
  background:var(--sfmh-mobile-bg)!important;
}
.sfmh__mobile-bar{
  width:100%!important;
}
.sfmh__bar{
  min-height:var(--sfmh-mobile-height)!important;
  padding:8px var(--sfmh-mobile-pad)!important;
  border:0!important;
  box-shadow:none!important;
}
.sfmh--mobile-border .sfmh__bar{
  border-bottom:1px solid var(--sfmh-mobile-border)!important;
}
.sfmh__logo img{
  width:var(--sfmh-mobile-logo)!important;
  max-width:var(--sfmh-mobile-logo)!important;
}
.sfmh__menu-btn,
.sfmh__menu-btn--icon,
.sfmh__menu-btn--icon-text,
.sfmh__menu-btn--pill{
  background:var(--sfmh-hamburger-bg)!important;
  color:var(--sfmh-hamburger)!important;
  border:0!important;
  box-shadow:none!important;
}
.sfmh__hamb i{
  background:var(--sfmh-hamburger)!important;
}
.sfmh__cta{
  background:var(--sfmh-mobile-cta-bg)!important;
  color:var(--sfmh-mobile-cta-text)!important;
  border-radius:var(--sfmh-mobile-cta-radius)!important;
}

/* DESKTOP: one editable background */
.sfmh__desktop-bar{
  background:var(--sfmh-desktop-bg)!important;
  border:0!important;
  box-shadow:none!important;
}
.sfmh__bar-inner{
  background:transparent!important;
}
.sfmh__desktop-nav a,
.sfmh__desktop-logo,
.sfmh__desktop-logo span{
  color:var(--sfmh-desktop-text)!important;
}
.sfmh__desktop-cta{
  background:var(--sfmh-desktop-cta-bg)!important;
  color:var(--sfmh-desktop-cta-text)!important;
}

/* FULLSCREEN: rgba color + blur, cheaper and more predictable than color-mix */
.sfmh__overlay,
.sfmh--surface-glass .sfmh__overlay,
.sfmh--surface-cream .sfmh__overlay,
.sfmh--surface-white .sfmh__overlay,
.sfmh--surface-dark .sfmh__overlay{
  background:var(--sfmh-overlay-bg-v7)!important;
  color:var(--sfmh-overlay-text-v7)!important;
  backdrop-filter:blur(var(--sfmh-overlay-blur-v7)) saturate(135%)!important;
  -webkit-backdrop-filter:blur(var(--sfmh-overlay-blur-v7)) saturate(135%)!important;
}
.sfmh__nav a{
  color:var(--sfmh-overlay-text-v7)!important;
}
.sfmh__nav a b,
.sfmh__eyebrow{
  color:var(--sfmh-overlay-accent-v7)!important;
}
.sfmh__close{
  color:var(--sfmh-close-v7)!important;
  background:var(--sfmh-close-bg-v7)!important;
}

/* Editor stability:
   in Elementor editor do NOT use viewport breakout.
   Frontend still uses full bleed. */
body.elementor-editor-active .sfmh--full-bleed,
.elementor-editor-active .sfmh--full-bleed{
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}
body.elementor-editor-active .sfmh--full-bleed .sfmh__mobile-bar,
body.elementor-editor-active .sfmh--full-bleed .sfmh__desktop-bar,
.elementor-editor-active .sfmh--full-bleed .sfmh__mobile-bar,
.elementor-editor-active .sfmh--full-bleed .sfmh__desktop-bar{
  width:100%!important;
  max-width:100%!important;
}

/* Also keep editor preview overlay inside viewport cleanly. */
body.elementor-editor-active .sfmh__overlay,
.elementor-editor-active .sfmh__overlay{
  max-width:100vw!important;
  overflow-x:hidden!important;
}

/* Avoid transitions while Elementor is actively editing controls */
body.elementor-editor-active .sfmh *,
.elementor-editor-active .sfmh *{
  transition-duration:.12s!important;
}


/* ==========================================
   V8 — ELEMENTOR POPUP MOBILE FIX
   only when opened from SF Mobile Header
   ========================================== */
.sfmh{
  --sfmh-popup-gap:12px;
  --sfmh-popup-radius:24px;
  --sfmh-popup-overlay:rgba(35,40,51,.52);
  --sfmh-popup-blur:8px;
}

/* Header must never sit above an Elementor popup */
html.sfmh-elementor-popup-open .sfmh,
body.sfmh-elementor-popup-open .sfmh{
  z-index:1!important;
}

/* Popup overlay above absolutely everything */
body.sfmh-elementor-popup-open .elementor-popup-modal.sfmh-popup-premium-modal{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  min-height:100vh!important;
  z-index:2147483000!important;
  background:var(--sfmh-popup-overlay, rgba(35,40,51,.52))!important;
  backdrop-filter:blur(var(--sfmh-popup-blur, 8px));
  -webkit-backdrop-filter:blur(var(--sfmh-popup-blur, 8px));
  padding:var(--sfmh-popup-gap,12px)!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

/* Elementor dialog itself */
body.sfmh-elementor-popup-open .elementor-popup-modal.sfmh-popup-premium-modal .dialog-widget-content{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  transform:none!important;
  width:min(100%, 520px)!important;
  max-width:calc(100vw - (var(--sfmh-popup-gap,12px) * 2))!important;
  max-height:calc(100dvh - (var(--sfmh-popup-gap,12px) * 2))!important;
  margin:0!important;
  border-radius:var(--sfmh-popup-radius,24px)!important;
  overflow:hidden!important;
  box-shadow:0 28px 90px rgba(15,23,42,.28)!important;
}

/* Keep the old popup content, just make it scroll properly */
body.sfmh-elementor-popup-open .elementor-popup-modal.sfmh-popup-premium-modal .dialog-message{
  max-height:calc(100dvh - (var(--sfmh-popup-gap,12px) * 2))!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch;
  border-radius:inherit!important;
}

/* Minimal close button instead of old tiny browser-looking X */
body.sfmh-elementor-popup-open .elementor-popup-modal.sfmh-popup-premium-modal .dialog-close-button{
  position:absolute!important;
  top:12px!important;
  right:12px!important;
  width:40px!important;
  height:40px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.82)!important;
  color:#232833!important;
  border:1px solid rgba(35,40,51,.08)!important;
  box-shadow:0 8px 22px rgba(15,23,42,.08)!important;
  z-index:99!important;
  opacity:1!important;
  font-size:18px!important;
  line-height:1!important;
}

/* Lock page behind popup */
html.sfmh-elementor-popup-open,
body.sfmh-elementor-popup-open{
  overflow:hidden!important;
}

/* Elementor editor: don't force modal layout unless popup is actually triggered */
body.elementor-editor-active:not(.sfmh-elementor-popup-open) .elementor-popup-modal,
.elementor-editor-active:not(.sfmh-elementor-popup-open) .elementor-popup-modal{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

@media(max-width:767px){
  body.sfmh-elementor-popup-open .elementor-popup-modal.sfmh-popup-premium-modal{
    padding:10px!important;
  }
  body.sfmh-elementor-popup-open .elementor-popup-modal.sfmh-popup-premium-modal .dialog-widget-content{
    width:100%!important;
    max-width:calc(100vw - 20px)!important;
    max-height:calc(100dvh - 20px)!important;
    border-radius:22px!important;
  }
  body.sfmh-elementor-popup-open .elementor-popup-modal.sfmh-popup-premium-modal .dialog-message{
    max-height:calc(100dvh - 20px)!important;
  }
}
