/* static/css/theme.css */

/* General styles */
:root {
  --bs-primary: #040053;
  --bs-secondary: #e5b800;
  --bs-tertiary: #3de2e5;
  --bs-quarternary: #e50000;
  --bs-body-bg: #f7f8fc;
  --bs-body-color: #1f2937;
  --bs-link-color: var(--bs-primary);
  --bs-link-hover-color: var(--bs-secondary);
}

a {
  color: var(--bs-primary);
}

/* Page styles */

body {
  background:
    linear-gradient(rgba(255,255,255,.75), rgba(255,255,255,.25)),
    url("../images/splash_img.jpg") center/cover fixed no-repeat;
}

.page-background {
  background-color: rgba(255,255,255,.95);
}

.card {
  background-color: rgba(255,255,255,.95);
  border: 1px solid rgba(0,0,0,.05);
}

/* Button styles */
.btn-primary {
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-bg: var(--bs-secondary);
  --bs-btn-hover-color: #000;
  --bs-btn-hover-border-color: var(--bs-secondary);
}

.btn-outline-primary {
  --bs-btn-bg: #fff;
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-color: var(--bs-primary);
  --bs-btn-hover-bg: var(--bs-primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-border-color: var(--bs-primary);
}

.btn-register-nav {
  --bs-btn-bg: #fff;
  --bs-btn-border-color: #fff;
  --bs-btn-color: var(--bs-primary);
  --bs-btn-hover-bg: var(--bs-secondary);
  --bs-btn-hover-border-color: var(--bs-secondary);
  --bs-btn-hover-color: var(--bs-primary);
}

.btn-login-nav {
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-border-color: #fff;
  --bs-btn-color: #fff;
  --bs-btn-hover-bg: var(--bd-primary);
  --bs-btn-hover-border-color: var(--bs-secondary);
  --bs-btn-hover-color: var(--bs-secondary);
}

/* Navbar styles */
.navbar.app-navbar {
  background-color: var(--bs-primary);
}

.navbar.app-navbar .nav-link{
  position: relative;
  color: rgba(255,255,255,.9);
  transition: color .2s ease;
}

.navbar.app-navbar .nav-link::after{
  content: "";
  position: absolute;
  left: .75rem;
  right: .75rem;
  bottom: .35rem;
  height: 2px;
  background: var(--bs-tertiary); /* Line styling on hover */
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .25s ease, background-color .2s ease;
  opacity: .95;
}

/* Link text on hover */
.navbar.app-navbar .nav-link:hover,
.navbar.app-navbar .nav-link:focus{
  color: var(--bs-tertiary);
}
.navbar.app-navbar .nav-link:hover::after,
.navbar.app-navbar .nav-link:focus::after{
  transform: scaleX(1);
}

/* Link text styling on selected */
.navbar.app-navbar .nav-link.active{
  color: var(--bs-secondary);
}

/* Line styling on selected */
.navbar.app-navbar .nav-link.active::after{
  transform: scaleX(1);
  background: var(--bs-secondary);
}



/* Footer styles */
.site-footer {
  background-color: var(--bs-primary);
  color: #e2e8f0;
}

.site-footer a {
  color: #e2e8f0;
}

.site-footer a:hover {
  color: var(--bs-link-hover-color);
}

/* Chat layout */
.chat-panel{ height:70vh; min-height:420px; }
.chat-log{ overflow:auto; }

/* Bubbles */
.chat-msg .bubble{
  display:inline-block;
  padding:.5rem .75rem;
  border-radius:1rem;
  max-width: min(75ch, 100%);
  word-wrap:break-word;
  background: var(--chat-bubble-bg, var(--bs-body-bg));
  border: 1px solid rgba(0,0,0,.08);
}

.chat-msg.me{ text-align:right; }
.chat-msg.me .bubble{
  background: var(--chat-me-bg, var(--bs-primary));
  color: var(--chat-me-fg, #fff);
  border-color: transparent;
}
.chat-msg.them .bubble{
  background: var(--chat-them-bg, var(--bs-body-tertiary, #f1f5f9));
  color: inherit;
}

/* Tiny dot between name/time when server-rendered meta uses spans */
.chat-msg .meta .dot{ padding:0 .25rem; }

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
  .chat-msg .bubble{ transition:none; }
}

