
/* ===== SeminarTopics.net — custom academic theme over Bootstrap 5 ===== */
:root{
  --st-ink:#0f1729;
  --st-ink-soft:#475569;
  --st-paper:#fbfcfe;
  --st-line:#e3e8f0;
  --st-accent:#2563eb;
  --st-accent-2:#1e40af;
  --st-accent-soft:#eef4ff;
  --st-radius:16px;
  --st-shadow:0 10px 30px -12px rgba(15,23,41,.18);
  --st-shadow-sm:0 4px 14px -8px rgba(15,23,41,.25);
}
*{scroll-behavior:smooth}
body{
  font-family:"DM Sans",system-ui,sans-serif;
  color:var(--st-ink);
  background:
    radial-gradient(1200px 600px at 100% -10%, var(--st-accent-soft), transparent 60%),
    var(--st-paper);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,h5,.font-display{font-family:"Space Grotesk","DM Sans",sans-serif;letter-spacing:-.02em;font-weight:700;}
a{color:var(--st-accent-2);text-underline-offset:3px;}
a:hover{color:var(--st-accent);}

/* ---- Navbar ---- */
.st-nav{
  background:rgba(255,255,255,.82);
  backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--st-line);
}
.st-brand{font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:1.3rem;letter-spacing:-.03em;color:var(--st-ink)!important;}
.st-brand .dot{color:var(--st-accent);}
.st-nav .nav-link{color:var(--st-ink-soft)!important;font-weight:500;}
.st-nav .nav-link:hover{color:var(--st-accent)!important;}

/* ---- Hero ---- */
.st-hero{
  background:linear-gradient(135deg,var(--st-accent),var(--st-accent-2));
  color:#fff;border-radius:var(--st-radius);overflow:hidden;position:relative;
  box-shadow:var(--st-shadow);
}
.st-hero::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(600px 300px at 110% -20%,rgba(255,255,255,.25),transparent 60%);
  pointer-events:none;
}
.st-hero h1{color:#fff;}
.st-hero .lead{color:rgba(255,255,255,.92);}

/* ---- Section headings ---- */
.st-h-accent{
  position:relative;padding-left:.9rem;margin-top:2.2rem;margin-bottom:1rem;color:var(--st-accent-2);
}
.st-h-accent::before{
  content:"";position:absolute;left:0;top:.15em;bottom:.15em;width:5px;border-radius:6px;
  background:linear-gradient(var(--st-accent),var(--st-accent-2));
}

/* ---- Cards ---- */
.st-card{
  border:1px solid var(--st-line);border-radius:var(--st-radius);background:#fff;
  box-shadow:var(--st-shadow-sm);transition:transform .18s ease,box-shadow .18s ease;height:100%;
  overflow:hidden;
}
.st-card:hover{transform:translateY(-4px);box-shadow:var(--st-shadow);}
.st-card .st-card-body{padding:1.25rem 1.35rem;}
.st-chip{
  display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  padding:.28rem .6rem;border-radius:999px;background:var(--st-accent-soft);color:var(--st-accent-2);
}

/* ---- Branch tiles on home ---- */
.st-branch{display:block;text-decoration:none;color:inherit;}
.st-branch .top{height:8px;border-radius:var(--st-radius) var(--st-radius) 0 0;}
.st-branch h3{font-size:1.15rem;margin:.2rem 0 .35rem;}
.st-branch:hover h3{color:var(--st-accent);}

/* ---- Important points box ---- */
.st-points{
  border:1px solid var(--st-line);border-left:6px solid var(--st-accent);
  background:linear-gradient(180deg,var(--st-accent-soft),#fff 70%);
  border-radius:var(--st-radius);padding:1.4rem 1.5rem;box-shadow:var(--st-shadow-sm);
}
.st-points h2,.st-points h3{color:var(--st-accent-2);margin-top:0;}
.st-points ul{margin:0;padding-left:0;list-style:none;}
.st-points li{position:relative;padding:.4rem 0 .4rem 1.9rem;border-bottom:1px dashed var(--st-line);}
.st-points li:last-child{border-bottom:0;}
.st-points li::before{
  content:"";position:absolute;left:0;top:.85em;width:11px;height:11px;border-radius:3px;transform:rotate(45deg);
  background:linear-gradient(135deg,var(--st-accent),var(--st-accent-2));
}

/* ---- Colored info table ---- */
.st-table-wrap{border-radius:var(--st-radius);overflow:hidden;border:1px solid var(--st-line);box-shadow:var(--st-shadow-sm);}
table.st-table{width:100%;margin:0;border-collapse:collapse;background:#fff;}
table.st-table thead th{
  background:linear-gradient(135deg,var(--st-accent),var(--st-accent-2));color:#fff;
  font-family:"Space Grotesk",sans-serif;font-weight:600;padding:.85rem 1.1rem;text-align:left;border:0;
}
table.st-table td{padding:.8rem 1.1rem;border-top:1px solid var(--st-line);vertical-align:top;}
table.st-table tbody tr:nth-child(even){background:var(--st-accent-soft);}
table.st-table td:first-child{font-weight:600;color:var(--st-accent-2);width:34%;}

/* ---- Buttons ---- */
.btn-st{
  --bs-btn-padding-y:.6rem;--bs-btn-padding-x:1.25rem;border:0;border-radius:999px;font-weight:600;
  color:#fff!important;background:linear-gradient(135deg,var(--st-accent),var(--st-accent-2));
  box-shadow:var(--st-shadow-sm);transition:transform .15s ease,filter .15s ease;
}
.btn-st:hover{transform:translateY(-2px);filter:brightness(1.06);color:#fff!important;}
.btn-st-outline{
  border:2px solid var(--st-accent);border-radius:999px;font-weight:600;color:var(--st-accent-2)!important;
  background:#fff;transition:all .15s ease;padding:.5rem 1.1rem;
}
.btn-st-outline:hover{background:var(--st-accent-soft);transform:translateY(-2px);}

/* ---- FAQ ---- */
.st-faq .accordion-button{
  font-family:"Space Grotesk",sans-serif;font-weight:600;color:var(--st-ink);background:#fff;
}
.st-faq .accordion-button:not(.collapsed){color:var(--st-accent-2);background:var(--st-accent-soft);box-shadow:none;}
.st-faq .accordion-button:focus{box-shadow:0 0 0 .2rem var(--st-accent-soft);}
.st-faq .accordion-item{border:1px solid var(--st-line);border-radius:12px!important;margin-bottom:.6rem;overflow:hidden;}

/* ---- Breadcrumb ---- */
.st-crumb{font-size:.9rem;}
.st-crumb a{color:var(--st-ink-soft);text-decoration:none;}
.st-crumb a:hover{color:var(--st-accent);}
.st-crumb .sep{color:var(--st-line);margin:0 .45rem;}

/* ---- Related links ---- */
.st-related a{
  display:flex;align-items:center;gap:.6rem;padding:.7rem .9rem;border:1px solid var(--st-line);
  border-radius:12px;text-decoration:none;color:var(--st-ink);background:#fff;transition:all .15s ease;
  font-weight:500;height:100%;
}
.st-related a:hover{border-color:var(--st-accent);background:var(--st-accent-soft);color:var(--st-accent-2);transform:translateY(-2px);}
.st-related .ic{flex:0 0 auto;width:30px;height:30px;border-radius:8px;background:var(--st-accent-soft);
  display:grid;place-items:center;color:var(--st-accent-2);font-weight:700;}

/* ---- Reading body ---- */
.st-prose p{color:#26324a;}
.st-prose{font-size:1.06rem;}

/* ---- Footer ---- */
.st-footer{background:var(--st-ink);color:#cbd5e1;margin-top:4rem;}
.st-footer a{color:#cbd5e1;text-decoration:none;}
.st-footer a:hover{color:#fff;}
.st-footer h5{color:#fff;font-size:1rem;}

/* ---- Banner svg sits flush ---- */
.st-banner{width:100%;display:block;border-radius:var(--st-radius);box-shadow:var(--st-shadow);}

.st-toc a{color:var(--st-ink-soft);text-decoration:none;font-size:.92rem;}
.st-toc a:hover{color:var(--st-accent);}

@media (max-width:575px){
  table.st-table td:first-child{width:42%;}
  .st-prose{font-size:1rem;}
}
