/* Nordic Spark 5.10: targeted responsive repairs.
 * Intentionally loaded after Wix/source and Elementor bridge CSS.
 * Applies ONLY inside ENS widgets; does not modify Elementor globally.
 */

/* 1. A true centered hamburger/X that ignores default Elementor button styles.
   Keep the actual button + ARIA intact for keyboard and screen-reader use. */
.ens4-widget.ens4-navbar .mobile-site .m-menu-toggle,
.ens4-widget.ens4-navbar .mobile-site .m-menu-toggle:is(:hover,:focus,:active) {
  appearance:none;
  -webkit-appearance:none;
  position:relative;
  display:flex;
  flex:0 0 46px;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  width:46px;
  height:44px;
  min-width:46px;
  min-height:44px;
  padding:0;
  margin:0;
  border:0;
  border-radius:5px;
  background-color:#082b4d;
  color:#fff;
  box-shadow:none;
  text-decoration:none;
  cursor:pointer;
  transform:none;
  line-height:1;
  font-size:0;
  background-image:none;
  transition:background-color .2s ease;
}
.ens4-widget.ens4-navbar .mobile-site .m-menu-toggle:is(:focus-visible){outline:2px solid #5aa9ec;outline-offset:3px}
.ens4-widget.ens4-navbar .mobile-site .m-menu-toggle>span {display:none!important}
.ens4-widget.ens4-navbar .mobile-site .m-menu-toggle::before,
.ens4-widget.ens4-navbar .mobile-site .m-menu-toggle::after {
  content:"";
  position:absolute;
  display:block;
  box-sizing:border-box;
  width:23px;
  height:2.5px;
  top:calc(50% - 1.25px);
  left:calc(50% - 11.5px);
  border:0;
  border-radius:2px;
  background:currentColor;
  opacity:1;
  transform-origin:center;
  pointer-events:none;
  transition:transform .25s ease;
}
.ens4-widget.ens4-navbar .mobile-site .m-menu-toggle[aria-expanded="false"]::before {transform:translateY(-6px)}
.ens4-widget.ens4-navbar .mobile-site .m-menu-toggle[aria-expanded="false"]::after {transform:translateY(6px)}
.ens4-widget.ens4-navbar .mobile-site .m-menu-toggle[aria-expanded="false"]{
  background-image:linear-gradient(currentColor,currentColor);
  background-position:center;
  background-repeat:no-repeat;
  background-size:23px 2.5px;
}
.ens4-widget.ens4-navbar .mobile-site .m-menu-toggle[aria-expanded="true"]::before {transform:rotate(45deg)}
.ens4-widget.ens4-navbar .mobile-site .m-menu-toggle[aria-expanded="true"]::after {transform:rotate(-45deg)}

/* 2. Reliable, uncropped Font Awesome WhatsApp paths in BOTH nav variants.
   Force SVG geometry, not generic font/icon rules from themes. */
.ens4-widget.ens4-navbar .ns-mobile-nav-social a.ns-mobile-share-wa,
.ens4-widget.ens4-navbar #SITE_HEADER a[aria-label="WhatsApp"] {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
  min-width:34px;
  min-height:38px;
  padding:0;
  line-height:1;
  background:transparent;
  border:0;
  color:inherit;
}
.ens4-widget.ens4-navbar a.ns-mobile-share-wa>svg.ens59-fa-whatsapp,
.ens4-widget.ens4-navbar #SITE_HEADER a[aria-label="WhatsApp"] svg.ens59-fa-whatsapp {
  display:block;
  flex:0 0 auto;
  width:29px;
  height:34px;
  min-width:29px;
  min-height:34px;
  max-width:none;
  overflow:visible;
  fill:currentColor;
  color:inherit;
  transform:none;
}
.ens4-widget.ens4-navbar #SITE_HEADER a[aria-label="WhatsApp"] :is(span,svg),
.ens4-widget.ens4-navbar .ns-mobile-share-wa :is(span,svg){overflow:visible}
.ens4-widget.ens4-navbar svg.ens59-fa-whatsapp path{fill:currentColor;stroke:none}

/* 3. On phones & tablets show whole About/FAQ images instead of crop from
   hard-coded Wix height/object-fit:cover. Natural aspect ratio stays intact. */
@media (max-width:1199px) {
 .ens4-widget.ens4-about .ens4-mobile .m-about-image {
   width:100%;
   max-width:760px;
   height:auto;
   min-height:0;
   max-height:none;
   margin-inline:auto;
   overflow:visible;
 }
 .ens4-widget.ens4-about .ens4-mobile .m-about-image img {
   display:block;
   position:static;
   width:100%;
   max-width:100%;
   height:auto;
   max-height:min(780px,85svh);
   object-fit:contain;
   object-position:center;
   margin:0 auto;
 }
 .ens4-widget.ens4-faq .ens4-mobile .m-faq-photos {
   width:100%;
   max-width:900px;
   grid-template-columns:repeat(2,minmax(0,1fr));
   align-items:start;
   margin-inline:auto;
   overflow:visible;
 }
 .ens4-widget.ens4-faq .ens4-mobile .m-faq-photos img {
   display:block;
   position:static;
   width:100%;
   min-width:0;
   max-width:100%;
   height:auto;
   max-height:660px;
   object-fit:contain;
   object-position:center;
   margin:0 auto;
 }
}
@media (max-width:600px) {
 .ens4-widget.ens4-faq .ens4-mobile .m-faq-photos{grid-template-columns:minmax(0,1fr);gap:16px}
 .ens4-widget.ens4-faq .ens4-mobile .m-faq-photos img{max-width:100%;max-height:640px}
}
/* The responsive class also works on wide monitors with narrow Elementor canvas. */
.ens4-widget.ens5-safe-mobile.ens4-about .ens4-mobile .m-about-image{height:auto;min-height:0;overflow:visible}
.ens4-widget.ens5-safe-mobile.ens4-about .ens4-mobile .m-about-image img{height:auto;max-height:min(780px,85svh);object-fit:contain;object-position:center}
.ens4-widget.ens5-safe-mobile.ens4-faq .ens4-mobile .m-faq-photos img{height:auto;max-height:660px;object-fit:contain}
@container ens5fit (max-width:600px){
 .ens4-widget.ens5-safe-mobile.ens4-faq .ens4-mobile .m-faq-photos{grid-template-columns:1fr}
}

/* 4. Buttons: beat Elementor's generic `button`/[type=button] pink presets,
   while leaving widget-specific Style selectors free to override colors. */
.ens4-widget.ens4-contact .ns-contact-chat,
.ens4-widget.ens4-contact .ns-contact-chat:is(:focus,:active) {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  padding:13px 20px;
  border:0;
  border-radius:8px;
  background-color:#154f80;
  color:#fff;
  font:700 14px/1.3 'madefor-text',Arial,sans-serif;
  box-shadow:none;
  text-decoration:none;
  cursor:pointer;
}
.ens4-widget.ens4-contact .ns-contact-chat:hover{background-color:#003afa;color:#fff;transform:translateY(-2px)}
.ens4-widget.ens4-contact .ns-contact-mini,
.ens4-widget.ens4-contact .ns-contact-mini:is(:focus,:active) {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:8px;
  padding:9px 10px;
  background-color:#e6f1f8;
  color:#13527a;
  font:700 12px/1.1 'madefor-text',Arial,sans-serif;
  text-decoration:none;
  cursor:pointer;
}
.ens4-widget.ens4-contact .ns-contact-mini:hover{background-color:#13527a;color:#fff}
.ens4-widget.ens4-contact .mobile-site .ns-mobile-contact-action,
.ens4-widget.ens4-contact .mobile-site .ns-mobile-contact-action:is(:hover,:focus,:active){
  appearance:none;
  -webkit-appearance:none;
  display:grid;
  grid-template-columns:44px minmax(0,1fr) 24px;
  align-items:center;
  justify-content:stretch;
  gap:14px;
  width:100%;
  min-height:76px;
  height:auto;
  padding:12px 14px;
  margin:0;
  border:1px solid #d5e2ee;
  border-radius:13px;
  background-color:#fff;
  color:#153e68;
  box-shadow:0 3px 12px #093b6812;
  text-decoration:none;
  text-align:left;
  white-space:normal;
  font:inherit;
  line-height:1.35;
  cursor:pointer;
  transform:none;
}
.ens4-widget.ens4-contact .mobile-site .ns-mobile-contact-action:hover{border-color:#a9cbe2;background-color:#f8fcff}
.ens4-widget.ens4-contact .mobile-site .ns-mobile-contact-action>span:nth-child(2){
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  min-width:0;
  margin:0;
  padding:0;
  text-align:left;
}
.ens4-widget.ens4-contact .mobile-site .ns-mobile-contact-action .ns-contact-method-icon{
  display:grid;place-items:center;width:44px;height:44px;min-width:44px;margin:0;
}
.ens4-widget.ens4-contact .mobile-site .ns-mobile-contact-action .ns-mobile-contact-arrow{
  display:block;position:static;align-self:center;justify-self:end;margin:0;
}

/* Floating chat controls cannot inherit Elementor pink buttons. */
.ens4-widget.ens4-chat .ns-chat-toggle,
.ens4-widget.ens4-chat .ns-chat-toggle:is(:hover,:focus,:active){
  display:inline-flex;align-items:center;justify-content:center;
  padding:13px 17px;
  min-height:57px;
  background-color:var(--chat-header,#bfc5c8);
  border:2px solid var(--chat-blue,#003afa);
  border-radius:48px;
  color:var(--chat-blue,#003afa);
  font:400 16px/1.4 'madefor-text',Arial,sans-serif;
}
.ens4-widget.ens4-chat .ns-chat-minimize,
.ens4-widget.ens4-chat .ns-chat-minimize:is(:hover,:focus,:active){
  display:flex;align-items:center;justify-content:center;
  width:39px;height:39px;padding:0;
  border:0;border-radius:0;
  background:transparent;color:#001721;
}
.ens4-widget.ens4-chat .ns-chat-send,
.ens4-widget.ens4-chat .ns-chat-send:is(:hover,:focus,:active){
  display:flex;align-items:center;justify-content:center;
  min-width:61px;width:61px;height:100%;padding:0;
  background:transparent;border:0;border-radius:0;color:#fff;
}

/* 5. Elementor entrance/motion effects should not add a second animation to
   this plugin. Native Nordic reveal classes and keyframes remain functional. */
.elementor-widget[class*="elementor-widget-ens4_"].elementor-invisible,
.elementor-widget[class*="elementor-widget-ens4_"].animated {
  opacity:1;
  visibility:visible;
  animation:none;
}
.elementor-widget[class*="elementor-widget-ens4_"]>.elementor-motion-effects-container {display:none}
