/* =========================================================
   SWAT v2.9.5 DEVICE RESPONSIVE + WORKING MOBILE MENU FIX
   Scope: layout safety, header menu behavior, mobile/tablet polish only.
   No content, URL, image, footer, price or homepage HTML changes.
   ========================================================= */

html,
body{
  max-width:100%!important;
  overflow-x:hidden!important;
}

img,
svg,
video,
iframe{
  max-width:100%;
}

img,
video{
  height:auto;
}

.swat-master-header-wrap,
.swat-master-header-wrap *{
  -webkit-tap-highlight-color:transparent;
}

.swat-header-shell,
.swat-shell,
.swat-page-shell,
.swat-content-shell,
.swat-section-shell,
.swat-footer-shell{
  max-width:100%!important;
  box-sizing:border-box!important;
}

.swat-shell,
.swat-page-shell,
.swat-content-shell,
.swat-section-shell{
  overflow-wrap:anywhere;
}

.swat-table-wrap,
.swat-rate-table-wrap,
.swat-pricing-table-wrap,
.swat-page-table-wrap,
.wp-block-table{
  width:100%;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

.swat-table-wrap table,
.swat-rate-table-wrap table,
.swat-pricing-table-wrap table,
.swat-page-table-wrap table,
.wp-block-table table{
  width:100%;
  min-width:720px;
}

.swat-nav-dropdown{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
}

.swat-nav-dropdown summary{
  list-style:none!important;
  cursor:pointer!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  padding:9px 10px!important;
  border-radius:13px!important;
  color:#0b2f50!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  user-select:none!important;
}

.swat-nav-dropdown summary::-webkit-details-marker{display:none!important;}

.swat-nav-dropdown summary:after{
  content:'▾';
  font-size:10px;
  line-height:1;
  color:#075fb0;
  transition:transform .18s ease;
}

.swat-nav-dropdown[open] summary:after{transform:rotate(180deg);}

.swat-nav-dropdown summary:hover,
.swat-nav-dropdown summary:focus{
  background:linear-gradient(135deg,#dceef9,#cfe5f4)!important;
  color:#075fb0!important;
  outline:none!important;
}

.swat-nav-drop-menu{
  position:absolute!important;
  top:calc(100% + 10px)!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  min-width:240px!important;
  display:grid!important;
  gap:8px!important;
  padding:12px!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,#ffffff 0%,#eef8ff 100%)!important;
  border:1px solid rgba(151,205,239,.95)!important;
  box-shadow:0 22px 48px rgba(5,72,128,.20)!important;
  z-index:2147483002!important;
}

.swat-nav-dropdown:not([open]) .swat-nav-drop-menu{display:none!important;}

.swat-nav-drop-menu a{
  width:100%!important;
  justify-content:flex-start!important;
  padding:12px 13px!important;
  border-radius:13px!important;
  background:linear-gradient(135deg,#f8fcff,#edf8ff)!important;
  border:1px solid rgba(198,229,249,.85)!important;
}

.swat-mobile-toggle{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}

.swat-mobile-button{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  border-radius:17px!important;
  background:
    radial-gradient(circle at 28% 20%,rgba(255,255,255,.95),rgba(255,255,255,.15) 36%,rgba(255,255,255,0) 58%),
    linear-gradient(135deg,#eef9ff 0%,#d9f0ff 42%,#c3e4fb 100%)!important;
  border:1px solid rgba(105,173,220,.98)!important;
  box-shadow:0 12px 24px rgba(5,80,140,.14),inset 0 1px 0 rgba(255,255,255,.82)!important;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease!important;
  touch-action:manipulation!important;
}

.swat-mobile-button:before{
  content:'';
  position:absolute;
  inset:-40% auto auto -55%;
  width:80%;
  height:180%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.58),transparent);
  transform:rotate(24deg);
  z-index:-1;
}

.swat-mobile-button:hover,
.swat-mobile-button:focus{
  transform:translateY(-1px)!important;
  box-shadow:0 16px 30px rgba(5,80,140,.18),inset 0 1px 0 rgba(255,255,255,.88)!important;
  outline:none!important;
}

.swat-mobile-toggle:checked + .swat-mobile-button,
.swat-header-main.is-mobile-menu-open .swat-mobile-button{
  background:linear-gradient(135deg,#075fb0 0%,#0b83d8 48%,#12aeea 100%)!important;
  border-color:rgba(212,242,255,.76)!important;
}

.swat-mobile-toggle:checked + .swat-mobile-button span,
.swat-header-main.is-mobile-menu-open .swat-mobile-button span{
  background:transparent!important;
}

.swat-mobile-toggle:checked + .swat-mobile-button span:before,
.swat-header-main.is-mobile-menu-open .swat-mobile-button span:before{
  top:0!important;
  transform:rotate(45deg)!important;
  background:#fff!important;
}

.swat-mobile-toggle:checked + .swat-mobile-button span:after,
.swat-header-main.is-mobile-menu-open .swat-mobile-button span:after{
  top:0!important;
  transform:rotate(-45deg)!important;
  background:#fff!important;
}

.swat-mobile-toggle:focus-visible + .swat-mobile-button,
.swat-mobile-button:focus-visible{
  outline:3px solid #ffbf47!important;
  outline-offset:3px!important;
}

@media(min-width:1561px){
  .swat-header-shell{width:calc(100% - 5cm)!important;}
}

@media(max-width:1560px){
  .swat-header-shell{width:calc(100% - 72px)!important;}
}

@media(max-width:1320px){
  .swat-header-main{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    justify-content:space-between!important;
  }

  .swat-brand{
    min-width:0!important;
    max-width:100%!important;
  }

  .swat-brand-text{
    min-width:0!important;
    max-width:100%!important;
  }

  .swat-logo-line,
  .swat-tagline{
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  .swat-mobile-button{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    justify-self:end!important;
    flex:0 0 auto!important;
    z-index:2147483003!important;
  }

  .swat-header-menu-area{
    display:none!important;
  }

  .swat-mobile-toggle:checked ~ .swat-header-menu-area,
  .swat-header-main.is-mobile-menu-open .swat-header-menu-area{
    display:grid!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:calc(100% + 12px)!important;
    grid-template-columns:1fr!important;
    gap:13px!important;
    padding:16px!important;
    border-radius:26px!important;
    background:
      radial-gradient(circle at 10% 0%,rgba(255,255,255,.98),rgba(255,255,255,0) 34%),
      linear-gradient(145deg,#f8fcff 0%,#edf8ff 45%,#dff1ff 100%)!important;
    border:1px solid rgba(164,215,247,.96)!important;
    box-shadow:0 24px 60px rgba(4,74,130,.22),inset 0 1px 0 rgba(255,255,255,.9)!important;
    z-index:2147483001!important;
    max-height:calc(100vh - var(--swat-adminbar-h,0px) - 135px)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
  }

  .swat-mobile-toggle:checked ~ .swat-header-menu-area .swat-nav,
  .swat-header-main.is-mobile-menu-open .swat-header-menu-area .swat-nav{
    display:grid!important;
    position:static!important;
    grid-template-columns:1fr!important;
    align-items:stretch!important;
    justify-content:stretch!important;
    gap:9px!important;
    width:100%!important;
    min-width:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  .swat-mobile-toggle:checked ~ .swat-header-menu-area .swat-nav > a,
  .swat-header-main.is-mobile-menu-open .swat-header-menu-area .swat-nav > a,
  .swat-mobile-toggle:checked ~ .swat-header-menu-area .swat-nav-dropdown summary,
  .swat-header-main.is-mobile-menu-open .swat-header-menu-area .swat-nav-dropdown summary{
    width:100%!important;
    min-height:48px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    padding:13px 15px!important;
    border-radius:17px!important;
    color:#0b2f50!important;
    background:linear-gradient(135deg,#ffffff 0%,#edf8ff 100%)!important;
    border:1px solid rgba(191,226,248,.92)!important;
    box-shadow:0 9px 18px rgba(5,80,140,.07),inset 0 1px 0 rgba(255,255,255,.86)!important;
    white-space:normal!important;
    text-align:start!important;
  }

  .swat-mobile-toggle:checked ~ .swat-header-menu-area .swat-nav-dropdown,
  .swat-header-main.is-mobile-menu-open .swat-header-menu-area .swat-nav-dropdown{
    display:grid!important;
    width:100%!important;
  }

  .swat-mobile-toggle:checked ~ .swat-header-menu-area .swat-nav-drop-menu,
  .swat-header-main.is-mobile-menu-open .swat-header-menu-area .swat-nav-drop-menu{
    position:static!important;
    transform:none!important;
    min-width:0!important;
    width:100%!important;
    margin-top:8px!important;
    padding:9px!important;
    border-radius:18px!important;
    background:linear-gradient(135deg,#eef8ff,#e5f4ff)!important;
    border:1px solid rgba(189,225,247,.90)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.8)!important;
  }

  .swat-mobile-toggle:checked ~ .swat-header-menu-area .swat-header-actions,
  .swat-header-main.is-mobile-menu-open .swat-header-menu-area .swat-header-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    width:100%!important;
    min-width:0!important;
  }

  .swat-mobile-toggle:checked ~ .swat-header-menu-area .swat-header-btn,
  .swat-header-main.is-mobile-menu-open .swat-header-menu-area .swat-header-btn{
    width:100%!important;
    min-height:48px!important;
    padding:12px 14px!important;
    white-space:normal!important;
  }
}

@media(max-width:960px){
  .swat-header-shell,
  .swat-shell,
  .swat-page-shell,
  .swat-content-shell,
  .swat-section-shell,
  .swat-footer-shell{
    width:100%!important;
    padding-left:16px!important;
    padding-right:16px!important;
  }

  .swat-header-shell{
    padding-left:0!important;
    padding-right:0!important;
    width:calc(100% - 32px)!important;
  }

  .swat-topbar-inner{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding-top:6px!important;
    padding-bottom:6px!important;
    scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch!important;
  }

  .swat-topbar-inner::-webkit-scrollbar{display:none!important;}

  .swat-topbar-left,
  .swat-topbar-mid,
  .swat-topbar-right{
    flex:0 0 auto!important;
    display:flex!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    justify-content:flex-start!important;
    gap:7px!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    text-align:left!important;
  }

  .swat-header-pill,
  .swat-sales-line{
    white-space:nowrap!important;
    font-size:11.25px!important;
  }

  .swat-header-main{
    min-height:70px!important;
    padding-top:7px!important;
    padding-bottom:10px!important;
    gap:9px!important;
  }

  .swat-brand-image-shell{
    width:46px!important;
    height:46px!important;
    flex-basis:46px!important;
    border-radius:15px!important;
  }

  .swat-logo-line{
    width:auto!important;
    font-size:12.8px!important;
    padding:7px 8px!important;
    gap:4px!important;
    border-radius:13px!important;
  }

  .swat-tagline{
    font-size:9.5px!important;
    margin-top:5px!important;
    margin-left:3px!important;
  }

  .swat-mobile-button{
    width:42px!important;
    height:42px!important;
    border-radius:14px!important;
  }

  .swat-mobile-toggle:checked ~ .swat-header-menu-area,
  .swat-header-main.is-mobile-menu-open .swat-header-menu-area{
    max-height:calc(100vh - var(--swat-adminbar-h,0px) - 122px)!important;
  }
}

@media(max-width:640px){
  .swat-header-shell{
    width:calc(100% - 22px)!important;
  }

  .swat-shell,
  .swat-page-shell,
  .swat-content-shell,
  .swat-section-shell,
  .swat-footer-shell{
    padding-left:12px!important;
    padding-right:12px!important;
  }

  .swat-header-pill{
    font-size:10.5px!important;
    padding:6px 8px!important;
  }

  .swat-sales-line{
    font-size:10.5px!important;
  }

  .swat-social{
    width:28px!important;
    height:28px!important;
    border-radius:10px!important;
  }

  .swat-header-main{
    min-height:64px!important;
    padding-top:7px!important;
    padding-bottom:9px!important;
  }

  .swat-brand{
    gap:7px!important;
  }

  .swat-brand-image-shell{
    width:42px!important;
    height:42px!important;
    flex-basis:42px!important;
  }

  .swat-brand-text{
    max-width:calc(100vw - 118px)!important;
  }

  .swat-logo-line{
    font-size:10.7px!important;
    padding:6px 7px!important;
  }

  .swat-tagline{
    font-size:8.4px!important;
  }

  .swat-mobile-button{
    width:40px!important;
    height:40px!important;
  }

  .swat-mobile-toggle:checked ~ .swat-header-menu-area,
  .swat-header-main.is-mobile-menu-open .swat-header-menu-area{
    left:0!important;
    right:0!important;
    top:calc(100% + 9px)!important;
    padding:12px!important;
    border-radius:22px!important;
    gap:10px!important;
    max-height:calc(100vh - var(--swat-adminbar-h,0px) - 112px)!important;
  }

  .swat-mobile-toggle:checked ~ .swat-header-menu-area .swat-header-actions,
  .swat-header-main.is-mobile-menu-open .swat-header-menu-area .swat-header-actions{
    grid-template-columns:1fr!important;
  }

  .swat-mobile-toggle:checked ~ .swat-header-menu-area .swat-nav > a,
  .swat-header-main.is-mobile-menu-open .swat-header-menu-area .swat-nav > a,
  .swat-mobile-toggle:checked ~ .swat-header-menu-area .swat-nav-dropdown summary,
  .swat-header-main.is-mobile-menu-open .swat-header-menu-area .swat-nav-dropdown summary{
    min-height:45px!important;
    padding:12px 13px!important;
    border-radius:15px!important;
    font-size:12.75px!important;
  }

  .swat-header-btn{
    min-height:44px!important;
    font-size:12.6px!important;
  }
}

@media(max-width:420px){
  .swat-header-shell{width:calc(100% - 18px)!important;}
  .swat-brand-image-shell{width:39px!important;height:39px!important;flex-basis:39px!important;}
  .swat-logo-line{font-size:10px!important;padding:5px 6px!important;}
  .swat-tagline{font-size:7.9px!important;}
  .swat-mobile-button{width:38px!important;height:38px!important;}
}
