/* TIM Conference Site Theme (2026 refresh)
   - Bootstrap handles layout; this file defines brand look & a few custom components.
*/

:root{
  --tim-navy: #0b2a4a;
  --tim-navy-2: #103a66;
  --tim-accent: #1f6feb;
  --tim-bg: #f6f8fb;
  --tim-card: #ffffff;
  --tim-border: rgba(13, 45, 77, 0.12);
  --tim-shadow: 0 10px 30px rgba(11, 42, 74, 0.12);
}

.tim-body{
  background: var(--tim-bg);
  color: #1b2430;
  overflow-x: hidden;
}

/* Prevent accidental horizontal scrolling on small screens */
html{ overflow-x: hidden; }

.tim-header{
  background: var(--tim-navy);
  box-shadow: none;
  transition: box-shadow .2s ease;
}
.tim-header.tim-header-scrolled{
  box-shadow: 0 6px 18px rgba(0,0,0,.18);
}

.tim-navbar{
  background: linear-gradient(180deg, var(--tim-navy) 0%, var(--tim-navy-2) 100%);
}

.tim-brand-logo{
  width: 46px;
  height: 46px;
  object-fit: cover;
  border-radius: 10px;
  box-shadow: 0 8px 18px rgba(0,0,0,.25);
  border: 1px solid rgba(255,255,255,.18);
}

.tim-brand-title{
  letter-spacing: .04em;
}
.tim-brand-subtitle{
  font-size: .88rem;
  color: rgba(255,255,255,.72);
}

.tim-hero{
  background:
    radial-gradient(1200px 420px at 20% 0%, rgba(31,111,235,.35), transparent 55%),
    radial-gradient(900px 380px at 85% 20%, rgba(255,255,255,.12), transparent 55%),
    linear-gradient(180deg, var(--tim-navy-2), var(--tim-navy));
  border-top: 1px solid rgba(255,255,255,.10);
  border-bottom: 1px solid rgba(255,255,255,.10);
}

.tim-hero-banner{
  width: 84px;
  height: 84px;
  object-fit: contain;
  border-radius: 16px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  padding: 8px;
}

.tim-hero-kicker{
  font-size: .9rem;
  color: rgba(255,255,255,.72);
}
.tim-hero-title{
  color: #fff;
}
.tim-hero-note{
  color: rgba(255,255,255,.72);
  font-size: .95rem;
  max-width: 60ch;
}

.tim-hero-cta{
  border-radius: 18px;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
}

.tim-card{
  border: 1px solid var(--tim-border);
  box-shadow: 0 8px 22px rgba(11, 42, 74, .06);
  border-radius: 18px;
}

.tim-sidebar{
  top: 92px;
}

/* Keep the desktop navbar from wrapping into a second line */
.tim-navbar-compact .nav-link{
  white-space: nowrap;
}

/* Responsive: reduce header height on phones so content is always visible */
@media (max-width: 991.98px){
  .tim-hero .container-xxl{ padding-top: .75rem !important; padding-bottom: .75rem !important; }
  .tim-hero-note{ display: none; }
}

@media (max-width: 575.98px){
  /* On very small screens, hide the hero block to avoid consuming the whole viewport */
  .tim-hero{ display: none; }
  .tim-brand-logo{ width: 40px; height: 40px; border-radius: 10px; }
  .tim-brand-subtitle{ display: none; }
}

.list-group-item.active{
  background-color: rgba(31,111,235,.10);
  border-color: rgba(31,111,235,.22);
  color: #0b2a4a;
  font-weight: 600;
}

.tim-footer{
  background: linear-gradient(180deg, var(--tim-navy-2) 0%, var(--tim-navy) 100%);
  color: rgba(255,255,255,.92);
  border-top: 1px solid rgba(255,255,255,.10);
}

/* Content typography helpers */
.tim-page h1, .tim-page h2, .tim-page h3{
  color: #0b2a4a;
}
.tim-page p{
  line-height: 1.65;
}
.tim-callout{
  border-radius: 18px;
  padding: 14px 16px;
  background: rgba(31,111,235,.06);
  border: 1px solid rgba(31,111,235,.18);
}

/* Keep legacy IDs harmless (in case older pages remain) */
#wrapper, #header, #left, #mid, #right, #footer { all: unset; }
.clear{ clear: both; }
