/* Devora Q.A — Guest Action Dock / Phase 2 Layout Root
 * One root-level guest dock shared by Featured / My Questions / Rooms.
 * Architecture: root grid rows = Header / Content / Guest Dock.
 * No fixed/absolute positioning, no overlay, no guessed bottom padding.
 */

/* ---------- Root layout ownership ---------- */
#qa-chat-root.qa-app-student.qa-guest-action-dock-visible{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  align-content:stretch!important;
  width:100%!important;
  height:100dvh!important;
  min-height:100dvh!important;
  max-height:100dvh!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  gap:12px!important;
  padding:14px!important;
}

#qa-chat-root.qa-app-student.qa-guest-action-dock-visible > .qa-shell-topbar{
  grid-row:1!important;
  grid-column:1!important;
  position:relative!important;
  top:auto!important;
  inset-inline:auto!important;
  margin:0!important;
  min-width:0!important;
}

#qa-chat-root.qa-app-student.qa-guest-action-dock-visible > .qa-shell{
  grid-row:2!important;
  grid-column:1!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  overflow:hidden!important;
  align-items:stretch!important;
}

#qa-chat-root.qa-app-student.qa-guest-action-dock-visible > #qa-guest-action-dock{
  grid-row:3!important;
  grid-column:1!important;
}

/* Content owns its own scrolling; dock never overlays content. */
#qa-chat-root.qa-app-student.qa-guest-action-dock-visible .qa-sidebar,
#qa-chat-root.qa-app-student.qa-guest-action-dock-visible .qa-chatcard{
  min-height:0!important;
  height:100%!important;
  max-height:100%!important;
}

#qa-chat-root.qa-app-student.qa-guest-action-dock-visible .qa-sidebar{
  overflow:hidden!important;
}

#qa-chat-root.qa-app-student.qa-guest-action-dock-visible .qa-chatcard{
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
}

#qa-chat-root.qa-app-student.qa-guest-action-dock-visible .qa-chat-head{
  flex:0 0 auto!important;
}

#qa-chat-root.qa-app-student.qa-guest-action-dock-visible .qa-messages{
  flex:1 1 auto!important;
  min-height:0!important;
  height:auto!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  padding-bottom:18px!important;
  scroll-padding-bottom:18px!important;
}

#qa-chat-root.qa-app-student.qa-guest-action-dock-visible .qa-thread-list{
  min-height:0!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  padding-bottom:14px!important;
  scroll-padding-bottom:14px!important;
}

/* Guest compose is replaced by the one global dock. */
#qa-chat-root.qa-app-student.qa-guest-action-dock-visible .qa-compose-wrap,
#qa-chat-root.qa-app-student .qa-guest-compose-suppressed{
  display:none!important;
}

/* ---------- Dock shell ---------- */
#qa-chat-root.qa-app-student .qa-guest-action-dock{
  --qa-guest-consult-accent:#b83f37; /* single palette owner */
  --qa-guest-consult-accent-hover:#a53731;
  --qa-guest-consult-ink:#7c2d2d;
  --qa-guest-consult-soft:#fff8f5;
  --qa-guest-consult-border:#e8d2cc;
  position:static!important;
  inset:auto!important;
  transform:none!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
  z-index:auto!important;
}

#qa-chat-root.qa-app-student .qa-guest-action-dock[hidden]{
  display:none!important;
}

#qa-chat-root.qa-app-student .qa-guest-action-dock.is-visible{
  display:grid!important;
  grid-template-columns:minmax(0,1.55fr) minmax(240px,.72fr)!important;
  gap:8px!important;
  padding:8px!important;
  border:1px solid color-mix(in srgb,var(--border) 80%,transparent)!important;
  border-radius:20px!important;
  background:color-mix(in srgb,var(--surface-strong) 96%,transparent)!important;
  box-shadow:0 14px 34px rgba(15,23,42,.10)!important;
  backdrop-filter:blur(16px) saturate(1.08)!important;
  -webkit-backdrop-filter:blur(16px) saturate(1.08)!important;
}

/* ---------- Consulting action ---------- */
#qa-chat-root .qa-guest-consulting-action,
#qa-chat-root .qa-guest-login-action{
  font:inherit;
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
  box-sizing:border-box;
  width:100%;
  min-width:0;
}

#qa-chat-root .qa-guest-consulting-action{
  min-height:58px;
  padding:8px 10px;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  direction:rtl;
  text-align:right;
  border:1px solid var(--qa-guest-consult-border);
  border-radius:15px;
  background:linear-gradient(135deg,#fffcfa 0%,var(--qa-guest-consult-soft) 100%);
  color:var(--qa-guest-consult-ink);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}

#qa-chat-root .qa-guest-consulting-action:hover{
  transform:translateY(-1px);
  border-color:#d9aaa2;
  box-shadow:0 10px 22px rgba(124,45,45,.09),inset 0 1px 0 rgba(255,255,255,.94);
}

#qa-chat-root .qa-guest-consulting-action:hover .qa-guest-consulting-cta{
  background:var(--qa-guest-consult-accent-hover);
}

#qa-chat-root .qa-guest-consulting-action:focus-visible,
#qa-chat-root .qa-guest-login-action:focus-visible{
  outline:3px solid rgba(184,63,55,.18);
  outline-offset:2px;
}

#qa-chat-root .qa-guest-consulting-icon{
  width:38px;
  height:38px;
  min-width:38px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#f7e9e4;
  color:var(--qa-guest-consult-ink);
}

#qa-chat-root .qa-guest-consulting-icon svg{
  width:18px;
  height:18px;
  display:block;
}

#qa-chat-root .qa-guest-consulting-copy{
  min-width:0;
  display:grid;
  gap:1px;
  align-content:center;
}

#qa-chat-root .qa-guest-consulting-copy strong{
  min-width:0;
  color:var(--qa-guest-consult-ink);
  font-size:max(var(--tsqam-font-min,10px),calc(13px - var(--tsqam-font-cut-sm,0px)));
  font-weight:950;
  line-height:1.48;
}

#qa-chat-root .qa-guest-consulting-copy small{
  min-width:0;
  color:#765d58;
  font-size:max(var(--tsqam-font-min,10px),calc(10.3px - var(--tsqam-font-cut-xs,0px)));
  font-weight:720;
  line-height:1.5;
}

#qa-chat-root .qa-guest-consulting-title-mobile{display:none;}

#qa-chat-root .qa-guest-consulting-cta{
  min-height:32px;
  padding:0 11px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  border-radius:10px;
  background:var(--qa-guest-consult-accent);
  color:#fff;
  font-size:10px;
  font-weight:950;
  line-height:1;
  white-space:nowrap;
  box-shadow:0 7px 15px rgba(124,45,45,.16);
}

/* ---------- Normal login action ---------- */
#qa-chat-root .qa-guest-login-action{
  min-height:58px;
  padding:0 16px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid rgba(75,153,229,.30);
  border-radius:15px;
  background:linear-gradient(180deg,#ffffff,#f4f9ff);
  color:#183b5c;
  font-size:max(var(--tsqam-font-min,10px),calc(13px - var(--tsqam-font-cut-sm,0px)));
  font-weight:950;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}

#qa-chat-root .qa-guest-login-action:hover{
  transform:translateY(-1px);
  border-color:rgba(47,150,234,.48);
  box-shadow:0 9px 20px rgba(47,150,234,.10),inset 0 1px 0 rgba(255,255,255,.94);
}

#qa-chat-root .qa-guest-login-arrow{
  font-size:max(var(--tsqam-font-min,10px),calc(14px - var(--tsqam-font-cut-sm,0px)));
  line-height:1;
  color:#2f96ea;
}

/* ---------- Mobile root layout ---------- */
@media (max-width:640px){
  #qa-chat-root.qa-app-student.qa-guest-action-dock-visible{
    grid-template-rows:auto minmax(0,1fr) auto!important;
    gap:8px!important;
    padding:8px 8px max(8px,env(safe-area-inset-bottom,0px))!important;
  }

  #qa-chat-root.qa-app-student.qa-guest-action-dock-visible > .qa-shell-topbar{
    border-radius:18px!important;
  }

  #qa-chat-root.qa-app-student.qa-guest-action-dock-visible > .qa-shell{
    display:block!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
  }

  #qa-chat-root.qa-app-student.qa-guest-action-dock-visible .qa-chatcard{
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:100%!important;
    max-height:100%!important;
    border-radius:18px!important;
  }

  #qa-chat-root.qa-app-student .qa-guest-action-dock.is-visible{
    grid-template-columns:minmax(0,1fr)!important;
    gap:6px!important;
    padding:6px!important;
    border-radius:16px!important;
    box-shadow:0 10px 24px rgba(15,23,42,.12)!important;
  }

  #qa-chat-root .qa-guest-consulting-action{
    min-height:44px;
    grid-template-columns:30px minmax(0,1fr) auto;
    gap:6px;
    padding:6px 7px;
    border-radius:12px;
  }

  #qa-chat-root .qa-guest-consulting-icon{
    width:30px;
    height:30px;
    min-width:30px;
    border-radius:9px;
  }

  #qa-chat-root .qa-guest-consulting-icon svg{width:15px;height:15px;}
  #qa-chat-root .qa-guest-consulting-title-desktop{display:none;}
  #qa-chat-root .qa-guest-consulting-title-mobile{
    display:block;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  #qa-chat-root .qa-guest-consulting-copy strong{
    font-size:max(var(--tsqam-font-min,10px),calc(10.8px - var(--tsqam-font-cut-xs,0px)));
    line-height:1.3;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }

  #qa-chat-root .qa-guest-consulting-copy small{display:none;}

  #qa-chat-root .qa-guest-consulting-cta{
    min-height:27px;
    padding:0 8px;
    border-radius:8px;
    font-size:8.7px;
    box-shadow:none;
  }

  #qa-chat-root .qa-guest-login-action{
    min-height:39px;
    height:39px;
    padding:0 12px;
    border-radius:11px;
    font-size:max(var(--tsqam-font-min,10px),calc(10.9px - var(--tsqam-font-cut-xs,0px)));
  }

  #qa-chat-root .qa-guest-login-arrow{font-size:max(var(--tsqam-font-min,10px),calc(12px - var(--tsqam-font-cut-xs,0px)));}
}

@media (max-width:360px){
  #qa-chat-root.qa-app-student.qa-guest-action-dock-visible{
    padding-inline:6px!important;
    gap:6px!important;
  }
  #qa-chat-root .qa-guest-consulting-action{
    grid-template-columns:28px minmax(0,1fr) auto;
    gap:5px;
    padding-inline:6px;
  }
  #qa-chat-root .qa-guest-consulting-icon{width:28px;height:28px;min-width:28px;}
  #qa-chat-root .qa-guest-consulting-copy strong{font-size:max(var(--tsqam-font-min,10px),calc(10.2px - var(--tsqam-font-cut-xs,0px)));}
  #qa-chat-root .qa-guest-consulting-cta{padding-inline:7px;font-size:8.2px;}
}

/* ---------- Dark mode ---------- */
html[data-qa-theme="dark"] #qa-chat-root.qa-app-student .qa-guest-action-dock.is-visible{
  border-color:rgba(148,163,184,.18)!important;
  background:rgba(12,20,32,.96)!important;
  box-shadow:0 16px 34px rgba(0,0,0,.26)!important;
}

html[data-qa-theme="dark"] #qa-chat-root .qa-guest-consulting-action{
  border-color:rgba(216,142,128,.30);
  background:linear-gradient(135deg,rgba(58,32,31,.98),rgba(43,25,25,.98));
}

html[data-qa-theme="dark"] #qa-chat-root .qa-guest-consulting-icon{background:rgba(216,142,128,.14);color:#f4c6bb;}
html[data-qa-theme="dark"] #qa-chat-root .qa-guest-consulting-copy strong{color:#f7e2dc;}
html[data-qa-theme="dark"] #qa-chat-root .qa-guest-consulting-copy small{color:#d9aaa2;}
html[data-qa-theme="dark"] #qa-chat-root .qa-guest-login-action{
  border-color:rgba(96,165,250,.24);
  background:rgba(18,30,47,.96);
  color:#e4f2ff;
}

@media (prefers-reduced-motion:reduce){
  #qa-chat-root .qa-guest-consulting-action,
  #qa-chat-root .qa-guest-login-action{transition:none!important;}
}
