.foovi-navbar-premium{
  position: sticky;
  top: 0;
  z-index: 1030;
  background:
    radial-gradient(circle at top left, rgba(37,99,235,.18), transparent 28%),
    radial-gradient(circle at top right, rgba(245,158,11,.10), transparent 22%),
    linear-gradient(180deg, rgba(2,6,23,.96) 0%, rgba(15,23,42,.94) 100%);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(148,163,184,.12);
  box-shadow: 0 12px 30px rgba(2,6,23,.24);
}

.foovi-navbar-shell{
  display:flex;
  align-items:center;
  gap:16px;
  min-height:76px;
  padding:12px 16px;
  border-radius:22px;
  background:linear-gradient(135deg, rgba(15,23,42,.88) 0%, rgba(9,18,38,.96) 100%);
  border:1px solid rgba(148,163,184,.12);
  box-shadow:0 14px 32px rgba(2,6,23,.24);
}

.foovi-brand-premium{
  display:flex;
  align-items:center;
  gap:14px;
  text-decoration:none;
  min-width:0;
}

.foovi-brand-logo{
  width:54px;
  height:54px;
  object-fit:cover;
  border-radius:16px;
  background:#fff;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 8px 18px rgba(2,6,23,.18);
}

.foovi-brand-content{
  display:flex;
  flex-direction:column;
  min-width:0;
}

.foovi-brand-name{
  color:#F8FAFC;
  font-size:1rem;
  font-weight:800;
  line-height:1.12;
}

.foovi-brand-subtitle{
  margin-top:4px;
  color:#94A3B8;
  font-size:.88rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.foovi-navbar-toggler{
  margin-left:auto;
  border:1px solid rgba(148,163,184,.22);
  border-radius:12px;
  background:rgba(255,255,255,.04);
  padding:.45rem .7rem;
}

.foovi-navbar-toggler .navbar-toggler-icon{
  filter:brightness(0) invert(1);
}

.foovi-navbar-collapse{
  min-width:0;
  flex-grow:1;
}

.foovi-nav-list{
  gap:6px;
}

.foovi-nav-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px !important;
  border-radius:13px;
  color:#CBD5E1 !important;
  font-weight:700;
  font-size:.96rem;
  white-space:nowrap;
  transition:all .22s ease;
}

.foovi-nav-link:hover{
  color:#FFFFFF !important;
  background:rgba(255,255,255,.06);
}

.foovi-nav-link.active{
  color:#FFFFFF !important;
  background:linear-gradient(135deg, rgba(37,99,235,.34), rgba(59,130,246,.20));
  box-shadow:inset 0 0 0 1px rgba(96,165,250,.16);
}

.foovi-nav-divider{
  display:block;
  width:1px;
  height:28px;
  margin:0 6px;
  background:rgba(148,163,184,.16);
}

.foovi-menu-dropdown,
.foovi-lang-menu{
  min-width:240px;
  border:none;
  border-radius:18px;
  padding:10px;
  background:#0F172A;
  box-shadow:0 18px 40px rgba(2,6,23,.28);
  border:1px solid rgba(148,163,184,.14);
}

.foovi-dropdown-item,
.foovi-lang-item{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border-radius:12px;
  font-weight:700;
  font-size:.94rem;
  color:#CBD5E1;
}

.foovi-dropdown-item:hover,
.foovi-dropdown-item.active,
.foovi-lang-item:hover{
  background:rgba(255,255,255,.06);
  color:#FFFFFF;
}

.foovi-footer-premium{
  position:relative;
  margin-top:5rem;
  background:
    radial-gradient(circle at top left, rgba(37,99,235,.14), transparent 28%),
    radial-gradient(circle at top right, rgba(245,158,11,.10), transparent 24%),
    linear-gradient(180deg, #020617 0%, #0B1120 55%, #0F172A 100%);
  color:#CBD5E1;
  overflow:hidden;
}

.foovi-footer-premium .footer-top{
  position:relative;
  padding:3.2rem 0 2.2rem;
}

.foovi-footer-brand-card{
  background:linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.08);
  border-radius:24px;
  padding:1.45rem;
  box-shadow:0 18px 44px rgba(2,6,23,.20);
}

.foovi-footer-brand-head{
  display:flex;
  align-items:flex-start;
  gap:1rem;
  margin-bottom:1rem;
}

.foovi-footer-logo{
  width:60px;
  height:60px;
  object-fit:cover;
  border-radius:16px;
  background:#fff;
}

.foovi-footer-brand-name{
  font-size:1rem;
  font-weight:800;
  color:#fff;
}

.foovi-footer-brand-sub{
  color:#94A3B8;
  margin-top:.2rem;
  font-size:.9rem;
}

.foovi-footer-tags{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin:1rem 0 1.1rem;
}

.foovi-footer-tag{
  display:inline-flex;
  padding:.42rem .74rem;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  color:#E2E8F0;
  font-size:.8rem;
  font-weight:700;
}

.foovi-footer-social{
  display:flex;
  gap:.75rem;
  flex-wrap:wrap;
}

.foovi-social-link{
  width:42px;
  height:42px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08);
  color:#fff;
  text-decoration:none;
  transition:all .2s ease;
}

.foovi-social-link:hover{
  background:rgba(37,99,235,.24);
  color:#fff;
  transform:translateY(-1px);
}

.foovi-footer-title{
  font-size:.9rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:1rem;
  color:#fff;
}

.foovi-footer-links,
.foovi-footer-links-muted{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:.75rem;
}

.foovi-footer-links a,
.foovi-footer-links-muted a,
.foovi-footer-links-muted span{
  display:flex;
  align-items:center;
  gap:.65rem;
  color:#CBD5E1;
  text-decoration:none;
  font-size:.95rem;
}

.foovi-footer-links a:hover,
.foovi-footer-links-muted a:hover{
  color:#fff;
}

.foovi-footer-contact{
  display:grid;
  gap:.8rem;
}

.foovi-footer-contact-item{
  display:flex;
  align-items:center;
  gap:.75rem;
  padding:.85rem 1rem;
  border-radius:14px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  font-size:.95rem;
}

.foovi-footer-contact-item a{
  color:#E2E8F0;
  text-decoration:none;
}
.foovi-chatbot-shell{
  position: fixed;
  right: 18px;
  bottom: 16px;
  z-index: 1080;
  width: min(390px, calc(100vw - 22px));
  pointer-events: none;
}

.foovi-chatbot-fab{
  position: absolute;
  right: 0;
  bottom: 0;
  border: none;
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  padding: .9rem 1.15rem;
  border-radius: 999px;
  color: #111827;
  background: linear-gradient(135deg, #FACC15, #F59E0B);
  box-shadow: 0 18px 38px rgba(2,6,23,.24);
  font-weight: 800;
  font-size: .96rem;
  transition: transform .2s ease, box-shadow .2s ease;
  pointer-events: auto;
}

.foovi-chatbot-fab:hover{
  transform: translateY(-2px);
  box-shadow: 0 24px 46px rgba(2,6,23,.30);
}

.foovi-chatbot-fab-icon{
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(255,255,255,.38);
}

.foovi-chatbot-panel{
  position: absolute;
  right: 0;
  bottom: calc(100% + 14px);
  width: min(390px, calc(100vw - 22px));
  border-radius: 28px;
  overflow: hidden;
  background: rgba(255,255,255,.985);
  border: 1px solid rgba(226,232,240,.96);
  box-shadow: 0 30px 70px rgba(2,6,23,.26);
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px) scale(.98);
  transform-origin: bottom right;
  pointer-events: none;
  transition: opacity .22s ease, transform .22s ease, visibility .22s ease;
}

.foovi-chatbot-shell.is-open .foovi-chatbot-panel{
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

.foovi-chatbot-header{
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1rem .95rem;
  background:
    radial-gradient(circle at top right, rgba(37,99,235,.12), transparent 32%),
    radial-gradient(circle at bottom left, rgba(245,158,11,.08), transparent 30%),
    linear-gradient(180deg, #F8FBFF 0%, #FFFFFF 100%);
  border-bottom: 1px solid var(--foovi-border);
}

.foovi-chatbot-header-main{
  display: flex;
  gap: .85rem;
  min-width: 0;
}

.foovi-chatbot-avatar{
  width: 46px;
  height: 46px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(37,99,235,.16), rgba(245,158,11,.16));
  color: var(--foovi-primary);
  border: 1px solid rgba(37,99,235,.10);
  box-shadow: 0 10px 24px rgba(15,23,42,.05);
  flex-shrink: 0;
  font-size: 1rem;
}

.foovi-chatbot-header-text{
  min-width: 0;
}

.foovi-chatbot-title-row{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .45rem .6rem;
}

.foovi-chatbot-title{
  color: var(--foovi-text);
  font-weight: 800;
  font-size: 1.02rem;
  line-height: 1.2;
}

.foovi-chatbot-status{
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .24rem .55rem;
  border-radius: 999px;
  background: #ECFDF5;
  color: #047857;
  border: 1px solid #A7F3D0;
  font-size: .72rem;
  font-weight: 800;
}

.foovi-chatbot-status-dot{
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: #10B981;
  box-shadow: 0 0 0 4px rgba(16,185,129,.14);
}

.foovi-chatbot-subtitle{
  color: var(--foovi-muted);
  font-size: .9rem;
  line-height: 1.5;
  margin-top: .22rem;
  max-width: 30ch;
}

.foovi-chatbot-close{
  width: 38px;
  height: 38px;
  border: none;
  border-radius: 14px;
  color: var(--foovi-text);
  background: rgba(248,250,252,.95);
  border: 1px solid rgba(226,232,240,.9);
  transition: all .18s ease;
  flex-shrink: 0;
}

.foovi-chatbot-close:hover{
  background: #EEF2FF;
  color: var(--foovi-primary);
}

.foovi-chatbot-body{
  max-height: 320px;
  overflow: auto;
  padding: 1rem;
  display: grid;
  gap: .8rem;
  background: linear-gradient(180deg, #FFFFFF 0%, #FCFDFF 100%);
}

.chatbot-msg{
  display: flex;
  font-size: .94rem;
  line-height: 1.62;
  animation: chatbotMessageIn .22s ease;
}

.chatbot-msg-bot{
  justify-content: flex-start;
}

.chatbot-msg-user{
  justify-content: flex-end;
}

.chatbot-bubble{
  max-width: 88%;
  padding: .88rem 1rem;
  border-radius: 18px;
  white-space: pre-line;
}

.chatbot-msg-bot .chatbot-bubble{
  background: linear-gradient(180deg, #F8FAFC 0%, #FDFEFF 100%);
  border: 1px solid var(--foovi-border);
  color: var(--foovi-text-soft);
  box-shadow: 0 8px 18px rgba(15,23,42,.04);
}

.chatbot-msg-user .chatbot-bubble{
  background: linear-gradient(135deg, var(--foovi-primary), #3B82F6);
  color: #fff;
  box-shadow: 0 10px 22px rgba(37,99,235,.16);
}

.chatbot-bubble-thinking{
  min-width: 220px;
}

.chatbot-thinking{
  display: grid;
  gap: .7rem;
}

.chatbot-thinking-top{
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.chatbot-thinking-badge{
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .32rem .62rem;
  border-radius: 999px;
  background: #EEF4FF;
  border: 1px solid #D7E6FF;
  color: #1D4ED8;
  font-size: .76rem;
  font-weight: 800;
}

.chatbot-thinking-badge-dot{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #3B82F6;
  animation: chatbotPulse 1.2s infinite ease-in-out;
}

.chatbot-thinking-lines{
  display: grid;
  gap: .45rem;
}

.chatbot-thinking-line{
  display: block;
  height: 10px;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    rgba(226,232,240,.9) 0%,
    rgba(241,245,249,1) 45%,
    rgba(226,232,240,.9) 100%
  );
  background-size: 200% 100%;
  animation: chatbotShimmer 1.2s linear infinite;
}

.chatbot-thinking-line-short{
  width: 72%;
}

.chatbot-thinking-dots{
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.chatbot-thinking-dots span{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #94A3B8;
  animation: fooviTyping 1s infinite ease-in-out;
}

.chatbot-thinking-dots span:nth-child(2){
  animation-delay: .12s;
}

.chatbot-thinking-dots span:nth-child(3){
  animation-delay: .24s;
}

.foovi-chatbot-suggestions{
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  padding: 0 1rem .7rem;
  background: #fff;
}

.foovi-chatbot-chip,
.chatbot-chip{
  border: none;
  padding: .56rem .9rem;
  border-radius: 999px;
  background: linear-gradient(180deg, #F8FAFC 0%, #EEF4FF 100%);
  color: var(--foovi-primary);
  font-weight: 700;
  font-size: .88rem;
  border: 1px solid #E2E8F0;
  transition: all .18s ease;
}

.foovi-chatbot-chip:hover,
.chatbot-chip:hover{
  background: #DBEAFE;
  transform: translateY(-1px);
}

.foovi-chatbot-footer{
  padding: .8rem 1rem 1rem;
  background: linear-gradient(180deg, rgba(248,250,252,.98), rgba(255,255,255,1));
  border-top: 1px solid rgba(226,232,240,.9);
}

.foovi-chatbot-form{
  padding: 0;
  background: transparent;
}

.foovi-chatbot-input-shell{
  padding: .18rem;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(37,99,235,.10), rgba(245,158,11,.08));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}

.foovi-chatbot-input-row{
  display: flex;
  gap: .65rem;
  align-items: center;
  padding: .18rem;
  border-radius: 18px;
  background: #FFFFFF;
}

.foovi-chatbot-input{
  flex: 1;
  min-height: 48px;
  border: none;
  border-radius: 14px;
  background: transparent;
  color: var(--foovi-text);
  padding: 0 .95rem;
  font-size: .94rem;
  box-shadow: none !important;
}

.foovi-chatbot-input::placeholder{
  color: #94A3B8;
}

.foovi-chatbot-input:focus{
  border: none;
  outline: none;
  box-shadow: none !important;
}

.foovi-chatbot-submit{
  width: 48px;
  height: 48px;
  border: none;
  border-radius: 16px;
  color: #fff;
  background: linear-gradient(135deg, var(--foovi-primary), #3B82F6);
  box-shadow: 0 12px 24px rgba(37,99,235,.20);
  transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
  flex-shrink: 0;
}

.foovi-chatbot-submit:hover{
  transform: translateY(-1px);
  box-shadow: 0 16px 28px rgba(37,99,235,.24);
}

.foovi-chatbot-submit:disabled{
  opacity: .85;
  cursor: not-allowed;
}

.foovi-chatbot-submit.is-loading{
  transform: none;
}

.foovi-chatbot-helper{
  margin-top: .7rem;
  display: flex;
  align-items: flex-start;
  gap: .5rem;
  color: var(--foovi-muted);
  font-size: .83rem;
  line-height: 1.45;
  padding: .1rem .15rem 0;
}

.foovi-chatbot-helper i{
  color: var(--foovi-accent);
  margin-top: .05rem;
  flex-shrink: 0;
}

.chatbot-inline-link{
  color: var(--foovi-primary);
  font-weight: 700;
  text-decoration: none;
}

.chatbot-inline-link:hover{
  text-decoration: underline;
}

.chatbot-list{
  margin: .65rem 0 .8rem 1rem;
  padding: 0;
}

.chatbot-list li{
  margin-bottom: .7rem;
}

.chatbot-item-snippet{
  color: #475569;
  font-size: .9rem;
}

@keyframes fooviTyping{
  0%, 80%, 100%{ transform: translateY(0); opacity: .45; }
  40%{ transform: translateY(-3px); opacity: 1; }
}

@keyframes chatbotPulse{
  0%, 100%{ transform: scale(1); opacity: .8; }
  50%{ transform: scale(1.15); opacity: 1; }
}

@keyframes chatbotShimmer{
  0%{ background-position: 200% 0; }
  100%{ background-position: -200% 0; }
}

@keyframes chatbotMessageIn{
  from{
    opacity: 0;
    transform: translateY(6px);
  }
  to{
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 767.98px){
  .foovi-chatbot-shell{
    right: 12px;
    bottom: 12px;
    width: min(360px, calc(100vw - 16px));
  }

  .foovi-chatbot-panel{
    width: min(360px, calc(100vw - 16px));
    border-radius: 24px;
  }

  .foovi-chatbot-fab{
    padding: .82rem 1rem;
    font-size: .92rem;
  }

  .foovi-chatbot-header{
    padding: .95rem .9rem .9rem;
  }

  .foovi-chatbot-footer{
    padding: .7rem .9rem .9rem;
  }

  .foovi-chatbot-subtitle{
    max-width: none;
  }

  .foovi-chatbot-body{
    max-height: 280px;
  }
}
.chatbot-dynamic-suggestions{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin-top:.65rem;
  max-width:88%;
}

.chatbot-chip-dynamic{
  border:none;
  padding:.5rem .85rem;
  border-radius:999px;
  background:linear-gradient(180deg, #F8FAFC 0%, #EEF4FF 100%);
  color:var(--foovi-primary);
  font-weight:700;
  font-size:.84rem;
  border:1px solid #E2E8F0;
  transition:all .18s ease;
  box-shadow:0 6px 14px rgba(15,23,42,.04);
}

.chatbot-chip-dynamic:hover{
  background:#DBEAFE;
  transform:translateY(-1px);
}

.chatbot-bubble-thinking{
  min-width:220px;
}

.chatbot-thinking{
  display:grid;
  gap:.7rem;
}

.chatbot-thinking-top{
  display:flex;
  align-items:center;
  justify-content:flex-start;
}

.chatbot-thinking-badge{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.32rem .62rem;
  border-radius:999px;
  background:#EEF4FF;
  border:1px solid #D7E6FF;
  color:#1D4ED8;
  font-size:.76rem;
  font-weight:800;
}

.chatbot-thinking-badge-dot{
  width:8px;
  height:8px;
  border-radius:999px;
  background:#3B82F6;
  animation:chatbotPulse 1.2s infinite ease-in-out;
}

.chatbot-thinking-lines{
  display:grid;
  gap:.45rem;
}

.chatbot-thinking-line{
  display:block;
  height:10px;
  border-radius:999px;
  background:linear-gradient(
    90deg,
    rgba(226,232,240,.9) 0%,
    rgba(241,245,249,1) 45%,
    rgba(226,232,240,.9) 100%
  );
  background-size:200% 100%;
  animation:chatbotShimmer 1.2s linear infinite;
}

.chatbot-thinking-line-short{
  width:72%;
}

.chatbot-thinking-dots{
  display:inline-flex;
  align-items:center;
  gap:6px;
}

.chatbot-thinking-dots span{
  width:8px;
  height:8px;
  border-radius:999px;
  background:#94A3B8;
  animation:fooviTyping 1s infinite ease-in-out;
}

.chatbot-thinking-dots span:nth-child(2){
  animation-delay:.12s;
}

.chatbot-thinking-dots span:nth-child(3){
  animation-delay:.24s;
}

.chatbot-dynamic-suggestions{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin-top:.65rem;
  max-width:88%;
}

.chatbot-chip-dynamic{
  border:none;
  padding:.5rem .85rem;
  border-radius:999px;
  background:linear-gradient(180deg, #F8FAFC 0%, #EEF4FF 100%);
  color:var(--foovi-primary);
  font-weight:700;
  font-size:.84rem;
  border:1px solid #E2E8F0;
  transition:all .18s ease;
  box-shadow:0 6px 14px rgba(15,23,42,.04);
}

.chatbot-chip-dynamic:hover{
  background:#DBEAFE;
  transform:translateY(-1px);
}

.chatbot-inline-link{
  color:var(--foovi-primary);
  font-weight:700;
  text-decoration:none;
}

.chatbot-inline-link:hover{
  text-decoration:underline;
}

.chatbot-list{
  margin:.65rem 0 .8rem 1rem;
  padding:0;
}

.chatbot-list li{
  margin-bottom:.7rem;
}

.chatbot-item-snippet{
  color:#475569;
  font-size:.9rem;
}

@keyframes fooviTyping{
  0%, 80%, 100%{ transform:translateY(0); opacity:.45; }
  40%{ transform:translateY(-3px); opacity:1; }
}

@keyframes chatbotPulse{
  0%, 100%{ transform:scale(1); opacity:.8; }
  50%{ transform:scale(1.15); opacity:1; }
}

@keyframes chatbotShimmer{
  0%{ background-position:200% 0; }
  100%{ background-position:-200% 0; }
}