.elementor-1110 .elementor-element.elementor-element-161bd8f7{--display:flex;--min-height:100vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1110 .elementor-element.elementor-element-161bd8f7:not(.elementor-motion-effects-element-type-background), .elementor-1110 .elementor-element.elementor-element-161bd8f7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-1110 .elementor-element.elementor-element-3b1ed7fb{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:#E5E7EB;--border-color:#E5E7EB;--padding-top:16px;--padding-bottom:16px;--padding-left:20px;--padding-right:20px;}.elementor-1110 .elementor-element.elementor-element-3ff6293d img{width:140px;}.elementor-1110 .elementor-element.elementor-element-7ef9eb09 .elementor-icon-wrapper{text-align:center;}.elementor-1110 .elementor-element.elementor-element-7ef9eb09.elementor-view-stacked .elementor-icon{background-color:#1A1A1C;}.elementor-1110 .elementor-element.elementor-element-7ef9eb09.elementor-view-framed .elementor-icon, .elementor-1110 .elementor-element.elementor-element-7ef9eb09.elementor-view-default .elementor-icon{color:#1A1A1C;border-color:#1A1A1C;}.elementor-1110 .elementor-element.elementor-element-7ef9eb09.elementor-view-framed .elementor-icon, .elementor-1110 .elementor-element.elementor-element-7ef9eb09.elementor-view-default .elementor-icon svg{fill:#1A1A1C;}.elementor-1110 .elementor-element.elementor-element-7ef9eb09 .elementor-icon{font-size:20px;}.elementor-1110 .elementor-element.elementor-element-7ef9eb09 .elementor-icon svg{height:20px;}.elementor-1110 .elementor-element.elementor-element-1c523f83{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:auto;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-1110 .elementor-element.elementor-element-2413ec32 .elementor-tab-title{background-color:transparent;}.elementor-1110 .elementor-element.elementor-element-2413ec32 .elementor-accordion-icon, .elementor-1110 .elementor-element.elementor-element-2413ec32 .elementor-accordion-title{color:#1A1A1C;}.elementor-1110 .elementor-element.elementor-element-2413ec32 .elementor-accordion-icon svg{fill:#1A1A1C;}.elementor-1110 .elementor-element.elementor-element-2413ec32 .elementor-active .elementor-accordion-icon, .elementor-1110 .elementor-element.elementor-element-2413ec32 .elementor-active .elementor-accordion-title{color:#1A1A1C;}.elementor-1110 .elementor-element.elementor-element-2413ec32 .elementor-active .elementor-accordion-icon svg{fill:#1A1A1C;}.elementor-1110 .elementor-element.elementor-element-2413ec32 .elementor-accordion-title{font-family:"Inter Tight", Sans-serif;font-size:16px;font-weight:500;}.elementor-1110 .elementor-element.elementor-element-2413ec32 .elementor-tab-content{font-family:"Inter Tight", Sans-serif;font-size:14px;}.elementor-1110 .elementor-element.elementor-element-467231ad .elementor-tab-title{background-color:transparent;}.elementor-1110 .elementor-element.elementor-element-467231ad .elementor-accordion-icon, .elementor-1110 .elementor-element.elementor-element-467231ad .elementor-accordion-title{color:#1A1A1C;}.elementor-1110 .elementor-element.elementor-element-467231ad .elementor-accordion-icon svg{fill:#1A1A1C;}.elementor-1110 .elementor-element.elementor-element-467231ad .elementor-active .elementor-accordion-icon, .elementor-1110 .elementor-element.elementor-element-467231ad .elementor-active .elementor-accordion-title{color:#1A1A1C;}.elementor-1110 .elementor-element.elementor-element-467231ad .elementor-active .elementor-accordion-icon svg{fill:#1A1A1C;}.elementor-1110 .elementor-element.elementor-element-467231ad .elementor-accordion-title{font-family:"Inter Tight", Sans-serif;font-size:16px;font-weight:500;}.elementor-1110 .elementor-element.elementor-element-6d00dbf9 .elementor-tab-title{background-color:transparent;}.elementor-1110 .elementor-element.elementor-element-6d00dbf9 .elementor-accordion-icon, .elementor-1110 .elementor-element.elementor-element-6d00dbf9 .elementor-accordion-title{color:#1A1A1C;}.elementor-1110 .elementor-element.elementor-element-6d00dbf9 .elementor-accordion-icon svg{fill:#1A1A1C;}.elementor-1110 .elementor-element.elementor-element-6d00dbf9 .elementor-active .elementor-accordion-icon, .elementor-1110 .elementor-element.elementor-element-6d00dbf9 .elementor-active .elementor-accordion-title{color:#1A1A1C;}.elementor-1110 .elementor-element.elementor-element-6d00dbf9 .elementor-active .elementor-accordion-icon svg{fill:#1A1A1C;}.elementor-1110 .elementor-element.elementor-element-6d00dbf9 .elementor-accordion-title{font-family:"Inter Tight", Sans-serif;font-size:16px;font-weight:500;}.elementor-1110 .elementor-element.elementor-element-359ef47a{--display:flex;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:#E5E7EB;--border-color:#E5E7EB;--padding-top:16px;--padding-bottom:16px;--padding-left:0px;--padding-right:0px;}.elementor-1110 .elementor-element.elementor-element-aadea55 .elementor-heading-title{font-family:"Inter Tight", Sans-serif;font-size:16px;font-weight:500;color:#1A1A1C;}.elementor-1110 .elementor-element.elementor-element-293368df{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:16px 16px;--row-gap:16px;--column-gap:16px;border-style:solid;--border-style:solid;border-width:1px 0px 0px 0px;--border-top-width:1px;--border-right-width:0px;--border-bottom-width:0px;--border-left-width:0px;border-color:#E5E7EB;--border-color:#E5E7EB;--padding-top:20px;--padding-bottom:32px;--padding-left:20px;--padding-right:20px;}.elementor-1110 .elementor-element.elementor-element-2766b75b .elementor-button{background-color:#1A1A1C;font-family:"Inter Tight", Sans-serif;font-size:16px;font-weight:500;fill:#FFFFFF;color:#FFFFFF;border-style:solid;border-width:1px 1px 1px 1px;border-color:#1A1A1C;border-radius:100px 100px 100px 100px;}.elementor-1110 .elementor-element.elementor-element-71045b30 .elementor-button{background-color:transparent;font-family:"Inter Tight", Sans-serif;font-size:16px;font-weight:500;fill:#1A1A1C;color:#1A1A1C;border-style:solid;border-width:1px 1px 1px 1px;border-color:#E5E7EB;border-radius:100px 100px 100px 100px;}#elementor-popup-modal-1110 .dialog-widget-content{animation-duration:0.3s;box-shadow:2px 8px 23px 3px rgba(0,0,0,0.2);}#elementor-popup-modal-1110{background-color:rgba(0,0,0,.8);justify-content:center;align-items:center;pointer-events:all;}#elementor-popup-modal-1110 .dialog-message{width:640px;height:auto;}#elementor-popup-modal-1110 .dialog-close-button{display:flex;}@media(max-width:767px){.elementor-1110 .elementor-element.elementor-element-3b1ed7fb{--padding-top:22px;--padding-bottom:22px;--padding-left:22px;--padding-right:22px;}}/* Start custom CSS *//**
 * NextSaaS Mobile Menu CSS
 * Off-canvas slide-out navigation for mobile devices
 */

/* =====================================================
   CSS Variables (inherit from main)
   ===================================================== */
:root {
  --ns-primary: #6366F1;
  --ns-secondary: #1A1A1C;
  --ns-text-primary: #1A1A1C;
  --ns-text-secondary: rgba(26, 26, 28, 0.6);
  --ns-white: #FFFFFF;
  --ns-bg-gray: #EBEBEB;
  --ns-bg-hover: #F5F5F5;
  --ns-border: #E5E7EB;
  --ns-font: 'Inter Tight', sans-serif;
  --ns-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* =====================================================
   Mobile Menu Popup/Off-Canvas
   ===================================================== */
.ns-mobile-menu {
  width: 100%;
  max-width: 380px;
  min-height: 100vh;
  min-height: 100dvh;
  background: var(--ns-white);
  display: flex;
  flex-direction: column;
}

/* =====================================================
   Mobile Menu Header
   ===================================================== */
.ns-mobile-menu-header {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid var(--ns-border);
}

.ns-mobile-menu-header img {
  max-width: 140px;
  height: auto;
}

/* Close Button */
.ns-mobile-close {
  cursor: pointer;
  transition: var(--ns-transition);
}

.ns-mobile-close:hover {
  opacity: 0.7;
}

.ns-mobile-close .elementor-icon {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--ns-bg-gray);
  border-radius: 100px;
}

.ns-mobile-close .elementor-icon i {
  font-size: 20px;
  color: var(--ns-text-primary);
}

/* =====================================================
   Mobile Navigation Container
   ===================================================== */
.ns-mobile-nav-container {
  flex: 1;
  overflow-y: auto;
  padding: 12px 20px;
  -webkit-overflow-scrolling: touch;
}

/* =====================================================
   Mobile Accordion Menu
   ===================================================== */
.ns-mobile-accordion {
  margin-bottom: 0 !important;
}

.ns-mobile-accordion .elementor-accordion {
  border: none !important;
}

.ns-mobile-accordion .elementor-accordion-item {
  border: none !important;
  border-bottom: 1px solid var(--ns-border) !important;
}

.ns-mobile-accordion .elementor-accordion-item:last-child {
  border-bottom: 1px solid var(--ns-border) !important;
}

/* Accordion Title */
.ns-mobile-accordion .elementor-tab-title {
  padding: 16px 0 !important;
  background: transparent !important;
  border: none !important;
}

.ns-mobile-accordion .elementor-tab-title a,
.ns-mobile-accordion .elementor-accordion-title {
  font-family: var(--ns-font) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: var(--ns-text-primary) !important;
  text-decoration: none !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* Accordion Arrow Icon */
.ns-mobile-accordion .elementor-accordion-icon {
  order: 2;
  margin-left: auto !important;
  margin-right: 0 !important;
}

.ns-mobile-accordion .elementor-accordion-icon i,
.ns-mobile-accordion .elementor-accordion-icon svg {
  font-size: 12px !important;
  width: 12px !important;
  transition: transform 0.3s ease;
}

.ns-mobile-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon i,
.ns-mobile-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon svg {
  transform: rotate(180deg);
}

/* Accordion Content */
.ns-mobile-accordion .elementor-tab-content {
  padding: 0 0 16px 0 !important;
  border: none !important;
  background: transparent !important;
}

/* =====================================================
   Mobile Submenu Links
   ===================================================== */
.ns-mobile-submenu {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.ns-mobile-section-title {
  font-family: var(--ns-font) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--ns-text-secondary) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  margin: 12px 0 8px 0 !important;
  padding: 0 !important;
}

.ns-mobile-section-title:first-child {
  margin-top: 0 !important;
}

.ns-mobile-link {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px;
  border-radius: 10px;
  text-decoration: none !important;
  transition: var(--ns-transition);
}

.ns-mobile-link:hover {
  background-color: var(--ns-bg-hover);
}

/* Link Icon */
.ns-mobile-link-icon {
  width: 32px;
  height: 32px;
  min-width: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  border: 1px solid var(--ns-border);
  background: var(--ns-white);
  transition: var(--ns-transition);
}

.ns-mobile-link:hover .ns-mobile-link-icon {
  border-color: #D1D5DB;
  background: #FCFCFC;
}

.ns-mobile-link-icon i {
  font-size: 14px;
  color: var(--ns-text-primary);
}

/* Link Text */
.ns-mobile-link-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
}

.ns-mobile-link-title {
  font-family: var(--ns-font) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--ns-text-primary) !important;
  line-height: 1.4;
}

.ns-mobile-link-desc {
  font-family: var(--ns-font) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  color: var(--ns-text-secondary) !important;
  line-height: 1.4;
}

/* Simple link without description */
.ns-mobile-link:not(:has(.ns-mobile-link-text)) .ns-mobile-link-title {
  line-height: 32px;
}

/* =====================================================
   Single Link Item (Pricing)
   ===================================================== */
.ns-mobile-single-link {
  padding: 16px 0;
  border-bottom: 1px solid var(--ns-border);
}

.ns-mobile-single-link .elementor-heading-title {
  font-family: var(--ns-font) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: var(--ns-text-primary) !important;
}

.ns-mobile-single-link .elementor-heading-title a {
  color: inherit !important;
  text-decoration: none !important;
}

/* =====================================================
   Mobile Menu Footer
   ===================================================== */
.ns-mobile-menu-footer {
  flex-shrink: 0;
  padding: 20px;
  border-top: 1px solid var(--ns-border);
  background: var(--ns-white);
}

/* CTA Button */
.ns-mobile-cta-btn .elementor-button {
  width: 100%;
  font-family: var(--ns-font) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  padding: 16px 32px !important;
  border-radius: 100px !important;
  background-color: var(--ns-secondary) !important;
  color: var(--ns-white) !important;
  border: 1px solid var(--ns-secondary) !important;
  transition: var(--ns-transition) !important;
  justify-content: center;
}

.ns-mobile-cta-btn .elementor-button:hover {
  background-color: var(--ns-white) !important;
  color: var(--ns-secondary) !important;
}

/* Login Button */
.ns-mobile-login-btn .elementor-button {
  width: 100%;
  font-family: var(--ns-font) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  padding: 16px 32px !important;
  border-radius: 100px !important;
  background-color: transparent !important;
  color: var(--ns-text-primary) !important;
  border: 1px solid var(--ns-border) !important;
  transition: var(--ns-transition) !important;
  justify-content: center;
}

.ns-mobile-login-btn .elementor-button:hover {
  background-color: var(--ns-bg-hover) !important;
  border-color: #D1D5DB !important;
}

/* =====================================================
   Hamburger Trigger (in header)
   ===================================================== */
.ns-hamburger {
  cursor: pointer;
  transition: var(--ns-transition);
}

.ns-hamburger:hover {
  opacity: 0.7;
}

/* =====================================================
   Elementor Popup Overrides
   ===================================================== */

/* Popup container - slide from right */
.elementor-popup-modal .dialog-widget-content {
  width: 100% !important;
  max-width: 380px !important;
  height: 100vh !important;
  height: 100dvh !important;
  margin: 0 0 0 auto !important;
  border-radius: 0 !important;
  box-shadow: -10px 0 40px rgba(0, 0, 0, 0.15) !important;
  overflow: hidden !important;
}

/* Popup overlay background */
.elementor-popup-modal .dialog-lightbox-widget {
  background: rgba(0, 0, 0, 0.5) !important;
}

/* Remove default Elementor popup close button */
.elementor-popup-modal .dialog-close-button {
  display: none !important;
}

/* Popup message wrapper */
.elementor-popup-modal .dialog-message {
  height: 100%;
  padding: 0 !important;
  overflow: hidden;
}

/* Make inner container fill height */
.elementor-popup-modal .elementor-section-wrap,
.elementor-popup-modal [data-elementor-type="popup"] {
  height: 100%;
}

.elementor-popup-modal [data-elementor-type="popup"] > .elementor-element {
  height: 100%;
}

/* =====================================================
   No Scroll when menu is open
   ===================================================== */
body.ns-mobile-menu-open {
  overflow: hidden;
  position: fixed;
  width: 100%;
}

/* =====================================================
   Safe Area Support (iOS notch)
   ===================================================== */
@supports (padding: env(safe-area-inset-bottom)) {
  .ns-mobile-menu-footer {
    padding-bottom: calc(20px + env(safe-area-inset-bottom));
  }
  
  .ns-mobile-menu-header {
    padding-top: calc(16px + env(safe-area-inset-top));
  }
}

/* =====================================================
   Small Screen Adjustments
   ===================================================== */
@media (max-width: 400px) {
  .elementor-popup-modal .dialog-widget-content {
    max-width: 100% !important;
  }
}

@media (max-width: 767px) {
  .ns-mobile-menu-header img {
    max-width: 120px;
  }
}

/* =====================================================
   Animation Classes
   ===================================================== */
.ns-slide-in-right {
  animation: slideInRight 0.3s ease forwards;
}

.ns-slide-out-right {
  animation: slideOutRight 0.3s ease forwards;
}

@keyframes slideInRight {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(0);
  }
}

@keyframes slideOutRight {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(100%);
  }
}/* End custom CSS */