/* Shared site styles — replaces inline style= / <style> for strict CSP */

/* Brand */
.brand-kinomepro,
.brand-dl {
  font-size: 2.25rem;
  font-weight: bold;
  font-style: italic;
}
.brand-kinomepro { color: #120994; }
.brand-dl { color: red; }

.form-section-title {
  font-size: 1.25rem;
  font-weight: bold;
  color: #000080;
}

/* Nav links */
.nav-link-site {
  margin-left: 0;
  margin-top: 1%;
  font-size: 22px;
  font-style: italic;
}
.nav-link-site.is-active,
.nav-item.active > .nav-link-site {
  color: #f80808;
}

/* Utilities */
.text-justify-card { text-align: justify; }
.text-center-block { text-align: center; }
.float-left-block { float: left; }
.mt-3px { margin-top: 3px; }
.progress-narrow {
  display: none;
  width: 150px;
}
.is-hidden { display: none; }
.notclick { pointer-events: none; }

/* Home / description copy */
.desc-title {
  margin-left: 0;
  margin-top: 1%;
  font-size: 22px;
  color: #a10a0a;
}
.desc-item {
  margin-left: 0;
  margin-top: 1%;
  font-size: 18px;
  color: #080606;
}

/* Manual */
h4.pattern {
  color: rgba(233, 11, 11, 0.726);
}

/* Forms */
.example-link {
  font-size: 18px;
  font-weight: bolder;
  color: rgb(43, 5, 146);
}
.input-bordered {
  border: 1px solid rgb(201, 199, 199);
  height: 38px;
}
.btn-submit-offset {
  margin-left: -12%;
  margin-top: 5%;
}
.btn-submit-offset-sm {
  margin-left: 0;
  margin-top: 2%;
}
.img-s-score {
  margin-left: -10%;
  margin-top: 1%;
}
.img-fine-training {
  margin-left: -15%;
  margin-top: -4%;
}
.img-finetuned {
  margin-left: -3%;
  margin-top: -3%;
}

/* Hover table (kinomescan) */
table.hovertable {
  font-family: verdana, arial, sans-serif;
  font-size: 15px;
  color: #333333;
  border-width: 1px;
  border-color: #999999;
  border-collapse: collapse;
  margin-left: 50%;
}
table.hovertable th {
  background-color: #dedede;
  border-width: 1px;
  padding: 8px;
  border-style: solid;
  border-color: #a9c6c9;
  margin-left: 50%;
}
table.hovertable tr { background-color: #ffffff; }
table.hovertable td {
  border-width: 1px;
  padding: 8px;
  border-style: solid;
  border-color: #a9c6c9;
}
td.no { width: 80px; }
td.no1 { width: 100px; }

/* Kinomescan / result layout */
#header.result-header,
.result-header {
  height: 15%;
  width: 100%;
}
.result-col { float: left; }
.result-title {
  font-size: 22px;
  color: #333333;
}
.result-title-structure {
  margin-left: 50%;
  margin-top: 4%;
  font-size: 22px;
  color: #333333;
}
.result-img-structure {
  margin-left: 15%;
  margin-top: 5%;
}
.result-title-kinase {
  margin-left: 60%;
  margin-top: 4%;
  font-size: 22px;
  color: #333333;
}
.result-img-kinase {
  margin-left: 40%;
  margin-top: -30%;
}
.result-title-odds {
  margin-left: 15%;
  margin-top: -1%;
  font-size: 22px;
  color: #333333;
}
.result-img-odds {
  margin-left: -10%;
  margin-top: 0;
}
.result-title-tsne {
  margin-left: 65%;
  margin-top: -46%;
  font-size: 22px;
  color: #333333;
}
.result-img-tsne {
  margin-left: 40%;
  margin-top: 0;
}
.result-title-sim {
  margin-left: 35%;
  margin-top: 5%;
  font-size: 22px;
  color: #333333;
}
.result-img-sim {
  margin-left: -10%;
  margin-top: 0;
}

/* Default-hidden form helpers (jQuery .show() overrides via CSSOM) */
#protein_file-span,
#ligand_file-span,
#input-protein-error,
#input-protein-nofile,
#input-protein-nameErr,
#input-protein-file-size,
#input-ligand-error,
#input-ligand-nofile,
#input-ligand-nameErr,
#input-ligand-file-size,
#protein_progress_bar,
#ligand_progress_bar {
  display: none;
}
#protein_progress_bar,
#ligand_progress_bar {
  width: 150px;
}

#publication_div.is-ie {
  margin-top: -800px;
}

/* KinomeScan loading overlay (replaces runtime <style> injection) */
@keyframes kinomescan-spin {
  to { transform: rotate(360deg); }
}
#kinomescan-loading-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2147483647;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background: rgba(34, 34, 34, 0.78);
  pointer-events: none;
}
#kinomescan-loading-overlay.is-visible {
  display: flex;
}
#kinomescan-loading-overlay .kinomescan-loading-box {
  background: #fff;
  padding: 28px 44px;
  border-radius: 10px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
  text-align: center;
  min-width: 220px;
}
#kinomescan-loading-overlay .kinomescan-loading-spin {
  width: 48px;
  height: 48px;
  margin: 0 auto 16px;
  border: 4px solid #e0e0e0;
  border-top-color: #120994;
  border-radius: 50%;
  animation: kinomescan-spin 0.85s linear infinite;
}
#kinomescan-loading-overlay .kinomescan-loading-text {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 600;
  color: #333;
}
