/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/

/* HETI abstract views: migrated from Bricks element custom CSS. */
/* Abstract detail shortcode. */
@media (max-width: 767px) {
  #brxe-adsh01 .heti-abstract-detail__grid { grid-template-columns: 1fr; }
  #brxe-adsh01 .heti-abstract-detail__edit form { grid-template-columns: 1fr; }
  #brxe-adsh01 .heti-abstract-detail__coauthor { grid-template-columns: 1fr 1fr; }
}
#brxe-adsh01 .heti-abstract-detail {
  display: grid;
  gap: var(--space-5);
}
#brxe-adsh01 .heti-abstract-detail__back {
  font-family: "Bricolage Grotesque";
  font-weight: 700;
  font-size: var(--text-sm);
  color: var(--navy-600);
  text-decoration: none;
  width: fit-content;
}
#brxe-adsh01 .heti-abstract-detail__notice {
  padding: 14px 18px;
  background: var(--green-100);
  color: var(--green-700);
  font-weight: 700;
  font-size: var(--text-sm);
}
#brxe-adsh01 .heti-abstract-detail__head {
  display: grid;
  gap: 12px;
  padding: var(--space-6);
  background: var(--navy-900);
  border-top: 6px solid var(--maroon-600);
}
#brxe-adsh01 .heti-abstract-detail__kind {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: "Bricolage Grotesque";
  font-weight: 700;
  font-size: var(--text-xs);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--navy-200);
}
#brxe-adsh01 .heti-abstract-detail__kind em {
  font-style: normal;
  color: var(--navy-200);
  opacity: .7;
}
#brxe-adsh01 .heti-abstract-detail__dot {
  color: var(--navy-200);
  opacity: .5;
}
#brxe-adsh01 .heti-abstract-detail__title {
  font-family: "Bricolage Grotesque";
  font-weight: 800;
  font-size: var(--text-xl);
  color: var(--white);
  line-height: 1.2;
}
#brxe-adsh01 .heti-abstract-detail__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  font-size: var(--text-sm);
  color: var(--navy-200);
}
#brxe-adsh01 .heti-abstract-detail__badge {
  display: inline-flex;
  padding: 6px 14px;
  font-family: "Bricolage Grotesque";
  font-weight: 700;
  font-size: var(--text-xs);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
}
#brxe-adsh01 .heti-abstract-detail__badge--neutral {
  background: rgba(255,255,255,.14);
  color: var(--white);
}
#brxe-adsh01 .heti-abstract-detail__badge--ok {
  background: var(--green-100);
  color: var(--green-700);
}
#brxe-adsh01 .heti-abstract-detail__badge--due {
  background: var(--maroon-100);
  color: var(--maroon-700);
}
#brxe-adsh01 .heti-abstract-detail__message {
  padding: var(--space-5) var(--space-6);
  background: var(--white);
  border-left: 6px solid var(--maroon-600);
}
#brxe-adsh01 .heti-abstract-detail__message h2 {
  margin: 0 0 8px;
  font-family: "Bricolage Grotesque";
  font-weight: 800;
  font-size: var(--text-md);
  color: var(--maroon-700);
}
#brxe-adsh01 .heti-abstract-detail__message p {
  color: #3d4649;
}
#brxe-adsh01 .heti-abstract-detail__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-4);
}
#brxe-adsh01 .heti-abstract-detail__field {
  padding: var(--space-5);
  background: var(--white);
}
#brxe-adsh01 .heti-abstract-detail__field--wide {
  grid-column: 1 / -1;
}
#brxe-adsh01 .heti-abstract-detail__field h3 {
  margin: 0 0 10px;
  font-family: "Bricolage Grotesque";
  font-weight: 800;
  font-size: var(--text-sm);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--navy-600);
}
#brxe-adsh01 .heti-abstract-detail__field p {
  color: #3d4649;
  font-size: var(--text-base);
  line-height: 1.6;
  list-style: none;
}
#brxe-adsh01 .heti-abstract-detail__field ul {
  color: #3d4649;
  font-size: var(--text-base);
  line-height: 1.6;
  list-style: none;
}
#brxe-adsh01 .heti-abstract-detail__field li {
  padding: 6px 0;
  border-bottom: 1px solid var(--sand-100);
}
#brxe-adsh01 .heti-abstract-detail__edit {
  display: grid;
  gap: var(--space-4);
  padding: var(--space-6);
  background: var(--white);
  border-top: 6px solid var(--green-500);
}
#brxe-adsh01 .heti-abstract-detail__edit h2 {
  font-family: "Bricolage Grotesque";
  font-weight: 800;
  font-size: var(--text-lg);
  color: var(--navy-900);
}
#brxe-adsh01 .heti-abstract-detail__edit form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-4);
}
#brxe-adsh01 .heti-abstract-detail__row {
  display: grid;
  gap: 8px;
}
#brxe-adsh01 .heti-abstract-detail__row--wide {
  grid-column: 1 / -1;
}
#brxe-adsh01 .heti-abstract-detail__row label {
  font-family: "Bricolage Grotesque";
  font-weight: 700;
  font-size: var(--text-xs);
  letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
  color: #5d6669;
}
#brxe-adsh01 .heti-abstract-detail__edit legend {
  font-family: "Bricolage Grotesque";
  font-weight: 700;
  font-size: var(--text-xs);
  letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
  color: #5d6669;
}
#brxe-adsh01 .heti-abstract-detail__row input {
  border: 1px solid #b7c5cb;
  background: var(--white);
  padding: 12px 14px;
  font-size: var(--text-base);
  font-family: inherit;
}
#brxe-adsh01 .heti-abstract-detail__row select {
  border: 1px solid #b7c5cb;
  background: var(--white);
  padding: 12px 14px;
  font-size: var(--text-base);
  font-family: inherit;
}
#brxe-adsh01 .heti-abstract-detail__row textarea {
  border: 1px solid #b7c5cb;
  background: var(--white);
  padding: 12px 14px;
  font-size: var(--text-base);
  font-family: inherit;
}
#brxe-adsh01 .heti-abstract-detail__row textarea {
  min-height: 140px;
}
#brxe-adsh01 .heti-abstract-detail__row input:focus {
  border-color: var(--navy-900);
  outline: 2px solid rgba(0,50,74,.16);
  outline-offset: 1px;
}
#brxe-adsh01 .heti-abstract-detail__row select:focus {
  border-color: var(--navy-900);
  outline: 2px solid rgba(0,50,74,.16);
  outline-offset: 1px;
}
#brxe-adsh01 .heti-abstract-detail__row textarea:focus {
  border-color: var(--navy-900);
  outline: 2px solid rgba(0,50,74,.16);
  outline-offset: 1px;
}
#brxe-adsh01 fieldset.heti-abstract-detail__row--wide {
  display: grid;
  gap: 10px;
}
#brxe-adsh01 .heti-abstract-detail__coauthor {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
#brxe-adsh01 .heti-abstract-detail__coauthor input {
  border: 1px solid #b7c5cb;
  padding: 10px 12px;
  font-size: var(--text-sm);
}
#brxe-adsh01 .heti-abstract-detail__hint {
  font-size: var(--text-sm);
  color: #7c8a8f;
}
#brxe-adsh01 .heti-abstract-detail__submit {
  grid-column: 1 / -1;
  justify-self: start;
  display: inline-flex;
  align-items: center;
  padding: 14px 26px;
  background: var(--maroon-600);
  color: var(--white);
  font-family: "Bricolage Grotesque";
  font-weight: 700;
  font-size: var(--text-sm);
  cursor: pointer;
}
#brxe-adsh01 .heti-abstract-detail__submit:hover {
  background: var(--maroon-700);
}
#brxe-adsh01 .heti-abstract-detail--notfound {
  padding: var(--space-7);
  background: var(--white);
  border-left: 6px solid var(--maroon-600);
  display: grid;
  gap: 14px;
  justify-items: start;
}

/* Abstract review shortcode. */
@media (max-width: 767px) {
  #brxe-rash01 .heti-abstract-review__grid { grid-template-columns: 1fr; }
}
#brxe-rash01 .heti-abstract-review {
  display: grid;
  gap: var(--space-5);
}
#brxe-rash01 .heti-abstract-review__back {
  font-family: "Bricolage Grotesque";
  font-weight: 700;
  font-size: var(--text-sm);
  color: var(--navy-600);
  text-decoration: none;
  width: fit-content;
}
#brxe-rash01 .heti-abstract-review__notice {
  padding: 14px 18px;
  background: var(--green-100);
  color: var(--green-700);
  font-weight: 700;
  font-size: var(--text-sm);
}
#brxe-rash01 .heti-abstract-review__head {
  display: grid;
  gap: 12px;
  padding: var(--space-6);
  background: var(--navy-900);
  border-top: 6px solid var(--maroon-600);
}
#brxe-rash01 .heti-abstract-review__kind {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: "Bricolage Grotesque";
  font-weight: 700;
  font-size: var(--text-xs);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--navy-200);
}
#brxe-rash01 .heti-abstract-review__kind em {
  font-style: normal;
  color: var(--navy-200);
  opacity: .7;
}
#brxe-rash01 .heti-abstract-review__dot {
  color: var(--navy-200);
  opacity: .5;
}
#brxe-rash01 .heti-abstract-review__title {
  font-family: "Bricolage Grotesque";
  font-weight: 800;
  font-size: var(--text-xl);
  color: var(--white);
  line-height: 1.2;
}
#brxe-rash01 .heti-abstract-review__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  font-size: var(--text-sm);
  color: var(--navy-200);
}
#brxe-rash01 .heti-abstract-review__badge {
  display: inline-flex;
  width: fit-content;
  padding: 6px 14px;
  font-family: "Bricolage Grotesque";
  font-weight: 700;
  font-size: var(--text-xs);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
}
#brxe-rash01 .heti-abstract-review__badge--neutral {
  background: rgba(255,255,255,.14);
  color: var(--white);
}
#brxe-rash01 .heti-abstract-review__badge--ok {
  background: var(--green-100);
  color: var(--green-700);
}
#brxe-rash01 .heti-abstract-review__badge--due {
  background: var(--maroon-100);
  color: var(--maroon-700);
}
#brxe-rash01 .heti-abstract-review__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-4);
}
#brxe-rash01 .heti-abstract-review__field {
  padding: var(--space-5);
  background: var(--white);
}
#brxe-rash01 .heti-abstract-review__field--wide {
  grid-column: 1 / -1;
}
#brxe-rash01 .heti-abstract-review__field h3 {
  margin: 0 0 10px;
  font-family: "Bricolage Grotesque";
  font-weight: 800;
  font-size: var(--text-sm);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
  color: var(--navy-600);
}
#brxe-rash01 .heti-abstract-review__field p {
  color: #3d4649;
  font-size: var(--text-base);
  line-height: 1.6;
  list-style: none;
}
#brxe-rash01 .heti-abstract-review__field ul {
  color: #3d4649;
  font-size: var(--text-base);
  line-height: 1.6;
  list-style: none;
}
#brxe-rash01 .heti-abstract-review__field li {
  padding: 6px 0;
  border-bottom: 1px solid var(--sand-100);
}
#brxe-rash01 .heti-abstract-review__form {
  display: grid;
  gap: var(--space-4);
  padding: var(--space-6);
  background: var(--white);
  border-top: 6px solid var(--green-500);
}
#brxe-rash01 .heti-abstract-review__form h2 {
  font-family: "Bricolage Grotesque";
  font-weight: 800;
  font-size: var(--text-lg);
  color: var(--navy-900);
}
#brxe-rash01 .heti-abstract-review__form form {
  display: grid;
  gap: var(--space-4);
}
#brxe-rash01 .heti-abstract-review__rec {
  display: grid;
  gap: 2px;
}
#brxe-rash01 .heti-abstract-review__rec label {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 20px;
  background: var(--sand-50);
  cursor: pointer;
  font-family: "Bricolage Grotesque";
  font-weight: 700;
  font-size: var(--text-base);
  color: var(--navy-900);
}
#brxe-rash01 .heti-abstract-review__rec label:has(input:checked) {
  background: var(--navy-900);
  color: var(--white);
}
#brxe-rash01 .heti-abstract-review__rec input {
  width: 18px;
  height: 18px;
  accent-color: var(--maroon-600);
}
#brxe-rash01 .heti-abstract-review__row {
  display: grid;
  gap: 8px;
  padding: var(--space-5);
  background: var(--white);
  border-left: 6px solid var(--green-500);
}
#brxe-rash01 .heti-abstract-review__row--private {
  background: var(--navy-900);
  border-left-color: var(--maroon-600);
}
#brxe-rash01 .heti-abstract-review__staffonly {
  font-family: "Bricolage Grotesque";
  font-weight: 700;
  font-size: var(--text-xs);
  letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
  color: var(--maroon-100);
}
#brxe-rash01 .heti-abstract-review__row label {
  font-family: "Bricolage Grotesque";
  font-weight: 800;
  font-size: var(--text-md);
  color: var(--navy-900);
}
#brxe-rash01 .heti-abstract-review__row--private label {
  color: var(--white);
}
#brxe-rash01 .heti-abstract-review__row textarea {
  min-height: 110px;
  border: 1px solid #b7c5cb;
  padding: 12px 14px;
  font-size: var(--text-base);
  font-family: inherit;
}
#brxe-rash01 .heti-abstract-review__row textarea:focus {
  border-color: var(--navy-900);
  outline: 2px solid rgba(0,50,74,.16);
  outline-offset: 1px;
}
#brxe-rash01 .heti-abstract-review__submit {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  padding: 14px 26px;
  background: var(--maroon-600);
  color: var(--white);
  font-family: "Bricolage Grotesque";
  font-weight: 700;
  font-size: var(--text-sm);
  cursor: pointer;
}
#brxe-rash01 .heti-abstract-review__submit:hover {
  background: var(--maroon-700);
}
#brxe-rash01 .heti-abstract-review__closed {
  padding: var(--space-5) var(--space-6);
  background: var(--white);
  border-left: 6px solid var(--maroon-600);
  color: #3d4649;
}
#brxe-rash01 .heti-abstract-review--notfound {
  padding: var(--space-7);
  background: var(--white);
  border-left: 6px solid var(--maroon-600);
  display: grid;
  gap: 14px;
  justify-items: start;
}

/* Shared abstract submission and resubmission form. */
@media (max-width: 767px) {
  #brxe-a3d61a > .form-group,
  #brxe-a3d61a > #brxe-f65b1f,
  #brxe-a3d61a > #brxe-f0e092,
  #brxe-a3d61a > #brxe-bbce08,
  #brxe-a3d61a > #brxe-ff7071,
  #brxe-a3d61a > #brxe-b51e3b,
  #brxe-a3d61a > #brxe-5cc91f,
  #brxe-a3d61a > #brxe-c068af,
  #brxe-a3d61a > #brxe-75fffd {
    grid-column: 1;
  }
}
#brxe-a3d61a>.brxe-heading {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin: var(--space-3) 0 0;
  padding-top: var(--space-5);
  border-top: 1px solid #d7dfe2;
  color: var(--navy-900);
  font-family: "Bricolage Grotesque";
  font-size: var(--text-xl);
  font-weight: 800;
  line-height: 1;
}
#brxe-ffeb4f::before {
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  background: var(--navy-900);
  color: var(--white);
  font-family: "Bricolage Grotesque";
  font-size: var(--text-xs);
  font-weight: 800;
  line-height: 1;
}
#brxe-d7e332::before {
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  background: var(--navy-900);
  color: var(--white);
  font-family: "Bricolage Grotesque";
  font-size: var(--text-xs);
  font-weight: 800;
  line-height: 1;
}
#brxe-5456a8::before {
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  background: var(--navy-900);
  color: var(--white);
  font-family: "Bricolage Grotesque";
  font-size: var(--text-xs);
  font-weight: 800;
  line-height: 1;
}
#brxe-b2ed1d::before {
  display: grid;
  width: 26px;
  height: 26px;
  place-items: center;
  background: var(--navy-900);
  color: var(--white);
  font-family: "Bricolage Grotesque";
  font-size: var(--text-xs);
  font-weight: 800;
  line-height: 1;
}
#brxe-ffeb4f::before {
  content: "1";
}
#brxe-d7e332::before {
  content: "2";
}
#brxe-5456a8::before {
  content: "3";
}
#brxe-b2ed1d::before {
  content: "4";
}
#brxe-a3d61a>#brxe-f65b1f {
  grid-column: 1 / -1;
}
#brxe-a3d61a>#brxe-f0e092 {
  grid-column: 1 / -1;
}
#brxe-a3d61a>#brxe-bbce08 {
  grid-column: 1 / -1;
}
#brxe-a3d61a>#brxe-ff7071 {
  grid-column: 1 / -1;
}
#brxe-a3d61a>#brxe-b51e3b {
  grid-column: 1 / -1;
}
#brxe-a3d61a>#brxe-5cc91f {
  grid-column: 1 / -1;
}
#brxe-a3d61a>#brxe-c068af {
  grid-column: 1 / -1;
}
#brxe-a3d61a>#brxe-75fffd {
  grid-column: 1 / -1;
}
#brxe-a3d61a label {
  margin-bottom: 8px;
  color: #5d6669;
  font-family: "Bricolage Grotesque";
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
}
#brxe-a3d61a input:not([type="checkbox"]) {
  border: 1px solid #b7c5cb;
  background: var(--white);
  box-shadow: none;
}
#brxe-a3d61a textarea {
  border: 1px solid #b7c5cb;
  background: var(--white);
  box-shadow: none;
}
#brxe-a3d61a .choices__inner {
  border: 1px solid #b7c5cb;
  background: var(--white);
  box-shadow: none;
}
#brxe-a3d61a input:not([type="checkbox"]) {
  min-height: 52px;
  padding: 12px 14px;
}
#brxe-a3d61a textarea {
  min-height: 220px;
  padding: 14px;
}
#brxe-a3d61a .choices__inner {
  min-height: 52px;
  padding: 8px 12px;
}
#brxe-a3d61a input:focus {
  border-color: var(--navy-900);
  outline: 2px solid rgba(0, 50, 74, .16);
  outline-offset: 1px;
}
#brxe-a3d61a textarea:focus {
  border-color: var(--navy-900);
  outline: 2px solid rgba(0, 50, 74, .16);
  outline-offset: 1px;
}
#brxe-a3d61a .is-focused .choices__inner {
  border-color: var(--navy-900);
  outline: 2px solid rgba(0, 50, 74, .16);
  outline-offset: 1px;
}
#brxe-75fffd {
  padding-top: var(--space-2);
}
#brxe-75fffd button {
  min-height: 52px;
  padding: 0 24px;
}

@media (max-width: 767px) {
#brxe-a3d61a > .form-group,
#brxe-a3d61a > #brxe-ff7071,
#brxe-a3d61a > #brxe-b51e3b,
#brxe-a3d61a > #brxe-5cc91f,
#brxe-a3d61a > #brxe-c068af,
#brxe-a3d61a > #brxe-75fffd {
  width: 100%;
}
}

/* Shared co-author repeater. */
@media (max-width: 767px) {
  #brxe-5cc91f .brf-repeater-item__content {
    grid-template-columns: 1fr;
  }
}
#brxe-5cc91f .brf-repeater-item {
  flex-wrap: wrap;
  row-gap: 12px;
}
#brxe-5cc91f .brf-repeater-item__content {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  flex-basis: 100%;
  width: 100%;
  gap: var(--space-4);
}
#brxe-5cc91f .brf-repeater-item__actions {
  flex-basis: 100%;
  width: 100%;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
}
#brxe-5cc91f .brf-repeater-add-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: auto;
  background: transparent;
  color: var(--navy-600);
  font-size: 15px;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
#brxe-5cc91f .brf-repeater-remove-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: auto;
  background: transparent;
  color: var(--navy-600);
  font-size: 15px;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
#brxe-5cc91f .brf-repeater-add-item svg {
  width: 10px;
  height: 10px;
  fill: currentColor;
}
#brxe-5cc91f .brf-repeater-remove-item svg {
  width: 10px;
  height: 10px;
  fill: currentColor;
}
#brxe-5cc91f .brf-repeater-add-item::after {
  content: "Add another author";
}
#brxe-5cc91f .brf-repeater-remove-item::after {
  content: "Remove author";
}
#brxe-5cc91f .brf-repeater-item:only-child .brf-repeater-remove-item {
  display: none;
}
#brxe-5cc91f .brf-repeater-add-item:focus-visible {
  outline: 2px solid var(--navy-600);
  outline-offset: 2px;
}
#brxe-5cc91f .brf-repeater-remove-item:focus-visible {
  outline: 2px solid var(--navy-600);
  outline-offset: 2px;
}

/* Abstract submission requirements. */
#brxe-00fe5d {
  background: var(--white);
  border-left: 6px solid var(--navy-900);
}

/* Programme archive template: page head. "PROGRAMME" is one 9-letter word, which
   heading-hero cannot fit in the default 1.1fr title column (conventions 4.15), so
   widen the title column and drop to text-huge where the column gets narrow. */
.post-type-archive-session .brxe-nzafgv .brxe-sp1003 {
  grid-template-columns: 3fr 1fr;
}
@media (max-width: 991px) {
  .post-type-archive-session .brxe-nzafgv .brxe-sp1003 {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 767px) {
  .post-type-archive-session .brxe-nzafgv h1 {
    font-size: var(--text-huge);
  }
}

/* Guide to presentation (page 561): "PRESENTATION" is one 12-letter word that
   breaks mid-word in the default title column (conventions 4.15). The head has
   no lead or links, so the title takes the full width; text-huge on phones. */
.page-id-561 .brxe-nzafgv .brxe-sp1003,
/* Information for exhibitors (page 981): "INFORMATION" and "EXHIBITORS" are
   single long words; same fix, no lead or links in this head. */
.page-id-981 .brxe-nzafgv .brxe-sp1003 {
  grid-template-columns: 1fr;
}
@media (max-width: 767px) {
  .page-id-561 .brxe-nzafgv h1,
  .page-id-981 .brxe-nzafgv h1 {
    font-size: var(--text-huge);
  }
}

/* Page head component: an instance with no link text renders empty <a> elements
   and a bare link row. Hide both. */
.brxe-nzafgv .brxe-text-link:empty {
  display: none;
}
.brxe-nzafgv .brxe-sp1014:not(:has(.brxe-text-link:not(:empty))) {
  display: none;
}

/* The tab bar stays in view while the listing scrolls, as in the design. Not on
   phones, where the wrapped tabs would cover too much of the screen. */
@media (min-width: 768px) {
  #programme-days {
    position: sticky;
    top: 0;
    z-index: 20;
  }
}
/* Programme listing: empty state (the day loop's no-results text). */
.c-programme-empty {
  margin: 0;
  background: var(--white);
  border-top: 3px solid var(--navy-900);
  padding: var(--space-6);
  font-size: var(--text-md);
  color: var(--ink-700);
}
/* Programme grid (Programme archive template, Core 0.31+): a time x room table
   per day. Source copy of the block that sits in the child theme style.css
   after the .c-programme-empty rule. Rows and cells are loop items, which have no
   #brxe- id, so everything is targeted by the c-pg-* classes. Every rule inside
   the table starts with .c-pg-grid so it outranks Bricks' own .brxe-block rules.
   Tokens only; the literal pixels are geometry no token covers (time column,
   markers, rules, portrait, offset shadow). */

/* Day head */
.c-pg-dayname {
  margin: 0;
  font-size: var(--text-2xl);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.035em;
  color: var(--navy-900);
}

/* The table */
.c-pg-grid {
  background: var(--white);
  border: 1px solid var(--ink-200);
  border-top: 0;
}
/* Bricks adds an empty pagination marker as the last child of every loop. */
.c-pg-grid .brx-query-trail {
  display: none;
}
.c-pg-grid .c-pg-row {
  position: relative;
}
.c-pg-grid .c-pg-row + .c-pg-row {
  border-top: 1px solid var(--ink-200);
}

/* Column header: sticks below the day-tab bar (--pg-bar-h is set by Core's script). */
.c-pg-grid .c-pg-row--head {
  position: sticky;
  top: var(--pg-bar-h, 77px);
  z-index: 3;
  background: var(--navy-900);
}
.c-pg-grid .c-pg-th {
  padding: var(--space-4);
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-size: var(--text-md);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -.01em;
  color: var(--white);
}
.c-pg-grid .c-pg-th + .c-pg-th {
  border-left: 1px solid var(--navy-700);
}
.c-pg-grid .c-pg-th--time {
  align-self: end;
  padding-left: var(--space-6);
  font-size: var(--text-xs);
  line-height: 1.5;
  letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
  color: var(--navy-200);
}

/* Time column with a timeline: a vertical rule and a square marker per start time. */
.c-pg-grid .c-pg-time {
  position: relative;
  padding: var(--space-4) var(--space-3) var(--space-4) var(--space-6);
  background: var(--sand-50);
}
.c-pg-grid .c-pg-time::before {
  content: "";
  position: absolute;
  left: 20px;
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--ink-200);
}
.c-pg-grid .c-pg-time::after {
  content: "";
  position: absolute;
  left: 16px;
  top: 22px;
  width: 10px;
  height: 10px;
  background: var(--navy-900);
}
.c-pg-grid .c-pg-start {
  display: block;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-size: var(--text-md);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
  color: var(--navy-900);
}
.c-pg-grid .c-pg-note {
  display: none;
}

/* Cells */
.c-pg-grid .c-pg-cell {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: var(--space-4);
  min-height: 88px;
  padding: var(--space-4);
  border-left: 1px solid var(--ink-200);
  transition: background-color .15s ease;
}
.c-pg-grid .c-pg-cell--session {
  grid-column: var(--pg-col, 2) / span var(--pg-span, 1);
  background: var(--white);
}
.c-pg-grid .c-pg-body {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  gap: var(--space-1);
  min-width: 0;
}
.c-pg-grid .c-pg-type {
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-size: var(--text-xs);
  font-weight: 800;
  line-height: 1.4;
  letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
  color: var(--maroon-700);
}
.c-pg-grid .c-pg-title {
  margin: 0;
  font-size: var(--text-md);
  line-height: 1.15;
  letter-spacing: -.02em;
  overflow-wrap: anywhere;
}
.c-pg-grid .c-pg-title a {
  color: inherit;
  text-decoration: none;
}
/* The whole cell is the link target. */
.c-pg-grid .c-pg-title a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}
.c-pg-grid .c-pg-title a:focus-visible {
  outline: none;
}
.c-pg-grid .c-pg-cell--session:has(a:focus-visible) {
  outline: 3px solid var(--maroon-700);
  outline-offset: -3px;
}
.c-pg-grid .c-pg-who,
.c-pg-grid .c-pg-sub {
  margin: 0;
  font-size: var(--text-sm);
  line-height: 1.4;
  color: var(--ink-700);
}
.c-pg-grid .c-pg-speaker + .c-pg-speaker::before {
  content: "\00a0·\00a0";
  font-weight: 800;
}
.c-pg-grid .c-pg-roomlabel {
  display: none;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-size: var(--text-xs);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
  color: var(--ink-700);
}
.c-pg-grid .c-pg-roomname + .c-pg-roomname::before {
  content: ",\00a0";
}
.c-pg-grid .c-pg-cell--session::after {
  content: "";
  position: absolute;
  right: 14px;
  top: 50%;
  width: 20px;
  height: 20px;
  background: var(--maroon-700);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
  opacity: 0;
  transform: translate(-6px, -50%);
  transition: opacity .15s ease, transform .15s ease;
}
.c-pg-grid .c-pg-cell--session:hover {
  background: var(--navy-900);
}
.c-pg-grid .c-pg-cell--session:hover .c-pg-title,
.c-pg-grid .c-pg-cell--session:hover .c-pg-roomlabel {
  color: var(--white);
}
.c-pg-grid .c-pg-cell--session:hover .c-pg-type {
  color: var(--navy-200);
}
.c-pg-grid .c-pg-cell--session:hover .c-pg-who,
.c-pg-grid .c-pg-cell--session:hover .c-pg-sub {
  color: var(--navy-100);
}
.c-pg-grid .c-pg-cell--session:hover::after {
  opacity: 1;
  transform: translateY(-50%);
  background: var(--green-300);
}

/* Portrait of a keynote speaker. */
.c-pg-grid .c-pg-portrait {
  display: block;
  flex: none;
  width: 72px;
  height: 72px;
  object-fit: cover;
  object-position: 50% 30%;
  box-shadow: 5px 5px 0 var(--maroon-600);
}

/* Parallel row: white cells; a room with no session shows the hatch behind them. */
.c-pg-grid .c-pg-row[data-kind="parallel"] {
  background: repeating-linear-gradient(135deg, transparent 0 9px, var(--sand-100) 9px 10px);
}

/* Break row: one full-width sand cell, with a cup or cutlery icon. */
.c-pg-grid .c-pg-row[data-kind="break"] .c-pg-time::after {
  background: var(--ink-400);
}
.c-pg-grid .c-pg-row[data-kind="break"] .c-pg-start {
  color: var(--ink-700);
}
.c-pg-grid .c-pg-cell--break {
  grid-column: 2 / -1;
  min-height: 0;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-4);
  background: var(--sand-50);
  color: var(--ink-700);
}
.c-pg-grid .c-pg-cell--break p {
  margin: 0;
  font-family: "Bricolage Grotesque", system-ui, sans-serif;
  font-size: var(--text-md);
  font-weight: 700;
  line-height: 1.3;
  color: var(--ink-700);
}
.c-pg-grid .c-pg-cell--break::before {
  content: "";
  flex: none;
  width: 20px;
  height: 20px;
  background: currentColor;
  -webkit-mask: var(--pg-icon) center / contain no-repeat;
  mask: var(--pg-icon) center / contain no-repeat;
}
.c-pg-grid .c-pg-cell--break[data-icon="coffee"] {
  --pg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square'%3E%3Cpath d='M4 9h12v5a5 5 0 0 1-5 5H9a5 5 0 0 1-5-5V9z'/%3E%3Cpath d='M16 11h1.5a2.5 2.5 0 0 1 0 5H16'/%3E%3Cpath d='M8 3v3M12 3v3'/%3E%3C/svg%3E");
}
.c-pg-grid .c-pg-cell--break[data-icon="lunch"] {
  --pg-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square'%3E%3Cpath d='M7 3v8M5 3v5a2 2 0 0 0 4 0V3M7 11v10'/%3E%3Cpath d='M17 3c-1.7 1.2-2.5 3.3-2.5 6v3H17v9'/%3E%3C/svg%3E");
}

/* Keynote row: a navy band across the row, the Page head's maroon block in its
   corner, the speaker's portrait. */
.c-pg-grid .c-pg-row[data-kind="keynote"] {
  background: linear-gradient(100deg, var(--navy-600) 0%, var(--navy-700) 55%, var(--navy-900) 100%);
}
.c-pg-grid .c-pg-row[data-kind="keynote"] .c-pg-time,
.c-pg-grid .c-pg-row[data-kind="keynote"] .c-pg-cell--session {
  background: transparent;
  border-left-color: transparent;
}
.c-pg-grid .c-pg-row[data-kind="keynote"] .c-pg-time::before {
  background: var(--navy-400);
}
.c-pg-grid .c-pg-row[data-kind="keynote"] .c-pg-time::after {
  background: var(--green-500);
}
.c-pg-grid .c-pg-row[data-kind="keynote"] .c-pg-start,
.c-pg-grid .c-pg-row[data-kind="keynote"] .c-pg-title {
  color: var(--white);
}
.c-pg-grid .c-pg-row[data-kind="keynote"] .c-pg-title {
  font-size: var(--text-xl);
}
.c-pg-grid .c-pg-row[data-kind="keynote"] .c-pg-cell--session {
  min-height: 112px;
  padding-top: var(--space-5);
  padding-bottom: var(--space-5);
}
.c-pg-grid .c-pg-row[data-kind="keynote"] .c-pg-who {
  font-size: var(--text-base);
  font-weight: 600;
  color: var(--white);
}
.c-pg-grid .c-pg-row[data-kind="keynote"] .c-pg-sub {
  color: var(--navy-100);
}
.c-pg-grid .c-pg-row[data-kind="keynote"] .c-pg-type {
  color: var(--green-300);
}
.c-pg-grid .c-pg-row[data-kind="keynote"] .c-pg-roomlabel {
  color: var(--navy-200);
}
.c-pg-grid .c-pg-row[data-kind="keynote"] .c-pg-cell--session:hover {
  background: var(--navy-900);
}

/* Whole-congress session: a green band that fades out across the rooms. */
.c-pg-grid .c-pg-row[data-kind="plenary"] {
  background: linear-gradient(90deg, var(--green-100) 0%, var(--green-100) 35%, var(--white) 100%);
}
.c-pg-grid .c-pg-row[data-kind="plenary"] .c-pg-time,
.c-pg-grid .c-pg-row[data-kind="plenary"] .c-pg-cell--session {
  background: transparent;
  border-left-color: transparent;
}
.c-pg-grid .c-pg-row[data-kind="plenary"] .c-pg-time::after {
  background: var(--green-600);
}
.c-pg-grid .c-pg-row[data-kind="plenary"] .c-pg-type {
  color: var(--green-700);
}
.c-pg-grid .c-pg-row[data-kind="plenary"] .c-pg-cell--session:hover {
  background: var(--navy-900);
}

@media (max-width: 1279px) {
  .c-pg-grid .c-pg-th,
  .c-pg-grid .c-pg-cell {
    padding-left: var(--space-3);
    padding-right: var(--space-3);
  }
  .c-pg-grid .c-pg-title {
    font-size: var(--text-base);
  }
  .c-pg-grid .c-pg-row[data-kind="keynote"] .c-pg-title {
    font-size: var(--text-lg);
  }
  .c-pg-grid .c-pg-portrait {
    width: 60px;
    height: 60px;
  }
}

/* Below 992px each row becomes a block: a time bar ("3 parallel sessions"), then
   the sessions, each labelled with its room. */
@media (max-width: 991px) {
  .c-pg-grid .c-pg-row--head {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }
  .c-pg-grid .c-pg-time {
    display: flex;
    flex-direction: row;
    align-items: baseline;
    gap: var(--space-3);
    padding: var(--space-3) var(--space-4) var(--space-3) 34px;
    border-bottom: 1px solid var(--ink-200);
  }
  .c-pg-grid .c-pg-time::before {
    display: none;
  }
  .c-pg-grid .c-pg-time::after {
    left: 16px;
    top: 17px;
  }
  .c-pg-grid .c-pg-start {
    font-size: var(--text-md);
  }
  .c-pg-grid .c-pg-note {
    display: block;
    margin-left: auto;
    font-size: var(--text-xs);
    color: var(--ink-700);
  }
  .c-pg-grid .c-pg-cell {
    min-height: 0;
    padding: var(--space-4);
    border-left: 0;
  }
  .c-pg-grid .c-pg-cell--session,
  .c-pg-grid .c-pg-cell--break {
    grid-column: auto;
  }
  .c-pg-grid .c-pg-cell--session + .c-pg-cell--session {
    border-top: 1px solid var(--ink-200);
  }
  .c-pg-grid .c-pg-roomlabel {
    display: flex;
  }
  .c-pg-grid .c-pg-cell--session::after {
    display: none;
  }
  .c-pg-grid .c-pg-row[data-kind="break"] {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
  }
  .c-pg-grid .c-pg-row[data-kind="break"] .c-pg-time {
    border-bottom: 0;
    padding-right: 0;
  }
  .c-pg-grid .c-pg-cell--break {
    padding: var(--space-3) var(--space-4);
  }
  .c-pg-grid .c-pg-row[data-kind="keynote"] .c-pg-time {
    border-bottom-color: var(--navy-600);
  }
  .c-pg-grid .c-pg-row[data-kind="keynote"] .c-pg-cell--session {
    min-height: 0;
  }
  .c-pg-grid .c-pg-row[data-kind="keynote"] .c-pg-title {
    font-size: var(--text-lg);
  }
}
/* end Programme grid */

/* Checkout Select2 fields: match the standard WooCommerce text inputs. */
.woocommerce-checkout .select2-container--default .select2-selection--single {
  border: 1px solid var(--bricks-border-color);
  border-radius: var(--radius-sm);
  box-sizing: border-box;
  height: 42px;
  line-height: 40px;
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: inherit;
  padding: 0 var(--space-3);
}

.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: inherit;
}

/* Session single template (ANT-12): head. The maroon corner square matches the
   Page head component, which this head cannot reuse (auto breadcrumbs, uppercase
   hero title). */
.c-session-head::after {
  content: "";
  position: absolute;
  right: -60px;
  bottom: -70px;
  width: 280px;
  height: 280px;
  background: var(--maroon-600);
}
.c-session-head nav a {
  color: inherit;
  transition: color .15s ease;
}
.c-session-head nav a:hover {
  color: var(--white);
}
.c-session-head__speaker + .c-session-head__speaker::before {
  content: "·";
  margin-right: var(--space-3);
  color: var(--navy-200);
}
.c-session-head__speaker a:hover {
  color: var(--green-300);
  border-color: var(--green-300);
}

/* Session single: abstract lists and summary. */
.c-session-abstract__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.c-session-abstract__list sup {
  line-height: 0;
}
.c-session-abstract__summary p {
  margin: 0;
}
.c-session-abstract__summary p + p {
  margin-top: var(--space-4);
}

/* Session single: rows in the Details box. */
.c-session-facts > .brxe-block + .brxe-block {
  border-top: 1px solid var(--navy-100);
}
.c-session-facts > .brxe-block:first-child:has(h2) + .brxe-block {
  border-top: 0;
}
.c-session-facts a:hover {
  color: var(--maroon-700);
  border-color: var(--navy-900);
}
[data-heti-local-time][hidden] {
  display: none;
}

/* Call for Abstracts (page 471): the dates panel and step cards are ordered
   lists for screen readers; remove the browser list indent and markers. */
#brxe-cfdl01,
#brxe-5v2592 {
  list-style: none;
  margin: 0;
  padding: 0;
}

#brxe-cfdl01 > li:last-child {
  border-bottom: 0;
}

/* Single product template (873, ANT-28): head. A template-local head, not the
   Page head component (uppercase hero title, mandatory link slots). The maroon
   corner square matches the component, sized down for the compact head. */
.c-product-head::after {
  content: "";
  position: absolute;
  right: -50px;
  bottom: -60px;
  width: 190px;
  height: 190px;
  background: var(--maroon-600);
}
.c-product-head nav a {
  color: inherit;
  transition: color .15s ease;
}
.c-product-head nav a:hover {
  color: var(--white);
}
/* No token sits between text-2xl (30px) and text-huge (38-74px), and the
   text- prefix cannot take new tokens, so the title is text-huge capped at
   60px. Approved 23 September 2026 (single-product-redesign.md, D2). */
.c-product-head h1 {
  font-size: min(var(--text-huge), 60px);
}
/* Single product: purchase-card price. Same token gap as the title; text-huge
   capped at 44px so the price leads the card without outgrowing it. */
.c-product-buy .price ins,
.c-product-buy .price > .woocommerce-Price-amount {
  font-size: min(var(--text-huge), 44px);
}

/* Guide pattern for text-heavy pages: a reading column and an "On this page"
   index. First used on Guide to abstracts (492), 24 September 2026; see
   docs/current/guide-page-pattern.md. Layout, spacing, list markers and link
   colour only. Type comes from the theme and existing classes: heading-xl on
   h2, the theme h3 and body text, c-session-row__eyebrow and __strong in the
   index. Markup: .c-guide > nav.c-guide__toc + .c-guide__body >
   .c-guide__section[id] (> .c-guide__sub[id]), with Rich text elements. */
.c-guide {
  display: grid;
  grid-template-columns: minmax(0, 46em) 15em;
  justify-content: space-between;
  align-items: start;
  gap: var(--space-9);
  width: 100%;
}
/* The index comes first in the markup, so it leads on phones; on desktop it
   sits in the right column and stays in view. */
.c-guide__toc {
  grid-column: 2;
  grid-row: 1;
  position: sticky;
  top: var(--space-6);
  display: grid;
  gap: var(--space-4);
  /* Marks the link of the section being read (:target-current). Browsers
     without it show the plain index. */
  scroll-target-group: auto;
}
.c-guide__toc ol {
  margin: 0;
  padding: 0;
  list-style: none;
  border-left: 1px solid var(--ink-200);
}
.c-guide__toc a {
  display: block;
  margin-left: -1px;
  padding: var(--space-2) var(--space-4);
  border-left: 3px solid transparent;
  color: inherit;
  text-decoration: none;
  transition: color .15s ease, border-color .15s ease;
}
.c-guide__toc a:hover {
  color: var(--maroon-700);
}
.c-guide__toc a:target-current {
  color: var(--maroon-700);
  border-left-color: var(--maroon-600);
}
.c-guide__body {
  grid-column: 1;
  grid-row: 1;
  display: grid;
}
.c-guide [id] {
  scroll-margin-top: var(--space-6);
}
.c-guide__section {
  display: grid;
  gap: var(--space-5);
}
.c-guide__section + .c-guide__section {
  margin-top: var(--space-8);
  padding-top: var(--space-8);
  border-top: 1px solid var(--ink-200);
}
.c-guide__sub {
  display: grid;
  gap: var(--space-3);
  margin-top: var(--space-5);
}
.c-guide__body .brxe-text :is(p, ul, ol) {
  margin: 0;
  max-width: 68ch;
}
.c-guide__body .brxe-text :is(p, ul, ol) + :is(p, ul, ol) {
  margin-top: var(--space-4);
}
.c-guide__body .brxe-text :is(ul, ol) {
  padding: 0;
  list-style: none;
}
.c-guide__body .brxe-text ol {
  counter-reset: c-guide-item;
}
.c-guide__body .brxe-text li {
  position: relative;
  padding: var(--space-3) 0 var(--space-3) var(--space-6);
  border-top: 1px solid var(--sand-100);
}
.c-guide__body .brxe-text li:last-child {
  border-bottom: 1px solid var(--sand-100);
}
.c-guide__body .brxe-text ul > li::before {
  content: "";
  position: absolute;
  inset: calc(var(--space-3) + .8em) auto auto 0;
  width: var(--space-3);
  height: 2px;
  background: var(--maroon-600);
}
.c-guide__body .brxe-text ol > li {
  counter-increment: c-guide-item;
}
.c-guide__body .brxe-text ol > li::before {
  content: counter(c-guide-item);
  position: absolute;
  inset: var(--space-3) auto auto 0;
  font-weight: 700;
  color: var(--maroon-600);
}
.c-guide__body .brxe-text a {
  color: var(--maroon-700);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-decoration-color: var(--maroon-600);
  text-underline-offset: 3px;
}
.c-guide__body .brxe-text a:hover {
  text-decoration-color: currentColor;
}
.c-guide__body .brxe-text strong {
  color: var(--navy-900);
}
@media (max-width: 991px) {
  .c-guide {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-7);
  }
  .c-guide__toc,
  .c-guide__body {
    grid-column: auto;
    grid-row: auto;
  }
  .c-guide__toc {
    position: static;
    padding: var(--space-5);
    background: var(--sand-50);
  }
  .c-guide__toc ol {
    columns: 2;
    column-gap: var(--space-6);
    border-left: 0;
  }
  .c-guide__toc li {
    break-inside: avoid;
  }
  .c-guide__toc a {
    margin: 0;
    padding: var(--space-1) 0;
    border-left: 0;
  }
  .c-guide__toc a:target-current {
    color: inherit;
  }
}
@media (max-width: 767px) {
  .c-guide__section + .c-guide__section {
    margin-top: var(--space-7);
    padding-top: var(--space-7);
  }
  .c-guide__toc ol {
    columns: 1;
  }
}

/* Abstract submission (533), the sign-in gate for Submit an abstract,
   24 September 2026. Inline link colour only, same as the guide pattern;
   the rest is element settings. */
.c-abstract-gate li a {
  color: var(--maroon-700);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-decoration-color: var(--maroon-600);
  text-underline-offset: 3px;
}
.c-abstract-gate li a:hover {
  text-decoration-color: currentColor;
}
/* "SUBMISSION" is one 10-letter word, so the Page head widens its title
   column and steps down to text-huge on phones, as on the Programme archive
   (conventions 4.15). This Page head has no lead or links on the right. */
.brxe-nzafgv:has(+ .c-abstract-gate) .brxe-sp1003 {
  grid-template-columns: 3fr 1fr;
}
@media (max-width: 991px) {
  .brxe-nzafgv:has(+ .c-abstract-gate) .brxe-sp1003 {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 767px) {
  .brxe-nzafgv:has(+ .c-abstract-gate) h1 {
    font-size: var(--text-huge);
  }
}

/* HETI checkout: registration fields (Bricks template 880, wrapper #brxe-hrgwrp). */
#brxe-hrgwrp {
  margin-top: var(--space-5);
  padding-top: var(--space-6);
  border-top: 1px solid var(--sand-100);
  gap: var(--space-4);
}
#brxe-hrgwrp h3 {
  margin: 0;
}
#brxe-hrgwrp .form-row {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  float: none;
}
#brxe-hrgwrp .form-row > label,
#brxe-hrgwrp .heti-field-group__label {
  display: block;
  margin-bottom: var(--space-2);
  font-family: "Public Sans";
  font-size: var(--text-sm);
  font-weight: 700;
  line-height: 1.4;
  color: var(--navy-900);
}
#brxe-hrgwrp .woocommerce-input-wrapper {
  display: block;
  width: 100%;
}
#brxe-hrgwrp input[type="text"],
#brxe-hrgwrp input[type="tel"],
#brxe-hrgwrp input[type="date"],
#brxe-hrgwrp select {
  box-sizing: border-box;
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #dddedf;
  border-radius: 0;
  background-color: var(--white);
  font-family: "Public Sans";
  font-size: var(--text-base);
  color: var(--ink-900);
}
#brxe-hrgwrp input[type="text"]:focus,
#brxe-hrgwrp input[type="tel"]:focus,
#brxe-hrgwrp input[type="date"]:focus,
#brxe-hrgwrp select:focus {
  border-color: var(--navy-900);
  outline: 2px solid rgba(0,50,74,.16);
  outline-offset: 1px;
}
/* Radio group: one option per row, button and text together. */
#brxe-hrgwrp .woocommerce-input-wrapper:has(> input[type="radio"]) {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: var(--space-2) 10px;
}
#brxe-hrgwrp input[type="radio"],
#brxe-hrgwrp input[type="checkbox"] {
  flex: none;
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--navy-900);
}
#brxe-hrgwrp .form-row > .woocommerce-input-wrapper > label.radio {
  display: inline-block;
  margin: 0;
  font-family: "Public Sans";
  font-size: var(--text-base);
  font-weight: 400;
  color: var(--ink-900);
  cursor: pointer;
}
#brxe-hrgwrp label.radio .required {
  display: none;
}
/* Checkbox groups. */
#brxe-hrgwrp .heti-field-group__options {
  display: grid;
  gap: var(--space-2);
}
#brxe-hrgwrp .heti-field-group__option,
#brxe-hrgwrp .heti-consent label.checkbox {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  font-family: "Public Sans";
  font-size: var(--text-base);
  font-weight: 400;
  line-height: 1.4;
  color: var(--ink-900);
  cursor: pointer;
}
#brxe-hrgwrp .heti-consent label.checkbox a {
  color: var(--maroon-700);
  text-decoration: underline;
}
#brxe-hrgwrp .required {
  color: var(--maroon-700);
}
#brxe-hrgwrp .form-row .description {
  display: block;
  margin-top: var(--space-2);
  font-size: var(--text-sm);
  color: #5d6669;
}
#brxe-hrgwrp .form-row[hidden] {
  display: none;
}
/* /HETI checkout: registration fields */
