.ccb-printable-checklist-page {
  padding: 2rem 0 3rem;
}

.ccb-printable-checklist__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  max-width: 11in;
  margin: 0 auto 1rem;
}

.ccb-printable-checklist__history-control label {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0;
  font-weight: 700;
  cursor: pointer;
}

.ccb-printable-checklist__history-control input {
  width: 1.1rem;
  height: 1.1rem;
  margin: 0;
}

.ccb-printable-checklist__history-control noscript {
  display: block;
  margin-top: 0.35rem;
}

.ccb-printable-checklist__button-icon,
.ccb-printable-checklist__button-icon svg {
  display: inline-block;
  width: 1.1rem;
  height: 1.1rem;
}

.ccb-printable-checklist__button-icon {
  margin-right: 0.35rem;
  vertical-align: -0.2em;
}

.ccb-printable-checklist {
  max-width: 11in;
  margin: 0 auto;
  padding: 0.45in;
  color: #111;
  background: #fff;
  border: 1px solid #c8c8c8;
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.1);
}

.ccb-printable-checklist__header {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-bottom: 1rem;
  padding-bottom: 0.7rem;
  border-bottom: 2px solid #111;
}

.ccb-printable-checklist__logo {
  width: 0.7in;
  height: 0.7in;
  object-fit: contain;
}

.ccb-printable-checklist__header p,
.ccb-printable-checklist__header h1 {
  margin: 0;
  color: #111;
}

.ccb-printable-checklist__header p {
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.ccb-printable-checklist__header h1 {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.8rem;
  line-height: 1.1;
}

.ccb-printable-checklist__fields {
  display: grid;
  grid-template-columns: minmax(3.2in, 1.4fr) minmax(1.8in, 0.8fr);
  gap: 0.7rem 1.1rem;
  margin-bottom: 0.9rem;
  font-size: 0.95rem;
}

.ccb-printable-checklist__fields > div {
  display: flex;
  align-items: baseline;
  gap: 0.45rem;
  min-width: 0;
}

.ccb-printable-checklist__fields > div:last-child {
  grid-column: 1 / -1;
}

.ccb-printable-checklist__field-label {
  flex: 0 0 auto;
  font-weight: 700;
}

.ccb-printable-checklist__field-line {
  display: block;
  min-width: 0;
  min-height: 1.35em;
  flex: 1 1 auto;
  padding: 0 0.2rem 0.08rem;
  border-bottom: 1px solid #111;
}

.ccb-printable-checklist__legend {
  margin: 0 0 0.8rem;
  color: #222;
  font-size: 0.8rem;
  line-height: 1.35;
}

.ccb-printable-checklist__groups {
  column-count: 3;
  column-gap: 0.35in;
  column-rule: 1px solid #d5d5d5;
}

.ccb-printable-checklist__group {
  margin: 0 0 0.85rem;
}

.ccb-printable-checklist__group h2 {
  margin: 0 0 0.25rem;
  padding: 0 0 0.16rem;
  color: #111;
  font-size: 0.88rem;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0.035em;
  text-transform: uppercase;
  border-bottom: 1px solid #777;
  break-after: avoid;
  page-break-after: avoid;
  -webkit-column-break-after: avoid;
}

.ccb-printable-checklist__group ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ccb-printable-checklist__species {
  margin: 0;
  padding: 0.06rem 0;
  color: #111;
  font-size: 0.78rem;
  line-height: 1.25;
  break-inside: avoid;
  page-break-inside: avoid;
  -webkit-column-break-inside: avoid;
}

.ccb-printable-checklist__species-label {
  display: flex;
  align-items: flex-start;
  gap: 0.32rem;
  min-width: 0;
  margin: 0;
  cursor: pointer;
}

.ccb-printable-checklist__input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  white-space: nowrap;
  border: 0;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
}

.ccb-printable-checklist__box {
  display: inline-grid;
  flex: 0 0 auto;
  place-items: center;
  width: 1.05rem;
  height: 1.05rem;
  margin-top: 0.01rem;
  color: #fff;
  background: #fff;
  border: 1px solid #8b918e;
  border-radius: 0.16rem;
  box-sizing: border-box;
  line-height: 1;
}

.ccb-printable-checklist__box::after {
  color: currentColor;
  font-family: Arial, sans-serif;
  font-size: 0.84rem;
  font-weight: 900;
  line-height: 1;
}

.ccb-printable-checklist__input:checked + .ccb-printable-checklist__box {
  background: var(--green, var(--ccb-deep-estuary, #234c4f));
  border: 2px solid var(--green, var(--ccb-deep-estuary, #234c4f));
}

.ccb-printable-checklist__input:checked + .ccb-printable-checklist__box::after {
  content: "\2713";
}

.ccb-printable-checklist__input:focus-visible + .ccb-printable-checklist__box {
  outline: 3px solid var(--ccb-tide, #2f7f9f);
  outline-offset: 2px;
}

.ccb-printable-checklist__species-name {
  min-width: 0;
}

.ccb-printable-checklist__input:checked ~ .ccb-printable-checklist__species-name {
  font-weight: 600;
}

@media (max-width: 991.98px) {
  .ccb-printable-checklist__groups {
    column-count: 2;
  }
}

@media (max-width: 767.98px) {
  .ccb-printable-checklist__toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .ccb-printable-checklist__fields {
    grid-template-columns: 1fr;
  }

  .ccb-printable-checklist__fields > div:last-child {
    grid-column: auto;
  }
}

@media (max-width: 575.98px) {
  .ccb-printable-checklist {
    padding: 1rem;
  }

  .ccb-printable-checklist__groups {
    column-count: 1;
    column-rule: 0;
  }
}

@page {
  size: letter landscape;
  margin: 0.45in;
}

@media print {
  html,
  body.ccb-page--printable-checklist,
  body.ccb-page--printable-checklist .site-frame,
  body.ccb-page--printable-checklist .ccb-main,
  body.ccb-page--printable-checklist .ccb-printable-checklist-page {
    color: #000 !important;
    background: #fff !important;
  }

  body.ccb-page--printable-checklist::before,
  body.ccb-page--printable-checklist::after,
  body.ccb-page--printable-checklist .site-frame::before,
  body.ccb-page--printable-checklist .site-frame::after {
    content: none !important;
    display: none !important;
  }

  body.ccb-page--printable-checklist .site-header,
  body.ccb-page--printable-checklist .site-footer,
  body.ccb-page--printable-checklist .ccb-dev-notice,
  body.ccb-page--printable-checklist .ccb-flash-wrap,
  body.ccb-page--printable-checklist .ccb-print-hide {
    display: none !important;
  }

  body.ccb-page--printable-checklist .ccb-main,
  body.ccb-page--printable-checklist .ccb-printable-checklist-page {
    margin: 0 !important;
    padding: 0 !important;
  }

  body.ccb-page--printable-checklist .ccb-printable-checklist-page > .container,
  body.ccb-page--printable-checklist .ccb-printable-checklist-page > .page-container {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .ccb-printable-checklist {
    width: auto;
    max-width: none;
    margin: 0;
    padding: 0;
    color: #000;
    background: #fff;
    border: 0;
    box-shadow: none;
  }

  .ccb-printable-checklist__header {
    margin-bottom: 0.12in;
    padding-bottom: 0.08in;
    break-after: avoid;
    page-break-after: avoid;
  }

  .ccb-printable-checklist__logo {
    width: 0.52in;
    height: 0.52in;
  }

  .ccb-printable-checklist__header p {
    font-size: 8.5pt;
  }

  .ccb-printable-checklist__header h1 {
    font-size: 16pt;
  }

  .ccb-printable-checklist__fields {
    grid-template-columns: 1.3fr 0.7fr;
    gap: 0.08in 0.2in;
    margin-bottom: 0.1in;
    font-size: 8.5pt;
  }

  .ccb-printable-checklist__legend {
    margin-bottom: 0.09in;
    font-size: 7.5pt;
  }

  .ccb-printable-checklist__groups {
    column-count: 3;
    column-gap: 0.24in;
    column-rule: 0.5pt solid #bbb;
  }

  .ccb-printable-checklist__group {
    margin-bottom: 0.08in;
  }

  .ccb-printable-checklist__group h2 {
    margin-bottom: 0.025in;
    padding-bottom: 0.015in;
    color: #000;
    font-size: 8.3pt;
  }

  .ccb-printable-checklist__species {
    padding: 0.01in 0;
    color: #000;
    font-size: 8pt;
    line-height: 1.2;
  }

  .ccb-printable-checklist__species-label {
    gap: 0.04in;
  }

  .ccb-printable-checklist__box {
    width: 9.5pt;
    height: 9.5pt;
    margin-top: 0;
    border-color: #777;
    border-radius: 1.5pt;
  }

  .ccb-printable-checklist__input:checked + .ccb-printable-checklist__box {
    color: #000;
    background: transparent !important;
    border: 1.5pt solid #000;
  }

  .ccb-printable-checklist__box::after {
    font-size: 9pt;
  }
}
