/* Sepahan v2.43.0 mobile bottom navigation */
.sepahan-v241-mobile-bottom-nav{display:none;}
@media(max-width:768px){
  html body.sepahan-v241-mobile-nav-active{
    --sepahan-v241-safe-bottom:env(safe-area-inset-bottom,0px);
    padding-bottom:calc(92px + var(--sepahan-v241-safe-bottom))!important;
  }
  html body.sepahan-v241-mobile-nav-style-minimal{padding-bottom:calc(76px + var(--sepahan-v241-safe-bottom))!important;}
  html body .sepahan-v241-mobile-bottom-nav{
    position:fixed!important;
    right:0!important;
    left:0!important;
    bottom:calc(10px + var(--sepahan-v241-safe-bottom))!important;
    z-index:2147482400!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    pointer-events:none!important;
    direction:rtl!important;
    transition:opacity .18s ease,transform .18s ease,visibility .18s ease!important;
  }
  html body .sepahan-v241-mobile-bottom-nav-inner{
    width:min(424px,calc(100vw - 22px))!important;
    min-height:66px!important;
    display:grid!important;
    grid-template-columns:repeat(var(--sepahan-v241-nav-count,5),minmax(0,1fr))!important;
    align-items:center!important;
    gap:4px!important;
    padding:9px 12px!important;
    box-sizing:border-box!important;
    border-radius:28px!important;
    border:1px solid rgba(148,163,184,.24)!important;
    background:var(--sepahan-v241-nav-bg,#fff)!important;
    color:var(--sepahan-v241-nav-text,#111827)!important;
    box-shadow:0 18px 46px rgba(15,23,42,.16),0 3px 12px rgba(15,23,42,.08)!important;
    pointer-events:auto!important;
    position:relative!important;
    overflow:visible!important;
  }
  html body .sepahan-v241-mobile-nav-item{
    position:relative!important;
    min-width:0!important;
    min-height:48px!important;
    border:0!important;
    background:transparent!important;
    color:var(--sepahan-v241-nav-icon,#6b7280)!important;
    text-decoration:none!important;
    display:inline-flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    border-radius:18px!important;
    -webkit-tap-highlight-color:transparent!important;
    outline:none!important;
    line-height:1.15!important;
    font-family:inherit!important;
    transition:color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease!important;
  }
  html body .sepahan-v241-mobile-nav-item:hover,
  html body .sepahan-v241-mobile-nav-item:focus-visible,
  html body .sepahan-v241-mobile-nav-item.is-active{
    color:var(--sepahan-v241-nav-active,#4f46e5)!important;
    background:rgba(79,70,229,.08)!important;
    background:color-mix(in srgb,var(--sepahan-v241-nav-active,#4f46e5) 9%,transparent)!important;
  }
  html body .sepahan-v241-mobile-nav-icon,
  html body .sepahan-v241-mobile-nav-icon svg{
    width:25px!important;
    height:25px!important;
    display:block!important;
    stroke:currentColor!important;
    fill:none!important;
    flex:0 0 auto!important;
  }
  html body .sepahan-v241-mobile-nav-label{
    font-size:10.5px!important;
    font-weight:850!important;
    letter-spacing:-.25px!important;
    color:currentColor!important;
    white-space:nowrap!important;
  }
  html body .sepahan-v241-mobile-nav-badge{
    position:absolute!important;
    top:3px!important;
    left:50%!important;
    transform:translateX(-22px)!important;
    min-width:17px!important;
    height:17px!important;
    padding:0 4px!important;
    border-radius:999px!important;
    background:#ef4444!important;
    color:#fff!important;
    border:2px solid var(--sepahan-v241-nav-bg,#fff)!important;
    font-size:10px!important;
    line-height:13px!important;
    font-weight:800!important;
    text-align:center!important;
    box-sizing:border-box!important;
    z-index:2!important;
  }

  /* 1) Floating center button: kept clean only when all five items are visible. */
  html body .sepahan-v241-style-floating .sepahan-v241-mobile-nav-label{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
  }
  html body .sepahan-v241-style-floating[data-count="5"] .sepahan-v241-mobile-nav-item.is-primary{
    width:68px!important;
    height:68px!important;
    min-height:68px!important;
    margin:-31px auto 0!important;
    border-radius:999px!important;
    color:#fff!important;
    background:var(--sepahan-v241-nav-active,#4f46e5)!important;
    box-shadow:0 18px 34px rgba(79,70,229,.28)!important;
    box-shadow:0 18px 34px color-mix(in srgb,var(--sepahan-v241-nav-active,#4f46e5) 38%,transparent)!important;
    transform:translateY(-1px)!important;
  }
  html body .sepahan-v241-style-floating[data-count="5"] .sepahan-v241-mobile-nav-item.is-primary:hover,
  html body .sepahan-v241-style-floating[data-count="5"] .sepahan-v241-mobile-nav-item.is-primary:focus-visible,
  html body .sepahan-v241-style-floating[data-count="5"] .sepahan-v241-mobile-nav-item.is-primary.is-active{
    color:#fff!important;
    background:var(--sepahan-v241-nav-active,#4f46e5)!important;
    transform:translateY(-3px)!important;
  }
  html body .sepahan-v241-style-floating[data-count="5"] .sepahan-v241-mobile-nav-item.is-primary .sepahan-v241-mobile-nav-icon,
  html body .sepahan-v241-style-floating[data-count="5"] .sepahan-v241-mobile-nav-item.is-primary .sepahan-v241-mobile-nav-icon svg{
    width:30px!important;
    height:30px!important;
  }
  html body .sepahan-v241-style-floating[data-count="5"] .sepahan-v241-mobile-nav-item.is-primary .sepahan-v241-mobile-nav-badge{
    top:6px!important;
    left:14px!important;
    transform:none!important;
  }

  /* When an item is disabled, the floating style automatically becomes balanced and does not break. */
  html body .sepahan-v241-style-floating.is-auto-balanced .sepahan-v241-mobile-bottom-nav-inner{
    min-height:62px!important;
    padding:8px 10px!important;
    border-radius:24px!important;
  }
  html body .sepahan-v241-style-floating.is-auto-balanced .sepahan-v241-mobile-nav-label{
    position:static!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    overflow:visible!important;
    clip:auto!important;
    white-space:nowrap!important;
  }
  html body .sepahan-v241-style-floating.is-auto-balanced .sepahan-v241-mobile-nav-item.is-primary{
    width:auto!important;
    height:auto!important;
    min-height:48px!important;
    margin:0!important;
    border-radius:18px!important;
    color:var(--sepahan-v241-nav-active,#4f46e5)!important;
    background:rgba(79,70,229,.09)!important;
    background:color-mix(in srgb,var(--sepahan-v241-nav-active,#4f46e5) 10%,transparent)!important;
    box-shadow:none!important;
    transform:none!important;
  }

  /* 2) Icons + labels */
  html body .sepahan-v241-style-icons .sepahan-v241-mobile-bottom-nav-inner{
    min-height:66px!important;
    border-radius:24px!important;
    padding:8px 10px!important;
  }
  html body .sepahan-v241-style-icons .sepahan-v241-mobile-nav-item.is-active,
  html body .sepahan-v241-style-icons .sepahan-v241-mobile-nav-item:hover{
    box-shadow:inset 0 0 0 1px rgba(148,163,184,.14)!important;
  }

  /* 3) Text only */
  html body .sepahan-v241-style-text .sepahan-v241-mobile-bottom-nav-inner{
    min-height:54px!important;
    padding:8px!important;
    border-radius:20px!important;
    gap:6px!important;
  }
  html body .sepahan-v241-style-text .sepahan-v241-mobile-nav-icon{display:none!important;}
  html body .sepahan-v241-style-text .sepahan-v241-mobile-nav-item{
    min-height:38px!important;
    padding:0 8px!important;
    border-radius:14px!important;
    color:var(--sepahan-v241-nav-text,#111827)!important;
  }
  html body .sepahan-v241-style-text .sepahan-v241-mobile-nav-item.is-active,
  html body .sepahan-v241-style-text .sepahan-v241-mobile-nav-item:hover{
    color:#fff!important;
    background:var(--sepahan-v241-nav-active,#4f46e5)!important;
  }
  html body .sepahan-v241-style-text .sepahan-v241-mobile-nav-label{font-size:11.5px!important;}
  html body .sepahan-v241-style-text .sepahan-v241-mobile-nav-badge{top:-4px!important;left:12px!important;transform:none!important;}

  /* 4) Glass / blur */
  html body .sepahan-v241-style-glass .sepahan-v241-mobile-bottom-nav-inner{
    min-height:66px!important;
    border-radius:26px!important;
    background:rgba(255,255,255,.74)!important;
    background:color-mix(in srgb,var(--sepahan-v241-nav-bg,#fff) 74%,transparent)!important;
    -webkit-backdrop-filter:blur(16px)!important;
    backdrop-filter:blur(16px)!important;
    border-color:rgba(148,163,184,.34)!important;
  }
  html.dark body .sepahan-v241-style-glass .sepahan-v241-mobile-bottom-nav-inner,
  body.dark .sepahan-v241-style-glass .sepahan-v241-mobile-bottom-nav-inner,
  [data-theme="dark"] body .sepahan-v241-style-glass .sepahan-v241-mobile-bottom-nav-inner{
    background:rgba(15,23,42,.76)!important;
    background:color-mix(in srgb,var(--sepahan-v241-nav-bg,#0f172a) 76%,transparent)!important;
  }

  /* 5) Minimal full-width bar */
  html body .sepahan-v241-style-minimal{
    bottom:0!important;
  }
  html body .sepahan-v241-style-minimal .sepahan-v241-mobile-bottom-nav-inner{
    width:100%!important;
    min-height:62px!important;
    border-radius:22px 22px 0 0!important;
    border-left:0!important;
    border-right:0!important;
    border-bottom:0!important;
    padding:7px 10px calc(7px + var(--sepahan-v241-safe-bottom))!important;
    box-shadow:0 -10px 32px rgba(15,23,42,.10)!important;
  }
  html body .sepahan-v241-style-minimal .sepahan-v241-mobile-nav-item{
    border-radius:14px!important;
  }
  html body .sepahan-v241-style-minimal .sepahan-v241-mobile-nav-item.is-active:after{
    content:""!important;
    position:absolute!important;
    bottom:3px!important;
    width:18px!important;
    height:3px!important;
    border-radius:999px!important;
    background:currentColor!important;
  }

  /* Mobile drawer and mega menu must remain above the navigation. */
  html body.sepahan-v241-mobile-menu-open .sepahan-v241-mobile-bottom-nav,
  html body.sepahan-menu-open .sepahan-v241-mobile-bottom-nav,
  html body.mobile-menu-open .sepahan-v241-mobile-bottom-nav,
  html body.offcanvas-open .sepahan-v241-mobile-bottom-nav,
  html body.drawer-open .sepahan-v241-mobile-bottom-nav,
  html body.menu-open .sepahan-v241-mobile-bottom-nav,
  html body.mega-menu-open .sepahan-v241-mobile-bottom-nav,
  html body.sepahan-bot-open .sepahan-v241-mobile-bottom-nav,
  html body.sepahan-contact-open .sepahan-v241-mobile-bottom-nav,
  html body.sepahan-v241-floating-panel-open .sepahan-v241-mobile-bottom-nav,
  html body.sepahan-v241-bot-open .sepahan-v241-mobile-bottom-nav,
  html body.sepahan-v241-contact-open .sepahan-v241-mobile-bottom-nav{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(18px)!important;
  }

  @supports selector(body:has(.sepahan-ai-bot-root.is-open)){
    html body:has(.sepahan-ai-bot-root.is-open) .sepahan-v241-mobile-bottom-nav,
    html body:has(.nikan-contact-fab.is-open) .sepahan-v241-mobile-bottom-nav{
      opacity:0!important;
      visibility:hidden!important;
      pointer-events:none!important;
      transform:translateY(18px)!important;
    }
  }
  html body #offcanvas-right,
  html body .sepahan-mobile-drawer,
  html body .sepahan-mobile-panel,
  html body .sepahan-megamenu-mobile,
  html body .mobile-menu-drawer,
  html body .offcanvas-menu{
    z-index:2147483600!important;
  }

  /* Keep bot/contact usable without pushing them too high. Closed launch buttons sit just above the nav; opened panels hide the nav and use their normal lower position. */
  html body.sepahan-v241-mobile-nav-active:not(.sepahan-bot-open):not(.sepahan-contact-open) .sepahan-ai-bot-root:not(.is-open){
    bottom:calc(78px + var(--sepahan-v241-safe-bottom))!important;
  }
  html body.sepahan-v241-mobile-nav-active:not(.sepahan-bot-open):not(.sepahan-contact-open) .nikan-contact-fab:not(.is-open),
  html body.sepahan-v241-mobile-nav-active:not(.sepahan-bot-open):not(.sepahan-contact-open) .sepahan-contact-fab:not(.is-open),
  html body.sepahan-v241-mobile-nav-active:not(.sepahan-bot-open):not(.sepahan-contact-open) .floating-contact:not(.is-open),
  html body.sepahan-v241-mobile-nav-active:not(.sepahan-bot-open):not(.sepahan-contact-open) .floating-buttons:not(.is-open){
    bottom:calc(78px + var(--sepahan-v241-safe-bottom))!important;
  }
  html body.sepahan-v241-mobile-nav-active.sepahan-bot-open .sepahan-ai-bot-root,
  html body.sepahan-v241-mobile-nav-active.sepahan-v241-bot-open .sepahan-ai-bot-root,
  html body.sepahan-v241-mobile-nav-active .sepahan-ai-bot-root.is-open{
    bottom:16px!important;
  }
  html body.sepahan-v241-mobile-nav-active.sepahan-contact-open .nikan-contact-fab,
  html body.sepahan-v241-mobile-nav-active.sepahan-v241-contact-open .nikan-contact-fab,
  html body.sepahan-v241-mobile-nav-active .nikan-contact-fab.is-open{
    bottom:18px!important;
  }

  /* v2.43.0: better spacing for the two rounded styles when bot + contact FAB are both enabled. */
  html body.sepahan-v241-mobile-nav-style-floating.sepahan-v241-mobile-nav-active:not(.sepahan-v241-bot-open):not(.sepahan-v241-contact-open) .sepahan-ai-bot-root:not(.is-open),
  html body.sepahan-v241-mobile-nav-style-floating.sepahan-v241-mobile-nav-active:not(.sepahan-v241-bot-open):not(.sepahan-v241-contact-open) .nikan-contact-fab:not(.is-open),
  html body.sepahan-v241-mobile-nav-style-floating.sepahan-v241-mobile-nav-active:not(.sepahan-v241-bot-open):not(.sepahan-v241-contact-open) .sepahan-contact-fab:not(.is-open),
  html body.sepahan-v241-mobile-nav-style-floating.sepahan-v241-mobile-nav-active:not(.sepahan-v241-bot-open):not(.sepahan-v241-contact-open) .floating-contact:not(.is-open),
  html body.sepahan-v241-mobile-nav-style-floating.sepahan-v241-mobile-nav-active:not(.sepahan-v241-bot-open):not(.sepahan-v241-contact-open) .floating-buttons:not(.is-open){
    bottom:calc(90px + var(--sepahan-v241-safe-bottom))!important;
  }
  html body.sepahan-v241-mobile-nav-style-glass.sepahan-v241-mobile-nav-active:not(.sepahan-v241-bot-open):not(.sepahan-v241-contact-open) .sepahan-ai-bot-root:not(.is-open),
  html body.sepahan-v241-mobile-nav-style-glass.sepahan-v241-mobile-nav-active:not(.sepahan-v241-bot-open):not(.sepahan-v241-contact-open) .nikan-contact-fab:not(.is-open),
  html body.sepahan-v241-mobile-nav-style-glass.sepahan-v241-mobile-nav-active:not(.sepahan-v241-bot-open):not(.sepahan-v241-contact-open) .sepahan-contact-fab:not(.is-open),
  html body.sepahan-v241-mobile-nav-style-glass.sepahan-v241-mobile-nav-active:not(.sepahan-v241-bot-open):not(.sepahan-v241-contact-open) .floating-contact:not(.is-open),
  html body.sepahan-v241-mobile-nav-style-glass.sepahan-v241-mobile-nav-active:not(.sepahan-v241-bot-open):not(.sepahan-v241-contact-open) .floating-buttons:not(.is-open){
    bottom:calc(84px + var(--sepahan-v241-safe-bottom))!important;
  }
  html body.sepahan-v241-mobile-nav-active.sepahan-v241-mobile-nav-style-floating .sepahan-ai-bot-root.sepahan-has-floating-contact.sepahan-bot-right:not(.is-open),
  html body.sepahan-v241-mobile-nav-active.sepahan-v241-mobile-nav-style-glass .sepahan-ai-bot-root.sepahan-has-floating-contact.sepahan-bot-right:not(.is-open){
    right:96px!important;
  }
  html body.sepahan-v241-mobile-nav-active.sepahan-v241-mobile-nav-style-floating .sepahan-ai-bot-root.sepahan-has-floating-contact.sepahan-bot-left:not(.is-open),
  html body.sepahan-v241-mobile-nav-active.sepahan-v241-mobile-nav-style-glass .sepahan-ai-bot-root.sepahan-has-floating-contact.sepahan-bot-left:not(.is-open){
    left:96px!important;
  }
  html body.sepahan-v241-mobile-nav-active.sepahan-v241-mobile-nav-style-floating .nikan-contact-fab.is-right:not(.is-open),
  html body.sepahan-v241-mobile-nav-active.sepahan-v241-mobile-nav-style-glass .nikan-contact-fab.is-right:not(.is-open){
    right:18px!important;
  }
  html body.sepahan-v241-mobile-nav-active.sepahan-v241-mobile-nav-style-floating .nikan-contact-fab.is-left:not(.is-open),
  html body.sepahan-v241-mobile-nav-active.sepahan-v241-mobile-nav-style-glass .nikan-contact-fab.is-left:not(.is-open){
    left:18px!important;
  }

  html body.sepahan-v241-mobile-nav-active .sepbot-window{
    max-height:calc(100vh - 145px)!important;
  }

  html.dark body .sepahan-v241-mobile-bottom-nav-inner,
  body.dark .sepahan-v241-mobile-bottom-nav-inner,
  [data-theme="dark"] body .sepahan-v241-mobile-bottom-nav-inner{
    border-color:rgba(71,85,105,.55)!important;
    box-shadow:0 18px 48px rgba(0,0,0,.35)!important;
  }
}
@media(max-width:380px){
  html body .sepahan-v241-mobile-nav-label{font-size:9.7px!important;}
  html body .sepahan-v241-mobile-bottom-nav-inner{width:calc(100vw - 12px)!important;padding-left:8px!important;padding-right:8px!important;}
  html body .sepahan-v241-mobile-nav-icon,html body .sepahan-v241-mobile-nav-icon svg{width:23px!important;height:23px!important;}
}
@media(min-width:769px){
  html body .sepahan-v241-mobile-bottom-nav{display:none!important;}
}
