/* =========================================================
   ZakiChat Settings Hub
   ========================================================= */

.settings-page{
  min-height:100vh;
  padding-bottom:92px;
  background:#050b13;
  color:var(--text);
}

.settings-shell{
  width:min(760px,calc(100% - 28px));
  margin:0 auto;
  padding:18px 0 32px;
}

.settings-header{
  display:flex;
  align-items:flex-start;
  gap:14px;
  margin-bottom:18px;
}

.settings-back{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  border:1px solid var(--line);
  border-radius:12px;
  color:var(--text);
  background:#0b1828;
  text-decoration:none;
  font-size:20px;
  transition:.18s ease;
}

.settings-back:hover{
  color:var(--primary);
  border-color:rgba(39,211,162,.35);
  background:#102338;
}

.settings-back span:last-child{
  display:none;
}

.settings-title{
  min-width:0;
}

.settings-eyebrow{
  display:block;
  margin-bottom:4px;
  color:var(--primary);
  font-size:10px;
  font-weight:800;
  letter-spacing:.18em;
}

.settings-title h1{
  margin:0;
  font-size:clamp(28px,6vw,38px);
  line-height:1.05;
}

.settings-title p{
  margin:7px 0 0;
  color:var(--muted);
  font-size:.78rem;
}

/* Profile */

.settings-profile-card{
  margin-bottom:22px;
  overflow:hidden;
  border:1px solid rgba(39,211,162,.16);
  border-radius:18px;
  background:linear-gradient(
    135deg,
    rgba(39,211,162,.12),
    rgba(24,174,240,.08)
  );
}

.settings-profile-link{
  display:flex;
  align-items:center;
  gap:13px;
  min-height:78px;
  padding:12px 15px;
  color:var(--text);
  text-decoration:none;
}

.settings-profile-avatar{
  width:52px;
  height:52px;
  flex:0 0 52px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:linear-gradient(135deg,#27d3a2,#087db0);
  color:#03120e;
  font-size:1.2rem;
  font-weight:900;
}

.settings-profile-copy{
  min-width:0;
  flex:1;
  display:flex;
  flex-direction:column;
  gap:4px;
}

.settings-profile-copy strong{
  font-size:.92rem;
}

.settings-profile-copy span{
  color:var(--muted);
  font-size:.7rem;
  line-height:1.4;
}

/* Groups */

.settings-group{
  margin-top:22px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:17px;
  background:#081522;
}

.settings-group h2{
  margin:0;
  padding:13px 15px 9px;
  color:var(--primary);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.settings-item{
  min-height:64px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 14px;
  border-top:1px solid rgba(255,255,255,.055);
  color:var(--text);
  text-decoration:none;
  transition:
    background .18s ease,
    transform .18s ease;
}

.settings-item:hover{
  background:rgba(39,211,162,.055);
}

.settings-item:active{
  transform:scale(.995);
}

.settings-item-icon{
  width:39px;
  height:39px;
  flex:0 0 39px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:#102338;
  font-size:18px;
}

.settings-item-copy{
  min-width:0;
  flex:1;
  display:flex;
  flex-direction:column;
  gap:3px;
}

.settings-item-copy strong{
  font-size:.78rem;
  font-weight:750;
}

.settings-item-copy small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--muted);
  font-size:.65rem;
  line-height:1.4;
}

.settings-chevron{
  flex:0 0 auto;
  color:#71869b;
  font-size:1.3rem;
}

.settings-notification-item{
  border-top:1px solid rgba(255,255,255,.055);
}

/* Notification control */

.settings-toggle{
  flex:0 0 auto;
  min-width:78px;
  border:0;
  border-radius:10px;
  padding:9px 12px;
  background:rgba(39,211,162,.13);
  color:var(--primary);
  font:inherit;
  font-size:.66rem;
  font-weight:800;
  cursor:pointer;
  transition:.18s ease;
}

.settings-toggle:hover:not(:disabled){
  background:rgba(39,211,162,.2);
  transform:translateY(-1px);
}

.settings-toggle.enabled{
  background:rgba(39,211,162,.2);
}

.settings-toggle:disabled{
  opacity:.5;
  cursor:not-allowed;
}

.settings-message{
  min-height:18px;
  margin:5px 14px 7px;
  color:var(--muted);
  font-size:.64rem;
}

/* Bottom navigation */

.settings-page .bottom-nav{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:80;
  max-width:none;
  margin:0;
  padding:7px max(8px,env(safe-area-inset-right))
           calc(7px + env(safe-area-inset-bottom))
           max(8px,env(safe-area-inset-left));
  border-top:1px solid var(--line);
  background:rgba(5,11,19,.96);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.settings-page .bottom-nav a{
  min-height:54px;
}

/* Mobile */

@media(max-width:560px){

  .settings-shell{
    width:calc(100% - 20px);
    padding-top:12px;
  }

  .settings-header{
    gap:10px;
  }

  .settings-back{
    width:39px;
    height:39px;
    flex-basis:39px;
  }

  .settings-title h1{
    font-size:28px;
  }

  .settings-item{
    min-height:61px;
    padding:9px 11px;
  }

  .settings-item-icon{
    width:36px;
    height:36px;
    flex-basis:36px;
    font-size:16px;
  }

  .settings-item-copy small{
    white-space:normal;
  }

  .settings-toggle{
    min-width:72px;
  }

}

/* Accessibility */

@media(prefers-reduced-motion:reduce){

  .settings-item,
  .settings-back,
  .settings-toggle{
    transition:none;
  }

}


/* ZAKICHAT SETTINGS THREE-ITEM BOTTOM NAV */

.settings-page {
  min-height: 100dvh;
  padding-bottom: 92px;
}

.settings-page .bottom-nav {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;

  display: grid !important;
  grid-template-columns: minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr) !important;

  gap: 6px !important;

  box-sizing: border-box !important;

  padding:
    7px
    max(8px, env(safe-area-inset-right))
    calc(7px + env(safe-area-inset-bottom))
    max(8px, env(safe-area-inset-left)) !important;

  overflow: visible !important;

  border-top: 1px solid var(--line) !important;

  background: rgba(5,11,19,.97) !important;

  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;

  z-index: 999 !important;
}

.settings-page .bottom-nav a {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 56px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  box-sizing: border-box !important;

  padding: 7px 10px !important;

  border-radius: 15px !important;

  white-space: nowrap !important;
  overflow: visible !important;

  font-size: .7rem !important;
}

.settings-page .bottom-nav a:nth-child(2) {
  min-width: 0 !important;
}

.settings-page .bottom-nav-icon {
  width: 28px !important;
  height: 28px !important;
  flex: 0 0 28px !important;
  font-size: 1.15rem !important;
}

.settings-page .bottom-nav a > span:last-child {
  max-width: none !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

@media (max-width: 560px) {

  .settings-page {
    padding-bottom: 88px;
  }

  .settings-page .bottom-nav {
    grid-template-columns:
      minmax(0,1fr)
      minmax(0,1.2fr)
      minmax(0,1fr) !important;

    gap: 4px !important;

    padding:
      6px
      max(6px, env(safe-area-inset-right))
      calc(6px + env(safe-area-inset-bottom))
      max(6px, env(safe-area-inset-left)) !important;
  }

  .settings-page .bottom-nav a {
    min-height: 55px !important;
    padding: 6px 7px !important;
    border-radius: 14px !important;
    font-size: .66rem !important;
  }

  .settings-page .bottom-nav-icon {
    width: 27px !important;
    height: 27px !important;
    flex-basis: 27px !important;
    font-size: 1.1rem !important;
  }
}

@media (max-width: 380px) {

  .settings-page .bottom-nav {
    gap: 3px !important;
  }

  .settings-page .bottom-nav a {
    min-height: 53px !important;
    padding: 5px 4px !important;
    font-size: .62rem !important;
  }
}


/* ============================================================
   AURORA FLOATING CONTACT & SUPPORT
   ============================================================ */

.settings-support-float {
  position: fixed;
  right: 18px;
  bottom: calc(82px + env(safe-area-inset-bottom));
  z-index: 999;

  display: inline-flex;
  align-items: center;
  gap: 9px;

  min-height: 48px;
  padding: 0 17px 0 13px;

  border: 1px solid rgba(120, 255, 230, 0.32);
  border-radius: 999px;

  background:
    linear-gradient(
      135deg,
      rgba(12, 25, 34, 0.96),
      rgba(17, 43, 49, 0.92)
    );

  color: #dffff8;
  text-decoration: none;

  box-shadow:
    0 0 12px rgba(83, 255, 224, 0.18),
    0 0 30px rgba(83, 255, 224, 0.10),
    inset 0 0 14px rgba(83, 255, 224, 0.06);

  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);

  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    border-color 0.2s ease;
}

.settings-support-float:hover,
.settings-support-float:focus-visible {
  transform: translateY(-3px);
  border-color: rgba(120, 255, 230, 0.65);

  box-shadow:
    0 0 16px rgba(83, 255, 224, 0.28),
    0 0 38px rgba(83, 255, 224, 0.16),
    inset 0 0 18px rgba(83, 255, 224, 0.09);
}

.settings-support-float:active {
  transform: scale(0.96);
}

.settings-support-float-icon {
  width: 27px;
  height: 27px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;

  background:
    radial-gradient(
      circle at 35% 30%,
      rgba(150, 255, 240, 0.95),
      rgba(54, 180, 170, 0.28) 55%,
      rgba(20, 70, 72, 0.18)
    );

  color: #dffff8;
  font-size: 14px;

  box-shadow:
    0 0 10px rgba(83, 255, 224, 0.32);
}

.settings-support-float-label {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.2px;
  white-space: nowrap;
}

@media (max-width: 520px) {
  .settings-support-float {
    right: 14px;
    bottom: calc(78px + env(safe-area-inset-bottom));
    min-height: 46px;
    padding-right: 14px;
  }
}

@media (max-width: 360px) {
  .settings-support-float {
    width: 48px;
    height: 48px;
    min-height: 48px;
    padding: 0;
    justify-content: center;
  }

  .settings-support-float-label {
    display: none;
  }
}


/* Disabled Settings items stay visible without sending users to missing pages. */
.settings-item-disabled{cursor:default;opacity:.78}
.settings-item-disabled:hover{transform:none!important;border-color:var(--border-color,rgba(255,255,255,.1))!important;background:var(--card-bg,rgba(255,255,255,.035))!important}
.settings-coming-soon{flex:0 0 auto;padding:5px 8px;border:1px solid rgba(87,210,255,.16);border-radius:9px;background:rgba(56,220,255,.055);color:#88b8d0;font-size:.65rem;font-weight:800;white-space:nowrap}
