:root {
  /*
	 * Various different 'brand' colors.
	 *
	 * Dandelion:      #fdc82f
	 * WebCMS3
	 *   blue:         #45a6f4
	 *   l. blue:      #9ccff9
	 *   d. orange:    #ff7144
	 *   l. d. orange: #ffb39b
	 *   d. purple:    #825dc4
	 *   l. d. purple: #beace0
	 *   green:        #6abd6e
	 *   indigo:       #6170c2
	 *   l. indigo:    #adb4e0
	 *   orange:       #ffaa2c
	 *   pink:         #ed447d
	 *   l. pink:      #f59dbb
	 *   purple:       #af50bf
	 *   l. purple:    #d6a6de
	 *   red:          #e05757
	 *   l. red:       #ffacb4
	 */
    --main-color: #509aa5;
    --text-color-against-main-color: #fff;
    --background-color: #ffffff;
    --text-color-against-background-color: #000000;
    --no-filter: none !important;
    --invert-filter: invert(92%) hue-rotate(180deg);
}

html {
  filter: var(--invert-filter);
}

iframe,
.assignment-thumbnail,
.meet-the-team {
  filter: var(--invert-filter);
}

/* a slightly lightened --main-color, manually made */
body {
    background-color: #f4feff;
}

/*
 * Fix content widths --- this ensures the text column is a reasonable
 * width to read, and is centered on the viewport.
 */
main[aria-label="Content"] {
  max-width: 56rem;
  margin: 1rem auto;
}

/*
 * Adjust the display of preformatted text (used throughout!)
 */
pre {
  border: thin solid #eeeeee;
  margin: 0.25rem 1rem;
  padding: 0.25rem 0.5rem;
  white-space: pre-wrap;
}

main[aria-label="Content"] {
  max-width: 56rem;
  margin: 1rem auto;
}

pre {
  border: thin solid #eeeeee;
  margin: 0.25rem 1rem;
  padding: 0.25rem 0.5rem;
  white-space: pre-wrap;
}

code {
  margin-right: 0.3em;
  margin-left: 0.3em;
  tab-size: 2;
  border-radius: 3px;
  padding: 0.2em 0.4em;
  font-size: 85%;
  background: rgba(135, 131, 120, 0.15);
  color: #eb5757;
}

/* Style command entry into various tools. */
pre[is="tty"] {
}

pre[is="tty"] > kbd {
  font-weight: bold;
  font-size: 100%;
  padding: 0;
  background: none;
  border: none;
  color: black;
}

pre[is="tty"] > kbd:before {
  font-weight: normal;
  color: var(--gray);
}

pre[is="tty"] > kbd[data-prompt]:before {
  content: attr(data-prompt) " ";
}

pre[is="tty"] > kbd[is="sh"]:before {
  content: "$ ";
}

pre[is="tty"] > kbd[is="sh_comment"]:before {
  content: "# ";
}

pre[is="tty"] > kbd[is="sh_comment"] {
  color: grey;
}

/* Fix indentation. */
pre {
  tab-size: 4;
  -moz-tab-size: 4;
}

pre.mips {
  tab-size: 8;
  -moz-tab-size: 8;
}

/* Tutorial questions. */
body > ol > li {
  margin-top: 1rem;
}

p {
  margin-bottom: 0.5rem;
}

* + p {
  margin-top: 0.5rem;
}

/* indicate ctrl-d typed */
.eof:before {
  content: "Ctrl-D";
  font-weight: lighter;
  font-style: italic;
  font-family: "Courier New", Courier, monospace;
  border: thin solid;
  border-radius: 5px;
  padding: 1px 4px;
}

.eof:after {
  position: relative;
  content: "Ctrl and D keys pressed";
  border: 2px solid black;
  background-color: yellow;
  opacity: 0;
  height: 5em;
  width: 10px;
  border-radius: 5px;
  transition: opacity 0.5s;
}

.eof:hover::after {
  opacity: 1;
}

/*
 * Lay out tutorial answers.
 */
.answer {
  border: thin solid var(--blue);
  padding: 1rem;
  padding-bottom: 0.5rem;
  margin-bottom: 1rem;
}

.inline_answer {
  padding: 0.1rem !important;
}

.answer > h4 {
  background-color: #eef;
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
  border-bottom: 1px solid var(--blue);
  display: block;
  padding: 0.5rem 1rem;
  margin: -1rem -1rem 0;
  font-size: 1rem;
  font-weight: bold;
}

.tutor_guide {
  border: thin solid var(--orange);
  padding: 1rem;
  padding-bottom: 0.5rem;
  margin-bottom: 1rem;
}

atci-tutors-only {
  border: thin solid var(--orange);
  padding: 1rem;
  padding-bottom: 0.5rem;
  margin-bottom: 1rem;
}

.tutor_guide > h4 {
  background-color: #eef;
  border-top-left-radius: 0.25rem;
  border-top-right-radius: 0.25rem;
  border-bottom: 1px solid var(--orange);
  display: block;
  padding: 0.5rem 1rem;
  margin: -1rem -1rem 0;
  font-size: 1rem;
  font-weight: bold;
}

.hidden {
  display: none;
}

/*
 * Hints and asides.
 */
aside {
  border: 0.01rem solid var(--light);
  /* .border */
  border-left-width: 0.25rem;
  border-radius: 0.25rem;
  /* .rounded */
  margin: 1.5rem;
  /* .m-4 */
  padding: 0.5rem;
  /* .p-2 */
}

aside:before {
  text-transform: uppercase;
  font-weight: bold;
  font-size: 90%;
  display: block;
  color: var(--white);
  max-width: 8rem;
  padding: 0.5rem;
  margin-top: -0.5rem;
  /* undo .p-2 */
  margin-left: -0.5rem;
  /* undo .p-2 */
  margin-bottom: 0.5rem;
  border-bottom-right-radius: 0.25rem;
  /* .routded */
}

aside.hint {
  border-color: var(--green);
}

aside.hint:before {
  background-color: var(--green);
  content: "hint: ";
}

aside.note {
  border-color: var(--cyan);
}

aside.note:before {
  background-color: var(--cyan);
  content: "note: ";
}

aside.reminder {
  border-color: var(--red);
}

aside.reminder:before {
  background-color: var(--red);
  content: "reminder: ";
}

aside.rationale {
  border-color: var(--purple);
}

aside.rationale:before {
  background-color: var(--purple);
  content: "rationale: ";
}

aside.warning {
  border-color: var(--orange);
}

aside.warning:before {
  background-color: var(--orange);
  content: "warning: ";
}

aside.danger {
  border-color: var(--red);
}

aside.danger:before {
  background-color: var(--red);
  content: "danger: ";
}

aside.danger {
  border-color: var(--red);
}

aside.danger:before {
  background-color: var(--red);
  content: "danger: ";
}

body > nav.navbar {
  background-color: var(--main-color);
  color: var(--text-color-against-main-color);
}

/*
 * Sectioning for the home page.
 * Replaces ad-hoc .thick_hr with a bordered section.
 */
section.homepage-section {
  /* inherits .thick_hr */
  margin-top: 1.5rem;
  padding-top: 0.5rem;
}

/*
 * Tidy up the login form.
 */
.login-form {
  margin: 1rem auto;
}

.login-form .form-group {
  margin-top: 0;
  margin-bottom: 0;
}

.login-form button {
  margin-top: 1rem;
}

.login-form div.form-group input[type="text"] {
  border-radius: 0.3rem 0.3rem 0 0;
}

.login-form div.form-group input[type="password"] {
  border-radius: 0 0 0.3rem 0.3rem;
}

/*
 * Exercise layout on the lab page.
 */
.exercise {
  margin-bottom: 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #eee;
}

.exercise > header {
  padding: 0.75rem 1.25rem;
  margin-bottom: 1rem;
  border: 1px solid var(--green);
  border-radius: 0.25rem;
  border-left-width: 0.5rem;
  /* left-tab effect */
}

.exercise > header > h3 {
  margin: 0;
}

.exercise.with-pair > header {
  border-color: var(--green);
}

.exercise.with-self > header {
  border-color: var(--red);
}

.exercise.with-test > header {
  border-color: var(--blue);
}

/*
 * Adjust the layout of highlighted program blocks.
 */
.highlight {
  border: 1px solid #f0f0f0;
  border-radius: 0.25rem;
  margin: 0.25rem 0;
  padding: 0.25rem 0.5rem;
}

.highlight > pre {
  border: 0;
  margin: 0;
  padding: 0;
}

/*
 * Code highlighting styles, from Pygments:
 */
.highlight .hll {
  background-color: #ffffcc;
}

.highlight {
  background: #f8f8f8;
}

.highlight .c {
  color: #408080;
  font-style: italic;
}

/* Comment */
.highlight .err {
  border: 1px solid #ff0000;
}

/* Error */
.highlight .k {
  color: #008000;
  font-weight: bold;
}

/* Keyword */
.highlight .o {
  color: #666666;
}

/* Operator */
.highlight .ch {
  color: #408080;
  font-style: italic;
}

/* Comment.Hashbang */
.highlight .cm {
  color: #408080;
  font-style: italic;
}

/* Comment.Multiline */
.highlight .cp {
  color: #bc7a00;
}

/* Comment.Preproc */
.highlight .cpf {
  color: #408080;
  font-style: italic;
}

/* Comment.PreprocFile */
.highlight .c1 {
  color: #408080;
  font-style: italic;
}

/* Comment.Single */
.highlight .cs {
  color: #408080;
  font-style: italic;
}

/* Comment.Special */
.highlight .gd {
  color: #a00000;
}

/* Generic.Deleted */
.highlight .ge {
  font-style: italic;
}

/* Generic.Emph */
.highlight .gr {
  color: #ff0000;
}

/* Generic.Error */
.highlight .gh {
  color: #000080;
  font-weight: bold;
}

/* Generic.Heading */
.highlight .gi {
  color: #00a000;
}

/* Generic.Inserted */
.highlight .go {
  color: #888888;
}

/* Generic.Output */
.highlight .gp {
  color: #000080;
  font-weight: bold;
}

/* Generic.Prompt */
.highlight .gs {
  font-weight: bold;
}

/* Generic.Strong */
.highlight .gu {
  color: #800080;
  font-weight: bold;
}

/* Generic.Subheading */
.highlight .gt {
  color: #0044dd;
}

/* Generic.Traceback */
.highlight .kc {
  color: #008000;
  font-weight: bold;
}

/* Keyword.Constant */
.highlight .kd {
  color: #008000;
  font-weight: bold;
}

/* Keyword.Declaration */
.highlight .kn {
  color: #008000;
  font-weight: bold;
}

/* Keyword.Namespace */
.highlight .kp {
  color: #008000;
}

/* Keyword.Pseudo */
.highlight .kr {
  color: #008000;
  font-weight: bold;
}

/* Keyword.Reserved */
.highlight .kt {
  color: #b00040;
}

/* Keyword.Type */
.highlight .m {
  color: #666666;
}

/* Literal.Number */
.highlight .s {
  color: #ba2121;
}

/* Literal.String */
.highlight .na {
  color: #7d9029;
}

/* Name.Attribute */
.highlight .nb {
  color: #008000;
}

/* Name.Builtin */
.highlight .nc {
  color: #0000ff;
  font-weight: bold;
}

/* Name.Class */
.highlight .no {
  color: #880000;
}

/* Name.Constant */
.highlight .nd {
  color: #aa22ff;
}

/* Name.Decorator */
.highlight .ni {
  color: #999999;
  font-weight: bold;
}

/* Name.Entity */
.highlight .ne {
  color: #d2413a;
  font-weight: bold;
}

/* Name.Exception */
.highlight .nf {
  color: #0000ff;
}

/* Name.Function */
.highlight .nl {
  color: #a0a000;
}

/* Name.Label */
.highlight .nn {
  color: #0000ff;
  font-weight: bold;
}

/* Name.Namespace */
.highlight .nt {
  color: #008000;
  font-weight: bold;
}

/* Name.Tag */
.highlight .nv {
  color: #19177c;
}

/* Name.Variable */
.highlight .ow {
  color: #aa22ff;
  font-weight: bold;
}

/* Operator.Word */
.highlight .w {
  color: #bbbbbb;
}

/* Text.Whitespace */
.highlight .mb {
  color: #666666;
}

/* Literal.Number.Bin */
.highlight .mf {
  color: #666666;
}

/* Literal.Number.Float */
.highlight .mh {
  color: #666666;
}

/* Literal.Number.Hex */
.highlight .mi {
  color: #666666;
}

/* Literal.Number.Integer */
.highlight .mo {
  color: #666666;
}

/* Literal.Number.Oct */
.highlight .sa {
  color: #ba2121;
}

/* Literal.String.Affix */
.highlight .sb {
  color: #ba2121;
}

/* Literal.String.Backtick */
.highlight .sc {
  color: #ba2121;
}

/* Literal.String.Char */
.highlight .dl {
  color: #ba2121;
}

/* Literal.String.Delimiter */
.highlight .sd {
  color: #ba2121;
  font-style: italic;
}

/* Literal.String.Doc */
.highlight .s2 {
  color: #ba2121;
}

/* Literal.String.Double */
.highlight .se {
  color: #bb6622;
  font-weight: bold;
}

/* Literal.String.Escape */
.highlight .sh {
  color: #ba2121;
}

/* Literal.String.Heredoc */
.highlight .si {
  color: #bb6688;
  font-weight: bold;
}

/* Literal.String.Interpol */
.highlight .sx {
  color: #008000;
}

/* Literal.String.Other */
.highlight .sr {
  color: #bb6688;
}

/* Literal.String.Regex */
.highlight .s1 {
  color: #ba2121;
}

/* Literal.String.Single */
.highlight .ss {
  color: #19177c;
}

/* Literal.String.Symbol */
.highlight .bp {
  color: #008000;
}

/* Name.Builtin.Pseudo */
.highlight .fm {
  color: #0000ff;
}

/* Name.Function.Magic */
.highlight .vc {
  color: #19177c;
}

/* Name.Variable.Class */
.highlight .vg {
  color: #19177c;
}

/* Name.Variable.Global */
.highlight .vi {
  color: #19177c;
}

/* Name.Variable.Instance */
.highlight .vm {
  color: #19177c;
}

/* Name.Variable.Magic */
.highlight .il {
  color: #666666;
}

/* Literal.Number.Integer.Long */

/**********************************************************************/
/*                          Homepage Styles                           */
/**********************************************************************/

/* For simplicity, all homepage styles can be found here... */

.course-header {
    text-align: center;
    font-weight: bold;
    color: #000;
}

h2.homepage {
    font-size: 1.5rem;
    font-weight: bold;
    color: #000;
}

h4 {
  font-size: 1.2rem;
}

a.homepage,
a:hover.homepage,
a:focus.homepage,
a:active.homepage {
  text-decoration: none;
  color: inherit;
}

.homepage-box {
  z-index: -1;
  border-radius: 8px;
  background-color: var(--background-color);
  box-shadow: 5px 5px 5px 3px rgb(0 0 0 / 3%);
}

#homepage-navbar > * {
  margin: 1% 1%;
  color: var(--text-color-against-main-color);
}

#homepage-container {
  font-family:
    Noto Sans,
    Roboto,
    "Segoe UI",
    Tahoma,
    sans-serif;
  font-stretch: condensed;
  font-size: 1.1rem;
}

#course-title-container > * {
  margin: 0;
}

/* A homepage-group will contain a title + a "homepage-group-options" class */
.homepage-group {
  margin-bottom: 1rem;
  width: 100%;
  padding: 10px;
}

.homepage-group-options {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    /* color of the button text */
    color: var(--text-color-against-main-color);
    margin-top: 10px;
}

.homepage-group-options.centered {
  justify-content: center;
}

.homepage-group-options .break {
  flex-basis: 100%;
}

.homepage-primary-button {
  margin: 5px 10px;
  display: flex;
  justify-content: center;
  align-items: center;

  padding: 8px 6px;
  text-align: center;
  background-color: var(--main-color);
  color: var(--text-color-against-main-color);
  width: 190px;
  max-width: 90%;
  font-size: 14px;
  border: none;
  border-radius: 10px;

  box-shadow: 5px 5px 5px 3px rgb(0 0 0 / 3%);

  transition: 0.5s;
}

#exam-link-button {
  /* I'm so sorry, I know I shouldn't do this
   * but it's late and I'm tired so this is what we get
   **/
  width: 100%;
  max-width: 97%;
  color: white;
  font-size: 5em;
}

.homepage-primary-button:hover {
  transform: scale(1.05);
}

.homepage-primary-button.image-embedded {
  flex-direction: column;
}

.homepage-primary-button.image-embedded > img {
  padding: 0.5rem;
  width: 100%;
  height: 100%;

  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
}

#assignments-container {
  display: flex;
  overflow-x: auto;

  align-items: center;
}

.assignment-container {
  margin: 20px;
  padding: 15px 15px 8px 15px;
  width: 20rem;
  height: 15rem;

  display: flex;
  flex-direction: column;
  justify-content: space-between;

  transition: 0.3s;
}

.assignment-container:hover {
  transform: scale(1.1);

  transition: 0.3s;
}

.assignment-container > img {
  height: 80%;
  border-radius: inherit;
  border: 1px solid lightgray;

  object-fit: fill;
}

#weeks-container {
  width: 100%;
}

#week-tabs {
  border: 0.15rem var(--main-color) solid;
  border-radius: 10px 10px 0 0;
}

.tabs-container {
  display: flex;
  justify-content: space-evenly;

  width: 100%;
}

.tab {
  position: relative;
  z-index: 0;

  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: -5px;
  width: 100%;
  height: 60px;

  border: solid lightgray 1px;
  border-radius: 10px 10px 0 0;

  background-color: var(--background-color);

  transition: background-color 0.3s;
}

.tab.disabled {
  pointer-events: none;
  opacity: 0.5;
}

.tab.selected {
  z-index: 2;

  border-bottom: none;
  outline: none;
  cursor: default;

  font-weight: bold;
}

.tab:not(.selected):hover {
  background-color: lightgray;
  cursor: pointer;
}

.tab > .tab-data-source {
  display: none;
}

#week-tabs + .homepage-box {
  border-top: 0;
}

.tab.borderless {
  border: none;
}

.tab.borderless.selected {
  border-bottom: 0.2rem solid var(--main-color);
  margin-bottom: 0;
}

.tab-data.homepage-box {
  padding: 20px;
  position: relative;
  z-index: 1;

  border-top-left-radius: 0;
  border-top-right-radius: 0;

  background-color: var(--background-color);
}

.week-section {
  position: relative;
  z-index: 1;
  border: 0.1rem solid lightgray;
  border-radius: 10px;
  padding: 1rem;
  margin-bottom: 1rem;
}

.week-section-title {
  position: relative;
  z-index: 2;
  padding: 0.2rem;
  width: fit-content;
  margin: 0 0 -1rem 1rem;
  background-color: var(--background-color);
}

#course-resources > * {
  margin-top: 20px;
}

.meta-link-list-search-bar-container {
  display: flex;
  height: 40px;
}

.meta-link-list-search-bar-container > * {
  height: 100%;
}

.meta-link-list-search-bar {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.meta-link-list-search-bar-button {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  background-color: var(--main-color);
  color: var(--text-color-against-main-color);
}

.meta-link-list-search-bar-button:hover {
  color: var(--text-color-against-main-color);
}

@media all and (max-width: 650px) {
  .week-text {
    display: none;
  }
}

/* Bootstrap Overrides */
.nav-link {
  font-size: 1.2rem;
  color: var(--text-color-against-background-color);
}

.nav-link:not(.selected):focus,
.nav-link:not(.selected):hover,
.navbar-brand:not(.selected):focus,
.navbar-brand:not(.selected):hover {
  opacity: 50%;
  cursor: pointer;
}

/* ── Check-off Next Steps ──────────────────────────────────────────────── */

:root {
  --co-orange: #e8804a;
  --co-blue: #3b82f6;
  --co-purple: #8b5cf6;
  --co-green: #10b981;
  --co-muted: #6b7280;
  --co-dark: #111827;
  --co-border: #e5e7eb;
  --co-stripe: #f3f4f6;
  --co-bg-blue: #eff6ff;
  --co-bg-green: #f0fdf4;
  --co-bg-red: #fff1f2;
  --co-bg-rerate: #f9fafb;
}

.co-card {
  border-radius: 12px !important;
  border: 1px solid var(--co-border) !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.07) !important;
}

.co-card .card-body {
  padding: 24px;
}

/* Small uppercase category label */
.co-label {
  display: block;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.co-label--catchup {
  color: var(--co-orange);
}
.co-label--dropin {
  color: var(--co-blue);
}
.co-label--support {
  color: var(--co-muted);
}
.co-label--practice {
  color: var(--co-purple);
}
.co-label--challenge {
  color: var(--co-green);
}
.co-label--extension {
  color: var(--co-orange);
}

/* Bold card heading */
.co-heading {
  font-weight: 700;
  font-size: 1.3rem;
  margin-bottom: 4px;
}

.co-heading--blue {
  color: var(--co-blue);
}

/* Muted subtitle below heading */
.co-subtitle {
  color: var(--co-muted);
  font-size: 0.85rem;
  margin-bottom: 20px;
}

/* Numbered activity list */
.co-steps {
  list-style: none;
  padding: 0;
  margin: 0;
}

.co-steps li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 0;
}

.co-steps li:not(:last-child) {
  border-bottom: 1px solid var(--co-stripe);
}

.co-step-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  border-radius: 50%;
  width: 28px;
  height: 28px;
  font-weight: 700;
  font-size: 0.8rem;
  flex-shrink: 0;
  margin-top: 1px;
}
.co-step-num--catchup {
  background: var(--co-orange);
}
.co-step-num--practice {
  background: var(--co-purple);
}
.co-step-num--challenge {
  background: var(--co-green);
}

.co-step-link {
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--co-dark);
  text-decoration: none;
  padding-top: 3px;
}

.co-step-link:hover {
  text-decoration: underline;
  color: var(--co-dark);
}

/* "When you finish" rerate box */
.co-rerate-box {
  background: var(--co-bg-rerate);
  border-radius: 8px;
  padding: 14px;
  margin-top: 20px;
}

.co-rerate-box p:first-child {
  font-weight: 600;
  font-size: 0.9rem;
  margin-bottom: 4px;
}

.co-rerate-box p:last-of-type {
  color: var(--co-muted);
  font-size: 0.85rem;
  margin-bottom: 10px;
}

.co-rerate-btn {
  display: inline-block;
  padding: 6px 14px;
  border: 1.5px solid #374151;
  border-radius: 6px;
  font-size: 0.85rem;
  font-weight: 600;
  color: #374151;
  text-decoration: none;
}

/* Dark "Book a session" button */
.co-book-btn {
  display: block;
  text-align: center;
  background: var(--co-dark);
  color: #fff !important;
  padding: 12px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 0.95rem;
  text-decoration: none !important;
  margin-top: auto;
  transition:
    transform 0.15s ease,
    box-shadow 0.15s ease;
}

.co-book-btn:hover {
  transform: scale(1.03);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  cursor: pointer;
  opacity: 0.8;
}

.co-view-link {
  display: block;
  text-align: center;
  font-size: 0.85rem;
  color: var(--co-muted);
  margin-top: 10px;
  text-decoration: none;
}

/* Resource items — white card with coloured icon square on the left */
.co-support-item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  background: #fafafa;
  border: 1px solid var(--co-border);
  border-radius: 10px;
  padding: 14px;
  margin-bottom: 10px;
  transition:
    transform 0.15s ease,
    box-shadow 0.15s ease;
}

.co-support-item:hover {
  transform: scale(1.03);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  cursor: pointer;
}

.co-support-item--static,
.co-support-item--static:hover {
  transform: none;
  box-shadow: none;
  cursor: default;
}

.co-support-item:last-child {
  margin-bottom: 0;
}

.co-support-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 8px;
  font-size: 0.6rem;
  flex-shrink: 0;
}
.co-support-icon--blue {
  background: var(--co-bg-blue);
  color: var(--co-blue);
}
.co-support-icon--green {
  background: var(--co-bg-green);
  color: var(--co-green);
}
.co-support-icon--red {
  background: var(--co-bg-red);
  color: #ef4444;
}

.co-support-title {
  display: block;
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--co-dark);
  text-decoration: none;
  margin-bottom: 4px;
}
.co-support-item:not(.co-support-item--static) .co-support-title:hover,
.co-support-item:not(.co-support-item--static):hover .co-support-title {
  text-decoration: underline;
  color: var(--co-dark);
  cursor: pointer;
}

.co-support-desc {
  color: var(--co-muted);
  font-size: 0.82rem;
  margin-bottom: 0;
  line-height: 1.4;
}
