/* static overrides */
html, body { overflow-x: clip; }
.go-top, .scroll-top { display: none !important; }
e-page-transition, .e-page-transition, .elementor-page-transition { display: none !important; opacity: 0 !important; pointer-events: none !important; }
.elementor-invisible { visibility: visible !important; opacity: 1 !important; }
.sf-fab-wa { display: none; }
@media (max-width: 768px) {
  .sf-fab-wa { display: inline-flex; align-items: center; justify-content: center; position: fixed; right: 16px; bottom: 20px; width: 58px; height: 58px; background: #25D366; color: #fff; border-radius: 50%; z-index: 9998; box-shadow: 0 6px 18px rgba(37,211,102,0.45), 0 2px 6px rgba(0,0,0,0.15); text-decoration: none; animation: sf-pulse 2.4s ease-in-out infinite; }
  .sf-fab-wa svg { width: 28px; height: 28px; fill: #fff; }
  body * { max-width: 100vw; }
  img, video, iframe { max-width: 100% !important; }
}
@keyframes sf-pulse { 0%,100%{transform:scale(1);} 50%{transform:scale(1.06);} }

/* Language switcher — clean, circular, matches header icons */
.nop-lang-switcher { position: relative; display: inline-flex; margin: 0 6px; vertical-align: middle; }

/* Hide header switcher on mobile — use menu version instead */
@media (max-width: 1023px) {
  .oxy-header-container .nop-lang-switcher,
  header .nop-lang-switcher { display: none !important; }
}
/* Language items appended as menu <li> */
.oxy-pro-menu-list .nop-lang-divider {
  margin-top: 18px !important;
  padding-top: 16px !important;
  border-top: 1px solid rgba(255,255,255,0.2) !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.6) !important;
}
.oxy-pro-menu-list .nop-lang-divider span {
  display: block; padding: 0 4px;
}
.oxy-pro-menu-list .nop-lang-li { list-style: none !important; }
.oxy-pro-menu-list .nop-lang-li a.nop-lang-opt {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 10px 14px !important;
  margin: 4px 0 !important;
  border-radius: 8px !important;
  background: rgba(255,255,255,0.1) !important;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 600 !important; font-size: 15px !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  white-space: nowrap !important;
}
.oxy-pro-menu-list .nop-lang-li a.nop-lang-opt.nop-lang-active {
  background: #fff !important; color: #c2410c !important; border-color: #fff !important;
}
.oxy-pro-menu-list .nop-lang-li a.nop-lang-opt .nop-lang-flag { font-size: 22px !important; line-height: 1; }
@media (min-width: 1024px) {
  .oxy-pro-menu-list .nop-lang-li { display: none !important; }
}

.nop-lang-toggle {
  display: inline-flex; align-items: center; justify-content: center; gap: 4px;
  width: 44px; height: 44px;
  padding: 0;
  background: rgba(255,255,255,0.18); color: #fff;
  border: 0; border-radius: 50%;
  cursor: pointer; font: inherit;
  transition: background .15s, transform .15s;
}
.nop-lang-toggle:hover, .nop-lang-open 
/* Hide header switcher on mobile — use menu version instead */
@media (max-width: 1023px) {
  .oxy-header-container .nop-lang-switcher,
  header .nop-lang-switcher { display: none !important; }
}
/* Language items appended as menu <li> */
.oxy-pro-menu-list .nop-lang-divider {
  margin-top: 18px !important;
  padding-top: 16px !important;
  border-top: 1px solid rgba(255,255,255,0.2) !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.6) !important;
}
.oxy-pro-menu-list .nop-lang-divider span {
  display: block; padding: 0 4px;
}
.oxy-pro-menu-list .nop-lang-li { list-style: none !important; }
.oxy-pro-menu-list .nop-lang-li a.nop-lang-opt {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 10px 14px !important;
  margin: 4px 0 !important;
  border-radius: 8px !important;
  background: rgba(255,255,255,0.1) !important;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 600 !important; font-size: 15px !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  white-space: nowrap !important;
}
.oxy-pro-menu-list .nop-lang-li a.nop-lang-opt.nop-lang-active {
  background: #fff !important; color: #c2410c !important; border-color: #fff !important;
}
.oxy-pro-menu-list .nop-lang-li a.nop-lang-opt .nop-lang-flag { font-size: 22px !important; line-height: 1; }
@media (min-width: 1024px) {
  .oxy-pro-menu-list .nop-lang-li { display: none !important; }
}

.nop-lang-toggle {
  background: rgba(255,255,255,0.32); transform: scale(1.04);
}
.nop-lang-toggle .nop-lang-flag { display: inline-block; font-size: 22px; line-height: 1; }
.nop-lang-toggle .nop-lang-code { display: none; }
.nop-lang-caret { display: none; }
.nop-lang-toggle::before {
  content: "";
  position: absolute;
  width: 20px; height: 20px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'><path d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z'/></svg>");
  background-size: contain; background-repeat: no-repeat;
  opacity: 0.35; pointer-events: none;
  top: -2px; right: -2px;
  display: none;
}
.nop-lang-menu {
  position: absolute; top: calc(100% + 8px); right: 0;
  list-style: none; margin: 0; padding: 6px;
  background: #fff; color: #2d2d2d;
  border: 0; border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.22), 0 2px 6px rgba(0,0,0,0.1);
  min-width: 200px; z-index: 10000;
  display: none;
  animation: nop-lang-in .15s ease-out;
}
.nop-lang-open .nop-lang-menu { display: block; }
@keyframes nop-lang-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.nop-lang-menu li { list-style: none; margin: 0; padding: 0; }
.nop-lang-opt {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 14px; border-radius: 8px;
  text-decoration: none !important; color: #2d2d2d;
  font-size: 15px; font-weight: 500;
  transition: background .12s;
}
.nop-lang-opt:hover { background: #f3f4f6; color: #2d2d2d; }
.nop-lang-opt.nop-lang-active { background: #fef3e0; color: #c2410c; font-weight: 700; }
.nop-lang-opt .nop-lang-flag { font-size: 22px; line-height: 1; }
@media (max-width: 768px) {
  
/* Hide header switcher on mobile — use menu version instead */
@media (max-width: 1023px) {
  .oxy-header-container .nop-lang-switcher,
  header .nop-lang-switcher { display: none !important; }
}
/* Language items appended as menu <li> */
.oxy-pro-menu-list .nop-lang-divider {
  margin-top: 18px !important;
  padding-top: 16px !important;
  border-top: 1px solid rgba(255,255,255,0.2) !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.6) !important;
}
.oxy-pro-menu-list .nop-lang-divider span {
  display: block; padding: 0 4px;
}
.oxy-pro-menu-list .nop-lang-li { list-style: none !important; }
.oxy-pro-menu-list .nop-lang-li a.nop-lang-opt {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 10px 14px !important;
  margin: 4px 0 !important;
  border-radius: 8px !important;
  background: rgba(255,255,255,0.1) !important;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 600 !important; font-size: 15px !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  white-space: nowrap !important;
}
.oxy-pro-menu-list .nop-lang-li a.nop-lang-opt.nop-lang-active {
  background: #fff !important; color: #c2410c !important; border-color: #fff !important;
}
.oxy-pro-menu-list .nop-lang-li a.nop-lang-opt .nop-lang-flag { font-size: 22px !important; line-height: 1; }
@media (min-width: 1024px) {
  .oxy-pro-menu-list .nop-lang-li { display: none !important; }
}

.nop-lang-toggle { width: 42px; height: 42px; }
  .nop-lang-menu { min-width: 180px; }
}

.nop-flag-svg { display: inline-block; vertical-align: middle; border-radius: 2px; box-shadow: 0 0 0 1px rgba(0,0,0,0.08); }
.nop-lang-toggle .nop-flag-svg { width: 24px; height: 18px; }
.nop-lang-opt .nop-flag-svg { width: 22px; height: 16px; }
.oxy-pro-menu-list .nop-lang-li a.nop-lang-opt .nop-flag-svg { width: 22px; height: 16px; }
