/* ui-theme.css — Centralized design tokens for NTIBUZZ public site
   Copied from backend/public for portal/public usage.
*/
:root{
  --primary: #b3831a;
  --primary2: #8a6410;
  --gold: #c9a64a;
  --primary-rgb: 179,131,26;
  --primary2-rgb: 138,100,16;
  --gold-rgb: 201,166,74;
  --bg: #f7f3ea;
  --surface: #ffffff;
  --text: #332b17;
  --muted: #667085;
  --line: #e8e0cf;
  --radius: 18px;
}
:root{ --bs-primary: var(--primary); --bs-primary-rgb: 179,131,26; }
[data-bs-theme="dark"], .dark{ --bg:#16110a; --surface:#1b160e; --text:#fcf9f0; }
.btn-brand{ background: linear-gradient(135deg,var(--primary),var(--primary2)); color:#fff; border:0; }
.bg-brand{ background:linear-gradient(135deg,var(--primary),var(--primary2)) !important; color:#fff !important; }

/* Experimental navigation + glassy system-wide UI */
.nt-navbar, header.topbar, .nav {
  --glow: rgba(201,166,74,0.12);
}

.nt-navbar, header.topbar{
  background: linear-gradient(180deg, rgba(var(--primary-rgb),0.06), rgba(255,255,255,0.02));
  backdrop-filter: blur(6px) saturate(120%);
  box-shadow: 0 6px 24px rgba(20,16,8,0.08);
  border-bottom: 1px solid rgba(255,255,255,0.04);
}

.nt-navbar .navbar-brand, header.topbar .brand{
  display:flex;align-items:center;gap:.6rem;padding:.4rem .6rem;border-radius:12px;transition:transform .18s ease,box-shadow .18s ease;
}
.nt-navbar .navbar-brand:hover, header.topbar .brand:hover{ transform:translateY(-3px); box-shadow:var(--shadow); }

/* Floating active underline */
.nt-navbar .nav-link, header.topbar .nav a{ position:relative; }
.nt-navbar .nav-link::after, header.topbar .nav a::after{
  content:'';position:absolute;left:50%;transform:translateX(-50%) scaleX(0);bottom:-8px;height:3px;width:64%;background:linear-gradient(90deg,var(--primary),var(--gold));border-radius:3px;transition:transform .28s cubic-bezier(.2,.9,.2,1);opacity:0.98;
}
.nt-navbar .nav-link.active::after, header.topbar .nav a.active::after{ transform:translateX(-50%) scaleX(1); }

/* Glass cards, elevation and smooth entrance */
.glass-card{ background: linear-gradient(180deg, rgba(255,255,255,0.6), rgba(255,255,255,0.36)); border-radius:14px; padding:1rem; box-shadow: 0 12px 40px rgba(40,33,16,0.06); border:1px solid rgba(255,255,255,0.06); backdrop-filter: blur(6px); }
.glass-card.dark{ background: linear-gradient(180deg, rgba(20,16,10,0.48), rgba(20,16,10,0.36)); border:1px solid rgba(255,255,255,0.03); }

/* Animated floating buttons */
.btn-floating{ border-radius:999px; padding:.6rem .9rem; box-shadow:0 8px 28px rgba(40,33,16,0.12); transform:translateY(0); transition:transform .18s cubic-bezier(.2,.9,.2,1), box-shadow .18s; }
.btn-floating:hover{ transform:translateY(-6px); box-shadow:0 18px 48px rgba(40,33,16,0.14); }

/* subtle cursor trail for desktop */
.cursor-glow{ position:fixed; pointer-events:none; width:96px; height:96px; border-radius:50%; background: radial-gradient(circle at 40% 40%, rgba(var(--primary-rgb),0.22), rgba(0,0,0,0)); mix-blend-mode:screen; transform:translate(-50%,-50%); transition:opacity .2s; z-index:9999 }

@media (max-width:820px){
  .nt-navbar, header.topbar{ backdrop-filter: none; }
  .nt-navbar .nav-link::after, header.topbar .nav a::after{ display:none }
}
