/* === Definitions === */
div[id^="def-"] {
  border: 1px solid #4A90D9;
  border-left-width: 5px;
  background-color: #ffffff;
  padding: 1em 1.2em;
  margin: 1.2em 0;
  border-radius: 6px;
}
div[id^="def-"]::before {
  content: "📘 Definition";
  font-weight: bold;
  color: #2C6FAC;
  background-color: #EBF4FF;
  display: block;
  margin: -1em -1.2em 0.8em -1.2em;
  padding: 0.4em 1.2em;
  font-size: 0.95em;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-radius: 2px 6px 0 0;
}

/* === Theorems === */
div[id^="thm-"] {
  border: 1px solid #27AE60;
  border-left-width: 5px;
  background-color: #ffffff;
  padding: 1em 1.2em;
  margin: 1.2em 0;
  border-radius: 6px;
}
div[id^="thm-"]::before {
  content: "📗 Theorem";
  font-weight: bold;
  color: #1E8449;
  background-color: #EAFAF1;
  display: block;
  margin: -1em -1.2em 0.8em -1.2em;
  padding: 0.4em 1.2em;
  font-size: 0.95em;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-radius: 2px 6px 0 0;
}

/* === Lemmas === */
div[id^="lem-"] {
  border: 1px solid #8E44AD;
  border-left-width: 5px;
  background-color: #ffffff;
  padding: 1em 1.2em;
  margin: 1.2em 0;
  border-radius: 6px;
}
div[id^="lem-"]::before {
  content: "📙 Lemma";
  font-weight: bold;
  color: #6C3483;
  background-color: #F5EEF8;
  display: block;
  margin: -1em -1.2em 0.8em -1.2em;
  padding: 0.4em 1.2em;
  font-size: 0.95em;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-radius: 2px 6px 0 0;
}

/* === Corollaries === */
div[id^="cor-"] {
  border: 1px solid #E67E22;
  border-left-width: 5px;
  background-color: #ffffff;
  padding: 1em 1.2em;
  margin: 1.2em 0;
  border-radius: 6px;
}
div[id^="cor-"]::before {
  content: "📒 Corollary";
  font-weight: bold;
  color: #CA6F1E;
  background-color: #FEF9E7;
  display: block;
  margin: -1em -1.2em 0.8em -1.2em;
  padding: 0.4em 1.2em;
  font-size: 0.95em;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-radius: 2px 6px 0 0;
}

/* === Propositions === */
div[id^="prp-"] {
  border: 1px solid #E74C3C;
  border-left-width: 5px;
  background-color: #ffffff;
  padding: 1em 1.2em;
  margin: 1.2em 0;
  border-radius: 6px;
}
div[id^="prp-"]::before {
  content: "📕 Proposition";
  font-weight: bold;
  color: #B03A2E;
  background-color: #FDEDEC;
  display: block;
  margin: -1em -1.2em 0.8em -1.2em;
  padding: 0.4em 1.2em;
  font-size: 0.95em;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-radius: 2px 6px 0 0;
}

/* === Remarks === */
div[id^="rem-"] {
  border: 1px solid #C9A96E;
  border-left-width: 5px;
  background-color: #ffffff;
  padding: 1em 1.2em;
  margin: 1.2em 0;
  border-radius: 6px;
}
div[id^="rem-"]::before {
  content: "💡 Remark";
  font-weight: bold;
  color: #5C3D11;
  background-color: #FAF3E8;
  display: block;
  margin: -1em -1.2em 0.8em -1.2em;
  padding: 0.4em 1.2em;
  font-size: 0.95em;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-radius: 2px 6px 0 0;
}

/* === Examples === */
div[id^="exm-"] {
  overflow: hidden;
  border: 1px solid #1ABC9C;
  border-left-width: 5px;
  background-color: #ffffff;
  padding: 0;          /* remove padding from div entirely */
  margin: 1.2em 0;
  border-radius: 6px;
}

div[id^="exm-"]::before {
  display: none;       /* JS handles the header */
}
 %

/* === Proofs === */


/*div.proof:not(.remark) {
  border: 1px solid #7F8C8D;
  border-left-width: 5px;
  background-color: #ffffff;
  padding: 1em 1.2em;
  margin: 1.2em 0;
  border-radius: 6px;
}

div.proof:not(.remark)::before {
  content: "🔎 Proof";
  font-weight: bold;
  color: #2C3E50;
  background-color: #F2F3F4;
  display: block;
  margin: -1em -1.2em 0.8em -1.2em;
  padding: 0.4em 1.2em;
  font-size: 0.95em;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-radius: 2px 6px 0 0;
} */

/* Collapse Arrow */

.theorem-toggle-arrow {
  font-size: 0.75em;
  color: #888;
}


/* Collapse Theorems */

.theorem-collapsible-content {
  padding: 1em 1.2em;  /* padding lives here instead */
}

/* Header Sizing */
div[id^="lem-"]::before,
div[id^="def-"]::before,
div[id^="thm-"]::before,
div[id^="cor-"]::before,
div[id^="prp-"]::before,
div[id^="rem-"]::before {
  padding: 0.25em 1.2em;
  font-size: 0.85em;
}

div.proof::before {
  display: none;
}

div.proof {
  padding: 0;
}

div.proof {
  border: 1px solid #7F8C8D;
  border-left-width: 5px;
  background-color: #ffffff;
  padding: 0;
  margin: 1.2em 0;
  border-radius: 6px;
}

div.proof::before {
  display: none;
}

div[id^="def-"], div[id^="thm-"], div[id^="lem-"],
div[id^="cor-"], div[id^="prp-"], div[id^="rem-"] {
  padding: 1em 1.2em;
}

div[id^="def-"]::before, div[id^="thm-"]::before, div[id^="lem-"]::before,
div[id^="cor-"]::before, div[id^="prp-"]::before, div[id^="rem-"]::before {
  display: none;
}