/* SoriBridge Web Theme V3 — VISUAL ONLY. Does not change live.js, API or captions state. */
:root {
  --sbv3-night: #060d20;
  --sbv3-card: #0c1935;
  --sbv3-stroke: rgba(137,171,255,.20);
  --sbv3-ink: #f1f6ff;
  --sbv3-muted: #a5b8d7;
  --sbv3-blue: #2688ff;
  --sbv3-cyan: #47d8fa;
  --sbv3-violet: #a36dfd;
}
html { min-height:100%; background: #060d20; }
body {
  min-height:100vh;
  color: var(--sbv3-ink) !important;
  background:
    radial-gradient(ellipse 58% 34% at 8% -5%, rgba(20,121,251,.27), transparent 75%),
    radial-gradient(ellipse 50% 38% at 96% 10%, rgba(140,65,243,.23), transparent 73%),
    linear-gradient(155deg, #08152e 0%, #080f22 54%, #050b1b 100%) !important;
  background-attachment: fixed !important;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI", "Apple SD Gothic Neo", Arial,sans-serif;
}
body::before {
  content:""; position:fixed; inset:0; pointer-events:none; opacity:.28; z-index:0;
  background-image:linear-gradient(rgba(107,152,232,.055) 1px, transparent 1px),linear-gradient(90deg,rgba(107,152,232,.055) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:linear-gradient(to bottom,black,transparent 80%);
}
body > *:not(#sb-v3-splash) { position:relative; }
/* Established V2 header: preserve the three original official logos. */
#sb-foro-v1-header {
  box-sizing:border-box !important;
  width:min(calc(100% - 28px),1100px) !important;
  max-width:1100px !important;
  margin:20px auto 22px !important;
  padding:22px clamp(14px,3vw,32px) 24px !important;
  border-radius:25px !important;
  border:1px solid rgba(120,172,255,.24) !important;
  background:
    radial-gradient(circle at 20% 0%,rgba(41,133,247,.12),transparent 50%),
    radial-gradient(circle at 100% 0%,rgba(161,92,255,.16),transparent 53%),
    linear-gradient(135deg,rgba(10,23,52,.98),rgba(9,15,40,.98)) !important;
  box-shadow:0 25px 68px rgba(0,0,0,.24), inset 0 1px rgba(255,255,255,.06) !important;
  color:#f6f9ff !important;
}
#sb-foro-v1-header .sb-foro-v1-hero {display:flex !important;justify-content:center !important;}
#sb-foro-v1-header .sb-foro-v1-lockup {
  display:flex !important;align-items:center !important;justify-content:center !important;
  gap:16px !important;width:auto !important;max-width:100% !important;min-height:0 !important;
  padding:4px 8px 12px !important;margin:auto !important;
  border-radius:0 !important;background:transparent !important;box-shadow:none !important;
}
#sb-foro-v1-header img.sb-foro-v1-symbol {
  width:78px !important;height:78px !important;min-width:78px !important;flex-basis:78px !important;
  object-fit:contain !important;border-radius:19px !important;
  box-shadow:0 8px 30px rgba(43,110,248,.20);
}
#sb-foro-v1-header .sb-foro-v1-wordmark {min-width:0;text-align:left !important;}
#sb-foro-v1-header .sb-foro-v1-name {
  font-size:clamp(28px,3.3vw,41px) !important;line-height:1 !important;white-space:nowrap;
  font-weight:780 !important;letter-spacing:-.065em !important;color:#fff !important;
}
#sb-foro-v1-header .sb-foro-v1-tagline {
  color:#afc9f6 !important;font-weight:650 !important;font-size:10px !important;
  letter-spacing:.23em !important;margin-top:9px !important;
}
#sb-foro-v1-header .sb-foro-v1-label {
  color:#9eb5da !important;letter-spacing:.19em !important;font-size:10px !important;
  margin:7px auto 12px !important;text-align:center !important;font-weight:700 !important;
}
#sb-foro-v1-header .sb-foro-v1-logos {
  display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;max-width:760px !important;margin:auto !important;
}
#sb-foro-v1-header .sb-foro-v1-institution {
  display:flex !important;align-items:center !important;justify-content:center !important;
  padding:10px 14px !important;min-height:90px !important;min-width:0 !important;
  border:1px solid rgba(211,225,245,.95) !important;border-radius:14px !important;
  background:#fff !important;box-shadow:0 5px 20px rgba(2,7,24,.14);
}
#sb-foro-v1-header .sb-foro-v1-institution img {
  object-fit:contain !important;width:auto !important;height:auto !important;
  max-width:100% !important;max-height:68px !important;
}
/* JS identifies the existing event and live-caption cards without replacing their content/IDs. */
.sb-v3-event-card, .sb-v3-stream-card {
  box-sizing:border-box !important;
  border:1px solid var(--sbv3-stroke) !important;border-radius:24px !important;
  background:linear-gradient(145deg,rgba(12,26,57,.97),rgba(8,18,40,.97)) !important;
  box-shadow:0 18px 48px rgba(0,0,0,.20),inset 0 1px rgba(255,255,255,.04) !important;
  color:var(--sbv3-ink) !important;
}
.sb-v3-event-card {padding:clamp(22px,3vw,40px) !important;}
.sb-v3-event-card h1, .sb-v3-event-card h2 {
  color:#f5f9ff !important;letter-spacing:-.035em !important;
  font-size:clamp(23px,3.2vw,39px) !important;line-height:1.2 !important;
}
.sb-v3-event-card .sb-v3-date,
.sb-v3-event-card > p,
.sb-v3-event-card .eyebrow {
  color:#9ac9ff !important;font-weight:550 !important;
}
.sb-v3-event-card > *:first-child {margin-top:0;}
.sb-v3-stream-card {padding:clamp(16px,2.5vw,32px) !important;}
.sb-v3-stream-card h2, .sb-v3-stream-card h3 {color:#e8f1ff !important;}
.sb-v3-stream-card .caption-item,
.sb-v3-stream-card .caption-card,
.sb-v3-stream-card .subtitle-item,
.sb-v3-stream-card .subtitle-entry,
.sb-v3-stream-card .caption-row {
  border:1px solid rgba(129,166,242,.18) !important;border-radius:14px !important;
  background:rgba(18,37,77,.80) !important;color:#f3f8ff !important;
}
.sb-v3-stream-card .caption-item *,
.sb-v3-stream-card .caption-card *,
.sb-v3-stream-card .subtitle-item *,
.sb-v3-stream-card .subtitle-entry *,
.sb-v3-stream-card .caption-row * {color:inherit;}
.sb-v3-stream-card .translation, .sb-v3-stream-card .translated {color:#9edaff !important;}
.sb-v3-stream-card a {color:#8fdcff !important;}
.sb-v3-stream-card .sb-v3-stream-wait {color:var(--sbv3-muted) !important;}
body footer, body .footer {color:#98adc9;}
/* Splash: short, branded, safe fallback if JS cannot run. */
#sb-v3-splash {
  position:fixed !important;inset:0;z-index:2147483000;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:18px;padding:22px;background:
    radial-gradient(circle at 48% 42%,rgba(43,109,237,.23),transparent 40%),
    radial-gradient(circle at 72% 20%,rgba(120,49,202,.17),transparent 42%),
    #050c1e;
  color:#fff;transition:opacity .45s ease,visibility .45s ease;
  animation:sbv3-failsafe-hide 0s linear 4.5s forwards;
}
#sb-v3-splash.sb-v3-fade {opacity:0;visibility:hidden;pointer-events:none;}
#sb-v3-splash .sb-v3-splash-logo {
  width:108px;height:108px;border-radius:26px;display:block;
  box-shadow:0 16px 55px rgba(14,99,242,.26);
  animation:sbv3-float 2s ease-in-out infinite;
}
#sb-v3-splash .sb-v3-splash-name {
  font-size:clamp(33px,6vw,44px);font-weight:780;line-height:1;
  letter-spacing:-.06em;color:#fff;
}
#sb-v3-splash .sb-v3-splash-tag {
  font-size:10px;letter-spacing:.34em;font-weight:700;color:#9fc4ff;margin-top:-9px;
}
#sb-v3-splash .sb-v3-splash-sub {margin-top:8px;color:#aabdda;font-size:13px;text-align:center;}
#sb-v3-splash .sb-v3-splash-dots {display:flex;gap:8px;margin-top:4px;}
#sb-v3-splash .sb-v3-splash-dots i {
  display:block;width:7px;height:7px;border-radius:50%;background:#38cefa;
  animation:sbv3-pulse 1s ease-in-out infinite alternate;
}
#sb-v3-splash .sb-v3-splash-dots i:nth-child(2){background:#4787ff;animation-delay:.2s}
#sb-v3-splash .sb-v3-splash-dots i:nth-child(3){background:#a46eff;animation-delay:.4s}
@keyframes sbv3-float {0%,100% {transform:translateY(0)} 50% {transform:translateY(-6px)}}
@keyframes sbv3-pulse {from{opacity:.3;transform:scale(.74)}to{opacity:1;transform:scale(1.1)}}
@keyframes sbv3-failsafe-hide {to{visibility:hidden;pointer-events:none}}
@media(max-width:600px) {
  #sb-foro-v1-header {width:calc(100% - 16px) !important;margin:10px auto 14px !important;padding:14px 9px 16px !important;border-radius:17px !important;}
  #sb-foro-v1-header .sb-foro-v1-lockup {gap:10px !important;padding:0 0 10px !important;}
  #sb-foro-v1-header img.sb-foro-v1-symbol {width:54px !important;height:54px !important;min-width:54px !important;flex-basis:54px !important;border-radius:12px !important;}
  #sb-foro-v1-header .sb-foro-v1-name {font-size:28px !important;letter-spacing:-.05em !important;}
  #sb-foro-v1-header .sb-foro-v1-tagline {font-size:7px !important;letter-spacing:.18em !important;margin-top:5px !important;}
  #sb-foro-v1-header .sb-foro-v1-label {margin:5px auto 8px !important;font-size:9px !important;}
  #sb-foro-v1-header .sb-foro-v1-logos {gap:5px !important;}
  #sb-foro-v1-header .sb-foro-v1-institution {padding:5px 4px !important;min-height:61px !important;border-radius:8px !important;}
  #sb-foro-v1-header .sb-foro-v1-institution img {max-height:49px !important;max-width:100% !important;}
  .sb-v3-event-card, .sb-v3-stream-card {border-radius:17px !important;}
  .sb-v3-event-card {padding:19px 13px !important;}
  .sb-v3-stream-card {padding:15px 12px !important;}
}
@media(max-width:355px) {
  #sb-foro-v1-header img.sb-foro-v1-symbol {width:45px !important;height:45px !important;min-width:45px !important;flex-basis:45px !important;}
  #sb-foro-v1-header .sb-foro-v1-name {font-size:23px !important;}
  #sb-foro-v1-header .sb-foro-v1-tagline {font-size:6px !important;}
  #sb-foro-v1-header .sb-foro-v1-institution img {max-height:42px !important;}
}
@media(prefers-reduced-motion:reduce) {
  #sb-v3-splash .sb-v3-splash-logo,#sb-v3-splash .sb-v3-splash-dots i {animation:none !important;}
  #sb-v3-splash {transition:none !important;}
}
